JPEG
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, event. tato jména psána velkými písmeny.
Přípona souboru | .jpg, .jpeg, .jpe |
---|---|
Typ internetového média | image/jpeg |
Type code | JPEG |
Uniform Type Identifier | public.jpeg |
Magické číslo | ff d8 |
Tvůrce | Joint Photographic Experts Group |
Otevřený formát | ano |
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.
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. 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.
Ukázka postupu JPEG kodeku
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ů:
- Obrázek je převeden do barevného modelu YCbCr. Jednotlivé složky (jasové a chrominační) jsou pak zpracovávány samostatně.
- Snížení přesnosti informací o barvě (podvzorkování barvonosných složek).
- 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. - 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á.
- 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í.
- 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ý:
- Nejdříve proběhne dekomprese použitých bezeztrátových metod.
- Prvky bloku 8×8 jsou vynásobeny příslušnými prvky kvantizační matice.
- Z toho se následně vypočítá inverzní 2D DCT(2D IDCT).
- Sloučit bloky jednotlivých složek do matic, které přísluší jednotlivým složkám obrazu.
- 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.
- Barevná transformace YCbCr například na RGB.
Použití
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
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].
Odkazy
Reference
Související články
Externí odkazy
- Obrázky, zvuky či videa k tématu JPEG na Wikimedia Commons
- Slovníkové heslo JPEG ve Wikislovníku
- (anglicky) Oficiální stránky formátu JPEG
- (česky) JPEG – král rastrových grafických formátů? na root.cz