IP Library Granted Patent US 8,942,282
Granted Patent B2
US 8,942,282 · App. 13/084,494 · Granted Jan 27, 2015

Variable length coding of coded block pattern (CBP) in video compression

Inventors: Marta Karczewicz (San Diego, CA); Wei-Jung Chien (San Diego, CA); Xianglin Wang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00133H04N19/00551H04N19/00315H04N19/00369H04N19/00278H04N19/00218H04N19/00121
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 8,942,282
App. No.
13/084,494
Granted
Jan 27, 2015
Kind
B2
Abstract

This disclosure describes techniques for coding video data. As one example, this disclosure describes a coded block pattern (CBP) for a coding unit (CU) of video data that indicates whether or not each of a luminance component (Y), a first chrominance component (U), and a second chrominance component (V) include at least one non-zero coefficient. According to another example, this disclosure describes a CBP that indicates whether respective blocks of a CU include at least on non-zero coefficient. The CBP described herein may be mapped to a single variable length code (VLC) code word. The VLC code word may be used by a coder to code the CU of video data.

Claims (60)

1. A method of decoding video data, comprising:

receiving a single variable length code (VLC) code word for a coded block pattern (CBP) of a coding unit (CU) of the video data that includes a luma component (Y), a first chroma component (U), and a second chroma component (V);

determining, based on the single VLC code word, the CBP for the CU, wherein the CBP indicates individually whether or not each of the luma component (Y), the first chroma component (U), and the second chroma component (V) includes a non-zero coefficient, and wherein determining the CBP for the CU comprises mapping the single VLC code word to the CBP using a VLC code table selected based on a context determined for the CU, the context selected from a group consisting of:

whether both of a first previously coded CU and a second previously coded CU do not include any non-zero coefficients,

whether one of the first previously coded CU or the second previously coded CU includes at least one non-zero coefficient, and another of the first previously coded CU or the second previously coded CU does not include at least one non-zero coefficient, and

whether both of the first previously coded CU and the second previously coded CU include at least one non-zero coefficient; and

using the determined CBP to decode the CU.

2. The method of claim 1 , wherein each of the first previously coded CU and the second previously coded CU comprises a neighboring CU of the CU.

3. The method of claim 1 , wherein receiving the single VLC code word comprises receiving the single VLC code word from an encoder.

4. The method of claim 1 , further comprising:

determining a prediction mode for the CU;

if the determined prediction mode comprises an inter prediction mode, adaptively updating at least one VLC code word that represents the prediction mode; and

if the determined prediction mode comprises an intra prediction mode, maintaining a dedicated VLC code word that represents the prediction mode.

5. The method of claim 1 , further comprising, based on the CBP for the CU indicating that at least one of the luma component (Y), the first chroma component (U), or the second chroma component (V) includes a non-zero coefficient:

receiving a single VLC code word for a CBP of the respective component of the CU that includes a plurality of blocks;

determining, based on the single VLC code word, the CBP for the respective component;

determining, based on the CBP for the respective component, a coded block flag (CBF) for each of the plurality of blocks, wherein the CBF indicates whether or not the respective block of the plurality of blocks includes at least one non-zero coefficient; and

decoding the respective block based on the determined CBF.

6. An apparatus that decodes video data, the apparatus comprising:

a video decoder that receives a single variable length code (VLC) code word for a coded block pattern (CBP) of a coding unit(CU) of the video data that includes a luma component (Y), a first chroma component (U), and a second chroma component (V); and

a CBP decoding module that determines, based on the single VLC code word, the CBP for the CU, wherein the CBP indicates individually whether or not each of the luma component (Y), the first chroma component (U), and the second chroma component (V) includes a non-zero coefficient, and wherein CBP decoding module maps the single VLC code word to the CBP using a VLC code table selected based on a context determined for the CU, the context selected from a group consisting of:

whether both of a first previously coded CU and a second previously coded CU do not include any non-zero coefficients,

whether one of the first previously coded CU or the second previously coded CU includes at least one non-zero coefficient, and another of the first previously coded CU or the second previously coded CU does not include at least one non-zero coefficient, and

whether both of the first previously coded CU and the second previously coded CU include at least one non-zero coefficient, and

wherein the video decoder uses the determined CBP to decode the CU.

7. The apparatus of claim 6 , wherein each of first previously coded CU and the second previously coded CU comprises a neighboring CU of the CU.

8. The apparatus of claim 6 , wherein the video decoder receives the single VLC code word from an encoder.

9. The apparatus of claim 6 , wherein the video decoder is further configured to:

determine a prediction mode for the CU;

if the determined prediction mode comprises an inter prediction mode, adaptively update at least one VLC code word that represents the prediction mode; and

if the determined prediction mode comprises an intra prediction mode, maintain a dedicated VLC code word that represents the prediction mode.

10. The apparatus of claim 6 , wherein, based on the CBP for the CU indicating that at least one of the luma component (Y), the first chroma component (U), or the second chroma component (V) includes a non-zero coefficient:

the video decoder receives a single VLC code word for a CBP of the respective component of the CU that includes a plurality of blocks; and

the CBP decoding module determines, based on the single VLC code word, the CBP for the respective component, and determines, based on the CBP for the respective component, a coded block flag (CBF) for each of the plurality of blocks, wherein the CBF indicates whether or not the respective block of the plurality of blocks includes at least one non-zero coefficient, and wherein the video decoder decodes the respective block based on the determined CBF.

11. A device that decodes video data, the device comprising:

means for receiving a single variable length code (VLC) code word for a coded block pattern (CBP) of a coding unit (CU) of the video data that includes a luma component (Y), a first chroma component (U), and a second chroma component (V);

means for determining, based on the single VLC code word, the CBP for the CU, wherein the CBP indicates individually whether or not each of the luma component (Y), the first chroma component (U), and the second chroma component (V) includes a non-zero coefficient, and wherein the means for determining the CBP for the CU comprise means for mapping the single VLC code word to the CBP using a VLC code table selected based on a context determined for the CU, the context selected from a group consisting of:

whether both of a first previously coded CU and a second previously coded CU do not include any non-zero coefficients,

whether one of the first previously coded CU or the second previously coded CU includes at least one non-zero coefficient, and another of the first previously coded CU or the second previously coded CU does not include at least one non-zero coefficient, and

whether both of the first previously coded CU and the second previously coded CU include at least one non-zero coefficient; and

means for using the determined CBP to decode the CU.

12. The device of claim 11 , wherein each of the first previously coded CU and the second previously coded CU comprises a neighboring CU of the CU.

13. The device of claim 11 , wherein the means for receiving the single VLC code word receive the single VLC code word from an encoder.

14. The device of claim 11 , wherein the video decoder is further configured to:

determine a prediction mode for the CU;

if the determined prediction mode comprises an inter prediction mode, adaptively update at least one VLC code word that represents the prediction mode; and

if the determined prediction mode comprises an intra prediction mode, maintain a dedicated VLC code word that represents the prediction mode.

15. A non-transitory computer-readable storage medium comprising instructions that upon execution in a processor, cause the processor to decode video data, wherein the instructions cause the processor to:

receive a single variable length code (VLC) code word for a coded block pattern (CBP) of a coding unit (CU) of the video data that includes a luma component (Y), a first chroma component (U), and a second chroma component (V);

determine, based on the single VLC code word, the CBP for the CU, wherein the CBP indicates individually whether or not each of the luma component (Y), the first chroma component (U), and the second chroma component (V) includes a non-zero coefficient, and wherein the instruction cause the processor to map the single VLC code word to the CBP using a VLC code table selected based on a context determined for the CU, the context selected from a group consisting of:

whether both of a first previously coded CU and a second previously coded CU do not include any non-zero coefficients,

whether one of the first previously coded CU or the second previously coded CU includes at least one non-zero coefficient, and another of the first previously coded CU or the second previously coded CU does not include at least one non-zero coefficient, and

whether both of the first previously coded CU and the second previously coded CU include at least one non-zero coefficient; and

use the determined CBP to decode the CU.

16. The non-transitory computer-readable storage medium of claim 15 , wherein each of the first previously coded CU and the second previously coded CU comprises a neighboring CU of the CU.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions cause the processor to receive the single VLC code word from an encoder.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the processor to:

determine a prediction mode for the CU;

if the determined prediction mode comprises an inter prediction mode, adaptively update at least one VLC code word that represents the prediction mode; and

if the determined prediction mode comprises an intra prediction mode, maintain a dedicated VLC code word that represents the prediction mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2011
From: KARCZEWICZ, MARTA; CHIEN, WEI-JUNG; WANG, XIANGLIN
To: QUALCOMM INCORPORATED
Reel/Frame 026508/0228 →
Continuity (5)
Provisional Application 61323256 · Apr 12, 2010
Provisional Application 61386460 · Sep 24, 2010
Provisional Application 61323731 · Apr 13, 2010
Provisional Application 61364749 · Jul 15, 2010
Related Publication 20110249721A1 · Oct 13, 2011