Přeskočit na obsah

JPEG

Z Wikipedie, otevřené encyklopedie
JPEG
Přípona souboru.jpg, .jpeg, .jpe
.jif, .jfif, .jfi
Typ internetového médiaimage/jpeg
Type codeJPEG
Uniform Type Identifierpublic.jpeg
Magické čísloff d8
TvůrceJoint Photographic Experts Group
První verze18. září 1992[1]
RozšířeníJPEG 2000
Standard(y)ISO/IEC 10918, ITU-T T.81
Otevřený formátano
Webhttps://jpeg.org
Fotografie květiny komprimovaná se vzrůstajícím komprimačním poměrem zleva doprava.

JPEG (anglická výslovnost [ˌdžeiˈpeg], užívají se též počeštěné výslovnosti jépeg nebo jpeg) je standardní metoda ztrátové komprese používané pro ukládání počítačových obrázků ve fotorealistické kvalitě. Formát souboru, který tuto kompresi používá, se také běžně nazývá JPEG. Nejrozšířenější příponou tohoto formátu je .jpg, .jpeg, .jfif, .jpe eventuálně jsou tato jména psána velkými písmeny.[2] Od svého zavedení v roce 1992 je JPEG nejrozšířenějším standardem pro kompresi obrazu na světě,[3] přičemž se podle odhadu komise JPEG denně vytvářejí několik miliard snímků v tomto formátu.[4]

Skutečným názvem typu souboru je JFIF [ˌdžeiˈfif], což znamená JPEG File Interchange Format. Zkratka JPEG znamená Joint Photographic Experts Group, což je vlastně konsorcium, které tuto kompresi navrhlo.[5]

Když se běžně hovoří o souboru JPEG, míní se tím většinou soubor JFIF, nebo soubor Exif JPEG. Existuje však více formátů souborů založených na kompresi JPEG, například JNG.

JPEG/JFIF je nejčastější formát používaný pro přenášení a ukládání fotografií na World Wide Webu. Není však vhodný pro perokresbu, zobrazení textu nebo ikonky, protože kompresní metoda JPEG vytváří v takovém obrazu viditelné a rušivé artefakty.[6] Pro takové účely se většinou používají soubory PNG a GIF. Protože má GIF pouze 8 bitů na pixel, není vhodný pro barevné fotografie, PNG je možné použít pro ukládání fotografií, ale výsledná velikost souboru je nevhodná pro publikování na webu.

MIME typ pro JFIF je image/jpeg (definované v RFC 1341).

Skupina Joint Photographic Experts Group vznikla v roce 1986 jako společná pracovní skupina normalizačních organizací ISO a CCITT (dnešní ITU-T) s cílem vytvořit standard pro kompresi fotografických obrazů.[3] Standard byl publikován v roce 1992 a v témže roce byl schválen jako doporučení ITU-T T.81, v roce 1994 pak jako norma ISO/IEC 10918-1.[1][3]

Základem ztrátové komprese JPEG je diskrétní kosinová transformace, kterou jako techniku komprese obrazu poprvé navrhl Nasir Ahmed v roce 1972 a společně s T. Natarajanem a K. R. Raem ji popsal v odborném článku z roku 1974, na který se standard JPEG odvolává.[7]

Patentový spor

[editovat | editovat zdroj]

V roce 2002 společnost Forgent Networks oznámila, že vlastní a bude vymáhat patentová práva na technologii JPEG na základě patentu US 4 698 672, který přihlásila firma Compression Labs v roce 1986 a který jí byl udělen v roce 1987.[8] Komise JPEG k nárokům uvedla, že je považuje za neplatné kvůli existenci staršího řešení (tzv. prior art), s čímž se ztotožnila řada odborníků.[9][8] Mezi lety 2002 a 2004 získala společnost Forgent na základě licencování patentu přibližně 105 milionů amerických dolarů od zhruba třiceti firem a v dalších letech patent žalobami vymáhala vůči desítkám dalších společností.[8] Po přezkoumání na žádost Public Patent Foundation prohlásil Úřad pro patenty a ochranné známky USA (USPTO) patent v roce 2006 na základě staršího řešení za neplatný a Forgent v listopadu 2006 od vymáhání patentu vůči standardu JPEG upustil.

Ukázka postupu JPEG kodeku

[editovat | editovat zdroj]
DCT převede blok vstupních hodnot 8×8 na jejich lineární kombinaci.
Cikcak schéma postupného čtení hodnot z bloku pro optimální využití RLE.

Většina ze široké škály voleb komprese JPEG standardu se téměř nepoužívá. Následuje krátký popis běžnějších metod kódování. Celý proces se skládá z několika kroků:

  1. Obrázek je převeden do barevného modelu YCbCr. Jednotlivé složky (jasové a chrominační) jsou pak zpracovávány samostatně.
  2. Snížení přesnosti informací o barvě (podvzorkování barvonosných složek).
  3. Složky obrázku jsou následně rozděleny do bloků o velikosti 8×8 pixelů. A pro každý blok se provede dvourozměrná diskrétní kosinová transformace (2D DCT). DCT je diskrétní transformace, která na rozdíl od DFT produkuje pouze reálné koeficienty. Díky separabilitě 2D DCT, lze vypočítat:

    Blok 8×8 se tak vyjádří jako složení signálů o různé frekvenci. Kde je stejnosměrná hodnota signálu zastoupena v levém horním rohu bloku matice.
  4. Nad bloky se provede kvantizace. Lidský zrak je citlivý k relativně malé změně v jasu nebo v barvě na poměrně velké ploše. V rozlišování konkrétní síly rychle se měnícího jasu (vysokofrekvenční změny) je však mnohem horší. To nám umožňuje informace o takovýchto změnách vynechat. Výsledek 2D DCT se vydělí kvantizační maticí (tabulkou) a zaokrouhlí. Hodnoty v kvantizační tabulce, kterými se budou násobit hodnoty vysokofrekvenčních změn, jsou takové, aby po vydělení původní hodnoty hodnotou z tabulky a zaokrouhlení vyšla nula nebo malé číslo. Kvantizační matice je pro celý obrázek shodná.
  5. Výsledná data v bloku se postupně vyčítají metodou zig-zag [ˈzigˌzæg] a data dále komprimují bezeztrátově nejprve pomocí Run-length encoding (RLE) a pak Huffmanovým kódováním nebo pomocí Aritmetického kódování.
  6. Stejnosměrná hodnota bloků je přenášena, či uložena zvlášť a slouží pro vytvoření malého náhledu na obrázek.

Před zobrazením obrázku je postup opačný:

  1. Nejdříve proběhne dekomprese použitých bezeztrátových metod.
  2. Prvky bloku 8×8 jsou vynásobeny příslušnými prvky kvantizační matice.
  3. Z toho se následně vypočítá inverzní 2D DCT(2D IDCT).
  4. Sloučit bloky jednotlivých složek do matic, které přísluší jednotlivým složkám obrazu.
  5. Protože došlo k snížení vzorků barevné informace, je potřeba je dopočítat a doplnit tak, aby matice Y,Cb,Cr měly stejný rozměr.
  6. Barevná transformace YCbCr například na RGB.

JPEG je vhodný pro fotografické snímky nebo malby realistických scenérií s hladkými přechody v tónu a barvě. V tomto případě poskytuje mnohem menší velikosti souboru než čistě bezztrátové metody jako PNG, přičemž zachovává stále dobrou kvalitu obrazu. Formát JPEG je často srovnáván s GIF – tato srovnaní jsou velmi problematická, protože GIF nikdy nebyl určen pro fotografické obrazy, je limitován na 256 barev, a konečně byl překonán formátem PNG, který je také vhodný pro fotografické obrazy, je bezeztrátový, za cenu větších souborů. Použití na webu – Formát JPEG byl spolu s formátem GIF běžně nejpoužívanějším formátem pro kompresi obrázků na webu, jako jsou designové prvky a loga. V dnešní době je vytlačován formátem PNG, zejména v oblasti designových prvků stránek, jelikož jak již bylo řečeno, tento formát je bezeztrátový a aktuálně, kdy obecně průměrná rychlost připojení internetu u běžných uživatelů narůstá, nehraje větší velikost souborů ve formátu PNG tak významnou roli jako dříve, navíc při použití osmibitových barev ve formátu PNG není rozdíl ve velikosti u srovnatelně kvalitních obrázků v JPEG a PNG zas tak velký. V neposlední řadě také formát PNG podporuje oproti JPEG označení určitých barev v obrázku jako průhledných (toto umí i formát GIF).

Další ztrátové metody

[editovat | editovat zdroj]

Novější ztrátové kompresní metody, zvláště vlnková komprese, dávají ještě lepší výsledky. Nicméně JPEG je velmi dobře zavedený standard, s nímž je schopno pracovat mnoho aplikací. Mnoho vlnkových algoritmů je navíc patentováno, takže je obtížné nebo nemožné používat je v mnoha softwarových projektech. Komise JPEG vytvořila vlastní standard na bázi vlnek zvaný JPEG 2000, od kterého se očekávalo, že nahradí originální standard JPEG, což se však nakonec nestalo. Další neúspěšný pokus byla „Wavelet image compression“ od „M software“. Poslední nápad pro náhradu JPEG je použití algoritmu z video kodeku Dirac [dirak].

