DE3886804T2 - Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist. - Google Patents

Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist.

Info

Publication number
DE3886804T2
DE3886804T2 DE3886804T DE3886804T DE3886804T2 DE 3886804 T2 DE3886804 T2 DE 3886804T2 DE 3886804 T DE3886804 T DE 3886804T DE 3886804 T DE3886804 T DE 3886804T DE 3886804 T2 DE3886804 T2 DE 3886804T2
Authority
DE
Germany
Prior art keywords
value
values
qerr
pixel
merr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3886804T
Other languages
English (en)
Other versions
DE3886804D1 (de
Inventor
Cesar A Gonzales
William B Pennebaker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3886804D1 publication Critical patent/DE3886804D1/de
Publication of DE3886804T2 publication Critical patent/DE3886804T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf die Bilddatenkompression und spezieller auf die Verringerung der Verzerrung bei Bildern, die unter Verwendung prädiktiver Codierungsverfahren datenkomprimiert und rekonstruiert werden.
  • Es wird Bezug genommen auf die verbundenen Patente EP-A-114 961, EP-A-0 260 461 (veröffentlicht am 23.3.1988) und EP-A-0 272 505 (veröffentlicht am 29.6.1988).
  • Ein Bild wird typischerweise durch Reihen aus Bildelementen dargestellt, die als "Pixel" oder "Pels" bezeichnet werden. Um das Bild als digitale Daten zu charakterisieren, wird eine Eigenschaft (z. B. Helligkeit, Rotintensität, Blauintensität oder dergleichen) jedes Pixels normalerweise durch einen Wert repräsentiert, der als "Graustufen"-Wert bezeichnet wird. Für die Helligkeit reicht der Graustufenwert über eine Mehrzahl von Schritten von weiß bis schwarz. Bei einer 8-Bit-Darstellung kann jedes Pixel beispielsweise durch einen Graustufenwert zwischen 0 und 255 (2&sup8; - 1) repräsentiert sein. Für ein Bild, das 512 Pixel pro Zeile und 480 Zeilen hat, wären insgesamt 512x480x8=1966080 Bit erforderlich, um alle Pixel des Bildes darzustellen. Dies ist eine Form der Pulscodemodulation (PCM).
  • Bei Anwendungen, bei denen Bilddaten schnell zu übertragen sind und/oder in einem begrenzten Speicher enthalten sein müssen, ist es oft erforderlich, die Graustufen-Information für die Pixel in einem Bild durch weniger als die nahezu zwei Millionen angegebenen Bits darzustellen. Das Verfahren zur Reduzierung der erforderlichen Anzahl von Bits wird als Bilddatenkompression bezeichnet. Mit der Datenkompression ist ein komplementärer Prozeß (d. h. Dekompression) verknüpft, durch den die ursprünglichen Pixelwerte aus den komprimierten Daten approximiert werden können.
  • Ein Verfahren zur Kompression von Bilddaten nach dem Stand der Technik schließt eine prädiktive Codierung ein. Gemäß den Grundlehren des prädiktiven Codierens wird für ein "aktuelles" Pixel (d. h. ein Pixel, das gerade verarbeitet wird) ein vorhergesagter Wert - beruhend auf einem oder mehreren Nachbarpixel-Werten - bestimmt. Die Differenz D zwischen dem Original-Graustufenwert für das aktuelle Pixel und dessen vorhergesagtem Wert wird einem entsprechendem Quantisierungsniveau einer zuvor definierten Quantisierungstabelle zugeordnet. In der Quantisierungstabelle wird jeder verschiedener Bereiche von Differenzwerten durch eine entsprechende QN-Stufe (wobei N das Niveau ist) bestimmt. Beispielsweise entspricht QN = Q0 Differenzwerten, die sich über einen ersten Bereich erstrecken, QN = Q1 entspricht Differenzwerten, die sich über einen zweiten Bereich erstrecken usw. . Typischerweise sind die QN-Stufen in der Quantisierungstabelle symmetrisch zur Q0-Stufe. Zur Vereinfachung wird nur auf den "positiven" Abschnitt der Quantisierungstabelle Bezug genommen, bei dem N ≥ 0 (z. B. Q0, Q1, Q2 usw.). Mit jeder Stufe ist ein vorbestimmter Wert verknüpft; zum Beispiel kann Q0 als 0, Q1 als 4, Q2 als 12 usw. bestimmt sein. (Wegen der erwähnten Symmetrie hat das erste Quantisierungsniveau unterhalb Q0 einen Wert von -Q1 bzw. -4; das zweite Quantisierungsniveau unterhalb Q0 hat einen Wert von -12 usw. .) Dementsprechend wählt, wenn die Größe des Differenzwertes für ein gegebenes Pixel im ersten Bereich ist, der prädiktive Codierer QN = Q0, und der dafür gewählte Wert (nämlich 0) wird bereitgestellt. Ähnlich wird, wenn der Differenzwert für ein gegebenes Pixel im zweiten (positiven) Bereich ist, QN = Q1 und der gewählte Wert hierfür (nämlich 4) wird bereitgestellt. Besser als eine 8-Bit-PCM-Darstellung gewähleistet das prädiktive Codieren, daß der gewählte Wert für die QN-Stufe dazu dient, die Graustufe eines Pixels darzustellen. Ein spezieller bekannter Typ des prädiktiven Codierens ist die differentielle Pulscodemodulation (DPCM).
  • In Übereinstimmung mit dem prädiktiven Codieren sind die Pixeldaten durch Aufsuchen des Wertes für QN anstelle des ursprünglichen (8-Bit-)Graustufenwertes stark komprimierbar.
  • Ein anderes Kompressionsverfahren nach dem Stand der Technik, das oft in Kombination mit dem prädiktiven Codieren verwendet wird, wird als "Entropiecodieren" oder "Codieren mit variabler Länge" bezeichnet. Beim Entropiecodieren wird die Anzahl der zur Darstellung von Ereignissen verwendeten Bits so gewählt, daß sie zur Ereigniswahrscheinlichkeit umgekehrt verknüpft ist. Im Zusammenhang mit dem prädiktiven Codieren wird das Entropiecodieren auf die Quantisierungsniveaus (oder dafür ausgewählte Werte) angewandt. D. h., die wahrscheinlicheren Quantisierungsniveaus sind durch Codeworte dargestellt, die durch relativ kurze (Bit-)Längen gekennzeichnet sind, während weniger wahrscheinliche Quantisierungsniveaus durch vergleichsweise größere Längen repräsentiert sind. Die korrekte Zuordnung von Codewortlängen wird durch Konzepte der Informationstheorie vorgeschrieben; es sollte jedoch intuitiv klar sein, daß die Kompression um so besser ist, je öfter die kurzen Codeworte verwendet werden. Im Hinblick darauf wird bei Bildern, wo Flächen mit gleicher Graustufe üblich sind, das wahrscheinlichste Quantisierungsniveau QN = Q0 (wobei Q0 = 0 ist) sein, und das kürzeste Codewort ist diesem Fall zugeordnet.
  • Ein weiterer Aspekt des prädiktiven Codierens ist die Rekonstruktion von Graustufenwerten für Pixel, nachdem deren Originalwerte prädiktiv codiert wurden. Bei der Erzeugung eines rekonstruierten Wertes für ein "aktuelles" Pixel werden dessen vorhergesagter Wert P und der für das Quantisierungsniveau (z. B. Q1 = 4) gewählte Wert summiert. Der rekonstruierte Wert X' sollte nahe beim ursprünglich eingegebenen Wert X liegen, kann aber von diesem abweichen. Da sich D und sein zugeordneter QN-WERT unterscheiden können, können sich der Originalwert X = (P + D) und der rekonstruierte Wert X'= (P + QN-WERT) unterscheiden. Die größte Differenz hängt vom Bereich von D-Werten ab, die auf einen gegebenen QN-WERT quantisiert werden.
  • Bezeichnenderweise können unterschiedliche Pixel, die den gleichen Original-Graustufenwert X haben, unterschiedliche entsprechende rekonstruierte Werte X' haben. Darüberhinaus haben beim prädiktiven Codieren aufeinanderfolgende Pixel in einer Zeile, die in einer Fläche mit gleicher Original-Graustufe liegt, oft denselben X'-Wert, wobei sich der rekonstruierte Wert X' durch die Zeile fortpflanzt. Wenn eine erste Zeile einen rekonstruierten Wert X'&sub1;, eine zweite Zeile einen anderen rekonstruierten Wert X'&sub2; und eine dritte Zeile ihren eigenen entsprechenden rekonstruierten Wert X'&sub3; fortpflanzt, werden die Pixel in jeder Zeile Graustufen von geringfügig unterschiedlicher Größe zeigen. Wenn die Größen hinreichend unterschiedlich sind, um wahrnehmbar zu sein, sind die Schwankungen als Verzerrung oder Streifenbildung in einem aus den rekonstruierten Pixelwerten gebildeten Bild zu sehen.
  • Andererseits sind, wenn der dem Q0-Niveau entsprechende Bereich von Differenzwerten breit ist, mögliche Schwankungen zwischen entsprechenden rekonstruierten Werten X' der Zeilen in einem Gebiet ursprünglich gleicher Graustufe entsprechend groß. In einem solchen Falle wird die Streifenbildung ein Problem.
  • Eine Verringerung des Bereiches der Differenzwerte, die dem Q0- Niveau zugeordnet sind, könnte auf den ersten Blick als Lösung des Streifenbildungs-Problems erscheinen. Wenn der Q0-Niveaubereich der Differenzwerte genügend klein ist, wäre eine Schwankung des rekonstruierten Pixelwertes von einer Zeile zu einer anderen nicht wahrnehmbar.
  • Jedoch ist mit einer Verkleinerung des Bereiches des Q0-Niveaus ein großer Verlust bei der Datenkompression verbunden.
  • Dies führt zu einem Dilemma: Um eine höhere Datenkompression zu erreichen, sollte der dem Q0-Niveau zugeordnete Bereich an Differenzwerten groß sein; ein großer Bereich von Differenzwerten für Q0 kann jedoch zur Streifenbildung führen. Bei Flächen niedriger Bildaktivität (d. h. Flächen, bei denen die Bildpunkte im wesentlichen gleiche Original-Graustufenwerte haben), ist das Erreichen einer Datenkompression ohne wahrnehmbare Streifenbildung ein bedeutendes Problem gewesen.
  • Ein weiteres Problem, das mit einer Verzerrung in Form der Streifenbildung verknüpft ist, schließt eine Erscheinung ein, die als "Mach-Bandbildung" bezeichnet wird. Speziell werden "schrittweise" Graustufen-Übergänge in einem Bild, wenn sie durch einen Menschen betrachtet werden, typischerweise übereichnet. Der Unterschied zwischen zwei Graupegeln - bei einem Stufenübergang - erscheint somit größer als deren tatächliche Differenz und führt zu einer unerwünschten Verzerrung.
  • Ein Dreifach-Postprozessor-Filter wurde in der früheren Technologie, z. B. nach der US-Patentschrift 4 504 864 oder der entsprechenden EP-A-114 961 vorgeschlagen, um das Problem der übermäßigen Wahrnehmung von Streifen anzugehen. Jedoch erfordert das Dreifach-Verfahren eine lange Ausführungszeit. Der erste Durchgang ist ein Nächster-Nachbar-Filter, der zweite Durchgang ist ein Zwei-Nächste-Nachbarn-Filter und der dritte Durchgang ist ein Vier-Nächste-Nachbarn-Filter. Auch ohne Benutzung des dritten Durchgangs erfordert der zweite Durchgang des Zwei- Nächste-Nachbarn-Filters auf einem IBM PC-AT 17 Sekunden unter Verwendung einer hochgradig optimierten, registerintensiven Assemplersprach-Ausführung. Eine vollständige Software-Ausführung des ursprünglichen Nachverarbeitungsfilters ist somit unpraktisch.
  • Entsprechend der vorliegenden Erfindung werden - wie beansprucht - eine Vorrichtung und ein Verfahren zum Verringern der Streifenbildung- Stufengröße in einem aus rekonstruierten Pixelwerten abgeleiteten Bild und auch - vorzugsweise - zur Verringerung der Einflüsse des "Mach-banding" ohne eine wesentliche Verschlechterung der Codierungs-Kompression bereitgestellt.
  • Speziell schließt die vorliegende Erfindung zwei Verfahrensweisen ein, die vorzugsweise kombiniert werden. Die erste Verfahrensweise, die angewandt wird, um Flächen niedriger Bildaktivität zu beeinflussen, bei denen das ausgewählte Quantisierungsniveau Q0=0 ist, wird als "Fehlerübertrag" bezeichnet. Unter Annahme eines symmetrischen Quantisierers, schließt sie (a) das erneute Zuordnen des Quantisierungsfehlers QERR=D an einen MERR-Wert ein, wobei jeder QERR-Wert mit QERR ≤ (+Q1- WERT)/2 an MERR=0 neu zugeordnet wird, (b) das Aufsummieren der MERR-Werte für aufeinanderfolgende Pixel, wobei das Q0-Niveau wieder ausgewählt wird, und (c) das Anpassen des QN-Wertes eines Pixels und das Rücksetzen der Summe, wenn die Größe der Summe der MERR-Werte einen vorbestimmten Schwellwert THRERRA überschreitet, ein. Bei einer symmetrischen QN-Tabelle erzwingt das Erreichen der Schwelle THRERRA eine positive oder negative Korrektur des gewählten Quantisierungswertes um den Wert, der dem Q1-Niveau entspricht, wobei Ql das kleinste Quantisierungsniveau ungleich Null ist. Diese Korrektur ist im Endeffekt eine Form der "Fehlerübertragungs"-Korrektur Es ist zu beachten, daß das Vorzeichen der Korrektur dem Vorzeichen des aufsummierten MERR entsprechen wird.
  • Die erste Verfahrensweise spürt im Endeffekt einen durch den Quantisierungsprozeß eingeführten akkumulierten Fehler auf eine besonders wirksame Weise auf, indem die QERR-Werte erneut MERR- Werten zugeordnet werden, mit der Einschränkung, daß QERR MERR=0 zugeordnet wird, wenn QERR eine vorbestimmte Beziehung zu Q1 hat.
  • Die Schwelle THR0 ist als das Entscheidungsniveau definiert, das den Bereich von DPCM-Differenzwerten bestimmt, die auf einen Quantisierungswert Null einzuordnen sind. ßei Kombination mit dem Entropiecodieren ermöglicht ein größerer Wert von THR0 eine größere Bilddatenkompression.
  • In Übereinstimmung mit der ersten Vorgehensweise wird THR0 über das von J. Max in einem Artikel mit dem Titel "Quantizing for minimum distortion", IRE Transactions on Information Theory, IT- 6, 7, 1960 vorgeschlagene Niveau angehoben.
  • Die Neuzuordnung des Quantisierungsfehlers vor der Integration ist von fundamentaler Bedeutung für die erste Verfahrensweise. Die Neuzuordnung, die über eine Nachschlagetabelle ausgeführt werden kann, ordnet den Quantisierungsfehlern, deren Größe kleiner oder gleich (+Q1-WERT)/2 ist, einen Wert von Null zu. Diese Bedingung vermeidet zyklische Grenzschwingungen - die durch den nichtlinearen Charakter des Quantisierungsprozesses eingeführt werden -, die die Kompressionsfaktoren verringern würden, die man bei einem großen THR0 erhält. Außerdem verringert die Korrektur immer dann, wenn die Schwelle THRERRA erreicht wird, die Größe des Quantisierungsfehlers auf Werte kleiner oder gleich (+Q1-WERT)/2. Auf diese Weise wird Auslöschung der größten Streifen auf einem ähnlichen Niveau wie dem, das durch den Quantisierer von J. Max erhalten wird, erreicht, aber mit größerer Kompression.
  • Isolierte Quantisiererfehler, die relativ groß sind, werden nicht automatisch den Korrekturprozeß auslösen. Nur der integrierte Effekt dieser Fehler kann die Korrektur auslösen. Man kann sich dieses Schema als einen Filter für unechte Punkte denken. Ähnlich werden Quantisiererfehler niedriger Amplitude - jene, die einem Wert von null zugeordnet werden - unabhänigig von ihrer räumlichen Häufigkeit vollständig ignoriert.
  • Die erste Vorgehensweise dient dazu, die Graustufenwerte zu beeinflussen, um horizontale Streifenbildung ohne Beeinträchtigung der Kompression zu verringern.
  • Die zweite Vorgehensweise wendet sich dem "Mach-banding"-Problem zu. Im besonderen schlleßt die zweite Vorgehensweise einen Postprozessor-Filter ein, der den rekonstruierten Wert eines Pixels in einem Gebiet niedriger Aktivität (d. h. relativ gleichförmige Graustufe) auf der Grundlage von Werten für ausgewählte Nachbar-Pixel umrechnet. Speziell wird in einem Bild, bei dem ein aktuelles Pixel einen anfänglichen Graustufenwert I&sub0; und der oben benachbarte Pixel einen Graustufenwert I&sbplus;&sub1; und der unten benachbarte Wert einen Graustufenwert I&submin;&sub1; hat, ein gefilterter Wert I'&sub0; für den aktuellen Pixel als
  • I&sub0; + W[I&submin;&sub1; - I&sub0;)C- + (I&sbplus;&sub1; - I&sub0;)C+)1
  • bestimmt, wobei die beiden Differenzen in der Größe jeweils durch einen entsprechenden vordefinierten Wert C- oder C+ begrenzt sind, und wobei W im wesentlichen gleich 1 ist.
  • Darüberhinaus wird, wenn der Pixel I&submin;&sub1; vorher entsprechend der Gleichung
  • interpoliert wird (die Indizes kennzeichnen den Abstand vom aktuellen Pixel) und wenn der Pixel I&sbplus;&sub1; vorher entsprechend der Gleichung:
  • interpoliert wird, wird der gefilterte Wert, den Grenzbedingungen unterworfen,:
  • wobei W im wesentlichen gleich 1 ist.
  • Bezüglich des Postprozessors ist es von Bedeutung, daß der Wichtungsfaktor W vorzugsweise gleich 1 gesetzt wird. Nach dem Stand der Technik (z. B. US-Patentschrift US-A-4 504 864) schlägt eine Mehrschrittfilterung, die Terme mit Summen von Differenzen benutzt, einen Wichtungsfaktor von etwa 3/4 vor. D. h. ein erster Durchgang nach dem Stand der Technik beinhaltet das Berechnen eines Wertes erster Ordnung:
  • I'&sub0; = I&sub0; + 1/4[(I&submin;&sub1; - I&sub0;)C + (I&sbplus;&sub1; - I&sub0;)C].
  • Ein auf den zwei nächsten Nachbarn basierender Filter zweiter Ordnung beruht auf einem ähnlichen Ausdruck:
  • I²&sub0; =I¹&sub0;+1/8[I&submin;&sub2;-I&sub0;)C2+2(I&submin;&sub1;-I&sub0;)C2+2(I&sbplus;&sub1;-I&sub0;)C2+(I&sbplus;&sub2;-I&sub0;)C2].
  • Unter Anwendung der Interpolationsausdrücke auf die Gleichung des zweiten Schrittes wird I²&sub0; approximiert als:
  • I²&sub0; = I¹&sub0; + 1/2[I&submin;&sub1; - I&sub0;) + (I&sbplus;&sub1; - I&sub0;)],
  • was dieselbe Form wie der erste Durchgang ist, außer daß der Wichtungsfaktor 1/2 anstelle von 1/4 ist. (Für kleine Differenzen wird der Abschneidungsfaktor vernachlässigt.) Zusammen liefern die beiden Durchgänge einen Wichtungsfaktor von etwa 3/4 für die Summe von Differenzen. Bei Experimenten mit menschlichen Beobachtern hat der Wichtungsfaktor W gleich (oder fast gleich) 1 verbesserte Ergebnisse, d h. Glättungen der wahrgenommenen Übergänge, erbracht und verringert die Streifenbildung.
  • Der einzelne Durchgang mit einem Gewicht von eins ersetzt somit in nützlicher Weise die beiden Durchgänge bei der Mehrschrittfilterung. Außerdem spart im Vergleich mit dem früheren Mehrschrittverfahren der vorliegende Postprozessor Rechenzeit, indem die Filterung in einem einfachen einzelnen Durchlauf vorgenommen wird. Von besonderer Bedeutung ist es, daß der vorliegende Postprozessor leicht in Datenkompressionsverfahren integriert wird, bei denen abwechselnde Zellen, die ein erstes Feld bilden, - mit rekonstruierten Pixelwerten, die hierfür erzeugt werden - komprimiert werden und bei denen Werte für Pixel in den verbleibenden Zeilen (eines zweiten Feldes) aus den rekonstruierten Werten der Pixel des erster Feldes interpoliert werden.
  • Weil der vorliegende Postprozessor nur eine einfache Struktur mit einem Nächster-Nachbar-Filter bei abwechselnden Zeilen des Bildes verwendet und weil das Filter darin integriert ist und von ihm profitiert, erforderten die Berechnungen für den Dekompressionsalgorithmus des zweiten Feldes nur etwa 1,2 Sekunden IBM PC-AT (6 MHz)-Rechenzeit mehr als die für das Dekomprimieren eines Bildes normalerweise erforderliche Rechenzeit. Die Verwendung der zweiten Vorgehensweise der Erfindung führt zu einer Verringerung in der benötigten Zeit zum Dekomprimieren der Daten von etwa 30 Sekunden auf weniger als 12 Sekungen.
  • Fig. 1 ist ein Blockschaltbild, das ein Bilddatenkompressions-/-dekompressionssystem mit einer Fehlerübertragung durch prädiktiver Codierung und einem Postprozessor mit vertikalem Filter gemäß der Erfindung zeigt.
  • Fig. 2 ist ein Flußdiagramm, das die Vorgehensweise der Erfindung zeigt und die Verarbeitung einer Zeile eines raster-abgetasteten Bildes darstellt.
  • Fig. 3 ist eine Darstellung, die eine hypothetische Zeile von Bilddaten unter vier unterschiedlichen Sätzen von Bedingungen zeigt: (a) ursprüngliche Daten, (b) rekonstruierte Daten ohne Fehlerübertragungskorrektur, (c) rekonstruierte Daten mit Fehlerübertragungskorrektur und Neuzuordnung von Quantisiererfehlern und (d) rekonstruierte Daten mit Fehlerübertragungskorrektur und 1:1-Neuzuordnung von Quantisiererfehlern.
  • Fig. 4 ist eine grafische Darstellung, die die Graustufenwerte von in einer Pixelspalte angeordneten Pixeln zeigt.
  • Fig. 5 ist eine grafische Darstellung, die zeigt, wie das menschliche visuelle System die in Fig. 4 dargestellten Stufenübergänge überbetont.
  • Fig. 6 ist eine Darstellung, die Pixel in einem Bild zeigt, wobei Pixel 12 ein Pixel ist, der auf der Grundlage von vorher bestimmten Werten A2 und B2 benachbarter Pixel verarbeitet wurde.
  • Fig. 7 bis Fig. 10 zeigen die Daten für eine Spalte von rekonstruierten Bilddaten, die unter vier verschiedenen Bedingungen verarbeitet wurden, wobei die ursprünglichen Quelldaten einem Gebiet mit einem konstanten Graustufenwert entsprechen.
  • Im allgemeinen wendet ein Bilddatenkompressions-/dekompressionssystem gemäß der vorliegenden Erfindung zuerst eine prädiktive Verschlüsselung auf Graustufendaten für ein "aktuelles" Pixel an, um einem QN-Wert dafür abzuleiten, und unterwirft danach den abgeleiteten QN-Wert einer Entropiecodierung, um komprimierte Bilddaten zu erzeugen. Die komprimierten Bilddaten können wie gewünscht in komprimierter Form gespeichert oder übertragen werden. Bei der Dekomprimierung werden die zur Entropie- und prädiktiven Codierung inversen Operationen auf die komprimierten Daten angewandt, um Graustufenwerte zu erzeugen, die im wesentlichen den ursprünglich eingegebenen Graustufenwerten entsprechen.
  • Unter Bezugnahme auf Fig. 1 ist eine bevorzugte Ausführung eines Bildkompressions-/-dekompressionssystems 100 gemäß der Erfindung YO 987 026 gezeigt. Es wird gezeigt, daß ein vorher erzeugter Wert D in einen Quantisierer 102 und den Schalter 106 eintritt. Der Wert D ist vorzugsweise ein Differenzwert, der bestimmt wird, indem zuerst ein Vorhersagewert P für das aktuelle Pixel erzeugt und P vom ursprünglichen Graustufenwert X des aktuellen Pixels subtrahiert wird. Der Vorhersagewert P kann auf verschiedene Weise bestimmt werden. Beispielsweise kann P einem mit dem den aktuellen Pixel links benachbarten Pixel verknüpften Graustufenwert entsprechen oder auf andere Weise aus Werten berechnet werden, die mit Pixeln verknüpft sind, die Nachbarn des aktuellen Pixels sind. In jeder speziellen Ausführungsform hat P eine konsistente Definition. Unabhängig davon, wie P definiert ist, ist vorzugsweise D = X-P.
  • Der Quantisierer 102 gruppiert die D-Werte entsprechend der Größe und ordnet jeder Gruppe einen QN-Wert zu. Vorzugsweise ist der Quantisierer 102 eine ROM-Nachschlagetabelle, in der zu jedem D-Wert ein entsprechender QN-Wert gehört.
  • An diesem Punkt ist zu beobachten, daß das vorliegende System "verlustbehaftet" ist. D. h., beim Quantisieren der Differenzwerte D während der Kompression gehen gewisse Informationen verloren.
  • Der QN-Wert gelangt in einen QN-Selektor 104. Wenn der Wert von QN = 0 ist, wird der Schalter 106 geschlossen, und der entsprechende D-Wert liefert einen QERR-Wert. Der QERR-Wert gelangt in ein Umsetzelement 108. Das Umsetzelement 108 gruppiert die QERR-Werte und ordnet den Werten in einer gegebenen Gruppe einen entsprechenden MERR-Wert zu. D. h., QERR-Werte in einem ersten Bereich werden einem ersten MERR-Wert zugeordnet, QERR-Werte in einem zweiten Bereich (mit größeren Werten) werden einem (größeren) MERR-Wert zugeordnet usw..
  • Von großer Bedeutung ist, daß der Wert MERR = 0 vorzugsweise allen QERR-Werten zugeordnet wird, für die QERR ≤ (+Q1-WERT)/2.
  • MERR-Werte für Pixel in einer Zeile mit retativ gleichförmigei-Graustufe (QN = 0) werden in einem Integrator 110 akkumuliert (d. h. summiert). Es ist zu beachten, daß für jene QERR-Werte, die kleiner oder gleich (+Q1-WERT)/2 sind, die durch den Integrator 110 erzeugte Summe nicht anwächst. Für andere Werte vor QERR werden entsprechende MERR-Werte zur Summe addiert. Der Integrator 110 wird zu geeigneten Zeitpunkten rückgestellt, wie unten beschrieben.
  • Die durch den Integrator 110 erzeugte Summe wird mit einer positiven Schwelle +THRERRA und einer negativen Schwelle -THRERRA in jeweiligen Komparatoren 112 und 114 verglichen. Die Ausgangsleitungen der Komparatoren 112 und 114 sind mit dem QN- Selektor 104 verbunden.
  • Der QN-Selektor 104 erhält als Eingabe die QN-Werte, die durch den Quantisierer 102 erzeugt wurden. Folglich kann die Eingabe in den QN-Selektor 104 dem Wert für Q0 (der in der bevorzugten Betriebsart 0 beträgt) oder dem Wert für Q1, Q2 usw. entsprechen.
  • Wenn der Komparator 112 anzeigt, daß +THRERRA erreicht worden ist, gibt ein Signal an den QN-Selektor 104 an, daß der QN- Selektor 104 den +Q1-WERT ausgeben soll. Ähnlich triggert, wenn -THRERRA erreicht ist, ein Signal vom Komparator 114 den QN- Selektor 104, um als Ausgabe den -Q1-WERT zu erzeugen. Wenn keine der Schwellen überschritten wird, wird die QN-Ausgabe vom Quantisierer 102 gewählt. In jedem der genannten drei Fälle liefert ein Signal, daß anzeigt, daß vom QN-Selektor 104 ein QN- Wert ungleich null ausgegeben wird, eine Rückstell-Eingabe für den Integrator 110. Die Rückstell-Eingabe initialisiert die durch den Integrator 110 gespeicherte Summe auf null.
  • Es ist somit zu beobachten, daß der Integrator 110 MERR-Werte nur solange addiert, wie der QN-Selektor 104 den Q0-Wert (d. h. Null) ausgibt, und jedesmal rückstellt, wenn entweder THRERRA erreicht ist oder QN ≠ Q0 vom Quantisierer 102 ausgegeben wird. Die Summation von MERR-Werten und das Einstellen der Quantisierer-Selektorausgabe repräsentiert eine "Fehlerübertragungs"- Korrektur gemäß der Erfindung.
  • Eine spezielle Ausführung des "Fehlerübertragung"-Aspekts der Erfindung wird jetzt beschrieben.
  • Tabelle 1 enthält Werte für einen beispielhaften speziellen Quantisierer (siehe den Quantisierer 102 in Fig. 1). Unter Vernachlässigung des Vorzeichens der DPCM-Differenz D (das separat behandelt werden kann), identifiziert der Quantisierer 102 eine DPCM-Differenz im Bereich (0,2) mit dem Quantisierungsniveau Q0=0, eine Differenz im Bereich (3,8) mit dem Niveau Q1=4, eine Differenz im Bereich (9,16) mit dem Niveau Q2=12. Andere Differenzen können unter Verwendung höherer Bereiche in Tabelle 1 ähnlich identifiziert werden. (Die hier verwendete Notation ist herkömmlich, d. h. (3,8) bedeutet, daß der Bereich die Werte zwischen 3 und 8 einschließlich dieser beiden Werte umfaßt.) YO 987 026 Tabelle 1 Entscheidungsebene unendlich
  • Tabelle 2 zeigt einen ähnlichen Quantisierer, für den die erste Entscheidungsebene angehoben wurde. Unter Verwendung der vorher eingeführten Notation ist THR0=2 in Tabelle 1 und THR0=4 in Tabelle 2. Tabelle 2 Entscheidungsebene unendlich
  • Tabelle 3 zeigt die Ergebnisse der Kompression eines Satzes von Testbildern mit den beiden Quantisierern. Außerdem ist die Verzerrung gezeigt, wie sie durch die Methode des quadratischen Mittelwerts (RMS) bestimmt wurde. Wie erwartet, verbessert die Vorgabe THR0=4 (Spalte b) die Kompressionsleistung gegenüber der Vorgabe THR0=2 (Spalte a). Im letzteren Falle ist die Verzerrung jedoch geringer.
  • Spalte (c) in Tabelle 3 zeigt die Ergebnisse der Vorgabe THR0=4 und der Anwendung des hier beschriebenen Verfahrens. Die Kompression stimmt gut mit der in Spalte (b) überein; außerdem nehmen menschliche Betrachter gleichzeitig - obwohl der Grad der RMS-Verzerrung mit demjenigen in (b) vergleichbar erscheint -ein befriedigenderes Bild als in (b) war. Die Verwendung von Tabelle 1 führt zur besten Bildqualität, aber die Qualtität wird auf Kosten der Kompression erreicht. Die Ergebnisse in Spalte (c) repräsentieren einen vernünftigen und wünschenswerten Kompromiß hinsichtlich der Qualität und Kompression. Tabelle 3 Komprimierte Bytes und RMS-Verzerrung von fünf 256x240- Testbildern Testbild Bytes marcos fruit denset Mittelwert a ... unter Verwendung des Quantisierers von Tabelle 1 b ... unter Verwendung des Quantisierers von Tabelle 2 c ... unter Verwendung des Quantisierers von Tabelle 2 und der vorliegenden Erfindung
  • Die Verfahrensweise der "Fehlerübertragung" beginnt mit der Definition von QN als des während des prädiktiven Codierens gewählten Quantisierungsniveaus. Die Ergebnisse in Spalte (c) von Tabelle 3 wurden durch Anwendung der folgenden Schritte auf jeden aufeinanderfolgenden Gegenstand-Pixel erhalten. (Die Vorgehensweise ist im Flußdiagramm der Fig. 2 ausgeführt.)
  • a> Für QN=Q0=0:
  • i) setze den Quantisierungsfehler QERR unter Verwendung von Tabelle 4 um;
  • ii) akkumuliere den umgesetzten Fehler MERR in einem Integratorregister ERRA,
  • iii) prüfe, ob die Größe von ERRA eine Schwelle THRERRA erreicht hat,
  • iv) wenn THRERRA erreicht wurde, setze QN=Q1 und gehe zum Schritt (b),
  • v) wenn THRERRA nicht erreicht wurde, codiere QN=Q0 und verarbeite das nächste Pixel.
  • b) Für QN ≠ Q0:
  • i) codiere QN und sein zugehöriges Vorzeichen;
  • ii) setze ERRA=0 und verarbeite das nächste Pixel.
  • Wie durch Fig. 2 und die vorhergehende Beschreibung gezeigt, benötigt das Vorzeichen der DPCM-Differenz immer dann auch eine Codierung, wenn QN ≠ 0. Die tatsächliche Codierung von QN und seines Vorzeichens kann durch geeignete Modelle für die Entropiecodierung, wie die in der bereits erwähnten US-Patentschrift US-A-4 504 846 beschriebene, bewerkstelligt werden. Tabelle 4 (QERRTBL) QERR MERR
  • Um die Probleme zu demonstrieren, die auftreten, wenn QERR nicht auf der Grundlage der bevorzugten Beziehung mit Q1-WERT wie oben erörtert abgebildet wird, wird Bezug auf Fig. 3 genommen. Fig. 3 zeigt grafisch die oben beschriebenen Fälle, angewandt auf eine Pixelfolge. Im Teil (a) sind die ursprünglichen Werte der Pixel dargestellt. Teil (b) von Fig. 3 zeigt die rekonstruierten Werte unter Verwendung des Quantisierers in Tabelle 2 ohne jede Kor- rektur. Teil (c) zeigt dieselben Ergebnisse nach Hinzufügung einer Fehlerübertragungs-Korrektur unter Neuzuordnung der Quantisiererfehler mittels Tabelle 4. Teil (d) ist ähnlich (c), außer daß der Neuzuordnungsschritt der Gleichheitsoperator ist, d. h. MERR=QERR.
  • Für Fig. 3 wird angenommen, daß
  • i) der Quantisierer von Tabelle 2 verwendet wird;
  • ii) ein DPCM-Prädiktor für das vorhergehende Pixel verwendet wird.
  • Der Quantisiererfehler im Teil (b) ist QERR=-3. Ein wichtiges Merkmal von Teil (d) dieses Diagramms ist, daß - wegen der Körnung des (durch Q1 definierten) Quantisierers - QERR ständig zwischen den Werten -3 und +1 wechselt. Dieser Effekt wiederum ist von zyklischen Quantisiererkorrekturen begleitet, wobei der QN-Wert +Q1-WERT oder -Q1-WERT ist. Das Endergebnis sind zyklische Grenzschwingungen, die typisch für nichtlineare Rückkopplungssysteme sind, die eine schlechte Kompression erzeugen. Dieser Effekt ist unabhängig vom anfänglichen QERR derselbe (außer für QERR=4 und QERR=-4 im Beispiel).
  • Teil (c) von Fig. 3 stellt die Folge von Ereignissen dar, wenn QERR unter Verwendung von Tabelle 4 umgesetzt wird. Nach einer anfänglichen Verzögerung ist die Korrektur derart, daß sie - wenn sie erzeugt wird - zu einer Verriegelung von QERR auf den kleineren Wert (im Beispiel ist dieser Wert +1) führt. Dieses Verhalten ist nicht nur vom Gesichtspunkt der Kompressionsleistung, sondern auch vom Gesichtspunkt der Verzerrungen her wünschenswert. Es ist zu beachten, daß ähnliche Ergebnisse für andere DPCM-Prädiktoren erhalten werden.
  • Jetzt wird die folgende, in Tabelle 4 ausgeführte Anforderung diskutiert:
  • MERR 0 für QERR ≤ Q1/2
  • Andere Aspekte von Tabelle 4 können variiert werden, aber diese Formel sollte verwendet werden, wenn Grenzzyklen vermieden werden sollen. Weiterhin sichert diese Formel auch, daß die Streifenbildung begrenzt wird, indem die Graustufen-Ungleichheit durch die Amplitude (+Q1-WERT)/2 begrenzt ist. Diese Amplitude ist derjenigen eines Codierers ohne Fehlerübertragungskorrektur weit überlegen, wobei die maximale Amplitude der Streifen THR0 ist.
  • In Fig. 1 gelangt der vom QN-Selektor 104 ausgegebene QN-Wert in einen Entropiecodierer 120. Der Entropiecodierer 120 ist vorzugsweise ein Codierer für arithmetische Codierung. In Übereinstimmung mit der Entropiecodierung liefert ein Modell 122 einen Zustand, der in den Entropiecodierer 120 eingegeben wird. Der eingegebene Zustand bietet einen - normalerweise auf einer Vorgeschichte beruhenden - Kontext für den QN-Wert, der in den Entropiecodierer 120 eingeht. Der Entropiecodierer 120 codiert den in ihn eingegebenen QN-Wert so, daß wahrscheinlichere QN- Werteeingaben durch Codes von kürzerer Länge repräsentiert sind und weniger wahrscheinliche QN-Werteingaben durch Codes von größerer Länge repräsentiert sind. Die Zustandseingabe hilft bei der Identifizierung der Bedingungswahrscheinlichkeiten der QN- Werte.
  • Die Ausgabe des Entropiecodierers 120 sind Bilddaten in komprimierter Form. Da ein Pixel nach dem anderen als das "aktuelle" Pixel verarbeitet wird, werden vom QN-Selektor 104 aufeinanderfolgende QN-Werte ausgegeben und gelangen in den Entropiecodierer 120. Der Entropiecodierer 120 gibt einen Strom von komprimierten Daten für die aufeinanderfolgend verarbeiteten Pixel aus. Der komprimierte Datenstrom wird in ein Übertragungsmedium 124 entweder zum Speichern oder für die Übertragung gelenkt. Der komprimierte Datenstrom wird als eine Eingabe in einen Entropiedecoder 126 geliefert. Die andere Eingabe für den Entropiedecoder ist eine Zustandseingabe von einem Modell 128, das dem Modell 122 entspricht. Der Entropiedecoder 126 liefert den QN-Wert als Ausgabe. Ein Graustufengenerator 130 bestimmt einen Graustufenwert für jeden durch den Entropiedecoder 126 erzeugten QN-Wert.
  • Der Graustufengenerator 130 enthält typischerweise einen inversen Quantisierer (nicht abgebildet), der einen Differenzwert D' für einen gegebenen, entropiedecodierten QN-Wert liefert, und einen Prädiktorbaustein (nicht abgebildet), der einen Vorhersagewert P' berechnet, der auf dieselbe Weise wie P berechnet wird. Wenn beispielsweise der Wert für das links benachbarte Pixel der Vorhersagewert P (der beim Berechnen des Eingabewertes D für den Quantisierer 102 verwendet wurde) ist, dient der für das links benachbarte Pixel berechnete dekomprimierte Wert als der Vorhersagewert P' für das aktuelle Pixel. Durch Addition von D' und P' wird ein dekomprimierter Graustufenwert I&sub0; für ein aktuelles Pixel bestimmt.
  • Die Pixel werden in der gleichen Reihenfolge komprimiert und dekomprimiert - normalerweise eine Zeile nach der anderen von links nach rechts. In dieser Hinsicht können aufeinanderfolgend benachbarte Zeilen in der Reihenfolge nach unten durch das Bild verarbeitet werden, wenn gewünscht. Alternativ können jedoch die Zeilen durch Felder (z. B. indem zuerst ungerade Zeilen verarbeitet werden und danach gerade Zeilen verarbeitet werden) verarbeitet werden.
  • In jedem Falle berechnet der Graustufengenerator 130 für jedes Pixel im Bild dekomprimierte Graustufenwerte. Es ist zu beachten, daß in Flächen, die ursprünglich die gleiche Graustufe hatten, die dekomprimierten Werte von einer Zeile zur nächsten differieren können. D. h., vertikal gibt es stufenartige Übergänge im dekomprimierten Graustufenwert.
  • In Fig. 4 ist die dekomprimierte Graustufe von Pixeln in aufeinanderfolgenden Zeilen und in einer einzelnen Spalte ausgerichtet gezeigt. Die Pixel sind in einem Gebiet, in dem der QN-Wert null ist - was ein Gebiet relativ gleichförmiger Graustufe suggeriert. Fig. 5 ist eine grafische Darstellung, die darstellt, wie das menschliche Auge die in Fig. 4 gezeigten Graustufen empfindet. In Fig. 5 sind Stufenübergänge als verstärkte Kontraste (dargestellt als Intensitätsspitzen in der Grafik) in Übereinstimmung mit dem bekannten Phänomen des "Mach- banding" gezeigt.
  • Um die wahrgenommenen Kontraste abzuschwächen, ist in Fig. 4 nach dem Graustufengenerator 130 ein Vertikalfilter 132 enthalten. Das Vertikalfilter 132 wirkt dahingehend, daß es die Stufen in Fig. 4 glättet, um die empfundenen Übergänge weicher zu machen.
  • Das Vertikalfilter 132 dient dazu, bei der Verringerung der horizontalen Streifenbildung und Übergangsverzerrung zu helfen. Insbesondere enthält das Vertikalfilter 132 eine nichtlineare, einfache Nächster-Nachbar-Filterstruktur, die Pixel in vorzugsweise alternierenden Zeilen nachbearbeitet. Das Vertikalfilter 132 und der Zusammenhang, in dem es verwendet wird, wird jetzt beschrieben.
  • Das Vertikalfilter 132 justiert einfach den Wert I&sub0; des aktuellen Pixels auf der Grundlage der Werte der Pixel vertikal über und unter dem aktuellen Pixel.
  • Insbesondere wird in einem Bild, in dem das aktuelle Pixel einen ursprünglichen (rekonstruierten) Graustufenwert I&sub0; und das oben benachbarte Pixel einen Graustufenwert I&sbplus;&sub1; und das unten benachbarte Pixel einen Graustufenwert von I&submin;&sub1; hat, ein gefilterter Wert I'&sub0; für das aktuelle Pixel zu Io + W[(I&submin;&sub1; - I&sub0;)C- + (I&sbplus;&sub1; - I&sub0;)C+] bestimmt, wobei die beiden Differenzen jeweils durch einen entsprechend vordefinierten Wert C- oder C+ begrenzt sind, und wobei W im wesentlichen gleich 1 ist.
  • Bei einer Ausführungsform wird das Vertikalfilter 132 auf Pixeldaten angewandt, die für ein ganzes Bild erzeugt wurden (d. h. ohne Teilen des Bildes in getrennte, verschachtelte Felder). Bei einer solchen Ausführungsform wird ein rekonstruierter Wert unabhängig für jedes Pixel erzeugt.
  • Alternativ dazu wird das Vertikalfilter 132 vorteilhafterweise verwendet, wenn das Bild in zwei verschachtelte Felder geteilt ist - wobei eines Pixel in ungeraden Zeilen und das andere Pixel in geraden Zeilen enthält.
  • Details zur Bildkompression unter Verwendung zweier verschachtelter Felder sind in der parallelen US-Patentanmeldung Ser.-Nr. 28629 mit dem Titel "Compression and Decompression of Column- Interlaced, Row-Interlaced Graylevel Digital Images", eingereicht am 20. März 1987, bzw. in deren entsprechender europäischen Patentanmeldung ausgeführt.
  • Zum Zwecke der Zusammenfassung relevanter Aspekte, die in der erwähnten Patentanmeldung beschrieben sind, wird auf Fig. 6 Bezug genommen. Es wird angenommen, daß die Pixel in der Zeile oberhalb und der Zeile unterhalb der Zeile, die das Pixel i2 enthält, bereits verarbeitet wurden und ihnen entsprechende Werte zugeordnet wurden. Die Zeile oberhalb und die Zeile unterhalb des Pixels i2 und ähnlich alternierende Zeilen werden - in dieser Beschreibung - als im ersten Feld des Bildes befindlich betrachtet; die verbleibenden Zeilen, die noch zu verarbeitende Pixel enthalten, sind im zweiten Feld des Bildes. Beim Verarbeiten des Pixels i2 zu einer nachfolgenden Entropiecodierung wird ein Vorhersagewert von ihm bestimmt als:
  • (Der Vorhersagewert wird bei der Bestimmung des Wertes D verwendet, wie oben diskutiert.) Bei der Bestimmung der Zustandseingabe, die für das Pixel i2 an den Entropiecodierer geliefert wird, wird ein Gradientenwert zu I2' - A2 berechnet. Die Zustandseingabe hat (i) einen Gradienten-Teil, der aus dem Gradientenwert abgeleitet ist, und (ii) einen Vorzeichen-Teil, der aus dem Vorzeichen der quantisierten Ausgabe für das Pixel links vom Pixel i2 abgeleitet ist.
  • Unter Beachtung dessen, daß bei der vorliegenden Erfindung I2' I&sbplus;&sub1; entspricht, A2 I&sbplus;&sub2; entspricht und B2 I&sub0; entspricht, ist zu beobachten, daß die im Kompressionsverfahren benutzten Berechnungen mit den im Postprozessor benutzten Berechnungen korrelieren. D. h.,
  • Ähnlich ist die Berechnung für den Gradienten, nämlich ist (I2' - A2) - ausgenommen das Vorzeichen - (I&sbplus;&sub1; - I&sub0;). Für Zwecke des Postprozessors werden diese Werte vorausberechnet (d. h. während der Kompression berechnet) und müssen nicht nochmals berechnet werden.
  • Weiter ist zu beachten, daß die bei einem Pixel des zweiten Feldes ausgeführte Interpolation exakt die Differenz zwischen den beiden Pixeln des ersten Feldes teilt. In Gebieten, wo die Aktivität des Bildes groß ist, kann die Interpolation gewechselt werden; und in solchen Gebieten wird die Streifenbildung durch die Aktivität verdeckt. Folglich ist das Vertikalfilter 132 nur auf Pixel in Gebieten niedriger Aktivität anzuwenden. In Gebieten niedriger Aktivität verändert ein Nächster-Nachbar- Filter nicht die interpolierten Pixel. Darüberhinaus führt ein Zwei-Nächste-Nachbarn-Filter im zweiten Durchgang nur Änderungen zweiter Ordnung in diese Zeilen des zweiten Feldes ein, da sich die Zwei-Nächste-Nachbarn-Differenzen aufheben. Daher hat eine Filterung der Zeilen des zweiten Feldes im ersten Durchgang keinen Effekt, und eine Filterung im zweiten Durchgang kann meist sehr kleine Änderungen einführen. Infolgedessen liefert die Nachverarbeitung von Zeilen des zweiten Feldes keinen nennenswerten Nutzen und wird daher nicht ausgeführt. Dies führt zur Effizienz der Berechnung.
  • Ein Verfahren zum Segmentieren eines Bildes aufgrund einer niedrigen und hohen Bildaktivität wird in der parallelen US- Patentanmeldung Ser.-Nr. 946542, angemeldet am 22. Dezember 1986 und mit dem Titel "Adaptive Graylevel Image Compression System" bzw. der entsprechenden europäischen Patentanmeldung 87117756.4 beschrieben.
  • Es ist zu beobachten, daß dieselben Berechnungen, die beim Datenkompressionsprozeß verwendet werden, im Vertikalfilter 132 benutzt werden. Dies führt zu einer Verringerung der gesamten Berechnungsanforderungen. Außerdem kann das Vertikalfilter 132 mit einem Softwarecode integriert werden, der bei der Interpolation der Werte des zweiten Feldes verwendet wird.
  • Auch im Hinblick auf die Zwei-Felder-Ausführung ist zu beobachten, daß das Vertikalfilter 132 nur bei Zeilen des ersten Feldes angewendet wird, wobei die Zeilen des zweiten Feldes daraus bestimmt werden.
  • In der Gleichung
  • ist die Vorgabe W = 1 äquivalent der Interpolation der Zeilen des ersten Feldes, wenn die Differenzen klein sind. Da die obige Gleichung von der Summen-von-Differenzen-Gleichung I&sub0; + W[(I&submin;&sub1; - I&sub0;)C- + (I&sbplus;&sub1; - I&sub0;)C+] abgeleitet ist, gibt es implizit darin eine Randbedingung. Befriedigende Ergebnisse werden erhalten, wenn jede der Randbedingungen (d. h. C+ und C-) für (I&sbplus;&sub2; - I&sub0;)C+ und (I&submin;&sub2; - I&sub0;)C- 4 ist. Dies ist äquivalent zur Randbedingung acht bei den Differenzen (I&sbplus;&sub1; - I&sub0;)C+ und (I&submin;&sub1; - I&sub0;)C-.
  • Die Fig. 7 bis 10 zeigen Schaubilder für eine Spalte von rekonstruierten Bilddaten, die unter vier verschiedenen Bedingungen verarbeitet wurden. Bei jedem Schaubild entspricht ein Fortschreiten von links nach rechts einem Übergang von einer Zeile zu einer anderen längs einer Spalte von Pixeln in einem Bild. Fig. 7 stellt rekonstruierte Daten - in einem Gebiet mit gleichförmiger Graustufe - dar, wobei die Daten nicht durch die vorliegende Erfindung verarbeitet wurden. In Fig. 8 wird nur der Vertikalfilter der Erfindung angewandt. In Fig. 9 wird nur die "Fehlerübertragung" benutzt. Fig. 10 stellt Daten dar, die einer "Fehlerübertragung" und Vertikalfilterung gemäß der Erfindung unterworfen wurden. Bei der Untersuchung der Darstellung in Fig. 10 ist zu beobachten, daß es eine größere Übereinstimmung in den Werten von Zeile zu Zeile in der Spalte gibt. D. h., es gibt eine merklich geringere Variation der Amplituden, insbesondere im Vergleich zu den Darstellungen der Fig. 7 und 8. Im Vergleich mit Fig. 9 zeigt die Darstellung der Fig. 10 eine Verringerung in den Stufenübergängen längs der Spalte; es zeigt sich, daß beispielsweise große Stufen in Fig. 10 in der Größe verringert und/oder in mehrere kleinere Stufen aufgeteilt sind. Außerdem ergibt sich durch Vorsehen einer verstärkten Wichtung der Differenz zwischen benachbarten Zeilen des ersten Feldes eine Rasterdarstellung von Werten für die Zeilen, die dazu dient, Streifen zu verdecken.
  • Die Schaubilder demonstrieren die Wirksamkeit der Kombination von "Fehlerübertragung" und Nachfilterung, wie oben ausgeführt, beim Abschwächen der Streifenbildung und anderer wahrgenommener Verzerrung.
  • In Übereinstimmung mit der Erfindung ist der Quantisierer 102 - wie oben bemerkt - als eine ROM-Tabelle implementierbar. Ähnlich ist der UMSETZER 108 als eine ROM-Tabelle implementierbar. Der Schalter 106, der Integrator 110 und die Schwellkomparatoren 112 und 114 sind herkömmliche Bausteine. Die Entropiecodierungsbausteine sind durch herkömmliche Entropiecodierungsbausteine ausführbar. Vorzugsweise wird die Entropiecodierung so vorgenommen, wie in einer parallelen US-Patentanmeldung Ser.-Nr. 06/907714 mit dem Titel "Arithmetic Coding Encoder and Decoder System", angemeldet am 15. September 1986, bzw. der entsprechenden europäischen Patentanmeldung 87111964.0 ausgeführt. Der Graustufengenerator 130 wird allgemein in der oben erwähnten Patentanmeldung "Adaptive Graylevel Image Compression System" beschrieben, die zitiert wird, um die Offenbarung hinsichtlich der Gewinnung der Graustufen-Ausgabe aus den entropiedecodierten Daten abzudecken.
  • Während die Erfindung unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben wurde, werden Fachleute verstehen, daß verschiedene Anderungen in Form und Einzelheiten ohne Abweichung vom Schutzbereich der Erfindung getroffen werden können.
  • Beispielsweise schließt die Neuzuordnung der QERR oder MERR- Werte vorzugsweise eine Neuzuordnung auf einen kleineren Satz von Werten ein; Die Neuzuordnung bezieht sich jedoch auch auf eine 1:1-Neuzuordnung, bei denen QERR-Werte auf sich selbst oder einige andere entsprechende Werte abgebildet werden.
  • Außerdem offenbart die oben beschriebene Ausführungsform eine QN-Tabelle, die zu Q0 symmetrisch ist. Als eine Alternative können jedoch die Quantisierungsniveaus unsymmetrisch sein. Beispielsweise können die QN-Niveaus als Q(-3), Q(-2), Q(-1), Q0, Q1 usw. definiert sein, wobei jedes Niveau einen entsprechenden negativen, null- oder positiven Wert hat. In einem solchen Falle würde die bevorzugte Neuzuordnung ebenfalls unsymmetrisch sein. D. h., eine Neuzuordnung auf Null geschieht, wenn
  • Es ist weiter vorzuziehen, daß die Randbedingungen C+ und C- dieselben sind, obwohl sich die beiden Grenzen unterscheiden können. Ähnlich können die Schwellen -THRERRA und +THRERRA dieselben sein oder sich unterscheiden, je nach Wunsch.
  • Die Erfindung wurde auf einem IBM 370-Computer mit einer PDS (Programming Development System)-Sprache, die eine polnische Vorwärts-Notation verwendet, implementiert. Die vorliegenden Verfahrensweisen sind in der Software jedoch auch in irgendeiner von verschiedenen Programmiersprachen < etwa PASCAL oder einer Assemblersprache) oder einem von verschiedenen Rechensystemen ausführbar.

Claims (9)

1. Ein maschinenimplementiertes Verfahren zum Verringern der Verzerrung in einem Bild, das aus Daten rekonstruiert wird, die einer Kompression mittels prädiktiven Codierens unterzogen werden, zur Verwendung in einem Graustufen-Bilddatenverarbeitungssystem (100), das (A) einen prädiktiven Codierer einschließt, der (i) einen Vorhersage-Differenzwert D für das aktuelle Pixels berechnet und (ii) die Differenz D in einen QN-Wert quantisiert (102), wobei die Anzahl von QN- Werten kleiner als die Anzahl von erlaubten D-Werten ist, wobei QN = Q0 einem Gebiet mit im wesentlichen gleichförmiger Graustufe mit zugehörigen kleinen D-Werten entspricht und wobei Bereiche mit größeren D-Werten QN-Werten von relativ größeren Größen entsprechen, und (B) einen Entropiecodierer (120) enthält, der QN-Datenwerte vom prädiktiven Codierer als Eingabe empfängt und komprimiert, wobei das Verfahren gekennzeichnet ist durch die Schritte:
(a) Setzen (106) eines Wertes QERR gleich D für jedes Pixel, bei dem QN = 0,
(b) Neuzuordnung (108) des gesetzten QERR-Wertes zu einem Wert MERR,
(c) Aufsummieren (110) der MERR-Werte für aufeinanderfolgende Pixel in einem Gebiet mit QN = Q0, und
(d) Anpassen (104) des QN-Wertes für ein Pixel, bei dem die Summe der MERR-Werte eine vorbestimmte Schwelle erreicht (112, 114)
2. Verfahren gemäß Anspruch 1, wobei der Schritt (b) auch einschließt:
(e) Zuordnen jener QERR-Werte, für die
QERR &le; (+Q1-WERT)/2
zum Wert MERR = 0, wobei Q1 das zu Q0 wertnächste Quantisierungsniveau ist.
3. Verfahren gemäß Anspruch 1 oder 2, wobei der Schritt (b) folgende Schritte einschließt:
(f) Neuzuordnen von QERR = -4 und QERR = -3 zu einem MERR- Wert von -1,
(g) Neuzuordnen von QERR = -2, QERR = -1, QERR = 0, QERR = 1 und QERR = 2 zu einem MERR-Wert von 0, und
(h) Neuzuordnen von QERR = 3 und QERR = 4 zu einem MERR- Wert von 1.
4. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Schritt (d) folgende Schritte einschließt:
(j) Korrigieren des QN-Wertes aus dem Q0-Wert um den Q1- Wert, wenn die Summe eine vorbestimmte Schwelle erreicht und
(k) Rückstellen der Summe der MERR-Werte.
5. Verfahren gemäß einem der vorhergehenden Ansprüche, aufweisend die weiteren Schritte:
(l) Rekonstruieren (126, 130) von Graustufenwerten für Pixel im Bild und
(m) Filtern (132) des rekonstruierten Wertes I&sub0; für ein aktuelles Pixel, um einen gefilterten Wert I'&sub0; bereitzustellen, der gleich
I&sub0; + [(I&submin;&sub1; - I&sub0;)C- + (I&sbplus;&sub1; - I&sub0;)C+]
ist, wobei C+ und C- entsprechende vordefinierte Randwerte sind und
wobei I&submin;&sub1; und I&sbplus;&sub1; die entsprechenden rekonstruierten Werte der dem aktuellen Pixel unten benachbarten und oben benachbarten Pixel sind.
6. Verfahren gemäß Anspruch 5, aufweisend den weiteren Schritt:
(n) Wiederholen des Schrittes (m) mit einem Pixel nach dem anderen in einer alternierenden Reihe nach der anderen als aktuelles Pixel.
7. Prädiktives Codierungssystem mit einem Codierer (100), der seine Ausgabe an einen Entropiecodierer (120) liefert, wobei der prädiktive Codierer (100) aufweist:
Mittel zum Berechnen eines Wertes D, der die Differenz zwischen einem ursprünglichen Graustufenwert für ein aktuelles Pixel und einem vorhergesagten Wert für das aktuelle Pixel darstellt,
Quantisierungsmittel (102) zum elektronsichen Verknüpfen jedes aufeinanderfolgenden Bereiches möglicher D-Werte mit einem entsprechenden Quantisierungsniveau, wobei jedes Quantisierungsniveau QN einen entsprechenden QN-Wert hat, der den ihm entsprechenden Bereich repräsentiert, und gekennzeichnet durch:
Schaltmittel (106) zum Setzen eines Wertes QERR auf D, wenn QN = Q0, wobei Q0 das niedrigste Quantisierungsniveau repräsentiert,
Mittel (108) zum Empfangen einer QERR-Ausgabe von den Schaltmittel und zum Neuzuordnen von QERR-Werten zu MERR- Werten derart, daß der Wert MERR = 0 jenen QERR-Werten zugeordnet wird, für die
QERR &le; (+Q1-WERT)/2
ist, wobei Q1-WERT der Wert ist, der dem Quantisierungsniveau QN = Q1 entspricht,
Mittel (110) zum Aufsummieren der MERR-Werte für aufeinanderfolgende Pixel in einem Gebiet mit QN=Q0 und
Mittel (112, 114, 104) zum Empfangen des MERR-Summenwertes als Eingabe und zum Korrigieren des QN-Wertes aus dem Wert von Q0 um die Größe von Q1 für ein Pixel, bei dem der Summenwert eine vorbestimmte Schwelle erreicht.
8. Prädiktives Codierungssystem gemäß Anspruch 7, weiter aufweisend ein Vertikalfilter (132) zum Anpassen des rekonstruierten (130) Wertes I&sub0; eines aktuellen Pixels in einem Bild, bei dem das dem aktuellen Pixel oben benachbate Pixel einen Wert I&sbplus;&sub1; und das unten benachbarte Pixel einen Wert I&submin;&sub1; hat, wobei das Filter gekennzeichnet ist durch:
Mittel zum Berechnen einer ersten Differenz (I&submin;&sub1; - I&sub0;),
Mittel zum Berechnen einer zweiten Differenz (I&sbplus;&sub1; - I&sub0;),
Mittel zum Begrenzen der ersten Differenz und der zweiten Differenz auf vorgeschriebene Grenzwerte C- bzw. C+ und
Mittel zum Berechnen eines gefilterten Wertes I'&sub0; für das aktuelle Pixel zu
I&sub0; + [(I&submin;&sub1; - I&sub0;)C- + (I&sbplus;&sub1; - I&sub0;)C+].
9. Das System mit einem Vertikalfilter gemäß Anspruch 8, wobei die Berechnungsmittel für I'&sub0; einschließen:
Mittel zum Interpolieren des Wertes I&submin;&sub1; zu
wobei I&submin;&sub2; der Wert eines Pixels ist, das vom aktuellen Pixel zwei Pixel abwärts liegt,
Mittel zum Interpolieren des Wertes I&sbplus;&sub1; zu
wobei I&sbplus;&sub2; der Wert eines Pixels ist, das vom aktuellen Pixel zwei Pixel aufwärts liegt, und
Mittel zum Berechnen von I'&sub0; auf der Grundlage der interpolierten Werte von I&submin;&sub1; und I&sbplus;&sub1;.
DE3886804T 1987-04-24 1988-04-06 Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist. Expired - Fee Related DE3886804T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/042,132 US4785356A (en) 1987-04-24 1987-04-24 Apparatus and method of attenuating distortion introduced by a predictive coding image compressor

Publications (2)

Publication Number Publication Date
DE3886804D1 DE3886804D1 (de) 1994-02-17
DE3886804T2 true DE3886804T2 (de) 1994-06-23

Family

ID=21920212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3886804T Expired - Fee Related DE3886804T2 (de) 1987-04-24 1988-04-06 Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist.

Country Status (5)

Country Link
US (1) US4785356A (de)
EP (1) EP0287891B1 (de)
JP (1) JPS63274283A (de)
CA (1) CA1325672C (de)
DE (1) DE3886804T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2591050B1 (fr) * 1985-12-04 1990-07-20 Thomson Cgr Procede et dispositif de compression par codage conditionnel d'images numeriques sans perte d'informations
JPS63190473A (ja) * 1986-09-25 1988-08-08 Nippon Board Computer Kk 多階調画像デ−タの情報量圧縮方法及び装置
JPH02243080A (ja) * 1989-03-16 1990-09-27 Nec Corp テレビ信号符号化回路
JPH0722396B2 (ja) * 1989-11-06 1995-03-08 三菱電機株式会社 画像符号化装置
US5136375A (en) * 1990-07-17 1992-08-04 Zenith Electronics Corporation Spectrum compatible-HDTV data transmission system
AU1996292A (en) * 1991-05-17 1992-12-30 Analytic Sciences Corporation, The Continuous-tone image compression
US5663763A (en) * 1992-10-29 1997-09-02 Sony Corp. Picture signal encoding method and apparatus and picture signal decoding method and apparatus
US5357250A (en) * 1992-11-20 1994-10-18 International Business Machines Corporation Adaptive computation of symbol probabilities in n-ary strings
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
JP3089941B2 (ja) * 1994-02-28 2000-09-18 日本ビクター株式会社 画像間予測符号化装置
US5751859A (en) * 1995-06-14 1998-05-12 Lucent Technologies Inc. Compression of text images by soft pattern matching
US5910909A (en) * 1995-08-28 1999-06-08 C-Cube Microsystems, Inc. Non-linear digital filters for interlaced video signals and method thereof
JP3388459B2 (ja) * 1999-03-25 2003-03-24 日本電気株式会社 画像縮小/復元装置、画像縮小/復元方法および画像縮小/復元用プログラムを記録した記録媒体
US7266245B1 (en) * 2002-03-28 2007-09-04 Magnachip Semiconductor Ltd. Image signal compression method and system
US8107751B2 (en) * 2007-03-16 2012-01-31 Sharp Laboratories Of America, Inc. DPCM with adaptive range and PCM escape mode
JP5742427B2 (ja) * 2011-04-25 2015-07-01 富士ゼロックス株式会社 画像処理装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3729678A (en) * 1971-07-20 1973-04-24 Philips Corp Pcm system including a pulse pattern analyzer
GB1344312A (en) * 1971-08-27 1974-01-23 Post Office Digital encoding system
US3987412A (en) * 1975-01-27 1976-10-19 International Business Machines Corporation Method and apparatus for image data compression utilizing boundary following of the exterior and interior borders of objects
US3984626A (en) * 1975-08-01 1976-10-05 Bell Telephone Laboratories, Incorporated Picture signal coder
US4028731A (en) * 1975-09-29 1977-06-07 International Business Machines Corporation Apparatus for compression coding using cross-array correlation between two-dimensional matrices derived from two-valued digital images
US4124870A (en) * 1977-03-31 1978-11-07 International Business Machines Corporation Method for improving print quality of coarse-scan/fine-print character reproduction
US4125861A (en) * 1977-08-18 1978-11-14 Bell Telephone Laboratories, Incorporated Video signal encoding
GB2046051B (en) * 1979-03-29 1983-01-26 Philips Electronic Associated Real time histogram modification system for image processing
DE2921011C2 (de) * 1979-05-23 1981-04-23 Matsumoto Yushi-Seiyaku Co., Ltd., Yao, Osaka Verfahren zum Erzeugen eines Reliefs
JPS56128070A (en) * 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPS56136093A (en) * 1980-03-26 1981-10-23 Fuji Photo Film Co Ltd Adaptive quantizer
US4554593A (en) * 1981-01-02 1985-11-19 International Business Machines Corporation Universal thresholder/discriminator
US4369463A (en) * 1981-06-04 1983-01-18 International Business Machines Corporation Gray scale image data compression with code words a function of image history
FR2515450B1 (fr) * 1981-10-27 1986-01-24 Thomson Csf Procede, et systeme, de codage et decodage differentiel de donnees limitant la propagation des erreurs de transmission
US4554670A (en) * 1982-04-14 1985-11-19 Nec Corporation System and method for ADPCM transmission of speech or like signals
JPS58202666A (ja) * 1982-05-21 1983-11-25 Ricoh Co Ltd 2値化方式
US4488174A (en) * 1982-06-01 1984-12-11 International Business Machines Corporation Method for eliminating motion induced flicker in a video image
US4488175A (en) * 1982-06-28 1984-12-11 At&T Bell Laboratories DPCM Video signal processing technique with spatial subsampling
IT1155557B (it) * 1982-07-19 1987-01-28 Cselt Centro Studi Lab Telecom Metdodo e dispositivo per la codifica del segnale d immagine con riduzione di ridondanza a distorsione localmente uniforme
DE3237578C2 (de) * 1982-10-09 1984-11-29 Standard Elektrik Lorenz Ag, 7000 Stuttgart Digitales Nachrichtenübertragungssystem, insbesondere Farbfernsehübertragungssystem
US4504864A (en) * 1982-12-30 1985-03-12 International Business Machines Corporation Nonlinear filtering of gray scale images
US4562467A (en) * 1983-04-01 1985-12-31 Itek Corporation Data compression apparatus and method for encoding and decoding multi-line signals
GB2139849B (en) * 1983-05-07 1986-11-19 Nippon Telegraph & Telephone Image data compression system
DE3331426A1 (de) * 1983-08-31 1985-03-14 Siemens AG, 1000 Berlin und 8000 München Anordnung zur zweidimensionalen dpcm-codierung
US4633325A (en) * 1983-09-01 1986-12-30 Nec Corporation Adaptive predictive encoding and/or decoding apparatus
US4599656A (en) * 1984-02-21 1986-07-08 International Business Machines Corporation Processing of gray scale image pels to facilitate data compression
US4613948A (en) * 1984-06-01 1986-09-23 Bell Communications Research, Inc. Conditional quantization grey level and color image coding apparatus
US4578713A (en) * 1984-07-20 1986-03-25 The Mead Corporation Multiple mode binary image processing
US4601056A (en) * 1984-08-13 1986-07-15 Recognition Equipment Incorporated Video correlator for video format unit
US4593325A (en) * 1984-08-20 1986-06-03 The Mead Corporation Adaptive threshold document duplication

