IP Library Granted Patent US 7,577,305
Granted Patent B2
US 7,577,305 · App. 11/441,699 · Granted Aug 18, 2009

Spatial extrapolation of pixel values in intraframe video coding and decoding

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,577,305
App. No.
11/441,699
Granted
Aug 18, 2009
Kind
B2
Abstract

Techniques and tools for spatial extrapolation of pixel values in intraframe video encoding and/or decoding are described. For example, to predict the pixel values for a block of pixels, a video encoder or decoder uses spatial extrapolation from the pixel values of pixels in a causal neighborhood for the block of pixels.

Claims (50)

1. In a computing device that implements a video decoder, a method of decoding blocks of pixels in a video frame of a video sequence, the method comprising:

with the computing device that implements the video decoder, for a current block of plural pixels in the video frame of the video sequence,

identifying plural context pixels in the video frame, wherein the plural context pixels form at least part of a causal neighborhood for the current block;

predicting a spatial extrapolation mode for the current block based upon plural contextual spatial extrapolation modes, the plural contextual spatial extrapolation modes including a first contextual spatial extrapolation mode for a first causal block above the current block, the first contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the first causal block, the plural contextual spatial extrapolation modes further including a second contextual spatial extrapolation mode for a second causal block left of the current block, the second contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the second causal block;

computing an actual spatial extrapolation mode for the current block based at least in part upon the predicted spatial extrapolation mode for the current block; and

computing a spatial extrapolation according to the actual spatial extrapolation mode for pixel values of the plural pixels of the current block based at least in part upon pixel values of the plural context pixels, wherein the spatial extrapolation comprises one or more pixel value extrapolations from one or more of the plural context pixels into the current block to thereby spatially predict the pixel values of the plural pixels of the current block.

2. The method of claim 1 further comprising reconstructing a residual for the current block.

3. The method of claim 2 further comprising selecting a scan pattern for the residual from among plural scan patterns.

4. The method of claim 1 wherein the actual spatial extrapolation mode for the current block is selected from among plural spatial extrapolation modes, wherein the plural spatial extrapolation modes include a horizontal mode, a vertical mode, and a flat mode, and wherein the flat mode uses a DC value derived from the pixel values of the plural context pixels.

5. A computer-readable storage medium storing computer-executable instructions for causing the computing device to perform the method of claim 1 during video decoding.

6. The method of claim 1 further comprising:

reconstructing a residual for the current block; and

reconstructing the current block from the residual and the spatial extrapolation for the pixel values of the plural pixels of the current block.

7. The method of claim 6 further comprising filtering the reconstructed current block to reduce boundary discontinuities with the plural context pixels.

8. The method of claim 1 wherein the pixel values are luminance values.

9. The method of claim 1 wherein the pixel values are chrominance values.

10. The method of claim 1 further comprising, at the computing device that implements the video decoder, receiving from a bit steam information that at least in part indicates the actual spatial extrapolation mode when considered with the predicted spatial extrapolation mode, wherein the computing the actual spatial extrapolation mode for the current block includes evaluating the received information in view of the predicted spatial extrapolation mode.

11. The method of claim 10 further comprising entropy decoding the received information.

12. The method of claim 1 further comprising, with the computing device that implements the video decoder, before the identifying the plural context pixels:

performing the spatial extrapolation for the pixel values of the plural pixels of the first causal block;

reconstructing a residual for the first causal block;

reconstructing the first causal block from the residual for the first causal block and the spatial extrapolation for the pixel values of the plural pixels of the first causal block;

performing the spatial extrapolation for the pixel values of the plural pixels of the second causal block;

reconstructing a residual for the second causal block; and

reconstructing the second causal block from the residual for the second causal block and the spatial extrapolation for the pixel values of the plural pixels of the second causal block, wherein the first causal block and/or the second causal block include at least some of the plural context pixels.

13. The method of claim 1 wherein the predicting the spatial extrapolation mode for the current block includes:

determining a first meta-direction from the first contextual spatial extrapolation mode for the first causal block;

determining a second meta-direction from the second contextual spatial extrapolation mode for the second causal block; and

determining the predicted spatial extrapolation mode using the first meta-direction and the second meta-direction.

