Compresie Wavelet

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 26 septembrie 2018; verificările necesită 2 modificări .

Compresia wavelet este un nume general pentru o clasă de metode de codificare a imaginilor care utilizează o descompunere wavelet  bidimensională a unei imagini codificate sau a părților acesteia. De obicei înseamnă compresie cu pierderi.

Un rol esențial în algoritmii de compresie wavelet îl joacă conceptul de reprezentare a rezultatelor descompunerii wavelet sub forma unui arbore zero .

Planurile de biți ale coeficienților de descompunere a waveletului ordonați în arborele nul sunt îngroșate și codificate în continuare folosind metode de compresie statistică.

Esența metodei

Compresia wavelet în algoritmii moderni de compresie a imaginilor poate crește semnificativ raportul de compresie al imaginilor alb-negru și color cu o calitate vizuală comparabilă în comparație cu algoritmii din generația anterioară bazați pe transformarea cosinus discretă , cum ar fi JPEG .

Pentru a lucra cu imagini discrete, se folosește o variantă a transformării wavelet, cunoscută sub numele de algoritmul Mall , numit după inventatorul său Stephane Mallat ( franceză:  Stephane Mallat ). Imaginea originală este descompusă în două componente - detalii de înaltă frecvență (constând în principal din schimbări bruște ale luminozității) și o versiune redusă netezită a originalului. Acest lucru se realizează prin aplicarea unei perechi de filtre, fiecare dintre componentele rezultate având jumătate din dimensiunea imaginii originale. De obicei, se folosesc filtre de răspuns la impuls finit, în care pixelii care se încadrează într-o „fereastră” mică sunt înmulțiți cu un set dat de coeficienți, valorile rezultate sunt însumate și fereastra este deplasată pentru a calcula următoarea valoare de ieșire. Există o relație strânsă între wavelets și filtre. Waveletele nu apar direct în algoritmi, dar dacă repeți filtrele corespunzătoare pe imagini formate dintr-un singur punct luminos, atunci waveletele vor apărea din ce în ce mai clar la ieșire.

Deoarece imaginile sunt bidimensionale, filtrarea se realizează atât pe verticală, cât și pe orizontală. Acest proces se repetă de mai multe ori, utilizând de fiecare dată versiunea netezită de la pasul anterior ca intrare. Deoarece imaginile de „detalii” constau de obicei dintr-un set de margini ascuțite și conțin zone mari în care intensitatea este aproape de zero. Dacă este permisă neglijarea unui anumit număr de detalii mici, atunci toate aceste valori pot fi pur și simplu resetate la zero. Rezultatul este o versiune foarte compresibilă a imaginii originale. Algoritmul lui Mull este din nou folosit pentru a restaura originalul, dar cu o pereche de filtre inverse cu cele originale.

Algoritmul JPEG , spre deosebire de algoritmul wavelet, comprimă fiecare bloc al imaginii originale în mod individual, cu dimensiunea de 8 pe 8 pixeli. Ca rezultat, la rapoarte de compresie ridicate, o structură blocată poate fi văzută în imaginea reconstruită. La compresia wavelet, această problemă nu apare, dar pot apărea distorsiuni de alt tip, având forma unor ondulații „fantomatice” în apropierea marginilor ascuțite. Se crede că astfel de artefacte, în medie, sunt mai puțin frapante pentru observator decât „pătratele” create de JPEG.

Biroul Federal de Investigații ( FBI ), SUA , a introdus un standard pentru compresia wavelet a imaginilor cu amprentă. Cu toate acestea, libertatea de a alege filtre poate fi foarte utilă în problema compresiei: algoritmii bazați pe principiul „cea mai bună bază” selectează filtrul optim pentru secțiunile individuale ale imaginii, iar algoritmii care utilizează pachete wavelet realizează reprezentarea eficientă a detaliilor prin variarea filtrării. adâncime în diferite zone...

Comprimarea secvențelor video

O altă problemă este cum să utilizați în mod eficient similaritatea cadrelor consecutive atunci când comprimați videoclipul . Algoritmii timpurii, cum ar fi Motion JPEG , au ignorat acest factor și au comprimat cadrele individual. MPEG folosește un algoritm de comparare a blocurilor care încearcă să evidențieze zonele care s-au schimbat în timpul unei schimbări de cadru. Blocurile care nu s-au schimbat nu pot fi salvate. În a treia abordare, convenabilă pentru compresia wavelet, timpul este considerat a treia dimensiune a setului de date, la care se aplică algoritmul lui Mull . Absența deplasărilor se manifestă prin repunerea la zero a detaliilor corespunzătoare în direcția timpului. În cele din urmă, trebuie remarcat faptul că transformarea wavelet în sine nu comprimă nimic. Preprocesează doar imaginea, după care eficiența metodelor convenționale de compresie crește dramatic, chiar și atunci când se folosesc algoritmi și programe universale (cum ar fi LZW și PKZIP ) care nu sunt adaptate unei anumite sarcini. Cu toate acestea, utilizarea metodelor de codare care iau în considerare structura transformării wavelet poate crește semnificativ gradul de compresie. Una dintre metodele utilizate pe scară largă de acest tip este metoda de compresie zero-tree .  Se bazează pe presupunerea că, dacă o zonă a imaginii nu conține informații non-triviale la un anumit nivel de rezoluție, atunci este foarte probabil ca aceasta să nu fie informativă la un nivel de rezoluție mai fin. Transformarea wavelet a unei imagini poate fi stocată ca un arbore, a cărui rădăcină este o versiune foarte netezită a originalului, iar ramurile reprezentând blocuri individuale sunt tăiate la un nivel în care procesarea ulterioară nu oferă un rafinament vizibil. Un astfel de arbore poate fi comprimat cu succes prin metode convenționale, cum ar fi codarea aritmetică , care sunt utilizate în aproape toți algoritmii de compresie.

Implementări

Cel mai cunoscut algoritm de compresie wavelet este JPEG 2000 . Compresia wavelet este de asemenea folosită la codificarea în format DjVu . Există, de asemenea, mulți algoritmi nestandardizați pentru codificarea imaginilor și secvențelor video bazate pe compresia wavelet și destinate aplicațiilor specializate. De exemplu, unii dintre cei mai faimoși algoritmi utilizați în sistemele de supraveghere video sunt Motion Wavelet și 3D Wavelet .

Exemple de compresie wavelet:

Link -uri