Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A half pixel motion estimator, wherein a first search window having a constant size is formed with pixels stored in a previous buffer, and a first motion estimation is performed on the first window generating an integer vector and absolute errors, and a second search window having a constant size is formed by centering candidate blocks determined by an integer pixel motion vector, a second motion vector is outputted by comparing pixels of a reference block having a constant size to half pixels generated by interpolating the integer pixels in the second search window. The half pixel motion estimator comprises an interpolator, which performs an operation for couples of pixels inputted at a previous clock and couples of pixels inputted at a current clock to generate half pixels, in which the pixel couples in horizontal direction on the second search window are sequentially inputted in vertical direction; and a half pixel motion estimating unit. In the half pixel motion estimating unit:...

InventorJeong-Mo Ahnn
Original AssigneeDaewoo Electronics Co., Ltd.
Current U.S. Classification375/240.17; 348/699; 375/240.24; 375/E07.26
International Classification: H04N 732

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4937666Dec 4, 1989Jun 26, 1990Bell Communications Research, Inc.Circuit implementation of block matching algorithm with fractional precision
US5355168Oct 29, 1992Oct 11, 1994Victor Company of Japan, Ltd.High precision motion compensation apparatus
US5398079Jan 27, 1993Mar 14, 1995General Instrument CorporationHalf-pixel interpolation for a motion compensated digital video system
US5461423Nov 4, 1993Oct 24, 1995Sony CorporationApparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal
US5488419Mar 15, 1993Jan 30, 1996Matsushita Electric Industrial Co., Ltd.Video compression coding and decoding with automatic sub-pixel frame/field motion compensation
US5489949Dec 13, 1993Feb 6, 1996Samsung Electronics Co., Ltd.Method and apparatus for motion estimation
US5493344May 9, 1994Feb 20, 1996Samsung Electronics Co., Ltd.Motion vector estimation method and apparatus having half-pixel accuracy
US5510856Dec 30, 1994Apr 23, 1996Daewoo Electronics Co., Ltd.Apparatus for determining motion vectors
US5583580Sep 18, 1995Dec 10, 1996Daewoo Electronics Co., Ltd.Method and apparatus for detecting motion vectors based on hierarchical motion estimation
US5587741Jul 21, 1994Dec 24, 1996Daewoo Electronics Co., Ltd.Apparatus and method for detecting motion vectors to half-pixel accuracy

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6031582Dec 19, 1997Feb 29, 2000Kabushiki Kaisha ToshibaSystem and method for estimating motion vector in macro block
US6473461Apr 4, 2000Oct 29, 2002Microsoft CorporationHalf-pixel motion estimation in motion video signal encoding
US6996181Mar 18, 2002Feb 7, 2006Electronics and Telecommunications Research InstituteMotion estimation method by employing a stochastic sampling technique
US7302648Jul 10, 2002Nov 27, 2007Apple Inc.Method and apparatus for resizing buffered windows
US7616689Oct 1, 2004Nov 10, 2009Tandberg Telecom ASCalculation of interpolated pixel values
US7792191Mar 8, 2002Sep 7, 2010Lambert Everest Ltd.Device and method for performing half-pixel accuracy fast search in video coding

Claims

1. A half pixel motion estimator, wherein a first motion estimation is performed on a first search window formed onto pixels stored in a previous frame buffer to generate an integer pixel motion vector and a first absolute error, and a second motion estimation is performed by comparing pixels of a reference block with half pixels generated by interpolating integer pixels on a second search window formed around candidate blocks determined by the integer pixel motion vector to generate a final motion vector, said half pixel motion estimator comprising:

an interpolator for receiving a couple of pixels adjacent in horizontal direction on the second search window in a sequentially inputted vertical direction, and generating the half pixels from a couple of pixels received at a previous clock and a couple of pixels received at a current clock; and
half pixel motion estimating means for receiving the pixels of the reference block and one vertical line delayed pixels of the reference block in vertical direction sequentially, obtaining a second absolute errors from the half pixels provided from said interpolator and the pixels received therein, comparing the first absolute error and the second absolute errors, and providing the sum of the integer pixel motion vector and a half pixel motion vector having a minimum absolute error or the integer pixel motion vector as the final motion vector according to the comparison result,
wherein said interpolator comprises:
delaying means for latching the couple of pixels received from the second search window at the previous clock in order to delay the couple of pixels by one clock;
diagonal half pixel generating means for generating half pixels of diagonal direction by adding and shifting twice the couple of pixels delayed in said delaying means, the couple of pixels received at the current clock, and a certain binary digit;
vertical half pixel generating means for generating half pixels of vertical direction by adding and shifting once a second pixel among the couple of pixels delayed in said delaying means, a second pixel among the couple of pixels received at the current clock, and a certain binary digit; and
horizontal half pixel generating means for generating half pixels of horizontal direction by adding and shifting once a couple of pixels received at the current clock, and a certain binary digit.

2. The half pixel motion estimator of claim 1, wherein the delaying means is embodied with a latch.

3. The half pixel motion estimator of claim 1, wherein said diagonal half pixel generating means comprises an adder for adding four pixels of the second search window to a binary digit "10"; a shifter for shifting twice the outputs from the adder; and a latch for temporarily storing outputs from the shifter.

4. The half pixel motion estimator of claim 1, wherein said vertical half pixel generating means comprises an adder for adding two pixels of the second search window to a binary digit "1"; a shifter for shifting once the outputs from the adder; and a latch for temporarily storing outputs from the shifter.

5. The half pixel motion estimator of claim 1, wherein said horizontal half pixel generating means comprises an adder for adding two pixels of the second search window to a binary digit "1"; a shifter for shifting once the outputs from the adder; and a latch for temporarily storing outputs from the shifter.

6. The half pixel motion estimator of claim 1, wherein said half pixel motion estimating means comprises:

first delaying means for delaying a current pixel of the reference block by one clock;
second delaying means for delaying the pixels of the one vertical line-delayed pixels of the reference block by one clock;
a plurality of processing elements for receiving the current pixel of the reference block, an one clock delayed pixels from the first delaying means, the one vertical line delayed pixels of the reference block, an one vertical line and one clock delayed pixels from the second delaying means, and outputs from the interpolator, and providing absolute errors for each pixel therefrom;
a plurality of accumulators for accumulating and adding the absolute errors from said processing elements, and storing the second absolute errors for the half pixel motion vector therein when operations for whole pixels of the reference block are completed; and
comparing and selecting means for comparing respectively the second absolute errors outputted from said accumulators to the first absolute error generated by a first motion estimation, outputting the integer pixel motion vector if the first absolute error generated by the first motion estimation is the minimum absolute error, and outputting the sum of the half pixel motion vector and integer pixel motion vector if one of the second absolute errors from said accumulators is the minimum absolute error.

7. The half pixel motion estimator of claim 6, wherein said first delaying means is embodied with a latch.

8. The half pixel motion estimator of claim 6, wherein said second delaying means is embodied with a latch.

9. The half pixel motion estimator of claim 6, wherein said processing elements comprise:

a first processing element for outputting an absolute error of the pixels by performing operation for one clock-delayed current pixel of the reference block and the half pixels of diagonal direction inputted at the same clock;
a second processing element for outputting an absolute error of the pixels by performing operation for one clock-delayed current pixel of the reference block and the half pixels of vertical direction inputted at the same clock;
a third processing element for outputting an absolute error of the pixels by performing operation for the current pixel of the reference block and the half pixels of diagonal direction inputted at the same clock;
a fourth processing element for outputting an absolute error of the pixels by performing operation for the current pixel of the reference block and the half pixels of vertical direction inputted at the same clock;
a fifth processing element for outputting an absolute error of the pixels by performing operation for the current pixel of the reference block and the half pixels of horizontal direction inputted at the same clock;
a sixth processing element for outputting an absolute error of the pixels by performing operation for one vertical line-delayed pixel of the reference block and the half pixels of diagonal direction inputted at the same clock;
a seventh processing element for outputting an absolute error of the pixels by performing operation for one vertical line-delayed pixel of the reference block and the half pixels of horizontal direction inputted at the same clock; and
an eighth processing element for outputting an absolute error of the pixels by performing operation for one vertical line-delayed and one clock-delayed pixel of the reference block and the half pixels of diagonal direction inputted at the same clock.

10. The half pixel motion estimator of claim 9, wherein said processing elements comprise a subtracter for subtracting the pixels of the reference block and the half pixels from the interpolator to generate errors; a latch for temporarily storing said errors; and an absolute value calculator for generating absolute errors for stored in the latch errors.