Variable length coding of coded block pattern (CBP) in video compression
AssigneeQUALCOMM Incorporated
InventorsMarta Karczewicz, Wei-Jung Chien, Xianglin Wang
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
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.
Dependencies are inferred from the claim text.