Wavelet kompression

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 26. september 2018; checks kræver 2 redigeringer .

Wavelet-komprimering  er et generelt navn for en klasse af billedkodningsmetoder, der bruger en todimensionel wavelet - nedbrydning af et kodet billede eller dets dele. Det betyder normalt tabsgivende kompression.

En væsentlig rolle i wavelet-komprimeringsalgoritmer spilles af konceptet med at repræsentere resultaterne af wavelet-nedbrydning i form af et nul -træ .

Bitplanerne for wavelet-nedbrydningskoefficienterne, der er bestilt i nultræet, gøres grovere og kodes yderligere ved hjælp af statistiske komprimeringsmetoder.

Essensen af ​​metoden

Wavelet-komprimering i moderne billedkomprimeringsalgoritmer kan markant øge komprimeringsforholdet for sort-hvide og farvebilleder med sammenlignelig visuel kvalitet sammenlignet med tidligere generations algoritmer baseret på diskret cosinustransformation , såsom JPEG .

For at arbejde med diskrete billeder bruges en variant af wavelet-transformationen, kendt som Mall-algoritmen , opkaldt efter dens opfinder Stephane Mallat ( fransk:  Stephane Mallat ). Det originale billede er opdelt i to komponenter - højfrekvente detaljer (bestående hovedsageligt af skarpe ændringer i lysstyrken) og en udjævnet reduceret version af originalen. Dette opnås ved at anvende et par filtre, hvor hver af de resulterende komponenter er halvt så store som det originale billede. Typisk bruges endelige impulsresponsfiltre, hvor de pixels, der falder inden for et lille "vindue", multipliceres med et givet sæt koefficienter, de resulterende værdier summeres, og vinduet forskydes for at beregne den næste outputværdi. Der er et tæt forhold mellem wavelets og filtre. Wavelets optræder ikke direkte i algoritmerne, men hvis du itererer de tilsvarende filtre på billeder, der består af et enkelt lyspunkt, så vil wavelets fremstå mere og mere tydeligt ved outputtet.

Da billederne er todimensionelle, udføres filtreringen både lodret og vandret. Denne proces gentages mange gange, hver gang med den udjævnede version fra det foregående trin som input. Da billederne af "detaljer" normalt består af et sæt skarpe kanter og indeholder store områder, hvor intensiteten er tæt på nul. Hvis det er tilladt at forsømme et vist antal små detaljer, kan alle disse værdier simpelthen nulstilles. Resultatet er en meget komprimerbar version af det originale billede. Mulls algoritme bruges igen til at gendanne originalen, men med et par filtre omvendt til de originale.

JPEG - algoritmen komprimerer i modsætning til wavelet-algoritmen hver blok af det originale billede individuelt, 8 gange 8 pixels i størrelse. Som et resultat kan der ved høje kompressionsforhold ses en blokeret struktur i det rekonstruerede billede. Med wavelet-komprimering opstår dette problem ikke, men der kan forekomme forvrængninger af en anden type i form af "spøgelsesagtige" krusninger nær skarpe kanter. Det menes, at sådanne artefakter i gennemsnit er mindre iøjnefaldende for iagttageren end "firkanterne" skabt af JPEG.

Federal Bureau of Investigation ( FBI ), USA , har indført en standard for wavelet-komprimering af fingeraftryksbilleder. Friheden til at vælge filtre kan dog være meget nyttig i komprimeringsproblemet: Algoritmer baseret på "bedste grundlag"-princippet vælger det optimale filter til individuelle sektioner af billedet, og algoritmer ved hjælp af wavelet-pakker opnår en effektiv repræsentation af detaljer ved at variere filtreringen dybde i forskellige sektioner. .

Komprimering af videosekvenser

Et andet problem er, hvordan man effektivt kan bruge ligheden mellem på hinanden følgende billeder, når man komprimerer video . Tidlige algoritmer som Motion JPEG ignorerede denne faktor og komprimerede billeder individuelt. MPEG bruger en bloksammenligningsalgoritme, der forsøger at fremhæve områder, der er ændret under et billedskift. Blokke, der ikke er ændret, kan ikke gemmes. I den tredje tilgang, der er praktisk til wavelet-komprimering, betragtes tid som den tredje dimension af datasættet, som Mulls algoritme anvendes på . Fraværet af forskydninger manifesteres i nulstillingen af ​​de tilsvarende detaljer i tidsretningen. Endelig skal det bemærkes, at selve wavelet-transformationen ikke komprimerer noget. Den forbehandler kun billedet, hvorefter effektiviteten af ​​konventionelle komprimeringsmetoder øges dramatisk, selv ved brug af universelle algoritmer og programmer (såsom LZW og PKZIP ), der ikke er tilpasset en specifik opgave. Brugen af ​​kodningsmetoder, der tager højde for strukturen af ​​wavelet-transformationen, kan dog øge kompressionsgraden betydeligt. En af de meget anvendte metoder af denne type er nul -træ-komprimeringsmetoden .  Det er baseret på den antagelse, at hvis et område af billedet ikke indeholder ikke-trivielle oplysninger på et eller andet opløsningsniveau, så er det højst sandsynligt, at det ikke vil være informativt på et finere opløsningsniveau. Wavelet-transformationen af ​​et billede kan lagres som et træ, hvis rod er en meget udjævnet version af originalen, og grenene, der repræsenterer individuelle blokke, afskæres på et niveau, hvor yderligere behandling ikke giver en mærkbar forfining. Et sådant træ kan med succes komprimeres ved hjælp af konventionelle metoder såsom aritmetisk kodning, som bruges i næsten alle komprimeringsalgoritmer.

Implementeringer

Den mest kendte wavelet-komprimeringsalgoritme er JPEG 2000 . Wavelet-komprimering bruges også ved kodning til DjVu -format . Der er også mange ikke-standardiserede algoritmer til kodning af billeder og videosekvenser baseret på wavelet-komprimering og beregnet til specialiserede applikationer. For eksempel er nogle af de mest berømte algoritmer, der bruges i videoovervågningssystemer, Motion Wavelet og 3D Wavelet .

Eksempler på Wavelet-komprimering:

Links