14. In a computing device that implements a video decoder, a method of decoding a current block of pixels of a video frame of a video sequence, the method comprising:

with the computing device that implements the video decoder, predicting a spatial extrapolation mode for the current block based upon plural contextual spatial extrapolation modes, the plural contextual spatial extrapolation modes including a first contextual spatial extrapolation mode for a first causal block above the current block in the video frame, the first contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the first causal block, the plural contextual spatial extrapolation modes further including a second contextual spatial extrapolation mode for a second causal block left of the current block in the video frame, the second contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the second causal block; and

with the computing device that implements the video decoder, computing an actual spatial extrapolation mode for the current block, wherein the computing is based at least in part upon the predicted spatial extrapolation mode for the current block, and wherein the actual spatial extrapolation mode for the current block indicates bow to compute a spatial extrapolation for pixel values of plural pixels of the current block, the spatial extrapolation using one or more pixel value extrapolations from one or more context pixels around the current block to spatially predict the pixel values of the plural pixels of the current block.

15. A computer-readable storage medium storing computer-executable instructions for causing the computing device to perform the method of claim 14 during video decoding.

16. The method of claim 14 further comprising receiving information at least in part indicating the actual spatial extrapolation mode when considered with the predicted spatial extrapolation mode, wherein the computing includes evaluating the received information in view of the predicted spatial extrapolation mode.

17. The method of claim 16 further comprising entropy decoding the received information.

18. In a computing device that implements a video decoder, a method comprising:

receiving, at the computing device that implements the video decoder, encoded data in a bit stream, wherein the encoded data includes information that at least in part indicates an actual spatial extrapolation mode for a current block of a video frame; and

with the computing device that implements the video decoder, reconstructing the video frame using the encoded data, including:

predicting spatial extrapolation mode for the current block based upon plural contextual spatial extrapolation modes, the plural contextual spatial extrapolation modes including a first contextual spatial extrapolation mode for a first causal block above the current block in the video frame, the first contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the first causal block, the plural contextual spatial extrapolation modes farther including a second contextual spatial extrapolation mode for a second causal block left of the current block in the video frame, the second contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the second causal block;

computing the actual spatial extrapolation mode for the current block, wherein the computing includes evaluating the received information in view of the predicted spatial extrapolation mode for the current block; and

computing a spatial extrapolation for pixel values of plural pixels of the current block according to the actual spatial extrapolation mode for the current block, wherein the spatial extrapolation uses one or more pixel value extrapolations from one or more context pixels around the current block to spatially predict the pixel values of the plural pixels of the current block.

19. The method of claim 18 wherein the reconstructing further comprises entropy decoding the received information.

20. The method of claim 18 further comprising:

decoding a residual for the current block; and

combining the residual and the spatial extrapolation for the current block.

21. In a computing device that implements a video encoder, a method of encoding a current block of pixels of a video frame of a video sequence, the method comprising:

with the computing device that implements the video encoder, predicting a spatial extrapolation mode for the current block based upon plural contextual spatial extrapolation modes, the plural contextual spatial extrapolation modes including a first contextual spatial extrapolation mode for a first causal block above the current block in the video frame, the first contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the first causal block, the plural contextual spatial extrapolation modes further including a second contextual spatial extrapolation mode for a second causal block left of the current block in the video frame, the second contextual spatial extrapolation mode indicating how spatial extrapolation was performed for pixel values of plural pixels of the second causal block; and

with the computing device that implements the video encoder, computing an actual spatial extrapolation mode for the current block, wherein the computing is based at least in part upon the predicted spatial extrapolation mode for the current block, and wherein the actual spatial extrapolation mode for the current block indicates bow to compute a spatial extrapolation for pixel values of plural pixels of the current block, the spatial extrapolation using one or more pixel value extrapolations from one or more context pixels around the current block to spatially predict the pixel values of the plural pixels of the current block.

22. The method of claim 21 Farther comprising, from the computing device that implements the video encoder, outputting information at least in part indicating the actual spatial extrapolation mode when considered with the predicted spatial extrapolation mode.

23. The method of claim 22 further comprising, with the computing device that implements the video encoder, entropy encoding the information before the outputting.

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