Waveletová komprese je obecný název pro třídu metod kódování obrazu, které využívají dvourozměrný vlnkový rozklad zakódovaného obrazu nebo jeho částí. Obvykle to znamená ztrátovou kompresi.
Zásadní roli ve vlnkových kompresních algoritmech hraje koncept reprezentace výsledků vlnkového rozkladu ve formě nulového stromu .
Bitové roviny koeficientů rozkladu vlnek uspořádaných v nulovém stromu jsou zhrubnuty a dále kódovány pomocí metod statistické komprese.
Waveletová komprese v moderních algoritmech komprese obrazu může výrazně zvýšit kompresní poměr černobílých a barevných obrazů se srovnatelnou vizuální kvalitou ve srovnání s předchozí generací algoritmů založených na diskrétní kosinové transformaci , jako je JPEG .
Pro práci s diskrétními obrázky se používá varianta vlnkové transformace, známá jako Mall algorithm , pojmenovaná po svém vynálezci Stephane Mallatovi ( francouzsky Stephane Mallat ). Původní obraz je rozložen na dvě složky – vysokofrekvenční detaily (skládající se především z prudkých změn jasu) a vyhlazenou zmenšenou verzi předlohy. Toho je dosaženo aplikací dvojice filtrů, přičemž každá z výsledných složek má poloviční velikost než původní obrázek. Obvykle se používají filtry s konečnou impulsní odezvou, ve kterých se pixely, které spadají do malého „okna“, vynásobí danou sadou koeficientů, výsledné hodnoty se sečtou a okno se posune pro výpočet další výstupní hodnoty. Mezi vlnkami a filtry existuje úzký vztah. Vlnky se v algoritmech přímo neobjevují, ale pokud iterujete odpovídající filtry na snímcích skládajících se z jednoho jasného bodu, pak se na výstupu budou vlnky objevovat stále jasněji.
Protože jsou obrázky dvourozměrné, filtrování se provádí jak vertikálně, tak horizontálně. Tento proces se mnohokrát opakuje, pokaždé se jako vstup použije vyhlazená verze z předchozího kroku. Protože obrázky "detailů" se obvykle skládají ze sady ostrých hran a obsahují velké plochy, kde se intenzita blíží nule. Pokud je přípustné zanedbat určitý počet malých detailů, lze všechny tyto hodnoty jednoduše resetovat na nulu. Výsledkem je vysoce komprimovatelná verze původního obrázku. K obnovení originálu je opět použit Mullův algoritmus, ale s dvojicí inverzních filtrů k původním.
Algoritmus JPEG , na rozdíl od algoritmu wavelet, komprimuje každý blok původního obrázku jednotlivě o velikosti 8 x 8 pixelů. Výsledkem je, že při vysokých kompresních poměrech je na rekonstruovaném obrázku vidět bloková struktura. Při vlnkové kompresi tento problém nevzniká, ale mohou se objevit zkreslení jiného typu, které má podobu „duchového“ vlnění poblíž ostrých hran. Předpokládá se, že takové artefakty jsou v průměru pro pozorovatele méně nápadné než „čtverce“ vytvořené pomocí JPEG.
Federální úřad pro vyšetřování ( FBI ), USA , zavedl standard pro vlnkovou kompresi obrázků otisků prstů. Svoboda výběru filtrů však může být velmi užitečná v problému komprese: algoritmy založené na principu „nejlepšího základu“ vybírají optimální filtr pro jednotlivé části obrazu a algoritmy využívající vlnkové pakety dosahují efektivní reprezentace detailů změnou filtrace. hloubka v různých úsecích..
Dalším problémem je, jak efektivně využít podobnost po sobě jdoucích snímků při kompresi videa . Dřívější algoritmy jako Motion JPEG tento faktor ignorovaly a komprimovaly snímky jednotlivě. MPEG používá algoritmus porovnání bloků, který se snaží zvýraznit oblasti, které se změnily během změny rámce. Bloky, které se nezměnily, nelze uložit. Ve třetím přístupu, vhodném pro vlnkovou kompresi, je čas považován za třetí dimenzi datové sady, na kterou je aplikován Mullův algoritmus . Absence posunů se projevuje vynulováním odpovídajících detailů v časovém směru. Nakonec je třeba poznamenat, že samotná vlnková transformace nic nekomprimuje. Pouze předzpracuje obraz, po kterém se dramaticky zvýší účinnost konvenčních kompresních metod, a to i při použití univerzálních algoritmů a programů (jako LZW a PKZIP ), které nejsou přizpůsobeny konkrétnímu úkolu. Použití metod kódování, které berou v úvahu strukturu vlnkové transformace, však může výrazně zvýšit stupeň komprese. Jednou z široce používaných metod tohoto typu je metoda komprese nulového stromu . Vychází z předpokladu, že pokud některá oblast obrázku neobsahuje netriviální informace na určité úrovni rozlišení, pak je vysoce pravděpodobné, že nebude informativní na úrovni jemnějšího rozlišení. Waveletová transformace obrázku může být uložena jako strom, jehož kořen je vysoce vyhlazenou verzí originálu a větve představující jednotlivé bloky jsou odříznuty na úrovni, kde další zpracování nedává znatelné zjemnění. Takový strom lze úspěšně komprimovat konvenčními metodami, jako je aritmetické kódování, které se používá téměř ve všech kompresních algoritmech.
Nejznámější vlnkový kompresní algoritmus je JPEG 2000 . Waveletová komprese se také používá při kódování do formátu DjVu . Existuje také mnoho nestandardizovaných algoritmů pro kódování obrázků a video sekvencí založených na vlnkové kompresi a určených pro specializované aplikace. Například některé z nejznámějších algoritmů používaných ve video monitorovacích systémech jsou Motion Wavelet a 3D Wavelet .
Příklady komprese Wavelet:
Kompresní metody | |||||||
---|---|---|---|---|---|---|---|
Teorie |
| ||||||
Bezztrátový |
| ||||||
Zvuk |
| ||||||
snímky |
| ||||||
Video |
|