Komprese JPEG – applet

Formát JPEG je standardem v kompresi obrazu. Tento applet ukazuje jednotlivé fáze procesu kódování i dekódování.

Ovládání

Posuvníkem si můžete zvolit kvalitu komprimovaného obrazu. Červený čtverec v obrazech značí vybraný blok, který se v jednotlivých fázích zpracovává.

Jednotlivé kroky komprese JPEG

Transformace barev

Obrázek je ze svého výchozího barevného modelu (obvykle RGB) transformován do modelu YCbCr. S jasovou složkou Y je pak zacházeno odlišně od dvou chromatických složek Cb a Cr.

Redukce barev (podvzorkování)

V tomto kroku redukujeme barevnou informací že každému superpixelu 2x2 je přiřazena průměrná barva jeho čtyř pixelů (tzv. vzorkování 4:2:0). Tím je dosaženo 50% úspory.

Dopředná DCT

Jasová složka obrazu je rozdělena na bloky o velikosti 8×8 pixelů a tyto bloky jsou pak zpracovávány samostaně. Každý blok je pak samostatně podroben dvojrozměrné dopředné diskrétní kosinové transformaci (DCT). Výsledkem je pak jeden DC člen a 63 AC členů. Bloky pro barevnou infromaci jsou 8×8 superpixelů, tzn. ve skutečnosti odpovídají 16×16 pixelům.

Kvantizace DCT

Jednotlivé koeficienty jsou vyděleny tzv. kvantizační maticí a zaokrouhleny na celá čísla. Kvantizační matice odpovídá míře nastavení „kvality“ komprese. Tyto matice jsou definovány komisí JPEG nebo si je uživatel může definovat ručně. Kvantizační matice bývají různé pro jasovou a pro barevné složky.

Kódování

Jednotlivé AC složky jsou seřazeny tzv. cikcak a za ně je umístěna speciální značka EOB (end of block). Tyto hodnoty se zakódují pomocí metody RLE (run-length encoding). To je již bezeztrátová komperese. Poté jsou tato čísla zakódovány znovu podle Huffmanovy tabulky. DC členy se kódují zvlášť a to diferenčně.

Dekódování

Dekódování pak probíhá v opačném pořadí. Jednotlivé koeficienty DCT transformace se dekódují z Huffmanových tabulek a z RLE kódování. Tyto hodnoty se pronásobí danou kvantizační matici. Proběhne zpětná DCT všech tří složek. Dále se nadvzorkují barevné složky a nakonec se provede převod z modelu YCbCr do požadovaného barevného modelu.

Blokové artefakty

Častým jevem při vysoké kompresi jsou tzv. blokové artefakty. Ty vznikají díky tomu, že jsou jednotlivé bloky 8×8 hodnot zpracovávány nezávisle na sobě. Pokud tedy v obraze na pomezí bloků je např. pozvolný barevný přechod, ne vždy je správně rekonstruován.


(c) 2012–2013 Zdeněk Průša, Pavel Rajmic, Jan Špiřík, Ústav telekomunikací, FEKT, VUT v Brně