IP Library Granted Patent US 7,054,494
Granted Patent B2
US 7,054,494 · App. 10/733,223 · Granted May 30, 2006

Coded block pattern decoding with spatial prediction

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,054,494
App. No.
10/733,223
Granted
May 30, 2006
Kind
B2
Abstract

The coded block parameters used to code blocks of image samples into structures called macroblocks are compressed more efficiently by exploiting the correlation between chrominance and luminance blocks in each macroblock. In particular, the coded block pattern for chrominance and luminance are combined into a single parameter for the macroblock and jointly coded with a single variable length code. To further enhance coding efficiency, the spatial coherence of coded block patterns can be exploited by using spatial prediction to compute predicted values for coded block pattern parameters.

Claims (62)

1. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:

for each macroblock of plural macroblocks, decoding a coded block pattern, wherein the macroblock includes plural blocks, wherein the coded block pattern indicates which of the plural blocks have corresponding transform coefficient data in a bitstream, and wherein the decoding comprises for each macroblock of the plural macroblocks:

receiving an entropy code, wherein the received entropy code represents change information for at least part of the coded block pattern;

decoding the received entropy code to obtain the change information;

computing a predictor for at least part of the coded block pattern by spatial prediction; and

determining the coded block pattern for the macroblock, including computing an XOR between the change information and the predictor; and

using the coded block patterns for the plural macroblocks in the reconstructing.

2. The method of claim 1 wherein, for each macroblock of the plural macroblocks, the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks, and the coded block pattern consists of six bits each indicating whether a corresponding block of the four luminance blocks and two chrominance blocks has transform coefficient data in the bitstream.

3. The method of claim 1 wherein the received entropy code is a variable length code.

4. The method of claim 1 wherein the video decoder performs the spatial prediction for intra-type macroblocks but not other types of macroblocks.

5. The method of claim 1 wherein, for each macroblock of the plural macroblocks, the change information and the predictor are only for coded block pattern information for plural luminance blocks of the macroblock.

6. The method of claim 1 wherein at least some of the spatial prediction is based on previously decoded coded block patterns.

7. The method of claim 1 wherein the spatial prediction is based at least in part on a comparison involving a top-left adjacent block and a top adjacent block relative to a given block.

8. A computer-readable medium having stored therein computer-executable instructions for causing a computer system programmed thereby to perform the method of claim 1 .

9. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:

for each macroblock of plural macroblocks in a video image, decoding a coded block pattern, wherein the macroblock comprises plural blocks, wherein the coded block pattern indicates which of the plural blocks of the macroblock have corresponding transform coefficient data in a bitstream, and wherein the decoding comprises for each macroblock of the plural macroblocks:

receiving an entropy code in the bitstream, wherein the received entropy code represents change information for at least part of the coded block pattern;

decoding the received entropy code to obtain the change information;

for at least some blocks of the plural blocks of the macroblock, computing a predictor by spatial prediction on a block-by-block basis; and

determining the coded block pattern based at least in part on the change information and the predictor; and

using the coded block patterns for the plural macroblocks in the reconstructing.

10. The method of claim 9 wherein, for each macroblock of the plural macroblocks, the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks, and the coded block pattern consists of six bits each indicating whether a corresponding block of the four luminance blocks and two chrominance blocks has transform coefficient data in the bitstream.

11. The method of claim 9 wherein the change information consists of change information for the at least some blocks.

12. The method of claim 9 wherein the computing a predictor consists of computing a predictor only for plural luminance blocks of the macroblock.

13. The method of claim 9 wherein the at least some blocks consist of plural luminance blocks of the macroblock.

14. The method of claim 9 wherein, for a current block of the at least some blocks, the spatial prediction is based at least in part on blocks above, to the left, or to the above-left of the current block.

15. The method of claim 14 wherein at least one of the blocks above, to the left, or to the above-left of the current block are within a different macroblock than the current block.

16. The method of claim 14 wherein the spatial prediction includes a comparison involving the blocks above and to the above-left of the current block.

17. The method of claim 9 wherein the determining the coded block pattern comprises computing a bitwise XOR between the change information and the predictor for the at least some blocks.

18. A computer-readable medium having stored therein computer-executable instructions for causing a computer system programmed thereby to perform the method of claim 9 .

19. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:

for each macroblock of plural macroblocks, decoding a coded block pattern, wherein the coded block pattern indicates which of plural blocks of the macroblock have corresponding transform coefficient data in a bitstream, and wherein the decoding comprises for each macroblock of the plural macroblocks:

receiving a variable length code, wherein the received variable length code represents information for the coded block pattern;

decoding the received variable length code to obtain the information for the coded block pattern, wherein the information includes plural bits, and wherein the plural bits include plural predictor adjustment bits;

computing a predictor by spatial prediction, wherein the predictor includes plural predictor bits;

determining the coded block pattern based at least in part on the plural predictor adjustment bits and the plural predictor bits; and

using the coded block patterns for the plural macroblocks in the reconstructing.

20. The method of claim 19 wherein the video decoder performs the spatial prediction for intra-type macroblocks but not other types of macroblocks.

21. The method of claim 19 wherein, for each macroblock of the plural macroblocks, the predictor is only for plural luminance blocks of the macroblock.

22. The method of claim 19 wherein at least some of the spatial prediction is based on previously decoded coded block patterns.

23. The method of claim 19 wherein the spatial prediction is based at least in part on a comparison involving a top-left adjacent block and a top adjacent block relative to a given block.

24. The method of claim 19 wherein the determining the coded block pattern comprises computing a bitwise XOR between the plural predictor adjustment bits and the plural predictor bits.

25. A computer-readable medium having stored therein computer-executable instructions for causing a computer system programmed thereby to perform the method of claim 19 .

26. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:

for each intra-type macroblock of plural intra-type macroblocks, decoding a coded block pattern, wherein the coded block pattern indicates which of plural blocks of the intra-type macroblock have corresponding transform coefficient data in a bitstream, and wherein the decoding comprises for each intra-type macroblock of the plural intra-type macroblocks:

receiving an entropy code, wherein the received entropy code represents information for the coded block pattern;

decoding the received entropy code to obtain the information for the coded block pattern;

computing a predictor by spatial prediction;

determining the coded block pattern based at least in part on the information for the coded block pattern and the predictor; and

using the coded block patterns for the plural intra-type macroblocks in the reconstructing.

27. The method of claim 26 wherein, for each intra-type macroblock of the plural intra-type macroblocks, the predictor is only for plural luminance blocks of the intra-type macroblock.

28. The method of claim 26 wherein the spatial prediction is based at least in part on a comparison involving a top-left adjacent block and a top adjacent block relative to a given block.

29. A computer-readable medium having stored therein computer-executable instructions for causing a computer system programmed thereby to perform the method of claim 26 .

30. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:

for each macroblock of plural macroblocks, decoding a coded block pattern, wherein the coded block pattern indicates which of plural blocks of the macroblock have corresponding transform coefficient data in a bitstream, and wherein the decoding comprises for each macroblock of the plural macroblocks:

receiving an entropy code, wherein the received entropy code represents information for the coded block pattern;

decoding the received entropy code to obtain the information for the coded block pattern;

computing a predictor by spatial prediction, wherein the decoder performs the spatial prediction on a block-by-block basis, and wherein for each given block of the plural blocks the spatial prediction is based at least in part on a first adjacent block above the given block and a second adjacent block to the above-left of the given block;

determining the coded block pattern based at least in part on the information for the coded block pattern and the predictor; and

using the coded block patterns for the plural macroblocks in the reconstructing.

31. The method of claim 30 wherein, for each macroblock of the plural macroblocks, the predictor is only for plural luminance blocks of the macroblock.

32. A computer-readable medium having stored therein computer-executable instructions for causing a computer system programmed thereby to perform the method of claim 30 .

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