• [Dragon] Ati
    #35
    A JPEG tömörítés a képet RGB-ből YCC-be konvertálja, mert ebben a formában jobb tömörítés érhető el kisebb képi veszteség mellett. A kép két komponense 8x8as, míg a harmadik 16x16os négyzetekre van felosztva, ez utóbbit szintén 8x8ra kicsinyítik ezután (így az egyik komponens tömörítési aránya négyszerese lesz mint a másik kettőé, viszont erre a komponensre kevésbé érzékeny az emberi szem, tehát a veszteség is kevésbé látszik). A felosztást követően a blokkokon kétdimenziós diszkrét koszinusz transzformációt végeznek, mely a képrészletet frekvenciaösszetevőkre bontja (szintén 8x8as blokkok lesznek). Az eredményt egy kicsit átrendezve a 8x8as mátrixból egy nagyjából csökkenő számsorozatot kapunk, ezt könnyebb kvantálni, mint az eredeti dct mátrixot. A kvantálás után a kapott számsorozatot vagy Huffman, vagy aritmetikai kódolással tárolják.

    Matematikailag a JPEG tömörítésben egyedül a kvantálás az, ami a veszteséget okozza a tömörítésben, az összes többi lépés (eredetileg, mindent lebegőpontos műveletekkel végrehajtva) veszteségmentes.

    Ez a JPEG tömörítés talán legáltalánosabb formája (asszem ez a 4:1:1-es, színtranszformációval), azonban sokféle változat található, amelyek esetleg elhagyják a színátváltást, nem csak egy komponensnyi blokkot kicsinyítenek a negyedére, hanem többet és más arányokkal (pl.: 4:2:2, 4:2:1 vagy bármilyen más 4,2,1-esekkel leírható kombináció), ráadásul nem kötelező a három színcsatorna sem, asszem 1-4-ig bármennyi lehet (elvileg, bár gyakorlatban 1 vagy 3 szokott lenni /szürkeárnyalat vagy színes/).