WO2005022922A1 - Temporal interpolation of a pixel on basis of occlusion detection - Google Patents

Temporal interpolation of a pixel on basis of occlusion detection Download PDF

Info

Publication number
WO2005022922A1
WO2005022922A1 PCT/IB2004/051530 IB2004051530W WO2005022922A1 WO 2005022922 A1 WO2005022922 A1 WO 2005022922A1 IB 2004051530 W IB2004051530 W IB 2004051530W WO 2005022922 A1 WO2005022922 A1 WO 2005022922A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
pixel
value
image
basis
Prior art date
Application number
PCT/IB2004/051530
Other languages
French (fr)
Inventor
Rimmert B. Wittebrood
Original Assignee
Koninklijke Philips Electronics N.V.
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=34259238&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2005022922(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to JP2006524499A priority Critical patent/JP2007504700A/en
Priority to CN2004800251644A priority patent/CN1846445B/en
Priority to US10/569,681 priority patent/US7536031B2/en
Priority to KR1020067004297A priority patent/KR101135454B1/en
Priority to EP04769840.2A priority patent/EP1665808B1/en
Publication of WO2005022922A1 publication Critical patent/WO2005022922A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/553Motion estimation dealing with occlusions

Definitions

  • the invention relates to a method of determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image.
  • the invention further relates to a pixel value determining unit for determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image.
  • the invention further relates to an image processing apparatus comprising such a pixel value determining unit.
  • the invention further relates to a computer program product to be loaded by a computer arrangement, comprising instructions to determine a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image.
  • occlusion area an area which corresponds with a portion of a scene being captured, that is visible in an image of a series of consecutive images but that is not visible in a next or previous image. This is caused by the fact that foreground objects in the scene, which are located more close to the camera than background objects, can cover portions of the background objects. In the case of movement of e.g. the foreground objects some portions of the background objects get occluded, while other portions of the background objects get uncovered. Occlusion areas can cause artifacts in temporal interpolations. E.g. in the case of up-conversion, occlusion areas can result in so-called halos.
  • motion vectors are estimated in order to compute up-converted output images by means of temporal interpolation.
  • temporal interpolation i.e. the computation of a new image intermediate two original input images, a number of pixels, which preferably relate to one and the same object are taken from consecutive images. This can not be done straightforward in the case of occlusion areas, because no related pixels can be found in both consecutive images.
  • Other interpolation strategies are required, typically based on interpolation of pixel values of only a previous or next original image. It will be clear that the estimation of suitable motion vectors for occlusion areas is important.
  • the method comprises: computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than
  • the inventor has discovered that by means of comparing a first difference between two appropriately selected motion vectors of a first motion vector field and a second difference between two appropriately selected motion vectors of a second motion vector field, it is possible to determine which of the two respective images should be selected to fetch one or more pixel values for establishing the value of the particular pixel.
  • the two selected motion vectors of one of the two motion vector fields are substantially mutually equal. This is an indication that the probability is relatively high that these two motion vectors are both related to the background or the same foreground object. In that case, the probability is relatively high that with one of these two motion vectors a pixel can be fetched which is appropriate for the intermediate image. In case of occlusion, typically these two motion vectors are both related to the background.
  • Appropriate selection of the motion vectors is based on the particular spatial position of the particular pixel and on the particular motion vector being estimated for the particular pixel.
  • the second motion vector is selected from the first motion vector field on basis of the particular spatial position of the particular pixel and the first motion vector
  • the fourth motion vector is selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the third motion vector.
  • a value represents any type of human visible information, like luminance or color.
  • An embodiment of the method according to the invention comprises establishing the value of the particular pixel on basis of the first value of the first pixel and of the second value of the second pixel if the first motion vector difference and the second motion vector difference are smaller than a predetermined threshold.
  • the value of the particular pixel is optionally based on pixel values of both images. This depends on tests to verify whether the two motion vector differences are both smaller than a predetermined threshold. Preferably this testing is performed by means of comparing the largest of the two motion vector differences with the predetermined threshold. This testing is an implicit occlusion detection. If only one of the motion vector differences is smaller than the predetermined threshold then it is assumed that the particular spatial position is located in an occlusion area. The type of occlusion, i.e. covering or uncovering, depends on which one of the two is smaller than the predetermined threshold.
  • the value of the particular pixel is based on pixel values of both input images.
  • An embodiment of the method according to the invention comprises establishing the value of the particular pixel by means of interpolation of the first value of the first pixel and a further value of a further pixel in a spatial neighborhood of the first pixel. In other words, sub-pixel accuracy is achieved in this embodiment according to the invention by means of interpolation of multiple pixel values. It is a further object of the invention to provide a pixel value determining unit of the kind described in the opening paragraph which is relatively robust. This object of the invention is achieved in that the pixel value determining unit comprises: 2005/022922
  • first computing means for computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel;
  • second computing means for computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing means for establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
  • the pixel value determining unit comprises: first computing means for computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; second computing means for computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing means for establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the pixel
  • the image processing apparatus further comprises a display device for displaying the output images.
  • the image processing apparatus might e.g. be a TV, a set top box, a VCR (Video Cassette Recorder) player, a satellite tuner, a DVD (Digital Versatile Disk) player or recorder. It is a further object of the invention to provide computer program product of the kind described in the opening paragraph which is relatively robust.
  • the computer program product after being loaded, provides said processing means with the capability to carry out: computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
  • Fig. 1 schematically shows movement of a foreground object and movement of the background in a scene
  • Fig. 2 schematically shows motion vector fields being estimated for the images shown in Fig. 1
  • Fig. 3 schematically shows the method according to the invention for two example pixels both located in occlusion areas
  • Fig. 4 schematically shows the method according to the invention for an example pixel which is not located in an occlusion area
  • Fig. 5 schematically shows an embodiment of the pixel value determining unit, according to the invention, being provided with three motion vector fields
  • Fig. 6 schematically shows an embodiment of the image processing apparatus according to the invention.
  • Same reference numerals are used to denote similar parts throughout the
  • Fig. 1 schematically shows movement of a foreground object 118 and movement of the background in a scene.
  • two original images 100 and 104 at temporal position n- ⁇ and n are depicted.
  • An object 118 within these images is moving in an upwards direction D g , which is denoted by the gray rectangles connected by the solid black lines 106 and 108.
  • the long narrow dotted black lines 110 and 112 indicate the motion of the background Db g , which is downwards.
  • the hatched regions 114 and 116 indicate occlusion areas.
  • a new image 102, which has to be created at temporal position n+cc with -1 ⁇ ⁇ 0 is indicated by the dashed line 120.
  • Fig. 1 schematically shows movement of a foreground object 118 and movement of the background in a scene.
  • two original images 100 and 104 at temporal position n- ⁇ and n are depicted.
  • An object 118 within these images is moving in an upwards
  • FIG. 2 schematically shows motion vector fields being estimated for the images shown in Fig. 1. i.e. the estimated motion vector fields are indicated by the arrows.
  • a first motion vector field is estimated for the first 100 of the two original images and a second motion vector field is estimated for the second 104 of the two original images.
  • These two motion vector fields are computed by means of a three-frame motion estimator.
  • the first motion vector field is denoted by D 3 (x, n - 1) .
  • This first motion vector field is estimated between luminance frames F(x,n-2), F(x,n -l) and F(x,n).
  • the second motion vector field is denoted by D 3 (x,n).
  • This second motion vector field is estimated between luminance frames F(x,n-l), F(x,n) and F(x,n+l). Besides that an initial motion vector field has been computed for the temporal position n + a intermediate the first and second motion vector field.
  • This initial motion vector field b 2 (x,n + a) is estimated between luminance frames F(x, n - 1) and F(x, n) .
  • the motion vector fields D 3 (x , n - 1) and D 3 (x, n) of the three-frame motion estimator substantially match with the foreground object 118, whereas the motion vector field D 2 (x,n + a) of the two-frame motion estimator shows foreground vectors which extends into the background.
  • an image being temporarily located intermediate a first and a second input image can be computed by using three motion vector fields D 3 (x, n - 1) , D 3 (x,n) and D 2 (x, n + a) . That means that the back-ground vector is determined in occlusion areas and applied to fetch a pixel from one of the two input images.
  • Fig. 3 schematically shows the method according to the invention for two example pixels at spatial positions x, and x 2 , respectively. First consider the situation around the pixel at location x, .
  • the motion vector D c (xi ) from the motion vector field D 2 (x, n + a) is used to fetch the motion vectors and from the first vector field D 3 (x,n- ⁇ ) and the second motion vector field D 3 (x,n), respectively.
  • D p (x, ) D 3 (x, - (a + 1)5, (x, ), n - 1) (1)
  • D n (x ⁇ ) D 3 (x l - ab c (x, ), ) (2)
  • This selection process is indicated by the thick black arrows 300 and 302, respectively.
  • Both motion vectors D p (x ⁇ ) and D n (xi ) are background vectors.
  • the value of the pixel at spatial position ⁇ of the intermediate image 102 will be based on a value of a pixel of the second image 104 at temporal position n , because the second motion vector difference is smaller than the first motion vector difference.
  • a similar process can be used to establish the appropriate motion vector for the other pixel at location x 2 .
  • the motion vector .D c (x2) from the motion vector field D 2 (x, n + a) is used to fetch the motion vectors D p (x2 and 5 radical(x2) from the first vector field D 3 (x, n - 1) and the second motion vector field D 3 (x,n), respectively.
  • D n (x2) D ⁇ (x2 -aDc ⁇ x2), ) (6)
  • the fetched motion vectors with D p (x ) and n (x2) are background and foreground vectors, respectively.
  • the vector b pp ) is fetched from D 3 (x,n-l) and with vector D n (xi ) , the vector b suction (xi ) is fetched from D 3 (x, n) .
  • b pp (x2) b 3 (x2 -(a + ⁇ )D P (x2),n - ⁇ ) (7)
  • m (x2) b 3 (x2 -aD n (x2),n) (8)
  • D m (X2 ) and D pp (xi ) are both background vectors.
  • D p (x 2 ) and D (x 2 ) are substantially mutually equal, i.e. the second motion vector difference is below the predetermined threshold T 0 .
  • D n (x 2 ) and b m (x 2 ) are significant difference between D n (x 2 ) and b m (x 2 ), i.e. the first motion vector difference is larger than the predetermined threshold T 0 .
  • the value of the pixel at spatial position x 2 of the intermediate image 102 will be based on a value of a pixel of the first image 100 at temporal position n - 1 , because the first motion vector difference is smaller than the second motion vector difference.
  • occlusion is detected if: In the case that occlusion is detected a classification is made into covering and uncovering. The pixel is in an uncovering area if JD P -Dp P j > T 0 A Dn - D flesh screw ⁇ ⁇ T n (10) and in a covering area if
  • Fig. 4 schematically shows the method according to the invention for an example pixel x, which is not located in an occlusion area.
  • the motion vector D c (x 3 ) from the motion vector field D z (x, n + a) is used to fetch the motion vectors b p (x 3 ) and b n (x 3 ) from the first vector field D 3 (x,n- ⁇ ) and the second motion vector field D 3 (x,n), respectively.
  • D pp (x 3 ) is fetched from D 3 (x, n - 1) and with vector D n (x 3 ) , the vector D m (x 3 ) is fetched from D 3 (x,n).
  • D pp (x 3 ) Z>3 (X3 - ( ⁇ + ⁇ )b P (x 3 ), n - 1) (14)
  • D m (x 3 ) D (x 3 - ab curat (x 3 ), ⁇ ) (15)
  • D m (x 3 ) are substantially mutually equal, i.e. the first motion vector difference is below the predetermined threshold T 0 .
  • D p (x 3 ) tnd b pp (x ) are substantially mutually equal, i.e. the second motion vector difference is below the predetermined threshold T 0 .
  • the value of the pixel at spatial position x 3 of the intermediate image 102 will be based on a first value of a first pixel of the first image 100 at temporal position « - 1 and based on a second value of a second pixel of the second image 104 at temporal position n .
  • Fig. 5 schematically shows an embodiment of the pixel value determining unit 500 according to the invention, being arranged to compute an image being temporarily located intermediate a first image and a second image, the intermediate image being located at temporal position n+a .
  • the pixel value determining unit 500 is provided with three motion vector fields.
  • the first b 3 ⁇ x,n - ⁇ ) and second b 3 (x,n) of these provided motion vector fields are computed by means of a three-frame motion estimator 512.
  • An example of a three-frame motion estimator 512 is disclosed in US 6,011,596.
  • the third provided motion vector field D 2 (x, n + a) is computed by means of a two-frame motion estimator 514.
  • This two-frame motion estimator 508 is e.g. as specified in the article "True-Motion Estimation with 3-D Recursive Search Block Matching" by G. de Haan et al. in IEEE Transactions on circuits and systems for video technology, vol.3, no.5, October 1993, pages 368-379.
  • the motion estimators 512 and 514 and the pixel value determining unit 500 are provided with an input video signal representing the first and second image and other input images.
  • the pixel value determining unit 500 provides an output video signal representing the first and second image and the intermediate image at the output connector 518.
  • the pixel value determining unit 500 comprises a control interface 520 for receiving a control signal representing a predetermined threshold T 0 .
  • the pixel value determining unit 500 according to the invention comprises: a motion vector compare unit 502; a decision unit 504; and a pixel value computation unit 506.
  • the motion vector compare unit 502 is arranged to fetch the corresponding motion vectors from the three motion vector fields b 3 (x, -i) , b 2 (x,n + a) and b 3 (x,n).
  • the motion vector compare unit 502 comprises: a first computing unit 508 for computing a first motion vector difference on basis of a first b p and second b pp motion vector of a first motion vector field b 3 (x,n-l) corresponding to the first image, the first motion vector b p being selected from the first motion vector field D 3 (x, n-l) on basis of a particular spatial position x of the particular pixel and a particular motion vector b c being estimated for the particular pixel; and a second computing unit 510 for computing a second motion vector difference on basis of a third £> impart and fourth b m motion vector of a second motion vector field D 3 (x,n) corresponding to the second image, the third motion vector £> treating being selected from the second motion vector field b 3 (x,n) on basis of the particular spatial position x of the particular pixel and the particular motion vector b c being estimated for the particular pixel.
  • the decision unit 504 is arranged to determine the type of area in which the particular pixel is located. So, the decision unit 504 is arranged to check whether the two motion vector differences are smaller than the predetermined threshold T 0 . The type of area is then established as specified in Equations 9-11. The decision unit 504 is further arranged to check which motion vector or optionally motion vectors should be used to fetch the pixel values from the first or second image for the computation of the pixel value of the particular pixel of the intermediate image.
  • the value of the particular pixel is based on a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and the value of the particular pixel is based on a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
  • the value of the particular pixel is based on the first value of the first pixel and of the second value of the second pixel if the first motion vector difference and the second motion vector difference are smaller than the predetermined threshold T 0 .
  • the pixel value computation unit 506 is arranged to determine the actual value of the particular pixel. That might be a direct copy of a pixel value of the first or second image.
  • the value is based on an interpolation of multiple pixel values, in particular when the motion vectors are sub-pixel accurate.
  • the working of the pixel value determining unit 500 according to the invention is as described in connection with Fig. 3 and Fig. 4.
  • the motion vector compare unit 502, the decision unit 504, the pixel value computation unit 506, the three-frame motion estimator 512 and the two-frame motion estimator 514 may be implemented using one processor. Normally, these functions are performed under control of a software program product. During execution, normally the software program product is loaded into a memory, like a RAM, and executed from there.
  • the program may be loaded from a background memory, like a ROM, hard disk, or magnetically and/or optical storage, or may be loaded via a network like Internet.
  • an application specific integrated circuit provides the disclosed functionality.
  • the computation of motion vectors for the different temporal positions n -1 , n + a and n is preferably performed synchronously with the computation of the pixel values of the intermediate image. That means that a particular motion vector field, e.g. for temporal position n -1 does not necessarily correspond to the group of motion vectors which together represent the motion of all pixels of the corresponding original input video image. In other words, a motion vector field might correspond to a group of motion vectors which together represent the motion of a portion of the pixels, e.g. only 10 % of the pixels of the corresponding original input video image. Fig.
  • FIG. 6 schematically shows an embodiment of the image processing apparatus 600 according to the invention, comprising: receiving means 602 for receiving a signal corresponding to a sequence of video images; - a first motion estimator 512 for estimating a first motion vector field for a first one of the video images and a second motion vector field for a second one of the video images; a second motion estimator 514 for estimating a third motion vector field for an output image being temporarily located intermediate the first one of the video images and the second one of the video images; the pixel value determining unit 500, as described in connection with Fig. 5; and a display device 606 for displaying the output images of the pixel value determining unit 500.
  • the signal may be a broadcast signal received via an antenna or cable but may also be a signal from a storage device like a VCR (Video Cassette Recorder) or Digital Versatile Disk (DVD).
  • the signal is provided at the input connector 608.
  • the image processing apparatus 600 might e.g. be a TV.
  • the image processing apparatus 600 does not comprise the optional display device but provides the output images to an apparatus that does comprise a display device 606.
  • the image processing apparatus 600 might be e.g. a set top box, a satellite-tuner, a VCR player, a DVD player or recorder.
  • the image processing apparatus 600 comprises storage means, like a hard-disk or means for storage on removable media, e.g. optical disks.
  • the image processing apparatus 600 might also be a system being applied by a film-studio or broadcaster. It should be noted that the above-mentioned embodiments illustrate rather than limit the invention and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be constructed as limiting the claim.
  • the word 'comprising' does not exclude the presence of elements or steps not listed in a claim.
  • the word "a” or "an” preceding an element does not exclude the presence of a plurality of such elements.
  • the invention can be implemented by means of hardware comprising several distinct elements and by means of a suitable programmed computer. In the unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware.
  • the usage of the words first, second and third, etcetera do not indicate any ordering. These words are to be interpreted as names.

