E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

O ata JPEG o lo'o fa'asalalauina i o tatou olaga fa'atekinolosi, ae i tua atu o lenei fa'aaliga o le fa'alauiloaina o lo'o i ai algorithms e aveese fa'amatalaga e le mafai ona iloa e mata o le tagata. O le i'uga o le maualuga o le ata vaaia i le la'ititi la'ititi o faila - ae fa'afefea tonu ona aoga? Sei o tatou vaai po o le a tonu le mea e le o vaaia e o tatou mata!

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E faigofie lava ona fa'atauva'a le mafai ona lafo se ata i se uo ae aua le popole po'o le a le masini, su'esu'ega po'o le faiga fa'aoga o lo'o latou fa'aogaina - ae e le o taimi uma na tupu ai. E oo atu i le amataga o le 1980s, ua mafai e komepiuta ona teuina ma faʻaalia ata numera, ae e tele manatu faʻatauva e uiga i le auala sili e fai ai lenei mea. E le mafai ona na o le auina atu o se ata mai le tasi komepiuta i le isi ma faʻamoemoe o le a aoga.

Ina ia foia lenei faafitauli, na faapotopoto ai se komiti o tagata atamamai mai le salafa o le lalolagi i le 1986 e taʻua o le "Vaega Soofaatasi o Tagata Popoto Ata» (Joint Photographic Experts Group, JPEG), faʻavaeina o se taumafaiga faʻatasi i le va o le International Organization for Standardization (ISO) ma le International Electrotechnical Commission (IEC), lua faʻalapotopotoga faʻavaomalo faʻavaomalo o loʻo faʻauluulu i Geneva, Suiselani.

O se vaega o tagata e taʻua o le JPEG na latou faia le JPEG numera numera faʻapipiʻiina tulaga faʻapipiʻi i le 1992. So'o se tasi na fa'aogaina le Initaneti atonu na feiloa'i i ata fa'ailoga JPEG. O le auala sili lea ona taatele e fa'akogo ai, lafo ma teu ata. Mai itulau i luga ole laiga ile imeli ile ala fa'aagafesootai, o le JPEG e fa'aoga piliona taimi i le aso-toetoe o taimi uma tatou te matamata ai i se ata i luga ole laiga pe lafo. A aunoa ma le JPEG, o le upega tafaʻilagi o le a itiiti le felanulanuaʻi, faʻagesegese, ma atonu e itiiti ni ata pusi!

O lenei tusiga e uiga i le auala e faʻavasega ai se ata JPEG. I se isi faaupuga, o le a le mea e manaʻomia e faʻaliliu ai faʻamaumauga faʻapipiʻi o loʻo teuina i luga o se komepiuta i se ata e aliali i luga o le lau. E taua le iloa, e le gata ona e taua le malamalama i tekinolosi tatou te faʻaaogaina i aso uma, ae faʻapea foʻi e ala i le tatalaina o tulaga faʻamalosi, tatou te aʻoaʻo atili ai e uiga i le vaʻai ma le vaʻai, ma mea faʻamatalaga e sili ona maaleale i o tatou mata.

E le gata i lea, o le taʻalo ma ata i lenei auala e sili ona manaia.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Va'ai totonu JPEG

I luga o se komepiuta, o mea uma e teuina o se faasologa o numera binary. E masani lava o nei vaega, zeros ma tasi, o lo'o fa'avasegaina i vaega ta'ivalu e fa'aopoopoina ai paita. A e tatalaina se ata JPEG i luga o se komepiuta, o se mea (se suʻesuʻega, se faiga faʻaogaina, se isi mea) e tatau ona faʻavasegaina le bytes, toe faʻafoʻi le ata muamua o se lisi o lanu e mafai ona faʻaalia.

Afai e te sii maia lenei suamalie ata o se pusi ma tatala i totonu o se tusitala tusitusiga, o le a e vaʻai i le tele o mataitusi le mautonu.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
O lea o loʻo ou faʻaogaina le Notepad ++ e suʻesuʻe ai mea o loʻo i totonu o le faila, talu ai o tusitala masani e pei o Notepad i luga o Windows o le a faʻaleagaina le faila faila pe a uma ona faʻasaoina ma o le a le toe faʻamalieina le JPEG format.

O le tatalaina o se ata i totonu o se upu e fa'aogaina e fa'afememea'i ai le komipiuta, e pei lava ona e fa'afememea'i lou fai'ai pe a e mimilo ou mata ma amata ona va'ai i lanu lanu!

O nofoaga nei e te va'aia e ta'ua o phosphenes, ma e le o se taunuuga o se faaosofiaga mama po o se faʻalavelave faʻaalia e le mafaufau. E tupu ona e manatu lou fai'ai o so'o se fa'ailoga eletise i neura mata e fa'ailoa mai ai fa'amatalaga e uiga i le malamalama. E mana'omia e le fai'ai ona fai nei manatu ona e leai se auala e iloa ai pe o se fa'ailoga o se leo, se va'aiga, po'o se isi mea. O neura uma i totonu o le tino e tuʻuina atu tutusa lava lagona eletise. E ala i le faʻapipiʻiina o le mamafa i ou mata, e te lafoina ai faʻailoga e le o vaʻaia, ae faʻagaoioia mata o mata, lea e faʻamatalaina e lou faiʻai - i lenei tulaga, e le saʻo - o se mea vaaia. E mafai ona e vaʻaia moni le mamafa!

E malie pe a mafaufau i le tutusa o komepiuta ma le faiʻai, ae o se faʻataʻitaʻiga aoga foi e faʻaalia ai le tele o le uiga o faʻamaumauga - pe feaveaʻi i le tino e neura pe teuina i luga o se komepiuta - e faʻalagolago i lona faʻamatalaga. O faʻamaumauga uma e faia i luga ole 0s ma 1s, o vaega autu e mafai ona tuʻuina atu faʻamatalaga o soʻo se ituaiga. E masani ona fa'avasega e lau komepiuta pe fa'afefea ona fa'amatalaina i latou e fa'aaoga ai fa'ata'ita'iga e pei o fa'aopoopoga faila. O lea ua matou fa'amalosia e fa'auigaina o ni tusitusiga, aua o le mea lena e fa'amoemoeina e le fa'atonu tusitusiga.

Ina ia malamalama pe faʻafefea ona faʻavasega le JPEG, e manaʻomia ona tatou vaʻai i faʻailoga muamua lava - o faʻamaumauga binary. E mafai ona faia lenei mea i le fa'aogaina o le fa'atonu hexadecimal, pe tuusa'o i luga ulua'i tusiga itulau uepi! O loʻo i ai se ata, i tafatafa o le vaega o tusitusiga o loʻo i ai uma ona paita (sei vagana ai le ulutala), o loʻo tuʻuina atu i le numera. E mafai ona e suia, ma o le tusitusiga o le a toe faʻailoga ma maua ai se ata fou i luga o le lele.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E tele mea e mafai ona e aʻoaʻoina e ala i le taʻalo ma lenei faatonu. Mo se faʻataʻitaʻiga, e mafai ona e taʻuina atu le faʻatonuga o loʻo teuina ai pixels?

O le mea uiga ese e uiga i lenei faʻataʻitaʻiga o le suia o nisi numera e le afaina ai le ata, ae, mo se faʻataʻitaʻiga, afai e te suia le numera 17 ma le 0 i le laina muamua, o le ata o le a matua faʻaleagaina!

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

O isi suiga, e pei o le suia o le 7 i luga o le laina 1988 ma le numera 254, suia le lanu, ae na o pixels mulimuli ane.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Masalo o le mea uiga ese o nisi numera e le gata e suia le lanu, ae faʻapea foʻi ma foliga o le ata. Suia le 70 i le laina 12 i le 2 ma tilotilo i le laina pito i luga o le ata e iloa ai le uiga o laʻu tala.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Ma e tusa lava po o le a le ata JPEG e te faʻaogaina, o le a e mauaina i taimi uma nei mamanu faʻailoga mataʻutia pe a faʻasaʻo le bytes.