Also Published As

Publication number Publication date
JPH0511837B2 (de) 1993-02-16
DE3886804D1 (de) 1994-02-17
EP0287891A3 (en) 1990-12-19
EP0287891B1 (de) 1994-01-05
JPS63274283A (ja) 1988-11-11
US4785356A (en) 1988-11-15
EP0287891A2 (de) 1988-10-26
CA1325672C (en) 1993-12-28

Similar Documents

Publication Publication Date Title
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE3886804T2 (de) Einrichtung und Verfahren zur Verminderung einer Verzerrung, die durch einen Bild-Kompressor mit prädiktiver Codierung eingeführt ist.
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE3856536T2 (de) Kodierung von Daten, die wie eine multidimensionale Matrix dargestellt sind
DE69130214T2 (de) Bilddatenkompression mit adaptiver Blockgrössenauswahl
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69411804T2 (de) Umgekehrte Halbtonrasterung durch lineare Filterung und statistische Glättung
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69222766T2 (de) System zur adaptiven kompression der blockgrössen eines bildes
DE69809713T2 (de) Kompression von digitalen signalen mit verbesserter quantisierung
DE69332584T2 (de) Verbesserte vorverarbeitung und nachverarbeitung von vektorquantifizierung
DE69424591T2 (de) Verfahren zur Kontrolle der Datenmenge und Kodierer zur Durchführung desselben.
DE69511390T2 (de) Quellencodierer mit voreingestellter qualität
DE69822607T2 (de) Nichtlinearer quantisierer für videokodierung
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69322713T2 (de) Vorrichtung zur orthogonalen Transformationskodierung und -dekodierung
DE69415887T2 (de) Verbesserter Dekompressionstandard für ADCT-komprimierte Bilddokumente
DE69428979T2 (de) Einrichtung und verfahren zur kodierung von bilddaten
DE3883701T2 (de) Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.
DE68927082T2 (de) Verfahren und Vorrichtung für die Bilddatenkomprimierung
DE69126940T2 (de) Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung
DE69632620T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung eines Bildes
DE69322501T2 (de) Verfahren und system zur videokompandierung
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee