US20100215106A1 - Efficient multi-frame motion estimation for video compression - Google Patents

Efficient multi-frame motion estimation for video compression Download PDF

Info

Publication number
US20100215106A1
US20100215106A1 US12/775,312 US77531210A US2010215106A1 US 20100215106 A1 US20100215106 A1 US 20100215106A1 US 77531210 A US77531210 A US 77531210A US 2010215106 A1 US2010215106 A1 US 2010215106A1
Authority
US
United States
Prior art keywords
macroblock
motion estimation
pixel
computing device
macroblocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/775,312
Inventor
Oscar Chi-Lim Au
Andy Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hong Kong University of Science and Technology HKUST
Original Assignee
Hong Kong University of Science and Technology HKUST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hong Kong University of Science and Technology HKUST filed Critical Hong Kong University of Science and Technology HKUST
Priority to US12/775,312 priority Critical patent/US20100215106A1/en
Publication of US20100215106A1 publication Critical patent/US20100215106A1/en
Assigned to THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY reassignment THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AU, OSCAR CHI-LIM
Assigned to THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY reassignment THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AU, OSCAR CHI-LIM, CHANG, ANDY
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • This invention relates generally to digital signal compression, coding and representation, and more particularly to a video compression, coding and representation system using multi-frame motion estimation and having both device and method aspects. It further relates to a computer program product, such as a recording medium, carrying program instructions readable by a computing device to cause the computing device to carry out a method according to the invention.
  • the later MPEG-4 was more advanced than MPEG-2 and can achieve high quality video at lower bit rate, making it very suitable for video streaming over internet, digital wireless network (e.g. 3G network), multimedia messaging service (MMS standard from 3GPP), etc. MPEG-4 will be included in the next generation DVD players.
  • the ITU-T H.261/3/4 standards are designed for low-delay video phone and video conferencing systems.
  • the later H.263 is very successful and is widely used in modern day video conferencing systems, and in video streaming in broadband and in wireless network, including the multimedia messaging service (MMS) in 2.5G and 3G networks and beyond.
  • H.264 also called MPEG-4 Version 10, or MPEG-4 AVC
  • MPEG-4 AVC MPEG-4 Advance Video Coding
  • AVS Audio Visual Standard
  • H.264 has superior objective and subjective video quality over MPEG-1/2/4 and H.261/3.
  • the basic encoding algorithm of H.264 is similar to H.263 or MPEG-4 except that integer 4 ⁇ 4 discrete cosine transform (DCT) is used instead of the traditional 8 ⁇ 8 DCT and there are additional features include intra prediction mode for I-frames, multiple block sizes and multiple reference frames for motion estimation/compensation, quarter pixel accuracy for motion estimation, in-loop deblocking filter, context adaptive binary arithmetic coding, etc.
  • DCT discrete cosine transform
  • H.264 allows the encoder to store five reference pictures for motion estimation (ME) and motion compensation (MC).
  • ME motion estimation
  • MC motion compensation
  • the processing time increases linearly with the number of reference pictures used. This is because motion estimation needs to be performed for each reference frame in a simple implementation. This full selection process (the examination of all five reference frames) provides the best coding result but the five-fold increase in computation is very high.
  • the present invention seeks to provide new and useful multi-frame motion estimation techniques for any current frame in H.264 or MPEG-4 AVC or AVS or related video coding.
  • this region may or may not be of the same size as the said region in the first image
  • combining all the said motion-compensated regions to form a second image object (predictive frame) of the same size as the first image object
  • forming a third image object (residue frame) of the same size as the first image object by subtracting the second image object (predictive frame) from the first image object (original current frame).
  • the present invention provides for the intelligent selection of the reference image objects, and the intelligent selection of the relative coordinates. Such intelligent selection allows us to perform the mismatch calculation on a greatly reduced number of candidate reference frames and candidate relative locations (motion vectors).
  • a class is defined for each region in the first image object; for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object, the selection of the reference image objects and the selection of relative coordinates in the said reference image objects for the computation of the mismatch measure depend on the class of the said region in the first image and the classes of the said reference image objects, and after the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen.
  • a class is defined for each region in the first image object; for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object, among all the reference image objects with the same or similar class, only a number of (e.g. one) image objects is selected for the computation of the mismatch measure; depending on the relationship between the class of the said region in the first image object and the class of any said selected reference image object, a number of the relative coordinates in the search area of the said selected reference image object are selected for mismatch computation. Complete or partial mismatch computations are both possible. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen. This may be followed by an optional local search at integer-pixel or sub-pixel precision.
  • the selected image object within a class is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • a class is defined for each of the reference image objects (a class is defined for each reference frame); for each region in the first image object (e.g. frame N), a second image object (e.g.
  • frame N-1 is defined and a class is defined for the second image object; for each region in the first image object, a class is defined for the said region according to the class of the second image object, and the relative coordinate in the search area in the second image object achieving the least mismatch measure between the first image object and the second image object; for each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said reference image objects; and after the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen.
  • the second image is the immediate past image object.
  • a class is defined for each of the reference image objects; for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a class is defined for the second image object; a search region is defined in the second image and a number of relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computations are both possible.
  • a class is defined for the said region according to the class of the second image object, and one or more of the selected relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object.
  • the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said reference image objects.
  • one or more relative coordinates in the search regions of the reference image objects are chosen.
  • the second image is the immediate past image object.
  • a class is defined for each of the reference image objects; for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a class is defined for the second image object; a search region is defined in the second image and a number of relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computation are both possible.
  • a class is defined according to the class of the second image object, and one or more of the selected relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object.
  • the second image is the immediate past image object.
  • the selected image object is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • a class is defined for each region in the first image object; for each region in the first image object, and for each relative coordinate in the corresponding search region in any of the reference image objects, a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame); for each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said relative coordinate in the said reference image objects. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen.
  • a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame); for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a search region is defined in the second image object and a class is defined for all the relative coordinates in the said search region in the second image object; a number of the relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computations are both possible.
  • a class is defined according to (i) one or more relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object, and (ii) the classes of the said relative coordinates in the second image object; For each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said relative coordinate in the said reference image objects.
  • the said second image is the immediate past image object.
  • a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame).
  • a second image object e.g.
  • frame N-1 is defined and a search region is defined in the second image object and a class is defined for all the relative coordinates in the said search region in the second image object; for each region in the first image object, a class is defined according to (i) a number of relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object, and (ii) the classes of the said relative coordinate in the second image object; (more than one relative coordinates used); for each region in the first image object, among all the reference image objects with the same class, only one image object is selected for the computation of the mismatch measure.
  • a number of the relative coordinates in the search area of the said selected reference image object are selected for mismatch computation. Complete or partial mismatch computations are both possible.
  • one or more relative coordinates in the search regions of the reference image objects are chosen.
  • the said second image in is the immediate past image object.
  • the selected image object within a class is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • the classification of regions can be updated or reset because classification errors can occur in some classification methods and such errors can accumulate over time.
  • the updating or resetting can be performed periodically or when certain situations occur.
  • the class of the said region, of the said second image object and the said reference image objects are updated, after the mismatch measure computation, depending on the behavior of the computed mismatch measure.
  • the classes can be pixel-location classes such as “integer location”, “half-pixel location”, “quarter-pixel location, “1 ⁇ 8-pixel location”, “ 1/16-pixel location”, In this embodiment, the pixel location classification of regions in the first image object may be determined with respect to the pixel location classification of the regions in the second image object.
  • any error in the pixel location classification of the regions in the second image object can affect the accuracy of the classification in the first image object, which in turn can affect future image objects.
  • the updating or resetting can be triggered when there is a large reduction in the mismatch measure as the motion estimation changed from one pixel precision to another (e.g. full integer pixel to half-pixel motion, or from half-pixel to quarter-pixel, and so on).
  • the class of the selected reference image object may be updated or reset to “integer-pixel location”.
  • the class of the selected reference image object when there is a large reduction in the mismatch measure as the motion changed from half-pixel precision to quarter-pixel precision, the class of the selected reference image object may be updated or reset to “half-pixel location” and similarly when there is a large reduction in the mismatch measure as the motion changed from quarter-pixel to 1 ⁇ 8-pixel or 1 ⁇ 8-pixel to 1/16 pixel, the selected reference image object may be updated or reset to quarter-pixel or 1 ⁇ 8 pixel respectively.
  • the present invention provides an overall multi-frame motion estimation method such that single-frame motion estimation is performed with respect to the most recent reference frame; if best distortion is smaller than a threshold, the search terminates; otherwise, single-frame motion estimation is performed on other reference frames in such a way that only one frame from the same pixel-location class is examine, the one being the most recent frame.
  • full search or fast search can be applied. In other words, complete or partial mismatch computations are both possible.
  • the classes may be defined according to the pixel location, with classes such as “integer location”, “half-pixel location”, “quarter-pixel location”, “1 ⁇ 8-pixel location”, “ 1/16-pixel location”, etc.
  • the classes may also be defined according to the type of regions (e.g. “smooth”, “edge”, “texture” etc), orientation of edges (e.g. “vertical edge”, “horizontal edge”, and edges with various angle of orientation or inclination, etc), width of the edges (e.g. “1-pixel wide edge”, “2-pixel wide edge”, etc), etc, or even a combination of various attributes.
  • H.264 allows 5 reference frames, actually any amount of reference frames can be used.
  • This invention can be applied with multiple block size, and the blocks do not necessarily be non-overlapping.
  • the reference frames may be in the past or in the future. While only one of the reference frames is used in the above description, more than one frames can be used (e.g. a linear combination of several reference frames). While H.264 uses discrete cosine transform, any discrete transform can be applied. Actually, the use of “pixel location” classes in the decision of which reference frames to use, or not to use, can be extended to other decisions.
  • the classification of situations according to “pixel location” due to horizontal and vertical translational motion can be generalized to classes due to translational and rotational motion in all possible directions. It can also be generalized to classes due to rigid or non-rigid objects at different spatial location, orientation and scale. While video is a sequence of “frames” which are 2-dimensional pictures of the world, the invention can be applied to sequences of lower (e.g. 1) or higher (e.g. 3) dimensional description of the world.
  • one picture element may have one or more components such as the luminance component, the red, green, blue (RGB) components, the YUV components, the YCrCb components, the infra-red components, the X-ray or other components.
  • Each component of a picture element is a symbol that can be represented as a number, which may be a natural number, an integer, a real number or even a complex number. In the case of natural numbers, they may be 12-bit, 8-bit, or any other bit resolution. While the pixels in video are 2-dimensional samples with rectangular sampling grid and uniform sampling period, the sampling grid does not need to be rectangular and the sampling period does not need to be uniform.
  • the present invention in any of its aspect is applicable not only to the encoding of video, but also to the correspondence estimation in the encoding of audio signals, speech signals, video signals, seismic signals, medical signals, etc.
  • FIG. 1 illustrates examples of half-pixel motion and quarter-pixel motion
  • FIG. 2 shows an example of selection of frames t- 1 , t- 2 , t- 3 for motion estimation of frame t.
  • FIG. 3 shows the flow chart of the proposed method FMFME.
  • FIG. 4 shows the PSNR comparison between full search and the proposed FMFME for a test sequence called “Coastguard”.
  • the present invention at least in its preferred embodiments, provides a novel fast multi-frame selection scheme that requires significantly reduced computational cost while achieving similar visual quality and bit-rate as the full selection process. Instead of searching through all the possible reference frames, the proposed scheme tries to select only a few representative frames for motion estimation. This is very useful for real-time applications.
  • the object motion may be an integer pixel motion, a half-pixel motion, or a quarter-pixel motion, 1 ⁇ 8-pixel motion, 1/16-pixel motion etc.
  • sub-pixel motion estimation algorithms use interpolation to predict the sub-pixel shift of texture relative to the sampling grid.
  • an object has edges aligned perfectly with the sensor boundaries at a particular time instant such that the object edge is clear and sharp.
  • this object will describe this object as having “integer-pixel location”.
  • the object will look exactly the same in the two consecutive frames except that one is a translation to another.
  • the moved object can be predicted perfectly by integer-pixel motion estimation.
  • the edges may be blurred as shown in FIG. 1 a.
  • the original zero-pixel-wide (sharp) object edge now becomes one pixel-wide (blurred).
  • the pixel at the blurred object edges 106 may have only half the intensity of the original object, which can lead to difficulty in motion estimation.
  • the block on the right 102 in FIG. 1 a can be predicted perfectly by block 100 using half-pixel motion estimation.
  • block 100 cannot be predicted perfectly by block 102 .
  • the edges may be blurred as shown in FIG. 1 b.
  • the zero-pixel-wide (sharp) object edge becomes one-pixel-wide (blurred).
  • the pixels at the blurred edges may have 3 ⁇ 4 ( 108 ) or 1 ⁇ 4 ( 110 ) of the intensity.
  • the blurred “quarter-pixel location” object 104 can be predicted perfectly from the sharp “integer-pixel location” object 100 using quarter-pixel motion estimation, but not vice versa.
  • the objects can be classified into sub-pixel location classes, namely “integer-pixel location”, “half-pixel location” and “quarter-pixel location”.
  • sub-pixel location classes namely “integer-pixel location”, “half-pixel location” and “quarter-pixel location”.
  • edge (and probably texture) details in the three classes are different.
  • multi-frame ME can further reduce the temporal redundancy in the video sequences by considering more than one reference frames.
  • the best match is usually found by minimizing the cost function:
  • the first type of redundancy is related to short-term memory.
  • the current frame is frame t.
  • objects may be distorted or absent in frame t- 1 , but well represented in frames t- 2 to t- 5 .
  • An example is the blinking of an eye, which is a very fast motion. If multiple reference frames are allowed, the motion estimation and compensation can be significantly better than just a single reference frame.
  • the previous reference frame i.e. frame t- 1
  • the previous reference frame i.e. frame t- 1
  • the previous reference frame still has the highest probability of being selected among the five possible reference frames.
  • the second type is the sub-pixel movement of textures described above. Textures and objects with different version of “sub-pixel locations” (“integer-pixel”, “half-pixel” and “quarter-pixel”) may occur in successive video frames. In our experiments, we observe that there is a great tendency for the cost function to be especially small when the same shifted version of texture is used to do the motion estimation and compensation. In other words, the optimal reference frame tends to be the one with the same sub-pixel location as the current frame.
  • the motion estimation speed can be increased by estimating the type of shifted version of texture (“sub-pixel location”) in the frame buffer.
  • sub-pixel location the type of shifted version of texture
  • the black square means collocated macroblocks in Frame t and the multiple reference frames.
  • each macroblock e.g., macroblock 200
  • the reference frames frames t- 5 to t- 1
  • FMFME fast multi-frame motion estimation
  • the motion vectors of all the collocated macroblocks in frames t- 1 to t- 5 will be examined. If two or more macroblocks have the same sub-pixel location, only one frame is enabled for motion estimation. The sub-pixel location of two macroblocks are considered the same if both the x and y components of the sub-pixel location are equal. The process will enable the frame with smallest temporal distance (closest) to the current frame.
  • Motion estimation is then performed on the immediate past frame (i.e. frame t- 1 ( 204 )), as this is the most likely frame to be the best.
  • the sub-pixel motion vectors obtained are added to the sub-pixel locations of the “dominant” reference macroblocks (with maximum overlapping area) to obtain the sub-pixel location of the current macroblock. So for FIG. 2 if we assume frame t- 3 ( 206 ) is chosen to be the reference frame for the black (current) macroblock in frame t, the sub-pixel location of the current macroblock in frame t is obtained by adding its sub-pixel motion vector to the sub-pixel position of black macroblock in frame t- 3 .
  • FIG. 3 shows the flow chart 300 of the proposed algorithm.
  • the proposed scheme was implemented in the H.264 reference software TML9.0. PMVFAST was used for fast motion estimation.
  • Table 1 below gives the results of PSNR (peak signal-to-reconstructed image measure), bit rate and complexity reduction of the proposed FMFME in the testing sequences.
  • the computational cost using a powerful performance analyzer in term of number of clock cycles is used.
  • the proposed FMFME can reduce computational cost by 53% (equivalent complexity of performing PMVFAST on 2.6 frames instead of 5 reference frames) with negligibly small PSNR degradation (0.02 dB) and fewer bits (0.10%) on the average.
  • FIG. 4 shows a graph 400 the PSNR comparison for “Coastguard”.
  • the fast motion estimation process of embodiments of the present invention is mainly targeted for fast, low-delay and low cost software and hardware implementation of H.264, or MPEG4 AVC, or AVS, or related video coding standards or methods.
  • Possible applications include digital cameras, digital camcorders, digital video recorders, set-top boxes, personal digital assistants (PDA), multimedia-enabled cellular phones (2.5G, 3G, and beyond), video conferencing systems, video-on-demand systems, wireless LAN devices, bluetooth applications, web servers, video streaming server in low or high bandwidth applications, video transcoders (converter from one format to another), and other visual communication systems, etc.

Abstract

There is disclosed a method of digital signal compression, coding and representation, and more particularly a method of video compression, coding and representation system that uses multi-frame motion estimation and includes both device and method aspects. The invention also provides a computer program product, such as a recording medium, carrying program instructions readable by a computing device to cause the computing device to carry out a method according to the invention.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 60/556,363, filed Mar. 26, 2004, which is hereby incorporated herein by reference in its entirety.
  • FIELD OF INVENTION
  • This invention relates generally to digital signal compression, coding and representation, and more particularly to a video compression, coding and representation system using multi-frame motion estimation and having both device and method aspects. It further relates to a computer program product, such as a recording medium, carrying program instructions readable by a computing device to cause the computing device to carry out a method according to the invention.
  • BACKGROUND OF THE INVENTION
  • Due to the huge size of the raw digital video data (or image sequences), compression must be applied such data so that they may be transmitted and stored. There have been many important video compression standards, including the ISO/IEC MPEG-1, MPEG-2, MPEG-4 standards and the ITU-T H.261, H.263, H.263+, H.263++, H.264 standards. The ISO/IEC MPEG-1/2/4 standards are used extensively by the entertainment industry to distribute movies, digital video broadcast including video compact disk or VCD (MPEG-1), digital video disk or digital versatile disk or DVD (MPEG-2), recordable DVD (MPEG-2), digital video broadcast or DVB (MPEG-2), video-on-demand or VOD (MPEG-2), high definition television or HDTV in the US (MPEG-2), etc. The later MPEG-4 was more advanced than MPEG-2 and can achieve high quality video at lower bit rate, making it very suitable for video streaming over internet, digital wireless network (e.g. 3G network), multimedia messaging service (MMS standard from 3GPP), etc. MPEG-4 will be included in the next generation DVD players. The ITU-T H.261/3/4 standards are designed for low-delay video phone and video conferencing systems. The early H.261 was designed to operate at bit rates of p*64 kbit/s, with p=1,2, . . . , 31. The later H.263 is very successful and is widely used in modern day video conferencing systems, and in video streaming in broadband and in wireless network, including the multimedia messaging service (MMS) in 2.5G and 3G networks and beyond. The latest H.264 (also called MPEG-4 Version 10, or MPEG-4 AVC) is currently the state-of-the-art video compression standard. It is so powerful that MPEG decided to jointly develop with ITU-T in the framework of the Joint Video Team (JVT). The new standard is called H.264 in ITU-T and is called MPEG-4 Advance Video Coding (MPEG-4 AVC), or MPEG-4 Version 10. Based on H.264, a related standard called the Audio Visual Standard (AVS) is currently under development in China. Other related standards may be under development.
  • H.264 has superior objective and subjective video quality over MPEG-1/2/4 and H.261/3. The basic encoding algorithm of H.264 is similar to H.263 or MPEG-4 except that integer 4×4 discrete cosine transform (DCT) is used instead of the traditional 8×8 DCT and there are additional features include intra prediction mode for I-frames, multiple block sizes and multiple reference frames for motion estimation/compensation, quarter pixel accuracy for motion estimation, in-loop deblocking filter, context adaptive binary arithmetic coding, etc.
  • In particular, H.264 allows the encoder to store five reference pictures for motion estimation (ME) and motion compensation (MC). However, the processing time increases linearly with the number of reference pictures used. This is because motion estimation needs to be performed for each reference frame in a simple implementation. This full selection process (the examination of all five reference frames) provides the best coding result but the five-fold increase in computation is very high.
  • SUMMARY OF THE INVENTION
  • The present invention seeks to provide new and useful multi-frame motion estimation techniques for any current frame in H.264 or MPEG-4 AVC or AVS or related video coding.
  • According to the present invention there is provided a method of matching a first image object (original current frame) against a number of reference image object (reference frames), including; defining regions (e.g. non-overlapping rectangular blocks, or some expanded regions similar to those in the overlapping motion compensation in H.263) in the first image object (e.g. frame N); for each region in the first image object, defining the corresponding representative coordinate (e.g. upper left corner of a block within the current frame); for each region in the first image object, defining a search region (e.g. a search window of 3×4 in frame N-1, 5×8 in frame N-2, 7×12 in frame N-3 and so on) in each of the reference image objects, with different search regions of possibly different sizes; for each region in the first image and for a relative coordinate in the search region (a location of the search block within the search window) in each of the reference image objects, defining a relative coordinate (motion vector) with respect to the representative coordinate of the said region in the first image, and a mismatch measure (e.g. SAD or MSE or some rate-distortion cost function) between the said region in the first image and the corresponding region at the said relative location in the said reference image; for each region in the first image object, computing the mismatch measure at selected relative locations in the search regions of selected reference image objects and choosing one or more relative coordinates in the search regions of the selected reference image objects; followed possibly by an optional local search at integer-pixel and sub-pixel precision around the chosen relative coordinates for each region in the first image object, constructing a motion-compensated region by considering regions (such regions may or may not be of the same size as the said region in the first image, e.g. they can be the expanded regions used in overlapped motion compensation in H.263) at the said selected relative coordinates in the said selected reference image objects and applying linear or nonlinear operations to combine them to form a motion-compensated region (this region may or may not be of the same size as the said region in the first image); combining all the said motion-compensated regions to form a second image object (predictive frame) of the same size as the first image object; and forming a third image object (residue frame) of the same size as the first image object by subtracting the second image object (predictive frame) from the first image object (original current frame).
  • The present invention provides for the intelligent selection of the reference image objects, and the intelligent selection of the relative coordinates. Such intelligent selection allows us to perform the mismatch calculation on a greatly reduced number of candidate reference frames and candidate relative locations (motion vectors).
  • In a preferred embodiment a class is defined for each region in the first image object; for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object, the selection of the reference image objects and the selection of relative coordinates in the said reference image objects for the computation of the mismatch measure depend on the class of the said region in the first image and the classes of the said reference image objects, and after the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen.
  • In a preferred embodiment a class is defined for each region in the first image object; for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object, among all the reference image objects with the same or similar class, only a number of (e.g. one) image objects is selected for the computation of the mismatch measure; depending on the relationship between the class of the said region in the first image object and the class of any said selected reference image object, a number of the relative coordinates in the search area of the said selected reference image object are selected for mismatch computation. Complete or partial mismatch computations are both possible. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen. This may be followed by an optional local search at integer-pixel or sub-pixel precision. In one version of this embodiment the selected image object within a class is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • In a preferred embodiment of the invention for each region in the first image object, a class is defined for each of the reference image objects (a class is defined for each reference frame); for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a class is defined for the second image object; for each region in the first image object, a class is defined for the said region according to the class of the second image object, and the relative coordinate in the search area in the second image object achieving the least mismatch measure between the first image object and the second image object; for each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said reference image objects; and after the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen. In one version of this embodiment the second image is the immediate past image object.
  • In a preferred embodiment of the invention for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a class is defined for the second image object; a search region is defined in the second image and a number of relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computations are both possible. For each region in the first image object, a class is defined for the said region according to the class of the second image object, and one or more of the selected relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object. For each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said reference image objects. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen. In a version of this embodiment the second image is the immediate past image object.
  • In a preferred embodiment of the invention for each region in the first image object, a class is defined for each of the reference image objects; for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a class is defined for the second image object; a search region is defined in the second image and a number of relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computation are both possible. For each region in the first image object, a class is defined according to the class of the second image object, and one or more of the selected relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object. For each region in the first image object, among all the reference image objects with the same class, only one image object is selected for the computation of the mismatch measure. Depending on the relationship between the class of the said region in the first image object and the class of any said selected reference image object, a number of the relative coordinates in the search area of the said selected reference image object are selected for mismatch computation. Complete or partial mismatch computations are both possible. After the said mismatch measure computation, one or more relative coordinates in the search regions of the reference image objects are chosen. In a version of this embodiment the second image is the immediate past image object. In a version of this embodiment the selected image object is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • In an embodiment of the invention a class is defined for each region in the first image object; for each region in the first image object, and for each relative coordinate in the corresponding search region in any of the reference image objects, a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame); for each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said relative coordinate in the said reference image objects. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen.
  • In an embodiment of the invention for each region in the first image object, and for each relative coordinate in the corresponding search region in any of the reference image objects, a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame); for each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a search region is defined in the second image object and a class is defined for all the relative coordinates in the said search region in the second image object; a number of the relative coordinates in the search region are selected for mismatch computation. Complete or partial mismatch computations are both possible. For each region in the first image object, a class is defined according to (i) one or more relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object, and (ii) the classes of the said relative coordinates in the second image object; For each region in the first image object, the selection of the reference image objects and the selection of relative coordinate in the said reference image objects for the computation of the mismatch measure depends on the class of the said region in the first image and the classes of the said relative coordinate in the said reference image objects. In one version of this embodiment the said second image is the immediate past image object.
  • In an embodiment of the invention for each region in the first image object, and for each relative coordinate in the corresponding search region in any of the reference image objects, a class is defined for the said relative coordinate; (a class is defined for each possible search point in each reference frame). For each region in the first image object (e.g. frame N), a second image object (e.g. frame N-1) is defined and a search region is defined in the second image object and a class is defined for all the relative coordinates in the said search region in the second image object; for each region in the first image object, a class is defined according to (i) a number of relative coordinates in the search region in the second image object achieving the least mismatch measures between the first image object and the second image object, and (ii) the classes of the said relative coordinate in the second image object; (more than one relative coordinates used); for each region in the first image object, among all the reference image objects with the same class, only one image object is selected for the computation of the mismatch measure. Depending on the relationship between the class of the said region in the first image object and the class of any said selected reference image object, a number of the relative coordinates in the search area of the said selected reference image object are selected for mismatch computation. Complete or partial mismatch computations are both possible. After the said mismatch computation, one or more relative coordinates in the search regions of the reference image objects are chosen. In one version of this embodiment the said second image in is the immediate past image object. In one version of this embodiment the selected image object within a class is the image object that is closest in time within the class (e.g. the nearest past frame with the same class).
  • In some embodiments of the invention, the classification of regions can be updated or reset because classification errors can occur in some classification methods and such errors can accumulate over time. The updating or resetting can be performed periodically or when certain situations occur. In some embodiments of the invention, the class of the said region, of the said second image object and the said reference image objects are updated, after the mismatch measure computation, depending on the behavior of the computed mismatch measure. In one embodiment, the classes can be pixel-location classes such as “integer location”, “half-pixel location”, “quarter-pixel location, “⅛-pixel location”, “ 1/16-pixel location”, In this embodiment, the pixel location classification of regions in the first image object may be determined with respect to the pixel location classification of the regions in the second image object. Thus any error in the pixel location classification of the regions in the second image object can affect the accuracy of the classification in the first image object, which in turn can affect future image objects. In one embodiment, the updating or resetting can be triggered when there is a large reduction in the mismatch measure as the motion estimation changed from one pixel precision to another (e.g. full integer pixel to half-pixel motion, or from half-pixel to quarter-pixel, and so on). In one embodiment, when there is a large reduction in the mismatch measure as the motion changed from integer pixel precision to half-pixel precision, the class of the selected reference image object may be updated or reset to “integer-pixel location”. In another embodiment, when there is a large reduction in the mismatch measure as the motion changed from half-pixel precision to quarter-pixel precision, the class of the selected reference image object may be updated or reset to “half-pixel location” and similarly when there is a large reduction in the mismatch measure as the motion changed from quarter-pixel to ⅛-pixel or ⅛-pixel to 1/16 pixel, the selected reference image object may be updated or reset to quarter-pixel or ⅛ pixel respectively.
  • Viewed from another aspect the present invention provides an overall multi-frame motion estimation method such that single-frame motion estimation is performed with respect to the most recent reference frame; if best distortion is smaller than a threshold, the search terminates; otherwise, single-frame motion estimation is performed on other reference frames in such a way that only one frame from the same pixel-location class is examine, the one being the most recent frame. In the single-frame motion estimation, full search or fast search can be applied. In other words, complete or partial mismatch computations are both possible.
  • In the above embodiments of the invention, the classes may be defined according to the pixel location, with classes such as “integer location”, “half-pixel location”, “quarter-pixel location”, “⅛-pixel location”, “ 1/16-pixel location”, etc. The classes may also be defined according to the type of regions (e.g. “smooth”, “edge”, “texture” etc), orientation of edges (e.g. “vertical edge”, “horizontal edge”, and edges with various angle of orientation or inclination, etc), width of the edges (e.g. “1-pixel wide edge”, “2-pixel wide edge”, etc), etc, or even a combination of various attributes. Some of these classifications of the first image object may require a second image object, while others do not.
  • The embodiments of the invention given above are in terms of the current H.264 setting. While H.264 allows 5 reference frames, actually any amount of reference frames can be used. This invention can be applied with multiple block size, and the blocks do not necessarily be non-overlapping. The reference frames may be in the past or in the future. While only one of the reference frames is used in the above description, more than one frames can be used (e.g. a linear combination of several reference frames). While H.264 uses discrete cosine transform, any discrete transform can be applied. Actually, the use of “pixel location” classes in the decision of which reference frames to use, or not to use, can be extended to other decisions. The classification of situations according to “pixel location” due to horizontal and vertical translational motion can be generalized to classes due to translational and rotational motion in all possible directions. It can also be generalized to classes due to rigid or non-rigid objects at different spatial location, orientation and scale. While video is a sequence of “frames” which are 2-dimensional pictures of the world, the invention can be applied to sequences of lower (e.g. 1) or higher (e.g. 3) dimensional description of the world.
  • For the video, one picture element (pixel) may have one or more components such as the luminance component, the red, green, blue (RGB) components, the YUV components, the YCrCb components, the infra-red components, the X-ray or other components. Each component of a picture element is a symbol that can be represented as a number, which may be a natural number, an integer, a real number or even a complex number. In the case of natural numbers, they may be 12-bit, 8-bit, or any other bit resolution. While the pixels in video are 2-dimensional samples with rectangular sampling grid and uniform sampling period, the sampling grid does not need to be rectangular and the sampling period does not need to be uniform.
  • Moreover, the present invention in any of its aspect is applicable not only to the encoding of video, but also to the correspondence estimation in the encoding of audio signals, speech signals, video signals, seismic signals, medical signals, etc.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Embodiments of the invention will now be described for the sake of example only with reference to the following figures, in which:
  • FIG. 1 illustrates examples of half-pixel motion and quarter-pixel motion
  • FIG. 2 shows an example of selection of frames t-1, t-2, t-3 for motion estimation of frame t.
  • FIG. 3 shows the flow chart of the proposed method FMFME.
  • FIG. 4 shows the PSNR comparison between full search and the proposed FMFME for a test sequence called “Coastguard”.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention, at least in its preferred embodiments, provides a novel fast multi-frame selection scheme that requires significantly reduced computational cost while achieving similar visual quality and bit-rate as the full selection process. Instead of searching through all the possible reference frames, the proposed scheme tries to select only a few representative frames for motion estimation. This is very useful for real-time applications.
  • Accurate prediction can efficiently reduce the degree of error between the original image and the predicted image. For this reason, quarter-pixel translational motion estimation/compensation is adopted in H.264 for better compression performance. Between two consecutive frames, the object motion may be an integer pixel motion, a half-pixel motion, or a quarter-pixel motion, ⅛-pixel motion, 1/16-pixel motion etc. Typically, sub-pixel motion estimation algorithms use interpolation to predict the sub-pixel shift of texture relative to the sampling grid.
  • Suppose an object has edges aligned perfectly with the sensor boundaries at a particular time instant such that the object edge is clear and sharp. We will describe this object as having “integer-pixel location”. When the object undergoes an integer-pixel translational motion, the object will look exactly the same in the two consecutive frames except that one is a translation to another. And the moved object can be predicted perfectly by integer-pixel motion estimation.
  • When the object 100 undergoes a half-pixel motion, the edges may be blurred as shown in FIG. 1 a. We will describe this object as having “half-pixel location”. The original zero-pixel-wide (sharp) object edge now becomes one pixel-wide (blurred). The pixel at the blurred object edges 106 may have only half the intensity of the original object, which can lead to difficulty in motion estimation. In particular, the block on the right 102 in FIG. 1 a can be predicted perfectly by block 100 using half-pixel motion estimation. However, block 100 cannot be predicted perfectly by block 102.
  • Similarly, when the object 100 undergoes a quarter-pixel motion, the edges may be blurred as shown in FIG. 1 b. We will describe this object as having “quarter-pixel location”. The zero-pixel-wide (sharp) object edge becomes one-pixel-wide (blurred). The pixels at the blurred edges may have ¾ (108) or ¼ (110) of the intensity. Again, the blurred “quarter-pixel location” object 104 can be predicted perfectly from the sharp “integer-pixel location” object 100 using quarter-pixel motion estimation, but not vice versa.
  • In general, the objects can be classified into sub-pixel location classes, namely “integer-pixel location”, “half-pixel location” and “quarter-pixel location”. The edge (and probably texture) details in the three classes are different.
  • The advantage of multi-frame ME is that it can further reduce the temporal redundancy in the video sequences by considering more than one reference frames. The best match is usually found by minimizing the cost function:

  • J(m, λ MOTION)=SAD(s, c(m))+λMOTION ·R(m−p))   (1)
  • with m=(mx, my)T being the motion vector, p=(px,py)T being the prediction for the motion vector and λMOTION being the Lagrange multiplier. The term R(m−p) represents the bits used to encode the motion information and are obtained by table-lookup. The SAD (Sum of Absolute Differences) is computed as:
  • S A D ( s , c ( m ) ) = x = 1 , y = 1 B , B s [ x , y ] - c [ x - m x , y - m y ] ( 2 )
  • with B=16, 8 or 4 and s being the original video signal and c being the coded video signal.
  • There are basically two types of temporal redundancy that can be captured by using multiple reference frames but not the traditional single frames. The first type of redundancy is related to short-term memory. Suppose the current frame is frame t. Sometimes, objects may be distorted or absent in frame t-1, but well represented in frames t-2 to t-5. An example is the blinking of an eye, which is a very fast motion. If multiple reference frames are allowed, the motion estimation and compensation can be significantly better than just a single reference frame. However, in our experiments, we observe that the previous reference frame (i.e. frame t-1) still has the highest probability of being selected among the five possible reference frames.
  • The second type is the sub-pixel movement of textures described above. Textures and objects with different version of “sub-pixel locations” (“integer-pixel”, “half-pixel” and “quarter-pixel”) may occur in successive video frames. In our experiments, we observe that there is a great tendency for the cost function to be especially small when the same shifted version of texture is used to do the motion estimation and compensation. In other words, the optimal reference frame tends to be the one with the same sub-pixel location as the current frame.
  • The more reference frames used, the higher the probability for the current image to find a reference frame with the same sub-pixel location. Probably this is the reason why it has been suggested that sub-pixel motion compensation is more important in single-frame ME/MC than in multi-frame ME/MC. Nevertheless, multi-frame motion estimation together with sub-pixel accuracy motion estimation is a strong combination to tackle the sub-pixel movement of texture and edges. However, it is difficult to determine accurately the current sub-pixel location class a priori.
  • We also observe that when there is more than one frame with the same sub-pixel location, the one closer to the current frame is usually better. As a result, the motion estimation speed can be increased by estimating the type of shifted version of texture (“sub-pixel location”) in the frame buffer. For example in FIG. 2, the black square means collocated macroblocks in Frame t and the multiple reference frames.
  • So if the macroblock at Frame t-1 and Frame t-2 show the same shifting characteristics, then we can drop the redundant one (Frame t-2) and reduce motion estimation complexity.
  • Suppose we need to perform multi-frame motion estimation for frame t, as shown in FIG. 2. In the proposed fast multi-frame motion estimation (FMFME) algorithm, each macroblock (e.g., macroblock 200) in the reference frames (frames t-5 to t-1) is assumed to have a sub-pixel location.
  • Before performing motion estimation for the current macroblock (with black frame) in frame t (202), the motion vectors of all the collocated macroblocks in frames t-1 to t-5 will be examined. If two or more macroblocks have the same sub-pixel location, only one frame is enabled for motion estimation. The sub-pixel location of two macroblocks are considered the same if both the x and y components of the sub-pixel location are equal. The process will enable the frame with smallest temporal distance (closest) to the current frame.
  • Motion estimation is then performed on the immediate past frame (i.e. frame t-1 (204)), as this is the most likely frame to be the best. After the motion estimation process, the sub-pixel motion vectors obtained are added to the sub-pixel locations of the “dominant” reference macroblocks (with maximum overlapping area) to obtain the sub-pixel location of the current macroblock. So for FIG. 2 if we assume frame t-3 (206) is chosen to be the reference frame for the black (current) macroblock in frame t, the sub-pixel location of the current macroblock in frame t is obtained by adding its sub-pixel motion vector to the sub-pixel position of black macroblock in frame t-3.
  • Several early termination checks are then performed. If the best SAD with respect to frame t-1 is smaller than a threshold T1, we consider it “good enough” and would skip the motion estimation for other reference frames. If the current macroblock is sufficiently flat such that there is no strong texture inside the macroblock, we would also skip the multi-frame motion estimation because multi-frame motion estimation in such cases tends to have little performance gain over single-frame motion estimation. To determine the flatness of the macroblock, 4×4 Hadamard transform is performed for every 4×4 sub-block inside the macroblock. If all the AC coefficients of the 4×4 sub-blocks are equal to zero, we would consider the macroblock is sufficiently flat. Otherwise, motion estimation is performed on the enabled reference frames.
  • There is also a sub-pixel location refreshing mechanism. Our sub-pixel location estimation of the macroblocks may not be 100% accurate, especially with potential error drifting over many frames. The accumulation of error can affect the performance of FMFME. Therefore, refreshing of sub-pixel location is necessary. We observe in our experiments that, for texture at integer-pixel, half-pixel or quarter-pixel locations, only the textures at integer-pixel location can give a large SAD reduction when it is interpolated/filtered into half pixel type texture for half-pixel motion estimation. When this occurs, we reset the sub-pixel location of the reference macroblock to be integer-pixel, and update the current sub-pixel location if appropriate. This refreshing can help to suppress the propagation of error.
  • Here is how our refreshing mechanism works. During the motion estimation between the current and reference frame, the best SAD obtained using integer-pixel and half-pixel motion estimation is compared. If the half-pixel ME gives 50% reduction in SAD compared with the integer-pixel ME, the sub-pixel location type of the reference macroblock will be updated to be of integer-pixel. FIG. 3 shows the flow chart 300 of the proposed algorithm.
  • Experimental Results
  • The proposed FMFME was tested on four QCIF (176×144) sequences, “Akiyo”, “Coastguard”, “Stefan” and “Foreman”, with constant quantization factor, Qp=16 and T1=512. The proposed scheme was implemented in the H.264 reference software TML9.0. PMVFAST was used for fast motion estimation.
  • Table 1 below gives the results of PSNR (peak signal-to-reconstructed image measure), bit rate and complexity reduction of the proposed FMFME in the testing sequences. The computational cost using a powerful performance analyzer in term of number of clock cycles is used. Compared with the full search (FS) multi-frame selection scheme in H.264, the proposed FMFME can reduce computational cost by 53% (equivalent complexity of performing PMVFAST on 2.6 frames instead of 5 reference frames) with negligibly small PSNR degradation (0.02 dB) and fewer bits (0.10%) on the average. FIG. 4 shows a graph 400 the PSNR comparison for “Coastguard”.
  • TABLE 1
    Comparison of PSNR, bitrate and complexity
    for H.264 and proposed FMFME algorithm
    Complexity PSNR(dB) Bitrate
    Coastguard
    H.264 (FS) 120.66 × 109 34.01 2472144
    FMFME  64.92 × 109 34.00 2476936
    Saving 46.2% −0.01 −0.19%
    Akiyo
    H.264 (FS) 102.43 × 109 38.23 287336
    FMFME  28.73 × 109 38.23 287024
    Saving 72% 0.00 1.1%
    Stefan
    H.264 (FS) 122.98 × 109 34.01 4814040
    FMFME  71.32 × 109 33.99 4838168
    Saving 42% −0.02 −0.5%
    Foreman
    H.264 (FS) 126.77 × 109 35.65 1604520
    FMFME  71.35 × 109 35.60 1617704
    Saving 43.64% −0.05 −0.82%
  • The fast motion estimation process of embodiments of the present invention is mainly targeted for fast, low-delay and low cost software and hardware implementation of H.264, or MPEG4 AVC, or AVS, or related video coding standards or methods. Possible applications include digital cameras, digital camcorders, digital video recorders, set-top boxes, personal digital assistants (PDA), multimedia-enabled cellular phones (2.5G, 3G, and beyond), video conferencing systems, video-on-demand systems, wireless LAN devices, bluetooth applications, web servers, video streaming server in low or high bandwidth applications, video transcoders (converter from one format to another), and other visual communication systems, etc.
  • While several aspects of the present invention have been described and depicted herein, alternative aspects may be effected by those skilled in the art to accomplish the same objectives. Accordingly, it is intended by the appended claims to cover all such alternative aspects as fall within the true spirit and scope of the invention.

Claims (26)

1.-48. (canceled)
49. A method comprising:
for a macroblock in a current video frame:
classifying by a computing device, one or more corresponding reference macroblocks from one or more reference video frames; and
performing by the computing device, one or more motion estimations for the macroblock with respect to the one or more reference macroblocks; and
generating by the computing device, a resulting motion vector from the one or more motion estimations;
wherein, for one or more macroblocks from a same class, motion estimation is performed on fewer than all of the one or more macroblocks from the same class.
50. The method of claim 49, wherein performing comprises, for one or more macroblocks from the same class, performing motion estimation only once.
51. The method of claim 50, wherein performing comprises, for one or more macroblocks from the same class, performing motion estimation only for a macroblock in a most recent reference frame in from the same class.
52. The method of claim 49, wherein classifying macroblocks comprises classifying based at least in part on image and/or video features.
53. The method of claim 52, wherein classifying based at least in part on image and/or video features comprises classifying based at least in part on pixel locations, region types, and/or edge features.
54. The method of claim 52, wherein classifying based at least in part on pixel locations comprises classifying based at least in part on integer and sub-integer locations.
55. The method of claim 54, wherein classifying based at least in part on sub-integer locations comprises classifying based at least in part on half-pixel and quarter-pixel locations.
56. The method of claim 52, wherein classifying based at least in part on region types comprises classifying based at least in part on smooth, edge, and/or texture region types.
57. The method of claim 52, wherein classifying based at least in part on edge features comprises classifying based at least in part on vertical edges, horizontal edges, and angled edges.
58. The method of claim 52, wherein classifying based at least in part on edge features comprises classifying based at least in part on edge width.
59. The method of claim 49, further comprising:
performing, by the computing device, an initial motion estimation for the macroblock with respect to a corresponding reference macroblock from a most recent reference frame; and
determining, by the computing device, whether the initial motion estimation is sufficient for encoding the macroblock.
60. The method of claim 59, wherein determining whether the initial motion estimation is sufficient for encoding the macroblock comprises determining whether a distortion based on the initial motion estimation is smaller than a threshold by the computing device.
61. The method of claim 59, wherein determining whether the initial motion estimation is sufficient for encoding the macroblock comprises determining whether the macroblock in the video frame does not have a strong texture by the computing device.
62. The method of claim 59, further comprising, in response to determining that the motion estimation is sufficient, generating by the computing device, a resulting motion vector from the motion estimation and performing no additional motion estimations.
63. The method of claim 59, further comprising, in response to determining that the motion estimation is insufficient, performing by the computing device, one or more additional motion estimations with respect to at least one other macroblock from an other reference frame, and generating by the computing device, a resulting motion vector from the additional motion estimation or estimations.
64. The method of claim 49, wherein:
classifying comprises classifying macroblocks based at least in part on pixel locations; and
wherein the method further comprises, for at least one of the reference macroblocks, updating by the computing device, respective pixel locations for the respective at least one macroblocks.
65. The method of claim 64, wherein updating respective pixel locations comprises, for a reference macroblock:
computing by the computing device, a first distortion between the macroblock from the current video frame and the reference macroblock for an integer-pixel motion estimation;
computing by the computing device, a second distortion between the current macroblock and the reference macroblock for a half-pixel motion estimation; and
in response to determining that the second distortion is lower than a threshold, wherein the threshold is based at least in part on the first distortion, updating by the computing device, a sub-pixel location type for the reference macroblock to be integer-pixel.
66. An article of manufacture including a computer-readable medium having instructions stored thereon configure to enable a computing device, in response to execution of the instructions by the computing, to perform operations comprising:
for a macroblock in a current video frame:
classifying one or more corresponding reference macroblocks from one or more reference video frames; and
performing one or more motion estimations for the macroblock with respect to the one or more reference macroblocks; and
generating a resulting motion vector from the one or more motion estimations;
wherein, for one or more macroblocks from a same pixel-location class, motion estimation is not performed for at least one of the macroblocks.
67. The article of claim 66, wherein the method further comprises:
performing an initial motion estimation for the macroblock with respect to a corresponding reference macroblock from a most recent reference frame;
determining whether the motion estimation is sufficient for encoding the macroblock;
in response to determining that the motion estimation is sufficient, generating a resulting motion vector from the motion estimation and performing no additional motion estimations; and
in response to determining that the motion estimation is insufficient, performing one or more additional motion estimations with respect to at least one other macroblock from an other reference frame, and generating a resulting motion vector from the additional motion estimation or estimations.
68. The article of claim 67, wherein determining whether the initial motion estimation is sufficient comprises determining whether a distortion based on the initial motion estimation is smaller than a threshold.
69. The article of claim 67, wherein determining whether the initial motion estimation is sufficient comprises determining whether the macroblock in the video frame does not have a strong texture.
70. The article of claim 66, wherein the operations further comprise, for at least one of the other macroblocks, updating respective pixel locations for the respective at least one macroblocks.
71. The article of claim 70, wherein updating respective pixel locations comprises, for a reference macroblock:
computing a first distortion between the macroblock from the current video frame and the reference macroblock for an integer-pixel motion estimation;
computing a second distortion between the macroblock from the current video frame and the reference macroblock for a half-pixel motion estimation; and
in response to determining that the second distortion is lower than a threshold, the threshold based at least in part on the first distortion, updating a sub-pixel location type for the reference macroblock to be integer-pixel.
72. An article of manufacture including a computer-readable medium having instructions stored thereon configure to enable a computing device, in response to execution of the instructions by the computing, to perform operations comprising, for a current macroblock in a video frame:
performing by an computing device, an initial motion estimation for the macroblock with respect to a corresponding most recent reference macroblock from a most recent reference frame;
in response to determining that a distortion based on the initial motion estimation is smaller than a threshold, generating by the computing device, a resulting motion vector from the initial motion estimation;
in response to determining that a distortion based on the initial motion estimation is larger than the threshold:
performing by the computing device, one or more additional motion estimations with respect to at least one other macroblock from an other reference frame, and generating a resulting motion vector from the additional motion estimations; and
after performing one motion estimation for one or more reference frames with corresponding macroblocks from a same pixel-location class, terminating performing by the computing device, the one or more additional motion estimations for the same pixel-location class.
73. The method of claim 70, further comprising, for at least one of the other macroblocks, updating by the computing device, respective pixel locations for the respective at least one macroblocks.
US12/775,312 2004-03-26 2010-05-06 Efficient multi-frame motion estimation for video compression Abandoned US20100215106A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/775,312 US20100215106A1 (en) 2004-03-26 2010-05-06 Efficient multi-frame motion estimation for video compression

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US55636304P 2004-03-26 2004-03-26
US11/090,373 US7720148B2 (en) 2004-03-26 2005-03-25 Efficient multi-frame motion estimation for video compression
US12/775,312 US20100215106A1 (en) 2004-03-26 2010-05-06 Efficient multi-frame motion estimation for video compression

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/090,373 Continuation US7720148B2 (en) 2004-03-26 2005-03-25 Efficient multi-frame motion estimation for video compression

Publications (1)

Publication Number Publication Date
US20100215106A1 true US20100215106A1 (en) 2010-08-26

Family

ID=35187087

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/090,373 Active 2029-03-18 US7720148B2 (en) 2004-03-26 2005-03-25 Efficient multi-frame motion estimation for video compression
US12/775,312 Abandoned US20100215106A1 (en) 2004-03-26 2010-05-06 Efficient multi-frame motion estimation for video compression

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/090,373 Active 2029-03-18 US7720148B2 (en) 2004-03-26 2005-03-25 Efficient multi-frame motion estimation for video compression

Country Status (1)

Country Link
US (2) US7720148B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110051813A1 (en) * 2009-09-02 2011-03-03 Sony Computer Entertainment Inc. Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US20160080766A1 (en) * 2008-03-07 2016-03-17 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634148B2 (en) * 2005-01-07 2009-12-15 Ntt Docomo, Inc. Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
US7728909B2 (en) * 2005-06-13 2010-06-01 Seiko Epson Corporation Method and system for estimating motion and compensating for perceived motion blur in digital video
JP4203498B2 (en) * 2005-09-22 2009-01-07 アドバンスド・マスク・インスペクション・テクノロジー株式会社 Image correction apparatus, pattern inspection apparatus, image correction method, and pattern defect inspection method
US9071844B2 (en) * 2005-12-16 2015-06-30 Texas Instruments Incorporated Motion estimation with motion vector penalty
KR100842557B1 (en) * 2006-10-20 2008-07-01 삼성전자주식회사 Method for accessing memory in moving picture processing device
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US7822280B2 (en) * 2007-01-16 2010-10-26 Microsoft Corporation Epipolar geometry-based motion estimation for multi-view image and video coding
US20080279277A1 (en) * 2007-05-09 2008-11-13 To-Wei Chen Methods and systems for performing image processing upon pixel data and loading pixel data in parallel
CN101878486B (en) * 2007-11-30 2016-10-26 杜比实验室特许公司 The method and apparatus of processing moving sequence
US8861598B2 (en) * 2008-03-19 2014-10-14 Cisco Technology, Inc. Video compression using search techniques of long-term reference memory
PT104083A (en) * 2008-06-02 2009-12-02 Inst Politecnico De Leiria METHOD FOR TRANSCODING H.264 / AVC VIDEO IMAGES IN MPEG-2
JP2010028220A (en) * 2008-07-15 2010-02-04 Sony Corp Motion vector detecting device, motion vector detecting method, image encoding device, and program
US8144766B2 (en) * 2008-07-16 2012-03-27 Sony Corporation Simple next search position selection for motion estimation iterative search
KR101619972B1 (en) 2008-10-02 2016-05-11 한국전자통신연구원 Apparatus and method for coding/decoding image selectivly using descrete cosine/sine transtorm
JP5347849B2 (en) * 2009-09-01 2013-11-20 ソニー株式会社 Image encoding apparatus, image receiving apparatus, image encoding method, and image receiving method
TWI566586B (en) * 2009-10-20 2017-01-11 湯姆生特許公司 Method for coding a block of a sequence of images and method for reconstructing said block
CN102576464B (en) * 2009-10-22 2015-09-09 皇家飞利浦电子股份有限公司 Aim at the image from the ordered stacks of sample
US8837576B2 (en) * 2009-11-06 2014-09-16 Qualcomm Incorporated Camera parameter-assisted video encoding
US10178406B2 (en) * 2009-11-06 2019-01-08 Qualcomm Incorporated Control of video encoding based on one or more video capture parameters
US8488007B2 (en) * 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion
WO2011090798A1 (en) * 2010-01-22 2011-07-28 Thomson Licensing Data pruning for video compression using example-based super-resolution
JP5911809B2 (en) 2010-01-22 2016-04-27 トムソン ライセンシングThomson Licensing Sampling-based super-resolution video encoding and decoding method and apparatus
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US8285079B2 (en) * 2010-03-19 2012-10-09 Sony Corporation Method for highly accurate estimation of motion using phase correlation
US8391563B2 (en) 2010-05-25 2013-03-05 Sony Corporation Using computer video camera to detect earthquake
EP2407803A1 (en) * 2010-07-15 2012-01-18 The European Atomic Energy Community (EURATOM), represented by the European Commission Method for safely identifying moving objects
US20130170564A1 (en) 2010-09-10 2013-07-04 Thomson Licensing Encoding of a picture in a video sequence by example-based data pruning using intra-frame patch similarity
US9544598B2 (en) 2010-09-10 2017-01-10 Thomson Licensing Methods and apparatus for pruning decision optimization in example-based data pruning compression
WO2012035371A1 (en) * 2010-09-14 2012-03-22 Nokia Corporation A multi frame image processing apparatus
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US20130156114A1 (en) * 2011-12-17 2013-06-20 Faramarz Azadegan Data Movement Reduction In Video Compression Systems
US9338461B2 (en) * 2013-02-04 2016-05-10 Mitsubishi Electric Research Laboratories, Inc Method and system for encoding collections of images and videos
KR101560186B1 (en) * 2013-03-18 2015-10-14 삼성전자주식회사 A method and apparatus for encoding and decoding image using adaptive search range decision for motion estimation
US9990536B2 (en) 2016-08-03 2018-06-05 Microsoft Technology Licensing, Llc Combining images aligned to reference frame
US20190191168A1 (en) * 2017-12-19 2019-06-20 Google Llc Video quality and throughput control
CN112738529B (en) * 2020-12-23 2023-07-07 北京百度网讯科技有限公司 Inter prediction method, device, apparatus, storage medium, and program product

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233992A (en) * 1991-07-22 1993-08-10 Edison Biotechnology Center MRI method for high liver iron measurement using magnetic susceptibility induced field distortions
US5481627A (en) * 1993-08-31 1996-01-02 Daewoo Electronics Co., Ltd. Method for rectifying channel errors in a transmitted image signal encoded by classified vector quantization
US5587741A (en) * 1993-07-21 1996-12-24 Daewoo Electronics Co., Ltd. Apparatus and method for detecting motion vectors to half-pixel accuracy
US5614959A (en) * 1992-02-08 1997-03-25 Samsung Electronics Co., Ltd. Method and apparatus for motion estimation
US5719630A (en) * 1993-12-10 1998-02-17 Nec Corporation Apparatus for compressive coding in moving picture coding device
US5751893A (en) * 1992-03-24 1998-05-12 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus
US5781249A (en) * 1995-11-08 1998-07-14 Daewoo Electronics Co., Ltd. Full or partial search block matching dependent on candidate vector prediction distortion
US5805228A (en) * 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
US20030202594A1 (en) * 2002-03-15 2003-10-30 Nokia Corporation Method for coding motion in a video sequence
US6859494B2 (en) * 2001-07-27 2005-02-22 General Instrument Corporation Methods and apparatus for sub-pixel motion estimation
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US7079579B2 (en) * 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression
US7260148B2 (en) * 2001-09-10 2007-08-21 Texas Instruments Incorporated Method for motion vector estimation
US7471725B2 (en) * 2003-03-26 2008-12-30 Lsi Corporation Segmented motion estimation with no search for small block sizes
US7800367B2 (en) * 2008-04-02 2010-09-21 General Electric Co. Method and apparatus for generating T2* weighted magnetic resonance images

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633652A (en) * 1984-02-17 1997-05-27 Canon Kabushiki Kaisha Method for driving optical modulation device
JPH0242761A (en) * 1988-04-20 1990-02-13 Matsushita Electric Ind Co Ltd Manufacture of active matrix substrate
US5214420A (en) * 1989-02-27 1993-05-25 Texas Instruments Incorporated Spatial light modulator projection system with random polarity light
US5446479A (en) * 1989-02-27 1995-08-29 Texas Instruments Incorporated Multi-dimensional array video processor system
US5192946A (en) * 1989-02-27 1993-03-09 Texas Instruments Incorporated Digitized color video display system
US5287096A (en) * 1989-02-27 1994-02-15 Texas Instruments Incorporated Variable luminosity display system
US5214419A (en) * 1989-02-27 1993-05-25 Texas Instruments Incorporated Planarized true three dimensional display
US5206629A (en) * 1989-02-27 1993-04-27 Texas Instruments Incorporated Spatial light modulator and memory for digitized video display
KR100202246B1 (en) * 1989-02-27 1999-06-15 윌리엄 비. 켐플러 Apparatus and method for digital video system
US5381253A (en) * 1991-11-14 1995-01-10 Board Of Regents Of University Of Colorado Chiral smectic liquid crystal optical modulators having variable retardation
US5500635A (en) * 1990-02-20 1996-03-19 Mott; Jonathan C. Products incorporating piezoelectric material
EP0467048B1 (en) * 1990-06-29 1995-09-20 Texas Instruments Incorporated Field-updated deformable mirror device
US5083857A (en) * 1990-06-29 1992-01-28 Texas Instruments Incorporated Multi-level deformable mirror device
US5216537A (en) * 1990-06-29 1993-06-01 Texas Instruments Incorporated Architecture and process for integrating DMD with control circuit substrates
US5142405A (en) * 1990-06-29 1992-08-25 Texas Instruments Incorporated Bistable dmd addressing circuit and method
US5526688A (en) * 1990-10-12 1996-06-18 Texas Instruments Incorporated Digital flexure beam accelerometer and method
US5192395A (en) * 1990-10-12 1993-03-09 Texas Instruments Incorporated Method of making a digital flexure beam accelerometer
US5602671A (en) * 1990-11-13 1997-02-11 Texas Instruments Incorporated Low surface energy passivation layer for micromechanical devices
US5331454A (en) * 1990-11-13 1994-07-19 Texas Instruments Incorporated Low reset voltage process for DMD
US5233459A (en) * 1991-03-06 1993-08-03 Massachusetts Institute Of Technology Electric display device
CA2063744C (en) * 1991-04-01 2002-10-08 Paul M. Urbanus Digital micromirror device architecture and timing for use in a pulse-width modulated display system
US5142414A (en) * 1991-04-22 1992-08-25 Koehler Dale R Electrically actuatable temporal tristimulus-color device
US5226099A (en) * 1991-04-26 1993-07-06 Texas Instruments Incorporated Digital micromirror shutter device
FR2679057B1 (en) * 1991-07-11 1995-10-20 Morin Francois LIQUID CRYSTAL, ACTIVE MATRIX AND HIGH DEFINITION SCREEN STRUCTURE.
US5179274A (en) * 1991-07-12 1993-01-12 Texas Instruments Incorporated Method for controlling operation of optical systems and devices
US5233385A (en) * 1991-12-18 1993-08-03 Texas Instruments Incorporated White light enhanced color field sequential projection
US5233456A (en) * 1991-12-20 1993-08-03 Texas Instruments Incorporated Resonant mirror and method of manufacture
US5228013A (en) * 1992-01-10 1993-07-13 Bik Russell J Clock-painting device and method for indicating the time-of-day with a non-traditional, now analog artistic panel of digital electronic visual displays
US5296950A (en) * 1992-01-31 1994-03-22 Texas Instruments Incorporated Optical signal free-space conversion board
US5231532A (en) * 1992-02-05 1993-07-27 Texas Instruments Incorporated Switchable resonant filter for optical radiation
EP0562424B1 (en) * 1992-03-25 1997-05-28 Texas Instruments Incorporated Embedded optical calibration system
US5312513A (en) * 1992-04-03 1994-05-17 Texas Instruments Incorporated Methods of forming multiple phase light modulators
JPH07508856A (en) * 1992-04-08 1995-09-28 ジョージア テック リサーチ コーポレイション Process for lifting off thin film materials from growth substrates
US5311360A (en) * 1992-04-28 1994-05-10 The Board Of Trustees Of The Leland Stanford, Junior University Method and apparatus for modulating a light beam
TW245772B (en) * 1992-05-19 1995-04-21 Akzo Nv
JPH0651250A (en) * 1992-05-20 1994-02-25 Texas Instr Inc <Ti> Monolithic space optical modulator and memory package
US5638084A (en) * 1992-05-22 1997-06-10 Dielectric Systems International, Inc. Lighting-independent color video display
JPH06214169A (en) * 1992-06-08 1994-08-05 Texas Instr Inc <Ti> Controllable optical and periodic surface filter
US5818095A (en) * 1992-08-11 1998-10-06 Texas Instruments Incorporated High-yield spatial light modulator with light blocking layer
US5345328A (en) * 1992-08-12 1994-09-06 Sandia Corporation Tandem resonator reflectance modulator
US5327286A (en) * 1992-08-31 1994-07-05 Texas Instruments Incorporated Real time optical correlation system
US5325116A (en) * 1992-09-18 1994-06-28 Texas Instruments Incorporated Device for writing to and reading from optical storage media
US5296775A (en) * 1992-09-24 1994-03-22 International Business Machines Corporation Cooling microfan arrangements and process
US5659374A (en) * 1992-10-23 1997-08-19 Texas Instruments Incorporated Method of repairing defective pixels
EP0610665B1 (en) * 1993-01-11 1997-09-10 Texas Instruments Incorporated Pixel control circuitry for spatial light modulator
US5324683A (en) * 1993-06-02 1994-06-28 Motorola, Inc. Method of forming a semiconductor structure having an air region
US5489952A (en) * 1993-07-14 1996-02-06 Texas Instruments Incorporated Method and device for multi-format television
US5365283A (en) * 1993-07-19 1994-11-15 Texas Instruments Incorporated Color phase control for projection display using spatial light modulator
US5526172A (en) * 1993-07-27 1996-06-11 Texas Instruments Incorporated Microminiature, monolithic, variable electrical signal processor and apparatus including same
US5629790A (en) * 1993-10-18 1997-05-13 Neukermans; Armand P. Micromachined torsional scanner
US5526051A (en) * 1993-10-27 1996-06-11 Texas Instruments Incorporated Digital television system
US5497197A (en) * 1993-11-04 1996-03-05 Texas Instruments Incorporated System and method for packaging data into video processor
US5452024A (en) * 1993-11-01 1995-09-19 Texas Instruments Incorporated DMD display system
US5517347A (en) * 1993-12-01 1996-05-14 Texas Instruments Incorporated Direct view deformable mirror device
US5448314A (en) * 1994-01-07 1995-09-05 Texas Instruments Method and apparatus for sequential color imaging
US5500761A (en) * 1994-01-27 1996-03-19 At&T Corp. Micromechanical modulator
US5444566A (en) * 1994-03-07 1995-08-22 Texas Instruments Incorporated Optimized electronic operation of digital micromirror devices
US5526327A (en) * 1994-03-15 1996-06-11 Cordova, Jr.; David J. Spatial displacement time display
JPH07253594A (en) * 1994-03-15 1995-10-03 Fujitsu Ltd Display device
US5503952A (en) * 1994-03-22 1996-04-02 Shinto Paint Co., Ltd. Method for manufacture of color filter and liquid crystal display
KR950033432A (en) * 1994-05-12 1995-12-26 윌리엄 이. 힐러 Spatial Light Modulator Display Pointing Device
US5497172A (en) * 1994-06-13 1996-03-05 Texas Instruments Incorporated Pulse width modulation for spatial light modulator with split reset addressing
US5499062A (en) * 1994-06-23 1996-03-12 Texas Instruments Incorporated Multiplexed memory timing with block reset and secondary memory
US5485304A (en) * 1994-07-29 1996-01-16 Texas Instruments, Inc. Support posts for micro-mechanical devices
US5636052A (en) * 1994-07-29 1997-06-03 Lucent Technologies Inc. Direct view display based on a micromechanical modulation
US5619059A (en) * 1994-09-28 1997-04-08 National Research Council Of Canada Color deformable mirror device having optical thin film interference color coatings
US5650881A (en) * 1994-11-02 1997-07-22 Texas Instruments Incorporated Support post architecture for micromechanical devices
US5552924A (en) * 1994-11-14 1996-09-03 Texas Instruments Incorporated Micromechanical device having an improved beam
US5610624A (en) * 1994-11-30 1997-03-11 Texas Instruments Incorporated Spatial light modulator with reduced possibility of an on state defect
US5726480A (en) * 1995-01-27 1998-03-10 The Regents Of The University Of California Etchants for use in micromachining of CMOS Microaccelerometers and microelectromechanical devices and method of making the same
US5610438A (en) * 1995-03-08 1997-03-11 Texas Instruments Incorporated Micro-mechanical device with non-evaporable getter
US5636185A (en) * 1995-03-10 1997-06-03 Boit Incorporated Dynamically changing liquid crystal display timekeeping apparatus
US5535047A (en) * 1995-04-18 1996-07-09 Texas Instruments Incorporated Active yoke hidden hinge digital micromirror device
US5784190A (en) * 1995-04-27 1998-07-21 John M. Baker Electro-micro-mechanical shutters on transparent substrates
US5641391A (en) * 1995-05-15 1997-06-24 Hunter; Ian W. Three dimensional microfabrication by localized electrodeposition and etching
US5739945A (en) * 1995-09-29 1998-04-14 Tayebati; Parviz Electrically tunable optical filter utilizing a deformable multi-layer mirror
JP3799092B2 (en) * 1995-12-29 2006-07-19 アジレント・テクノロジーズ・インク Light modulation device and display device
US5638946A (en) * 1996-01-11 1997-06-17 Northeastern University Micromechanical switch with insulated switch contact
US5710656A (en) * 1996-07-30 1998-01-20 Lucent Technologies Inc. Micromechanical optical modulator having a reduced-mass composite membrane
US5793504A (en) * 1996-08-07 1998-08-11 Northrop Grumman Corporation Hybrid angular/spatial holographic multiplexer
US5912758A (en) * 1996-09-11 1999-06-15 Texas Instruments Incorporated Bipolar reset for spatial light modulators
US5771116A (en) * 1996-10-21 1998-06-23 Texas Instruments Incorporated Multiple bias level reset waveform for enhanced DMD control
US5943158A (en) * 1998-05-05 1999-08-24 Lucent Technologies Inc. Micro-mechanical, anti-reflection, switched optical modulator array and fabrication method

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233992A (en) * 1991-07-22 1993-08-10 Edison Biotechnology Center MRI method for high liver iron measurement using magnetic susceptibility induced field distortions
US5614959A (en) * 1992-02-08 1997-03-25 Samsung Electronics Co., Ltd. Method and apparatus for motion estimation
US5751893A (en) * 1992-03-24 1998-05-12 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus
US5587741A (en) * 1993-07-21 1996-12-24 Daewoo Electronics Co., Ltd. Apparatus and method for detecting motion vectors to half-pixel accuracy
US5481627A (en) * 1993-08-31 1996-01-02 Daewoo Electronics Co., Ltd. Method for rectifying channel errors in a transmitted image signal encoded by classified vector quantization
US5719630A (en) * 1993-12-10 1998-02-17 Nec Corporation Apparatus for compressive coding in moving picture coding device
US5781249A (en) * 1995-11-08 1998-07-14 Daewoo Electronics Co., Ltd. Full or partial search block matching dependent on candidate vector prediction distortion
US5805228A (en) * 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
US7079579B2 (en) * 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US6859494B2 (en) * 2001-07-27 2005-02-22 General Instrument Corporation Methods and apparatus for sub-pixel motion estimation
US7260148B2 (en) * 2001-09-10 2007-08-21 Texas Instruments Incorporated Method for motion vector estimation
US20030202594A1 (en) * 2002-03-15 2003-10-30 Nokia Corporation Method for coding motion in a video sequence
US7471725B2 (en) * 2003-03-26 2008-12-30 Lsi Corporation Segmented motion estimation with no search for small block sizes
US7800367B2 (en) * 2008-04-02 2010-09-21 General Electric Co. Method and apparatus for generating T2* weighted magnetic resonance images

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US20160080766A1 (en) * 2008-03-07 2016-03-17 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10244254B2 (en) 2008-03-07 2019-03-26 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10334271B2 (en) 2008-03-07 2019-06-25 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10341679B2 (en) 2008-03-07 2019-07-02 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US10412409B2 (en) 2008-03-07 2019-09-10 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
US20110051813A1 (en) * 2009-09-02 2011-03-03 Sony Computer Entertainment Inc. Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder
US8848799B2 (en) * 2009-09-02 2014-09-30 Sony Computer Entertainment Inc. Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder

Also Published As

Publication number Publication date
US7720148B2 (en) 2010-05-18
US20050243921A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
US7720148B2 (en) Efficient multi-frame motion estimation for video compression
US8718143B2 (en) Optical flow based motion vector estimation systems and methods
EP1797722B1 (en) Adaptive overlapped block matching for accurate motion compensation
US9247250B2 (en) Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
US8761258B2 (en) Enhanced block-based motion estimation algorithms for video compression
KR101037816B1 (en) Coding and decoding for interlaced video
US8780970B2 (en) Motion wake identification and control mechanism
US20060002474A1 (en) Efficient multi-block motion estimation for video compression
KR20040069210A (en) Sharpness enhancement in post-processing of digital video signals using coding information and local spatial features
US6873657B2 (en) Method of and system for improving temporal consistency in sharpness enhancement for a video signal
EP1506525B1 (en) System for and method of sharpness enhancement for coded digital video
US20070140336A1 (en) Video coding device and image recording/reproducing device
US8767831B2 (en) Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream
US8848793B2 (en) Method and system for video compression with integrated picture rate up-conversion
KR101037834B1 (en) Coding and decoding for interlaced video
KR100778469B1 (en) An optimization of motion estimation method and apparatus
Murmu Fast motion estimation algorithm in H. 264 standard
Arévalo López Frame Rate Up-Conversion with Frame Interpolation over non-regular block partitions of H. 264.
Lange Multiresolution Representation of Motion Vectors in Video Compression
Arroyo Gomez Video Decoder Concealment

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AU, OSCAR CHI-LIM;REEL/FRAME:026072/0032

Effective date: 20050316

Owner name: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AU, OSCAR CHI-LIM;CHANG, ANDY;REEL/FRAME:026072/0054

Effective date: 20050316

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION