Wavelet-transformatie voor dummies. Statistische discrete waveletanalyse

Dat is bekend willekeurig signaal, waarvoor aan de voorwaarde is voldaan kan worden weergegeven door een orthogonaal systeem van functies:

, (18)

coëfficiënten worden bepaald op basis van de relatie

,

Waar - kwadratische norm of energie van de basisfunctie. Reeks (18) wordt een gegeneraliseerde Fourierreeks genoemd. In dit geval vertegenwoordigen producten van de vorm , opgenomen in reeks (18), de spectrale dichtheid van het signaal, en vertegenwoordigen de coëfficiënten het spectrum van het signaal. De essentie van spectrale analyse van een signaal is het bepalen van de coëfficiënten. Als je deze coëfficiënten kent, is het mogelijk om (bij benadering) signalen te synthetiseren voor een vast aantal series:

.

Gegeneraliseerde Fourierreeks op gegeven systeem basisfuncties en het aantal termen, biedt het de beste synthese volgens het criterium van minimale gemiddelde kwadratische fout, wat wordt opgevat als de waarde

.

De bekende transformaties (Hadamard, Karhunen-Loeve, Fourier) vertegenwoordigen “slecht” het niet-stationaire signaal in de uitzettingscoëfficiënten. Laten we dit aantonen met het volgende voorbeeld. Laat een niet-stationaire functie gegeven worden

en zijn Fourier-transformatie (Fig. 9).

Analyse van afb. 9 laat zien dat de niet-stationariteit van het tijdsignaal wordt weergegeven door een groot aantal hoogfrequente coëfficiënten die verschillend zijn van nul. Dit levert de volgende problemen op:

Het is moeilijk om een ​​tijdsignaal te analyseren op basis van het Fourier-beeld;

Door er rekening mee te houden is een aanvaardbare benadering van het tijdsignaal mogelijk groot aantal hoge frequentiecoëfficiënten;

Slechte visuele kwaliteit van echte beelden gereconstrueerd op basis van laagfrequente coëfficiënten; enz.

Bestaande problemen hebben de ontwikkeling van een wiskundig apparaat voor het omzetten van niet-stationaire signalen noodzakelijk gemaakt. Een van mogelijke manieren De analyse van dergelijke signalen is de wavelettransformatie (WT) geworden.

Rijst. 9. Fourier-transformatie van een sinusoïdaal signaal met kleine stappen bij het overschrijden van nul

De VP van een eendimensionaal signaal is de representatie ervan in de vorm van een gegeneraliseerde Fourierreeks of een Fourier-integraal over een systeem van basisfuncties gelokaliseerd in zowel het ruimtelijke als het frequentiedomein. Een voorbeeld van een dergelijke basisfunctie is de Haar-wavelet, die wordt gedefinieerd door de uitdrukking

(20)

Grafisch wordt de Haar-golf als volgt weergegeven:

Rijst. 10. Haargolfbasisfunctie

Laten we het proces van signaalontbinding in het systeem van Haar-basisfuncties bekijken. De eerste basisfunctie is, in tegenstelling tot alle volgende, een rechte lijn. In het geval van een genormaliseerde basis zal de convolutie van de eerste basisfunctie met het oorspronkelijke signaal de gemiddelde waarde ervan bepalen. Laat een discreet signaal met monsterlengte worden gegeven. De genormaliseerde basisfunctie op het interval wordt beschreven door de uitdrukking . Vervolgens leidt convolutie van deze functie met het signaal tot de uitdrukking

Als we een signaal synthetiseren met behulp van een coëfficiënt met behulp van de synthesefunctie, verkrijgen we een constante component die overeenkomt met de gemiddelde waarde van het signaal. Om het signaal gedetailleerder te kunnen beschrijven, berekenen we de tweede coëfficiënt met behulp van de basisfunctie die wordt weergegeven door uitdrukking (20):

Analyse uitdrukking gegeven laat zien dat de coëfficiënt het verschil tussen de gemiddelde waarden van de helften van het signaal karakteriseert. Als we nu de synthese uitvoeren met behulp van twee coëfficiënten met een synthetiserende basisfunctie voor de tweede coëfficiënt

we krijgen de volgende benadering:

De verdere werking van de analyse, d.w.z. berekening van coëfficiënten en synthese, is vergelijkbaar met die in beschouwing, met het verschil dat alle acties worden herhaald voor de helft van het signaal, vervolgens voor kwartalen, enz. Bij de allerlaatste iteratie wordt de analyse uitgevoerd voor paren willekeurige variabelen (Figuur 11).

Rijst. 11. Transformatie van paren willekeurige variabelen

Als resultaat wordt het oorspronkelijke signaal nauwkeurig beschreven door de coëfficiënten van de Haar-wavelettransformatie. Waveletcoëfficiënten van signaal (19) worden getoond in Fig. 10.

Uit de bovenstaande figuur is het duidelijk dat niet-stationariteiten van signalen (scherpe veranderingen) gelokaliseerd zijn in een klein aantal golfcoëfficiënten. Dit leidt tot de mogelijkheid van een betere reconstructie van een niet-stationair signaal op basis van onvolledige gegevens.

Rijst. 12. Waveletcoëfficiënten van één functieperiode (19)

Bij het berekenen van waveletcoëfficiënten dekten de basisfuncties het geanalyseerde signaal als volgt (Fig. 12). Vanaf afb. 12 kan worden gezien dat het systeem van Haar-basisfuncties in een discrete ruimte moet worden gespecificeerd door twee parameters: verschuiving en frequentie (schaal):

,

waar is de schaal van de basisfunctie; - verschuiving. In het discrete geval is de schaalparameter, waarbij een positief geheel getal bestaat, de verschuivingsparameter. De gehele set basisfuncties kan dus worden geschreven als

.

Directe en inverse discrete VP's worden berekend met behulp van de formules

,

.

Opgemerkt moet worden dat als het aantal monsters gelijk is, de maximale waarde gelijk is aan . De grootste waarde voor de huidige is .

Voor continue signalen de volgende integrale uitdrukkingen zijn geldig:

,

.

Door waveletfuncties te specificeren is het dus mogelijk een signaal te ontbinden in een waveletbasis van continue of discrete signalen.

Rijst. 13. Verdeling van Haar-basisfuncties in signaalanalyse

Een functie kan een waveletbasis vormen als deze aan de volgende voorwaarden voldoet:

1. Beperking van de norm:

.

