DE69517673T2 - Hierarchical motion vector estimation with several block sizes - Google Patents

Hierarchical motion vector estimation with several block sizes

Info

Publication number
DE69517673T2
DE69517673T2 DE1995617673 DE69517673T DE69517673T2 DE 69517673 T2 DE69517673 T2 DE 69517673T2 DE 1995617673 DE1995617673 DE 1995617673 DE 69517673 T DE69517673 T DE 69517673T DE 69517673 T2 DE69517673 T2 DE 69517673T2
Authority
DE
Germany
Prior art keywords
block
search
motion vector
hierarchical
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1995617673
Other languages
German (de)
Other versions
DE69517673D1 (en
Inventor
Hae-Mook Jung
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.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo Electronics Co Ltd
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 Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Priority claimed from EP95104091A external-priority patent/EP0734175B1/en
Application granted granted Critical
Publication of DE69517673D1 publication Critical patent/DE69517673D1/en
Publication of DE69517673T2 publication Critical patent/DE69517673T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Gebiet der ErfindungField of the invention

Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln von Bewegungsvektoren, und spezieller ein verbessertes Verfahren zum Ermitteln von Bewegungsvektoren aus zwei aufeinanderfolgenden Videobildern unter Verwendung einer hierarchischen Bewegungsschätzmethode.The present invention relates to a method for determining motion vectors, and more particularly to an improved method for determining motion vectors from two consecutive video images using a hierarchical motion estimation method.

Beschreibung des Standes der TechnikDescription of the state of the art

Bei zahlreichen elektronischen/elektrischen Anwendungen wie z. B. hochaufläsenden Fernseh- und Videotelefonsystemen muß ein Bildsignal in digitaler Form übertragen werden. Wenn das Bildsignal in einer digitalen Form dargestellt wird, tritt zwangsläufig eine erhebliche digitale Datenmenge auf. Da jedoch die verfügbare Frequenzbandbreite eines herkömmlichen Übertragungskanals beschränkt ist, ist es, um durch diesen das Bildsignal zu übertragen unvermeidlich, die Menge der Übertragungsdaten zu komprimieren oder zu reduzieren. Unter den zahlreichen Videokomprissionstechniken ist eine bewegungskompensierte Zwischenbildcodiertechnik als eine der effizienteren Komprimiertechniken bekannt. Diese verwendet zeitliche Redundanzen der Videosignale zwischen zwei aufeinanderfolgenden Videobildern zur Kompression der Signale.In many electronic/electrical applications, such as high definition television and video telephone systems, an image signal must be transmitted in digital form. When the image signal is represented in a digital form, a significant amount of digital data is inevitably involved. However, since the available frequency bandwidth of a conventional transmission channel is limited, in order to transmit the image signal through it, it is inevitable to compress or reduce the amount of transmission data. Among the numerous video compression techniques, a motion compensated interframe coding technique is known as one of the more efficient compression techniques. It uses temporal redundancies of the video signals between two consecutive video frames to compress the signals.

Beim bewegungskompensierten Zwischenbildcodierverfahren werden momentane Bilddaten aus den vorhergehenden Bilddaten basierend auf einer Schätzung einer Bewegung zwischen dem momentanen und dem vorhergehenden Bild vorhergesagt. Eine derartige Bewegungsschätzung kann unter Verwendung zweidimensionaler Bewegungsvektoren beschrieben werden, die die Pixelverschiebung zwischen dem vorhergehenden und dem momentanen Bild darstellen. Ein im Stand der Technik vorgeschlagenes Bewegungsvektorschätzverfahren ist ein Blockübereinstimmungsalgorithmus (siehe z. B. J. R. Jain et al., "Displacement Measurement and Its Application in Interframe Image Coding", IEEE Transactions an Communications COM-29, Nr. 12 (Dezember 1981)).In the motion compensated inter-frame coding method, current image data is predicted from the previous image data based on an estimate of motion between the current and previous frames. Such motion estimation can be described using two-dimensional motion vectors representing the pixel displacement between the previous and current frames. One motion vector estimation method proposed in the prior art is a block matching algorithm (see, e.g., BJR Jain et al., "Displacement Measurement and Its Application in Interframe Image Coding," IEEE Transactions on Communications COM-29, No. 12 (December 1981)).

Gemäß dem Blockübereinstimmungsalgorithmus wird ein momentanes Bild in mehrere gleich große Suchblöcke unterteilt. Die Größe der Suchblöcke liegt typischerweise zwischen 8 · 8 und 8 · 32 Pixel. Um für einen Suchblock in dem momentanen Bild einen Bewegungsvektor zu ermitteln wird eine Ähnlichkeitsberechnung zwischen dem Suchblock in dem momentanen Bild und jedem Kandidatenblock von mehreren gleich großen Kandidatenblöcken durchgeführt, die in einem im allgemeinen größeren Suchgebiet in einem vorhergehenden Bild enthalten sind. Fehlerfunktionen wie z. B. die mittleren absoluten Fehlerwerte oder mittlere quadratische Fehlerwerte werden verwendet, um eine Ähnlichkeitsmessung zwischen dem Suchblock des momentanen Bildes und jedem Kandidatenblock in dem Suchgebiet durchzuführen. Ein Bewegungsvektor stellt per Definition die Verschiebung zwischen dem Suchblock und einem Block mit der höchsten Übereinstimmung dar, d. h. einem Kandidatenblock, bei welchem sich ein minimaler "Fehlerwert" oder Unterschied ergibt.According to the block matching algorithm, a current image is divided into several equally sized search blocks. The size of the search blocks is typically between 8 x 8 and 8 x 32 pixels. To determine a motion vector for a search block in the current image, a similarity calculation is performed between the search block in the current image and each of several equally sized candidate blocks contained in a generally larger search area in a previous image. Error functions such as mean absolute error values or mean square error values are used to perform a similarity measurement between the search block of the current image and each candidate block in the search area. A motion vector is by definition the displacement between the search block and a block with the highest match, i.e. a candidate block that results in a minimal "error value" or difference.

Jedoch kann bei dieser Blockübereinstimmungsbewegungsschätzmethode, bei welchem ein Suchblock mit einer festen Größe verwendet wird, dann, wenn die Größe des Suchblocks relativ groß ist, der gleich Bewegungsvektor zu sämtlichen Pixeln in dem Suchblock zugeordnet werden, die sich jedoch nicht auf gleiche Weise bewegen. Dadurch wird die Gesamtbildqualität verringert.However, in this block matching motion estimation method using a search block with a fixed size, if the size of the search block is relatively large, the same motion vector may be assigned to all pixels in the search block, but they do not move in the same way. This lowers the overall image quality.

Die JP-A-5328334 beschreibt eine Vorrichtung zum Ermitteln eines Bewegungsvektors zwischen entsprechenden Blöcken eines momentanen und eines vorhergehenden Videobilds unter Verwendung eines Suchalgorithmus, bei welchem maximale und minimale Fehlerwertunterschiede zwischen einem Kandidatenblock und Suchblöcken eines Suchgebiets abgeleitet werden. Der Unterschied zwischen ihnen wird mit einem Schwellwert verglichen. Wenn der Unterschied über dem Schwellwert liegt wird der Vektor, welcher dem Suchblock entspricht, der den minimalen Fehlerwert zeigt als der beste geschätzte Bewegungsvektor ausgegeben. Wenn nicht, wird das Suchgebiet vergrößert.JP-A-5328334 describes an apparatus for determining a motion vector between corresponding blocks of a current and a previous video image using a search algorithm in which maximum and minimum error value differences between a candidate block and search blocks of a search area are derived. The difference between them is compared with a threshold value. If the difference exceeds the threshold, the vector corresponding to the search block showing the minimum error value is output as the best estimated motion vector. If not, the search area is enlarged.

Die EP-A-0538667 beschreibt einen Codierer, bei welchem mehrere Bewegungskompensierer parallel arbeiten. Die Blockgrößen, bei welchen die Kompensierer die entsprechenden Bewegungsvektoren ermitteln, sind hierarchisch organisiert. Der Bewegungskompensierer, der zu der geringsten Menge komprimierten Daten führt wird ausgewählt. Dies hat den zusätzlichen Effekt, daß weniger Bewegungsvektoren codiert werden müssen, wenn das beste Ergebnis bei einem großem Block erzielt wurde.EP-A-0538667 describes an encoder in which several motion compensators work in parallel. The block sizes for which the compensators determine the corresponding motion vectors are organized hierarchically. The motion compensator that results in the smallest amount of compressed data is selected. This has the additional effect that fewer motion vectors need to be coded if the best result was achieved with a large block.

Zusammenfassung der ErfindungSummary of the invention

Es ist deswegen ein vorwiegendes Ziel der Erfindung, ein verbessertes Verfahren zu Verfügung zu stellen, mit welchem unter Verwendung einer hierarchischen Bewegungsschätzmethode aus zwei aufeinanderfolgenden Videobildern auf genaue Weise Bewegungsvektoren ermittelt werden können.It is therefore a primary aim of the invention to provide an improved method with which motion vectors can be determined in an accurate manner from two consecutive video images using a hierarchical motion estimation method.

Gemäß der vorliegenden Erfindung wird ein Verfahren zum Ermitteln eines Bewegungsvektors gemäß Anspruch 1 zur Verfügung gestellt, und eine Vorrichtung gemäß Anspruch 7. Bevorzugte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen definiert.According to the present invention, there is provided a method for determining a motion vector according to claim 1, and an apparatus according to claim 7. Preferred embodiments of the invention are defined in the dependent claims.

Kurze Beschreibung der ZeichnungShort description of the drawing

Das obige und weitere Ziele und Merkmale der vorliegenden Erfindung sind aus der folgenden Beschreibung bevorzugter Ausführungsbeispiele zusammen mit der begleitenden Zeichnung ersichtlich, bei welcher:The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments taken together with the accompanying drawings, in which:

Fig. 1 ein Blockdiagramm der erfindungsgemäßen Vorrichtung zum Bestimmen von Bewegungsvektoren zwischen einem momentanen und einem vorhergehenden Videosignalbild ist;Fig. 1 is a block diagram of the inventive apparatus for determining motion vectors between a current and a previous video signal frame;

Fig. 2 ein genaues Blockdiagramm zeigt, welches einen in Fig. 1 gezeigten Fehlerwerterzeuger darstellt; undFig. 2 shows a detailed block diagram illustrating an error value generator shown in Fig. 1; and

Fig. 3 beispielhafte hierarchische Suchblöcke darstellt.Fig. 3 shows exemplary hierarchical search blocks.

Genaue Beschreibung der bevorzugten AusführungsbeispieleDetailed description of the preferred embodiments

Bezogen auf Fig. 1 ist ein Blockdiagramm der erfindungsgemäßen Vorrichtung zum Ermitteln eines Bewegungsvektors für jeden von mehreren Verarbeitungsblöcken in einem momentanen Bild unter Verwendung einer mehrfach gestaffelten hierarchischen Bewegungsschätzmethode gezeigt. Jeder Verarbeitungsblock mit der Größe von P · Q, z. B. 2 · 2 Pixeln weist hierarchische Suchblöcke in einem momentanen Bild auf.Referring to Fig. 1, a block diagram of the inventive apparatus for determining a motion vector for each of a plurality of processing blocks in a current image using a multi-tiered hierarchical motion estimation method is shown. Each processing block of size P · Q, e.g. 2 · 2 pixels, comprises hierarchical search blocks in a current image.

Die Daten des momentanen Bilds werden als digitales Videoeingangssignal einem Bildspeicher 50 und in einem Blockbildeabschnitt 100 zugeführt, um hierarchische Suchblöcke zu erzeugen. Der Blockbildeabschnitt 100 dient dazu, für jeden Verarbeitungsblock die hierarchischen Suchblöcke zu erzeugen, wobei der Verarbeitungsblock am Zentrum der Suchblöcke angeordnet ist. Ein Suchblock einer Hierarchie ist um 2 N Pixel in vertikaler und horizontaler Richtung, wobei N eine ganze Zahl größer als 0, z. B. 1 ist, größer als ein Suchblock einer niedrigeren Hierarchie, und ein Suchblock einer niedrigsten Hierarchie ist gleich groß wie oder größer als der Verarbeitungsblock.The data of the current image is supplied as a digital video input signal to an image memory 50 and to a block forming section 100 to generate hierarchical search blocks. The block forming section 100 serves to generate the hierarchical search blocks for each processing block, with the processing block located at the center of the search blocks. A search block of a hierarchy is larger than a search block of a lower hierarchy by 2 N pixels in the vertical and horizontal directions, where N is an integer greater than 0, e.g. 1, and a search block of a lowest hierarchy is equal to or larger than the processing block.

Wie in Fig. 1 gezeigt enthält der Blockbildeabschnitt 100 eine Anzahl M, z. B. 4 Blockformatierer, z. B. 110-170. In den Blockformatierern 110, 130, 150 und 170 werden die hierarchischen Suchblöcke für jeden Verarbeitungsblock erzeugt, und die Größen der Suchblöcke variieren in 2 N- Pixelschritten von 2 N bis 2N(M-1) in der horizontalen und vertikalen Richtung, wobei M eine ganze Zahl größer als 1 ist. Spezieller erzeugt ein erster Blockformatierer 110 Suchblöcke einer höchsten Hierarchie mit einer Größe von H · V Pixeln, ein zweiter Blockformatierer 130 erzeugt Suchblöcke einer niedrigeren Hierarchie mit einer Größe von (H-2 N) · (V-2 N), z. B. (H-2) · (V-2) Pixeln, ein dritter Blockformatierer 150 erzeugt Suchblöcke einer noch niedrigeren Hierarchie mit einer Größer von (H-4 N) · (V-4 N), z. B. (H-4) · (V-4) Pixeln, und ein letzter Blockformatierer 170 erzeugt Suchblöcke einer niedrigsten Hierarchie mit einer Größe von (H-2N (M-1)) · (V-2N (M-1)), z. B. (H-2 (M- 1)) · (V-2(M-1)) Pixeln.As shown in Fig. 1, the block forming section 100 includes a number M, e.g. 4, block formatters, e.g. 110-170. In the block formatters 110, 130, 150 and 170, the hierarchical search blocks are generated for each processing block, and the sizes of the search blocks vary in 2 N pixel steps from 2 N to 2 N (M-1) in the horizontal and vertical directions, where M is an integer greater than 1. More specifically, a first block formatter 110 generates search blocks of a highest hierarchy with a size of H x V pixels, a second block formatter 130 generates search blocks of a lower hierarchy with a size of (H-2 N) · (V-2 N), e.g. (H-2) · (V-2) pixels, a third block formatter 150 produces search blocks of a still lower hierarchy with a size of (H-4 N) · (V-4 N), e.g. (H-4) · (V-4) pixels, and a final block formatter 170 produces search blocks of a lowest hierarchy with a size of (H-2N (M-1)) · (V-2N (M-1)), e.g. (H-2 (M- 1)) · (V-2(M-1)) pixels.

In Fig. 3 sind die von den Blockformatierern 110-170 erzeugten hierarchischen Suchblöcke beispielhaft dargestellt, wobei diese hierarchischen Suchblöcke in einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung verwendet werden. Aus Darstellungsgründen wurde angenommen, daß H und V für jeden Pixelsuchblock in dem momentanen Bild die gleiche Zahl 16 sind.Figure 3 illustrates by way of example the hierarchical search blocks generated by the block formatters 110-170, which hierarchical search blocks are used in a preferred embodiment of the present invention. For purposes of illustration, H and V have been assumed to be the same number 16 for each pixel search block in the current image.

Wie in Fig. 3 gezeigt ist, bildet der Blockformatierer 110 einen Suchblock 10 mit der Größe von H · V, d. h. 16 · 16 Pixeln, wobei der Suchblock 10 unter Verwendung eines Verarbeitungsblocks 5 als Bezug aufgebaut wird, und der Verarbeitungsblock 5 am Zentrum des Suchblocks 10 angeordnet ist. Auf ähnliche Weise baut der Blockformatierer 130 einen kleineren Suchblock 12 mit der Größe (H-2) · (V- 2), d. h. 14 · 14 Pixeln auf, der Blockformatierer 150 baut einen noch kleineren Suchblock 14 mit der Größe (H-V) · (V- 4), d. h. 12 · 12 Pixeln auf, und der letzte Blockformatierer 170 erzeugt einen kleinsten Suchblock 16 der niedrigsten Suchblockhierarchie mit der Größe (H-8) · (V-8), d. h. 8 · 8 Pixeln unter Verwendung des Verarbeitungsblocks 5 als Bezug, wobei der Verarbeitungsblock 5 am Zentrum der entsprechenden kleineren Suchblöcke 12, 14 und 16 angeordnet ist.As shown in Fig. 3, the block formatter 110 forms a search block 10 with the size of H x V, i.e., 16 x 16 pixels, the search block 10 is constructed using a processing block 5 as a reference, and the processing block 5 is located at the center of the search block 10. Similarly, the block formatter 130 constructs a smaller search block 12 with the size (H-2) x (V-2), i.e., 14 x 14 pixels, the block formatter 150 constructs an even smaller search block 14 with the size (H-V) x (V-4), i.e., 12 x 12 pixels, and the last block formatter 170 creates a smallest search block 16 of the lowest search block hierarchy with the size (H-8) x (V-8), i.e., 16 x 16 pixels. i.e. 8 x 8 pixels using the processing block 5 as a reference, wherein the processing block 5 is located at the center of the corresponding smaller search blocks 12, 14 and 16.

Wieder bezogen auf Fig. 1 werden die von den Blockformatierern 110-170 erzeugten hierarchischen Suchblöcke einer Bewegungsschätzeinheit 200 zugeführt, die mehrere Fehlerfunktionsberechnern 101-270 enthält. Daten des vorhergehenden Bilds vom Bildspeicher 50 werden ebenfalls der Bewegungsschätzeinheit 200 zugeführt. In jedem in der Bewe gungsschätzeinheit 200 enthaltenen Fehlerfunktionsberechner 210-270 werden die Daten des vorhergehenden Bilds von dem Bildspeicher 50 und die Daten des momentanen Bilds verarbeitet, um einen Bewegungsvektor zu berechnen und zu schätzen, der die Verschiebung zwischen einem Suchblock des momentanen Bilds und einem Kandidatenblock darstellt, und bei welchem sich die minimale Fehlerfunktion ergibt.Referring again to Fig. 1, the hierarchical search blocks generated by the block formatters 110-170 are fed to a motion estimation unit 200 which includes a plurality of error function calculators 101-270. Data of the previous frame from the frame store 50 is also fed to the motion estimation unit 200. In each of the motion estimation units 200 The error function calculator 210-270 included processes the previous frame data from the frame memory 50 and the current frame data to calculate and estimate a motion vector representing the displacement between a search block of the current frame and a candidate block, and at which the minimum error function results.

Die Fehlerfunktionsberechner 210, 230, 250 und 270 sind im wesentlichen aus identischen Elementen gebildet, wobei jedes Element der gleichen Funktion dient. Entsprechend ist der Betrieb jedes Fehlerfunktionsberechners 210, 230, 250 oder 270 im wesentlichen identisch. Aus diesem Grund wird die Operation des Fehlerfunktionsberechners 210 stellvertretend unter Bezug auf Fig. 2 im Detail beschrieben, in welcher ein detailliertes Blockdiagramm des Fehlerfunktionsberechners 210 gezeigt ist.The error function calculators 210, 230, 250 and 270 are formed of substantially identical elements, with each element serving the same function. Accordingly, the operation of each error function calculator 210, 230, 250 or 270 is substantially identical. For this reason, the operation of the error function calculator 210 will be described in detail with reference to Figure 2, which shows a detailed block diagram of the error function calculator 210.

Wie in Fig. 2 gezeigt ist, werden die Daten des vorhergehenden Bilds, die von dem in Fig. 1 gezeigten Bildspeicher 50 geliefert werden, an einen Suchgebietsbildeabschnitt 211 zugeführt. Der Suchgebietsbildeabschnitt 211 definiert Suchgebiete des vorhergehenden Bilds mit gleicher Größe, wobei die Größe jedes Suchgebiets im allgemeinen größer als diejenige des Suchblocks ist.As shown in Fig. 2, the previous image data supplied from the image memory 50 shown in Fig. 1 is supplied to a search area forming section 211. The search area forming section 211 defines search areas of the previous image having the same size, the size of each search area being generally larger than that of the search block.

Nachdem das Suchgebiet in dem Suchgebietsbildeabschnitt 211 bestimmt wurde, werden die Suchgebietsdaten mehreren Blockbildeabschnitten, z. B. 212-124 zugeführt. In jedem Blockbildeabschnitt wird ein Kandidatenblock mit H · V, d. h. 16 · 16 Pixeln aus dem Suchgebiet erzeugt. Die Relativverschiebungen der Kandidatenblöcke von dem Ort des Suchblocks in dem momentanen Bild werden als Verschiebungsvektoren, z. B. 612-614 der Kandidatenblöcke ausgegeben. Alle möglichen Kandidatenblöcke mit der Größe H · V Pixeln werden innerhalb des bestimmten Suchgebiets gebildet, und zu jedem Kandidatenblock werden entsprechende Verschiebungsvektoren erhalten.After the search area is determined in the search area forming section 211, the search area data is supplied to a plurality of block forming sections, e.g. 212-124. In each block forming section, a candidate block of H · V, i.e. 16 · 16 pixels, is generated from the search area. The relative displacements of the candidate blocks from the location of the search block in the current image are output as displacement vectors, e.g. 612-614 of the candidate blocks. All possible candidate blocks of size H · V pixels are formed within the determined search area, and corresponding displacement vectors are obtained for each candidate block.

Die Pixeldaten jedes Kandidatenblocks werden von jedem Kandidatenblockbildeabschnitt 212-216 an den jeweiligen Blockübereinstimmabschnitts 215-217 ausgegeben. Die Daten des Suchblocks mit der Größe H · V Pixeln werden ebenfalls von dem in Fig. 1 gezeigten Blockformatierer 110 zu jedem Blockübereinstimmabschnitt 215-217 zugeführt. In jedem Blockübereinstimmabschnitt wird eine Fehlerfunktion, z. B.. mittlere absoluter Fehlerwerte zwischen dem Suchblock von dem Blockformatierer 110 und den Kandidatenblöcken von den entsprechenden Kandidatenblockbildeabschnitten 212-214 berechnet, die dem Mittelwert der absoluten Differenz zwischen den Pixeln in dem Suchblock und dem Kandidatenblock entsprechen. Es wird ein Vergleich z. B. der Lichtintensität oder Helligkeit zwischen entsprechenden Pixeln in dem Suchblock und jedem Kandidatenblock durchgeführt, um für jeden Kandidatenblock eine Fehlerfunktion zu erhalten. Die Fehlerfunktion zeigt den Grad der Ähnlichkeit zwischen dem Suchblock und dem jeweiligen Kandidatenblock an.The pixel data of each candidate block is output from each candidate block forming section 212-216 to the respective block matching section 215-217. The data of the search block of size H x V pixels is also supplied from the block formatter 110 shown in Fig. 1 to each block matching section 215-217. In each block matching section, an error function, e.g., average absolute error values between the search block from the block formatter 110 and the candidate blocks from the corresponding candidate block forming sections 212-214, is calculated, which corresponds to the average of the absolute difference between the pixels in the search block and the candidate block. A comparison, e.g., of the light intensity or brightness between corresponding pixels in the search block and each candidate block is made to obtain an error function for each candidate block. The error function indicates the degree of similarity between the search block and the respective candidate block.

Sämtliche Fehlerfunktionen von den Blockübereinstimmabschnitten 215-217 werden einem Minimalwertdetektor 218 zugeführt. Der Minimalwertdetektor 218 vergleicht die Fehlerfunktionen, und wählt die Fehlerfunktion aus, die einen kleinsten Wert aufweist.All error functions from the block matching sections 215-217 are fed to a minimum value detector 218. The minimum value detector 218 compares the error functions and selects the error function that has a smallest value.

Der Minimalwertdetektor 218 gibt das Signal, welches den Block anzeigt, der zu der minimalen Fehlerfunktion gehört, an einen Selektor 219 aus. Die von den Blockabschnitten 212-214 erhaltenen Verschiebungsvektoren 612- 614 werden dem Selektor 219 ebenfalls zugeführt. Der Selektor 219 wählt dann den Verschiebungsvektors des Kandidatenblocks, der zur minimalen Fehlerfunktion gehört, als Bewegungsvektor für den Suchblock mit der Größe H · V Pixeln aus. Der ermittelte Bewegungsvektor wird als ein erster hierarchischer Bewegungsvektor MV1 an einen Bewegungsvektorselektor 400 und einen Selektor 332 ausgegeben, die in Fig. 1 gezeigt sind. Die von dem Minimalwertdetektor 218 ausgewählte minimale Fehlerfunktion wird als eine erste hierarchische Fehlerfunktion E1 an einen Niedrigwertdetektor 312 und einen Vergleicher 322, die in Fig. 1 gezeigt sind, ausgegeben.The minimum value detector 218 outputs the signal indicating the block corresponding to the minimum error function to a selector 219. The displacement vectors 612-614 obtained from the block sections 212-214 are also supplied to the selector 219. The selector 219 then selects the displacement vector of the candidate block corresponding to the minimum error function as the motion vector for the search block of size H · V pixels. The determined motion vector is output as a first hierarchical motion vector MV1 to a motion vector selector 400 and a selector 332 shown in Fig. 1. The minimum error function selected by the minimum value detector 218 is as a first hierarchical error function E1 to a low value detector 312 and a comparator 322 shown in Fig. 1.

Auf ähnliche Weise vergleicht jeder der in Fig. 1 gezeigten Fehlerfunktionserzeuger 230-270 einen entsprechenden Suchblock mit jedem Kandidatenblock der in seinem entsprechenden Suchgebiet des vorhergehenden Bildes enthalten ist, wobei eine Fehlerfunktion wie z. B. ein mittlerer absoluter Fehlerwert verwendet wird. Daraufhin erzeugt jeder Fehlerfunktionserzeuger 230-270 Fehlerfunktionen für jeden Suchblock bei jeder hierarchischen Ebene. Die Fehlerfunktionen bei jeder hierarchischen Ebene werden verarbeitet, um für jeden Suchblock bei jeder Hierarchie die minimale Fehlerfunktion zu erzeugen. Der Verschiebungsvektor, der der minimalen Fehlerfunktion entspricht, wird als Bewegungsvektor des Suchblocks ausgewählt. Die minimalen Fehlerfunktionen von jedem Fehlerfunktionserzeuger 230-270 werden Niedrigwertdetektoren 312-316 jeweils als zweite hierarchische, dritte hierarchische und letzte hierarchische Fehlerfunktion E2-E4 zugeführt. Jeder Bewegungsvektor für jeden Suchblock in jeder Hierarchie wird den Selektoren 332-336 jeweils als zweiter hierarchischer, dritter hierarchischer und letzter hierarchischer Bewegungsvektor MV2-MV4 zugeführt.Similarly, each of the error function generators 230-270 shown in Fig. 1 compares a corresponding search block with each candidate block contained in its corresponding search area of the previous image using an error function such as an average absolute error value. Each error function generator 230-270 then generates error functions for each search block at each hierarchical level. The error functions at each hierarchical level are processed to generate the minimum error function for each search block at each hierarchy. The displacement vector corresponding to the minimum error function is selected as the motion vector of the search block. The minimum error functions from each error function generator 230-270 are fed to low value detectors 312-316 as second hierarchical, third hierarchical and last hierarchical error functions E2-E4, respectively. Each motion vector for each search block in each hierarchy is fed to selectors 332-336 as second hierarchical, third hierarchical and last hierarchical motion vectors MV2-MV4, respectively.

Der Niedrigwertdetektor 312 gibt eine kleinere Fehlerfunktion unter seinen zwei Eingaben, d. h. der ersten und der zweiten hierarchischen Fehlerfunktion E1, E2 an den Vergleicher 324 und einen nächsten Niedrigwertdetektor 314 aus, und erzeugt ein Steuersignal, das dem Selektor 332 den hierarchischen Bewegungsvektor anzeigt, der zu der kleineren Fehlerfunktion gehört. Der nächste Niedrigwertdetektor 314 gibt eine kleinere Fehlerfunktion unter seinen zwei Eingaben, d. h. der Ausgabe von dem Niedrigwertdetektor 312 und der dritten hierarchischen Fehlerfunktion E3 an den Vergleicher 326 und den Niedrigwertdetektor der nächsten Stufe aus, und erzeugt ein Steuersignal, welches den hierarchischen Bewegungsvektor anzeigt, der zu der kleineren Fehlerfunktion gehört, welches von dort aus an den Selektor 334 ausgegeben wird. Der letzte Niedrigwertdetektor 316 gibt die kleinere Fehlerfunktion unter seine zwei Eingaben, d. h. der Ausgabe von dem Niedrigwertdetektor der vorhergehenden Stufe und der letzten hierarchischen Fehlerfunktion E4 an den Vergleicher 328 aus, und erzeugt ein Steuersignal, welches den hierarchischen Bewegungsvektor anzeigt, der zu der kleineren Fehlerfunktion gehört, welches von dort aus an den Selektor 336 geliefert wird.The low value detector 312 outputs a smaller error function among its two inputs, ie, the first and second hierarchical error functions E1, E2 to the comparator 324 and a next low value detector 314, and generates a control signal indicating to the selector 332 the hierarchical motion vector corresponding to the smaller error function. The next low value detector 314 outputs a smaller error function among its two inputs, ie, the output from the low value detector 312 and the third hierarchical error function E3 to the comparator 326 and the next stage low value detector, and generates a control signal indicating the hierarchical motion vector. corresponding to the smaller error function, which is output therefrom to the selector 334. The last low detector 316 outputs the smaller error function among its two inputs, ie, the output from the previous stage low detector and the last hierarchical error function E4 to the comparator 328, and generates a control signal indicative of the hierarchical motion vector corresponding to the smaller error function, which is output therefrom to the selector 336.

Jeder Komparator 322-328 vergleicht seine zwei Eingaben, d. h. einen vorbestimmten Schwellwert und die ihm zugeführte hierarchische Fehlerfunktion, und erzeugt für den Bewegungsvektorselektor 400 ein logisch hohes oder logisch niedriges Auswahlsignal S1-S4. Das bedeutet, daß jeder Vergleicher ein logisch hohes Auswahlsignal erzeugt, wenn der vorbestimmte Schwellwert größer als die entsprechende hierarchische Fehlerfunktion ist. Sonst erzeugt er für den Bewegungsvektorselektor 400 ein logisch niedriges Auswahlsignal.Each comparator 322-328 compares its two inputs, i.e., a predetermined threshold and the hierarchical error function supplied to it, and generates a logic high or logic low select signal S1-S4 to the motion vector selector 400. That is, each comparator generates a logic high select signal if the predetermined threshold is greater than the corresponding hierarchical error function. Otherwise, it generates a logic low select signal to the motion vector selector 400.

Der Vergleicher 322 vergleicht den vorbestimmten Schwellwert mit der ersten hierarchischen Fehlerfunktion E1 und erzeugt ein logisch hohes Auswahlsignal, wenn der vorbestimmte Schwellwert größer als E1 ist. Sonst erzeugt er für den Bewegungsvektorselektor 400 ein logisch niedriges Auswahlsignal. Auf ähnliche Weise vergleicht jeder Vergleicher 324-328 den vorbestimmten Schwellwert mit der Ausgabe des entsprechenden Niedrigwertdetektors 312-316 und erzeugt ein logisch hohes Auswahlsignal, wenn der vorbestimmte Schwellwert größer als die Ausgabe des entsprechenden Niedrigwertdetektors ist. Sonst erzeugt er für den Bewegungsvektorselektor 400 jeweils ein logisch niedriges Auswahlsignal.The comparator 322 compares the predetermined threshold with the first hierarchical error function E1 and generates a logic high select signal if the predetermined threshold is greater than E1. Otherwise, it generates a logic low select signal for the motion vector selector 400. Similarly, each comparator 324-328 compares the predetermined threshold with the output of the corresponding low detector 312-316 and generates a logic high select signal if the predetermined threshold is greater than the output of the corresponding low detector. Otherwise, it generates a logic low select signal for the motion vector selector 400.

Gemäß der vorliegenden Erfindung werden dann, wenn S1 logisch hoch ist die Auswahlsignale S2-S4 logisch hoch. Wenn S1 logisch niedrig und S2 logisch hoch ist, werden S3-S4 logisch hoch. Mit anderen Worten wird, wenn ein Auswahlsignal, welches einer Hierarchie entspricht, logisch hoch ist, das/die Auswahlsignal(e) welches der niedrigeren Hierarchie entspricht logisch hoch.According to the present invention, when S1 is logic high, the selection signals S2-S4 become logic high. When S1 is logic low and S2 is logic high, S3-S4 logically high. In other words, when a select signal corresponding to a hierarchy is logically high, the select signal(s) corresponding to the lower hierarchy will be logically high.

Jeder Selektor 332-336 wählt in Reaktion auf die von dem jeweiligen Niedrigwertdetektor 312 bis 316 gelieferten Steuersignale einen der zwei in ihn eingegebenen hierarchischen Bewegungsvektoren aus. Das bedeutet, daß der Selektor 332 eine seiner zwei Eingaben, d. h. der erste und zweite hierarchische Bewegungsvektor MV1, MV2 in Reaktion auf das von dem Niedrigwertdetektor 312 gelieferte Steuersignal auswählt, und den ausgewählten Bewegungsvektor an den Selektor 334 und den Bewegungsvektorselektor 400 liefert. Der Selektor 334 wählt eine seiner zwei Eingaben, d. h. die Ausgabe von dem Selektor 332 und der dritte hierarchische Bewegungsvektor MV3 in Reaktion auf das von dem Niedrigwertdetektor 314 gelieferte Steuersignal aus, und liefert den ausgewählten Bewegunsvektor an den Bewegungsvektorselektor 400 und einen Selektor der nächsten Stufe. Der letzte Selektor 336 wählt eine seiner zwei Eingaben, d. h. die Ausgabe von einem Selektor einer vorhergehenden Stufe und der letzte hierarchische Bewegungsvektor MV4 in Reaktion auf das von dem letzten Niedrigwertdetektor 316 erzeugte Steuersignal aus, und liefert den ausgewählten Bewegungsvektor an den Bewegungsvektorselektor 400.Each selector 332-336 selects one of the two hierarchical motion vectors input to it in response to the control signals provided by the respective low level detector 312-316. That is, the selector 332 selects one of its two inputs, i.e., the first and second hierarchical motion vectors MV1, MV2 in response to the control signal provided by the low level detector 312, and supplies the selected motion vector to the selector 334 and the motion vector selector 400. The selector 334 selects one of its two inputs, i.e., the output from the selector 332 and the third hierarchical motion vector MV3 in response to the control signal provided by the low level detector 314, and supplies the selected motion vector to the motion vector selector 400 and a next stage selector. The last selector 336 selects one of its two inputs, i.e., the output from a previous stage selector and the last hierarchical motion vector MV4 in response to the control signal generated by the last low level detector 316, and supplies the selected motion vector to the motion vector selector 400.

Die Auswahlsignale S1-S4 stellen Eingaben für den Bewegungsvektorselektor 400 dar, damit dieser einen der ihm zugeführten Bewegungsvektoren als den Bewegungsvektor für den Verarbeitungsblock auswählt.The selection signals S1-S4 represent inputs to the motion vector selector 400 so that it selects one of the motion vectors supplied to it as the motion vector for the processing block.

LegendeLegend Fig. 1Fig.1

Input Digital Video Signal = digitales VideoeingangssignalInput Digital Video Signal = digital video input signal

Frame Memory = BildspeicherFrame Memory = Image Memory

Block Formatter = BlockformatiererBlock Formatter = Block Formatter

Error Function Generator = FehlerfunktionerzeugerError Function Generator = Error Function Generator

Predetermined Threshold = vorbestimmter SchwellwertPredetermined Threshold = predetermined threshold

Small Value Detetector = NiedrigwertdetektorSmall Value Detector = Low Value Detector

Comparator = VergleicherComparator = Comparator

Selector - SelektorSelector - Selector

Motion Vector Selector = Bewegungsvektorselektor,Motion Vector Selector = motion vector selector,

Selected Motion Vector = ausgewählter BewegungsvektorSelected Motion Vector = selected motion vector

Fig. 2Fig. 2

From Frame Memory =vom BildspeicherFrom Frame Memory =from frame memory

Search Area Formation = SuchgebietsbildungSearch Area Formation = search area formation

Block Formation = BlockbildungBlock Formation = Block formation

From Block Formatter = vom BlockformatiererFrom Block Formatter = from block formatter

Block Matching = BlockübereinstimmungBlock Matching = Block Match

Minimum Value Detector = MinimalwertdetektorMinimum Value Detector = minimum value detector

Selector = SelektorSelector = Selector

Claims (10)

1. Verfahren zum Ermitteln eines Bewegungsvektors für jeden Verarbeitungsblock (5) in einem momentanen Bild durch Verwendung einer mehrfach gestaffelten, hierarchischen Bewegungsschätzung, bei welcher das momentane Bild und ein vorhergehendes Bild verwendet werden, wobei das momentane Bild in eine Anzahl von Verarbeitungsblöcken (5) identischer Größe unterteilt wird, jeder Verarbeitungsblock (5) auf M hierarchische Suchblöcke (10, 12, 14, 16) abgebildet wird, wobei M eine ganze Zahl größer als 1 ist, und jeder hierarchische Suchblock (10, 12, 14, 16) am Zentrum angeordnet den entsprechenden Verarbeitungsblock (5) enthält, wobei die Größe eines Suchblocks (10, 12, 14, 16) einer höheren Hierarchie größer als diejenige eines Suchblocks (10, 12, 14, 16) einer niedrigeren Hierarchie ist, und wobei das vorhergehende Bild in mehrere Suchgebiete unterteilt wird, die den hierarchischen Suchblöcken (10, 12, 14, 16) entsprechen, wobei jedes Suchgebiet mehrere Kandidatenblöcke aufweist, und wobei jeder Kandidatenblock eine Größe hat, die identisch zu derjenigen des entsprechenden hierarchischen Suchblocks (10, 12, 14, 16) ist, dadurch gekennzeichnet, daß das Verfahren die Schritte aufweist:1. Method for determining a motion vector for each processing block (5) in a current image by using a multi-stage, hierarchical motion estimation in which the current image and a previous image are used, wherein the current image is divided into a number of processing blocks (5) of identical size, each processing block (5) is mapped to M hierarchical search blocks (10, 12, 14, 16), where M is an integer greater than 1, and each hierarchical search block (10, 12, 14, 16) arranged at the center contains the corresponding processing block (5), wherein the size of a search block (10, 12, 14, 16) of a higher hierarchy is larger than that of a search block (10, 12, 14, 16) of a lower hierarchy, and wherein the previous image is divided into several search areas which correspond to the hierarchical search blocks (10, 12, 14, 16), each search area having a plurality of candidate blocks, and each candidate block having a size identical to that of the corresponding hierarchical search block (10, 12, 14, 16), characterized in that the method comprises the steps: (a) Durchführen einer Bewegungsschätzung für jeden hierarchischen Suchblock (10, 12, 14, 16) eines Verarbeitungsblocks (5) in Bezug auf ein entsprechendes hierarchisches Suchgebiet, um dabei entsprechend zu den hierarchischen Suchblöcken (10, 12, 14, 16) Bewegungsvektoren und minimale Fehlerfunktionen bzw. -werte bereitzustellen, wobei jeder Bewegungsvektor eine Pixelbewegung zwischen jedem hierarchischen Suchblock (10, 12, 14, 16) und einem Kandidatenblock darstellt, bei welcher sich bei ei ner entsprechenden Hierarchie ein minimaler Fehlerwert ergibt;(a) performing a motion estimation for each hierarchical search block (10, 12, 14, 16) of a processing block (5) with respect to a corresponding hierarchical search area to thereby provide motion vectors and minimum error functions or values corresponding to the hierarchical search blocks (10, 12, 14, 16), each motion vector representing a pixel movement between each hierarchical search block (10, 12, 14, 16) and a candidate block, in which a corresponding hierarchy results in a minimum error value; (b) Vergleichen der minimalen Fehlerwerte mit einem vorbestimmten Schwellwert;(b) comparing the minimum error values with a predetermined threshold value; (c) Ermitteln eines Suchblocks (10, 12, 14, 16), welcher unter den hierarchischen Suchblöcken (10, 12, 14, 16) einen kleinsten minimalen Fehlerwert aufweist; und(c) determining a search block (10, 12, 14, 16) which has a smallest minimum error value among the hierarchical search blocks (10, 12, 14, 16); and (d) wenn minimale Fehlerwerte von einem oder mehreren Suchblöcken (10, 12, 14, 16) kleiner als der vorbestimmte Schwellwert sind, ermitteln eines Bewegungsvektors, der einem Suchblock (10, 12, 14, 16) einer höchsten Hierarchie unter dem einen oder mehreren Suchblöcken (10, 12, 14, 16) entspricht, als Bewegungsvektor des Verarbeitungsblocks (5), und, wenn keiner der minimalen Fehlerwerte kleiner als der vorbestimmte Schwellwert ist, ermitteln eines Bewegungsvektors, der dem in Schritt (c) ermittelten Suchblock (10, 12, 14, 16) entspricht, als Bewegungsvektor des Verarbeitungsblocks (5).(d) if minimum error values of one or more search blocks (10, 12, 14, 16) are smaller than the predetermined threshold value, determining a motion vector corresponding to a search block (10, 12, 14, 16) of a highest hierarchy among the one or more search blocks (10, 12, 14, 16) as the motion vector of the processing block (5), and if none of the minimum error values is smaller than the predetermined threshold value, determining a motion vector corresponding to the search block (10, 12, 14, 16) determined in step (c) as the motion vector of the processing block (5). 2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß dann, wenn der minimale Fehlerwert von nur einem Suchblock (10, 12, 14, 16) kleiner als der vorbestimmte Schwellwert ist, ein Bewegungsvektor, der dem einen Suchblock (10, 12, 14, 16) entspricht, als Bewegungsvektor des Verarbeitungsblocks (5) ermittelt wird.2. Method according to claim 1, characterized in that if the minimum error value of only one search block (10, 12, 14, 16) is smaller than the predetermined threshold value, a motion vector corresponding to the one search block (10, 12, 14, 16) is determined as the motion vector of the processing block (5). 3. Verfahren gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Größen der hierarchischen Suchblöcke (10, 12, 14, 16) in 2N-Pixelschritten von 2N bis 2N(M-1) in der horizontalen und vertikalen Richtung des Verarbeitungsblocks (5) variiert werden, wobei N eine ganze Zahl größer Null ist.3. Method according to claim 1 or 2, characterized in that the sizes of the hierarchical search blocks (10, 12, 14, 16) are varied in 2N pixel steps from 2N to 2N(M-1) in the horizontal and vertical direction of the processing block (5), where N is an integer greater than zero. 4. Verfahren gemäß Anspruch 3, dadurch gekennzeichnet, daß N gleich 1 ist.4. Method according to claim 3, characterized in that N is equal to 1. 5. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Größe jedes Verarbeitungsblocks (5) 2 · 2 Pixel ist.5. Method according to one of the preceding claims, characterized in that the size of each processing block (5) is 2 x 2 pixels. 6. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Größe eines Suchblocks (10, 12, 14, 16) der niedrigsten Hierarchie gleich derjenigen des Verarbeitungsblocks (5) ist.6. Method according to one of the preceding claims, characterized in that the size of a search block (10, 12, 14, 16) of the lowest hierarchy is equal to that of the processing block (5). 7. Vorrichtung zum Ermitteln eines Satzes von Bewegungsvektoren für einen Satz von Verarbeitungsblöcken (5) in einem momentanen Bild durch Verwendung einer mehrfach gestaffelten, hierarchischen Bewegungsschätzung, bei welcher das momentane Bild und ein vorhergehendes Bild verwendet werden, wobei das momentane Bild in den Satz von Verarbeitungsblöcken (5) identischer Größe unterteilt wird, dadurch gekennzeichnet, daß die Vorrichtung aufweist:7. Device for determining a set of motion vectors for a set of processing blocks (5) in a current image by using a multi-stage hierarchical motion estimation using the current image and a previous image, the current image being divided into the set of processing blocks (5) of identical size, characterized in that the device comprises: Mittel zum sequentiellen Erzeugen jedes Verarbeitungsblocks (5) als Zielverarbeitungsblock (5);means for sequentially generating each processing block (5) as a target processing block (5); Mittel (100) zum Bereitstellen von M hierarchischen Suchblöcken (10, 12, 14, 16) für den Zielverarbeitungsblock (5), wobei jeder hierarchische Suchblock (10, 12, 14, 16) am Zentrum den Zielverarbeitungsblock (5) enthält, wobei die Größe eines Suchblocks (10, 12, 14, 16) einer Hierarchie größer als diejenige eines Suchblocks (10, 12, 14, 16) einer niedrigeren Hierarchie ist, und wobei M eine ganze Zahl größer als 1 ist;Means (100) for providing M hierarchical search blocks (10, 12, 14, 16) for the target processing block (5), each hierarchical search block (10, 12, 14, 16) containing the target processing block (5) at the center, the size of a search block (10, 12, 14, 16) of one hierarchy being larger than that of a search block (10, 12, 14, 16) of a lower hierarchy, and M being an integer greater than 1; Mittel (211) zum Bereitstellen von M Suchgebieten, die den hierarchischen Suchblöcken (10, 12, 14, 16) entsprechen, und auf dem vorhergehenden Bild basieren, wobei jedes Suchgebiet mehrere Kandidatenblöcke aufweist, und jeder Kandidatenblock eine Größe hat, die identisch zu derjenigen des entsprechenden hierarchischen Suchblocks (10, 12, 14, 16) ist;Means (211) for providing M search areas corresponding to the hierarchical search blocks (10, 12, 14, 16) and based on the previous image, each search area having a plurality of candidate blocks, and each candidate block having a size identical to that of the corresponding hierarchical search block (10, 12, 14, 16); Mittel zum Durchführen einer Bewegungsschätzung für jeden hierarchischen Suchblock (10, 12, 14, 16) des Zielverarbeitungsblocks (5) in Bezug auf ein entsprechendes hierarchisches Suchgebiet, um dabei entsprechend zu den hierarchischen Suchblöcken (10, 12, 14, 16) Bewegungsvektoren und minimale Fehlerfunktionen bzw. -werte bereitzustellen, wobei jeder Bewegungsvektor eine Pixelbewegung zwischen jedem hierarchischen Suchblock (10, 12, 14, 16) und einem Kandidatenblock darstellt, bei welcher sich bei einer entsprechenden Hierarchie ein minimaler Fehlerwert ergibt;Means for performing motion estimation for each hierarchical search block (10, 12, 14, 16) of the target processing block (5) with respect to a corresponding hierarchical search area, thereby providing motion vectors and minimum error functions or values corresponding to the hierarchical search blocks (10, 12, 14, 16), each motion vector representing a pixel motion between each hierarchical search block (10, 12, 14, 16) and a candidate block, which results in a minimum error value for a corresponding hierarchy; Mittel (322-328), um minimale Fehlerwerte mit einem vorbestimmten Schwellwert zu vergleichen; Mittel (312- 316), um minimale Fehlerwerte miteinander zu vergleichen, um unter den hierarchischen Suchblöcken einen Suchblock zu ermitteln, der einen kleinsten minimalen Fehlerwert hat;Means (322-328) for comparing minimum error values with a predetermined threshold value; Means (312-316) for comparing minimum error values with one another in order to determine among the hierarchical search blocks a search block that has a smallest minimum error value; Mittel, um dann, wenn nur von einem Suchblock (10, 12, 14, 16) ein minimaler Fehlerwert kleiner als der vorbestimmte Schwellwert ist, einen Bewegungsvektor, der dem einen Suchblock (10, 12, 14, 16) entspricht, als Bewegungsvektor des Zielverarbeitungsblocks (5) zu ermitteln; und um dann, wenn minimale Fehlerwerte von einem oder mehreren Suchblöcken (10, 12, 14, 16) kleiner als der vorbestimmte Schwellwert sind, einen Bewegungsvektor, der unter dem einen oder mehreren Suchblöcken (10, 12, 14, 16) einem Suchblock (10, 12, 14, 16) einer höchsten Hierarchie entspricht als Bewegungsvektor des Zielverarbeitungsblocks (5) zu ermitteln; und um dann, wenn kein minimaler Fehlerwert kleiner als der vorbestimmte Schwellwert ist, einen Bewegungsvektor, der dem Suchblock (10, 12, 14, 16) entspricht, der einen minimalen Fehlerwert aufweist, der den kleinsten Wert hat als Bewegungsvektor des Zielverarbeitungsblocks (5) zu ermitteln.Means for determining, when only one search block (10, 12, 14, 16) has a minimum error value smaller than the predetermined threshold value, a motion vector corresponding to the one search block (10, 12, 14, 16) as the motion vector of the target processing block (5); and for determining, when one or more search blocks (10, 12, 14, 16) has a minimum error value smaller than the predetermined threshold value, a motion vector corresponding to a search block (10, 12, 14, 16) of a highest hierarchy among the one or more search blocks (10, 12, 14, 16) as the motion vector of the target processing block (5); and then, if no minimum error value is smaller than the predetermined threshold value, to determine a motion vector corresponding to the search block (10, 12, 14, 16) having a minimum error value that has the smallest value as the motion vector of the target processing block (5). 8. Vorrichtung gemäß Anspruch 7, dadurch gekennzeichnet, daß die Größen der hierarchischen Suchblöcke (10, 12, 14, 16) in 2N-Pixelschritten von 2N bis 2N(M-1) in der horizontalen und vertikalen Richtung des Zielverarbeitungsblocks (5) variiert wird, wobei N eine ganze Zahl größer Nullist.8. Device according to claim 7, characterized in that the sizes of the hierarchical search blocks (10, 12, 14, 16) are varied in 2N pixel steps from 2N to 2N(M-1) in the horizontal and vertical direction of the target processing block (5), where N is an integer greater than zero. 9. Vorrichtung gemäß Anspruch 7 oder 8, dadurch gekennzeichnet, daß die Größe jedes Verarbeitungsblocks (5) 2 · 2 Pixel ist.9. Device according to claim 7 or 8, characterized in that the size of each processing block (5) is 2 x 2 pixels. 10. Vorrichtung gemäß einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß die Größe eines Suchblocks (10, 12, 14, 16) der niedrigsten Hierarchie gleich derjenigen des Zielverarbeitungsblocks (5) ist.10. Device according to one of claims 7 to 9, characterized in that the size of a search block (10, 12, 14, 16) of the lowest hierarchy is equal to that of the target processing block (5).
DE1995617673 1995-03-20 1995-03-20 Hierarchical motion vector estimation with several block sizes Expired - Lifetime DE69517673T2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP95104091A EP0734175B1 (en) 1995-03-20 1995-03-20 Hierarchical motion vector estimation using multiple block sizes

Publications (2)

Publication Number Publication Date
DE69517673D1 DE69517673D1 (en) 2000-08-03
DE69517673T2 true DE69517673T2 (en) 2000-10-19

Family

ID=8219086

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995617673 Expired - Lifetime DE69517673T2 (en) 1995-03-20 1995-03-20 Hierarchical motion vector estimation with several block sizes

Country Status (1)

Country Link
DE (1) DE69517673T2 (en)

Also Published As

Publication number Publication date
DE69517673D1 (en) 2000-08-03

Similar Documents

Publication Publication Date Title
DE19704439C2 (en) Method and device for motion estimation in a digital video encoder using trajectories
DE69803639T2 (en) Device and method for detecting a motion vector
DE69129595T2 (en) Systems and methods for coding alternating fields in interlaced picture sequences
DE69422266T2 (en) Method, device and circuit for improving motion compensation in digital image coding
DE69524235T2 (en) METHOD AND DEVICE FOR GLOBAL-TO-LOCAL BLOCK MOVEMENT ESTIMATION
DE69230115T2 (en) Evaluation device and method used for a device for the detection of motion vectors
DE69523431T2 (en) Method for determining motion vectors for use in a coding system based on segmentation
DE69623330T2 (en) FEATURE-BASED VIDEO COMPRESSION PROCESS
DE69028160T2 (en) Method for dividing the motion field of an image for encoding a video image
DE3874705T2 (en) METHOD FOR ESTIMATING MOTION WITH SEVERAL PREDICTORS FOR POINTS OF AN ELECTRONIC IMAGE.
EP0368151A2 (en) Method of determining search positions for movement estimation
DE19743202B4 (en) Method for coding a motion vector
DE69421158T2 (en) Motor prediction processor and device
DE19618984B4 (en) Method for motion evaluation in image data and apparatus for carrying out this method
DE4442643B4 (en) Method for estimating motion in a moving image
EP0474636B1 (en) Process for obtaining a decision result for a half-image/full-image data compression process
WO2008034715A2 (en) Method for the compression of data in a video sequence
EP0661667A1 (en) Movement estimation process and apparatus
DE10108068A1 (en) Digital image quality control contour fault viewing technique having two image vector speed calculation and adjacent/nearby pixel comparison with visibility component output relative psychovisual rules.
DE69328346T2 (en) Device for coding digital long-distance image signals
DE19717608B4 (en) Perception error handling method and picture coding apparatus using this method
DE102008006928A1 (en) Frame interpolation device and method
DE3751684T2 (en) Pattern processing
DE60207756T2 (en) IMAGE DATA ACCESS
DE68922694T2 (en) Image motion measurement.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DAEWOO ELECTRONICS CORP., SEOUL/SOUL, KR