A method and apparatus for palette coding to permit the encoding and decoding of a video sequence using a chroma palette and a luma palette include determining that a luma color plane and a chroma color plane have different split tree structures. A luma palette is generated by associating a set of luma indices with a set of luma values. A chroma palette is generated by by associating a set of chroma indices with a first set of chroma values and a second set of chroma values. A set of samples of the video sequence is coded using the chroma palette and the luma palette.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for palette coding to permit the encoding and decoding of a video sequence using a chroma palette and a luma palette, the method comprising: determining that a luma color plane and a chroma color plane have different split tree structures; determining that a size of a current block is greater than a threshold; generating the luma palette by associating a set of luma indices with a set of luma values based on determining that the luma color plane and the chroma color plane have different split tree structures and based on determining that the size of the current block is greater than the threshold; generating the chroma palette by associating a set of chroma indices with a first set of chroma values and a second set of chroma values based on determining that the luma color plane and the chroma color plane have different split tree structures; and coding a set of samples of the video sequence using the chroma palette and the luma palette based on generating the luma palette and the chroma palette.
2. The method of claim 1 , wherein each entry in the luma palette denotes a luma sample value.
3. The method of claim 1 , wherein each entry in the chroma palette denotes a set of sample values.
4. The method of claim 1 , further comprising: determining that an area of a current block is greater than the threshold; and wherein generating the luma palette comprises generating the luma palette based on determining that the area of the current block is greater than the threshold.
5. The method of claim 1 , further comprising: determining that a perimeter of a current block is greater than the threshold; and wherein generating the luma palette comprises generating the luma palette based on determining that the perimeter of the current block is greater than the threshold.
6. The method of claim 1 , further comprising: determining that a sum of a width and a height of a current block is greater than the threshold; and wherein generating the luma palette comprises generating the luma palette based on determining that the sum of the width and the height of the current block is greater than the threshold.
7. The method of claim 1 , further comprising: determining that a length of a longest side of a current block is greater than the threshold; and wherein generating the luma palette comprises generating the luma palette based on determining that the length of the longest side of the current block is greater than the threshold.
8. The method of claim 1 , further comprising: determining that a length of a shortest side of a current block is greater than the threshold; and wherein generating the luma palette comprises generating the luma palette based on determining that the length of the shortest side of the current block is greater than the threshold.
9. The method of claim 1 , further comprising: generating a template palette table; and wherein generating the luma palette comprises generating the luma palette based on generating the template palette table.
10. A device for palette coding to permit the encoding and decoding of a video sequence using a chroma palette and a luma palette, comprising: at least one memory configured to store program code; at least one processor configured to read the program code and operate as instructed by the program code, the program code including: determining code configured to cause the at least one processor to determine that a luma color plane and a chroma color plane have different split tree structures; wherein the determining code is further configured to cause the at least one processor to determine that a size of a current block is greater than a threshold; generating code configured to cause the at least one processor to generate the luma palette by associating a set of luma indices with a set of luma values based on determining that the luma color plane and the chroma color plane have different split tree structures, and based on determining that the size of the current block is greater than the threshold, wherein the generating code is further configured to cause the at least one processor to generate the chroma palette by associating a set of chroma indices with a first set of chroma values and a second set of chroma values based on determining that the luma color plane and the chroma color plane have different split tree structures; and coding code configured to cause the at least one processor to code a set of samples of the video sequence using the chroma palette and the luma palette based on generating the luma palette and the chroma palette.
11. The device of claim 10 , wherein each entry in the luma palette denotes a luma value.
12. The device of claim 10 , wherein each entry in the chroma palette denotes a set of values.
13. The device of claim 10 , wherein the determining code is further configured to cause the at least one processor to determine that an area of a current block is greater than the threshold, and wherein the generating code is further configured to cause the at least one processor to generate the luma palette based on the area of the current block being greater than the threshold.
14. The device of claim 10 , wherein the determining code is further configured to cause the at least one processor to determine that a perimeter of a current block is greater than the threshold, and wherein the generating code is further configured to cause the at least one processor to generate the luma palette based on the perimeter of the current block being greater than the threshold.
15. The device of claim 10 , wherein the determining code is further configured to cause the at least one processor to determine that a sum of a width and a height of a current block is greater than the threshold, and wherein the generating code is further configured to cause the at least one processor to generate the luma palette base on the sum of the width and height of the current block being greater than the threshold.
16. The device of claim 10 , wherein the determining code is further configured to cause the at least one processor to determine that a length of a longest side of a current block is greater than the threshold, and wherein the generating code is further configured to cause the at least one processor to generate the luma palette based on the length of the longest side of the current block being greater than the threshold.
17. The device of claim 10 , wherein the determining code is further configured to cause the at least one processor to determine that a length of a shortest side of a current block is greater than the threshold, and wherein the generating code is further configured to cause the at least one processor to generate the luma palette based on the length of the shortest side of the current block satisfying the threshold.
18. The device of claim 10 , wherein the generating code is further configured to cause the at least one processor to generate a template palette table, and generate the luma palette table based on the template palette table.
19. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device for palette coding that permits the encoding and decoding of a video sequence using a chroma palette and a luma palette, cause the one or more processors to: determine that a luma color plane and a chroma color plane have different split tree structures; determine that a size of a current block is greater than a threshold; generate the luma palette by associating a set of luma indices with a set of luma values based on determining that the luma color plane and the chroma color plane have different split tree structures, based on determining that the size of the current block is greater than the threshold; generate the chroma palette by associating a set of chroma indices with a first set of chroma values and a second set of chroma values based on determining that the luma color plane and the chroma color plane have different split tree structures; and code a set of samples of the video sequence using the chroma palette and the luma palette based on generating the luma palette and the chroma palette.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 26, 2018
June 23, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.