Komise JPEG vyvinula i několik dalších formátů. JPEG-LS (ISO/IEC 14495-1, ITU-T T.87) z roku 1998 nabízí jednodušší a účinnější bezztrátovou a téměř bezztrátovou kompresi, než jakou má původní bezztrátový režim JPEG.[10] Formát JPEG XT (ISO/IEC 18477) z roku 2015 rozšiřuje původní JPEG o vyšší bitovou hloubku (9 až 16 bitů), kompresi s vysokým dynamickým rozsahem (HDR) a alfa kanál, přičemž zůstává zpětně kompatibilní se soubory JFIF.[11] Nejnovějším nástupcem je JPEG XL (ISO/IEC 18181), publikovaný v letech 2021–2022, který kromě vlastní pokročilejší komprese (včetně vysokého dynamického rozsahu a animací) umožňuje také bezztrátově převést stávající soubory JPEG do nového formátu a zpět.[12]

Implementace

[editovat | editovat zdroj]

Významnou implementací kodeku JPEG je svobodná knihovna libjpeg od Independent JPEG Group, poprvé vydaná v roce 1991 a použitá v bezpočtu aplikací.[13] Z ní později vznikla knihovna libjpeg-turbo, která výkon zvyšuje pomocí instrukcí SIMD a v roce 2019 se stala referenční implementací standardu jako ISO/IEC 10918-7 a ITU-T T.873.[14] Součástí knihovny libjpeg je i nástroj příkazové řádky jpegtran, který umožňuje některé úpravy souboru JPEG – například oříznutí nebo otočení o násobky 90° – provést bezztrátově, tedy bez opětovné komprese a s ní spojené ztráty kvality obrazu.[15] V dubnu 2024 představil Google knihovnu Jpegli, která při rychlosti srovnatelné s kodérem MozJPEG zlepšuje kompresní poměr při vysoké kvalitě obrazu až o 35 %.[16]

  1. 1 2 T.81 : Information technology – Digital compression and coding of continuous-tone still images – Requirements and guidelines [online]. International Telecommunication Union, 1992-09 [cit. 2026-08-05]. Dostupné online. (anglicky)
  2. Vše, co potřebujete vědět o souborech JPEG | Adobe. www.adobe.com [online]. [cit. 2024-09-21]. Dostupné online.
  3. 1 2 3 HUDSON, Graham; LÉGER, Alain; NISS, Birger. JPEG-1 standard 25 years: past, present, and future reasons for a success. Journal of Electronic Imaging. 2018-08-31, roč. 27, čís. 4, s. 1. Dostupné online [cit. 2026-08-05]. ISSN 1017-9909. doi:10.1117/1.JEI.27.4.040901. (anglicky)
  4. BARANIUK, Chris. JPeg lockdown: Restriction options sought by committee. BBC News [online]. 2015-10-15 [cit. 2026-08-05]. Dostupné online. (anglicky)
  5. JPEG: 25 Jahre und kein bisschen alt. heise online [online]. 2016-10-07 [cit. 2024-09-21]. Dostupné online. (německy)
  6. KAUR, Rajandeep. A Review of Image Compression Techniques. International Journal of Computer Applications. 2016-05, roč. 142, čís. 1, s. 8–11. Dostupné online [cit. 2026-08-05]. doi:10.5120/ijca2016909658. (anglicky)
  7. AHMED, Nasir; NATARAJAN, T.; RAO, K. R. Discrete Cosine Transform. IEEE Transactions on Computers. 1974-01, roč. C-23, čís. 1, s. 90–93. doi:10.1109/T-C.1974.223784. (anglicky)
  8. 1 2 3 LEMOS, Robert. Finding patent truth in JPEG claim. CNET [online]. 2002-07-23 [cit. 2026-08-05]. Dostupné online. (anglicky)
  9. Concerning recent patent claims [online]. Joint Photographic Experts Group, 2002-07-19 [cit. 2026-08-05]. Dostupné v archivu pořízeném z originálu dne 2007-07-14. (anglicky)
  10. T.87 : Information technology – Lossless and near-lossless compression of continuous-tone still images – Baseline [online]. International Telecommunication Union, 1998-06 [cit. 2026-08-05]. Dostupné online. (anglicky)
  11. JPEG - JPEG XT [online]. Joint Photographic Experts Group [cit. 2026-08-05]. Dostupné online. (anglicky)
  12. JPEG - JPEG XL [online]. Joint Photographic Experts Group [cit. 2026-08-05]. Dostupné online. (anglicky)
  13. Overview of JPEG 1 [online]. Joint Photographic Experts Group [cit. 2026-08-05]. Dostupné online. (anglicky)
  14. ISO/IEC 10918-7:2023 Information technology — Digital compression and coding of continuous-tone still images — Part 7: Reference software [online]. International Organization for Standardization [cit. 2026-08-05]. Dostupné online. (anglicky)
  15. LANE, Tom. JPEG image compression FAQ [online]. 1999-03-29 [cit. 2026-08-05]. Dostupné v archivu pořízeném z originálu dne 2010-11-10. (anglicky)
  16. Introducing Jpegli: A New JPEG Coding Library [online]. Google Open Source, 2024-04-03 [cit. 2026-08-05]. Dostupné online. (anglicky)

Související články

[editovat | editovat zdroj]

Externí odkazy

[editovat | editovat zdroj]