Kalábovi

Kalábovic wikina

Uživatelské nástroje

Nástroje pro tento web


msz:komprese_obrazu

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
msz:komprese_obrazu [02. 06. 2012, 10.11:49] – [JPEG] pic pitelmsz:komprese_obrazu [08. 10. 2026, 23.00:43] (aktuální) – odstraněno - upraveno mimo DokuWiki (Neznámé datum) 127.0.0.1
Řádek 1: Řádek 1:
-====== Komprese obrazu ====== 
-Motivace: snaha o zmenšení velikosti souborů např. pro přenos po síti, archivaci apod. 
  
-===== Základní přístupy ke kompresi ===== 
-Nejprve je potřeba zvolit v jaké oblasti chceme komprimovat: 
-  * Prostorová – statické obrázky (RGB, YCbCr) 
-  * Frekvenční – statické obrázky (FFT, DCT, DWT) 
-  * Časová – video 
- 
-  * Ztrátová – využívají se znalosti o lidském oku, které nejvíce vnímá jasu než barvu. 
-  * Bezstrátová – algoritmy pro kódovaní běžných dat (RLE, Huffman, deflate, LZ77). 
- 
-===== Základní kompresní algoritmy ===== 
-==== JPEG ==== 
-{{  http://upload.wikimedia.org/wikipedia/commons/e/e9/Felis_silvestris_silvestris_small_gradual_decrease_of_quality.png?300}} 
-[[wp>JPEG]] 
-  - Obrázek je převeden do barevného modelu [[wp>YCbCr]] (kódování RGB, kde Y je komponenta luminace a Cb s Cr jsou modrý a červený chrominanční komponent 
-  - Jelikož oko vnímá více jas než barvy, Cb a Cr můžeme podvzorkovat = snížit přesnost informací o barvě (Chroma Subsampling) 
-  - Celý obrázek je rozdělen do bloků o velikosti 8 × 8 pixelů. A pro každou ze složek (Y, Cb a Cr) se provede Diskrétní cosinová transformace (DCT). DCT je dvourozměrnou obdobou Fourierovy transformace. Blok 8 × 8 se tak vyjádří jako složení signálů o různé frekvenci. 
-  - 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 (nízké frekvence). 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 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. 
-  - Data bloků se dále v zig-zag pořadí komprimují bezeztrátově nejprve pomocí [[wp>Run-length encoding]] (RLE) a pak [[wp>Huffman coding|Huffmanovým kódováním]] nebo pomocí [[wp>Arithmetic coding|Aritmetického kódování]]. 
- 
-Dekódování probíhá inverzně (problém kostičkování). 
- 
-JPEG komprese dosahuje kompresních poměrů od 10:1–20:1 (high) až po 60:1 – 100:1 (low). 
-==== GIF ==== 
-Používá [[wp>Lempel–Ziv–Welch]] algoritmus: 
-  - Inicializuj slovník na všechny řetězce dlouhé jeden znak. 
-  - Najdi nejdelší možný řetězec ve slovníku, který odpovídá aktuálnímu vstupu. 
-  - Zakóduj řetězec indexem ze slovníku. 
-  - Přidej řetězec + následující znak ze vstupu do slovníku. 
-  - Běž na krok 2. 
- 
-Typický kompresní poměr je 4:1–10:1. 
- 
-==== PNG ==== 
-[[wp>Portable Network Graphics]] 
- 
-PNG používá dvoustupňovou bezeztrátovou kompresi: 
-  - Před samotnou kompresí se snaží objevit běžné vzory (např. barevné pruhy, gradienty). Tento krok se nazývá filtering. 
-  - Komprese – PNG ke kompresi používá metodu [[wp>DEFLATE]], což je kombinace algoritmu [[wp>LZ77 and LZ78|LZ77]] a Huffmanova kódování. 
- 
-Kompresní poměr typicky o 10–30 % lepší než GIF. 
/var/www/wiki/data/attic/msz/komprese_obrazu.1338631909.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)