IP Library Granted Patent US 7,120,197
Granted Patent B2
US 7,120,197 · App. 10/322,383 · Granted Oct 10, 2006

Motion compensation loop with filtering

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,120,197
App. No.
10/322,383
Granted
Oct 10, 2006
Kind
B2
Abstract

Techniques and tools for processing reference frames in a motion estimation/compensation loop or motion compensation loop are described. For example, a video encoder or decoder filters reference frames to reduce discontinuities at block boundaries, improving the efficiency of motion estimation and compensation.

Claims (39)

1. A computer-implemented method of motion compensation, the method comprising:

in a loop that includes motion compensation,

adaptively filtering one or more boundaries between sets of pixels in a reference frame to reduce boundary discontinuities, wherein application of the filtering across a given boundary of the one or more boundaries depends at least in part upon plural discontinuity measures, the plural discontinuity measures including:

a cross boundary discontinuity measure that quantifies pixel value discontinuity across the given boundary;

a first side discontinuity measure that quantifies pixel value discontinuity on a first side of the given boundary, wherein the first side discontinuity measure is computed using plural pixel values on the first side of the given boundary;

a second side discontinuity measure that quantifies pixel value discontinuity on a second side of the given boundary, wherein the second side discontinuity measure is computed using plural pixel values on the second side of the given boundary, and wherein the first side is different than the second side; and

performing the motion compensation for a predicted frame relative to the reference frame.

2. The method of claim 1 wherein the sets are blocks.

3. The method of claim 1 wherein for each of plural lines of pixels across the given boundary the filtering adjusts no more than one pixel value on each of the first and second sides.

4. The method of claim 1 wherein the application of the filtering further depends at least in a part upon a quantization level.

5. The method of claim 1 further comprising selectively disabling the filtering.

6. A computer-readable medium storing computer-executable instructions for causing a computer system to perform the method of claim 1 in a video encoder.

7. A computer-readable medium storing computer-executable instructions for causing a computer system to perform the method of claim 1 in a video decoder.

8. A computer-implemented method of motion compensation, the method comprising:

in a loop that includes motion compensation,

applying a short deblocking filter across one or more boundaries between sets of pixels in a reference frame to reduce boundary discontinuities, wherein in each of plural lines of pixels across a given boundary of the one or more boundaries the short deblocking filter modifies no more than one pixel value on each side of the given boundary, and wherein each modified pixel value is based at least in part on plural pixel values on the same side of the given boundary as the modified pixel value; and

performing the motion compensation for a predicted frame relative to the reference frame.

9. The method of claim 8 wherein the applying depends at least in part upon one or more boundary heuristics, the one or more boundary heuristics including a cross boundary discontinuity measure and plural side discontinuity measures, each of the plural side discontinuity measures being computed using plural pixel values on a given different side of the given boundary.

10. The method of claim 8 wherein the applying depends at least in part upon a quantization level.

11. The method of claim 8 wherein the sets are blocks.

12. The method of claim 8 further comprising selectively enabling the applying.

13. A computer-readable medium storing computer-executable instructions for causing a computer system to perform the method of claim 8 in a video encoder.

14. A computer-readable medium storing computer-executable instructions for causing a computer system to perform the method of claim 8 in a video decoder.

15. A computer-readable medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method of motion estimation and compensation during video encoding, the method comprising:

evaluating first motion compensation for one or more predicted frames relative to one or more reference frames;

filtering one or more boundaries between sets of pixels in the one or more reference frames to reduce boundary discontinuities;

evaluating second motion compensation for the one or more predicted frame relative to the one or more reference frames with the filtered one or more boundaries;

selectively using either the first motion compensation or the second motion compensation based at least in part upon a comparison of first results of the first motion compensation with second results of the second motion compensation; and

signaling whether or not to perform corresponding filtering in the one or more reference frames during video decoding.

16. The computer-readable medium of claim 15 wherein the computer system performs the evaluating acts in an open loop.

17. The computer-readable medium of claim 15 wherein the computer system performs the evaluating acts in a closed loop.

18. The computer-readable medium of claim 15 wherein the computer system performs the signaling at sequence level.

19. The computer-readable medium of claim 15 wherein the computer system performs the signaling at frame level.

20. The method of claim 1 wherein the one or more boundaries are in a chrominance plane of the reference frame.

21. The method of claim 1 wherein the one or more boundaries are in a luminance plane of the reference frame.

22. The method of claim 1 wherein a single line of pixel values across the given boundary includes the plural pixel values on the first side and the plural pixel values on the second side.

23. The method of claim 8 wherein the one or more boundaries are in a chrominance plane of the reference frame.

24. The method of claim 8 wherein the one or more boundaries are in a luminance plane of the reference frame.

25. The computer-readable medium of claim 15 wherein the filtering adapts depending at least in part upon one or more boundary heuristics that include a cross boundary discontinuity measure and plural side discontinuity measures, each of the plural side discontinuity measures being computed using plural pixel values on a given different side of a given boundary of the one or more boundaries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →