DE69032437T2 - Bewegungseinschätzer - Google Patents
BewegungseinschätzerInfo
- Publication number
- DE69032437T2 DE69032437T2 DE69032437T DE69032437T DE69032437T2 DE 69032437 T2 DE69032437 T2 DE 69032437T2 DE 69032437 T DE69032437 T DE 69032437T DE 69032437 T DE69032437 T DE 69032437T DE 69032437 T2 DE69032437 T2 DE 69032437T2
- Authority
- DE
- Germany
- Prior art keywords
- frame
- block
- blocks
- image
- storage device
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 20
- 241001673391 Entandrophragma candollei Species 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 7
- 239000002131 composite material Substances 0.000 claims 1
- 238000003491 array Methods 0.000 description 5
- 238000011524 similarity measure Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/231—Analysis of motion using block-matching using full search
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Retarders (AREA)
- Dry Shavers And Clippers (AREA)
- Optical Communication System (AREA)
Description
- Die vorliegende Erfindung betrifft die Bewegungseinschätzung insbesondere, wenn auch nicht ausschießlich, im Zusammenhang mit Videocodierungen, die mit einer Differenzcodierung zwischen Rahmen arbeiten.
- Fig. 1 zeigt eine bekannte Form eines Videocodierers. Videosignale (im allgemeinen in digitaler Form) werden an einem Eingang a erhalten. Eine Subtraktionseinrichtung b bildet die Differenz zwischen dem Eingangswert und einem vorhergesagten Signal aus einer Vorhersageeinrichtung c, die anschließend in einer Einheit d weiter codiert wird. Die hier erfolgende Codierung ist für die vorliegende Erfindung nicht ausschlaggebend; sie kann zum Beispiel eine Schwellenquantisierung (um eine Übertragung von Null oder geringfügigen Unterschi eden zu vermeiden) oder die Transformationscodierung umfassen. Der Eingangswert in die Vorhersageeinrichtung ist die in einem Addierer e gebildete Summe der Vorhersage und des codierten Differenzsignals, das in einem örtlichen Decoder f decodiert wird (so daß ein Informationsverlust bei dem Codier- und Decodierverfahren in der Vorhersageschleife enthalten ist).
- Die Differenzcodierung erfolgt im wesentlichen zwischen den Rahmen, wobei die Vorhersageeinrichtung c lediglich die Verzogerung eines Rahmens beinhalten konnte. Wie gezeigt, ist jedoch auch ein Bewegungseinschätzer g vorgesehen. Dieser vergleicht den Rahmen des in der Codierung befindlichen Bildes mit dem vorangehenden, der Vorhersageeinrichtung zugeführten Rahmen. Er identifiziert für jeden Block des augen blicklichen Rahmens (in den das Bild als unterteilt betrachtet wird) den Bereich des vorangehenden Rahmens, dem der Block am meisten ähnelt. Der Positionsvektorunterschied zwischen dem identifizierten Bereich und dem jeweiligen Block wird als Bewegungsvektor bezeichnet (nachdem er im allgemeinen die Bewegung eines Gegenstandes innerhalb der auf dem Fernsehbild gezeigten Szene darstellt) und wird der Vorhersageeinrichtung zugeführt, um den identifizierten Bereich des vorangehenden Rahmens in die Position des relevanten Blocks in dem augenblicklichen Rahmen zu verschieben, wodurch der Ausgangswert der Vorhersageeinrichtung verbessert wird. Dadurch werden die von der Subtraktionseinrichtung b gebildeten Differenzen im Durchschnitt kleiner, und der Codierer d kann das Bild mit einer kleineren Bitrate codieren als dies sonst der Fall wäre.
- Eine Art Bewegungseinschätzer arbeitet auf der Grundlage von Blocken, wobei er jeden Block mit dem entsprechenden Block des vorangehenen Rahmens sowie mit Bereichen vergleicht, die gegenüber dieser Blockposition in ihrer Position verschoben sind. Dies bedeutet einen erheblichen Verarbeitungsaufwand und erfordert häufig eine Vielzahl von Zugriffen auf gespeicherte Versionen beider Rahmen.
- Die gleichzeitig anhängige, am 29. März 1989 veroffentlichte europäische Anmeldung EP-A-0309251 der gleichen Anmelder offenbart einen Bewegungsdetektor, bei dem Pixel für eine ganze Linie eines Referenzrahmens gelesen und Vergleiche für diese Linie angestellt werden, bevor die Vergleiche für die nächste Linie erfolgen. Der Bewegungsdetektor umfaßt
- - eine Empfangs- und Speichereinrichtung zum Empfangen und zeitweisen Speichern von Signalen, die einen linienweise gescannten Rahmen eines Bildes darstellen, sowie von Signalen, die einen anderen solchen Rahmen des Bildes darstellen, wobei die Empfangs- und Speichereinrichtung folgendes aufweist:
- (1) eine erste Bildspeichereinrichtung, die einen Bildelementblock des einen Rahmens gleichzeitig zugänglich macht, wobei aufeinanderfolgende Blocke innerhalb einer Folge solcher Blocke jeweils nicht überlappenden Blocken (N, N + 1, ...) in Linienrichtung des Bildes entsprechen, und
- (ii) eine zweite Bildspeichereinrichtung, um eine Gruppe von Bildelementen gleichzeitig zugänglich zu machen, die einem Bereich des anderen Rahmens mit der gleichen Große wie der Block sowie mehreren bezüglich ihrer Position verschobenen Bereichen des anderen Rahmens innerhalb einer festgelegten Suchfläche entsprechen, und
- - eine Vergleichseinrichtung zum Vergleichen jedes der Blokke, in die der eine Rahmen unterteilt ist, mit dem entsprechenden Bereich im anderen Rahmen und mit den bezüglich ihrer Position verschobenen Bereichen des anderen Rahmens innerhalb der Suchfläche, um eine Vektorinformation zu erzeugen, die die gegebenenfalls vorhandene Positionsverschiebung zwischen der Position des Blocks und der Position desjenigen Bereichs des anderen Rahmens innerhalb der Suchfläche anzeigt, der ein Ählichkeitskriterium zwischen dem Block und den Bereichen erfüllt.
- Nach einem ersten Aspekt der vorliegenden Erfindung ist ein Bewegungsdetektor dadurch gekennzeichnet, daß die Bildelemente in der Suchfläche des anderen Rahmens bei ihrer Verwendung der zweiten Bildspeichereinrichtung in spaltenweiser Abtastung dargeboten werden, und die zweite Bildspeichereinrichtung dazu ausgelegt ist, die Bildelementgruppen aufeinanderfolgend verfügbar zu machen, wobei aufeinanderfolgende Gruppen innerhalb einer Folge solcher Gruppen Bereichen entsprechen, die innerhalb der Suchfläche zunehmend abwärts in Spaltenrichtung verschoben sind, und wobei aufeinanderfolgende Folgen Bereichen entsprechen, die innerhalb der Suchfläche zunehmend längs der Linien des Bildes verschoben sind.
- Vorzugsweise umfaßt die zweite Bildspeichereinrichtung ein FIFO-Feld mit m Abschnitten, wobei m die Breite eines Blocks in Linienrichtung ist und jeder solcher Abschnitt eine SIPO- Stufe mit n Anschlüssen aufweist, wobei n die Tiefe eines Blocks in Spaltenrichtung solcher Linien ist und die SIPO- Stufen durch FIFO-Stufen getrennt sind, wobei die Länge jeder FIFO-Stufe D die Große der Suchfläche in Spaltenrichtung ist.
- Nach einem zweiten Aspekt der vorliegenden Erfindung weist ein Bewegungsdetektor für Videosignale folgendes auf:
- - eine Empfangs- und Speichereinrichtung zum Empfangen und zeitweisen Speichern von Signalen, die einen Rahmen eines Bildes darstellen, sowie von Signalen, die einen anderen solchen Rahmen des Bildes darstellen, wobei die Empfangsund Speichereinrichtung aufweist
- (1) eine erste Bildspeichereinrichtung, die einen Bildelementblock des einen Rahmens gleichzeitig zugänglich macht, wobei aufeinanderfolgende Blöcke innerhalb einer Folge solcher Blöcke nicht überlappenden Blöcken (N, N + 1, ...) in Spaltenrichtung des Bildes entsprechen, und
- (ii) eine zweite Bildspeichereinrichtung, um eine Gruppe von Bildelementen gleichzeitig zugänglich zu machen, die einem Bereich des anderen Rahmens mit der gleichen Grzße wie der Block sowie mehreren beziglich ihrer Position verschobenen Bereichen des anderen Rahmens innerhalb einer festgelegten Suchfläche entsprechen,
- und
- - eine Vergleichseinrichtung zum Vergleichen jedes der Blokke, in die der eine Rahmen unterteilt ist, mit dem entsprechenden Bereich im anderen Rahmen und mit den bezüglich ihrer Position verschobenen Bereichen des anderen Rahmens innerhalb der Suchfläche, um eine Vektorinformation zu erzeugen, die die gegebenenfalls vorhandene Positionsverschiebung zwischen der Position des Blocks und der Position desjenigen Bereichs des anderen Rahmens innerhalb der Suchfläche anzeigt, der ein Ähnlichkeitskriterium zwischen Block und Bereichen erfüllt.
- Er ist dadurch gekennzeichnet, daß die Bildelemente in der Suchfläche des anderen Rahmens bei ihrer Verwendung der zweiten Bildspeichereinrichtung in zeilenweiser Abtastung dargeboten werden, und die zweite Bildspeichereinrichtung dazu ausgelegt ist, die Bildelementgruppen aufeinanderfolgend verfügbar zu machen, wobei aufeinanderfolgende Gruppen innerhalb einer Folge solcher Gruppen Bereichen entsprechen, die innerhalb der Suchfläche in Linienrichtung des Bildes verschoben sind, und wobei solche aufeinanderfolgende Folgen Bereichen entsprechen, die innerhalb einer Suchfläche zunehmend abwärts in Spaltenrichtung verschoben sind.
- Ausführungsformen der Erfindung werden nachstehend anhand der beigefügten Zeichnungen beschrieben. In diesen zeigt
- Fig. 2 einen Block des augengblicklichen Bildes sowie eine entsprechende Suchfläche des vorangehenden Bildes,
- Fig. 3 schematisch einen Bewegungsvektoreinschätzer nach einer ersten Ausführungsform der Erfindung,
- Fig. 4 schematisch eine Anordnung des vorangehenden Bildes nach einer Ausführungsform der Erfindung,
- Fig. 5 schematisch eine erfindungsgemäß erfolgte Suchabtastung,
- Fig. 6 eine zweite Ausführungsform der Erfindung,
- Fig. 7 schematisch die Blöcke des augenblicklichen, mit der Ausführungsform der Fig. 6 erzeugten Bildes,
- Fig. 8 schematisch eine arithmetische Einheit zur Berechnung eines Ähnlichkeitsmaßes als Teil der Erfindung und
- Fig. 9 schematisch einen Speicher für das Maß der geringsten Ähnlichkeit, der als Teil der Erfindung geeignet ist.
- Der nachstehend beschriebene Bewegungseinschätzer bezieht sich auf einen "momentanen" Rahmen eines Fernsehbildes, das so codiert ist, daß es in 8 × 8 Blöcke unterteilt ist, d.h. in acht Bildelemente (Pixel) in horizontaler Richtung mal acht Linien in vertikaler Richtung. Wenngleich die Prinzipien auch auf Interlace-Systeme anwendbar sind, wird in der vorliegenden Beschreibung der Einfachheit halber von einem Bild ohne lnterlace ausgegangen. Er ist so ausgelegt, daß er für jeden Block einen Bewegungsvektor erzeugt, der die Position des Blockgröße aufweisenden Bereiches anzeigt, der innerhalb einer festgelegten Suchfläche des (oder eines) vorangehenden Rahmens des Bildes liegt, der dem betreffenden Block am ähnlichsten ist.
- Fig. 2 zeigt ein Feld mit einem m × n = 8 × 8 Block N (schattiert) und einer zugehörigen 22 × 22 (d.h. 8 + 7 × 2) Pixel-Suchfläche, dargestellt durch ein Rechteck SN. Identifiziert man die horizontalen Pixel und die vertikalen Linien durch Koordinaten x, y, wobei sich der Ausgangspunkt in der linken oberen Ecke befindet, so ist für einen Block, dessen Pixel in der linken oberen Ecke die Koordinaten xN, yN aufweist, die Suchfläche diejenige, die sich horizontal von (xN-7) bis (xN+7+7) sowie vertikal von (yN-7) bis (yN+7+7) erstreckt und entsprechende rechteckige m × n Bereiche mit Ausgangskoordinaten von (xN-7, yN-7) bis (xN+7, yN+7) enthält.
- Zum Erhalt des Bewegungsvektors ist eine Suche erforderlich, bei der der Block mit jedem der (8+7)×(8+7) = 225 möglichen 8 × 8 Bereiche des vorangehenden Rahmens innerhalb der Such- fläche verglichen wird - d. h. denjenigen, deren oberes linkes Pixel die Koordinaten xN+u, yN+v aufweist, wobei u im Bereich ±p und v im Bereich ±q liegt. Der Bewegungsvektor nimmt die Werte von u, v an, bei denen der Vergleich die größte Ähnlichkeit ergibt. Als Ähnlichkeitstest kann dabei jeder bekannte angewandt werden, beispielsweise als Summe der absoluten Werte der Differenzen zwischen jedem Pixel in dem "augenblicklichen" Block und dem relevanten Bereich des vorangehenden Rahmens.
- Somit gilt folgendes: Wenn die Pixelwerte des augenblicklichen Rahmens und des vorangehenden Rahmens a(i,j) bzw. b(i,j) sind, so ist die Summe der Differenzen:
- Üblicherweise erfolgt beim Stand der Technik die Suche nach dem jeweiligen Block des augenblicklichen Bildes der Reihe nach. Da jedoch die mit einem Block verbundene Suchfläche mit den Suchflächen einer Anzahl anderer Blöcke überlappen kann (siehe die in Fig. 2 für den Block N+1 gestrichelt gezeigte Suchfläche), sind häufig verschiedene Zugänge zu der in einem Rahmenspeicher gespeicherten Information des vorangehenden Rahmens erforderlich, was zeitaufwendig ist und mit anderen Codierfunktionen interferieren kann.
- Gemäß Fig. 3 wird der Eingangspixelstrom (der in CIF oder einem anderen zeilengescannten Format vorliegt) für den augenblicklichen Rahmen in eine Einrichtung 1 zur Umwandlung des augenblicklichen Bildes eingegeben, die diesen in ein m × n Blockformat (beispielsweise ein 8 × 8 Blockformat) umwandelt und aufeinanderfolgende Blöcke nacheinander in zeilenweisem Format ausgibt. Dies kann in Form eines (mit der Pixelrate arbeitenden) RAM-Puffers erfolgen. Mit dem Ausgang des Umwandlers des augenblicklichen Bildes ist eine Speicheranordnung 2 für das augenblickliche Bild verbunden, die so dimensioniert ist, daß sie einen m × n Block speichert und hält, bis der Suchvorgang für diesen Block abgeschlossen ist.
- Der vorangehende (im allgemeinen unmittelbar vorangehende) Rahmen wird gespeichert und liegt normalerweise in Blockformat vor, nachdem er in diesem Format codiert worden ist; bei einer Form von Codierelnrichtung als (8 × 8) Pixelblökke, die als (2 × 2) Macroblöcke vorgesehen sind (d.h. 16 × 16 Pixel), dergestalt, daß sie 11 × 3 Gruppen von Macroblöcken bilden, oder als GOBS (d.h. 176 × 48 Pixel).
- Zur Einschätzung eines Bewegungsvektors vergleicht die Erfindung jeden Block der augenblicklichen Anordnung mit dem entsprechenden Block der vorangehenden Anordnung sowie mit pixelverschobenen Versionen dieses Blocks. Um solche pixelverschobenen Versionen zu erhalten, ist es daher notwendig, die vorangehenden Bilddaten von dem Blockformat in ein Pixelformat umzuwandeln. Da unter Umständen auch Macroblock- oder GOB-Grenzen überschritten werden müssen, normalerweise dann, wenn solche Formate verwendet werden, ist für die Umwandlung ein 4 GOB-Speicher erforderlich.
- Erfindungsgemäß ist das Pixelformat ein spaltenweise gescanntes Format.
- Für diese Umwandlung ist eine Einrichtung 3 zur Umwandlung des vorangehenden Bildes vorgesehen, die als Eingangswert den vorangehenden Rahmen in einem Format aufeinderfolgender Blöcke erhält und als Ausgangswert einen spaltenweise gescannten Pixel strom erzeugt. Dies kann durch die Verwendung eines Rahmenspeichers erfolgen, der als zylindrischer RAM-- Speicher konfiguriert ist und der GOB- und Blockzahlen in Pixel und versetzte Linien für die Schreibadresse decodiert und die Schreibadresse unter Verwendung von Zählern erzeugt, um eine spaltenweise Abtastung der Tiefe D zu ergeben, wobei D die Tiefe des Such-"Fensters" ist.
- Die Tiefe D ist durch die Größe der Pixelblöcke bestimmt, die in dem augenblicklichen Rahmen und den vorhergehenden Rahmen miteinander verglichen werden, sowie durch die vertikale Höhe, über die der Suchvorgang erfolgt, so daß, wenn n die Blockhöhe und q die untersuchte maximale vertikale Verschiebung ist, D = n + 2q ist. Bei einem 8 × 8 Pixelblock mit n = 8 kann q beispielsweise ±7 sein, so daß bei einer Ausführungsform D = 22 ist.
- Dieser Pixel ausgangsst rom wird als Eingangswert in eine Speicheranordnung 4 des vorangegangenen Bildes eingegeben, der in jedem Moment einen m × n Bereich aufweist, mit dem der Block in der entsprechenden Speicheranordnung 2 für das augenblickliche Bild verglichen werden soll.
- Entsprechende Zellen in der Speicheranordnung 2 für das augenblickliche Bild und der Speicheranordnung 4 für das vorangehende Bild werden zur Bildung von Eingängen zu einer Arithmetikelnheit 5 verbunden, die einen Vergleich durchführt und damit ein Ähnlichkeitsmaß zwischen den Inhalten der beiden Anordnungen erzeugt.
- Die Speicheranordnungen 2 und 4 sowie die Arithmetikeinheit 5 werden in der Folge auch als "Prozessor" P1 bezeichnet.
- Gwmäß Fig. 4 ist eine Anordnung 4 für ein vorangegangenes Bild zweckmäßigerweise als ein einziges, langes FIFO- Register mit m Abschnitten vorgesehen (d.h. 8 für einen 8×8- Block), wobei jeder Abschnitt aus einem FIFO-Abschnitt 6a einer vorbestimmten Länge und einem SIPO-Abschnitt 6 einer Länge n-1 mit n Anschlüssen besteht, und die Abschnitte in Reihe geschaltet sind. Die Länge eines jeden Abschnitts, die Scan- Tiefe, ist D, so daß jeder FIFO-Abschnitt 6a eine Länge D-n+1 aufweist; für eine ±7 Pixelabtastung, und bei 8×8- Blöcken, weisen die FIFO-Abschnitte 6 daher über ihre Länge 15 Stufen auf. Als Pixel werden Daten durch eine Speicheranordnung 4 für das vorangegangene Bild in spaltenweiser Abtastung getaktet, wobei die an jeder Zelle eines jeden SIPO 6b der Anordnung auftretenden Pixel ein m × n Fenster aufweisen, das den entsprechenden Block, der in der Speicheranordnung 2 für das augenblickliche Bild gehalten wird, gemäß Fig. 5 spaltenweise abtastet.
- Dabei muß jeder Block des augenblicklichen Bildes mit ((2p+1) × (2q+1)) verschobenen Positionen verglichen werden, wobei p und q jeweils die maximale horizontale und vertikale Suchverschiebung darstellen. Ist die horizontale Breite p der Suchfläche größer als m/2, so resultiert dies in einem Überlappen der Suchflächen benachbarter Blöcke, so daß, nachdem die Speicheranordnung 4 für das vorangehende Bild alle Suchpositionen für einen Block dargeboten hat, sie die erste Suchposition des nächsten Blocks passiert hat. Beim Stand der Technik wird diesem Problem durch ein wiederholtes Zugreifen auf die Daten des vorangehenden Bildes begegnet. Bei einer Ausführungsform der Erfindung wird dieses Problem dadurch umgangen, daß die Speicheranordnung 2 für das augenblickliche Bild des Prozessors P1 jeden anderen Block des augenblicklichen Bildes (die Blöcke N, N+2, N+4, ...) sperren kann, sowie durch Vorsehen eines zweiten Prozessors P2, der, wenngleich mit dem ersten identisch, zeitlich so festgelegt ist, daß seine Speicheranordnung 2 für das augenblickliche Bild die intervenierenden Blöcke (N+1, N+3, N+5, ...) sperrt (alternativ wäre es möglich, die beiden Prozessoren zu kombinieren, um 16 × 8 Blöcke des augenblicklichen Bildes zu vergleichen, in welchem Fall die Anordnung des vorangehenden Bildes einfach aus zwei in Reihe geschalteten Speicheranordnungen 2 bestünde). Dabei sind zwei Prozessoren für Suchen mit p < m ausreichend.
- In den Figuren 4 und 5 ist die Funktionsweise der Anordnung 4 des vorangehenden Bildes beschrieben. Das erste Pixel, das von der Umwandlungseinrichtung 3 des vorangehenden Bildes in die Eingabeanordnung 4 des vorangehenden Bildes einzugeben ist, ist das Pixel bei Punkt A. Zu dem Zeitpunkt, zu dem das Pixel bei Punkt B eingegeben wird, ist Spalte C7 der Eingabeanordnung 4 des vorangehenden Bildes aufgefüllt. Sobald Punkt C erreicht ist, werden die Spalten C1 bis C7 der Eingabeanordnung des vorangehenden Bildes bereits aufgefüllt. In der Zeitspanne zwischen Punkt A und Punkt C wird die Eingabeanordnung 2 des augenblicklichen Bildes mit Pixeln des augenblicklichen Bildes des zu verarbeitenden Blocks N gefüllt.
- Ist Punkt D erreicht, so werden die Spalten C0 bis C7 der Eingabeanordnung 4 des vorangehenden Bildes gefüllt, und die Ausgangsanschlüsse der SIPOs 6b enthalten die Pixel für die erste gültige Suchposition (-7, -7) des Blocks N.
- Anschließende Pixel, die von Punkt D bis Punkt E eingegeben werden, entsprechen Suchpositionen (-7,-6), (-7,-5)... (-7,+7). Pixel vom Punkt F bis zum Punkt G enthalten keine gültigen Angaben für Suchpositionen. Pixel vom Punkt H bis zum Punkt J entsprechen den Suchpositionen (-6,-7), (-6,-6)... (-6,+7), und der ganze Vorgang setzt sich fort bis zu Punkt K, wo alle Suchpositionen für den Block N abgedeckt sind, d.h. ±7, ±7). Positionen zwischen K und L enthalten keine gültigen Suchangaben für eine ±7-Suche.
- Die Pixel des vorangehenden Bildes werden weiter in die Prozessor-Eingabeanordnung 4 für das vorangehende Bild eingegeben, wenn bei Punkt L die erste Suchposition für den Block N+2 erreicht ist; an diesem Punkt wird der Block N+2 in die Speicheranordnung 2 für das augenblickliche Bild geladen.
- Nachdem der Anordnungsblock des augenblicklichen Bildes nur für 2 × 8 × 8 Pixeltaktperioden gehalten bzw. gesperrt ist, ist es bei dieser Ausführungsform (notfalls) erforderlich, daß der Prozessor pro Pixeltaktperiode 2 Vergleiche durchführt und daß somit die Speicheranordnung 4 für das vorangehende Bild und die Umwandlungseinrichtung 3 für das vorangehende Bild Pixeldaten mit einem Zweifachen der augenblicklichen Pixel eingaberate durchtakten, wenn auch normalerweise einige zusätzliche (Blockzusatz-) Taktperioden für den Block zur Verfügung stehen.
- Bei umfangreicheren Suchvorgängen beträgt die Anzahl der für diese Ausführungsform benötigten Prozessoren 2p/m, so daß bei einer ±15-Suche nach 8 × 8 Blöcken vier Prozessoren P1-P4 erforderlich sind, die jeweils zeitlich so festgelegt sind, daß sie jeden vierten Block der Reihe sperren.
- Überschreitet der vertikale Suchabstand q den Wert n/2, so überlappen die Suchflächen aufeinanderfolgender Blockreihen einander analog, so daß auf vorangehende Rahmendaten (mindestens) zweimal zugegriffen werden muß und diese (mindestens) zweimal durch jeden Prozessor hindurchlaufen müssen.
- Um dies gemäß den Figuren 6 und 7 zu vermeiden, werden bei einer zweiten Ausführungsform der Erfindung zwei Blockreihen dadurch gleichzeitig verarbeitet, daß man die Anzahl der Prozessoren verdoppelt, indem man zwei weitere Prozessoren P3 und P4 gemäß Fig. 6 vorsieht. In diesem Fall ist der erste FIFO-Abschnitt 6a der Prozessoren P4 und P2 jedoch n (beispielsweise 8) Anschlüsse kürzer als die anderen solchen FIFO-Abschnitte, so daß gemäß Fig. 7 die Pixelblöcke innerhalb der SIPO-Abschnitte von P4 und P2 in jedem gegebenen Moment jene in der Reihe unter den Blöcken innerhalb der SIPO-Abschnitte von P1 und P3 sind. In dem Fall, in dem zwei Blockreihen zusammen verarbeitet werden, beträgt die erforderliche Abtasttiefe D (2p + 2m), nachdem das Suchfenster über zwei augenblickliche Blöcke hinweg gescannt wird, so daß die Länge der FIFO- und SIPO-Abschnitte bei einer ±15- Suche von zwei Reihen zu 8 × 8 Blöcken 2q + 2n = 46 beträgt und die Länge des FIFO 2q + n = 38 ist. Analog sind die Speicheranordnungen 2 für das augenblickliche Bild von P1 und P3 so vorgesehen (beispielsweise in Form einer 8-Linien- Verzögerung), daß sie Blöcke aus der Reihe über denen erhalten, die von den Prozessoren P2 und P4 erhalten wurden.
- Aus Vorstehendem ist ersichtlich, daß diese Ausführungsform funktionell äquivalent zur Durchführung eines Vergleichs an 2n × 2m (d.h. 16 × 16) Blöcken ist, so daß es geeignet erscheint, die Ähnl ichkei tsmaße aus den 4 Prozessoren zu kumulieren, um einen 16 × 16 Blockausgangswert zu erhalten, beispielsweise durch eine zusätzliche Eingabe in jede arithmetische Einheit, die mit dem Ausgang einer weiteren solchen Einheit gemäß Fig. 6 verbunden ist und den Ausgangswert der 4 Blöcke aus dem letzten Prozessor P1 übernimmt.
- Dadurch wird eine Auswahl unterschiedlicher Blockformate und somit die Schaffung einer integrierten Bewegungsvektorschaltung für verschiedene Zwecke ermöglicht.
- Bei Verwendung dieser zweiten Ausführungsform ist für eine p = m/2 (±7) Suche nur ein einmaliges Hindurchlaufen der Daten des vorangehenden Bildes durch die Prozessoren erforderlich, und die Prozessoren konnen bei Pixeltaktrate (üblicherweise 6,75 MHz) arbeiten.
- Bei beiden Ausführungsformen sind größere Suchflächen möglich, wenn mehr Prozessoren verwendet werden. Beispielsweise erfordert eine Suche von bis zu ±15 Pixeln das Doppelte an Prozessoren.
- Die bevorzugte Ausführungsform der Erfindung verwendet FIFO-Abschnitte einer steuerbar veränderlichen Länge, so daß die Scan-Tiefe D veränderbar ist (bis zu einer maximalen Länge). Besonders bevorzugt sind FIFO-Abschnitte, die in der Länge über bis zu 2q + n Stufen schaltbar sind. Es ist daher mögl ich, einen bestimmten Prozessor dadurch für eine ±7-Suche oder eine ±15-Suche zu konfigurieren, daß man die FIFO-Länge variiert.
- Bei der ersten Ausführungsform ist das weitere Prozessorpaar P3, P4 mit P1, P2 identisch; jede Speicheranordnung für das augenblickliche Bild ist so ausgelegt, daß sie jeden vierten Datenblock eines augenblicklichen Bildes hält, und der FIFO- Abschnitt jeder Anordnung eines vorangehenden Bildes ist 15 Zellen lang.
- Bei der zweiten Ausführungsform, für eine ±15-Suche, sind acht Prozessoren P1-P8 erforderlich. Die FIFO-Abschnitte der Anordnungen der vorangehenden Bildes haben eine Länge von 38 Zellen, mit Ausnahme der ersten Abschnitte von P2, P4, P6 und P8, die acht Zellen kürzer sind. Diese sind hintereinandergeschaltet in der Reihenfolge P8, P7, P6,... P1. Die Speicheranordnungen P2, P4, P6 und P8 für das augenblickliche Bild sind so angeschlossen, daß sie jeden vierten Block einer Reihe halten, und P1, P3, P5 und P7 sind so verbunden (beispielsweise über eine 8-Linien-Verzögerung), daß sie jeden vierten Block der darunterliegenden Reihe sperren.
- Analog konnen größere horizontale Suchflächen dadurch realisiert werden, daß man weitere Prozessoren verwendet (und größere vertikale Flächen dadurch, daß man sowohl die FIFO- Länge als auch die Zahl der Prozessoren heraufsetzt). Vorzugsweise sind alle identisch, um die VLSI-Herstellung zu erleichtern. Dabei können jedoch einige der Elemente im Innern der Prozessoren (beispielsweise die Anordnung 4 des vorangehenden Bildes) ggfs. für zwei oder mehr Prozessoren gemeinsam vorgesehen sein.
- Das von der arithmetischen Einheit errechnete Ähnlichkeitsmaß ist geeigneterweise die Summe der Absolutdifferenzen (SOAD) zwischen Pixeln der Anordnungen des vorangehenden und des augenblicklichen Bildes, wie in der früher veröffentlichten europäischen Anmeldung No. 309251 der Anmelderin (vorliegend zu Verwei szwecken genannt) offenbart. Ein Schema der Hardware, wie sie sich für die VLSI-Realisierug dieser Funktion eignet, ist in Fig. 8 gezeigt, in der eine Anordnung von m × n Subtraktoren jeweils mit einer Zelle der Bildanordnung 4 sowie der Anordnung 2 des augenblicklichen Bildes verbunden ist und die Absolut- oder Modusdifferenz zwischen den Zellinhalten bildet. Anschließend akkumulieren aufeinanderfolgende kaskadenartige Binäraddierer a1-a6 alle m x n Differenzen zur Bildung von E, der Summe der Absolutdifferenzen für den Block.
- Da in Fig. 9 die Blöcke nacheinander verarbeitet werden, konnen die Vektoren auch nacheinander ausgegeben werden, und es ist keine Speicherung von Zwischenergebnissen erforderlich. Jedoch ist jedem Prozessor ein Speicher 7a für den niedrigsten errechneten SOAD-Wert sowie eine Vergl eichseinrichtung 7b zugeordnet, um jeden neuen berechneten SOAD-Wert mit dem gespeicherten Wert zu vergleichen und, wenn der neue Wert niedriger ist, den Speicher fortzuschreiben. Ebenfalls vorgesehen ist ein entsprechender Speicher 8 für die u- und v-Werte, die die Suchposition definieren, bei der dieser Mindest-SOAD-Wert aufgetreten ist und fortgeschrieben wird. Ist die Suche nach einem bestimmten Block abgeschlossen, so bilden diese gespeicherten u- und v-Werte den Ausgangsbewegungsvek tor.
- Vorzugsweise wird auch die Null-Verschiebung SOAD (d.h. u,v = 0) gespeichert.
- Gegebenenfalls ist der Null-Vektor mit einer Vorspannung zu versehen, d.h. ein Vektor, der nicht Null ist, wird nurausgegeben, wenn ein Bereich u,v eine Summe von Differenzen E(u,v) ergibt, die um einen vorbestimmten Betrag kleiner ist als der Wert E (0,0) für den nicht verschobenen Bereich des vorangehenden Rahmens, d.h. unter 75 % von E (0,0) beträgt. Dies kann mit Hilfe einer Skalierungseinheit geschehen, die die von dem Prozessor P1 erhaltenen Werte normalerweise unverändert weitergibt, dabei jedoch für die Position (0,0) den Wert auf 75 % des Eingangswertes reduziert.
- Normalerweise ist eine Steuerlogik 9 erforderlich, um den Prozessor nach jeder Blockreihe rückzusetzen, die Suchtiefe zu wählen und die Anordnung 2 des vorangehenden Bildes zu halten bzw. fortzuschreiben, und auch, weil, abhängig vom Suchumfang, es einige Positionen geben kann, durch die die Anordnung 4 des vorangehenden Bildes hindurchgeht und die zwischen die Suchbereiche aufeinanderfolgender Blöcke fallen und keine gültige Suchbedingungen ergeben. Die Steuerlogik "maskiert" diese, um den Prozessor an einem Versuch zu hindem, sie mit dem augenblicklichen Block zu vergleichen.
- Ein Vorteil der vorliegenden Erfindung ist der, daß bei der zweiten Ausführungsform der Erfindung eine geeignete Anzahl zusätzlicher Taktzyklen vorgesehen sein kann.
- Beispielsweise stehen in einem Codierer, der 8 × 8 Blöcke verwendet, die in 2 × 2 Makroblöcken angeordnet sind, üblicherweise 512 Zyklen pro Makroblock zur Verfigung. Für eine ±15-Suche einer Blockreihe bei Verwendung der zweiten Ausführungsform sind 17572 der verfügbaren 22528 Zyklen erforderlich, so daß pro Reihe oder Zeile 4956 Zyklen frei bleiben.
- Bei einem Farbvideosignal ist diese Zeit ausreichend, um auch die Chrominanzblöcke U und V entsprechend einem gegebenen Luminanzblock zu verarbeiten, entweder, weil solche Daten normalerweise in Einzelpositionen unterteilt werden oder weil bei Verwendung eines kleineren (+7) Suchfensters nur 4180 Zyklen erforderlich sind.
- Selbstverständlich könnte bei Beschleunigung der Taktrate der Prozessoren gegenüber der eingegebenen Pixel rate ein noch höheres Verarbeitungsvolumen Verwendung finden.
- Der Vorteil, eine Bewegungsabschätzung sowohl an Luminanzals auch an Chrominanzblöcken vornehmen zu können, ist der, daß der Anordnungsprozessor modifiziert werden kann, um sowohl den verschobenen Bereich (u,v) des vorangehenden Bildes als auch den Verschiebungsvektor, oder gar den Vorhersage- Fehlerblock, zu liefern, der dadurch erhalten wird, daß man den augenblicklichen Block von dem verschobenen Block subtrahiert. Dabei wäre die Höhe der vertikalen Spalten bei der Eingabeanordnung des vorangehenden Bildes heraufzusetzen, um für die Verzögerung in der arithmetischen Einheit und in der Bewegungsvektor-Erzeugungseinrichtung zu kompensieren. Es ergäbe sich dann eine weitere Blockregisteranordnung, deren Eingangswert vorzugsweise der von der Eingabeanordnung des vorangehenden Bildes verschobene Bereich wäre (jedoch auch der Fehlerblock sein könnte, wenn der Prozessor geeignete Subtraktionseinrichtungen enthielte) und die von der Bewegungsvektor-Erzeugungseinrichtung fortgeschrieben würde.
- Dadurch entfällt die Notwendigkeit einer getrennten, außerhalb der Chips vorgesehenen Umwandlungseinrichtung, um den verschobenen Block für die Vorhersageeinrichtung auszugeben.
- Die vorstehende Beschreibung hat dabei Probleme ignoriert, die auftreten können, wenn sich der betreffende Block zwischen Linien oder Pixeln der Bildkante befindet, d.h. wenn bestimmte durch x, y, u, v definierte Bereiche mit den Linien- und Feldaustastperioden überlappen. Dem kann ohne weiteres dadurch begegnet werden, daß man diese Bereiche außer Acht läßt. Ein Grenzbereichsdetektor (Teil der Steuerungslogik 9) stellt dabei sicher, daß Suchbereiche, die nicht Voll in den vorangehenden Rahmen fallen, dadurch ignoriert werden, daß man sie (wie vorstehend erläutert) maskiert, so daß die Mindest-SOAD für diese Bereiche nicht fortgeschrieben wird.
- Wenngleich die vorstehend beschriebene Erfindung auf der Basis von in einer Reihe angeordneten aufeinanderfolgenden Blöcken unter spaltenweiser Abtastung durch Vorsehen unterschiedlicher Umwandlungseinrichtungen 1 und 3 augenblicklicher und vorangehender Bilder arbeitet, wäre es auch möglich, mit Blöcken abwärts in Spaltenrichtung unter zeilenweiser Abtastung zu arbeiten. Dies würde jedoch die Codierzeit erhöhen und wäre somit unerwünscht.
Claims (12)
1. Bewegungsdetektor für ein Videosignal, mit:
- einer Empfangs- und Speichereinrichtung (1, 2: 3, 4)
zum Empfangen und zeitweisen Speichern von Signalen,
die einen linienweise gescannten Rahmen eines Bildes
darstellen, sowie von Signalen, die einen anderen
solchen Rahmen des Bildes darstellen, wobei die
Empfangs- und Speichereinrichtung aufweist
(i) eine erste Bildspeichereinrichtung (2), die einen
Bildelementblock des einen Rahmens gleichzeitig
zugänglich macht, wobei aufeinanderfolgende Blöcke
innerhalb einer Folge solcher Blöcke nicht
überlappenden Blöcken (N, N + 1, ...) in
Linienrichtung des Bildes entsprechen; und
(ii) eine zweite Bildspeichereinrichtung (4), um eine
Gruppe von Bildelementen gleichzeitig zugänglich
zu machen, die einem Bereich des anderen Rahmens
mit der gleichen Größe wie der Block sowie
mehreren bezüglich ihrer Position verschobenen
Bereichen des anderen Rahmens innerhalb einer
festgelegten Suchfläche entsprechen; und
- einer Vergleichseinrichtung (5, 7, 8, 9) zum
Vergleichen jedes der Blöcke, in die der eine Rahmen
unterteilt ist, mit dem entsprechenden Bereich im anderen
Rahmen und mit den bezüglich ihrer Position
verschobenen Bereichen des anderen Rahmens innerhalb der
Suchfläche, um eine Vektorinformation zu erzeugen,
die die gegebenenfalls vorhandene
Positionsverschiebung zwischen der Position des Blocks und der
Position desjenigen Bereichs des anderen Rahmens innerhalb
der Suchfläche anzeigt, der ein Ähnlichkeitskriterium
zwischen Block und den Bereichen erfüllt,
dadurch gekennzeichnet, daß die Bildelemente in der
Suchfläche des anderen Rahmens bei ihrer Verwendung der
zweiten Bildspeichereinrichtung (4) in spaltenweiser
Abtastung dargeboten werden, und die zweite
Bildspeichereinrichtung dazu ausgelegt ist, die
Bildelementgruppen aufeinanderfolgend verfügbar zu machen, wobei
aufeinanderfolgende Gruppen innerhalb einer Folge
solcher Gruppen Bereichen entsprechen, die innerhalb der
Suchfläche zunehmend abwärts in Spaltenrichtung
verschoben sind, und wobei aufeinanderfolgende Folgen
Bereichen entsprechen, die innerhalb der Suchfläche
zunehmend längs der Linien des Bildes verschoben sind.
2. Detektor nach Anspruch 1, bei dem die zweite
Bildspeichereinrichtung ein FIFO-Feld (Fig. 4) aufweist mit m
Abschnitten (6a, 6b), wobei m die Breite eines Blocks
in Linienrichtung ist, wobei jeder Abschnitt eine SIPO-
Stufe (6b) mit n Anschlüssen aufweist, wobei n die
Tiefe eines Blocks in Spaltenrichtung solcher Linien ist,
wobei die SIPO-Stufen (6b) durch FIFO-Stufen (Ea)
getrennt sind, und wobei die Länge jeder FIFO-Stufe (6a,
6b) D die Größe der Suchfläche in Spaltenrichtung ist.
3. Detektor nach Anspruch 2, bei dem die Länge der FIFO-
Stufen (6a) 2q + 1 beträgt, wobei ± q die maximale
vertikale Positionsverschiebung des am weitesten
verschobenen Bereichs des anderen Rahmens ist, mit dem jeder
Block zu vergleichen ist.
4. Detektor nach Anspruch 2 zum parallelen Verarbeiten der
vertikal benachbarten Blöcke mehrerer A horizontaler
Zeilen, bei dem (wenn ± q die maximale vertikale
Positionsverschiebung des am weitesten verschobenen
Bereichs des anderen Rahmens ist, mit dem jeder Block zu
vergleichen ist):
- A arithmetische Einrichtungen (Fig. 8) vorgesehen
sind;
- jede mit einer ersten Verzögerungs und
Speicherungseinrichtung (6a, 6b) so verbunden ist, daß jede
Blökke unterschiedlicher Zeilen des einen Rahmens
verarbeitet;
- jede mit einer zweiten Verzögerungseinrichtung (6a,
6b) verbunden ist, die eine FIFO-Stufe (6a) einer
solchen Länge aufweist, daß die Bereiche des anderen
Rahmens, die die arithmetischen Einrichtungen (Fig.
8) zu einer gegebenen Zeit vergleichen, gegeneinander
vertikal um n Zeilen verschoben sind; und
- die Längen der anderen FIFO-Stufen (6a) der zweiten
Verzögerungseinrichtungen (6a, 6b) 2q + (A-1)n sind.
5. Detektor nach Anspruch 2, in dem außerdem eine zweite
Verzögerungseinrichtung (6a, 6b) vorgesehen ist, um
weitere Folgen verfügbar zu machen, die Bereichen oder
Blöcken entsprechen, die bezüglich der zuerst erwähnten
Folge um aufeinanderfolgende Vielfache von n Linien
verschoben sind, so daß sie Bereichen für Blöcke
entsprechen, die vertikal neben der ersten Folge liegen,
wobei die Vergleichseinrichtung eine zusätzliche
arithmetische Einrichtung zum Verarbeiten der zusätzlichen
Folge(n) aufweist.
6. Detektor nach einem der Ansprüche 2 bis 5, bei dem die
Länge der FIFO-Stufen (6a) steuerbar veränderlich ist.
7. Detektor nach einem der Ansprüche 1 bis 5, bei dem die
gewünschte Größe der Suchfläche in Linienrichtung
größer ist als die halbe Größe eines Blocks in dieser
Richtung, wobei die Verzögerungs und
Speichereinrichtung (6a, 6b) außerdem dazu ausgelegt ist, mehrere B
verschiedene Folgen zu formen, die Gruppen von
Bildelementen enthalten, die jedem B-ten Block in
Linienrichtung entsprechen, wobei B die kleinste ganze Zahl
größer als 2p/m ist, und wobei die Vergleichseinrichtung
(Fig. 8) mehrere B Anordnungen zum Formen der Summen
für die jeweiligen Folgen aufweist.
8. Detektor nach einem der vorherigen Ansprüche, mit einer
Speichereinrichtung (8), um fur einen Block entweder
den Bereich des anderen Rahmens, zu dem er am
ähnlichsten ist, oder den Blockvorhersagefehler zwischen dem
Block und dem Bereich zu speichern und auszugeben.
9. Detektor nach Anspruch 8, der dazu ausgelegt ist,
Luminanz- und Chrominanzblöcke eines Farbbildsignals zu
empfangen und zu verarbeiten.
10. Detektor nach einem der vorherigen Ansprüche, bei dem
das Kriterium durch einen Bereich erfüllt wird, für den
ein Vergleichswert, der im Falle eines unverschobenen
Bereichs gleich einem vorbestimmten Anteil der Summe
und für die anderen Bereiche gleich der Summe ist,
niedriger als der Vergleichswert für alle anderen mit
dem Block verglichenen Bereiche ist.
11. Detektor mit mehreren Prozessoren, von denen jeder eine
erste Bildspeichereinrichtung, eine zweite
Bildspeichereinrichtung und eine Vergleichseinrichtung jeweils
nach Anspruch 1 aufweist, bei dem
die erste und die zweite Bildspeichereinrichtung
einiger der Prozessoren so konfigurierbar sind, daß Blöcke
in vertikal benachbarten Zeilen gleichzeitig
verarbeitet werden, und wobei die Vergleichseinrichtung der
Prozessoren verbindbar sind und eine Einrichtung
vorgesehen ist zum Bilden der Summe der Summen der
Differenzfunktion für jeden Prozessor, wodurch der
Bewegungsdetektor zum Vergleichen zusammengesetzter Blöcke
bestehend aus mehreren benachbarten Blöcken
konfiguriert werden kann.
12. Bewegungsdetektor für ein Videosignal, mit:
- einer Empfangs- und Speichereinrichtung (1, 2: 3, 4)
zum Empfangen und zeitweisen Speichern von Signalen,
die einen Rahmen eines Bildes darstellen, sowie von
Signalen, die einen anderen solchen Rahmen des Bildes
darstellen, wobei die Empfangs- und
Speichereinrichtung aufweist
(i) eine erste Bildspeichereinrichtung (2), die einen
Bildelementblock des einen Rahmens gleichzeitig
zugänglich macht, wobei aufeinanderfolgende Blöcke
innerhalb einer Folge solcher Blöcke nicht
überlappenden Blöcken (N, N + 1, ...) in
Spaltenrichtung des Bildes entsprechen; und
(ii) eine zweite Bildspeichereinrichtung (4), um eine
Gruppe von Bildelementen gleichzeitig zugänglich
zu machen, die einem Bereich des anderen Rahmens
mit der gleichen Größe wie der Block sowie
mehreren bezüglich ihrer Position verschobenen
Bereichen des anderen Rahmens innerhalb einer
festgelegten Suchfläche entsprechen; und
- einer Vergleichseinrichtung (5, 7, 8, 9) zum
Vergleichen jedes der Blöcke, in die der eine Rahmen
unterteilt ist, mit dem entsprechenden Bereich im anderen
Rahmen und mit den bezüglich ihrer Position
verschobenen Bereichen des anderen Rahmens innerhalb der
Suchfläche, um eine Vektorinformation zu erzeugen,
die die gegebenenfalls vorhandene
Positionsverschiebung zwischen der Position des Blocks und der
Position desjenigen Bereichs des anderen Rahmens innerhalb
der Suchfläche anzeigt, der ein Ähnlichkeitskriterium
zwischen Block und den Bereichen erfüllt,
dadurch gekennzeichnet, daß die Bildelemente in der
Suchfläche des anderen Rahmens bei ihrer Verwendung der
zweiten Bildspeichereinrichtung (4) in zeilenweiser
Abtastung dargeboten werden, und die zweite
Bildspeichereinrichtung dazu ausgelegt ist, die
Bildelementgruppen aufeinanderfolgend verfügbar zu machen, wobei
aufeinanderfolgende Gruppen innerhalb einer Folge
solcher Gruppen Bereichen entsprechen, die innerhalb der
Suchfläche zunehmend in Richtung der Linien des Bildes
verschoben sind, und wobei aufeinanderfolgende Folgen
Bereichen entsprechen, die innerhalb der Suchfläche
zunehmend abwärts in Spaltenrichtung verschoben sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB898909498A GB8909498D0 (en) | 1989-04-26 | 1989-04-26 | Motion estimator |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69032437D1 DE69032437D1 (de) | 1998-07-30 |
DE69032437T2 true DE69032437T2 (de) | 1998-12-10 |
Family
ID=10655732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69032437T Expired - Fee Related DE69032437T2 (de) | 1989-04-26 | 1990-04-18 | Bewegungseinschätzer |
Country Status (15)
Country | Link |
---|---|
US (1) | US5206723A (de) |
EP (1) | EP0395293B1 (de) |
JP (1) | JP2839950B2 (de) |
KR (1) | KR100203913B1 (de) |
AT (1) | ATE167773T1 (de) |
AU (1) | AU626120B2 (de) |
CA (1) | CA2053241C (de) |
DD (1) | DD293933A5 (de) |
DE (1) | DE69032437T2 (de) |
DK (1) | DK0395293T3 (de) |
ES (1) | ES2118713T3 (de) |
GB (1) | GB8909498D0 (de) |
HK (1) | HK1014434A1 (de) |
SG (1) | SG43206A1 (de) |
WO (1) | WO1990013205A1 (de) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
JP2569219B2 (ja) * | 1990-01-31 | 1997-01-08 | 富士通株式会社 | 動画像予測方式 |
JP3004697B2 (ja) * | 1990-08-27 | 2000-01-31 | 沖電気工業株式会社 | 動きベクトル検出回路 |
JPH04207788A (ja) * | 1990-11-30 | 1992-07-29 | Sony Corp | 画像信号符号化装置及び方法 |
US5138447A (en) * | 1991-02-11 | 1992-08-11 | General Instrument Corporation | Method and apparatus for communicating compressed digital video signals using multiple processors |
EP0520765B1 (de) * | 1991-06-25 | 1999-05-12 | Canon Kabushiki Kaisha | Verfahren und Vorrichtung zur Detektion eines Bewegungsvektors sowie Kodierungsverfahren und Vorrichtung zur Anwendung eines solchen Verfahrens und Vorrichtung |
US5594813A (en) * | 1992-02-19 | 1997-01-14 | Integrated Information Technology, Inc. | Programmable architecture and methods for motion estimation |
US5430886A (en) * | 1992-06-15 | 1995-07-04 | Furtek; Frederick C. | Method and apparatus for motion estimation |
DE4322343C2 (de) * | 1992-07-06 | 1996-10-02 | Mitsubishi Electric Corp | Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors |
KR0160618B1 (ko) * | 1992-10-27 | 1999-01-15 | 윤종용 | 실시간 움직임 추정장치 및 그 방법 |
US5485214A (en) * | 1993-02-25 | 1996-01-16 | Industrial Technology Research Institute | Dual bus dual bank architecture for motion compensation |
CA2091538A1 (en) * | 1993-03-11 | 1994-09-12 | Jan Fandrianto | Programmable architecture and methods for motion estimation |
JP3163837B2 (ja) * | 1993-04-16 | 2001-05-08 | ソニー株式会社 | ディジタルビデオ信号の符号化装置 |
KR950014343B1 (ko) * | 1993-05-20 | 1995-11-24 | 한국방송공사 | 고화질 티브(hdtv)의 화상데이타 움직임 추정방법 및 그 장치 |
US5793428A (en) * | 1993-06-16 | 1998-08-11 | Intel Corporation | Self-encoded deltas for digital video data transmission |
US5477272A (en) * | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
KR960704442A (ko) * | 1993-07-30 | 1996-08-31 | 배리 조지 윌리암 로이드 | 영상데이타 처리방법 및 그 장치(processing image data) |
WO1995004433A1 (en) * | 1993-07-30 | 1995-02-09 | British Telecommunications Public Limited Company | Processing image data |
US5396284A (en) * | 1993-08-20 | 1995-03-07 | Burle Technologies, Inc. | Motion detection system |
US5495292A (en) * | 1993-09-03 | 1996-02-27 | Gte Laboratories Incorporated | Inter-frame wavelet transform coder for color video compression |
JP3453145B2 (ja) * | 1993-09-30 | 2003-10-06 | シーメンス アクチエンゲゼルシヤフト | 画素ブロックの比較のためのプロセッサ(ブロックマッチングプロセッサ) |
US5929913A (en) * | 1993-10-28 | 1999-07-27 | Matsushita Electrical Industrial Co., Ltd | Motion vector detector and video coder |
DE4344924A1 (de) * | 1993-12-30 | 1995-08-10 | Thomson Brandt Gmbh | Verfahren und Vorrichtung zur Bewegungsschätzung |
FR2719398B1 (fr) * | 1994-04-27 | 1996-07-19 | Sgs Thomson Microelectronics | Dispositif et procédé d'adressage d'une mémoire cache d'un circuit de compression d'images mobiles. |
US5734874A (en) * | 1994-04-29 | 1998-03-31 | Sun Microsystems, Inc. | Central processing unit with integrated graphics functions |
US5563813A (en) * | 1994-06-01 | 1996-10-08 | Industrial Technology Research Institute | Area/time-efficient motion estimation micro core |
KR100349883B1 (ko) * | 1994-07-27 | 2002-12-16 | 소니 가부시끼 가이샤 | 동작벡터검출및화상신호부호화방법및장치 |
FR2723796B1 (fr) * | 1994-08-19 | 1996-11-29 | Thomson Consumer Electronics | Dispositif d'estimation de mouvement |
US5668609A (en) * | 1994-09-08 | 1997-09-16 | Tektronix, Inc. | Motion detector and key signal interpolator using same |
US5627601A (en) * | 1994-11-30 | 1997-05-06 | National Semiconductor Corporation | Motion estimation with bit rate criterion |
US5644361A (en) * | 1994-11-30 | 1997-07-01 | National Semiconductor Corporation | Subsampled frame storage technique for reduced memory size |
GB2301971B (en) * | 1995-06-06 | 1999-10-06 | Sony Uk Ltd | Video compression |
US5825929A (en) * | 1995-10-05 | 1998-10-20 | Microsoft Corporation | Transformation block optimization method |
SE9504581L (sv) * | 1995-12-21 | 1997-04-21 | Siemens Elema Ab | Apparatpanel |
US5799113A (en) * | 1996-01-19 | 1998-08-25 | Microsoft Corporation | Method for expanding contracted video images |
US5787203A (en) * | 1996-01-19 | 1998-07-28 | Microsoft Corporation | Method and system for filtering compressed video images |
US5764814A (en) * | 1996-03-22 | 1998-06-09 | Microsoft Corporation | Representation and encoding of general arbitrary shapes |
US5982438A (en) * | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
US5778098A (en) * | 1996-03-22 | 1998-07-07 | Microsoft Corporation | Sprite coding |
KR100202565B1 (ko) * | 1996-03-23 | 1999-06-15 | 구자홍 | 복합영상신호의 3차원 휘도/색신호 분리 장치 |
JPH1091795A (ja) * | 1996-09-12 | 1998-04-10 | Toshiba Corp | 移動物体検出装置及び移動物体検出方法 |
US6075875A (en) * | 1996-09-30 | 2000-06-13 | Microsoft Corporation | Segmentation of image features using hierarchical analysis of multi-valued image data and weighted averaging of segmentation results |
US5748789A (en) * | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
US5784108A (en) * | 1996-12-03 | 1998-07-21 | Zapex Technologies (Israel) Ltd. | Apparatus for and method of reducing the memory bandwidth requirements of a systolic array |
US5984514A (en) * | 1996-12-20 | 1999-11-16 | Analog Devices, Inc. | Method and apparatus for using minimal and optimal amount of SRAM delay line storage in the calculation of an X Y separable mallat wavelet transform |
US5838377A (en) * | 1996-12-20 | 1998-11-17 | Analog Devices, Inc. | Video compressed circuit using recursive wavelet filtering |
ES2138545B1 (es) * | 1997-11-04 | 2000-08-16 | Univ Castilla La Mancha | Sistema de computacion para la realizacion de acumulacion espacio-temporal de activacion en señales digitales. |
US6400831B2 (en) | 1998-04-02 | 2002-06-04 | Microsoft Corporation | Semantic video object segmentation and tracking |
KR100457065B1 (ko) * | 1998-12-29 | 2005-05-19 | 주식회사 대우일렉트로닉스 | 비디오신호의움직임벡터생성장치 |
US20030103567A1 (en) * | 2001-12-03 | 2003-06-05 | Riemens Abraham Karel | Motion compensation and/or estimation |
EP1370086B1 (de) | 2002-06-07 | 2006-10-11 | STMicroelectronics S.r.l. | Programmierbares Bewegungsvektoren-Generationssystem |
FR2906054B1 (fr) * | 2006-09-19 | 2009-02-27 | Thales Sa | Procede d'enregistrement d'un flux de donnees graphiques notamment pour des apllications informatiques |
WO2019000443A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5752281A (en) * | 1980-09-12 | 1982-03-27 | Nec Corp | Forecast encoding device of picture signal |
JPS6360960B2 (de) * | 1980-10-22 | 1988-11-25 | ||
FR2597283B1 (fr) * | 1986-04-15 | 1988-06-10 | Labo Electronique Physique | Dispositif de traitement d'images pour l'estimation du deplacement d'objets situes dans celles-ci |
JPS63244985A (ja) * | 1987-03-30 | 1988-10-12 | Mitsubishi Electric Corp | 動き補償フレ−ム間符号化装置 |
GB8722612D0 (en) * | 1987-09-25 | 1987-11-04 | British Telecomm | Motion estimator |
DE3811535A1 (de) * | 1988-04-06 | 1989-10-19 | Philips Patentverwaltung | Hybrid-codierer fuer videosignale |
-
1989
- 1989-04-26 GB GB898909498A patent/GB8909498D0/en active Pending
-
1990
- 1990-04-18 KR KR1019910701472A patent/KR100203913B1/ko not_active IP Right Cessation
- 1990-04-18 DK DK90304166T patent/DK0395293T3/da active
- 1990-04-18 DE DE69032437T patent/DE69032437T2/de not_active Expired - Fee Related
- 1990-04-18 CA CA002053241A patent/CA2053241C/en not_active Expired - Lifetime
- 1990-04-18 AT AT90304166T patent/ATE167773T1/de active
- 1990-04-18 JP JP2506027A patent/JP2839950B2/ja not_active Expired - Fee Related
- 1990-04-18 EP EP90304166A patent/EP0395293B1/de not_active Expired - Lifetime
- 1990-04-18 AU AU54223/90A patent/AU626120B2/en not_active Ceased
- 1990-04-18 SG SG1996005514A patent/SG43206A1/en unknown
- 1990-04-18 WO PCT/GB1990/000581 patent/WO1990013205A1/en active Application Filing
- 1990-04-18 US US07/778,802 patent/US5206723A/en not_active Expired - Lifetime
- 1990-04-18 ES ES90304166T patent/ES2118713T3/es not_active Expired - Lifetime
- 1990-04-25 DD DD90340098A patent/DD293933A5/de not_active IP Right Cessation
-
1998
- 1998-12-24 HK HK98115735A patent/HK1014434A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100203913B1 (ko) | 1999-06-15 |
JPH04506889A (ja) | 1992-11-26 |
DK0395293T3 (da) | 1999-04-06 |
ES2118713T3 (es) | 1998-10-01 |
GB8909498D0 (en) | 1989-06-14 |
HK1014434A1 (en) | 1999-09-24 |
AU626120B2 (en) | 1992-07-23 |
CA2053241C (en) | 1998-11-10 |
CA2053241A1 (en) | 1990-10-27 |
KR920702156A (ko) | 1992-08-12 |
WO1990013205A1 (en) | 1990-11-01 |
DE69032437D1 (de) | 1998-07-30 |
EP0395293B1 (de) | 1998-06-24 |
JP2839950B2 (ja) | 1998-12-24 |
SG43206A1 (en) | 1997-10-17 |
US5206723A (en) | 1993-04-27 |
DD293933A5 (de) | 1991-09-12 |
ATE167773T1 (de) | 1998-07-15 |
AU5422390A (en) | 1990-11-16 |
EP0395293A1 (de) | 1990-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69032437T2 (de) | Bewegungseinschätzer | |
DE69812882T2 (de) | Verfahren zur bewegungskompensierten Mehrhalbbildverbesserung von Videostandbildern | |
DE69422266T2 (de) | Verfahren, Vorrichtung und Schaltung zur Verbesserung von Bewegungskompensation bei digitaler Bildkodierung | |
DE69519398T2 (de) | Abtastumsetzung mit Bewegungsadaptation unter Verwendung einer richtungsabhängigen Interpolation der Kanten | |
DE69131938T2 (de) | Bewegungsvektorerfassungsgerät | |
DE3885695T2 (de) | Bewegungsabschätzung. | |
DE69031055T2 (de) | Bewegungsabhängige Videosignalverarbeitung | |
DE69801209T2 (de) | Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer | |
DE60014444T2 (de) | Verfahren und vorrichtung zur bewegungsschätzung unter verwendung von nachbarmacroblöcken | |
DE69223560T2 (de) | Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation | |
DE69130329T2 (de) | System und verfahren zur codierung eines zeilensprunghalbbildes | |
DE69524235T2 (de) | Verfahren und vorrichtung zur global-zu-lokal-block-bewegungsschätzung | |
DE69733007T2 (de) | Vorrichtung zur codierung und decodierung von bewegtbildern | |
DE69027809T2 (de) | Bewegungsabhängige Videosignalverarbeitung | |
DE69908562T2 (de) | Bewegungsvektorenextrapolation zur transkodierung von videosequenzen | |
DE69413148T2 (de) | Verfahren zur Bestimmung von Bewegungsvektoren in kleinen Bildsegmenten in Fernsehbildern | |
DE4433329C2 (de) | Bewegungsvektor-Detektionsverfahren und Bewegungsvektor-Detektionsvorrichtung | |
DE69418525T2 (de) | Bildsignalkodierung mit hoher Wirksamkeit | |
DE69323986T2 (de) | Vorrichtung und Verfahren zur Bildverarbeitung | |
DE69730713T2 (de) | Bildkoder und -dekoder | |
DE69114791T2 (de) | Verfahren und Anordnung zum Verarbeiten eines Bildsignals. | |
DE69021431T2 (de) | Bewegungsabhängige Videosignalverarbeitung. | |
DE69405740T2 (de) | Verfahren und anordnung für bewegungskompensierende interpolation | |
DE60220295T2 (de) | Addieren von halbbildern eines bildes | |
DE3687434T2 (de) | Geraet zum ausgleich von bewegung in einem von einem von einem fernsehsignal abgeleiteten bild. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |