Ztrátová komprese obrázků JPG
Formát JFIF (JPEG File Interchange format) sekvenční, nejpoužívanější progresivní, poněkud více náročné na paměť, určeno pro přenos obrázků po síti bezeztrátový, není příliš známé ani používané/podporované hierarchický,mnoho rozlišení v jednom snímku, rychlé náhledy
Sekvenční kódování JPG
Posloupnost operací
Úprava barevného modelu RGB → Y Cb Cr Y= 0,299*R + 0,587*G + 0,114*B (jas) Cb = - 0,1687*R - 0,3313*G + 0,5*B + 128 Cr = 0,5*R - 0,4187*G - 0,0813*B + 128 R = Y + 1.402*(Cr-128) G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128) B = Y + 1.772*(Cb-128)
Podvzorkování složek Cb,Cr Spočítá se průměr hodnot pro blok 2x1 pixelů (6ti bitový vzor/sample), 6 bitů -> 4 bity (komprese na 67%) nebo 2x2 pixely (12ti bitový vzor/sample), 12 bitů -> 6 bitů (komprese na 50%)
DCT transformace
DCT (dopředná kosinová transformace) Pro blok 8x8 pixelů
Příklad 139 144 149 153 155 155 155 155 144 151 153 156 159 156 156 156 150 155 160 163 158 156 156 156 159 161 162 160 160 159 159 159 159 160 161 162 162 155 155 155 161 161 161 161 160 157 157 157 162 162 161 163 162 157 157 157 162 162 161 161 163 158 158 158
Koeficienty po DCT AC koeficient (= 8 násobek průměrné hodnoty jasu
Kvantizační matice – příklad (matice pro jas pro „kvalitu“ 90%)
Kvantizační matice . Zvlášť pro jas a pro barevné složky. Stanoveny standardizační komisí JPEG . Zvlášť pro jas a pro barevné složky. Stanoveny matice pro kvalitu komprese 10% a 90%. Pro ostatní hodnoty kvality se dopočítají lineární interpolací. Pro hodnoty kvality pod 10% a nad 90% se jejich použití nedoporučuje.
Koeficienty po kvantizaci
AC koeficienty Ukládají se zvlášť Nekomprimují se Mohou sloužit pro rychlý náhled na obrázek ve stupních šedi (AC koeficienty pro jas, 8x zmenšený obrázek) Nebo pro plnobarevný náhled (zmenšení 16x8, nebo 16x16).
Huffmanovo kódování
Příklad 0, -2, -1, -1, -1, 0, 0, -1, -1
Rekonstruovaná tabulka DCT koeficientů
Po inverzní DCT transformaci
Rozdílová tabulka
Příklad Původní obrázek 280kB Kvalita 100%, 65kB Kvalita 2%, 13kB