Përshëndetje përsëri! Gjeta këtë artikull, i shkruar në maj të vitit 2019. Ky është një vazhdim i serisë së artikujve mbi WAVE dhe JPEG. Ja . Ky publikim do të përfshijë informacion mbi algoritmin e kodimit të imazheve dhe për formatin në përgjithësi.
Një grimcë historie
Një lugë të madhe artikulli nga Wikipedia:
JPEG (Grupi Ekspertëve të Fotografive të Bashkuar) është një nga formatet më të njohura të grafikut raster, i përdorur për ruajtjen e fotografive dhe imazheve të ngjashme.
Ky standart u zhvillua nga Grupi i Ekspertëve mbi Fotografitë që në vitin 1991 për kompresimin efikas të imazheve.
Cila është rruga që ndjekin imazhet nga forma e kriptuar deri në JPEG
Disa besojnë se imazhet JPEG janë të dhëna të papërpunuara të kompresuara me metodën Huffman, por kjo nuk është e vërtetë. Para kompresimit përfundimtar, të dhënat kalojnë përmes një rrugë të gjatë.
SĂ« pari ndryshohet modeli i ngjyrave nga RGB nĂ« YCbCr. PĂ«r kĂ«tĂ« ka edhe njĂ« algoritĂ«m tĂ« veçantĂ« â . Y nuk preket, sepse ai Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r ndriçimin dhe njĂ« ndryshim do tĂ« ishte i dukshĂ«m.
E para qĂ« bĂ«het me imazhin Ă«shtĂ« «ndĂ«rrimi» (subsampling). E kupton thjesht: merret njĂ« grumbull 2x2 pikselĂ«sh, pastaj merret Cb dhe Cr â mesatarja e secilĂ«s nga komponentĂ«t YCbCr tĂ« kĂ«tyre 4 pikseve. Dhe kĂ«shtu, ne fituam 6 byte, nĂ« vend tĂ« 4 Y, 4 Cb, 4 Cr morĂ«m 4 Y dhe tĂ« njĂ«jtat pĂ«r secilin Cb dhe Cr (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 â 6 = 6). NĂ« njĂ« shkallĂ« edhe 2Ă2, kompresimi me humbje me njĂ« raport kompresimi 2:1 duket mbresĂ«lĂ«nĂ«se. Kjo aplikohet pĂ«r tĂ« gjithĂ« imazhin. Ashtu â shfuqizuam gjysmĂ«n e madhĂ«sisĂ«. Dhe njĂ« teknikĂ« tĂ« tillĂ« mund ta pĂ«rdorim falĂ« perceptimit tonĂ« tĂ« ngjyrave. Njeriu lehtĂ«sisht do tĂ« vĂ«rejĂ« ndryshimin nĂ« ndriçim, por jo nĂ« ngjyrĂ«, nĂ«se ajo Ă«shtĂ« mesatare nĂ« njĂ« bllok tĂ« vogĂ«l pikselesh. Gjithashtu, ndĂ«rrimi mund tĂ« bĂ«het nĂ« linjĂ«, 4 pikselĂ« horizontalisht dhe verticalisht. Varianti i parĂ« pĂ«rdoret mĂ« shpesh. NĂ«se Ă«shtĂ« e rĂ«ndĂ«sishme cilĂ«sia e imazhit, atĂ«herĂ« ndĂ«rrimi nuk kryhet fare.
Ilustrimi i qartĂ« i ndĂ«rrimit (Habr nuk e lejoi tĂ« vendosja gifin) â
Pjesa kryesore e përgatitjes
DCT
Tani pjesa më e komplikuar dhe e nevojshme. Imazhi i gjithë ndahet në blloqe 8x8 (përdoren mbushje në rast se rezolucioni nuk është shumëfish i anës së bllokut).
Tani çdo bllokut i aplikohet DCT (Transformimi Diskret i KosinĂ«ve)NĂ« kĂ«tĂ« pjesĂ«, gjithçka e tepĂ«rt hiqet nga imazhi. Duke pĂ«rdorur DCT-nĂ«, duhet tĂ« kuptoni nĂ«se ky bllok (8Ă8) pĂ«rshkruan ndonjĂ« pjesĂ« monotone tĂ« imazhit: qiell, mure; ose pĂ«rmban njĂ« strukturĂ« komplekse (flokĂ«, simbole etj.). ĂshtĂ« logjike qĂ« 64 pikselĂ« tĂ« ngjashĂ«m me ngjyrĂ« mund tĂ« pĂ«rshkruhen me vetĂ«m 1, pasi pĂ«rmasat e bllokut tashmĂ« janĂ« tĂ« njohura. Ky Ă«shtĂ« comprimi: 64 nĂ« 1.
DCT shndĂ«rron bllokun nĂ« spektĂ«r, dhe aty ku leximet ndodhin papritmas, koeficienti bĂ«het pozitiv, dhe sa mĂ« e fortĂ« tĂ« jetĂ« kalimi, aq mĂ« i lartĂ« do tĂ« jetĂ« rezultati. Aty ku koeficienti Ă«shtĂ« mĂ« i lartĂ«, nĂ« imazh janĂ« tĂ« pĂ«rfaqĂ«suara kalimet e qarta nĂ« ngjyrĂ« dhe ndriçim, ndĂ«rsa aty ku Ă«shtĂ« mĂ« e ulĂ«t â kalime tĂ« dobĂ«ta (tĂ« buta) tĂ« pĂ«rbĂ«rĂ«sve YCbCr nĂ« bllok.
Kvantizimi
Tani aplikohen cilĂ«simet e kompresionit. Ădo koeficient nĂ« çdo matricĂ« 8Ă8 ndahen me njĂ« numĂ«r tĂ« caktuar. NĂ«se cilĂ«sia e imazhit pas tĂ« gjitha modifikimeve nuk do tĂ« ulej mĂ«, ndarja duhet tĂ« jetĂ« njĂ«. Po nĂ«se ju intereson mĂ« shumĂ« memoria e zĂ«nĂ« nga kjo fotografi, atĂ«herĂ« ndarja do tĂ« jetĂ« mĂ« e madhe se 1, dhe rezultati do tĂ« pĂ«rshkruhet. KĂ«shtu ndodh qĂ« pas pĂ«rshkrimit shpesh del shumĂ« zero.
Kvantizimi bëhet për të krijuar mundësinë e një kompresioni edhe më të madh. Ja si duket me shembullin e grafikut y = sin(x):

Kompresimi
Fillimisht kalojmë përmes matricës në zig-zag:

Marrim një varg të dhënash një-dimensional. Ne shohim që ka shumë zero, mund t'i heqim ato. Për këtë, në vend të një sekuence me shumë zero, shkruajmë 1 zero dhe pas tij një numër që tregon sasinë e tyre në sekuencë. Kështu mund të reduktojmë deri në 1/3 të madhësisë së gjithë vargut. Më pas thjesht e kompresojmë këtë varg me metodën e Huffmanit dhe e shkruajmë në dosjen vetë.
Ku përdoret
Për gjithkund. Ashtu si PNG, JPEG përdoret në aparatet fotografikë, OS-të (si logot e kompanive, ikonat e aplikacioneve, miniaturat) dhe në të gjitha fushat e mundshme ku duhet të ruhet imazhet në mënyrë efektive.
Përfundimi
Aktualisht, njohuritë rreth JPEG janë të vlefshme vetëm për qëllime arsimore, sepse ai tashmë është i integruar në çdo vend dhe është optimizuar nga grupe të mëdha njerëzish, por guri i shkencës megjithëse është i shijshëm.
Burimet
Burimi: habr.com