2. De waveletfunctie moet zowel in tijd als in frequentie beperkt zijn:

En , bij .

Tegenvoorbeeld: de deltafunctie en de harmonische functie voldoen niet aan deze voorwaarde.

3. Nulgemiddelde:

Als we deze voorwaarde generaliseren, kunnen we de formule verkrijgen , die de mate van soepelheid van de functie bepaalt. Er wordt aangenomen dat hoe hoger de mate van gladheid van de basisfunctie, hoe beter de benaderingseigenschappen ervan.

Als voorbeeld geven we de volgende bekende wavelet-functies:

, .

Zowel voor VP als voor DFT is er een algoritme snelle conversie. Laten we Haar's VP nog eens bekijken. Vanaf afb. 13 laat zien dat functies met een kleine schaalfactor dezelfde signaalmonsters gebruiken om coëfficiënten te berekenen als functies met een grote schaalfactor. In dit geval wordt de bewerking van het optellen van dezelfde monsters verschillende keren herhaald. Om het aantal berekeningen te verminderen, is het daarom raadzaam om de VP te berekenen op basis van de kleinste schaalfactor. Als resultaat verkrijgen we waveletcoëfficiënten, wat de gemiddelde waarden zijn en verschillen . Voor kansen herhaal deze procedure. In dit geval het middelen van de coëfficiënten zal overeenkomen met het middelen van vier signaalmonsters, maar dit vereist één vermenigvuldigingsoperatie en één opteloperatie. Het ontledingsproces wordt herhaald totdat alle spectrumcoëfficiënten zijn berekend.

Laten we het snelle Haar wavelet-transformatie-algoritme in matrixvorm schrijven. Laat een vector gegeven worden 8 elementen groot. De Haar-transformatiematrix wordt in het formulier geschreven

Sommige ideeën in de wavelettheorie verschenen heel lang geleden. A. Haar publiceerde bijvoorbeeld al in 1910 een compleet orthonormaal systeem van basisfuncties met een lokaal definitiedomein (nu Haar-golfjes genoemd). De eerste vermelding van wavelets verscheen in de literatuur over digitale verwerking en analyse van seismische signalen (werken van A. Grossman en J. Morlet).

Onlangs is er een geheel ontstaan ​​en vorm gekregen wetenschappelijke richting, gerelateerd aan waveletanalyse en wavelettransformatietheorie. Wavelets worden veel gebruikt voor het filteren en voorbewerken van gegevens, het analyseren van de toestand en het voorspellen van de situatie op de aandelenmarkten, patroonherkenning, verwerking en synthese verschillende signalen, bijvoorbeeld spraak, medisch, voor het oplossen van problemen met compressie en beeldverwerking, bij het trainen van neurale netwerken en in veel andere gevallen.

Ondanks het feit dat de theorie van wavelettransformatie al grotendeels ontwikkeld is, nauwkeurige definitie Wat een “wavelet” is, welke functies wavelets kunnen worden genoemd, bestaan ​​voor zover ik weet niet. Wavelets kunnen orthogonaal, semi-orthogonaal of biorthogonaal zijn. Deze functies kunnen symmetrisch, asymmetrisch of niet-symmetrisch zijn.

Er zijn wavelets met een compact definitiedomein en er zijn wavelets zonder. Sommige functies hebben een analytische uitdrukking, andere hebben een snel algoritme voor het berekenen van de bijbehorende wavelettransformatie. Laten we eerst proberen een informele definitie van de wavelettransformatie te geven, en vervolgens de exacte wiskundige rechtvaardiging ervan.

Wavelets en multischaalanalyse

Laten we eens kijken naar een probleem dat in de praktijk veel voorkomt: we hebben een signaal (en het signaal kan van alles zijn, van een opname van sensormetingen tot gedigitaliseerde spraak of een beeld). Het idee van multischaalanalyse (multischaalanalyse, multiresolutieanalyse) is om het signaal eerst van dichtbij te bekijken - onder een microscoop, dan door een vergrootglas, dan een paar stappen achteruit te gaan en dan van veraf te kijken (Fig. 1) .

Wat levert dit ons op? Ten eerste kunnen we, door het signaal achtereenvolgens grover (of verhelderend) te maken, de lokale kenmerken ervan identificeren (nadruk in spraak of karakteristieke details van het beeld) en deze onderverdelen op basis van intensiteit. Ten tweede wordt op deze manier de dynamiek van signaalveranderingen afhankelijk van de schaal gedetecteerd.

Als scherpe sprongen (bijvoorbeeld noodafwijkingen van sensormetingen) in veel gevallen met het blote oog zichtbaar zijn, dan kunnen de interacties van gebeurtenissen op kleine schaal die zich ontwikkelen tot grootschalige verschijnselen (een krachtige verkeersstroom bestaat bijvoorbeeld uit de beweging van veel individuele auto's) zijn zeer moeilijk te zien. Omgekeerd, door je alleen op kleine details te concentreren, mis je mogelijk fenomenen die zich op mondiaal niveau voordoen.

Het idee van het gebruik van wavelets voor analyse op meerdere schalen is dat het signaal wordt ontleed volgens een basis die wordt gevormd door verschuivingen en kopieën op verschillende schaal van de prototypefunctie (dat wil zeggen dat de wavelettransformatie inherent fractaal is). Dergelijke basisfuncties worden wavelets genoemd ( golfje), als ze op spatie zijn gedefinieerd L2(R)(ruimte van complex gewaardeerde functies f(t) op een rechte lijn met beperkte energie), oscilleren rond de x-as en snel convergeren naar nul naarmate de absolute waarde van het argument toeneemt (Fig. 2).

Laten we meteen het voorbehoud maken dat deze definitie niet de pretentie heeft volledig en accuraat te zijn, maar slechts een bepaald ‘verbaal portret’ van een golfje geeft. Door convolutie van het signaal met een van de golfjes kunnen we dus isoleren karakteristieke kenmerken signaal in het lokalisatiegebied van deze wavelet, en hoe groter de schaal van de wavelet, hoe breder het signaalgebied het resultaat van de convolutie zal beïnvloeden.

Volgens het onzekerheidsprincipe dan betere functie geconcentreerd in de tijd, hoe meer het verspreid is in het frequentiedomein. Bij het herschalen van een functie wordt het product van tijd en frequentiebereiken blijft constant en vertegenwoordigt het gebied van de cel in het tijdfrequentie- (fase)vlak.

Het voordeel van de wavelettransformatie ten opzichte van bijvoorbeeld de Gabor-transformatie is dat deze het fasevlak bedekt met cellen van hetzelfde gebied, maar met verschillende vormen (Fig. 3). Hierdoor kunt u laagfrequente signaaldetails goed lokaliseren in het frequentiedomein (overheersende harmonischen), en hoogfrequente signaaldetails in het tijddomein (scherpe sprongen, pieken, enz.).

Bovendien kunt u met waveletanalyse het gedrag van fractale functies bestuderen, dat wil zeggen functies die op geen enkel moment afgeleiden hebben!

Orthogonale wavelettransformatie

De wavelettransformatie draagt enorm bedrag informatie over het signaal, maar heeft aan de andere kant een sterke redundantie, omdat elk punt van het fasevlak het resultaat beïnvloedt.

Om een ​​signaal nauwkeurig te reconstrueren is het in het algemeen voldoende om de golftransformatie ervan op een vrij zeldzaam rooster in het fasevlak te kennen (bijvoorbeeld alleen in het midden van elke cel in figuur 3). Bijgevolg is alle informatie over het signaal opgenomen in deze vrij kleine reeks waarden.

Het idee hier is om de golf met een constant (bijvoorbeeld 2) aantal keren te schalen, en deze in de tijd over een vaste afstand te verschuiven, afhankelijk van de schaal. In dit geval moeten alle verschuivingen van dezelfde schaal in paren orthogonaal zijn - dergelijke golven worden orthogonaal genoemd.

Met deze transformatie wordt het signaal geconvolueerd met een bepaalde functie (de zogenaamde schaalfunctie, we zullen later over de eigenschappen ervan praten) en met een wavelet die bij deze schaalfunctie hoort. Het resultaat is een "afgevlakte" versie van het originele signaal en een reeks "details" die het afgevlakte signaal onderscheiden van het origineel.

Door een dergelijke transformatie consequent toe te passen, kunnen we het resultaat verkrijgen van de mate van detail (gladheid) die we nodig hebben en een reeks details over verschillende schalen– wat er aan het begin van het artikel werd besproken. Bovendien kunnen we, door de wavelettransformatie toe te passen op het signaaldetail dat ons interesseert, er een “uitvergroot beeld” van krijgen. En omgekeerd, door onbelangrijke details weg te gooien en de omgekeerde transformatie uit te voeren, zullen we een signaal ontvangen dat vrij is van ruis en willekeurige emissies (bijvoorbeeld: 'verwijder' een vogel die per ongeluk in beeld kwam op een foto van een gebouw).

Discrete wavelettransformatie en andere gebieden van waveletanalyse

Het is duidelijk dat het idee om de wavelettransformatie te gebruiken om discrete gegevens te verwerken zeer aantrekkelijk is (gegevensdiscretisatie is bijvoorbeeld nodig bij de verwerking ervan op een computer). De grootste moeilijkheid is dat de formules voor de discrete wavelettransformatie niet eenvoudigweg kunnen worden verkregen door de overeenkomstige formules voor de continue transformatie te discretiseren.

Gelukkig slaagde I. Daubechies erin een methode te vinden waarmee je een (oneindige) reeks orthogonale golfjes kunt construeren, die elk worden bepaald door een eindig aantal coëfficiënten. Het is mogelijk geworden om een ​​algoritme te construeren dat de snelle wavelettransformatie op discrete gegevens implementeert (het algoritme van Mull). Het voordeel van dit algoritme ligt, naast al het bovenstaande, in de eenvoud ervan hoge snelheid: zowel ontbinding als restauratie vereisen ongeveer cN operaties waar Met is het aantal coëfficiënten, en N– monsterlengte.

De laatste tijd heeft de theorie van wavelettransformatie eenvoudigweg een revolutionaire groei doorgemaakt. Richtingen als biorthogonale golfjes, multigolfjes, golfpakketjes, optillen, etc. zijn verschenen en ontwikkelen zich.

Toepassing van wavelettransformatie

Ter afsluiting van ons artikel noemen we enkele gebieden waar het gebruik van wavelets veelbelovend kan zijn (of al is).

  1. Verwerking van experimentele gegevens. Omdat wavelets precies verschenen als een mechanisme voor het verwerken van experimentele gegevens, lijkt het gebruik ervan voor het oplossen van soortgelijke problemen nog steeds erg aantrekkelijk. De wavelet-transformatie geeft het meest visuele en informatieve beeld van de experimentele resultaten, stelt u in staat de originele gegevens te ontdoen van ruis en willekeurige vervormingen, en zelfs “met het oog” enkele kenmerken van de gegevens op te merken en de richting van hun verdere verwerking en analyse . Bovendien zijn wavelets zeer geschikt voor de analyse van niet-stationaire signalen die in de geneeskunde voorkomen aandelenmarkten en andere gebieden.
  2. Beeldverwerking. Onze visie is zo ontworpen dat we onze aandacht richten op de essentiële details van het beeld en afsnijden wat niet nodig is. Met behulp van de wavelet-transformatie kunnen we sommige details van een afbeelding gladstrijken of accentueren, deze vergroten of verkleinen, belangrijke details benadrukken en zelfs de kwaliteit ervan verbeteren!
  3. Gegevenscompressie. Een kenmerk van orthogonale meerschalige analyse is dat voor voldoende vloeiende gegevens de resulterende details van de transformatie over het algemeen dichtbij nul liggen en daarom zeer goed worden gecomprimeerd door conventionele methoden. statistische methoden. Het grote voordeel van de wavelet-transformatie is dat er geen extra redundantie in de oorspronkelijke gegevens wordt geïntroduceerd, en dat het signaal volledig kan worden gereconstrueerd met dezelfde filters. Bovendien maakt de scheiding van details van het hoofdsignaal als gevolg van de conversie het zeer eenvoudig om compressie met verlies te implementeren - gooi de details gewoon weg op die schaal waar ze onbelangrijk zijn! Het volstaat te zeggen dat een door wavelets verwerkt beeld 3 tot 10 keer kan worden gecomprimeerd zonder aanzienlijk verlies aan informatie (en met aanvaardbare verliezen - tot 300 keer!). We merken bijvoorbeeld op dat de wavelettransformatie de basis vormt van de MPEG4-datacompressiestandaard.
  4. Neurale netwerken en andere mechanismen voor gegevensanalyse. Grote problemen bij het trainen van neurale netwerken (of het opzetten van andere mechanismen voor gegevensanalyse) worden veroorzaakt door sterke gegevensruis of de aanwezigheid van een groot aantal “speciale gevallen” (willekeurige emissies, weglatingen, niet-lineaire vervormingen, enz.). Dergelijke ruis kan kenmerken van de gegevens verbergen of nabootsen en kan de leerresultaten ernstig verslechteren. Daarom wordt aanbevolen om de gegevens op te schonen voordat u deze analyseert. Om de redenen die hierboven al zijn gegeven, en vanwege de beschikbaarheid van snelle en efficiënte implementatiealgoritmen, lijken wavelets een zeer handig en veelbelovend mechanisme te zijn voor het opschonen en voorbewerken van gegevens voor gebruik in statistische en zakelijke toepassingen, systemen kunstmatige intelligentie enz.
  5. Datatransmissiesystemen en digitale verwerking signalen. Vanwege de hoge efficiëntie van de algoritmen en de weerstand tegen interferentie is de wavelettransformatie dat wel krachtig hulpmiddel op gebieden waar traditioneel andere data-analysemethoden, zoals de Fourier-transformatie, worden gebruikt. Mogelijkheid tot toepassing al bestaande methoden het verwerken van de transformatieresultaten, evenals de karakteristieke kenmerken van het gedrag van de wavelettransformatie in het tijdfrequentiedomein, kan de mogelijkheden van dergelijke systemen aanzienlijk uitbreiden en aanvullen.

En dat is nog niet alles!

Conclusie

Ondanks het feit dat het wiskundige apparaat voor waveletanalyse goed ontwikkeld is en de theorie in het algemeen vorm heeft gekregen, laten wavelets een enorm onderzoeksveld over. Het volstaat te zeggen dat het kiezen van de wavelet die het meest geschikt is voor het analyseren van specifieke gegevens meer een kunst dan een routineprocedure is. Bovendien is de taak van het ontwikkelen van applicaties die gebruik maken van waveletanalyse van groot belang - zowel in de genoemde gebieden als in vele andere, die eenvoudigweg niet kunnen worden opgesomd.

Literatuur

  1. Daubechies I. Tien lezingen over wavelets. Moskou, "RHD", 2001
  2. Vorobiev V.I., Gribunin V.G. Theorie en praktijk van wavelettransformatie. Sint-Petersburg, VUS, 1999
  3. Mallat S. Een theorie voor signaalontbinding met meerdere resolutie: de golfrepresentatie. IEEE Trans. Patroonanalyse en machine-intelligentie, 1989, N7, p.674-693.

De opkomst van goedkoop digitale camera's heeft ertoe geleid dat een aanzienlijk deel van de bewoners van onze planeet, ongeacht leeftijd en geslacht, de gewoonte heeft verworven om elke stap van hen vast te leggen en de resulterende beelden aan het publiek te tonen in sociale netwerken. Bovendien, als het familiefotoarchief voorheen in één album werd geplaatst, bestaat het tegenwoordig uit honderden foto's. Om de opslag en verzending ervan via netwerken te vergemakkelijken, is het noodzakelijk om het gewicht van het digitale beeld te verminderen. Voor dit doel zijn methoden gebaseerd op verschillende algoritmen, inclusief wavelettransformatie. Ons artikel zal u vertellen wat het is.

Wat is een digitaal beeld

Visuele informatie in een computer wordt weergegeven in de vorm van getallen. Spreken in eenvoudige taal, een foto gemaakt met een digitale camera is een tabel waarin de kleurwaarden van elk van de pixels worden ingevoerd. Als waar we het over hebben over een monochrome afbeelding, dan worden ze vervangen door helderheidswaarden uit het segment, waarbij 0 wordt gebruikt om zwart aan te geven, en 1 - wit. Andere tinten zijn gespecificeerd fractionele getallen, maar ze zijn onhandig om mee te werken, dus het bereik wordt uitgebreid en de waarden worden geselecteerd uit het interval tussen 0 en 255. Waarom precies hieruit? Het is eenvoudig! Met deze keuze erin binaire representatie Er is precies 1 byte nodig om de helderheid van elke pixel te coderen. Het is duidelijk dat het opslaan van zelfs een kleine afbeelding behoorlijk veel geheugen vereist. Een foto van 256 x 256 pixels neemt bijvoorbeeld 8 kB in beslag.

Een paar woorden over beeldcompressiemethoden

Iedereen heeft vast wel de foto’s gezien slechte kwaliteit, waar er vervormingen zijn in de vorm van rechthoeken van dezelfde kleur, die gewoonlijk artefacten worden genoemd. Ze ontstaan ​​als gevolg van zogenaamde lossy compressie. Hiermee kunt u het gewicht van de afbeelding aanzienlijk verminderen, maar dit heeft onvermijdelijk invloed op de kwaliteit ervan.

Verliezen zijn onder meer:

  • JPEG. Op op dit moment dit is een van de meest populaire algoritmen. Het is gebaseerd op de toepassing van de discrete cosinustransformatie. Om eerlijk te zijn moet worden opgemerkt dat er JPEG-varianten zijn die verliesloze compressie bieden. Deze omvatten Lossless JPEG en JPEG-LS.
  • JPEG 2000. Het algoritme wordt gebruikt mobiele platforms en is gebaseerd op het gebruik van discrete wavelettransformatie.
  • Fractaal compressie-algoritme. In sommige gevallen produceert het afbeeldingen van uitstekende kwaliteit, zelfs met hoge compressie. Door patentproblemen blijft deze methode echter exotisch.

Lossless compressie wordt uitgevoerd met behulp van algoritmen:

  • RLE (gebruikt als de belangrijkste methode in TIFF-formaten, BMP, TGA).
  • LZW (gebruikt in GIF-formaat).
  • LZ-Huffman (gebruikt voor PNG-indeling).

Fourier-transformatie

Voordat we verder gaan met het beschouwen van wavelets, is het zinvol om de bijbehorende functie te bestuderen, die de coëfficiënten beschrijft bij het ontbinden van de initiële informatie in elementaire componenten, dat wil zeggen harmonische oscillaties met verschillende frequenties. Met andere woorden: de Fourier-transformatie is een uniek hulpmiddel dat discrete en continue werelden met elkaar verbindt.

Het ziet er zo uit:

De inversieformule wordt als volgt geschreven:

Wat is wavelet

Achter deze naam schuilt een wiskundige functie waarmee u de verschillende frequentiecomponenten van de bestudeerde gegevens kunt analyseren. De grafiek geeft golfachtige oscillaties weer, waarvan de amplitude afneemt tot 0 weg van de oorsprong. IN algemeen geval Van belang zijn de waveletcoëfficiënten die worden bepaald door de integrale transformatie van het signaal.

Wavelet-spectrogrammen verschillen van conventionele Fourier-spectra omdat ze het spectrum met elkaar in verband brengen verschillende functies signalen met hun tijdscomponent.

Wavelet-transformatie

Deze methode voor het converteren van een signaal (functie) maakt het mogelijk om het te converteren van een tijdrepresentatie naar een tijdfrequentierepresentatie.

Om de wavelettransformatie mogelijk te maken, moet aan de volgende voorwaarden worden voldaan voor de overeenkomstige waveletfunctie:

  • Als voor een bepaalde functie ψ (t) de Fourier-transformatie de vorm heeft

dan moet aan de volgende voorwaarde worden voldaan:

Daarnaast:

  • de golf moet eindige energie hebben;
  • het moet integreerbaar en continu zijn en een compacte drager hebben;
  • De golf moet zowel in frequentie als in tijd (in de ruimte) gelokaliseerd zijn.

Soort

Voor de overeenkomstige signalen wordt een continue wavelettransformatie gebruikt. Zijn discrete analoog is van veel groter belang. Het kan immers worden gebruikt om informatie in computers te verwerken. Dit roept echter het probleem op dat formules voor discrete DWT niet kunnen worden verkregen door simpelweg de overeenkomstige DWT-formules te discretiseren.

De oplossing voor dit probleem werd gevonden door I. Daubechies, die een methode kon selecteren waarmee men een reeks van dergelijke orthogonale golfjes kan construeren, die elk worden bepaald door een eindig aantal coëfficiënten. Later zijn ze ontstaan snelle algoritmen, bijvoorbeeld het algoritme van Mull. Wanneer het wordt gebruikt voor ontleding of reconstructie, is het noodzakelijk om ongeveer cN-bewerkingen uit te voeren, waarbij N de monsterlengte is en c het aantal coëfficiënten.

Wavelet Haara

Om een ​​bepaald patroon tussen zijn gegevens te vinden, en nog beter, als dit lange reeksen nullen zijn. Dit is waar het wavelet-transformatie-algoritme van pas kan komen. We zullen de methode echter op orde blijven houden.

Eerst moet je onthouden dat op foto's de helderheid van aangrenzende pixels in de regel een klein beetje verschilt. Zelfs als echte afbeeldingen gebieden bevatten met scherpe, contrasterende veranderingen in helderheid, nemen deze slechts een klein deel van het beeld in beslag. Laten we als voorbeeld de bekende Lenna-testafbeelding in grijstinten nemen. Als we de helderheidsmatrix van de pixels nemen, ziet een deel van de eerste rij eruit als een reeks getallen 154, 155, 156, 157, 157, 157, 158, 156.

Om nullen te verkrijgen, kun je er de zogenaamde deltamethode op toepassen. Om dit te doen, wordt alleen het eerste nummer opgeslagen en voor de rest worden alleen de verschillen van elk nummer met het vorige met een "+" of "-" teken genomen.

Het resultaat is de reeks: 154,1,1,1,0,0,1,-2.

Het nadeel van delta-codering is de niet-lokaliteit ervan. Met andere woorden: het is onmogelijk om slechts een deel van de reeks te nemen en erachter te komen welke helderheid daarin is gecodeerd, tenzij alle waarden ervoor zijn gedecodeerd.

Om dit nadeel te ondervangen, worden de getallen in paren verdeeld en voor elk vinden ze de halve som (deel a) en het halve verschil (deel d), d.w.z. voor (154.155), (156.157), (157.157), ( 158.156) hebben we (154,5, 0,5),(156,5,0,5),(157,0,0),(157,-1,0). In dit geval kunt u op elk moment de waarde van beide getallen in een paar vinden.

In het algemene geval geldt voor een discrete golftransformatie van een signaal S:

Zo een discrete methode volgt uit het continue geval van de wavelet-Haar-transformatie en wordt veel gebruikt in verschillende gebieden verwerking en compressie van informatie.

Compressie

Zoals reeds vermeld is een van de toepassingsgebieden van de wavelettransformatie het JPEG 2000-algoritme. Compressie met behulp van de Haar-methode is gebaseerd op het omzetten van een vector van twee pixels X en Y in een vector (X + Y)/2 en (X). - Y)/2. Om dit te doen, volstaat het om de originele vector te vermenigvuldigen met de onderstaande matrix.

