Coding run values based on palette index in palette-based video coding
AssigneeQUALCOMM Incorporated
InventorsVadim Seregin, Rajan Laxman Joshi, Marta Karczewicz, Wei Pu, Joel Sole Rojals
Life of this patent
Estimating the term…
Abstract
In an example a method of processing video data includes determining a run value that indicates a run-length of a run of a palette index of a block of video data, wherein the palette index is associated with a color value in a palette of color values for coding the block of video data, the method also includes determining a context for context adaptive coding of data that represents the run value based on the palette index, and coding the data that represents run value from a bitstream using the determined context.
Claims29
A method of processing video data, the method comprising:
- determining, by one or more processors of a video encoder or a video decoder, a run value that indicates a run-length of a run of a palette index of a block of video data, wherein the palette index is associated with a color value in a palette of color values for encoding or decoding the block of video data, and wherein each color value in the palette corresponds to a luma and one or more chroma values;
- determining, by the one or more processors and based on the palette index, a context index value for context adaptive binary arithmetic coding (CABAC) of data that represents the run value, wherein determining the context index value based on the palette index comprises selecting from three context index values based on the palette index, wherein selecting from the three context index values comprises:
- based on the palette index being zero, selecting a first context index value of the three context index values for CABAC encoding or CABAC decoding at least one of a first bin, a second bin, and a third bin;
- based on the palette index being one or two, selecting a second context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- and
- based on the palette index being greater than two, selecting a third context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- CABAC encoding or CABAC decoding, by the one or more processors and respectively in or from a video bitstream, the data that represents the run value using the determined context index value;
- and
- reconstructing, by the one or more processors, the block of video data based on the run-length.
A device for processing video data, the device comprising:
- a memory configured to store a block of video data;
- and
- one or more processors implemented in circuitry and configured to:
- determine a run value that indicates a run-length of a run of a palette index of the block of video data, wherein the palette index is associated with a color value in a palette of color values for encoding or decoding the block of video data, and wherein each color value in the palette corresponds to a luma and one or more chroma values;
- determine, based on the palette index, a context index value for context adaptive binary arithmetic coding (CABAC) of data that represents the run value, wherein to determine the context index value based on the palette index comprises selecting from three context index values based on the palette index, wherein selecting from the three context index values comprises:
- based on the palette index being zero, selecting a first context index value of the three context index values for CABAC encoding or CABAC decoding at least one of a first bin, a second bin, and a third bin;
- based on the palette index being one or two, selecting a second context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- and
- based on the palette index being greater than two, selecting a third context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- CABAC encode or CABAC decode, respectively in or from a video bitstream, the data that represents the run value from a bitstream using the determined context index value;
- and
- reconstruct the block of video data based on the run-length.
An apparatus for processing video data, the apparatus comprising:
- means for determining a run value that indicates a run-length of a run of a palette index of a block of video data, wherein the palette index is associated with a color value in a palette of color values for encoding or decoding the block of video data, and wherein each color value in the palette corresponds to a luma and one or more chroma values;
- means for determining, based on the palette index, a context index value for context adaptive binary arithmetic coding (CABAC) of data that represents the run value, wherein determining the context index value based on the palette index comprises selecting from three context index values based on the palette index, wherein selecting from the three context index values comprises:
- based on the palette index being zero, selecting a first context index value of the three context index values for CABAC encoding or CABAC decoding at least one of a first bin, a second bin, and a third bin;
- based on the palette index being one or two, selecting a second context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- and
- based on the palette index being greater than two, selecting a third context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- means for CABAC encoding or CABAC decoding, respectively in or from a video bitstream, the data that represents the run value using the determined context index value;
- and
- means for reconstructing the block of video data based on the run-length.
A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause one or more processors to:
- determine a run value that indicates a run-length of a run of a palette index of a block of video data, wherein the palette index is associated with a color value in a palette of color values for encoding or decoding the block of video data, and wherein each color value in the palette corresponds to a luma and one or more chroma values;
- determine, based on the palette index, a context index value for context adaptive binary arithmetic coding (CABAC) of data that represents the run value, wherein to determine the context index value based on the palette index comprises selecting from three context index values based on the palette index, wherein selecting from the three context index values comprises:
- based on the palette index being zero, selecting a first context index value of the three context index values for CABAC encoding or CABAC decoding at least one of a first bin, a second bin, and a third bin;
- based on the palette index being one or two, selecting a second context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- and
- based on the palette index being greater than two, selecting a third context index value of the three context index values for CABAC encoding or CABAC decoding at least one of the first bin, the second bin, and the third bin;
- and
- CABAC encode or CABAC decode, respectively in or from a video bitstream, the data that represents the run value using the determined context index value;
- and
- reconstruct the block of video data based on the run-length.
Dependencies are inferred from the claim text.