IP Library Granted Patent US 7,116,831
Granted Patent B2
US 7,116,831 · App. 10/379,615 · Granted Oct 3, 2006

Chrominance motion vector rounding

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,116,831
App. No.
10/379,615
Granted
Oct 3, 2006
Kind
B2
Abstract

Various techniques and tools for chrominance motion vector rounding are described. For example, during motion compensation, a video encoder or decoder converts luminance motion vectors into chrominance motion vector having quarter-pixel accuracy. Or, during motion compensation, a video encoder or decoder converts luminance motion vectors into chrominance motion vectors using one of multiple available chrominance motion vector rounding modes.

Claims (70)

1. In a computer system, a computer-implemented method comprising:

buffering a reference video frame; and

performing motion compensation for at least part of a current video frame relative to the reference video frame, the motion compensation including,

computing a luminance motion vector with quarter-pixel accuracy in luminance space; and

converting the luminance motion vector to a chrominance motion vector with quarter-pixel accuracy in chrominance space,

wherein if the luminance motion vector has a quarter-pixel offset in a given dimension, the chrominance motion vector has an integer-pixel offset or half-pixel offset in the given dimension;

if the luminance motion vector has a half-pixel offset in the given dimension, the chrominance motion vector has a quarter-pixel offset or three-quarters-pixel offset in the given dimension; and

if the luminance motion vector has a three-quarters-pixel offset in the given dimension, the chrominance motion vector has a half-pixel offset or integer-pixel offset in the given dimension.

2. In a computer system, a computer-implemented method comprising:

buffering a reference video frame; and

performing motion compensation for at least part of a current video frame relative to the reference video frame, the motion compensation including,

computing a luminance motion vector with quarter-pixel accuracy in luminance space; and

converting the luminance motion vector to a chrominance motion vector with quarter-pixel accuracy in chrominance space,

wherein the luminance motion vector has a half-pixel value in one dimension in luminance space, and wherein the chrominance motion vector has a corresponding quarter-pixel value or three-quarters-pixel value in the one dimension in chrominance space.

3. A computer-readable medium storing computer-executable instructions for causing the computer system to perform the method of claim 2 during video encoding.

4. A computer-readable medium storing computer-executable instructions for causing the computer system to perform the method of claim 2 during video decoding.

5. In a computer system, a computer-implemented method comprising:

buffering a reference video frame; and

performing motion compensation for at least part of a current video frame relative to the reference video frame, the motion compensation including,

computing a luminance motion vector in luminance space; and

converting the luminance motion vector to a chrominance motion vector, the converting being performed in one of multiple available chrominance motion vector rounding modes,

wherein compared to a first mode of the multiple available chrominance motion vector rounding modes, a second mode of the multiple available chrominance motion vector rounding modes decreases chrominance motion vector precision and thereby reduces computational complexity of subsequent motion compensation.

6. The method of claim 5

wherein the computing of the luminance motion vector is performed with quarter-pixel accuracy in the luminance space; and

wherein the converting of the luminance motion vector to the chrominance motion vector is performed with quarter-pixel accuracy in the chrominance space.

7. The method of claim 6 wherein chrominance motion vector scale is one half luminance motion vector scale.

8. The method of claim 6 wherein the chrominance motion vector has a quarter-pixel value in at least one dimension in chrominance space.

9. The method of claim 6 wherein the chrominance motion vector has a non-quarter-pixel value in at least one dimension in chrominance space.

10. The method of claim 6 , further comprising, during video encoding:

performing motion estimation for the at least part of the current video frame relative to the reference video frame, wherein the motion estimation also includes the computing; and

outputting an encoded video bit stream that is based at least in part on results of the motion estimation and the motion compensation.

11. The method of claim 6 , further comprising, during video decoding, outputting to a display a reconstructed frame that is based at least in part on results of the motion compensation.

12. The method of claim 5 wherein the multiple available chrominance motion vector rounding modes are selectable by a user for use in the motion compensation.

13. The method of claim 12 wherein the multiple available chrominance motion vector rounding modes are selectable prior to encoding.

14. The method of claim 12 wherein a single one of the multiple available chrominance motion vector rounding modes is selected for a video sequence.

15. The method of claim 5 wherein, the second mode uses bilinear filters to perform chrominance interpolation.

16. The method of claim 5 wherein, according to the first mode of the multiple available chrominance motion vector rounding modes the converting includes rounding the chrominance motion vector to quarter-pixel accuracy in chrominance space.