Als er meer punten zijn, nemen ze een grotere matrix, langs de diagonaal waarvan de H-matrices zich bevinden. De originele vector wordt dus, ongeacht de lengte, in paren verwerkt.

Filters

De resulterende “halve sommen” zijn de gemiddelde helderheidswaarden in paren pixels. Dat wil zeggen dat de waarde bij conversie naar een afbeelding een kopie ervan moet opleveren, verkleind met 2 keer. In dit geval middelen de halve sommen de helderheid, dat wil zeggen dat ze willekeurige pieken in hun waarden "uitfilteren" en de rol van frequentiefilters spelen.

Laten we nu eens kijken naar wat de verschillen laten zien. Ze ‘markeren’ interpixel ‘bursts’, waardoor de constante component wordt geëlimineerd, d.w.z. ze ‘filteren’ waarden met lage frequenties.

Zelfs uit de bovenstaande Haar-wavelet-transformatie voor dummies wordt het duidelijk dat het een paar filters zijn die het signaal in twee componenten verdelen: hoge frequentie en lage frequentie. Om het originele signaal te verkrijgen, volstaat het om deze componenten eenvoudigweg opnieuw te combineren.

Voorbeeld

Stel dat we een foto willen comprimeren (Lenna-testafbeelding). Laten we een voorbeeld bekijken van de wavelettransformatie van de pixelhelderheidsmatrix. De hoogfrequente component van het beeld is verantwoordelijk voor de weergave kleine onderdelen en beschrijft het geluid. Wat de lage frequentie betreft, deze bevat informatie over de vorm van het gezicht en vloeiende veranderingen in helderheid.

