US20070133681A1 - Method and related apparatus for motion estimation - Google Patents
Method and related apparatus for motion estimation Download PDFInfo
- Publication number
- US20070133681A1 US20070133681A1 US11/549,127 US54912706A US2007133681A1 US 20070133681 A1 US20070133681 A1 US 20070133681A1 US 54912706 A US54912706 A US 54912706A US 2007133681 A1 US2007133681 A1 US 2007133681A1
- Authority
- US
- United States
- Prior art keywords
- function
- encoding block
- pixels
- search range
- distortion
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/231—Analysis of motion using block-matching using full search
Definitions
- the invention relates to a method and related apparatus for motion estimation in a video compression system, and more particularly, to a method and related apparatus for motion estimation using a cost function.
- MPEG defines a standard for digital video compression.
- a motion picture is composed of a series of pictures, and each picture can be regarded as a two-dimensional array composed of a plurality of pixels, which is called a frame of the motion picture.
- MPEG standard defines four types of different pictures: I picture, which is encoded without referring to any other pictures; P picture, which is encoded through motion estimation referring to a previous I picture or P picture; B picture, which is encoded through motion estimation referring to a following I picture or P picture; and D picture, which is used in fast forward search mode.
- Video compression systems complying with the standards mentioned above utilize motion estimation technology based on blocks or macroblocks in order to reduce the temporal redundancy.
- the video compression system will find a best matching block, which is the most similar to the current encoding block, from a target picture.
- the video compression system can store (or transmit) the motion vector and the residual calculated to represent data included in the current encoding block (wherein the residual represents a pixel value difference between the current encoding block and the best matching block).
- (x, y) is a candidate motion vector in the search range
- (i 1 -i 0 )*(j 1 -j 0 ) is the size of the current encoding block
- C ij is a pixel in the current encoding block
- P i+x,j+y is a pixel in the search range of the target picture.
- the conventional video compression system finds a candidate motion vector (x, y), which minimizes the cost function, to be the optimal motion vector (x 1 , y 1 ) of the current encoding block.
- a candidate motion vector (x, y) which minimizes the cost function
- Such a method is for finding the best matching block having the smallest residual so that the residual can be better compressed.
- the found optimal motion vector (x 1 , y 1 ) may not result in better compression; thus U.S. Pat. No. 5,847,776 discloses another cost function that considers not only the sum of absolute difference but also the volume of the motion vector during the searching for the optimal motion vector so that a balance can be kept between the found optimal motion vector and a residual corresponding to it.
- DCT discrete cosine transform
- the smaller of the frequency distribution range of the residual means that the degree of disorder or randomness of the residual is smaller, i.e. entropy (a measurement or function of disorder or randomness) of the residual is smaller.
- entropy a measurement or function of disorder or randomness
- the residual may not necessarily have the shortest code length, meaning that the optimal compression cannot be achieved. This is a main problem in the prior art.
- the disclosed embodiment of the present invention discloses a motion estimation method for selecting a target motion vector from a plurality of candidate motion vectors in a search range of a target picture for an encoding block having a lot of pixels in a picture.
- the method comprises: utilizing a distortion function to calculate difference between the pixels of the encoding block and the pixels in the search range of the target picture to generate at least one distortion value; utilizing an entropy function to determine the distribution or variation of the difference between the pixels of the encoding block and the pixels in the search range of blocks corresponding to candidate motion vectors to generate at least one distribution values; summing up the distortion values and the distribution values to generate at least one sum value; and selecting the target motion vector according to the sum value.
- the disclosed embodiment also discloses a motion estimation device for selecting a target motion vector from a plurality of candidate motion vectors in a search range for an encoding block having a lot of pixels.
- the device comprises: a distortion calculator for utilizing a distortion function for calculating difference between the pixels of the encoding block and the pixels in the search range of a target picture to generate at least one distortion value; a spatial variation calculating module for utilizing an entropy function to determine the distribution or variation of the difference between the pixels of the encoding block and the pixels in the search range corresponding to candidate motion vectors to generate at least one distribution value; and a motion vector determining module, coupled with the distortion calculator and the spatial variation calculating module, for summing up the distortion value and the distribution value to generate at least one sum value and for determining the target motion vector according to the sum value.
- FIG. 1 illustrates a flowchart of a method according to the present invention.
- FIG. 2 illustrates a motion estimation device in the video compression system according to the present invention.
- FIG. 1 showing a flowchart of a method according to the present invention.
- the method can be used in a video compression system for motion estimation.
- the video compression system divides a current picture into a plurality of blocks.
- the method is shown in FIG. 1 as follows:
- Step 110 Step through a plurality of candidate motion vectors (x, y) in a search range for a current encoding block of a current picture.
- the current encoding block includes (i 1 -i 0 )*(j 1 -j 0 ) pixels.
- C ij is a pixel in the current encoding block
- P i+x,j+y is a pixel in the search range of the target picture
- Qp is a quantization step.
- Step 130 Determine the candidate motion vector (x, y) in the search range that meet a desired condition, such as minimizes the cost function, to be a target motion vector (x 1 , y 1 ) of the current encoding block.
- a desired condition such as minimizes the cost function
- the target motion vector which minimizes the cost function may regarded as an optimal motion vector.
- the present invention is different from the prior art because the cost function used in the present invention considers not only a sum of absolute difference calculated from a distortion function (i.e. member
- function h(Qp, C i,j , P i+x,j+y ) can be represented as K ⁇ f(Qp) ⁇ g(
- ) still can be used to the present invention even if f(Qp) is removed.
- h(Qp, C i,j , P i+x,j+y ) has a more important influence on the cost function.
- ) is for roughly calculating or determining the variation of the pixel difference between the current encoding block and a block corresponding to the current candidate motion vector (x, y) (i.e. representing the distribution or variation of the residual in the frequency domain).
- ad_max and ad_min can be refreshed for the later calculation of functions g(
- the second block is taken as the best matching block for the current encoding block according to the prior art.
- the first block is taken as the best matching block for the current encoding block. This is very different from the prior art.
- ad_max and ad_min are respectively the maximum and the minimum of
- a distortion function such as
- an entropy function such as h(Qp, C i,j , P i+x,j+y ) or g(
- the larger distribution range or entropy of the pixel difference between the current encoding block and a block corresponding to a candidate motion vector (x, y) in the target picture (in the example above, the larger the difference between the maximum and the minimum)
- the larger the cost function is so that it is less easier to be selected as the best matching block for the current encoding block.
- FIG. 2 showing a motion estimation device 200 in the video compression system according to the present invention.
- the video compression system divides a current picture into a plurality of blocks.
- the device 200 can determine an optimal motion vector (x 1 , y 1 ) from a plurality of candidate motion vectors (x, y) in a search range, wherein the current encoding block includes (i 1 - 10 )*(j 1 -j 0 ) pixels.
- the device 200 includes an distortion calculator 220 for calculating distortion between the pixels of the encoding block and the pixels in the search range of a target picture.
- the distortion can be obtained from
- function h(Qp, C i,j , P i+x,j+y ) can be represented as K ⁇ (Qp) ⁇ g(
- f(Qp) can be regarded as an amplifying factor for amplifying the effect of g(
- the motion vector determining module 260 includes an adder 262 coupled with the distortion calculator 220 and the spatial variation calculating module 240 for adding one of the distortion value and one of the distribution value (for example,
- the determiner 70 For storing a smaller value of the sum value and comparing different sum values generated from different candidate motion vectors as shown in FIG. 2 , the determiner 70 includes a comparator 272 coupled with the accumulator 264 for outputting the targetI motion vector (x 1 , y 1 ), and a storage 274 coupled with the comparator 272 for storing the smaller value of the sum values,
- the optimal motion vector in the search range of the current encoding block can be obtained according to a cost function different from that in the prior art. Since the cost function of the present invention is influenced by the variation of the pixel difference between the current encoding block and a block corresponding to the current candidate motion vector (x, y), the present invention can provide a better compression efficiency on the residual corresponding to the optimal motion vector after processing (by DCT, quantization process, zig-zag scan and variable length coding).
- the present invention does not need to calculate the bit rate of each candidate motion vectors and only needs a distortion function and an entropy function to select a target motion vector.
- the calculating loading can be decreased and the speed can be increased.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Disclosed is a motion estimation method for selecting a target motion vector from a plurality of candidate motion vectors in a search range of a target picture for an encoding block having a lot of pixels in a picture is disclosed. The method comprises: utilizing a distortion function to calculate difference between the pixels of the encoding block and the pixels in the search range of a target picture to generate at least one distortion value; utilizing an entropy function to determine the distribution of the difference between the pixels of the encoding block and the pixels in the search range of blocks corresponding to candidate motion vectors to generate at least one distribution values; summing up the distortion values and the distribution values to generate at least one sum value; and selecting the target motion vector according to the sum value.
Description
- This application is a continuation application of applicant's earlier application, Ser. No. 10/904,421, filed Nov. 9, 2004, and is included herein by reference.
- 1. Field of the Invention
- The invention relates to a method and related apparatus for motion estimation in a video compression system, and more particularly, to a method and related apparatus for motion estimation using a cost function.
- 2. Description of the Prior Art
- As multimedia technology develops, more and more standards related to video compression have been introduced. For instance, various versions of MPEG are standards for digital video compression, and ITU H.261, H.263, ISO 10918 are other examples.
- MPEG defines a standard for digital video compression. A motion picture is composed of a series of pictures, and each picture can be regarded as a two-dimensional array composed of a plurality of pixels, which is called a frame of the motion picture. MPEG standard defines four types of different pictures: I picture, which is encoded without referring to any other pictures; P picture, which is encoded through motion estimation referring to a previous I picture or P picture; B picture, which is encoded through motion estimation referring to a following I picture or P picture; and D picture, which is used in fast forward search mode.
- Video compression systems complying with the standards mentioned above utilize motion estimation technology based on blocks or macroblocks in order to reduce the temporal redundancy. During motion estimation, for a current encoding block in a current picture, the video compression system will find a best matching block, which is the most similar to the current encoding block, from a target picture. In this case, for the current encoding block, the video compression system can store (or transmit) the motion vector and the residual calculated to represent data included in the current encoding block (wherein the residual represents a pixel value difference between the current encoding block and the best matching block).
- According to the prior art, when the video compression system searches for the best matching block from a search range, a cost function called “sum of absolute difference” is used, which is obtained as follows:
- (x, y) is a candidate motion vector in the search range, (i1-i0)*(j1-j0) is the size of the current encoding block, Cij is a pixel in the current encoding block, and Pi+x,j+y is a pixel in the search range of the target picture.
- The conventional video compression system finds a candidate motion vector (x, y), which minimizes the cost function, to be the optimal motion vector (x1, y1) of the current encoding block. Such a method is for finding the best matching block having the smallest residual so that the residual can be better compressed. However, the found optimal motion vector (x1, y1) may not result in better compression; thus U.S. Pat. No. 5,847,776 discloses another cost function that considers not only the sum of absolute difference but also the volume of the motion vector during the searching for the optimal motion vector so that a balance can be kept between the found optimal motion vector and a residual corresponding to it.
- However, most video compression systems utilize a discrete cosine transform (DCT) algorithm to transform the residual in a spatial domain into a frequency domain during the compressing of the residual. Then the video compression system utilizes a corresponding quantization matrix and a quantization step Qp, which changes according to a bit rate selected by the system, to quantize the residual in the frequency domain. Since the quantized matrix is a two-dimensional matrix, the system further utilizes zig-zag scan or alternate scan to scan the quantized two-dimensional data into one-dimensional data. Finally, the video compression system operates variable length coding.
- During variable length coding, the smaller the frequency distribution range of the residual in the frequency domain is, the shorter the code length of the encoded residual is (i.e. the better compressed the residual is). In other word, the smaller of the frequency distribution range of the residual means that the degree of disorder or randomness of the residual is smaller, i.e. entropy (a measurement or function of disorder or randomness) of the residual is smaller. However, neither the prior art nor the method disclosed in U.S. Pat. No. 5,847,776 can find the best matching block with the residual that has the smallest frequency distribution range or has the smaller entropy. Even in the case that the found best matching block results in a residual in the spatial domain having the smallest sum of absolute difference, after it has been operated on by DCT, quantization process, zig-zag scan (or other scan methods), variable length coding, the residual may not necessarily have the shortest code length, meaning that the optimal compression cannot be achieved. This is a main problem in the prior art.
- Recently, a new MPEG technique H.264 is disclosed, which calculates bit rate for each candidate motion vector to determine an optimal motion vector. However, such method will cause heavy calculation loading and is time consuming for processing such calculation.
- It is therefore a primary objective of the claimed invention to provide a method and related apparatus utilizing an entropy function and a distortion function to solve the problems mentioned above.
- The disclosed embodiment of the present invention discloses a motion estimation method for selecting a target motion vector from a plurality of candidate motion vectors in a search range of a target picture for an encoding block having a lot of pixels in a picture is disclosed. The method comprises: utilizing a distortion function to calculate difference between the pixels of the encoding block and the pixels in the search range of the target picture to generate at least one distortion value; utilizing an entropy function to determine the distribution or variation of the difference between the pixels of the encoding block and the pixels in the search range of blocks corresponding to candidate motion vectors to generate at least one distribution values; summing up the distortion values and the distribution values to generate at least one sum value; and selecting the target motion vector according to the sum value.
- The disclosed embodiment also discloses a motion estimation device for selecting a target motion vector from a plurality of candidate motion vectors in a search range for an encoding block having a lot of pixels. The device comprises: a distortion calculator for utilizing a distortion function for calculating difference between the pixels of the encoding block and the pixels in the search range of a target picture to generate at least one distortion value; a spatial variation calculating module for utilizing an entropy function to determine the distribution or variation of the difference between the pixels of the encoding block and the pixels in the search range corresponding to candidate motion vectors to generate at least one distribution value; and a motion vector determining module, coupled with the distortion calculator and the spatial variation calculating module, for summing up the distortion value and the distribution value to generate at least one sum value and for determining the target motion vector according to the sum value.
- These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
-
FIG. 1 illustrates a flowchart of a method according to the present invention. -
FIG. 2 illustrates a motion estimation device in the video compression system according to the present invention. - Please refer to
FIG. 1 showing a flowchart of a method according to the present invention. The method can be used in a video compression system for motion estimation. The video compression system divides a current picture into a plurality of blocks. The method is shown inFIG. 1 as follows: - Step 110: Step through a plurality of candidate motion vectors (x, y) in a search range for a current encoding block of a current picture. The current encoding block includes (i1-i0)*(j1-j0) pixels.
- Step 120: Calculate a cost function for each candidate motion vector (x, y) as follows:
- wherein Cij is a pixel in the current encoding block, Pi+x,j+y is a pixel in the search range of the target picture, and Qp is a quantization step. As well-known by persons skilled in the art,
is a distortion function for computing the difference between the pixels of the encoding block and the pixels in the search range of a target picture. - Step 130: Determine the candidate motion vector (x, y) in the search range that meet a desired condition, such as minimizes the cost function, to be a target motion vector (x1, y1) of the current encoding block. Wherein, the target motion vector which minimizes the cost function may regarded as an optimal motion vector.
- The present invention is different from the prior art because the cost function used in the present invention considers not only a sum of absolute difference calculated from a distortion function (i.e. member |Ci,j−Pi+x,j+y|) but also other members corresponding to the quantization step Qp and the distribution or variation of the sum of absolute difference (i.e. member h(Qp, Ci,j, Pi+x,j+y)).
- For instance, function h(Qp, Ci,j, Pi+x,j+y) can be represented as K×f(Qp)×g(|Ci,j−Pi+x,j+y|), wherein K is a constant. Therefore, function f(Qp) is a monotonic increasing function, meaning that the larger Qp is, the larger function f(Qp) is. In other words, f(Qp) can be regarded as an amplifying factor for amplifying the effect of g(|Ci,j, Pi+x,j+y|). Therefore, g(|Ci,j,Pi+x,j+y|) still can be used to the present invention even if f(Qp) is removed. In this case h(Qp, Ci,j, Pi+x,j+y) has a more important influence on the cost function. Function g(|Ci,j−Pi+x,j+y|) is for roughly calculating or determining the variation of the pixel difference between the current encoding block and a block corresponding to the current candidate motion vector (x, y) (i.e. representing the distribution or variation of the residual in the frequency domain). Generally, the smaller
is, the better compressed the residual resulting from the candidate motion vector (x, y) and operated by DCT, quantization process, zig-zag scan (or other scan methods), and variable length coding. - Here is an example of function g(|Ci,j−Pi+x,j+y|):
- Wherein ad_max and ad_min are shown as follows:
- In this example, whenever a function g(|Ci,j−Pi+x,j+y|) corresponding to a set of (i, j) is calculated, ad_max and ad_min can be refreshed for the later calculation of functions g(|Ci,j−Pi+x,j+y|) corresponding to (i, j).
- Take the case of a 2*3 block, (i1-i0)=2, (j1-j0)=3. Imagine if there are only two candidate motion vectors in the search range respectively corresponding to a first block and a second block, the absolute value of the pixel difference between the current encoding block and the first block {8, 9, 6, 8, 7, 6}, and the absolute value of the pixel difference between the current encoding block and the second block {5, 10, 4, 22, 0, 0}. Calculating the cost function by the sum of absolute difference according to the prior art, the cost functions of the first block and the second block are as follows:
- first block: 8+9+6+8+7+6=44
- second block: 5+10+4+22=41
- Therefore the second block is taken as the best matching block for the current encoding block according to the prior art.
- However, according to the present invention, where one assumes K=1, f(Qp)=1, the cost functions of the first block and the second block are as follows:
- first block: [8+0]+[9+(9−8)]+[6+(8−6)]+[8+0]+[7+0]+[6+0]=47
- second block: [5+0]+[10+(10−5)]+[4+(5−4)]+[22+(22−10)]+[0+(4−0)]+[0+0]=63
- Obviously, according to the present invention, the first block is taken as the best matching block for the current encoding block. This is very different from the prior art.
- According to function g(|Ci,j−Pi+x,j+y|) described above, the cost function disclosed in the present invention can be simplified as follows:
- Wherein ad_max and ad_min are respectively the maximum and the minimum of |Ci,j−Pi+x,j+y| between (i, j)=(i0, j0) and (i, j)=(i1, j1).
- The above-mentioned method can be summarized as follows:
- First, utilize a distortion function such as |Ci,j−Pi+x,j+y| to calculate difference between the pixels of the encoding block and the pixels in the search range of a target picture to generate at least one distortion value.
- Second, utilize an entropy function such as h(Qp, Ci,j, Pi+x,j+y) or g(|Ci,j−Pi+x,j+y|) to calculate the distribution or variation of the difference between the pixels of the encoding block and the pixels of blocks corresponding to candidate motion vectors to generate at least one distribution values.
- Third, sum up the distortion values and the distribution values to generate at least one sum value. For example, utilize a cost function such as
to calculate the sum value. - Fourth, select the target motion vector according to the sum value.
- That is, according to the present invention, the larger distribution range or entropy of the pixel difference between the current encoding block and a block corresponding to a candidate motion vector (x, y) in the target picture (in the example above, the larger the difference between the maximum and the minimum), the larger the cost function is so that it is less easier to be selected as the best matching block for the current encoding block.
- Please refer to
FIG. 2 showing amotion estimation device 200 in the video compression system according to the present invention. The video compression system divides a current picture into a plurality of blocks. For a current encoding block in the current picture, thedevice 200 can determine an optimal motion vector (x1, y1) from a plurality of candidate motion vectors (x, y) in a search range, wherein the current encoding block includes (i1-10)*(j1-j0) pixels. As shown inFIG. 2 , thedevice 200 includes andistortion calculator 220 for calculating distortion between the pixels of the encoding block and the pixels in the search range of a target picture. For example, the distortion can be obtained from |Ci,j−Pi+x,j+y|, wherein Cij is a pixel in the current encoding block, and Pi+x,j+y is a pixel in the search range of the target picture; a spatialvariation calculating module 240 for calculating distribution value by utilizing an entropy function such as h(Qp, Ci,j, Pi+x,j+y), wherein Qp is a quantization step; and a motionvector determining module 260 coupled with thedistortion calculator 220 and the spatialvariation calculating module 240 for summing up the distortion values and the variation values to generate at least one sum value and for determining the target motion vector according to the sum value. For example, the spatialvariation calculating module 240 calculates a cost function as follows: - For instance, similar to the above description, function h(Qp, Ci,j, Pi+x,j+y) can be represented as K×∫(Qp)×g(|Ci,j−Pi+x,j+y|); therefore in
device 200, the spatialvariation calculating module 240 includes afirst calculator 242 for calculating function g(|Ci,j−Pi+x,j+y|), asecond calculator 244 for calculating function f(Qp), and amultiplier 246 coupled with thefirst calculator 242 and thesecond calculator 244 for calculating K×f(Qp)×g(|Ci,j−Pi+x,j+y|). As described above, f(Qp) can be regarded as an amplifying factor for amplifying the effect of g(|Ci,j, Pi+x,j+y|). Therefore, g(|Ci,j, Pi+x,j+y|) still can be used to the present invention even if f(Qp) is removed. - The motion
vector determining module 260 includes anadder 262 coupled with thedistortion calculator 220 and the spatialvariation calculating module 240 for adding one of the distortion value and one of the distribution value (for example, |Ci,j−Pi+x,j+y|+h(Qp, Ci,j, Pi+x,j+y), anaccumulator 264 coupled with theadder 262 for calculating the sum of the distortion values and distribution values (for example,
and adeterminer 270 coupled with theaccumulator 246 for determining the candidate motion vector (x, y), which meet a desired condition such as minimizes the cost function, to be the target motion vector (x1, y1) of the current encoding block. Wherein, the target motion vector which minimizes the cost function may regard as an optimal motion vector. - For storing a smaller value of the sum value and comparing different sum values generated from different candidate motion vectors as shown in
FIG. 2 , the determiner 70 includes acomparator 272 coupled with theaccumulator 264 for outputting the targetI motion vector (x1, y1), and astorage 274 coupled with thecomparator 272 for storing the smaller value of the sum values, - In contrast to the prior art, the optimal motion vector in the search range of the current encoding block can be obtained according to a cost function different from that in the prior art. Since the cost function of the present invention is influenced by the variation of the pixel difference between the current encoding block and a block corresponding to the current candidate motion vector (x, y), the present invention can provide a better compression efficiency on the residual corresponding to the optimal motion vector after processing (by DCT, quantization process, zig-zag scan and variable length coding).
- Also, comparing with the above-mentioned H.264, the present invention does not need to calculate the bit rate of each candidate motion vectors and only needs a distortion function and an entropy function to select a target motion vector. Thus the calculating loading can be decreased and the speed can be increased.
- Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Claims (15)
1. A motion estimation method for selecting a target motion vector from a plurality of candidate motion vectors in a search range of a target picture for an encoding block having a lot of pixels, the method comprising;
utilizing a distortion function to calculate difference between the pixels of the encoding block and the pixels in the search range to generate at least one distortion value;
utilizing an entropy function to determine the distribution of the difference between the pixels of the encoding block and the pixels in the search range corresponding to candidate motion vectors to generate at least one distribution value;
summing up the distortion value and the distribution value to generate at least one sum value; and
selecting the targetmotion vector according to the sum value.
2. The method of claim 1 , wherein the distortion function is |Ci,j−Pi+x,j+y|, wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
3. The method of claim 1 , wherein the entropy function is g(|Ci,j, Pi+x,j+y|), wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
4. The method of claim 1 , wherein the entropy function is h(Qp, Ci,j, Pi+x,j+y), wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
5. The method of claim 4 wherein h(Qp, Ci,j, Pi+x,j+y) is K×f(Qp)×g(|Ci,j−Pi+x,j+y|), where K is a constant and the function f(Qp) is a monotonic increasing function.
6. The method of claim 4 wherein the larger Qp is, the larger the function h(Qp, Ci,j, Pi+x,j+y) is.
7. A motion estimation device for selecting a target motion vector from a plurality of candidate motion vectors in a search range for an encoding block having a lot of pixels, the device comprising;
a distortion calculator for utilizing a distortion function for calculating difference between the pixels of the encoding block and the pixels in the search range of a target picture to generate at least one distortion value;
a spatial variation calculating module for utilizing an entropy function to calculate the distribution of the difference between the pixels of the encoding block and the pixels in the search range corresponding to candidate motion vectors to generate at least one distribution value; and
a motion vector determining module, coupled with the distortion calculator and the spatial variation calculating module, for summing up the distortion value and the distribution value to generate at least one sum value and for determining the target motion vector according to the sum value.
8. The device of claim 7 , wherein the distortion function is |Ci,j−Pi+x,j+y|, wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
9. The device of claim 7 , wherein the entropy function is g(|Ci,j, Pi+x,j+y|), wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
10. The device of claim 7 , wherein the entropy function is h(Qp, Ci,j, Pi+x,j+y), wherein Cij is the pixel in the encoding block, and Pi+x,j+y is the pixel in the search range of the target picture.
11. The device of claim 10 , wherein h(Qp, Ci,j, Pi+x,j+y) can be represented as K×f(Qp)×g(|Ci,j−Pi+x,j+y|), K being a constant, and function f(Qp) being a monotonic increasing function.
12. The device of claim 11 , wherein the spatial variation calculating module comprises:
a first calculator for calculating function g(|Ci,j−Pi+x,j+y|);
a second calculator for calculating function f(Qp); and
a multiplier coupled with the first calculator and the second calculator for calculating K×f(Qp)×g(|Ci,j−Pi+x,j+y|).
13. The device of claim 10 , wherein the larger Qp is, the larger the function h(Qp, Ci,j, Pi+x,j+y) is.
14. The device of claim 7 , wherein the motion vector determining module comprises:
an adder, coupled with the distortion calculator and the spatial variation calculating module for adding the distortion value to the distribution value;
an accumulator, coupled with the adder, for calculating the sum value; and
a determiner, coupled with the accumulator for determining the target motion vector.
15. The device of claim 14 , wherein the determiner comprises:
a comparator, coupled with the accumulator, for outputting the target motion vector; and
a storage, coupled with the comparator for storing the minimum value of the sum values that ever appears.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/549,127 US20070133681A1 (en) | 2003-11-11 | 2006-10-13 | Method and related apparatus for motion estimation |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW092131565 | 2003-11-11 | ||
TW092131565A TWI227641B (en) | 2003-11-11 | 2003-11-11 | Method and related apparatus for motion estimation |
US10/904,421 US7145951B2 (en) | 2003-11-11 | 2004-11-09 | Method and related apparatus for motion estimation |
US11/549,127 US20070133681A1 (en) | 2003-11-11 | 2006-10-13 | Method and related apparatus for motion estimation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/904,421 Continuation US7145951B2 (en) | 2003-11-11 | 2004-11-09 | Method and related apparatus for motion estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070133681A1 true US20070133681A1 (en) | 2007-06-14 |
Family
ID=34546502
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/904,421 Active 2025-05-12 US7145951B2 (en) | 2003-11-11 | 2004-11-09 | Method and related apparatus for motion estimation |
US11/549,127 Abandoned US20070133681A1 (en) | 2003-11-11 | 2006-10-13 | Method and related apparatus for motion estimation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/904,421 Active 2025-05-12 US7145951B2 (en) | 2003-11-11 | 2004-11-09 | Method and related apparatus for motion estimation |
Country Status (2)
Country | Link |
---|---|
US (2) | US7145951B2 (en) |
TW (1) | TWI227641B (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070127575A1 (en) * | 2003-11-11 | 2007-06-07 | Cheng-Tsai Ho | Method and related apparatus for motion estimation |
US20080159387A1 (en) * | 2007-01-03 | 2008-07-03 | Human Monitoring Ltd. | Entropy deficiency based image |
US20080165843A1 (en) * | 2007-01-03 | 2008-07-10 | Human Monitoring Ltd. | Architecture for image compression in a video hardware |
US20090323810A1 (en) * | 2008-06-26 | 2009-12-31 | Mediatek Inc. | Video encoding apparatuses and methods with decoupled data dependency |
US20110051811A1 (en) * | 2009-09-02 | 2011-03-03 | Sony Computer Entertainment Inc. | Parallel digital picture encoding |
CN103927764A (en) * | 2014-04-29 | 2014-07-16 | 重庆大学 | Vehicle tracking method combining target information and motion estimation |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006136983A2 (en) * | 2005-06-23 | 2006-12-28 | Nxp B.V. | Motion estimation |
US9307122B2 (en) * | 2006-09-27 | 2016-04-05 | Core Wireless Licensing S.A.R.L. | Method, apparatus, and computer program product for providing motion estimation for video encoding |
KR100827093B1 (en) * | 2006-10-13 | 2008-05-02 | 삼성전자주식회사 | Method for video encoding and apparatus for the same |
US8218811B2 (en) | 2007-09-28 | 2012-07-10 | Uti Limited Partnership | Method and system for video interaction based on motion swarms |
US8457208B2 (en) * | 2007-12-19 | 2013-06-04 | Dolby Laboratories Licensing Corporation | Adaptive motion estimation |
CN102263944B (en) * | 2010-05-27 | 2014-07-02 | 晨星软件研发(深圳)有限公司 | Video coding system, mobile estimation device and calculation method for mobile estimation |
IN2014CN00479A (en) * | 2011-06-28 | 2015-04-03 | Samsung Electronics Co Ltd |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398078A (en) * | 1991-10-31 | 1995-03-14 | Kabushiki Kaisha Toshiba | Method of detecting a motion vector in an image coding apparatus |
US5768404A (en) * | 1994-04-13 | 1998-06-16 | Matsushita Electric Industrial Co., Ltd. | Motion and disparity estimation method, image synthesis method, and apparatus for implementing same methods |
US5847776A (en) * | 1996-06-24 | 1998-12-08 | Vdonet Corporation Ltd. | Method for entropy constrained motion estimation and coding of motion vectors with increased search range |
US6348954B1 (en) * | 1998-03-03 | 2002-02-19 | Kdd Corporation | Optimum motion vector determinator and video coding apparatus using the same |
US6418166B1 (en) * | 1998-11-30 | 2002-07-09 | Microsoft Corporation | Motion estimation and block matching pattern |
US20030053543A1 (en) * | 2001-07-24 | 2003-03-20 | Sasken Communication Technologies Limited | Motion estimation technique for digital video encoding applications |
US20030081677A1 (en) * | 2001-10-31 | 2003-05-01 | Oplus Technologies Ltd. | Method for determing entropy of a pixel of a real time streaming digital video image signal, and applications thereof |
US20040213348A1 (en) * | 2003-04-22 | 2004-10-28 | Samsung Electronics Co., Ltd. | Apparatus and method for determining 4X4 intra luminance prediction mode |
US20070127575A1 (en) * | 2003-11-11 | 2007-06-07 | Cheng-Tsai Ho | Method and related apparatus for motion estimation |
US7561623B2 (en) * | 2002-01-31 | 2009-07-14 | Samsung Electronics Co., Ltd. | Filtering method for removing block artifacts and/or ringing noise and apparatus therefor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
US7072399B2 (en) * | 2002-07-17 | 2006-07-04 | Lsi Logic Corporation | Motion estimation method and system for MPEG video streams |
-
2003
- 2003-11-11 TW TW092131565A patent/TWI227641B/en not_active IP Right Cessation
-
2004
- 2004-11-09 US US10/904,421 patent/US7145951B2/en active Active
-
2006
- 2006-10-13 US US11/549,127 patent/US20070133681A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398078A (en) * | 1991-10-31 | 1995-03-14 | Kabushiki Kaisha Toshiba | Method of detecting a motion vector in an image coding apparatus |
US5768404A (en) * | 1994-04-13 | 1998-06-16 | Matsushita Electric Industrial Co., Ltd. | Motion and disparity estimation method, image synthesis method, and apparatus for implementing same methods |
US5847776A (en) * | 1996-06-24 | 1998-12-08 | Vdonet Corporation Ltd. | Method for entropy constrained motion estimation and coding of motion vectors with increased search range |
US6348954B1 (en) * | 1998-03-03 | 2002-02-19 | Kdd Corporation | Optimum motion vector determinator and video coding apparatus using the same |
US6418166B1 (en) * | 1998-11-30 | 2002-07-09 | Microsoft Corporation | Motion estimation and block matching pattern |
US20030053543A1 (en) * | 2001-07-24 | 2003-03-20 | Sasken Communication Technologies Limited | Motion estimation technique for digital video encoding applications |
US20030081677A1 (en) * | 2001-10-31 | 2003-05-01 | Oplus Technologies Ltd. | Method for determing entropy of a pixel of a real time streaming digital video image signal, and applications thereof |
US7561623B2 (en) * | 2002-01-31 | 2009-07-14 | Samsung Electronics Co., Ltd. | Filtering method for removing block artifacts and/or ringing noise and apparatus therefor |
US20040213348A1 (en) * | 2003-04-22 | 2004-10-28 | Samsung Electronics Co., Ltd. | Apparatus and method for determining 4X4 intra luminance prediction mode |
US20070127575A1 (en) * | 2003-11-11 | 2007-06-07 | Cheng-Tsai Ho | Method and related apparatus for motion estimation |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070127575A1 (en) * | 2003-11-11 | 2007-06-07 | Cheng-Tsai Ho | Method and related apparatus for motion estimation |
US20080159387A1 (en) * | 2007-01-03 | 2008-07-03 | Human Monitoring Ltd. | Entropy deficiency based image |
US20080165843A1 (en) * | 2007-01-03 | 2008-07-10 | Human Monitoring Ltd. | Architecture for image compression in a video hardware |
US8467617B2 (en) | 2007-01-03 | 2013-06-18 | Human Monitoring Ltd. | Compressing high resolution images in a low resolution video |
US20090323810A1 (en) * | 2008-06-26 | 2009-12-31 | Mediatek Inc. | Video encoding apparatuses and methods with decoupled data dependency |
US20110051811A1 (en) * | 2009-09-02 | 2011-03-03 | Sony Computer Entertainment Inc. | Parallel digital picture encoding |
US8379718B2 (en) * | 2009-09-02 | 2013-02-19 | Sony Computer Entertainment Inc. | Parallel digital picture encoding |
US9247248B2 (en) | 2009-09-02 | 2016-01-26 | Sony Computer Entertainment Inc. | Mode searching and early termination of a video picture and fast compression of variable length symbols |
CN103927764A (en) * | 2014-04-29 | 2014-07-16 | 重庆大学 | Vehicle tracking method combining target information and motion estimation |
Also Published As
Publication number | Publication date |
---|---|
TWI227641B (en) | 2005-02-01 |
TW200516991A (en) | 2005-05-16 |
US7145951B2 (en) | 2006-12-05 |
US20050100096A1 (en) | 2005-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070133681A1 (en) | Method and related apparatus for motion estimation | |
US6876703B2 (en) | Method and apparatus for video coding | |
US9350994B2 (en) | Motion estimation technique for digital video encoding applications | |
US8625916B2 (en) | Method and apparatus for image encoding and image decoding | |
US7444026B2 (en) | Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith | |
US8520727B2 (en) | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs | |
US8374451B2 (en) | Image processing device and image processing method for reducing the circuit scale | |
US20050190977A1 (en) | Method and apparatus for video encoding | |
US20070127575A1 (en) | Method and related apparatus for motion estimation | |
US20050281479A1 (en) | Method of and apparatus for estimating noise of input image based on motion compensation, method of eliminating noise of input image and encoding video using the method for estimating noise of input image, and recording media having recorded thereon program for implementing those methods | |
US8064517B1 (en) | Perceptually adaptive quantization parameter selection | |
US7983338B2 (en) | Method for progressive lossless video coding, method for progressive lossless video decoding, progressive lossless video coding apparatus, progressive lossless video decoding apparatus, progressive lossless video coding program, progressive lossless video decoding program, and recording media of progressive lossless video coding program and progressive lossless video decoding program | |
US20070098075A1 (en) | Motion vector estimating device and motion vector estimating method | |
EP1086580A1 (en) | Hierarchical motion estimation process and system using block-matching and integral projection | |
US20070104268A1 (en) | Method of estimating coded block pattern and method of determining block mode using the same for moving picture encoder | |
JPH0634651A (en) | Method and device for detecting kinetic vector | |
US7203369B2 (en) | Method for estimating motion by referring to discrete cosine transform coefficients and apparatus therefor | |
US20120183051A1 (en) | Method for video encoding mode selection and video encoding apparatus performing the same | |
US20050226329A1 (en) | Motion estimation method using multilevel succesive elimination algorithm | |
US20050157790A1 (en) | Apparatus and mehtod of coding moving picture | |
US20020106021A1 (en) | Method and apparatus for reducing the amount of computation of the video images motion estimation | |
US7706440B2 (en) | Method for reducing bit rate requirements for encoding multimedia data | |
KR101037743B1 (en) | Method for motion estimation using an efficient early termination scheme, and apparatus for video encoding using the same | |
KR20100097387A (en) | Method of partial block matching for fast motion estimation | |
KR100669635B1 (en) | Method of motion compensation based on correlation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MEDIATEK INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HO, CHENG-TSAI;REEL/FRAME:018383/0807 Effective date: 20040907 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |