[go: up one dir, main page]

GB2368220A - Compression of motion vectors - Google Patents

Compression of motion vectors Download PDF

Info

Publication number
GB2368220A
GB2368220A GB0024709A GB0024709A GB2368220A GB 2368220 A GB2368220 A GB 2368220A GB 0024709 A GB0024709 A GB 0024709A GB 0024709 A GB0024709 A GB 0024709A GB 2368220 A GB2368220 A GB 2368220A
Authority
GB
United Kingdom
Prior art keywords
vectors
motion
process according
motion vectors
transform
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.)
Withdrawn
Application number
GB0024709A
Other versions
GB0024709D0 (en
Inventor
Michael James Knee
Violet Snell
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.)
Snell Advanced Media Ltd
Original Assignee
Snell and Wilcox 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 Snell and Wilcox Ltd filed Critical Snell and Wilcox Ltd
Priority to GB0024709A priority Critical patent/GB2368220A/en
Publication of GB0024709D0 publication Critical patent/GB0024709D0/en
Priority to AU2001293994A priority patent/AU2001293994B2/en
Priority to US10/381,963 priority patent/US20040057518A1/en
Priority to PCT/GB2001/004517 priority patent/WO2002032143A2/en
Priority to JP2002535399A priority patent/JP2004511978A/en
Priority to EP01974479A priority patent/EP1325636A2/en
Priority to CA002424340A priority patent/CA2424340A1/en
Priority to AU9399401A priority patent/AU9399401A/en
Publication of GB2368220A publication Critical patent/GB2368220A/en
Priority to JP2006351630A priority patent/JP2007143176A/en
Priority to AU2007202001A priority patent/AU2007202001A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

In a process for reducing the average data rate of motion vector information, the components of the motion vectors are separately or in combination compressed losslessly by exploitation of the correlation of motion vectors in the horizontal and at least one other dimension, in particular using a spatial transform followed by a variable-length encoder. Typically, the transform is a Discrete Cosine Transform. Optionally, where a set of motion vectors is associated with a macroblock of an image, the vectors within the set are translated to equivalent velocity values and passed through a linear transform.

Description

COMPRESSION OF MOTION VECTORS This invention relates to the compression of motion vectors, especially for use in motion compensated video compression schemes, such as MPEG.
One of the key features of both MPEG-2 and MPEG-4 compression is the use of motion compensated prediction, in which blocks of video samples are predicted from other frames or fields that have already been encoded and decoded. Highly efficient compression is achieved by transmitting the prediction error rather than the original samples. The prediction process compensates for the motion between predicted and reference pictures by applying a motion vector to each block. It is then necessary to transmit those motion vectors as part of the compressed bitstream, because the decoder needs to reconstruct the prediction that was made in the encoder.
The transmission of motion vectors incurs an inevitable overhead in bit rate. In the MPEG-2 standard, this overhead is reduced by compressing the motion vectors. The motion vector compression algorithm in the MPEG-2 standard consists of two elements: forming differences between motion vectors in adjacent blocks ; and transmitting these differences using variablelength coding.
This algorithm is a compromise between efficiency and the relatively limited hardware complexity available in an MPEG-2 decoder.
Another application of motion vector compression is in generating a compressed version of the Information Stream. The Information Stream [see for example PCT/GB97/01862] is a data stream consisting of MPEG-2 coding parameters, formatted in such a way that it can be used to aid MPEG-2 reencoding of decoded video signals in order to avoid cascading impairments.
There is in certain cases a requirement for a compressed version of the Information Stream, because the channel capacity available may be limited.
One method of reducing the bit rate of the Information Stream is to use the MPEG-2 syntax itself to transmit the coding parameters. In this case it is sometimes found necessary to reduce the bit rate even further, and this can be done by selectively modifying some motion vectors, as described PCT/GB99/00227. The method of compressing vector information for the
Information Stream by selectively changing them has the disadvantage that it no longer remains lossless. While this compromise between quality, bandwidth and complexity is clearly acceptable for some applications, it remains more desirable to retain the exact values of the motion vectors where possible.
It is therefore one object of the present invention to provide an improved method for the compression of motion vectors.
Accordingly, the present invention consists in one aspect in a process for compressing motion vectors, which exploits the correlation of motion vectors horizontally within a picture and in at least one further dimension.
Preferably, the process exploits the correlation of motion vectors horizontally and vertically within a picture.
In another aspect, the present invention consists in a process for reducing the average data rate of motion vector information, in which the components of the motion vectors are separately or in combination compressed losslessly using a spatial transform followed by a variable-length encoder.
Preferably, the transform is a Discrete Cosine Transform.
In a further aspect, the present invention consists in a method of compressing motion vectors which derive from a process of motion measurement which comprises the identification of a number of candidate vectors and the preliminary assignment of one or more of said candidate vectors to specific picture elements, the method of compressing comprising the steps of defining said candidate vectors as a set of representative values and quantizing the assigned vectors with reference to said set of representative values.
Preferably, the method further comprises the step of run length coding.
Suitably, the method further comprises the steps of noting any error in the quantization of assigned vectors with reference to said set of representative values and additionally coding any such quantization errors.
The invention will now be described by way of example with reference to the accompanying drawings, in which:
Figures 1, 2 and 3 are block diagrams illustrating three embodiments of the present invention.
In one embodiment of the invention, the basic approach is to scan the motion vectors in blocks, typically 8x8, and to use a two-dimensional transform such as the DCT to compress the vectors.
Reference is directed initially to Figure 1.
Let us assume that we are encoding motion vectors in a bidirectionally predicted picture (B-picture) according to the MPEG-2 standard. In this case, each macroblock has up to four motion vectors. The diagram shows the process applied to these four vectors in parallel. The horizontal and vertical components of the motion vectors may either be treated separately and encoded independently in parallel, or they may be considered as the real and imaginary parts of a complex number and encoded together.
The row scanning format of each input vector is first converted to block-based scanning, for example with 8x8 blocks. Note that each 8x8 block of vectors at this stage covers an area corresponding to 8x8 macroblocks, or 128x128 pixels, of the original image.
In the MPEG-2 standard, not every macroblock in a B-picture has all four motion vectors. For example, a particular macro block might be intracoded and have no vectors, or forward predicted using one frame vector only, or at the other extreme it may be bidirectionally field-predicted with four vectors. The DCT will require a value for each of its 64 inputs. Where no such value exists, it will be necessary to calculate an interpolated value. This could be done, for example, by simply repeating an adjacent value or by taking an average or median of neighbouring values.
The method then follows the standard MPEG-2 coding process in the application of the transform, zigzag scan and variable-length coding, the main difference being that there is no quantisation because the motion vector compression is intended to be lossless. Both the shape of the zigzag scan and the design of the variable-length coder may be varied from the MPEG-2 standard in order to maximize the efficiency of the algorithm.
In the case of forward predicted pictures (P-pictures), the above description applies but there are only two motion vectors per macroblock.
In all cases, the decoding process is a direct reversal of the encoding process and requires no further description.
This embodiment of the present invention offers important advantages of the invention. It offers a more efficient method of compressing motion vectors than the prior art, yet the most computationally intensive processing blocks are already available in a standard MPEG-2 encoder.
One possible improvement to the basic method is to exploit the correlation between the four motion vectors of each macroblock. A general way of achieving this is shown in Figure 2.
The sets of four vectors for each macroblock, referred to here as quartets, are passed through a linear transform in order to reduce their entropy and hence the number of bits needed to encode them. In order to do this efficiently, it is necessary first to compensate for the different time intervals and directions over which the vectors are defined, by calculating the velocity to which each one corresponds. Coding of the transformed quartets is therefore carried out in the velocity domain rather than the displacement domain.
The transform that might be applied to the quartets can be expressed as a 4x4 matrix multiplication. There now follow two examples of suitable transforms between velocities vs and transformed velocities Xi : Example 1
Here, the first velocity in the quartet is taken as a prediction and the other three vectors are encoded as prediction errors with respect to the first velocity.
Example 2
In the second example, a prediction is formed by taking the average of the four velocity values and three of the vectors are encoded as prediction errors with respect to that average value.
Further variations to the these examples of the invention are possible.
For example, another transform might be used instead of the 8x8 DCT. For example, a DCT with larger blocks (up to and including the whole picture), a Discrete Fourier Transform (DFT) or any other linear transform known in the art. The spatial transform and the transform used on the vector quartets may be combined in one single linear operation. The values assigned to nonexistent motion vectors may be calculated in such a way as to minimize the energy or entropy of the transform output, or some other estimate of the output bit-rate.
It will be understood that techniques other than spatial transforms and run length coding may be employed to exploit the correlation of motion vectors horizontally and vertically within a picture. It will for example be convenient to employ two dimensional predictive coding of motion vectors The methods so far described exploit correlation between vectors within a picture but do not make any reference to vectors in preceding or subsequent pictures. This is important in an application such as a compressed Information Stream, where the information for each picture is required to stand alone. However, if that independence is not required, the method can work by encoding inter-frame differences between motion vectors, or by some other method involving inter-frame prediction. Again, the vectors can be normalised according to velocity. Where it is desired to use methods that do not involve spatial transforms, the exploitation of motion
vector correlation horizontally, vertically and temporally can be combined in a three-dimensional predictive coding scheme for motion vectors.
The examples of the invention so far described can be used in conjunction with any motion estimation scheme. However, the choice of motion estimation scheme will have a substantial bearing on the efficiency of the invention. For example, some motion estimation schemes based on block matching, as described for example in the MPEG Test Model [ISO/IEC, 1996. Information technology-generic coding of moving pictures and associated audio information: Software simulations. International standard ISO/IEC 13818-5], produce a motion vector field that typically has large variations between adjacent macroblocks. Such schemes can lead to a high motion vector bit rate when the vectors are encoded according to the MPEG standard, and even with the increased efficiency offered by the invention the resulting bit rate might still be relatively high. If, however, a motion estimation scheme that measures more accurately the highly correlated true motion of the picture sequence is used, the bit rate of the compressed motion vectors may be much lower. Such a motion estimation scheme is phase correlation, described in Lau, H and Lyon, D. Motion compensated processing for enhanced slow-motion and standards conversion. IBC, Amsterdam, 1992. lEE Conference Publication no. 358, pp 62-66] and applied to MPEG coding via techniques known as vector tracing and vector refinement [Thomas, G and Dancer, S. Improved motion estimation for MPEG coding within the RACE'COUGAR'project. IBC, Amsterdam, 1995. EE Conference Publication no. 413, pp238-243] There now follows a description of a further improvement to the invention, which is particularly appropriate when a motion estimation scheme such as phase correlation is used. The first part of the phase correlation technique is to generate a small"menu"containing only two or three different velocities, from which the velocities for each pixel in a large region of the image are selected. These velocities are then converted to vectors suitable for MPEG encoding by the vector tracing and vector refinement processes. It follows that the MPEG vectors will usually be clustered around a few distinct velocities corresponding to the original phase correlation menus.
The improved method uses the well-known technique of vector quantisation to encode suitable representative velocities, followed by the DCT technique described above to encode residual errors between the representative vectors and the actual vectors.
A block diagram of the improved technique is shown in Figure 3: For each picture or picture region, a set of representative vectors is calculated. In the general case, this is done using the input vectors themselves, using a vector quantization codebook generation technique such as the Linde-Buzo-Grey algorithm [Y. Linde, A. Buzo and R. M. Gray, "An algorithm for vector quantizer design", IEEE Trans. on Commun., Vol. COM28, No. 1, pp. 84.95, January 1980.]. In the specific case that the vectors are known to originate from phase correlation, the menu vectors themselves can be used in the calculation of representative vectors.
Each vector is then compared to the set of representative vectors and the nearest one chosen. The output of this stage is typically constant over objects or regions in the picture, and hence may efficiently be encoded using a run-length encoding technique. Meanwhile, in order to achieve lossless encoding of vectors, the selected representative vectors are subtracted from the actual vectors and the resulting errors passed through the existing coding algorithm.
It will be recognised that this technique may be employed independently of the spatial transform of motion vectors and will offer particular advantage where the motion measurement technique operates-as in phase correlation-to identify a number of candidate vectors and then to assign one or more of said candidate vectors to specific picture elements.
Those picture elements may be pixels or blocks. The assignment may be preliminary in that actual vectors are refined to increase accuracy. In which case, there is the option of noting any quantization error and additionally coding it such that the scheme remains lossless.
Still other modifications will occur to those skilled in the art.

