IP Library › Granted Patent US 9,681,135
Granted Patent B2
US 9,681,135 · App. 15/123,866 · Granted Jun 13, 2017

Method for palette table initialization and management

Inventors: Wang-Lin Lai (San Jose, CA); Yu-Chen Sun (Keelung, TW); Shan Liu (San Jose, CA); Xiaozhong Xu (Fremont, CA); Tzu-Der Chuang (Zhubei, TW); Ding-Yun Chen (Taipei, TW); Yu-Wen Huang (Taipei, TW)
Assignee: HFI INNOVATION INC.
H04N19/11H04N1/644H04N19/154H04N19/176H04N19/186H04N19/463H04N19/593H04N19/94
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 9,681,135
App. No.
15/123,866
Granted
Jun 13, 2017
Kind
B2
Abstract

A method and apparatus for palette coding of a block of video data using a shared palette/palette prediction buffer are disclosed. The system receives a bitstream including compressed data associated with a current palette coded block and determines a palette predictor for the current palette coded block stored in a shared palette/palette predictor buffer. Reuse flags for entries of the current palette are used to update the current palette stored in the shared palette/palette predictor buffer. Any new signaled entry will be inserted to the shared palette/palette predictor buffer. An updated palette predictor for a next palette coded block is generated accordingly. A method of palette management and initialization for first palette-coded block in a high-level video structure is also disclosed. The high-level video structure may correspond to a slice, wavefront, sequence or picture.

Claims (23)

1. A method of decoding a block of video data using palette coding in a video coding system, the method comprising:

receiving a bitstream including compressed data associated with a current palette coded block;

determining a palette predictor for the current palette coded block stored in a shared palette/palette predictor buffer;

parsing reuse flags for entries of the palette predictor from the bitstream indicating whether corresponding entries of the palette predictor are reused;

after the reuse flags are decoded, updating the corresponding entries of the palette predictor stored in the shared palette/palette predictor buffer according to the reuse flags to cause one or more reused-entries in the shared palette/palette predictor buffer to be relocated;

after said updating the corresponding entries of the palette predictor, inserting one or more signaled new entries to a position after a last relocated reused-entry in the shared palette/palette predictor buffer;

after said inserting said one or more signaled new entries, generating an updated palette predictor by discarding any entries exceeding a maximum palette predictor size; and

constructing a current palette by selecting beginning N entries of the shared palette/palette predictor buffer, wherein N is an integer larger than 0, thereby using the shared palette/palette predictor buffer for both the palette predictor and the current palette.

2. The method of claim 1 , wherein N equals to a first number of share flags plus a second number of signaled entries.

3. The method of claim 1 , wherein said updating the corresponding entries of the palette predictor comprises:

if a current reuse flag indicates entry reuse, rotating a current corresponding entry in the shared palette/palette predictor buffer to the position after a previous relocated reused-entry in the shared palette/palette predictor buffer or a beginning position in the shared palette/palette predictor buffer if no previous relocated reused-entry exists; and

if the current reuse flag indicates no entry reuse, making no change to the shared palette/palette predictor buffer.

4. The method of claim 1 , wherein the current palette coded block and the next palette coded block correspond to a coding unit (CU).

5. An apparatus for decoding a block of video data using palette coding in a video coding system, the apparatus comprising one or more electronic circuits configured to:

receive a bitstream including compressed data associated with a current palette coded block;

determine a palette predictor for the current palette coded block stored in a shared palette/palette predictor buffer;

parse reuse flags for entries of the palette predictor from the bitstream indicating whether corresponding entries of the palette predictor are reused;

after the reuse flags are decoded, update the corresponding entries of the palette predictor stored in the shared palette/palette predictor buffer according to the reuse flags to cause one or more reused-entries in the shared palette/palette predictor buffer to be relocated;

after the corresponding entries of the palette predictor are updated, insert one or more signaled new entries to a position after a last relocated reused-entry in the shared palette/palette predictor buffer;

after said one or more signaled new entries are inserted, generate an updated palette predictor by discarding any entries exceeding a maximum palette predictor size;

and construct a current palette by selecting beginning N entries of the shared palette/palette predictor buffer, wherein N is an integer larger than 0, thereby using the shared palette/palette predictor buffer for both the palette predictor and the current palette.

6. The apparatus of claim 5 , wherein N equals to a first number of share flags plus a second number of signaled entries.

7. The apparatus of claim 5 , wherein the current palette coded block and the next palette coded block correspond to a coding unit (CU).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2016
From: LAI, WANG-LIN; SUN, YU-CHEN; LIU, SHAN; XU, XIAOZHONG; CHUANG, TZU-DER; CHEN, DING-YUN; HUANG, YU-WEN
To: MEDIATEK INC.
Reel/Frame 039640/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2016
From: MEDIATEK INC.
To: HFI INNOVATION INC.
Reel/Frame 039640/0579 →
Continuity (3)
Provisional Application 62055692 · Sep 26, 2014
Provisional Application 61952932 · Mar 14, 2014
Related Publication 20170026641A1 · Jan 26, 2017