DE4136636A1 - Einrichtung zur codierung von bildsignalen - Google Patents

Einrichtung zur codierung von bildsignalen

Info

Publication number
DE4136636A1
DE4136636A1 DE4136636A DE4136636A DE4136636A1 DE 4136636 A1 DE4136636 A1 DE 4136636A1 DE 4136636 A DE4136636 A DE 4136636A DE 4136636 A DE4136636 A DE 4136636A DE 4136636 A1 DE4136636 A1 DE 4136636A1
Authority
DE
Germany
Prior art keywords
image
block
coded
image area
blocks
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.)
Ceased
Application number
DE4136636A
Other languages
English (en)
Inventor
Stefan Goss
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE4136636A priority Critical patent/DE4136636A1/de
Publication of DE4136636A1 publication Critical patent/DE4136636A1/de
Ceased 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Die Erfindung betrifft eine Einrichtung zur Codierung von Bildsignalen, wobei Bildbereiche, die als Objekte vorgegebenen Modellbeschreibungen genügen, objekt-orientiert codiert werden.
Zur datenreduzierten Übertragung von bewegten Bildern sind verschiedene Verfahren und Einrichtungen bekanntgeworden. Eine besonders hohe Datenreduzierung versprechen objekt-orientierte Verfahren, wenn sich der gesamte Inhalt eines Bildes in relativ wenige Objekte einteilen läßt, die sich bei ihrer Bewegung innerhalb des Bildes relativ geringfügig verändern. Bei der Erkennung der einzelnen Objekte sind Modelle erforderlich - beispielsweise flächenhafte Objekte, die sich jeweils durch Form, Farbe und Bewegung auszeichnen. Dabei wird im vorliegenden Zusammenhang unter Farbe sowohl die Luminanz als auch die Chrominanz verstanden. Die Form wird durch eine angenäherte Umrißlinie des Objekts und die Bewegung durch einen Vektor dargestellt. Die drei genannten Parameter, nämlich Form, Farbe und Bewegung werden für jedes erkannte Objekt übertragen und dienen im Decoder zur Synthese des zu übertragenden Bildes.
Eine vorteilhafte Form der objekt-orientierten Codierung besteht in der objekt-orientierten Analyse-Synthese-Codierung, beschrieben von Michael Hötter: "Object-oriented Analysis-Synthesis Coding based on moving two-dimensional Objects", Signal Processing: Image Communication, Vol. 2, No. 4, December 1990, pp. 409-428.
Eine ausreichende Datenreduktion ergibt sich jedoch nur, wenn das zu übertragende Bild nicht in zu viele Objekte zerlegt wird. Je nach Umständen im einzelnen werden daher Bildbereiche, deren zeitliche Bildsignaländerungen durch die Bewegung von Objekten nicht mit ausreichender Genauigkeit beschrieben werden können, nicht auf Teilbereiche untersucht, die der Modellbeschreibung genügen, sondern in anderer Weise codiert.
Ein vorteilhaftes bekanntes Verfahren zur Codierung von Bildsignalen, das nicht objekt-orientiert ist, ist die sogenannte blockweise Codierung. Dazu wird das zu übertragende Bild generell in quadratische Blöcke aufgeteilt, die beispielsweise 8·8 oder 16·16 Bildelemente enthalten. Auf diese Blöcke werden dann datenreduzierende Codierverfahren, beispielsweise eine DPCM mit einer diskreten Cosinustransformation, angewendet. Wegen der meistens geringen Größe und der unregelmäßigen Form der nicht objekt-orientiert zu codierenden Bildbereiche erweist sich jedoch die bekannte blockweise Codierung als ungünstig - insbesondere deshalb, weil dabei häufig wesentlich mehr Bildelemente zu codieren sind, als der zu codierende Bildbereich enthält.
Aufgabe der vorliegenden Erfindung ist es, bei einer Einrichtung zur objekt-orientierten Codierung eine vorteilhafte Codierung derjenigen Bildbereiche zu ermöglichen, die nicht objekt-orientiert codiert werden.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß Bildbereiche, die nicht den Modellbeschreibungen genügen, blockweise codiert werden, wobei für jeweils einen einzelnen Bildbereich ein Block gebildet wird, der den Bildbereich einschließt. Vorzugsweise ist dabei vorgesehen, daß die Seiten des Blocks durch die horizontalen und vertikalen Extremwerte des blockweise zu codierenden Bildbereichs festgelegt sind.
Eine Anwendung der erfindungsgemäßen Einrichtung ist die Übertragung von Bewegtbildern, wenn eine hohe Datenreduktion gefordert ist. Dieses ist beispielsweise beim Bildtelefon der Fall, insbesondere beim Funkbildtelefon.
Eine Weiterbildung der Erfindung besteht darin, daß diejenigen Flächen des Blocks, die nicht zu dem blockweise zu codierenden Bildbereich gehören, mit Informationen gefüllt werden, die von Informationen des blockweise zu codierenden Bildbereichs abgeleitet sind. Durch diese Weiterbildung wird erreicht, daß die zwar im Block, nicht jedoch im Bildbereich liegenden Bildelemente keine Erhöhung des Informationsinhaltes bewirken. Insbesondere kommt diese Weiterbildung Blockcodierungen mittels Informationen entgegen, wie beispielsweise der diskreten Cosinustransformation.
Dabei ist besonders vorteilhaft, wenn die abgeleiteten Informationen durch Spiegelung von Bildelementen an den Rändern des blockweise zu codierenden Bildbereichs abgeleitet sind, wobei der Einfachheit halber die Spiegelung vorzugsweise horizontal oder vertikal erfolgt.
Vorzugsweise ist vorgesehen, daß vor der blockweisen Codierung durch eine vorangegangene Analyse die blockweise zu codierenden Bildbereiche derart festgelegt sind, daß keiner der blockweise zu codierenden Bildbereiche in einem anderen blockweise zu codierenden Bildbereich liegt.
Eine andere Weiterbildung der Erfindung besteht darin, daß vor der blockweisen Codierung die Kontur des blockweise zu codierenden Bildbereichs codiert und wieder decodiert werden muß. Die Kontur verläuft überwiegend konvex und weniger konkav. Dieses bewirkt, daß weniger Bildelemente außerhalb des zu codierenden Bildbereichs, jedoch innerhalb des Blocks liegen.
Eine vorteilhafte Ausführungsform der erfindungsgemäßen Einrichtung besteht darin, daß ein Maskenbild erzeugt wird, in welchem die zu jeweils einem blockweise zu codierenden Bildbereich gehörenden Bildelemente durch einen vorgegebenen Wert gekennzeichnet sind, daß das Maskenbild spalten- und zeilenweise abgetastet wird, daß beim Abtasten eines Bildelementes, dessen Wert dem vorgegebenen Wert entspricht, geprüft wird, ob das Bildelement zu einem bereits in einer Tabelle eingetragenen Bildbereich gehört, daß gegebenenfalls ein noch nicht eingetragener Bildbereich in Form einer laufenden Nummer und der Zeilen- und der Spaltennummer des Bildelementes eingetragen wird, und daß bei der weiteren Abtastung des Maskenbildes für die in der Tabelle eingetragenen Bildbereiche die Extremwerte der Kontur ermittelt und gespeichert werden. Ein danach arbeitendes Programm kann in vorteilhafter Weise in einem Mikroprozessor abgearbeitet werden.
Vorzugsweise umfaßt bei der erfindungsgemäßen Einrichtung die blockweise Codierung eine diskrete Cosinustransformation, wobei jeweils ein Block mit zwei quadratischen Transformationsmatrizen multipliziert wird und wobei die Anzahl der Zeilen bzw. Spalten der ersten Transformationsmatrix der Anzahl der Zeilen des Blocks und die Anzahl der Zeilen bzw. Spalten der zweiten Transformationsmatrix der Anzahl der Spalten des Blocks entspricht.
Bei einer vorteilhaften Ausführungsform ist vorgesehen, daß die maximale Größe des blockweise zu codierenden Bereichs, vorzugsweise auf 32·32 Bildelemente, festgelegt ist, daß in einem Speicher für jede mögliche Blockkantenlänge eine quadratische Matrix abgelegt ist und daß zur Durchführung der jeweiligen Transformation die Transformationsmatrizen mit der jeweils erforderlichen Anzahl von Koeffizienten aus dem Speicher ausgelesen werden, wobei die zweite Transformationsmatrix durch um die Hauptdiagonale gespiegeltes Auslesen der gespeicherten Matrix entsteht.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung anhand mehrerer Figuren dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
Fig. 1 ein Blockdiagramm einer erfindungsgemäßen Einrichtung,
Fig. 2 Bildbeispiele für eine an sich bekannte objekt-orientierte Codierung,
Fig. 3 ein Blockdiagramm einer an sich bekannten Einrichtung zur objekt-orientierten Codierung,
Fig. 4 ein Maskenbild, das einzelne Bildbereiche nach ihrer Codierbarkeit beschreibt,
Fig. 5 eine schematische Darstellung eines blockweise zu codierenden Bildbereichs und ein Schema zur Spiegelung der Bildelemente innerhalb des Blocks,
Fig. 6 ein Struktogramm eines Programms zur Bildung der Blöcke nach den Extremwerten der blockweise zu codierenden Bildbereiche,
Fig. 7 eine Liste der blockweise zu codierenden Bildbereiche,
Fig. 8 eine Darstellung einer Rechteck-DCT als doppelte Matrixmultiplikation,
Fig. 9 Formeln zur Berechnung der Standardabweichung der Koeffizienten und
Fig. 10 eine Darstellung der Funktion einer in der erfindungsgemäßen Einrichtung nach Fig. 1 verwendeten Steuergröße in Abhängigkeit von der Blockgröße.
Gleiche Teile sind in den Figuren mit gleichen Bezugszeichen versehen.
Der in Fig. 1 als Blockdiagramm dargestellten erfindungsgemäßen Einrichtung wird bei 1 das zu codierende Bildsignal zugeführt, während an einem weiteren Eingang 2 eine Maske anliegt, welche die als Objekt zu codierenden Bereiche umfaßt. Nach einer Und-Verknüpfung 3 bleiben lediglich die Signale der Bildbereiche übrig, welche blockweise codiert werden sollen. Bei 4 folgt eine Orthogonalisierung, das heißt, es wird ein Rechteck um jeweils einen der Bildbereiche gebildet. In einem folgenden Schritt 5 werden für diejenigen Bildelemente, die innerhalb des Rechtecks, jedoch außerhalb des Bildbereichs liegen, durch Spiegelung Signalwerte generiert. Im Anschluß daran erfolgt bei 6 eine diskrete Cosinustransformation, die im Rahmen der Erfindung zur Transformation von Rechtecken mit unterschiedlich langen Seiten abgewandelt ist und daher RDCT genannt wird. Die Rechenvorschrift für eine diskrete Cosinustransformation lautet:
(DCT) = (M1) · (ORG) · (M2)T.
Für die Rücktransformation lautet die Rechenvorschrift:
(ORG) = (M1)T · (DCT) · (M2).
Die Quantisierung der durch die RDCT erhaltenen Koeffizienten erfolgt sequentiell in zwei Schritten 7, 8. Zunächst ist eine lineare Quantisierung (Normierung) 7 mit Hilfe einer Division mit einem adaptiv ermittelten Parameter, nämlich der Standardabweichung σ über den Bildbereich, vorgesehen. Zur Steuerung dieser Normierung wird die Standardabweichung σ, die im Rahmen der RDCT 6 mit geringem zusätzlichen Rechenaufwand berechnet wird, mit einem Bewertungsfaktor Dist versehen, wodurch indirekt die Stufenzahl der Quantisierung festgelegt wird. Im zweiten Schritt 8 erfolgt eine nichtlineare skalare Quantisierung der Koeffizienten. Die Optimierung der Quantisierungskennlinie geschieht vorzugsweise mit dem aus der Literatur bekannten Panter-&-Dite-Quantisierer. Die dafür benötigten Kennlinien sind in entsprechenden Tabellen abgelegt.
Im Hinblick auf die Effizienz einer Lauflängencodierung der Wechselspannungskoeffizienten des Blocks wird der entstandene quantisierte Koeffizientenblock bei 9, 9′ und 9′′ nach verschiedenen an sich bekannten Sortierungen abgetastet. Diese sind beispielsweise eine horizontale zeilenweise Abtastung, eine spaltenweise Abtastung und eine Zick-Zack-Abtastung. Die auf verschiedene Weise abgetasteten Koeffizienten werden bei 10, 10′ und 10′′ lauflängencodiert.
Da bei den üblicherweise zu übertragenden Bildinhalten viele der Wechselspannungskoeffizienten nach der Quantisierung 0 sind, wird bei 11 das Ergebnis derjenigen Abtastung ausgewählt, bei welcher sich möglichst wenige von 0 verschiedene Koeffizienten aufeinanderfolgend ergeben. Dabei kann zur Steuerung der Datenmenge der Abtastvorgang vorzeitig abgebrochen werden. Diejenigen Koeffizienten, welche einen bei 12 zugeführten Maximalwert Bitmax für die Datenmenge übersteigen, werden nicht mehr übertragen. Bei der Decodierung wird ein Koeffizientenblock mit nur denjenigen Koeffizienten angelegt, die auch tatsächlich abgetastet wurden. Alle weiteren Koeffizienten werden mit dem Nullwert versehen. An die Abtastauswahl 11 schließt sich eine an sich bekannte Entropie-Codierung 13 an, beispielsweise eine Hufman-Codierung, von deren Ausgang 14 die codierten Signale einem Übertragungskanal zugeführt werden können.
Die erfindungsgemäße Einrichtung kann in Anlehnung an die dargestellten Blockdiagramme mit Hilfe einzelner Funktionseinheiten realisiert werden, welche im wesentlichen aus Rechnern bestehen. Je nach Leistungsfähigkeit der zur Verfügung stehenden Rechner, Signalprozessoren und ähnlichem kann auch eine Vielzahl der dargestellten Funktionen in einer Einheit ausgeführt werden. Für einen solchen Fall stellt das Blockdiagramm die Struktur des Programms für eine solche Einheit dar.
Vor der weiteren Erläuterung des Ausführungsbeispiels wird im folgenden anhand der Fig. 2 und 3 die objekt-orientierte Analyse-Synthese-Codierung erläutert, mit welcher sich die vorliegende Erfindung in vorteilhafter Weise kombinieren läßt. Die objekt-orientierte Analyse-Synthese-Codierung unterteilt jedes reale, beispielsweise von einer Kamera aufgenommene Bild in bewegte Objekte der Kameraebene und beschreibt jedes Objekt i der Kameraebene durch drei Parametersätze, welche die Farbe, Form und Bewegung des Objekts definieren. Dabei beinhalten die Farbparameter Ci die Luminanz- und Chrominanzwerte des durch das Objekt i festgelegten Bildbereichs im realen Kamerabild k+1, die Formparameter Fi eine Beschreibung der Lage des Objekts i in der Kameraebene und seine Berandung und die Bewegungsparameter Bi die Verschiebung und Drehung des Objekts in der Kameraebene. Die Parameter Ci, Fi und Bi hängen davon ab, welches Quellenmodell für die Codierung angewendet wird. Dabei sind verschiedene Modelle möglich. Bei dem Ausführungsbeispiel wird zur Vereinfachung der Darstellung das einfache Modell starrer, rein translatorisch bewegter Objekte der Kameraebene angenommen. Für diesen Fall sind die Bewegungsparameter Bi für alle Bildelemente eines Objekts gleich.
Bei den folgenden Erläuterungen des Standes der Technik und des Ausführungsbeispiels wird ferner davon ausgegangen, daß die Analyse der einzelnen Objekte anhand des Luminanzsignals erfolgt und daß im Falle einer Übertragung eines farbigen Bildes die bei der Analyse und Synthese gewonnenen Bewegungs- und Formparameter bei der Codierung der Chrominanzinformation genutzt werden.
In Fig. 2a beinhaltet das zu übertragende Bild lk+1 drei Objekte O1, O2 und O3. Dabei steht 1 für Luminanz, während k eine Zählvariable der einzelnen Bilder ist. Durch eine Synthese der zuvor erzeugten Parameter ist das synthetisierte Bild lk entstanden. Ein Vergleich der beiden Bilder ergibt Bewegungsparameter B1, B2, B3 für das Bild lk+1. Bei verschiedenen Anwendungen - wie beispielsweise beim Bildtelefon - stellt das Objekt O1 meist einen nicht bewegten Hintergrund dar, so daß in diesem Fall B1 = 0 ist.
Fig. 2b zeigt schematisch die Farb-, Form- und Bewegungsparameter der Objekte O1, O2, O3 für das Bild lk+1 (Fig. 2a). Die Farbparameter Ci eines Objekts können durchaus eine große Anzahl von Werten, nämlich die Luminanz- und Chrominanzwerte aller zum Objekt gehörenden Bildelemente umfassen. Auch die Formparameter Fi können in Abhängigkeit von der jeweiligen Form des Objekts aus vielen einzelnen Werten bestehen. Der Vorteil der objekt-orientierten Codierung besteht jedoch darin, daß nach einer anfänglichen Übertragung der Farb- und Formparameter jedes Objekts nur die Bewegungsparameter Bi übertragen zu werden brauchen, solange die Farbe und die Form der Objekte gleich bleiben. Dieses ist jedoch nur ein idealisierter Fall, denn eine Bewegung ohne Formänderung ist bereits dadurch nicht möglich, daß ein vor einem Hintergrund bewegtes Objekt während der Bewegung jeweils zuvor verdeckte Teile des Hintergrundes freigibt und neue verdeckt. Außerdem entsprechen bei natürlichen bewegten Bildern längst nicht alle Bildbereiche den angenommenen Modellen - es sei denn, man würde beliebig kleine Bildbereiche als Objekte zulassen. Dieses würde jedoch dann den durch die objekt-orientierte Codierung erzielten Vorteil einer Datenreduzierung wieder zunichte machen. Deshalb wird bei der Analyse des Bildes durch eine Bildsynthese und anschließende Überprüfung der Bewegungsbeschreibung festgestellt, ob die Objekte noch den Quellenmodellen entsprechen.
Fig. 3 zeigt ein Blockdiagramm eines objekt-orientierten Analyse-Synthese-Coders, der durch eine entsprechende Gestaltung der einzelnen Funktionsgruppen zur Realisierung der erfindungsgemäßen Einrichtung verwendet werden kann. Das jeweils zu codierende Bild lk+1 wird einem Eingang 15 zugeführt und gelangt zu einer Bildanalyse 16, der ferner von einer Bildsynthese 17 das synthetisierte vorangegangene Bild lk zugeleitet wird. Außerdem wird der Bildanalyse 16 das Quellenmodell zur Verfügung gestellt, das im dargestellten Ausführungsbeispiel starre, rein translatorisch bewegte Objekte der Kameraebene verkörpert.
Durch die Bildanalyse 16 werden die aktuellen Objektparameter C, F, B gewonnen, die bei 18 codiert werden. Die codierten Parameter werden zum Übertragungskanal und zu einer Parameterdecodierung 19 geleitet. Die wieder decodierten Parameter werden in einem Speicher 20 abgelegt, aus dem die abgelegten Parameter C′, F′ und B′ des vorangegangenen Bildes ausgelesen und zur Bildsynthese 17, zur Parametercodierung 18 und zur Parameterdecodierung 19 verwendet werden.
Die Speicher des Coders und eines nicht dargestellten Decoders im Empfänger enthalten gleiche Inhalte und ermöglichen damit sowohl dem Coder als auch dem Decoder unter Verwendung der Bildsynthese ein identisches Bild k zu erzeugen. Das synthetisierte Bild k wird vom Decoder ausgegeben und beim Coder für die Bildanalyse des nächsten realen Kamerabildes k+1 verwendet.
Die Aufgabe der Bildanalyse 16 besteht darin, das zu codierende aktuelle reale Kamerabild k+1 zu analysieren und die Parametersätze Ci, Fi und Bi für jedes Objekt i der Kameraebene unter Verwendung des synthetisierten Bildes ks zu schätzen.
Bei der objekt-orientierten Codierung werden zeitliche Bildsignaländerungen durch die Bewegung von Objekten der Kameraebene beschrieben. Diese Form der Beschreibung von Bildsignaländerungen versagt in Bildbereichen, in denen das verwendete Quellenmodell nicht mit ausreichender Genauigkeit erfüllt ist, das heißt in Bildbereichen, deren zeitliche Bildsignaländerungen durch die Bewegung von Objekten der Kameraebene gemäß des Quellenmodells nicht mit ausreichender Genauigkeit beschrieben werden können.
Zur Beurteilung der Gültigkeit der Beschreibung von Bildsignaländerungen durch das verwendete Quellenmodell enthält die Bildanalyse eine Überprüfung der Bewegungsbeschreibung. Objekte der Kameraebene, deren Bewegung die zeitlichen Bildsignaländerungen nicht mit ausreichender Genauigkeit beschreibt, werden dabei detektiert und gesondert gekennzeichnet. Diese Objekte der Kameraebene werden als nicht modellierbare Objekte der Kameraebene oder kurz als MF-Objekte (MF = model failure) bezeichnet und werden mit der erfindungsgemäßen Einrichtung codiert. Zur Unterscheidung werden dagegen alle Objekte der Kameraebene, deren Bewegung die zeitlichen Bildsignaländerungen mit ausreichender Genauigkeit beschreibt, modellierbare Objekte der Kameraebene oder kurz als MC-Objekte (MC = model compliance) genannt.
Am Ausgang der Bildanalyse stehen die Parametersätze eines jeden Objekts i der Kameraebene in unkomprimierter PCM-Darstellung zur Verfügung. Außerdem wird ein Maskenbild erzeugt, das die Zugehörigkeit der einzelnen Bildelemente zu den verschiedenen Objekten beschreibt.
Fig. 4 zeigt ein Maskenbild, welches die Codierbarkeit einzelner Bildbereiche beschreibt anhand eines beim Fernsehtelefon häufig vorkommenden Bildinhalts, nämlich des Porträts einer Person, welche sich von einem Bild zum folgenden nach rechts bewegt. Das Maskenbild kann für jedes Bildelement 256 Werte einnehmen, wobei der Wert 000 einen statischen Bildbereich beschreibt, während die Werte 001 bis 010 MC-Objekte kennzeichnen. Die Werte 011 bis 250 kennzeichnen MF-Objekte bzw. Bildbereiche, die als Objekte zu codieren sind. Schließlich wird durch einen Wert 251 freigewordener Hintergrund gekennzeichnet, dessen Codierung nicht Aufgabe der vorliegenden Erfindung und daher nicht näher beschrieben ist.
Bei der als Beispiel angenommenen Übertragung des Porträts einer Person, welche sich etwa linear nach rechts bewegt, kann nach einer Übertragung der Farbe die weitere Übertragung des Bildbereichs auf die Bewegung und die sich möglicherweise ändernde Kontur beschränkt werden. Bei dem dargestellten Beispiel bewegen sich jedoch die Bereiche des Mundes und der Augen anders als die übrigen Bildbereiche der Person, so daß eine Beschreibung dieser Bildbereiche durch die Bewegung der Person nicht möglich ist.
Die mit den Werten 011, 012 und 013 gekennzeichneten Bildbereiche werden mit der erfindungsgemäßen Einrichtung codiert. Dazu wird gemäß Fig. 5a um einen derartigen Bildbereich 31 ein Rechteck 32 gelegt. Dieses Rechteck ist durch die Anfangskoordinaten NPOH und NPOV sowie durch die horizontale Größe NBLH und die vertikale Größe NBLV beschrieben. Bei dem in Fig. 5a dargestellten Beispiel gilt: NBLH = 18 Bildelemente und NBLV = 11 Bildelemente. Das Rechteck - im folgenden Block genannt - enthält außer dem zu codierenden Bildbereich 31 Flächen 33 bis 36, die außerhalb des Bildbereichs 31 liegen. Bildelemente dieser Flächen werden derart mit Werten versehen, daß sich insbesondere durch Spiegelung an der Umrißlinie des Bildbereichs 31 von innen nach außen der strukturelle Inhalt des Blocks am wenigsten ändert und somit bei der Transformation auch wenig zusätzliche Koeffizienten entstehen.
Eine einfache Möglichkeit ist durch die Spiegelung in horizontaler Richtung gegeben, was schematisch in Fig. 5b am Beispiel der zweiten Zeile des Blocks gemäß Fig. 5a dargestellt ist. Dabei sind die in den Bildbereich fallenden Bildelemente mit P1 bis P5, die gespiegelten Bildelemente mit S1 bis S5 bezeichnet, wobei die Ziffern auf das entsprechende Bildelement innerhalb des Bildbereichs 31 (Fig. 5a) hinweisen. Da die zweite Zeile innerhalb der Fläche 34 mehr Bildelemente als innerhalb des Bildbereichs 31 aufweist, ist eine mehrfache Spiegelung erforderlich. Die Spiegelung der Bildelemente ist in Fig. 5b durch Pfeile verdeutlicht.
Die Orthogonalisierung 4 (Fig. 1) wird im folgenden anhand des Struktogramms gemäß Fig. 6 näher erläutert. Ziel dieses Programms ist es, eine Liste der orthogonalisierten Bildbereiche gemäß Fig. 7 anzulegen. Das Programm wird bei 41 zunächst dadurch initialisiert, daß die angegebenen Werte auf Anfangswerte gesetzt werden. In den Programmteilen 42, 43 wird das zeilenweise und spaltenweise Abtasten des Maskenbildes (Fig. 4) durch entsprechende Inkrementierung der Zeilen- und Spaltenzähler Y und X von links oben nach rechts unten bewirkt. Für jedes Element des Maskenbildes wird bei 44 abgefragt, ob der für dieses Element in dem Maskenbild vorhandene Wert zwischen 011 und 250 liegt. Ist dieses nicht der Fall, werden die Programmschritte 42, 43 und 44 mit dem nächsten Element wiederholt.
Liegt jedoch der Wert des jeweiligen Elements zwischen 011 und 250 einschließlich, wird zunächst bei 45 festgestellt, ob ein Bildbereich mit dem betreffenden Wert bereits in der Liste eingetragen ist. Ist dieses nicht der Fall, wird im Programmteil 46 die Eintragung des Wertes in die Liste als laufende Nummer NR vorgenommen. Ferner wird der Stand des Zeilenzählers Y als oberer Rand des Bildbereichs bzw. als obere Grenze des Blocks NPOV in der Tabelle der laufenden Nummer NR zugeordnet. Ferner wird unter der gleichen laufenden Nummer NR der Spaltenzählerstand X als vorläufiger linker Rand NPOH eingetragen. Danach wird bei 47 die Höhe des Blocks NBLV aus dem Zeilenzählerstand Y abzüglich der oberen Kante zuzüglich 1 berechnet.
Trifft der Abtastvorgang im Programmteil 48 auf ein Element mit dem Wert eines Bildbereichs, dessen Spaltenzählerstand X kleiner als der bis dahin in der Liste eingetragene vorläufige Spaltenzählerstand NPOH ist, so wird NPOH bei 49 auf den neuen, kleineren Wert gesetzt.
Wird bei dem Abtastvorgang ein Element getroffen, dessen Spaltenzählerstand X abzüglich des zuvor gespeicherten linken Randes NPOH zuzüglich 1 größer als die bis dahin gespeicherte Breite NBLH des Blocks ist (Verzweigung 50), so wird die neue Breite bei 51 berechnet. Ist ein Bildbereich des Maskenbildes vollständig abgetastet, so stehen die Werte NPOV, NPOH, NBLH, NBLV für den Bildbereich zur weiteren Verwendung zur Verfügung.
Nach der Abtastung des ganzen Maskenbildes sind diese Werte für alle mit 011 bis 250 gekennzeichneten Bildbereiche in die Liste eingetragen. Fig. 7 zeigt eine Liste der Blöcke bzw. der orthogonalisierten Bereiche in Anlehnung an das Maskenbild gemäß Fig. 4. Zu der laufenden Nummer eines jeden Blocks sind die Anfangskoordinaten NPOH und NPOV sowie die Höhe und die Breite NBLH und NBLV eingetragen.
Fig. 8 zeigt schematisch die zur Durchführung der Rechteck-DCT 6 (Fig. 1) erforderliche Matrixmultiplikation. Dabei stellt eine Matrix ORG den Inhalt des zu transformierenden Blocks dar, der im Beispiel nach Fig. 8 eine Größe von 4·8 Bildelementen aufweist. Die Matrix ORG wird zunächst mit einer Transformationsmatrix M1 multipliziert, welche eine Größe von 8·8 Bildelementen hat, in der ersten Zeile einen Gleichanteil und in den weiteren Zeilen Cosinusverläufe enthält. Dabei umfaßt die zweite Zeile eine halbe Periode, die dritte Zeile eine ganze Periode usw. Durch die Multiplikation der Matrix M1 mit der Matrix ORG ergibt sich ein Zwischenprodukt ZP.
Die Multiplikation wird im einzelnen wie folgt ausgeführt: Das erste Element 61 der ersten Zeile 62 der Matrix M1 wird mit dem ersten Element 63 der ersten Spalte 64 der Matrix ORG multipliziert, das zweite Element 65 mit dem zweiten Element 66 usw. Die derart gebildeten Produkte (im Falle des Beispiels acht) werden aufaddiert und bilden das erste Element 67 der ersten Zeile 68 der Matrix ZP. Das zweite Element 69 wird durch eine entsprechende Berechnung der ersten Zeile 62 der Matrix M1 mit der zweiten Spalte 70 der Matrix ORG gewonnen. Die zweite Zeile 71 der Matrix ZP entsteht dann durch Multiplikation und Summation der einzelnen Elemente der zweiten Zeile 72 der Matrix M1 mit den Elementen der Spalten der Matrix ORG in entsprechender Weise.
Ist die Matrix ZP gebildet, wird diese in ähnlicher Weise mit einer Matrix M2T multipliziert. Die Matrix M2T ist von der Matrix M1 durch Transponierung, das heißt durch Spiegelung um die Hauptdiagonale, abgeleitet. Außerdem ist die Matrix entsprechend dem Seitenverhältnis der nicht quadratischen Matrix ORG gegenüber der Matrix M1 verkleinert, weist also bei dem Beispiel 4·4 Bildelemente auf. Diese Matrix wird mit der Matrix ZP multipliziert, woraus die Matrix DCT entsteht, welche das Ergebnis der Transformation, also die DCT-Koeffizienten enthält.
Eine besonders einfache Möglichkeit zur Bildung der Transformationsmatrizen besteht darin, daß für jede erforderliche Matrixgröße die Koeffizienten in einem Speicher abgelegt sind. Zur Verwendung als Matrix M2T werden die Koeffizienten um die Hauptdiagonale gespiegelt ausgelesen.
Im Zusammenhang mit der Rechteck-DCT wird ferner die Standardabweichung der Koeffizienten gebildet, was in Fig. 9a durch entsprechende Rechenoperationen erläutert ist.
Dabei bedeuten: M, N die Blockkantenlängen, k(i,j) einen Koeffizienten mit den Koordinaten i, j innerhalb des Blocks, k(0,0) den DC-Koeffizienten und σ die Standardabweichung.
Eine Skalierung aller Koeffizienten mit Ausnahme des DC-Koeffizienten (k(0,0)) erfolgt dann nach der in Fig. 9b angegebenen Gleichung, wobei k′ der skalierte Koeffizient ist und Dist ein Bewertungsfaktor, der indirekt die Stufenzahl der Quantisierung bestimmt. Vorzugsweise wird Dist von der Größe des Bildbereichs abhängig gemacht, beispielsweise nach der in Fig. 10 dargestellten Funktion.

Claims (10)

1. Einrichtung zur Codierung von Bildsignalen, wobei Bildbereiche, die als Objekte vorgegebenen Modellbeschreibungen genügen, objekt-orientiert codiert werden, dadurch gekennzeichnet, daß Bildbereiche, die nicht den Modellbeschreibungen genügen, blockweise codiert werden, wobei für jeweils einen einzelnen Bildbereich ein Block gebildet wird, der den Bildbereich einschließt.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Seiten des Blocks durch die horizontalen und vertikalen Extremwerte des blockweise zu codierenden Bildbereichs festgelegt sind.
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß diejenigen Flächen des Blocks, die nicht zu dem blockweise zu codierenden Bildbereich gehören, mit Informationen gefüllt werden, die von Informationen des blockweise zu codierenden Bildbereichs abgeleitet sind.
4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die abgeleiteten Informationen durch Spiegelung von Bildelementen an den Rändern des blockweise zu codierenden Bildbereichs abgeleitet sind.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Spiegelung horizontal oder vertikal erfolgt.
6. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß vor der blockweisen Codierung durch eine vorangegangene Analyse die blockweise zu codierenden Bildbereiche derart festgelegt sind, daß keiner der blockweise zu codierenden Bildbereiche in einem anderen blockweise zu codierenden Bildbereich liegt.
7. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß vor der blockweisen Codierung die Kontur des blockweise zu codierenden Bildbereichs codiert und wieder decodiert wird.
8. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß ein Maskenbild erzeugt wird, in welchem die zu jeweils einem blockweise zu codierenden Bildbereich gehörenden Bildelemente durch einen vorgegebenen Wert gekennzeichnet sind, daß das Maskenbild spalten- und zeilenweise abgetastet wird, daß beim Abtasten eines Bildelementes, dessen Wert dem vorgegebenen Wert entspricht, geprüft wird, ob das Bildelement zu einem bereits in einer Tabelle eingetragenen Bildbereich gehört, daß gegebenenfalls ein noch nicht eingetragener Bildbereich in Form einer laufenden Nummer und der Zeilen- und der Spaltennummer des Bildelementes eingetragen wird, und daß bei der weiteren Abtastung des Maskenbildes für die in der Tabelle eingetragenen Bildbereiche die Extremwerte der Kontur ermittelt und gespeichert werden.
9. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die blockweise Codierung eine diskrete Cosinustransformation umfaßt, daß jeweils ein Block mit zwei quadratischen Transformationsmatrizen multipliziert wird und daß die Anzahl der Zeilen bzw. Spalten der ersten Transformationsmatrix der Anzahl der Zeilen des Blocks und die Anzahl der Zeilen bzw. Spalten der zweiten Transformationsmatrix der Anzahl der Spalten des Blocks entspricht.
10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die maximale Größe des blockweise zu codierenden Bereichs, vorzugsweise auf 32·32 Bildelemente, festgelegt ist, daß in einem Speicher für jede mögliche Blockkantenlänge eine quadratische Matrix abgelegt ist und daß zur Durchführung der jeweiligen Transformation die Transformationsmatrizen mit der jeweils erforderlichen Anzahl von Koeffizienten aus dem Speicher ausgelesen werden, wobei die zweite Transformationsmatrix durch um die Hauptdiagonale gespiegeltes Auslesen der gespeicherten Matrix entsteht.
DE4136636A 1991-11-07 1991-11-07 Einrichtung zur codierung von bildsignalen Ceased DE4136636A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4136636A DE4136636A1 (de) 1991-11-07 1991-11-07 Einrichtung zur codierung von bildsignalen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4136636A DE4136636A1 (de) 1991-11-07 1991-11-07 Einrichtung zur codierung von bildsignalen

Publications (1)

Publication Number Publication Date
DE4136636A1 true DE4136636A1 (de) 1993-07-01

Family

ID=6444267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4136636A Ceased DE4136636A1 (de) 1991-11-07 1991-11-07 Einrichtung zur codierung von bildsignalen

Country Status (1)

Country Link
DE (1) DE4136636A1 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0649258A2 (de) * 1993-10-15 1995-04-19 AT&T Corp. Blocktransformationskodierer für willkürlich geformte Bildsegmente
EP0734168A2 (de) * 1995-03-20 1996-09-25 Daewoo Electronics Co., Ltd Vorrichtung zum Kodieren eines Bewegtbildes, das ein unbewegtes Objekt enthält
DE19609860C1 (de) * 1996-03-13 1997-09-04 Siemens Ag Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner
EP0806870A2 (de) * 1996-05-10 1997-11-12 Daewoo Electronics Co., Ltd Bildkodierung mit Verwendung der Objektforminformation
DE19625402A1 (de) * 1996-06-25 1998-01-02 Siemens Ag Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner
EP0734166A3 (de) * 1995-03-20 1999-03-24 Daewoo Electronics Co., Ltd Vorrichtung zur Bildsignalkodierung mit einem unbeweglichen Objekt
EP1120970A2 (de) * 1996-05-17 2001-08-01 Matsushita Electric Industrial Co., Ltd. Bilddekodiervorrichtung mit Objektzonendekoder und Formdekoder
EP1202576A2 (de) * 1996-03-28 2002-05-02 Koninklijke Philips Electronics N.V. Verfahren und Vorrichtung zur Kodierung und Dekodierung von Bildern

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0649258A3 (de) * 1993-10-15 1995-05-17 At & T Corp
EP0649258A2 (de) * 1993-10-15 1995-04-19 AT&T Corp. Blocktransformationskodierer für willkürlich geformte Bildsegmente
EP0734166A3 (de) * 1995-03-20 1999-03-24 Daewoo Electronics Co., Ltd Vorrichtung zur Bildsignalkodierung mit einem unbeweglichen Objekt
EP0734168A2 (de) * 1995-03-20 1996-09-25 Daewoo Electronics Co., Ltd Vorrichtung zum Kodieren eines Bewegtbildes, das ein unbewegtes Objekt enthält
EP0734168A3 (de) * 1995-03-20 1998-03-25 Daewoo Electronics Co., Ltd Vorrichtung zum Kodieren eines Bewegtbildes, das ein unbewegtes Objekt enthält
DE19609860C1 (de) * 1996-03-13 1997-09-04 Siemens Ag Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner
US6208768B1 (en) 1996-03-13 2001-03-27 Siemens Aktiengesellschaft Method for processing picture elements of an image segment with a computer
EP1202576A2 (de) * 1996-03-28 2002-05-02 Koninklijke Philips Electronics N.V. Verfahren und Vorrichtung zur Kodierung und Dekodierung von Bildern
EP1202576A3 (de) * 1996-03-28 2005-03-23 Koninklijke Philips Electronics N.V. Verfahren und Vorrichtung zur Kodierung und Dekodierung von Bildern
EP0806870A3 (de) * 1996-05-10 1999-01-13 Daewoo Electronics Co., Ltd Bildkodierung mit Verwendung der Objektforminformation
EP0806870A2 (de) * 1996-05-10 1997-11-12 Daewoo Electronics Co., Ltd Bildkodierung mit Verwendung der Objektforminformation
EP1120970A2 (de) * 1996-05-17 2001-08-01 Matsushita Electric Industrial Co., Ltd. Bilddekodiervorrichtung mit Objektzonendekoder und Formdekoder
EP1120970A3 (de) * 1996-05-17 2001-08-08 Matsushita Electric Industrial Co., Ltd. Bilddekodiervorrichtung mit Objektzonendekoder und Formdekoder
US6661928B2 (en) 1996-05-17 2003-12-09 Matsushita Electric Industrial Co., Ltd. Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program recording medium and image decoding program recording medium
US6445826B1 (en) 1996-05-17 2002-09-03 Matsushita Electric Industrial Co., Ltd. Decoping apparatus for shape and pixel value signal
US6516095B1 (en) 1996-05-17 2003-02-04 Matsushita Electric Industrial Co., Ltd. Decoding apparatus for shape signal
US6560372B1 (en) 1996-05-17 2003-05-06 Matsushita Electric Industrial Co., Ltd. Decoding apparatus based on pixel value motion vectors and shape signal motion vectors
US6597814B2 (en) 1996-05-17 2003-07-22 Matsushita Electric Industrial Co., Ltd. Image coding for transmitting information of shape, pixel value, and coding modes
DE19625402A1 (de) * 1996-06-25 1998-01-02 Siemens Ag Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner
US6553139B1 (en) 1996-06-25 2003-04-22 Siemens Aktiengesellschaft Computer-assisted process and device for processing the image points of an image segment

Similar Documents

Publication Publication Date Title
DE68927082T2 (de) Verfahren und Vorrichtung für die Bilddatenkomprimierung
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69032177T2 (de) Kodierungsgerät
DE69206847T2 (de) Bildverarbeitungsverfahren
EP0368139B1 (de) Verfahren zur Codierung von Restfehlerbildern
DE69125199T2 (de) Geometrische Vektorquantifizierung
DE69628282T2 (de) Verfahren zur kompression mehrerer videobilder
DE69032437T2 (de) Bewegungseinschätzer
DE69309529T2 (de) Verfahren und Vorrichtung für die räumliche Filterung von blocktransformationsdekodierten digitalen Bildern
DE4309105C2 (de) Verfahren zum Behandeln eines Teils eines verdichteten Bildes für eine Aufbereitung
DE60220295T2 (de) Addieren von halbbildern eines bildes
DE4133460A1 (de) Einrichtung und verfahren zum verdichten von bildern
DE602004001993T2 (de) Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression
DE102007035204A1 (de) Videoverarbeitungs- und - betriebsvorrichtung
DE3742196C2 (de)
EP0795841A2 (de) Verfahren zur Bildung einer Bild-Tranformationsmatrix
DE69820148T2 (de) Verfahren zur Kompression/Dekompression von Bilddaten
DE4136636A1 (de) Einrichtung zur codierung von bildsignalen
EP0897247A2 (de) Verfahren zur Berechnung von Bewegungsvektoren
DE69009713T2 (de) Verfahren zur Bilddatenkompression durch Laufvorhersage.
DE3545106C2 (de)
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
EP0336510B1 (de) Prädiktiver Standbildcodierer
WO2000008601A1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
EP0442096A2 (de) Einrichtung zur bandbreitenreduzierenden Codierung von Videosignalen

Legal Events

Date Code Title Description
8120 Willingness to grant licenses paragraph 23
8110 Request for examination paragraph 44
8131 Rejection