DE69028160T2 - Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes - Google Patents

Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes

Info

Publication number
DE69028160T2
DE69028160T2 DE69028160T DE69028160T DE69028160T2 DE 69028160 T2 DE69028160 T2 DE 69028160T2 DE 69028160 T DE69028160 T DE 69028160T DE 69028160 T DE69028160 T DE 69028160T DE 69028160 T2 DE69028160 T2 DE 69028160T2
Authority
DE
Germany
Prior art keywords
vectors
vector
motion
block
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69028160T
Other languages
English (en)
Other versions
DE69028160D1 (de
Inventor
Michel Kerdranvat
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.)
Vantiva SA
Original Assignee
Thomson Multimedia SA
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 Thomson Multimedia SA filed Critical Thomson Multimedia SA
Publication of DE69028160D1 publication Critical patent/DE69028160D1/de
Application granted granted Critical
Publication of DE69028160T2 publication Critical patent/DE69028160T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Color Television Systems (AREA)

Description

  • Die Erfindung betrifft den Bereich des Kodierens/Dekodierens von Videobildern, insbesondere mit dem Ziel, hochauflösende Bilder über einen Übertragungskanal zu übertragen, der das Hinzufügen von numerischen Dekodier-Hilfsdaten mit einer Leistung von 1 Mbit/s gestattet. Die Erfindung hat insbesondere ein Verfahren zur Teilung des punktweisen Bewegungsfeldes von Bildern im Hinblick auf dessen Kodierung mit einer Geschwindigkeit von maximal 1 Mbit/s und seine Anwendung auf das Kodieren von Videobildern zum Gegenstand.
  • Bei den leistungsfähigsten gegenwärtig bekannten digitalen Verfahren für die Übertragung von Videobildern kommen Verfahren zur Verarbeitung vor dem Senden zur Anwendung, die es gestatten, die über die Leitung übertragene Datenmenge zu reduzieren. So ermöglicht es die Verarbeitung zum Beispiel, anstatt alle Informationen (Chrominanz, Helligkeit) für alle Bildpunkte zu übertragen, die Unterschiede zwischen Bildern und insbesondere die Verschiebungen von Bildelementen oder Bildpunkten zu bestimmen und nur die Informationen zur Aktualisierung des Bildes zu übertragen, bei denen es sich um die Vektoren handelt, welche die Verschiebung der Bereiche oder der Bildpunkte von einem Bild zum folgenden charakterisieren. Ein leistungsfähiges Verarbeitungsverfahren besteht darin, einen Bewegunguvektor pro Punkt zu ermitteln und dieses Bewegungsfeld zu übertragen.
  • Die Übertragungsgeschwindigkeit von 1 Mbit/s ist zu niedrig, um die Übertragung eines punktweisen Bewegungsfeldes für die Videobilder vollständig zu ermöglichen; daher ist es wichtig, die sich auf das Bewegungsfeld beziehenden Informationen, die übertragen werden sollen, gut auszuwählen, um eine bestmögliche Wiederherstellung der Bilder zu erzielen, wobei die Kodierung der übertragenen Informationen ausgehend von dem vorangehenden Bild und dem mit dem aktuellen Bild verknüpften Bewegungsfeld vorgenommen wird.
  • Eine erste Vorkehrung, die für die Verarbeitung dem von einer Schätzfunktion der punktweiuen Bewegung erzeugten Bewegungsfeldes getroffen wird, besteht darin, nur einen Bewegungsvektor pro Block von n.n Bildpunkten zu übertragen (wobei n stets eine Zweierpotenz ist). Wenn man von einem hochauflösenden Raster von 1440 Punkten pro Zeile und 1152 Zeilen ausgeht, beträgt die sich ergebende Übertragungsgeschwindigkeit für Blöcke von 8.8 Bildpunkten 1,3 MBlöcke.
  • Für eine Optimierung des Kodierens, bei der die Übertragungsgeschwindigkeit gleichzeitig kleiner als die vorgegebene Übertragungsgeschwindigkeit (1 Mbit/s) bleibt, hat sich das "quad-tree" genannte Kodierverfahren als sehr interessant erwiesen. In der Tat gestattet dieses Verfahren, Blöcke von unterschiedlichen Größen zu erhalten und damit die Menge der Blöcke zu reduzieren. In diesem Zusammenhang besteht das Problem darin zu erreichen, daß das punktweise Bewegungsfeld möglichst gleichmäßig in Gruppen von Blöcken ist.
  • Es wäre dann möglich, die Anfertigung des Histogramms des punktweisen Bewegungsfeldes in seiner Gesamtheit vorzusehen. Zunächst ist dieses Verfahren global, was eine bedeutende Menge von zu verarbeitenden Daten ergibt. Außerdem muß, um anschließend jedem der Blöcke n.n einen Vektor zuzuweisen, jeder Vektor, der ausgehend vom Histogramm als dominierend erkannt wurde, mit allen Bewegungsvektoren eines Blockes n.n verglichen werden, um den besten Vektor für den Block auszuwählen. Dieses Teilungsverfahren ist daher aufwendig und eventuell langsam.
  • Die Erfindung hat ein Verfahren zur Teilung des mit Hilfe einer Bewegungs-Schätzfunktion erhaltenen Bewegungsfeldes zum Gegenstand, das es gestattet, auf eine für eine spätere Verarbeitung mittels "quad-tree" Kodierung optimale Art und Weise die "dominierenden" Vektoren zu ermitteln, die nach dem Kodieren übertragen werden.
  • Zu diesem Zweck besteht das erfindungsgemäße Teilungsverfahren darin, zuallererst eine lokale Verarbeitung dem Bewegungsfeldes vorzunehmen, um jedem Block n.n den "besten" Bewegungsvektor aus der Gesamtheit der für den Block verfügbaren Bewegungsvektoren zuzuweisen; erst dann ermöglicht es eine globale Verarbeitung, eine Menge von dominierenden Vektoren aus dem Feld von Vektoren pro Block n.n zu ermitteln, das bereits eine verringerte Anzahl von Vektoren umfaßt und das als das beste blockweise Bewegungsfeld, das man aus einem punktweisen Bewegungsfeld erhalten kann, betrachtet werden kann.
  • Die Phase der erneuten Zuweisung eines Vektors pro Block n.n nach der Bestimmung der dominierenden Vektoren wird auf diese Weise erleichtert.
  • Außerdem wäre es sogar möglich, unmittelbar ein Bewegungsfeld pro Block n.n zu betrachten, um das erfindungsgemäße Teilungsverfahren anzuwenden.
  • Die Erfindung hat weiterhin die Anwendung dieses Teilungsverfahrens auf die "quad-tree"-Kodierung von Videobildern zum Gegenstand.
  • Gemäß der Erfindung ist ein Verfahren zur Teilung dem Bewegungsfeldes, das von einer Schätzfunktion der Bewegung erzeugt wird, welche die Verschiebung von Bildpunkten eines Bildes relativ zum vorangehenden Bild in Form von Vektoren mit zwei Komponenten in der Bildebene liefert, dadurch gekennzeichnet, daß es folgendes umfaßt:
  • - eine vorbereitende Phase der Zerlegung des Bildes in Blöcke von n.n Bildpunkten und der Zuweisung eines Bewegungsvektors, der für jeden Block nach einem Majoritätskriterium aus den möglichen Vektoren ausgewählt wird:
  • - eine Phase der Anfertigung eines Histograiruns der Bewegungsvektoren pro Block, nach deren Abschluß eine Klassifizierung der aufgetretenen Bewegungsvektoren nach der Häufigkeit ihres Auftretens vorgenommen wird;
  • - eine Phase der erneuten Zuweisung eines Bewegungsvektors zu jedem der Blöcke, wobei dieser Vektor aus einer begrenzten Anzahl N von dominierenden Vektoren gewählt wird, die ausgehend vom Histogramm ausgewählt wurden, und derjenige Vektor unter diesen dominierenden Vektoren ist, der dem ursprünglichen Vektor des Blockes am nächsten kommt;
  • - eine Phase der Filterung der Vektoren der isolierten Blöcke, die Bewegungsvektoren aufweisen, die mit denen der Blöcke ihrer Umgebung nicht kohärent sind;
  • - eine Phase der Berechnung der erforderlichen Übertragungsgeschwindigkeit für das Kodieren des resultierenden gefilterten Bewegungsfeldes und der Überprüfung, ob diese Übertragungsgeschwindigkeit kleiner als eine oder gleich einer maximal mögliche(n) Übertragungsgeschwindigkeit ist, wobei die Phase der erneuten Zuweisung eines aus einer kleineren Anzahl dominierender Vektoren ausgewählten Bewegungsvektors zu jedem der Blöcke wiederholt wird, wenn die Übertragungsgeschwindigkeit größer ist als die maximal mögliche Übertragungsgeschwindigkeit.
  • Die Erfindung wird durch die nachfolgende, unter Bezugnahme auf die beigefügten Figuren vorgenommene Beschreibung besser verständlich.
  • - Figur 1 zeigt den Vektor der Bewegung eines Bildpunktes zwischen zwei aufeinanderfolgenden Bildern;
  • - Figur 2 stellt ein hochauflösendes Bild und dessen Zerlegung zur Anwendung des erfindungsgemäßen Teilungsverfahrens dar;
  • - Figur 3 zeigt die Erzeugung der Tabellen von Komponenten der Bewegungsvektoren für einen elementaren Block und die sich daraus ergebende Histogramm-Tabelle für die Zuweisung eines Vektors pro Block;
  • - Figur 4 zeigt die Phase der Filterung nach der Zuweisung eines Vektors pro Block;
  • - Figur 5 zeigt die Herstellung dem Histogramms der Vektoren des gefilterten Feldes der Bewegung pro Block für ein Viertelbild;
  • - Figur 6 zeigt die Phase der Bestimmung von Vektoren für jede Bewegungsklasse;
  • - Figur 7 zeigt die Tabelle der dominierenden Vektoren nach Eliminierung der sekundären Maxima;
  • - Figur 8 zeigt die Phase der zeitlichen Filterung unter Berücksichtigung der dominierenden Vektoren in einander entsprechenden Abschnitten aufeinanderfolgender Bilder;
  • - die Figuren 9 und 10 zeigen die Bereiche mit homogenem Vektor in einem Makroblock aus 16x16 elementaren Blöcken bzw. den entsprechenden Kodierbaum;
  • - Figur 11 ist das Ablaufdiagramm des erfindungsgemäßen Verfahrens zur Teilung des punktweisen Bewegungsfeldes.
  • Wie oben erwähnt wurde, läßt sich das Teilungsverfahren insbesondere auf das punktweise Bewegungsfeld anwenden, das von einer Bewegungs- Schätzfunktion geliefert wird. Es wird daran erinnert, daß eine Schätzfunktion der punktweisen Bewegung für jeden Punkt eines Videobildes im Verlaufe einer Analyse einen Bewegungsvektor V liefert, der die Verschiebung des entsprechenden Bildpunktes zwischen dem vorangehenden Bild und dem aktuellen Bild charakterisiert. Dieser Vektor hat somit Komponenten Vx und Vy in den Koordinatenachsen x, y der Bildebene.
  • Die Figur 1 zeigt den Bewegungsvektor und seine Komponenten in der Bildebene für einen Punkt P eines Bildes I&sub1;, der im nachfolgenden Bild I&sub2; in P' übergegangen ist.
  • Das erfindungsgemäße Verfahren zur Teilung, ausgehend von einem punktweisen Bewegungsfeld, läuft auf die nachfolgend beschriebene Weise ab.
  • Die erste Phase besteht darin, pro Block von n.n Bildpunkten einen Bewegungsvektor zuzuweisen. Die Figur 2 zeigt ein hochauflösendes Bild mit 1440 Spalten und 1152 Zeilen, für das ein Bewegungsfeld vorliegt, das aus einem Vektor pro Punkt besteht, oder eventuell aus einem Vektor für jeden zweiten Punkt einer Zeile (wobei die für die nächste Zeile berechneten Vektoren dann den Punkten entsprechen, die zu denen der vorangehenden Zeile versetzt angeordnet sind), entsprechend dem Verfahren der Schätzung der Bewegung, das durch die Schätzfunktion angewandt wird. Diese erste Phase besteht darin, dem Block von n.n (8.8) Punkten einen der 64 (oder 32) Vektoren des Blockes zuzuweisen, wobei dieser Vektor nach einem Majoritätskriterium als Vektor dem Blockes ausgewählt wird. Dazu werden die Komponenten Vx und Vy der Bewegungsvektoren jedes der Blöcke in Tabellen angeordnet, deren Dimension der dem Blockes entspricht, TABX für die Komponenten in X-Richtung und TABY für die Komponenten in Y-Richtung, wie sie in der Figur 3 dargestellt sind. So ist zum Beispiel in der Tabelle TABX der Wert TABX(k,1) in dem Tabellenfeld, welches der k-ten Spalte und der 1-ten Zeile entspricht, die Komponente Vx des k-ten Bildpunktes in der 1-ten Zeile des Blockes. Für einen Vektor des Blockes V(k,1) werden die folgenden Schritte ausgeführt, um die Abstände zwischen den Komponenten dieses Vektors und den Komponenten der anderen Vektoren des Blockes V(i,j) zu bestimmen, wobei i und j die Menge [1,n] beschreiben:
  • (1) FX = TABX(k,1)-TABX(i,j)
  • (2) FY = TABY(k,1)-TABY(i,j)
  • Diese beiden Tests entsprechen einem Vergleich des Vektors V(k,1) mit allen Vektoren des Blockes im Rahmen der Genauigkeit.
  • Wenn FX und FY kleiner oder gleich einer Schwelle S1 sind, wobei S1 gleich der Genauigkeit der Vektoren ist (1/8 = 0,125 Bildpunkte), so wird die Häufigkeit des Auftretens des Vektors V(k,1) um 1 erhöht. Die Häufigkeit des Auftretens von V(k,1) wird mit HISTO(k,1) bezeichnet, und jedesmal, wenn der Test positiv ausfällt, wird HISTO(k,1) aktualisiert:
  • (3) HISTO(k,1) = HISTO(k,1) + 1
  • Die Streuung der Vektoren, die V(k,1) zugeordnet ist, wird gleichfalls aktualisiert:
  • (4) DISP(k,1) = DISP(k,1) + FX + FY
  • Die Auswahl eines Vektors für den Block wird nach Abschluß dieser Vergleiche vorgenommen, indem ausgehend von der Tabelle HISTO, die ausgehend von den Tabellen TABX und TABY dem Blockes erstellt wird, derjenige Vektor genommen wird, der die höchste Häufigkeit des Auftretens aufweist, und im Falle einer Gleichheit von Häufigkeiten dem Auftretens derjenige, der die kleinste Streuung aufweist. In den Tabellen TABX und TABY wurden als Beispiel die Komponenten Vx = 2.125 und Vy = 1.250 dem Vektors V(6,5) angegeben, das heißt des Bewegungsvektors des 6. Punktes der 5. Zeile des aktuellen analysierten Blockes vom Umfang 8.8.
  • Gleichfalls als Beispiel wurden die Felder der Tabellen TABX und TABY, welche die Komponenten von als ähnlich betrachteten Vektoren enthalten (da die Differenzen FX und FY kleiner als S&sub1; = 0.125 sind), mit einem Kreuz markiert. In der resultierenden Tabelle HISTO ist für HISTO(5,6), die Häufigkeit dem Auftretens dieses Vektors, der Wert 16 eingetragen. Für die entsprechende Streuung ist DISP(6,5) = 2.5 angegeben.
  • Die zweite Phase des erfindungsgemäßen Verfahrens zur Teilung des Bewegungsfeldes besteht darin, das aus der Zuweisung eines Vektors pro Block resultierende Bewegungsfeld zu filtern. Dieses Feld wird gefiltert, indem um den aktuellen, verarbeiteten Vektor herum ein Fenster 3.3 betrachtet wird, das die Vektoren der benachbarten Blöcke umfaßt; der mittlere Vektor in diesem Fenster wird mit seinen acht Nachbarn verglichen, und falls dieser Vektor von allen seinen Nachbarn entfernt ist, wird er durch einen von ihnen ersetzt:
  • Ein Vektor V(Vx,Vy) wird als von einem Vektor V' (V'x,V'y) entfernt betrachtet, falls FX und FY, die absoluten Beträge der Differenzen der Komponenten von V und V' längs X und Y, größer sind als eine vorgegebene Schwelle S&sub2;. S&sub2; kann zum Beispiel gleich 0,5 sein. Wenn ein Vektor demnach von allen seinen Nachbarn entfernt ist, wird er "herausgefiltert", das heißt durch denjenigen der acht benachbarten Blöcke ersetzt, der mit der größten Häufigkeit dem Auftretens unter den punktweirnen Vektoren dem zu filternden Blockes in der entsprechenden Tabelle HISTO(k,1) erscheint, weiterhin im Falle einer Gleichheit durch denjenigen, der die niedrigste Streuung aufweist, wobei die Häufigkeit des Auftretens und die Streuung für jeden der Vektoren des zu filternden Blockes wie in der vorangegangenen Phase angegeben berechnet werden.
  • Die Figur 4 zeigt diese Phase der Filterung. Unter der Annahme, daß der Vektor, der für den Block vorgesehen wurde, dessen Tabellen in Figur 3 abgebildet wurden, der Vektor V(6,5) = (2.125, 1.250) ist, und unter der Annahme, daß dieser Block derjenige ist, der gegenwärtig für die Phase der Filterung bearbeitet wird, wurde dieser mittlere Block mit seinen 8 ihn umgebenden Nachbarn dargestellt, die somit das Filterungsfenster von (3.3) Blöcken bilden. Im dargestellten Beispiel wird dieser Vektor beibehalten, da er nicht von allen seinen Nachbarn entfernt ist (insbesondere liegt er nahe bei den Blöcken der vorangehenden Zeile und bei seinen Nachbarn auf der gleichen Zeile).
  • Die nächste Phase besteht in der Herstellung des Histogramms dem Bewegungsfeldes.
  • Das punktweise Bewegungsfeld eines hochauflösenden Bildes, das in ein aus einem Vektor pro Block von n.n Punkten bestehendes Bewegungsfeld umgewandelt wurde, hat einen Umfang von 1440/n Spalten und 1152/n Zeilen, also von 180.144 für Blöcke 8.8. Es wird ein Histogramm für jedes Viertel des hochauflösenden Bildes hergestellt, also für jede Tabelle von Bewegungsvektoren der Größe (1440/2n, 1152/2n), also für 90.72 Blöcke in dem oben definierten Beispiel; da die Vektoren des Bewegungsfeldes Komponenten haben, die zwischen den numerischen Werten -16 und +16 liegen, mit einer Genauigkeit von 1/8 = 0,125 Bildpunkten, wird zum Zwecke der Vereinfachung eine Multiplikation aller Komponenten mit 8 vorgenommen, was 255.255 mögliche Vektoren ergibt, die ganzzahlige Komponenten haben:
  • - Vx gehört der Menge [-15.875, 15.875] an, somit gehört 8Vx der Menge [-127, +127] an.
  • - Vy gehört der Menge [-15.975, 15.875] an, somit gehört 8Vy der Menge [-127, +127] an.
  • Um das Histogramm des gefilterten Feldes der Bewegung pro Block herzustellen, wird eine zweidimensionale Tabelle verwendet, die alle möglichen Verschiebungen 8Vx und 8Vy umfaßt. Das mittlere Feld dieser Tabelle entspricht dem Vektor der Verschiebung null. Die Tabelle der Bewegungsvektoren des Viertelbildes wird analysiert, und für jeden Vektor der Verschiebung der Blöcke des betrachteten Viertelbildes werden das entsprechende Tabellenfeld der Histogramm Tabelle sowie, bei einer bevorzugten Ausführungsart, die 8 benachbarten Felder inkrementiert, so daß in dieser Phase ein Spreizen des Histogramms realisiert wird. Die Figur 5 zeigt die Histogramm-Tabelle für ein Viertelbild und gibt die Einzelheiten der Aktualisierung an, wenn der in der Figur 4 dargestellte aktuelle Block mit dem Vektor V(2.125, 1.250), also 8V(17,10) angetroffen wird und zur Inkrementierung der Tabellenfelder der dargestellten Umgebung führt. Im Detail der Figur sind die Tabellenfelder durch ihre Koordinaten bezeichnet. Ihr Inhalt (nicht angegeben) ist von den aufeinanderfolgenden Inkrementierungen abhängig. Nach der Herstellung diesßs Histogramms für ein Viertelbild (90.72 Blöcke) werden alle Vektoren, deren Häufigkeit des Auftretens größer als eine Schwelle S&sub3; ist, wobei S&sub3; mit 4 festgelegt werden kann, zusammen mit ihren Häufigkeiten des Auftretens in eine neue Tabelle übertragen, wie die in Figur 6 dargestellte; jede Zeile der Tabelle umfaßt folglich drei Bereiche: die Häufigkeit des Auftretens des Vektors, seine Komponente in x-Richtung Vx (oder 8Vy) und seine Komponente in y-Richtung Vy (oder 8Vy). Danach wird in dieser Tabelle eine Klassifizierung nach abnehmenden Werten der Häufigkeiten des Auftretens vorgenommen.
  • Die nächste Phase ist die Bestimmung eines Vektors, der die jeweilige "Klasse" der Bewegung repräsentiert, ausgehend von der am Ende der vorangegangenen Phase erhaltenen Tabelle, welche die Komponenten der Vektoren der Verschiebung in x- Richtung, die Komponenten der Vektoren der Verschiebung in y-Richtung und die Häufigkeiten dem Auftretens enthält. Dazu wird ein Vergleich zwischen dem Vektor, der die größte Häufigkeit des Auftretens hat und der erste Vektor nach der vorgenommenen Klassifizierung ist, das heißt, der in der Tabelle in der Zeile 1 steht, und allen anderen Vektoren der Tabelle mit Nummern größer als 1 vorgenommen. Diejenigen, die als bis auf einen einer Schwelle S&sub2; entsprechenden Abstand nahekommend betrachtet werden, wobei S&sub2; die gleiche Schwelle ist wie bei der Berechnung der Nähe im Rahmen der Filterung (also zum Beispiel S&sub2; = 0,5), werden eliminiert, und der Inhalt der Tabelle wird so verschoben, daß die leeren Felder aufgefüllt werden.
  • Danach wird der Vektor untersucht, der in der Tabelle nach der Klassifizierung auf Position 2 steht, im Vergleich mit den Vektoren, die ab der dritten Position folgen, und so weiter für alle Vektoren der Tabelle. In der Figur 6 wurden die nahe beiemanderliegenden Vektoren durch Pfeile verbunden; am Ende dieser Phase sind die an den Ausgangspunkten der Pfeile befindlichen Vektoren aus der Tabelle verschwunden. Am Schluß dieser Phase ist jeder in der Tabelle verbleibende Vektor der Repräsentant einer erweiterten Klasse von Bewegungsvektoren.
  • Die folgende Phase ist die Eliminierung der sekundären Maxima.
  • In der Umgebung eines Vektors, der eine große Häufigkeit des Auftretens hat, kann man einige Vektoren finden, die nahe sind, deren über die Differenzen der Komponenten ausgedrückter Abstand jedoch größer als die Schwelle S&sub2; ist und die eine geringere Häufigkeit des Auftretens haben. Diese Erscheinung entspricht der Spreizung dem Histogramms in der Umgebung der dominierenden Vektoren. Diese Vektoren können zweckmäßigerweise mit dem Vektor, in dessen Nähe sie liegen, zusammengefaßt werden, obwohl die Differenz größer als 0,5 ist, denn es ist nutzlos, solche Vektoren auf zubewahren, die sekundäre Maxima in dem auf Klassen reduzierten Histogramm des Bewegungsfeldes, das in der vorangegangenen Phase erhalten wurde, erzeugen.
  • Bei diesem Schritt ist es jedoch erforderlich, globale Bewegungen auf dem Bild vom Typ Zoom oder Drehung zu berücksichtigen, die zur Folge haben, daß ein gewissermaßen ebenes Histogramm erzeugt wird, da jeder Punkt des Bildes eine Bewegung ausführt, die der seiner Nachbarpunkte sehr nahekommt, aber dennoch alle Bildpunkte unterschiedliche Verschiebungen aufweisen. Demzufolge ist, wenn nach den sekundären Maxima dem Histogramms gesucht wird, der erste untersuchte Vektor der Vektor der ersten Zeile der Tabelle, das heißt derjenige, der die größte Häufigkeit des Auftretens hat, und das Vorhandensein von sekundären Maxima dieses Vektors wird nur dann betrachtet, wenn mindestens zwei Vektoren in der Tabelle mit einer Nummer, die größer als 1 ist, ihm bis auf einen der Schwelle S&sub5; entsprechenden Abstand nahekommen.
  • Sei TRI(N,3) die eindimensionale Tabelle mit drei Bereichen, die sich aus der Sortierung nach Klassen ergibt, wobei N die Anzahl der Vektoren ist, die in dieser Etappe dem Algorithmus verbleibt. Wenn k die Nummer der Zeile des zu untersuchenden Vektors in der Tabelle TRI ist, so läuft k von 1 bis N. Wenn wenigstens zwei Vektoren auf Zeilen mit Nummern i und j, die größer als k sind, dem Vektor auf der Zeile k nahe sind, wobei sie demzufolge eine Häufigkeit des Auftretens haben, die kleiner ist als die Häufigkeit dem Auftretens des Vektors auf der Zeile k, so werden diese Vektoren dann als sekundäre Maxima betrachtet und eliminiert. Der Inhalt der Tabelle TRI wird dann so verschoben, daß die leeren Felder aufgefüllt werden, wobei die entsprechenden Häufigkeiten des Auftretens aktualisiert werden.
  • Der Begriff der Nähe wird wie zuvor festgelegt, jedoch mit einer anderen Schwelle S&sub5; (wobei S&sub5; zum Beispiel mit 2 festgelegt wird). In der Tabelle TRI, die in der Figur 7 dargestellt ist, ist TRI(k,1) die Komponente in x-Richtung des auf der Zeile k befindlichen Vektors, und TRI(k,2) ist die Komponente in Y-Richtung des gleichen Vektors.
  • Seien i und j größer als k;
  • falls TRI(k,1) - TRI(i,1) < S&sub5;
  • TRI(k,2) - TRI(i,2) < S&sub5;
  • und falls TRI(k,1) - TRI(j,1) < S&sub5;
  • TRI(k,2) - TRI(j,2) < S&sub5;
  • so sind die auf den Zeilen i und j befindlichen Vektoren sekundäre Maxima und werden aus der Tabelle TRI eliminiert.
  • Diese Schritte beginnen mit k = 1, wonach k inkrementiert wird, bis alle Vektoren der Tabelle TRI erfaßt werden.
  • Am Ende dieser Phase sind die sekundären Maxima in der Umgebung eines Maximums mit einer größeren Häufigkeit des Auftretens eliminiert.
  • Die nächste Phase ist dann eine zeitliche Filterung:
  • Diese zeitliche Filterung wird auf die Tabelle TRI angewandt, die am Ende der vorangegangenen Phase Nt Vektoren enthält. Das Ziel der vorangegangenen Schritte bestand darin, die dominierenden Vektoren eines Viertels eines hochauflösenden Bildes zu bestimmen, um den Umfang des Bewegungsfeldes, das im Anschluß an die Verarbeitung mit einem "quad-tree" genannten Kodierverfahren kodiert wird, zu reduzieren. Die Anzahl der übertragenen Vektoren pro Viertelbild wird in Abhängigkeit von der zulässigen Übertragungsgeschwindigkeit gewählt und mit Nmax bezeichnet.
  • Die Nmax ersten Vektoren der Tabelle TRI werden in einen Pufferspeicher MEM1 übertragen und mit den Vektoren verglichen, die als dominierende Vektoren für das vorangehende Bild bestimmt wurden und in einem Pufferspeicher MEM2 enthalten sind, wie in Figur 8 dargestellt. Falls ein Vektor der Tabelle TRI, der zu den Nmax in den Speicher MEML übertragenen Vektoren gehört, im Sinne des weiter oben definierten Abstandes mit einer Schwelle S&sub1; von allen Vektoren des Speichers MEM2 entfernt ist, so wird dieser Vektor aus TRI eliminiert; die Tabelle TRI wird dann so verschoben, daß die leeren Felder aufgefüllt werden und ein zusätzlicher Vektor ermittelt wird, falls Nt größer als Nmax ist. Nachdem überprüft wurde, daß die Nmax Vektoren der Tabelle TRI denen der Tabelle MEM2 nahe sind, werden diese Vektoren in den folgenden Modul übertragen. Der Inhalt der Tabelle MEM1 wird in die Tabelle MEM2 übertragen, um den Fall zu berücksichtigen, daß eine neue Bewegung auftritt, zum Beispiel wenn sich ein Objekt in einem den beiden Bildern gemeinsamen Hintergrund zu bewegen beginnt; der Inhalt der Tabelle MEM2 wird durch das Ergebnis der zeitlichen Filterung nicht verändert.
  • Die folgende Phase ist die Phase der erneuten Zuweisung eines Vektoru zu jedem Bildpunkte-Block vom Umfang n.n im Bild.
  • Die Phase der erneuten Zuweisung besteht darin, unter Verwendung der in den vorangegangenen Phasen ausgewählten Vektoren für jeden Block von n.n Bildpunkten den Vektor zu suchen, der am besten geeignet ist, diesen Block zu repräsentieren. In der Tat wird jedem elementaren Block von n.n Bildpunkten einer der Nmax Vektoren (die Anzahl dieser Vektoren kann eventuell kleiner sein als Nmax) zugewiesen, die in dem Bild als dominierend betrachtet werden. Dazu wird nochmals das sich aus der ersten Phase (Zuweisung einen Vektors pro Block n.n) ergebende Feld von Vektoren betrachtet, und jedem Block wird derjenige dominierende Vektor zugeordnet, der dem diesem Block ursprünglich zugewiesenen Vektor am nächsten ist:
  • Sei V(Vx, Vy) der Vektor dem betrachteten Blockes am Ende der ersten Phase. Der Abstand zwischen diesem Vektor und jedem der dominierenden Vektoren der Tabelle TRI wird auffolgende Weise berechnet:
  • D&sub1;(k) = Min ((Dx(k),Dy(k))
  • mit Dx(k) = Vx - TRI(k,1)
  • Dy(k) = Vy - TRI(k,2)
  • Der dem Block zugewiesene Vektor ist derjenige Vektor Vas(Vasx, Vasy) vom Rang k in der Tabelle TRI, der den minimalen Abstand D&sub1;(k) gemäß obiger Definition liefert.
  • Falls jedoch der minimale Abstand D&sub1;(k) größer ist als die Schwelle S&sub5;, wird diesem Block kein Vektor zugewiesen.
  • Außerdem wird in dem Falle, daß mehrere Nummern k dasselbe Minimum D&sub1; liefern, unter den diesen Nummern entsprechenden Bewegungsvektoren eine Auswahl getroffen, indem derjenige Vektor genommen wird, der einen solchen Abstand D2(k) liefert, daß
  • D2(k) = min ((Dx(k),Dy(k)) am kleinsten ist.
  • Am Ende dieser Phase können Blöcke existieren, denen kein dominierender Vektor zugewiesen werden konnte.
  • Die nächste Phase ist die Verarbeitung der Blöcke, denen kein Vektor zugewiesen wurde. Wie oben dargelegt, kann es am Ende der Phase der erneuten Zuweisung eines Vektors zu jedem Block n.n vorkommen, daß keiner der dominierenden Vektoren der Tabelle TRI geeignet ist. Diese Blöcke können Blöcke mit einer falschen Anf angsbewegung infolge einer schlechten Arbeitsweise der Bewegungs-Schätzfunktion oder Blöcke mit einer besonderen lokalen Bewegung, die zum Beispiel sich bewegenden Objekten von sehr geringer Größe entsprechen, sein.
  • Für diese Blöcke wird die Zuweisung eines Vektors in Abhängigkeit von der "quad-tree"-Kodierung vorgenommen. Es wird so vorgegangen, daß dann, wenn die drei im Sinne des "quad-tree"-Ausschnittes benachbarten Blöcke des betrachteten Blockes denselben Vektor haben, dieser Vektor dem Block ohne Zuweisung zugewiesen wird. Falls die Vektoren der drei im Sinne der "quad-tree"- Kodierung benachbarten Blöcke nicht identisch sind, weist man dem Block ohne Zuweisung den majoritären Vektor in der aus den acht nächstgelegenen Blöcken bestehenden Umgebung zu.
  • Die folgende Phase ist die Filterung der isolierten Blöcke.
  • Das am Ende der Phase der Verarbeitung der Blöcke ohne Zuweisung erhaltene erneut zugewiesene Bewegungsfeld wird derart gefiltert, daß die Blöcke mit isolierten Vektoren eliminiert werden, denn diese Blöcke erfordern eine erhöhte Datenmenge für die Kodierung. Ein Block wird Block mit isoliertem Vektor genannt, wenn er von 8 Blöcken umgeben ist, die ein und denselben Vektor haben, wobei der Vektor des mittleren Blockes somit von allen seinen Nachbarn verschieden ist. In diesem Falle wird der Vektor der benachbarten Blöcke dem mittleren Block zugewiesen.
  • Die nach Abschluß dieser Filterung durchgeführte nächste Phase ist die Berechnung der der Kodierung entsprechenden Übertragungsgeschwindigkeit.
  • In der Tat ist es vor einer Übertragung erforderlich zu Überprüfen, ob die "Kosten" der Kodierung der aus dem so durchgeführten Teilungsverfahren resultierenden Bewegungsvektoren mit der maximal zulässigen Übertragungsgeschwindigkeit für die Kodierung vereinbar sind. Die sich auf das Bewegungsfeld beziehenden Informationen werden wie oben angegeben mittels eines "quad-tree" genannten Kodierverfahrens kodiert, das heißt, nach einem Kodierbaum, der durch Zerlegung von Makroblöcken von Bildpunkten in 4 Quadranten, danach jedes resultierenden Quadranten in 4 Quadranten usw., so lange, bis die aus der Zerlegung resultierenden Blöcke hinsichtlich des Bewegungsvektorfeldes homogen sind, konstruiert wird. Ein solches Verfahren wird zum Beispiel in einem Artikel mit dem Titel "Optimal Quadrature Construction Algorithm" von C.A. SHAFFER und H. SAMET in "Computer Vision Graphics, and Image Processing" Bd. 37, 402-419 (1987) beschrieben.
  • Die Übertragungsgeschwindigkeit nach der Kodierung wird berechnet, indem Makroblöcke von zum Beispiel 128.128 Bildpunkten betrachtet werden. Wenn n.n die Größe des elementaren Blockes ist, wobei n stets eine Zweierpotenz ist, gibt es log&sub2;(128/n) Ebenen der Tiefe im Kodierbaum jedes Makroblocks zusätzlich zu der dem Makroblock selbst entsprechenden Anfangsebene. Falls "Ebene 0" die Anfangsebene ißt, wird die erste Ebene, das heißt die von Blöcken 64x64, erreicht, wenn der Makroblock nicht homogen ist. Die zweite Ebene wird für einen Block 64x64 erreicht, wenn er nicht homogen ist, und der Prozeß setzt sich so bis zu einem elementaren Block vom Umfang n.n fort.
  • Die Übertragungsgeschwindigkeit D für ein hochauflösendes Viertelbild erhält man mit Hilfe der folgenden Formel:
  • D = No x b x MB x c(bit/s), wobei:
  • - NO die Anzahl der Knoten aller Kodierbäume ist,
  • - b die für die Beschreibung jedes möglichen Zustands für einen Knoten erforderliche Anzahl von Bits ist,
  • - MB die Anzahl der Makroblöcke für ein Viertelbild ist;
  • - c die Anzahl der Felder pro Sekunde ist.
  • Der Zustand eines Knotens ist entweder einer der für das Bewegungsfeld des Bildes repräsentativen dominierenden Vektoren oder eine Anzeige des Übergangs zu der niedrigeren Ebene des Baumes, der eine Zerlegung des Blockes in vier Blöcke bedeutet.
  • Wenn man annimmt, daß die Anzahl der mit dem oben beschriebenen Teilungsalgorithmus ermittelten Vektoren Nt ist, daß die Anzahl der nach der zeitlichen Filterung tatsächlich übertragenen Vektoren Ntrans ist und daß die maximale Anzahl der übertragenen Vektoren Nmax ist (Ntrans ist stets gleich oder kleiner als Nmax), so ist die für die Beschreibung des Zustands eines Knotens erforderliche Anzahl von Bits die ganze Zahl, die größer oder gleich log&sub2;(Ntrans+1) ist.
  • Die Figuren 9 und 10 veranschaulichen die Zerlegung und die Kodierung für einen Makroblock von 16x16 elementaren Blöcken mit vier Ebenen 0, 1, 2 und 3. Die Figur 9 zeigt die Aufteilung des Bewegungsfeldes des Makroblocks, die dem in der Figur 10 dargestellten Kodierbaum entspricht: Das nordwestliche Viertel des Makroblocks ist homogen, ebenso wie das südwestliche und das südöstliche Viertel, die daher jeweils mittels eines anderen Vektors auf der Ebene 1 kodiert werden; das nordöstliche Viertel umfaßt drei homogene Viertel, die jeweils mittels eines Vektore auf der Ebene 2 kodiert werden, und ein nicht homogenes Viertel, das wiederum nach einer Zerlegung in vier Teile auf der Ebene 3 kodiert wird, wobei die Blöcke auf der Ebene 3 homogen sind. Der in der Figur 10 dargestellte Kodierbaum umfaßt 13 Knoten; falls Nmax = 7 und Ntrans = Nmax ist, ist die für die Beschreibung des Zustands eines Knotens erforderliche Anzahl von Bits E(log&sub2;8) (E(X) die Darstellung der Operation, die darin besteht, die ganze Zahl zu nehmen, welche größer als oder gleich X ist), also 3; es ist nicht erforderlich, auf die letzte Ebene hinabzusteigen. Die "Kosten" des Baumes des Makroblocks von der in der Figur dargestellten Form betragen 13xE(log&sub2;(Nmax+1)). Wenn Nmax gleich 7 ist, das heißt, wenn für dieses Viertelbild 7 überprüfte dominierende Vektoren existieren, so betragen die "Kosten" des Baumes 13x3 = 39 Bits.
  • Die Makroblöcke, deren Anzahl notwendigerweise ganz ist, überdecken einen größeren Bereich als das hochauflösende Viertelbild, auf dem die Teilung durchgeführt wird. In der Tat umfaßt ein hochauflösendes Viertelbild 90x72 elementare Blöcke von 8.8 Bildpunkten, also etwas weniger als 6 Makroblöcke in der horizontalen und etwas weniger als 5 Blöcke in der vertikalen Richtung. Die Abschnitte von Makroblöcken, die über das hochauflösende Viertelbild hinausragen, werden mit dem Vektor gefüllt, der die minimalen nkostenu für den Kodierbaum liefert.
  • Der Teilungsalgorithmus wird für jedes Viertelbild getrennt ausgeführt; die mit der obenstehenden Formel berechnete Übertragungsgeschwindigkeit entspricht daher nur einem Bruchteil der Gesamt-Übertragungsgeschwindigkeit.
  • Die letzte Phase ist eine Phase der Regulierung der Übertragungsgeschwindigkeit.
  • Je nachdem, ob die nach Abschluß der vorangegangenen Phase berechnete Übertragungsgeschwindigkeit größer ist als der zulässige Grenzwert, wird das Teilungsverfahren ab dem Beginn der Phase der erneuten Zuweisung eines Vektors zu jedem Block n.n wiederholt, und bevor diese Phase nochmals ausgeführt wird, wird die Anzahl Nmax um eins verringert. Die vier letzten Phasen werden dann wiederholt, und so weiter, bis die berechnete Gesamt-Übertragungsgeschwindigkeit kleiner als die oder gleich der maximal zulässige(n) Übertragungsgeschwindigkeit ist.
  • In der obigen Beschreibung wurde ausgeführt, daß für das Teilungsverfahren eine "Punktweises" Bewegungsfeld verwendet wird, das heißt ein Bewegungsfeld, das einen Bewegungsvektor für jeden der Bildpunkte umfaßt, oder eventuell einen Bewegungsvektor für jeden zweiten Bildpunkt einer Zeile, wobei diese Bildpunkte auf aufeinanderfolgenden Zeilen versetzt angeordnet sind.
  • Das erfindungsgemäße Verfahren läßt sich auch für die Teilung eines blockweisen Bewegungsfeldes anwenden, wenn die vorher verwendete Bewegungs- Schätzfunktion einen Vektor pro Block liefert. Es versteht sich von selbst, daß in diesem Falle die Phase der Zuweisung eines Vektors pro Block n.n entfällt, wenn die Schätzfunktion einen Bewegungsvektor pro Block n.n liefert, bzw. modifiziert wird, wenn die Schätzfunktion einen Bewegungsvektor für einen Block liefert, dessen Umfang kleiner als n.n ist.
  • Die Figur 11 zeigt die Aufeinanderfolge der verschiedenen Phasen des Verfahrens zur Teilung des punktweisen Bewegungsfeldes entsprechend der obenstehenden genauen Beschreibung, nämlich:
  • - die Zuweisung eines Vektors pro Block n.n, ausgehend von einem punktweiuen Bewegungsvektorfeld, das am Eingang E&sub1; eingegeben wird;
  • - die Filterung des blockweisen Bewegungsfeldes, das aus der ersten Phase resultiert (oder eventuell unmittelbar zur Verfügung steht, falls man über ein Bewegungsvektorfeld pro Block von n.n Bildpunkten verfügt, das dann am Eingang E&sub2; eingegeben wird);
  • - die Herstellung des Histogramms des gefilterten Bewegungsfeldes für ein Viertelbild;
  • - die Bestimmung eines repräsentativen Vektors für jede Bewegungsklasse;
  • - die Eliminierung der sekundären Maxima;
  • - die zeitliche Filterung;
  • - die erneute Zuweisung eines Vektors zu jedem Block n.n;
  • - die Verarbeitung der Blöcke, denen kein Vektor zugewiesen werden konnte;
  • - die Filterung der isolierten Blöcke;
  • - die Berechnung der Übertragungsgeschwindigkeit der Kodierung und die Überprüfung, ob diese Übertragungsgeschwindigkeit kleiner ist als ein Grenzwert, wobei andernfalls eine neue Etappe der erneuten Zuweisung wie oben angegeben ausgeführt wird; falls die Übertragungsgeschwindigkeit annehmbar ist, kann dann die Kodierung des somit am Ausgang 5 erhaltenen geteilten Bewegungsvektorfeldes im Hinblick auf die Übertragung vorgenommen werden.
  • Die Erfindung ist nicht auf das Verfahren in der oben ausführlich beschriebenen Form beschränkt. Insbesondere wurde in jeder Etappe des Teilungsverfahrens eine bestimmte Anzahl von Auswahlen getroffen, und in jeder Etappe wurde eine bestimmte Anzahl von Berechnungen ausgeführt. Die als Beispiel angegebenen Präzisierungen betreffs der Größen der Blöcke und betreffs der Schwellenwerte stellen keine Einschränkungen dar. Was die Schwellenwerte betrifft, ist es jedoch erforderlich, daß S&sub2; größer als S&sub1; ist und daß S&sub5; größer als S&sub2; ist.
  • Weiterhin ist die Viertelbildweise Verarbeitung, die für die anschließend vorgesehene "quad-tree"-Kodierung besonders geeignet ist, kein wesentliches Element der Erfindung. Sofern die Berechnungekapazitäten für die Verarbeitung des Bildes auf einmal ausreichend sind, wäre es möglich, die gleiche Verarbeitung für das gesamte Bild durchzuführen, oder auch die Verarbeitung für Bildabschnitte vorzunehmen, die von 1/4 verschieden sind.
  • Die Phase der Filterung des Bewegungsfeldes pro Block n.n (2. Phase des Teilungsverfahrens) erleichtert die spätere Verarbeitung, ist jedoch nicht wesentlich, insbesondere auf Grund dessen, daß im Anschluß eine Phase der Filterung der isolierten Blöcke vorgesehen ist und daß das erfindungsgemäße Teilungsverfahren in seiner Gesamtheit die Tendenz aufweist, isolierte Bewegungsvektoren nicht zu berücksichtigen. Die Schritte der Filterung des Bewegungsfeldes und/oder der Filterung der isolierten Blöcke, die in der 2. und 9.
  • Phase des Teilungsverfahrens erwähnt werden, könnten somit je nach dem durchgeführten Typ der Sequenzanalyse geändert oder sogar weggelassen werden.
  • In der Etappe der Herstellung des Histogramms, das es anschließend ermöglicht, die Tabelle der am häufigsten aufgetretenen Bewegungsvektoren zu erstellen, wurde weiter oben darauf hingewiesen, daß nicht nur das Tabellenfeld inkrementiert wird, das dem für den aktuellen Block nach der Filterung verwendeten Vektor entspricht, sondern auch die acht Vektoren seiner Umgebung. Dieses Merkmal, das zum Spreizen des Histogramms vorgesehen wurde, könnte sich in bestimmten Fällen als unnotig erweisen, zum Beispiel wenn das Bild auf einmal verarbeitet wird. Die Multiplikation der Komponenten Vx und Vy mit 8 ist gleichfalls ein der Einfachheit halber vorgenommener Schritt, auf den verzichtet werden kann.
  • Weitere Modifikationen könnten vorgesehen werden, ohne daß dadurch der Rahmen der Erfindung verlassen wird. Zum Beispiel könnte es in bestimmten Fällen ausreichend sein, die N Vektoren der Histogramm Tabelle auszuwählen, welche die größten Häufigkeiten des Auftretens haben, ohne die Phase durchzuführen, die als Phase der Bestimmung eines repräsentativen Vektors für jede "Bewegungsklasse" bezeichnet wird, und diese Vektoren unmittelbar als dominierende Vektoren für das erneute Zuweisen eines Vektors zu jedem Block vor dem Kodieren zu verwenden.

Claims (12)

1. Verfahren zur Teilung des Bewegungsfeldes, das von einer Bewegungs-Schätzfunktion erzeugt wird, welche die Verschiebung von Bildpunkten eines Bildes gegenüber dem vorangehenden Bild in Form von Vektoren (V) mit zwei Komponenten (Vx, Vy) in der Bildebene liefert, dadurch gekennzeichnet, daß es folgendes umfaßt:
- eine vorbereitende Phase (1, Fig. 11) der Zerlegung des Bildes in Blöcke von n.n (8.8) Bildpunkten und der Zuweisung eines Bewegungsvektors, der für jeden Block nach einem Majoritätskriterium aus den möglichen Vektoren ausgewählt wird;
- eine Phase (3) der Anfertigung eines Histogramms der Bewegungevektoren pro Block, nach deren Abschluß eine Klassifizierung der aufgetretenen Bewegungsvektoren nach der Häufigkeit ihres Auftretens vorgenommen wird;
- eine Phase (7) der erneuten Zuweisung eines Bewegungsvektors zu jedem der Blöcke, wobei dieser Vektor aus einer begrenzten Anzahl N von dominierenden Vektoren gewählt wird, die ausgehend vom Histogramm ausgewählt werden, und derjenige Vektor unter diesen dominierenden Vektoren ist, der dem ursprünglichen Vektor des Blockes am nächsten kommt;
- eine Phase (9) der Filterung der Vektoren der isolierten Blöcke, die Bewegungsvektoren aufweisen, die mit denen der Blöcke ihrer Umgebung nicht kohärent sind;
- eine Phase der Berechnung der erforderlichen Übertragungsgeschwindigkeit (10) für das Kodieren des gefilterten resultierenden Bewegungsfeldes und der Überprüfung (11), ob diese Übertragungsgeschwindigkeit kleiner als eine oder gleich einer maximal mögliche(n) Übertragungsgeschwindigkeit ist, wobei die Phase (7) der erneuten Zuweisung eines aus einer kleineren Anzahl dominierender Vektoren ausgewählten Bewegungsvektors zu jedem der Blöcke wiederholt wird, wenn die Übertragungsgeschwindigkeit größer ist als die maximal mögliche Übertragungsgeschwindigkeit;
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für die Verarbeitung eines punktweisen Bewegungsfeldes die vorbereitende Phase darin besteht, für jeden Block von n.n Bildpunkten denjenigen Bewegungsvektor zu bestimmen, dessen Häufigkeit des Auftretens in dem Block am größten ist, und im Falle einer Gleichheit denjenigen, der die kleinste Streuung (DISP(k,1)) hat.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für die Verarbeitung eines blockweisen Bewegungsfeldes die vorbereitende Phase (1) darin besteht, das Bewegungsfeld zu übertragen (E&sub2;), falls der Block einen Umfang n.n hat, und einen dem Block n.n zugewiesenen Vektor zu übertragen (E&sub1;), falls das Bewegungsfeld für Blöcke von geringerer Größe aufgestellt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß vor der Phase (3) der Herstellung des Histogramms eine Phase (2) der Filterung des blockweisen Bewegungsfeldes durchgeführt wird, wobei diese Filterung darin besteht, den Bewegungsvektor des aktuellen Blockes durch den eines seiner 8 Nachbarn zu ersetzen, wenn gefunden wird, daß der besagte Vektor des aktuellen Blockes von denen aller seiner 6 Nachbarn entfernt ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Herstellung des Histogramms des blockweisen Bewegungsvektorfeldes (3) ausgehend von einer Tabelle (Fig. 5) mit zwei Dimensionen (8Vx, 8Vy) durchgeführt wird, deren mittleres Feld einer Verschiebung null entspricht und deren andere Felder allen möglichen Verschiebungen entsprechen, wobei die Felder ein und derselben Zeile bzw. Spalte der Tabelle einer Komponente einer Verschiebung in Richtung der Abszissen- bzw. Ordinatenachse im aktuellen Bild entsprechen, wobei eine Histogramm-Tabelle (Fig. 6) hergestellt wird, indem der Inhalt des der Verschiebung des analysierten aktuellen Blockes entsprechenden Tabellefeldes sowie die 8 benachbarten Felder der besagten zweidimensionalen Tabelle (Fig. 5) um 1 erhöht werden.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß für die Phase der erneuten Zuweisung (7) die dominierenden Vektoren die N Vektoren sind, welche in der Histogramm-Tabelle die größten Häufigkeiten des Auftretens haben.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Phase der erneuten Zuweisung (7) eine Phase (4) der Bestimmung eines repräsentativen Vektors für jede Bewegungsklasse vorausgeht, die darin besteht, die Vektoren nach abnehmender Größe der Inhalte der entsprechenden Felder der Histogramm-Tabelle zu ordnen und dann die einem Vektor von höherem Rang nahen Vektoren zu eliminieren, um eine Folge von sich bis auf einen einer Schwelle S&sub2; entsprechenden Abstand nahekommenden Vektoren zu bilden, die erweiterte Bewegungsklassen repräsentieren.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß unter den Vektoren, die erweiterte Bewegungsklassen repräsentieren, diejenigen, die sekundären Maxima entsprechen, die durch Paare von zwei verschiedenen, einem Vektor von höherem Rang nahen Vektoren definiert sind, wobei die Nähe durch Vergleich mit einer Schwelle S&sub5; festgestellt wird, die größer als S&sub2; ist, ebenfalls eliminiert werden (5), wobei die Menge der nach dieser Eliminierung der nahen Vektoren verbleibenden Vektoren die Menge der dominierenden Vektoren ist, die für die Kodierung des blockweisen Bewegungsfeldes verwendet wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß vor der Phase der erneuten Zuweisung (7) eine zeitliche Filterung (6) der Menge der dominierenden Vektoren durch Vergleich jedes Vektors mit allen Vektoren der Menge der dominierenden Vektoren, die für das vorangehende Bild bestimmt wurde, und Eliminierung derjenigen Vektoren, die als von allen Vektoren der mit dem vorangehenden Bild verknüpften Menge entfernt angesehen werden, durchgeführt wird.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Phase der erneuten Zuweisung (7) darin besteht, in der Menge der dominierenden Vektoren den Vektor zu ermitteln, der dem ursprünglichen Vektor des Blockes am nächsten ist, und zwar durch Berechnung eines Abstandes zwischen dem ursprünglichen Vektor und jedem der dominierenden Vektoren und Auswahl desjenigen dominierenden Vektors, der den minimalen Abstand (D&sub1;(k)) liefert.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß der dominierende Vektor, der den minimalen Abstand liefert, nur dann dem Block erneut zugewiesen wird, wenn dieser Abstand kleiner als eine Schwelle (S&sub5;) ist, wobei den Blöcken, denen kein Vektor zugewiesen werden konnte, bei der Kodierung ein von den Vektoren der Nachbarblöcke abhängiger Bewegungsvektor zugewiesen wird (8).
12. Verfahren zur Teilung des Bewegungsfeldes von Videobildern nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß in der Phase der Berechnung der Übertragungsgeschwindigkeit (10) die Kodierung nach einem Verfahren vom Typ "quad-tree" vorgenommen wird.
DE69028160T 1989-06-27 1990-06-22 Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes Expired - Fee Related DE69028160T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8908547A FR2648979B1 (fr) 1989-06-27 1989-06-27 Procede de segmentation du champ de mouvement d'une image et son application au codage d'images video

Publications (2)

Publication Number Publication Date
DE69028160D1 DE69028160D1 (de) 1996-09-26
DE69028160T2 true DE69028160T2 (de) 1997-03-06

Family

ID=9383162

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028160T Expired - Fee Related DE69028160T2 (de) 1989-06-27 1990-06-22 Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes

Country Status (9)

Country Link
US (1) US5193001A (de)
EP (1) EP0406074B1 (de)
JP (1) JP3051161B2 (de)
KR (1) KR100186831B1 (de)
AT (1) ATE141700T1 (de)
DE (1) DE69028160T2 (de)
ES (1) ES2092496T3 (de)
FR (1) FR2648979B1 (de)
WO (1) WO1991000577A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2239575B (en) * 1989-10-17 1994-07-27 Mitsubishi Electric Corp Motion vector detecting apparatus and image blur correcting apparatus, and video camera including such apparatus
DE4104067C2 (de) * 1991-02-11 1994-08-25 Telefonbau & Normalzeit Gmbh Verfahren zur Verbesserung der Qualität von Bewegungsvektoren für digitale Bildübertragung
SE469866B (sv) * 1991-04-12 1993-09-27 Dv Sweden Ab Metod för estimering av rörelseinnehåll i videosignaler
US5379071A (en) * 1992-12-16 1995-01-03 Ibm Corporation (International Business Machines Corporation) Method of encoding a location of changes in a sequence of video images
FI94306C (fi) * 1993-07-15 1995-08-10 Nokia Technology Gmbh Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi
KR970003799B1 (ko) * 1993-12-29 1997-03-21 양승택 영상 프레임차를 이용한 영상신호 전송장치
US6178265B1 (en) * 1994-09-22 2001-01-23 Intel Corporation Method and apparatus for motion vector compression
US5764307A (en) * 1995-07-24 1998-06-09 Motorola, Inc. Method and apparatus for spatially adaptive filtering for video encoding
US5982441A (en) * 1996-01-12 1999-11-09 Iterated Systems, Inc. System and method for representing a video sequence
AU5973899A (en) * 1998-09-07 2000-03-27 Thomson Multimedia Method of motion estimation for transmission cost reduction of motion vectors
US7006569B1 (en) * 1999-02-05 2006-02-28 Samsung Electronics Co., Ltd. Digital video processing method and apparatus thereof
SG89282A1 (en) 1999-05-28 2002-06-18 Kent Ridge Digital Labs Motion information extraction system
US6754367B1 (en) * 1999-09-30 2004-06-22 Hitachi Denshi Kabushiki Kaisha Method and apparatus for automatically detecting intrusion object into view of image pickup device
US7085424B2 (en) 2000-06-06 2006-08-01 Kobushiki Kaisha Office Noa Method and system for compressing motion image information
TW515192B (en) * 2000-06-06 2002-12-21 Noa Kk Off Compression method of motion picture image data and system there for
DE10049571C1 (de) * 2000-10-06 2002-06-13 Siemens Ag Verfahren und Anordnung zum Übertragen eines Vektors
FR2820927B1 (fr) * 2001-02-15 2003-04-11 Thomson Multimedia Sa Procede et dispositif de detection de fiabilite d'un champ de vecteurs mouvement
US6930776B2 (en) * 2002-07-25 2005-08-16 Exfo Electro-Optical Engineering Inc. High optical rejection optical spectrum analyzer/monochromator
US7646887B2 (en) * 2005-01-04 2010-01-12 Evolution Robotics Retail, Inc. Optical flow for object recognition
WO2007091213A2 (en) * 2006-02-10 2007-08-16 Koninklijke Philips Electronics N.V. Video processor comprising a motion estimator of the recursive type
EP1841232A1 (de) * 2006-03-31 2007-10-03 Sony Deutschland Gmbh Verfahren und Vorrichtung zur Verbesserung der Konvergenzgeschwindigkeit eines rekursives Bewegungsschätzer
WO2009034488A2 (en) * 2007-09-10 2009-03-19 Nxp B.V. Method an apparatus for line based vertical motion estimation and compensation
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
US10949458B2 (en) 2009-05-29 2021-03-16 Inscape Data, Inc. System and method for improving work load management in ACR television monitoring system
US8769584B2 (en) 2009-05-29 2014-07-01 TVI Interactive Systems, Inc. Methods for displaying contextually targeted content on a connected television
US9449090B2 (en) 2009-05-29 2016-09-20 Vizio Inscape Technologies, Llc Systems and methods for addressing a media database using distance associative hashing
US9094714B2 (en) 2009-05-29 2015-07-28 Cognitive Networks, Inc. Systems and methods for on-screen graphics detection
US9955192B2 (en) 2013-12-23 2018-04-24 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
AU2016211254B2 (en) 2015-01-30 2019-09-19 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
EP3284017B1 (de) 2015-04-17 2024-03-27 Inscape Data, Inc. Systeme und verfahren zur verringerung der datendichte in grossen datensätzen
US10080062B2 (en) * 2015-07-16 2018-09-18 Inscape Data, Inc. Optimizing media fingerprint retention to improve system resource utilization
CA3229617A1 (en) 2015-07-16 2017-01-19 Inscape Data, Inc. Systems and methods for partitioning search indexes for improved efficiency in identifying media segments
CN108293140B (zh) 2015-07-16 2020-10-02 构造数据有限责任公司 公共媒体段的检测

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2551290B1 (fr) * 1983-08-30 1985-10-11 Thomson Csf Procede et dispositif de detection de points en mouvement dans une image de television pour systemes de television numerique a compression de debit a rafraichissement conditionnel
US4661849A (en) * 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
GB2208056A (en) * 1987-08-10 1989-02-15 Philips Electronic Associated Television transmission system
FR2623955B1 (fr) * 1987-11-27 1990-04-27 Labo Electronique Physique Procede et dispositif d'estimation et de compensation de mouvement dans une sequence d'images et leur application dans un systeme de transmission d'images de television a haute definition
FR2628864B1 (fr) * 1988-03-21 1990-06-15 France Etat Procede de segmentation d'un champ de vecteurs vitesse, notamment de vitesses de deplacement de points d'une image dans une sequence d'images
GB2231227B (en) * 1989-04-27 1993-09-29 Sony Corp Motion dependent video signal processing

Also Published As

Publication number Publication date
ATE141700T1 (de) 1996-09-15
DE69028160D1 (de) 1996-09-26
US5193001A (en) 1993-03-09
WO1991000577A1 (fr) 1991-01-10
ES2092496T3 (es) 1996-12-01
KR100186831B1 (ko) 1999-05-15
FR2648979A1 (fr) 1990-12-28
KR920701915A (ko) 1992-08-12
EP0406074B1 (de) 1996-08-21
EP0406074A1 (de) 1991-01-02
FR2648979B1 (fr) 1996-09-06
JP3051161B2 (ja) 2000-06-12
JPH04500423A (ja) 1992-01-23

Similar Documents

Publication Publication Date Title
DE69028160T2 (de) Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
EP0368151B1 (de) Verfahren zur Bestimmung von Suchpositionen zur Bewegungsschätzung
DE69812882T2 (de) Verfahren zur bewegungskompensierten Mehrhalbbildverbesserung von Videostandbildern
DE60119632T2 (de) Erzeugung von nicht schichtgerechten Pixeln für eine Schicht eines aufgespalteten Bildes
DE69309529T2 (de) Verfahren und Vorrichtung für die räumliche Filterung von blocktransformationsdekodierten digitalen Bildern
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
EP1770635B1 (de) Iteratives Verfahren zur Interpolation von Bildinformationswerten
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE4224568C2 (de) Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes
DE69907917T2 (de) Selektive verfeinerung der maschen
DE69214405T2 (de) Verfahren und Einrichtung zur Restitution von Textursignalen
DE3785179T2 (de) Kodierungs- und uebertragungsverfahren eines digitalen signals durch zeitlich selektive auffrischung eines vektoriellen quantifizierers.
EP0897247A2 (de) Verfahren zur Berechnung von Bewegungsvektoren
EP1941744B1 (de) Verfahren und vorrichtungen zur bestimmung und rekonstruktion eines prädizierten bildbereichs
EP1101196B1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
EP0908056B1 (de) Verfahren und vorrichtung zur bearbeitung von bildpunkten eines bildsegments durch einen rechner
DE3545106A1 (de) Schaltung zur bilddatenreduktion, mustererkennung, etc.
DE3733038C2 (de) Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes
DE69934774T2 (de) Videoverarbeitung in pc verwendet statistisch abgestimmte farbwürfel
EP1185084A2 (de) Bildkodierungsverfahren und Bildkodierer
DE68919180T2 (de) Verfahren zur Herstellung eines Bewegungsvektorfeldes zum Übertragen von Informationen in Abhängigkeit von sich bewegenden Bildern.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee