-
Die
Erfindung betrifft ein Verfahren zum Neuanordnen von Signalverlaufspaket-(Wavelet-Packet)-Koeffizienten
für Nullbaum-Codierung.
Derartige Verfahren werden zur Kompression und Übertragung von Bildern verwendet.
-
Als
Grundlage zur Erfindung wird auf die folgenden Veröffentlichungen
verwiesen: "Image
coding using wavelet transform",
IEEE Trans. Image Processing, Vol. 1, S. 205–220, Apr. 1992, von M. Antonini,
M. Barlaoud, P. Mathieu und I. Daubechies; "Embedded image coding using zerotree
of wavelets coefficients",
IEEE Trans. Signal Processing, Vol. 41, S. 3445–3462, Dez. 1993, von J. M.
Sharpiro; "A new fast
and efficient image coding based on set partitioning in hierarchical
trees", IEEE Trans.
Circuits Syst. Video Technol., Vol. G, S. 243–250, Juni 1996, A. Said und
W. A. Pearlman; "Best
wavelet packet bases in a rate-distortion sense", IEEE Trans. Image Processing, Vol.
2, S. 160–175,
Apr. 1993, von K. Ramchandran und M. Vetterli.
-
1 veranschauchlicht ein
herkömmliches Verfahren
zum Komprimieren und Übertragen
von Bildern. Wie es in der Figur dargestellt ist, führt das herkömmliche
Verfahren einen Signalverlaufs-Transformationsprozess 10 aus,
um Bilddaten in mehrere Frequenzbänder zu unterteilen, wodurch
es möglich ist,
die meiste Energie auf einige wenige Koeffizienten im Band zu fokussieren.
Dann werden die Daten durch Ausführen
eines Nullbaum-Codierprozesses 20 komprimiert, wobei Signalverlaufskoeffizienten dadurch
codiert werden, dass mit diesen eine Baumstruktur erzeugt wird.
-
Das
durch den Signalverlaufs-Transformationsprozess 10 transformierte
Bild wird in mehrere Frequenzbänder
unterteilt, wie es in 2 dargestellt
ist. In der Figur ist veranschaulicht, dass ein linker, oberer Teil
des Frequenzbands einem niederfrequenten Band entspricht, während ein
rechter, unterer Teil einem höherfrequenten
Band entspricht. Daher hat das kleinste Band, das am weitesten links
und am weitesten oben im Frequenzband liegt, die kleinste Frequenz.
Auch hat das größte Band,
das am weitesten rechts und am weitesten unten liegt, die höchste Frequenz.
Da die meisten Bilddaten energetisch zu den niederfrequenten Bändern gehören, können die
meisten Bilddaten dadurch repräsentiert werden,
dass nur die kleinen Frequenzbänder
(niederfrequenten Bänder)
verwendet werden. D. h., dass, da sich die Energie in einigen wenigen
Koeffizienten sammelt, die Bilddaten dadurch komprimiert werden
können,
dass nur die Koeffizienten codiert werden.
-
Wie
es in 3 dargestellt
ist, werden beim Nullbaum-Codierprozess 20 die transformierten
Signalverlaufskoeffizienten in einer Baumstruktur zusammengestellt.
Innerhalb der Baumstruktur wird der Koeffizient an der obersten
Position als "Vorläufer" bezeichnet, und
Koeffizienten unmittelbar unter dem obersten Koeffizient werden
als "Nachfolger" bezeichnet. Alle
Koeffizienten, einschließlich
der unmittelbaren Nachfolger können
gemeinsam als "Abkömmlinge" bezeichnet werden.
-
Nun
wird die Funktion gemäß dem obigen Stand
der Technik erläutert.
-
Beim
Signalverlaufs-Transformationsprozess 10 wird als Erstes
das Bild transformiert, um es mittels einiger weniger Koeffizienten
im Frequenzband auszudrücken..
Dann werden die Signalverlaufskoeffizienten im Nullbaum-Codierprozess 20 zur Baumstruktur
zusammengestellt, und es erfolgt eine Nullbaum-Codierung auf Grundlage eines spezifizierten
Schwellenwerts, um das Bild zu komprimieren.
-
Um
den Signalverlaufs-Transformationsprozess 10 auszuführen, wird
ein Filterungs- und Unterabtastvorgang verwendet. Die Bilddaten
können durch
Niederfrequenzfilterung und Unterabtastung sowie Hochfrequenzfilterung
und Unterabtastung in ein niederfrequentes Band und ein hochfrequentes Band
unterteilt werden. Dabei wird für
das niederfrequente Band die Filterung und Abtastung wiederholt, da
dieses Band zu komprimierenden Raum aufweist. Im Ergebnis kann ein
hinsichtlich des Signalverlaufs transformiertes Bild mit mehreren
Frequenzbändern erhalten
werden, wie es in 2 dargestellt
ist.
-
Dann
wird am obigen, hinsichtlich des Signalverlaufs transformierten
Bild die Nullbaum-Codierung ausgeführt. Beim Nullbaum-Codierprozess
wird, wenn die Größe eines
Koeffizienten kleiner als ein Schwellenwert T ist, der Koeffizient
als "Null" oder "insignifikanter Koeffizient" bezeichnet, während dann,
wenn die Größe eines
Koeffizienten größer als der
Schwellenwert T ist, dieser Koeffizient als "nicht Null" oder "signifikanter Koeffizient" bezeichnet wird. Im
Fall von nicht Null wird der Koeffizientenwert nach dem Ausführen der
Quantisierung zum Nichtnullkoeffizient übertragen. Jedoch wird dann,
wenn ein Koeffizient hinsichtlich Null definiert ist, dieser Koeffizient als "Nullbaumwurzel"-Symbol definiert,
wenn alle Nachfolger Null sind. Im Fall eines Nullkoeffizienten wird
dieser jedoch als "Isoliert-Null-Symbol" definiert, wenn
ein Nachfolger vorhanden ist, der nicht den Wert Null aufweist.
Dann werden die Signalverlaufskoeffizienten in der Baumstruktur
abgetastet und vom Vorgänger
zum Nachfolger und von links nach rechts in 3 übertragen.
Der Signalverlaufskoeffizient von Bilddaten zeigt im Allgemeinen
starke Korrelation zur Position in einem Bild. So ist es höchstwahrscheinlich,
dass es dann, wenn ein Vorläuferkoeffizient
Null ist, die Abkömmlingskoeffizienten
ebenfalls Null sind. Daher ist es dann, wenn alle Nullabkömmlingskoeffizienten
als auch der Nullvorläuferkoeffizient
ein Symbol ist, d. h. eine Nullbaumwurzel bilden, zulässig, Koeffizientenwerte
der Abkömmlinge
im Nullbaumwurzel-Symbol nicht zu übertragen, was einen hohen
Kompressionseffekt liefert.
-
Der
Gesamtablauf einer Nullbaumcodierung wird wie folgt ausgeführt. Als
Erstes überträgt der Codierer,
nachdem alle Koeffizienten des Nullbaums auf Grundlage eines Anfangsschwellenwerts
T quantisiert wurden, die quantisierten Werte der Nichtnullkoeffizienten,
die Isoliert-Null-Symbole und die Nullbaumwurzel-Symbole. Als Zweites überträgt der Codierer,
nachdem alle Koeffizienten im Nullbaum auf Grundlage eines zweiten
Schwellenwerts T/2 quantisiert wurden, als Zweites berechnete Werte
der Nichtnullkoeffizienten, die Isoliert-Null-Symbole und die Nullbaumwurzel-Symbole.
Dann schließt
der Codiervorgang ab, nachdem der obige Prozess aufeinanderfolgend
wiederholt wurde und eine erforderliche Bitrate erreicht wurde.
-
Ein
Decodierer führt
den umgekehrten Vorgang in Bezug auf den vom Codierer ausgeführten aus,
um ein wiederhergestelltes Bild zu erlangen.
-
Es
ist zu beachten, dass die obige Nullbaumcodierung so konzipiert
ist, dass sie für
einen transformierten Signalverlaufskoeffizienten geeignet ist. Wie
es in 2 dargestellt
ist, ist es schwierig, die Baumstruktur für die Nullbaumcodierung in
anderer Form, mit Ausnahme der Signalverlaufstransformation, zusammenzustellen.
-
Jedoch
kann Nullbaumcodierung nicht bei Signalverlaufspacket-Transformation
angewandt werden, wobei es sich um eine Verallgemeinerung der Signalverlaufstransformation
handelt, die bei vielen Arten von Bilddaten zu besserer Funktion
als Signalverlaufstransformation führt. Daher besteht Bedarf an
einer Technik zum Komprimieren und Übertragen von Bildern mit Anwendung
von Nullbaumcodierung auf Signalverlaufspacket-Koeffizienten.
-
Die
GB 22 93 734 A betrifft
ein Verfahren zur Bilddatenkompression unter Benutzung reversibler eingebetteter
Wavelets (reversible embedded wavelets) und beschreibt eine eingebettete
Bit-Signifikanz-Kodierung.
-
Dabei
werden Koeffizienten, die durch eine Wavelet-Transformation erhalten
werden, weiter kodiert, beispielsweise mit einer statistischen Codierung
(entropy coding), wobei verschiedene eingebettete Kodierungstechniken
für die
Koeffizienten verwendet werden können.
Die Daten, die ursprünglich in
einem Vorzeichen-Größe-Format
vorlagen, werden dann auf der Basis ihrer Signifikanz sortiert.
-
In
dem Lehrbuch von Rabbani und Jones (Digital Image Compression Techniques,
SPIE Optical Engineering Press Bellingham, Washington, 1991, S.
181 bis 182) ist die Beziehung zwischen einer Teilbandkodierung
und einer Transformationskodierung beschrieben, insbesondere der
Unterschied zwischen einer diskreten Kosinustransformation, die auf überlappende
2 × 2
Blökke
eines Bildes angewandt wird, und einer Teilbandcodierung unter Benutzung
von 2 × 2
Analysefiltern und einer Dezimierung um einen Faktor 2 in jeder
Richtung.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Neuanordnen
von Signalverlaufspaket-(Wavelet-Packet)-Koeffizienten für Nullbaumcodierung
zu schaffen, sodass eine weitere Datenkomprimierung erzielt werden
kann.
-
Diese
Aufgabe wird durch das Verfahren nach Anspruch 1 gelöst.
-
Durch
die erfindungsgemäße Kombination von
Nullbaumcodierung und Wavelet-Packet-Transformation, die durch das
Neuanordnen der Wavelet-Packet-Koeffizienten
ermöglicht
wird, lässt
sich die Bildqualität
von übertragenen
Bildern bei gleicher Bitrate im Vergleich mit dem bisherigen Stand
der Technik wesentlich verbessern. Umgekehrt ist es auch möglich, bei
gleicher Bildqualität
die zu übertragende
Datenmenge zu verringern.
-
Die
Erfindung ist unter Berücksichtigung
der folgenden detaillierten Beschreibung beispielhafter Ausführungsformen
in Verbindung mit den beigefügten
Zeichnungen leichter verständlich,
und daraus gehen weitere Vorteile und Verwendungszwecke hervor.
-
1 ist ein Blockdiagramm,
das einen herkömmlichen
Bildkompressionsprozess veranschaulicht;
-
2 zeigt beispielhaft ein
Bild nach einem Signalverlaufs-Transformationsprozess gemäß 1;
-
3 zeigt beispielhaft Signalverlaufs-Transformationskoeffizienten
und eine Baumstruktur zu 1;
-
4 ist ein Blockdiagramm,
das einen erfindungsgemäßen Bildkompressionsprozess
veranschaulicht;
-
5 zeigt beispielhaft ein
gemäß 4 erzeugtes Signalverlaufs-Transformationsbild;
-
6 und 7 veranschaulichen jeweils ein Ausführungsbeispiel
eines Neuanordnungsprozesses für
Signalverlaufspacket-Koeffizienten
gemäß 4; und
-
8 veranschaulicht einen
Prozess, gemäß dem ein
Signalverlaufspacket-Transformationsbild gemäß der Erfindung in ein abschließendes Bild mit
neuer Anordnung umgesetzt wurde.
-
Nachfolgend
wird ein Verfahren zum Neuanordnen von Signalverlaufspacket-Koeffizienten
gemäß jeweiligen
Ausführungsbeispielen
der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
4 ist ein Blockdiagramm
zum Veranschaulichen eines erfindungsgemäßen Bildkompressionsprozesses.
-
Wie
es in der Figur dargestellt ist, enthält dieser Bildkompressionsprozess
einen Signalverlaufs-Transformationsprozess 100 zum Filtern und Unterabtasten
der Bilddaten, wobei die Bilddaten anschließend in Signalverlaufspacket-Koeffizienten
mit mehreren Frequenzbändern
transformiert werden. Dann führt
der Bildkompressionsprozess einen Koeffizienten-Neuordnungsprozess 200 aus,
um unter den Signalverlaufspacket-Transformationskoeffizienten solche
Koeffizienten auszuwählen,
die demselben Ort in Frequenzbändern
(Unterbändern)
entsprechen, und um sie am selben Ort in einem Frequenzband neu
anzuordnen, das sich aus den Unterbändern zusammensetzt. Dann wird
ein Nullbaum-Codierprozess 300 zum Codieren der Signalverlaufspacket-Koeffizienten
ausgeführt,
bei dem die Signalverlaufspacket-Koeffizienten, die am selben Ort
im Frequenzband neu angeordnet wurden, zu einer Baumstruktur zusammengestellt
werden.
-
5 veranschaulicht beispielhaft
ein durch den Signalverlaufspacket-Transformationsprozess 100 transformiertes
Bild.
-
Wie
es in der Figur dargestellt ist, ist die Größe eines Frequenzbands bei
niedrigerer Frequenz nicht verkleinert, abweichend vom Fall bei
Signalverlaufskoeffizienten. Daraus ergibt sich, dass die Größe des Frequenzbands
beliebige Form aufweisen kann, unabhängig vom Frequenzniveau.
-
Da
die Baumstruktur für
Nullbaumcodierung nicht zusammengestellt werden kann, wird der Ort der
Koeffizienten in den Frequenzbändern
neu angeordnet, um bei der Erfindung die Nullbaumcodierung wirkungsvoll
auszuführen.
-
6A zeigt einen Signalverlaufspacket-Bereich
und einen Bereich mit neu angeordneten Signalverlaufspacketen im
Frequenzband, um ein Ausführungsbeispiel
des Neuanordnungsprozesses für Signalverlaufspacket-Koeffizienten
zu veranschaulichen. Außerdem
zeigt 6B die Koeffizientenverteilung
in jedem Band der Baumstruktur, wie sie zum Ausführen der Nullbaumcodierung
zusammengestellt ist.
-
Wie
es in der Figur dargestellt ist, entspricht bei einem Ausführungsbeispiel
des Koeffizienten-Neuanordnungsprozesses jeder der Signalverlaufspacket-Koeffizienten
zunächst
demselben Ort in Unterbändern.
Die Unterbänder
können
verschiedene Frequenzen aufweisen, wie oben ausgeführt. Dann
werden die Signalverlaufspacket-Koeffizienten so neu angeordnet, dass
sie an einem Ort im zusammengesetzten Frequenzband, entsprechend
den Orten in den Unterbändern,
benachbart zueinander liegen. Daher können die Koeffizienten am entsprechenden
Ort im Unterband als Nachfolger verteilt werden, und zwar unter
einem Koeffizienten im niederfrequenten Band oder auf hohem Niveau
der Baumstruktur, oder dem Vorläufer.
-
7A zeigt den Signalverlaufspacket-Bereich
und einen Bereich mit neu angeordneten Signalverlaufspacketen im
Frequenzband zum Veranschaulichen eines anderen Ausführungsbeispiels
für den
Neuanordnungsprozess für
Signalverlaufspacket-Koeffizienten. Außerdem zeigt 7B die Koeffizientenverteilung in jedem
Band in der Baumstruktur, wie gemäß dem anderen Ausführungsbeispiel zum
Ausführen
der Nullbaumcodierung zusammengestellt.
-
Wie
es in 7A dargestellt
ist, sind beim anderen Ausführungsbeispiel
des Koeffizienten-Neuanordnungsprozesses jeweils vier benachbarte
Signalverlaufspacket-Koeffizienten in Unterbändern mit derselben Frequenz
als eine Einheit definiert. Ähnlich wie
in 6A können die
demselben Ort in den Unterbändern
entsprechenden Einheiten verschiedene Frequenzen aufweisen. Dann
werden die Einheiten auf solche Weise neu angeordnet, dass sie im
zusammengesetzten Frequenzband benachbart zueinander liegen. Daher
können
bei der in 7B dargestellten
Baumstruktur die Koeffizienten eines der Unterbänder als Nachfolger unter einem
Koeffizienten jeweils eines höheren
niederfrequenten Bands (d. h. eines Vorläufers) verteilt sein.
-
Da
mehr Signalverlaufskoeffizienten in einem speziellen Frequenzband
gesammelt sind, ist das obige Einheiten-Neuanordnungsverfahren wirkungsvoller.
Außerdem
kann das Neuanordnungsverfahren abhängig von den Eigenschaften
der Bilddaten 18, 16, 32 Signalverlaufskoeffizienten als Einheit
neu an ordnen.
-
8 zeigt einen Prozess, gemäß dem ein Signalverlaufspacket-Bild
in ein abschließendes,
neu angeordnetes Bild transformiert wird. Aus der Figur ist ersichtlich,
dass der Koeffizienten-Neuanordnungsprozess wiederholt ausgeführt wird,
bis jedes Unterband ein Signalverlaufskoeffizient wird.
-
Beim
Neuanordnungsprozess werden vom Schritt 1 zum Schritt 2 vier kleinste
Unterbänder
im Frequenzband ausgewählt.
Die vier kleinsten Unterbänder
werden praktisch zu einem größeren Band zusammengefasst.
Im Neuanordnungsprozess werden vom Schritt 2 zum Schritt 3 das größere Band, wie
es im Schritt 2 zusammengesetzt wurde, und andere benachbarte Bänder mit
derselben Größe wie das
größere Band,
erneut zu einem viel größeren Band
angeordnet und zusammengesetzt. Beim Neuanordnungsprozess werden
vom Schritt 3 zum Schritt 4 das viel größere, im Schritt 3 zusammengesetzte
Band und andere benachbarte Bänder
mit derselben Größe wie das
viel größere Band
erneut im größten Band
neu angeordnet und zusammengesetzt. Der Schritt 4 zeigt die gewünschte abschließende Struktur,
die dieselbe wie die des Koeffizienten betreffend Signalverlaufstransformation
ist.
-
Nach
den Schritten 1 bis 4 wird die Nullbaumcodierung auf herkömmliche
Weise ausgeführt.
-
Die
Funktion und die Wirkung der auf die obige Weise arbeitenden Erfindung
werden wie folgt beschrieben.
-
Der
Signalverlaufspacket-Transformationsprozess 100, der der
erste Schritt der Erfindung ist, erfolgt durch eine Transformation
von oben nach unten oder eine solche von unten nach oben.
-
Die
Transformation von oben nach unten ist ein Verfahren zum Ausführen des
Filterungs- und Unterabtastvorgangs sowie einer weiteren Unterteilung des
Bands, wenn bestimmt wird, dass Kompression für das hochfrequente Band nach
der Signalverlaufstransformation wirkungsvoll ist. Andererseits
ist die Transformation von unten nach oben ein Verfahren zum Zusammensetzen
der unterteilten Bänder
durch Ausführen
einer Filterung und Unterabtastung (oder einer umgekehrten Signalverlaufstransformation). Die
Transformation von unten nach oben ist dann erforderlich, wenn ermittelt
wird, dass die Kompression wirkungsvoll ist, nachdem die Filterungs-
und Unterabtastvorgänge
für die
Frequenzbänder
bis zu einem vorbestimmten Niveau wiederholt ausgeführt wurden.
Obwohl durch eines der Verfahren ein Signalverlaufspacket-Transformationsprozess
ausgeführt wird,
kann die Nullbaumcodierung nicht direkt ausgeführt werden, da die Frequenzbänder keine
regelmäßigen Größen aufweisen.
-
Daher
sollten, um eine Nullbaumcodierung für die Signalverlaufspacket-Transformationskoeffizienten
auszuführen,
die Signalverlaufspacket-Koeffizienten auf solche Weise neu angeordnet
werden, wie es in 6A dargestellt
ist. Der Koeffizienten-Neuanordnungsprozess 200 führt zum
selben Effekt wie ein Zusammensetzen der unterteilten Frequenzbänder ohne
Ausführen
der umgekehrten Signalverlaufstransformation. Jeder der Signalverlaufspacket-Koeffizienten
verfügt über Ortsinformation
in einem Bild vor der Transformation. Daher werden beim Neuanordnen
der Signalverlaufspacket-Koeffizienten solche Koeffizienten, die
demselben Ort in jedem Frequenzband entsprechen, an einem entsprechenden
Ort im zusammengesetzten Band gesammelt und positioniert.
-
Wenn
die Nullbaumcodierung an den Signalverlaufspacket-Koeffizienten
ausgeführt
wird, die auf solche Weise neu angeord net wurde, wie es in 6A dargestellt ist, wird
jeder der Bäume
mittels Koeffizienten in verschiedenen Frequenzbändern aufgebaut. Im Ergebnis
bestehen, wenn die vier Koeffizienten in einer Einheit gesammelt
und neu angeordnet werden, wie es in 7A dargestellt
ist, die letzten Zweige jedes Baums aus Koeffizienten aus demselben
Band, wie es in 7B dargestellt
ist. Daher ist die Codierungsfunktion stärker als beim Neuanordnungsprozess
gemäß 6A verbessert. Das Einheiten-Neuanordnungsverfahren
ist dann wirkungsvoller, wenn die Signalverlaufskoeffizienten starke
Korrelation zur Frequenz haben. Ferner können unter Verwendung des Einheiten-Neuanordnungsverfahrens
8, 16, 32 Signalverlaufskoeffizienten neu in einer Einheit angeordnet
werden, und zwar abhängig
von den jeweiligen Eigenschaften der Bilddaten.
-
Das
gesamte Koeffizienten-Neuanordnungsverfahren wird dadurch ausgeführt, dass
der Neuanordnungsprozess in 6A oder 7A ausgehend von kleinen
Bändern
unter Verwendung des oben beschriebenen Verfahrens wiederholt ausgeführt wird. Nach
dem Suchen und Neuanordnen der kleinsten Bänder werden die vier kleinsten
Bänder
praktisch zu einem größeren Band
zusammengesetzt. Dann werden das zusammengesetzte größere Band
und andere benachbarte Bänder
derselben Größe wie der des
größeren Bands
erneut neu angeordnet und zusammengesetzt. Dieser Prozess wird wiederholt,
bis die Signalverlaufspacket-Koeffizienten dieselbe Konfiguration
wie die Signalverlaufspacket-Transformationskoeffizienten aufweisen.
-
Nach
dem Koeffizienten-Neuanordnungsprozess wird die Nullbaumcodierung
auf dieselbe Weise wie die Signalverlaufstransformation ausgeführt.
-
Der
Decodierer durchläuft
umgekehrte Prozesse gegenüber
den obigen, um ein wiedergewonnenes Bild zu erhalten.
-
Da
die Nullbaumcodierung auf die Signalverlaufspacket-Transformation
angewandt wird, die allgemeiner als die Signalverlaufstransformation
ist, kann die Erfindung die Bildqualität bei gleicher Bitrate stärker verbessern,
als es gemäß dem Stand
der Technik möglich
ist. Außerdem
kann die Erfindung die Datenmenge im Fall gleicher Bildqualität verringern.
Ferner verfügt
die Erfindung über
den Vorteil, dass die höchste
Bildqualität
bei Offline-Codieranwendungen wie bei bedarfsorientierten Videodiensten,
Bilddiensten im Web oder einer Vorrichtung zum Speichern und Wiedergeben
von Bildern für
medizinische Zwecke erzielt wird.