Claims (15)

  1. CLAIMS 1. A process for compressing motion vectors, which exploits the correlation of motion vectors horizontally within a picture and in at least one further dimension.
  2. 2. A process according to Claim 1, which exploits the correlation of motion vectors horizontally and vertically within a picture
  3. 3. A process for reducing the average data rate of motion vector information, in which the components of the motion vectors are separately or in combination compressed losslessly using a spatial transform followed by a variable-length encoder.
  4. 4. A process according to Claim 3, in which the transform is a Discrete Cosine Transform.
  5. 5. A process according to Claim 3 or Claim 4, in which a set of motion vectors is associated with a macroblock of an image and in which the vectors within the set are translated to equivalent velocity values and passed through a linear transform.
  6. 6. A process according to Claim 5, in which the linear transform is equivalent to forming a prediction and a set of prediction errors.
  7. 7. A process according to Claim 5 or Claim 6, in which calculated values are substituted for vectors that do not appear at the input to the process.
  8. 8. A process according to Claim 7, in which the calculation is an average of neighbouring values.
  9. 9. A process according to Claim 7, in which the calculation follows an algorithm that minimizes a measure of the output bit rate.
  10. 10. A process according to any of the preceding claims, in which the input is the difference between a motion vector and a selected representative vector and in which the representative vectors are separately encoded.
  11. 11. A process according to Claim 10, in which the representative vectors are calculated as a function of the input vectors.
  12. 12. A process according to Claim 11, in which the representative vectors are calculated as a function of externally provided information such as a vector menu.
  13. 13. A method of compressing motion vectors which derive from a process of motion measurement which comprises the identification of a number of candidate vectors and the preliminary assignment of one or more of said candidate vectors to specific picture elements, the method of compressing comprising the steps of defining said candidate vectors as a set of representative values and quantizing the assigned vectors with reference to said set of representative values.
  14. 14. A method according to Claim 13, comprising the further step of run length coding.
  15. 15. A method according to Claim 13 or Claim 14, comprising the further steps of noting any error in the quantization of assigned vectors with reference to said set of representative values and additionally coding any such quantization errors.
