IP Library Granted Patent US 10,750,198
Granted Patent B2
US 10,750,198 · App. 14/719,228 · Granted Aug 18, 2020

Maximum palette parameters in palette-based video coding

Inventors: Rajan Laxman Joshi (San Diego, CA); Vadim Seregin (San Diego, CA); Wei Pu (San Diego, CA); Marta Karczewicz (San Diego, CA); Joel Sole Rojals (San Diego, CA); Krishnakanth Rapaka (San Diego, CA)
Assignee: Qualcomm Incorporated
H04N19/50H04N19/115H04N19/159H04N19/186H04N19/463H04N19/70H04N19/91
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 10,750,198
App. No.
14/719,228
Granted
Aug 18, 2020
Kind
B2
Abstract

In an example, a method of processing video data includes coding at least one of data that indicates a maximum palette size of a palette of color values for coding a block of video data or data that indicates a maximum palette predictor size of a palette predictor for determining the palette of color values. The method also includes coding the block of video data in accordance with the data.

Claims (66)

1. A method of processing video data, the method comprising:

coding data, within a parameter set of a bitstream, that indicates a maximum palette size of a palette of color values for coding a block of the video data;

determining a number of predicted palette entries of the palette;

based on a determination that the number of predicted palette entries is equal to the maximum palette size, determining that signaling of a syntax element indicating a number of new palette entries is skipped, the new palette entries being any explicitly coded entries of the palette separate from the predicted palette entries, and a sum of the predicted palette entries and the new palette entries, if any, being a total palette size for the block;

determining palette indices for each of the pixels of the block of video data, wherein the respective palette indices identify an entry of the palette;

coding, within the parameter set, a second syntax element that indicates a difference between a maximum palette predictor size and the maximum palette size using at least one of a fixed length code, a Golomb-Rice code, or an exponential Golomb code;

coding the block of video data in accordance with the data, the palette for the block of video data, the number of new palette entries, and the palette indices for each of the pixels of the block of video data; and

outputting the coded block of video data.

2. The method of claim 1 , wherein coding the data that indicates the maximum palette size comprises coding a palette_max_size syntax element from a sequence parameter set (SPS).

3. The method of claim 1 , wherein coding the data that indicates the maximum palette predictor size of a palette predictor comprises coding the data within a Sequence Parameter Set (SPS) of the bitstream.

4. The method of claim 1 , wherein the block of video data comprises a first block of video data, the method further comprising:

coding second data that indicates a second maximum palette size of a second palette of color values for coding a second block of video data, wherein the second maximum palette size is based on a size of the second block of video data.

5. The method of claim 1 , wherein coding the data that indicates the maximum palette size comprises coding one or more syntax elements that indicate the maximum palette size using at least one of a fixed length code, a Golomb Rice code, or an exponential Golomb code.

6. The method of claim 1 , wherein:

coding comprises encoding,

the method comprises determining the palette without exceeding a number of entries indicated by the data that indicates the maximum palette size using a palette predictor that does not exceed the maximum palette predictor size, and

encoding the block of video data comprises:

encoding the determined palette indices in the bitstream.

7. The method of claim 1 , wherein:

coding comprises decoding,

the method comprises determining the palette without exceeding a number of entries indicated by the data that indicates the maximum palette size using a palette predictor that does not exceed the maximum palette predictor size, and

determining palette indices associated with the palette for each of the pixels of the block of video data comprises obtaining, from the bitstream, the palette indices.

8. A device for processing video data, the device comprising:

a memory configured to store a block of the video data; and

one or more processors configured to:

code data, within a parameter set of a bitstream, that indicates a maximum palette size of a palette of color values for coding the block of the video data;

determine a number of predicted palette entries of the palette;

based on a determination that the number of predicted palette entries is equal to the maximum palette size, determine that signaling of a syntax element indicating a number of new palette entries is skipped, the new palette entries being any explicitly coded entries of the palette separate from the predicted palette entries, and a sum of the predicted palette entries and the new palette entries, if any, being a total palette size for the block;

determine palette indices for each of the pixels of the block of video data, wherein the respective palette indices identify an entry of the palette;

code, within the parameter set, a second syntax element that indicates a difference between a maximum palette predictor size and the maximum palette size using at least one of a fixed length code, a Golomb-Rice code, or an exponential Golomb code;

code the block of video data in accordance with the data coded from the bitstream, the number of new palette entries, the palette for the block of video data, and the palette indices for each of the pixels of the block of video data; and

output the coded block of video data.

9. The device of claim 8 , wherein to code the data that indicates the maximum palette size, the one or more processors are configured to code a palette_max_size syntax element within a sequence parameter set (SPS).

10. The device of claim 8 , wherein to code the data that indicates the maximum palette predictor size of a palette predictor, the one or more processors are configured to code the data within a Sequence Parameter Set (SPS) of the bitstream.

11. The device of claim 8 , wherein the block of video data comprises a first block of video data, and wherein the one or more processors are further configured to:

code second data that indicates a second maximum palette size of a second palette of color values for coding a second block of video data, wherein the second maximum palette size is based on a size of the second block of video data.

12. The device of claim 8 , wherein to code the data that indicates the maximum palette size, the one or more processors are configured to code one or more syntax elements that indicate the maximum palette size using at least one of a fixed length code, a Golomb Rice code, or an exponential Golomb code.

13. The device of claim 8 , wherein:

the one or more processors are configured to encode the data that indicates the maximum palette size of the palette and to encode the block of video data,

the one or more processors are configured to determine the palette without exceeding a number of entries indicated by the data that indicates the maximum palette size using a palette predictor that does not exceed the maximum palette predictor size, and

to encode the block of video data, the one or more processors are configured to encode the determined palette indices in the bitstream.

14. The device of claim 8 , wherein:

the one or more processors are configured to decode the data that indicates the maximum palette size of the palette and to decode the block of video data,

the one or more processors are configured to determine the palette without exceeding a number of entries indicated by the data that indicates the maximum palette size using a palette predictor that does not exceed the maximum palette predictor size, and

to determine palette indices associated with the palette for each of the pixels of the block of video data, the one or more processors are configured to obtain, from the bitstream, the palette indices.

15. The device of claim 14 , further comprising a display configured to display the decoded block.

16. The device of claim 8 , wherein the device comprises at least one of:

an integrated circuit;

a microprocessor; or

a wireless communication device.

17. An apparatus for processing video data, the apparatus comprising:

means for coding data, within a parameter set of a bitstream, that indicates a maximum palette size of a palette of color values for coding a block of the video data;

means for determining a number of predicted palette entries of the palette;

means for determining, based on a determination that the number of predicted palette entries is equal to the maximum palette size, that signaling of a syntax element indicating a number of new palette entries is skipped, the new palette entries being any explicitly coded entries of the palette separate from the predicted palette entries, and a sum of the predicted palette entries and the new palette entries, if any, being a total palette size for the block;

means for determining palette indices for each of the pixels of the block of video data, wherein the respective palette indices identify an entry of the palette;

means for coding, within the parameter set, a second syntax element that indicates a difference between a maximum palette predictor size and the maximum palette size using at least one of a fixed length code, a Golomb-Rice code, or an exponential Golomb code;

means for coding the block of video data in accordance with the data, the palette for the block of video data, the number of new palette entries, and the palette indices for each of the pixels of the block of video data; and

means for outputting the coded block of video data.

18. A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause one or more processors to:

code data, within a parameter set of a bitstream, that indicates a maximum palette size of a palette of color values for coding the block of video data;

determine a number of predicted palette entries of the palette;

based on a determination that the number of predicted palette entries is equal to the maximum palette size, determining that signaling of a syntax element indicating a number of new palette entries is skipped, the new palette entries being any explicitly coded entries of the palette separate from the predicted palette entries, and a sum of the predicted palette entries and the new palette entries, if any, being a total palette size for the block;

determine palette indices for each of the pixels of the block of video data, wherein the respective palette indices identify an entry of the palette;

determine, within the parameter set, a second syntax element that indicates a difference between a maximum palette predictor size and the maximum palette size using at least one of a fixed length code, a Golomb-Rice code, or an exponential Golomb code;

code the block of video data in accordance with the data, the palette for the block of video data, the number of new palette entries, and the palette indices for each of the pixels of the block of video data; and

output the coded block of video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2015
From: JOSHI, RAJAN LAXMAN; SEREGIN, VADIM; PU, WEI; KARCZEWICZ, MARTA; SOLE ROJALS, JOEL; RAPAKA, KRISHNAKANTH
To: QUALCOMM INCORPORATED
Reel/Frame 036385/0166 →
Continuity (8)
Provisional Application 62002054 · May 22, 2014
Provisional Application 62010313 · Jun 10, 2014
Provisional Application 62015240 · Jun 20, 2014
Provisional Application 62031766 · Jul 31, 2014
Provisional Application 62040978 · Aug 22, 2014
Provisional Application 62114533 · Feb 10, 2015
Provisional Application 62115099 · Feb 11, 2015
Related Publication 20150341655A1 · Nov 26, 2015