De eigenaardigheden van de menselijke perceptie van foto's zijn zodanig dat het laatste onderdeel belangrijker is. Dit betekent dat sommige hoogfrequente gegevens tijdens de compressie kunnen worden weggegooid. Bovendien heeft het kleinere waarden en is het compacter gecodeerd.

Om de compressieverhouding te vergroten, kunt u de Haar-transformatie meerdere keren toepassen op laagfrequente gegevens.

Toepassing op tweedimensionale arrays

Zoals al gezegd is, digitaal beeld weergegeven in een computer als een matrix van de intensiteitswaarden van de pixels. We zouden dus geïnteresseerd moeten zijn in de tweedimensionale wavelet-transformatie van Haar. Om dit te implementeren hoeft u alleen maar een eendimensionale transformatie uit te voeren voor elke rij en elke kolom van de beeldpixelintensiteitsmatrix.

Waarden dichtbij nul kunnen worden weggegooid zonder noemenswaardige schade aan het gedecodeerde patroon. Dit proces staat bekend als kwantisering. En het is in dit stadium dat er wat informatie verloren gaat. Overigens kan het aantal opnieuw instelbare coëfficiënten worden gewijzigd, waardoor de compressieverhouding wordt aangepast.

Alle beschreven acties resulteren in een matrix die bevat groot aantal 0. Het moet regel voor regel worden geschreven tekstbestand en comprimeer het met een willekeurig archiveringsprogramma.

Decodering

De omgekeerde conversie naar een afbeelding wordt uitgevoerd met behulp van het volgende algoritme:

  • het archief is uitgepakt;
  • de inverse Haar-transformatie wordt toegepast;
  • de gedecodeerde matrix wordt omgezet in een afbeelding.

Voordelen ten opzichte van JPEG

Bij het overwegen van het algoritme Gezamenlijke groep fotografische experts er werd gezegd dat het gebaseerd was op PrEP. Deze conversie gebeurt blok voor blok (8 x 8 pixels). Als gevolg hiervan, als de compressie sterk is, wordt de blokstructuur merkbaar in het gereconstrueerde beeld. Bij het comprimeren met behulp van wavelets bestaat dit probleem niet. Er kan echter een ander type vervorming optreden, namelijk als rimpelingen nabij scherpe grenzen. Er wordt aangenomen dat dergelijke artefacten gemiddeld minder opvallen dan de “vierkantjes” die ontstaan ​​bij het gebruik van het JPEG-algoritme.

Nu weet je wat wavelets zijn, wat ze zijn en wat praktische toepassing voor hen werd gevonden op het gebied van digitale beeldverwerking en compressie.

In de praktijk moet DTWS worden toegepast op signalen met een eindige lengte. Het moet dus worden gewijzigd om uit een signaal van enige lengte een reeks coëfficiënten van dezelfde lengte te verkrijgen. De resulterende transformatie wordt de discrete wavelettransformatie (DWT) genoemd.

Eerst zullen we DWT in matrixvorm beschrijven, en vervolgens op basis van filterbanken, die het vaakst worden gebruikt bij signaalverwerking.

In beide gevallen gaan we ervan uit dat de basis functioneert en
compact gedefinieerd. Dit garandeert automatisch de eindigheid van de reeksen En . Laten we verder aannemen dat het signaal dat wordt omgezet een lengte heeft
.

      1. Matrixbeschrijving dwt

Laten we aangeven met vector eindige lengtereeks voor sommigen . Deze vector wordt omgezet in een vector
, met reeksen
En
, die elk de halve lengte hebben. De transformatie kan worden geschreven als een matrixvermenigvuldiging
, waarbij matrix
- vierkant en bestaat uit nullen en elementen , vermenigvuldigd met
. Vanwege eigenschappen , verkregen in paragraaf 2.3, matrix
is orthonormaal en de inverse matrix is ​​gelijk aan de getransponeerde matrix. Beschouw ter illustratie het volgende voorbeeld. Laten we een lengtefilter nemen
, een reeks van lengte
, en als beginwaarde -
. Vervolg wij komen vandaan volgens formule (2.35), waarbij
. Vervolgens wordt de werking van matrix-vectorvermenigvuldiging in het formulier weergegeven

. (2.52)

De inverse transformatie is vermenigvuldiging
naar de inverse matrix
:

. (2.53)

Expressie (2.51) is dus één stap van de DWT. De volledige DWT bestaat uit het iteratief vermenigvuldigen van de bovenste helft van de vector
per vierkante matrix
, waarvan de omvang
. Deze procedure kan worden herhaald D keer totdat de vectorlengte 1 is.

In de vierde en achtste rij van matrix (2.51) de reeks circulair verschoven: coëfficiënten die voorbij de matrix aan de rechterkant reiken, worden in dezelfde rij aan de linkerkant geplaatst. Dit betekent dat DWT precies één periode lang is N DTWS-signaal , verkregen door oneindige periodieke voortzetting . Dus DWT gebruikt, wanneer het op deze manier wordt gedefinieerd, de periodiciteit van het signaal, net als DFT.

De matrixbeschrijving van DWT is kort en duidelijk. Bij signaalverwerking wordt DWT echter meestal beschreven door een blokdiagram dat lijkt op het diagram van een analyse-synthesesysteem (zie figuur 1.1).

      1. Beschrijving van dwt met behulp van filterblokken

Bij het beschouwen van subbandtransformaties in Hoofdstuk 1 hebben we gelijkheden vergelijkbaar met (2.45) en (2.46) geïnterpreteerd als filtering gevolgd door decimering met een factor twee. Omdat er in dit geval twee filters zijn En , dan is de filterbank tweebands en kan worden weergegeven zoals weergegeven in figuur 2.5.

Filters F En E betekent filteren door filters En
respectievelijk. Laagdoorlaatfiltering wordt uitgevoerd in de onderste tak van het circuit. Het resultaat is een benadering van het signaal, zonder details in de laagfrequente (LF) subband. Aan de bovenkant van het circuit is een hoogfrequente (HF) subband toegewezen. Merk op dat bij het verwerken van signalen de constante
wordt altijd uit de filterbank gehaald en het signaal wordt vermenigvuldigd met 2 (zie figuur 3.2, hoofdstuk 3).

Het circuit in figuur 2.5 verdeelt dus het niveausignaal
voor signalen op twee niveaus
. Vervolgens wordt de wavelettransformatie verkregen door dit schema recursief toe te passen op het LF-deel. Bij het implementeren van de wavelettransformatie van een afbeelding wordt elke iteratie van het algoritme eerst op de rijen en vervolgens op de kolommen van de afbeelding uitgevoerd (de zogenaamde Mallat-piramide wordt gebouwd). ADV6xx-videocodecs gebruiken een aangepaste Mallat-piramide, waarbij het bij elke iteratie niet nodig is om zowel rij- als kolomconversie uit te voeren. Dit wordt gedaan om beter rekening te houden met de menselijke visuele perceptie.

