JPEG — suspaustų vaizdų failo formatas: plėtiniai ir naudojimas
Sužinokite viską apie JPEG: suspaudimą, kokybę, populiarius plėtinius (.jpg, .jpeg, .jpe) ir praktiškus naudojimo patarimus internete bei saugykloje.
Kompiuterijoje JPEG failo formatas yra plačiai naudojamas formatas skaitmeniniams paveikslėliams suspausti. Suspaudimo laipsnį galima reguliuoti: aukštesnė kokybė reiškia didesnį failo dydį, žemesnė kokybė – mažesnį. Kai vaizdas yra aukštos kokybės, jis užima daug vietos saugykloje; žemos kokybės vaizdas užims mažiau vietos. JPEG formatas dažnai sutinkamas pasauliniame žiniatinklyje ir yra sukurtas Jungtinės fotografijos ekspertų grupės (Joint Photographic Experts Group) — angl. pavadinimo trumpinys JPEG. Dažniausi failų plėtiniai yra .jpg, .jpeg, .jpe ir kiti; plačiau apie failų plėtinius žemiau.
Kas yra JPEG ir kaip jis veikia
JPEG naudoja nuostolišką (lossy) suspaudimą, pagrįstą diskretine Kosine transformacija (DCT). Pagrindiniai etapai:
- spalvų erdvės konvertavimas (dažniausiai į YCbCr),
- chroma subsamplinimas (pvz., 4:2:0) — sumažinamas spalvų informacijos tankis, nes žmogaus akis mažiau jautri spalvų detalių pasikeitimui,
- blokų (paprastai 8×8 pikselių) DCT transformacija,
- kvantizavimas — čia prarandama informacija ir pasiekiamas dydžio sumažinimas,
- entropinis kodavimas (pvz., Huffman) — galutinis suspaudimo etapas.
Techninės savybės ir variacijos
- Spalvų erdvė: dažniausiai YCbCr su 8 bitų kanalu, nors įmanoma ir kiti variantai.
- Chroma subsampling: įprasta 4:2:0 arba 4:2:2, taupo vietą sumažinant spalvų tikslumą.
- Baseline (standartinis) ir progressive: baseline JPEG vienu metu saugo visus duomenis, progressive JPEG įrašo vaizdą sluoksniais — pirmiausia žemą detalumo versiją, vėliau geresnės kokybės sluoksnius. Internetui dažnai rekomenduojamas progressive, nes vartotojas mato vaizdo peržiūros versiją kol jis visiškai užsikrauna.
- MIME tipas: image/jpeg.
- Alternatyvūs JPEG formatai: yra ir kitų standartų (pvz., JPEG 2000, JPEG XR, HEIF/HEIC), kurie siūlo geresnę suspaudimo kokybę, bet nėra taip plačiai palaikomi.
Privalumai ir trūkumai
- Privalumai: geras suspaudimas fotografijoms ir natūraliems vaizdams, plati suderinamumas su įrenginiais ir naršyklėmis, paprasta redaguoti ir peržiūrėti.
- Trūkumai: nuostoliškas suspaudimas gali sukelti artefaktus (blokavimą, „ringing“), nėra geras pasirinkimas grafikai su aštriais kontūrais, tekstui ar vaizdams, kuriuos reikia dažnai redaguoti ir išsaugoti kelis kartus (kaskart prarandama kokybė).
Praktiniai patarimai naudojant JPEG
- Naudokite JPEG fotografijoms ir mišriems natūraliems vaizdams; grafikai ar paveikslėliams su skaidriu fonu geriau tinka PNG arba modernūs formatų pasirinkimai.
- Rinkitės tinkamą kokybės nustatymą (quality): 70–85% dažnai yra kompromisas tarp tinkamos vaizdo kokybės ir failo dydžio.
- Jeigu vaizdo detalumas ypač svarbus arba daug kartų redaguosite, saugokite originalą be nuostolių (pvz., TIFF ar RAW) arba naudokite be nuostolių formatą kol atliekate pakeitimus.
- Internetui galite naudoti progressive JPEG greitesnei vizualinei peržiūrai. Tačiau kai kuriuose specialiuose scenarijuose baseline gali būti pranašesnis dėl suderinamumo su senesniais įrankiais.
- Stebėkite artefaktus: jei pastebite blokavimą ar neryškumą, padidinkite kokybę arba pasirinkite kitą formatą.
Kada rinktis kitus formatus
- Jei reikia mažesnio failo su geresne kokybe — apsvarstykite WebP arba AVIF (palaikymas naršyklėse atsinaujina).
- Jei reikia palaikyti skaidrumą (alpha) — naudokite PNG arba WebP/AVIF, nes tradicinis JPEG nepalaiko skaidrios srities.
- Jeigu reikalingas geresnis dinaminis diapazonas arba pažangios kompresijos galimybės — žiūrėkite į JPEG 2000, HEIF arba kitas naujesnes alternatyvas.
Santrauka: JPEG yra patikimas ir plačiai palaikomas formatas fotografijoms ir vaizdams internete. Jis leidžia reguliuoti suspaudimą, bet tai yra nuostoliškas metodas, todėl svarbu pasirinkti tinkamą kokybės bei formato variantą pagal paskirtį. Dažniausi plėtiniai yra .jpg, .jpeg, .jpe — apie failų plėtinius rasite daugiau informacijos.

Laukinės katės nuotrauka, kurioje suspaudimas mažėja iš kairės į dešinę
Kaip tai veikia
YPb Pr
Pirmas svarbus JPEG suspaudimo elementas yra kiekvieno pikselio spalvos saugojimo būdas. Kiekvienam vaizdo pikseliui priskiriami 3 baitai, kurie apibrėžia jo spalvą. Visi trys baitai gali turėti bet kokią reikšmę nuo 0 iki 255, o kiekvienas galimas trijų baitų derinys reiškia kitą spalvą. Daugumoje failų formatų spalvai apibrėžti naudojamas RGB formatas. RGB reiškia raudona žalia žalia mėlyna. Taip jis pavadintas todėl, kad pirmasis iš trijų baitų nurodo, kiek pikselio spalvoje yra raudonos spalvos. Antrasis baitas nurodo, kiek spalvoje yra žalios spalvos, o trečiasis - kiek mėlynos. Kuo didesnė pirmojo baito reikšmė, tuo pikselio spalva yra raudonesnė.
JPEG taip pat naudoja po tris baitus kiekvienam pikseliui, tačiau jame naudojamas YPb Pr (taip pat žinomas kaip YCb Cr ) formatas. Čia pirmasis baitas nurodo, koks yra pikselio ryškumas. Antrasis baitas nurodo, kiek pikselis yra mėlynas. Trečiasis baitas nurodo, koks yra raudonas pikselis. Naudojant šį spalvų formatą, ryškumas saugomas atskirai nuo spalvos. Tai naudinga, nes ketiname suspausti vaizdą. Kadangi žmogaus akis geriau mato ryškumą nei spalvą, spalvų baitams (Pb - baitui ir Pr - baitui) galime taikyti didesnį suspaudimą. Kadangi geriau matome ryškumą, Y baitui taikome mažesnį suspaudimą, kad vaizdas po suspaudimo atrodytų geriau.
Kadangi vaizdai dažniausiai saugomi RGB formatu, pirmas JPEG glaudinimo žingsnis paprastai yra teisingai pakeisti RGB formatą į YPb Pr formatą.
Diskrečioji kosinuso transformacija
Vaizdui atvaizduoti JPEG naudoja kosinuso funkcijas. Todėl šiek tiek pakalbėsime apie kosinuso funkcijas. Štai kaip galėtų atrodyti kosinuso funkcija:
Norėdami, kad kosinuso funkcija išreikštų pikselio spalvą, sakome, kad kuo didesnė kosinuso funkcijos vertė, tuo šviesesnis pikselis. Jei turėtume pikselių rinkinį, kuris būtų šviesus-tamsus-šviesus, jiems apibrėžti galėtume naudoti pirmiau pateiktą funkciją.
Funkcija taip pat galėtų būti dažnesnė. Pavyzdžiui, taip:
Bet štai čia pasidaro įdomu. Taip pat galime sukurti skirtingas funkcijas, imdami skirtingų kosinuso funkcijų vidurkį. Štai kaip tai atrodytų, jei imtume dviejų aukščiau pateiktų funkcijų vidurkį:
JPEG formate DCT taikoma 8 × 8 pikselių blokams.
Kiekybinis vertinimas
Iki šiol suspaudžiant vaizdą nebuvo prarasta jokia informacija. Šiame etape filtruojame informaciją. Dėl šios priežasties būtent šiame etape sumažėja vaizdo kokybė. Kiekviename 8 × 8 pikselių bloke kosinuso funkcijos, turinčios aukštus dažnius, nustatomos į 0. Tai reiškia, kad jos nebegali turėti jokios įtakos tam, kaip vaizdas atrodo jį išskleidus.
Daug reikšmių dabar bus lygios 0, o tai reiškia, kad jas galima labai lengvai suspausti. Tai daroma naudojant Huffmano kodavimą. Huffmano kodavimas yra paskutinis JPEG suspaudimo etapas. Tai taip pat vienintelis etapas, kuriame duomenys iš tikrųjų suspaudžiami.
cos(x)
cos(2x)
(cos(x) + cos(2x)) / 2
Klausimai ir atsakymai
K: Kas yra JPEG failo formatas?
A: JPEG failo formatas yra failo formatas, naudojamas skaitmeniniams vaizdams suspausti.
K: Kaip galima keisti suspaudimo dydį?
A: Suspaudimo dydį galima keisti priklausomai nuo norimos kokybės.
K: Kas atsitinka, jei vaizdas yra aukštos kokybės?
A: Jei vaizdas yra aukštos kokybės, jis užims daug vietos saugykloje.
K: Kur dažniausiai galima rasti JPEG failo formatą?
A.: JPEG failo formatas dažniausiai aptinkamas pasauliniame žiniatinklyje.
K: Ką reiškia žodis "JPEG"?
A: Žodis "JPEG" reiškia "Joint Photographic Experts Group" (Jungtinė fotografijos ekspertų grupė), kuri sukūrė šį formatą.
K: Kokie yra kai kurie įprasti JPEG failų plėtiniai?
A.: JPEG failų įprasti plėtiniai, be kitų, yra .jpg, .jpeg ir .jpe.
Ieškoti