Abstract

A method of determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image is disclosed. The method comprises: computing a first motion vector difference on basis of a first (Dp) and second (Dpp) motion vector of a first motion vector field (D3 (x, n -1)) corresponding to the first image; computing a second motion vector difference on basis of a third ( Dn) and fourth (Dnn) motion vector of a second motion vector field (D3 (x, n)) corresponding to the second image; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.

Description

TEMPORAL INTERPOLATION OF A PIXEL ON BASIS OF OCCLUSION DETECTION
The invention relates to a method of determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image. The invention further relates to a pixel value determining unit for determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image. The invention further relates to an image processing apparatus comprising such a pixel value determining unit. The invention further relates to a computer program product to be loaded by a computer arrangement, comprising instructions to determine a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image.
With occlusion area is meant, an area which corresponds with a portion of a scene being captured, that is visible in an image of a series of consecutive images but that is not visible in a next or previous image. This is caused by the fact that foreground objects in the scene, which are located more close to the camera than background objects, can cover portions of the background objects. In the case of movement of e.g. the foreground objects some portions of the background objects get occluded, while other portions of the background objects get uncovered. Occlusion areas can cause artifacts in temporal interpolations. E.g. in the case of up-conversion, occlusion areas can result in so-called halos. In the case of up-conversion, motion vectors are estimated in order to compute up-converted output images by means of temporal interpolation. See e.g. the article "Robust motion-compensated video upconversion", by O. Ojo and G. de Haan, in IEEE Transactions on Consumer Electronics, Vol. 43, No. 4, Nov. 1997, pp. 1045-1056. For temporal interpolation, i.e. the computation of a new image intermediate two original input images, a number of pixels, which preferably relate to one and the same object are taken from consecutive images. This can not be done straightforward in the case of occlusion areas, because no related pixels can be found in both consecutive images. Other interpolation strategies are required, typically based on interpolation of pixel values of only a previous or next original image. It will be clear that the estimation of suitable motion vectors for occlusion areas is important.
It is an object of the invention to provide a method of the kind described in the opening paragraph which is relatively robust. This object of the invention is achieved in that the method comprises: computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference. The inventor has discovered that by means of comparing a first difference between two appropriately selected motion vectors of a first motion vector field and a second difference between two appropriately selected motion vectors of a second motion vector field, it is possible to determine which of the two respective images should be selected to fetch one or more pixel values for establishing the value of the particular pixel. Typically, the two selected motion vectors of one of the two motion vector fields are substantially mutually equal. This is an indication that the probability is relatively high that these two motion vectors are both related to the background or the same foreground object. In that case, the probability is relatively high that with one of these two motion vectors a pixel can be fetched which is appropriate for the intermediate image. In case of occlusion, typically these two motion vectors are both related to the background. Appropriate selection of the motion vectors is based on the particular spatial position of the particular pixel and on the particular motion vector being estimated for the particular pixel. Preferably, the second motion vector is selected from the first motion vector field on basis of the particular spatial position of the particular pixel and the first motion vector, and the fourth motion vector is selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the third motion vector. A value represents any type of human visible information, like luminance or color. An embodiment of the method according to the invention comprises establishing the value of the particular pixel on basis of the first value of the first pixel and of the second value of the second pixel if the first motion vector difference and the second motion vector difference are smaller than a predetermined threshold. Instead of selecting a pixel value from either of the two images, in this embodiment according to the invention the value of the particular pixel is optionally based on pixel values of both images. This depends on tests to verify whether the two motion vector differences are both smaller than a predetermined threshold. Preferably this testing is performed by means of comparing the largest of the two motion vector differences with the predetermined threshold. This testing is an implicit occlusion detection. If only one of the motion vector differences is smaller than the predetermined threshold then it is assumed that the particular spatial position is located in an occlusion area. The type of occlusion, i.e. covering or uncovering, depends on which one of the two is smaller than the predetermined threshold. However if both motion vector differences are smaller than the predetermined threshold then it is assumed that the particular spatial position is not located in an occlusion area. In the latter case, the value of the particular pixel is based on pixel values of both input images. An embodiment of the method according to the invention comprises establishing the value of the particular pixel by means of interpolation of the first value of the first pixel and a further value of a further pixel in a spatial neighborhood of the first pixel. In other words, sub-pixel accuracy is achieved in this embodiment according to the invention by means of interpolation of multiple pixel values. It is a further object of the invention to provide a pixel value determining unit of the kind described in the opening paragraph which is relatively robust. This object of the invention is achieved in that the pixel value determining unit comprises: 2005/022922
first computing means for computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; second computing means for computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing means for establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference. It is a further object of the invention to provide an image processing apparatus of the kind described in the opening paragraph comprising a pixel value determining unit which is relatively robust. This object of the invention is achieved in that the pixel value determining unit comprises: first computing means for computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; second computing means for computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing means for establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on 2005/022922
basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference. Optionally, the image processing apparatus further comprises a display device for displaying the output images. The image processing apparatus might e.g. be a TV, a set top box, a VCR (Video Cassette Recorder) player, a satellite tuner, a DVD (Digital Versatile Disk) player or recorder. It is a further object of the invention to provide computer program product of the kind described in the opening paragraph which is relatively robust. This object of the invention is achieved in that the computer program product, after being loaded, provides said processing means with the capability to carry out: computing a first motion vector difference on basis of a first and second motion vector of a first motion vector field corresponding to the first image, the first motion vector being selected from the first motion vector field on basis of a particular spatial position of the particular pixel and a particular motion vector being estimated for the particular pixel; computing a second motion vector difference on basis of a third and fourth motion vector of a second motion vector field corresponding to the second image, the third motion vector being selected from the second motion vector field on basis of the particular spatial position of the particular pixel and the particular motion vector being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference. Modifications of the pixel value determining unit and variations thereof may correspond to modifications and variations thereof of the image processing apparatus, the method and the computer program product, being described.
These and other aspects of the pixel value determining unit, of the image processing apparatus, of the method and of the computer program product, according to the invention will become apparent from and will be elucidated with respect to the implementations and embodiments described hereinafter and with reference to the accompanying drawings, wherein: Fig. 1 schematically shows movement of a foreground object and movement of the background in a scene; Fig. 2 schematically shows motion vector fields being estimated for the images shown in Fig. 1; Fig. 3 schematically shows the method according to the invention for two example pixels both located in occlusion areas; Fig. 4 schematically shows the method according to the invention for an example pixel which is not located in an occlusion area; Fig. 5 schematically shows an embodiment of the pixel value determining unit, according to the invention, being provided with three motion vector fields; and Fig. 6 schematically shows an embodiment of the image processing apparatus according to the invention. Same reference numerals are used to denote similar parts throughout the
Figures.
Fig. 1 schematically shows movement of a foreground object 118 and movement of the background in a scene. In Fig. 1 two original images 100 and 104 at temporal position n-\ and n are depicted. An object 118 within these images is moving in an upwards direction D g , which is denoted by the gray rectangles connected by the solid black lines 106 and 108. The long narrow dotted black lines 110 and 112 indicate the motion of the background Dbg , which is downwards. The hatched regions 114 and 116 indicate occlusion areas. A new image 102, which has to be created at temporal position n+cc with -1 < ≤ 0 is indicated by the dashed line 120. Fig. 2 schematically shows motion vector fields being estimated for the images shown in Fig. 1. i.e. the estimated motion vector fields are indicated by the arrows. A first motion vector field is estimated for the first 100 of the two original images and a second motion vector field is estimated for the second 104 of the two original images. These two motion vector fields are computed by means of a three-frame motion estimator. The first motion vector field is denoted by D3 (x, n - 1) . This first motion vector field is estimated between luminance frames F(x,n-2), F(x,n -l) and F(x,n). The second motion vector field is denoted by D3(x,n). This second motion vector field is estimated between luminance frames F(x,n-l), F(x,n) and F(x,n+l). Besides that an initial motion vector field has been computed for the temporal position n + a intermediate the first and second motion vector field. This initial motion vector field b2(x,n + a) is estimated between luminance frames F(x, n - 1) and F(x, n) . Note that the motion vector fields D3 (x , n - 1) and D3 (x, n) of the three-frame motion estimator substantially match with the foreground object 118, whereas the motion vector field D2 (x,n + a) of the two-frame motion estimator shows foreground vectors which extends into the background. According to the method of the invention an image being temporarily located intermediate a first and a second input image can be computed by using three motion vector fields D3 (x, n - 1) , D3 (x,n) and D2 (x, n + a) . That means that the back-ground vector is determined in occlusion areas and applied to fetch a pixel from one of the two input images. Fig. 3 schematically shows the method according to the invention for two example pixels at spatial positions x, and x2 , respectively. First consider the situation around the pixel at location x, . The motion vector Dc (xi ) from the motion vector field D2 (x, n + a) is used to fetch the motion vectors
Figure imgf000009_0002
and
Figure imgf000009_0001
from the first vector field D3(x,n-\) and the second motion vector field D3(x,n), respectively. Dp (x, ) = D3 (x, - (a + 1)5, (x, ), n - 1) (1) Dn (xι ) = D3(xl - abc (x, ), ) (2) This selection process is indicated by the thick black arrows 300 and 302, respectively. Both motion vectors Dp (xι ) and Dn (xi ) are background vectors. With Dp
Figure imgf000009_0003
the vector ) is fetched from D3 (x, n-l) and with vector
Figure imgf000009_0004
the vector Dm (xi ) is fetched from D3(x,n). JD/,/,(x1) = 53( 1 -(α + l)5P(x1),» -l) (3) bm (x, ) = D3 (x, - ab„ (x, ), n) (4)
This fetching is indicated by the thick black dotted arrows 301 and 303. It can be seen that bm (xi ) is also a background vector, but D (xi ) is a foreground vector. This means that b„(xι) and Dm(xi are substantially mutually equal, i.e. the first motion vector difference is below the predetermined threshold T0. However there is a significant difference between
Dp (xi ) and Dpp (xi ) , i.e. the second motion vector difference is larger than the predetermined threshold T0. Hence, the value of the pixel at spatial position^ of the intermediate image 102 will be based on a value of a pixel of the second image 104 at temporal position n , because the second motion vector difference is smaller than the first motion vector difference. A similar process can be used to establish the appropriate motion vector for the other pixel at location x2. The motion vector .Dc(x2) from the motion vector field D2 (x, n + a) is used to fetch the motion vectors Dp(x2 and 5„(x2) from the first vector field D3 (x, n - 1) and the second motion vector field D3 (x,n), respectively.
Figure imgf000010_0001
Dn(x2) = Dι (x2 -aDc{x2), ) (6)
This selection process is indicated by the thick black arrows 304 and 306, respectively. Here, the fetched motion vectors with Dp(x ) and n(x2) are background and foreground vectors, respectively. With
Figure imgf000010_0002
, the vector bpp
Figure imgf000010_0003
) is fetched from D3(x,n-l) and with vector Dn (xi ) , the vector b„„ (xi ) is fetched from D3 (x, n) . bpp(x2) = b3(x2 -(a + ϊ)DP(x2),n -ϊ) (7) m(x2) = b3(x2 -aDn(x2),n) (8)
This fetching is indicated by the thick black arrows 304 and 307. It can be seen that Dm (X2 ) and Dpp (xi ) are both background vectors. This means that Dp (x2 ) and D (x2 ) are substantially mutually equal, i.e. the second motion vector difference is below the predetermined threshold T0. However there is a significant difference between Dn(x2) and bm(x2), i.e. the first motion vector difference is larger than the predetermined threshold T0. Hence, the value of the pixel at spatial position x2 of the intermediate image 102 will be based on a value of a pixel of the first image 100 at temporal position n - 1 , because the first motion vector difference is smaller than the second motion vector difference. In general, occlusion is detected if:
Figure imgf000010_0004
In the case that occlusion is detected a classification is made into covering and uncovering. The pixel is in an uncovering area if JDP -DpPj > T0 A Dn - D„„ \\ ≤ Tn (10) and in a covering area if
Figure imgf000011_0001
So, the pixel at spatial position x, is located in an uncovering area and the pixel at spatial position x2 is located in a covering area. Fig. 4 schematically shows the method according to the invention for an example pixel x, which is not located in an occlusion area. The motion vector Dc (x3 ) from the motion vector field Dz (x, n + a) is used to fetch the motion vectors bp (x3 ) and bn (x3 ) from the first vector field D3(x,n-\) and the second motion vector field D3(x,n), respectively. bp(x3) = b3(x3 -(a + l)bc (x3),n -T) (12) bn(x3) = b3 (x3 -abc (x3),n) (13) This selection process is indicated by the thick black arrows 400 and 402, respectively. Both motion vectors Dp x ) and Dn (x2 ) are foreground vectors. With Dp (x3 ) , the vector
Dpp (x3 ) is fetched from D3 (x, n - 1) and with vector Dn (x3 ) , the vector Dm (x3 ) is fetched from D3(x,n). Dpp (x3 ) = Z>3 (X3 - (α + \)bP (x3 ), n - 1) (14) Dm (x3 ) = D (x3 - ab„ (x3 ), ή) (15)
This fetching is also indicated by the thick black arrows 400 and 402, respectively. It can be seen that ϊ>„„ (x3 ) and bpp (xi ) are also foreground vectors. This means that bn (x3 ) and
Dm (x3) are substantially mutually equal, i.e. the first motion vector difference is below the predetermined threshold T0. Besides that, Dp(x3) tnd bpp(x ) are substantially mutually equal, i.e. the second motion vector difference is below the predetermined threshold T0.
Hence, the value of the pixel at spatial position x3 of the intermediate image 102 will be based on a first value of a first pixel of the first image 100 at temporal position « - 1 and based on a second value of a second pixel of the second image 104 at temporal position n . Fig. 5 schematically shows an embodiment of the pixel value determining unit 500 according to the invention, being arranged to compute an image being temporarily located intermediate a first image and a second image, the intermediate image being located at temporal position n+a . The pixel value determining unit 500 is provided with three motion vector fields. The first b3{x,n -\) and second b3(x,n) of these provided motion vector fields are computed by means of a three-frame motion estimator 512. An example of a three-frame motion estimator 512 is disclosed in US 6,011,596. The third provided motion vector field D2 (x, n + a) is computed by means of a two-frame motion estimator 514. This two-frame motion estimator 508 is e.g. as specified in the article "True-Motion Estimation with 3-D Recursive Search Block Matching" by G. de Haan et al. in IEEE Transactions on circuits and systems for video technology, vol.3, no.5, October 1993, pages 368-379. The motion estimators 512 and 514 and the pixel value determining unit 500 are provided with an input video signal representing the first and second image and other input images. The pixel value determining unit 500 provides an output video signal representing the first and second image and the intermediate image at the output connector 518. The pixel value determining unit 500 comprises a control interface 520 for receiving a control signal representing a predetermined threshold T0. The pixel value determining unit 500 according to the invention comprises: a motion vector compare unit 502; a decision unit 504; and a pixel value computation unit 506. The motion vector compare unit 502 is arranged to fetch the corresponding motion vectors from the three motion vector fields b3 (x, -i) , b2(x,n + a) and b3 (x,n).
The motion vector compare unit 502 comprises: a first computing unit 508 for computing a first motion vector difference on basis of a first bp and second bpp motion vector of a first motion vector field b3(x,n-l) corresponding to the first image, the first motion vector bp being selected from the first motion vector field D3 (x, n-l) on basis of a particular spatial position x of the particular pixel and a particular motion vector bc being estimated for the particular pixel; and a second computing unit 510 for computing a second motion vector difference on basis of a third £>„ and fourth bm motion vector of a second motion vector field D3 (x,n) corresponding to the second image, the third motion vector £>„ being selected from the second motion vector field b3 (x,n) on basis of the particular spatial position x of the particular pixel and the particular motion vector bc being estimated for the particular pixel. The decision unit 504 is arranged to determine the type of area in which the particular pixel is located. So, the decision unit 504 is arranged to check whether the two motion vector differences are smaller than the predetermined threshold T0. The type of area is then established as specified in Equations 9-11. The decision unit 504 is further arranged to check which motion vector or optionally motion vectors should be used to fetch the pixel values from the first or second image for the computation of the pixel value of the particular pixel of the intermediate image. In general, the value of the particular pixel is based on a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and the value of the particular pixel is based on a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference. The value of the particular pixel is based on the first value of the first pixel and of the second value of the second pixel if the first motion vector difference and the second motion vector difference are smaller than the predetermined threshold T0. The pixel value computation unit 506 is arranged to determine the actual value of the particular pixel. That might be a direct copy of a pixel value of the first or second image. Preferably the value is based on an interpolation of multiple pixel values, in particular when the motion vectors are sub-pixel accurate. The working of the pixel value determining unit 500 according to the invention is as described in connection with Fig. 3 and Fig. 4. The motion vector compare unit 502, the decision unit 504, the pixel value computation unit 506, the three-frame motion estimator 512 and the two-frame motion estimator 514 may be implemented using one processor. Normally, these functions are performed under control of a software program product. During execution, normally the software program product is loaded into a memory, like a RAM, and executed from there. The program may be loaded from a background memory, like a ROM, hard disk, or magnetically and/or optical storage, or may be loaded via a network like Internet. Optionally an application specific integrated circuit provides the disclosed functionality. The computation of motion vectors for the different temporal positions n -1 , n + a and n is preferably performed synchronously with the computation of the pixel values of the intermediate image. That means that a particular motion vector field, e.g. for temporal position n -1 does not necessarily correspond to the group of motion vectors which together represent the motion of all pixels of the corresponding original input video image. In other words, a motion vector field might correspond to a group of motion vectors which together represent the motion of a portion of the pixels, e.g. only 10 % of the pixels of the corresponding original input video image. Fig. 6 schematically shows an embodiment of the image processing apparatus 600 according to the invention, comprising: receiving means 602 for receiving a signal corresponding to a sequence of video images; - a first motion estimator 512 for estimating a first motion vector field for a first one of the video images and a second motion vector field for a second one of the video images; a second motion estimator 514 for estimating a third motion vector field for an output image being temporarily located intermediate the first one of the video images and the second one of the video images; the pixel value determining unit 500, as described in connection with Fig. 5; and a display device 606 for displaying the output images of the pixel value determining unit 500. The signal may be a broadcast signal received via an antenna or cable but may also be a signal from a storage device like a VCR (Video Cassette Recorder) or Digital Versatile Disk (DVD). The signal is provided at the input connector 608. The image processing apparatus 600 might e.g. be a TV. Alternatively the image processing apparatus 600 does not comprise the optional display device but provides the output images to an apparatus that does comprise a display device 606. Then the image processing apparatus 600 might be e.g. a set top box, a satellite-tuner, a VCR player, a DVD player or recorder. Optionally the image processing apparatus 600 comprises storage means, like a hard-disk or means for storage on removable media, e.g. optical disks. The image processing apparatus 600 might also be a system being applied by a film-studio or broadcaster. It should be noted that the above-mentioned embodiments illustrate rather than limit the invention and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be constructed as limiting the claim. The word 'comprising' does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitable programmed computer. In the unit claims enumerating several means, several of these means can be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words are to be interpreted as names.