GB0024709A 2000-10-09 2000-10-09 Compression of motion vectors Withdrawn GB2368220A (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
GB0024709A GB2368220A (en) 2000-10-09 2000-10-09 Compression of motion vectors
AU9399401A AU9399401A (en) 2000-10-09 2001-10-09 Compression of motion vectors
JP2002535399A JP2004511978A (en) 2000-10-09 2001-10-09 Motion vector compression
US10/381,963 US20040057518A1 (en) 2000-10-09 2001-10-09 Compression of motion vectors
PCT/GB2001/004517 WO2002032143A2 (en) 2000-10-09 2001-10-09 Compression of motion vectors
AU2001293994A AU2001293994B2 (en) 2000-10-09 2001-10-09 Compression of motion vectors
EP01974479A EP1325636A2 (en) 2000-10-09 2001-10-09 Compression of motion vectors
CA002424340A CA2424340A1 (en) 2000-10-09 2001-10-09 Compression of motion vectors
JP2006351630A JP2007143176A (en) 2000-10-09 2006-12-27 Motion vector compression method
AU2007202001A AU2007202001A1 (en) 2000-10-09 2007-05-04 Compression of motion vectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0024709A GB2368220A (en) 2000-10-09 2000-10-09 Compression of motion vectors

Publications (2)

Publication Number Publication Date
GB0024709D0 GB0024709D0 (en) 2000-11-22
GB2368220A true GB2368220A (en) 2002-04-24

Family

ID=9900935

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0024709A Withdrawn GB2368220A (en) 2000-10-09 2000-10-09 Compression of motion vectors

Country Status (1)

Country Link
GB (1) GB2368220A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1583368A1 (en) * 2004-03-31 2005-10-05 Mitsubishi Electric Information Technology Centre Europe B.V. Direction-adaptive scalable motion parameter coding for scalable video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033571A2 (en) * 1995-04-11 1996-10-24 Philips Electronics N.V. Motion-compensated field rate conversion
GB2328337A (en) * 1997-08-12 1999-02-17 Daewoo Electronics Co Ltd Encoding motion vectors
GB2329295A (en) * 1997-09-12 1999-03-17 Lg Semicon Co Ltd Motion vector coding in an MPEG-4 video system
GB2329783A (en) * 1997-09-25 1999-03-31 Daewoo Electronics Co Ltd Encoding video signal search block motion vectors based on the number of valid reference block motion vectors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033571A2 (en) * 1995-04-11 1996-10-24 Philips Electronics N.V. Motion-compensated field rate conversion
GB2328337A (en) * 1997-08-12 1999-02-17 Daewoo Electronics Co Ltd Encoding motion vectors
GB2329295A (en) * 1997-09-12 1999-03-17 Lg Semicon Co Ltd Motion vector coding in an MPEG-4 video system
GB2329783A (en) * 1997-09-25 1999-03-31 Daewoo Electronics Co Ltd Encoding video signal search block motion vectors based on the number of valid reference block motion vectors

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE Trans. Broadcasting, V 42, No 2, 1996, C-M Kuo, "Motionestimation for video..." , pp 110-116 *
IEEE, 1997, "A spatial and temporal motion vector coding..."M.C. Chen, A.N.Willson, pp791-794 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1583368A1 (en) * 2004-03-31 2005-10-05 Mitsubishi Electric Information Technology Centre Europe B.V. Direction-adaptive scalable motion parameter coding for scalable video coding
CN1678073B (en) * 2004-03-31 2011-01-19 三菱电机株式会社 Direction Adaptive Scalable Motion Parameter Coding for Scalable Video Coding

Also Published As

Publication number Publication date
GB0024709D0 (en) 2000-11-22

Similar Documents

Publication Publication Date Title
US8681873B2 (en) Data compression for video
CN100562130C (en) method and system for decomposing multi-view video
US20070098067A1 (en) Method and apparatus for video encoding/decoding
US6674910B1 (en) Apparatus and method for image-compression encoding and decoding using adaptive transform
US5532747A (en) Method for effectuating half-pixel motion compensation in decoding an image signal
US20110206118A1 (en) Data Compression for Video
EP2579598A2 (en) Method for encoding/decoding high-resolution image and device for performing same
EP1359770B1 (en) Signaling for fading compensation in video encoding
JPWO1997027707A1 (en) Digital image encoding and decoding method and digital image encoding and decoding device using the same
EP1584191A1 (en) Method and apparatus for encoding and decoding stereoscopic video
KR19990067723A (en) Dynamically determining group of picture size during encoding of video sequence
AU2001293994B2 (en) Compression of motion vectors
AU2001293994A1 (en) Compression of motion vectors
GB2368220A (en) Compression of motion vectors
US20130195180A1 (en) Encoding an image using embedded zero block coding along with a discrete cosine transformation
WO2020248099A1 (en) Perceptual adaptive quantization and rounding offset with piece-wise mapping function
Francisco et al. Efficient recurrent pattern matching video coding
KR20070011351A (en) Video quality enhancement and / or artifact reduction using coding information from compressed bitstreams
KR100530566B1 (en) Image compression coding and decoding apparatus using adaptive transformation method and method thereof
AU2007202001A1 (en) Compression of motion vectors
KR102111437B1 (en) Method and apparatus for image interpolation having quarter pixel accuracy using intra prediction modes
KR20110087871A (en) Method and device for image interpolation with quarter pixel resolution using intra mode
KR0134496B1 (en) Mpeg coder using adaptive scan method
KR100238891B1 (en) Improved motion estimation device and its estimation method
KR100657714B1 (en) Image Data Encoding Method Using 3D Scanning

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)