JPEG. Compression algorithm

Talofa fo'i! Na ou mauaina lenei tusiga na tusia i tua ia Me 2019. Ole fa'aauau lea ole fa'asologa o tala e uiga ile WAVE ma le JPEG, iinei muamua. O lenei lomiga o le a aofia ai faʻamatalaga e uiga i le faʻasologa o ata algorithm ma le faʻatulagaga lava ia i lona atoaga.

O se fa'asologa o tala'aga

Se sipuni sipuni o le Wikipedia article:

JPEG (Joint Photographic Experts Group) o se tasi o ata lauiloa faʻataʻitaʻiga faʻaogaina mo le teuina o ata ma ata tutusa.

O lenei tulaga na fausia e le Joint Photographic Experts Group i tua i le 1991 mo le faʻapipiʻiina lelei o ata.

E fa'afefea ona alu ata mai le mata i le JPEG?

O nisi tagata e manatu o ata JPEG o faʻamatalaga mataʻutia ua faʻapipiʻiina i le auala Huffman, ae e le saʻo. A'o le'i pulea le fa'amalosi, o fa'amaumauga e malaga mamao.

Muamua, ua suia le ata lanu mai le RGB i le YCbCr. E i ai foi se algorithm faapitoa mo lenei - iinei. E le paʻi i ai le Y, talu ai e nafa ma le susulu, ma o lona suiga o le a iloagofie.

O le mea muamua e fai i le ata o le "mea manifinifi" (subsampling). E faigofie ona malamalama: o le 2x2 array o pixels e ave, ona ave lea o Cb ma Cr - o tau averesi o vaega taʻitasi YCbCr o nei 4 pixels. O lea, matou manumalo 6 paita, nai lo le 4 Y, 4 Cb, 4 Cr matou te maua le 4 Y ma tutusa Cb ma Cr mo i latou taʻitasi (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). E tusa lava pe 2x2 fua, fa'amatega gau ma le 2:1 fa'amate fa'atusatusa fa'alogo lelei. E faatatau lea i le ata atoa. Ma o lea - na latou paʻu i lalo le afa afa. Ma e mafai ona tatou faʻaogaina lenei metotia faʻafetai i la tatou lanu lanu. O le a faigofie ona matauina e se tagata se eseesega i le susulu, ae le o le lanu, pe a fai e averesi i luga o se tamai poloka o pika. E mafai fo'i ona fai le fa'amama i se laina, 4 pixels fa'alava ma tu'usa'o. O le filifiliga muamua e faʻaaoga soo. Afai e taua le lelei o ata, ona le faia lea o le faʻaumatiaga.
O se faʻataʻitaʻiga vaʻaia o le manifinifi (E leʻi faʻatagaina aʻu e Habr e faʻaofi se gif) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

O le vaega autu o le sauniuniga

SILIGA

Ua o'o mai nei le vaega sili ona faigata ma sili ona mana'omia. O le ata atoa e vaevaeina i poloka 8x8 (faʻatumu e faʻaaoga pe afai o le iugafono e le o se tele o le itu poloka).

Faaaoga nei i poloka taitasi DCT (Discrete Cosine Transform). I lenei vaega, o mea uma e le manaʻomia e aveese mai le ata. I le faʻaaogaina o le DCT, e tatau ona e malamalama pe o se poloka tuʻuina atu (8 × 8) faʻamatalaina soʻo se vaega monotonous o le ata: le lagi, le puipui; pe o loʻo i ai faʻatulagaga faigata (lauulu, faʻailoga, ma isi). E talafeagai e 64 pika o lanu tutusa e mafai ona faamatalaina e na o le 1, aua ua uma ona iloa le tele o poloka. Tele mo le faʻamalosi: 64 i le 1.

E liliu e le DCT le poloka i se fusi o alaleo, ma pe a suia le faitauga, o le coefficient e lelei, ma o le maai o le suiga, o le maualuga foi lea o le gaosiga. O le mea e maualuga ai le coefficient, o le ata o loʻo faʻaalia manino suiga i le lanu ma le susulu, lea e maualalo - vaivai (lamolemole) suiga i tau o vaega YCbCr i totonu o le poloka.

Quantization

Ua uma ona fa'aoga i'inei tulaga fa'amalosi. Ole coefficient ta'itasi ile 8x8 matrices e vaevaeina ile numera fa'apitoa. Afai e te le faʻaititia le uiga lelei o ata pe a uma ona faʻaleleia uma, ona tatau lea ona tasi le vaeluaga. Afai o le manatua o loʻo nofoia e lenei ata e sili atu ona taua ia te oe, o le vaeluaga o le a sili atu nai lo le 1, ma o le quotient o le a lapotopoto. E foliga mai pe a uma le taamilosaga e masani ona e iu i le tele o zeros.

Ua faia le quantization e fa'atupu ai le avanoa e sili atu le fa'amalosi. O le mea lea e foliga mai e faʻaaoga ai le faʻataʻitaʻiga o le faʻatusatusaina o le kalafi y = sin(x):

JPEG. Compression algorithm

Faʻamalosi

Muamua tatou te alu i le matrix i se mamanu zig-zag:

JPEG. Compression algorithm

Matou te maua se fa'asologa e tasi-itu ma numera. Matou te vaʻaia e tele naua zero i totonu, e mafai ona aveese. Ina ia faia lenei mea, nai lo se faasologa o le tele o zeros, matou te ulufale i le 1 zero ma mulimuli ane se numera e faʻaalia ai le latou numera i le faasologa. O le auala lea e mafai ai ona e toe setiina i le 1/3 le tele o le laina atoa. Ona matou faʻapipiʻiina lea o lenei laina e faʻaaoga ai le auala Huffman ma tusi i totonu o le faila lava ia.

O fea e fa'aoga ai

Soo se mea. E pei o le PNG, o le JPEG o loʻo faʻaaogaina i mea pueata, OSs (pei o logo a le kamupani, ata faʻaoga, ata) ma i vaega uma e mafai ai e manaʻomia ai le teuina lelei o ata.

iʻuga

I le taimi nei, o le malamalama e uiga i le JPEG ua taua nei mo na o faamoemoega tau aʻoaʻoga, aua ua uma ona fausia i soʻo se mea ma faʻamalosia e le tele o vaega o tagata, ae o le maamora o le saienisi e manaia pea.

Punaoa

Tala e uiga ile YCbCr ile Wikipedia
Wikipedia tala ile JPEG
O sina mea itiiti e uiga i le PrEP mai le Pikabu post
Wikipedia tala ile PrEP

puna: www.habr.com

Faaopoopo i ai se faamatalaga