DE4136636A1 - Einrichtung zur codierung von bildsignalen - Google Patents
Einrichtung zur codierung von bildsignalenInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods 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).
(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.
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)
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 |
-
1991
- 1991-11-07 DE DE4136636A patent/DE4136636A1/de not_active Ceased
Cited By (20)
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 |