V numerické a funkční analýze se diskrétní vlnkové transformace (DWT) týkají vlnkových transformací, ve kterých jsou vlnky reprezentovány diskrétními signály (vzorky).
První DWT byl koncipován maďarským matematikem Alfredem Haarem . Pro vstupní signál reprezentovaný polem čísel 2n Haarova vlnková transformace jednoduše seskupuje prvky po 2 a sčítá a liší se od nich. Seskupování součtů se provádí rekurzivně za účelem vytvoření další úrovně rozkladu. Výsledkem je 2 n −1 rozdílu a 1 celkový součet.
Tento jednoduchý DWT ilustruje obecné užitečné vlastnosti vlnek. Za prvé, transformace může být provedena v operacích. Za druhé, nejenže rozkládá signál na nějaké zdání frekvenčních pásem (analýzou na různých měřítcích), ale také představuje časovou doménu, tedy okamžiky výskytu určitých frekvencí v signálu. Společně tyto vlastnosti charakterizují rychlou vlnkovou transformaci, možnou alternativu k obvyklé rychlé Fourierově transformaci . Při akceptování podmínky náhodnosti signálu X je spektrální hustota jeho amplitud Y vypočtena na základě Yatesova algoritmu: matice Y =matrix(± X ), platí i reverzní matice X =matrix(± Y ) .
Nejběžnější sadu diskrétních vlnkových transformací formulovala belgická matematička Ingrid Daubechies v roce 1988. Je založena na využití rekurentních vztahů k výpočtu stále přesnějších vzorků implicitně dané mateřské vlnkové funkce se zdvojnásobením rozlišení při přechodu na další úroveň (škálu). Ve své klíčové práci Daubechies odvozuje rodinu vlnek, z nichž první je vlnka Haar. Od té doby zájem o tuto oblast rychle vzrostl, což vedlo k vytvoření četných potomků původní rodiny vlnek Daubechies.
Mezi další formy diskrétní vlnkové transformace patří nedecimovaná vlnková transformace (kde se neprovádí decimace signálu), Newlandova transformace (kde je ortonormální vlnková báze odvozena ze speciálně konstruovaných filtrů typu „top-hat“ ve frekvenční doméně). Paketové vlnkové transformace také souvisí s DWT. Další formou DWT je komplexní vlnková transformace.
Diskrétní vlnková transformace má mnoho aplikací v přírodních vědách, inženýrství a matematice (včetně aplikovaných). DWT se nejvíce používá v kódování signálů, kde se vlastnosti transformace používají ke snížení redundance při reprezentaci diskrétních signálů, často jako první krok při kompresi dat.
DWP signálu se získá aplikací sady filtrů. Nejprve signál prochází dolní propustí (dolní propust) s impulsní odezvou a získá se konvoluce :
Zároveň je signál rozložen pomocí horní propusti (horní propusti) . Výsledkem jsou podrobné koeficienty (za horní propustí) a aproximační koeficienty (za dolní propustí). Tyto dva filtry spolu souvisí a nazývají se kvadraturní zrcadlové filtry (QMF).
Vzhledem k tomu, že polovina frekvenčního rozsahu signálu byla filtrována, lze podle Kotelnikovovy věty počet signálů ztenčit 2krát:
Toto rozšíření snížilo časové rozlišení na polovinu kvůli decimaci signálu. Každý z výsledných signálů však představuje polovinu frekvenčního pásma původního signálu, takže frekvenční rozlišení je dvojnásobné.
Pomocí operátoru probírky
výše uvedené součty lze psát kratší:
Počítání úplné konvoluce s následným ztenčováním je plýtváním výpočetními zdroji.
Schéma zdvihu je optimalizace založená na střídání těchto dvou výpočtů.
Tento rozklad lze několikrát opakovat pro další zvýšení frekvenčního rozlišení s dalším decimováním koeficientů po filtraci dolní a horní propusti. To lze znázornit jako binární strom, kde listy a uzly odpovídají prostorům s různou časově-frekvenční lokalizací. Tento strom představuje strukturu banky (hřebenu) filtrů .
Na každé úrovni výše uvedeného diagramu je signál rozložen na nízké a vysoké frekvence. Kvůli dvojité decimaci musí být délka signálu násobkem , kde je počet úrovní rozkladu.
Například pro 32vzorkový signál s frekvenčním rozsahem 0 až 3 úrovně poskytne rozšíření 4 výstupy v různých měřítcích:
Úroveň | Frekvence | Délka signálu |
---|---|---|
3 | … | čtyři |
… | čtyři | |
2 | … | osm |
jeden | … | 16 |
Příklad rychlé jednorozměrné vlnkové transformace pomocí Haarovy vlnky pro pole počátečních dat o velikosti 2 N (počet stupňů filtru je N) v C#:
public static List < Double > DirectTransform ( List < Double > SourceList ) { if ( SourceList . Count == 1 ) return SourceList ; List < Double > RetVal = new List < Double >(); Seznam < Double > TmpArr = new List < Double >(); for ( int j = 0 ; j < SourceList . Počet - 1 ; j += 2 ) { RetVal . Přidat (( SourceList [ j ] - SourceList [ j + 1 ]) / 2.0 ); TmpArr . Přidat (( SourceList [ j ] + SourceList [ j + 1 ]) / 2.0 ); } RetVal . AddRange ( DirectTransform ( TmpArr )); return RetVal ; }Podobně příklad inverzní vlnkové transformace:
public static List < Double > InverseTransform ( List < Double > SourceList ) { if ( SourceList . Count == 1 ) return SourceList ; List < Double > RetVal = new List < Double >(); Seznam < Double > TmpPart = new List < Double >(); for ( int i = SourceList . Count / 2 ; i < SourceList . Count ; i ++ ) TmpPart . Přidat ( SourceList [ i ]); Seznam < Double > SecondPart = InverseTransform ( TmpPart ); for ( int i = 0 ; i < SourceList . Počet / 2 ; i ++ ) { RetVal . Přidat ( Druhá část [ i ] + Zdrojový seznam [ i ]); RetVal . Přidat ( SecondPart [ i ] - SourceList [ i ]); } return RetVal ; }
Při vývoji nového standardu JPEG-2000 byla pro kompresi obrazu zvolena vlnková transformace. Samotná vlnková transformace data nekomprimuje, ale umožňuje transformaci vstupního obrazu takovým způsobem, že lze snížit jeho redundanci bez znatelného zhoršení kvality obrazu.
Kompresní metody | |||||||
---|---|---|---|---|---|---|---|
Teorie |
| ||||||
Bezztrátový |
| ||||||
Zvuk |
| ||||||
snímky |
| ||||||
Video |
|