De resulterende transformatie is vergelijkbaar met (2.51). Er zijn echter enkele verschillen. Bij het filteren van een signaal van eindige lengte worden we geconfronteerd met het probleem van de voortzetting ervan op de grens. Matrixuitvoering van DWT komt overeen met het periodiek voortzetten van het signaal op de grens. Dit voortzettingstype is vereist voor orthogonale filters. In het geval van het gebruik van biorthogonale filters ontstaan ​​er enkele andere mogelijkheden vanwege de symmetrie van hun kenmerken. Dit onderwerp zal in hoofdstuk 3 in meer detail worden besproken.

Het circuit dat DWT uitvoert, kan ook worden weergegeven zoals weergegeven in figuur 2.6. Hier worden recursieve filtering en decimering vervangen door één filteroperatie en één decimatieoperatie per subband. Iteratieve filters definiëren En het is het gemakkelijkst te geven in het frequentiedomein.

De wavelet-transformatie is een transformatie die lijkt op de Fourier-transformatie (of veel meer op de venster-Fourier-transformatie) met een compleet andere evaluatiefunctie. Het belangrijkste verschil ligt in het volgende: de Fourier-transformatie ontleedt het signaal in componenten in de vorm van sinussen en cosinussen, d.w.z. functies gelokaliseerd in de Fourierruimte; de wavelettransformatie daarentegen maakt gebruik van functies die zowel in de reële als in de Fourier-ruimte zijn gelokaliseerd. Over het algemeen kan de wavelettransformatie worden uitgedrukt door de volgende vergelijking:

waarbij * het symbool is van complexe conjugatie en de functie ψ - een bepaalde functie. De functie kan willekeurig gekozen worden, maar moet wel aan bepaalde regels voldoen.

Zoals u kunt zien, bestaat de wavelet-transformatie eigenlijk uit een oneindig aantal verschillende transformaties, afhankelijk van de scorefunctie die wordt gebruikt om deze te berekenen. Dit is de belangrijkste reden waarom de term « golftransformatie» gebruikt in zeer verschillende situaties en voor verschillende toepassingen. Er zijn ook veel soorten classificatie van wavelettransformatievarianten. Hier laten we alleen de deling zien op basis van wavelet-orthogonaliteit. Kan worden gebruikt orthogonale golfjes voor discrete wavelettransformatie en niet-orthogonale golfjes voor continu. Deze twee soorten transformaties hebben de volgende eigenschappen:

  1. De discrete wavelettransformatie retourneert een gegevensvector met dezelfde lengte als de invoer. Meestal zijn zelfs in deze vector veel gegevens bijna nul. Dit komt overeen met het feit dat het wordt ontleed in een reeks golfjes (functies) die orthogonaal zijn op hun parallelle vertaling en schaling. Daarom ontleden we een dergelijk signaal in hetzelfde of minder aantal waveletspectrumcoëfficiënten als het aantal signaaldatapunten. Zo’n waveletspectrum is bijvoorbeeld heel goed voor signaalverwerking en compressie, omdat we hier geen redundante informatie ontvangen.
  2. De continue wavelet-transformatie retourneert daarentegen een array die één dimensie groter is dan de invoergegevens. Voor eendimensionale gegevens verkrijgen we een beeld van het tijd-frequentievlak. U kunt de verandering in signaalfrequenties gedurende de duur ervan eenvoudig volgen en dit spectrum vergelijken met de spectra van andere signalen. Omdat er gebruik wordt gemaakt van een niet-orthogonale reeks wavelets, zijn de gegevens sterk gecorreleerd en hebben ze een hoge redundantie. Dit helpt om het resultaat te zien in een vorm die dichter bij de menselijke perceptie ligt.

Aanvullende details over de wavelet-transformatie zijn beschikbaar via duizenden wavelet-bronnen online, of bijvoorbeeld hier.

De Gwyddion-gegevensverwerkingsbibliotheek implementeert beide transformaties en modules die de wavelet-transformatie gebruiken, zijn beschikbaar in het menu GegevensverwerkingIntegrale transformaties.

Discrete wavelet-transformatie

Discrete Wavelet Transform (DWT) is een implementatie van een wavelettransformatie met behulp van een discrete reeks waveletschalen en vertalingen die aan enkele specifieke regels voldoen. Met andere woorden, deze transformatie ontleedt het signaal in een onderling orthogonale reeks golfjes, wat het belangrijkste verschil is met de continue golftransformatie (CWT), of de implementatie ervan voor discrete tijdreeksen, ook wel discrete-time continue golftransformatie genoemd (DT- CWT).

Een wavelet kan worden geconstrueerd op basis van een schaalfunctie die de schaalbaarheidseigenschappen ervan beschrijft. De beperking is dat de schaalfunctie orthogonaal moet zijn ten opzichte van de schaalfunctie discrete transformaties, wat een aantal wiskundige beperkingen impliceert, die overal worden genoemd, d.w.z. homothetische vergelijking

Waar S- schaalfactor (meestal gekozen als 2). Bovendien moet het gebied onder de functie worden genormaliseerd en moet de schaalfunctie orthogonaal zijn ten opzichte van zijn numerieke vertalingen, d.w.z.

Na het introduceren van enkele aanvullende voorwaarden (aangezien de bovenstaande beperkingen niet tot één enkele oplossing leiden), kunnen we het resultaat van al deze vergelijkingen krijgen, d.w.z. eindige reeks coëfficiënten een k die zowel de schaalfunctie als de wavelet definiëren. De wavelet wordt verkregen uit de schaalfunctie as N Waar N- een even geheel getal. De reeks golfjes vormt dan een orthonormale basis, die we gebruiken om het signaal te ontleden. Opgemerkt moet worden dat er meestal maar een paar coëfficiënten zijn een k zal niet nul zijn, wat de berekeningen vereenvoudigt.

