EP0293644A1 - Method for determining movement vector fields from digital image sequences - Google Patents

Method for determining movement vector fields from digital image sequences Download PDF

Info

Publication number
EP0293644A1
EP0293644A1 EP88107514A EP88107514A EP0293644A1 EP 0293644 A1 EP0293644 A1 EP 0293644A1 EP 88107514 A EP88107514 A EP 88107514A EP 88107514 A EP88107514 A EP 88107514A EP 0293644 A1 EP0293644 A1 EP 0293644A1
Authority
EP
European Patent Office
Prior art keywords
motion vector
motion vectors
image
pixels
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.)
Granted
Application number
EP88107514A
Other languages
German (de)
French (fr)
Other versions
EP0293644B1 (en
Inventor
Achim Dr. Von Brandt
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to AT88107514T priority Critical patent/ATE74219T1/en
Publication of EP0293644A1 publication Critical patent/EP0293644A1/en
Application granted granted Critical
Publication of EP0293644B1 publication Critical patent/EP0293644B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Definitions

  • the present invention relates to a method for determining motion vector fields from digital image sequences, which calculates a motion vector field from each two successive images, which associates each pixel of an image with an image point of the other image, the assignment being defined in each case by a motion vector, which is the reproduces relative displacement of the pixels relative to each other, and each pixel in a square or rectangular block of pixels receives the same motion vector.
  • the motion vector fields are e.g. B. used in image data compression for the purpose of transmitting digital images with low data rates to predict the next, not yet transmitted image from already transmitted images.
  • motion vector fields Another application of the motion vector fields is the reconstruction of missing images from an image sequence that was undersampled in time for the purpose of data compression. That means that e.g. B. only every third image of the sequence is available and the two missing images between two existing images (the "reference point images”) are to be interpolated as "movement-correctly" as possible, so that the movements of objects in the reconstructed scene run as smoothly as in the original .
  • motion vector fields are required which indicate for each pixel of an image to be interpolated which image point or which image points are to be used in the two associated reference point images for the reconstruction of the relevant pixel.
  • a motion vector is assigned to each pixel of an image or also to a group of adjacent pixels in the motion vector fields, which motion vector describes the local motion by two components, namely the horizontal and the vertical motion component.
  • a problem with the determination of such motion vector fields is that the movements present in an image sequence are generally dependent on the location of the pixels, so that several different motion vectors can occur in a small image section, in particular at the edges of moving objects. Therefore, to determine a motion vector for a certain pixel, only this pixel itself should actually be considered. On the other hand, a motion vector cannot be determined from a single pixel, if only because the motion vector contains two components and each individual pixel defines only one equation for these two unknowns, cf. BBKP Horn, BG Schunck: "Determining optical flow", Artificial Intelligence 17, pp. 185-203, 1981.
  • the image for which motion vectors are to be determined is divided into square or rectangular blocks of constant size, ie with a predetermined number of pixels (often 16x16 or 8x8), cf. BCM Lin, SC Kwatra: “Motion compensated interframe color image coding ", Proc. Int. Conf. on Communications, 1984, vol. 1, pp. 516-520 and H. Brusewitz, P. Weiss:” A videoconference system at 384 kbit / s ". Picture Coding Symposium, Tokyo , Abstracts p. 212, 1986.
  • the same motion vector is determined for all pixels in a block, namely on the assumption that approximately the motion in the small image section that corresponds to a block is constant.
  • the motion vector for a BLock in image B is determined by picking out the block in image A that contains the pixels shifted by the motion vector from image A for a large number of possible motion vectors in a predetermined value range, and that from the plurality of these blocks, the one is selected that has the least difference to the given block in image B.
  • the difference between two blocks in Figures A and B is determined by a suitable distance, namely z. B. the sum of the squares (L2 norm) or the sum of the amounts (L1 norm) of the pixel differences, expressed.
  • the motion vector in which the two blocks from image A and image B have the smallest distance is adopted in the motion vector field sought.
  • a problem with this method is that the description of the image content as model parameters is only valid within narrow limits and z. B. fails with large shifts between image A and image B. Furthermore, the environment of the image point is used to calculate the model parameters for a pixel, again the uniformity of the movement in this environment is presupposed, so that the choice of the size of this environment poses the same problems as the choice of block size in block matching processes. The fact that the surroundings of the pixels overlap each other results in vector fields that change only slightly from one pixel to the next and therefore do not correctly represent jumps in the movement that occur at object boundaries.
  • the motion vector field must be interpolated from the given motion vectors using suitable means.
  • Problematic here are the reliable finding of the distinctive points or lines, for which the motion vectors are initially determined, and the segmentation of the image into areas with uniform movement, which can be determined from the given vectors of the distinctive points or lines by interpolation. Because of the difficulty of these subtasks, these methods are practically only suitable for image sequences with rigid bodies, such as, for. B. vehicles, but not for processing scenes with moving people, as they often occur in image data compression.
  • the present invention has for its object to provide a novel method of the type mentioned, by means of which motion vector fields can be determined from a given image sequence, special measures being taken to ensure that the motion vector fields reproduce the motion actually present in the image as far as possible.
  • the object is achieved by a method for determining motion vector fields from digital image sequences, which determines a motion vector field from two successive images, which assigns a pixel of the other image to each pixel of one image, the assignment being defined in each case by a motion vector which defines the relative Displacement of the pixels against each other, and where each pixel in a square or rectangular block of pixels receive the same motion vector, solved, which is characterized according to the invention in that the determination of the motion vectors is carried out by minimizing a composite objective function, which on the one hand the differences of the luminance values of the pixels assigned to one another of the two given images is taken into account, and secondly the differences between motion vectors whose coordinates are adjacent, namely so-called neighboring motion vectors , evaluated with the aid of a smoothness measure, and that the minimization of this objective function is carried out in such a way that first the motion vectors minimizing the objective function are determined with the restriction that the motion vectors are constant in larger than the finally aimed blocks, and then each of these Blocks are
  • the method according to the invention is based on the principle of block matchine explained above, see HG Musmann et al, as stated above, ie a motion vector is generated for each block of pixels by evaluating a target function for various possible vectors and searching for that Motion vector that delivers the optimum of the target function is determined.
  • the method is described below on the basis of a preferred exemplary embodiment for the case in which a motion vector field is determined from two images - image A and image B - one for blocks of 4 * 4 pixels (pixels) uniform motion vector field is defined.
  • the process begins with larger blocks that contain several small blocks. In the present example, blocks with the size 16 * 16 are started.
  • d () is used for each pixel b (i, j) in block B (m, n) and for each motion vector [r, s] in question.
  • the "penalty term” thus consists of the L1 norm of the motion vector, multiplied by a control parameter ⁇ and by the number of pixels in a block, namely 256.
  • a square value range is usually chosen for S, e.g. B. the set of all motion vectors [r, s] for which the maximum amount of the two components r and s does not exceed an upper limit.
  • d i, j, r, s
  • the value range S is best limited to a number of sample values [r, s] in a fixed grid (e.g. lattice constant 4) and then in the vicinity of the Optimums continued to be searched ("Three Step Search", see, for example, BHG Musmann, P. Pirsch, H.-J. Grallert: "Advances in Picture Coding", Proc. IEEE 73 (1985) 4, pp. 523-548.
  • the accuracy of the method can be increased in that the search for the optimal motion vector is carried out partly in low-pass filtered images, which in turn can be combined with undersampling of the image in order to reduce expenditure.
  • This first step of the motion vector determination method therefore represents a known block matching method, which, however, is introduced by introducing the "penalty term" P16 (r, s) according to Eq. 1.7a, b was modified for the purpose of smoothing the motion vector fields.
  • this motion vector field is improved iteratively (Relaxation).
  • a new "penalty term” or a new smoothness measure P16 ′ (m, n, r, s) is now defined, with the aid of which the deviation of the motion vectors X16 (m, n) from their respective four neighboring motion vectors X16 ( m-1, n), X16 (m + 1, n), X16 (m, n-1) and X16 (m, n + 1) is measured, see FIG. 3.
  • P16 ′ (m, n, r, s) abs (r - x16 (m-1, n)) + abs (s - y16 (m-1, n)) + + abs (r - x16 (m + 1, n)) + abs (s - y16 (m + 1, n)) + + abs (r - x16 (m, n-1)) + abs (s - y16 (m, n-1)) + + abs (r - x16 (m, n + 1)) + abs (s - y16 (m, n + 1)) * * ⁇ * 16 (2.1)
  • r and s are the components of a motion vector [r, s] which is to be used as the new motion vector X16 (m, n) for block B (m, n).
  • the smoothness measure P16 '(m, n, r, s) thus represents the sum of the absolute norms (L1 norms) of the four difference vectors between X16 (m, n) and its neighbors, multiplied by a control parameter " ⁇ " and the edge length of one Blocks, namely 16.
  • the control parameter " ⁇ " the degree of smoothness of the motion vector field can be controlled in the relaxation step.
  • the L1 standard was chosen because it preserves edges in the motion vector field as they occur at object edges, in contrast to the "quadritic standard" (L2 standard), which favors continuous transitions.
  • the L1 norm of neighboring vectors and not the L2 norm means that edges are preserved in this smoothing process, similar to MEDIAN filtering.
  • the median of a set of numbers is the least that minimizes the sum of the amounts of the differences, that is, the sum of the L1 norms.
  • the previously described smoothing by minimizing D16 ⁇ (m, n, r, s) can therefore also be interpreted as a generalized median filtering of the motion vectors, which takes into account the "displaced frame differences".
  • the quantities x (i, j) and y (i, j) etc. are the components of the motion vectors X (i, j) which result from the motion vector field X16 (m, n) in that all pixels b ( i, j) in block B (m, n) the same motion vector X16 (m, n) is assigned:
  • the motion vector field is further optimized in the following - d. H.
  • the objective function Z is further minimized by halving the size of the blocks in which the motion vector field is assumed to be uniform.
  • This process step corresponds exactly to the relaxation step for block size 16, as described above, but with the change that "16" is to be replaced by "8” in the equations for the target function.
  • D8 ⁇ (p, q, rs) corresponding to D16 ⁇ (m, n, r, s) according to Eq. 2.2 minimizes which is a smoothness measure P8 '(p, q, r, s) as in Eq. 2.1 contains.
  • P8 '(p, q, r, s) as in Eq. 2.1 contains.
  • the same value as for block size 16 can be used for ⁇ (see Eq. 2.1).
  • This process step corresponds exactly to the relaxation steps for block sizes 16 and 8.
  • block subdivision and “relaxation” can be continued up to block size 1 * 1 pixel; however, for many applications a resolution of the motion vector field with one motion vector per 4 * 4 pixels is sufficient.
  • FIG. 8 shows a functional arrangement with which the motion vector determination method described above can in principle be carried out.
  • the final motion vector field is determined in a sequence of variations of the motion vector field, taking into account the respective values of the target function Z.
  • the method described above can also be used to determine motion vector fields for image interpolation. For this, only the sizes that measure the "displaced frame differences", namely D16 (m, n, r, s) (Eq. 1.6) and the corresponding sizes for the blocks of sizes 8 * 8 and 4 * 4, something to be modified.
  • a movement vector determination is necessary on the transmission side in order to determine the movement vectors for the movement-compensating prediction. Since these motion vectors have to be transmitted, the motion vector field cannot be refined here at will. However, these motion vectors can also be used for the prediction in addition to the prediction for motion-compensating interpolation if a refined motion vector field is obtained beforehand from the transferred motion vector field and the transmitted images present on the receiver.
  • the previously described multi-stage process can therefore be used in such a way that the process steps “initialization with block size 16 * 16" and “iterations with block size 16" are carried out on the transmission side and the remaining process steps ("block subdivision” and “iterations” for blocks of 8 and 4) at the receiver, see FIG. 9.
  • the course of the iterative improvement (ITER) for a given block size L is shown in FIG. 5.
  • the motion vector which minimizes the objective function with modified smoothness measure is determined here for all blocks B (m, n).
  • the iterative improvement follows the flow chart according to FIG. 6. There is a logging field FINISHED (m, n), which indicates for each block B (m, n) - with the respective block size L - whether the block is still closed edit is - ie
  • the DONE field is set to zero for all blocks.
  • the minimum of the target function in a certain value range (OPTI) is searched for all blocks that are not yet "DONE", see FIG. 7.
  • DONE (m, n) 1 for all these blocks set. If the motion vector of the block has changed during the minimum search, the DONE field for the neighboring blocks is set so that they can be processed again.
  • the division of the blocks is preferably carried out in each case by halving the edge lengths of the blocks.
  • two pixels namely one from the first and one from the second image, are assigned to each pixel of this intermediate image.
  • the differences in the luminance values of corresponding pixels of the two successive images within a block of pixels are evaluated by means of the sum of the absolute amounts of the differences in the luminance values and used as summands in the target function to be minimized, these summands forming a first component of the target function.
  • the differences in the luminance values of corresponding pixels of the two successive images within a block of pixels can also be evaluated by means of the sum of the squares of the differences in the luminance values and used as summands in the target function to be minimized, these summands forming a first component of the target function.
  • only those four neighboring motion vectors are used as neighbors of each motion vector, the coordinates of which are horizontally and vertically adjacent to the coordinates of the relevant motion vector, i. that is, their coordinates differ by (0.1), (0, -1), (1.0) or (-1.0) from the coordinates of the relevant motion vector.
  • the smoothness measure is modified in such a way that instead of the differences between neighboring motion vectors, the amount norms of motion vectors to be optimized - multiplied by a weighting factor - are used in the target function by means of the smoothness measure.
  • each individual motion vector is optimized in turn by variation in a relevant value range , until a smaller value of the objective function can no longer be found in this way for any motion vector.
  • the range of values of the motion vectors within which the individual motion vectors are varied in order to minimize the objective function is made dependent on the values of the motion vectors in the motion vector field already calculated, so that the range of values for the optimization of the motion vector field is small if neighboring Motion vectors are the same or similar, and is only larger if neighboring motion vectors have large differences between them.
  • a logging system has the effect that only those motion vectors are optimized again with a view to a possible reduction in the value of the target function, the neighboring motion vectors of which have changed since the last optimization of the motion vector in question, so that the smoothness measure has also changed, where appropriate the logging system contains a logging field with a storage space per block for storing control information for the optimization process.
  • the difference between the motion vectors of the current motion vector field and those of the motion vector field calculated immediately beforehand from a previous pair of successive images can also be determined and used in the smoothness measure, for the purpose of smoothing the motion vector field in the time axis direction, d. H. for matching successive motion vector fields.
  • the method according to the invention can also be used in cases in which there are two successive means Data compression of images transmitted from a coder via a channel to a decoder, motion vector fields are determined for the purpose of inserting intermediate images, in such a way that corresponding motion vector fields that have already been transmitted are used to initialize the method.
  • the appendix shows a complete program listing with 42 pages (p 1 ... p 42) covering the entire process sequence according to the invention for a preferred programming example in the programming language FORTRAN.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

This method determines, from in each case two successive frames, a movement vector field which allocates to each picture element of one frame a picture element of the other frame, the allocation in each case being defined by a movement vector which reproduces the relative displacement of the picture elements with respect to one another and in which in each case all picture elements in a square or rectangular block of picture elements are given the same movement vector. The movement vectors are determined by minimising a composite target function which, on the one hand, takes into consideration the differences between the luminance values of the mutually allocated picture elements of the two given frames and, on the other hand, evaluates the differences between movement vectors, the coordinates of which are adjacent, namely so-called neighbour movement vectors, with the aid of a smoothness measure. This target function is minimised in such a manner that first the movement vectors minimising the target function are determined with the restriction that the movement vectors in larger blocks than those ultimately required are constant and that then each of these blocks (16x16) is subdivided into smaller, preferably equally-large, blocks until the required block size (4x4) is reached. <IMAGE>

Description

Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Ermittlung von Bewegungsvektorfeldern aus digitalen Bild­sequenzen, das aus jeweils zwei aufeinanderfolgenden Bildern ein Bewegungsvektorfeld berechnet, welches jedem Bildpunkt eines Bildes einen Bildpunkt des anderen Bildes zuordnet, wobei die Zuordnung jeweils durch einen Bewegungsvektor definiert ist, welcher die relative Verschiebung der Bildpunkte gegen­einander wiedergibt, und wobei jeweils alle Bildpunkte in einem quadratischen oder rechteckigen Block von Bildpunkten den gleichen Bewegungsvektor erhalten.The present invention relates to a method for determining motion vector fields from digital image sequences, which calculates a motion vector field from each two successive images, which associates each pixel of an image with an image point of the other image, the assignment being defined in each case by a motion vector, which is the reproduces relative displacement of the pixels relative to each other, and each pixel in a square or rectangular block of pixels receives the same motion vector.

Für verschiedene Anwendungsfälle, z. B. Bilddatenkompression oder maschinelles Sehen (Roboter, Szenenanalyse), ist es erforderlich, die in einer digitalen Bildsequenz vorhandenen Verschiebungen der Bildinhalte von Bild zu Bild, die sich aus Objektbewegungen oder auch Kamerabewegungen ergeben, auto­matisch zu erfassen. Diese Verschiebungen der lokalen Bild­inhalte können durch Bewegungsvektorfelder dargestellt werden, welche z. B. zu jedem Bildpunkt eines Bildes angeben, um wieviel sich der Bildinhalt an dieser Stelle gegenüber dem vorherigen Bild verschoben hat.For different applications, e.g. B. image data compression or machine vision (robot, scene analysis), it is necessary to automatically detect the existing in a digital image sequence shifts in image content from image to image, which result from object movements or camera movements. These shifts in the local image content can be represented by motion vector fields which, for. B. for each pixel of an image indicate how much the image content has shifted at this point compared to the previous image.

Die Bewegungsvektorfelder werden z. B. in der Bilddaten­kompression zum Zwecke der Übertragung digitaler Bilder mit niedrigen Datenraten dazu verwendet, aus bereits übertragenen Bildern das nächste, noch nicht übertragene Bild vorherzu­sagen. Je besser diese Vorhersage ist, desto kleiner ist die Datenrate, die zur Übertragung des neuen Bildes erforderlich ist, bzw. mit desto besserer Bildqualität kann das neue Bild bei vorgegebener Datenrate übertragen werden.The motion vector fields are e.g. B. used in image data compression for the purpose of transmitting digital images with low data rates to predict the next, not yet transmitted image from already transmitted images. The better this prediction is, the smaller the data rate that is required for the transmission of the new image, or with the better image quality, the new image can be transmitted at a predetermined data rate.

Ein weiterer Anwendungsfall der Bewegungsvektorfelder ist die Rekonstruktion fehlender Bilder aus einer Bildsequenz, die zum Zwecke der Datenkompression zeitlich unterabgetastet wurde. Das bedeutet, daß z. B. nur jedes dritte Bild der Sequenz verfüg­bar ist und die beiden fehlenden Bilder zwischen je zwei vor­handenen Bildern (den "Stützstellenbildern") möglichst "be­wegungsrichtig" zu interpolieren sind, so daß in der rekon­struierten Szene die Bewegungen von Objekten so gleichmäßig wie im Original ablaufen. Hierfür sind Bewegungsvektorfelder er­forderlich, die für jeden Bildpunkt eines zu interpolierenden BIldes angeben, welcher Bildpunkt bzw. welche BIldpunkte in den beiden zugehörigen Stützstellenbildern für die Rekonstruktion des betreffenden Bildpunktes zu verwenden sind.Another application of the motion vector fields is the reconstruction of missing images from an image sequence that was undersampled in time for the purpose of data compression. That means that e.g. B. only every third image of the sequence is available and the two missing images between two existing images (the "reference point images") are to be interpolated as "movement-correctly" as possible, so that the movements of objects in the reconstructed scene run as smoothly as in the original . For this purpose, motion vector fields are required which indicate for each pixel of an image to be interpolated which image point or which image points are to be used in the two associated reference point images for the reconstruction of the relevant pixel.

In jedem Falle ist in den Bewegungsvektorfeldern jedem Bild­punkt eines Bildes oder auch je einer Gruppe von benachbarten Bildpunkten ein Bewegungsvektor zugeordnet, der die lokale Bewegung durch zwei Komponenten, nämlich den horizontalen und den vertikalen Bewegungsanteil, beschreibt.In any case, a motion vector is assigned to each pixel of an image or also to a group of adjacent pixels in the motion vector fields, which motion vector describes the local motion by two components, namely the horizontal and the vertical motion component.

Ein Problem bei der Ermittlung solcher Bewegungsvektor­felder besteht darin, daß die in einer Bildsequenz vor­handenen Bewegungen in der Regel vom Ort der Bildpunkte ab­hängig sind, so daß bereits in einem kleinen Bildausschnitt mehrere verschiedene Bewegungsvektoren vorkommen können, und zwar insbesondere an den Rändern bewegter Objekte. Daher darf für die Ermittlung eines Bewegungsvektors für einen bestimmten Bildpunkt eigentlich nur dieser Bildpunkt selbst betrachtet werden. Andererseits ist aus einem einzelnen Bildpunkt ein Bewegungsvektor schon deshalb nicht ermittelbar, weil der Bewegungsvektor zwei Komponenten beinhaltet und jeder einzelne Bildpunkt nur eine Gleichung für diese zwei Unbekannten definiert, vergl. z. B. B.K.P. Horn, B.G. Schunck: "Determining optical flow", Artificial Intelligence 17, pp. 185-203, 1981. Aber auch in einer kleinen Umgebung um den Bildpunkt herum ist der Bildinhalt häufig noch so wenig struktiert, daß die Be­wegung am Ort des betreffenden Bildpunkts nicht eindeutig feststellbar ist. Daraus ergibt sich die Schwierigkeit, daß einerseits in Gebieten mit stark vom Ort anhängigen Bewe­gungsvektoren nur kleine Umgebungen zur Berechnung eines Bewegungsvektors zu verwenden sind, andererseits in Gebieten mit nicht deutlich strukturierten Bildinhalten große Umge­bungen benötigt werden, um eindeutig die Bewegung erkennen zu köennen. Es ist daher notwendig, die Größe der jeweiligen Umgebung zu variieren, und es muß außerdem auch Vorwissen, nämlich z. B. die Annahme einer bestimmten Glattheit des Bewegungsvektorfeldes, ausgenutzt werden, um auch bei ver­rauschten Bildern und in wenig differenzierten Bildausschnitten Bewegungsvektoren zu erhalten, die für die obigen Anwendungs­fälle brauchbar sind.A problem with the determination of such motion vector fields is that the movements present in an image sequence are generally dependent on the location of the pixels, so that several different motion vectors can occur in a small image section, in particular at the edges of moving objects. Therefore, to determine a motion vector for a certain pixel, only this pixel itself should actually be considered. On the other hand, a motion vector cannot be determined from a single pixel, if only because the motion vector contains two components and each individual pixel defines only one equation for these two unknowns, cf. BBKP Horn, BG Schunck: "Determining optical flow", Artificial Intelligence 17, pp. 185-203, 1981. But is also in a small environment around the pixel the content of the picture is often structured so little that the movement at the location of the pixel in question cannot be clearly determined. This results in the difficulty that, on the one hand, only small surroundings are to be used for calculating a movement vector in areas with movement vectors that are strongly dependent on the location, and on the other hand, large areas are required in areas with not clearly structured image contents in order to be able to clearly recognize the movement. It is therefore necessary to vary the size of the respective environment, and it must also have previous knowledge, namely z. B. the assumption of a certain smoothness of the motion vector field can be used in order to obtain motion vectors that are useful for the above applications even with noisy images and in little differentiated image sections.

Es sind bisher im wesentlichen drei verschiedene Ansätze zur Bewegungsvektorschätzung untersucht worden, vergl. z. B. H.G. Musmann, P. Pirsch, H.-J. Grallert: "Advances in Picture Coding", Proc. IEEE 73 (1985) 4, pp. 523-548, und zwar

  • 1) Block-Matching-Verfahren,
  • 2) Differentielle Verfahren,
  • 3) Verfahren, die mit markanten Punkten arbeiten.
So far, three different approaches to motion vector estimation have been investigated. BHG Musmann, P. Pirsch, H.-J. Grallert: "Advances in Picture Coding", Proc. IEEE 73 (1985) 4, pp. 523-548
  • 1) block matching method,
  • 2) differential methods,
  • 3) Procedures that work with distinctive points.

Die Arbeitsweise dieser Verfahren wird im folgenden für den Fall, daß für ein Bild (z. B. Bild B) einer Bildsequenz die Verschiebung der Bildinhalte gegenüber dem Vorläuferbild (Bild A) bestimmt werden soll, kurz erläutert.The mode of operation of these methods is briefly explained below in the event that the shift of the image contents with respect to the previous image (image A) is to be determined for an image (for example image B) of an image sequence.

Zu 1):To 1):

In Block-Matching-Verfahren wird das Bild, für das Bewegungs­vektoren bestimmt werden sollen, in quadratische oder recht­eckige Blöcke konstanter Größe, d. h. mit vorgegebener Anzahl von Bildpunkten (häufig 16x16 oder 8x8) unterteilt, vergl. z. B. C.M. Lin, S.C. Kwatra: "Motion compensated interframe color image coding", Proc. Int. Conf. on Communications, 1984, vol. 1, pp. 516-520 und H. Brusewitz, P. Weiss: "A video­conference system at 384 kbit/s". Picture Coding Symposium, Tokyo, Abstracts p. 212, 1986. Für alle Bildpunkte in einem Block wird der gleiche Bewegungsvektor bestimmt, und zwar entsprechend der Annahme, daß näherungsweise die Bewegung in dem kleinen Bildausschnitt, der einem Block entspricht, kon­stant ist.In block matching methods, the image for which motion vectors are to be determined is divided into square or rectangular blocks of constant size, ie with a predetermined number of pixels (often 16x16 or 8x8), cf. BCM Lin, SC Kwatra: "Motion compensated interframe color image coding ", Proc. Int. Conf. on Communications, 1984, vol. 1, pp. 516-520 and H. Brusewitz, P. Weiss:" A videoconference system at 384 kbit / s ". Picture Coding Symposium, Tokyo , Abstracts p. 212, 1986. The same motion vector is determined for all pixels in a block, namely on the assumption that approximately the motion in the small image section that corresponds to a block is constant.

Hierbei wird der Bewegungsvektor für einen BLock in Bild B dadurch bestimmt, daß für eine Vielzahl von möglichen Be­wegungsvektoren in einem vorgegebenen Wertbereich jeweils derjenige Block in Bild A herausgegriffen wird, der die um den Bewegungsvektor verschobenen Bildpunkte aus Bild A enthält, und daß aus der Vielzahl dieser Blöcke derjenige ausgewählt wird, der zu dem gegebenen Block in Bild B den geringsten Unterschied aufweist. Der Unterschied zweier Blöcke in Bild A und B wird dabei durch ein geeignetes Abstandsmaß, nämlich z. B. die Summe der Quadrate (L2-Norm) oder die Summe der Beträge (L1-Norm) der Bildpunktdifferenzen, ausgedrückt. Derjenige Bewegungsvektor, bei dem die beiden Blöcke aus Bild A und Bild B den geringsten Abstand aufweisen, wird in das gesuchte Bewegungsvektorfeld übernommen.Here, the motion vector for a BLock in image B is determined by picking out the block in image A that contains the pixels shifted by the motion vector from image A for a large number of possible motion vectors in a predetermined value range, and that from the plurality of these blocks, the one is selected that has the least difference to the given block in image B. The difference between two blocks in Figures A and B is determined by a suitable distance, namely z. B. the sum of the squares (L2 norm) or the sum of the amounts (L1 norm) of the pixel differences, expressed. The motion vector in which the two blocks from image A and image B have the smallest distance is adopted in the motion vector field sought.

Das Problem hierbei besteht - wie eingangs ausgeführt - in der Wahl der passenden Blockgröße: Bei zu großen Blöcken wird das Bewegungsvektorfeld zu grob und ungenau, weil die Annahme konstanter Bewegung in den einzelnen Blöcken nicht mehr stimmt; bei zu kleinen Blöcken ist häufig der Bildinhalt zu undif­ferenziert, um die richtige Objektbewegung erkennen zu lassen. In der Veröffentlichung G. Kummerfeldt, F. May, W. Wolf: "Coding television signals at 320 and 64 kbit/s", Image Coding, M. Kunt, T.S. Huang (Herausgeber), Proc. SPIE 594, pp. 119-128, 1985 wird der Versuch gemacht, durch nachträgliches Zusammen­fassen und Glätten der Bewegungsvektoren mehrerer Blöcke, die als zu einem Objekt gehörig klassifiziert werden, das Problem der falsch geschätzten Vektoren in Blöcken mit ambivalentem Bildinhalt zu lösen. Die Ergebnisse zeigen jedoch, daß dieser Ansatz nur bei sehr einfach zu beschreibenden Gesamtbewegungen des Bildinhalts, wie "Kamerazoom: ohne zusätzliche Objektbe­wegungen, eine Verbesserung des Bewegungsvektorfeldes - in diesem Fall für den Einsatz in der bewegungsadaptiven Prädiktion in der Bilddatenkompression - bewirkt.The problem here - as stated at the beginning - is the selection of the appropriate block size: If the blocks are too large, the motion vector field becomes too coarse and inaccurate because the assumption of constant movement in the individual blocks is no longer correct; if the blocks are too small, the image content is often too undifferentiated to allow the correct object movement to be recognized. In the publication G. Kummerfeldt, F. May, W. Wolf: "Coding television signals at 320 and 64 kbit / s", Image Coding, M. Kunt, TS Huang (editor), Proc. SPIE 594, pp. 119-128, 1985, an attempt is made to retroactively combine and smooth the motion vectors of several blocks that are classified as belonging to an object solve the incorrectly estimated vectors in blocks with ambivalent image content. The results show, however, that this approach only improves the overall movement of the image content with very simple to describe overall movements of the image content, such as "camera zoom: without additional object movements - in this case for use in motion-adaptive prediction in image data compression.

zu 2):to 2):

Bei den differentiellen Verfahren, vergl. z. B. P. Robert, C. Cafforio, F. Rocca: "Time/space recursions for differential motion estimation, " Image Coding, M. Kunt, T.S. Huang (Heraus­geber), Proc. SPIE 594, pp. 175-185, 1986, wird die Annahme einer konstanten Bewegung für einen Block benachbarter Bild­punkte fallengelassen und stattdessen für jeden Bildpunkt ein eigener Bewegungsvektor ermittelt. Zu diesem Zweck werden für jeden Bildpunkt bestimmte Modellparameter berechnet, die den lokalen Verlauf des Bildsignals in der Umgebung des Bildpunktes beschreiben, und aus diesen Parametern sowie aus der Differenz der Bildinhalte von Bild A und B am Ort des betrachteten Bild­punkts wird auf die zugrundeliegende Bewegung, d. h. die Ver­schiebung der Bildinhalte gegeneinander, geschlossen. Da in der Regel diese Schätzung der Bewegung zunächst nur eine Näherungs­lösung ist, wird die Prozedur iterativ fortgesetzt, solange bis sich keine weitere Verbesserung des Bewegungsvektors mehr ergibt.In the differential method, cf. B. P. Robert, C. Cafforio, F. Rocca: "Time / space recursions for differential motion estimation," Image Coding, M. Kunt, T.S. Huang (Editor), Proc. SPIE 594, pp. 175-185, 1986, the assumption of a constant movement for a block of neighboring pixels is dropped and instead a separate motion vector is determined for each pixel. For this purpose, certain model parameters are calculated for each pixel, which describe the local course of the image signal in the vicinity of the pixel, and from these parameters and from the difference in the image contents of images A and B at the location of the pixel under consideration, the underlying movement is d. H. the shift of the image contents against each other, closed. Since this estimate of the movement is initially only an approximate solution, the procedure is continued iteratively until there is no further improvement in the movement vector.

Ein Problem bei diesem Verfahren besteht darin, daß die Be­schreibung des Bildinhalts mittals Modellparametern nur in engen Grenzen gültig ist und z. B. bei großen Verschiebungen zwischen BIld A und Bild B versagt. Weiterhin wird zur Be­rechnung der Modellparameter für einen Bildpunkt die Umge­bung des Bildpunkts mit herangezogen, wobei wiederum die Gleichförmigkeit der Bewegung in dieser Umgebung vorausge­setzt wird, so daß die Wahl der Größe dieser Umgebung die gleichen Probleme aufwirft wie die Wahl der Blockgröße in Block-Matching-Verfahren. Dadurch, daß sich die Umgebungen der Bildpunkte gegenseitig überlappen, ergeben sich Vektorfelder, die sich von einem Bildpunkt zum nächsten nur wenig ändern und daher Sprünge in der Bewegung, wie sie an Objektgrenzen auf­treten, nicht richtig wiedergeben.A problem with this method is that the description of the image content as model parameters is only valid within narrow limits and z. B. fails with large shifts between image A and image B. Furthermore, the environment of the image point is used to calculate the model parameters for a pixel, again the uniformity of the movement in this environment is presupposed, so that the choice of the size of this environment poses the same problems as the choice of block size in block matching processes. The fact that the surroundings of the pixels overlap each other results in vector fields that change only slightly from one pixel to the next and therefore do not correctly represent jumps in the movement that occur at object boundaries.

In der Veröffentlichung B.K.P. Horn, B.G. Schunck: "Determining optical flow", Artificial Intelligence 17, pp. 185-203, 1981, wird die Frage diskutiert, wie bei diesen differentiellen Verfahren dafür gesorgt werden kann, daß auch in homogenen Bildbereichen, die keine eindeutige Bewegungserkennung zu­lassen, sinnvolle, der Realität weitgehend entsprechende Bewegungsvektorfelder ermittelt werden können. Es wird vorge­schlagen, in die zu minimierende Zielfunktion einen Term mit aufzunehmen, der die Unglattheit des entstehenden Bewegungs­vektorfeldes ausdrückt. Wegen der Gestaltung dieses die Un­glattheit des Bewegungsvektorfeldes messenden Anteils der Zielfunktion - es wird die quadratische Norm der sog. "Laplacian" des Vektorfeldes gemessen, vor allem weil dieses eine analytische, mathematisch einfach handhabbare Funktion ergibt - entstehen Probleme des Verfahrens an Objektgrenzen: Sprünge im Bewegungsvektorfeld werden fälschlicherweise unterdrückt.In the publication B.K.P. Horn, B.G. Schunck: "Determining optical flow", Artificial Intelligence 17, pp. 185-203, 1981, the question is discussed as to how it can be ensured with these differential methods that even in homogeneous image areas which do not permit unambiguous motion detection, meaningful motion vector fields largely corresponding to reality can be determined. It is proposed to include in the objective function to be minimized a term that expresses the smoothness of the motion vector field that arises. Because of the design of this part of the target function, which measures the smoothness of the motion vector field - the quadratic norm of the so-called "Laplacian" of the vector field is measured, above all because this results in an analytical, mathematically easy-to-use function - problems of the method at object boundaries arise: jumps in the Motion vector fields are incorrectly suppressed.

Zu 3):To 3):

In der dritten Art von Verfahren wird versucht, das Problem, daß die tatsächliche Objektbewegung aus dem lokalen Bildinhalt oft nicht eindeutig erkennbar ist, dadurch zu umgehen, daß zunächst markante Punkte ("Grauwertecken") oder auch Linien (Helligkeitskanten) im Bild gesucht werden und nur für diese Punkte oder längs der Linien ein Bewegungsvektor ermittelt wird, vergl. z. B. R. Lenz: "Estimation of 2-D general motion parameters in TV scenes", Proc. 7th Int. Conf. Pattern Rec., Montreal, Canada, July 30-Aug.2, 1984. Vol. 1, pp. 546-548 und C.J. Radford: "Optical flow fields in Houch transform space", Pattern Recognition Letters 4, pp. 293-303, 1986. Dann muß für den Rest der Bildpunkte das Bewegungsvektorfeld mit geeig­neten Mitteln aus den gegebenen Bewegungsvektoren interpoliert werden. Problematisch hierbei sind das zuverlässige Auffinden der markanten Punkte bzw. Linien, für welche zunächst die Be­wegungsvektoren ermittelt werden, und die Segmentierung des Bildes in Gebiete mit gleichförmiger Bewegung, welche aus den gegebenen Vektoren der markanten Punkte bzw. Linien durch Interpolation ermittelt werden kann. Wegen der Schwierigkeit dieser Teilaufgaben eignen sich diese Verfahren praktisch nur für Bildsequenzen mit starren Körpern, wie z. B. Fahrzeugen, jedoch nicht für Verarbeitung von Szenen mit sich bewegenden Personen, wie sie häufig in der Bilddatenkompression vor­kommen.In the third type of method an attempt is made to circumvent the problem that the actual object movement is often not clearly recognizable from the local image content by first searching for striking points ("gray value corners") or also lines (brightness edges) in the image and a motion vector is determined only for these points or along the lines, cf. BR Lenz: "Estimation of 2-D general motion parameters in TV scenes", Proc. 7th Int. Conf. Pattern Rec., Montreal, Canada, July 30-Aug. 2, 1984. Vol. 1, pp. 546-548 and CJ Radford: "Optical flow fields in Houch transform space", Pattern Recognition Letters 4, pp. 293-303, 1986. Then, for the rest of the pixels, the motion vector field must be interpolated from the given motion vectors using suitable means. Problematic here are the reliable finding of the distinctive points or lines, for which the motion vectors are initially determined, and the segmentation of the image into areas with uniform movement, which can be determined from the given vectors of the distinctive points or lines by interpolation. Because of the difficulty of these subtasks, these methods are practically only suitable for image sequences with rigid bodies, such as, for. B. vehicles, but not for processing scenes with moving people, as they often occur in image data compression.

Auch für diese Verfahren sind Glättungsoperatoren entwickelt worden, vergl. z. B. H.-H Nagel, W. Enkelmann: "An investigation of smoothness constraints for the estimation of displacement vector fields from image sequences". IEEE Trans. PAMI-8/5, pp. 565-593, Sept. 1986, und zwar wiederum basierend auf der quadratischen Norm einer aus dem Bewegungsvektorfeld angeleiteten Unglattheits-Funktion. Da hierbei die bekannten Probleme an Objektgrenzen entstehen, wurde in dieser Arbeit vorgeschlagen, eine "gerichtete Glattheirsforderung" aufzu­stellen, die eine Glättung des Bewegungsvektorfeldes nur senkrecht zum Gradienten des Helligverlaufs in dem betreffenden Bild bewirken soll. Das hieraus entstehende Verfahren ist allerdings sehr aufwendig.Smoothing operators have also been developed for these methods, cf. B. H.-H Nagel, W. Enkelmann: "An investigation of smoothness constraints for the estimation of displacement vector fields from image sequences". IEEE Trans. PAMI-8/5, pp. 565-593, Sept. 1986, again based on the quadratic norm of a smoothness function derived from the motion vector field. Since this creates the known problems at object boundaries, it was proposed in this work to set up a "directed smoothness requirement" which should only smooth the motion vector field perpendicular to the gradient of the brightness in the image in question. However, the resulting process is very complex.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein neuartiges Verfahren der eingangs genannten Art zu schaffen, mittels dessen Bewegungsvektorfelder aus einer gegebenen Bildsequenz bestimmt werden können, wobei durch besondere Maßnahmen dafür gesorgt wird, daß die Bewegungsvektorfelder möglichst die tatsächlich im Bild vorhandene Bewegung wiedergeben.The present invention has for its object to provide a novel method of the type mentioned, by means of which motion vector fields can be determined from a given image sequence, special measures being taken to ensure that the motion vector fields reproduce the motion actually present in the image as far as possible.

Die Aufgabe wird durch ein Verfahren zur Ermittlung von Be­wegungsvektorfeldern aus digitalen Bildsequenzen, das aus jeweils zwei aufeinanderfolgenden Bildern ein Bewegungs­vektorfeld ermittelt, welches jedem Bildpunkt des einen Bildes einen Bildpunkt des anderen Bildes zuordnet, wobei die Zu­ordnung jeweils durch einen Bewegungsvektor definiert ist, welcher die relative Verschiebung der Bildpunkte gegen­einander wiedergibt, und wobei jeweils alle Bildpunkte in einem quadratischen oder rechteckigen Block von Bildpunkten den gleichen Bewegungsvektor erhalten, gelöst, das erfindungsge­mäß dadurch gekennzeichnet ist, daß die Ermittlung der Be­wegungsvektoren durch Minimierung einer zusammengesetzten Zielfunktion durchgeführt wird, welche zum einen die Differenzen der Luminanzwerte der einander zugeordneten Bild­punkte der beiden gegebenen Bilder berücksichtigt, zum anderen die Differenzen zwischen Bewegungsvektoren, deren Koordinaten benachbart sind, nämlich sog. Nachbar-Bewegungsvektoren, mit Hilfe eines Glattheitsmaßes bewertet, und daß die Minimierung dieser Zielfunktion in der Weise durchgeführt wird, daß zu­nächst die die Zielfunktion minimierenden Bewegungsvektoren unter der Einschränkung ermittelt werden, daß die Bewegungs­vektoren in größeren als den endgültig angestrebten Blöcken konstant sind, und daß anschließend jeder dieser Blöcke in kleinere, vorzugsweise gleichgroße Blöcke unterteilt wird, bis die angestrebte Blockgröße erreicht ist, wobei nach jeder Verkleinerung der Blöcke wiederum die Zielfunktion durch Variation der Bewegungsvektoren minimiert wird.The object is achieved by a method for determining motion vector fields from digital image sequences, which determines a motion vector field from two successive images, which assigns a pixel of the other image to each pixel of one image, the assignment being defined in each case by a motion vector which defines the relative Displacement of the pixels against each other, and where each pixel in a square or rectangular block of pixels receive the same motion vector, solved, which is characterized according to the invention in that the determination of the motion vectors is carried out by minimizing a composite objective function, which on the one hand the differences of the luminance values of the pixels assigned to one another of the two given images is taken into account, and secondly the differences between motion vectors whose coordinates are adjacent, namely so-called neighboring motion vectors , evaluated with the aid of a smoothness measure, and that the minimization of this objective function is carried out in such a way that first the motion vectors minimizing the objective function are determined with the restriction that the motion vectors are constant in larger than the finally aimed blocks, and then each of these Blocks are subdivided into smaller, preferably equally large, blocks until the desired block size is reached, the objective function being minimized by varying the motion vectors after each reduction of the blocks.

Das erfindungsgemäße Verfahren geht von dem weiter oben erläuterten Prinzip des Block-Matchine aus, vergl. H.G. Mus­mann et al, wie zuvor angegeben, d. h. es wird jeweils für einen Block von Bildpunkten ein Bewegungsvektor durch Aus­wertung einer Zielfunktion für verschiedene mögliche Vektoren und Suche nach demjenigen Bewegungsvektor, der das Optimum der Zielfunktion liefert, ermittelt.The method according to the invention is based on the principle of block matchine explained above, see HG Musmann et al, as stated above, ie a motion vector is generated for each block of pixels by evaluating a target function for various possible vectors and searching for that Motion vector that delivers the optimum of the target function is determined.

Vorteilhafte Weiterbildungen der Erfindung sind durch die in den Unteransprüchen angegebenen Merkmale gekennzeichnet.Advantageous developments of the invention are characterized by the features specified in the subclaims.

Zur Überwindung der weiter oben erläuterten Probleme sind gemäß der Erfindung die folgenden neuen Prinzipien in das Be­wegungsvektor-Ermittlungsverfahren aufgenommen worden:

  • 1) Um ein Bewegungsvektorfeld mit hoher Auflösung zu erhalten, das auch an Objektgrenzen die tatsächliche Bewegung mit hoher Genauigkeit beschreibt, wird das Bild in kleine Blöcke von z. B. 4*4 Bildpunkten (Pixel) unterteilt, für die jeweils ein Bewegungsvektor ermittelt wird. Jedoch wird zum Zwecke der Überwindung der Nachteile der kleinen Blöcke (möglicherweise ambivalenter, nicht genügend charakteristischer Bildinhalt) zunächst in einem ersten Schritt des Verfahrens eine Bewegungs­vektor-Ermittlung für erheblich größere Blöcke (z. B. 16*16 oder 32*32 Bildpunkte) durchgeführt. Diese großen Blöcke werden in weiteren Schritten des Verfahrens in kleinere Blöcke unter­teilt, wofür jeweils ein eigener Bewegungsvektor ermittelt wird, wobei die Bewegungsvektoren der großen Blöcke als Aus­gangspunkt und Hilfsmittel dienen. (ABNEHMENDE BLOCKGRÖSSE).
  • 2) Anstelle der üblichen Zielfunktionen von Block-Matching-­Verfahren, die nur die Differenzen der Bildpunktwerte der aufeinanderfolgenden Bilder zum Ausdruck bringen, werden in dem erfindungsgemäßen Verfahren Zielfunktionen verwendet, die durch geeignete ZUSATZTERME auch die "GLATTHEIT" des Bewegungsvektor­feldes berücksichtigen. Insbesondere wird im ersten Schritt des Verfahrens bei der Initialisierung des Bewegungsvektorfeldes mit großer Blockgröße zunächst die Länge der einzelnen Be­wegungsvektoren mit in die minimierende Zielfunktion ein­bezogen. In den Folgeschritten des Verfahrens werden dann die Unterschiede "benachbarter" Bewegungsvektoren, d. h. der Bewegungsvektoren benachbarter Blöcke, in die Zielfunktion mit hineingenommen. Durch diese Art der Zielfunktion kann eine Glättung des Bewegungsvektorfeldes und eine Unterdrücking von Ermittlungsfehlern, die als "Ausreißer" hervortreten, bewirkt werden, und zwar auch bei der Ermittlung der Bewegung von Ob­jekten, die ihre Form ändern können, wie z. B. Personen.
  • 3)Die bei anderen Verfahren (differentiellen sowie mit mar­kanten Punkten arbeitenden Verfahren) im Zusammenhang mit Glattheitsmaßen auftauchenden Probleme an Objektkanten, wo Sprünge im Bewegungsvektorfeld möglich sein müssen, werden in dem erfindungsgemäßen Block-Matching-Verfahren dadurch ver­mieden, daß das Glattheitsmaß, welches die Unterschiede be­nachbarter Bewegungsvektoren mißt, nicht auf der quadratischen Norm, sondern auf der BETRAGSNORM der Differenzen beruht. Der Effekt ist ähnlich einer MEDIAN-Filterung des Bewegungsvektor­feldes, bei der auch ausgeprägte Sprünge im Bewegungsvektorfeld erhalten bleiben und nur sog. "Ausreißer" unterdrückt werden. Dieses Glattheitsmaß ermöglicht daher auch das korrekte Er­mitteln von Bewegungsvektorfeldern an Objektkanten.
  • 4) Speziell in der Bildcodierung zum Zwecke der Bilddaten­kompression kann das Verfahren in der Weise angewendet werden, daß sendseitig zunächst nur mit größeren Blöcken gearbeitet wird und die zugehörigen Bewegungsvektoren zum Empfänger übertragen werden. Diese Bewegungsvektoren werden zur be­wegungskompensierenden Prädiktion von Bildern im Sender (Coder) und Empfänger (Decoder) verwendet. Zusätzlich werden auf der Empfängerseite mit Hilfe der empfangenen BIlder iterativ die noch fehlenden Verfeinerungschritte für das Bewegungsvektor­feld durchgeführt, bis die gewünschte kleinste Blockgröße erreicht ist. DIeses Bewegungsvektorfeld kann dann dazu ver­wendet werden, fehlende BIlder der Bildsequenz, die beim Sender zwecks Datenreduktion übersprungen wurden, bewegungsrichtig zu INTERPOLIEREN.
To overcome the problems discussed above, the following new principles have been incorporated into the motion vector detection method according to the invention:
  • 1) In order to obtain a motion vector field with high resolution, which also describes the actual motion with high accuracy at object boundaries, the image is divided into small blocks of e.g. B. 4 * 4 pixels (pixels), for each of which a motion vector is determined. However, in order to overcome the disadvantages of the small blocks (possibly ambivalent, not sufficiently characteristic picture content), a motion vector determination for considerably larger blocks (e.g. 16 * 16 or 32 * 32 pixels) is carried out in a first step of the method . In further steps of the method, these large blocks are subdivided into smaller blocks, for each of which a separate motion vector is determined, the motion vectors of the large blocks serving as a starting point and aids. (DECREASING BLOCK SIZE).
  • 2) Instead of the usual target functions of block matching methods, which only express the differences in the pixel values of the successive images, target functions are used in the method according to the invention, which also take into account the "SMOOTHNESS" of the motion vector field by means of suitable ADDITIONAL TERMS. In particular, in the first step of the method, when the motion vector field is initialized with a large block size, the length of the individual motion vectors is first included in the minimizing target function. In the subsequent steps of the method, the differences between "adjacent" motion vectors, ie the motion vectors of adjacent blocks, are then included in the target function. This type of objective function can smooth the motion vector field and suppress Detection errors that appear as "outliers" are caused, including when determining the movement of objects that can change their shape, such as. B. People.
  • 3) The problems that occur with other methods (differential methods as well as methods with distinctive points) in connection with smoothness measures at object edges, where jumps in the motion vector field must be possible, are avoided in the block matching method according to the invention in that the smoothness measure which the Measures differences of neighboring motion vectors, not based on the quadratic norm, but on the AMOUNT of the differences. The effect is similar to MEDIAN filtering of the motion vector field, in which pronounced jumps in the motion vector field are retained and only so-called "outliers" are suppressed. This smoothness measure therefore also enables the correct determination of motion vector fields at object edges.
  • 4) Especially in image coding for the purpose of image data compression, the method can be used in such a way that on the transmission side only larger blocks are initially used and the associated motion vectors are transmitted to the receiver. These motion vectors are used for motion-compensating prediction of images in the transmitter (coder) and receiver (decoder). In addition, the missing refinement steps for the motion vector field are carried out iteratively on the receiver side with the aid of the received images until the desired smallest block size is reached. This motion vector field can then be used to INTERPOLATE missing images of the image sequence that were skipped at the transmitter for the purpose of data reduction.

Im folgenden wird die Erfindung anhand mehrerer Figuren im einzelnen beschrieben.

  • Fig. 1 zeigt eine schematische Darstellung des Ablaufs des Bewegungsvektor-Ermittlungsverfahrens für eine endgültige Blockgröße 4*4 und eine Startblockgröße 16*16.
  • Fig. 2 zeigt eine schematische Darstellung der Art und Weise einer durchzuführenden Blockunterteilung.
  • Fig. 3 zeigt die Darstellung eines Bewegungsvektors X16(m,n) mit den Bewegungsvektoren der vier Nachbar­blöcke.
  • Fig. 4 zeigt ein Flußdiagramm für den Gesamtablauf des Verfahrens.
  • Fig. 5 zeigt ein erstes Unter-Flußdiagramm, das den Ablauf der Initialisierung des Verfahrens verdeutlicht.
  • Fig. 6 zeigt ein zweites Unter-Flußdiagramm, das den Ablauf der Iterationsschritte innerhalb des Verfahrens verdeut­licht.
  • Fig. 7 zeigt ein drittes Unter-Flußdiagramm, das den Ablauf eines Optimierungsvorgangs innerhalb des Verfahrens verdeutlicht.
  • Fig. 8 zeigt eine blockschaltbildartige Darstellung des Bewegungsvektor-Ermittlungsverfahrens.
  • Fig. 9 zeigt ein Blockschaltbild betreffend eine Bildsequenzen-­Übertragungsanordnung, die Einrichtungen zur Durch­führung des erfindungsgemäßen Verfahrens enthält.
The invention is described in detail below with reference to several figures.
  • 1 shows a schematic representation of the sequence of the motion vector determination method for a final block size 4 * 4 and a starting block size 16 * 16.
  • Fig. 2 shows a schematic representation of the manner of a block division to be carried out.
  • 3 shows the representation of a motion vector X16 (m, n) with the motion vectors of the four neighboring blocks.
  • 4 shows a flow chart for the overall sequence of the method.
  • FIG. 5 shows a first sub-flow diagram which illustrates the process of initializing the method.
  • FIG. 6 shows a second sub-flow diagram which clarifies the sequence of the iteration steps within the method.
  • FIG. 7 shows a third sub-flow diagram which clarifies the course of an optimization process within the method.
  • FIG. 8 shows a block diagram representation of the motion vector determination method.
  • FIG. 9 shows a block diagram relating to an image sequence transmission arrangement which contains devices for carrying out the method according to the invention.

Das Verfahren wird im folgenden anhand eines bevorzugten Aus­führungsbeispiels für den Fall beschrieben, bei dem aus zwei Bildern - Bild A und Bild B - ein Bewegungsvektorfeld ermittelt wird, wobei jeweils für Blöcke von 4*4 Bildpunkten (Pixel) ein uniformes Bewegungsvektorfeld definiert wird. Das Verfahren beginnt zunächst mit größeren Blöcken, die mehrere kleine Blöcke beinhalten. In dem vorliegenden Beispiel wird mit Blöcken der Größe 16*16 begonnen.The method is described below on the basis of a preferred exemplary embodiment for the case in which a motion vector field is determined from two images - image A and image B - one for blocks of 4 * 4 pixels (pixels) uniform motion vector field is defined. The process begins with larger blocks that contain several small blocks. In the present example, blocks with the size 16 * 16 are started.

Der gesamte Verfahrensablauf folgt dann einem Schema, wie es in Fig. 1 dargestellt ist.The entire process sequence then follows a scheme as shown in FIG. 1.

Die Verfahrensschritte werden im folgenden beschrieben.The process steps are described below.

Block-Matching 16*16 (INIT16)Block matching 16 * 16 (INIT16)

Gegeben sind die zwei aufeinanderfolgenden BIlder A und B einer Sequenz, die aus Bildpunkten
    a(k,h), k = 1...I, h = 1...J      (1.1a)
und
    b(i,j), i = 1...I, j = 1...J      (1.1b)
bestehen, wobei i bzw. k der Zeilenindex, j bzw. h der Spalten­index ist.
The two successive images A and B of a sequence are given, which consist of pixels
a (k, h), k = 1 ... I, h = 1 ... J (1.1a)
and
b (i, j), i = 1 ... I, j = 1 ... J (1.1b)
exist, where i and k is the row index, j and h is the column index.

Ziel des gesamten Verfahrens ist die Ermittlung eines Be­wegungsvektorfeldes X(i,j), i = 1...I, j = 1...J.      (1.1c)The aim of the entire method is to determine a motion vector field X (i, j), i = 1 ... I, j = 1 ... J. (1.1c)

Das Bild B wird nun in Blöcke
    B(m,n), mit m = 1...M, n = 1...N      (1.2)
unterteilt, die jeweils 16*16 Bildpunkte b(i,j) enthalten, vergl. Fig. 2.
Image B is now in blocks
B (m, n), with m = 1 ... M, n = 1 ... N (1.2)
subdivided, each containing 16 * 16 pixels b (i, j), see FIG. 2.

Zu jedem Block B(m,n) wird nun ein vorläufiger, als Hilfs­mittel dienender Bewegungsvektor
    X16(m,n) = [x16(m,n),y16(m,n)]      (1.3)
ermittelt, der aus zwei Komponenten, nämlich der horizon­talen Verschiebung x16(m,n) und der vertikalen Verschiebung y16(m,n), besteht.
For each block B (m, n) there is now a provisional motion vector that serves as an aid
X16 (m, n) = [x16 (m, n), y16 (m, n)] (1.3)
determined, which consists of two components, namely the horizontal displacement x16 (m, n) and the vertical displacement y16 (m, n).

Durch diesen Bewegungsvektor X16(m,n) wird jedem Bildpunkt b(i,j) im Block B(m,n) ein Bildpunkt a(k,h) aus Bild A zuge­ordnet, und zwar durch die Verknüpfung
    k = i + x16(m,n)      (1,4a) und
    h = j + y16(m,n),      (1.4b)
d. h. die Koordinaten [k,h] des Bildpunkts a(k,h), der dem Bildpunkt b(i,j) zugeordnet wird, ergeben sich durch Addition des Verschiebungs- oder Bewegungsvektors X16(m,n) zu den Koordinated [i,j].
This motion vector X16 (m, n) assigns a pixel a (k, h) from image A to each pixel b (i, j) in block B (m, n), specifically through the linkage
k = i + x16 (m, n) (1.4a) and
h = j + y16 (m, n), (1.4b)
ie the coordinates [k, h] of the pixel a (k, h), which is assigned to the pixel b (i, j), result from adding the displacement or motion vector X16 (m, n) to the coordinated [i, j].

Zur Berechnung von X16(m,n) wird für jeden Bildpunkt (Pixel) b(i,j) im Block B(m,n) und für jeden in Betracht kommenden Bewegungsvektor [r,s] die "Displaced Frame Difference" d(i,j,r,s) definiert:
    d(i,j,r,s) = b(i,j) - a(i+r,j+s),      (1.5)
d. h. die Differenz zu dem entsprechenden, um einen Bewe­gungsvektor [r,s] verschobenen Bildpunkt aus dem Bild A.
To calculate X16 (m, n), the "Displaced Frame Difference" d () is used for each pixel b (i, j) in block B (m, n) and for each motion vector [r, s] in question. i, j, r, s) defines:
d (i, j, r, s) = b (i, j) - a (i + r, j + s), (1.5)
that is, the difference from the corresponding image point shifted by a motion vector [r, s] from image A.

Sodann werden die Absolutbeträge der Differenzen d(i,j,r,s) innerhalb des Blocks B(M,n) aufsummiert, wodurch sich die L1-Norm (Betragsnorm) D16(m,n,r,s) der "Displaced Frame DIfference" für den Block B(m,n) und den Bewegungsvektor [r,s] ergibt:

Figure imgb0001
Then the absolute amounts of the differences d (i, j, r, s) within the block B (M, n) are summed up, as a result of which the L1 norm (amount norm) D16 (m, n, r, s) becomes the "displaced frame" DIfference "for block B (m, n) and the motion vector [r, s] results in:
Figure imgb0001

Zu dieser Summe D(m,n,r,s) wird nun noch - als eine erste Maßnahme zur Glättung der Bewegungsvektorfelder - ein "Straf-Term" (Penalty) P16(r,s) hinzuaddiert, der die Länge des Bewegungsvektors [r,s] bewertet:
    D16′(m,n,r,s) = D16(m,n,r,s) + P16(r,s)      (1.7a)
wobei
    P16(r,s) = 256 * β * (abs(r) + abs(s))      (1.7b)
ist.
In addition to this sum D (m, n, r, s), a first measure for smoothing the motion vector fields is added "Penalty Term" (Penalty) P16 (r, s) added, which evaluates the length of the motion vector [r, s]:
D16 ′ (m, n, r, s) = D16 (m, n, r, s) + P16 (r, s) (1.7a)
in which
P16 (r, s) = 256 * β * (abs (r) + abs (s)) (1.7b)
is.

Der "Straf-Term" besteht also aus der L1-Norm des Bewegungs­vektors, multipliziert mit einem Steuerparameter β und mit der Anzahl Bildpunkte in einem BLock, nämlich 256. Mit dem Para­meter β kann bestimmt werden, wie stark die Länge des Bewe­gungsvektors in die Zielfunktion D16′(m,n,r,s) eingeht. (Ein typischer Wert für β, der sich in Simulationsexperimenten bewährt hat, ist β = 1,0).The "penalty term" thus consists of the L1 norm of the motion vector, multiplied by a control parameter β and by the number of pixels in a block, namely 256. The parameter β can be used to determine how much the length of the motion vector is in the target function D16 ′ (m, n, r, s) is received. (A typical value for β that has proven itself in simulation experiments is β = 1.0).

Sodann wird das Minimum von D16′(m,n,r,s) durch Variation von [r,s] in einem vorgegebenen Wertbereich S bestimmt, wodurch sich der gesuchte Bewegungsvektor X16(m,n) = [x16(m,n),y16(m,n)] ergibt:

Figure imgb0002
The minimum of D16 ′ (m, n, r, s) is then determined by varying [r, s] in a predetermined value range S, as a result of which the motion vector X16 (m, n) = [x16 (m, n) , y16 (m, n)] gives:
Figure imgb0002

Üblicherweise wird für S ein quadratischer Wertbereich gewählt, z. B. die Menge aller Bewegungsvektoren [r,s], bei welchen der maximale Betrag der beiden Komponenten r und s eine obere Grenze nicht überschreitet.A square value range is usually chosen for S, e.g. B. the set of all motion vectors [r, s] for which the maximum amount of the two components r and s does not exceed an upper limit.

Durch die Addition des "Straf-Terms", der ein modifiziertes Glattheitsmaß darstellt, zu D(m,n,r,s) wird erreicht, daß in homogenen Bildbereichen oder an gerade verlaufenden Kanten, wo die Bewegung nicht eindeutig aus dem lokalen Bildinhalt bestimmt werden kann (kein deutliches Minimum von D(m,n,r,s), kurze Bewegungsvektoren bevorzugt werden. Somit wird bereits die Wahrscheinlichkeit für das Auftreten von "Ausreißern" im Bewegungsvektorfeld reduziert.By adding the "penalty term", which represents a modified smoothness measure, to D (m, n, r, s) it is achieved that in homogeneous image areas or on straight edges where the movement is not clearly from the local image content can be determined (no clear minimum of D (m, n, r, s), short motion vectors are preferred. The probability of "outliers" occurring in the motion vector field is thus already reduced.

Für β = 1,0 muß z. B. ein Bewegungsvektor [r,s] = [0,1] eine im Durchschnitt um mindestens 1,0 geringere "Displaced Frame Difference" d(i,j,r,s) ergeben, damit er dem Nullvektor [r,s] = [0,0] vorgezogen wird. Entsprechendes gilt für größere Bewegungsvektoren.For β = 1.0 z. For example, a motion vector [r, s] = [0.1] results in an average displaced frame difference d (i, j, r, s) that is at least 1.0 smaller, so that it corresponds to the zero vector [r, s] = [0.0] is preferred. The same applies to larger motion vectors.

Da eine vollständige Suche (Full Search) in der Regel zu zeit­aufwendig ist, wird der Wertbereich S am besten zunächst auf eine Anzahl Stichprobenwerte [r,s] in einem festen Raster (z. B. Gitterkonstante 4) beschränkt und anschließend in der Um­gebung des Optimums weitergesucht ("Three Step Search", vergl. z. B. H.G. Musmann, P. Pirsch, H.-J. Grallert: "Advances in Picture Coding", Proc. IEEE 73 (1985) 4, pp. 523-548. In diesem Fall kann die Treffsicherheit des Verfahrens dadurch erhöht werden, daß die Suche nach dem optimalen Bewegungsvektor teil­weise in tiefpaßgefilterten Bildern durchgeführt wird. Hiermit kann wiederum eine Unterabtastung des Bildes zur Aufwands­reduktion verknüpft werden.Since a full search is usually too time-consuming, the value range S is best limited to a number of sample values [r, s] in a fixed grid (e.g. lattice constant 4) and then in the vicinity of the Optimums continued to be searched ("Three Step Search", see, for example, BHG Musmann, P. Pirsch, H.-J. Grallert: "Advances in Picture Coding", Proc. IEEE 73 (1985) 4, pp. 523-548. In In this case, the accuracy of the method can be increased in that the search for the optimal motion vector is carried out partly in low-pass filtered images, which in turn can be combined with undersampling of the image in order to reduce expenditure.

Dieser erste Schritt des Bewegungsvektor-Ermittlungsver­fahrens stellt also ein bekanntes Block-Matching-Verfahren dar, welches jedoch durch Einführung des "Straf-Terms" P16(r,s) nach Gl. 1.7a,b zum Zwecke der Glättung der Bewegungsvektor­felder modifiziert wurde.This first step of the motion vector determination method therefore represents a known block matching method, which, however, is introduced by introducing the "penalty term" P16 (r, s) according to Eq. 1.7a, b was modified for the purpose of smoothing the motion vector fields.

Iterative Verbesserung des Bewegungsvektorfeldes bei Block­größe 16 durch Relaxation (ITER 16)Iterative improvement of the motion vector field at block size 16 by relaxation (ITER 16)

Nach der Bestimmung der vorläufigen Bewegungsvektoren X16(m,n) für alle Blöcke B(m,n), wie zuvor beschrieben, erfolgt eine iterative Verbesserung dieses Bewegungsvektorfeldes (Relaxation). Dazu wird nun ein neuer "Straf-Term" bzw. ein neues Glattheitsmaß P16′(m,n,r,s) definiert, mit dessen Hilfe die Abweichung der Bewegungsvektoren X16(m,n) von ihren je­weiligen vier Nachbar-Bewegungsvektoren X16(m-1,n), X16(m+1,n), X16(m,n-1) und X16(m,n+1) gemessen wird, vergl. Fig. 3.After the provisional motion vectors X16 (m, n) have been determined for all blocks B (m, n), as described above, this motion vector field is improved iteratively (Relaxation). For this purpose, a new "penalty term" or a new smoothness measure P16 ′ (m, n, r, s) is now defined, with the aid of which the deviation of the motion vectors X16 (m, n) from their respective four neighboring motion vectors X16 ( m-1, n), X16 (m + 1, n), X16 (m, n-1) and X16 (m, n + 1) is measured, see FIG. 3.

Das Glattheitsmaß P16′(m,n,r,s) ist definiert durch:
P16′(m,n,r,s)= abs (r - x16(m-1,n)) + abs (s - y16(m-1,n)) +
+ abs (r - x16(m+1,n)) + abs (s - y16(m+1,n)) +
+ abs (r - x16(m,n-1)) + abs (s - y16(m,n-1)) +
+ abs (r - x16(m,n+1)) + abs (s - y16(m,n+1)) *
* α * 16      (2.1)
The smoothness measure P16 ′ (m, n, r, s) is defined by:
P16 ′ (m, n, r, s) = abs (r - x16 (m-1, n)) + abs (s - y16 (m-1, n)) +
+ abs (r - x16 (m + 1, n)) + abs (s - y16 (m + 1, n)) +
+ abs (r - x16 (m, n-1)) + abs (s - y16 (m, n-1)) +
+ abs (r - x16 (m, n + 1)) + abs (s - y16 (m, n + 1)) *
* α * 16 (2.1)

Hierbei sind r und s die Komponenten eines Bewegungsvektors [r,s], der als neuer Bewegungsvektor X16(m,n) für den Block B(m,n) eingesetzt werden soll.Here, r and s are the components of a motion vector [r, s] which is to be used as the new motion vector X16 (m, n) for block B (m, n).

Das Glattheitsmaß P16′(m,n,r,s) stellt also die Summe der Betragsnormen (L1-Normen) der vier Differenzvektoren zwischen X16(m,n) und seinen Nachbarn dar, multipliziert mit einem Steuerparameter "α" und der Kantenlänge eines Blocks, nämlich 16. Mit dem Steuerparameter "α" kann der Grad der Glattheit des Bewegungsvektorfeldes in dem Relaxations-Schritt kon­trolliert werden. Die L1-Norm wurde gewählt, da hiermit Kanten im Bewegungsvektorfeld, wie sie an Objekträndern vorkommen, erhalten bleiben, im Gegensatz zur "quadritischen Norm" (L2-Norm), die kontinuierliche Übergänge bevorzugt.The smoothness measure P16 '(m, n, r, s) thus represents the sum of the absolute norms (L1 norms) of the four difference vectors between X16 (m, n) and its neighbors, multiplied by a control parameter "α" and the edge length of one Blocks, namely 16. With the control parameter "α", the degree of smoothness of the motion vector field can be controlled in the relaxation step. The L1 standard was chosen because it preserves edges in the motion vector field as they occur at object edges, in contrast to the "quadritic standard" (L2 standard), which favors continuous transitions.

Aus dem Glattheitsmaß P16′(m,n,r,s) und der "Displaced Frame Difference" D16(m,n,r,s) (Gl. 1.6) wird eine neue Zielfunktion D16˝(m,n,r,s) gebildet:
    D16˝(m,n,r,s) = D(m,n,r,s) + P16′(m,n,r,s)      (2.2)
From the smoothness measure P16 ′ (m, n, r, s) and the “displaced frame difference” D16 (m, n, r, s) (Eq. 1.6) a new target function D16˝ (m, n, r, s ) educated:
D16˝ (m, n, r, s) = D (m, n, r, s) + P16 ′ (m, n, r, s) (2.2)

Eine Glättung des Bewegungsvektorfeldes geschieht nun dadurch, daß zunächst von dem nach Gl. 1.8 (ohne Nachbarschaftsbeziehun­gen) ermittelten Bewegungsvektorfeld ausgegangen wird, und von dieser Vorbelegung ausgehend schrittweise für einen Block nach dem anderen ein neuer, optimaler Bewegungsvektor X16(m,n) bestimmt wird, und zwar mittels
    X16(m,n) = [x16(m,n),y16(m,n)]      (2.3a)
so daß

Figure imgb0003
The motion vector field is smoothed by that first of all according to Eq. 1.8 (without neighborhood relationships) determined motion vector field, and starting from this default step by step, a new, optimal motion vector X16 (m, n) is determined for one block after another, by means of
X16 (m, n) = [x16 (m, n), y16 (m, n)] (2.3a)
so that
Figure imgb0003

Hierbei wird, um den Suchaufwand zu begrenzen (und als weitere Maßnahme zur Glättung der Vektoren), der Wertbereich S(m,n) für jeden BLock adaptiv gestaltet, und zwar derart, daß die Suche um so umfangreicher ist, je unterschiedlicher die Bewegungs­vektoren X16(m,n)= x16(m,n),y16(m,n) und deren je vier Nach­bar-Bewegungsvektoren sind:
    S(m,n) = [rmin...rmax, smin...smax]      (2.4a)
mit
rmin = min (x16(m,n), x16(m-1,n), x16(m+1,n), x16(m,n-1), x16(m,n+1))
rmax = max (x16(m,n), x16(m-1,n), x16(m+1,n), x16(m,n-1), x16(m,n+1))
smin = min (y16(m,n), y16(m-1,n), y16(m+1,n), y16(m,n-1), y16(m,n+1))
smax = max (y16(m,n), y16(m-1,n), y16(m+1,n), y16(m,n-1), y16(m,n+1))      (2.4b)
In order to limit the search effort (and as a further measure for smoothing the vectors), the value range S (m, n) is designed adaptively for each BLock in such a way that the search is all the more extensive, the different the motion vectors X16 (m, n) = x16 (m, n), y16 (m, n) and their four neighboring motion vectors are:
S (m, n) = [rmin ... rmax, smin ... smax] (2.4a)
With
rmin = min (x16 (m, n), x16 (m-1, n), x16 (m + 1, n), x16 (m, n-1), x16 (m, n + 1))
rmax = max (x16 (m, n), x16 (m-1, n), x16 (m + 1, n), x16 (m, n-1), x16 (m, n + 1))
smin = min (y16 (m, n), y16 (m-1, n), y16 (m + 1, n), y16 (m, n-1), y16 (m, n + 1))
smax = max (y16 (m, n), y16 (m-1, n), y16 (m + 1, n), y16 (m, n-1), y16 (m, n + 1)) (2.4b )

Es werden nur solche Bewegungsvektoren [r,s] untersucht, für die gilt:
    rmin ≦ r ≦ rmax und smin ≦ s ≦ smax.
Only those motion vectors [r, s] are examined for which the following applies:
rmin ≦ r ≦ rmax and smin ≦ s ≦ smax.

In Gebieten mit konstantem Bewegungsvektor auch über die Blockgrenzen hinweg ist rmin = x16(m,n) = rmax und smin = y16(m,n) = smax, so daß der Wertbereich auf einen Punkt zusammenschrumpft und kein Suchaufwand entsteht. Nur beim Vorhandensein von Sprüngen und sonstigen Divergenzen und "Ausreißern" im Bewegungsvektorfeld wird nach einer Verbesse­rung gesucht.In areas with a constant motion vector even across the block boundaries, rmin = x16 (m, n) = rmax and smin = y16 (m, n) = smax, so that the value range is at one point shrinks and no search effort arises. An improvement is only sought if there are jumps and other divergences and "outliers" in the motion vector field.

Nachdem für alle Blöcke B(m,n) einmal nach einer Verbesserung des Vektors X16(m,n) gesucht wurde, muß der Vorgang für alle diejenigen Blöcke B(m,n) nochmals wiederholt werden, für welche sich mindestens einer der vier Nachbar-Bewegungsvektoren X16(m-1,n) usw. im vorhergehenden Durchlauf geändert hat. Daraus ergibt sich ein iterativer Prozeß, der solange fortzu­setzen ist, bis sich keiner der Bewegungsvektoren X16(m,n) mehr verbessern läßt, und zwar unter Konstanthaltung der vier Nachbarn.After looking for an improvement of the vector X16 (m, n) once for all blocks B (m, n), the process must be repeated for all those blocks B (m, n) for which at least one of the four neighbors is Motion vectors X16 (m-1, n), etc. changed in the previous pass. This results in an iterative process that has to be continued until none of the motion vectors X16 (m, n) can be improved, while keeping the four neighbors constant.

In der Regel genügen etwa 5 bis 10 Iterationen, und zwar je nach Grad der Bewegung im Bild, wobei zu berücksichtigen ist, daß nur in der ersten Iteration wirklich alle Blöcke überprüft werden müssen und sodann nur noch diejenigen, in deren Nach­barschaft beim letzten Durchlauf noch Änderungen aufgetreten sind.As a rule, about 5 to 10 iterations are sufficient, depending on the degree of movement in the image, whereby it must be taken into account that all blocks really only have to be checked in the first iteration and then only those in their vicinity during the last run Changes have occurred.

Die Tatsache, daß dem Glattheitsmaß P16′(m,n,r,s) Gl. 2.1) die L1-Norm benachbarter Vektoren und nicht etwa die L2-Norm zu­grundeliegt, führt dazu, daß bei diesem Glättungsprozeß Kanten erhalten bleiben, ähnlich wie bei MEDIAN-Filterung. In der Tat ist je der Medianwert einer Menge von Zahlen dergenige, welcher die Summe der Beträge der Differenzen, also die Summe der L1-Normen, minimiert. Die zuvor beschriebene Glättung durch Minimierung von D16˝(m,n,r,s) kann daher auch als verallge­meinerte Medianfilterung der Bewegungsvektoren, die die "Displaced-Frame-Differenzen" berücksichtigt, interpretiert werden.The fact that the smoothness measure P16 '(m, n, r, s) Eq. 2.1) The L1 norm of neighboring vectors and not the L2 norm, on the other hand, means that edges are preserved in this smoothing process, similar to MEDIAN filtering. In fact, the median of a set of numbers is the least that minimizes the sum of the amounts of the differences, that is, the sum of the L1 norms. The previously described smoothing by minimizing D16˝ (m, n, r, s) can therefore also be interpreted as a generalized median filtering of the motion vectors, which takes into account the "displaced frame differences".

Es ist nun ein lokales Optimum der Gesamt-Zielfunktion Z er­reicht, die sich durch Summation von D16˝(m,n,r,s) über alle Blöcke B(m,n) im Bild ergibt, d. h. für Z gilt:
Z = Z1 + αZ2,      (2.5)
wobei

Figure imgb0004
mit d(i,j,x(i,j),y(i,j)) entsprechend Gl (1.5), und
Figure imgb0005
A local optimum of the overall target function Z is now reached, which is obtained by summing D16˝ (m, n, r, s) over all blocks B (m, n) in the image, ie for Z:
Z = Z1 + αZ2, (2.5)
in which
Figure imgb0004
with d (i, j, x (i, j), y (i, j)) according to Eq (1.5), and
Figure imgb0005

Hierbei sind die Größen x(i,j) bzw. y(i,j) usw. die Komponenten der Bewegungsvektoren X(i,j), die sich aus dem Bewegungsvektor­feld X16(m,n) dadurch ergeben, daß allen Bildpunkten b(i,j) im Block B(m,n) der gleiche Bewegungsvektor X16(m,n) zugewiesen wird:
X(i,j) = [x(i,j),y(i,j)] = X16(m,n) falls b(i,j) in B(m,n).      (2.8)
Here, the quantities x (i, j) and y (i, j) etc. are the components of the motion vectors X (i, j) which result from the motion vector field X16 (m, n) in that all pixels b ( i, j) in block B (m, n) the same motion vector X16 (m, n) is assigned:
X (i, j) = [x (i, j), y (i, j)] = X16 (m, n) if b (i, j) in B (m, n). (2.8)

Das Bewegungsvektorfeld wird im folgenden dadurch weiter opti­miert - d. h. die Zielfunktion Z wird dadurch weiter minimiert - daß die Größe der Blöcke, in denen das Bewegungsvektorfeld als gleichförmig vorausgesetzt wird, halbiert wird.The motion vector field is further optimized in the following - d. H. the objective function Z is further minimized by halving the size of the blocks in which the motion vector field is assumed to be uniform.

Blockunterteilung von 16*16 auf 8*8 Bildpunkte (L = L/2)Block division from 16 * 16 to 8 * 8 pixels (L = L / 2)

Aus dem gegebenen Bewegungsvektorfeld [X16(m,n)] für die 16er-Blöcke wird ein neues Feld [X8(p,q)] für 8er-Blöcke B8(p,q) erstellt, das aus den Bewegungsvektoren
    X8(p,q) = [x8(p,q),y8(p,q)]      (3.1)
besteht. Dazu werden alle 16er-Blöcke in je vier 8er-Blöcke unterteilt, und jeder der Teilblöcke bekommt zunächst den gleichen Bewegungsvektor, nämlich den des 16er-Blocks, zuge­wiesen. Dieses neue Bewegungsvektorfeld dient als Vorgabe für den nächsten Relaxationsschritt.
From the given motion vector field [X16 (m, n)] for the blocks of 16, a new field [X8 (p, q)] for blocks of 8 B8 (p, q) is created, which consists of the motion vectors
X8 (p, q) = [x8 (p, q), y8 (p, q)] (3.1)
consists. For this purpose, all 16-blocks are divided into four 8-blocks, and each of the sub-blocks is initially assigned the same motion vector, namely that of the 16-block. This new motion vector field serves as the default for the next relaxation step.

Iterative Verbesserung des Vektorfeldes bei Blockgröße 8 durch Relaxation (ITER 8)Iterative improvement of the vector field at block size 8 by relaxation (ITER 8)

Dieser Verfahrensschritt entspricht genau dem Relaxations­schritt for Blockgröße 16, wie er zuvor beschrieben wurde, jedoch mit der Änderung, daß in den Gleichungen für die Ziel­funktion "16" durch "8" zu ersetzen ist. Es wird also eine Zielfunktion D8˝(p,q,rs) entsprechend D16˝(m,n,r,s) nach Gl. 2.2 minimiert, welche ein Glattheitsmaß P8′(p,q,r,s) wie in Gl. 2.1 enthält. Es kann hier für α (s. Gl. 2.1) der gleiche Wert wie bei Blockgröße 16 verwendet werden.This process step corresponds exactly to the relaxation step for block size 16, as described above, but with the change that "16" is to be replaced by "8" in the equations for the target function. So there is a target function D8˝ (p, q, rs) corresponding to D16˝ (m, n, r, s) according to Eq. 2.2 minimizes which is a smoothness measure P8 '(p, q, r, s) as in Eq. 2.1 contains. The same value as for block size 16 can be used for α (see Eq. 2.1).

Blockunterteilung von 8*8 auf 4*4 Bildpunkte (L = L/2)Block division from 8 * 8 to 4 * 4 pixels (L = L / 2)

Wie bei der Blockunterteilung von 16*16 auf 8*8 Bildpunkte werden nun die Bewegungsvektoren, die für Blöcke der Größe 8*8 ermittelt wurden, auf je vier Blöcke mit 4*4 Bildpunkten verteilt.As with the block division from 16 * 16 to 8 * 8 pixels, the motion vectors that were determined for blocks of size 8 * 8 are now divided into four blocks with 4 * 4 pixels.

Iterative Verbesserung des Vektorfeldes bei Blockgröße 4 durch Relaxation (ITER 4)Iterative improvement of the vector field at block size 4 by relaxation (ITER 4)

Dieser Verfahrensschritt entspricht genau den Relaxations­schritten für Blockgröße 16 und 8.This process step corresponds exactly to the relaxation steps for block sizes 16 and 8.

Die Verfahrensschritte "Blockunterteilung" und "Relaxation" können bis zur Blockgröße 1*1 Bildpunkt fortgesetzt werden; jedoch ist für viele Anwendungsfälle eine Auflösung des Be­wegungsvektorfeldes mit einem Bewegungsvektor je 4*4 Bild­punkten ausreichend.The process steps "block subdivision" and "relaxation" can be continued up to block size 1 * 1 pixel; however, for many applications a resolution of the motion vector field with one motion vector per 4 * 4 pixels is sufficient.

Allgemeines BlockschaltbildGeneral block diagram

In Fig. 8 ist eine funktionelle Anordnung dargestellt, mit der das zuvor beschriebene Bewegungsvektor-Ermittlungsverfahren im Prinzip durchgeführt werden kann.FIG. 8 shows a functional arrangement with which the motion vector determination method described above can in principle be carried out.

Ausgehend von zwei Eingangsbildern A und B wird in einer Ab­folge von Variationen des Bewegungsvektorfeldes unter Beachtung der jeweiligen Werte der Zielfunktion Z das endfültige Be­wegungsvektorfeld bestimmt.Starting from two input images A and B, the final motion vector field is determined in a sequence of variations of the motion vector field, taking into account the respective values of the target function Z.

Bewegungsvektor-Ermittlung für das Einfügen von Zwischen­bildern (Bild-Interpolation)Motion vector determination for inserting intermediate images (image interpolation)

Das zuvor beschriebene Verfahren kann auch zur Ermittlung von Bewegungsvektorfeldern für die Bild-Interpolation eingesetzt werden. Hierzu müssen nur die Größen, die die "Displaced-Frame-­Differenzen" messen, nämlich D16 (m,n,r,s) (Gl. 1.6) und die entsprechenden Größen für die Blöcke der Größen 8*8 und 4*4, etwas modifiziert werden.The method described above can also be used to determine motion vector fields for image interpolation. For this, only the sizes that measure the "displaced frame differences", namely D16 (m, n, r, s) (Eq. 1.6) and the corresponding sizes for the blocks of sizes 8 * 8 and 4 * 4, something to be modified.

Wenn z. B. zwischen die gegebenen Bilder A und B genau ein Zwischenbild durch bewegungsadaptive Interpolation so einge­fügt werden soll, daß bewegte Ojekte sich in dem interpo­lierten Bild gerade um die Hälfe der Verschiebung von Bild A nach Bild B weiterbewegt haben, so ergibt sich anstelle von D16(m,n,r,s) in Gl. 1.6 die neue Größe D16i (m,n,r,s), wobei i für Interpolation steht:

Figure imgb0006
mit
    d′(i,j,r,s) = b(i-r/2,j-s/2) - a(i+r/2,j+s/2)      (7.2)
Der Bewegungsvektor [r,s] wird also nun nicht vollständig auf das Bild A angewendet, sondern zur Hälfte auf Bild A und mit umgekehrtem Vorzeichen auf Bild B, so daß insgesamt Bild A und Bild B wieder um den gesamten Bewegungsvektor [r,s] gegen­einander versetzt sind.If e.g. B. Exactly one intermediate image should be inserted between the given images A and B by motion-adaptive interpolation in such a way that moving objects in the interpolated image have just moved by half the shift from image A to image B, instead of D16 ( m, n, r, s) in Eq. 1.6 the new size D16i (m, n, r, s), where i stands for interpolation:
Figure imgb0006
With
d ′ (i, j, r, s) = b (ir / 2, js / 2) - a (i + r / 2, j + s / 2) (7.2)
The motion vector [r, s] is now not completely applied to image A, but half to image A and with the opposite sign to image B, so that image A and image B again around the entire motion vector [r, s] are offset from each other.

Entsprechendes gilt auch für die Interpolation um höhere Faktoren als 2, d. h. falls zwei oder mehr Bilder zwischen die gegebenen Bilder A und B eingefügt werden sollen. Allgemein wird auf Bild A die Verschiebung [r*r,t*s] und auf Bild B die Verschiebung [(t-1)*r,(t-1)*s] angewendet, und zwar mit 0 < t < 1.The same applies to interpolation by factors higher than 2, i.e. H. if two or more images are to be inserted between the given images A and B. In general, the shift [r * r, t * s] is applied to image A and the shift [(t-1) * r, (t-1) * s] to image B, with 0 <t <1.

Falls die Verschiebung nicht auf ganzzahlige Bildpunkt-Koordi­naten führt, ist eine Rundung erforderlich.If the shift does not lead to integer pixel coordinates, rounding is required.

Aufteilung der Bewegungsvektor-Ermittlung auf Sender (Coder) und Empfänger (Decoder) für eine BewegtbildcodierungDistribution of the motion vector determination between transmitter (coder) and receiver (decoder) for moving picture coding

In einem Bewegtbild-Codierverfahren wird die Bewegungsvektor-­Ermittlung für zwei Zwecke verwendet:

  • 1) Bewegungskompensierende Prädiktion bei Sender und Empfänger
  • 2) Bewegungsadaptive Interpolation fehlender Bilder beim Empfänger.
In a moving picture coding method, the motion vector determination is used for two purposes:
  • 1) Movement-compensating prediction for sender and receiver
  • 2) Motion adaptive interpolation of missing images at the receiver.

Hierbei ist sendeseitig eine Bewegungsvektor-Ermittlung not­wendig, um die Bewegungsvektoren für die Bewegungskompen­sierende Prädiktion zu ermitteln. Da diese Bewegungsvektoren übertragen werden müssen, kann man hier das Bewegungsvektor­feld nicht beliebig verfeinern. Diese Bewegungsvektoren können jedoch beim Empfänger zusätzlich zur Prädiktion auch zur be­wegungskompensierenden Interpolation eingesetzt werden, wenn zuvor aus dem übertragenen Bewegungsvektorfeld und den empfängerseitig vorhandenen übertragenen Bildern ein verfeiner­tes Bewegungsvektorfeld gewonnen wird.In this case, a movement vector determination is necessary on the transmission side in order to determine the movement vectors for the movement-compensating prediction. Since these motion vectors have to be transmitted, the motion vector field cannot be refined here at will. However, these motion vectors can also be used for the prediction in addition to the prediction for motion-compensating interpolation if a refined motion vector field is obtained beforehand from the transferred motion vector field and the transmitted images present on the receiver.

Für die Anwendung in der Bildsequenzencodierung kann daher das zuvor beschriebene mehrstufige Verfahren (s. Fig. 1) in der Weise verwendet werden, daß die Verfahrensschritte "Initiali­sierung mit Blockgröße 16*16" sowie "Iterationen mit Blockgröße 16" auf der Sendeseite durchgeführt werden und die übrigen Verfahrensschritte ("Blockunterteilung" und "Iterationen" für 8er- und 4er-Blöcke) beim Empfänger, vergl. Fig. 9.For use in image sequence coding, the previously described multi-stage process (see FIG. 1) can therefore be used in such a way that the process steps "initialization with block size 16 * 16" and "iterations with block size 16" are carried out on the transmission side and the remaining process steps ("block subdivision" and "iterations" for blocks of 8 and 4) at the receiver, see FIG. 9.

In Simulationsexperimenten hat sich gezeigt, daß sich tatsäch­lich das sendeseitig für bewegungskompensierende Prädiktion gewonnene Bewegungsvektorfeld als Vorgabe für eine empfänger­seitige Verfeinerung zum Zwecke der Interpolation eignet, wobei sendeseitig die "Displaced Frame Difference" D16(m,n,r,s) aus Gl. 1.6 und empfängerseitig die an die Interpolation ange­paßte Funktion D16i(m,n,r,s) (Gln. 7.1, 7.2) bzw. deren Ent­sprechungen für kleinere Blöcke verwendet werden.Simulation experiments have shown that the motion vector field obtained on the transmitter side for motion-compensating prediction is actually suitable as a specification for a receiver-side refinement for the purpose of interpolation, the "Displaced Frame Difference" D16 (m, n, r, s) from Eq. 1.6 and on the receiver side the function D16i (m, n, r, s) (Eq. 7.1, 7.2) adapted to the interpolation or its equivalents are used for smaller blocks.

Der Ablauf des zuvor erläuterten Bewegungsvektor-Ermittlungs­verfahrens wird durch die in Fig. 4 bis Fig. 7 gezeigten Fluß­diagramme verdeutlicht.The sequence of the motion vector determination method explained above is illustrated by the flow diagrams shown in FIGS. 4 to 7.

Fig. 4 stellt den Gesamt-Ablaufplan des Verfahrens dar, in dem gezeigt ist, daß zunächst mit der maximalen Blockgröße L = Lmax eine Initialisierung (INIT) des Vektorfeldes stattfindet und daß daran anschließend für alle Blockgrößen von Lmax bis Lmin - wobei jeweils die Blockkantenlänge L halbiert wird - eine iterative Verbesserung (ITER) stattfindet. Der Ablauf der iterativen Verbesserung (ITER) bei gegebener Blockgröße L ist in Fig. 5 gezeigt. Es wird hier für alle Blöcke B(m,n) der Bewegungsvektor ermittelt, der die Zielfunktion mit modifi­ziertem Glattheitsmaß minimiert.Fig. 4 shows the overall flow chart of the method, in which it is shown that initially with the maximum block size L = L max an initialization (INIT) of the vector field takes place and that subsequently for all block sizes from L max to L min - where the block edge length L is halved - an iterative improvement (ITER) takes place. The course of the iterative improvement (ITER) for a given block size L is shown in FIG. 5. The motion vector which minimizes the objective function with modified smoothness measure is determined here for all blocks B (m, n).

Die iterative Verbesserung (ITER) folgt dem Ablaufplan gemäß Fig. 6. Es existiert hier ein Protokollierungsfeld FERTIG(m,n), das für jeden Block B(m,n) - mit der jeweiligen Blockgröße L - angibt, ob der Block noch zu bearbeiten ist - d. h.The iterative improvement (ITER) follows the flow chart according to FIG. 6. There is a logging field FINISHED (m, n), which indicates for each block B (m, n) - with the respective block size L - whether the block is still closed edit is - ie

FERTIG(m,n) = 0 - oder ob er sich bereits in einem lokalen Optimum (d.h. Minimum) der Zielfunktion befindet - d. h. FERTIG(m,n) = 1. Zunächst wird das Feld FERTIG für alle Blöcke auf Null gesetzt. In der darauffolgenden Schleife wird jeweils für alle Blöcke, die noch nicht "FERTIG" sind, das Minimum der Zielfunktion in einem bestimmten Wertebereich gesucht (OPTI), vergl. Fig. 7. Für alle diese Blöcke wird FERTIG (m,n) = 1 gesetzt. Falls sich bei der Minimumsuche der Bewegungsvektor des Blocks verändert hat, wird für die Nachbarblöcke das Feld FERTIG auf Null gesetzt, damit diese nochmals bearbeitet wer­den. Wenn alle Blöcke den Wert FERTIG(m,n) = 1 haben, ist die Iterationenfolge beendet.DONE (m, n) = 0 - or whether it is already in a local optimum (i.e. minimum) of the target function - d. H. DONE (m, n) = 1. First, the DONE field is set to zero for all blocks. In the following loop, the minimum of the target function in a certain value range (OPTI) is searched for all blocks that are not yet "DONE", see FIG. 7. DONE (m, n) = 1 for all these blocks set. If the motion vector of the block has changed during the minimum search, the DONE field for the neighboring blocks is set so that they can be processed again. When all blocks have the value FINISHED (m, n) = 1, the iteration sequence is ended.

Den Ablauf des Optimierungsschritts (OPTI), der in ITER durchlaufen wird, zeigt. Fig. 7.The process of the optimization step (OPTI), which is run through in ITER, shows. Fig. 7.

Zusammenfassend ist festzustellen, daß das Unterteilen der Blöcke jeweils vorzugsweise durch Halbieren der Kantenlängen der Blöcke durchgeführt wird. Bei einem Einfügen eines Zwischen­bildes zwischen die beiden Bilder werden jedem Bildpunkt dieses Zwischenbildes zwei Bildpunkte, nämlich einer aus dem ersten und einer aus dem zweiten Bild, zugeordnet. Die Differenzen der Luminanzwerte einander entsprechender Bildpunkte der beiden aufeinanderfolgenden Bilder innerhalb eines Blocks von Bild­punkten werden mittels der Summe der Absolutbeträge der Diffe­renzen der Luminanzwerte bewertet und als Summanden in der zu minimierenden Zielfunktion verwendet, wobei diese Summanden eine erste Komponente der Zielfunktion bilden. Die Differenzen der Luminanzwerte einander entsprechender Bildpunkte der beiden aufeinanderfolgenden Bilder innerhalb eines Blocks von Bild­punkten können auch mittels der Summe der Quadrate der Diffe­renzen der Luminanzwerte bewertet und als Summanden in der zu minimierenden Zielfunktion verwendet werden, wobei diese Summanden eine erste Komponente der Zielfunktion bilden.In summary, it should be noted that the division of the blocks is preferably carried out in each case by halving the edge lengths of the blocks. When an intermediate image is inserted between the two images, two pixels, namely one from the first and one from the second image, are assigned to each pixel of this intermediate image. The differences in the luminance values of corresponding pixels of the two successive images within a block of pixels are evaluated by means of the sum of the absolute amounts of the differences in the luminance values and used as summands in the target function to be minimized, these summands forming a first component of the target function. The differences in the luminance values of corresponding pixels of the two successive images within a block of pixels can also be evaluated by means of the sum of the squares of the differences in the luminance values and used as summands in the target function to be minimized, these summands forming a first component of the target function.

Das erfindungsgemäße Verfahren sieht außerdem vor, daß die Differenzen zwischen Nachbar-Bewegungsvektoren durch die Be­ tragsnormen dieser Differenzen ausdrückt werden, wobei die Summe dieser Betragsnormen eine zweite Komponente der Ziel­funktion bildet und als das Glattheitsmaß verwendet wird. Zu­mindest eine der beiden Komponenten wird mit einem Gewichtungs­faktor multipliziert, und die entsprechenden Produkte bilden durch Summation die Zielfunktion, wobei die Zielfunktion vor­zugsweise die Form Z = Z1 + α Z2 hat, wobei Z1 die erste Komponente, Z2 die zweite Komponente und α der Gewichtungs­faktor sind.The inventive method also provides that the differences between neighboring motion vectors by the Be norms of these differences are expressed, the sum of these norms forming a second component of the objective function and used as the smoothness measure. At least one of the two components is multiplied by a weighting factor, and the corresponding products form the target function by summation, the target function preferably having the form Z = Z1 + α Z2, Z1 being the first component, Z2 the second component and α the weighting factor .

Als Nachbarn jedes Bewegungsvektors werden in dem bevorzug­ten Ausführungsbeispiel nur diejenigen vier Nachbar-Bewegungs­vektoren verwendet, deren Koordinaten sich horizontal und ver­tikal in Nachbarschaft zu den Koordinaten des betreffenden Be­wegungsvektor befinden, d. h., daß sich deren Koordinaten um (0,1), (0,-1), (1,0) oder (-1,0) von den Koordinaten des be­treffenden Bewegungsvektors unterscheiden.In the preferred embodiment, only those four neighboring motion vectors are used as neighbors of each motion vector, the coordinates of which are horizontally and vertically adjacent to the coordinates of the relevant motion vector, i. that is, their coordinates differ by (0.1), (0, -1), (1.0) or (-1.0) from the coordinates of the relevant motion vector.

Bei der Initialisierung des Bewegungsvektorfeldes mit großen Blöcken - vorzugsweise 16-16 Bildpunkte (Pixel) - nämlich solange noch nicht für jeden Block zumindest schon einmal ein Bewegungsvektor berechnet wurde, wird das Glattheitsmaß dahin­gehend modifiziert, daß statt der Differenzen zwischen Nach­bar-Bewegungsvektoren die Betragsnormen der zu optimierenden Bewegungsvektoren - multipliziert mit einem Gewichtungsfaktor - in der Zielfunktion mittels des Glattheitsmaßes verwendet werden.When initializing the motion vector field with large blocks - preferably 16-16 pixels (pixels) - namely as long as a motion vector has not been calculated for each block at least once, the smoothness measure is modified in such a way that instead of the differences between neighboring motion vectors, the amount norms of motion vectors to be optimized - multiplied by a weighting factor - are used in the target function by means of the smoothness measure.

In jeder Stufe der Blockunterteilung, d. h. am Anfang bei der maximalen Blockgröße und daraufhin nach jeder Blockuntertei­lung, die vorzugsweise bis zu einer Blockgröße von 4x4 Bild­punkten (Pixel) durchgeführt wird, wird so lange der Reihe nach jeder einzelne Bewegungsvektor durch Variation in einem be­treffenden Wertbereich optimiert, bis für keinen Bewegungs­vektor mehr auf diese Weise ein kleinerer Wert der Zielfunktion gefunden werden kann.In each stage of the block subdivision, ie at the beginning at the maximum block size and then after each block subdivision, which is preferably carried out up to a block size of 4x4 pixels (pixels), each individual motion vector is optimized in turn by variation in a relevant value range , until a smaller value of the objective function can no longer be found in this way for any motion vector.

Der Wertbereich der Bewegungsvektoren, innerhalb dessen die einzelnen Bewegungsvektoren variiert werden, um die Zielfunk­tion zu minimieren, wird davon anhängig gemacht, welche Werte die Bewegungsvektoren in dem bereits berechneten Bewegungs­vektorfeld haben, so daß der Wertbereich für die Optimierung des Bewegungsvektorfeldes klein ist, wenn Nachbar-Bewegungsvek­toren gleich oder ähnlich sind, und nur dann größer ist, wenn Nachbar-Bewegungsvektoren große Differenzen untereinander aufweisen.The range of values of the motion vectors within which the individual motion vectors are varied in order to minimize the objective function is made dependent on the values of the motion vectors in the motion vector field already calculated, so that the range of values for the optimization of the motion vector field is small if neighboring Motion vectors are the same or similar, and is only larger if neighboring motion vectors have large differences between them.

Durch ein Protokollierungssystem wird bewirkt, daß nur die­jenigen Bewegungsvektoren nochmals im Hinblick auf eine mög­liche Verkleinerung des Werts der Zielfunktion optimiert werden, deren Nachbar-Bewegungsvektoren sich seit der letzten Optimierung des betreffenden Bewegungsvektors verändert haben, so daß sich gegebenenfalls auch das Glattheitsmaß verändert hat, wobei das Protokollierungssystem ein Protokollierungsfeld mit einem Speicherplatz je Block zur Speicherung einer Steuer­information für den Optimierungsablauf enthält.A logging system has the effect that only those motion vectors are optimized again with a view to a possible reduction in the value of the target function, the neighboring motion vectors of which have changed since the last optimization of the motion vector in question, so that the smoothness measure has also changed, where appropriate the logging system contains a logging field with a storage space per block for storing control information for the optimization process.

Bei der Optimierung eines bestimmten Bewegungsvektors braucht nicht unbedingt jeder Bewegungsvektor des betreffenden Wert­bereichs, sondern nur eine Teilmenge der Bewegungsvektoren nach einem vorbestimmten Schema in Betracht gezogen zu werden.When optimizing a particular motion vector, it is not absolutely necessary to take into account each motion vector of the relevant value range, but only a subset of the motion vectors according to a predetermined scheme.

Zusätzlich zu der Differenz zwischen Nachbar-Bewegungsvektoren in dem zu berechnenden Bewegungsvektorfeld kann auch die Differenz zwischen den Bewegungsvektoren des aktuellen Be­wegungsvektorfeldes und denen des unmittelbar vorher aus einem vorangehenden Paar aufeinanderfolgender Bilder berechneten Bewegungsvektorfeldes ermittelt und in dem Glattheitsmaß ver­wendet werden, und zwar zum Zwecke der Glättung des Bewegungs­vektorfeldes in der Zeitachsenrichtung, d. h. zur Angleichung aufeinanderfolgender Bewegungsvektorfelder.In addition to the difference between neighboring motion vectors in the motion vector field to be calculated, the difference between the motion vectors of the current motion vector field and those of the motion vector field calculated immediately beforehand from a previous pair of successive images can also be determined and used in the smoothness measure, for the purpose of smoothing the motion vector field in the time axis direction, d. H. for matching successive motion vector fields.

Das erfindungsgemäße Verfahren kann auch in Fällen angewendet werden, in denen aus je zwei aufeinanderfolgenden, mittels Datenkompression von einem Coder über einen Kanal zu einem Decoder übertragenen Bildern Bewegungsvektorfelder zum Zwecke des Einfügens von Zwischenbildern ermittelt werden, und zwar derart, daß zur Initialisierung des Verfahrens entsprechende Bewegungsvektorfelder verwendet werden, die bereits zuvor übertragen worden sind.The method according to the invention can also be used in cases in which there are two successive means Data compression of images transmitted from a coder via a channel to a decoder, motion vector fields are determined for the purpose of inserting intermediate images, in such a way that corresponding motion vector fields that have already been transmitted are used to initialize the method.

Im Anhang ist ein vollständiges Programm-Listing mit 42 Seiten Umfang (p 1 ... p 42) über den gesamten erfindungs­gemäßen Verfahrensablauf für ein bevorzugtes Programmierungs­beispiel in der Programmiersprache FORTRAN wiedergegeben.The appendix shows a complete program listing with 42 pages (p 1 ... p 42) covering the entire process sequence according to the invention for a preferred programming example in the programming language FORTRAN.

Claims (15)

1. Verfahren zur Ermittlung von Bewegungsvektorfeldern aus digitalen Bildsequenzen, das aus jeweils zwei aufeinander­folgenden Bildern ein Bewegungsvektorfeld ermittelt, welches jedem Bildpunkt des einen Bildes einen Bildpunkt des anderen Bildes zuordnet, wobei die Zuordnung jeweils durch einen Be­wegungsvektor definiert ist, welcher die relative Verschiebung der Bildpunkte gegeneinander wiedergibt, und wobei jeweils alle Bildpunkte in einem quadratischen oder rechteckigen Block von Bildpunkten den gleichen Bewegungsvektor erhalten, dadurch gekennzeichnet, daß die Ermittlung der Bewegungs­vektoren (X(m,n)) durch Minimierung einer zusammengesetzten Zielfunktion (Z) durchgeführt wird, welche zum einen die Differenzen der Luminanzwerte der einander zugeordneten Bild­punkte der beiden gegebenen Bilder berücksicht, zum anderen die Differenzen zwischen Bewegungsvektoren, deren Koordinaten benachbart sind, nämlich sog. Nachbar-Bewegungsvektoren, mit Hilfe eines Glattheitsmaßes (P) bewertet, und daß die Mini­mierung dieser Zielfunktion in der Weise durchgeführt wird, daß zunächst die die Zielfunktion minimierenden Bewegungsvektoren unter der Einschränkung ermittelt werden, daß die Bewegungsvek­toren in größeren als den endgültig angestrebten Blöcken kon­stant sind, und daß anschließend jeder dieser Blöcke (16x16) in kleinere, vorzugsweise gleichgroße Blöcke unterteilt wird, bis die angestrebte Blockgröße (4x4) erreicht ist, wobei nach jeder Verkleinerung der Blöcke wiederum die Zielfunktion durch Variation der Bewegungsvektoren minimiert wird.1. A method for determining motion vector fields from digital image sequences, which determines a motion vector field from two successive images, which assigns a pixel of the other image to each pixel of one image, the assignment being defined in each case by a motion vector which determines the relative displacement of the pixels reproduces each other, and wherein each pixel in a square or rectangular block of pixels receives the same motion vector, characterized in that the determination of the motion vectors (X (m, n)) is carried out by minimizing a composite objective function (Z), which for one takes into account the differences in the luminance values of the mutually assigned pixels of the two given images, the other takes into account the differences between motion vectors whose coordinates are adjacent, namely so-called neighboring motion vectors, using a smoothness measure (P), and d The minimization of this objective function is carried out in such a way that first the motion vectors minimizing the objective function are determined with the restriction that the motion vectors are constant in larger than the blocks ultimately desired, and then each of these blocks (16x16) in smaller, preferably blocks of equal size are subdivided until the desired block size (4x4) is reached, the objective function being minimized by varying the motion vectors after each reduction of the blocks. 2. Verfahren nach Anspruch 1, dadurch gekennzeich­net, daß das Unterteilen der Blöcke jeweils durch Halbieren der Kantenlängen der Blöcke durchgeführt wird.2. The method according to claim 1, characterized in that the division of the blocks is carried out in each case by halving the edge lengths of the blocks. 3. Verfahren nach Anspruch 1, dadurch gekennzeich­net, daß bei einem Einfügen eines Zwischenbildes zwischen die beiden Bilder jedem Bildpunkt dieses Zwischenbildes zwei Bildpunkte, nämlich einer aus dem ersten und einer aus dem zweiten Bild, zugeordnet werden.3. The method according to claim 1, characterized in that when inserting an intermediate image between the two images, each pixel of this intermediate image two Pixels, namely one from the first and one from the second image, can be assigned. 4. Verfahren nach Anspruch 1, dadurch gekennzeich­net, daß die Differenzen der Luminanzwerte einander ent­sprechender Bildpunkte der beiden aufeinanderfolgenden Bilder innerhalb eines Blocks von Bildpunkten mittels der Summe der Absolutbeträge der Differenzen der Luminzwerte bewertet und als Summanden in der zu minimierenden Zielfunktion verwendet werden, wobei diese Summanden eine erste Komponente der Ziel­funktion bilden.4. The method according to claim 1, characterized in that the differences in the luminance values of corresponding pixels of the two successive images within a block of pixels are evaluated by means of the sum of the absolute amounts of the differences in the luminance values and used as summands in the target function to be minimized, these Summands form a first component of the objective function. 5. Verfahren nach Anspruch 1, dadurch gekennzeich­net, daß die Differenzen der Luminanzwerte einander ent­sprechender Bildpunkte der beiden aufeinanderfolgenden Bilder innerhalb eines Blocks von Bildpunkten mittels der Summe der Quadrate der Differenzen der Luminanzwerte bewertet und als Summanden in der zu minimierenden Zielfunktion verwendet werden, wobei diese Summanden eine erste Komponente der Zielfunktion bilden.5. The method according to claim 1, characterized in that the differences in the luminance values of mutually corresponding pixels of the two successive images within a block of pixels are evaluated by means of the sum of the squares of the differences in the luminance values and used as summands in the target function to be minimized, these Summands form a first component of the objective function. 6. Verfahren nach Anspruch 4 oder 5, dadurch gekenn­zeichnet, daß die Differenzen zwischen Nachbar-­Bewegungsvektoren durch die Betragsnormen dieser Differenzen ausgedrückt werden, wobei die Summe dieser Betragsnormen eine zweite Komponente der Zielfunktion bildet und als das Glatt­heitsmaß verwendet wird.6. The method according to claim 4 or 5, characterized in that the differences between neighboring motion vectors are expressed by the magnitude norms of these differences, the sum of these magnitude norms forming a second component of the objective function and being used as the smoothness measure. 7. Verfahren nach Anspruch 6, dadurch gekennzeich­net, daß zumindest eine der beiden Komponenten mit einem Gewichtungsfaktor multipliziert wird und daß die entsprechenden Produkte durch Summation die Zielfunktion bilden, wobei die Zielfunktion vorzugsweise die Form Z = Z1 + α Z2 hat, wobei Z1 die erste Komponente, Z2 die zweite Komponents and α der Ge­wichtungsfaktor sind.7. The method according to claim 6, characterized in that at least one of the two components is multiplied by a weighting factor and that the corresponding products form the target function by summation, the target function preferably having the form Z = Z1 + α Z2, where Z1 is the first Component, Z2 are the second component and α is the weighting factor. 8. Verfahren nach Anspruch 6, dadurch gekenn­zeichnet, daß als Nachbarn jedes Bewegungsvektors nur diejenigen vier Nachbar-Bewegungsvektoren verwendet werden, deren Koordinaten sich horizontal und vertikal in Nachbarschaft zu den Koordinaten des betreffenden Bewegungsvektor befinden, d. h., daß sich deren Koordinaten um (0,1), (0,-1), (1,0) oder (-1,0) von den Koordinaten des betreffenden Bewegungsvektors unterscheiden.8. The method according to claim 6, characterized in that only those four neighboring motion vectors are used as neighbors of each motion vector, the coordinates of which are horizontally and vertically in proximity to the coordinates of the relevant motion vector, ie that their coordinates are around (0, 1), (0, -1), (1,0) or (-1,0) from the coordinates of the relevant motion vector. 9. Verfahren nach Anspruch 6, dadurch gekenn­zeichnet, daß bei der Initialisierung des Bewegungs­vektorfeldes mit großen Blöcken - vorzugsweise 16x16 Bildpunkte (Pixel) - nämlich solange noch nicht für jeden Block zumindest schon einmal ein Bewegungsvektor berechnet wurde, das Glatt­heitsmaß dahingehend modifiziert wird, daß statt der Differen­zen zwischen Nachbar-Bewegungsvektoren die Betragsnormen der zu optimierenden Bewegungsvektoren - multipliziert mit einem Gewichtungsfaktor - in der Zielfunktion mittels des Glattheits­maßes verwendet werden.9. The method according to claim 6, characterized in that during the initialization of the motion vector field with large blocks - preferably 16x16 pixels (pixels) - namely as long as a motion vector has not been calculated for each block at least once, the smoothness measure is modified so that instead of the differences between neighboring motion vectors, the amount norms of the motion vectors to be optimized - multiplied by a weighting factor - are used in the target function by means of the smoothness measure. 10. Verfahren nach Anspruch 2, dadurch gekenn­zeichnet, daß in jeder Stufe der Blockunterteilung, d. h. am Anfang bei der maximalen Blockgröße und daraufhin nach jeder Blockunterteilung, die vorzugsweise bis zu einer Block­größe von 4x4 Bildpunkten (Pixel) durchgeführt wird, so lange der Reihe nach jeder einzelne Bewegungsvektor durch Variation in einem betreffenden Wertbereich optimiert wird, bis für keinen Bewegungsvektor mehr auf diese Weise ein kleinerer Wert der Zielfunktion gefunden werden kann.10. The method according to claim 2, characterized in that in each stage of the block subdivision, ie at the beginning at the maximum block size and then after each block subdivision, which is preferably carried out up to a block size of 4x4 pixels (pixels), in order each individual motion vector is optimized by variation in a relevant value range until a smaller value of the target function can no longer be found in this way for any motion vector. 11. Verfahren nach einem der vorhergehenden Ansprüche, da­durch gekennzeichnet, daß der Wertbereich der Bewegungsvektoren, innerhalb dessen die einzelnen Bewegungs­vektoren variiert werden, um die Zielfunktion zu minimieren, davon abhängig gemacht wird, welche Werte die Bewegungsvek­ toren in dem bereits berechneten Bewegungsvektorfeld haben, so daß der Wertbereich für die Optimierung des Bewegungsvektor­feldes klein ist, wenn Nachbar-Bewegungsvektoren gleich oder ähnlich sind, und nur dann größer ist, wenn Nachbar-Bewegungs­vektoren große Differenzen untereinander aufweisen.11. The method according to any one of the preceding claims, characterized in that the value range of the motion vectors, within which the individual motion vectors are varied in order to minimize the objective function, is made dependent on which values the motion vector gates in the motion vector field already calculated, so that the value range for the optimization of the motion vector field is small if neighboring motion vectors are the same or similar, and is only larger if neighboring motion vectors have large differences between them. 12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß durch ein Protokollierungs­system bewirkt wird, daß nur diejenigen Bewegungsvektoren noch­mals im Hinblich auf eine mögliche Verkleinerung des Werts der Zielfunktion optimiert werden, deren Nachbar-Bewegungsvektoren sich seit der letzten Optimierung des betreffenden Bewegungs­vektors verändert haben, so daß sich gegebenenfalls auch das Glattheitsmaß verändert hat, wobei das Protokollierungssystem ein Protokollierungsfeld mit einem Speicherplatz je Block zur Speicherung einer Steuerinformation für den Optimierungsablauf enthält.12. The method according to any one of the preceding claims, characterized in that a logging system causes only those motion vectors to be optimized again with a view to a possible reduction in the value of the target function whose neighboring motion vectors have changed since the last optimization of the relevant motion vector have, so that the degree of smoothness may also have changed, the logging system containing a logging field with one storage space per block for storing control information for the optimization process. 13. Verfahren nach Anspruch 10 oder 11, dadurch ge­kennzeichnet, daß bei der Optimierung eines be­stimmten Bewegungsvektors nicht jeder Bewegungsvektor des betreffenden Wertbereichs, sondern nur eine Teilmenge der Bewegungsvektoren nach einem vorbestimmten Schema in Betracht gezogen wird.13. The method according to claim 10 or 11, characterized in that when optimizing a particular motion vector not every motion vector of the relevant value range, but only a subset of the motion vectors according to a predetermined scheme is taken into account. 14. Verfahren nach Anspruch 1 oder 6, dadurch gekenn­zeichnet, daß zusätzlich zu der Differenz zwischen Nachbar-Bewegungsvektoren in dem zu berechnenden Bewegungsvek­torfeld auch die Differenz zwischen den Bewegungsvektoren des aktuellen Bewegungsvektorfeldes und denen des unmittelbar vorher aus einem vorangehenden Paar aufeinanderfolgender Bilder berechneten Bewegungsvektorfeldes ermittelt und in dem Glatt­heitsmaß verwendet wird, und zwar zum Zwecke der Glättung des Bewegungsvektorfeldes in der Zeitachsenrichtung, d. h. zur Angleichung aufeinanderfolgender Bewegungsvektorfelder.14. The method according to claim 1 or 6, characterized in that in addition to the difference between neighboring motion vectors in the motion vector field to be calculated, the difference between the motion vectors of the current motion vector field and those of the motion vector field calculated immediately beforehand from a preceding pair of successive images is determined and is used in the smoothness measure, namely for the purpose of smoothing the motion vector field in the time axis direction, ie for aligning successive motion vector fields. 15. Verfahren nach den vorhergehenden Ansprüchen, wobei aus je zwei aufeinanderfolgenden, mittels Datenkompression von einem Coder über einen Kanal zu einem Decoder übertragenen Bildern Bewegungsvektorfelder zum Zwecke des Einfügens von Zwischen­bildern ermittelt werden, dadurch gekennzeichnet, daß zur Initialisierung des Verfahrens entsprechende Bewegungs­vektorfelder verwendet werden, die bereits zuvor übertragen worden sind.15. The method according to the preceding claims, wherein motion vector fields are determined from two successive images transmitted by data compression from a coder via a channel to a decoder for the purpose of inserting intermediate images, characterized in that corresponding motion vector fields are used to initialize the method, that have previously been broadcast.
EP88107514A 1987-06-02 1988-05-10 Method for determining movement vector fields from digital image sequences Expired - Lifetime EP0293644B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT88107514T ATE74219T1 (en) 1987-06-02 1988-05-10 METHOD FOR DETERMINING MOTION VECTOR FIELDS FROM DIGITAL IMAGE SEQUENCES.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3718491 1987-06-02
DE3718491 1987-06-02

Publications (2)

Publication Number Publication Date
EP0293644A1 true EP0293644A1 (en) 1988-12-07
EP0293644B1 EP0293644B1 (en) 1992-03-25

Family

ID=6328906

Family Applications (1)

Application Number Title Priority Date Filing Date
EP88107514A Expired - Lifetime EP0293644B1 (en) 1987-06-02 1988-05-10 Method for determining movement vector fields from digital image sequences

Country Status (5)

Country Link
US (1) US4924310A (en)
EP (1) EP0293644B1 (en)
JP (1) JPH0192885A (en)
AT (1) ATE74219T1 (en)
DE (1) DE3869475D1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0395267A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0395270A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0395269A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0410192A1 (en) * 1989-07-25 1991-01-30 Robert Bosch Gmbh Circuit for estimation of motion in a captured image
FR2651399A1 (en) * 1989-08-29 1991-03-01 Thomson Consumer Electronics METHOD AND DEVICE FOR ESTIMATING AND HIERARCHIZED CODING OF THE MOTION OF IMAGE SEQUENCES.
EP0420653A2 (en) * 1989-09-29 1991-04-03 Victor Company Of Japan, Ltd. Motion picture data coding/decoding system having motion vector coding unit and decoding unit
EP0446001A2 (en) * 1990-03-06 1991-09-11 Victor Company Of Japan, Ltd. Motion vector detection circuit used in hierarchical processing of moving picture signal
EP0466981A1 (en) * 1990-07-20 1992-01-22 Koninklijke Philips Electronics N.V. Motion vector processing device
EP0478217A2 (en) * 1990-09-28 1992-04-01 Sony United Kingdom Limited Motion dependent video signal processing
EP0515890A2 (en) * 1991-05-31 1992-12-02 Daimler-Benz Aerospace Aktiengesellschaft Terrain monitoring method
FR2684258A1 (en) * 1991-11-27 1993-05-28 Thomson Consumer Electronics METHOD FOR ESTIMATING AND CODING HIERARCHISE OF THE MOTION OF IMAGE SEQUENCES.
DE4406837A1 (en) * 1993-03-03 1994-09-08 Gold Star Co Image correction device and method for a camcorder

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047850A (en) * 1989-03-03 1991-09-10 Matsushita Electric Industrial Co., Ltd. Detector for detecting vector indicating motion of image
JPH07105949B2 (en) * 1989-03-20 1995-11-13 松下電器産業株式会社 Image motion vector detection device and shake correction device
JPH0771296B2 (en) * 1989-03-20 1995-07-31 松下電器産業株式会社 Motion vector detector
US5265172A (en) * 1989-10-13 1993-11-23 Texas Instruments Incorporated Method and apparatus for producing optical flow using multi-spectral images
US5617482A (en) * 1990-08-15 1997-04-01 Televerket Method of motion compensation and elastic deformation in picture sequences
DE4104067C2 (en) * 1991-02-11 1994-08-25 Telefonbau & Normalzeit Gmbh Process for improving the quality of motion vectors for digital image transmission
JP2677312B2 (en) * 1991-03-11 1997-11-17 工業技術院長 Camera work detection method
SE469866B (en) * 1991-04-12 1993-09-27 Dv Sweden Ab Method for estimating motion content in video signals
US5208673A (en) * 1991-11-05 1993-05-04 Matsushita Electric Corporation Of America Noise reduction in frame transmitted video signals
EP0557007A2 (en) * 1992-02-15 1993-08-25 Sony Corporation Picture processing apparatus
US5500904A (en) * 1992-04-22 1996-03-19 Texas Instruments Incorporated System and method for indicating a change between images
US5471544A (en) * 1992-05-18 1995-11-28 Markandey; Vishal Condition number-based smoothins of optical flow fields
DE69415702T2 (en) * 1993-02-22 1999-05-20 Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka Methods and devices for coding and decoding moving images
US5453787A (en) * 1993-12-10 1995-09-26 International Business Machines Corporation Variable spatial frequency chrominance encoding in software motion video compression
US5465118A (en) * 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
WO1996008114A1 (en) * 1994-09-02 1996-03-14 David Sarnoff Research Center, Inc. Method and apparatus for global-to-local block motion estimation
TW322238U (en) * 1995-06-06 1997-12-01 Nippon Steel Corp A moving picture signal decoder
US5717463A (en) * 1995-07-24 1998-02-10 Motorola, Inc. Method and system for estimating motion within a video sequence
AU6951596A (en) * 1995-08-28 1997-03-19 Motorola, Inc. Method and system for performing an l1 norm operation
JP3183155B2 (en) * 1996-03-18 2001-07-03 株式会社日立製作所 Image decoding apparatus and image decoding method
JP2001506820A (en) * 1996-11-27 2001-05-22 プリンストン ビデオ イメージ,インコーポレイテッド Motion tracking using image texture templates
CN1108064C (en) * 1997-10-23 2003-05-07 索尼电子有限公司 Apparatus and method for recovery of lost/damaged data in bitstream of data based on compatibility
US6282684B1 (en) 1997-10-23 2001-08-28 Sony Corporation Apparatus and method for recovery of data in a lossy transmission environment
US6163868A (en) 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment
US6581170B1 (en) 1997-10-23 2003-06-17 Sony Corporation Source coding to provide for robust error recovery during transmission losses
US6535148B1 (en) 1999-02-12 2003-03-18 Sony Corporation Method and apparatus for truncated decoding
US6307979B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive error recovery method and apparatus
US6363118B1 (en) 1999-02-12 2002-03-26 Sony Corporation Apparatus and method for the recovery of compression constants in the encoded domain
US6170074B1 (en) 1999-02-12 2001-01-02 Sony Corporation Source coding to provide for robust error recovery
US6621936B1 (en) 1999-02-12 2003-09-16 Sony Corporation Method and apparatus for spatial class reduction
US6178266B1 (en) 1999-02-12 2001-01-23 Sony Corporation Method and apparatus for the recovery of compression constants in the encoded domain
US6192161B1 (en) 1999-02-12 2001-02-20 Sony Corporation Method and apparatus for adaptive filter tap selection according to a class
US6591398B1 (en) 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6307560B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive spatio-temporal format conversion method and apparatus
US7010737B2 (en) * 1999-02-12 2006-03-07 Sony Corporation Method and apparatus for error data recovery
US6519369B1 (en) 1999-02-12 2003-02-11 Sony Corporation Method and apparatus for filter tap expansion
US6154761A (en) * 1999-02-12 2000-11-28 Sony Corporation Classified adaptive multiple processing system
US6151416A (en) * 1999-02-12 2000-11-21 Sony Corporation Method and apparatus for adaptive class tap selection according to multiple classification
DE19909622A1 (en) * 1999-03-05 2000-09-07 Bosch Gmbh Robert Method and device for determining a shift of images of an image sequence
US6697489B1 (en) 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US7730300B2 (en) * 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7565546B2 (en) 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US6741725B2 (en) * 1999-05-26 2004-05-25 Princeton Video Image, Inc. Motion tracking using image-texture templates
US6473876B1 (en) 1999-06-29 2002-10-29 Sony Corporation Method and apparatus for encoding of bitstreams using rotation
US6389562B1 (en) 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6549672B1 (en) * 1999-06-29 2003-04-15 Sony Corporation Method and apparatus for recovery of encoded data using central value
US6493842B1 (en) 1999-06-29 2002-12-10 Sony Corporation Time-varying randomization for data synchronization and implicit information transmission
US6522785B1 (en) 1999-09-24 2003-02-18 Sony Corporation Classified adaptive error recovery method and apparatus
US6351494B1 (en) 1999-09-24 2002-02-26 Sony Corporation Classified adaptive error recovery method and apparatus
US6539517B1 (en) 1999-11-09 2003-03-25 Sony Corporation Data transformation for explicit transmission of control information
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US6754371B1 (en) 1999-12-07 2004-06-22 Sony Corporation Method and apparatus for past and future motion classification
US7225164B1 (en) * 2000-02-15 2007-05-29 Sony Corporation Method and apparatus for implementing revocation in broadcast networks
US20040205812A1 (en) * 2000-06-22 2004-10-14 Candelore Brant L. Method and apparatus for routing program data in a program viewing unit
US6665450B1 (en) * 2000-09-08 2003-12-16 Avid Technology, Inc. Interpolation of a sequence of images using motion analysis
US20020159749A1 (en) * 2001-03-15 2002-10-31 Koninklijke Philips Electronics N.V. Method and apparatus for motion estimation in image-sequences with efficient content-based smoothness constraint
US6782054B2 (en) * 2001-04-20 2004-08-24 Koninklijke Philips Electronics, N.V. Method and apparatus for motion vector estimation
US7043058B2 (en) * 2001-04-20 2006-05-09 Avid Technology, Inc. Correcting motion vector maps for image processing
US7545957B2 (en) * 2001-04-20 2009-06-09 Avid Technology, Inc. Analyzing motion of characteristics in images
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7350082B2 (en) 2001-06-06 2008-03-25 Sony Corporation Upgrading of encryption
US7151831B2 (en) * 2001-06-06 2006-12-19 Sony Corporation Partial encryption and PID mapping
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7218738B2 (en) * 2002-01-02 2007-05-15 Sony Corporation Encryption and content control in a digital broadcast system
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7376233B2 (en) 2002-01-02 2008-05-20 Sony Corporation Video slice and active region based multiple partial encryption
US7155012B2 (en) * 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7292691B2 (en) 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
US7039938B2 (en) * 2002-01-02 2006-05-02 Sony Corporation Selective encryption for video on demand
US7302059B2 (en) * 2002-01-02 2007-11-27 Sony Corporation Star pattern partial encryption
US7215770B2 (en) * 2002-01-02 2007-05-08 Sony Corporation System and method for partially encrypted multimedia stream
US7194676B2 (en) 2002-03-01 2007-03-20 Avid Technology, Inc. Performance retiming effects on synchronized data in an editing system
US7530084B2 (en) * 2002-05-28 2009-05-05 Sony Corporation Method and apparatus for synchronizing dynamic graphics
EP1387588A2 (en) * 2002-08-02 2004-02-04 KDDI Corporation Image matching device and method for motion estimation
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
US8667525B2 (en) * 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US20040165586A1 (en) * 2003-02-24 2004-08-26 Read Christopher Jensen PID filters based network routing
US7409702B2 (en) 2003-03-20 2008-08-05 Sony Corporation Auxiliary program association table
US7292692B2 (en) 2003-03-25 2007-11-06 Sony Corporation Content scrambling with minimal impact on legacy devices
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
US20050036067A1 (en) * 2003-08-05 2005-02-17 Ryal Kim Annon Variable perspective view of video images
US7286667B1 (en) 2003-09-15 2007-10-23 Sony Corporation Decryption system
US7620180B2 (en) 2003-11-03 2009-11-17 Sony Corporation Preparation of content for multiple conditional access methods in video on demand
US7346163B2 (en) * 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US20050097597A1 (en) * 2003-10-31 2005-05-05 Pedlow Leo M.Jr. Hybrid storage of video on demand content
US7343013B2 (en) 2003-12-16 2008-03-11 Sony Corporation Composite session-based encryption of video on demand content
US7263187B2 (en) * 2003-10-31 2007-08-28 Sony Corporation Batch mode session-based encryption of video on demand content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
FR2862466A1 (en) * 2003-11-19 2005-05-20 France Telecom Video image sequence watermarking for reduced visual impact having bit sequence modification placement optimally watermarked movement vectors only using predetermined optimally watermarked movement vectors
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
GB2431795A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Motion vector selection based on integrity
GB2431798A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Motion vector selection based on integrity
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US7555464B2 (en) 2006-03-01 2009-06-30 Sony Corporation Multiple DRM management
US20080095414A1 (en) * 2006-09-12 2008-04-24 Vladimir Desh Correction of functional nuclear imaging data for motion artifacts using anatomical data
US8526502B2 (en) * 2007-09-10 2013-09-03 Entropic Communications, Inc. Method and apparatus for line based vertical motion estimation and compensation
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US20110026596A1 (en) * 2009-07-28 2011-02-03 Wei Hong Method and System for Block-Based Motion Estimation for Motion-Compensated Frame Rate Conversion
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8611415B1 (en) 2010-11-15 2013-12-17 Google Inc. System and method for coding using improved motion estimation
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8804819B1 (en) 2011-04-19 2014-08-12 Google Inc. Method and apparatus for encoding video using data frequency
US9749638B1 (en) 2011-04-28 2017-08-29 Google Inc. Method and apparatus for encoding video with dynamic quality improvement
US8705620B1 (en) 2011-04-28 2014-04-22 Google Inc. Method and apparatus for encoding anchor frame by encoding features using layers
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
CN103797795B (en) 2011-07-01 2017-07-28 谷歌技术控股有限责任公司 Method and apparatus for motion-vector prediction
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
CN104041041B (en) 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 Motion vector scaling for the vectorial grid of nonuniform motion
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US20130286227A1 (en) * 2012-04-30 2013-10-31 T-Mobile Usa, Inc. Data Transfer Reduction During Video Broadcasts
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9288484B1 (en) 2012-08-30 2016-03-15 Google Inc. Sparse coding dictionary priming
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9210432B2 (en) 2012-10-08 2015-12-08 Google Inc. Lossless inter-frame video coding
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US9300906B2 (en) 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
RU2538941C1 (en) * 2013-06-14 2015-01-10 Общество с ограниченной ответственностью "Аби Девелопмент" Recognition quality enhancements by increasing image resolution
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US9153017B1 (en) 2014-08-15 2015-10-06 Google Inc. System and method for optimized chroma subsampling
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US10134110B1 (en) * 2015-04-01 2018-11-20 Pixelworks, Inc. Temporal stability for single frame super resolution
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
US10390048B2 (en) * 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2172171A (en) * 1985-03-04 1986-09-10 Kokusai Denshin Denwa Co Ltd Motion vector calculating system for detecting a moving object on a screen

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0089409B1 (en) * 1982-03-18 1989-03-29 VDO Adolf Schindling AG Fuel cut-off control system in an internal-combustion engine
JPS60158786A (en) * 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> Detection system of picture moving quantity
EP0204006B1 (en) * 1984-12-17 1991-10-09 Nippon Hoso Kyokai System for transmitting stereoscopic television pictures
DE3684047D1 (en) * 1985-07-02 1992-04-09 Matsushita Electric Ind Co Ltd BLOCK CODING DEVICE.
JP2506332B2 (en) * 1986-03-04 1996-06-12 国際電信電話株式会社 High-efficiency coding method for moving image signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2172171A (en) * 1985-03-04 1986-09-10 Kokusai Denshin Denwa Co Ltd Motion vector calculating system for detecting a moving object on a screen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PROCEEDINGS: WORKSHOP ON MOTION: REPRESENTATION AND ANALYSIS, 7.-9. Mai 1986, Seiten 81-87, IEEE, South Carolina, US; W. ENKELMANN: "Investigations of multigrid algorithms for the estimation of optical flow fields in image sequences" *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0395267A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0395269A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0395269A3 (en) * 1989-04-27 1992-01-08 Sony Corporation Motion dependent video signal processing
EP0395267A3 (en) * 1989-04-27 1992-01-08 Sony Corporation Motion dependent video signal processing
GB2231748B (en) * 1989-04-27 1993-08-18 Sony Corp Motion dependent video signal processing
EP0395270A3 (en) * 1989-04-27 1992-02-05 Sony Corporation Motion dependent video signal processing
EP0395270A2 (en) * 1989-04-27 1990-10-31 Sony Corporation Motion dependent video signal processing
EP0410192A1 (en) * 1989-07-25 1991-01-30 Robert Bosch Gmbh Circuit for estimation of motion in a captured image
FR2651399A1 (en) * 1989-08-29 1991-03-01 Thomson Consumer Electronics METHOD AND DEVICE FOR ESTIMATING AND HIERARCHIZED CODING OF THE MOTION OF IMAGE SEQUENCES.
WO1991003797A1 (en) * 1989-08-29 1991-03-21 Thomson Consumer Electronics S.A. Method and device for estimation and hierarchical coding of the motion of image sequences
US5351095A (en) * 1989-08-29 1994-09-27 Thomson Consumer Electronics Method and device for estimating and hierarchically coding the motion of sequences of images
EP0420653A2 (en) * 1989-09-29 1991-04-03 Victor Company Of Japan, Ltd. Motion picture data coding/decoding system having motion vector coding unit and decoding unit
EP0420653A3 (en) * 1989-09-29 1992-06-03 Victor Company Of Japan, Ltd. Motion picture data coding/decoding system having motion vector coding unit and decoding unit
EP0446001A2 (en) * 1990-03-06 1991-09-11 Victor Company Of Japan, Ltd. Motion vector detection circuit used in hierarchical processing of moving picture signal
EP0446001A3 (en) * 1990-03-06 1993-05-19 Victor Company Of Japan, Ltd. Motion vector detection circuit used in hierarchical processing of moving picture signal
EP0466981A1 (en) * 1990-07-20 1992-01-22 Koninklijke Philips Electronics N.V. Motion vector processing device
US5148269A (en) * 1990-07-20 1992-09-15 U.S. Philips Corporation Motion vector processing device
EP0478217A2 (en) * 1990-09-28 1992-04-01 Sony United Kingdom Limited Motion dependent video signal processing
EP0478217A3 (en) * 1990-09-28 1993-05-19 Sony Broadcast & Communications Limited Motion dependent video signal processing
EP0515890A3 (en) * 1991-05-31 1994-02-02 Deutsche Aerospace
EP0515890A2 (en) * 1991-05-31 1992-12-02 Daimler-Benz Aerospace Aktiengesellschaft Terrain monitoring method
FR2684258A1 (en) * 1991-11-27 1993-05-28 Thomson Consumer Electronics METHOD FOR ESTIMATING AND CODING HIERARCHISE OF THE MOTION OF IMAGE SEQUENCES.
WO1993011502A1 (en) * 1991-11-27 1993-06-10 Thomson Consumer Electronics S.A. Method for estimating and hierarchically coding image sequence motion
DE4406837A1 (en) * 1993-03-03 1994-09-08 Gold Star Co Image correction device and method for a camcorder

Also Published As

Publication number Publication date
ATE74219T1 (en) 1992-04-15
EP0293644B1 (en) 1992-03-25
DE3869475D1 (en) 1992-04-30
US4924310A (en) 1990-05-08
JPH0192885A (en) 1989-04-12

Similar Documents

Publication Publication Date Title
EP0293644B1 (en) Method for determining movement vector fields from digital image sequences
DE69421837T2 (en) Video encoders and decoders
EP0259562B1 (en) Method for interframe prediction coding with movement compensation
DE69123359T2 (en) VIDEO IMAGE PROCESSING
DE69027479T2 (en) Motion-dependent video signal processing
DE69722637T2 (en) MOTION ESTIMATION SYSTEM AND METHOD FOR A VIDEO ENCODER
DE3587448T2 (en) Device for an effective coding of television signals.
DE3874705T2 (en) METHOD FOR ESTIMATING MOTION WITH SEVERAL PREDICTORS FOR POINTS OF AN ELECTRONIC IMAGE.
DE69031055T2 (en) Motion-dependent video signal processing
DE69413384T2 (en) METHOD FOR DETERMINING THE INEQUALITY BETWEEN MONOSCOPIC IMAGES THAT ARE A STEREOSCOPIC IMAGE
DE69525525T2 (en) Image processing system using pixel-to-pixel motion estimation and image decimation
DE69623330T2 (en) FEATURE-BASED VIDEO COMPRESSION PROCESS
DE69534399T2 (en) Method and device for determining feature points
DE69314630T2 (en) METHOD FOR ADAPTIVELY ESTIMATING UNWANTED IMAGE SHAKERS IN IMAGE SEQUENCES OF DIGITAL TELEVISION SIGNALS
DE69723550T2 (en) CODING AND DECODING OF GRAPHIC SYMBOLS
DE69427801T2 (en) Method and device for determining motion vector fields by suppressing local deviations
DE69801209T2 (en) Hierarchical recursive motion estimator for motion picture encoders
EP0309669A2 (en) Method for scenery model aided image data reduction for digital television signals
DE69028651T2 (en) Motion-dependent video signal processing
DE3837590A1 (en) PROCESS FOR REDUCING THE DATA RATE OF DIGITAL IMAGE DATA
DE19618984B4 (en) Method for motion evaluation in image data and apparatus for carrying out this method
DE69320461T2 (en) Motion compensated video image processing
DE69028792T2 (en) Motion-dependent video signal processing
EP0468279B1 (en) Method for determining motion vectors for the blocks of a source image sequence
DE69027704T2 (en) Motion-dependent video signal processing

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LI LU NL SE

17P Request for examination filed

Effective date: 19890529

17Q First examination report despatched

Effective date: 19910822

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE FR GB IT LI LU NL SE

REF Corresponds to:

Ref document number: 74219

Country of ref document: AT

Date of ref document: 19920415

Kind code of ref document: T

REF Corresponds to:

Ref document number: 3869475

Country of ref document: DE

Date of ref document: 19920430

ET Fr: translation filed
ITF It: translation for a ep patent filed
GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 19930421

Year of fee payment: 6

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 19930512

Year of fee payment: 6

Ref country code: SE

Payment date: 19930512

Year of fee payment: 6

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: LU

Payment date: 19930518

Year of fee payment: 6

EPTA Lu: last paid annual fee
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 19931008

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19940510

Ref country code: AT

Effective date: 19940510

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19940511

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Effective date: 19940531

Ref country code: CH

Effective date: 19940531

Ref country code: LI

Effective date: 19940531

BERE Be: lapsed

Owner name: SIEMENS A.G.

Effective date: 19940531

EUG Se: european patent has lapsed

Ref document number: 88107514.7

Effective date: 19941210

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

EUG Se: european patent has lapsed

Ref document number: 88107514.7

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20070503

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20070822

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20070508

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20070515

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20070516

Year of fee payment: 20

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20080509

NLV7 Nl: ceased due to reaching the maximum lifetime of a patent

Effective date: 20080510

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20080510

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20080509