JPEG. Algọridim mkpakọ

Ndewo ọzọ! Ahụrụ m akụkọ a ka edere azụ na Mee 2019. Nke a bụ n'ihu nke usoro akụkọ gbasara WAVE na JPEG, ebe a mbụ. Mbipụta a ga-agụnye ozi gbasara algọridim ngbanwe onyonyo yana usoro n'onwe ya n'ozuzu ya.

Otutu akụkọ ihe mere eme

Otu tablespoon nke akụkọ Wikipedia:

JPEG (Nkọkọrịta Ndị Ọkachamara Foto Foto) bụ otu n'ime ụdị eserese raster ama ama nke ejiri maka ịchekwa foto na onyonyo ndị yiri ya.

Otu Ndị Ọkachamara Foto Joint weputara ọkọlọtọ a na 1991 maka mkpakọ onyonyo nke ọma.

Kedu ka onyonyo si esi na raw gaa na JPEG?

Ụfọdụ ndị mmadụ na-eche na ihe oyiyi JPEG bụ data a na-ejikọtaghị ọnụ site na iji usoro Huffman, mana nke a abụghị eziokwu. Tupu njikwa njikwa, data na-aga ogologo ụzọ.

Nke mbụ, a na-agbanwe ụdị agba ahụ site na RGB gaa na YCbCr. Enwere ọbụna algọridim pụrụ iche maka nke a - ebe a. A naghị emetụ Y aka, ebe ọ bụ na ọ bụ ya kpatara nchapụta, na mgbanwe ya ga-apụta ìhè.

Ihe mbụ ị ga-eme na onyonyo a bụ "na-akparị" (subampling). Nke a dị mfe nghọta: a na-ewere pikselụ 2x2, wee were Cb na Cr - nkezi ụkpụrụ nke akụkụ YCbCr nke pikselụ 4 a. Yabụ, anyị meriri 6 bytes, kama 4 Y, 4 Cb, 4 Cr anyị nwetara 4 Y na otu Cb na Cr maka nke ọ bụla n'ime ha (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). N'ọbụlagodi 2x2, mkpakọ na-efunahụ nwere oke mkpakọ 2:1 na-ada ụda siri ike. Nke a metụtara onyonyo niile. Ya mere - ha dara ọkara nha. Na anyị nwere ike iji usoro a ekele maka agba anyị. Mmadụ ga-adị mfe ịhụ ihe dị iche na nchapụta, ma ọ bụghị na agba, ma ọ bụrụ na a na-agbakọta ya karịa obere ngọngọ nke pikselụ. A pụkwara ime mkparị n'ahịrị, 4 pikselụ kwụ n'ahịrị na kwụ ọtọ. A na-eji nhọrọ mbụ eme ihe ugboro ugboro. Ọ bụrụ na ịdị mma oyiyi dị mkpa, mgbe ahụ, a naghị eme mmebi ma ọlị.
Ihe atụ a na-ahụ anya nke thinning (Habr ekweghị ka m tinye gif) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

Isi akụkụ nke nkwadebe

PrEP

Ugbu a na-abịa akụkụ kacha sie ike na nke kacha mkpa. A na-ekewa ihe oyiyi ahụ dum na ngọngọ 8x8 (a na-eji njuputa ma ọ bụrụ na mkpebi ahụ abụghị otutu nke akụkụ ngọngọ).

Ugbu a tinye na ngọngọ ọ bụla DCT (Ngbanwe Cosine pụrụ iche). N'akụkụ a, a na-ewepụ ihe niile na-adịghị mkpa na foto a. Iji DCT, ịkwesịrị ịghọta ma ngọngọ nyere (8 × 8) na-akọwa akụkụ ọ bụla nke ihe oyiyi ahụ: mbara igwe, mgbidi; ma ọ bụ na ọ nwere usoro mgbagwoju anya (ntutu, akara, wdg). Ọ bụ ihe ezi uche dị na ya na 64 pikselụ nke agba yiri ya nwere ike ịkọwa naanị 1, n'ihi na a maralarị nha ngọngọ. Ọtụtụ maka mkpakọ: 64 ruo 1.

DCT na-atụgharị ngọngọ ahụ ka ọ bụrụ ụdị dị iche iche, na ebe agụmagụ na-agbanwe nke ọma, ọnụọgụgụ na-adị mma, na ntụgharị dị nkọ karị, mmepụta ga-adị elu. Ebe ọnụọgụ dị elu, foto a na-egosi mgbanwe doro anya na agba na nchapụta, ebe ọ dị ala - adịghị ike (dị nro) mgbanwe na ụkpụrụ nke ihe YCbCr na ngọngọ.

Quantization

etinyelarị ntọala mkpakọ ebe a. A na-ekewa ọnụọgụ ọnụọgụ ọ bụla na nke ọ bụla n'ime matrices 8x8 site na nọmba ụfọdụ. Ọ bụrụ na ị gaghị ebelata ogo oyiyi ahụ mgbe mgbanwe ya niile, mgbe ahụ onye nkesa kwesịrị ịbụ otu. Ọ bụrụ na ebe nchekwa dị na foto a dị gị mkpa, mgbe ahụ, onye nkesa ga-adị karịa 1, na quotient ga-agbakọta. Ọ na-apụta na mgbe ịmechara, ị na-enwekarị ọtụtụ efu.

A na-eme ọnụ ọgụgụ ka ukwuu iji mepụta ohere nke mkpakọ ka ukwuu. Nke a bụ ihe ọ dị ka iji ihe atụ nke ịkọwapụta eserese y = sin(x):

JPEG. Algọridim mkpakọ

Mkpakọ

Nke mbụ, anyị na-agafe matriks na usoro zigzag:

JPEG. Algọridim mkpakọ

Anyị na-enweta n'usoro otu akụkụ nwere ọnụọgụ. Anyị na-ahụ na e nwere ọtụtụ efu na ya, ha nwere ike wepụ. Iji mee nke a, kama usoro nke ọtụtụ efu, anyị na-abanye 1 efu na mgbe ọ gasịrị nọmba na-egosi nọmba ha n'usoro. N'ụzọ dị otú a, ị nwere ike tọgharịa ka 1/3 nha nke dum n'usoro. Ma mgbe ahụ, anyị na-akpakọ usoro a site na iji usoro Huffman wee dee ya n'ime faịlụ ahụ n'onwe ya.

Ebe eji

Ebe niile. Dị ka PNG, a na-eji JPEG na igwefoto, OS (dị ka akara ụlọ ọrụ, akara ngosi ngwa, thumbnails) na ebe niile enwere ike ịchekwa ihe oyiyi nke ọma.

nkwubi

N'oge a, ihe ọmụma banyere JPEG bụ ugbu a bara uru naanị maka agụmakwụkwọ nzube, n'ihi na ọ na-ama wuru n'ebe nile na kacha site na nnukwu ìgwè mmadụ, ma granite nke sayensị ka tọrọ ụtọ.

Isi mmalite

Edemede gbasara YCbCr na Wikipedia
Akụkọ Wikipedia na JPEG
Obere maka PrEP site na Pikabu post
Akụkọ Wikipedia na PrEP

isi: www.habr.com

Tinye a comment