US20040076233A1 - Motion vector coding method - Google Patents

Motion vector coding method Download PDF

Info

Publication number
US20040076233A1
US20040076233A1 US10/670,474 US67047403A US2004076233A1 US 20040076233 A1 US20040076233 A1 US 20040076233A1 US 67047403 A US67047403 A US 67047403A US 2004076233 A1 US2004076233 A1 US 2004076233A1
Authority
US
United States
Prior art keywords
translational motion
motion vectors
current block
median
circumflex over
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
US10/670,474
Inventor
Kook-yeol Yoo
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to US10/670,474 priority Critical patent/US20040076233A1/en
Publication of US20040076233A1 publication Critical patent/US20040076233A1/en
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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a motion vector coding method and an affine motion estimation method, and more particularly, to a motion vector coding method capable of producing a low bit rate bitstream and an affine motion estimation method capable of effectively performing coding on a small block.
  • ITU-T International Telecommunication Union-Terminal Sector
  • H.261, H.263, and H.263+ that define a motion vector coding method for visual telephony were adopted as an ITU-T standard
  • technologies based on H.263++ and Moving Picture Experts Group (MPEG)-4 standard schemes have been developed. Nonetheless, there remains a need for further improving coding efficiency for ultra low speed real-time applications and a short end-to-end delay.
  • an affine motion estimation is performed to represent the motion of a pixel in an image using the following Equations (1a) and (1b):
  • v X (i,j) and v Y (i,j) are motion magnitude components of the X- and Y-axis directions for a pixel located in the block (i,j).
  • the expression (v X (i,j), v Y (i,j)) T consisting of motion magnitude components v X (i,j) and v Y (i,j), is referred to as the motion vector of the pixel located at the coordinates (i,j). That is, the motion vector of each pixel is determined by each pixel location and six parameters (a 0 , a 1 , a 2 , . . . , a 5 ) T .
  • These parameters (a 0 , a 1 , a 2 , . . . , a 5 )T may be called affine motion parameters.
  • affine motion parameters As the number of bits representing the affine motion parameters increases, computation for a motion estimation becomes more complex and takes more time. Furthermore, with respect to some blocks, this affine motion estimation cannot be more effective than conventional translational motion estimation.
  • standards such as H.261, H.263, MPEG-1, and MPEG-2 represent the motion of a pixel based on a translational motion model expressed by:
  • Equations (2a) and (2b) the motion vectors of all pixels in a block are fixed as one vector.
  • affine motion as expressed in Equations (1a) and (1b), a motion vector with respect to each pixel location is variable.
  • the affine motion estimation is capable of representing complex motions that include any or all of translations such as rotation, magnification, reduction and shear, thereby allowing for more precise motion estimation.
  • the affine motion parameters as expressed in Equations (1a) and (1b) must be obtained on a block-by-block basis.
  • the motion parameters correspond to displacements that minimize the difference between pixel values for a present image and a preceding motion-compensated image and are expressed by the following Equation (3): arg a k ⁇ ⁇ min ⁇ ⁇ ( i , j ) ⁇ ⁇ M k ⁇ ⁇ I n ⁇ ( i , j ) - I n - 1 ( i + v X ⁇ ( i , j ) + v Y ⁇ ( i , j ) ⁇ 2 ( 3 )
  • Equation (3) motion parameters that minimize the luminance difference between a present block and a previous block motion-compensated by the motion parameters are expressed in Equation (3), and the motion parameters are called motion-estimated parameters.
  • a k 1 (a 0 , a 1 , a 2 , a 3 , a 4 , a 5 ) T
  • 1 denotes an iteration coefficient
  • the motion parameter is called an initial value.
  • d n 1 ( i,j ) I n ( i,j ) ⁇ I n ⁇ 1 ( i,j )( i+a 0 1 +a 1 1 i+a 2 1 i,j+a 3 1 +a 4 1 i+a 5 1 j ) (8)
  • the method of estimating the affine motion parameters shown in Equations 4 through 9a and 9b is called a differential motion estimation method.
  • the differential motion estimation method is mostly used in affine motion estimation.
  • Equation (6) is updated using Equations 6 through 9a and 9b, and then the updated value is substituted into Equation (4) to thereby obtain a k l+1 .
  • SE(l+1) is less than SE(l)
  • l increases by 1 and the above steps are repeatedly performed. If SE(l+1) is greater than SE(l), a k l at that time is determined as an estimated motion parameter, and then repetitions of the motion estimation process are terminated.
  • the affine motion estimation method has a problem in that motion estimation performance for small-sized blocks is significantly degraded.
  • the affine motion estimation method exhibits an excellent image prediction over the translational motion estimation method, it cannot be applied to standards such as H.261, H.263, MPEG-1, and MPEG-4.
  • the affine motion parameters are real numbers with decimal points. Thus, to use these parameters in actual video coding, they must be converted or quantized to fixed-point numbers.
  • the present invention provides a method of coding a motion vector including the steps of (a) performing an affine motion estimation to obtain affine motion parameters, (b) converting the affine motion parameters to a predetermined number of translational motion vectors, and (c) coding the difference between the converted translational motion vectors of a current block and the converted translational motion vectors of a previous block.
  • the motion vector coding method further includes the step of quantizing the translational motion vectors in the step (b) to fixed-point numbers having a predetermined accuracy prior to the step (c). Furthermore, the motion vector coding method further includes the step of determining a predetermined pixel range for each translational motion vector of the current block and obtaining an accuracy ⁇ for each pixel value in the predetermined range, the accuracy ⁇ producing the smallest value in min ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ MSE ⁇ ( ⁇ ) + ⁇ ⁇ ⁇ Bits ⁇ ( ⁇ ) ⁇
  • Step (c) includes the steps of: (c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and the translational motion vectors of the neighboring blocks; and (c-2) performing variable length coding on the obtained differences between the translational motion vectors.
  • one macroblock consists of sub-blocks A, B, C, and D
  • the size of the macroblock is S ⁇ S
  • the constant ⁇ is S/4+1 ⁇ 2.
  • the motion vector coding method further includes the steps of (b′-1) quantizing the converted translational motion vectors to fixed-point numbers having a predetermined accuracy, (b′-2) selecting an optimum accuracy considering a bit rate and distortion among accuracies, with which the translational motion vectors are represented, and (b′-3) predicting translatonal motion vectors having the selected accuracy using converted translational motion vectors of neighboring blocks.
  • step (a) Prior to step (a), the method further includes the step of obtaining one translational motion vector for the current block by a block matching technique, and step (a) includes the step (a′) performing an affine motion estimation using the obtained translational motion vector as an initial value.
  • step (a) prior to step (a), the method further includes the step of obtaining a motion parameter that minimizes the mean square sum of a difference signal between the current block and the motion-compensated previous block among estimated affine motion parameters of blocks located above the current block and located on the left thereof, and step (a) includes the step of (a′) performing an affine motion estimation using the obtained motion parameter as an initial value to obtain affine motion parameters for a predetermined pixel range.
  • size of a block is S ⁇ S, and the constant ⁇ is S/4+1 ⁇ 2, and (c) coding the difference between the translational motion vectors obtained in step (b).
  • the present invention also provides a method of coding a motion vector including the steps of: (a) determining a predetermined pixel range for each translational motion vector of a current block; (b) determining the translational motion vector of a current block for each pixel value in the predetermined range, wherein the pixel motion vector is represented with an accuracy ⁇ that produces the smallest value in min ⁇ ⁇ ⁇ MSE ⁇ ( ⁇ ) + ⁇ ⁇ ⁇ Bits ⁇ ( ⁇ ) ⁇
  • the present invention also provides a method of coding a motion vector including the steps of:(a) determining a predetermined pixel range for each of six translational motion vector components ⁇ v X,A , v Y,A , v X,B , v Y,B , v X,C , v Y,C ⁇ ; (b) obtaining the translational motion vector of a current block for each of the pixel values in the predetermined range determined for each of the six translational motion vector components ⁇ v X,A , v Y,A , v X,B , v Y,B , v X,C , v Y,C ⁇ in step (a), wherein the pixel motion vector is represented with an accuracy ⁇ that produces the smallest value in min ⁇ ⁇ ⁇ MSE ⁇ ( ⁇ ) + ⁇ ⁇ ⁇ Bits ⁇ ( ⁇ ) ⁇
  • the present invention also provides a motion estimation method including the steps of (a) performing an affine motion estimation to obtain affine motion parameters, and (b) converting the affine motion parameters to a predetermined number of translational motion vectors.
  • the present invention also provides a method of decoding a motion vector including the steps of (a) receiving encoded data, (b) decoding the received data to obtain translational motion vectors, (c) converting the obtained translational motion vectors to affine motion parameters, and (d) performing motion compensation using the obtained affine motion parameters.
  • FIG. 1 is a flowchart showing the main steps of a motion vector coding method according to an embodiment of the present invention
  • FIG. 2 shows the coordinate system of an affine motion vector used in a motion estimation method according to an embodiment of the present invention
  • FIG. 3 shows the codes of blocks
  • FIG. 4 is a flowchart showing the main steps of a motion vector coding method according to the present invention.
  • a method of coding a motion vector first, pixel values of a block to be coded in a current image frame and pixel values of a search area in a preceding image frame are used to perform an affine motion estimation, thus obtaining affine motion parameters of the current block (step 102 ).
  • the affine motion estimation may be described using six parameters, for example, a 0 , a 1 , a 2 , a 3 , a 4 , and a 5 .
  • the affine motion is described using three translational motion vectors.
  • the affine motion parameters obtained by performing the motion estimation are converted to translational motion vectors (step 104 ).
  • step 104 assuming that the size of the current block and a constant ⁇ are defined as S ⁇ S, and S/4+1 ⁇ 2, respectively, the affine motion parameters are converted to translational motion vectors based on the following Equations (11a) and (11b):
  • the affine motion parameters are real numbers with decimal points, they are converted or quantized to fixed-point numbers so as to be used in actual motion vector coding.
  • the translational motion vectors converted in step 104 are quantized to fixed-point values having a predetermined accuracy (step 106 ).
  • the motion vectors of the center points of the sub-blocks A, B, C, and D can be obtained as follows:
  • step 108 an optimum accuracy is selected (step 108 ) based on:
  • ⁇ and ⁇ are a selected accuracy and a set of accuracies, respectively. Furthermore, ⁇ is set to 0.85QP 2 assuming that QP is a quantization interval used in coding an image.
  • MSE( ⁇ ) denotes the mean square sum of a differential signal between the current block and a preceding motion-compensated block when translational motion vectors of the current block are represented with the accuracy ⁇ .
  • Bits( ⁇ ) denotes the number of bits used to code the translational motion vectors of the current block with the accuracy ⁇ .
  • the optimum accuracy means accuracy ⁇ , which produces the smallest value in Equation (13) among the set ⁇ of accuracies.
  • the translational motion vectors of the current block are represented with the optimum accuracy.
  • the converted translational motion vectors of the current block are predicted using translational motion vectors of neighboring blocks, by the following Equations (step 110 ):
  • FIG. 3 shows the codes of the blocks.
  • a hat denotes an operation for obtaining a predicted value
  • median ⁇ ⁇ denotes an operation of obtaining a translational motion vector having a median magnitude among three translational motion vectors. Since the affine motion parameters are represented using the three translational motion vectors as expressed in Equations (11a) and (11b), the translational motion vector of a sub-block at the lower right of the current block, for example, a sub-block “d” may not be predicted nor encoded. Thus, sub-blocks of all blocks at the lower right may not be encoded.
  • the translational motion vectors of sub-blocks Ud and Ld are used in predicting the converted translational motion vectors of the current block.
  • the translational motion vector of the sub-block “d” is calculated using the following Equations (17a) and (17b):
  • the former is preferably revised to be the same as the latter.
  • the difference between translational motion vectors is calculated using the converted translational motion vectors of the current block and the translational motion vectors of the neighboring blocks (step 112 ), and variable length coding is performed on the calculated translational motion vector difference (step 114 ).
  • TABLE 1 Test image Translational Affine motion sequence Format motion vector vector vector Foreman QCIF, 10 Hz 7.35 9.03 Container QCIF, 10 Hz 2.79 4.72 News QCIF, 10 Hz 4.14 6.30 Silent QCIF, 15 Hz 4.43 7.16 Paris CIF, 15 Hz 4.58 5.42 Mobile CIF, 30 Hz 4.08 6.22 Tempete CIF, 10 Hz 5.25 9.62
  • Table 1 contains the results of evaluating an average motion vector entropy using test images in a motion vector coding method according to an embodiment of the present invention. As is evident from Table 1, the average motion vector entropy for test image sequences when the motion vector coding method according to the present invention based on an affine motion estimation is applied is greater than that for test image sequences when a conventional motion vector coding method based on a translational motion vector estimation is applied.
  • Table 2 shows the results of measuring a peak-signal-to-noise ratio (PSNR) indicating an average prediction gain, which is expressed in decibels (dB).
  • PSNR peak-signal-to-noise ratio
  • dB decibels
  • the motion vector coding method according to the present invention allows for bit generation ranging from 9.62 ⁇ 3 or 28.86 bits at the high end to 4.72 ⁇ 3 or 14.16 bits at the low end, thus reducing the bit rate compared to a conventional method in which 6 ⁇ 6 or 36 bits are generated during fixed length coding (FLC) of each affine parameter using 8 bits.
  • FLC fixed length coding
  • step 102 of performing an affine motion estimation using pixel values of a current block to be coded in a current image frame and of a search region in a preceding image frame to obtain affine motion parameters of the current block the step 104 of converting the affine motion parameter to translational motion vectors, and the step 106 of quantizing the converted translational motion vectors to fixed-point numbers having a predetermined accuracy are preformed in a separate manner.
  • the above two steps 102 and 104 can be integrated into one step by performing an affine parameter estimation based on the Equations (11a) and (11b), which reduces the complexity of the overall process.
  • the above three steps 102 , 104 and 106 may be integrated into one step by determining a predetermined pixel range for each translational motion vector of the current block and then determining the translational motion vector for each pixel value in the predetermined range, the pixel motion vector being represented with an accuracy that produces the smallest value in Equation (13).
  • each translational motion vector component is obtained considering all variable factors that the component may have.
  • step 102 an initial value is set to “0” as expressed by Equation (5).
  • step 102 it is preferable to perform step 102 by using one translational motion vector, which is obtained by means of a block matching algorithm for the current block, as the initial value.
  • step 102 it is possible to use a motion parameter which minimizes the mean square sum of the difference signal between the current block and the preceding motion-compensated block among the estimated affine motion parameters of blocks located above the current block and located on the left thereof.
  • FIG. 4 is a flowchart showing the main steps of motion vector decoding according to an embodiment of the present invention.
  • variable length coded data is received (step 402 ), and then the received data is variable length decoded to obtain translational motion vectors (step 404 ).
  • the bit stream encoded by the motion vector coding method contains the difference between median values of translational motion vectors of a corresponding block and its neighboring blocks.
  • the translational motion vectors are obtained using the difference.
  • step 406 the obtained translational motion vectors are converted to affine motion parameters.
  • the step 406 is a reverse process of the step of converting the motion parameters to the motion vectors described with reference to FIGS. 1 and 2, and thus a detailed explanation is omitted.
  • motion compensation is performed using the affine motion parameters obtained in step 406 to restore an image (step 408 ).
  • the motion vector coding method, the motion estimation method, and motion vector decoding according to the present invention can be written as a program executed on a personal or server computer.
  • the program codes and code segments constructing the program can be easily inferred by computer programmers in the industry.
  • the program can be stored in a computer-readable recording medium.
  • the recording medium includes, among other things, a magnetic recording medium, an optical recording medium, and a radio medium.
  • the motion vector coding method according to the present invention allows for a low bit generation while maintaining improved motion estimation performance that can be obtained by using an affine motion estimation. Furthermore, the motion vector coding method according to the present invention is capable of performing high performance motion estimation on small blocks whose dimensions are less than a 16 ⁇ 16 pixel block.

Abstract

A motion vector coding method is provided. The motion vector coding method includes the steps of (a) performing an affine motion estimation to obtain affine motion parameters, (b) converting the affine motion parameters to a predetermined number of translational motion vectors, and (c) coding the difference between the converted translational motion vectors of a current block and the converted translational motion vectors of a previous block. The method allows for low bit generation while maintaining motion estimation performance available from affine motion estimation.

Description

  • This application claims the benefit of priority based on the U.S. Provisional Application No. 60/206,783 filed on May 24, 2000 and claims the benefit of foreign priority under 35 U.S.C. § 119 from Korean Patent Application No. 2000-58757 filed on Oct. 6, 2000. Both Provisional Application No. 60/206,783 and Korean Patent Application No. 2000-58757 are incorporated herein by reference.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The present invention relates to a motion vector coding method and an affine motion estimation method, and more particularly, to a motion vector coding method capable of producing a low bit rate bitstream and an affine motion estimation method capable of effectively performing coding on a small block. [0003]
  • 2. Description of the Related Art [0004]
  • Recently, the International Telecommunication Union-Terminal Sector (ITU-T) has made efforts to standardize the H.26L protocol for next generation visual telephony. Since standard schemes such as H.261, H.263, and H.263+ that define a motion vector coding method for visual telephony were adopted as an ITU-T standard, technologies based on H.263++ and Moving Picture Experts Group (MPEG)-4 standard schemes have been developed. Nonetheless, there remains a need for further improving coding efficiency for ultra low speed real-time applications and a short end-to-end delay. That is, it is highly desirable to have an estimation method and a motion vector coding method that provide for an improved frame rate at the same bit rate as that of the coding method of the H.263+ standard, or that significantly reduces a bit rate while maintaining the same image quality as that encoded by the H.263+ compliant coding method. [0005]
  • In one conventional motion estimation method, assuming that the pair (i,j) are the coordinates of a macroblock or a sub-block thereof, an affine motion estimation is performed to represent the motion of a pixel in an image using the following Equations (1a) and (1b): [0006]
  • v X(i,j)=a 0 +a 1 i+a 2 j   (1a)
  • v Y(i,j)=a 3 +a 4 i+a 5 j   (1b)
  • where v[0007] X(i,j) and vY(i,j) are motion magnitude components of the X- and Y-axis directions for a pixel located in the block (i,j). The expression (vX(i,j), vY(i,j))T, consisting of motion magnitude components vX(i,j) and vY(i,j), is referred to as the motion vector of the pixel located at the coordinates (i,j). That is, the motion vector of each pixel is determined by each pixel location and six parameters (a0, a1, a2, . . . , a5)T. These parameters (a0, a1, a2, . . . , a5)T may be called affine motion parameters. However, according to a method of estimating motion using the affine motion parameters, as the number of bits representing the affine motion parameters increases, computation for a motion estimation becomes more complex and takes more time. Furthermore, with respect to some blocks, this affine motion estimation cannot be more effective than conventional translational motion estimation.
  • Meanwhile, standards such as H.261, H.263, MPEG-1, and MPEG-2 represent the motion of a pixel based on a translational motion model expressed by: [0008]
  • v X(i,j)=t 1   (2a)
  • v Y(i,j)=t 2   (2b)
  • As is evident from Equations (2a) and (2b), the motion vectors of all pixels in a block are fixed as one vector. However, in the case of affine motion, as expressed in Equations (1a) and (1b),a motion vector with respect to each pixel location is variable. The affine motion estimation is capable of representing complex motions that include any or all of translations such as rotation, magnification, reduction and shear, thereby allowing for more precise motion estimation. [0009]
  • To estimate the motion of an image using the affine motion estimation, the affine motion parameters as expressed in Equations (1a) and (1b) must be obtained on a block-by-block basis. The motion parameters correspond to displacements that minimize the difference between pixel values for a present image and a preceding motion-compensated image and are expressed by the following Equation (3): [0010] arg a k min ( i , j ) M k { I n ( i , j ) - I n - 1 ( i + v X ( i , j ) + v Y ( i , j ) } 2 ( 3 )
    Figure US20040076233A1-20040422-M00001
  • where I[0011] n(i,j) denotes the luminance of the pixel at location (i,j), and Mk denotes the kth block. (vX(i,j), vY(i,j))T is expressed by Equations (1a) and (1b). That is, motion parameters that minimize the luminance difference between a present block and a previous block motion-compensated by the motion parameters are expressed in Equation (3), and the motion parameters are called motion-estimated parameters.
  • In the affine motion estimation method according to the conventional art, the motion parameters are obtained using the following Equation (4): [0012] a k 1 + 1 = a k 1 + u k 1 ( 4 )
    Figure US20040076233A1-20040422-M00002
  • where the term a[0013] k 1=(a0, a1, a2, a3, a4, a5)T, and 1 denotes an iteration coefficient.
  • When 1 equals 0, the motion parameter is expressed by: [0014] a k 0 = ( 0 , 0 , 0 , 0 , 0 , 0 ) T
    Figure US20040076233A1-20040422-M00003
  • In this case, the motion parameter is called an initial value. [0015] u k 1 = { ( i , j ) M k { h i j 1 ( h i j 1 ) T } } - 1 { ( d n 1 ( i , j ) T h i j 1 } } h k 1 = ( G x 1 ( i , j ) , i G x 1 ( i , j ) , j G x 1 ( i , j ) , G y 1 ( i , j ) , i G y 1 ( i , j ) , j G y 1 ( i , j ) T
    Figure US20040076233A1-20040422-M00004
  • d n 1(i,j)=I n(i,j)−I n−1(i,j)(i+a 0 1 +a 1 1 i+a 2 1 i,j+a 3 1 +a 4 1 i+a 5 1 j)   (8)
  • G X 1(i,j)={I n(i+1,j)−I n−1(i,j)(i+a 0 1 +a 1 1 i+a 2 1 j−1,j+a 3 1 +a 4 1 i+a 5 1 j}/2   (9a)
  • G Y 1(i,j)={I n(i,j+1)−I n−1(i,j)(i+a 0 1 +a 1 1 i+a 2 1 j−1,j+a 3 1 +a 4 1 +a 5 1 j−1}/2   (9b)
  • The method of estimating the affine motion parameters shown in Equations 4 through 9a and 9b is called a differential motion estimation method. The differential motion estimation method is mostly used in affine motion estimation. [0016]
  • In this case, for affine motion estimation, first, the iteration coefficient l is set to “0” and the square error is set at a maximum as possible. Next, the value obtained from Equation (6) is updated using Equations 6 through 9a and 9b, and then the updated value is substituted into Equation (4) to thereby obtain a[0017] k l+1. Then, the difference between the present block and the motion-compensated previous block is obtained using the value ak l+1 and the following Equation: SE ( 1 + 1 ) = i , j = M k { I n ( i , j ) - I n - 1 ( i + a 0 1 + 1 + a 1 1 + 1 i + a 2 1 + 1 j , j + a 3 1 + 1 + a 4 1 + 1 i + a 5 1 + 1 j } ( 10 )
    Figure US20040076233A1-20040422-M00005
  • If SE(l+1) is less than SE(l), l increases by 1 and the above steps are repeatedly performed. If SE(l+1) is greater than SE(l), a[0018] k l at that time is determined as an estimated motion parameter, and then repetitions of the motion estimation process are terminated.
  • However, the affine motion estimation method has a problem in that motion estimation performance for small-sized blocks is significantly degraded. Thus, although the affine motion estimation method exhibits an excellent image prediction over the translational motion estimation method, it cannot be applied to standards such as H.261, H.263, MPEG-1, and MPEG-4. [0019]
  • Meanwhile, the affine motion parameters are real numbers with decimal points. Thus, to use these parameters in actual video coding, they must be converted or quantized to fixed-point numbers. [0020]
  • In standards such as H.261, H.263, MPEG-1, and MPEG-4, to which a translational motion model is applied, motion information to be encoded in each block is predictively encoded using motion vectors, thereby reducing the number of bits generated per unit time in a bitstream during coding of the motion information. However, if an affine motion model is used, since each of the six motion parameters shown in Equations (1a) and (1b) is not affected by neighboring blocks, it is very difficult to predictively encode motion information as employed in the translational motion model. That is, a significantly large number of bits may be required in coding a motion parameter of an affine motion model. Thus, it is highly desirable to have a method of effectively coding affine motion parameters. [0021]
  • SUMMARY OF THE INVENTION
  • To solve the above problems, it is an objective of the present invention to provide a method of coding a motion vector that reduces a generated bit rate while maintaining motion estimation performance available from an affine motion estimation. [0022]
  • It is another objective of the present invention to provide a method of estimating motion that is capable of effectively performing coding on a small block. [0023]
  • It is still another objective of the present invention to provide a motion vector decoding method for decoding a bitstream encoded by the motion vector coding method. [0024]
  • Accordingly, to achieve the above objectives, the present invention provides a method of coding a motion vector including the steps of (a) performing an affine motion estimation to obtain affine motion parameters, (b) converting the affine motion parameters to a predetermined number of translational motion vectors, and (c) coding the difference between the converted translational motion vectors of a current block and the converted translational motion vectors of a previous block. [0025]
  • The motion vector coding method further includes the step of quantizing the translational motion vectors in the step (b) to fixed-point numbers having a predetermined accuracy prior to the step (c). Furthermore, the motion vector coding method further includes the step of determining a predetermined pixel range for each translational motion vector of the current block and obtaining an accuracy φ for each pixel value in the predetermined range, the accuracy φ producing the smallest value in [0026] min φ ɛΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
    Figure US20040076233A1-20040422-M00006
  • among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ, prior to the step (c). [0027]
  • The method further includes the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using {circumflex over (V)}[0028] x,Ca=median{VX,Cb, VX,Uc, VX,Ud}, {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}, {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc} {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}, {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb}, and {circumflex over (V)}Y,Cc=median{VY,Ld, VY,Ca, VY,Cb}, where a hat denotes an operation for obtaining a predicted value and median { } denotes an operation of obtaining the translational motion vector having the median magnitude among the translational motion vectors.
  • Step (c) includes the steps of: (c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and the translational motion vectors of the neighboring blocks; and (c-2) performing variable length coding on the obtained differences between the translational motion vectors. [0029]
  • Step (a) includes the step of obtaining six affine motion estimation parameters (a[0030] 0, a1, a2, . . . , a5)T by estimating the motion of a pixel in an image using pixel values of a block to be encoded in a current frame and pixel values in a preceding frame and using, νX(i,j)=a0+a1i+a2j, and νY(i,j)=a3+a4i+a5j, where the pair (i,j) are the coordinates of a macroblock or a sub-block thereof.
  • Step (b) includes the step of obtaining motion vectors of the center points of the sub-blocks A, B, C, and D by using (v[0031] x,A, vY,A)=(a0+a1 α+a2α,a3+a4 α+a5 α), (vX,B, vY,B)=(a0+3a1 α+a2 α,a3+3a4 α+a5 α), and (vX,C, vY,C)=(a0+a1 α+3a2 α,a3+a4 α+3a5 α) based on v X ( i , j ) = 1 2 α ( 4 α - i - j ) v X , A + 1 2 α ( - 2 α + i ) v X , B 1 2 α ( - 2 α + j ) v X , C , v Y ( i , j ) = 1 2 α ( 4 α - i - j ) v Y , A + 1 2 α ( - 2 α + i ) v Y , B + 1 2 α ( - 2 α + j ) v Y , C *
    Figure US20040076233A1-20040422-M00007
  • where one macroblock consists of sub-blocks A, B, C, and D, the size of the macroblock is S×S, and the constant α is S/4+½. [0032]
  • After step (b), the motion vector coding method further includes the steps of (b′-1) quantizing the converted translational motion vectors to fixed-point numbers having a predetermined accuracy, (b′-2) selecting an optimum accuracy considering a bit rate and distortion among accuracies, with which the translational motion vectors are represented, and (b′-3) predicting translatonal motion vectors having the selected accuracy using converted translational motion vectors of neighboring blocks. [0033]
  • Prior to step (a), the method further includes the step of obtaining one translational motion vector for the current block by a block matching technique, and step (a) includes the step (a′) performing an affine motion estimation using the obtained translational motion vector as an initial value. [0034]
  • Alternatively, prior to step (a), the method further includes the step of obtaining a motion parameter that minimizes the mean square sum of a difference signal between the current block and the motion-compensated previous block among estimated affine motion parameters of blocks located above the current block and located on the left thereof, and step (a) includes the step of (a′) performing an affine motion estimation using the obtained motion parameter as an initial value to obtain affine motion parameters for a predetermined pixel range. [0035]
  • The present invention also provides a method of coding a motion vector including the steps of (a) performing an affine motion estimation to obtain affine motion parameters, (b) obtaining translational motion vectors based on [0036] v X ( i , j ) = 1 2 α ( 4 α - i - j ) v X , A + 1 2 α ( - 2 α + i ) v X , B 1 2 α ( - 2 α + j ) v X , C and v Y ( i , j ) = 1 2 α ( 4 α - i - j ) v Y , A + 1 2 α ( - 2 α + i ) v Y , B + 1 2 α ( - 2 α + j ) v Y , C *
    Figure US20040076233A1-20040422-M00008
  • size of a block is S×S, and the constant α is S/4+½, and (c) coding the difference between the translational motion vectors obtained in step (b). [0037]
  • The present invention also provides a method of coding a motion vector including the steps of: (a) determining a predetermined pixel range for each translational motion vector of a current block; (b) determining the translational motion vector of a current block for each pixel value in the predetermined range, wherein the pixel motion vector is represented with an accuracy φ that produces the smallest value in [0038] min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
    Figure US20040076233A1-20040422-M00009
  • among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ; and (c) coding the difference between the translational motion vectors of the current block and the translational motion vectors of the previous block. [0039]
  • The present invention also provides a method of coding a motion vector including the steps of:(a) determining a predetermined pixel range for each of six translational motion vector components {v[0040] X,A, vY,A, vX,B, vY,B, vX,C, vY,C}; (b) obtaining the translational motion vector of a current block for each of the pixel values in the predetermined range determined for each of the six translational motion vector components {vX,A, vY,A, vX,B, vY,B, vX,C, vY,C} in step (a), wherein the pixel motion vector is represented with an accuracy φ that produces the smallest value in min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
    Figure US20040076233A1-20040422-M00010
  • among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ;and (c) coding the difference between the translational motion vectors obtained in step (b). [0041]
  • The present invention also provides a motion estimation method including the steps of (a) performing an affine motion estimation to obtain affine motion parameters, and (b) converting the affine motion parameters to a predetermined number of translational motion vectors. [0042]
  • The present invention also provides a method of decoding a motion vector including the steps of (a) receiving encoded data, (b) decoding the received data to obtain translational motion vectors, (c) converting the obtained translational motion vectors to affine motion parameters, and (d) performing motion compensation using the obtained affine motion parameters. [0043]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above objectives and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which: [0044]
  • FIG. 1 is a flowchart showing the main steps of a motion vector coding method according to an embodiment of the present invention; [0045]
  • FIG. 2 shows the coordinate system of an affine motion vector used in a motion estimation method according to an embodiment of the present invention; [0046]
  • FIG. 3 shows the codes of blocks; and [0047]
  • FIG. 4 is a flowchart showing the main steps of a motion vector coding method according to the present invention.[0048]
  • DETAILED DESCRIPTION OF THE INVENTION
  • Referring to FIG. 1, according to a method of coding a motion vector according to the present invention, first, pixel values of a block to be coded in a current image frame and pixel values of a search area in a preceding image frame are used to perform an affine motion estimation, thus obtaining affine motion parameters of the current block (step [0049] 102). The affine motion estimation may be described using six parameters, for example, a0, a1, a2, a3, a4, and a5. In this embodiment, the affine motion is described using three translational motion vectors. For this purpose, next, the affine motion parameters obtained by performing the motion estimation are converted to translational motion vectors (step 104). In step 104, assuming that the size of the current block and a constant α are defined as S×S, and S/4+½, respectively, the affine motion parameters are converted to translational motion vectors based on the following Equations (11a) and (11b): v X ( i , j ) = 1 2 α ( 4 α - i - j ) v X , A + 1 2 α ( - 2 α + i ) v X , B 1 2 α ( - 2 α + j ) v X , C ( 11 a ) v Y ( i , j ) = 1 2 α ( 4 α - i - j ) v Y , A + 1 2 α ( - 2 α + i ) v Y , B + 1 2 α ( - 2 α + j ) v Y , C ( 11 b )
    Figure US20040076233A1-20040422-M00011
  • Since the affine motion parameters are real numbers with decimal points, they are converted or quantized to fixed-point numbers so as to be used in actual motion vector coding. For this purpose, the translational motion vectors converted in [0050] step 104 are quantized to fixed-point values having a predetermined accuracy (step 106).
  • Assuming that the current block consists of four sub-blocks A, B, C, and D as shown in FIG. 2, if the coordinate values of the center points of the sub-blocks A, B, C and D are substituted into the coordinates i and j of Equations (1a) and (1b), the motion vectors of the center points of the sub-blocks A, B, C, and D can be obtained as follows: [0051]
  • [v X,A ,v Y,A ]=[a 0 +a 1 α+a 2 α,a 3 +a 4 α+a 5α]  (12a)
  • [v X,B ,v Y,B ]=[a 0+3a 1 α+a 2 α, a 3+3a 4 α+a 5α]  (12b)
  • [v X,C ,v Y,C ]=[a 0 +a 1α+3a 2 α,a 3 +a 4α+3a 5α]  (12c)
  • Next, an optimum accuracy is selected (step [0052] 108) based on:
  • [0053] min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) } ( 13 )
    Figure US20040076233A1-20040422-M00012
  • where φ and Π are a selected accuracy and a set of accuracies, respectively. Furthermore, λ is set to 0.85QP[0054] 2 assuming that QP is a quantization interval used in coding an image. MSE(φ) denotes the mean square sum of a differential signal between the current block and a preceding motion-compensated block when translational motion vectors of the current block are represented with the accuracy φ. Bits(φ) denotes the number of bits used to code the translational motion vectors of the current block with the accuracy φ. Thus, the optimum accuracy means accuracy φ, which produces the smallest value in Equation (13) among the set Π of accuracies. The translational motion vectors of the current block are represented with the optimum accuracy.
  • Next, the converted translational motion vectors of the current block are predicted using translational motion vectors of neighboring blocks, by the following Equations (step [0055] 110):
  • {circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}  (14a)
  • {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}  (14b)
  • {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc}  (15a)
  • {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}  (15b)
  • {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb}  (16a)
  • {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb}  (16b)
  • In association therewith, FIG. 3 shows the codes of the blocks. In Equations (16a) and (16b), a hat denotes an operation for obtaining a predicted value, and median { } denotes an operation of obtaining a translational motion vector having a median magnitude among three translational motion vectors. Since the affine motion parameters are represented using the three translational motion vectors as expressed in Equations (11a) and (11b), the translational motion vector of a sub-block at the lower right of the current block, for example, a sub-block “d” may not be predicted nor encoded. Thus, sub-blocks of all blocks at the lower right may not be encoded. However, as expressed in Equations 14a through 16b, the translational motion vectors of sub-blocks Ud and Ld are used in predicting the converted translational motion vectors of the current block. The translational motion vector of the sub-block “d” is calculated using the following Equations (17a) and (17b): [0056]
  • v X,Ud =v X,Ub +v X,Uc −v X,Ua   (17a)
  • v Y,Ud =v Y,Ub +v Y,Uc −v Y,Ua   (17b)
  • Furthermore, if an accuracy for the translational motion vectors of the neighboring blocks in the Equations 14a through 16b is different from the accuracy for the translational motion vectors of the current block, the former is preferably revised to be the same as the latter. [0057]
  • Next, the difference between translational motion vectors is calculated using the converted translational motion vectors of the current block and the translational motion vectors of the neighboring blocks (step [0058] 112), and variable length coding is performed on the calculated translational motion vector difference (step 114).
    TABLE 1
    Test image Translational Affine motion
    sequence Format motion vector vector
    Foreman QCIF, 10 Hz 7.35 9.03
    Container QCIF, 10 Hz 2.79 4.72
    News QCIF, 10 Hz 4.14 6.30
    Silent QCIF, 15 Hz 4.43 7.16
    Paris CIF, 15 Hz 4.58 5.42
    Mobile CIF, 30 Hz 4.08 6.22
    Tempete CIF, 10 Hz 5.25 9.62
  • Table 1 contains the results of evaluating an average motion vector entropy using test images in a motion vector coding method according to an embodiment of the present invention. As is evident from Table 1, the average motion vector entropy for test image sequences when the motion vector coding method according to the present invention based on an affine motion estimation is applied is greater than that for test image sequences when a conventional motion vector coding method based on a translational motion vector estimation is applied. [0059]
    TABLE 2
    Test 16 × 16 8 × 8
    image block block Present
    sequence Format matching matching invention
    Foreman QCIF, 10 Hz 29.34 31.58 32.37
    Container QCIF, 10 Hz 38.31 39.01 39.93
    News QCIF, 10 Hz 31.52 33.38 33.93
    Silent QCIF, 15 Hz 33.53 35.45 35.98
    Paris CIF, 15 Hz 31.04 32.49 32.52
    Mobile QCIF, 30 Hz 26.85 28.14 28.62
    Tempete QCIF, 10 Hz 28.48 29.59 29.69
  • Furthermore, Table 2 shows the results of measuring a peak-signal-to-noise ratio (PSNR) indicating an average prediction gain, which is expressed in decibels (dB). As is evident from Table 2, the PSNR measured for test image sequences when the motion vector coding method based on the affine motion estimation is applied is greater than that measured for test image sequences when the conventional motion vector coding method based on the translational motion vector estimation is applied. [0060]
  • That is, if a method including the [0061] steps 102 and 104 is applied as a motion estimation method for calculating a translational motion vector, high performance motion estimation is performed on small blocks whose dimensions are less than 16 by 16 (16×16) pixel blocks while maintaining improved motion estimation performance available from an affine motion estimation.
  • Furthermore, the motion vector coding method according to the present invention allows for bit generation ranging from 9.62×3 or 28.86 bits at the high end to 4.72×3 or 14.16 bits at the low end, thus reducing the bit rate compared to a conventional method in which 6×6 or 36 bits are generated during fixed length coding (FLC) of each affine parameter using 8 bits. [0062]
  • In the above embodiment described with reference to FIG. 1, step [0063] 102 of performing an affine motion estimation using pixel values of a current block to be coded in a current image frame and of a search region in a preceding image frame to obtain affine motion parameters of the current block, the step 104 of converting the affine motion parameter to translational motion vectors, and the step 106 of quantizing the converted translational motion vectors to fixed-point numbers having a predetermined accuracy are preformed in a separate manner.
  • However, the above two [0064] steps 102 and 104 can be integrated into one step by performing an affine parameter estimation based on the Equations (11a) and (11b), which reduces the complexity of the overall process.
  • Alternatively, the above three [0065] steps 102, 104 and 106 may be integrated into one step by determining a predetermined pixel range for each translational motion vector of the current block and then determining the translational motion vector for each pixel value in the predetermined range, the pixel motion vector being represented with an accuracy that produces the smallest value in Equation (13). For example, it is possible to determine a predetermined subpixel range and then to determine a subpixel motion vector of the translational motion vector for each subpixel value in the predetermined range, the subpixel motion vector being obtained with an accuracy that produces the smallest value in Equation (13). In this case, the complexity of the process is further reduced.
  • Furthermore, in [0066] step 102 in the embodiment described with reference to FIG. 1, each translational motion vector component is obtained considering all variable factors that the component may have. However, it is possible to determine a predetermined range of pixels for each of six translational motion vector components {vX,A,vY,A,vX,B,vY,B,vX,C,vY,C} and to determine a pixel motion vector of the translational motion vector for each pixel value in the predetermined range, the translational motion vector being obtained with an accuracy that gives the smallest value in Equation (13).
  • Furthermore, in [0067] step 102, an initial value is set to “0” as expressed by Equation (5). However, it is preferable to perform step 102 by using one translational motion vector, which is obtained by means of a block matching algorithm for the current block, as the initial value. Furthermore, it is possible to use a motion parameter which minimizes the mean square sum of the difference signal between the current block and the preceding motion-compensated block among the estimated affine motion parameters of blocks located above the current block and located on the left thereof.
  • Furthermore, it is possible to reduce the complexity by obtaining one translational motion vector for the current block by a block matching algorithm and then using the obtained translational motion vector as the initial value to obtain the affine motion parameters for a predetermined pixel range in [0068] step 102.
  • Furthermore, it is possible to further reduce the complexity by obtaining a motion parameter that minimizes the mean square sum of a difference signal between the current block and the preceding motion-compensated block among the estimated affine motion parameters of blocks located above the current block and located on the left thereof, and then using the obtained motion parameter as an initial value to obtain affine motion parameters for a predetermined pixel range in the [0069] step 102.
  • Meanwhile, it is possible to decode a bitstream encoded using the motion vector coding method according to the present invention by motion vector decoding according to the present invention. FIG. 4 is a flowchart showing the main steps of motion vector decoding according to an embodiment of the present invention. Referring to FIG. 4, during the motion vector decoding according to the present invention, variable length coded data is received (step [0070] 402), and then the received data is variable length decoded to obtain translational motion vectors (step 404). The bit stream encoded by the motion vector coding method contains the difference between median values of translational motion vectors of a corresponding block and its neighboring blocks. Thus, after performing variable length decoding on the received data to obtain the difference between the median values of the corresponding block and the neighboring blocks, the translational motion vectors are obtained using the difference.
  • Next, the obtained translational motion vectors are converted to affine motion parameters (step [0071] 406). The step 406 is a reverse process of the step of converting the motion parameters to the motion vectors described with reference to FIGS. 1 and 2, and thus a detailed explanation is omitted. Then, motion compensation is performed using the affine motion parameters obtained in step 406 to restore an image (step 408).
  • Furthermore, the motion vector coding method, the motion estimation method, and motion vector decoding according to the present invention can be written as a program executed on a personal or server computer. The program codes and code segments constructing the program can be easily inferred by computer programmers in the industry. Furthermore, the program can be stored in a computer-readable recording medium. The recording medium includes, among other things, a magnetic recording medium, an optical recording medium, and a radio medium. [0072]
  • As described above, the motion vector coding method according to the present invention allows for a low bit generation while maintaining improved motion estimation performance that can be obtained by using an affine motion estimation. Furthermore, the motion vector coding method according to the present invention is capable of performing high performance motion estimation on small blocks whose dimensions are less than a 16×16 pixel block. [0073]

Claims (26)

What is claimed is:
1. A method of coding a motion vector comprising the steps of:
(a) performing an affine motion estimation to obtain affine motion parameters;
(b) converting the affine motion parameters to a predetermined number of translational motion vectors; and
(c) coding the difference between the converted translational motion vectors of a current block and the converted translational motion vectors of a previous block.
2. The method of claim 1, prior to step (c), further comprising the step of quantizing the translational motion vectors in step (b) to fixed-point numbers having a predetermined accuracy.
3. The method of claim 2, prior to step (c), further comprising the step of determining a predetermined pixel range for each translational motion vector of the current block and obtaining an accuracy φ for each pixel value in the predetermined range, the accuracy φ producing the smallest value in
min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
Figure US20040076233A1-20040422-M00013
among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ.
4. The method of claim 3, further comprising the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using,
{circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}, {circumflex over (V)}Y,Ca=median{VY,Cb, VX,Uc, VY,Ud}, {circumflex over (V)}X,Cb=median{VX,Ld, VX,Ud, VX,Dc}, {circumflex over (V)}Y,Cb=median{VY,Ca, VY,Ud, VY,Dc}, {circumflex over (V)}X,Cc=median{VX,Ld, VX,Ca, VX,Cb},
and {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb}, where a hat denotes an operation for obtaining a predicted value and median { } denotes an operation for obtaining the translational motion vector having the median magnitude among the translational motion vectors.
5. The method of claim 1, wherein step (c) comprises the steps of:
(c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and the translational motion vectors of the neighboring blocks; and
(c-2) performing variable length coding on the obtained differences between the translational motion vectors.
6. The method of claim 1, wherein step (a) comprises the step of obtaining six affine motion estimation parameters (a0, a1, a2, . . . , a5)T by estimating the motion of a pixel in an image using pixel values of a block to be encoded in a current frame and pixel values in a preceding frame and using vX(i,j)=a0+a1i+a2j, and vY(i,j)=a3+a4i+a5j, where the pair (i,j) are the coordinates of a macroblock or the sub-block thereof.
7. The method of claim 1, wherein step (b) comprises the step of obtaining motion vectors of the center points of the sub-blocks A, B, C, and D by using (vX,A,vY,)=(a0+a1 α+a2 α,a3+a4 α+a5 α), (vX,B,vY,B)=(a0+3a1 α+a2 α,a3+3a4 α+a5 α), and (vX,C,vY,C)=(a0+a1 α+3a2 α,a3+a4 α+3a5 α) based on
v X ( i , j ) = 1 2 α ( 4 α - i - j ) v X , A + 1 2 α ( - 2 α + i ) v X , B 1 2 α ( - 2 α + j ) v X , C , v Y ( i , j ) = 1 2 α ( 4 α - i - j ) v Y , A + 1 2 α ( - 2 α + i ) v Y , B + 1 2 α ( - 2 α + j ) v Y , C * ,
Figure US20040076233A1-20040422-M00014
where one macroblock consists of sub-blocks A, B, C, and D, the size of the macroblock is S×S, and the constant α is S/4+½.
8. The method of claim 1, after step (b), further comprising the steps of:
(b′-1) quantizing the converted translational motion vectors to fixed-point numbers having a predetermined accuracy;
(b′-2) selecting an optimum accuracy considering a bit rate and distortion among accuracies, with which the translational motion vectors are represented; and
(b′-3) predicting translatonal motion vectors having the selected accuracy using converted translational motion vectors of neighboring blocks.
9. The method of claim 1, prior to step (a), further comprising the step of obtaining one translational motion vector for the current block by a block matching technique,
wherein step (a) further comprises the step (a′) of performing an affine motion estimation using the obtained translational motion vector as an initial value.
10. The method of claim 1, prior to step (a), further comprising the step of obtaining a motion parameter that minimizes the mean square sum of a difference signal between the current block and the motion-compensated previous block among estimated affine motion parameters of blocks located above the current block and located on the left thereof,
wherein step (a) comprises the step of (a′) performing an affine motion estimation using the obtained motion parameter as an initial value to obtain affine motion parameters for a predetermined pixel range.
11. A method of coding a motion vector comprising the steps of:
(a) performing an affine motion estimation to obtain affine motion parameters;
(b) obtaining translational motion vectors based on
v X ( i , j ) = 1 2 α ( 4 α - i - j ) v X , A + 1 2 α ( - 2 α + i ) v X , B 1 2 α ( - 2 α + j ) v X , C , and v Y ( i , j ) = 1 2 α ( 4 α - i - j ) v Y , A + 1 2 α ( - 2 α + i ) v Y , B + 1 2 α ( - 2 α + j ) v Y , C *
Figure US20040076233A1-20040422-M00015
where the size of a block is S×S, and the constant α is S/4+½; and
(c) coding the difference between the translational motion vectors obtained in step (b).
12. The method of claim 11, prior to the step (c), further comprising the step of quantizing the translational motion vectors converted in the step (b) to fixed-point numbers having a predetermined accuracy.
13. The method of claim 11, prior to step (c), further comprising the step of determining a predetermined pixel range for each translational motion vector of a current block and obtaining an accuracy φ for each pixel value in the predetermined range, the accuracy φ producing the smallest value in
min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
Figure US20040076233A1-20040422-M00016
among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ.
14. The method of claim 11, further comprising the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using
{circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}, {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}, {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc}, {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}, {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb} and {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb},
where a hat denotes an operation for obtaining a predicted value and median {} denotes an operation of taking the translational motion vector having the median magnitude among the translational motion vectors.
15. The method of claim 11, wherein step (c) comprises the steps of:
(c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and translational motion vectors of the neighboring blocks; and
(c-2) performing variable length coding on the obtained differences between the translational motion vectors.
16. A method of coding a motion vector comprising the steps of:
(a) determining a predetermined pixel range for each translational motion vector of a current block;
(b) determining the translational motion vector of a current block for each pixel value in the predetermined range, wherein the pixel motion vector is represented with an accuracy φ that produces the smallest value in
min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
Figure US20040076233A1-20040422-M00017
among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ; and
(c) coding the difference between the translational motion vectors of the current block and the translational motion vectors of the previous block.
17. The method of claim 16, prior to the step (c), further comprising the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using
{circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}, {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}, {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc}, {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}, {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb}, {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb},
where a hat denotes an operation for obtaining a predicted value and median {} denotes an operation of taking the translational motion vector having the median magnitude among the translational motion vectors.
18. The method of claim 16, wherein step (c) comprises the steps of:
(c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and translational motion vectors of the neighboring blocks; and
(c-2) performing variable length coding on the obtained differences between the translational motion vectors.
19. A method of coding a motion vector comprising the steps of:
(a) determining a predetermined pixel range for each of six translational motion vector components {vX,A, vY,A, vX,B, vY,B, vX,C, vY,C};
(b) obtaining the translational motion vector of a current block for each pixel values in the predetermined range determined for each of the six translational motion vector components {vX,A, vY,A, vX,B, vY,B, vX,C, vY,C} in step (a), wherein the pixel motion vector is represented with an accuracy φ that produces the smallest value in
min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
Figure US20040076233A1-20040422-M00018
among a set Π of accuracies, where QP is a quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE(φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ; and
(c) coding the difference between the translational motion vectors obtained in step (b).
20. The method of claim 19, prior to step (c), further comprising the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using
{circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}, {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}, {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc}, {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}, {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb}, {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb},
where a hat denotes an operation for obtaining a predicted value and median {} denotes an operation of taking the translational motion vector having the median magnitude among the translational motion vectors.
21. The method of claim 19, wherein step (c) comprises the steps of:
(c-1) calculating the differences between the translational motion vectors of the current block and the blocks neighboring the current block by using the converted translational motion vectors of the current block and translational motion vectors of the neighboring blocks; and
(c-2) performing variable length coding on the obtained differences between the translational motion vectors.
22. A motion estimation method comprising the steps of:
(a) performing an affine motion estimation to obtain affine motion parameters; and
(b) converting the affine motion parameters to a predetermined number of translational motion vectors.
23. The method of claim 22, after step (b), further comprising the step of quantizing the translational motion vector converted in step (b) to fixed-point numbers having a predetermined accuracy.
24. The method of claim 23, after step (b), further comprising the step of determining a predetermined pixel range for each translational motion vector of the current block and obtaining an accuracy φ for each pixel value in the predetermined range, the accuracy φ producing the smallest value in
min ϕεΠ { MSE ( ϕ ) + λ Bits ( ϕ ) }
Figure US20040076233A1-20040422-M00019
among a set Π of accuracies, where QP is an quantization interval used in coding an image, λ is a constant determined based on the quantization interval QP, MSE (φ) denotes the mean square sum of a differential signal between the current block and the preceding motion-compensated block when translational motion vectors of the current block are represented with an accuracy φ, and Bits (φ) denotes the number of bits used to code the translational motion vector of the current block with an accuracy φ.
25. The method of claim 24, further comprising the step of predicting the converted translational motion vectors of the current block by translational motion vectors of neighboring blocks using,
{circumflex over (v)}X,Ca=median{vX,Cb, vX,Uc, vX,Ud}, {circumflex over (v)}Y,Ca=median{vY,Cb, vY,Uc, vY,Ud}, {circumflex over (v)}X,Cb=median{vX,Ca, vX,Ud, vX,Dc}, {circumflex over (v)}Y,Cb=median{vY,Ca, vY,Ud, vY,Dc}, {circumflex over (v)}X,Cc=median{vX,Ld, vX,Ca, vX,Cb}, and {circumflex over (v)}Y,Cc=median{vY,Ld, vY,Ca, vY,Cb},
where a hat denotes an operation for obtaining a predicted value and median {} denotes an operation of taking the translational motion vector having the median magnitude among the translational motion vectors.
26. A method of decoding a motion vector comprising the steps of:
(a) receiving encoded data;
(b) decoding the received data to obtain translational motion vectors;
(c) converting the obtained translational motion vectors to affine motion parameters; and
(d) performing motion compensation using the obtained affine motion parameters.
US10/670,474 2000-05-24 2003-09-26 Motion vector coding method Abandoned US20040076233A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/670,474 US20040076233A1 (en) 2000-05-24 2003-09-26 Motion vector coding method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US20678300P 2000-05-24 2000-05-24
KR00-58757 2000-10-06
KR1020000058757A KR100359115B1 (en) 2000-05-24 2000-10-06 Video coding method
US09/863,758 US6785333B2 (en) 2000-05-24 2001-05-24 Motion vector coding method
US10/670,474 US20040076233A1 (en) 2000-05-24 2003-09-26 Motion vector coding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/863,758 Continuation US6785333B2 (en) 2000-05-24 2001-05-24 Motion vector coding method

Publications (1)

Publication Number Publication Date
US20040076233A1 true US20040076233A1 (en) 2004-04-22

Family

ID=22767941

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/863,758 Expired - Fee Related US6785333B2 (en) 2000-05-24 2001-05-24 Motion vector coding method
US10/670,474 Abandoned US20040076233A1 (en) 2000-05-24 2003-09-26 Motion vector coding method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/863,758 Expired - Fee Related US6785333B2 (en) 2000-05-24 2001-05-24 Motion vector coding method

Country Status (2)

Country Link
US (2) US6785333B2 (en)
KR (1) KR100359115B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090168887A1 (en) * 2009-01-12 2009-07-02 Mediatek Usa Inc. One step sub-pixel motion esitmation
US20120057632A1 (en) * 2009-03-06 2012-03-08 Kazushi Sato Image processing device and method
US10349079B2 (en) 2015-02-16 2019-07-09 Huawei Technologies Co., Ltd. Video image encoding method, video image decoding method, encoding device, and decoding device

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
JP4401783B2 (en) * 2002-01-24 2010-01-20 株式会社日立製作所 Video encoding method
US8175159B2 (en) * 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US20060215036A1 (en) * 2005-03-25 2006-09-28 Multivision Intelligent Surveillance (Hk) Ltd. Method and apparatus for video stabilization
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
US7881384B2 (en) 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US8208540B2 (en) 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US8045618B2 (en) 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US7912127B2 (en) * 2005-08-05 2011-03-22 Lsi Corporation H.264 to VC-1 and VC-1 to H.264 transcoding
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
US8792549B2 (en) 2011-02-28 2014-07-29 Sony Corporation Decoder-derived geometric transformations for motion compensated inter prediction
KR102121558B1 (en) * 2013-03-15 2020-06-10 삼성전자주식회사 Method of stabilizing video image, post-processing device and video encoder including the same
EP3264762A4 (en) 2015-03-10 2018-05-02 Huawei Technologies Co., Ltd. Image prediction method and related device
CN109005407B (en) 2015-05-15 2023-09-01 华为技术有限公司 Video image encoding and decoding method, encoding device and decoding device
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
CN116708780A (en) 2017-08-11 2023-09-05 华为技术有限公司 Method, device and equipment for encoding and decoding video image
US10582212B2 (en) * 2017-10-07 2020-03-03 Google Llc Warped reference motion vectors for video compression
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
WO2020173477A1 (en) * 2019-02-27 2020-09-03 Beijing Bytedance Network Technology Co., Ltd. Regression-based motion vector field based sub-block motion vector derivation

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692063A (en) * 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5886742A (en) * 1995-01-12 1999-03-23 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US5905535A (en) * 1994-10-10 1999-05-18 Thomson Multimedia S.A. Differential coding of motion vectors using the median of candidate vectors
US5978030A (en) * 1995-03-18 1999-11-02 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal using feature point based motion estimation
US5982438A (en) * 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US6008852A (en) * 1996-03-18 1999-12-28 Hitachi, Ltd. Video coder with global motion compensation
US6084912A (en) * 1996-06-28 2000-07-04 Sarnoff Corporation Very low bit rate video coding/decoding method and apparatus
US6366701B1 (en) * 1999-01-28 2002-04-02 Sarnoff Corporation Apparatus and method for describing the motion parameters of an object in an image sequence
US20020057741A1 (en) * 1996-09-20 2002-05-16 Jani Lainema Video coding system for estimating a motion vector field by using a series of motion estimators of verying complexity
US6404815B1 (en) * 1997-03-17 2002-06-11 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US20020154695A1 (en) * 2001-04-20 2002-10-24 Cornog Katherine H. Correcting motion vector maps for image processing
US20030035477A1 (en) * 1997-04-24 2003-02-20 Shunichi Sekiguchi Method and apparatus for region-based moving image encoding and decoding
US6944227B1 (en) * 1999-03-16 2005-09-13 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for motion vector field encoding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06113287A (en) * 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd Picture coder and picture decoder
JP3277111B2 (en) 1995-10-18 2002-04-22 シャープ株式会社 Video encoding device and video decoding device
JPH09182082A (en) 1995-12-25 1997-07-11 Nippon Telegr & Teleph Corp <Ntt> Movement compensation prediction encoding method for moving image and device therefor
WO1997027707A1 (en) * 1996-01-22 1997-07-31 Matsushita Electric Industrial Co., Ltd. Digital image encoding and decoding method and digital image encoding and decoding device using the same
EP1819173B1 (en) 1997-06-25 2009-07-29 Nippon Telegraph and Telephone Corporation Motion vector predictive encoding apparatus and decoding apparatus
JPH11122619A (en) 1997-10-17 1999-04-30 Hitachi Ltd Moving image coding and decoding method
US6285804B1 (en) * 1998-12-21 2001-09-04 Sharp Laboratories Of America, Inc. Resolution improvement from multiple images of a scene containing motion at fractional pixel values
EP1050850A1 (en) * 1999-05-03 2000-11-08 THOMSON multimedia Process for estimating a dominant motion between two frames

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905535A (en) * 1994-10-10 1999-05-18 Thomson Multimedia S.A. Differential coding of motion vectors using the median of candidate vectors
US5886742A (en) * 1995-01-12 1999-03-23 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US6275532B1 (en) * 1995-03-18 2001-08-14 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US5978030A (en) * 1995-03-18 1999-11-02 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal using feature point based motion estimation
US5692063A (en) * 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US6008852A (en) * 1996-03-18 1999-12-28 Hitachi, Ltd. Video coder with global motion compensation
US5982438A (en) * 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US6084912A (en) * 1996-06-28 2000-07-04 Sarnoff Corporation Very low bit rate video coding/decoding method and apparatus
US20020057741A1 (en) * 1996-09-20 2002-05-16 Jani Lainema Video coding system for estimating a motion vector field by using a series of motion estimators of verying complexity
US6404815B1 (en) * 1997-03-17 2002-06-11 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US20030035477A1 (en) * 1997-04-24 2003-02-20 Shunichi Sekiguchi Method and apparatus for region-based moving image encoding and decoding
US6366701B1 (en) * 1999-01-28 2002-04-02 Sarnoff Corporation Apparatus and method for describing the motion parameters of an object in an image sequence
US6944227B1 (en) * 1999-03-16 2005-09-13 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for motion vector field encoding
US20020154695A1 (en) * 2001-04-20 2002-10-24 Cornog Katherine H. Correcting motion vector maps for image processing

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090168887A1 (en) * 2009-01-12 2009-07-02 Mediatek Usa Inc. One step sub-pixel motion esitmation
WO2010080168A1 (en) * 2009-01-12 2010-07-15 Mediatek Usa, Inc. One step sub-pixel motion estimation
US8259809B2 (en) 2009-01-12 2012-09-04 Mediatek Singapore Pte Ltd. One step sub-pixel motion estimation
US20120057632A1 (en) * 2009-03-06 2012-03-08 Kazushi Sato Image processing device and method
US10349079B2 (en) 2015-02-16 2019-07-09 Huawei Technologies Co., Ltd. Video image encoding method, video image decoding method, encoding device, and decoding device

Also Published As

Publication number Publication date
KR100359115B1 (en) 2002-11-04
US20020034250A1 (en) 2002-03-21
US6785333B2 (en) 2004-08-31
KR20010107503A (en) 2001-12-07

Similar Documents

Publication Publication Date Title
US6785333B2 (en) Motion vector coding method
US6249318B1 (en) Video coding/decoding arrangement and method therefor
KR100955152B1 (en) Multi-dimensional neighboring block prediction for video encoding
US6360017B1 (en) Perceptual-based spatio-temporal segmentation for motion estimation
US6650707B2 (en) Transcoding apparatus and method
US20190098296A1 (en) Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
US20040156437A1 (en) Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
EP1672926A1 (en) Bi-directional predicting method for video coding/decoding
US20070268964A1 (en) Unit co-location-based motion estimation
EP1158806A1 (en) Motion vector coding
US7088772B2 (en) Method and apparatus for updating motion vector memories
US20060120455A1 (en) Apparatus for motion estimation of video data
JP2006279573A (en) Encoder and encoding method, and decoder and decoding method
US6295377B1 (en) Combined spline and block based motion estimation for coding a sequence of video images
US8755436B2 (en) Method of coding, decoding, coder and decoder
JP4417054B2 (en) Motion estimation method and apparatus referring to discrete cosine transform coefficient
US6996180B2 (en) Fast half-pixel motion estimation using steepest descent
US6141449A (en) Coding mode determination system
US20020168008A1 (en) Method and apparatus for coding moving pictures
US20040247189A1 (en) Method and device for compressing image data
JP4169767B2 (en) Encoding method
KR100240620B1 (en) Method and apparatus to form symmetric search windows for bidirectional half pel motion estimation
KR100351568B1 (en) Apparatus and method for high compression to consider edge direction of motion compensated prediction
JP2005516501A (en) Video image encoding in PB frame mode
JP2007110672A (en) Encoding method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION