PatentDe  


Dokumentenidentifikation DE69832469T2 13.07.2006
EP-Veröffentlichungsnummer 0000956701
Titel MIT EMBEDDED CODING ARBEITENDER BILDCODIERER MIT RATENSTÖRUNGSOPTIMIERUNG
Anmelder Sharp K.K., Osaka, JP
Erfinder LI, Jin, Vancouver, US;
LEI, Shaw-Min, Camas, US
Vertreter Müller - Hoffmann & Partner Patentanwälte, 81667 München
DE-Aktenzeichen 69832469
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 30.01.1998
EP-Aktenzeichen 989060884
WO-Anmeldetag 30.01.1998
PCT-Aktenzeichen PCT/US98/01981
WO-Veröffentlichungsnummer 1998034398
WO-Veröffentlichungsdatum 06.08.1998
EP-Offenlegungsdatum 17.11.1999
EP date of grant 23.11.2005
Veröffentlichungstag im Patentblatt 13.07.2006
IPC-Hauptklasse H04N 7/00(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H03M 7/00(2006.01)A, L, I, 20051017, B, H, EP   H04N 7/26(2006.01)A, L, I, 20051017, B, H, EP   G06T 9/00(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
HINTERGRUND DER ERFINDUNG

Die Erfindung betrifft Embedded-Coding-Techniken, und spezieller betrifft sie einen mit Embedded Coding arbeitenden Bildcodierer mit verbesserter Ratenstörung.

Mit Embedded Coding arbeitende Bildcodierung verbessert die Codierleistungsfähigkeit, und sie ermöglicht es auch, einen Bitstrom an einem beliebigen Punkt abzubrechen und immer noch ein vernünftig gutes Bild zu decodieren. Zu einigen repräsentativen Embedded-Coding-Techniken gehören das von J. Shapiro in "mbedded image coding using zerotree of wavelet coefficients", IEEE Trans. On Signal Processing, Vol. 41, S. 3445–3462, Dez. 1993 erörterte Embedded Coding mit einem Wavelet Koeffizientenbaum nullter Ordnung (EZW = embedded zerotree wavelet), das von A. Said und W. Pearlman in "A new, fast and efficient image codec based on set partitioning in hierarchical trees", IEEE Trans. On Circuit and System for Video Technology, Vol. 6, No. 3, Juni 1996, S. 243–250 erörterte Gruppenpartitionieren in hierarchischen Bäumen (SPIHT = set partitioning in hierarchical trees) sowie das von D. Taubman und A. Zakhor in "Multirate 3-D subband coding of video", IEEE Trans. On Image Processing, Vol. 3, No. 5, Sept. 1994, S. 572–588 erörterte Nullcodieren mittels Schichten (LZC = layered zero coding).

Die Fähigkeit, das Kompressionsverhältnis dadurch einzustellen, dass einfach der codierte Bitstrom abgebrochen wird, macht Embedded Coding für eine Anzahl von Anwendungen attraktiv, wie fortschreitende Bildübertragung, Internetbrowsing, skalierbare Bild- und Videodatenbanken, Digitalkameras, Bildübertragung mit geringer Verzögerung usw. Beispielsweise benötigt bei einem Internet-Bildbrowsevorgang Embedded Coding auf dem Server die Speicherung nur einer Kopie eines Bilds hoher Qualität. Abhängig von Anforderungen durch den Benutzer, Bedingungen der Kanalbandbreite und der Qualität des Browsermonitors können auswählbare Bild-Bitstrommengen an den Browser geliefert werden. In einem frühen Stadium des Browsevorgangs können Bilder mit grober Qualität erfasst werden, damit der Benutzer schnell eine große Anzahl von Bildern durchschauen kann, bevor er ein interessierendes Bild wählt. Dann kann das gewählte Bild vollständig mit besserem Qualitätsniveau heruntergeladen werden. Während des Herunterladeprozesses wird die Bildqualität allmählich verfeinert. Der Benutzer kann den Herunterladeprozess beenden, sobald die Qualität dazu ausreicht, das Bild zu erkennen.

Embedded Coding ermöglicht es, den Bitstrom beliebig abzubrechen. Jedoch sind existierende Embedded-Coding-Techniken nicht für jeden Abbrechpunkt im Bitstrom optimiert. Demgemäß zeigt, wenn der codierte Bitstrom an beliebigen Punkten in seinem Verlauf abgebrochen wird, das durch ihn bis zum Abbrechpunkt erzeugte Bild nicht notwendigerweise die optimale Bildqualität.

Es ist bekannt, dass ein mit fester Rate arbeitender Codierer dann optimal arbeitet, wenn die Ratenstörungs(RD = rate-distortion)änderungen aller codierten Koeffizienten gleich sind; sh. T. M. Cover und J. A. Thomas in "Elements of information theory", Kapitel 13, John Wiley & Sons Inc, 1991. Dieses Kriterium wurde bei der Ratenstörung dazu verwendet, die Quantisierungsschrittgröße Q jedes mehrerer Makroblöcke einzustellen, wobei die Videocodierung dann optimal war, wenn die RD-Änderungen aller Makroblöcke konstant waren. Sh. L.-J. Lin, A. Ortega und C.-C. J. Kuo in "Rate control using spline-interpolated R-D characteristics", SPIE: Visual Communication and Image Processing, Vol. 2727, Orlando, FL, Apr. 1996, S. 111–122 und K. Ramchandran, A. Ortega und M. Vetterli in "Bit allocation for dependent quantization with applications to multiresolution and MPEG video coders", IEEE Trans. On Image Processing, Vol. 3, No. 5, Sep. 1994, S. 533–545.

Xiong und Ramchandran nutzen das Kriterium einer konstanten Ratenstörungsänderung zum Herleiten der optimalen Quantisierung zur Wavelet-Paketcodierung; sh. Z. Xiong und K. Ramchandran in "Wavelet packet-based image coding using joint space-frequency quantization", First IEEE International Conference on Image Processing, Austin, Texas, Nov. 13–16, 1994. Jedoch führen Xiong und Ramchandran keine Optimierung der Ratenstörungsoptimierung für mit Embedded Coding arbeitende Codierer aus.

Die RD-Änderungen bei der Bedeutungserkennung und der Verfeinerungscodierung sind verschieden, und durch Platzieren der Bedeutungserkennung vor der Verfeinerungscodierung kann die Codiereffizienz verbessert werden. Jedoch ist die Verbesserung begrenzt, da nur die Codierordnung einiger weniger Koeffizienten betroffen ist; sh. Li, Cheng und Kuo J. Li, P. Cheng und C.-C. J. Kuo in "On the improvements of embedded zerotree wavelet (EZW) coding", SPIE: Visual Communication and Image Processing, Vol. 2601, Taipei, Taiwan, Mai 1995, S. 1490–1501.

So verbleibt Bedarf an einem mit Embedded Coding arbeitenden Codierer, der die Ratenstörung an vielen verschiedenen Abbrechpunkten in einem codierten Bitstrom optimiert.

ZUSAMMENFASSUNG DER ERFINDUNG

Ein mit optimierter Ratenstörung und Embedded Coding (RDE = rate-distortion optimised embedding) arbeitender Codierer optimiert das Ratenstörungsverhalten durch das Codieren von Koeffizienten in der Reihenfolge ihrer RD-Änderungen. RDE ordnet die verfügbaren Codierbits zunächst dem Koeffizienten mit der steilsten RD-Änderung, die die größte Änderungsabnahme pro Codierbit anzeigt, zu. Der sich ergebende RDE-Bitstrom kann an jedem beliebigen Punkt abgebrochen werden, und es bleibt immer noch das optimale RD-Verhalten erhalten. Um den Overhead der Übertragung der Codierreihenfolge zu vermeiden, wird eine erwartete RD-Änderung durch sowohl den Codierer als auch den Decodierer aus früheren RDE-codierten Bits berechnet. Eine Wahrscheinlichkeitsabschätztabelle von einem QM-Arithmetikcodierer ermöglicht es, die RD-Änderung unter Verwendung einer Nachschlagetabellenoperation herzuleiten. Die RDE-Ratenstörungsoptimierung verbessert die Codiereffizienz über einen großen Bitratenbereich.

Die Ratenstörungs(RD)änderung wird auf Grundlage einer erwarteten Abnahme der Störung und einer erwarteten Zunahme der Codierrate für jedes Bit berechnet.

Beim RDE-Embedded-Coding-Verfahren wird das Bild digitalisiert und dann transformiert, um einen Satz von Koeffizienten mit jeweils mehreren Bits zu erzeugen. Der RDE-Codierer analysiert alle Kandidatenbits wiederholt, bevor er einzelne Bits codiert. Die Kandidatenbits beinhalten ein höchst signifikantes, uncodiertes Bit aus jedem Koeffizienten. Individuelle Ratenstörungswerte für die Kandidatenbits repräsentieren das Verhältnis des Informationsgehalts im Bit pro Kosten beim Übertragen des Bits. Dann werden ausgewählte Bits entsprechend den zugeordneten Störungsverringerungswerten für die Bits codiert.

Bei einer Ausführungsform wird ein Bit unter den Kandidatenbits mit maximalem Störungsverringerungswert codiert. Die Kandidatenbits werden mit dem nächstweniger signifikanten Bit im codierten Bitkoeffizienten und den verbliebenen uncodierten Kandidatenbits aktualisiert. Als Nächstes wird das Bit unter den Kandidatenbits mit dem höchsten Störungsverringerungswert pro Codierbit codiert. Der Prozess wird wiederholt, bis der RDE-Codierer eine spezifizierte Bitrate erreicht.

Bei einer anderen Ausführungsform wird ein Schwellenwert eingestellt, und bei jedem Durchlauf werden die Kandidatenbits mit Störungsverringerungswerten über dem Schwellenwert codiert. Die Kandidatenbits werden mit dem nächstweniger signifikanten Bit im codierten Bitkoeffizienten und den restlichen uncodierten Kandidatenbits aktualisiert. Dann wird der Schwellenwert verkleinert, und es wird ein nächster Satz uncodierter Kandidatenbits verarbeitet. Dann werden die Kandidatenbits im nächsten Satz mit Störungsverringerungswerten über dem verringerten Schwellenwert codiert. Der Prozess wird wiederholt, bis der RDE-Codierer die vorbestimmte Bitrate erreicht.

Die vorstehenden und andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung einer bevorzugten Ausführungsform, die unter Bezugnahme auf die beigefügten Zeichnungen abläuft, leichter erkennbar werden.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist ein Kurvenbild zum Vergleichen eines herkömmlichen codierten Bitstroms mit einem codierten Bit mit Ratenstörungsoptimierung gemäß der Erfindung.

2 ist eine Tabelle, die ein Bitarray nach der Transformation zeigt.

3a ist eine Tabelle, die eine Codierreihenfolge bei einem bekannten, herkömmlichen Codierer zeigt.

3b ist eine Tabelle, die eine Codierreihenfolge eines bekannten, mit Embedded Coding arbeitenden Codierers zeigt.

3c ist eine Tabelle, die eine Codierreihenfolge für einen erfindungsgemäßen, mit Embedded Coding arbeitenden Codierer mit Ratenstörungsoptimierung (RDE) zeigt.

4 ist eine Tabelle, die eine RDE-Abschätzung der Ratenstörungsänderungen auf Grundlage zuvor codierter Bits zeigt.

5 ist ein Blockdiagramm eines erfindungsgemäßen RDE-Codierers.

6 ist eine Tabelle, die Bedeutungserkennungsbits, Verfeinerungsbits und Vorzeichenbits zeigt.

7 zeigt einen Bildkontext für einen bekannten QM-Codierer.

8 ist ein Kurvenbild zum Veranschaulichen von Codierintervall-Unterteilungen, wie sie zum Vorhersagen von Ratenstörungsänderungen im RDE-Codierer verwendet werden.

9 ist ein Kurvenbild, das einen Modifizierfaktor für die Ratenstörungsänderung zur Bedeutungserkennung zeigt.

10 ist ein Flussdiagramm, das zeigt, wie der RDE-Codierer in der 5 Embedded Coding mit optimierter Ratenstörung gemäß der Erfindung ausführt.

11 ist ein Kurvenbild zum Vergleichen der RDE-Ratenstörung mit anderen Codiertechniken.

12 ist eine Tabelle, die ein anderes Beispiel einer Codierreihenfolge für den RDE-Codierer zeigt.

13 ist eine Tabelle zum Vergleichen der Ratenstörung für die verschiedenen Codiertechniken in der 11.

DETAILLIERTE BESCHREIBUNG

Um an jedem Abbrechpunkt in einem Bitstrom das optimale Ratenstörungsverhalten zu erzielen, werden Symbole in der Reihenfolge ihrer stärksten Ratenstörungs(RD)änderung codiert. Das Ergebnis des RDE-Codierers ist in der 1 dargestellt. Es existieren fünf Symbole, a, b, c, d und e, die unabhängig zu codieren sind. Das Codieren jedes Symbols benötigt eine bestimmte Menge an Bits, die durch die horizontale Ratenachse R repräsentiert ist. Das Codieren der Bits führt zu einem bestimmten Ausmaß der Störungsverringerung, wie durch die vertikale Störungsachse D repräsentiert. Herkömmli ches sequenzielles Codieren in der Reihenfolge des Symbols a bis zum Symbol e führt zu der als durchgezogene Linie 12 dargestellten RD-Kurve. Die als gestrichelte Linie dargestellte RD-Kurve zeigt die Effekte, wenn das Codieren so umgeordnet wird, dass das Symbol mit der stärksten RD-Änderung als Erstes codiert wird. obwohl beide Verhaltenskurven denselben RD-Endpunkt erreichen, verhält sich der die gestrichelte Linie 14 erzeugende Codierer viel besser, wenn der ausgegebene Bitstrom bei einer beliebigen Zwischen-Bitrate abgebrochen wird.

Der erfindungsgemäße Codierer mit optimierter Ratenstörung (RDE) ordnet die verfügbaren Codierbits als Erstes dem Koeffizienten mit der stärksten RD-Änderung zu. Die stärkste RD-Änderung ist als Koeffizientenbit definiert, das für die größte Störungsabnahme im Bild pro Codierbit sorgt. Wenn alle Symbole codiert sind, ist die Codierung verlustfrei, und RDE kann ein ähnliches Verhalten wie Nicht-RDE-Codiertechniken liefern. Jedoch verhält sich eine RDE-Optimierung beim Codieren bei Zwischen-Bitraten besser als herkömmliches Embedded Coding. Wenn die zum Codieren der Bilddaten verwendete Filterung oder Transformation nicht auf ganzen Zahlen beruht, verhält sich RDE immer besser als herkömmliches Embedded Coding, da kein verlustfreies Codieren erzielt werden kann.

Die bei RDE ausgeführten zwei Hauptschritte sind eine Berechnung der RD-Änderung und eine Koeffizientenauswahl. Um es zu vermeiden, den Overhead der Codierreihenfolge zu senden, kann RDE auf einer erwarteten RD-Änderung beruhen, die von einem Codierer und einem Decodierer unabhängig berechnet wird. Die erwartete RD-Änderung kann unter Verwendung einer Nachschlagetabellenoperation in Verbindung mit einer Wahrscheinlichkeitsabschätztabelle eines QM-Codierers berechnet werden. Der Betrieb von QM-Codierern ist von W. Pennebaker und J. Mitchell, IBM, in "Probability adaptation for arithmetic coders", US-Patent No. 5,099,440, 24. März 1992; und von D. Duttweiler und C. Chamzas in "Probability estimation in arithmetic and adaptive Huffman entropy coders", IEEE Trans. On Image Processing, Vol. 4, No. 3, März 1995, S. 237–246 beschrieben.

Implementierung von Embedded Coding mit optimierter Ratenstörung (RDE = rate-distortion optimized embedding).

Bei der unten folgenden Erörterung ist davon ausgegangen, dass ein Bild bereits in die Transformationsdomäne gewandelt wurde. Bei der Embedded-Coding-Technik kann jede Transformation verwendet werden, einschließlich einer Wavelet-Zerlegung oder einer DCT-Transformation. Der Einfachheit halber wird RDE in Zusammenhang mit einer Wavelet-Zerlegung beschrieben. Der Index eines Transformationskoeffizienten wird mit i = (s, d, x, y) gekennzeichnet, wobei s eine Skala für die Wavelet-Zerlegung ist, d ein Unterband der Zerlegung ist, wobei LL, LH, HL und HH enthalten sind, und x, y räumliche Positionen innerhalb des Unterbands sind.

Der erste und zweite Buchstabe in d repräsentiert das in vertikaler bzw. horizontaler Richtung angewandte Filter. Der Buchstabe L repräsentiert ein Tiefpassfilter, und H repräsentiert ein Hochpassfilter. N kennzeichnet die Gesamtanzahl der Transformationskoeffizienten. Der Koeffizient an der Indexposition i wird mit wi bezeichnet. Es sei angenommen, dass die Koeffizienten bereits durch Teilung mit dem maximalen Absolutwert der Transformationskoeffizienten T0 normiert wurde: w'i = wi/T0 mit T0 = max|wi| über alle i(1)

Um die Schreibweise zu vereinfachen, wird das ' bei w'i weggelassen, und die normierten Transformationskoeffizienten werden einfach als wi bezeichnet. Da wi zwischen –1 und +1 liegt, kann dieser Wert durch einen Binärbitstrom wie folgt repräsentiert werden: ±0.b1b2b3...bj...(2) wobei bj das j-te höchst signifikante Bit ist, was alternativ als j-te Codierschicht des Koeffizienten wi bezeichnet wird. Der Einfachheit halber wird für die unten folgende Erörterung des Embedded Coding mit optimierter Ratenstörung (RDE) das Codiersymbol als kleinste Einheit definiert, die an den Entropiecodierer geschickt wird, und es handelt sich entweder um ein einzelnes Bit bj des Koeffizienten wi oder das Vorzeichen von wi. Jedoch kann der Umfang der Erfindung leicht auf solche Codieranordnungen ausgedehnt werden, bei denen das Codiersymbol aus einer gleichzeitigen Codierung einer Gruppe von Bits aus jedem Koeffizienten besteht, wie im Fall des Embedded Coding mit einem Baum nullter Ordnung entsprechenden Waveletkoeffizienten (EZW = embedded zerotree wavelet) oder einer Gruppenaufteilung in hierarchische Bäume (SPIHT = set partitioning in hierarchical trees).

Ein durch eine 1D-Wavelettransformation erzeugtes Abtastbitarray ist in der 2 dargestellt. Die Zeile i des Bitarrays repräsentiert den Transformationskoeffizienten wi, und die Spalte j des Bitarrays repräsentiert die Bitebene bj. Das höchst signifikante Bit liegt in der ganz linken Spalte, und das geringst signifikante Bit liegt in der ganz rechten Spalte.

Die Codierreihenfolge des Bitarrays ist für herkömmliche Codierer, mit Embedded Coding arbeitende Codierer und mit Embedded Coding arbeitende Codierer mit optimierter Ratenstörung verschieden. Ein herkömmlicher Codierer, wie ein JPEG- oder ein MPEG-Codierer ermittelt als Erstes die Quantisierungsgenauigkeit oder, äquivalent, die Anzahl der Bits, mit der jeder Koeffizient zu codieren ist, und dann codiert er sequenziell einen Koeffizienten nach dem anderen mittels einer bestimmten Entropiecodierung. Unter Verwendung des Bitarrays der 2 als Beispiel wird das herkömmliche Codieren Zeile für Zeile geordnet, wie es weiter in der 3a dargestellt ist. Eine erste Zeile 16 wird codiert, dann wird eine zweite Zeile 18 codiert, usw., bis die gesamte Bitebene codiert ist.

Embedded Coding unterscheidet sich vom in der 3a dargestellten herkömmlichen Codieren, da das Bild Bitebene für Bitebene (Spalte für Spalte) codiert wird, wie es in der 3b dargestellt ist. Das erste Bit jedes Koeffizienten in einer ersten Spalte 20 wird ausgehend vom ersten Bit im Koeffizienten w0 und endend mit dem ersten Bit im Koeffizienten w7 codiert. Dann startet der mit Embedded Coding arbeitende Codierer die Codierung einer zweiten Spalte 22 von Koeffizienten ausgehend vom zweiten Bit des Koeffizienten w0 und endend mit dem zweiten Bit des Koeffizienten w7. Der Embedded-Coding-Bitstrom kann abgebrochen werden, und er behält immer noch eine gewisse Bildqualität bei, da der höchst signifikante Teil jedes Koeffizienten als Erster codiert wird. Dies ist auch für fortschreitende Bildübertragung geeignet, da die Qualität des decodierten Bilds allmählich zunimmt, wenn immer mehr Bits empfangen werden. Andererseits ist die Codierreihenfolge bei der in der 3b dargestellten Embedded-Coding-Technik für fortschreitende Bildübertragung nicht optimiert.

Bei RDE wird die RD-Änderung &lgr;i für jedes Bit bj berechnet, und es wird mit der größten RD-Änderung codiert. Die tatsächliche Codierreihenfolge bei RDE hängt von der berechneten RD-Änderung ab, und sie ist bildabhängig. In der 3c ist ein Beispiel für eine RDE-Codierreihenfolge dargestellt, bei der eine erste Gruppe von schraffiert dargestellten Bits 24 mit den ersten Bits der Koeffizienten w0 bis w4 als Erstes codiert wird und dann eine zweite Gruppe von Bits 26, die mit entgegengesetzter Schraffierung dargestellt ist, als Nächstes codiert wird. Die Codierreihenfolge in der zweiten Gruppe von Bits 26 beginnt mit dem Codieren des zweiten Bits des Koeffizienten w0, dann des zweiten Bits von Koeffizienten w2 und dann des Koeffizienten w3. Schließlich werden die ersten Bits der Koeffizienten w4 bis w7 codiert. Derselbe Prozess wird für die Schachbrett-Bits in der Gruppe 28, beginnend mit dem zweiten Bit des Koeffizienten w1 und endend mit dem zweiten Bit des Koeffizienten w7 ausgeführt. Der Prozess wird fortgesetzt, bis eine spezifizierte Bitrate erreicht ist oder alle Koeffizienten codiert sind. Eine andere, ausgeklügeltere RDE-Codierreihenfolge ist in der Tabelle 1 der 12 dargestellt. Die Codierreihenfolge, das Codieren des Symbol und sein Wert sind in der Spalte 1, 2 bzw. 3 aufgelistet.

Erwartete Ratenstörungsänderung

Wenn die Optimierung auf der aktuellen Ratenstörungs(RD)änderung beruht, muss der Decodierer über die Codierreihenfolge informiert werden. Es ist ein großer Bitoverhead dazu erforderlich, den Ort des Symbols mit der größten aktuellen RD-Änderung zu übertragen, und dies kann leicht jeglichen Vorteil aufheben, zu dem es durch die Ratenstörungsoptimierung kommen kann. Um ein Übertragen der Codierreihenfolge zu vermeiden, wird eine Vorhersagetechnik dazu verwendet, sowohl im Codierer als auch im Decodierer eine abgeschätzte RD-Änderung zu berechnen.

Die 4 zeigt, wie die Ratenstörungsänderung auf Grundlage der übertragenen Bits abgeschätzt wird. Die durch Horizontalschraffierung markierten Bits wurden bereits codiert. Die mit Schachbrettmuster markierten Bits sind die nächsten Kandidatenbits zur Codierung. Der Buchstabe S zeigt an, dass die RD-Änderung für das Bit unter Verwendung eines Bedeutungserkennungsmodus abgeschätzt wird. Der Buchstabe R zeigt an, dass die RD-Änderung für das Bit unter Verwendung eines Verfeinerungsabschätzmodus abgeschätzt wird.

Für einen bestimmten Codierzeitpunkt sei angenommen, dass die höchstsignifikanten (ni – 1) Bits des Koeffizienten wi codiert wurden. Der nächste zu betrachtende Satz von Kandidatenbits ist das Bit ni von wi, i = 1, ..., N. Bei RDE wird die erwartete RD-Änderung &lgr;i für jedes Kandidatenbit

berechnet, und das Bit mit dem größten Wert &lgr;i wird codiert. Die erwartete RD-Änderung &lgr;i beruht auf der Codierschicht ni, dem Bedeutungsstatus des Koeffizienten wi (ob alle vorigen (ni – 1) Bits von wi Null sind) sowie dem Bedeutungsstatus der umgebenden Koeffizienten.

Bei RDE wird die Störungsabnahme pro Codierbit abgeschätzt, wenn das Bit

codiert wird. Da die zum Berechnen der erwarteten RD-Änderung verwendete Information durch den Codierer aus den zuvor übertragenen Bits unabhängig hergeleitet werden kann, kann er der Codierreihenfolge des Codierers ohne jegliche Overheadübertragung folgen. Bei RDE wird das Symbol codiert, das die maximal zu erwartende Störungsabnahme pro aufgewandtem Bit liefert, wodurch das optimierte Verhalten bei Embedded Coding mit RD erzielt wird, wie es durch die gestrichelte Linie 14 in der 1 dargestellt ist.

In der 5 ist ein Codierer 30 unter Verwendung des RDE-Codierers dargestellt. Digitalisierte Bilder 31 werden durch eine Transformation in Koeffizienten gewandelt. Der RDE-Codierer verfügt über einen RD-Änderungs-Rechner 34, der die RD-Änderungen für die Koeffizientenbits abschätzt, und einen Symbolselektor 36, der Bits für eine anschließende Codierung entsprechend den berechneten RD-Änderungswerten auswählt. Ein Quantisierer 38 quantisiert die gemäß RDE geordneten Bits, und ein Arithmetikcodierer 40 führt ferner eine Codierung der quantisierten Bits aus. Das Ausgangssignal des Quantisierers 38 wird invers quantisiert und von den von der Transformation 32 ausgegebenen Koeffizientenwerten subtrahiert.

Im Vergleich zu herkömmlichen Codierern mit Embedded Coding existieren bei RDE zwei Schlüsseloperationen, nämlich die Berechnung der RD-Änderung und die Koeffizientenauswahl. Beide Operationen müssen effizient sein, damit die Rechenkomplexität bei RDE niedrig bleibt.

Berechnung der Ratenstörungsänderung

Die unten beschriebene Codiertechnik erlaubt es, die erwartete RD-Änderung unter Verwendung einer Nachschlagetabellenoperation herzuleiten. Bei RDE erfolgt die Codierung von Kandidatenbits

unter Verwendung entweder eines Bedeutungserkennungsmodus oder eines Verfeinerungsmodus. Wenn alle bereits codierten Bits in einem Koeffizienten wi den Wert 0 haben, bj = 0 für j = 1, ..., ni – 1, wird der Bedeutungserkennungsmodus dazu verwendet, das Bit
zu codieren, während andernfalls der Verfeinerungsmodus verwendet wird. Der Zweckdienlichkeit halber wird der Koeffizient wi als insignifikant bezeichnet, wenn alle zuvor codierten Bits den Wert 0 haben. Ein insignifikanter Koeffizient wird auf der Decodiererseite mit dem Wert 0 rekonstruiert. Wenn da erste von 0 verschiedene Bit
angetroffen wird, wird der Koeffizient wi signifikant. Das Vorzeichen für den Koeffizienten muss codiert werden, um für eine Unterscheidung von Koeffizientenwerten zwischen positiv und negativ zu unterscheiden, und im Decodierer wird es von 0 verschieden. Von diesem Punkt an wird der Verfeinerungsmodus dazu verwendet, die restlichen Bits des Koeffizienten wi zu codieren.

In der 6 sind die während des Bedeutungserkennungsmodus codierten Bits mit horizontaler Schraffierung markiert, und während des Verfeinerungsmodus codierte Bits sind mit Punkten markiert. Die mit Schachbrettmuster markierten Bits sind Vorzeichenbits, die dann codiert werden, wenn ein Koeffizient gerade signifikant wird. Die erwarteten RD-Änderungen und die Codierverfahren sind für die Bedeutungserkennung und die Verfeinerung verschieden.

Bei der Bedeutungserkennung ist das codierte Bit stark auf '0' hin, d.h. auf insignifikant, ausgerichtet. Das Ergebnis der Bedeutungserkennung wird mit einem QM-Codierer codiert, der die Wahrscheinlichkeit der Bedeutung des Koeffizienten wi (als pi bezeichnet) mittels einer Zustandsmaschine abschätzt und dann dafür eine arithmetische Codierung ausführt. Wie es in der 7 dargestellt ist, wird ein Kontext von 7 Bits verwendet, der aus 6 Bits 44, die mit heller Schraffierung dargestellt sind und den Bedeutungsstatus für die 6 räumlich benachbarten Koeffizienten repräsentieren, und 1 Bit 44 besteht, das mit dunkler Schraffierung dargestellt ist und den Bedeutungsstatus desjenigen Koeffizienten repräsentiert, der derselben räumlichen Position entspricht, jedoch um einen Rang höher liegt als der aktuelle Koeffizient wi (d.h. im unteren Auflösungsband desselben). Durch Überwachen des Musters bisheriger Werte 0 ('insignifikant') und 1 ('signifikant') im selben Kontext (d.h. bei derselben Nachbarschaftskonfiguration), schätzt der QM-Codierer die Signifikanzwahrscheinlichkeit pi des aktuellen Symbols, das gerade analysiert wird, ab. Gemäß weiterer Erläuterung kann, wenn bei der bisherigen Codierung mit demselben Kontext n0 Symbole 0 und n1 Symbole 1 existieren, die Wahrscheinlichkeit p dafür, dass als aktuelles Symbol 1 erscheint, wie folgt durch eine Bayes-Abschätzung berechnet werden: p = (n1 + &dgr;)/(n0 + &dgr; + n1 + &dgr;)(3) wobei &dgr; ein Parameter zwischen [0,1] ist, der mit der a-Priori-Wahrscheinlichkeit des codierten Symbols in Beziehung steht. Der Wahrscheinlichkeit p ist ein Zustand zugeordnet. Abhängig davon, ob das codierte Symbol 1 oder 0 ist, wird die Wahrscheinlichkeit p erhöht oder verringert, und so wird der Codierer in einen anderen Zustand überführt. Durch Verschmelzen des Zustands ähnlicher Wahrscheinlichkeiten und durch einen Kompromiss zwischen der Genauigkeit der Wahrscheinlichkeitsabschätzung und einer schnellen Reaktion auf die Änderung in der Quellencharakteristik kann die Zustandstabelle des QM-Codierers konzipiert werden.

Ein QM-Codierer und seine Wahrscheinlichkeitsabschätzung sind von W. Pennebaker und J. Mitchell, IBM, in "Probability adaptation for arithmetik coders", US-Patent 5,099,440, 24. März 1992; von D. Duttweiler und C. Chamzas in "Probability estimation in arithmetic and adaptive Huffman entropy coders", IEEE Trans. On Image Processing, Vol. 4, No. 3, 3. März 1995, S. 237–246; und W. B. Pennebaker und J. L. Mitchell in "JPEG still image data compression standard", New York: Van Nostrand Reinhold, 1993 beschrieben.

Im Allgemeinen ist die Wahrscheinlichkeitsabschätzung eine Tabellenübergangsoperation. Die abgeschätzte Bedeutungswahrscheinlichkeit pi wird nicht nur zur arithmetischen Codierung verwendet, sondern auch zur Berechnung der RD-Änderung &lgr;i. Andererseits bilden die Verfeinerungs- und Vorzeichenbits einen Ausgleich zwischen '0' und 1'. Ein arithmetischer Codierer codiert sie mit der festen Wahrscheinlichkeit 0,5.

Bei RDE wird die erwartete RD-Änderung &lgr;i für alle Kandidatenbits bn berechnet, wobei es sich um die mittlere Störungsabnahme geteilt durch die mittlere Codierratenzunahme handelt: &lgr;i = E[&Dgr;Di]/E[&Dgr;Ri](4)

Die erwartete RD-Änderung kann nicht durch Mitteln der Störungsabnahme pro Codierrate berechnet werden: &lgr; ≠ E[&Dgr;Di/&Dgr;Ri](5)

Es ist genau dasselbe wie bei der Berechnung der mittleren Geschwindigkeit eines Fahrzeugs, das mit variabler Geschwindigkeit verschiedene Segmente durchfährt. Seine mittlere Geschwindigkeit entspricht dem Gesamtfahrweg geteilt durch die Gesamtfahrzeit, nicht dem Mittel der Geschwindigkeiten in verschiedenen Segmenten.

Gemäß der 8 sei angenommen, dass es vor dem Codieren des Bits

bekannt sei, dass der Koeffizient wi im Intervall (M0,b, M1,b) mit einer Decodierrekonstruktion rb liege. Das Codieren des Bits bn liefert Zusatzinformation zum Koeffizienten wi, und es schränkt ihn auf eines von K Unterintervallen (Mk, a, Mk + 1, a) mit der Decodierrekonstruktion rk, a, k = 0, K – 1 ein. Die Intervallgrenzen genügen der folgenden Beziehung: M0,b = M0,a < M1,a < ... < MK,a = M1,b(6)

Dagegen befindet sich die Decodierrekonstruktion im Allgemeinen in der Mitte des Intervalls: rb = (M0,b + M1,b)/2,(7) und rk,a = (Mk,a + Mk+1,a)/2, k = 0, ..., K – 1.(8)

Die mittlere Störungsabnahme und die mittlere Codierratenzunahme werden wie folgt berechnet:

wobei p(x) die a-Priori-Wahrscheinlichkeitsverteilung des normierten Codiersymbols ist, so dass die Wahrscheinlichkeit für das Gesamtintervall (M0,b, M1,b) den Wert 1 hat:

Wenn das Kandidatenbit bn eine Bedeutungserkennung erfährt, ist der Koeffizient wi innerhalb des Intervalls (–2

, 2
) vor der Codierung von
insignifikant, wobei
die durch die Codierschicht ni bestimmte Quantisierungsschrittgröße ist. Nach dem Codieren von bn kann der Koeffizient wi im Intervall (–2
, –
) negativ signifikant sein, im Intervall (
, 2
) positiv signifikant sein oder im Intervall (–
, 2
) immer noch insignifikant sein. So existieren nach der Bedeutungserkennung drei mögliche Segmente mit den folgenden Segmentgrenzen:

Der Decodierrekonstruktionswert vor der Bedeutungserkennung ist der Folgende: rb = 0(13)

Die Decodierrekonstruktionswerte jedes Segments nach der Bedeutungserkennung sind die Folgenden:

Da die Bedeutungswahrscheinlichkeit pi, d.h. die durch den QM-Codierer abgeschätzte Wahrscheinlichkeit bn = 1 wie folgt formuliert werden kann:

Wenn angenommen wird, dass die a-Priori-Wahrscheinlichkeitsverteilung innerhalb des Bedeutungsintervalls gleichmäßig ist, wird p(x) wie folgt angegeben:

Durch Einsetzen der Gleichungen (12), (13), (14) und (16) in (9) und (10) werden die mittlere Störungsabnahme und die mittlere Codierratenzunahme zur Bedeutungserkennung wie folgt berechnet:

wobei H(p) die Entropie eines Binärsymbols mit der Wahrscheinlichkeit 1, entsprechend p, ist: H(p) = –plog2p – (1 – p)log2(1 – p)(19)

Es ist zu beachten, dass die mittlere Störung (17) nicht mit der a-Priori-Wahrscheinlichkeit innerhalb des Insignifikanzintervalls (–

,
) in Beziehung steht, da innerhalb dieses Intervalls die Decodierwerte vor und nach der Codierung beide 0 sind. Die erwartete RD-Änderung zur Bedeutungserkennung wird aus (17) und (18) hergeleitet:

Die Funktion fs(p) ist der RD-Änderungs-Modifizierungsfaktor, der wie folgt definiert ist:

In der 9 ist der RD-Änderungs-Modifizierungsfaktor zur Bedeutungserkennung dargestellt. Ein Symbol mit höherer Signifikanzwahrscheinlichkeit hat eine größere RD-Änderung und ist so dazu begünstigt, als Erstes codiert zu werden. Die Berechnung der RD-Änderung beruht nur auf der Codierschicht ni und der Signifikanzwahrscheinlichkeit pi, die ihrerseits durch den. Zustand des QM-Codierers abgeschätzt wird.

Die erwartete RD-Änderung zur Verfeinerungscodierung wird in ähnlicher Weise hergeleitet, wobei der Koeffizient wi aus dem Intervall [Si, Si + 2

) in eines der zwei Segmente (Si, Si +
) oder (Si +
, Si + 2
) verfeinert wird. Tn = 2 – ni ist erneut die durch die Codierschicht ni bestimmte Quantisierungsschrittgröße, und Si ist der Start des Verfeinerungsintervalls, der durch die zuvor codierten Bits des Koeffizienten wi bestimmt ist. Die Segmentgrenzen sind die Folgenden:
und die entsprechenden Decodierrekonstruktionswerte sind die Folgenden:

Wenn angenommen wird, dass die a-Priori-Wahrscheinlichkeitsverteilung innerhalb des Intervalls (Si, Si + 2

) gleichmäßig ist, gilt:

Die mittlere Störungsabnahme und die Codierratenzunahme zur Verfeinerungscodierung werden wie folgt berechnet:

E[&Dgr;Ri] = 1(26)

Die erwartete RD-Änderung zur Verfeinerungscodierung ist demgemäß:

Wenn (20) und (27) verglichen werden, ist es ersichtlich, dass für dieselbe Codierschicht ni die RD-Änderung zur Verfeinerungscodierung immer dann kleiner als die zur Bedeutungserkennung ist, wenn die Signifikanzwahrscheinlichkeit pi über 0,01 liegt. So sollte im Allgemeinen die Bedeutungserkennungscodierung vor der Verfeinerungscodierung ausgeführt werden.

Die a-Priori-Wahrscheinlichkeitsverteilung des Koeffizienten wi kann auch durch eine Laplace-Verteilung modelliert werden. In diesem Fall werden die RD-Änderungen zur Bedeutungserkennung und zur Verfeinerung die Folgenden:

wobei &sgr; die Varianz der Laplace-Verteilung ist, die auch aus den bereits codierten Koeffizienten abgeschätzt werden kann, und gsig(&sgr;, T) und gref(&sgr;, T) Laplace-Modifizierfaktoren in der folgenden Form sind:

Jedoch zeigen Versuche, dass die zusätzliche Verbesserung des Verhaltens, zu der es durch das Laplace-Wahrscheinlichkeitsmodell kommt, gering ist. Da das Modell einer gleichmäßigen Wahrscheinlichkeit viel einfacher zu implementieren ist, wird es in allen unten beschriebenen Experimenten verwendet.

Da die Signifikanzwahrscheinlichkeit pi durch den Zustand des QM-Codierers diskret bestimmt wird, und da auch die der Codierschicht ni zugeordnete Quantisierungsschrittgröße

ebenfalls diskret ist, verfügen beide RD-Änderungen der Bedeutungserkennung (20) und der Verfeinerung (27) über eine diskrete Anzahl von Zuständen. Zur schnellen Berechnung werden (20) und (27) vorab berechnet und in einer Tabelle abgespeichert, die durch die Codierschicht ni und den Zustand des QM-Codierers indiziert wird. So entspricht die Berechnung der RD-Änderung einer Nachschlagetabellenoperation. Die RD-Änderung zur Verfeinerung benötigt einen Eintrag pro Codierschicht.

Die RD-Änderung zur Bedeutungserkennung benötigt zwei Einträge pro Codierschicht und pro Zustand des QM-Codierers, da jeder Zustand des QM-Codierers der Bedeutungswahrscheinlichkeit pi (wenn das wahrscheinlichste Symbol 1 ist) oder der Insignifikanzwahrscheinlichkeit 1 – pi (wenn das wahrscheinlichste Symbol 0 ist) entsprechen kann. Daher ist die Gesamtanzahl der Einträge M in der Nachschlagetabelle: M = 2KL + K(32) wobei K die maximale Codierschicht ist und L die Anzahl der Zustände im QM-Codierer ist. Bei der aktuellen Implementierung existieren insgesamt 113 Zustände im QM-Codierer sowie ein Maximum von 20 Codierschichten. Dies führt zu einer Größe der Nachschlagetabelle von 4540 Einträgen.

Koeffizientenauswahl

Der vom Symbolcodierer 36 in der 5 ausgeführte zweite RDE-Schritt besteht im Auswählen des Koeffizienten mit der maximal erwarteten RD-Änderung. Dies kann durch erschöpfende Suche oder durch einen Sortiervorgang über alle Kandidatenbits, was rechenaufwändig ist, erfolgen. Eine alternative Implementierung verwendet eine Vorgehensweise auf Schwellenwertbasis. Das Konzept besteht darin, eine Reihe abnehmender Schwellenwerte &ggr;0 > &ggr;1 > ... > &ggr;n > ... für die RD-Änderung zu erstellen und das gesamte Bild wiederholt durchzufahren. Die Symbole mit einer RD-Änderung zwischen &ggr;n und &ggr;n + 1 werden mit der Iteration n codiert. Die Ratenstörungsoptimierung auf Schwellenwertbasis opfert etwas an Funktionsvermögen, da Symbole mit einer RD-Änderung zwischen &ggr;n und &ggr;n + 1 nicht unterschieden werden können. Jedoch ist die Codiergeschwindigkeit viel höher, da die Suche nach der maximalen RD-Änderung vermieden wird.

In der 10 ist die gesamte RDE-Codieroperation dargestellt. Die linke Hälfte der 10 zeigt den Hauptablauf der RDE-Operation, und die rechte Hälfte entspricht einer detaillierten Beschreibung von Berechnungen der RD-Änderung und der Symbolcodierung. Da die Symbole der Bedeutungserkennung und der Verfeinerung verschieden behandelt werden, sind sie bei der Berechnung der RD-Änderung und bei der Symbolcodierung mit getrennten Zweigen dargestellt.

1) Initialisierung

Das Bild wird in einem Schritt 52 durch eine Transformation, wie eine Wavelettransformation, zerlegt. In einem Block 54 wird ein anfänglicher Schwellenwert &ggr; für die RD-Änderung wie folgt auf &ggr;0 gesetzt: &ggr;0 = (1/16)T02(33)

2) Durchfahren

