Nyob zoo dua! Kuv pom tsab xov xwm no, sau rov qab rau lub Tsib Hlis 2019. Nws yog kev txuas ntxiv ntawm cov ntawv xov xwm hais txog WAVE thiab JPEG. Ntawm no Tsab ntawv tshaj tawm no yuav muaj cov ntaub ntawv hais txog cov txheej txheem encoding duab thiab hom ntawv nws tus kheej feem ntau.
Ib qho piv txwv ntawm keeb kwm
Ib diav ntawm tsab xov xwm Wikipedia:
JPEG (Joint Photographic Experts Group) yog ib qho ntawm cov hom ntawv duab raster nrov siv rau kev khaws cov duab thiab cov duab zoo sib xws.
Tus qauv no tau tsim los ntawm Pawg Kws Tshaj Lij Sib Koom Tes hauv xyoo 1991 rau kev nias duab kom zoo.
Txoj kev uas cov duab siv los ntawm raw mus rau JPEG yog dab tsi?
Muaj ib txhia neeg xav tias cov duab JPEG yog cov ntaub ntawv raw uas raug nias siv txoj kev Huffman, tab sis qhov no tsis yog qhov tseeb. Cov ntaub ntawv yuav siv sijhawm ntev ua ntej raug nias.
Ua ntej, tus qauv xim raug hloov los ntawm RGB mus rau YCbCr. Muaj txawm tias muaj ib qho algorithm tshwj xeeb rau qhov no - . Y tsis raug kov, vim nws yog lub luag haujlwm rau qhov ci ntsa iab, thiab nws qhov kev hloov pauv yuav pom tseeb.
Thawj qhov lawv ua nrog daim duab yog ua kom nyias (subsampling). Nws yooj yim to taub: koj siv 2x2 array ntawm pixels, tom qab ntawd siv Cb thiab Cr - qhov nruab nrab ntawm txhua qhov ntawm YCbCr Cheebtsam ntawm 4 pixels no. Thiab yog li ntawd, peb yeej 6 bytes, es tsis txhob yog 4 Y, 4 Cb, 4 Cr, peb tau txais 4 Y thiab tib Cb thiab Cr rau txhua tus ntawm lawv (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). Txawm tias 2x2 nplai, kev sib sau ua ke nrog qhov sib piv ntawm 2: 1 zoo li zoo kawg nkaus. Qhov no siv rau tag nrho cov duab. Yog li, peb tau txiav qhov loj me ib nrab. Thiab peb tuaj yeem siv cov txheej txheem no ua tsaug rau peb qhov kev pom xim. Ib tug neeg tuaj yeem pom qhov sib txawv ntawm qhov kaj, tab sis tsis yog xim yog tias nws nruab nrab ntawm ib lub thaiv me me ntawm pixels. Kev nyias nyias kuj tuaj yeem ua tiav hauv kab, 4 pixels kab rov tav thiab ntsug. Qhov kev xaiv thawj zaug siv ntau zaus. Yog tias qhov zoo ntawm daim duab tseem ceeb, kev nyias nyias tsis ua tiav kiag li.
Ib daim duab qhia txog kev ua kom nyias nyias (Habr tsis pub kuv ntxig GIF)
Qhov tseem ceeb ntawm kev npaj
DCT
Tam sim no los txog qhov nyuaj tshaj plaws thiab tsim nyog tshaj plaws. Tag nrho cov duab raug muab faib ua 8x8 blocks (padding yog siv yog tias qhov kev daws teeb meem tsis yog ntau npaum li cas ntawm qhov loj ntawm lub block).
Tam sim no thov rau txhua lub block DCT (Kev Hloov Pauv Cosine Sib Cais)Hauv seem no, txhua yam tsis tsim nyog raug tshem tawm ntawm daim duab. Siv DCT, peb yuav tsum txiav txim siab seb ib lub block (8x8) puas piav qhia txog ib feem ntawm daim duab: lub ntuj, phab ntsa; lossis nws puas muaj cov qauv nyuaj (plaub hau, cim, thiab lwm yam). Nws yog qhov laj thawj uas 64 lub pixels xim zoo sib xws tuaj yeem piav qhia los ntawm ib qho xwb, vim tias qhov loj ntawm lub block twb paub lawm. Ntawd yog qhov sib piv ntawm kev nias: 64 rau 1.
Lub DCT hloov lub block mus ua ib lub spectrum, thiab qhov twg nyeem tau hloov pauv sai sai, tus coefficient yuav zoo, thiab qhov hloov pauv sai dua, qhov tso zis ntau dua. Qhov twg tus coefficient siab dua, daim duab qhia txog kev hloov pauv meej meej hauv xim thiab qhov kaj; qhov twg nws qis dua, kev hloov pauv me me (du) hauv cov nqi ntawm YCbCr Cheebtsam hauv lub block pom tau.
Kev suav lej
Cov chaw teeb tsa compression raug siv ntawm no. Txhua tus coefficient hauv txhua lub matrix 8x8 yog faib los ntawm tus lej tshwj xeeb. Yog tias koj tsis xav kom txo qhov zoo ntawm daim duab tom qab tag nrho cov kev hloov kho, tus divisor yuav tsum yog ib qho. Yog tias qhov cim xeeb ntawm daim duab tseem ceeb dua rau koj, tus divisor yuav loj dua ib qho, thiab tus lej suav yog puag ncig. Qhov no txhais tau tias kev puag ncig feem ntau ua rau muaj ntau tus lej xoom.
Kev suav lej yog siv los ua kom muaj kev sib sau ua ke ntau dua. Nov yog qhov no zoo li cas siv daim duab quantized y = sin(x):

Ntsuas Siv
Ua ntej, peb mus dhau lub matrix hauv tus qauv zig-zag:

Peb tau txais ib qho array ntawm cov lej ib-seem. Peb pom tias nws muaj ntau tus lej xoom, uas tuaj yeem tshem tawm. Ua li no, es tsis txhob ua ib kab lus ntawm ntau tus lej xoom, peb sau ib tus lej xoom ua raws li tus lej qhia lawv tus lej hauv kab lus. Txoj kev no, peb tuaj yeem txo qhov loj ntawm tag nrho cov array mus rau 1/3. Tom qab ntawd, peb tsuas yog compress qhov array no siv txoj kev Huffman thiab sau rau hauv cov ntaub ntawv nws tus kheej.
Qhov twg siv
Txhua qhov chaw. Ib yam li PNG, JPEG siv rau hauv cov koob yees duab, OSes (ua cov cim lag luam, cov cim app, cov duab me me), thiab txhua qhov chaw uas cov duab yuav tsum tau khaws cia kom zoo.
xaus
Tam sim no, kev paub txog JPEG tsuas yog muaj txiaj ntsig rau kev kawm xwb, vim nws twb tau tsim rau hauv txhua yam thiab tau kho kom zoo los ntawm cov pab pawg neeg loj, tab sis lub pob zeb granite ntawm kev tshawb fawb tseem qab heev.
Cov chaw
Tau qhov twg los: www.hab.com
