IP Library Granted Patent US 7,289,673
Granted Patent B2
US 7,289,673 · App. 11/495,355 · Granted Oct 30, 2007

Decoding macroblock type and coded block pattern information

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,289,673
App. No.
11/495,355
Granted
Oct 30, 2007
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 (38)

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

decoding macroblock type information for a macroblock, first coded block pattern information for plural luminance blocks of the macroblock, and second coded block pattern information for plural chrominance blocks of the macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the decoding comprises:

receiving a code in the bitstream, wherein the received code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and

determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream based at least in part upon the received code; and

using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.

2. The method of claim 1 wherein the macroblock type is intra for the macroblock.

3. The method of claim 2 further comprising repeating the decoding and the using for each of one or more other intra type macroblocks.

4. The method of claim 1 further comprising:

decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and

using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.

5. The method of claim 4 wherein the macroblock type of the second macroblock is inter.

6. The method of claim 1 wherein the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.

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

8. The method of claim 1 wherein the determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream comprises arithmetic decoding.

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

decoding macroblock type information for an intra macroblock, first coded block pattern information for plural luminance blocks of the intra macroblock, and second coded block pattern information for plural chrominance blocks of the intra macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the intra macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the decoding comprises:

receiving a variable length code in the bitstream, wherein the received variable length code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and

determining whether any of the plural luminance blocks and the plural chrominance blocks of the intra macroblock have transform coefficient data in the bitstream based at least in part upon the received variable length code; and

using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.

10. The method of claim 9 further comprising repeating the decoding and the using for each of one or more other intra macroblocks.

11. The method of claim 9 further comprising:

decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and

using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.

12. The method of claim 11 wherein the macroblock type of the second macroblock is inter.

13. The method of claim 9 wherein the intra macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.

14. A video decoder system comprising:

means for decoding macroblock type information for a macroblock, first coded block pattern information for plural luminance blocks of the macroblock, and second coded block pattern information for plural chrominance blocks of the macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the means for decoding comprises:

means for receiving a code in the bitstream, wherein the code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and

means for determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream based at least in part upon the code; and

means for using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.

15. The system of claim 14 wherein the macroblock type is intra for the macroblock.

16. The system of claim 14 further comprising means for repeating the decoding and the using for each of one or more other intra type macroblocks.

17. The system of claim 14 further comprising:

means for decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and

means for using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.

18. The system of claim 17 wherein the macroblock type of the second macroblock is inter.

19. The method of claim 14 wherein the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.

20. The method of claim 14 wherein the code is a variable length code.

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