-
Die vorliegende Anmeldung ist eine von der Anmeldung
Nr. 88905043.1 mit dem Titel "A Hierarchical Encoding
Method and Apparatus for Efficiently Communicating
Image Sequences" abgeleitete Ausscheidungsanmeldung.
-
Die Erfindung betrifft allgemein Datenkommunikations-
und Signalverarbeitungsverfahren und -vorrichtungen und
insbesondere ein Verfahren und eine Vorrichtung zum
zuverlässigen und effizienten Codieren und Decodieren
beispielsweise von Sequenzen von Bilddaten, die über
einen Telefonkommunikationskanal übertragen werden.
-
Die Übertragung von Bildsequenzen und insbesondere
Sequenzen natürlich auftretender Bilder, wie etwa
solche, die durch ein Fernsehsignal dargestellt werden,
ist das Thema eines erheblichen Umfangs an Forschung.
Die Forscher haben sich in der Regel auf den stark
redundanten Charakter aufeinanderfolgender Bilder in
der Sequenz verlassen und die Bilddaten oftmals als
einen Markov-Prozeß mit einem nahe bei Eins liegenden
Korrelationskoeffizienten modelliert. Das
dreidimensionale Markov-Modell liefert eine Motivation zur
Verwendung von Differenz-Pulscodemodulations-(DPCM-)
und Transformationscodiertechniken, um die Interframe-
Redundanz zu berücksichtigen.
-
Durch Analyse des Charakters eines typischen sich
bewegenden Videos kann man sich leicht davon
überzeugen, daß die zwischen aufeinanderfolgenden
Einzelbildern auftretende Hauptänderung die inhomogene
Bewegung der Objekte innerhalb des Einzelbilds ist. Es
wurde außerdem erkannt, daß eine präzise Vorrichtung
und ein präzises Verfahren zum Abschätzen und
Kompensieren dieser räumlich abhängigen Bewegung die
Konstruktion eines
Interframe-Datenkompressionsverfahrens und einer Interframe-Datenkompressionsvorrichtung
ermöglichen, die eine erheblich bessere Leistung
aufweisen können, als sich durch Senden eines Signals
erzielen läßt, das lediglich die Differenz zwischen
aufeinanderfolgenden Einzelbildern darstellt.
-
Infolgedessen sind verschiedene
Bewegungskompensationscodierverfahren und -vorrichtungen entwickelt worden.
Diese Systeme sind in der Regel entweder auf dem
Empfänger basierende Bewegungskompensationssysteme oder
auf dem Sender basierende
Bewegungskompensationssysteme. Bei dem auf dem Empfänger basierenden
Bewegungskompensationssystem macht der Empfänger eine
Vorhersage hinsichtlich der Bewegung und kompensiert das
vorausgegangene Einzelbild bezüglich der erwarteten
Bewegung. Der auf die gleiche Weise arbeitende Sender
sendet dann nur ein Fehlersignal, das beschreibt, was
auf der Seite des Empfängers geschehen muß, um das von
dem Empfänger vorhergesagte Einzelbild zu korrigieren.
Das Fehlersignal wird in der Regel codiert, um seine
Bandbreite zu reduzieren.
-
Bei einem auf dem Sender basierenden
Bewegungskompensationssystem tritt der Bewegungsabschätzungsprozeß nur
bei dem Sender auf. Im allgemeinen werden über
verschiedene Gebiete des Bilds hinweg
Verschiebungsvektoren bestimmt, und diese Daten werden dann zusammen
mit einem Fehlerinformationsdatensignal zu dem
Empfänger übertragen. Beim Empfänger wird der
Kompensationsprozeß zunächst mit den von dem Sender
gelieferten Bewegungsinformationen an dem zuvor
codierten Bild durchgeführt. Die von dem Sender
gelieferten Fehlersignaldaten werden dann zur
Beibehaltung der Bildqualität zu dem auf diese Weise
kompensierten Empfängerbild addiert.
-
Somit werden für ein auf dem Sender basierendes
Bewegungskompensationssystem in der Regel mehrere
Verschiebungsvektoren bereitgestellt, und bei mindestens einer
bevorzugten Ausführungsform ist jeder Vektor einem
spezifischen Gebiet oder Block des Bilds zugeordnet.
Die Blöcke überlappen sich in der Regel nicht und
weisen beispielsweise eine Größe von acht Bildelementen
(Pixeln) mal acht Bildelementen auf. Zur Codierung der
jedem der Blöcke zugeordneten
Bewegungskompensationsdaten sind verschiedene Verfahren eingesetzt worden.
Hinman beschreibt in seiner gleichzeitig anhängigen, am
3. Juni 1985 eingereichten US-Patentanmeldung mit der
laufenden Nummer 740,898, nun US-A-4,703,350, ein
verlustbehaftetes Codierverfahren zum Codieren der
Bewegungskompensationsverschiebungsinformationen.
-
Es sind auch viele Verfahren zum Codieren des
Fehlerinformationsdatensignals in einem auf dem Sender
basierenden Bewegungskompensationssystem verwendet worden.
In der oben angeführten Anmeldung von Hinman werden ein
verlustbehaftetes Kompressionsverfahren und eine
verlustbehaftete Kompressionsvorrichtung offenbart.
Wenngleich diese Verfahren höchst vorteilhaft sind und
ausgezeichnete Ergebnisse liefern, ist es dennoch
wünschenswert, die Kompression der Dateninformationen
weiter zu verbessern und dadurch unter Einsatz von noch
weniger Kanalbandbreite eine Bildreproduktion hoher
Qualität zu ermöglichen. Es ist weiterhin
wünschenswert, eine bessere Kontrolle über die
Datenübertragung bereitzustellen, indem beispielsweise die
dem Bild zugeordnete Bitrate gesteuert wird.
-
Beispielsweise während eines Szenenwechsels liegen
oftmals erhebliche zu übertragende Informationen vor,
so daß während der Zeit eines einzelnen Einzelbilds
nicht ausreichend Bandbreite zur Übertragung aller
Informationen zur Verfügung steht. Dementsprechend sind
verschiedene Verfahren implementiert worden, um die
Anzahl der Bit der über den Kanal übertragenen
Informationen selektiv zu begrenzen. Bei einem dieser
Verfahren, das in der am 7. Januar 1987 eingereichten
US-Patentanmeldung mit der laufenden Nummer 001,326
(Ericsson), nun US-A-4,816,914, mit dem Titel "A Method
and Apparatus for Efficiently Coding and Decoding Image
Sequences" beschrieben wird, wird in Verbindung mit der
Übertragung von Teilen eines
Transformationskoeffizientendatensatzes eine Quadtree-Codierung
verwendet. Die Quadtree-Codierung stellt
vorteilhafterweise bei starker Bewegung oder
Szenenwechseln eine akzeptablere Verschlechterung
bereit.
-
In Signal Processing, Band 11, 1986, ist auf den Seiten
387 bis 404 in einem Artikel von Bierling et al. mit
dem Titel "Motion Compensating Field Interpolation
Using a Hierarchically Structured Displacement
Estimator" ein Bewegungskompensationssystem offenbart,
das quantisierte Datenwerte verwendet, die eine
digitale Fernsehsequenz darstellen. Ein hierarchisch
strukturierter Verschiebungsabschätzer liefert einen
Verschiebungsvektor mit Interframe-Komponenten für
jedes Bildelement der zu interpolierenden übertragenen
Felder.
-
Ein Artikel mit dem Titel "Hierarchical encoding of
image sequences using multistage vector quantization"
von B. Hammer et al. in "ICASSP 87, Proceedings of the
IEEE International Conference on Acoustics, Speech and
Signal Processing, Dallas, Texas, USA", der sich auf
einen im April 1987 gehaltenen Vortrag beziehen soll,
nimmt Bezug auf die Vektorquantisierung als
Codiertechnik zur Bildübertragung mit geringer Datenrate und
auf die Mehrstufenvektorquantisierung in Kombination
mit einer blocküberlappenden Pyramidentransformation
zur Gestattung der Quantisierung großer Blöcke auf
hierarchische Weise zur Übertragung von
Bildphasensequenzen.
-
Aus US-A-4,661,849 (Hinman) ist ein
Bildsequenzübertragungsverfahren zum Übertragen einer Sequenz
aufeinanderfolgender Bilder über einen bandbreitenbegrenzten
Kanal bekannt. Der Sender weist einen
Bewegungsabschätzer zum Abschätzen der Bewegungsverschiebung
zwischen aufeinanderfolgenden Einzelbildern der Sequenz
auf, wobei der Abschätzer jedes Bild in nicht
überlappende Blöcke unterteilt, die jeweils mehrere
Bildelemente enthalten. Anfangswerte für die
Bewegungsvektorverschiebungen werden ausgewählt, und in einem
iterativen Prozeß werden aufeinanderfolgende Werte des
Bewegungsverschiebungsvektors für jeden Block bestimmt.
Der Iterationsprozeß wird beendet, wenn ein einem
Verfahren mit steilstem Abstieg zugeordneter
Iterationsfehler unter einem Schwellwert liegt.
-
Eine Aufgabe der vorliegenden Erfindung besteht in der
Bereitstellung eines verbesserten Verfahrens zur
Codierung von Bilddaten.
-
Gemäß der Erfindung umfaßt ein Verfahren zur Codierung
von Datenwerten für die Darstellung von Bilddaten bei
einem Bildübertragungssystem, dargestellt als
mehrdimensionales Array von Datenwerten, die folgenden
Schritte: Quantisieren der Datenwerte, Löschen aller
quantisierten Datenwerte, die einen Nullwert für jeden
ihrer nächsten Nachbarn besitzen, und Anwenden von
Vektorquantisierungscodierung auf die übrigen
Datenwerte. Das Array kann ein zweidimensionales Array mit acht
nächsten Nachbarn sein, und das Verfahren kann den
Schritt der Bewegungskompensierung des
Bildübertragungssystems beinhalten, um eine Sequenz von Bildern
über einen Kommunikationsweg zu übertragen.
-
Die folgende Beschreibung enthält auch Verfahren zum
Codieren von Interframe-Fehlerdaten in einem
Bildübertragungssystem, insbesondere in einem
Bewegungskompensationsbildübertragungssystem, zur Übertragung einer
Sequenz von Einzelbildern von einer Sendestation zu
einer Empfangsstation. Interframe-vorhergesagte
Bilddaten, die eine Vorhersage des aktuellen
Einzelbilds darstellen, werden dezimiert, um eine
Vorhersagepyramidendatenstruktur zu erzeugen, die die
Vorhersage des aktuellen Bilds darstellt und mehrere
Dezimierungsniveaus aufweist. Darauf kann das
Dezimieren von Daten eines uncodierten aktuellen Bilds
folgen, die das aktuelle uncodierte Einzelbild
darstellen, um eine Pyramidendatenstruktur für das aktuelle
Bild zu erzeugen, die das aktuelle Bild darstellt und
die mehreren Dezimierungsniveaus aufweist, und das
Anwenden eines hierarchischen
Vektorquantisierungscodierungsverfahrens auf die
Vorhersagepyramidendatenstruktur und die Pyramidendatenstruktur für das
aktuelle Bild für jedes einzelne Niveau zum Erzeugen
einer codierten Datendarstellung der Differenz zwischen
den Daten für das vorhergesagte Bild und den Daten für
das uncodierte aktuelle Bild. Das Verfahren kann auf
die Bewegungskompensationsbildübertragung angewendet
werden, wobei Einzelbilder von einer Sendestation zu
einer Empfangsstation übertragen werden.
-
Beschrieben werden auch die Schritte des Anwendens des
hierarchischen Codierungsverfahrens auf die
Datenstrukturen eines Niveaus auf einer Block-für-Block-Basis und
des Unscharfmachens von Blöcken der Darstellung des
vorhergesagten Bilds, wenn Daten des vorhergesagten
Bilds diesen Blockteil des ursprünglichen Bilds nicht
ausreichend darstellen, und des Verschiebens von
Blockpositionsgrenzen von Einzelbild zu Einzelbild der
Sequenz von Einzelbildern, um die Codierungseffizienz
zu verbessern. Die Beschreibung beinhaltet den Schritt
des Verwendens arithmetischer Codierung zur Erzeugung
eines Teils der codierten Darstellung.
-
Die folgende Beschreibung legt die Schritte dar des
Anwendens einer hierarchischen Codierung mit
verlustbehafteter Kompression auf die Vorhersagedatenstruktur
und die Datenstruktur für das aktuelle Bild Niveau für
Niveau, um die codierte Datendarstellung der Differenz
zwischen den Daten des vorhergesagten Bilds und den
Daten des uncodierten aktuellen Bilds zu erzeugen.
Dieser Anwendungsschritt beinhaltet den Schritt des
Interpolierens der Bilddaten von einem höheren Niveau
für mindestens ein niedrigeres Niveau.
-
Es werden außerdem die folgenden Schritte beschrieben:
Ausbilden eines Differenzbilds, das Pixel für Pixel die
Differenz zwischen Daten für ein vorhergesagtes Bild
für ein aktuelles Einzelbild und Daten für ein
uncodiertes aktuelles Bild, die das uncodierte aktuelle
Einzelbild darstellen, darstellt, Dezimieren des
Differenzbilds zur Erzeugung einer
Differenzbildpyramidendatenstruktur mit mehreren Dezimierungsniveaus
und Anwenden einer hierarchischen
Vektorquantisierungscodierung auf die Differenzbildpyramidendatenstruktur
Niveau für Niveau zum Erzeugen einer codierten
Datendarstellung der Differenz zwischen den Daten für
das vorhergesagte Bild und den Daten für das uncodierte
aktuelle Bild. Dies kann das Ausbilden der Daten für
das vorhergesagte Bild unter Verwendung einer
Interframe-Bewegungskompensation beinhalten. Gewinn-
/Form-Vektorquantisierung kann auf Blöcke des Arrays
aus Datenwerten zum Codieren der Werte angewendet
werden, gekoppelt mit dem Variieren der Größe eines
Formcodebuchs für die Vektorquantisierung als Funktion
des der Form zugeordneten Gewinns.
-
Die ausführliche Beschreibung beinhaltet eine Schaltung
zum Dezimieren der Interframe-vorhergesagten Bilddaten
für ein aktuelles Einzelbild zum Erzeugen der
Vorhersagepyramidendatenstruktur mit mehreren
Dezimierungsniveaus, eine Schaltung zum Dezimieren der Daten des
uncodierten aktuellen Bilds, die das aktuelle
uncodierte Einzelbild darstellen, zum Erzeugen einer
Pyramidendatenstruktur für das aktuelle Bild mit den
mehreren Dezimierungsniveaus und eine Schaltung zum
Anwenden einer hierarchischen
Vektorquantisierungscodierung auf die Vorhersagepyramidendatenstruktur und die
Pyramidendatenstruktur für das aktuelle Bild Niveau für
Niveau zum Erzeugen einer codierten Datendarstellung
der Differenz zwischen den Daten für das vorhergesagte
Bild und den Daten für das codierte aktuelle Bild.
Außerdem wird folgendes offenbart: eine Schaltung zum
Anwenden des hierarchischen Codierungsverfahrens auf
die Datenstrukturen eines Niveaus Block für Block, eine
Schaltung zum Unscharfmachen von Blöcken der
Darstellung des vorhergesagten Bilds, wenn die Daten
des vorhergesagten Bilds diesen Blockteil des
ursprünglichen Bilds nicht ausreichend darstellen, eine
Schaltung, die eine arithmetische Codierung verwendet,
um mindestens teilweise die codierte Darstellung zu
erzeugen, und eine Schaltung zum Verschieben von
Blockgrenzpositionen von Bild zu Bild in der Folge von
Einzelbildern zum Verbessern der Codiereffizienz.
-
Die beschriebene Vorrichtung beinhaltet weiterhin eine
Schaltung zum Anwenden einer hierarchischen Codierung
mit verlustbehafteter Kompression auf die
Vorhersagepyramidendatenstruktur und die Pyramidendatenstruktur für
das aktuelle Bild Niveau für Niveau zum Erzeugen der
codierten Datendarstellung der Differenz zwischen den
Daten für das vorhergesagte Bild und den Daten für das
codierte aktuelle Bild. Die Anwendungsschaltung weist
Elemente auf, um für mindestens ein niedrigeres Niveau
die Bilddaten von einem höheren Niveau zu
interpolieren.
-
Unter noch einem weiteren Aspekt der Beschreibung weist
die Vorrichtung zum Codieren der Interframe-Fehlerdaten
in einem Bildübertragungssystem zum Übertragen einer
Sequenz von Einzelbildern eine Schaltung zum Ausbilden
eines Differenzbilds auf, das Pixel für Pixel die
Differenz zwischen Daten für das vorhergesagte Bild für
ein aktuelles Einzelbild und Daten für ein uncodiertes
aktuelles Bild darstellt, die ein uncodiertes
Einzelbild darstellen. Eine Dezimierungsschaltung ist
vorgesehen zum Dezimieren des Differenzbilds, zum
Erzeugen einer Differenzbildpyramidendatenstruktur mit
mehreren Dezimierungsniveaus und zum Anwenden einer
hierarchischen Vektorquantisierungscodierung auf die
Differenzbildpyramidendatenstruktur Niveau für Niveau
zum Erzeugen einer codierten Datendarstellung der
Differenz zwischen den Daten für das vorhergesagte Bild
und den Daten für das codierte aktuelle Bild.
-
Bei dem beschriebenen System wird die Anzahl der Bit,
mit denen jedes Bild einer Sequenz von Bildern
übertragen wird, gesteuert, wobei gleichzeitig eine akzeptable
Verschlechterung des Bilds während eines Szenenwechsels
oder während Perioden mit schwerer Bewegung geliefert
wird. Das System kann eine präzise Abschätzung der
Verschiebung der Pixel eines abgetasteten Bilds in einer
Folge zuverlässig übertragen und empfangen. Eine
verbesserte Bewegungsabschätzung kann in einem Codier-
und Decodierverfahren und einer Codier- und
Decodiervorrichtung erzielt werden, die eine präzise Bestimmung
der regionalen Verschiebung in einer
Bildübertragungseinrichtung in Echtzeit ermöglichen.
-
Die Erfindung wird nun beispielhaft unter Bezugnahme
auf die Zeichnungen beschrieben. Es zeigen:
-
Fig. 1 ein. Blockschaltbild eines
Bildkommunikationssystems;
-
Fig. 2 ein Blockschaltbild des Senders einer
bewegungskompensierten Bildcodiervorrichtung;
-
Fig. 3 ein Blockschaltbild des Empfängers eines
bewegungskompensierten Bildcodiersystems zum Empfangen der
Kanalsignale für den Sender von Fig. 2;
-
Fig. 4 ein Blockschaltbild einer
Bewegungskompensationsvorrichtung für ein Feld unterabgetasteter
Bewegungsvektoren;
-
Fig. 5 eine schematische Darstellung eines räumlichen
Interpolationsprozesses;
-
Fig. 6 ein Blockschaltbild einer
Bewegungsabschätzungsvorrichtung mit iterativem räumlichen
Bereich, die eine adaptive Fehlerminimierung mit
steilstem Abstieg verwendet;
-
Fig. 7 ein Blockschaltbild einer
Bewegungsabschätzungsvorrichtung mit iterativem räumlichen
Bereich, die eine adaptive Fehlerminimierung mit
steilstem Abstieg mit einer verbesserten
Datenverarbeitungsstruktur verwendet;
-
Fig. 8 eine schematische Darstellung der relativen
Positionen benachbarter Blöcke, mit denen ein
Anfangsverschiebungsbewegungsvektorwert vorhergesagt wird;
-
Fig. 9 ein Blockdiagramm des verlustbehafteten
Kompressors 28 von Fig. 2;
-
Fig. 10 ein Blockdiagramm des verlustbehafteten
Kompressors 46 von Fig. 2;
-
Fig. 11 eine schematische Darstellung eines
eindimensionalen Dezimierungsprozesses;
-
Fig. 12 ein ausführliches Blockschaltbild des
verlustbehafteten Kompressors 46;
-
Fig. 13 ein Blockschaltbild des Senders einer
bewegungskompensierten Bildcodiervorrichtung mit adaptiver
Filterung und unter Einsatz der Erfindung;
-
Fig. 14 ein Blockschaltbild des Empfängers eines
bewegungskompensierten Codierungssystems zum Empfangen der
Kanalsignale von dem Sender von Fig. 13; und
-
Fig. 15 ein allgemeines Blockdiagramm einer
alternativen Ausführungsform des verlustbehafteten Kompressors.
-
Unter Bezugnahme auf Fig. 1 weist ein
Kommunikationssystem 6 einen Sender 8 auf, der gemäß einer
bevorzugten Ausführungsform der Erfindung eine Kamera 10 zum
Liefern eines Videosignals an einen Analog-Digital-
Wandler und Bildpuffer 12 aufweist. Der Bildpufferteil
des Analog-Digital-Umsetzers und Bildpuffers 12 kann
ein beispielsweise auf acht Bit über ein 256 · 240-
Pixelraster abgetastetes ganzes Einzelbild des Videos
speichern.
-
Der ganze Codierungs- und Bewegungskompensationsprozeß
findet im digitalen Bereich statt. Der Sender weist
eine Fehlersignalschaltung 14 und eine
Bewegungsabschätzungs- und -codierungsschaltung 16 auf. Ein
Kanalcodierer 18 codiert die Ausgänge der
Fehlerschaltung 14 und der Bewegungsabschätzungs- und -
codierungsschaltung 16 in Kanäle und leitet die so
codierten Daten auf einen Kanal 20 zur Übertragung an
einen Empfänger 21 weiter.
-
Unter Bezugnahme auf Fig. 2 vergleicht die
dargestellte Bewegungsabschätzungs- und codierungsschaltung
16 von Fig. 1 gemäß einer bevorzugten Ausführungsform
der Erfindung ein über Leitungen 22 verfügbares
vorliegendes ursprüngliches Eingabeeinzelbild mit dem
vorhergegangenen ursprünglichen Eingabebild, das in dieser
dargestellten Ausführungsform von einem Bildspeicher 24
zur Verfügung steht. Eine Bewegungsabschätzerschaltung
26 erzeugt ein Maß für die Bewegungsverschiebung
zwischen den darin eingegebenen Einzelbildern, und es
kann sich bei ihr um eine beliebige einer Anzahl von
Bewegungsabschätzungseinrichtungen handeln, wie sie in
der Technik wohlbekannt sind. Bei einer unten zu
beschreibenden bevorzugten Ausführungsform verwendet
die Bewegungsabschätzungseinrichtung 26 ein adaptives
Fehlerminimierungsverfahren mit steilstem Abstieg, um
die Bewegungsverschiebungsmaße zu erzeugen, wie in
Hinman, US-Patent US-A-4,661,849 beschrieben ist.
-
Die Ausgabe des Bewegungsabschätzers 26 ist ein Feld
von Bewegungsvektoren die, wie oben angemerkt, ein Maß
für die Bewegungsverschiebung zwischen eingegebenen
Einzelbildern liefern. Dieses Vektorfeld liefert eine
Beschreibung dessen, wie ein vorheriges eingegebenes
Einzelbild oder eingegebenes Bild von einem Puffer 24
in die beste Annäherung des vorliegenden eingegebenen
Einzelbilds oder Bilds über die Leitungen 22 abgebildet
wird. Unter "beste" wird eine Fehlermetrik verstanden,
wie etwa ein Fehlermaß mit mittlerem quadriertem
Fehler. In der Regel und in der dargestellten
Ausführungsform verwendet der Bewegungsabschätzer 26
zwischen sich nicht überlappenden Blöcken des
vorherigen und vorliegenden eingegebenen Bilds eine
Gebietsanpassungstechnik. Sollte eine Bewegung für ein
Gebiet in dem vorliegenden Bild auftreten, bestimmt der
Abschätzer, welcher Block in dem vorausgegangenen Bild
die beste Entsprechung für den Block in dem vorherigen
Bild ist, und der Wert der Verschiebung ist die
Differenz zwischen einem neuen Koordinatenpaar für den
Block in dem vorliegenden Bild und dem ursprünglichen
Koordinatenpaar für den Block in dem früheren Bild.
Durch diese Bestimmung wird der Bewegungsvektor
definiert, der dem Block in dem vorliegenden Bild
zugeordnet werden soll.
-
Da Szenen allgemein aus mehreren großen Objekten
bestehen, die sich im Verlauf der Zeit gleichförmig
bewegen, gibt es in dem Bewegungsvektorfeld einen hohen
Korrelationsgrad. Zur Vermeidung der Übertragung
redundanter Informationen und zum Reduzieren der
Datenbitanforderungen modifiziert die bevorzugte Ausführungsform
der Erfindung das Bewegungsvektorfeld, wodurch einige
Informationen verlorengehen, um die Kompression der
Bewegung darstellenden Daten zu erleichtern. Bei der
dargestellten Ausführungsform wird dieser Vorgang durch
einen "verlustbehafteten Kompressor" 28 dargestellt,
der die Datenmenge und somit die zum Darstellen des
Bewegungsvektorfelds benötigte Bandbreite reduziert.
Unter Hinweis auf die Ähnlichkeit zwischen dem
Bewegungsvektorfeld und natürlichen Bildern können von
dem verlustbehafteten Kompressor 28 eine prädiktive,
transformierende oder interpolierende Codierung der
beiden unabhängigen Komponenten des Vektorfelds
verwendet werden.
-
Die verlustbehaftete Kompressorschaltung 28 wird somit
zum Codieren des über die Leitungen 32 verfügbaren
Bewegungsvektorfelds verwendet und liefert über die
Leitungen 30 ein die Bewegungsvektoren darstellendes
codiertes Bewegungssignal. Diese Ausgabe des
verlustbehafteten Kompressors 28 reproduziert, wie oben
erwähnt, nach Decodierung nicht exakt die Signale über
die Leitungen 32 (die das Maß der Bewegungsverschiebung
liefern), weshalb ihnen ein gewisses Fehlersignal
zugeordnet ist. Dennoch ist die Reduktion bei den
Datenanforderungen eines verlustbehafteten Kompressors
28 im Vergleich beispielsweise zu einem exakten PCM-
Codierungsverfahren so erheblich, daß die Verwendung
eines verlustbehafteten Kompressors in der Technik
einen wesentlichen Fortschritt darstellt. Eine
bevorzugte verlustbehaftete Kompressionsschaltung
verwendet eine diskrete Kosinustransformation und in
die Schaltung ist ein Verarbeitungsverfahren
integriert, das in der gleichzeitig anhängigen, am 3.
Juni 1985 eingereichten US-Anmeldung mit der laufenden
Nummer 740,806, nun US-A-4,754,492, mit dem Titel
"Method and System for Adapting a Digitized Signal
Processing System for Block Processing With Minimal
Blocking Artifacts" integriert ist. Der Erfinder ist
Henrique Malvar.
-
Die verlustbehaftete Kompressorschaltung 28 sorgt in
der dargestellten Ausführungsform der Erfindung für
eine Blocktransformation und enthält zusätzliche
Schaltungen zum Reduzieren der Anzahl der Bit (der
Bandbreite), die zum Beschreiben des transformierten
Bewegungsvektorfelds erforderlich sind. Der
verlustbehaftete Kompressor 28 kann somit dafür sorgen,
daß die Quantisierungsstufengröße (und gegebenenfalls
die Schwelle), mit der die das Bewegungsvektorfeld
definierenden Transformationskoeffizienten "digitalisiert"
werden, variieren, wodurch die Anzahl
ausgegebener Bit reduziert wird, wenn entweder die
Quantisierungsstufengröße oder die Schwelle (oder beide) vom
Wert her ansteigen. Der verlustbehaftete Kompressor 28
verwendet außerdem bevorzugt eine arithmetische
Codierung, die auf die als Markov-Prozeß modellierten
Transformationskoeffizienten angewendet wird. Dieses
Codierungsverfahren liefert beispielsweise im Vergleich
zur Ausgabe des in US-A-4,703,350 beschriebenen Systems
eine erhebliche Reduzierung der ausgegebenen Bit.
-
Die Ausgabe der verlustbehafteten Kompressorschaltung
28 über die Leitungen 30 wird, wie oben angemerkt, an
den Codierer 18 weitergeleitet. Außerdem wird mit
diesen Signalen von der Fehlerschaltung 14 bestimmt,
was der Empfänger ohne irgendwelche Fehler in dem Kanal
gesehen haben würde, und somit der Mechanismus
bereitgestellt, um das Vorhersagefehlersignal zu
bestimmen, das heißt das Signal, das die Differenz
zwischen dem darstellt, was der Empfänger 21 auf der
Grundlage der codierten Bewegungssignaldarstellung über
die Leitungen 30 vorhergesagt haben würde, und der
wirklichen Bildeingabe.
-
Die Ausgabe des verlustbehafteten Kompressors 28 über
die Leitungen 30 wird von einer Rekonstruiererschaltung
34 dazu verwendet, an ihrem Ausgang ein Signal zu
erzeugen, das für das Maß an Bewegungsverschiebung, die
Bewegungsvektoren, auf den Leitungen 32 repräsentativ
ist. Die Differenz zwischen den Signalen über die
Leitungen 36, der Ausgabe der Rekonstruktionsschaltung
34 und den Signalen über die Leitungen 32 stellt den
durch die verlustbehaftete Kompressionsvorrichtung 28
eingeführten Codierungsfehler dar. Die Ausgabe der
Rekonstruktionsvorrichtung 34 wird über die Leitungen
36 zu einer Bewegungsfeldinterpolationsschaltung 38
geleitet, die im räumlichen Bereich arbeitet, um jedem
Bildelement einen Bewegungsverschiebungsvektor
zuzuordnen. Während die Eingangssignale über die
Leitungen 36 Bewegungsverschiebungen für Gruppen oder
Gebiete von Elementen darstellen, beispielsweise die
Bildelemente eines 4 · 4-Blocks, löst somit der
Bewegungsfeldinterpolator 38 wie unten ausführlicher
beschrieben die Daten so auf, daß jedem Bildelement ein
Bewegungsverschiebungsvektor zugeordnet ist. Die
resultierende Ausgabe des Bewegungsfeldinterpolators 38
über die Leitungen 40 wird als das
Bewegungsrekonstruktionssignal bezeichnet.
-
Das Bewegungsrekonstruktionssignal wird an eine
Bewegungskompensationsvorrichtung 42 angelegt, die Teil
einer Fehlerrekonstruktionsschleife 43 bildet. Die
Fehlerrekonstruktionsschleife 43 enthält einen
Bildpuffer 44, eine verlustbehaftete
Kompressionsschaltung 46 und eine Rekonstruktionsschaltung 48. Die
Eingaben in die verlustbehaftete Kompressionsschaltung
46 über die Leitungen 22 beziehungsweise 51 sind das
ursprüngliche Eingabebild für das aktuelle Einzelbild
und das abgeschätzte Empfängersignal, das heißt
dasjenige Signal, das der Empfänger 21 bei Fehlen
weiterer Daten rekonstruiert und anzeigt. Der
verlustbehaftete Kompressor 46 liefert dem Empfänger
weitere codierte Daten, das Fehlerrekonstruktionssignal
um die Differenz zwischen dem ursprünglichen
Eingabebild und dem abgeschätzten Empfängersignal zu
reduzieren und im Prinzip zu eliminieren. Diese
Differenz wird codiert, um ihre Bandbreite zu
reduzieren, und das resultierende Signal, das
Fehlerrekonstruktionssignal über die Leitung 52, wird an den
Kanalcodierer 18 geliefert. Der verlustbehaftete
Kompressor 46 in der oben angeführten Patentanmeldung
von Ericsson ist ein zweidimensionaler Blockcodierer,
der einen Quantisierer mit gleichförmiger
Quantisierungsstufengröße verwendet; und die Ausgabe der
Blocktransformation kann vorteilhafterweise gemäß den oben
in Verbindung mit dem verlustbehafteten Kompressor 28
beschriebenen Prozessen hinsichtlich der Bandbreite
weiter reduziert und codiert werden. Bei der bevorzugten
und dargestellten Ausführungsform der Erfindung
wird jedoch bei der Implementierung des
verlustbehafteten Kompressors 46 ein hierarchisches
Vektorquantisierungscodierungsverfahren und eine hierarchische
Vektorquantisierungscodierungsvorrichtung
vorteilhafterweise eingesetzt.
-
Auch das Fehlerrekonstruktionssignal wird zu der
Rekonstruktionsvorrichtung 48 gesendet, die eine
Operation bereitstellt, die die Umkehrung zu derjenigen
darstellt, die der verlustbehaftete Kompressor 46
ausübt. An dem Ausgang der Rekonstruktionsvorrichtung
48 entsteht deshalb über die Leitungen 54 ein
Fehlerrekonstruktionsbild. Das Fehlerrekonstruktionsbild wird
zu der erwarteten Ausgabe des Bewegungskompensators
(das das abgeschätzte Empfängerbild über die Leitungen
51 ist) hinzugefügt, und das resultierende Signal, ein
abgeschätztes vorhergegangenes Empfängerbild (das
vorhergesagte Empfängerbild für das vorherige Einzelbild)
wird in dem Bildspeicher 44 gespeichert.
-
Die Eingabe in den Bildpuffer 44 ist wie oben angemerkt
das abgeschätzte vorherige Empfängerbild. Dieses
Empfängerbild, das alle von dem Empfänger empfangenen
Daten berücksichtigt, entspricht dem rekonstruierten
Empfängerbild für ein Einzelbild. Die Bildausgabe aus
dem Bildpuffer 44 über die Leitungen 64 ist das Bild,
das die Bewegungskompensationsschaltung 42 gemäß der
Ausgabe des Bewegungsfeldinterpolators 38 über die
Leitungen 40 modifiziert. Die Ausgabe des
Bewegungskompensators 42 stellt somit das vorhergesagte
Empfängerbild infolge der Rekonstruktion der ausgegebenen Daten
aus dem verlustbehafteten Kompressor 28 dar.
-
Unter Bezugnahme auf Fig. 3 werden beim Empfänger 21
die Daten aus dem Kanal von einer
Kanaldecodiererschaltung 70 decodiert, und das resultierende
Empfängerfehlerrekonstruktionssignal wird über die Leitungen 72
und die empfängercodierte Bewegungssignaldarstellung
über die Leitungen 74 an die Rekonstruktionsschaltung
76, den Bewegungskompensator 99 beziehungsweise die
Rekonstruktionsschaltung 78 geschickt. Die
Rekonstruktionsschaltungen 76, 78 sorgen jeweils für
eine Decodierung der von dem Sender 8 verwendeten
Codes, um die von den Rekonstruktionsschaltungen 48
beziehungsweise 34 des Senders ausgeführten Operationen
zu bewirken, wie unten ausführlicher beschrieben wird.
Die Ausgabe der Fehlerrekonstruktionsschaltung 76 wird
zu einer Wiederherstellungsschleife 80 geschickt, in
der Bewegungskompensationssignale über die Leitungen 82
zu der Fehlerbilddarstellung über die Leitungen 84
addiert werden, um ein rekonstruiertes Empfängersignal
über die Leitungen 86 zu erzeugen. Dieses Signal wird
an eine Digital-Analog-Schaltung 90 und von dort zur
Betrachtung zu einem Monitor 92 geschickt.
-
Bewegungsrekonstruktionssignale werden von einem
Bewegungsfeldinterpolator 96 entsprechend dem
Bewegungsfeldinterpolator 38 von Fig. 2 erzeugt. Der
Bewegungsfeldinterpolator 38 liefert wie oben angemerkt einen
Bewegungsvektor für jedes Bildelement des Bilds und
gestattet somit, daß der Einzelbildinterpolator präzise
vorhersagt, wie das Bild zu einem beliebigen
ausgewähltem Zeitpunkt zwischen empfangenen Einzelbildern
ausgesehen haben würde. Die rekonstruierten Empfängerbilder
über die Leitungen 86 werden nacheinander in einem
Bildpuffer 98 gespeichert und an einen
Bewegungskompensator 99 geliefert, der außerdem Signale von dem
Bewegungsfeldinterpolator 96 empfängt. Die Ausgabe des
Bewegungskompensators 42, die bei Fehlen einer
Fehlerkorrektur das erwartete Empfängerbild darstellt,
entspricht dem Signal über die Leitungen 51 in dem
Sender 8 und wird an den Addierer 100 zur Verknüpfung
mit der Ausgabe der Fehlerrekonstruktionsschaltung 76
über die Leitungen 84 geschickt.
-
Die Sender- und Empfängerschaltungen 8, 12 der Fig.
2 und 3 können, wie beispielsweise in US-A-4,703,350
und US-A-4,816,914 (oben erwähnt) beschrieben, auf
vielerlei Weise modifiziert werden. Während diese
alternativen Ausführungsformen einer Sender- und
Empfängerstruktur sich in verschiedenen
Kommunikationskonfigurationen anwenden lassen, hängt
die hier beschriebene und beanspruchte Erfindung, die
sich auf ein hierarchisches Codierungssystem bezieht,
nicht davon ab, welche dieser jeweiligen
Senderkonfigurationen verwendet wird, und sie wird deshalb einzig
in Verbindung mit der typischen Sender- und
Empfängerkonfiguration beschrieben, die oben dargelegt ist.
Der Bewegungsfeldinterpolator (38, 96)
-
Unter Bezugnahme auf Fig. 4 erhält der
Bewegungsfeldinterpolator 38 von der Rekonstruktionsschaltung 34
über die Leitungen 36 einen
Bewegungsverschiebungsvektor für jedes Blockgebiet des Bilds. Bei einem
Farbfernsehvideosignal beispielsweise kann ein
typisches Luminanzbild eine Blockgröße von 8 · 8 Pixeln
aufweisen, während ein typisches Chrominanzbild eine
Blockgröße von 4 · 4 Pixeln aufweisen kann. Der
Bewegungsfeldinterpolator 38 ordnet dann unter
Verwendung eines ausgewählten Interpolationsverfahrens
jedem Pixel des Einzelbilds einen interpolierten
Bewegungsvektorverschiebungswert zu.
-
Gemäß dem bevorzugten Aspekt der Erfindung wird eine
potenzierte Kosinusinterpolationsfunktion dazu
verwendet, jedem Pixel einen Verschiebungswert zuzuordnen.
Die Interpolationsfunktion wird bei 130 gespeichert.
Das Eingabevektorfeld ist in einem Puffer 132
gespeichert und weist eine der Blockgröße entsprechende
niedrige Auflösung auf.
-
Gemäß dem vorliegenden Aspekt der Erfindung ist somit
jeder Verschiebungsvektor von der
Rekonstruktionsschaltung 34 der Mitte eines aus vielen Pixeln bestehenden
Gebiets zugeordnet. Unter Bezugnahme auf Fig. 5 sind
somit bei einem 4 · 4-Block-Gebiet die
Interpolationsvektoren einer Mittenposition zugeordnet,
das heißt den Positionen 400, 402, 404, die für einen
4 · 4-Block keinem bestimmten Bildelement zugeordnet
sind.
-
Der von einem Vektorinterpolator 134 (Fig. 4)
durchgeführte Interpolationsprozeß arbeitet sowohl in
der X- als auch der Y-Richtung. So kann der dem bei 400
zentrierten 4 · 4-Pixel-Blockgebiet zugeordnete
Verschiebungsvektor und der entsprechende, dem bei 402
zentrierten Gebiet zugeordnete Verschiebungsvektor
beispielsweise bezüglich der X-Richtung interpoliert
werden, während die Verschiebungsvektoren bei bei 400
und bei 404 zentrierten Gebieten bezüglich einer Y-
Interpolation verwendet werden können. Der
Interpolationsprozeß verwendet allgemein mehrere einen
relevanten Punkt umgebende Verschiebungsvektoren, um
den Wert des Verschiebungsvektors an dem Punkt
abzuleiten. Somit wird ein X- und Y-interpolierter
Verschiebungsvektorwert durch den Vektorinterpolator
134 gemäß der Interpolationsfunktion zugeordnet, die
für jedes Pixel des Bilds verwendet wird. Bei anderen
Ausführungsformen der Erfindung können andere
Interpolationsfunktionen als der potenzierte Kosinus
verwendet werden. So kann beispielsweise eine lineare
Interpolationsfunktion oder eine trapezförmige
Interpolationsfunktion verwendet werden, letztere zum
Reduzieren des Berechnungsaufwands.
-
Die Ausgabe des Senderbewegungsfeldinterpolators 38
oder des Empfängerbewegungsfeldinterpolators 96 (der
genauso funktioniert wie der Interpolator 38) wird zu
der Vollbewegungskompensationsschaltung 42 in dem
Sender 8 und zu der Vollbewegungskompensationsschaltung
80 in dem Empfänger 21 gesendet. Die
Vollbewegungskompensationsschaltungen 42 und 80 bewirken unter
Verwendung ankommender Einzelbilddaten aus den
Bildpuffern 44 beziehungsweise 98 und den Bewegungsfeldinterpolatorausgabedaten
in dem Sender die Erzeugung des
abgeschätzten Empfängerbilds über die Leitungen 51 und
in dem Empfänger das empfangene abgeschätzte Bild über
die Leitungen 82. Die Bewegungskompensationsschaltung
42, 80 bildet jede Ausgabepixelposition auf eine
Position in dem vorherigen Einzelbild ab, wie durch den
dieser Ausgabepixelposition zugeordneten
Verschiebungsvektorwert angegeben ist. Die Verschiebungsvektoren
werden durch die ihnen zugeordnete
Bewegungsfeldinterpolationsschaltung spezifiziert. Insbesondere ist dies
unter Bezugnahme auf Fig. 4 die Ausgabe des
Vektorinterpolators 134.
-
Es ergibt sich jedoch für einige Koordinatenpositionen
des neuen Bildfelds eine Abbildung von Pixelkoordinaten
in dem vorherigen Einzelbild, die nicht auf eine
Gitterposition fallen. Das heißt, der interpolierte
Bewegungsverschiebungsvektor kann eine Bewegung von
beispielsweise 1 1/4 Bildelementen erfordern. In diesen
Fällen verwendet die Bewegungskompensationsvorrichtung
42 eine räumliche (oder Pixel-) Interpolation,
beispielsweise eine lineare räumliche Interpolation des
2 · 2-Blocks aus Pixeln um die nicht ganzzahlige Position
herum, um anhand des vorherigen Einzelbilds einen
Pixelwert zu bestimmen. Es könnten natürlich andere
Interpolationsfunktionen verwendet werden; so kann
beispielsweise der für die nicht ganzzahlige Koordinate
des vorherigen Einzelbilds ausgewählte Wert der Wert
des am nächsten dazu gelegenen Pixels sein. Alternativ
kann eine potenzierte Kosinusinterpolationsfunktion
verwendet werden.
-
Der Bewegungsfeldinterpolator 38 und der
Bewegungskompensator 42 können in Hardware, in Software oder in
einer Kombination aus Hardware und Software
implementiert werden.
Der verlustbehaftete Kompressor (28)
-
Gemäß einer bevorzugten Ausführungsform der Erfindung
verwendet die verlustbehaftete Kompressionsschaltung 28
zum Codieren des Bewegungsabschätzungsausgabesignals
ein Blocktransformationscodierungsverfahren.
-
Die Ausgabe der Bewegungsabschätzungsschaltung 26 sieht
im wesentlichen wie ein hochkorreliertes Bild aus, bei
dem jedes Bildelement nicht einen Teil eines visuellen
Bilds darstellt sondern vielmehr einen
Verschiebungswert.
-
Bei der dargestellten Ausführungsform der Erfindung
verwendet die verlustbehaftete Kompressionsschaltung 28
eine diskrete Kosinustransformation. Die Schaltung 28
arbeitet dann beispielsweise an der
Verschiebungsvektorausgabe der Bewegungsabschätzungsschaltung 28, um
Koeffizientendaten zu liefern, die dann adaptiv einem
Schwellwert- und gleichförmigen Quantisierungsprozeß
unterzogen werden. Unter diesen Umständen verwendet die
Rekonstruktionsschaltung 34 dann die inverse diskrete
Kosinustransformation, wie in der Technik wohlbekannt
ist.
-
Unter noch einem anderen Aspekt der Erfindung und wie
in dem oben angeführten Patent US-A-4,754,492
beschrieben, können Vorverarbeitungstechniken dazu
verwendet werden, das im vorliegenden Text oben
beschriebene Transformationsverfahren noch weiter zu
verbessern, um die Blockcodierungsartefakte im wesentlichen
zu eliminieren. Bei noch einer weiteren Ausführungsform
der Erfindung kann der verlustbehaftete Kompressor 28
unter Verwendung einer Kurzraum-Fourier-Transformation
implementiert werden, wie etwa der, die in der am
19. März 1985 eingereichten eigenen US-Anmeldung mit
der laufenden Nummer 713,478 (US-A-4,703,349) für ein
Verfahren und eine Vorrichtung zur multidimensionalen
Signalverarbeitung unter Verwendung einer Kurzraum-
Fourier-Transformation beschrieben wird.
-
Die verlustbehaftete Kompressionsschaltung 28 enthält
Datenbandbreitenkompressionselemente zum Steuern und
Reduzieren der angewendeten und zum Kanalcodierer 18
geleiteten Bitratenausgabe. Unter Bezugnahme auf Fig.
9, gemäß der bevorzugten Ausführungsform der Erfindung
und bei genauerer Betrachtung des verlustbehafteten
Kompressors 28 sieht die Blocktransformation 450, der
die Eingabe in den verlustbehafteten Kompressor 28
unterzogen wird, vor, daß jeder Block in einem
räumlichen Bereich in ein Array aus
Transformationskoeffizienten (von denen einige oder alle Null sein können)
umgewandelt werden soll. Diese Koeffizienten werden
dann quantisiert und gegebenenfalls einem
Schwellwertbildungsprozeß unterzogen, um die Anzahl von von Null
verschiedenen Koeffizienten weiter zu reduzieren. Gemäß
der Erfindung wird durch einen größeren Schwellwert
und/oder eine größere Quantisierungsstufengröße die
Anzahl der zu codierenden, von Null verschiedenen
Koeffizienten reduziert und weiterhin die Länge der
Codewörter reduziert, die erforderlich sind, um die von
dem Blocktransformationsverfahren ausgegebenen
Koeffizienten zu beschreiben.
-
Gemäß der bevorzugten Ausführungsform der Erfindung
wird die Quantisierungsstufengröße für ein Einzelbild
vorteilhafterweise vor der Codierung des Einzelbilds
vorhergesagt. Von dem verlustbehafteten Kompressor 28
wird als Reaktion auf die Energie in den
Bewegungssignalen, wie sie von dem Bewegungsabschätzer 26 über die
Leitungen 188 bereitgestellt werden, eine
Quantisierungsvorhersage und -steuerung 452 verwendet.
-
Unter Verwendung der vorhergesagten
Quantisierungsstufengröße codiert der verlustbehaftete Kompressor 28 bei
454 beispielsweise mit einer arithmetischen
Codierungstechnik die übrigen Blocktransformationskoeffizienten.
Dieses in der Faksimiletechnik bekannte Verfahren wird
implementiert, um die Positionen der von Null
verschiedenen Koeffizienten effizient zu codieren. Die
Vorrichtung codiert bei 456 wieder unter Verwendung der
arithmetischen Codierungstechnik die quantisierten zu
übertragenden, von Null verschiedenen
Arraykoeffizientenwerte mit variabler Länge und liefert die
Codedaten variabler Länge an den Kanalcodierer 18. (Der
verlustbehaftete Kompressor 28 liefert dann die von dem
Quantisierer codierten Daten an den Rekonstruierer 34
und alle arithmetisch codierten Daten nur an den
Kanalcodierer.)
-
Bei Betrieb werden die Koeffizienten jedes zur
Aktualisierung ausgewählten transformierten Blocks
vorbehaltlich einer anfänglichen Schwellwertbildung mit der
vorhergesagten Quantisierungsstufengröße quantisiert,
und danach werden die Koeffizientenarraypositionen
codiert. Somit besteht der Kompressionsprozeß aus
verschiedenen Operationen: Quantisierung, Rekonstruktion,
Codeworterzeugung und Bitstromerzeugung. Quantisierung,
Rekonstruktion und Codeworterzeugung werden in der
dargestellten Ausführungsform zusammen ausgeführt.
-
Für jeden einem Block zugeordneten
Transformationskoeffizienten wird der Koeffizientenwert wie oben angemerkt
einem Schwellwertabbrechwert und nachfolgender
Quantisierung unterzogen. Der hier verwendete Quantisierer
ist ein gleichförmiger Quantisierer, und die
Schwellwert- und Quantisiererstufengröße können wie oben
angemerkt bestimmt werden. Ein typischer Schwellwert
beträgt das 1,5fache der Quantisierungsstufengröße, und
der erwartete Spitze-Spitze-Wert des zu quantisierenden
Signals wird in der dargestellten Ausführungsform in
256 gleiche Stufen unterteilt. Jeder
Transformationskoeffizient wird zunächst mit dem Schwellwert
verglichen. Falls der Wert des Koeffizienten größer als
der Schwellwert ist (entweder positiv oder negativ),
dann wird der Koeffizient quantisiert und codiert.
Falls der Wert unter dem Schwellwert liegt, dann wird
der Koeffizient auf Null gesetzt und nicht codiert.
-
Für die quantisierten Koeffizienten wird der Wert des
Koeffizienten mit der inversen Stufengröße
multipliziert. Falls der resultierende Quantisierungswert in
der dargestellten Ausführungsform größer als acht Bit
ist, dann wird der Koeffizientenwert so abgeschnitten,
daß er der größte zulässige Acht-Bit-Wert ist (in der
dargestellten Ausführungsform +127 oder -128). Dieser
Wert wird dann als Eingabe für die arithmetische
Codierung beim Sender verwendet, um das Codewort
variabler Länge für den Sender abzuleiten. Der Acht-
Bit-Codewortwert wird außerdem beim Sender 8 zum
Rekonstruieren des Transformationskoeffizienten verwendet.
Der quantisierte Koeffizientenwert wird mit der
Stufengröße multipliziert und dem zugeordneten Rekonstruierer
für jeden übertragenen Block zur Verfügung gestellt.
Bei der dargestellten Ausführungsform wird die gleiche
Schwellwert- und Quantisiererstufengröße für alle einem
Einzelbild zugeordneten Koeffizienten verwendet.
-
Außerdem werden für alle Koeffizienten eines
Einzelbilds Wahrscheinlichkeitsabschätzungen verwendet.
Bei 454 wird die Quantisierung jedes
Transformationskoeffizienten als Teil des Gesamtcodierungsprozesses
durchgeführt. Die Codewörter identifizieren die
Transformationsarrayposition, der jedes der übertragenen
Amplitudencodewörter entspricht.
-
Wie oben erwähnt, sorgt der verlustbehaftete Kompressor
28 für die Begrenzung der Anzahl von Bit in jedem
Einzelbild auf ein konstantes Niveau. Angesichts der
Verwendung eines Codes variabler Länge ist es, wie
unten beschrieben, unmöglich, die Anzahl erzeugter Bit
exakt vorherzusagen, weshalb das Problem nicht
"trivial" ist. Mit dem traditionellen Ansatz, den
Bitstrom in einem Puffer zu sammeln und einen Überlauf
oder Unterlauf des Puffers durch eine
Rückkopplungskonfiguration zu verhindern, ist eine
unvorteilhaft lange Pufferverzögerungszeit verbunden. Gemäß der
bevorzugten Ausführungsform der Erfindung wird die
vorbestimmte Anzahl von Bit durch Vorhersagen der
Quantisiererstufengröße in Abhängigkeit von der
Bewegungseinzelbildenergie approximiert.
-
Die Vorhersage der Quantisierungsstufengröße, die
Codierung und die Decodierung können in Hardware, in
Software oder in einer Kombination aus den beiden
implementiert werden.
Der verlustbehaftete Kompressor (46)
-
Wie oben erwähnt, empfängt der verlustbehaftete
Kompressor 46 als Eingaben das ursprüngliche uncodierte
Signal über die Leitung 22 und das abgeschätzte
Empfängerbild darstellende Signale über die Leitungen 51. Der
verlustbehaftete Kompressor 46 verwendet diese Signale
dazu, um die Differenz zwischen ihnen zu codieren, und
gibt das codierte Fehlerrekonstruktionssignal über die
Leitungen 52 aus. Dieses Signal korrigiert die meisten,
von dem Bewegungskompensationssystem nicht richtig
kompensierten Fehler. Bei der bevorzugten Ausführungsform
der Erfindung wird ein hierarchisches
Vektorquantisierercodierungsverfahren und eine hierarchische
Vektorquantisierercodierungsvorrichtung verwendet, doch
können in anderen Ausführungsformen andere
hierarchische Verfahren eingesetzt werden, die wie unten
beschrieben eine dezimierte Pyramidenstruktur und
Interpolation verwenden.
-
Nunmehr unter Bezugnahme auf Fig. 10 wird das
abgeschätzte Empfängerbild über Leitung 51 (oftmals als
das "verzogene" Bild bezeichnet) und das ursprüngliche,
uncodierte Bild über die Leitungen 22 durch die
Dezimierungsschaltungen 502 beziehungsweise 504 viermal
dezimiert (das heißt, wie unten beschrieben gefiltert
und unterabgetastet). Bei jeder Dezimierungsstufe wird
das Bild mit einem Faktor von Zwei sowohl horizontal
als auch vertikal unterabgetastet. Somit stehen fünf
Niveaus von Bildern für das Luminanzbild mit
Auflösungen von (in der dargestellten Ausführungsform)
256 · 240, 128 · 120, 64 · 60, 32 · 30 und 16 · 15 Bildelementen
für die Luminanz zur Verfügung. Der Satz von Bildern
mit den verschiedenen Bildauflösungen wird
üblicherweise als eine "Auflösungspyramide" bezeichnet. Die
Basis der Pyramide ist das vollaufgelöste Bild, während
die Spitze der Pyramide in der dargestellten
Ausführungsform das 16 · 15-Pixel-Bild ist.
-
Ähnliche Auflösungspyramiden werden für die
Chrominanzkomponenten "I" und "Q" eines Farbbilds gebildet. Für
die folgende Erörterung wird jedoch nur die
Luminanzkomponente des Bilds erörtert. Die gleiche Vorrichtung
und die gleichen Verarbeitungsschritte lassen sich
gleichermaßen auf die Chrominanzkomponenten des Bilds
anwenden.
-
Gemäß dem hierarchischen System wird die Codierung der
Bilddifferenz zwischen dem verzogenen Bild und dem
ursprünglichen uncodierten Bild durch eine
Codierungsschaltung 506 Niveau für Niveau von dem obersten Niveau
zu dem untersten Niveau der Auflösungspyramiden
durchgeführt. Der Prozeß endet bei dieser Auflösung, wenn
zur Videoübertragung keine weiteren Bit zur Verfügung
stehen. Während einer mäßigen Bewegung erreicht das
System somit in der Regel das untere oder Basisniveau
von 256 · 240 Pixeln, während bei einer starken Bewegung
die Codierung möglicherweise bei dem Niveau 128 · 120
stoppt. Während eines Szenenwechsels gehen der
Vorrichtung in der Regel die Übertragungsbit früher in
der Pyramide aus. Große Bildänderungen oder
Szenenwechsel werden somit im allgemeinen in der Regel zunächst
bei den höheren Niveaus beschrieben, wobei die Details
in späteren Einzelbildern eingesetzt werden.
-
Gemäß einem bevorzugten hierarchischen
Codierungssystem, das Vektorquantisierung verwendet, beginnt die
Codierung insbesondere beim obersten Niveau, das heißt
dem 16 · 15-Bild. Die 16 · 15-Version des verzogenen Bilds
wird als die Vorhersage verwendet. Man erinnere sich,
daß dies dem (dezimierten) Bild entspricht, das beim
Empfänger in Abwesenheit jeglicher weiterer
Informationen erzeugt wird. Diese Vorhersage auf oberstem
Niveau wird von dem dezimierten 16 · 15-Bild des obersten
Niveaus des ursprünglichen Bilds substrahiert. Das
Differenzbild, das den Fehler an diesem obersten Niveau
darstellt, wird quantisiert, und die quantisierten
Informationen werden zu dem Codierer 18 geleitet, um zu
dem Empfänger übertragen zu werden. Danach wird das
quantisierte Differenzbild auf dem 16 · 15-Niveau zu dem
Vorhersagebild addiert, um ein rekonstruiertes 16 · 15-
Bild zu bilden, das der Empfänger ebenfalls erzeugt.
-
Bei den niedrigeren Niveaus wird die Vorhersageversion
des Bilds auf andere Weise gebildet. Gemäß der
Erfindung wird die Vorhersage aus dem rekonstruierten
Bild des höheren Niveaus und von dem verzogenen Bild
des aktuellen Niveaus wie folgt abgeleitet.
-
Zunächst wird ein Interpolationsfehlerbild abgeleitet,
indem das verzogene Bild des höheren Niveaus
interpoliert und es von dem verzogenen Bild des
aktuellen Niveaus subtrahiert wird. Das resultierende
verzogene Interpolationsfehlerbild extrahiert somit im
wesentlichen die räumlich höheren Frequenzen des
verzogenen Bilds, das heißt, in dem Bild des höheren Niveaus
nicht vorliegende Informationen. Das rekonstruierte
Bild des höheren Niveaus wird dann interpoliert, um ein
interpoliertes Rekonstruktionsbild auf dem aktuellen
Niveau zu bilden. Schließlich wird das verzogene
Interpolationsfehlerbild adaptiv zu dem interpolierten
Rekonstruktionsbild addiert, um das Vorhersagebild zu
erzeugen. Wie unten beschrieben, wird das verzogene
Interpolationsfehlerbild jedoch dort verwendet, wo es
die Vorhersage verbessert, sonst aber nicht. Dies wird
Block für Block entschieden, und die Entscheidungen
werden als "Nebeninformationen" zu dem Empfänger
übertragen.
-
Danach sind die Schritte zum Erzeugen des
Differenzsignals bei diesem niedrigeren Niveau die gleichen, wie
diejenigen bei dem obersten Niveau, das heißt, das
Vorhersagebild des aktuellen Niveaus wird von dem
ursprünglichen Bild des aktuellen Niveaus subtrahiert,
und diese Differenz wird quantisiert und zu dem
Empfänger übertragen. Die quantisierte Differenz wird
danach zu dem Vorhersagebild bei diesem Niveau addiert,
um ein neues Rekonstruktionsbild zu bilden. Dieser
Vorgang wird durch die Auflösungspyramide so lange
wiederholt, bis das unterste Niveau erreicht ist. Das
rekonstruierte Bild auf dem untersten Niveau ist das
Ausgabebild bei diesem Niveau, und es ist dieses Bild,
das von dem Decodierer angezeigt wird. Dieses Bild wird
außerdem wie oben beschrieben zur Bildung eines
verzogenen Bilds für das nächste Einzelbild verwendet.
Die Rekonstruktion des verzogenen Bilds beim Sender
wird wie oben angemerkt durch die
Rekonstruktionsschaltung 48 durchgeführt.
-
Falls vor Erreichen des untersten Niveaus alle zur
Verfügung stehenden Bit verwendet worden sind, werden
die Vorhersagen bei den niedrigeren Niveaus immer noch
auf die gleiche Weise erzeugt, doch wird keine
Codierung, das heißt keine quantisierten
Differenzinformationen, zu dem Empfänger gesendet.
Stattdessen wird die Vorhersage auf den untersten
Niveaus direkt als Ausgabe- oder Rekonstruktionsbild
auf diesem Niveau und als das Fehlerrekonstruktionsbild
über die Leitungen von der Rekonstruiererschaltung 48
verwendet.
Einzelheiten des hierarchischen
Vektorquantisierungscodierungssystems
-
Unter Bezugnahme auf Fig. 11 wird die
Auflösungspyramide wie oben erwähnt gebildet, indem bei dieser
dargestellten Ausführungsform das höchste Auflösungsniveau
des Bilds viermal dezimiert wird. Bei der in
Fig. 11 dargestellten eindimensionalen Beziehung wird
jedes Paar von Pixeln bei einem niedrigeren Niveau
gemittelt, um ein einzelnes Pixel bei einem oberen
Niveau zu bilden. Die Situation ist sowohl horizontal
als auch vertikal gleich, so daß jedes Bildelement des
höheren Niveaus in der Mitte einer 2 · 2-Pixelgruppe des
niedrigeren Niveaus positioniert ist. Das
Codierungsverfahren sorgt auch dafür, daß mit einem
Interpolationsvorgang die Pixel bei einem niedrigeren Niveau
anhand eines höheren Niveaus erzeugt werden. Der
Interpolationsprozeß wird beispielsweise auf das verzogene
und rekonstruierte Bild angewendet, um Bilder zum
Verarbeiten beim nächstniedrigeren Niveau zu erhalten, und
er wird durch eine bilineare Interpolation bewirkt. Die
Interpolationsfaktoren sind 0,75 und 0,25.
-
In der dargestellten Ausführungsform der Erfindung wird
arithmetische Codierung dazu verwendet, um sowohl
Informationen zur Übertragung von dem verlustbehafteten
Kompressor 28 zu codieren, als auch, wie unten
ausführlicher erörtert werden wird, skalare Daten von dem
verlustbehafteten Kompressor 46 zu codieren. Die
arithmetische Codierung ist dem Fachmann wohlbekannt.
Insbesondere kann sie vorteilhafterweise auf die
Beschreibung der Positionen von von Null verschiedenen
Transformations- oder anderen Arrayvariablen angewendet
werden. Die Symbolwahrscheinlichkeiten werden je nach
den vorher übertragenen Werten und der Sequenzposition
des Koeffizienten geändert. Im voraus gespeicherte
Wahrscheinlichkeiten werden verwendet, da eine online
durchgeführte Adaptation laut Erfahrung des Erfinders
bei dieser Anwendung zu keiner wesentlichen
Verbesserung führt.
-
Bei näherer Betrachtung der Codierung der
Auflösungspyramiden und unter Bezugnahme auf Fig. 12 haben das
ursprüngliche und das verzogene Bild auf dem obersten
Niveau eine Auflösung von 15 · 16 Pixeln für die Luminanz
beziehungsweise 8 · 8 Pixeln für die Chrominanz. Fig. 12
beschreibt die Verarbeitung der Luminanzkomponente, und
die Verarbeitung der nicht gezeigten
Chrominanzkomponente kann analog dargestellt werden. Das
Vorhersagebild besteht aus dem verzogenen Bild des obersten
Niveaus, das ursprünglich durch vier Dezimierungen des
verzogenen Luminanz- und Chrominanzbildes erhalten
wurde. Der Vorhersagefehler wird erzeugt, indem das
Vorhersagebild 510 von dem ursprünglichen uncodierten
dezimierten Bild 512 des obersten Niveaus subtrahiert
wird. Die Bilddifferenzen über die Leitung 514 werden
durch einen skalaren Quantisierer 516 mit einer festen
Stufengröße quantisiert. Die quantisierten
Informationen über die Leitung 518 werden für jede Komponente,
die Y-, die I- und die Q-Komponente getrennt codiert,
wobei der gleiche arithmetische Codierer 520 verwendet
wird, der auch für die
Bewegungsvektortransformationskoeffizienten verwendet wird. Der Codierer 520
verwendet ein Markov-Modell zum Codieren der von Null
verschiedenen Datenpositionen. Der Codierer weist in
Abhängigkeit davon, ob die den in Fig. 8 dargestellten
vier nächsten Nachbarn entsprechenden, bereits
codierten vier nächsten Nachbarn Null oder von Null
verschieden sind, sechzehn Zustände auf. Die von Null
verschiedenen Werte werden durch einen speicherlosen
Codierer codiert, der die Acht-Bit-
Quantisierungsindizes in den Bitstrom codiert. Das
quantisierte Differenzbild wird wie oben erwähnt zu der
Vorhersage addiert, und das Resultat ist das Ausgabe-
oder Rekonstruktionsbild (über die Leitungen 522) auf
dem obersten Niveau.
-
Der in Verbindung mit dem Vorhersagefehler auf oberstem
Niveau verwendete skalare Quantisierer 516 ist ein
gleichförmiger Quantisierer mit einer Totzone um Null
herum. Die Schwellwerte (T(i)) befinden sich bei:
-
T (i) = i*T
-
i = 1, 2, ...,N (Gleichung 1)
-
Die Rekonstruktionsebenen (R(i)) sind definiert durch:
-
R(0) = 0
-
R(i) = (i + Delta*R) 1 = 1, 2, ...,N (Gleichung 2)
-
Deshalb wird einem Wert von X, wobei X größer als T(k),
aber kleiner als T(k + 1) ist, ein Quantisiererindexwert
von k zugeordnet und beim Empfänger so rekonstruiert,
als wenn er einen Wert R(k) hätte. Der Quantisierer ist
außerdem um Null herum symmetrisch und setzt alle Werte
mit einer Größe unter T(1) gleich Null.
-
Gemäß der bevorzugten Ausführungsform der Erfindung
eliminiert der Quantisierer 516, nachdem gemäß obiger
Gleichung eine Quantisierung stattgefunden hat, kleine,
von Null verschiedene Werte, die nur von Nullwerten
umgeben sind. Das Kriterium zum Setzen eines Wertes auf
Null lautet, daß er auf die kleinste, von Null
verschiedene Amplitude quantisiert worden ist (das
heißt einen Quantisiererindex von plus oder minus
Eins), und daß seine acht verbundenen Nachbarn auf
einen Wert von Null quantisiert sind. Dieser Vorgang
vergrößert die Adressierungseffizienz des
arithmetischen Codierers 520 und verringert den
Eindruck zufällig erscheinender oder "hochspringender"
Blöcke in einem Bild.
-
Für die niedrigeren Niveaus der Auflösungspyramide wird
das Vorhersagebild erzeugt, indem das Ausgabebild des
nächsthöheren Niveaus mit dem verzogenen Bild des
gleichen Niveaus kombiniert wird. Dann wird der
Vorhersagefehler gebildet, indem die Differenz des
ursprünglichen Bilds auf dem aktuellen Niveau genommen wird.
Das Differenzbild wird unter Verwendung eines Gewinn-
/Formvektorquantisierers codiert, und dann wird die
quantisierte Differenz zu der Vorhersage addiert, um
ein neues Ausgabebild auf dem aktuellen Niveau zu
erhalten. Die Y-, I- und Q-Komponente werden als drei
getrennte Bilder behandelt.
-
Bei eingehender Betrachtung der niedrigeren Niveaus
wird das Vorhersagebild erzeugt, indem das verzogene
Bild auf dem aktuellen Niveau mit dem Ausgabe- und
verzogenen Bild des nächsthöheren Niveaus kombiniert
wird. Insbesondere wird der Interpolationsfehler des
verzogenen Bilds erzeugt, indem das verzogene Bild 524
auf dem aktuellen Niveau und eine interpolierte Version
des verzogenen Bilds von dem nächsthöheren Niveau
(durch Schaltung 526 interpoliert) verwendet wird.
Dieser Interpolationsfehler stellt somit die Differenz
zwischen dem verzogenen Bild des aktuellen Niveaus und
dem gleichen Bild, das dezimiert und interpoliert
worden ist, dar. Wie oben erwähnt enthält es die
Details des verzogenen Bilds, die bei der Dezimierung
zur Bildung des Bilds des nächsthöheren Niveaus
verlorengingen. Das Ausgabebild des nächsthöheren
Niveaus wird dann bei der Interpolationsschaltung 527
interpoliert, um ein Bild auf dem aktuellen Niveau zu
erhalten. Danach wird der verzogene
Interpolationsfehler über Leitung 528 von dem Addierer 530 bedingt zu
dem interpolierten Ausgabebild addiert, um die
Vorhersage zu bilden. Das heißt, für jeden Block aus
8 · 8 Pixeln wird der quadrierte Fehler zwischen dem bei
532 gespeicherten ursprünglichen Bild und zwei
möglichen Vorhersagen bestimmt, das heißt zwischen dem
interpolierten Ausgabebild des nächsthöheren Niveaus
mit oder ohne die Aufnahme des verzogenen
Interpolationsfehlers.
-
Die Eliminierung des verzogenen Interpolationsfehlers
entspricht einer Tiefpaßfilterung des verzogenen Bilds
für die Vorhersage. Dieser effektive Filterungsprozeß
wird in allen Blöcken durchgeführt, in denen er eine
erhebliche Verringerung des Vorhersagefehlers liefert,
das heißt in denjenigen Blöcken, in denen die
Bewegungskompensation nicht erfolgreich war. Das als
"Unscharfmachen" bezeichnete Ergebnis des
Filterungsprozesses wird bewirkt, wenn der "unscharf
gemachte Fehler", multipliziert mit einem
Gewichtungsfaktor wie etwa 1,5 in der dargestellten
Ausführungsform, kleiner ist als der Fehler bei
Verwendung des verzogenen Interpolationsfehlers. Wenn
weiterhin ein 8 · 8-Block bei einem Niveau unscharf
gemacht wird, dann wird das Unscharfmachen auf allen
niedrigeren Niveaus angewendet, die diesem Teil des
Bilds entsprechen. Das heißt, bei dem nächstniedrigeren
Niveau wirkt sich das Unscharfmachen auf einen Bereich
von 16 · 16 Pixeln und bei einem noch niedrigeren Niveau
auf einen Bereich von 32 · 32 Pixeln aus.
-
Die Unschärfeinformationen erzeugen für jeden 8 · 8-Block
ein Ein-Bit-Wort. So gibt beispielsweise eine Eins ein
Unscharfmachen und eine Null kein Unscharfmachen an.
Die Informationen werden mit einem arithmetischen
Codierer 534, wie etwa dem obenerwähnten, codiert, und
da jedes Wort nur ein Bit enthält, brauchen die von
Null verschiedenen Werte nicht codiert zu werden,
nachdem die "Unschärfepositionskarte" codiert worden
ist.
-
Der bestimmte arithmetische Codierer 534 für die
Unschärfeinförmationen verwendet fünf binäre Variablen,
um einen von zweiunddreißig Zuständen mit
entsprechenden Wahrscheinlichkeiten auszuwählen. Die
binären Variablen sind die vier vorher codierten
Unschärfewörter für benachbarte Blöcke auf dem gleichen
Niveau und das Unschärfewort für den Nachbar auf der
höheren Ebene, das heißt den Block auf der
nächsthöheren Ebene, der dem aktuellen Block
entspricht. Der Codierer 524 verwendet somit nicht
explizit die Tatsache, daß sich ein Unscharfmachen auf
einem Niveau auf niedrigere Niveaus ausbreitet,
stattdessen spiegelt sich diese Beziehung in den
Wahrscheinlichkeiten wider, daß die verschiedenen
Zustände einen von Null verschiedenen Nachbarn auf
höherem Niveau aufweisen.
-
Die Vorhersagefehler selbst werden durch einen
Vektorquantisierer 536 codiert. Somit werden auf jedem Niveau
die Komponenten Y, I und Q wie drei getrennte Bilder
behandelt. Jedes für jedes Niveau erzeugte andere Bild
wird somit in Blöcke aus 4 · 4 Pixeln unterteilt. Jeder
Block wird dann der "Vektor" und wird durch die
Gewinn-/Formvektorquantisierung codiert, indem zunächst
die am besten passende Form bestimmt und danach der
entsprechende Gewinn angewendet wird. Das Formcodebuch
enthält normierte Vektoren (die gemäß dem LBG-
Algorithmus ausgewählt sind, wie in der Technik
wohlbekannt), und der optimale Formvektor ist derjenige
Codebuchvektor, der die höchste Korrelation mit dem zu
quantisierenden Datenvektor aufweist. Das heißt, das
innere Produkt des Datenvektors weist für den optimalen
Formvektor ein Maximum auf. Der Datenvektor wird beim
Empfänger als der ausgewählte Formvektor multipliziert
mit einem Gewinnfaktor rekonstruiert. Der Gewinn, der
für den ausgewählten "Formvektor" den kleinsten
quadrierten Fehler ergibt, wird quantisiert, indem aus
dem Gewinncodebuch ein Rekonstruktionswert ausgewählt
wird. Dies ist die obenerwähnte skalare Quantisierung.
-
Aus rechnerischen Gründen ist eine eingehende Suche des
Formcodebuchs, das in der Regel L = 2**D Formvektoren
enthält (wenn D gleich 12 oder 13 ist) in Echtzeit
unpraktisch. Stattdessen wird eine Suche in einem
binären Baum verwendet, bei der D+1 innere Produkte (im
Vergleich zu 2**D inneren Produkten bei einer
eingehenden Suche) erzeugt werden müssen. Bei jedem
Niveau der Baumsuche wird das innere Produkt zwischen
dem Datenvektor und einer im voraus gespeicherten
Differenz zwischen zwei Formvektoren erzeugt. Die
Entscheidung hängt davon ab, ob das innere Produkt
positiv oder negativ ist; und wenn alle D Niveaus der
Suche im binären Baum durchquert worden sind, ist der
Formvektor bestimmt worden. Danach wird, um den
Gewinnfaktor zu erhalten, das innere Produkt zwischen
dem ausgewählten Formvektor und dem Datenvektor
erzeugt. Dieser Suchvorgang ist in der Technik
wohlbekannt.
-
Bei der dargestellten Ausführungsform besteht das
binäre Codebuch mit einer Größe 2**D tatsächlich aus
einer Sammlung von Codebüchern verschiedener Größen für
jedes Niveau, und auf dem Niveau M existiert ein
Codebuch der Größe 2**M, M = 1, 2, ...,D. Bei dem
Vektorquantisierer 536 wird mit dieser Struktur die Größe des
Formcodebuchs in Abhängigkeit von dem Gewinnfaktor
verändert. Somit wird ein kleineres Codebuch der Größe
2**D1, wobei D1 kleiner als D ist, für Blöcke
verwendet, bei denen der Gewinn auf den kleinsten, von
Null verschiedenen Wert R(1) quantisiert wurde. Bei
Blöcken mit einem größeren Gewinn jedoch wird ein
Codebuch voller Größe verwendet.
-
Die Gewinnfaktoren werden wie oben angemerkt durch eine
gleichförmige Quantisierung quantisiert, um einen Index
mit einem Höchstwert von 2**B zu liefern. Wie oben
erwähnt, werden Isolierte eliminiert, und die Codierung
wird mit einem arithmetischen Codierer durchgeführt.
Die von Null verschiedenen Positionen werden mit fünf
binären Variablen (zweiunddreißig Zustände) codiert,
die die vier vorher codierten Nachbarn auf dem gleichen
Niveau und den Nachbarn auf höherem Niveau beinhalten,
der ebenfalls sowohl für den Empfänger wie auch für den
Sender zur Verfügung steht. Die von Null verschiedenen
B-Bit-Werte werden von einem speicherlosen Codierer
codiert.
-
Die Formvektoren werden unter Verwendung von Codes
fester Länge codiert. Für jeden von Null verschiedenen
Gewinnwert muß somit der Formvektor übertragen werden.
Bei über Eins liegenden Gewinnwerten beschreiben D Bit
den Formvektor, während bei Gewinnen mit einem
Quantisiererindex gleich Eins das D1 Bit erfordernde,
kleinere Codebuch verwendet wird.
-
Wenn auf das gleiche Bild die
Form-/Gewinnvektorquantisierercodierung wiederholt angewendet wird, um das Bild
bis zu seiner vollen Auflösung aufzubauen, wird die
Codierung immer weniger effizient. Es kommt dazu nicht
nur deshalb, weil der Codierungsfehler selbst immer
rauschartiger wird, sondern auch weil sich in dem
Codebuch die "guten Vektoren" erschöpfen. Der
Codierungsfehler wird somit schnell "orthogonal" zu dem Codebuch.
Dieser Effekt wird gemäß der beanspruchten Erfindung
wesentlich dadurch reduziert, daß die
Bildblockgrenzpositionen von Einzelbild zu Einzelbild geändert
werden. Bei den unteren Niveaus werden die Blöcke
deshalb von Einzelbild zu Einzelbild bevorzugt entlang
sowohl der horizontalen als auch der vertikalen Achse
um einige wenige Pixel verschoben. Durch diesen Prozeß
wird die effiziente Codierung in dem System erheblich
gesteigert.
-
Die übrigen Niveaus können mit den auf das (30 · 32)-
Niveau angewendeten Prozeduren und unter Verwendung von
Äquivalente n der Elemente 524, 526, 527, eines
Addierers 538 und der Elemente 530, 534 und 536 codiert
werden, doch mit der Ausnahme, daß die Bilddaten bei
der bevorzugten Ausführungsform wie unten beschrieben
codiert werden.
-
Gemäß der bevorzugten Ausführungsform der Erfindung
liefert das System auf dem obersten Niveau kein
adaptives Unscharfmachen, und es wird reine skalare
Quantisierung verwendet. Auf dem nächsten Niveau, dem
32 · 30-Niveau für die Y-Komponente und dem 15 · 16-Niveau
für die Chrominanz-Komponenten wird der verzogene
Interpolationsfehler selektiv zu den interpolierten
Ausgabebildern von dem obersten Niveau addiert, weshalb
auf diesem Niveau Unschärfeinformationen übertragen
werden. Bei der bevorzugten Ausführungsform der
Erfindung wird jedoch in der dargestellten
Ausführungsform keine Codierung der Bildinformationen,
das heißt des Ausgabebildfehlers, durchgeführt. Die
Vorhersagebilder sind selbst die Ausgaben dieses
Niveaus. Bei den drei unteren Niveaus, die alle
identisch behandelt werden, wird eine adaptive
Unscharfmachung verwendet, wenn die Vorhersagebilder
erzeugt werden, und der Vorhersagefehler wird unter
Verwendung der Gewinn-/Formvektorquantisierung codiert.
Dies ist schematisch in Fig. 12 gezeigt.
-
Die primäre Strategie für den Codierungsprozeß besteht
darin, zum Codieren jedes Einzelbilds eine feste Anzahl
von Bit zu Verwenden. Die Codierung beginnt mit dem
obersten Niveau und arbeitet sich durch die
pyramidenförmige Niveaustruktur bis zu dem untersten Niveau
durch, und auf allen Niveaus mit Ausnahme des untersten
Niveaus werden feste Quantisierer verwendet. Für jedes
Niveau werden die Quantisierercharakteristiken auf der
Basis subjektiver Bildqualitätskriterien ausgewählt.
Auf dem untersten Niveau jedoch wird der Quantisierer
so gewählt, daß die Anzahl erzeugter Bit ungefähr
gleich der Anzahl der immer noch für das Bild
verfügbaren Bit ist.
-
Bei starker Bewegung jedoch werden möglicherweise alle
verfügbaren Bit verwendet, bevor das unterste Niveau
erreicht ist. In diesem Fall kann der Quantisierer
beispielsweise für das zweitunterste Niveau selektiv
eingestellt werden, um die gewünschte Anzahl von
Ausgabebit für das Einzelbild bereitzustellen. Auf dem
untersten Niveau wird somit, während die Vorhersage
immer noch auf übliche Weise erzeugt und die
Unschärfeinformationen codiert und übertragen werden,
keine Vektorquantisierung durchgeführt, und das
Vorhersagebild selbst ist stattdessen das Ausgabebild.
-
Bei der dargestellten Ausführungsform können einige
Umstände auftreten, beispielsweise ein Szenenwechsel,
wenn es möglicherweise unmöglich ist, sogar das
zweitniedrigste Niveau zu codieren. In diesem Fall endet die
Codierung bei dem nächsthöheren Niveau
(60 · 64 für
Luminanz und 30 · 32 für Chrominanz). Wenn die Codierung
auf diesem Niveau mehr Bit erzeugt als die gewünschte
Anzahl von Bit pro Einzelbild, dann wird die Codierung
weiterhin durchgeführt und die Einzelbildrate
verlangsamt sich vorübergehend wegen der großen Anzahl von
Bit, die erzeugt werden. Für die beiden untersten
Niveaus wird die Vorhersage wie üblich erzeugt und die
Unschärfeinformationen werden übertragen, doch wird
keine Vektorquantisierung durchgeführt.
-
Unter Bezugnahme auf Fig. 3 werden beim Empfänger 21
die übertragenen und codierten Daten decodiert und das
neue Einzelbild wird erzeugt. Insbesondere werden die
die Auflösungspyramiden darstellenden Daten durch die
Rekonstruktionsschaltung 76 von der Spitze der Pyramide
nach unten bis zum Boden Niveau für Niveau decodiert.
Bei dem obersten Niveau wird das quantisierte
Differenzbild decodiert und (in dem selektiven Addierer
100, der eine Dezimierungsschaltung enthält) zu dem
verzogenen Bild auf diesem Niveau addiert. Dadurch wird
das Ausgabebild auf dem obersten Niveau rekonstruiert.
Die unteren Niveaus werden dann durch den Addierer 100
rekonstruiert, indem zuerst mit den über die Leitungen
84 von der Rekonstruktionsschaltung 76 verfügbaren,
übertragenen Unschäfeinformationen die Vorhersage
gebildet und dann das Differenzbild decodiert und es
selektiv zu dem Vorhersagebild addiert wird, um für
dieses Niveau ein neues rekonstruiertes Bild zu bilden.
Der Prozeß wird solange fortgesetzt, bis das unterste
Niveau erreicht ist und das Bild des untersten Niveaus
zu dem Displaybildpuffer 98 übertragen ist.
-
Der arithmetische Decodierer, der in einer Reihe von
Prozessen verwendet wird, das heißt Decodieren der
Bewegungstransformationskoeffizienten, der
Unschärfeinformationen und der Bildinformationen von dem
verlustbehafteten Kompressor 46, funktioniert wie in
der Technik wohlbekannt ist. Da die von Null
verschiedenen Positionen unter Verwendung verschiedener
Wahrscheinlichkeiten in Abhängigkeit davon codiert
wurden, in welchem Zustand sich der Codierer befand,
regeneriert der arithmetische Decodierer den Zustand
für jede Position in der Positionskarte, während die
Decodierung weiterläuft. Der Zustand bestimmt dann in
Kombination mit den codierten Daten, ob für jede
Kartenposition eine Null verwendet wird oder nicht.
-
Nachdem die die Position von von Null verschiedenen
Werten angebende Karte decodiert worden ist, werden die
B-Bit-Werte decodiert und um Eins inkrementiert und an
die entsprechenden Positionen in der Karte gesetzt.
Bei genauerer Betrachtung der Erzeugung der
Auflösungspyramiden und ihrer Decodierung läuft der Prozeß
umgekehrt wie das beim verlustbehafteten Kompressor 46
verwendete Verfahren ab. Da der
Empfängerdecodierungsprozeß wie der Codierungsprozeß des Senders 8 abläuft,
wird die Vorhersage auf dem obersten Niveau somit
anhand des verzogenen Bilds des obersten Niveaus
erzeugt. Die Quantisiererindizes werden unter
Verwendung des arithmetischen Decodierers decodiert,
und das quantisierte Differenzbild wird aus den
Quantisiererindizes rekonstruiert und dann zu dem
Vorhersagebild addiert, damit man das Ausgabebild des
obersten Niveaus erhält (entsprechend dem Addierer 522a
und der Ausgabe über die Leitungen 522 des Senders 8).
Bei den unteren Niveaus wird die Vorhersage dadurch
gebildet, daß der verzogene Interpolationsfehler
selektiv zu dem interpolierten Ausgabebild von dem
nächsthöheren Niveau addiert wird (entsprechend dem
Addierer 530 in dem Sender). Dieses Ausgabebild und das
verzogene Bild bei dem nächsten Ausgabeniveau werden
interpoliert, um Bilder auf dem aktuellen Niveau zu
erhalten. Die Unschärfeinformationen werden unter
Verwendung des arithmetischen Decodierers decodiert,
und dann wird in jedem 8 · 8-Block der interpolierten
Ausgabe des höheren Niveaus, für den der Unschärfecode
Null ist, die Differenz zwischen dem verzogenen Bild
des aktuellen Niveaus und dem interpolierten verzogenen
Bild des höheren Niveaus addiert (entsprechend Addierer
538 des Senders).
-
Auf allen unteren Niveaus werden gemäß der bevorzugten
Ausführungsform der Erfindung die vektorquantisierten
Informationen decodiert, indem zunächst die Gewinnwerte
unter Verwendung des arithmetischen Decodierers und
dann für die von Null verschiedenen Werte die
Formindizes decodiert werden. Für jeden Block mit einem
Gewinnquantisiererindex von Eins wird aus dem Bitstrom
ein D1-Bit-Wort extrahiert, um den Formvektor
anzugeben, während für Blöcke mit einem über Eins liegenden
Index ein Bitwort mit Länge D aus dem Bitstrom
extrahiert wird. Das Differenzbild wird rekonstruiert,
indem man den Formvektor aus dem entsprechenden
Codebuch nimmt und ihn mit dem Gewinnwert skaliert.
Dies geschieht für jeden von Null verschiedenen 4 · 4-
Pixelblock. Das Ausgabebild wird danach gebildet, indem
diese rekonstruierte Differenz zu der Vorhersage
addiert wird. (Dies entspricht der Operation des
Addierers 540 des Senders.) Das Ausgabebild von dem
untersten Niveau in dem letzten rekonstruierten Bild
wird dann auf den Displaybildpuffer als das letzte
Ausgabebild übertragen.
-
Der dargestellte verlustbehaftete Kompressor 46 kann in
Hardware, in Software oder in einer Kombination daraus
implementiert werden.
Der Bewegungsabschätzer
-
Nunmehr unter Bezugnahme auf Fig. 6 verwendet die
Bewegungsabschätzungsschaltung 26 zur Bestimmung der
Verschiebungsvektoren eines Eingabesignals gemäß der
dargestellten Ausführungsform einen Ansatz mit
iterativem räumlichem Bereich, der durch einen
Fehlerminimierungsprozeß schnell konvergiert. Bei der
bevorzugten Ausführungsform wird ein adaptives
Verfahren mit einem Ansatz des steilsten Abstiegs
eingesetzt. Das Verfahren weist ein gutes
Konvergenzverhalten auf.
-
In Hinman, B., "Theory and Application of Image Motion
Estimation", Doktorarbeit M.I.T. (1984), beschreibt
Gleichung 3.12 die Iterationen zum Bestimmen eines
Verschiebungsvektors v für ein Pixel mit einer Position
in einem Bild f. Das neue Bild wird durch g
dargestellt. Diese Gleichung ist hier als Gleichung 3
reproduziert, wobei "i" einen früheren Wert des
Verschiebungsvektors und "i + 1" einen nächsten Wert des
Verschiebungsvektors darstellt.
-
vi+1 = vi - 2e [g(p) - f(p - vi)] (·) f(p - vi)
(Gleichung 3)
-
Gleichung 3 kann gemäß Fig. 6 implementiert werden,
wobei die eingegebenen g- und f-Einzelbilder in den
Puffern 200 beziehungsweise 202 gespeichert werden. Der
Gradientenwert des Einzelbilds wird durch einen
Gradientencomputer 204 bestimmt, und räumliche
Interpolatoren 206, 208 liefern die durch die
Summierung in Gleichung 3 erforderlichen Werte von f.
Ein Summierelement 210 und ein Multiplikationselement
212 liefern den Fehlergradientenwert, der in einem
Akkumulator 214 akkumuliert wird. Die Ausgabe des
Akkumulators 214 wird durch einen Stufengrößenadapter
215 bei einem Multiplizierer 216 multipliziert und mit
dem Ergebnis wird der Vektorverschiebungswert in einem
Akkumulator 218 aktualisiert. Der Akkumulator 214
empfängt den Anfangsvektorvorhersagewert von einer
Vorhersagehardware 220.
-
Die aktualisierten Vektoren werden von den
Interpolatoren 206 und 208 beim Bestimmen der Werte von
"f" verwendet, und das Vektorausgabefeld wird in einem
Puffer 222 gespeichert. Die ganze Vorrichtung arbeitet
unter der Steuerung einer Systemsteuereinheit 224, die
den Wert der Fehlergradientenakkumulatorausgabe überwacht
und als Reaktion darauf die Stufengröße adaptiv
ändert.
-
Nunmehr unter Bezugnahme auf Fig. 7 sorgt ein durch
Gleichung 3 definiertes verbessertes Verfahren zum
Implementieren des adaptiven Bewegungsabschätzers 26
mit iterativem räumlichem Bereich mit Fehlerminimierung
mit steilstem Abstieg für die Verwendung eines
einzelnen Interpolators 240, der an dem f-Einzelbild
arbeitet, und einer Gradientenberechnungsschaltung 242,
die dann an der interpolierten Wertausgabe des
Interpolators 240 arbeitet. Aus dieser Schaltung 242
resultiert die Eliminierung einer der Interpolatoren
von Fig. 6, wobei Hardware und/oder Software
eingespart wird.
-
Bei Verwendung dieses Verfahrens sind die drei
wichtigen Parameter die Anfangsstufengröße e, der
Stopp- oder Abbruchschwellwert T und der Prädiktorsatz
ak. Die Anfangsstufengröße spielt eine wichtige Rolle
beim Bestimmen der Rate, mit der das Verfahren auf die
Bewegungsvektorverschiebung konvergiert. Wenn e mit
einem sehr kleinen Wert gewählt wird, erfordert das
Verfahren eine exzessive Anzahl von Iterationen, bevor
es eine ausreichend kleine Nachbarschaft des Minimums
erreicht. Wenn der Wert von e ansteigt, steigt auch die
Konvergenzrate an, doch kommt ein Wert, wenn e so groß
ist, daß der Suchvorgang ohne zu konvergieren um das
Minimum herumschwingt. Der Wert von e muß durch
empirische Tests bestimmt werden. Es hat sich
herausgestellt, daß bei einer Blockgröße von 4 · 4 ein Wert von
3 · 105 das beste Konvergenzverhalten liefert.
-
Der Abbruchschwellwert wird mit der Größe des
Fehlergradienten mal der Anfangsstufengröße e für jede
Iteration verglichen. Dieser Schwellwert muß unter
Berücksichtigung zweier Einschränkungen gewählt werden.
Zunächst sollte er ausreichend klein sein, so daß eine
Verschiebung in der Nähe der eigentlichen Verschiebung
erreicht wird. Die zweite und entgegengesetzte
Einschränkung besteht darin, daß die Anzahl
erforderlicher Iterationen bei Abnahme des Schwellwerts
dramatisch ansteigt. Wie bei der Stufengröße muß somit
der entsprechende Abbruchschwellwert empirisch gefunden
werden. (Wenn die Stufengröße variiert, wie unten
beschrieben, wird der Schwellwert T wie oben
beschrieben weiterhin mit dem multiplikativen Produkt
der Anfangsstufengröße e und dem Fehlergradienten
verglichen.)
-
Bei der empirischen Bestimmung des Abbruchschwellwerts
sind zwei Indikatoren von Interesse. Es handelt sich
bei ihnen um die mittlere Anzahl von Iterationen pro
Block und die bewegungskompensierte
Einzelbilddifferenzenergie. Um den besten Wert von T zu finden, läßt
man den Abschätzung- und Kompensationsprozeß mehrere
Male laufen. Beginnend mit einem kleinen
Abbruchschwellwert wird ein Mindestwert der
bewegungskompensierten Einzelbilddifferenzenergie bestimmt. Wenn der
Schwellwert ansteigt, fällt die mittlere Anzahl von
Iterationen stetig ab, während die
bewegungskompensierte Einzelbilddifferenzenergie im wesentlichen
konstant bleibt. Es wird jedoch schließlich ein Wert
des Schwellwerts erreicht, bei dem die abgeschätzten
Verschiebungen unpräzise werden und die
bewegungskompensierte Einzelbilddifferenzenergie mit der Zunahme
beginnt. Bei der Suche nach dem Wendepunkt in der
bewegungskompensierten Einzelbilddifferenzenergie als
Funktion von T hat sich ein Wert von 7 · 103 als der
angemessenste herausgestellt. Dieser Schwellwert
entspricht einer kleinsten Vektoraktualisierung von
7 · 103 Pixeln.
-
Die Auswahl der Prädiktorkoeffizienten beeinflußt
sowohl die mittlere Anzahl der Iterationen als auch die
Bewegungskompensationseinzelbilddifferenzenergie.
-
Die Auswahl des Anfangswerts des Verschiebungsvektors
für jeden Block wird bei der dargestellten
Ausführungsform als eine lineare Kombination aus diesem
benachbarten Verschiebungsvektoren gewählt. Unter
Bezugnahme auf Fig. 8 liefert das Verfahren mit
steilstem Abstieg somit einen Zugang zu den
Verschiebungsvektoren über und links von einem
vorliegenden Verschiebungsvektor Vo. Gemäß der
dargestellten Ausführungsform wird der vorliegende
Verschiebungsvektor somit durch Gleichung 4 definiert
als:
-
V&sub0; = ajVj (Gleichung 4)
-
Die Werte aj sind die Prädiktorkoeffizienten, während
die Werte Vj die vorher bestimmten Verschiebungsvektoren
sind.
-
Die bevorzugten Vektorprädiktoren aj sind a&sub1; = 0,3,
a&sub2; = 0; a&sub3; = 0, 4 und a&sub4; = 0, 3. Für diese Werte der
Vektorprädiktoren lag in Kombination mit dem Stufenwert
und den Schwellwerten, die oben für einen Datensatz
angegeben sind, die mittlere Zahl von Iterationen bei
6,71 und die
Bewegungskompensationseinzelbilddifferenzenergie lag 14,1 dB unter der
nicht-bewegungskompensierten Einzelbilddifferenzenergie.
-
Gemäß einer bevorzugten Ausführungsform der Erfindung
kann der ausgewählte Wert von e, die
Anfangsstufengröße, adaptiert werden, so daß sie sich als Funktion
des Fehlergradienten ändert. Gemäß dieser dargestellten
Ausführungsform der Erfindung und unter Steuerung der
Systemsteuereinheit 224 wird der Stufengrößenwert somit
so adaptiert, daß er sich in Abhängigkeit von dem
vorliegenden Gradientenfehlerwert oder dem vorliegenden
und einem oder mehreren vorherigen
Fehlergradientenwerten so ändert, daß die Stufengröße für die
Vektorverschiebung nicht unvernünftig klein wird. Eine
Beschreibung der beiden Verfahren zum Auswählen der
Stufengröße findet sich in der Doktorarbeit von Hinman
und beginnt auf Seite 33.
-
Gemäß der bevorzugten Ausführungsform der Erfindung
wird das zweite Verfahren, das durch die Gleichungen
3.18, 3.19 und 3.20 der Doktorarbeit von Hinman
definiert wird, so modifiziert, daß es die
Verarbeitungslast des Systems reduziert. Bei dieser
Ausführungsform sind die Gleichungen 3.18, 3.19 und
3.20 so modifiziert, daß:
-
(neue Stufengröße) = (alte Stufengröße) ·α (Gleichung 5)
wobei
-
1,4, falls R > 0
-
α =
-
0,3, falls R < 0 (Gleichung 6)
-
und
-
und "Gradient E" den Gradienten der vorliegenden x-
oder y-Fehlerfunktion darstellt und "Vorzeichen [·]" je
nach dem Vorzeichen des Arguments ±1 ist. Die so
definierte Gleichung 6 liefert ein drittes Verfahren
für einen adaptiven Ansatz mit steilstem Abstieg. Wie
oben angemerkt, wird der Abbruchschwellwert T jedoch
gegen die Anfangsstufengröße gemessen. Der dargestellte
Wert T kann somit als das Produkt aus einer Konstanten
mal dem Fehlergradienten definiert werden.
-
Gemäß der bevorzugten Ausführungsform der Erfindung
verhindert die Systemsteuereinheit 224 weiterhin, daß
die Verschiebungsinkrementstufengröße größer wird als
ein ausgewählter Schwellwert, beispielsweise größer als
ein Pixel, und verhindert weiterhin, daß der Höchstwert
des Verschiebungsvektors größer wird als ein zweiter
ausgewählter Schwellwert, beispielsweise größer als 7
1/2 Pixel. Auf diese Weise erhält man mehr Kontrolle
über den Prozeß des steilsten Abstiegs, und
Singularitäten, die eine Konvergenz verhindern, können
vermieden werden.
-
Der dargestellte Bewegungsabschätzer kann in Hardware,
in Software oder in einer Kombination daraus
implementiert werden. Bei einer besonderen Ausführungsform, die
hier als Anhang C beigefügt ist, wird eine
Softwareimplementierung eines adaptiven Verfahrens und einer
adaptiven Vorrichtung mit steilstem Abstieg geliefert.
Adaptive Filterausführungsform
-
Unter Bezugnahme auf Fig. 13 werden in einer weiteren
dargestellten Ausführungsform der Erfindung die von dem
verlustbehafteten Kompressor 46 bereitgestellten
Unschärfeinformationen eliminiert, und an deren Stelle
wird ein selektiv betätigbares adaptives Filter 700
bereitgestellt. Bei der Betätigung dieser
Ausführungsform der Erfindung wird für diejenigen Blöcke, bei
denen die Bewegungskompensationsdaten präzise sind, das
Signal über die Leitungen 56 direkt über das adaptive
Filter 700 an den Ausgang davon über die Leitungen 702
angelegt. Für diejenigen Blöcke, bei denen die
Bewegungskompensation nicht adäquat ist, wie unten
ausführlicher beschrieben wird, kann das adaptive
Filter die Ausgabedaten über die Leitungen 56 für den
Block effektiv tiefpaßfiltern und liefert über die
Leitungen 702 für diejenigen Gebiete, bei denen eine
Filterung vorteilhaft ist, eine Tiefpaßversion des
Bewegungskompensations-rekonstruierten Empfängerbilds
für den Block. Außerdem liefert das adaptive Filter 700
über die Leitungen 704 Filterdaten an den Kanalcodierer
18 zur Übertragung zu dem Empfänger 21 als
Nebeninformationen.
-
Unter Bezugnahme auf Fig. 14 decodiert der Empfänger
21 die Filterungsinformationen und liefert über die
Leitung 708 ein Filterdatensignal. Die restliche
Schaltung des Empfängers 21 in Fig. 14 arbeitet auf
eine der in Fig. 3 entsprechende Weise, außer daß das
Filterdatensignal bestimmt, ob die
Bewegungskompensationsdaten für einen Block vor Verwendung
tiefpaßgefiltert werden.
-
Gemäß dieser Ausführungsform der Erfindung empfängt das
hierarchische Codierungsverfahren deshalb Daten, die
vor Empfang gefiltert werden. Das Codierungsverfahren
liefert deshalb in der dargestellten Ausführungsform
keine weiteren Unschärfeinformationen, die zum großen
Teil gegenüber den bereits zum Empfänger übertragenen
Daten der adaptiven Filterung redundant wären. Bei
genauerer Betrachtung des adaptiven Filters stellt wie
oben erwähnt die Ausgabe des Bewegungskompensators 42
das empfängerbewegungskompensierte Bild als Ergebnis
des Anwendens der Darstellung des codierten
Bewegungssignals von dem verlustbehafteten Prozessor 28
auf das vorherige Einzelbild dar, das im Bildpuffer 44
gespeichert ist. Das empfängerbewegungskompensierte
Bild kann unter bestimmten Umständen in verschiedenen
räumlichen Gebieten (Blöcken) durch selektives Anwenden
eines räumlichen Tiefpaßfilters verbessert werden. Zur
Entscheidung, ob der Filterungsprozeß an einem Block
des empfängerbewegungskompensierten Bilds durchgeführt
werden sollte, wird Block für Block ein Vergleich des
quadrierten Vorhersagefehlers zwischen dem
ursprünglichen Bild und der ungefilterten und gefilterten
Vorhersage durchgeführt.
-
In dieser dargestellten Ausführungsform wird ein Block
als eine 8 · 8-Gruppierung von Bildelementen bezeichnet.
Für jeden Block wird die Vorhersage ausgewählt, die die
kleinste Fehlerenergie aufweist (beispielsweise mit
einer Konstanten gewichtet, um ein Bias zugunsten einer
ungefilterten Vorhersage zu liefern), und diese
Entscheidungsinformationen, die über die Leitung 704
verfügbaren Filterdaten, werden dem Codierer 18 zur
Verfügung gestellt. Die Filterdaten werden zu dem
Empfänger gesendet, damit er während des
Empfängerbildrekonstruktionsprozesses an jedem entsprechenden Block
die gleiche Operation wie der Sender 8 vornehmen kann.
Der Empfänger 21 decodiert und liefert die Filterdaten
an den Bewegungskompensator 99 über die Leitungen 708.
Nachdem für einen Block die Entscheidung hinsichtlich
adaptiver Tiefpaßfilterung getroffen worden ist, wird
das resultierende Blockbild, ob gefiltert oder nicht,
wie oben erwähnt als das abgeschätzte Empfängerbild
über die Leitungen 702 verwendet.
-
Das adaptive Filter weist vier Operationsstufen auf.
Zunächst wird der Block tiefpaßgefiltert. Zweitens wird
sowohl für die gefilterte als auch ungefilterte Version
des Blocks im Vergleich mit dem ursprünglichen Bild
eine Energiemessung vorgenommen. Drittens wird eine
Entscheidung getroffen, um zu bestimmen, ob anstelle
des ungefilterten empfängerbewegungskompensierten Bilds
der tiefpaßgefilterte Block eingefügt werden sollte.
Schließlich werden die die Filterverwendung für jeden
Block beschreibenden Informationen codiert (die
Filterdaten auf den Leitungen 704) und an den Codierer 18
gesendet. Weitere Einzelheiten über die Operation des
adaptiven Filters sind in dem obenerwähnten Patent US-
A-4,816,914 beschrieben.
-
Das hierarchische Codierungsverfahren und die
hierarchische Codierungsvorrichtung, die oben beschrieben
sind, können vorteilhaft auch in Verbindung mit der
Übertragung einer Sequenz von Bildern verwendet werden,
bei denen keine Bewegungskompensation vorgesehen ist.
In diesem Fall ist das abgeschätzte Empfängerbild
beispielsweise über die Leitungen 51 in Fig. 2 das
rekonstruierte Empfängerbild, das als die
Einzelbildausgabe des Bildpuffers 44 über die Leitungen 64
bezeichnet ist. Weiterhin brauchen das eingegebene Bild
über die Leitungen 22 und das abgeschätzte
Empfängerbild über die Leitungen 51 nicht individuell durch den
verlustbehafteten Kompressor 46 dezimiert zu werden,
sondern können (wobei auf Fig. 15 Bezug genommen wird)
in eine Differenzschaltung 720 eingegeben werden, deren
Ausgangssignal, das das Fehlersignal am Empfänger
darstellt, dann zur Dezimierung und hierarchischen
Codierung gemäß der oben beschriebenen Erfindung in
einen verlustbehafteten Kompressor eingegeben werden
kann. Beim Empfänger würden der Bewegungskompensator 99
und die ihn betreffende Schaltung analog eliminiert
werden, wenn keine Bewegungskompensation verwendet
würde. Analog würde die Rekonstruktionsschaltung 76
gemäß der Senderoperation modifiziert werden, um die
Fehlerbilddarstellung über die Leitungen 84 zu
rekonstruieren, wenn die Schaltung von Fig. 15
verwendet wird. Diese Änderungen sind für den Fachmann
offensichtlich.
-
Für den Fachmann ergeben sich Zusätze, Abzüge,
Löschungen und andere Modifikationen der bevorzugten
besonderen Ausführungsformen der Erfindung, und diese
liegen innerhalb des Schutzbereichs der folgenden
Ansprüche.