IP Library › Granted Patent US 11,265,537
Granted Patent B2
US 11,265,537 · App. 16/898,532 · Granted Mar 1, 2022

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/105H04N19/154H04N19/159H04N19/176H04N19/186H04N19/197H04N19/426H04N19/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 11,265,537
App. No.
16/898,532
Granted
Mar 1, 2022
Kind
B2
Abstract

A method of palette management for palette coding in a video coding system receives input data associated with a current block in a high-level picture structure and initializes a palette predictor in the high-level picture structure before a corresponding palette of a first palette-coded block in the high-level picture structure is coded. If a palette mode is selected for the current block, the method applies the palette coding to the current block using a current palette and updates the palette predictor based on the current palette to generate an updated palette predictor for a next block coded in the palette mode.

Claims (19)

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 table for the current palette coded block, the palette predictor table being stored in a storage space in a buffer;

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

after the reuse flags are decoded, updating the palette predictor table stored in the storage space to obtain a first intermediate palette predictor table stored in the storage space, by arranging the corresponding entries of the palette predictor table according to the reuse flags to cause one or more reused-entries from the palette predictor table to be at one or more positions in the first intermediate palette predictor table before any non-reused entry from the palette predictor table;

after the first intermediate palette predictor table is obtained, updating the first intermediate palette predictor table stored in the storage space to obtain a second intermediate palette predictor table stored in the storage space, by inserting one or more signaled new entries to one or more insertion positions in the second intermediate palette predictor table after the one or more reused-entries from the palette predictor table and before any non-reused entry from the palette predictor table; and

after the second intermediate palette predictor table is obtained, generating an updated palette predictor table by discarding any entries in the second intermediate palette predictor table exceeding a maximum palette predictor size, wherein the updated palette predictor table is stored in the storage space in the buffer.

2. The method of claim 1 , further comprising:

storing an initialized palette predictor table in the storage space for a high-level picture structure in which the current palette coded block is included before decoding a first palette coded block in the high-level picture structure, wherein the high-level picture structure corresponds to a slice, tile, coding tree unit (CTU) row, or wavefront structure associated with wavefront parallel processing (WPP), sequence, or picture.

3. An apparatus of decoding a block of video data using palette coding in a video coding system, the apparatus comprising:

one or more electronic circuits or processors configured to:

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

determine a palette predictor table for the current palette coded block, the palette predictor table being stored in a storage space in a buffer;

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

after the reuse flags are decoded, update the palette predictor table stored in the storage space to obtain a first intermediate palette predictor table stored in the storage space, by arranging the corresponding entries of the palette predictor table according to the reuse flags to cause one or more reused-entries from the palette predictor table to be at one or more positions in the first intermediate palette predictor table before any non-reused entry from the palette predictor table;

after the first intermediate palette predictor table is obtained, update the first intermediate palette predictor table stored in the storage space to obtain a second intermediate palette predictor table stored in the storage space, by inserting one or more signaled new entries to one or more insertion positions in the second intermediate palette predictor table after the one or more reused-entries from the palette predictor table and before any non-reused entry from the palette predictor table; and

after the second intermediate palette predictor table is obtained, generate an updated palette predictor table by discarding any entries in the second intermediate palette predictor table exceeding a maximum palette predictor size, wherein the updated palette predictor table is stored in the storage space in the buffer.

4. The apparatus of claim 3 , wherein the one or more electronic circuits or processors are further configured to:

store an initialized palette predictor table in the storage space for a high-level picture structure in which the current palette coded block is included before decoding a first palette coded block in the high-level picture structure, wherein the high-level picture structure corresponds to a slice, tile, coding tree unit (CTU) row, or wavefront structure associated with wavefront parallel processing (WPP), sequence, or picture.

Continuity (5)
Continuation 15598454 · May 18, 2017
Division 15123866
Provisional Application 62055692 · Sep 26, 2014
Provisional Application 61952932 · Mar 14, 2014
Related Publication 20200304783A1 · Sep 24, 2020