Pe a taʻalo ma le faʻatonu, e faigata ona malamalama pe faʻapefea ona toe faia se ata mai nei bytes, talu ai o le JPEG compression e aofia ai tekinolosi eseese e tolu, faʻaogaina faʻasolosolo i tulaga. O le a tatou suʻesuʻeina taʻitasi taʻitasi e faʻaalia ai uiga lilo o loʻo tatou vaʻaia.

Tulaga tolu o le fa'amalosi JPEG:

  1. Fa'ata'ita'iga lanu.
  2. Suiga cosine tu'ufa'atasi ma fa'ata'ita'iga.
  3. Fa'ailoga umi ole tamo'e, delta и Huffman

Ina ia tuʻuina atu ia te oe se manatu i le tele o le faʻamalosi, ia maitauina o le ata o loʻo i luga o loʻo faʻatusalia ai numera 79, pe tusa ma le 819 KB. Afai matou te teuina e aunoa ma le faʻamalosi, o pika taitasi e manaʻomia ni numera se tolu - mo vaega mumu, lanumeamata ma lanumoana. E tusa lea ma le 79 numera, pe tusa. 917 KB. O se taunuuga o le JPEG compression, o le faila mulimuli na faʻaititia e sili atu i le 700 taimi!

O le mea moni, o lenei ata e mafai ona faʻapipiʻi sili atu. O loʻo i lalo ni ata se lua i autafa - o le ata i le itu taumatau ua faʻapipiʻiina i le 16 KB, o lona uiga, 57 taimi laʻititi nai lo le faʻapipiʻi le faʻaogaina!

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Afai e te vaʻavaʻai totoʻa, o le ae iloa ai e le tutusa nei ata. O ata uma ia e iai le JPEG compression, ae o le saʻo e laʻititi laʻititi i le voluma. E foliga leaga teisi foi (vaai i sikuea lanu pito i tua). O le mea lea ua ta'ua ai le JPEG o le lossy compression; I le faagasologa o le faʻamalosi, o le ata e suia ma leiloa nisi faʻamatalaga.

1. Fa'ailoga lanu

O se ata lea e na'o le tulaga muamua o le fa'amalosi e fa'aoga.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
(Viga felagolagomai - i muamua tusiga). O le aveeseina o le numera tasi e faʻaumatia ai lanu uma. Ae peita'i, afai e ave'esea tonu numera e ono, e toetoe a leai se a'afiaga i le ata.

O lea la ua fai si faigofie le faavasegaina o fuainumera. E toetoe lava o se lisi faigofie o lanu, lea e suia ai e taʻitasi taʻitasi le pika tonu, ae i le taimi lava e tasi ua maeʻa le afa o le ata e leʻi faʻapipiʻiina (lea e tusa ma le 300 KB i lenei faʻaititia tele). E mafai ona e mateina pe aisea?

E mafai ona e vaʻai o nei fuainumera e le o faʻatusalia le lanu mumu, lanumeamata, ma le lanumoana, talu ai a tatou suia numera uma i zeros, o le a tatou maua se ata lanu meamata (nai lo le paʻepaʻe).

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E mafua ona o nei paita e tu mo Y (malamalama),

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Cb (tulaga lanumoana),

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

ma ata Cr (sua mumu).

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Aisea e le faʻaaogaina ai le RGB? A uma mea uma, o le auala lea e galue ai le tele o laupepa faʻaonaponei. E mafai e lau mata'itū ona fa'aalia so'o se lanu, e aofia ai le mumu, lanu meamata ma le lanumoana, ma eseese malosi mo pika ta'itasi. E maua le paepae e ala i le ki uma o le tolu i le malamalama atoatoa, ma le uliuli pe a tape.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E talitutusa foi lea ma le auala e galue ai mata o le tagata. O tali lanu i totonu o tatou mata e taʻua "cones“, ma ua vaevaeina i ni ituaiga se tolu, o ia mea taitasi e sili atu ona maaleale i lanu mumu, lanumeamata, po o lanu lanumoana [S-ituaiga cones e maaleale i le violet-blue (S mai le Igilisi Puupuu - alaleo puupuu-galu), M -ituaiga - i le lanumeamata-samasama (M mai le Igilisi Medium - medium-wave), ma le L-type - i le lanu samasama-mumu (L mai le Igilisi Long - long-wave) vaega o le fusi o alaleo. O le i ai o nei ituaiga e tolu o cones (ma laʻau, e maʻaleʻale i le emerald lanumeamata vaega o le fusi o alaleo) e maua ai e se tagata se vaaiga lanu. / tusa. faaliliu]. Togi, o le isi ituaiga o photoreceptor i o tatou mata, e mafai ona iloa suiga i le susulu, ae sili atu ona maaleale i lanu. O tatou mata e tusa ma le 120 miliona tootoo ma na o le 6 miliona cones.

O le mea lea e sili atu ai ona lelei o tatou mata i le suʻeina o suiga o le susulu nai lo suiga i lanu. Afai e te vavaeeseina le lanu mai le susulu, e mafai ona e aveese sina lanu ma e leai se tasi na te matauina se mea. Chroma subsampling o le fa'agasologa o le fa'atusaina o vaega lanu o se ata i se fa'ai'uga maualalo ifo nai lo vaega fa'amalama. I le faʻataʻitaʻiga o loʻo i luga, o pika taitasi e tasi le vaega Y, ma o vaega taʻitasi o fa pixels e tasi le Cb ma le tasi Cr vaega. O le mea lea, o le ata o loʻo i ai faʻamatalaga faʻaitiiti lanu nai lo le mea muamua.

Ole avanoa lanu YCbCr e fa'aoga e le gata ile JPEG. Na muai faia i le 1938 mo polokalame televise. E le o tagata uma e iai se TV lanu, o lea o le tuueseeseina o lanu ma le susulu e mafai ai e tagata uma ona maua le faailo tutusa, ma o TV e leai ni lanu na o le faʻaaogaina o le vaega susulu.

O le aveesea la o le numera tasi mai le faatonu e matua faaleagaina uma ai lanu. O vaega o loʻo teuina i le fomu YYYY Cb Cr (o le mea moni, e le o le faʻatonuga - o le faʻatonuga o le teuina o loʻo faʻamaonia i le ulutala faila). O le aveeseina o le numera muamua o le a mafua ai ona iloa le taua muamua o le Cb o le Y, Cr o le Cb, ma i se tulaga lautele o le ae maua ai se aafiaga domino e sui ai lanu uma o le ata.

Ole fa'amatalaga JPEG e le fa'amalosia oe e fa'aoga YCbCr. Ae o le tele o faila e faʻaaogaina aua e maua ai ata sili atu nai lo le RGB. Ae e te le tau talia la'u upu. Va'ai mo oe lava i le laulau o lo'o i lalo pe o le a le fa'atusaina o vaega ta'itasi i le RGB ma le YCbCr.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
(Viga felagolagomai - i muamua tusiga).

O le aveeseina o le lanumoana e le o se mea e iloagofie e pei o le mumu po o le lanu meamata. E mafua ona o le ono miliona cones i ou mata, e tusa ma le 64% e maaleale i le mumu, 32% i le lanumeamata ma le 2% i le lanumoana.

O le fa'alalo o le vaega Y (agavale i lalo) e sili ona va'aia. E oo lava i sina suiga itiiti e maitauina.

O le fa'aliliuina o se ata mai le RGB i le YCbCr e le fa'aitiitia ai le tele o le faila, ae e fa'afaigofie ai ona maua fa'amatalaga itiiti e mafai ona aveese. O le fa'amalosi fa'aletonu e tupu ile vaega lona lua. E faʻavae i luga o le manatu o le tuʻuina atu o faʻamatalaga i se faiga e sili atu ona faigofie.

2. Suiga cosine tu'ufa'atasi ma fa'ata'ita'iga

O lenei tulaga o le faʻamalosi, mo le tele o vaega, o le a le JPEG. A mae'a ona fa'aliliu lanu ile YCbCr, e fa'apipi'i ta'ito'atasi ia vaega, ona mafai lea ona tatou taula'i atu i le vaega Y. Ma o le mea lea e fa'atusalia ai le paita o vaega Y pe a uma ona fa'aogaina lenei laulau.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
(Viga felagolagomai - i muamua tusiga). I le fa'asalalauga feso'ota'iga, o le kiliki i luga o se pika e ta'ai ai le fa'atonu i le laina o lo'o fa'atusalia ai. Taumafai e ave'ese numera mai le pito pe fa'aopoopo ni nai zero i se numera patino.

I le tepa muamua, e foliga mai e leaga tele le faʻamalosi. E 100 pika i se ata, ma e manaʻomia le 000 numera e faʻatusalia ai lo latou susulu (Y-vaega)—e sili atu le leaga nai lo le faʻapipiʻiina o se mea!

Ae ui i lea, ia maitauina o le tele o nei fuainumera e leai. E le gata i lea, o na zeros uma i le pito o laina e mafai ona aveese e aunoa ma le suia o le ata. E tusa ma le 26 numera o totoe, ma e toetoe lava 000 taimi e itiiti ifo ai!

O lenei tulaga o loʻo i ai le mealilo o faʻataʻitaʻiga taʻaloga. E le pei o isi aafiaga ua tatou vaʻaia, o foliga o nei mamanu e le o se faʻalavelave. O poloka ia o le ata atoa. O laina taʻitasi o le faatonu o loʻo i ai numera 64 tonu, faʻasologa o le cosine transform (DCT) e fetaui ma le malosi o mamanu tulaga ese e 64.

O nei mamanu e faʻavae i luga o le cosine plot. O foliga nei o nisi o latou:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
8 mai le 64 faigata

Lalo o se ata o loʻo faʻaalia uma 64 mamanu.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG
(Viga felagolagomai - i muamua tusiga).

O nei faʻataʻitaʻiga e taua tele aua latou te faʻavaeina ata 8x8. Afai e te le masani i le algebra laina, o lona uiga e mafai ona faia soʻo se ata 8x8 mai nei 64 mamanu. O le DCT o le faagasologa o le vaevaeina o ata i poloka 8x8 ma liliu poloka taitasi i se tuufaatasiga o nei 64 coefficients.

E foliga mai o se togafiti faʻataulāitu e mafai e soʻo se ata ona tuʻufaʻatasia i mamanu patino e 64. Ae ui i lea, e tutusa lava ma le fai mai o soʻo se nofoaga i luga o le lalolagi e mafai ona faʻamatalaina i numera e lua - latitu ma le longitude [faʻaalia hemispheres / approx. faaliliu]. E masani ona tatou mafaufau i le fogāeleele o le lalolagi o ni itu e lua, o lea e na o le lua lava numera tatou te manaʻomia. O le ata 8x8 e 64 fua, o lea matou te manaʻomia 64 numera.

E le'o manino mai pe fa'afefea ona fesoasoani lenei mea ia i tatou i le tulaga o le fa'amalosi. Afai tatou te manaʻomia numera 64 e fai ma sui o se ata 8x8, aisea e sili atu ai lenei mea nai lo le teuina o vaega susulu 64? Matou te faia lenei mea mo le mafuaʻaga lava e tasi na matou liliu ai numera RGB e tolu i numera YCbCr e tolu: e mafai ai ona matou aveese faʻamatalaga maaleale.

E faigata ona iloa tonu po'o le a le fa'amatalaga ua aveese i lenei la'asaga ona o le JPEG e fa'aoga le DCT i poloka 8x8. Peitaʻi, e leai se tasi e faasāina i tatou e faatatau i le ata atoa. O foliga ia o le DCT mo le vaega Y o loʻo faʻaoga i le ata atoa:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E sili atu i le 60 numera e mafai ona aveese mai le pito e toetoe lava leai ni suiga iloga i le ata.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Ae ui i lea, ia maitauina afai tatou te togi ese numera muamua e lima, o le a manino le eseesega.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

O fuainumera i le amataga o lo'o fa'atusalia ai suiga maualalo o taimi i le ata, lea e sili ona iloa lelei e o tatou mata. O numera agai i le faaiuga o loʻo faʻaalia ai suiga i laina maualuga e sili atu ona faigata ona matauina. Ina ia "vaai i mea e le mafai ona vaʻaia e mata," e mafai ona tatou faʻamavaeina nei faʻamatalaga maualuga e ala i le faʻaogaina o numera muamua 5000.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Matou te vaʻai i vaega uma o le ata o loʻo tupu ai le suiga sili mai le pika i le pika. O mata o le pusi, o lona 'ava, o le palanikeke terry ma ata i le tulimanu agavale pito i lalo e matilatila. E mafai ona e alu atili e ala i le togiina o numera muamua 10:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

20:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

40:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

60:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

O nei fa'amatalaga maualuga e aveese e le JPEG i le taimi o le fa'amalosi. E leai se gau i le liua o lanu ile DCT coefficients. O le gau e tupu i le laʻasaga faʻataʻitaʻiga, lea e aveese ai tulaga maualuga-telefoni poʻo le-zero. A e faʻaititia le JPEG faʻasaoina lelei, e faʻateleina e le polokalame le faʻailoga mo le aofaʻi o tau e aveese, lea e faʻaitiitia ai le tele o faila, ae faʻapipiʻi atili ai le ata. O le mea lena na foliga mai ai le ata i le vaega muamua, lea e 57 taimi laʻititi. O poloka 8x8 ta'itasi sa fa'atusalia e le la'ititi la'ititi o fa'asologa o DCT pe a fa'atusatusa i le tulaga maualuga.

E mafai ona e fatuina se aafiaga malulu e pei o le faasolosolo malie o ata. E mafai ona e fa'aalia se ata fa'anenefu e fa'asilisili ona fa'a'ili'ili a'o fa'aopoopo le tele o fa'ailoga e la'u mai.

O iinei, naʻo le malie, o le mea e te mauaina e faʻaaoga ai naʻo le 24 numera:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

Pe na'o le 5000:

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E matua faanenefu, ae e iloagofie lava!

3. Fa'asolo umi fa'ailoga, delta ma Huffman

E o'o mai i le taimi nei, o la'asaga uma o le fa'amalosi ua leiloa. O le laasaga mulimuli, i se isi itu, e alu e aunoa ma se gau. E le tapeina faʻamatalaga, ae faʻaititia tele le tele o faila.

E faʻafefea ona e faʻapipiʻi se mea e aunoa ma le lafoaia o faʻamatalaga? Va'ai faalemafaufau pe fa'apefea ona tatou fa'amatala se fa'afa'afa'afa'afa uliuli faigofie 700 x 437.

E fa'aaoga e le JPEG numera 5000 mo lenei mea, ae sili atu i'uga lelei e mafai ona maua. E mafai ona e mafaufauina se polokalame faʻapipiʻi e faʻamatalaina sea ata i ni nai paita e mafai ai?

Ole la'ititi la'ititi e mafai ona ou fa'aogaina e fa'aaoga ai: tolu e fai ma sui o se lanu, ma le lona fa e ta'u mai ai le tele o pika o lo'o i ai le lanu. O le manatu o le faʻatusaina o tau faʻasolosolo i lenei auala faʻapipiʻi e taʻua o le run-length encoding. E leai se gau ona e mafai ona tatou toe fa'afo'i fa'amaumauga fa'ailoga i lona tulaga muamua.