Claims

CLAIMS:
1. A method of determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image, the method comprising: computing a first motion vector difference on basis of a first (bp ) and second ( D ) motion vector of a first motion vector field ( D3 (x, n - 1) ) corresponding to the first image, the first motion vector ( D ) being selected from the first motion vector field ( b3 (x, n - 1) ) on basis of a particular spatial position ( ) of the particular pixel and a particular motion vector ( Dc ) being estimated for the particular pixel; computing a second motion vector difference on basis of a third ( bn ) and fourth ( bm ) motion vector of a second motion vector field ( b3 (x, n)) corresponding to the second image, the third motion vector (bn ) being selected from the second motion vector field ( D3 (x, n ) ) on basis of the particular spatial position ( x ) of the particular pixel and the particular motion vector ( bc) being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
2. A method of determining a value for a particular pixel as claimed in claim 1 , wherein the second motion vector (bpp ) is selected from the first motion vector field ( D (x, n - 1 ) ) on basis of the particular spatial position ( ) of the particular pixel and the first motion vector ( bp ).
3. A method of determining a value for a particular pixel as claimed in claim 2, wherein the fourth motion vector (Dm) is selected from the second motion vector field ( D3 (x, n) ) on basis of the particular spatial position ( ) of the particular pixel and the third motion vector ( D„ ).
4. A method of determining a value for a particular pixel as claimed in claim 1 , comprising establishing the value of the particular pixel on basis of the first value of the first pixel and of the second value of the second pixel if the first motion vector difference and the second motion vector difference are smaller than a predetermined threshold.
5. A method of determining a value for a particular pixel as claimed in claim 1, comprising establishing the value of the particular pixel by means of interpolation of the first value of the first pixel and a further value of a further pixel in a spatial neighborhood of the first pixel.
6. A pixel value determining unit (500) for determining a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image, the pixel value determining unit comprising: first computing means (508) for computing a first motion vector difference on basis of a first ( bp ) and second ( bpp ) motion vector of a first motion vector field ( D3 (x, n -l) ) corresponding to the first image, the first motion vector ( bp ) being selected from the first motion vector field ( D3 (x, n - 1) ) on basis of a particular spatial position ( ) of the particular pixel and a particular motion vector ( bc ) being estimated for the particular pixel; - second computing means (510) for computing a second motion vector difference on basis of a third ( Z)„ ) and fourth ( Dm ) motion vector of a second motion vector field ( D (x, n) ) corresponding to the second image, the third motion vector ( D„ ) being selected from the second motion vector field (b3 {x,n)) on basis of the particular spatial position ( x ) of the particular pixel and the particular motion vector ( c ) being estimated for the particular pixel; and establishing means (504) for establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
7. An image processing apparatus (600) comprising: receiving means (602) for receiving a signal corresponding to a sequence of video images; - motion estimation means (512) for estimating a first motion vector field for a first one of the video images and a second motion vector field for a second one of the video images; and a pixel value detennining unit (500) for determining a value for a particular pixel of a particular image being temporarily located intermediate the first one of the video images and the second one of the video images, the pixel value determining unit comprising: - first computing means (508) for computing a first motion vector difference on basis of a first ( D ) and second ( D ) motion vector of a first motion vector field ( D3 (x, n - 1) ) corresponding to the first image, the first motion vector ( Dp ) being selected from the first motion vector field ( D3 (x, n - 1) ) on basis of a particular spatial position ( x ) of the particular pixel and a particular motion vector ( c ) being estimated for the particular pixel; - second computing means (510) for computing a second motion vector difference on basis of a third (Z)„ ) and fourth ( b,m) motion vector of a second motion vector field (D3 (x,n)) corresponding to the second image, the third motion vector (Z)„ ) being selected from the second motion vector field {D3 (x,n)) on basis of the particular spatial position ( x ) of the particular pixel and the particular motion vector (£>c ) being estimated for the particular pixel; - establishing means (504) for establishing the value of the particular pixel on basis of a first value of a first pixel of the first one of the video images if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second one of the video images if the second motion vector difference is smaller than the first motion vector difference.
8. An image processing apparatus (600) as claimed in claim 7, further comprising a display device (606) for displaying the output images.
9. An image processing apparatus (600) as claimed in claim 8, being a TV.
10. A computer program product to be loaded by a computer arrangement, comprising instructions to determine a value for a particular pixel of a particular image being temporarily located intermediate a first image and a second image, the computer program product, after being loaded, providing said processing means with the capability to carry out: computing a first motion vector difference on basis of a first ( bp ) and second ( D ) motion vector of a first motion vector field ( D3 (x, n - 1) ) corresponding to the first image, the first motion vector (bp ) being selected from the first motion vector field (b3(x,n -l)) on basis of a particular spatial position (x) of the particular pixel and a particular motion vector ( c ) being estimated for the particular pixel; computing a second motion vector difference on basis of a third ( Dn ) and fourth (bm) motion vector of a second motion vector field (D3 (x,n)) corresponding to the second image, the third motion vector ( bn ) being selected from the second motion vector field D3(x,n)) on basis of the particular spatial position (x) of the particular pixel and the particular motion vector ( Dc) being estimated for the particular pixel; and establishing the value of the particular pixel on basis of a first value of a first pixel of the first image if the first motion vector difference is smaller than the second motion vector difference and establishing the value of the particular pixel on basis of a second value of a second pixel of the second image if the second motion vector difference is smaller than the first motion vector difference.
PCT/IB2004/051530 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection WO2005022922A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006524499A JP2007504700A (en) 2003-09-02 2004-08-23 Temporal interpolation of pixels based on occlusion detection
CN2004800251644A CN1846445B (en) 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection
US10/569,681 US7536031B2 (en) 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection
KR1020067004297A KR101135454B1 (en) 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection
EP04769840.2A EP1665808B1 (en) 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03103269 2003-09-02
EP03103269.1 2003-09-02

Publications (1)

Publication Number Publication Date
WO2005022922A1 true WO2005022922A1 (en) 2005-03-10

Family

ID=34259238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/051530 WO2005022922A1 (en) 2003-09-02 2004-08-23 Temporal interpolation of a pixel on basis of occlusion detection

Country Status (6)

Country Link
US (1) US7536031B2 (en)
EP (1) EP1665808B1 (en)
JP (1) JP2007504700A (en)
KR (1) KR101135454B1 (en)
CN (1) CN1846445B (en)
WO (1) WO2005022922A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006137020A2 (en) * 2005-06-22 2006-12-28 Koninklijke Philips Electronics N.V. Video signal compression
WO2007063465A3 (en) * 2005-11-30 2007-11-15 Koninkl Philips Electronics Nv Motion vector field correction
JP2009534900A (en) * 2006-04-19 2009-09-24 エヌエックスピー ビー ヴィ Interpolated image generation method and system
WO2010091937A1 (en) * 2009-02-12 2010-08-19 Zoran (France) Temporal video interpolation method with 2-frame occlusion handling
EP2224740A1 (en) 2009-02-27 2010-09-01 Nxp B.V. Detecting occlusion
EP2224738A1 (en) 2009-02-27 2010-09-01 Nxp B.V. Identifying occlusions
CN101826211A (en) * 2009-03-05 2010-09-08 索尼株式会社 Be used to provide the method and system of reliable motion vectors
CN102263956A (en) * 2011-07-21 2011-11-30 福建星网视易信息系统有限公司 Mobile detecting method based on motion vector
EP2383992A3 (en) * 2010-04-30 2013-10-16 Vestel Elektronik Sanayi ve Ticaret A.S. Method and apparatus for the detection and classification of occlusion regions
US9699475B2 (en) 2009-02-12 2017-07-04 Qualcomm Incorporated Video sequence analysis for robust motion estimation

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7931699B2 (en) * 2002-12-27 2011-04-26 Hbi Branded Apparel Enterprises, Llc Compositions for spray dyeing cellulosic fabrics
US7931700B2 (en) * 2002-12-27 2011-04-26 Hbi Branded Apparel Enterprises, Llc Composition for dyeing of cellulosic fabric
US8086036B2 (en) 2007-03-26 2011-12-27 International Business Machines Corporation Approach for resolving occlusions, splits and merges in video images
JP5023780B2 (en) * 2007-04-13 2012-09-12 ソニー株式会社 Image processing apparatus, image processing method, and program
US7990476B2 (en) * 2007-09-19 2011-08-02 Samsung Electronics Co., Ltd. System and method for detecting visual occlusion based on motion vector density
JP4670918B2 (en) * 2008-08-26 2011-04-13 ソニー株式会社 Frame interpolation apparatus and frame interpolation method
CN101778292B (en) * 2009-01-08 2013-07-17 晨星软件研发(深圳)有限公司 Image processing method and device thereof
TWI490819B (en) * 2009-01-09 2015-07-01 Mstar Semiconductor Inc Image processing method and apparatus thereof
EP2390838B1 (en) * 2009-01-23 2019-10-02 Nec Corporation Image identifier extracting apparatus
KR101353104B1 (en) * 2009-04-14 2014-01-17 닛본 덴끼 가부시끼가이샤 Image signature extraction device
US8254439B2 (en) * 2009-05-08 2012-08-28 Mediatek Inc. Apparatus and methods for motion vector correction
JP5287509B2 (en) * 2009-05-28 2013-09-11 富士通株式会社 Frame interpolation apparatus, frame interpolation method, and frame interpolation program
KR101355258B1 (en) * 2009-06-16 2014-01-27 닛본 덴끼 가부시끼가이샤 Image signature matching device
US8487981B2 (en) * 2009-09-04 2013-07-16 Broadcom Corporation Method and system for processing 2D/3D video
JP4692913B2 (en) * 2009-10-08 2011-06-01 日本ビクター株式会社 Frame rate conversion apparatus and method
US9659353B2 (en) * 2010-03-01 2017-05-23 Stmicroelectronics, Inc. Object speed weighted motion compensated interpolation
US9013584B2 (en) * 2010-03-01 2015-04-21 Stmicroelectronics, Inc. Border handling for motion compensated temporal interpolator using camera model
JP4991890B2 (en) * 2010-03-01 2012-08-01 株式会社東芝 Interpolated frame generation apparatus and method
JP4735779B2 (en) * 2011-01-12 2011-07-27 日本ビクター株式会社 Interpolated pixel data generation apparatus and method
GB201113527D0 (en) * 2011-08-04 2011-09-21 Imagination Tech Ltd External vectors in a motion estimation system
US9148622B2 (en) 2011-12-29 2015-09-29 Hong Kong Applied Science and Technology Research Institute Company, Limited Halo reduction in frame-rate-conversion using hybrid bi-directional motion vectors for occlusion/disocclusion detection
KR101908388B1 (en) 2012-07-19 2018-10-17 삼성전자 주식회사 Occlusion reconstruction apparatus and method, and occlusion reconstructing video decoding apparatus
KR101975206B1 (en) * 2012-11-23 2019-05-07 삼성전자주식회사 A method and apparatus for processing image data corresponding to successive motions of objects in time
CN110390645B (en) * 2018-04-23 2024-04-16 康耐视公司 System and method for improved 3D data reconstruction for stereoscopic transient image sequences
US11388432B2 (en) * 2018-12-10 2022-07-12 Qualcomm Incorporated Motion estimation through input perturbation
WO2023174546A1 (en) * 2022-03-17 2023-09-21 Dream Chip Technologies Gmbh Method and image processor unit for processing image data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442203B1 (en) * 1999-11-05 2002-08-27 Demografx System and method for motion compensation and frame rate conversion
WO2003041416A1 (en) * 2001-11-07 2003-05-15 Koninklijke Philips Electronics N.V. Occlusion detector for and method of detecting occlusion areas

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2087946A1 (en) 1991-05-24 1992-11-25 Michael Burl Video image processing
JP2919211B2 (en) * 1992-12-25 1999-07-12 日本電気株式会社 Video frame interpolation method and coding / decoding method
JP3679426B2 (en) * 1993-03-15 2005-08-03 マサチューセッツ・インスティチュート・オブ・テクノロジー A system that encodes image data into multiple layers, each representing a coherent region of motion, and motion parameters associated with the layers.
GB2279531B (en) * 1993-06-24 1997-07-16 Sony Uk Ltd Motion compensated image interpolation
JPH07336650A (en) * 1994-06-06 1995-12-22 Nippon Hoso Kyokai <Nhk> Field interpolation method
KR100220678B1 (en) * 1995-12-29 1999-09-15 전주범 Method for rectifying channel errors in an image signal transmitted from a block-based encoder
JPH09214899A (en) * 1996-01-31 1997-08-15 Nippon Hoso Kyokai <Nhk> Image prediction processing method an its device
JP2002523985A (en) 1998-08-21 2002-07-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Problem area localization in image signals
US6594313B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
US6487304B1 (en) * 1999-06-16 2002-11-26 Microsoft Corporation Multi-view approach to motion and stereo
CN100504925C (en) * 2000-05-18 2009-06-24 Nxp股份有限公司 Method and device for detecting motion between images and image display device
US6810081B2 (en) * 2000-12-15 2004-10-26 Koninklijke Philips Electronics N.V. Method for improving accuracy of block based motion compensation
KR100875743B1 (en) * 2001-01-16 2008-12-26 엔엑스피 비 브이 How to reduce the halo effect in motion compensated interpolation
WO2003067523A2 (en) * 2002-02-05 2003-08-14 Koninklijke Philips Electronics N.V. Estimating a motion vector of a group of pixels by taking account of occlusion
DE60312981D1 (en) * 2003-08-26 2007-05-16 St Microelectronics Srl Method and system for canceling the interlacing process during the presentation of video images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442203B1 (en) * 1999-11-05 2002-08-27 Demografx System and method for motion compensation and frame rate conversion
WO2003041416A1 (en) * 2001-11-07 2003-05-15 Koninklijke Philips Electronics N.V. Occlusion detector for and method of detecting occlusion areas

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KAWAGUCHI K ET AL: "Frame rate up-conversion considering multiple motion", IMAGE PROCESSING, 1997. PROCEEDINGS., INTERNATIONAL CONFERENCE ON SANTA BARBARA, CA, USA 26-29 OCT. 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 26 October 1997 (1997-10-26), pages 727 - 730, XP010254274, ISBN: 0-8186-8183-7 *
MERTENS M J W ET AL: "MOTION VECTOR FIELD IMPROVEMENT FOR PICTURE RATE CONVERSION WITH REDUCED HALO", PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 4310, 2001, pages 352 - 362, XP008025129, ISSN: 0277-786X *
PELAGOTTI A ET AL: "A new algorithm for high quality video format conversion", PROCEEDINGS 2001 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. ICIP 2001. THESSALONIKI, GREECE, OCT. 7 - 10, 2001, INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 3. CONF. 8, 7 October 2001 (2001-10-07), pages 375 - 378, XP010563776, ISBN: 0-7803-6725-1 *
YEN-KUANG CHEN ET AL: "Frame-rate up-conversion using transmitted true motion vectors", MULTIMEDIA SIGNAL PROCESSING, 1998 IEEE SECOND WORKSHOP ON REDONDO BEACH, CA, USA 7-9 DEC. 1998, PISCATAWAY, NJ, USA,IEEE, US, 7 December 1998 (1998-12-07), pages 622 - 627, XP010318331, ISBN: 0-7803-4919-9 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006137020A3 (en) * 2005-06-22 2007-05-03 Koninkl Philips Electronics Nv Video signal compression
WO2006137020A2 (en) * 2005-06-22 2006-12-28 Koninklijke Philips Electronics N.V. Video signal compression
WO2007063465A3 (en) * 2005-11-30 2007-11-15 Koninkl Philips Electronics Nv Motion vector field correction
US8406305B2 (en) 2006-04-19 2013-03-26 Entropic Communications, Inc. Method and system for creating an interpolated image using up-conversion vector with uncovering-covering detection
JP2009534900A (en) * 2006-04-19 2009-09-24 エヌエックスピー ビー ヴィ Interpolated image generation method and system
WO2010091937A1 (en) * 2009-02-12 2010-08-19 Zoran (France) Temporal video interpolation method with 2-frame occlusion handling
US9042680B2 (en) 2009-02-12 2015-05-26 Zoran (France) S.A. Temporal video interpolation method with 2-frame occlusion handling
US9699475B2 (en) 2009-02-12 2017-07-04 Qualcomm Incorporated Video sequence analysis for robust motion estimation
EP2224738A1 (en) 2009-02-27 2010-09-01 Nxp B.V. Identifying occlusions
WO2010097470A1 (en) 2009-02-27 2010-09-02 Trident Microsystems (Far East) Ltd. Detecting occlusion
US8373796B2 (en) 2009-02-27 2013-02-12 Entropic Communications Detecting occlusion
EP2224740A1 (en) 2009-02-27 2010-09-01 Nxp B.V. Detecting occlusion
CN101826211A (en) * 2009-03-05 2010-09-08 索尼株式会社 Be used to provide the method and system of reliable motion vectors
EP2227012A1 (en) * 2009-03-05 2010-09-08 Sony Corporation Method and system for providing reliable motion vectors
US8934534B2 (en) 2009-03-05 2015-01-13 Sony Corporation Method and system for providing reliable motion vectors
EP2383992A3 (en) * 2010-04-30 2013-10-16 Vestel Elektronik Sanayi ve Ticaret A.S. Method and apparatus for the detection and classification of occlusion regions
CN102263956A (en) * 2011-07-21 2011-11-30 福建星网视易信息系统有限公司 Mobile detecting method based on motion vector

