Entropy coding of interleaved sub-blocks of a video block
First Claim
Patent Images
1. A method of encoding a video block, the method comprising:
- scanning the video block to define a one-dimensional vector of coefficients;
dividing the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block;
coding a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient;
interleaving coefficients of the non-zero value sub-blocks to define interleaved sub-blocks;
entropy coding the interleaved sub-blocks; and
skipping entropy coding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure describes techniques for entropy coding of video blocks, and proposes a syntax element that may promote coding efficiency. The syntax element may identify a number of non-zero value sub-blocks within a video block, wherein the non-zero value sub-blocks comprise sub-blocks within the video block that include at least one non-zero coefficient. A method of coding a video block may comprise coding the syntax element, generating the non-zero value sub-blocks of the video block, and entropy coding the non-zero value sub-blocks.
-
Citations
30 Claims
-
1. A method of encoding a video block, the method comprising:
-
scanning the video block to define a one-dimensional vector of coefficients; dividing the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block; coding a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; interleaving coefficients of the non-zero value sub-blocks to define interleaved sub-blocks; entropy coding the interleaved sub-blocks; and skipping entropy coding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus comprising an encoder configured to:
-
scan a video block to define a one-dimensional vector of coefficients; divide the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block; code a syntax element that defines a number of non-zero value sub-blocks of a video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; interleave coefficients of the non-zero value sub-blocks to define interleaved sub-blocks; entropy code the interleaved sub-blocks; and skip entropy coding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A non-transitory computer-readable storage medium having stored thereon instructions that upon execution in a video encoding device cause the device to code a video block, wherein the stored instructions cause the device to:
-
scan the video block to define a one-dimensional vector of coefficients; divide the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block; code a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; interleave coefficients of the non-zero value sub-blocks to define interleaved sub-blocks; entropy code the interleaved sub-blocks; and skip entropy coding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero. - View Dependent Claims (11, 12, 13)
-
-
14. A device comprising:
-
means for scanning a video block to define a one-dimensional vector of coefficients; means for dividing the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block; means for coding a syntax element that defines a number of non-zero value sub-blocks of a video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; means for interleaving coefficients of the non-zero value sub-blocks to define interleaved sub-blocks; means for entropy coding the interleaved sub-blocks; and means for skipping entropy coding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero. - View Dependent Claims (15, 16, 17)
-
-
18. A device comprising:
-
an encoder configured to; scan the video block to define a one-dimensional vector of coefficients; divide the one-dimensional vector of coefficients to define a set of one-dimensional vectors of sub-blocks of the video block; encode a syntax element that defines a number of non-zero value sub-blocks of a video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; interleave coefficients of the non-zero value sub-blocks to define interleaved sub-blocks; entropy encode the interleaved sub-blocks; and skip entropy encoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; and a wireless transmitter that sends a bitstream comprising the entropy encoded interleaved sub-blocks and the syntax element.
-
-
19. A device comprising:
-
a wireless receiver that receives a bitstream comprising a set of interleaved and entropy coded sub-blocks and a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; and a decoder configured to; entropy decode the interleaved and entropy coded sub-blocks to define interleaved sub-blocks; skip entropy decoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; generate one or more zero-value sub-blocks based on the syntax element, wherein the received bitstream does not include the zero-value sub-blocks; generate a one-dimensional vector of coefficients based on the interleaved sub-blocks and the one or more zero value sub-blocks; and inverse scan the one-dimensional vector of coefficients to define a two-dimensional representation of the video block.
-
-
20. A method of decoding a video block, the method comprising:
-
receiving a bitstream comprising a set of interleaved and entropy coded sub-blocks and a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; entropy decoding the interleaved and entropy coded sub-blocks to define interleaved sub-blocks; skipping entropy decoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; generating one or more zero-value sub-blocks based on the syntax element, wherein the received bitstream does not include the zero-value sub-blocks; generating a one-dimensional vector of coefficients based on the interleaved sub-blocks and the one or more zero-value sub-blocks; and inverse scanning the one-dimensional vector of coefficients to define a two-dimensional representation of the video block. - View Dependent Claims (21, 22, 23)
-
-
24. An apparatus comprising a decoder configured to:
-
receive a bitstream comprising a set of interleaved and entropy coded sub-blocks and a syntax element that defines a number of non-zero value sub-blocks of a video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; entropy decode the interleaved and entropy coded sub-blocks to define interleaved sub-blocks; skip entropy decoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; generate one or more zero-value sub-blocks based on the syntax element, wherein the received bitstream does not include the zero-value sub-blocks; generate a one-dimensional vector of coefficients based on the interleaved sub-blocks and the one or more zero value sub-blocks; and inverse scan the one-dimensional vector of coefficients to define a two-dimensional representation of the video block. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A non-transitory computer-readable storage medium having stored thereon instructions that upon execution in a video decoding device cause the device to decode a video block, wherein the instructions cause the device to:
-
receive a bitstream comprising a set of interleaved and entropy coded sub-blocks and a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; entropy decode the interleaved and entropy coded sub-blocks to define interleaved sub-blocks; skip entropy decoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; generate one or more zero-value sub-blocks based on the syntax element, wherein the received bitstream does not include the zero-value sub-blocks; generate a one-dimensional vector of coefficients based on the interleaved sub-blocks and the one or more zero value sub-blocks; and inverse scan the one-dimensional vector of coefficients to define a two-dimensional representation of the video block.
-
-
30. A device comprising:
-
means for receiving a bitstream comprising a set of interleaved and entropy coded sub-blocks and a syntax element that defines a number of non-zero value sub-blocks of the video block, wherein the non-zero value sub-blocks include at least one non-zero coefficient; means for entropy decoding the interleaved and entropy coded sub-blocks to define interleaved sub-blocks; means for skipping entropy decoding of zero-value sub-blocks, wherein zero-value sub-blocks comprise sub-blocks of the video block that have all coefficients equal to zero; means for generating one or more zero-value sub-blocks based on the syntax element, wherein the received bitstream does not include the zero-value sub-blocks; means for generating a one-dimensional vector of coefficients based on the interleaved sub-blocks and the one or more zero-value sub-blocks; and means for inverse scanning the one-dimensional vector of coefficients to define a two-dimensional representation of the video block.
-
Specification