O se faila JPEG e iai se fa'ata'amilosaga uliuli e sili atu le lapo'a nai lo le 4 paita - manatua o le DCT tulaga, fa'apipi'i e fa'aoga i poloka 8x8 pika. O le mea lea, i se tulaga maualalo, matou te manaʻomia le tasi DCT coefficient mo 64 pixels uma. Matou te manaʻomia se tasi aua nai lo le teuina o le tasi DCT coefficient sosoo ai ma le 63 zeros, run length encoding e mafai ai ona matou teuina se numera tasi ma faʻaalia "o isi uma o zeros."

Delta encoding o se metotia lea o loʻo i ai i byte taʻitasi se eseʻesega mai nisi tau, nai lo se tau atoatoa. O le mea lea, o le fa'asa'oina o nisi paita e suia ai le lanu o isi pika uma. Mo se faʻataʻitaʻiga, nai lo le teuina

12 13 14 14 14 13 13 14

E mafai ona tatou amata i le 12 ona ta'u mai ai lea o le tele tatou te manaomia e faaopoopo pe toese e maua ai le isi numera. Ma o lenei faʻasologa i le delta coding e faʻapipiʻi:

12 1 1 0 0 -1 0 1

O faʻamatalaga faʻaliliu e le laʻititi nai lo faʻamaumauga muamua, ae sili atu ona faigofie le faʻapipiʻiina. O le fa'aogaina o le delta encoding a'o le'i fa'amuta le umi o le ta'aloga e mafai ona fesoasoani tele a'o fa'amumūina pea.

Delta coding o se tasi lea o nai metotia fa'aoga i fafo atu o poloka 8x8. Mai le 64 DCT coefficients, o le tasi e na o se galuega galu faifai pea (lanu malosi). O lo'o fa'atusalia le averesi o le malamalama o poloka ta'itasi mo vaega luma, po'o le averesi o le lanumoana mo vaega Cb, ma isi. O le tau muamua o poloka DCT taitasi e taʻua o le tau DC, ma o tau DC taʻitasi o loʻo faʻapipiʻiina e faʻatatau i mea muamua. O le mea lea, o le suia o le susulu o le poloka muamua o le a aafia ai poloka uma.

O lo'o tumau pea le mealilo mulimuli: e fa'afefea ona fa'aleaga atoa le ata atoa i le suia o le tu'usa'o? E o'o mai i le taimi nei, e le'i iai ni uiga fa'apea. O le tali e taoto i le ulutala JPEG. O le 500 paita muamua o loʻo i ai metadata e uiga i le ata - lautele, maualuga, ma isi, ma matou te leʻi galulue faʻatasi ma i latou.

A aunoa ma se ulutala e toetoe lava a le mafai (pe faigata tele) ona fa'aliliu le JPEG. O le a foliga mai o loʻo ou taumafai e faʻamatalaina le ata ia te oe, ma ua amata ona ou fatuina ni upu e faʻaalia ai loʻu lagona. O le faʻamatalaga atonu o le a faʻapuupuu, talu ai e mafai ona ou fatuina upu ma le uiga tonu ou te manaʻo e faʻamatala atu, ae mo isi tagata uma latou te le talafeagai.

E foliga faavalevalea, ae o le mea tonu lava lena e tupu. O ata JPEG ta'itasi o lo'o fa'apipi'iina i tulafono fa'apitoa. O lo'o teuina le lomifefiloi code i le ulutala. O lenei metotia e taʻua o le Huffman code ma o upu e taʻua o Huffman table. I le ulutala, o le laulau e makaina i le lua paita - 255 ona sosoo ai lea ma le 196. E mafai e vaega taʻitasi lanu ona i ai lana laulau.

Suiga i laulau o le a matua afaina ai soʻo se ata. O se faʻataʻitaʻiga lelei o le suia lea o le laina 15 i le 1.

E fa'afefea ona fa'aogaina le fa'atulagaina o le JPEG

E tupu lenei mea ona o laulau o loʻo faʻamaoti mai pe faʻafefea ona faitau vaega taʻitasi. E o'o mai i le taimi nei ua na'o matou galulue i numera binary i le faiga tesimale. Ae o lenei mea e natia mai ia i matou le mea moni afai e te manaʻo e teu le numera 1 i se byte, o le a pei o le 00000001, talu ai e tatau ona i ai i byte taʻitasi saʻo le valu bits, e tusa lava pe naʻo le tasi e manaʻomia.

Ole mea lea e ono fa'aletonu tele ole avanoa pe a tele au numera laiti. Huffman code o se metotia e mafai ai ona tatou faʻamalieina lenei manaʻoga e tatau i numera taʻitasi ona nofo i le valu bits. O lona uiga afai e te vaʻai i le lua paita:

234 115

Ona, faʻatatau i le laulau a Huffman, e mafai ona tolu numera. Ina ia maua mai i latou, e tatau ona e vaevaeina muamua i latou i ni vaega taʻitasi:

11101010 01110011

Ona tatou tilotilo lea i le laulau e iloa ai pe faʻafefea ona faʻavasegaina. Mo se faʻataʻitaʻiga, atonu o le ono pito muamua lea, (111010), poʻo le 58 i le tesimal, sosoo ai ma le lima paʻu (10011), poʻo le 19, ma mulimuli ane faʻailoga e fa (0011), poʻo le 3.

O le mea lea, e matua faigata lava ona malamalama i bytes i lenei laasaga o le faʻamalosi. E le fa'atusaina e Bytes le mea e foliga mai ai. O le a ou le alu i auiliiliga o le galue ma le laulau i lenei tusiga, ae meafaitino i luga o lenei mataupu i luga ole laiga ua lava.

O se tasi togafiti manaia e mafai ona e faia i lenei malamalama o le vavaeeseina lea o le ulutala mai le JPEG ma teu ese. O le mea moni, e foliga mai e naʻo oe e mafai ona faitau le faila. E faia e Facebook lenei mea e fai ai faila e laʻititi.

O le a se isi mea e mafai ona fai o le suia lea o le laulau a Huffman. Mo isi o le a pei o se ata gau. Ma e na o oe o le a iloa le auala faʻapitoa e faʻaleleia ai.

Sei o tatou aotelega: o le a la le mea e manaʻomia e faʻavasega ai le JPEG? Manaomia:

  1. Aveese le laulau (s) Huffman mai le ulutala ma fa'asolo vaega.
  2. Ave'ese le cosine transform coefficients mo lanu ta'itasi ma le fa'amalamalamaga mo poloka ta'i 8x8, fa'atino suiga fa'afeagai o le run-umi ma le delta encoding.
  3. Faʻatasia cosines e faʻavae i luga o coefficients e maua ai tau pika mo poloka 8x8 taʻitasi.
  4. Fua vaega lanu pe a fai na fai le subsampling (o lo'o i le ulutala lenei fa'amatalaga).
  5. Su'e fua fa'atatau YCbCr mo pika ta'itasi ile RGB.
  6. Faaali atu le ata i luga o le lau!

Galuega mamafa mo le na o le matamata i se ata ma se pusi! Ae ui i lea, o le mea ou te fiafia i ai o loʻo faʻaalia ai le faʻaogaina e le tagata-centric JPEG tekinolosi. E faʻavae i luga o uiga faʻapitoa o tatou manatu, faʻatagaina i tatou e ausia le sili atu o le faʻamalosi nai lo tekinolosi masani. Ma o lea ua tatou malamalama i le auala e galue ai le JPEG, e mafai ona tatou mafaufau pe faʻafefea ona faʻafeiloaʻi nei tekinolosi i isi vaega. Mo se faʻataʻitaʻiga, o le delta encoding i le vitio e mafai ona maua ai se faʻaititia tele o le faila faila, talu ai e masani ona i ai vaega atoa e le suia mai lea faʻavaa i lea faʻavaa (mo se faʻataʻitaʻiga, tua).

Fa'ailoga o lo'o fa'aaogaina i le tusiga, o loʻo tatala, ma o loʻo i ai faʻatonuga i le auala e sui ai ata ia oe lava.

puna: www.habr.com

Faaopoopo i ai se faamatalaga