Also Published As

Publication number Publication date
US7536031B2 (en) 2009-05-19
EP1665808A1 (en) 2006-06-07
CN1846445A (en) 2006-10-11
US20070002058A1 (en) 2007-01-04
KR20060121856A (en) 2006-11-29
EP1665808B1 (en) 2016-05-25
CN1846445B (en) 2010-09-29
JP2007504700A (en) 2007-03-01
KR101135454B1 (en) 2012-04-13

Similar Documents

Publication Publication Date Title
US7536031B2 (en) Temporal interpolation of a pixel on basis of occlusion detection
US7519230B2 (en) Background motion vector detection
US20070092111A1 (en) Motion vector field re-timing
US7949205B2 (en) Image processing unit with fall-back
KR20040050906A (en) Device and method for motion estimation
US20050226462A1 (en) Unit for and method of estimating a motion vector
KR100976718B1 (en) Method and apparatus for field rate up-conversion
US20050163355A1 (en) Method and unit for estimating a motion vector of a group of pixels
US8102915B2 (en) Motion vector fields refinement to track small fast moving objects
EP1654703B1 (en) Graphics overlay detection
US7974342B2 (en) Motion-compensated image signal interpolation using a weighted median filter

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480025164.4

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004769840

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006524499

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007002058

Country of ref document: US

Ref document number: 10569681

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067004297

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004769840

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067004297

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10569681

Country of ref document: US