JPEG. Algartam comhbhrúite

Dia duit arís! Fuair ​​​​mé an t-alt seo scríofa ar ais i mí na Bealtaine 2019. Leanann sé seo de shraith alt faoi WAVE agus JPEG, anseo ar dtús. Áireofar san fhoilseachán seo faisnéis faoin algartam ionchódaithe íomhánna agus an fhormáid féin ina hiomláine.

Pionós de stair

spúnóg bhoird d'alt Vicipéid:

Tá JPEG (Grúpa Saineolaithe Comhpháirteach Grianghrafadóireachta) ar cheann de na formáidí raster grafaic a úsáidtear chun grianghraif agus íomhánna comhchosúla a stóráil.

D'fhorbair an Comhghrúpa Saineolaithe Grianghrafadóireachta an caighdeán seo siar i 1991 le haghaidh comhbhrú éifeachtach íomhá.

Conas a théann íomhánna ó amh go JPEG?

Smaoineamh ar roinnt daoine go bhfuil íomhánna JPEG comhbhrúite sonraí amh ag baint úsáide as an modh Huffman, ach níl sé seo fíor. Sula ndéantar comhbhrú rialaithe, taistealaíonn sonraí bealach fada.

Ar dtús, athraítear an tsamhail dath ó RGB go YCbCr. Tá fiú algartam speisialta ann le haghaidh seo - anseo. Níl baint ag Y, ós rud é go bhfuil sé freagrach as gile, agus beidh a athrú faoi deara.

Is é an chéad rud atá le déanamh leis an íomhá "tanú" (foshampláil). Tá sé éasca a thuiscint: tógtar sraith 2 × 2 picteilín, ansin tógtar Cb agus Cr - meánluachanna gach ceann de na comhpháirteanna YCbCr de na 4 picteilín seo. Mar sin, bhuaigh muid 6 bytes, in ionad 4 Y, 4 Cb, 4 Cr fuaireamar 4 Y agus an Cb céanna agus Cr do gach ceann acu (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). Ag scála fiú 2 × 2, fuaimeanna comhbhrú cailleach le cóimheas comhbhrú 2:1 soladach. Baineann sé seo leis an íomhá ar fad. Agus mar sin - thit siad leath méid. Agus is féidir linn an teicníc seo a úsáid a bhuíochas lenár n-aireachtáil dath. Tabharfaidh duine faoi deara go héasca difríocht i gile, ach ní i ndath, má tá sé meánaithe thar bloc beag picteilín. Is féidir tanú a dhéanamh freisin i líne, 4 picteilín go cothrománach agus go hingearach. Úsáidtear an chéad rogha níos minice. Má tá cáilíocht íomhá tábhachtach, ní dhéantar díothúchán ar chor ar bith.
Léaráid amhairc den tanú (níor lig Habr dom gif a chur isteach) - https://i.ibb.co/Rg5Th9H/150953010617579181.gif

An chuid is mó den ullmhúchán

Dkp

Anois a thagann an chuid is deacra agus is gá. Tá an íomhá ar fad roinnte ina bloic 8 × 8 (úsáidtear líonadh mura bhfuil an taifeach ina iolraí ar thaobh na mbloc).

Anois cuir i bhfeidhm ar gach bloc DCT (Claochlú Comhshínis Scoite). Sa chuid seo, baintear gach rud nach bhfuil gá leis as an bpictiúr. Agus DCT á úsáid agat, caithfidh tú a thuiscint an ndéanann bloc tugtha (8×8) cur síos ar aon chuid aondathúil den íomhá: an spéir, an balla; nó go bhfuil struchtúr casta ann (gruaig, siombailí, etc.). Tá sé loighciúil gur féidir cur síos a dhéanamh ar 64 picteilín den dath céanna ach 1, mar gheall ar tá méid an bhloc ar eolas cheana féin. An méid sin don chomhbhrú: 64 go 1.

Déanann DCT an bloc a thiontú ina speictream, agus nuair a athraíonn na léamha go géar, déantar an comhéifeacht dearfach, agus an níos géire an t-aistriú, is airde an t-aschur a bheidh ann. Sa chás go bhfuil an comhéifeacht níos airde, léiríonn an pictiúr aistrithe soiléire i ndath agus gile, áit a bhfuil sé níos ísle - athruithe lag (réidh) i luachanna na gcomhpháirteanna YCbCr sa bhloc.

Cainníochtú

Tá socruithe comhbhrúite i bhfeidhm anseo cheana féin. Roinntear gach ceann de na comhéifeachtaí i ngach ceann de na maitrísí 8 × 8 ar líon áirithe. Mura laghdóidh tú cáilíocht íomhá tar éis a modhnuithe go léir, ansin ba chóir go mbeadh an roinnteoir ar cheann. Má tá an chuimhne atá á áitiú ag an ngrianghraf seo níos tábhachtaí duit, ansin beidh an roinnteoir níos mó ná 1, agus déanfar an comhrann a shlánú. Tharlaíonn sé go raibh tar éis slánú tú go minic deireadh suas le go leor de nialais.

Déantar cainníochtú chun an fhéidearthacht comhbhrú níos mó fós a chruthú. Seo an chuma atá air ag baint úsáide as an sampla den ghraf y = sin(x) a chainníochtú:

JPEG. Algartam comhbhrúite

Comhbhrú

Ar dtús téimid tríd an mhaitrís i bpatrún zigzag:

JPEG. Algartam comhbhrúite

Faighimid eagar aontoiseach le huimhreacha. Feicimid go bhfuil go leor nialais ann, is féidir iad a bhaint. Chun seo a dhéanamh, in ionad seicheamh go leor nialais, cuirimid 1 náid isteach agus ina dhiaidh uimhir a léiríonn a n-uimhir sa seicheamh. Ar an mbealach seo is féidir leat a athshocrú go 1/3 méid an eagar iomlán. Agus ansin ní dhéanaimid ach an t-eagar seo a chomhbhrú trí úsáid a bhaint as modh Huffman agus é a scríobh isteach sa chomhad féin.

Nuair a úsáidtear é

I ngach áit. Cosúil le PNG, úsáidtear JPEG i gceamaraí, OSanna (mar lógónna cuideachta, deilbhíní feidhmchlár, mionsamhlacha) agus i ngach réimse féideartha inar gá íomhánna a stóráil go héifeachtach.

Aschur

I láthair na huaire, tá eolas faoi JPEG luachmhar anois ach amháin chun críocha oideachais, toisc go bhfuil sé tógtha cheana féin i ngach áit agus optamaithe ag grúpaí móra daoine, ach tá eibhir na heolaíochta fós blasta.

Foinsí

Airteagal faoi YCbCr ar Vicipéid....
alt Vicipéid ar JPEG....
Beagán faoi PrEP ón bpost Pikabu
alt Vicipéid ar PrEP

Foinse: will.com

Add a comment