JPEG. Algorithm konpresyon

Bonjou ankò! Mwen te jwenn atik sa a ekri nan mwa me 2019. Sa a se yon kontinyasyon nan yon seri de atik sou WAVE ak JPEG, isit la premye. Piblikasyon sa a pral genyen enfòmasyon sou algorithm kodaj imaj la ak fòma li menm an jeneral.

Yon zongle istwa

Yon gwo kiyè atik Wikipedia:

JPEG (Joint Photographic Experts Group) se youn nan fòma grafik raster popilè yo itilize pou estoke foto ak imaj menm jan an.

Estanda sa a te devlope pa Joint Photographic Experts Group an 1991 pou konpresyon imaj efikas.

Ki jan imaj yo ale soti nan anvan tout koreksyon nan JPEG?

Gen kèk moun ki panse ke imaj JPEG yo se done anvan tout koreksyon konprese lè l sèvi avèk metòd Huffman, men sa a se pa vre. Anvan konpresyon kontwòl, done vwayaje yon fason lontan.

Premyèman, modèl koulè a ​​chanje soti nan RGB nan YCbCr. Gen menm yon algorithm espesyal pou sa a - isit la. Y pa manyen, paske li responsab pou klète, ak chanjman li yo pral aparan.

Premye bagay yo fè ak imaj la se "eklèsi" (sou-échantillonnage). Sa a se fasil pou konprann: yo pran yon etalaj 2x2 piksèl, Lè sa a, yo pran Cb ak Cr - valè mwayèn chak nan eleman YCbCr nan 4 piksèl sa yo. Se konsa, nou te genyen 6 octets, olye de 4 Y, 4 Cb, 4 Cr nou jwenn 4 Y ak menm Cb ak Cr pou chak nan yo (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). Nan menm echèl 2x2, konpresyon pèt ak yon rapò konpresyon 2:1 son solid. Sa a aplike a tout imaj la. Se konsa - yo tonbe mwatye yon gwosè. Epi nou ka itilize teknik sa a gras ak pèsepsyon koulè nou an. Yon moun pral fasil remake yon diferans nan klète, men se pa nan koulè, si li se mwayèn sou yon ti blòk nan piksèl. Ka eklèsi tou fèt nan yon liy, 4 piksèl orizontal ak vètikal. Premye opsyon a itilize pi souvan. Si bon jan kalite imaj enpòtan, Lè sa a, desiman pa fèt ditou.
Yon ilistrasyon vizyèl nan eklèsi (Habr pa t 'pèmèt mwen mete yon gif) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

Pati prensipal la nan preparasyon an

Dkp

Koulye a, vini pati ki pi difisil ak ki pi nesesè. Se tout imaj la divize an blòk 8x8 (se ranpli yo itilize si rezolisyon an se pa yon miltip nan bò blòk la).

Koulye a, aplike nan chak blòk DCT (transfòmasyon kosinin diskrè). Nan pati sa a, tout bagay ki pa nesesè yo pran soti nan foto a. Sèvi ak DCT, ou bezwen konprann si yon blòk bay (8 × 8) dekri nenpòt pati monotone nan imaj la: syèl la, miray la; oswa li gen estrikti konplèks (cheve, senbòl, elatriye). Li lojik ke 64 piksèl nan koulè menm jan an ka dekri pa jis 1, paske se gwosè a blòk deja li te ye. Se konsa, anpil pou konpresyon an: 64 a 1.

DCT vire blòk la nan yon spectre, ak kote lekti yo chanje sevè, koyefisyan an vin pozitif, ak pi file tranzisyon an, se pi wo pwodiksyon an. Kote koyefisyan an pi wo, foto a montre tranzisyon klè nan koulè ak klète, kote li pi ba - chanjman fèb (lis) nan valè eleman YCbCr nan blòk la.

Quantization

Anviwònman konpresyon yo deja aplike isit la. Chak koyefisyan nan chak matris 8x8 divize pa yon sèten nonm. Si ou pa pral diminye kalite imaj la apre tout modifikasyon li yo, Lè sa a, divizyon an ta dwe youn. Si memwa ki okipe pa foto sa a pi enpòtan pou ou, Lè sa a, divizyon an pral pi gran pase 1, epi kosyan an ap awondi. Li sanble ke apre awondi ou souvan fini ak yon anpil nan zewo.

Quantization fèt pou kreye posiblite pou konpresyon menm pi gwo. Men ki jan li sanble lè l sèvi avèk egzanp nan quantizing graf la y = sin(x):

JPEG. Algorithm konpresyon

Konpresyon

Premyèman, nou ale nan matris la nan yon modèl zig-zag:

JPEG. Algorithm konpresyon

Nou jwenn yon etalaj yon sèl dimansyon ak nimewo. Nou wè ke gen anpil zewo ladan l, yo ka retire. Pou fè sa, olye pou yo yon sekans ki gen anpil zewo, nou antre nan 1 zewo epi apre li yon nimewo ki endike nimewo yo nan sekans lan. Nan fason sa a ou ka Reyajiste nan 1/3 gwosè a nan etalaj la tout antye. Lè sa a, nou tou senpleman konprese etalaj sa a lè l sèvi avèk metòd Huffman la epi ekri li nan dosye a tèt li.

Ki kote yo itilize

Tout kote. Menm jan ak PNG, JPEG yo itilize nan kamera, OS (tankou logo konpayi yo, ikon aplikasyon yo, miniatures) ak nan tout zòn posib kote imaj yo bezwen estoke avèk efikasite.

Sòti

Nan moman sa a, konesans sou JPEG se kounye a valab sèlman pou rezon edikasyon, paske li deja bati nan tout kote ak optimize pa gwo gwoup moun, men granit la nan syans se toujou bon gou.

Sous

Atik sou YCbCr sou Wikipedya
Wikipedya atik sou JPEG
Yon ti kras sou PrEP soti nan pòs la Pikabu
Atik Wikipedia sou PrEP

Sous: www.habr.com

Add nouvo kòmantè