De volgende afbeelding toont enkele schaalfuncties en wavelets. De bekendste familie van orthonormale golfjes is de familie Daubechies. De golfjes worden gewoonlijk aangegeven met het aantal niet-nulcoëfficiënten een k, dus we praten meestal over Daubechies 4, Daubechies 6, etc. wavelets. Grof gezegd worden de functies vloeiender naarmate het aantal waveletcoëfficiënten toeneemt. Dit is duidelijk zichtbaar als je de hieronder weergegeven Daubechies 4 en 20-golfjes vergelijkt. Een andere van de genoemde wavelets is de eenvoudigste Haar-wavelet, die een vierkante wavelet als schaalfunctie gebruikt.

Haarschaalfunctie en wavelet (links) en hun frequentiecomponenten (rechts).

Daubechies 4 schaalfunctie en wavelet (links) en hun frequentiecomponenten (rechts).

Daubechies 20 schaalfunctie en wavelet (links) en hun frequentiecomponenten (rechts).

Er zijn verschillende soorten implementatie van het discrete wavelettransformatie-algoritme. Het oudste en bekendste is het Mull-algoritme (piramide). In dit algoritme zijn twee filters - afvlakking en niet-afvlakking - samengesteld uit waveletcoëfficiënten en deze filters worden herhaaldelijk toegepast om gegevens voor alle beschikbare schalen te verkrijgen. Indien gebruikt compleet setje gegevens D=2N en de signaallengte is L, eerst worden de gegevens berekend D/2 voor schaal L /2 N - 1 en vervolgens gegevens ( D/2)/2 voor schaal L /2 N - 2, ... totdat je aan het einde 2 gegevensitems krijgt voor schaal L/2. Het resultaat van dit algoritme is een array van dezelfde lengte als de invoer, waarbij de gegevens doorgaans worden gesorteerd van de grootste naar de kleinste schaal.

Gwyddion gebruikt een piramidevormig algoritme om de discrete wavelettransformatie te berekenen. Discrete wavelettransformatie in twee dimensies is beschikbaar in de DWT-module.

De discrete wavelet-transformatie kan worden gebruikt voor eenvoudige en snelle verwijdering ruis van een luidruchtig signaal. Als we slechts een beperkt aantal van de hoogste coëfficiënten van het spectrum van de discrete wavelettransformatie nemen, en de inverse wavelettransformatie uitvoeren (op dezelfde basis), kunnen we een signaal verkrijgen dat min of meer vrij is van ruis. Er zijn verschillende manieren om de coëfficiënten te selecteren die u wilt opslaan. Gwyddion implementeert een universele drempel, een schaaladaptieve drempel en een schaal-en-ruimte-adaptieve drempel. Om de drempel in deze methoden te bepalen, definiëren we eerst een schatting van de ruisvariantie gegeven door

Waar Y ij komt overeen met alle coëfficiënten van het hoogste subbereik van de ontledingsschaal (waarbij wordt aangenomen dat meest lawaai). Of de ruisverspreiding kan op een onafhankelijke manier worden verkregen, bijvoorbeeld omdat de spreiding van het AFM-signaal tijdens het scannen niet aan de gang is. Voor de hoogste frequentiesubband (universele drempel), of voor elke subband (voor schaal-adaptieve drempel), of voor de omgeving van elke pixel in de subband (voor schaal- en ruimte-adaptieve drempel), wordt de variantie berekend als

De drempelwaarde wordt in definitieve vorm berekend als

Zodra de drempel voor een bepaalde schaal bekend is, kunnen we alle coëfficiënten verwijderen minder dan waarde drempel (harde drempel) of we kunnen verlagen absolute waarde deze coëfficiënten op de drempelwaarde (zachte drempel).

DWT-ruisverwijdering is beschikbaar in het menu GegevensverwerkingIntegrale transformaties→ DWT-ruisverwijdering.

Continue wavelet-transformatie

Continuous Wavelet Transform (CWT) - Een implementatie van de wavelettransformatie met behulp van willekeurige schalen en in wezen willekeurige wavelets. De gebruikte wavelets zijn niet orthogonaal en de gegevens die uit deze transformatie worden verkregen, zijn sterk gecorreleerd. Voor discrete tijdreeksen kan deze transformatie ook worden gebruikt, met de beperking dat de kleinste wavelettranslaties gelijk moeten zijn aan de databemonstering. Dit wordt ook wel discrete-time continue wavelettransformatie (DT-CWT) genoemd en is de meest gebruikte methode voor het berekenen van CWT in praktijktoepassingen.

In principe werkt de continue wavelettransformatie met behulp van de directe definitie van de wavelettransformatie, d.w.z. we berekenen de convolutie van het signaal met een geschaalde golf. Voor elke schaal verkrijgen we op deze manier een set van dezelfde lengte N, hetzelfde als het ingangssignaal. Gebruiken M willekeurig gekozen schalen krijgen we een veld N×M, dat rechtstreeks het tijdfrequentievlak weergeeft. Het algoritme dat voor deze berekening wordt gebruikt, kan gebaseerd zijn op directe convolutie of convolutie door vermenigvuldiging in de Fourier-ruimte (ook wel de snelle wavelet-transformatie genoemd).

De keuze van de te gebruiken wavelet bij de tijd-frequentie-ontleding is het allerbelangrijkste. Met deze keuze kunnen we de resolutie van het resultaat in tijd en frequentie beïnvloeden. De belangrijkste kenmerken van de wavelettransformatie kunnen op deze manier niet worden gewijzigd ( lage frequenties een goede frequentieresolutie en een slechte tijdresolutie hebben; hoge hebben een slechte frequentieresolutie en een goede tijdresolutie), maar de algehele frequentie- of tijdresolutie kan enigszins worden verhoogd. Dit is recht evenredig met de gebruikte reële en Fourier-ruimtegolfbreedte. Als we bijvoorbeeld een Morlet-wavelet gebruiken (het reële deel is een gedempte cosinusfunctie), dan kunnen we verwachten hoge resolutie door frequenties, aangezien zo'n golfje zeer goed gelokaliseerd is door frequentie. integendeel, met behulp van de Derivative of Gaussian (DOG) wavelet krijgen we een goede lokalisatie in de tijd, maar een slechte frequentie.

Continue wavelet-transformatie is geïmplementeerd in de CWT-module, die beschikbaar is in het menu GegevensverwerkingIntegrale transformaties→ CWT.

Bronnen

A. Bultheel: Bull. Belg. Wiskunde. Soc.: (1995) 2

SG Chang, B. Yu, M. Vetterli: IEEE Trans. Beeldverwerking, (2000) 9 p. 1532

SG Chang, B. Yu, M. Vetterli: IEEE Trans. Beeldverwerking, (2000) 9 p. 1522