WO2010066801A1 - Method for estimating movement at edges of images - Google Patents

Method for estimating movement at edges of images Download PDF

Info

Publication number
WO2010066801A1
WO2010066801A1 PCT/EP2009/066751 EP2009066751W WO2010066801A1 WO 2010066801 A1 WO2010066801 A1 WO 2010066801A1 EP 2009066751 W EP2009066751 W EP 2009066751W WO 2010066801 A1 WO2010066801 A1 WO 2010066801A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
edge
image block
vector
vector component
Prior art date
Application number
PCT/EP2009/066751
Other languages
German (de)
French (fr)
Inventor
Peter Rieder
Günter Scheffler
Christian Tuschen
Marko Hahn
Markus Schu
Original Assignee
Trident Microsystems (Far East) Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trident Microsystems (Far East) Ltd. filed Critical Trident Microsystems (Far East) Ltd.
Publication of WO2010066801A1 publication Critical patent/WO2010066801A1/en

Links

Classifications

    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Definitions

  • the present invention relates to a method for estimating the motion at image edges.
  • a motion estimation comprises the determination of motion information for individual picture blocks of temporally successive pictures of a picture sequence.
  • the motion information for an image block of a first image indicates in which direction the image content of the image block shifts between the first image and a temporally preceding or temporally subsequent second image. This motion information is usually reproduced in the form of so-called motion vectors.
  • the motion information obtained by the motion estimation can be used for various purposes, such as e.g. inter-frame interpolation, inter-line interpolation, compression of image data, etc.
  • motion estimation methods such as recursive motion estimation methods, in which a number of test vectors or candidate vectors are assigned to the individual picture blocks whose motion information is to be determined. For each of the test vectors associated with a first image block, a block matching procedure is performed to determine a distance measure for each of these test vectors.
  • the distance measure for a test vector is a measure of the match between the image content of the first image block in the first image and a second image block in the second image. The position of the second image block is shifted by the test vector with respect to the position of the first image block.
  • the test vector is selected in such a method, for which the "best" distance measure is determined. was telt.
  • the motion vectors of those image blocks are selected which are arranged spatially and / or temporally adjacent to the first image block.
  • first image block is near an image edge, depending on the orientation and the length of the test vector, scenarios may occur in which the second image block lies outside the image or in which the test vector points beyond the image edge.
  • the determination of a distance measure to the test vector is not possible in this case.
  • WO 2007/119198 describes a method for estimating motion at image edges.
  • it is determined whether a test vector to be tested for a first image block of a first image points to a second image block that is outside the second image. If so, the block matching method is applied to a shifted first image block and a shifted second image block which are offset from each other by the test vector and which are shifted from the position of the first image block such that the second image block is within the second image.
  • a shift takes place in particular so far that the second image block lies just within the second image.
  • the object of the present invention is to provide an improved method for a motion estimation or for testing motion vectors for picture blocks in the edge region of an image. This object is achieved by a method according to claim 1. Embodiments and developments are the subject of dependent claims.
  • the invention relates to a method for testing a motion vector to a first image block of a first image of a sequence of images, which is arranged in a first edge region of the image, wherein the first edge region adjoins a first edge of the image and wherein the motion vector is a first perpendicular to comprising the first edge vector component and a second vector component.
  • the method includes: evaluating the first vector component of the motion vector and determining a second image block in the first image shifted from the first image block by the first vector component in a direction away from the first image edge when the first vector component has a first direction ; Determining a third image block in a temporally preceding or temporally subsequent image of the first image, compared to the second image
  • Image block is shifted by the first motion vector; Calculating a distance measure between the contents of the second and third image blocks.
  • the determination of the second image block which lies in the first image and which is shifted with respect to the first image block, and performs an image comparison between the second image block and the third image block which lies in the second image and which is opposite the second image block around the test vector - Gate arranged offset, takes place only depending on the direction of the first vector component, but not dependent on the length of this first vector component.
  • the second image may be temporally before or after the first image. If the second image lies temporally before the first image, the first image direction runs away from the first image edge; and if the second image is temporally after the first image, then the first image direction is toward the first image edge.
  • the image may have, in addition to the first edge region, a second edge region which adjoins a second edge running perpendicular to the first edge.
  • Image blocks that lie in this second edge region the second vector component of the test vector is evaluated.
  • Figure 1 illustrates basic aspects of various motion estimation methods.
  • Figures 2A, 2B illustrate an example of a
  • Motion estimation method for an image block arranged in a first edge area of an image is a motion estimation method for an image block arranged in a first edge area of an image.
  • FIG. 3 illustrates individual method steps of a method according to the invention on the basis of a sequence diagram.
  • FIG. 4 illustrates details of the method according to FIGS. 2A, 2B with reference to a table.
  • FIGS. 5A and 5B illustrate a first example of a motion estimation method for one
  • Image block arranged in a first and a second edge area of an image.
  • FIG. 6 illustrates details of the method according to FIGS. 5A, 5B with reference to a table.
  • Figures 7A and 7B illustrate a second example of a motion estimation method for an image block located in a first edge area of an image.
  • Figures 8A and 8B illustrate a second example of a motion estimation method for an image block arranged in a first and a second edge area of an image.
  • FIG. 9 illustrates details of the method according to FIGS. 8A, 8B with reference to a table.
  • FIG. 1 schematically shows temporally successive images F (il), F (i), F (i + 1) of an image sequence.
  • This image F (i) at the time position i is considered in more detail.
  • This image F (i) is divided into a number of image blocks which are arranged in a grid-like or matrix-like manner.
  • Each of these image blocks comprises a number of pixels arranged in a matrix, at least one of each of these pixels Pixel value or pixel value is assigned.
  • a pixel value is, for example, a brightness value (luminance value) or a color value (chrominance value).
  • An image block includes, for example, 8x8 pixels.
  • first and second coordinates which are also referred to below as horizontal and vertical coordinates or x and y coordinates.
  • first and second coordinates which are also referred to below as horizontal and vertical coordinates or x and y coordinates.
  • x and y coordinates horizontal and vertical coordinates
  • the x coordinates in the individual images increase from left to right and that the y coordinates increase from top to bottom, so the origin of this coordinate system is in the upper left corner of the individual images.
  • Bl '(i) designates in FIG. 1 by way of example a first image block in the first image F (i) to which a motion vector vi is to be tested.
  • the testing of such a motion vector vi can in principle be carried out by comparing the image content of the first image block Bl 1 (i) in the first image F (i) with the image content of a second image block which is contained in the temporally preceding image F (il). is arranged and which is arranged offset from the first image block Bl '(i) around the test vector vi.
  • Such a method is also called backward estimation.
  • the position of the second image block B2 '(i-1) is at the starting point or foot point of the motion vector vi projected on both images, and the first image block Bl' (i) is located at the end point or the top of the motion picture. the projected motion vector vi.
  • FIG. 1 there are scenarios in which such a comparison of the image contents of two image blocks is not possible, namely if the first image block Bl 1 (i) is arranged in the region of an edge of the first image F (i) and if the orientation and the length of the test vector vi are such that it extends beyond the image edge starting from the first image block or that the second image block is arranged outside the second image F (il).
  • the image content of this image block can also be compared with an image block of the temporally subsequent image F (i + 1).
  • B3 * (i) designates another image block in the first image F (i) in FIG. 1
  • v2 designates a test vector to be tested for this image block B3 '(i).
  • the image block B3 '(i) in the image F (i) and the image block B4' (i + 1) in the image F (i + 1) are around the test vector v2 offset from each other, the image block BB 1 Ci) in the image F (i) at the base or starting point of the test vector v2 and the image block B4 '(i + D in the image F (i + 1) at the end point or the top of the As shown in Figure 1, even in such forward estimation there are scenarios in which the determination of a distance measure for the test vector v2 is not possible, namely when the image block B3 * (i) of the image F (i) in is an edge region of the image, and if an orientation and a length of the test vector v2 are such that the test vector points beyond the edge in the temporally following image F (i + 1) or to a block position outside the temporally following image F (i +1) shows.
  • FIGS. 2A and 2B illustrate a first example of such a method.
  • F (i) denotes a first image of an image sequence which has a number of matrix-like or grid-like ordered image blocks.
  • F (il) denotes a second image temporally preceding the first image F (i).
  • the first image F (i) has a first edge region RB1, which is arranged adjacent to a first edge Rl of the first image F (i).
  • this first edge R1 is the left vertical edge of the image, that is to say the edge which bounds the image F (i) to the left in the vertical direction.
  • the choice of this left vertical edge is to be understood in the context of the following explanation only as an example. The following explanations apply correspondingly to edge regions along each of the image edges.
  • the first edge region RB1 runs parallel to the first edge Rl. Below a width of the edge region RB1, the dimension of the edge region RB1 in a direction perpendicular to the first edge R1 - in the illustrated example, ie in the horizontal direction of the image F (i) - is hereinafter referred to.
  • the width of the edge area RBl is fixed. This width of the edge region RB1 is selected, for example, as a function of the maximum expected length of the test vectors to be tested. This width is for example between 5 and 15 image blocks or between 5-8 and 15-8 pixels, if the individual image blocks have a size of 8x8 pixels.
  • Bl (i) denotes in FIGS. 2A, 2B a first image block lying within the first edge region RB1
  • vi denotes a test vector vi to be tested for this first image block Bl (i).
  • This test vector has two
  • a horizontal vector component vl x also referred to below as the x-vector component; and - S -
  • both vector components of the first test vector vi are not equal to zero. Of course, one or both of these vector components may also be zero. In the latter case, the first test vector vi is a zero vector.
  • the testing of the first test vector vi comprises the determination of a distance measure for this first test vector vi, wherein the determination of a distance measure comprises a comparison of the image contents of image blocks in the first image F (i) and the second image F (i-l). Individual process steps for determining these image blocks to be compared are illustrated in a flowchart in FIG.
  • a first method step 101 it is provided in a first method step 101 to evaluate the direction of the vector component of the test vector vi, which runs perpendicular to the first edge Rl.
  • This vector component, which runs perpendicular to the first edge Rl is in the illustrated example the horizontal vector component vl x of the first test vector vi.
  • the evaluation of this vector component v 1 x comprises evaluating a direction of this vector component as to whether this vector component has a predetermined direction with respect to the first edge. In the illustrated example, such a given direction exists when this vector component points away from the first edge Rl into the image.
  • the horizontal vector component vl x of the first test vector in the illustrated example then points from the left vertical one Edge Rl away, if this first vector component vl x has a positive sign. If a vector component of a test vector that is perpendicular to a given edge has the predetermined direction, this will be referred to hereinafter as the "edge region violation" with respect to the given edge.
  • Whether or not there is an edge region violation for an image block Bl (i) arranged in an edge region RB1 and a test vector vi with respect to an edge Rl is dependent on a number of factors, namely the direction of the vector component vlx of the test vector vi and x, which runs perpendicular to the edge Rl the estimation direction, ie the temporal position of the second image F (i-l) with respect to the first image F (i).
  • a backward direction estimate is when the second image F (il) is ahead of the first image and an estimate in a second direction opposite to the backward direction exists if the second image F (i + 1) is later than the second first picture lies.
  • a second pixel B2 (i) within the first image F (i) is determined which is shifted from the first pixel Bl (i) by the first vector component vl x such that the second image block B2 (i) is located farther apart from the first edge Rl than the first image block Bl (i).
  • Pixel Bl (i) lies at the foot point or at the starting point of the first vector component vl x
  • the second image block B2 (i) lies at the end point or the peak of this vector component vl x .
  • (xl, yl) are the coordinates of the first image block Bl (i).
  • (x2, y2) of the second image block B2 (i) then:
  • a third image block B3 (i-1) in the second image F (il) whose position relative to the position of the second image block B2 (i) is offset by the test vector vi such that the second image block B2 (i) lies at the top or end point and the third image block B3 (i-1) lies at the starting point of the test vector vi, or that the third image block is closer to the edge R1 than the vector component vl x second image block B2 (i).
  • coordinates (x3, y3) of the third image block B3 (i-1) the following applies with respect to the coordinates of the second image block:
  • the horizontal coordinate x3 of the third image block B3 (i-1) corresponds to the horizontal coordinate of the first image block Bl (i).
  • test vector vi in the example shown has a pixel-precise resolution, ie a resolution which is higher than the resolution of the block raster. Accordingly, neither the second image block B2 (i) nor the third image block B3 (i-1) must lie on the block grid, which is shown for better understanding in Figs. 2A, 2B for both images F (i), F (il).
  • the test vector vi can not be shown in detail Even a sub-pixel-accurate resolution, that is, a resolution that is higher than the image pixel (pixel) grid of the image.
  • a distance for the test vector vi is determined by comparing the contents of the second and third image blocks B2 (i), B3 (i-1).
  • image blocks are compared with each other for whose coordinates, referring to the equations (1) and (2): (xl + vl x , yl), (xl, yl-vly).
  • the contents of the first image block Bl (i) with the coordinates (xl, yl) and another image block, which is shifted from the first image block by the test vector vi, would be directly in the second image B2 (i-1) and having the coordinates (xl-vl x , yl-vl y ), compared with each other.
  • the determination of the distance measure can be done in any basically known manner. In one example, it is provided to form the differences of the pixel values of pixels located at the same positions within the two blocks B2 (i), B3 (i-1), to form the absolute values of these obtained differences, and to accumulate the thus obtained absolute values , The value thus obtained is also called the sum of the absolute values of the pixel value differences. Instead of the absolute values, any other metrics may be applied to the differences of the pixel values, such as even powers.
  • the distance measure obtained is the smaller, the more the contents of the two image blocks match.
  • pixel values for the comparison of the image contents of the two image blocks any of the pixel values assigned to the individual pixels can be used, for example, brightness values (luminance values) or color values (chrominance values).
  • a vector component v2 x of this test vector v2 running perpendicular to the edge Rl shows in the example in the direction of this edge R1.
  • a distance measure for this test vector v2 can thus be determined directly using the image content of the further image block B4 (i) and an image block B5 (il) in the second image F (il).
  • the image block B5 (i-1) in the second image F (il) is offset by the test vector v2 from the position of the image block B4 (i). (x4, y4) let be the coordinates of the image block
  • v2 x , v2 y denote the vertical and horizontal vector component of the test vector v2.
  • test vectors for an image block such as the first image block Bl (i) according to FIGS. 2A, 2B
  • a test vector for an image block can be applied to a plurality of different test vectors, wherein the For example, the distance measures obtained for the individual test vectors are compared with one another, and one of these test vectors is selected as a motion vector for the image block taking into account a distance measure.
  • the group of test vectors to be tested for an image block may be selected in a conventional manner.
  • Test vectors for an image block, such as the first image block Bl (i) are, for example, motion vectors previously arranged temporally and / or spatially adjacent to the first image block Bl (i)
  • Image blocks were determined.
  • Spatially adjacent image blocks are image blocks that are arranged within the first image F (i) spatially adjacent to the first image block Bl (i).
  • Time-adjacent image blocks are image blocks located at the same position as the first image block Bl (i), but arranged in temporally adjacent images, such as the second image F (I-I).
  • Temporally and spatially adjacent image blocks are image blocks located in images other than the first image F (i) at positions spatially adjacent to the position of the first image block Bl (i).
  • the explained method can be applied to image blocks in arbitrary edge regions of the image F (i), that is to say edge regions along all four edges of the image.
  • the method is also applicable to edge regions within the image, for example edge regions along edges between different image regions of the image in which independent image information from different image sources is displayed.
  • the representation of independent image information in different image areas is known in principle. Examples include: a picture-in-picture overlay, where one picture in a window in another Picture is presented; a so-called on-screen display (OSD), ie the presentation of menu information in a menu window, which is displayed in an image; or a "split-screen" view, in which the screen is divided into several windows, each of which displays independent image information.
  • OSD on-screen display
  • the orientation of the vector component of the test vector perpendicular to the edge is always evaluated, and a second image block B2 (i) arranged in the first image F (i) is then determined when the orientation of this perpendicular vector component is a given orientation, ie based on the example discussed so far, when this vector component points away from the edge.
  • the vector components to be evaluated and the sign of this vector component are reproduced for the outer four edges of the image in the case that this vector component points away from the respective edge.
  • the sign in this table for the individual vector components refers to the previously used coordinate system for the block grid, in which the origin of the coordinate system lies in the upper left corner of the image.
  • Vector component a perpendicular to the first edge running Vector component of the test vector, and "second vector component” denotes a vector component of the test vector that is perpendicular to the second edge:
  • the second image block matches the first image block if none of the first and second vector components point away from the respective edge;
  • the position of the second image block is offset by the first vector component from the position of the first image block when only the first vector component is pointing away from the first edge;
  • the position of the second image block is offset from the position of the first image block by the second vector component if only the second vector component points away from the second edge;
  • the position of the second image block is offset from the first image block by the first and second vector components when both the first vector component is pointing away from the first edge and the second vector component is pointing away from the second edge.
  • FIG. 5 illustrates a test method for a first image block Bl (i) which is arranged simultaneously in two edge regions of the image: a first edge region RB1, which is arranged adjacent to a first edge R1; and a second edge region RB2 disposed adjacent to a second edge R2 of the image F (i).
  • the first edge R1 is the left vertical edge of the image F (i) in the illustrated example
  • the second edge R2 is the bottom horizontal edge of the image F (i) in the illustrated example.
  • One through these two edge regions RBl, RB2 defined corner region of the image F (i) is a left lower corner region of the image F (i).
  • the selection of this corner area for the following explanation is merely an example. The following explanations apply correspondingly to any corner region of the image F (i) defined by two edge regions.
  • vl x denotes the horizontal vector component
  • lr y denotes the vertical vector component of this test vector vi.
  • vl x , vl y are not equal to zero in the illustrated example. Of course, however, there is also the possibility that one of these vector components or that both of these vector components are equal to zero.
  • test vector 5B vi The direction perpendicular to the first edge Rl first vector component of the in Figures 5A, test vector 5B vi, is the horizontal vector component vl x, and the direction perpendicular to the second edge R2 second vector component of the test vector vi is in the example shown, the vertical vector component vl y .
  • Shown in FIG. 6 is the difference between the positions of the second image block B2 (i) and the first image block Bl (i), ie the spatial offset between these two image blocks.
  • This spatial offset is dependent on the orientation of the first and second vector components, or the sign of these two Vector components. If the first vector component Vl x has a positive sign, and the second vector component vl y has a negative sign, then in the example both vector components point away from the respective edges.
  • the second pixel B2 (i) is in this case both the first and the second vector component vl X; vl y shifted from the position of the first image block Bl (i).
  • the second image block B2 is (i) QUIRES ONLY lent to the first vector component vl x relative to the position of the first image block Bl (i) postponed. If the first vector component vl x has a negative sign and the second vector component vl y has a positive sign, the second image block B2 (i) is shifted from the position of the first image block Bl (i) by the second vector component vl y .
  • both vector components point in the direction of the respective edge.
  • no second image block B2 (i) within the first image F (i) is determined, or the second image block in this case corresponds to the first image block Bl (i), ie the displacement is (0, 0).
  • the third image block B3 (i-1) in the second image F (i-1) is shifted by the value of the test vector vi from the position of the second image block B2 (i) in accordance with the explanations given above.
  • the position of the third one in which the second image block B2 (i) is shifted from both the first vector component and the second vector component from the position of the first image block Bl (i), the position of the third one
  • a second image block B2 (i) within the same image is determined, the position of this second image block B2 (i) being dependent on the orientation of a plane perpendicular to the border Vector component of the test vector and is dependent on the magnitude of this vector component.
  • the method explained above may be referred to as a modified backward estimation method, since in this method for determining motion information about an image block-in the example the first image block Bl (i) -of the first image F (i), image information from a temporally preceding image block second image F (il) can be used.
  • Image F (i) are compared in this method with image blocks in a second image F (i + 1), which follows in time the first image F (i).
  • Such a method differs from the method explained above in that when testing a motion vector to a first image block in the first image F (i), a second image block whose position differs from the position of the first image block is then determined when the second image block first image block is arranged in an edge region adjacent to an edge and if the vector component of the test vector running perpendicular to this edge points in the direction of this edge.
  • An example of such a method is explained below with reference to FIGS. 7A, 7B. Bl (i) in FIGS.
  • 7A, 7B denotes a first image block of the image F (i), which is arranged in a first edge region RB1.
  • This first edge region RB1 is arranged adjacent to a first edge R1, which in the illustrated example is a right vertical edge of the image F (i).
  • vi denotes the test vector to be tested for this image block Bl (i)
  • vl x denotes the vector component of this test vector which is perpendicular to the first boundary Rl.
  • This vertically ver running vector component vl x runs in the illustrated example in the direction of this first edge Rl.
  • a second image block B2 (i) whose position is shifted relative to the position of the first image block Bl (i) by the vector component vl x perpendicular to the edge Rl is determined in the first image F (i).
  • the second image block B2 (i) lies at the starting point and the first image block Bl (i) lies at the end point of this vector component.
  • a third image block B3 ⁇ i) is subsequently determined in the second image F (i + 1), the position of the third image block B3 (i) being opposite the position of the test vector vi second image block B2 (i) is shifted, wherein the second image block B2 (i) at the start point and the third image block B3 (i) at the end point of the test vector vi.
  • a distance measure for the test vector vi is then determined. To determine the distance measure any conventional and previously discussed methods are suitable.
  • the distance measure for the test vector becomes Vector v2, using the image content of this image block B4 (i) and another image block B5 (i + 1) in the second image F (i + 1).
  • the image block B5 (i) in the second image F (i + 1) is offset by the test vector v2 from the position of the image block B4 (i), the image block B4 (i) in the first image F (i) at the starting point and the image block B5 (i + 1) is at the end point of the vector v2 to be tested.
  • the perpendicular to the edge Rl component vector is the horizontal vector component x vl.
  • This vector component points to the first edge R1 - the right vertical edge in the illustrated example - if this vector component has a positive sign.
  • the explained method is, of course, applicable in a corresponding manner to any edge regions of the image F (i).
  • the vector components to be evaluated for the individual edge regions and their signs for the case in which this vector component points to the edge are shown in the right-most column of FIG.
  • the vector components of the vector to be tested which are perpendicular to the two edges, are evaluated separately, as shown in FIGS.
  • vi denotes a test vector vi to be tested for this image block Bl (i) in FIGS. 8A, 8B.
  • the first image block Bl (i) lies at the same time within a first edge region RB1 and a second edge region RB2.
  • the first edge area RB1 is adjacent to a first edge R1, in the example the right vertical edge
  • the second edge area RB2 is arranged adjacent to a second edge R2, in the example the upper horizontal edge.
  • the direction perpendicular to the first edge Rl vector component is in the example shown, the horizontal vector component x vl, and the direction perpendicular to the second edge vector component R2 is the vertical vector component vl y.
  • the second image block B2 (i) is shifted from the position of the first image block Bl (i) by the first and second vector components.
  • the position of this second image block B2 (i) depending on the orientation of these vector components, there are four case distinctions, which are illustrated in accordance with the embodiments of FIGS. 5 and 6 in FIG.
  • a second image block B2 (i) is determined in the first image F (i), in which the first image block Bl (i) is arranged, in the image block Bl (i) to be tested , which is shifted from the position of the first image block Bl (i).
  • An image comparison is then performed using this second image block B2 (i) from the first image F (i) and a third image block B3 (i-1) from the second image Fl (il), the position of the third image block B3 (i -1) is shifted by the test vector vi from the position of the second image block.
  • the test result obtained by the image comparison no longer refers to the first Bl (i) but to the second image block B2 (i).
  • a forward estimate i. an estimate carried out in an opposite direction.
  • a backward estimate i. an estimate carried out in an opposite direction.
  • a second image block B5 (i) is selected which is shifted from the first image block Bl (i) by the first motion vector vi and which depends on whether the first vector component vlx is a predetermined one Having direction in a first image F (i) temporally preceding image F (i-1) or one of the first image F (i) temporally subsequent image F (i + 1) is arranged.

Abstract

What is described is a method for testing a motion vector of a first image block (B1 (i) ) of a first image (F (i) ) of an image sequence, said vector located in a first edge area (R1) of the first image (F (i) ), wherein the first edge area (R1) abuts a first edge of the image and wherein the motion vector (vi) comprises a first vector component (v1x) running perpendicular to the first edge and a second vector component (v1y), wherein the method comprises: determining a second image block (B2 (i) ) in the first image (F (i) ), said second image block being shifted relative to the first image block (B1 (i)) in the direction running parallel to the first edge (R1) by the first vector component (v1x) in a direction away from the first image edge when the first vector component has a pre-defined direction; determining a third image block (B3 (i) ) in an image that is chronologically in advance of (F(i-1)) or after (F(i+1)) the first image (F (i) ), said third image block being shifted relative to the second image block by the first motion vector (vi); calculating a distance dimension between the contents of the second and those of the third image block B2 (i), B3 (i).

Description

Beschreibung description
VERFAHREN ZUR BEWEGUNGSSCHÄTZUNG AN BILDRÄNDERNMETHOD FOR EVOLVING MOTION ESTIMATION OF IMAGING DIMENSIONS
Die vorliegende Erfindung betrifft ein Verfahren zur Bewe- gungsschätzung an Bildrändern.The present invention relates to a method for estimating the motion at image edges.
Eine Bewegungsschätzung umfasst in der Bildverarbeitung die Ermittlung von Bewegungsinformationen zu einzelnen Bildblöcken zeitlich aufeinanderfolgender Bilder einer Bildfolge. Die BewegungsInformation zu einem Bildblock eines ersten Bildes gibt an, in welcher Richtung sich der Bildinhalt des Bildblocks zwischen dem ersten Bild und einem zeitlich vorangehenden oder zeitlich nachfolgenden zweiten Bild verschiebt . Diese Bewegungsinformation wird üblicherweise in Form von sogenannten Bewegungsvektoren wiedergegeben. Die durch die BewegungsSchätzung erhaltene Bewegungsinformation kann zu verschiedenen Zwecken genutzt werden, wie z.B. zur Zwischenbild- interpolation, zur Zwischenzeileninterpolation, zur Komprimierung von Bilddaten, usw.In motion picture estimation, a motion estimation comprises the determination of motion information for individual picture blocks of temporally successive pictures of a picture sequence. The motion information for an image block of a first image indicates in which direction the image content of the image block shifts between the first image and a temporally preceding or temporally subsequent second image. This motion information is usually reproduced in the form of so-called motion vectors. The motion information obtained by the motion estimation can be used for various purposes, such as e.g. inter-frame interpolation, inter-line interpolation, compression of image data, etc.
Es gibt Bewegungsschätzverfahren, wie z.B. rekursive Bewegungs- schätzverfahren, bei denen den einzelnen Bildblöcken, deren Bewe- gungsinformation ermittelt werden soll, eine Anzahl Testvektoren oder Kandidatenvektoren zugeordnet werden. Für jeden der Testvektoren, die einem ersten Bildblock zugeordnet sind wird ein Block-Matching-Verfahren durchgeführt, um zu jedem dieser Testvektoren ein Abstandsmaß zu ermitteln. Das Abstandsmaß für einen Testvektor ist ein Maß für die Übereinstimmung bzw. für den Unterschied zwischen dem Bildinhalt des ersten Bildblocks in dem ersten Bild und einem zweiten Bildblock in dem zweiten Bild. Die Position des zweiten Bildblocks ist dabei um den Testvektor gegenüber der Position des ersten Bildblocks verschoben. Als Bewegungs- vektor für den ersten Bildblock wird bei einem solchen Verfahren der Testvektor ausgewählt, für den das "beste" Abstandsmaß ermit- telt wurde. Als Testvektoren für den ersten Bildblock werden bei rekursiven Schätzverfahren beispielsweise die Bewegungsvektoren solcher Bildblöcke ausgewählt, die räumlich und/oder zeitlich benachbart zu dem ersten Bildblock angeordnet sind.There are motion estimation methods, such as recursive motion estimation methods, in which a number of test vectors or candidate vectors are assigned to the individual picture blocks whose motion information is to be determined. For each of the test vectors associated with a first image block, a block matching procedure is performed to determine a distance measure for each of these test vectors. The distance measure for a test vector is a measure of the match between the image content of the first image block in the first image and a second image block in the second image. The position of the second image block is shifted by the test vector with respect to the position of the first image block. As the motion vector for the first image block, the test vector is selected in such a method, for which the "best" distance measure is determined. was telt. As test vectors for the first image block, in the case of recursive estimation methods, for example, the motion vectors of those image blocks are selected which are arranged spatially and / or temporally adjacent to the first image block.
Liegt der erste Bildblock in der Nähe eines Bildrandes, so kann es abhängig von der Orientierung und der Länge des Testvektors Szenarien geben, bei denen der zweite Bildblock außerhalb des Bildes liegt bzw. bei denen der Testvektor über den Bildrand hin- auszeigt. Die Ermittlung eines Abstandsmaßes zu dem Testvektor ist in diesem Fall nicht möglich.If the first image block is near an image edge, depending on the orientation and the length of the test vector, scenarios may occur in which the second image block lies outside the image or in which the test vector points beyond the image edge. The determination of a distance measure to the test vector is not possible in this case.
Die WO 2007/119198 beschreibt ein Verfahren zur BewegungsSchätzung an Bildrändern. Bei diesem Verfahren wird ermittelt, ob ein Test- vektor, der zu einem ersten Bildblock eines ersten Bildes getestet werden soll, auf einen zweiten Bildblock zeigt, der außerhalb des zweiten Bildes liegt. Falls ja, wird das Blockmatching-Verfahren auf einen verschobenen ersten Bildblock und einen verschobenen zweiten Bildblock angewendet, die um den Testvektor gegeneinander versetzt sind und die so gegenüber der Position des ersten Bildblocks verschoben sind, dass der zweite Bildblock innerhalb des zweiten Bildes liegt. Eine Verschiebung erfolgt bei diesem Verfahren insbesondere so weit, dass der zweite Bildblock gerade innerhalb des zweiten Bildes liegt.WO 2007/119198 describes a method for estimating motion at image edges. In this method, it is determined whether a test vector to be tested for a first image block of a first image points to a second image block that is outside the second image. If so, the block matching method is applied to a shifted first image block and a shifted second image block which are offset from each other by the test vector and which are shifted from the position of the first image block such that the second image block is within the second image. In this method, a shift takes place in particular so far that the second image block lies just within the second image.
Bei dem bekannten Verfahren besteht die Gefahr, dass Bildblöcke, die im Randbereich des zweiten Bildes liegen, überproportional bei der Bewegungsschätzung berücksichtigt werden.In the known method, there is the danger that image blocks that lie in the edge region of the second image are disproportionately taken into account in the motion estimation.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren für eine BewegungsSchätzung bzw. zum Testen von Bewegungsvektoren für Bildblöcke im Randbereich eines Bildes zur Verfügung zu stellen. Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 gelöst. Ausgestaltungen und Weiterbildungen sind Gegenstand von Unteransprüchen .The object of the present invention is to provide an improved method for a motion estimation or for testing motion vectors for picture blocks in the edge region of an image. This object is achieved by a method according to claim 1. Embodiments and developments are the subject of dependent claims.
Die Erfindung betrifft ein Verfahren zum Testen eines Bewegungsvektors zu einem ersten Bildblock eines ersten Bildes einer Bildfolge, der in einem ersten Randbereich des Bildes angeordnet ist, wobei der erste Randbereich sich an einen 5 ersten Rand des Bildes anschließt und wobei der Bewegungsvektor eine erste senkrecht zu dem ersten Rand verlaufende Vektorkomponente und eine zweite Vektorkomponente aufweist. Bei dem Verfahren ist vorgesehen: Auswerten der ersten Vektorkomponente des Bewegungsvektors und Ermitteln eines zweiten Bildblocks in dem ersten Bild, der gegenüber dem ersten Bildblock um die erste Vektorkomponente in einer Richtung weg von dem ersten Bildrand verschoben ist, wenn die erste Vektorkomponente eine erste Richtung besitzt; Ermitteln eines dritten Bildblocks in einem dem ersten Bild zeitlich vorausgehenden oder zeitlich nachfolgenden Bild, der gegenüber dem zweitenThe invention relates to a method for testing a motion vector to a first image block of a first image of a sequence of images, which is arranged in a first edge region of the image, wherein the first edge region adjoins a first edge of the image and wherein the motion vector is a first perpendicular to comprising the first edge vector component and a second vector component. The method includes: evaluating the first vector component of the motion vector and determining a second image block in the first image shifted from the first image block by the first vector component in a direction away from the first image edge when the first vector component has a first direction ; Determining a third image block in a temporally preceding or temporally subsequent image of the first image, compared to the second image
Bildblock um den ersten Bewegungsvektor verschoben ist; Berechnen eines Abstandsmaßes zwischen dem Inhalt des zweiten und des dritten Bildblocks.Image block is shifted by the first motion vector; Calculating a distance measure between the contents of the second and third image blocks.
Die Ermittlung des zweiten Bildblocks, der in dem ersten Bild liegt und der gegenüber dem ersten Bildblock verschoben ist, und das Durchführen eines Bildvergleichs zwischen dem zweiten Bildblock und dem dritten Bildblock, der in dem zweiten Bild liegt und der gegenüber dem zweiten Bildblock um den Testvek- tor versetzt angeordnet ist, erfolgt lediglich abhängig von der Richtung der ersten Vektorkomponente, nicht jedoch abhängig von der Länge dieser ersten Vektorkomponente. Das zweite Bild kann zeitlich vor oder zeitlich nach dem ersten Bild liegen. Liegt das zweite Bild zeitlich vor dem ersten Bild, so verläuft die erste Bildrichtung von dem ersten Bildrand weg; und liegt das zweite Bild zeitlich nach dem ersten Bild, so verläuft die erste Bildrichtung zu dem ersten Bildrand hin.The determination of the second image block which lies in the first image and which is shifted with respect to the first image block, and performs an image comparison between the second image block and the third image block which lies in the second image and which is opposite the second image block around the test vector - Gate arranged offset, takes place only depending on the direction of the first vector component, but not dependent on the length of this first vector component. The second image may be temporally before or after the first image. If the second image lies temporally before the first image, the first image direction runs away from the first image edge; and if the second image is temporally after the first image, then the first image direction is toward the first image edge.
Das Bild kann außer dem ersten Randbereich einen zweiten Randbereich besitzen, der sich an einen senkrecht zu dem ersten Rand verlaufenden zweiten Rand anschließt. FürThe image may have, in addition to the first edge region, a second edge region which adjoins a second edge running perpendicular to the first edge. For
Bildblöcke, die in diesem zweiten Randbereich liegen, wird die zweite Vektorkomponente des Testvektors ausgewertet.Image blocks that lie in this second edge region, the second vector component of the test vector is evaluated.
Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend anhand von Figuren näher erläutert. Die Figuren die- nen zur Erläuterung des Grundprinzips der Erfindung, so dass in den Figuren lediglich die zum Verständnis dieses Grundprinzips notwendigen Aspekte dargestellt sind. Die Figuren sind notwendigerweise maßstabsgerecht. In den Figuren bezeichnen, sofern nicht anders angegeben, gleiche Bezugszei- chen gleiche Aspekte mit gleicher Bedeutung.Embodiments of the present invention will be explained in more detail with reference to figures. The figures serve to explain the basic principle of the invention, so that only the aspects necessary for understanding this basic principle are shown in the figures. The figures are necessarily to scale. In the figures, unless otherwise indicated, like reference numerals refer to like aspects having the same meaning.
Figur 1 veranschaulicht grundsätzliche Aspekte verschiedener Bewegungsschätzverfahren.Figure 1 illustrates basic aspects of various motion estimation methods.
Figuren 2A, 2B veranschaulichen ein Beispiel einesFigures 2A, 2B illustrate an example of a
Bewegungsschätzverfahrens für einen Bildblock, der in einem ersten Randbereich eines Bildes angeordnet ist.Motion estimation method for an image block arranged in a first edge area of an image.
Figur 3 veranschaulicht einzelne Verfahrensschritte eines erfindungsgemäßen Verfahrens anhand eines Ablauf - diagramms . Figur 4 veranschaulicht Einzelheiten des Verfahrens gemäß Figuren 2A, 2B anhand einer Tabelle.FIG. 3 illustrates individual method steps of a method according to the invention on the basis of a sequence diagram. FIG. 4 illustrates details of the method according to FIGS. 2A, 2B with reference to a table.
Figuren 5A und 5B veranschaulichen ein erstes Beispiel eines Bewegungsschätzverfahrens für einenFIGS. 5A and 5B illustrate a first example of a motion estimation method for one
Bildblock, der in einem ersten und einem zweiten Randbereich eines Bildes angeordnet ist.Image block arranged in a first and a second edge area of an image.
Figur 6 veranschaulicht Einzelheiten des Verfahrens gemäß Figuren 5A, 5B anhand einer Tabelle.FIG. 6 illustrates details of the method according to FIGS. 5A, 5B with reference to a table.
Figuren 7A und 7B veranschaulichen ein zweites Beispiel eines Bewegungsschätzverfahrens für einen Bildblock, der in einem ersten Randbereich eines Bildes angeordnet ist.Figures 7A and 7B illustrate a second example of a motion estimation method for an image block located in a first edge area of an image.
Figuren 8A und 8B veranschaulichen ein zweites Beispiel eines Bewegungsschätzverfahrens für einen Bildblock, der in einem ersten und einem zweiten Randbereich eines Bildes angeordnet ist.Figures 8A and 8B illustrate a second example of a motion estimation method for an image block arranged in a first and a second edge area of an image.
Figur 9 veranschaulicht Einzelheiten des Verfahrens gemäß Figuren 8A, 8B anhand einer Tabelle.FIG. 9 illustrates details of the method according to FIGS. 8A, 8B with reference to a table.
Figur 1 zeigt schematisch zeitlich aufeinanderfolgende Bilder F(i-l), F(i), F(i+1) einer Bildfolge. Von dieser Bildfolge sei zur weiteren Erläuterung das Bild F(i) an der zeitlichen Position i näher betrachtet. Dieses Bild F(i) ist in eine Anzahl von Bildblöcken unterteilt, die rasterartig bzw. matrixartig angeordnet sind. Jeder dieser Bildblöcke umfasst eine Anzahl matrixartig angeordneter Bildpunkte, wobei jedem dieser Pixel wenigstens ein Bildpunktwert bzw. Pixelwert zugeordnet ist. Ein solcher Pixelwert ist beispielsweise ein Helligkeitswert (Luminanzwert) oder ein Farbwert (Chrominanzwert) . Ein Bildblock umfasst beispielsweise 8x8 Pixel.FIG. 1 schematically shows temporally successive images F (il), F (i), F (i + 1) of an image sequence. For further explanation of this image sequence, the image F (i) at the time position i is considered in more detail. This image F (i) is divided into a number of image blocks which are arranged in a grid-like or matrix-like manner. Each of these image blocks comprises a number of pixels arranged in a matrix, at least one of each of these pixels Pixel value or pixel value is assigned. Such a pixel value is, for example, a brightness value (luminance value) or a color value (chrominance value). An image block includes, for example, 8x8 pixels.
Die Positionen der einzelnen Bildblöcke innerhalb des Bildes F(i) sind durch erste und zweite Koordinaten, die nachfolgend auch als horizontale und vertikale Koordinaten bzw. x- und y- Koordinaten bezeichnet werden, bestimmt. Zu Zwecken der Erläuterung sei angenommen, dass die x-Koordinaten in den einzelnen Bildern von links nach rechts und dass die y- Koordinaten von oben nach unten zunehmen, der Ursprung dieses Koordinatensystems liegt also in der linken oberen Ecke der einzelnen Bilder.The positions of the individual image blocks within the image F (i) are determined by first and second coordinates, which are also referred to below as horizontal and vertical coordinates or x and y coordinates. For purposes of explanation, assume that the x coordinates in the individual images increase from left to right and that the y coordinates increase from top to bottom, so the origin of this coordinate system is in the upper left corner of the individual images.
Bl' (i) bezeichnet in Figur 1 beispielhaft einen ersten Bildblock in dem ersten Bild F(i), zu dem ein Bewegungsvektor vi getestet werden soll. Das Testen eines solchen Bewegungsvek tors vi kann grundsätzlich dadurch erfolgen, dass der Bildinhalt des ersten Bildblocks Bl1 (i) in dem ersten Bild F(i) mit dem Bildinhalt eines zweiten Bildblocks verglichen wird, der in dem zeitlich vorangehenden Bild F(i-l) angeordnet ist und der gegenüber dem ersten Bildblock Bl' (i) um den Testvektor vi versetzt angeordnet ist. Ein solches Ver- fahren wird auch als Rückwärtsschätzverfahren bezeichnet.Bl '(i) designates in FIG. 1 by way of example a first image block in the first image F (i) to which a motion vector vi is to be tested. The testing of such a motion vector vi can in principle be carried out by comparing the image content of the first image block Bl 1 (i) in the first image F (i) with the image content of a second image block which is contained in the temporally preceding image F (il). is arranged and which is arranged offset from the first image block Bl '(i) around the test vector vi. Such a method is also called backward estimation.
Die Position des zweiten Bildblocks B2 ' (i-1) befindet sich dabei am Anfangspunkt bzw. Fußpunkt des auf beide Bilder projizierten Bewegungsvektors vi, und der erste Bildblock Bl' (i) befindet sich am Endpunkt bzw. der Spitze des auf beide BiI- der projizierten Bewegungsvektor vi. Wie in Figur 1 dargestellt, gibt es Szenarien, bei denen ein solcher Vergleich der Bildinhalte zweier Bildblöcke nicht möglich ist, nämlich dann, wenn der erste Bildblock Bl1 (i) im Bereich eines Randes des ersten Bildes F(i) angeordnet ist und wenn die Orientierung und die Lange des Testvektor vi derart sind, dass er ausgehend von dem ersten Bildblock über den Bildrand hinaus - reicht bzw. dass der zweite Bildblock außerhalb des zweiten Bildes F(i-l) angeordnet ist.The position of the second image block B2 '(i-1) is at the starting point or foot point of the motion vector vi projected on both images, and the first image block Bl' (i) is located at the end point or the top of the motion picture. the projected motion vector vi. As shown in FIG. 1, there are scenarios in which such a comparison of the image contents of two image blocks is not possible, namely if the first image block Bl 1 (i) is arranged in the region of an edge of the first image F (i) and if the orientation and the length of the test vector vi are such that it extends beyond the image edge starting from the first image block or that the second image block is arranged outside the second image F (il).
Um einen Testvektor vi zu einem Bildblock des Bildes F(i) zu testen, kann der Bildinhalt dieses Bildblocks auch mit einem Bildblock des zeitlich nachfolgenden Bilds F(i+1) verglichen werden. B3*(i) bezeichnet in Figur 1 einen weiteren Bildblock im ersten Bild F(i), und v2 bezeichnet einen zu diesem Bildblock B3 ' (i) zu testenden Testvektor. Bei einem solchen Verfahren, das auch als Vorwärtsschätzverfahren bezeichnet wird, sind der Bildblock B3 ' (i) in dem Bild F(i) und der Bildblock B4 ' (i+1) in dem Bild F(i+1) um den Testvektor v2 gegeneinander versetzt, wobei der Bildblock BB1Ci) in dem Bild F(i) am Fußpunkt bzw. Anfangspunkt des Testvektors v2 und der Bildblock B4 ' (i+D in dem Bild F(i+1) am Endpunkt bzw. der Spitze des Testvektors v2 liegt. Wie in Figur 1 dargestellt, gibt es auch bei solchen Vorwärtsschätzung Szenarien, bei denen die Ermittlung eines Abstandsmaßes für den Testvektor v2 nicht möglich ist, nämlich dann, wenn der Bildblock B3* (i) des Bildes F(i) in einem Randbereich des Bildes liegt, und wenn eine Orientierung und eine Länge des Testvektors v2 derart sind, dass der Testvektor in dem zeitlich nachfolgenden Bild F (i+1) über den Rand hinauszeigt bzw. auf eine Blockposition außerhalb des zeitlich nachfolgenden Bildes F (i+1) zeigt.In order to test a test vector vi to an image block of the image F (i), the image content of this image block can also be compared with an image block of the temporally subsequent image F (i + 1). B3 * (i) designates another image block in the first image F (i) in FIG. 1, and v2 designates a test vector to be tested for this image block B3 '(i). In such a method, also referred to as the forward estimation method, the image block B3 '(i) in the image F (i) and the image block B4' (i + 1) in the image F (i + 1) are around the test vector v2 offset from each other, the image block BB 1 Ci) in the image F (i) at the base or starting point of the test vector v2 and the image block B4 '(i + D in the image F (i + 1) at the end point or the top of the As shown in Figure 1, even in such forward estimation there are scenarios in which the determination of a distance measure for the test vector v2 is not possible, namely when the image block B3 * (i) of the image F (i) in is an edge region of the image, and if an orientation and a length of the test vector v2 are such that the test vector points beyond the edge in the temporally following image F (i + 1) or to a block position outside the temporally following image F (i +1) shows.
Bezugnehmend auf die Figuren 2 bis 6 werden nachfolgend modifizierte Bewegungsschätzverfahren erläutert, die eine Bewegungs- Schätzung auch für Bildblöcke in Randbereichen von Bildern ermöglichen. Figuren 2A und 2B veranschaulichen ein erstes Beispiel eines solchen Verfahrens. F(i) bezeichnet in Figur 1 ein erstes Bild einer Bildfolge, das eine Anzahl matrixartiger oder rasterartig an geordneter Bildblöcke aufweist. F(i-l) bezeichnet ein dem ersten Bild F(i) zeitlich vorangehendes zweites Bild. Das erste Bild F(i) weist einen ersten Randbereich RBl auf, der benachbart zu einem ersten Rand Rl des ersten Bildes F(i) angeordnet ist. Dieser erste Rand Rl ist in dem in Figuren 2A, 2B dargestellten Beispiel der linke vertikale Rand des Bildes, also der Rand, der das Bild F(i) nach links in vertikaler Richtung begrenzt. Die Wahl dieses linken vertikalen Randes ist im Zusammenhang mit der nachfolgenden Erläuterung lediglich als Beispiel zu verstehen. Die nachfolgenden Ausführungen gelten in entsprechender Weise für Randbereiche entlang jedes der Bildränder.Referring now to Figs. 2 to 6, modified motion estimation methods will be explained below which enable a motion estimation also for image blocks in peripheral areas of images. Figures 2A and 2B illustrate a first example of such a method. In FIG. 1, F (i) denotes a first image of an image sequence which has a number of matrix-like or grid-like ordered image blocks. F (il) denotes a second image temporally preceding the first image F (i). The first image F (i) has a first edge region RB1, which is arranged adjacent to a first edge Rl of the first image F (i). In the example illustrated in FIGS. 2A, 2B, this first edge R1 is the left vertical edge of the image, that is to say the edge which bounds the image F (i) to the left in the vertical direction. The choice of this left vertical edge is to be understood in the context of the following explanation only as an example. The following explanations apply correspondingly to edge regions along each of the image edges.
Der erste Randbereich RBl verläuft parallel zu dem ersten Rand Rl . Unter einer Breite des Randbereiches RBl wird nachfolgend die Abmessung des Randbereiches RBl in einer Richtung senkrecht zu dem ersten Rand Rl - in dem dargestellten Beispiel also in horizon- taler Richtung des Bildes F(i) - bezeichnet. Die Breite des Randbereiches RBl ist fest vorgege-ben. Diese Breite des Randbereiches RBl wird beispielsweise abhängig von der maximal zu erwartenden Länge der zu testenden Testvektoren gewählt. Diese Breite beträgt beispielsweise zwischen 5 und 15 Bildblöcken bzw. zwischen 5-8 und 15-8 Pixeln, wenn die einzelnen Bildblöcke eine Größe von 8x8 Pixeln besitzen.The first edge region RB1 runs parallel to the first edge Rl. Below a width of the edge region RB1, the dimension of the edge region RB1 in a direction perpendicular to the first edge R1 - in the illustrated example, ie in the horizontal direction of the image F (i) - is hereinafter referred to. The width of the edge area RBl is fixed. This width of the edge region RB1 is selected, for example, as a function of the maximum expected length of the test vectors to be tested. This width is for example between 5 and 15 image blocks or between 5-8 and 15-8 pixels, if the individual image blocks have a size of 8x8 pixels.
Bl (i) bezeichnet in Figuren 2A, 2B einen ersten Bildblock, der innerhalb des ersten Randbereiches RBl liegt, vi bezeichnet einen für diesen ersten Bildblock Bl (i) zu testenden Testvektor vi. Dieser Testvektor besitzt zweiBl (i) denotes in FIGS. 2A, 2B a first image block lying within the first edge region RB1, vi denotes a test vector vi to be tested for this first image block Bl (i). This test vector has two
Vektorkomponenten: Eine horizontale Vektorkomponente vlx, die nachfolgend auch als x-Vektorkomponente bezeichnet wird; und - S -Vector components: A horizontal vector component vl x , also referred to below as the x-vector component; and - S -
eine vertikale Vektorkomponente vly, die nachfolgend auch als y-Vektorkomponente bezeichnet wird. In dem in Figuren 2A, 2B dargestellten Beispiel sind beide Vektorkomponenten des ersten Testvektors vi ungleich Null. Selbstverständlich kann eine oder können beide dieser Vektorkomponenten auch Null sein. Im zuletzt genannten Fall ist der erste Testvektor vi ein Nullvektor.a vertical vector component vl y, hereinafter referred to as a y vector component. In the example illustrated in FIGS. 2A, 2B, both vector components of the first test vector vi are not equal to zero. Of course, one or both of these vector components may also be zero. In the latter case, the first test vector vi is a zero vector.
Das Testen des ersten Testvektors vi umfasst die Ermittlung eines Abstandsmaßes zu diesem ersten Testvektor vi, wobei die Ermittlung eines Abstandsmaßes einen Vergleich der Bildinhalte von Bildblöcken in dem ersten Bild F(i) und dem zweiten Bild F(i-l) umfasst. Einzelne Verfahrensschritte zur Ermittlung dieser zu vergleichenden Bildblöcke sind in einem Ablaufdiagramm in Figur 3 veranschaulicht.The testing of the first test vector vi comprises the determination of a distance measure for this first test vector vi, wherein the determination of a distance measure comprises a comparison of the image contents of image blocks in the first image F (i) and the second image F (i-l). Individual process steps for determining these image blocks to be compared are illustrated in a flowchart in FIG.
Bei diesem Verfahren ist in einem ersten Verfahrensschritt 101 vorgesehen, die Richtung der Vektorkomponente des Testvektors vi auszuwerten, die senkrecht zu dem ersten Rand Rl verläuft. Diese senkrecht zu dem ersten Rand Rl verlaufende Vektorkomponente ist in dem dargestellten Beispiel die horizontale Vektorkomponente vlx des ersten Testvektors vi . Das Auswerten dieser Vektorkomponente vlx umfasst das Auswerten einer Richtung dieser Vektorkomponente dahingehend, ob diese Vektorkomponente bezogen auf den ersten Rand eine vorgege- bene Richtung aufweist. In dem dargestellten Beispiel liegt eine solche vorgegebene Richtung dann vor, wenn diese Vektorkomponente von dem ersten Rand Rl weg in das Bild hinein zeigt .In this method, it is provided in a first method step 101 to evaluate the direction of the vector component of the test vector vi, which runs perpendicular to the first edge Rl. This vector component, which runs perpendicular to the first edge Rl, is in the illustrated example the horizontal vector component vl x of the first test vector vi. The evaluation of this vector component v 1 x comprises evaluating a direction of this vector component as to whether this vector component has a predetermined direction with respect to the first edge. In the illustrated example, such a given direction exists when this vector component points away from the first edge Rl into the image.
Bezogen auf die bisher verwendete Nomenklatur zeigt die horizontale Vektorkomponente vlx des ersten Testvektors in dem dargestellten Beispiel dann von dem linken vertikalen Rand Rl weg, wenn diese erste Vektorkomponente vlx ein positives Vorzeichen besitzt. Besitzt eine Vektorkomponente eines Testvektors, die senkrecht zu einem gegebenen Rand verläuft, die vorgegebene Richtung, so wird dies nachfolgend als "Randbereichsverletzung" bezüglich des gegebenen Randes bezeichnet .Based on the nomenclature used hitherto, the horizontal vector component vl x of the first test vector in the illustrated example then points from the left vertical one Edge Rl away, if this first vector component vl x has a positive sign. If a vector component of a test vector that is perpendicular to a given edge has the predetermined direction, this will be referred to hereinafter as the "edge region violation" with respect to the given edge.
Ob eine Randbereichsverletzung für einen in einem Randbereich RBl angeordneten Bildblock Bl (i) und einen Testvektor vi bezüglich eines Randes Rl vorliegt oder nicht, ist dabei von mehreren Faktoren abhängig, nämlich der Richtung des senkrecht zu dem Rand Rl verlaufenden Vektorkomponente vlx des Testvektors vi und der Schätzrichtung, d.h. der zeitlichen Lage des zweiten Bildes F(i-l) bezogen auf das erste Bild F(i) . Eine Schätzung in Rückwärtsrichtung liegt hierbei vor, wenn das zweite Bild F(i-l) zeitlich vor dem ersten Bild liegt und eine Schätzung in einer zu der Rückwärtsrichtung entgegengesetzten zweiten Richtung liegt dann vor, wenn das zweite Bild F(i+1) zeitlich nach dem ersten Bild liegt. Verschiedene Szenarien hierzu werden nachfolgend noch erläutert werden.Whether or not there is an edge region violation for an image block Bl (i) arranged in an edge region RB1 and a test vector vi with respect to an edge Rl is dependent on a number of factors, namely the direction of the vector component vlx of the test vector vi and x, which runs perpendicular to the edge Rl the estimation direction, ie the temporal position of the second image F (i-l) with respect to the first image F (i). A backward direction estimate is when the second image F (il) is ahead of the first image and an estimate in a second direction opposite to the backward direction exists if the second image F (i + 1) is later than the second first picture lies. Various scenarios for this will be explained below.
Besitzt diese senkrecht zu dem ersten Rand Rl verlaufende Vektorkomponente vlx die vorgegebene Richtung, liegt also eine Randbereichsverletzung bezüglich des ersten Randes Rl vor, so wird in einem nächsten Verfahrensschritt 102 ein zweiter Bildpunkt B2 (i) innerhalb des ersten Bildes F(i) ermittelt, der gegenüber dem ersten Bildpunkt Bl (i) um die erste Vektorkomponente vlx derart verschoben ist, dass der zweite Bildblock B2 (i) weiter beabstandet zu dem ersten Rand Rl angeordnet ist, wie der erste Bildblock Bl (i) . Der ersteIf this vector component vl x running perpendicular to the first edge Rl has the predetermined direction, ie if there is an edge region violation with respect to the first edge R1, then in a next method step 102 a second pixel B2 (i) within the first image F (i) is determined which is shifted from the first pixel Bl (i) by the first vector component vl x such that the second image block B2 (i) is located farther apart from the first edge Rl than the first image block Bl (i). The first
Bildpunkt Bl (i) liegt dabei am Fußpunkt bzw. am Anfangspunkt der ersten Vektorkomponente vlx, und der zweite Bildblock B2(i) liegt am Endpunkt bzw. der Spitze dieser Vektorkomponente vlx. Zu Zwecken der Erläuterung sei angenommen, dass (xl, yl) die Koordinaten des ersten Bildblocks Bl (i) sind. Für die Koordinaten (x2, y2) des zweiten Bildblocks B2 (i) , gilt dann:Pixel Bl (i) lies at the foot point or at the starting point of the first vector component vl x , and the second image block B2 (i) lies at the end point or the peak of this vector component vl x . For purposes of explanation, assume that (xl, yl) are the coordinates of the first image block Bl (i). For the coordinates (x2, y2) of the second image block B2 (i), then:
(x2, y2) = (xl+vlx, yl) (1).(x2, y2) = (xl + vl x, yl) (1).
In einem nächsten Verfahrensschritt 103 ist vorgesehen, in dem zweiten Bild F(i-l) einen dritten Bildblock B3(i-1) zu ermitteln, dessen Position gegenüber der Position des zweiten Bildblocks B2(i) um den Testvektor vi derart versetzt ist, dass der zweite Bildblock B2(i) an der Spitze bzw. dem Endpunkt und der dritte Bildblock B3 (i-1) am Anfangspunkt des Testvektors vi liegt, bzw. dass der dritte Bildblock in Richtung der Vektorkomponente vlx näher an dem Rand Rl liegt als der zweite Bildblock B2(i) . Für Koordinaten (x3 , y3) des dritten Bildblocks B3(i-1) gilt bezogen auf die Koordinaten des zweiten Bildblocks also:In a next method step 103, it is provided to determine a third image block B3 (i-1) in the second image F (il) whose position relative to the position of the second image block B2 (i) is offset by the test vector vi such that the the second image block B2 (i) lies at the top or end point and the third image block B3 (i-1) lies at the starting point of the test vector vi, or that the third image block is closer to the edge R1 than the vector component vl x second image block B2 (i). For coordinates (x3, y3) of the third image block B3 (i-1), the following applies with respect to the coordinates of the second image block:
(x3, y3) = (x2-vlx, y2-vly) = (xl, yl-vly) (2).(x3, y3) = (x2-vl x, y2-vl y) = (xl, yl-vl y) (2).
Die horizontale Koordinate x3 des dritten Bildblocks B3(i-1) entspricht der horizontalen Koordinate des ersten Bildblocks Bl(i) .The horizontal coordinate x3 of the third image block B3 (i-1) corresponds to the horizontal coordinate of the first image block Bl (i).
In diesem Zusammenhang sei noch angemerkt, dass der Testvektor vi in dem dargestellten Beispiel eine pixelgenaue Auflösung besitzt, also eine Auflösung, die höher ist als die Auflösung des Blockrasters. Dementsprechend muss weder der zweite Bildblock B2(i) noch der dritte Bildblock B3(i-1) auf dem Blockraster liegen, das zum besseren Verständnis in Figuren 2A, 2B für beide Bilder F(i) , F(i-l) dargestellt ist. Der Testvektor vi kann in nicht näher dargestellter Weise sogar eine subpixelgenaue Auflösung besitzen, d.h. eine Auflösung, die höher ist als des Bildpunktraster (Pixelraster) des Bildes.In this context, it should be noted that the test vector vi in the example shown has a pixel-precise resolution, ie a resolution which is higher than the resolution of the block raster. Accordingly, neither the second image block B2 (i) nor the third image block B3 (i-1) must lie on the block grid, which is shown for better understanding in Figs. 2A, 2B for both images F (i), F (il). The test vector vi can not be shown in detail Even a sub-pixel-accurate resolution, that is, a resolution that is higher than the image pixel (pixel) grid of the image.
In einem nächsten Verfahrensschritt 104 wird bezugnehmend auf Figur 3 ein Abstandstnaß für den Testvektor vi ermittelt, indem die Inhalte des zweiten und des dritten Bildblocks B2(i) , B3 (i-1) miteinander verglichen werden. Es werden also Bildblöcke miteinander verglichen, für deren Koordinaten bezugnehmend auf die Gleichungen (1) und (2) gilt: (xl+vlx, yl) , (xl, yl-vly) . Läge im Vergleich dazu keine Randbereichsverletzung vor, so würden unmittelbar die Inhalte des ersten Bildblocks Bl (i) mit den Koordinaten (xl, yl) und eines weiteren Bildblocks, der gegenüber dem ersten Bildblock um den Testvektor vi verschoben ist, der in dem zweiten Bild B2 (i-1) angeordnet ist und der die Koordinaten (xl-vlx, yl-vly) besitzt, miteinander verglichen.In a next method step 104, referring to FIG. 3, a distance for the test vector vi is determined by comparing the contents of the second and third image blocks B2 (i), B3 (i-1). Thus, image blocks are compared with each other for whose coordinates, referring to the equations (1) and (2): (xl + vl x , yl), (xl, yl-vly). In contrast, if there were no edge region violation, the contents of the first image block Bl (i) with the coordinates (xl, yl) and another image block, which is shifted from the first image block by the test vector vi, would be directly in the second image B2 (i-1) and having the coordinates (xl-vl x , yl-vl y ), compared with each other.
Die Ermittlung des Abstandsmaßes kann auf beliebige, grundsätzlich bekannte Weise erfolgen. Bei einem Beispiel ist vorgesehen, die Differenzen der Pixelwerte solcher Pixel zu bilden, die sich innerhalb der beiden Blöcke B2 (i) , B3(i-1) an gleichen Positionen befinden, die Absolutwerte dieser erhaltenen Differenzen zu bilden und die so erhaltenen Absolutwerte aufzuaddieren. Der so erhaltene Wert wird auch als Summe der Absolutwerte des Pixelwertdifferenzen bezeichnet . Anstelle der Absolutwerte können beliebige andere Metriken auf die Differenzen der Pixelwerte angewendet werden, wie zum Beispiel gradzahlige Potenzen.The determination of the distance measure can be done in any basically known manner. In one example, it is provided to form the differences of the pixel values of pixels located at the same positions within the two blocks B2 (i), B3 (i-1), to form the absolute values of these obtained differences, and to accumulate the thus obtained absolute values , The value thus obtained is also called the sum of the absolute values of the pixel value differences. Instead of the absolute values, any other metrics may be applied to the differences of the pixel values, such as even powers.
Bei einer solchen Ermittlung des Abstandsmaßes ist das erhaltene Abstandsmaß um so kleiner, je stärker die Inhalte der beiden Bildblöcke übereinstimmen. Als Pixelwerte für den Vergleich der Bildinhalte der beiden Bildblöcke können beliebige der den einzelnen Pixeln zugeordneten Pixelwerte verwendet werden, also beispielsweise Helligkeitswerte (Luminanzwerte) oder auch Farbwerte (Chrominanzwerte) .In such a determination of the distance measure, the distance measure obtained is the smaller, the more the contents of the two image blocks match. As pixel values for the comparison of the image contents of the two image blocks, any of the pixel values assigned to the individual pixels can be used, For example, brightness values (luminance values) or color values (chrominance values).
Ist die Orientierung der senkrecht zu dem Rand Rl verlaufenden Vektorkomponente des Testvektors derart, dass sie entgegengesetzt zu der vorgegebenen Orientierung ist, dass die zu dem Rand Rl senkrecht verlaufende Vektorkomponente vlx also in Richtung des Randes zeigt, so kann eine herkömmliche Rückwärtsschätzung vorgenommen werden, wie dies für einen weite ren im ersten Randbereich RBl angeordneten Bildblock B4(i) veranschaulicht ist. v2 bezeichnet in Figuren 2A, 2B ein zu diesem weiterenIs the orientation of the perpendicular to the edge Rl vector component of the test vector such that it is opposite to the predetermined orientation, so that to the edge Rl perpendicular vector component vl x points in the direction of the edge, as a conventional reverse estimate can be made, as illustrated for a wide ren in the first edge region RBl arranged image block B4 (i). In FIGS. 2A, 2B, v2 denotes a to this further
Bildblock B4 (i) zu testenden Testvektor v2. Eine senkrecht zu dem Rand Rl verlaufende Vektorkomponente v2x dieses Testvektors v2 zeigt in dem Beispiel in Richtung dieses Randes Rl. Ein Abstandsmaß für diesen Testvektor v2 kann damit unmittelbar unter Verwendung des Bildinhalts des weiteren Bildblocks B4 (i) und eines Bildblocks B5(i-l) in dem zweiten Bild F(i-l) ermittelt werden. Der Bildblock B5(i-1) in dem zweiten Bild F(i-l) ist dabei um den Testvektor v2 gegenüber der Position des Bildblocks B4 (i) versetzt. (x4, y4) seien die Koordinaten des BildblocksImage block B4 (i) test vector v2 to be tested. A vector component v2 x of this test vector v2 running perpendicular to the edge Rl shows in the example in the direction of this edge R1. A distance measure for this test vector v2 can thus be determined directly using the image content of the further image block B4 (i) and an image block B5 (il) in the second image F (il). The image block B5 (i-1) in the second image F (il) is offset by the test vector v2 from the position of the image block B4 (i). (x4, y4) let be the coordinates of the image block
B4(i) in dem ersten Bild F(i) . Für die Koordinaten (x5, y5) des Bildblocks B5(i-1) in dem zweiten Bild F(i-l) gilt dann:B4 (i) in the first image F (i). For the coordinates (x5, y5) of the image block B5 (i-1) in the second image F (i-1), then:
(X5, y5) = (x4-v2x/ y4-v2y) (3) .(X5, y5) = (x4 x v2 / v2 y4-y) (3).
v2x, v2y bezeichnen dabei die vertikale und horizontale Vek- torkomponente des Testvektors v2.v2 x , v2 y denote the vertical and horizontal vector component of the test vector v2.
Das zuvor erläuterte Verfahren zum Testen eines Testvektors zu einem Bildblock, wie beispielsweise dem ersten Bildblock Bl (i) gemäß Figuren 2A, 2B, kann auf mehrere unterschiedliche Testvektoren angewendet werden, wobei die für die einzelnen Testvektoren erhaltenen Abstandsmaße beispielsweise miteinander verglichen werden, und einer dieser Testvektoren unter Berücksichtigung eines Abstandsmaßes als Bewegungs-vektor für den Bildblock ausgewählt wird. Die Gruppe der für einen Bildblock zu testenden Testvektoren kann auf herkömmliche Weise ausgewählt werden. Testvektoren für einen Bildblock, wie zum Beispiel den ersten Bildblock Bl (i), sind beispielsweise Bewegungsvektoren, die zuvor für zeitlich und/oder räumlich benachbart zu dem ersten Bildblock Bl (i) angeordneteThe above-explained method for testing a test vector for an image block, such as the first image block Bl (i) according to FIGS. 2A, 2B, can be applied to a plurality of different test vectors, wherein the For example, the distance measures obtained for the individual test vectors are compared with one another, and one of these test vectors is selected as a motion vector for the image block taking into account a distance measure. The group of test vectors to be tested for an image block may be selected in a conventional manner. Test vectors for an image block, such as the first image block Bl (i), are, for example, motion vectors previously arranged temporally and / or spatially adjacent to the first image block Bl (i)
Bildblöcke ermittelt wurden. Räumlich benachbarte Bildblöcke sind dabei Bildblöcke, die innerhalb des ersten Bildes F(i) räumlich benachbart zu dem ersten Bildblock Bl (i) angeordnet sind. Zeitlich benachbarte Bildblöcke sind Bildblöcke, die sich an derselben Position wie der erste Bildblock Bl (i) befinden, die jedoch in zeitlich benachbarten Bildern, wie zum Beispiel dem zweiten Bild F(I-I) angeordnet sind. Zeitlich und räumlich benachbarte Bildblöcke sind Bildblöcke, die sich in anderen Bildern als dem ersten Bild F(i) an Positionen befinden, die räumlich benachbart sind zu der Position des ersten Bildblocks Bl (i) angeordnet sind.Image blocks were determined. Spatially adjacent image blocks are image blocks that are arranged within the first image F (i) spatially adjacent to the first image block Bl (i). Time-adjacent image blocks are image blocks located at the same position as the first image block Bl (i), but arranged in temporally adjacent images, such as the second image F (I-I). Temporally and spatially adjacent image blocks are image blocks located in images other than the first image F (i) at positions spatially adjacent to the position of the first image block Bl (i).
Wie bereits erwähnt, kann das erläuterte Verfahren auf Bildblocke in beliebigen Randbereichen des Bildes F(i) angewendet werden, also auf Randbereiche entlang aller vier Ränder des Bildes. Das Verfahren ist darüber hinaus auch auf Randbereiche innerhalb des Bildes anwendbar, beispielsweise auf Randbereiche entlang von Rändern zwischen unterschiedlichen Bildbereichen des Bildes, in denen voneinander unabhängige Bildinformationen aus unterschiedlichen Bildquellen dargestellt werden. Die Darstellung unabhän- giger Bildinformationen in unterschiedlichen Bildbereichen ist grundsätzlich bekannt. Beispiele hierfür sind: eine Bild-in-Bild- Einblendung, bei der ein Bild in einem Fenster in einem anderen Bild dargestellt wird; ein sogenanntes On-Screen-Display (OSD) , also die Darstellung von Menüinformationen in einem Menüfenster, das in ein Bild eingeblendet wird; oder eine "Splitscreen"- Darstellung, bei der der Bildschirm in mehrere Fenster unterteilt wird, in denen jeweils voneinander unabhängige Bildinformationen dargestellt werden.As already mentioned, the explained method can be applied to image blocks in arbitrary edge regions of the image F (i), that is to say edge regions along all four edges of the image. The method is also applicable to edge regions within the image, for example edge regions along edges between different image regions of the image in which independent image information from different image sources is displayed. The representation of independent image information in different image areas is known in principle. Examples include: a picture-in-picture overlay, where one picture in a window in another Picture is presented; a so-called on-screen display (OSD), ie the presentation of menu information in a menu window, which is displayed in an image; or a "split-screen" view, in which the screen is divided into several windows, each of which displays independent image information.
Unabhängig davon, in welchem Randbereich der erste Bildblock Bl (i) liegt, wird stets die Orientierung der senkrecht zu dem Rand verlaufenden Vektorkomponente des Testvektors ausgewertet, und ein in dem ersten Bild F(i) angeordneter zweiter Bildblock B2 (i) wird dann ermittelt, wenn die Orientierung dieser senkrecht verlaufenden Vektorkomponente eine vorgegebene Orientierung ist, d.h. - bezogen auf das bisher erläuterte Beispiel - wenn diese Vektorkomponente von dem Rand wegzeigt. In der in Figur 4 wieder- gegebenen Tabelle sind für die äußeren vier Ränder des Bildes die auszuwertenden Vektor-komponenten und das Vorzeichen dieser Vektorkomponente für den Fall wiedergegeben, dass diese Vektorkomponente von dem jeweiligen Rand wegzeigt. Das in dieser Tabelle wiedergegebene Vorzeichen für die einzelnen Vektorkomponenten bezieht sich dabei auf das bisher verwendete Koordinatensystem für das Blockraster, bei dem der Ursprung des Koordinatensystems in der linken oberen Ecke des Bildes liegt.Regardless of which edge region the first image block Bl (i) lies in, the orientation of the vector component of the test vector perpendicular to the edge is always evaluated, and a second image block B2 (i) arranged in the first image F (i) is then determined when the orientation of this perpendicular vector component is a given orientation, ie based on the example discussed so far, when this vector component points away from the edge. In the table reproduced in FIG. 4, the vector components to be evaluated and the sign of this vector component are reproduced for the outer four edges of the image in the case that this vector component points away from the respective edge. The sign in this table for the individual vector components refers to the previously used coordinate system for the block grid, in which the origin of the coordinate system lies in the upper left corner of the image.
Die entlang der äußeren Ränder des Bildes verlaufenden Rand-berei- che überlappen sich in den Ecken des Bildes. Für Bildpunkte, die gleichzeitig in zwei unterschiedlichen sich überlappenden Randbereichen des Bildes angeordnet sind, werden die Orientierungen der senkrecht zu den Rändern verlaufenden Vektorkomponenten unabhängig voneinander ausgewertet und das hierdurch erhaltene Ergebnis wird für die Ermittlung der Position des zweiten Bildblocks B2(i) be- rücksichtigt. Dabei gibt es vier unterschiedliche Fälle, die nachfolgend erläutert sind. In dieser Erläuterung bezeichnet "ersteThe border areas running along the outer edges of the image overlap in the corners of the image. For pixels which are arranged simultaneously in two different overlapping edge regions of the image, the orientations of the vector components running perpendicular to the edges are evaluated independently of one another and the result obtained is taken into account for the determination of the position of the second image block B2 (i) , There are four different cases, which are explained below. In this explanation, "first
Vektorkomponente" eine senkrecht zu dem ersten Rand verlaufende Vektorkomponente des Testvektors, und "zweite Vektorkomponente" bezeichnet eine senkrecht zu dem zweiten Rand verlaufende Vektor- komponente des Testvektors:Vector component "a perpendicular to the first edge running Vector component of the test vector, and "second vector component" denotes a vector component of the test vector that is perpendicular to the second edge:
a. Der zweite Bildblock stimmt mit dem ersten Bildblock über- ein, wenn keine der ersten und zweiten Vektorkomponenten von dem jeweiligen Rand wegzeigt;a. The second image block matches the first image block if none of the first and second vector components point away from the respective edge;
b. Die Position des zweiten Bildblocks ist um die erste Vek torkomponente gegenüber der Position des ersten Bildblocks versetzt, wenn nur die erste Vektorkomponente von dem ersten Rand wegzeigt;b. The position of the second image block is offset by the first vector component from the position of the first image block when only the first vector component is pointing away from the first edge;
c. Die Position des zweiten Bildblocks ist gegenüber der Po sition des ersten Bildblocks um die zweite Vektorkomponente versetzt, wenn nur die zweite Vektorkomponente von dem zweiten Rand wegzeigt;c. The position of the second image block is offset from the position of the first image block by the second vector component if only the second vector component points away from the second edge;
d. Die Position des zweiten Bildblocks ist um die erste und die zweite Vektorkomponente gegenüber dem ersten Bildblock versetzt, wenn sowohl die erste Vektorkomponente von dem ersten Rand wegzeigt, als auch die zweite Vektorkomponente von dem zweiten Rand wegzeigt.d. The position of the second image block is offset from the first image block by the first and second vector components when both the first vector component is pointing away from the first edge and the second vector component is pointing away from the second edge.
Figur 5 veranschaulicht ein Testverfahren für einen ersten Bildblock Bl (i) der gleichzeitig in zwei Randbereichen des Bildes angeordnet ist: Einem ersten Randbereich RBl, der benachbart zu einem ersten Rand Rl angeordnet ist; und einem zweiten Randbereich RB2 , der benachbart zu einem zweiten Rand R2 des Bildes F(i) angeordnet ist. Der erste Rand Rl ist in dem dargestellten Beispiel der linke vertikale Rand des Bildes F(i) , und der zweite Rand R2 ist in dem dargestellten Beispiel der untere horizontale Rand des Bildes F(i) . Ein durch diese beiden Randbereiche RBl, RB2 definierter Eckbereich des Bildes F(i) ist ein linker unterer Eckbereich des Bildes F(i) . Die Auswahl dieses Eckbereiches für die nachfolgende Erläuterung ist lediglich als Beispiel zu verstehen. Die nachfolgenden Ausführungen gelten in entsprechender Weise für jeden beliebigen, durch zwei Randbereiche definierten Eckbereich des Bildes F(i) .FIG. 5 illustrates a test method for a first image block Bl (i) which is arranged simultaneously in two edge regions of the image: a first edge region RB1, which is arranged adjacent to a first edge R1; and a second edge region RB2 disposed adjacent to a second edge R2 of the image F (i). The first edge R1 is the left vertical edge of the image F (i) in the illustrated example, and the second edge R2 is the bottom horizontal edge of the image F (i) in the illustrated example. One through these two edge regions RBl, RB2 defined corner region of the image F (i) is a left lower corner region of the image F (i). The selection of this corner area for the following explanation is merely an example. The following explanations apply correspondingly to any corner region of the image F (i) defined by two edge regions.
vi bezeichnet in Figuren 5A, 5B einen Testvektor, vlx bezeichnet die horizontale Vektorkomponente und vly bezeichnet die vertikale Vektorkomponente dieses Testvektors vi. Diese beiden Vektorkomponenten vlx, vly sind in dem dargestellten Beispiel ungleich Null. Selbstverständlich besteht jedoch auch die Möglichkeit, dass eine dieser Vektorkomponenten oder dass beide dieser Vektorkomponenten gleich Null sind.vi denotes a test vector in Figures 5A, 5B, vl x denotes the horizontal vector component and lr y denotes the vertical vector component of this test vector vi. These two vector components vl x , vl y are not equal to zero in the illustrated example. Of course, however, there is also the possibility that one of these vector components or that both of these vector components are equal to zero.
Die senkrecht zu dem ersten Rand Rl verlaufende erste Vektorkomponente des in Figuren 5A, 5B dargestellten Testvektors vi, ist dessen horizontale Vektorkomponente vlx, und die senkrecht zu dem zweiten Rand R2 verlaufende zweite Vektorkomponente des Testvektors vi ist in dem dargestellten Beispiel dessen vertikale Vektorkomponente vly. ZurThe direction perpendicular to the first edge Rl first vector component of the in Figures 5A, test vector 5B vi, is the horizontal vector component vl x, and the direction perpendicular to the second edge R2 second vector component of the test vector vi is in the example shown, the vertical vector component vl y . to
Ermittlung der Position des zweiten Bildpunktes B2 (i) werden die Orientierung der ersten und der zweiten Vektorkomponente ausgewertet, wobei es entsprechend der zuvor gemachten Ausführungen hier vier unterschiedliche Fälle gibt. Diese Fallunterscheidungen sind in Figur 6 in Form einer Tabelle dargestellt .Determining the position of the second pixel B2 (i), the orientation of the first and the second vector component are evaluated, wherein there are four different cases according to the previously made embodiments here. These case distinctions are shown in FIG. 6 in the form of a table.
Dargestellt ist in Figur 6 die Differenz zwischen den Positionen des zweiten Bildblocks B2(i) und des ersten Bildblocks Bl (i) , also der räumliche Versatz zwischen diesen beiden Bildblöcken. Dieser räumliche Versatz ist abhängig von der Orientierung der ersten und zweiten Vektorkomponente, bzw. dem Vorzeichen dieser beiden Vektorkomponenten. Besitzt die erste Vektorkomponente Vlx ein positives Vorzeichen, und die zweite Vektorkomponente vly ein negatives Vorzeichen, so zeigen in dem Beispiel beide Vektorkomponenten von den jeweiligen Rändern weg. Der zweite Bildpunkt B2(i) ist in diesem Fall sowohl um die erste als auch um die zweite Vektorkomponente vlX; vly gegenüber der Position des ersten Bildblocks Bl (i) verschoben. Besitzt die erste Vektorkomponente vlx ein positives Vorzeichen und die zweite Vektorkomponente vly e-benfalls ein positives Vorzeichen, so ist der zweite Bildblock B2(i) ledig- lieh um die erste Vektorkomponente vlx gegenüber der Position des ersten Bildblocks Bl (i) verschoben. Besitzt die erste Vektorkomponente vlx ein negatives Vorzeichen und die zweite Vektorkomponente vly ein positives Vorzeichen, so ist der zweite Bildblock B2 (i) gegenüber der Position des ersten Bildblocks Bl (i) um die zweite Vektorkomponente vly verschoben. Besitzt die erste Vektorkomponente vlx in dem Beispiel ein negatives Vorzeichen und die zweite Vektorkomponente vly ein positives Vorzeichen, so zeigen beide Vektorkomponenten in Richtung des jeweiligen Randes. In diesem Fall wird kein zweiter Bildblock B2 (i) innerhalb des ersten Bildes F(i) ermittelt, bzw. der zweite Bildblock entspricht in diesem Fall dem ersten Bildblock Bl (i) , die Verschiebung ist also (0, 0) .Shown in FIG. 6 is the difference between the positions of the second image block B2 (i) and the first image block Bl (i), ie the spatial offset between these two image blocks. This spatial offset is dependent on the orientation of the first and second vector components, or the sign of these two Vector components. If the first vector component Vl x has a positive sign, and the second vector component vl y has a negative sign, then in the example both vector components point away from the respective edges. The second pixel B2 (i) is in this case both the first and the second vector component vl X; vl y shifted from the position of the first image block Bl (i). Having the first vector component vl x has a positive sign and the second vector component vl y e-benfalls a positive sign, the second image block B2 is (i) QUIRES ONLY lent to the first vector component vl x relative to the position of the first image block Bl (i) postponed. If the first vector component vl x has a negative sign and the second vector component vl y has a positive sign, the second image block B2 (i) is shifted from the position of the first image block Bl (i) by the second vector component vl y . Having the first vector component vl x in the example, a negative sign and the second vector component vl y has a positive sign, then both vector components point in the direction of the respective edge. In this case, no second image block B2 (i) within the first image F (i) is determined, or the second image block in this case corresponds to the first image block Bl (i), ie the displacement is (0, 0).
Der dritte Bildblock B3 (i-1) in dem zweiten Bild F(i-l) ist entsprechend der zuvor gemachten Erläuterungen um den Wert des Testvektors vi gegenüber der Position des zweiten Bildblocks B2(i) verschoben. In dem in Figuren 5A, 5B dargestellten Beispiel, bei dem der zweite Bildblock B2 (i) sowohl um die erste Vektorkomponente als auch die zweite Vektorkomponente gegenüber der Position des ersten Bildblocks Bl (i) verschoben ist, entspricht die Position des drittenThe third image block B3 (i-1) in the second image F (i-1) is shifted by the value of the test vector vi from the position of the second image block B2 (i) in accordance with the explanations given above. In the example shown in Figs. 5A, 5B, in which the second image block B2 (i) is shifted from both the first vector component and the second vector component from the position of the first image block Bl (i), the position of the third one
Bildblocks B3(i-1) der Position des ersten Bildblocks Bl (i) . Bei beiden zuvor erläuterten Verfahren wird für einen ersten Bildblock Bl (i) innerhalb eines Randbereiches ein zweiter Bildblock B2(i) innerhalb desselben Bildes ermittelt, wobei die Position dieses zweiten Bildblocks B2 (i) abhängig ist von der Orientierung einer senkrecht zu dem Rand verlaufenden Vektorkomponente des Testvektors und abhängig ist vom Betrag dieser Vektorkomponente .Image block B3 (i-1) of the position of the first image block Bl (i). In both methods explained above, for a first image block Bl (i) within a border region, a second image block B2 (i) within the same image is determined, the position of this second image block B2 (i) being dependent on the orientation of a plane perpendicular to the border Vector component of the test vector and is dependent on the magnitude of this vector component.
Das zuvor erläuterte Verfahren kann als modifiziertes Rück- wärtsschätzverfahren bezeichnet werden, da bei diesem Verfahren zum Ermitteln von Bewegungsinformation zu einem Bildblock - in dem Beispiel dem ersten Bildblock Bl (i) - des ersten Bildes F(i) Bildinformationen aus einem Bildblock des zeitlich vorangehenden zweiten Bildes F(i-l) verwendet werden.The method explained above may be referred to as a modified backward estimation method, since in this method for determining motion information about an image block-in the example the first image block Bl (i) -of the first image F (i), image information from a temporally preceding image block second image F (il) can be used.
Die zuvor erläuterten Verfahrensschritte lassen sich in entsprechender Weise auch auf ein Vorwärtsschätzverfahren anwenden, um dadurch ein modifiziertes Vorwärtsschätzverfahren zu erhalten, wie nachfolgend anhand der Figuren 7 und 8 erläu- tert wird. Bildinformationen von Bildblöcken des erstenThe above-explained method steps can also be correspondingly applied to a forward estimation method, in order thereby to obtain a modified forward estimation method, as will be explained below with reference to FIGS. 7 and 8. Image information of image blocks of the first
Bildes F(i) werden bei diesem Verfahren mit Bildblöcken in einem zweiten Bild F(i+1) verglichen, das zeitlich dem ersten Bild F(i) nachfolgt. Ein solches Verfahren unterscheidet sich von dem zuvor erläuterten Verfahren dadurch, dass bei Testen eines Bewegungsvektors zu einem ersten Bildblock in dem ersten Bild F(i) ein zweiter Bildblock, dessen Position sich von der Position des ersten Bildblocks unterscheidet, dann ermittelt wird, wenn der erste Bildblock in einem Randbereich benachbart zu einem Rand angeordnet ist und wenn die senk- recht zu diesem Rand verlaufende Vektorkomponente des Test- vektors in Richtung dieses Randes zeigt. Ein Beispiel eines solchen Verfahrens wird nachfolgend anhand von Figuren 7A, 7B erläutert . Bl (i) bezeichnet in Figuren 7A, 7B einen ersten Bildblock des Bildes F(i), der in einem ersten Randbereich RBl angeordnet ist. Dieser erste Randbereich RBl ist benachbart zu einem ersten Rand Rl angeordnet, der in dem dargestellten Beispiel ein rechter vertikaler Rand des Bildes F(i) ist. vi bezeichnet den zu diesem Bildblock Bl (i) zu testenden Testvektor, und vlx bezeichnet die senkrecht zu dem ersten Rand Rl verlaufende Vektorkomponente dieses Testvektors. Diese senkrecht ver-laufende Vektorkomponente vlx verläuft in dem dargestellten Beispiel in Richtung dieses ersten Randes Rl. In diesem Fall wird in dem ersten Bild F(i) ein zweiter Bildblock B2(i) ermittelt, dessen Position gegenüber der Position des ersten Bildblockes Bl (i) um die senkrecht zu dem Rand Rl verlaufende Vektorkomponente vlx verschoben ist. Der zweite Bildblock B2(i) liegt dabei am Anfangspunkt und der erste Bildblock Bl (i) liegt am Endpunkt dieser Vektorkomponente. Ausgehend von der Position des zweiten Bildblocks B2(i) wird anschließend ein dritter Bildblock B3{i) in dem zweiten Bild F(i+1) ermittelt, wobei die Position des dritten Bildblocks B3(i) um den Testvektor vi gegenüber der Position des zweiten Bildblocks B2(i) verschoben ist, wobei der zweite Bildblock B2(i) am Anfangspunkt und der dritte Bildblock B3(i) am Endpunkt des Testvektors vi liegt. Für die Koordinaten (x2, y2) des zweiten Bildblocks B2 (i) bezogen auf die Koordinaten (xl, yl) des ersten Bildblocks Bl (i) und für die Koordinaten (x3, y3) des dritten Bildblocks B3(i) bezogen auf die Koordinaten des zweiten Bildblocks B2 (i) gilt in dem dargestellten Beispiel :Image F (i) are compared in this method with image blocks in a second image F (i + 1), which follows in time the first image F (i). Such a method differs from the method explained above in that when testing a motion vector to a first image block in the first image F (i), a second image block whose position differs from the position of the first image block is then determined when the second image block first image block is arranged in an edge region adjacent to an edge and if the vector component of the test vector running perpendicular to this edge points in the direction of this edge. An example of such a method is explained below with reference to FIGS. 7A, 7B. Bl (i) in FIGS. 7A, 7B denotes a first image block of the image F (i), which is arranged in a first edge region RB1. This first edge region RB1 is arranged adjacent to a first edge R1, which in the illustrated example is a right vertical edge of the image F (i). vi denotes the test vector to be tested for this image block Bl (i), and vl x denotes the vector component of this test vector which is perpendicular to the first boundary Rl. This vertically ver running vector component vl x runs in the illustrated example in the direction of this first edge Rl. In this case, a second image block B2 (i) whose position is shifted relative to the position of the first image block Bl (i) by the vector component vl x perpendicular to the edge Rl is determined in the first image F (i). The second image block B2 (i) lies at the starting point and the first image block Bl (i) lies at the end point of this vector component. Starting from the position of the second image block B2 (i), a third image block B3 {i) is subsequently determined in the second image F (i + 1), the position of the third image block B3 (i) being opposite the position of the test vector vi second image block B2 (i) is shifted, wherein the second image block B2 (i) at the start point and the third image block B3 (i) at the end point of the test vector vi. For the coordinates (x2, y2) of the second image block B2 (i) with respect to the coordinates (xl, yl) of the first image block Bl (i) and for the coordinates (x3, y3) of the third image block B3 (i) relative to the Coordinates of the second image block B2 (i) apply in the example shown:
(x2, y2) = (Xl-Vlx, yl) (4)(x2, y2) = (Xl-Vl x, yl) (4)
(x3, Y3) = (x2+vlx, y2+v2y) (5). Unter Verwendung des zweiten und dritten Bildblocks B2(i), B3(i+1) wird anschließend ein Abstandsmaß für den Testvektor vi ermittelt. Zur Ermittlung des Abstandsmaßes eignen sich beliebige herkömmliche und bereits zuvor erläuterte Verfahren.(x3, y3) = (x2 + x vl, v2 y2 + y) (5). Using the second and third image blocks B2 (i), B3 (i + 1), a distance measure for the test vector vi is then determined. To determine the distance measure any conventional and previously discussed methods are suitable.
Zeigt die senkrecht zu dem Rand Rl verlaufende Vektorkomponente des zu testenden Vektors von dem Rand Rl weg, wie dies für den im ersten Randbereich RBl dargestellten weiteren Bildblock B4 (i) dargestellt ist, so wird das Abstandsmaß für den Testvektor, in dem dargestellten Beispiel den Vektor v2 , unter Verwendung des Bildinhalts dieses Bildblocks B4(i) und eines weiteren Bildblocks B5(i+1) in dem zweiten Bild F(i+1) berechnet. Der Bildblock B5(i) in dem zweiten Bild F(i+1) ist dabei um den Testvektor v2 gegenüber der Position des Bildblocks B4 (i) versetzt, wobei der Bildblock B4 (i) in dem ersten Bild F(i) am Anfangspunkt und der Bildblock B5(i+1) am Endpunkt des zu testenden Vektors v2 liegt.If the vector component of the vector to be tested, which is perpendicular to the edge R 1, points away from the edge R 1, as shown for the further image block B 4 (i) shown in the first edge region RB 1, then the distance measure for the test vector, in the example shown, becomes Vector v2, using the image content of this image block B4 (i) and another image block B5 (i + 1) in the second image F (i + 1). The image block B5 (i) in the second image F (i + 1) is offset by the test vector v2 from the position of the image block B4 (i), the image block B4 (i) in the first image F (i) at the starting point and the image block B5 (i + 1) is at the end point of the vector v2 to be tested.
Bei dem in Figuren 7A, 7B dargestellten Beispiel ist die senkrecht zu dem Rand Rl verlaufende Vektorkomponente die horizontale Vektorkomponente vlx. Diese Vektorkomponente zeigt auf den Ersten Rand Rl - in dem dargestellten Beispiel den rechten vertikalen Rand - hin, wenn diese Vektorkomponente ein positives Vorzeichen besitzt. Das erläuterte Verfahren ist selbstverständlich in entsprechender Weise auf beliebige Randbereiche des Bildes F(i) anwendbar. Die für die einzelnen Randbereiche auszuwertenden Vektorkomponenten und deren Vorzeichen für den Fall, dass diese Vektorkomponente auf den Rand hinzeigt, sind in der ganz rechten Spalte der Figur 4 dargestellt. Für erste Bildblöcke, die gleichzeitig in zwei unterschiedlichen Randbereichen liegen, werden entsprechend der Erläuterungen zu den Figuren 5 und 6 die senkrecht zu den beiden Rändern liegenden Vektorkomponenten des zu testenden Vektors separat ausgewertet, und die Position des zweiten Bildblocks B2(i) wird entsprechend der Erläuterungen zu Figuren 5A, 5B abhängig davon gewählt, ob eine, beide oder keine dieser Vektorkomponenten in Richtung des jeweiligen Randes zeigen. Ein Beispiel eines Verfahrens zum Testen eines Testvektors für einen ersten Bildblock Bl (i), der gleichzeitig in zweiIn the example shown in Figures 7A, 7B, the perpendicular to the edge Rl component vector is the horizontal vector component x vl. This vector component points to the first edge R1 - the right vertical edge in the illustrated example - if this vector component has a positive sign. The explained method is, of course, applicable in a corresponding manner to any edge regions of the image F (i). The vector components to be evaluated for the individual edge regions and their signs for the case in which this vector component points to the edge are shown in the right-most column of FIG. For first image blocks, which are located simultaneously in two different edge regions, the vector components of the vector to be tested, which are perpendicular to the two edges, are evaluated separately, as shown in FIGS. 5 and 6, and the position of the second image block B2 (i) is determined according to FIG Explanations to Figures 5A, 5B depending on whether one, both or none of these vector components point in the direction of the respective edge. An example of a method for testing a test vector for a first image block Bl (i) simultaneously in two
Randbereichen RBl, RB2 angeordnet ist, ist in Figuren 8A, 8B veranschaulicht, vi bezeichnet in Figuren 8A, 8B einen zu diesem Bildblock Bl (i) zu testenden Testvektor vi. Der erste Bildblock Bl (i) liegt gleichzeitig innerhalb eines ersten Randbereiches RBl und eines zweiten Randbereiches RB2. Der erste Randbereich RBl ist dabei benachbart zu einem ersten Rand Rl, in dem Beispiel dem rechten vertikalen Rand, und der zweite Randbereich RB2 ist benachbart zu einem zweiten Rand R2 , in dem Beispiel dem oberen horizontalen Rand, angeordnet. Die senkrecht zu dem ersten Rand Rl verlaufende Vektorkomponente ist in dem dargestellten Beispiel die horizontale Vektorkomponente vlx, und die senkrecht zu dem zweiten Rand R2 verlaufende Vektorkomponente ist die vertikale Vektorkomponente vly. Beide dieser Vektorkomponenten zeigen in dem dargestellten Beispiel in Richtung des jeweiligen Randes. Der zweite Bildblock B2(i) ist dabei gegenüber der Position des ersten Bildblocks Bl (i) um die erste und zweite Vektorkomponente verschoben. Hinsichtlich der Position dieses zweiten Bildblocks B2 (i) gibt es abhängig von der Orientierung dieser Vektorkomponenten vier Fallunterscheidungen, die entsprechend der Ausführungen zu den Figuren 5 und 6 in Figur 9 dargestellt sind.Is illustrated in FIGS. 8A, 8B, vi denotes a test vector vi to be tested for this image block Bl (i) in FIGS. 8A, 8B. The first image block Bl (i) lies at the same time within a first edge region RB1 and a second edge region RB2. In this case, the first edge area RB1 is adjacent to a first edge R1, in the example the right vertical edge, and the second edge area RB2 is arranged adjacent to a second edge R2, in the example the upper horizontal edge. The direction perpendicular to the first edge Rl vector component is in the example shown, the horizontal vector component x vl, and the direction perpendicular to the second edge vector component R2 is the vertical vector component vl y. Both of these vector components point in the example shown in the direction of the respective edge. The second image block B2 (i) is shifted from the position of the first image block Bl (i) by the first and second vector components. With regard to the position of this second image block B2 (i), depending on the orientation of these vector components, there are four case distinctions, which are illustrated in accordance with the embodiments of FIGS. 5 and 6 in FIG.
Liegt bei dem bisher erläuterten Verfahren eine Randbereichsverletzung bezüglich eines ersten Bildblocks Bl (i) und eines zu die- sem Bildblock Bl (i) zu testenden Vektors vi für eine gewünschte Schätzrichtung vor, so wird in erläuterter Weise in dem ersten Bild F(i), in dem der erste Bildblock Bl (i) angeordnet ist, ein zweiter Bildblock B2 (i) ermittelt, der gegenüber der Position des ersten Bildblocks Bl (i) verschoben ist. Ein Bildvergleich wird anschließend unter Verwendung dieses zweiten Bildblocks B2 (i) aus dem ersten Bild F(i) und eines dritten Bildblocks B3(i-1) aus dem zweiten Bild Fl(i-l) durchgeführt, wobei die Position des dritten Bildblocks B3(i-1) um den Testvektor vi gegenüber der Position des zweiten Bildblocks verschoben ist. Das durch den Bildvergleich erhaltene Testergebnis bezieht sich dann strenggenommen allerdings nicht mehr auf den ersten Bl (i) sondern auf den zweiten Bildblock B2 (i) .If, in the method explained so far, there is an edge area violation with respect to a first image block Bl (i) and one of these In the manner explained above, a second image block B2 (i) is determined in the first image F (i), in which the first image block Bl (i) is arranged, in the image block Bl (i) to be tested , which is shifted from the position of the first image block Bl (i). An image comparison is then performed using this second image block B2 (i) from the first image F (i) and a third image block B3 (i-1) from the second image Fl (il), the position of the third image block B3 (i -1) is shifted by the test vector vi from the position of the second image block. However, strictly speaking, the test result obtained by the image comparison no longer refers to the first Bl (i) but to the second image block B2 (i).
Stehen zum Testen eines Bewegungsvektors vi für einen ersten Bildblock B2(i) des ersten Bildes allerdings nicht nur ein zeitlich vorangehendes F(i-l) oder ein zeitlich nachfolgendes F(i-t-l) Bild zur Verfügung, sondern stehen beide dieser Bilder zur Verfügung, so gibt es eine weitere Möglichkeit auf eine Randbereichsverletzung zu reagieren, die nachfolgend er- läutert wird:However, in order to test a motion vector vi for a first image block B2 (i) of the first image, not only a temporally preceding F (il) or a temporally succeeding F (itl) image is available, but both of these images are available another way to respond to a border violation, which is explained below:
Wenn für einen Testvektor zu einer Schätzrichtung eine Randbereichsverletzung vorliegt, so ist vorgesehen, eine Schätzung in entgegengesetzter Schätzrichtung durchzuführen. Dies 20 wird nachfolgend unter Bezugnahme auf die Beispiele in den Figuren 2 und 7 erläutert. Bezugnehmend auf die bisherige Erläuterung wird bei dem Beispiel gemäß Figuren 2A, 2B eine Rückwärtsschätzung durchgeführt. Für den Testvektor vi und den ersten Bildblock Bl (i) liegt hierbei eine Randbereichsverletzung vor. Um trotz dieser Randbereichsverletzung eine Bewegungsschätzung durchführen zu können, wird der Inhalt des Bildblocks Bl (i) mit dem Inhalt eines Bildblocks B5(i+1) in dem zeitlich nachfolgenden Bild F(i+1) verglichen, für dessen Koordinaten (x5,y5) gilt:If there is an edge region violation for a test vector to an estimation direction, then it is intended to carry out an estimation in the opposite estimation direction. This will be explained below with reference to the examples in FIGS. 2 and 7. Referring to the previous explanation, in the example of FIGS. 2A, 2B, a backward estimation is performed. For the test vector vi and the first image block Bl (i), there is an edge region violation. In order to be able to perform a motion estimation despite this edge area violation, the content of the image block Bl (i) becomes the content of an image block B5 (i + 1) in the temporally successive image F (i + 1) whose coordinates (x5, y5) are valid for:
(x5,y5) = (xl+vlx, yl+vly) (6) .(x5, y5) = (xl + vlx, yl + vly) (6).
Es wird also eine Vorwärtsschätzung, d.h. eine Schätzung in eine entgegengesetzte Richtung durchgeführt.Thus, a forward estimate, i. an estimate carried out in an opposite direction.
Bezugnehmend auf die bisherige Erläuterung wird bei dem Beispiel gemäß Figuren 7A, 7B eine Vorwärtsschätzung durchgeführt . Für den Testvektor vi und den ersten Bildblock Bl (i) liegt hierbei eine Randbereichsverletzung vor. Um trotz dieser Randbereichsverletzung eine BewegungsSchätzung durchführen zu können, wird der Inhalt des Bildblocks Bl (i) mit dem Inhalt eines Bildblocks B5 (i-1) in dem zeitlich vorausgehenden Bild F(i-l) verglichen, für dessen Koordinaten (x5,y5) gilt:Referring to the previous explanation, in the example of FIGS. 7A, 7B, a forward estimation is performed. For the test vector vi and the first image block Bl (i), there is an edge region violation. In order to be able to perform a motion estimation despite this edge area violation, the content of the image block Bl (i) is compared with the content of an image block B5 (i-1) in the temporally preceding image F (il), whose coordinates (x5, y5) apply :
(x5,y5) = (xl-vlx, yl-vly) (6).(x5, y5) = (xl-vlx, yl-vly) (6).
Es wird also eine Rückwärtsschätzung, d.h. eine Schätzung in eine entgegengesetzte Richtung durchgeführt. Allgemein lässt sich sagen, dass für eine Bewegungsschätzung bei diesem Verfahren ein zweiter Bildblock B5(i) ausgewählt wird, der gegenüber dem ersten Bildblock Bl (i) um den ersten Bewegungsvektor vi verschoben ist und der abhängig davon, ob die erste Vektorkomponente vlx eine vorgegebene Richtung aufweist in einem dem ersten Bild F(i) zeitlich vorausgehenden Bild F (i-1) oder einem dem ersten Bild F(i) zeitlich nachfolgenden Bild F(i+1) angeordnet ist.Thus, a backward estimate, i. an estimate carried out in an opposite direction. Generally speaking, for motion estimation in this method, a second image block B5 (i) is selected which is shifted from the first image block Bl (i) by the first motion vector vi and which depends on whether the first vector component vlx is a predetermined one Having direction in a first image F (i) temporally preceding image F (i-1) or one of the first image F (i) temporally subsequent image F (i + 1) is arranged.
Liegt der Block gleichzeitig in zwei Randbereichen, also in einer der Ecken des Bildes, so kann der Fall auftreten, dass für eine der Komponenten des Vektors eine Randbereichsverletzung und für eine der Komponenten des Vektors eine Randbereichsverletzung bei einer VorwärtsSchätzung auftritt. In diesem Fall wird beispiels- weise auf das anhand der Figuren 5 oder 8 erläuterte Verfahren zurückgegriffen. Darüber hinaus besteht die Möglichkeit, für Blöcke, die sich in einer Ecke befinden, grundsätzlich auf das Verfahren gemäß der Figuren 5 oder 8 zurückzugreifen, wenn eine Randbereichsverletzung vorliegt, selbst dann, wenn eine Schätzung in entgegengesetzter Richtung erfolgversprechend, d.h. ohne Randbereichsverletzung möglich ist. If the block lies at the same time in two edge regions, that is to say in one of the corners of the image, the case may arise that a margin violation for one of the components of the vector and a margin violation for one of the components of the vector in a forward estimation. In this case, for example, wise recourse to the explained with reference to Figures 5 or 8 method. In addition, for blocks located in a corner, it is possible to resort to the method according to FIGS. 5 or 8, in principle, if there is a margin violation, even if an estimation in the opposite direction is possible, ie without margin violation.

Claims

Patentansprüche claims
1. Verfahren zum Testen eines Bewegungsvektors zu einem ersten Bildblock (Bl (i) ) eines ersten Bildes (F (i) ) einer Bildfolge, der in einem ersten Randbereich (Rl) des ersten Bildes (F (i) ) angeordnet ist, wobei der erste Randbereich (Rl) sich an einen ersten Rand des Bildes anschließt und wobei der Bewegungsvektor (vi) eine erste senkrecht zu dem ersten Rand verlaufende Vektorkomponente (vlx) und eine zweite Vektorkomponente (vly) aufweist, wobei das Verfahren aufweist:A method of testing a motion vector to a first image block (Bl (i)) of a first image (F (i)) of an image sequence located in a first edge region (Rl) of the first image (F (i)) the first edge region (R) adjoins a first edge of the picture and the motion vector (vi) a first perpendicular to the first edge running vector component (vl x) and a second vector component (vl y), said method comprising:
Ermitteln eines zweiten Bildblocks (B2 (i) ) in dem erstenDetermining a second image block (B2 (i)) in the first one
Bild (F (i)), der gegenüber dem ersten Bildblock (Bl (i) ) in der senkrecht zu dem ersten Rand (Rl) verlaufenden Richtung um die erste Vektorkomponente (vlx) in einer Richtung weg von dem ersten Bildrand verschoben ist, wenn die erste Vek- torkomponente eine vorgegebene Richtung besitzt;Image (F (i)) shifted from the first image block (Bl (i)) in the direction perpendicular to the first edge (Rl) by the first vector component (vlx) in a direction away from the first image edge the first vector component has a predetermined direction;
Ermitteln eines dritten Bildblocks (B3 (i) ) in einem dem ersten Bild (F (i) ) zeitlich vorausgehenden (F(i-l)) oder zeitlich nachfolgenden (F(i+1)) Bild, der gegenüber dem zweiten Bildblock um den ersten Bewegungsvektor (vi) ver- schoben ist;Determining a third image block (B3 (i)) in a first (F (i)) temporally preceding (F (il)) or temporally subsequent (F (i + 1)) image, which is compared to the second image block by the first Motion vector (vi) is shifted;
Berechnen eines Abstandsmaßes zwischen dem Inhalt des zweiten und des dritten Bildblocks B2 (i) , B3 (i) .Calculating a distance measure between the contents of the second and third image blocks B2 (i), B3 (i).
2. Verfahren zum Testen eines Bewegungsvektors zu einem ersten Bildblock (Bl (i) ) eines ersten Bildes (F (i) ) einer Bildfolge, der in einem ersten Randbereich (Rl) des ersten Bildes (F (i) ) angeordnet ist, wobei der erste Randbereich (Rl) sich an einen ersten Rand des Bildes anschließt und wobei der Bewegungsvektor (vi) eine erste senkrecht zu dem ersten Rand verlaufende Vektorkomponente (vlx) und eine zweite Vektorkomponente (vly) aufweist, wobei das Verfahren aufweist :2. A method of testing a motion vector for a first image block (Bl (i)) of a first image (F (i)) of an image sequence arranged in a first edge region (R1) of the first image (F (i)) the first edge region (R) adjoins a first edge of the picture and the motion vector (vi) a first perpendicular to the first edge running vector component (vl x) and a second vector component (vl y ), the method comprising:
Ermitteln eines zweiten Bildblocks der gegenüber dem ersten Bildblock Bl (i) um den ersten Bewegungsvektor (vi) verscho- ben ist und der abhängig davon, ob die erste Vektorkomponente (vlx) eine vorgegebene Richtung aufweist in einem dem ersten Bild (F (i) ) zeitlich vorausgehenden Bild (F(i-l)) oder einem dem ersten Bild (Bl (i) ) zeitlich nachfolgenden Bild (F(i+1)) angeordnet ist.Determining a second image block which is displaced relative to the first image block Bl (i) by the first motion vector (vi) and which depends on whether the first vector component (vlx) has a predetermined direction in a first image (F (i) ) temporally preceding image (F (il)) or a first image (Bl (i)) temporally succeeding image (F (i + 1)) is arranged.
3. Verfahren nach Anspruch 1 oder 2, bei dem die vorgegebene Richtung so ist, dass die erste senkrecht zu dem ersten Rand verlaufende Vektorkomponente von dem ersten Rand (Rl) weg in das Bild hinein zeigt und bei dem das zweite Bild das zeitlich vorangehende Bild ist.The method of claim 1 or 2, wherein the predetermined direction is such that the first vector component perpendicular to the first edge faces away from the first edge (R 1) into the image and the second image represents the temporally preceding image is.
4. Verfahren nach Anspruch 1 oder 2, bei dem die vorgegebene Richtung so ist, dass die erste senkrecht zu dem ersten Rand verlaufende Vektorkomponente aus dem Bild zu dem ersten Rand (Rl) hin zeigt und bei dem das zweite Bild das zeitlich nachfolgende Bild ist.4. The method of claim 1, wherein the predetermined direction is such that the first vector component perpendicular to the first edge points from the image to the first edge and wherein the second image is the temporally subsequent image ,
5. Verfahren nach einem der vorangehenden Ansprüche, bei dem der erste Bildblock Bl (i) gleichzeitig in einem zweiten Randbereich (RB2) angeordnet ist, der sich an einen zweiten Rand (R2) anschließt und bei dem die zweite Vektorkomponente (vly) senkrecht zu diesem zweiten Rand (R2) verläuft und das außerdem aufweist:5. The method according to any one of the preceding claims, wherein the first image block Bl (i) is arranged simultaneously in a second edge region (RB2), which adjoins a second edge (R2) and wherein the second vector component (vl y ) perpendicular extending to this second edge (R2) and further comprising:
Ermitteln des zweiten Bildblocks (B2 (i) ) in dem ersten Bild (F (i) ) derart, dass dieser Bildblock in der Richtung senkrecht zu dem zweiten Rand (R2) um die zweite Vektorkomponente (vly) gegenüber der Position des ersten Bildblocks (Bl (i) ) versetzt ist, wenn die zweite Vektorkomponente eine vorgegebene Richtung besitzt.Determining the second image block (B2 (i)) in the first image (F (i)) such that this image block is in the direction perpendicular to the second edge (R2) about the second vector component (vly) is offset from the position of the first image block (Bl (i)) when the second vector component has a predetermined direction.
6. Verfahren nach Anspruch 4, bei dem die vorgegebene Rieh tung so ist, dass die zweite senkrecht zu dem zweiten Rand (R2) verlaufende Vektorkomponente von dem zweiten Rand (R2) weg in das Bild hinein zeigt und bei dem das zweite Bild das zeitlich vorangehende Bild ist.6. The method of claim 4, wherein the predetermined Rieh tion is such that the second perpendicular to the second edge (R2) extending vector component from the second edge (R2) away into the image and in which the second image in time previous picture is.
7. Verfahren nach Anspruch 5, bei dem die vorgegebene Rieh tung so ist, dass die zweite senkrecht zu dem zweiten Rand (R2) verlaufende Vektorkomponente von dem zweiten Rand (R2) weg in das Bild hinein zeigt und bei dem das zweite Bild das zeitlich nachfolgende Bild ist.The method of claim 5, wherein the predetermined direction is such that the second vector component perpendicular to the second edge (R2) points away from the second edge (R2) into the image, and wherein the second image is time-wise subsequent picture is.
8. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Bilder (F (i), F(i-l)), F(i+1)) der Bildfolge in einer Bild-in-Bild-Darstellung in Bildern einer weiteren Bildfolge dargestellt werden.8. The method according to any one of the preceding claims, wherein the images (F (i), F (il)), F (i + 1)) of the image sequence are displayed in a picture-in-picture representation in images of another image sequence ,
9. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Bilder (F (i), F(i-l)), F(i+1)) der Bildfolge in einer "Splitscreen"-Darstellung neben Bildern wenigstens einer weiteren Bildfolge dargestellt werden. 9. Method according to one of the preceding claims, in which the images (F (i), F (i-1)), F (i + 1)) of the image sequence are displayed in a "split-screen" representation in addition to images of at least one further image sequence.
PCT/EP2009/066751 2008-12-10 2009-12-09 Method for estimating movement at edges of images WO2010066801A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008054503.1 2008-12-10
DE102008054503A DE102008054503A1 (en) 2008-12-10 2008-12-10 Method for motion estimation at image edges

Publications (1)

Publication Number Publication Date
WO2010066801A1 true WO2010066801A1 (en) 2010-06-17

Family

ID=41557671

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/066751 WO2010066801A1 (en) 2008-12-10 2009-12-09 Method for estimating movement at edges of images

Country Status (2)

Country Link
DE (1) DE102008054503A1 (en)
WO (1) WO2010066801A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US20050013362A1 (en) * 2003-07-15 2005-01-20 Lsi Logic Corporation Supporting motion vectors outside picture boundaries in motion estimation process
WO2007119198A1 (en) * 2006-04-14 2007-10-25 Nxp B.V. Motion estimation at image borders

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1585326A1 (en) * 2004-03-30 2005-10-12 Matsushita Electric Industrial Co., Ltd. Motion vector estimation at image borders for frame rate conversion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339656B1 (en) * 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US20050013362A1 (en) * 2003-07-15 2005-01-20 Lsi Logic Corporation Supporting motion vectors outside picture boundaries in motion estimation process
WO2007119198A1 (en) * 2006-04-14 2007-10-25 Nxp B.V. Motion estimation at image borders

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHEU-CHIH CHENG ET AL: "A Comparison of Block-Matching Algorithms Mapped to Systolic-Array Implementation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 7, no. 5, 1 October 1997 (1997-10-01), XP011014416, ISSN: 1051-8215 *

Also Published As

Publication number Publication date
DE102008054503A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
EP1770635B1 (en) Iterative image interpolation method
DE102010046259A1 (en) Image frequency conversion using motion estimation and compensation
DE60028584T2 (en) SYSTEM AND METHOD FOR IMAGE INTERPOLATION
DE602004002935T2 (en) Processing of tickers in video sequences
DE602005003624T2 (en) Image processing apparatus and method
DE69626475T2 (en) Method for correcting motion estimation in images with periodic structures
DE102007027642A1 (en) Method for processing a sequence of images with successive video images to improve the spatial resolution
DE10239052A1 (en) Map image processing device and method for generating a bird's-eye view of a two-dimensional map image
EP1605405B1 (en) Procedure for the determination of movement vectors
DE3813461C2 (en) Multi-tube color television camera
DE69909892T2 (en) Method for detecting the relative depth of two objects in a scene based on two recordings from different viewing directions
DE10084783B3 (en) System and method for generating video frames
EP2105883A1 (en) Method for testing a movement vector
DE2261228C2 (en) Method and circuit arrangement for suppressing the comb effect when recording video signals corresponding to the interlaced method on cinema film
DE102009026983A1 (en) Image processing method with a motion estimation and image processing arrangement
DE102005063072B4 (en) Method and apparatus for interline interpolation
DE102014201409A1 (en) PARKING - TRACKING DEVICE AND METHODS THEREOF
WO2010066801A1 (en) Method for estimating movement at edges of images
EP1976288B1 (en) Iterative method for interpolating image information values
DE102008036279B4 (en) Method for determining a motion vector for an image block of an intermediate image
EP1397002B1 (en) A gradient based method for the interpolation of picture elements
DE102019104397A1 (en) Image synthesis device and control method
DE19505758A1 (en) Method and circuit arrangement for flicker reduction for a device for video signal processing
EP3155803B1 (en) Method for the transformation of a moving image sequence and moving image sequence transformation device
DE102009026981A1 (en) Determination of a vector field for an intermediate image

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09784076

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09784076

Country of ref document: EP

Kind code of ref document: A1