17. The method of claim 16 wherein, according to the second mode of the multiple available chrominance motion vector rounding modes, the converting includes rounding the chrominance motion vector to half-pixel accuracy in chrominance space.

18. The method of claim 5 wherein the luminance motion vector has a quarter-pixel value in one dimension in the luminance space, and wherein the chrominance motion vector has a corresponding integer-pixel or half-pixel value in the one dimension in chrominance space.

19. The method of claim 5 wherein the luminance motion vector has a half-pixel value in one dimension in the luminance space, and wherein the chrominance motion vector has a corresponding quarter-pixel value or three-quarters-pixel value in the one dimension in chrominance space.

20. The method of claim 5 wherein a signal in a video bitstream indicates one of the multiple available chrominance motion vector rounding modes.

21. The method of claim 20 wherein the signal is a one-bit value in a sequence-level field of the video bitstream.

22. A computer-readable medium storing computer-executable instructions for causing the computer system to perform the method of claim 5 during video encoding.

23. A computer-readable medium storing computer-executable instructions for causing the computer system to perform the method of claim 5 during video decoding.

24. The method of claim 5 , further comprising, during video encoding:

performing motion estimation for the at least part of the current video frame relative to the reference video frame, wherein the motion estimation also includes the computing; and

outputting an encoded video bit stream that is based at least in part on results of the motion estimation and the motion compensation.

25. The method of claim 5 , further comprising, during video decoding, outputting to a display a reconstructed frame that is based at least in part on results of the motion compensation.

26. A system comprising:

means for computing luminance motion vectors with quarter-pixel accuracy for a predicted video frame relative to a reference video frame; and

means for converting the luminance motion vectors into chrominance motion vectors with quarter-pixel accuracy in chrominance space, wherein for a given luminance motion vector of the luminance motion vectors and for a corresponding chrominance motion vector of the chrominance motion vectors,

if the luminance motion vector has a quarter-pixel offset in a given dimension, the corresponding chrominance motion vector has an integer-pixel offset or half-pixel offset in the given dimension;

if the luminance motion vector has a half-pixel offset in the given dimension, the corresponding chrominance motion vector has a quarter-pixel offset or three-quarters-pixel offset in the given dimension; and

if the luminance motion vector has a three-quarters-pixel offset in the given dimension, the corresponding chrominance motion vector has a half-pixel offset or integer-pixel offset in the given dimension.

27. A system comprising:

means for computing luminance motion vectors for a predicted video frame relative to a reference video frame;

means for selecting one of multiple available chrominance motion vector rounding modes; and

means for converting the luminance motion vectors into chrominance motion vectors according to the selected chrominance motion vector rounding mode,

wherein a first mode of the multiple available chrominance motion vector rounding modes emphasizes motion compensation quality over computational simplicity, and wherein a second mode of the multiple available chrominance motion vector rounding modes emphasizes computational simplicity over motion compensation quality.

28. The system of claim 27 ,

wherein the means for computing the luminance motion vectors is arranged for computing the luminance motion vectors with quarter-pixel accuracy for the predicted video frame relative to the reference video frame; and

wherein the means for converting the luminance motion vectors into the chrominance motion vectors is arranged for converting the luminance motion vectors into the chrominance motion vectors with quarter-pixel accuracy in chrominance space.

29. The system of claim 28 wherein the scale for the chrominance motion vectors is one half scale of the luminance motion vectors.

30. The system of claim 28 wherein the means for converting rounds chrominance motion vectors having a non-quarter-pixel value to a half-pixel or integer-pixel value.

31. The system of claim 27 wherein the selecting one of the multiple available chrominance motion vector rounding modes is performed based upon user input.

32. The system of claim 27 wherein at least some of the luminance motion vectors are quarter-pixel accurate, and wherein the selected chrominance motion vector rounding mode maps at least some of the luminance motion vectors to quarter-pixel accurate chrominance motion vectors in chrominance space.

33. The system of claim 27 wherein at least some of the luminance motion vectors are quarter-pixel accurate, and wherein the selected chrominance motion vector rounding mode maps none of the luminance motion vectors to quarter-pixel accurate chrominance motion vectors in chrominance space.

34. The system of claim 27 wherein a signal in a bitstream indicates the selected chrominance motion vector rounding mode.

35. The system of claim 34 wherein the signal is a one-bit value in a sequence-level field of the bitstream.

36. The system of claim 27 wherein the second mode uses bilinear filters to perform chrominance interpolation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2003
From: MUKERJEE, KUNAL; SRINIVASAN, SRIDHAR
To: MICROSOFT CORPORATION
Reel/Frame 013846/0206 →