IP Library Granted Patent US 10,477,203
Granted Patent B2
US 10,477,203 · App. 15/105,151 · Granted Nov 12, 2019

Method and apparatus for palette table prediction

Inventors: Tzu-Der Chuang (Zhubei, TW); Wang-Lin Lai (San Jose, CA); Yu-Chen Sun (Keelung, TW); Shan Liu (San Jose, CA); Xiaozhong Xu (Fremont, CA)
Assignee: HFI Innovation Inc.
H04N19/105H04N19/136H04N19/157H04N19/176H04N19/186H04N19/196H04N19/593
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,477,203
App. No.
15/105,151
Granted
Nov 12, 2019
Kind
B2
Abstract

A method for palette coding is disclosed. In an encoder side, the method determines whether a first block is coded using a palette coding mode or a non-palette coding. If the first block is coded using the non-palette coding mode, a first color table for the first block is derived based on one or more color tables associated with one or more previously processed blocks. If the first block is coded using the palette coding mode, the first color table is derived from the first block. A second block coded after the first block may use the first color table as a palette prediction. At the decoder side, if the current block is coded using the palette coding mode, a first color table based on a previous coded block is derived and the current block is decoded using a first color table as a palette predictor.

Claims (69)

1. A method of encoding video data in a video coding system, the method comprising:

for a first block that is coded using a palette coding mode,

obtaining a first palette for palette coding the first block, and

storing a first reference palette associated with the first block according to the obtained first palette;

for a second block that is coded using a non-palette coding mode,

setting a previously stored reference palette as a second reference palette associated with the second block;

receiving input data associated with a third block, wherein the second block is coded prior to the third block; and

when the third block is to be coded using the palette coding mode,

deriving a third palette for palette coding the third block based on at least the second reference palette associated with the second block, and

palette coding the third block using the derived third palette.

2. The method of claim 1 , further comprising storing, in a buffer, one or more reference palettes respectively associated with one or more blocks processed prior to the second block.

3. The method of claim 2 , wherein the one or more stored reference palettes stay in the buffer unchanged after encoding the second block.

4. The method of claim 3 , further comprising:

when the third block is to be coded using the non-palette coding mode, setting one of the one or more stored reference palettes as a third reference palette associated with the third block,

wherein the one or more stored reference palettes stay in the buffer unchanged after encoding the third block.

5. The method of claim 1 , wherein the second block is located at a left side of the third block.

6. The method of claim 1 , further comprising:

storing, in a buffer, one or more reference palettes respectively associated with one or more blocks processed prior to the first block; and

storing the first palette in the buffer to update the one or more stored reference palettes.

7. The method of claim 1 , wherein the second block and the third block are in a same coding tree unit (CTU) or in a same CTU row.

8. The method of claim 1 , wherein the deriving the third palette for the third block comprises:

deriving a palette predictor based on one or more stored reference palettes that include at least the second reference palette; and

copying the palette predictor as the third palette of the third block on an entry by entry basis.

9. The method of claim 1 , wherein the deriving the third palette for the third block comprises:

deriving a palette predictor based on one or more stored reference palettes that include at least the second reference palette; and

copying the palette predictor entirely as the third palette of the third block.

10. A method of decoding video data in a video coding system, the method comprising:

receiving coded data associated with a first block and a second block;

for the first block that is coded using a palette coding mode,

deriving a first palette for palette coding the first block,

decoding the first block using the first palette, and

storing a first reference palette associated with the first block according to the derived first palette; and

for the second block that is coded using a non-palette coding mode,

decoding the second block using the non-palette coding mode, and

setting a previously stored reference palette as a second reference palette associated with the second block.

11. The method of claim 10 , wherein the deriving the first palette for palette coding the first block comprises:

deriving a palette predictor based on one or more stored reference palettes; and

copying the palette predictor as the first palette for the first block on an entry by entry basis.

12. The method of claim 10 , wherein the deriving the first palette for palette coding the first block comprises:

deriving a palette predictor based on one or more stored reference palettes; and

copying the palette predictor entirely as the first palette for the first block.

13. The method of claim 10 , wherein the first palette for the first block is stored in a buffer to update one or more reference palettes stored in the buffer.

14. The method of claim 10 , wherein one or more reference palettes stored in a buffer stay in the buffer unchanged after decoding the second block.

15. The method of claim 14 , wherein, when a next block to be decoded after the second block is coded using the non-palette coding mode, the one or more reference palettes stored in the buffer stay in the buffer unchanged after decoding the next block.

16. A method of coding video data in a video coding system, the method comprising:

receiving input data associated with a first block and a second block;

for the first block that is coded using a palette coding mode,

deriving a first palette associated with the first block,

palette coding the first block using the first color palette, and

storing a first reference palette associated with the first block

according to the derived first palette; and

in a case that the current for the second block that is coded using a non-palette coding mode,

coding the second block using the non-palette coding mode, and

setting a previously stored reference palette as a second reference palette associated with the second block.

17. The method of claim 16 , wherein the previously stored reference palette corresponds to a last coded palette.

18. The method of claim 16 , wherein the deriving the first palette associated with the first block comprises:

deriving a palette predictor based on one or more stored reference palettes; and

copying the palette predictor as the first palette associated with the first block on an entry by entry basis.

19. The method of claim 16 , wherein the deriving the first palette associated with the first block comprises:

deriving a palette predictor based on one or more stored reference palettes; and

copying the palette predictor entirely as the first palette associated with the first block.

20. The method of claim 16 , further comprising:

updating one or more reference palettes stored in a buffer by replacing an oldest one of the one or more reference palettes stored in the buffer with the first palette associated with the first block.

21. The method of claim 16 , wherein

the video coding system including a buffer storing one or more reference palettes, and

the deriving the first palette associated with the first block is performed according to a selected reference palette from the one or more reference palettes that is identified by a book index.

22. The method of claim 21 , wherein the book index has a smaller value for a more recently stored palette among the one or more reference palettes.

23. The method of claim 21 , wherein the book index is inferred if the one or more reference palettes include only one reference palette.

24. The method of claim 20 , wherein, when a next block to be encoded or decoded after the first block is coded using the non-palette coding mode, the one or more reference palettes stored in the buffer stay in the buffer unchanged after coding the next block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: MEDIATEK INC.
To: HFI INNOVATION INC.
Reel/Frame 039609/0864 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2016
From: CHUANG, TZU-DER; LAI, WANG-LIN; SUN, YU-CHEN; LIU, SHAN; XU, XIAOZHONG
To: MEDIATEK INC.
Reel/Frame 038930/0769 →
Continuity (5)
Provisional Application 61952932 · Mar 14, 2014
Provisional Application 61922131 · Dec 31, 2013
Provisional Application 61921152 · Dec 27, 2013
Provisional Application 61917474 · Dec 18, 2013
Related Publication 20160316199A1 · Oct 27, 2016
Cited By (1)
US 12,231,680