| WAVELETS
- Transformationskodierung JPEG 2000 - ISO / IEC-Standard 15444-1 |
Original |
Wavelet-Kompression 50:1 |
Wavelet-Kompression 100:1 |
|
Vergleich:
![]() JPEG-Kompress.-max 19:1 |
![]() Original |
![]() JPEG 3:1 |
![]() JPEG 20:1 |
![]() JPEG-max 50:1 |
| Wavelet-Kompression (JP2, J2K) |
|
![]() JP2 20:1 |
![]() JP2 50:1 |
|
|
![]() JP2 100:1 |
2. Die Basisfunktionen
sind die sogenannten Scaling-Funktionen
und die Wavelets.
| Basisfunktionen | ||
| Scaling-Funktion
(TP) |
Wavelets
(HP) |
3. Diese Funktionen
verbinden die grundlegende Eigenschaft der Orthogonalität
(d.h. die Vektoren der Funktionen stehen senkrecht zueinander (wie cosinus &
sinus),
die eine Transformation und eine identische Rekonstruktion erst ermöglicht.
Die Funktionen besitzen eine endliche Ausdehnung.
Dies erlaubt die Analyse
von Bilddaten ohne Fenstereffekte (!),
die aus der Anwendung unendlicher Funktionen (z.B. DFT, DCT...) auf endliche
Bildbereiche resultieren.
Während bei der DFT für alle Frequenzen die gleiche Abtastraten gelten,
sind die Abtastraten bei der DWT abhängig von der Frequenz (Oktavbandzerlegung
oder Subbandcodierung).
Bei Erhöhung der Frequenz
um eine Oktave wird die Abtastrate verdoppelt.
Auflösungsgenauigkeit
zwischen Signal- & Frequenzbereich
4. Die einfachste Wavelet-Funktion, das Haar-Wavelet, soll die Wavelet-Transformation im diskreten Fall erläutern:
5. Grundprinzip:
Im einfachsten Fall bedeutet eine Analyse (eine Faltung) mit den Haar-Funktionen
- die Berechnung des Mittelwertes und der Differenz zwischen zwei benachbarten Pixelwerten.
- Die Ergebnisse werden unterabgetastet und als Tiefpaß und Hochpaßanteile gespeichert.
- Der Tiefpaßanteil wird mit den Haar-Funktionen weiter analysiert.
- Letztendlich ist das wavelet-transformierte Bild durch eine gewisse Anzahl immer kleiner werdender Hochpaßanteile
- und einen einzigen Tiefpaßanteil gekennzeichnet.
![]()
Abbildung 2a: Prinzip der Wavelet-Transformation
a) Die Ursprungsmatrix
wird in der ersten Transformationsstufe in drei Hochpaßanteile (Dx1,
Dy1, Dxy1) sowie einen Tiefpaßanteil (H1) zerlegt.
b) In einer weiteren
Transformationsstufe wird nur noch der erste Tiefpaßanteil (H1) wiederum
in drei Hochpaßanteile (Dx2, Dy2, Dxy2)
sowie einen neuen Tiefpaßanteil (H2) zerlegt.
c) Die Hochpaßanteile
der ersten Transformationsstufe bleiben erhalten.
d) Auf diese Weise
können nun weitere Transformationsstufen durchlaufen werden.
e) Das Ursprungsbild
wird quasi hierarchisch zerlegt.
In den Hochpaßanteilen der ersten Transformationsstufe werden die
feinen Bildstrukturen erfaßt,
in den Hochpaßanteilen
der folgenden Transformationsstufen werden zunehmend gröbere Bildstrukturen
erfaßt.
Abbildung 2b: zwei Iterationen
Dieser Abbildungs- bzw. Filterungsprozeß wird in Abbildung 3 erläutert:
a) Das Ursprungsbild
(links) ist in zwei Transformationsstufen zerlegt worden.
b) Das kleine Bild
im rechten transformierten Abbild stellt den Tiefpaßanteil
der zweiten Transformationsstufe dar.
c) Alle übrigen
Abbildbereiche repräsentieren Hochpaßanteile.
![]() |
![]() |
|
| Abbildung 3: Originalbild, | 1. Iteration | 2. Iteration |
Normalerweise wird
die Transformation mit anderen Funktionspaaren durchgeführt.
Diese spezielleren
Funktionen, wie Daubechies Wavelets
oder biorthogonale Wavelets, führen
erst zu gegenüber JPEG überlegenen Resultaten.
PSNR (Peak-Signal-to-Noise-Ratio)
getroffen. Dieses Maß drückt den Fehler, der durch die bewußte Veränderung der Bildinformation hervorgerufen wird, quantitativ aus.
Die PSNR wird folgendermaßen berechnet:
mit
(meist 255)
und
wobei
das Originalbild, und
das
aus den komprimierten Daten rekonstruierte Bild repräsentiert.
| a) Diffenzbild = ( Bild - Bild´ ) / 2 +128 | positive+negative
Differenzen -->halbe Auflösung 0...+127...+255 |
| b) Fehlerbild = | Bild - Bild ´ | | Betrag der Differenzen
-->volle Auflösung 0.............+255 |
| c) Statistikbegriffe: __Programm __Lurawave Smartcompress |
![]() |
Beachte! Transformation
allein bringt noch keine Kompression !
| Verlustlose Codierung: | RLC-, Huffman-Codierung der Transformationskoeffizienten.. |
| Verlustbehaftete Codierung: | Quantisierung der " |
Der Parameter, über
den die Kompressionsrate direkt gesteuert wird,
ist die Anzahl der Quantisierungsstufen
für die Koeffizienten der Transformation.
Ein weiterer wichtiger Parameter
ist die Auswahl der Filterfunktion. Tabelle 1 zeigt einen Überblick über
die gebräuchlichsten Filter.
| Filterklasse | Scaling-Funktion | Wavelet | Beschreibung |
|---|---|---|---|
| Haar | ![]() |
![]() |
Einfachste Filterklasse, Mittelwert- und Differenzfilter |
| CloseToCoiflet | ![]() |
![]() |
|
| Coiflet | ![]() |
![]() |
Frühe Waveletklasse, entwickelt von R.Coifman |
![]() |
![]() |
nicht symetrisch, streng orthogonal, strenger "compact support" selbstähnlich | |
| Johnston-Barnard | ![]() |
![]() |
|
![]() |
![]() |
Symetrisch, werden aus Binominalkoeffizienten berechnet |
| Vorteile der WAVELET - Kodierung |
| Bilder können verlustfrei oder beliebig verlustbehaftet komprimiert werden | Bei verlustfreier Kompression werden je nach Bildstruktur Kompressionsraten von 1:1,5 bis 1:5 erreicht und liegen in der Regel höher im Vergleich zum TIFF-Format. |
| User kann Kompressionsrate selbst bestimmen | Das erlaubt die einfache Kontrolle der Bildqualität. Man kann einfach die Kompressionsrate stufenlos wählen, die man für am besten hält (bis ca. 1:500 je nach Bildgröße u. Inhalt). |
| Skalierbares Bildladen | Das Laden eines gespeicherten Bildes kann der Anwender selbst beeinflussen. Entweder er lädt das Bild aus den kompletten in der Datei abgelegten Daten, oder nur aus einem Teil dieser Daten (z.B. 1% [Quicklook], 10%, 50% u.s.w.). Ein progressiver Bildaufbau ist möglich. |
| Nachladen der Bilddaten | Bilddaten, die nicht in voller Qualität rekonstruiert wurden, können durch das Nachladen von weiteren Daten verbessert werden. |
| Nur ein Dateiformat, nur eine Datei ! | Alle erforderlichen Bildqualitäten können aus einer Datei erzeugt werden. Dies erleichtert das Handling von Bildern z.B. in Archiven. |
| Zeitersparnis | Kein endloses Warten während des Ladens von großen Bildern. Mit entspr. Tools können die Bilder komprimiert und dann in einem Bruchteil der Zeit geladen werden. |
| Höhere Sicherheit gegen Ladeunterbrechungen und -störungen | Geringere Wahrscheinlichkeit von Übertragungsfehlern wegen reduzierter Ladezeiten. |
| Geldersparnis | Weniger Plattenplatz ist nötig; reduzierte Onlinekosten |
| Reduzierte Serverlast | Durch weniger Bilddatentransfer. |
| Höhere Bildqualität | bei gleicher Kompressionsrate keine Blockartefakte wie sie bei JPEG auftreten. |
| Paßwortschutz | Für Waveletbilder mit einstellbarer "freier" Qualität (1...10), (schlecht...gut). |
| Enhancement:
Qualitativ hervorgehobene Bildbereiche |
Damit läßt sich z.B. das Gesicht in einem Porträt mit einer besseren Qualität komprimieren als der Rest. Oder man legt damit fest, welcher Teil des Bildes zu erst übertragen werden soll. |
|
Gleiche(!) Bilddatei für unterschiedliche Geräte- Auflösungen nutzbar |
PC, Hochauflösende Displays, PDA, Handy (UMTS) |
| Anwendungsbereiche |
| Beispiele |
Um die Beispiele zu sehen
werden die Browser-
Plug-Ins (3 MByte) benötigt.
Demoversion von Smartcompress
(4 MByte) von Luratech.
| Quellen |