Sawubona futhi! Ngithole lesi sihloko sibhalwe ngoMeyi 2019. Lokhu ukuqhubeka kochungechunge lwezihloko mayelana ne-WAVE ne-JPEG, lapha
Ingcosana yomlando
Isipuni se-athikili ye-Wikipedia:
I-JPEG (Iqembu Lochwepheshe Bezithombe Ezihlanganisiwe) ingelinye lamafomethi emifanekiso e-raster adumile asetshenziselwa ukugcina izithombe nezithombe ezifanayo.
Leli zinga lasungulwa i-Joint Photographic Experts Group emuva ngo-1991 ukuze kucindezelwe isithombe ngendlela efanele.
Izithombe zihamba kanjani zisuka kokuluhlaza ziye kuJPEG?
Abanye abantu bacabanga ukuthi izithombe ze-JPEG ziyidatha eluhlaza ecindezelwe kusetshenziswa indlela ye-Huffman, kodwa lokhu akulona iqiniso. Ngaphambi kokucindezelwa kokulawula, idatha ihamba ibanga elide.
Okokuqala, imodeli yombala iyashintshwa isuka ku-RGB iye ku-YCbCr. Kukhona ngisho ne-algorithm ekhethekile yalokhu -
Into yokuqala okumele uyenze ngesithombe "ukuncipha" (isampula). Kulula ukukuqonda: kuthathwa amaphikseli angu-2x2, bese kuthathwa i-Cb ne-Cr - amanani amaphakathi engxenye ngayinye ye-YCbCr yalawa maphikseli angu-4. Ngakho, siwine amabhayithi angu-6, esikhundleni sika-4 Y, 4 Cb, 4 Cr sithole u-4 Y kanye ne-Cb efanayo ne-Cr ngayinye yazo (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). Esikalini esingu-2x2 esilinganayo, ukucindezela okulahlekile okunesilinganiso sokuminyanisa okungu-2:1 kuzwakala kuqinile. Lokhu kusebenza kuso sonke isithombe. Futhi ngakho - behla usayizi oyingxenye. Futhi singasebenzisa le nqubo ngenxa yombono wethu wombala. Umuntu uzoqaphela kalula umehluko ekugqameni, kodwa hhayi ngombala, uma kulinganiselwa ngaphezu kwebhulokhi elincane lamaphikseli. Ukunciphisa kungenziwa futhi emugqeni, amaphikseli angu-4 ngokuvundlile nangokuqondile. Inketho yokuqala isetshenziswa kaningi. Uma ikhwalithi yesithombe ibalulekile, khona-ke ukuncishiswa akwenziwa nhlobo.
Umfanekiso obonakalayo wokuncipha (uHabr akazange angivumele ukuthi ngifake i-gif) -
Ingxenye eyinhloko yokulungiselela
I-PrEP
Manje kufika ingxenye enzima kakhulu nedingeka kakhulu. Sonke isithombe sihlukaniswe ngamabhulokhi angu-8x8 (ukugcwalisa kusetshenziswa uma ukulungiswa kungekona ukuphindaphinda kohlangothi lwebhulokhi).
Manje sebenza kubhulokhi ngayinye I-DCT (Discrete Cosine Transform). Kule ngxenye, konke okungadingekile kukhishwa esithombeni. Usebenzisa i-DCT, udinga ukuqonda ukuthi ibhulokhi enikeziwe (8Γ8) ichaza noma iyiphi ingxenye yesithombe esiyisidina: isibhakabhaka, udonga; noma iqukethe isakhiwo esiyinkimbinkimbi (izinwele, izimpawu, njll.). Kunengqondo ukuthi amaphikseli angama-64 ombala ofanayo angachazwa ngu-1 nje, ngoba usayizi webhulokhi uyaziwa kakade. Kakhulu ngokucindezelwa: 64 kuya ku-1.
I-DCT iguqula ibhulokhi ibe yi-spectrum, futhi lapho ukufundwa kushintsha kakhulu, i-coefficient iba phozithivu, futhi uma uguquko lubukhali, okuphumayo kuzoba phezulu. Lapho i-coefficient iphakeme, isithombe sibonisa ukushintshwa okucacile kombala nokukhanya, lapho kuphansi - kubuthakathaka (bushelelezi) izinguquko kumanani wezingxenye ze-YCbCr kubhulokhi.
Quantization
Izilungiselelo zokuminyanisa sezivele zisetshenziswa lapha. I-coefficient ngayinye kumatikuletsheni we-8x8 ihlukaniswa ngenombolo ethile. Uma ungeke unciphise ikhwalithi yesithombe ngemva kwakho konke ukuguqulwa kwayo, khona-ke isihlukanisi kufanele sibe sinye. Uma inkumbulo ekulesi sithombe ibaluleke kakhulu kuwe, khona-ke isihlukanisi sizoba sikhulu kuno-1, futhi i-quotient izozungezwa. Kuvele ukuthi ngemva kokuhlanganisa ngokuvamile ugcina ngoziro abaningi.
I-Quantization yenziwa ukuze kwakhiwe amathuba okucindezelwa okukhulu nakakhulu. Nakhu ukuthi kubukeka kanjani usebenzisa isibonelo sokulinganisa igrafu y = sin(x):
Ukucindezela
Okokuqala sidlula ku-matrix ngephethini ye-zig-zag:
Sithola i-dimensional eyodwa enezinombolo. Siyabona ukuthi kukhona ama-zero amaningi kuwo, angasuswa. Ukwenza lokhu, esikhundleni sokulandelana koziro abaningi, sifaka u-1 zero futhi ngemva kwayo inombolo ebonisa inombolo yabo ngokulandelana. Ngale ndlela ungasetha kabusha ku-1/3 usayizi wawo wonke amalungu afanayo. Bese simane sicindezele lolu hlu sisebenzisa indlela ye-Huffman bese siyibhala efayelini ngokwalo.
Lapho isetshenziswa
Yonke indawo. Njenge-PNG, i-JPEG isetshenziswa kumakhamera, ama-OS (njengamalogo enkampani, izithonjana zohlelo lokusebenza, izithonjana) nakuzo zonke izindawo okungenzeka lapho izithombe zidinga ukugcinwa kahle.
isiphetho
Okwamanje, ulwazi mayelana ne-JPEG manje selubalulekile ngezinjongo zemfundo kuphela, ngoba kakade lwakhiwe kuyo yonke indawo futhi lwenziwe ngamaqembu amakhulu abantu, kodwa i-granite yesayensi isamnandi.
Imithombo
Source: www.habr.com