Das gesamte Bild wird von der grobsten bis zur feinsten Skala in einem Schritt 56 von oben nach unten durchgefahren. Die Skala ist als Auflösung der Waveletzerlegung definiert. Innerhalb jeder Skala werden Unterbänder sequenziell in der Reihenfolge LL, LH, HL und HH codiert. Der Codierer folgt der Rasterlinien-Reihenfolge innerhalb des Unterbands.

3) Berechnung der erwarteten RD-Änderung

Die erwartete RD-Änderung wird für das Kandidatenbit jedes Koeffizienten in Blöcken 66 und 68 berechnet. In einem Entscheidungsblock 64 wird ermittelt, ob der Koeffizient signifikant ist (ob im String der Koeffizientenbits bereits eine binäre 1 aufgetreten ist). Die erwartete RD-Änderung wird im Block 66 entsprechend der Gleichung (20) für den Bedeutungsmodus oder im Block 68 entsprechend der Gleichung (27) für den Verfeinerungsmodus berechnet. Die Berechnung der RD-Änderung ist typischerweise eine Nachschlagetabellenoperation mit Indizierung durch den Zustand des QM-Codierers und der Codierschicht ni.

4) Codierentscheidung

Die berechnete RD-Änderung wird im Entscheidungsblock 70 mit dem aktuellen Schwellenwert &ggr; verglichen. Wenn die RD-Änderung für die aktuelle Iteration kleiner als &ggr; ist, verarbeitet der RDE-Codierer durch Zurückspringen zum Entscheidungsblock 64 den nächsten Koeffizienten. Es werden nur die Kandidatenbits mit einer RD-Änderung über &ggr; codiert.

5) Codieren des Kandidatenbits

Erneut abhängig davon, ob der Koeffizient bereits signifikant ist, wird das Kandidatenbit entweder im Block 74 mit Bedeutungserkennung oder im Block 76 mit Verfeinerung codiert. Der QM-Codierer mit dem in der 7 spezifizierten Kontext wird zur Bedeutungserkennungscodierung im Block 74 verwendet. Ein arithmetischer Codierer mit fester Wahrscheinlichkeit wird dazu verwendet, das Vorzeichen und die Verfeinerung im Block 76 zu codieren. Das Vorzeichenbit wird codiert, unmittelbar nachdem der Koeffizient signifikant wurde. Wie oben angegeben, sind QM-Codierung und arithmetische Codierung dem Fachmann gut bekannt, weswegen sie hier nicht mit weiteren Einzelheiten beschrieben werden.

6) Iteration

Nachdem das gesamte Bild durchgefahren wurde, wird der Schwellenwert der RD-Änderung im Block 66 um einen Faktor &agr; verkleinert: &ggr;←&ggr;/&agr;(34)

Bei der aktuellen Implementierung ist &agr; auf 1,25 eingestellt. Der RDE-Codierer ermittelt im Entscheidungsblock 62, ob die zugewiesene Codierrate erreicht ist. Z.B. ermittelt der RDE-Codierer, ob das komprimierte Bild eine vorbestimmte Anzahl von Bits erreicht hat. Wenn die Codierrate nicht erreicht ist, springt der RDE-Codierer zum Block 56 zurück, und das Codieren wird mit dem neuen, niedrigeren Schwellenwert für die verbliebenen, noch nicht codierten Bits wiederholt.

VERSUCHSERGEBNISSE

Es wurden umfangreiche Versuche ausgeführt, um RDE mit anderen, existierenden Algorithmen zu vergleichen. Testbilder wurden als Lena, Boote, Gold und Barbara gekennzeichnet. Das Bild Lena hat die Größe 512 × 512, alle anderen Bilder sind von der Größe 720 × 576. Das Testbild wird durch ein biorthogonales Daubechies-Filter mit 5 Ebenen und 9–7 Abgriffen zerlegt. Dann wird es durch Schicht-Nullcodierung, LZC (layered zero coding), wie von Taubman und Zakhor vorgeschlagen, Gruppenunterteilung in hierarchische Bäume, wie SPIHT (set partitioning in hierarchical trees), wie von Said von Pearlman vorgeschlagen, bzw. Embedded Coding mit optimierter Ratenstörung (RDE) komprimiert. Als Referenzcodierer wird der SPIHT-Codierer verwendet. RDE sorgt im Wesentlichen für eine Umverteilung des Bitstroms beim LZC, und es verbessert dessen Embeddingverhalten. Daher zeigt RDE im Vergleich mit LZC einen Vorteil bei der Ratenstörungsoptimierung. Die Anfangswahrscheinlichkeit des QM-Codierers bei RDE wird auf ein Ausgleichsverhalten eingestellt (d.h., die Wahrscheinlichkeiten für 1 in allen Kontexten entsprechen 0,5). Es wird keine Vorstatistik für das Bild verwendet. Das Kompressionsverhältnis beim Versuch wird zu 8:1 (1,0 Bits pro Pixel (bpp)), 16:1 (0,5 bpp), 32:1 (0,25 bpp) und 64.1 (0,125 bpp) gewählt. Da alle drei Codierer mit Embedded Coding arbeitende Codierer sind, kann die Codierung bei der genauen Bitrate gestoppt werden.

Die Vergleichsergebnisse sind in der Tabelle 2 der 13 dargestellt. Die Codierrate in Bits pro Pixel ist in der Spalte 2 dargestellt, das Spitzensignal/Rauschsignal-Verhältnis (PSNR = peak signal-to-noise ratio) von LZC und SPIHT sind in Spalten 3 und 4 dargestellt, und das PSNR von RDE und dessen Gewinn gegenüber LZC und SPIHT sind in Spalten 5, 6 bzw. 7 dargestellt. Die RD-Verhaltenskurve für das Bild Barbara ist in der 11 aufgetragen. Die RD-Kurve für RDE ist die fette Linie 78, LZC ist durch die durchgezogene Linie 80 repräsentiert, und SPIHT ist durch die gestrichelte Linie 82 repräsentiert. Bei der RD-Kurve in der 11 ist pro Inkrement einiger weniger Bytes ein PSNR-Punkt berechnet, und sie zeigt, dass RDE besser als sowohl LZC als auch SPIHT ist. Der Funktionsgewinn von RDE gegenüber LZC liegt im Bereich von 0,1 bis 0,8 dB, mit einem Mittelwert von 0,3 dB. Der Gewinn zeigt den Funktionsvorteil der Ratenstörungsoptimierung. Aus der 11 ist es erkennbar, dass die RD-Verhaltenskurve für RDE auch viel glatter als die für LZC ist. Der Effekt ist ein direktes Ergebnis der Ratenstörungsoptimierung. Da der Bitstrom beim Embedded Coding entsprechend abnehmender Ratenstörungsänderung organisiert ist, fällt die Steigung der sich ergebenden Funktionskurve allmählich ab, was zur gleichmäßig ausschauenden RD-Kurve bei RDE führt. Der Funktionsgewinn von RDE gegenüber SPIHT liegt im Bereich von 0,1 bis 1,0 dB, mit einem Mittelwert von 0,4 dB.

Demgemäß wird durch einen mit Embedded Coding arbeitenden Codierer mit optimierter Ratenstörung (RDE) die Leistungsfähigkeit bei Embedded Coding an jedem möglichen Abbrechpunkt dadurch verbessert, dass als Erstes das Symbol mit der stärksten RD-Änderung codiert wird. D.h., dass bei jedem Codiervorgang bei RDE Bits aufgebracht werden, die einer Codierung des Codiersymbols mit der größten Störungsabnahme pro Codierbit entsprechen. Zur Synchronisation zwischen dem Codierer und dem Decodierer verwendet RDE die erwartete RD-Änderung, die sowohl vom Codierer als auch vom Decodierer unabhängig berechnet werden kann. Es wird auch die Wahrscheinlichkeitsabschätztabelle des QM-Codierers genutzt, so dass die Berechnung der RD-Änderung unter Verwendung einer Nachschlagetabellenoperation ausgeführt werden kann.

Nachdem die Prinzipien der Erfindung mittels einer bevorzugten Ausführungsform derselben beschrieben und veranschaulicht wurden, ist es ersichtlich, dass die Erfindung hinsichtlich der Anordnung und hinsichtlich Einzelheiten modifiziert werden kann, ohne dass von derartigen Prinzipien abgewichen wird. Es werden alle Modifizierungen und Variationen beansprucht, die in den Schutzumfang der folgenden Ansprüche fallen.


Anspruch[de]
  1. Ratenstörungs-Optimierungsverfahren für Embedded Coding eines digitalen Bilds, mit den folgenden Schritten:

    – Transformieren des Bilds, um einen Satz von Koeffizienten zu bilden, von denen jeder über mehrere Bits verfügt;

    – Analysieren einer aktuellen Schicht, die das höchstsignifikante uncodierte Bit aus jedem Koeffizienten enthält, durch Berechnen, für jedes Bit in der aktuellen Schicht, einer vorhergesagten Ratenstörungsänderung auf Grundlage einer erwarteten Störungsabnahme und einer erwarteten Codierratenzunahme für dieses Bit; und

    – Codieren eines ausgewählten Bits in der aktuellen Schicht mit einem Entropiecodierer, wobei das Bit entsprechend seiner berechneten, vorhergesagten Ratenstörungsänderung ausgewählt wird, in solcher Weise, dass Bits aus der aktuellen Schicht mit einer stärkeren vorhergesagten Ratenstörungsänderung, und daher einer größeren vorhergesagten Störungsabnahme pro Codierbit, vor Bits mit einer kleineren vorhergesagten Ratenstörungsänderung codiert werden.
  2. Verfahren nach Anspruch 1, bei dem es zum Codieren eines ausgewählten Bits gehört, ein Bit in der aktuellen Schicht mit der maximal vorhergesagten Ratenstörungsänderung zu codieren.
  3. Verfahren nach Anspruch 1, das das Folgende beinhaltet:

    – Einstellen eines Schwellenwerts;

    – Codieren der Bits in der aktuellen Schicht mit einer vorhergesagten Ratenstörungsänderung über dem Schwellenwert;

    – Verkleinern des Schwellenwerts und

    – neu Konfigurieren der aktuellen Schicht von Bits in solcher Weise, dass die höchstsignifikanten uncodierten Bits in jedem Koeffizienten enthalten sind.
  4. Verfahren nach Anspruch 1, bei dem die vorhergesagte Ratenstörungsänderung für ein vorgegebenes Bit entsprechend der Codierschicht für dieses Bit, einem Signifikantstatus des Koeffizienten dieses Bits, der anzeigt, ob alle vorherigen Bits im Koeffizienten Null sind, und der Signifikanzzustände der umgebenden Koeffizienten erzeugt wird.
  5. Verfahren nach Anspruch 1, bei dem die vorhergesagte Ratenstörungsänderung für jedes Bit entsprechend einem Bedeutungserkennungsmodus oder einem Verfeinerungsmodus hergeleitet wird.
  6. Verfahren nach Anspruch 5, bei dem der Bedeutungserkennungsmodus alle signifikanten Bits in den Koeffizienten codiert, die als alle Bits bis zu einem ersten Binärwert definiert sind, und der Verfeinerungscode alle Verfeinerungsbits codiert, die als alle Bits nach dem ersten Binärwert 1 definiert sind.
  7. Verfahren nach Anspruch 6, bei dem die Ratenstörungsänderung wie folgt für die signifikanten Bits hergeleitet wird:
    wobei die Funktion fs(p) der Signifikanz-Modifizierungsfaktor für die RD-Änderung ist, der wie folgt definiert ist:
    eine durch die Codierungsschicht ni bestimmte Quantisierungsschrittgröße ist, pi die Signifikanzwahrscheinlichkeit dafür ist, dass für ein Kandidatenbit
    = 1 gilt, und H(p) die Entropie eines Binärsymbols ist.
  8. Verfahren nach Anspruch 6, bei dem die für die Verfeinerungsbits hergeleitete Ratenstörungsänderung die Folgende ist:
    wobei
    eine durch die Codierungsschicht ni bestimmte Quantisierungsschrittgröße ist.
  9. Verfahren nach Anspruch 6, bei dem die Ratenstörungsänderung für die Signifikanzbits und die Verfeinerungsbits entsprechend einer Laplace-Wahrscheinlichkeitsverteilung hergeleitet wird.
  10. Verfahren nach Anspruch 5, bei dem der Bedeutungserkennungsmodus einen QM-Codierer verwendet, der entsprechend einem Signifikanzstatus des Bits und benachbarten Koeffizienten entsprechend eine Wahrscheinlichkeit dafür abschätzt, dass das Bit signifikant ist.
  11. Verfahren nach Anspruch 5, beinhaltend das vorab erfolgende Berechnen und Abspeichern einer Tabelle, die Werte für die Ratenstörungsänderung zur Signifikanzbitcodierung und Verfeinerungsbitcodierung enthält, wobei eine Indizierung durch Werte der Ratenstörungsänderung entsprechend der Codierschicht und einem Codiererzustand erfolgt, der der Wahrscheinlichkeit für die Signifikanz oder Insignifikanz entspricht, dass das wahrscheinlichste Bit während des Bedeutungserkennungsmodus den Wert 1 oder 0 hat.
  12. Mit Embedded Coding arbeitender Codierer zur Codierung mit optimierter Ratenstörung für ein digitalisiertes Bild, mit:

    – einer Transformationseinrichtung zum Codieren des digitalisierten Bilds, um dadurch einen Satz von jeweils mehrere Bits enthaltenden Koeffizienten zu erzeugen;

    – einer Berechnungseinrichtung für die Ratenstörungsänderung zum Analysieren eines Satzes von Kandidatenbits, der aus jedem Koeffizient ein höchstsignifikantes uncodiertes Bit enthält, und zum Ermitteln, für jedes Kandidatenbit, einer vorhergesagten Ratenstörungsänderung auf Grundlage einer erwarteten Störungsabnahme und einer erwarteten Codierungsratenzunahme für dieses Bit; und

    – einer Symbolauswähleinrichtung zum Auswählen einer Reihenfolge zum Codieren der Bits auf Grundlage der vorhergesagten Ratenstörungsänderung für jedes Bit in solcher Weise, dass Bits mit einer größeren vorhergesagten Ratenstörungsänderung, und damit einer größeren vorhergesagten Störungsabnahme pro Codierungsbit, vor Bits mit einer kleineren vorhergesagten Ratenstörungsänderung codiert werden.
  13. System nach Anspruch 12, bei dem die Berechnungseinrichtung für die Ratenstörungsänderung in einem Bedeutungserkennungsmodus arbeitet, wenn alle zuvor codierten Bits im Koeffizienten Null sind, und sie in einem Verfeinerungsmodus arbeitet, nachdem während des Bedeutungserkennungsmodus im Koeffizienten ein erstes von Null verschiedenes Bit erkannt wurde.
  14. System nach Anspruch 13, bei dem die Recheneinrichtung für die Ratenstörungsänderung eine Nachschlagetabelle mit einem Ratenstörungseintrag für den Verfeinerungsmodus für jede Schicht von Koeffizientenbits und zwei Ratenstörungseinträge für den Bedeutungserkennungsmodus, einen ersten Eintrag dafür, dass ein Symbol 1 das wahrscheinlichste Symbol ist, und einen zweiten Eintrag dafür, dass ein Symbol 0 das wahrscheinlichste Symbol ist, für jeden von mehreren Zuständen des QM-Codierers, dem jeweils eine Signifikanzwahrscheinlichkeit zugeordnet ist, enthält.
Es folgen 9 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com