IP Library › Granted Patent US 10,205,968
Granted Patent B2
US 10,205,968 · App. 15/545,381 · Granted Feb 12, 2019

Method and apparatus for palette index coding in video and image compression

Inventors: Shan Liu (San Jose, CA); Xiaozhong Xu (State College, PA); Tzu-Der Chuang (Zhubei, TW); Yu-Chen Sun (Keelung, TW); Wang-Lin Lai (San Jose, CA); Yu-Wen Huang (Taipei, TW); Jing Ye (San Jose, CA)
Assignee: MEDIATEK INC.
H04N19/93H04N19/593H04N19/70H04N19/182
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,205,968
App. No.
15/545,381
Granted
Feb 12, 2019
Kind
B2
Abstract

A method of palette index map coding of blocks in a picture by grouping coded symbols of the same type is disclosed for video encoder and decoder. In one embodiment, all syntax elements corresponding to the pixel index are grouped into a pixel index group, and all syntax elements corresponding to the escape pixel are grouped into an escape pixel group. All syntax elements corresponding to the run type and run length are grouped into an interleaved run type/run length group, or grouped into separate run type group and run length group. In another embodiment, the system parses from the video bitstream a last-run mode syntax element for a current block, where the last-run mode syntax element indicates whether a last run mode is a copy-index mode or a copy-above mode. Information associated with the last-run mode syntax element is used for reconstructing palette index map.

Claims (39)

1. A method of palette index map decoding for blocks in a picture, the method comprising:

receiving a video bitstream including compressed data of blocks in a picture;

parsing from the video bitstream a palette index group corresponding to all syntax elements representing one or more palette indices coded for a current block if the palette index group exists;

parsing from the video bitstream an escape pixel group corresponding to all syntax elements representing one or more escape pixels coded for the current block if the escape pixel group exists;

parsing from the video bitstream an interleaved run type/run length group if the interleaved run type/run length group exists, or both a run type group and a run length group if both the run type group and the run length group exist, wherein the interleaved run type/run length group corresponds to all syntax elements representing one or more run types and run lengths coded for the current block, the run type group corresponds to all syntax elements representing one or more run types coded for the current block and the run length group corresponds to all syntax elements representing one or more run lengths coded for the current block; and

recovering pixels in the current block according to the palette index group, the escape pixel group, the interleaved run type/run length group, the run type group, the run length group, or a combination thereof.

2. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the run type group, the palette index group, the run length group, and the escape pixel group.

3. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the palette index group, the run type group, the run length group, and the escape pixel group.

4. The method of claim 1 , wherein the run length group is further divided into a context bin group and a bypass bin group, and the context bin group is signaled before bypass bin group.

5. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the run type group, the run length group, the palette index group, and the escape pixel group.

6. The method of claim 1 , wherein the interleaved run type/run length group is parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the interleaved run type/run length group, the palette index group, and the escape pixel group.

7. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the palette index group, the escape pixel group, the run type group and the run length group.

8. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the palette index group, the escape pixel group, the run group length and the run type group.

9. The method of claim 1 , wherein the interleaved run type/run length group is parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the palette index group, the escape pixel group, and the interleaved run type/run length group.

10. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the escape pixel group, the palette index group, the run type group and the run length group.

11. The method of claim 1 , wherein both the run type group and the run length group are parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the escape pixel group, the palette index group, the run group length and the run type group.

12. The method of claim 1 , wherein the interleaved run type/run length group is parsed from the video bitstream, and a signaling order of groups from an earliest group to a latest group in the video bitstream corresponds to the escape pixel group, the palette index group, and the interleaved run type/run length group.

13. A method of palette index map decoding for blocks in a picture, the method comprising:

receiving a video bitstream including compressed data of the blocks in the picture;

parsing from the video bitstream a last-run mode syntax element for a current block, wherein the last-run mode syntax element indicates whether a last run mode is a copy-index mode or a copy-above mode;

parsing from the video bitstream a second syntax related to a number of palette indices coded for the current block; and

reconstructing palette index map using information related to the last run mode and the number of palette indices coded for the current block.

14. The method of claim 13 , wherein if the last-run mode syntax element indicates the last run mode being the copy-index mode and when a last signaled palette index is reached, any remaining palette index to be decoded is copied from the last signaled palette index.

15. The method of claim 13 , wherein if the last-run mode syntax element indicates the last run mode being the copy-above mode, one or more run lengths coded for the current block are parsed from the video bitstream and a copy-above mode syntax element is inserted as the last run mode.

16. The method of claim 13 , further comprising:

parsing from the video bitstream a palette index group corresponding to all syntax elements representing one or more palette indices coded for the current block if the palette index group exists;

parsing from the video bitstream an escape pixel group corresponding to all syntax elements representing one or more escape pixels coded for the current block if the escape pixel group exists; and

parsing from the video bitstream an interleaved run type/run length group if the interleaved run type/run length group exists, or both a run type group and a run length group if both the run type group and the run length group exist, wherein the interleaved run type/run length group corresponds to all syntax elements representing one or more run types and run lengths coded for the current block, the run type group corresponds to all syntax elements representing one or more run types coded for the current block and the run length group corresponds to all syntax elements representing one or more run lengths coded for the current block.

17. A method of palette index map coding for blocks in a picture, the method comprising:

receiving input data associated with a current block in the picture;

applying palette coding to the current block to generate coded symbols for the current block using palette coding modes, wherein the palette coding modes include run type modes comprising a copy-index mode and a copy-above mode;

signaling syntax elements for the coded symbols by grouping all syntax elements corresponding to the copy-index mode and the copy-above mode into a run type group; and

signaling a last-run mode syntax element to indicate whether a last run type mode is the copy-index mode or the copy-above mode.

18. The method of claim 17 , wherein if multiple same copy-index modes exist at an end of to-be-signaled palette indices, only one of the multiple same copy-index modes is signaled and the last-run mode syntax element is assigned a value to indicate the copy-index mode.

19. The method of claim 17 , wherein if the last run type mode is the copy-above mode, the last-run mode syntax element is inferred to be a value to indicate the last run type mode being the copy-above mod and a last copy-above run is not signaled but inferred to end of the current block.

20. The method of claim 17 , further comprising:

grouping all syntax elements corresponding to a pixel index into a pixel index group if any coded symbol corresponding to a pixel index exists;

grouping all syntax elements corresponding to a escape pixel into an escape pixel group if any coded symbol corresponding to the escape pixel exists; and

grouping all syntax elements corresponding to a run type and run length into an interleaved run type/run length group, or grouping all syntax elements corresponding to the run type into a run type group and all syntax elements corresponding to the run length into a run length group if any coded symbol corresponding to the run type exists.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2022
From: MEDIATEK INC.
To: HFI INNOVATION INC.
Reel/Frame 059339/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2017
From: LIU, SHAN; XU, XIAOZHONG; CHUANG, TZU-DER; SUN, YU-CHEN; LAI, WANG-LIN; HUANG, YU-WEN; YE, JING
To: MEDIATEK INC.
Reel/Frame 043061/0500 →
Continuity (8)
Provisional Application 62115748 · Feb 13, 2015
Provisional Application 62116704 · Feb 16, 2015
Provisional Application 62133644 · Mar 16, 2015
Provisional Application 62134108 · Mar 17, 2015
Provisional Application 62218751 · Sep 15, 2015
Provisional Application 62219790 · Sep 17, 2015
Provisional Application 62243208 · Oct 19, 2015
Related Publication 20180091829A1 · Mar 29, 2018
Cited By (13)
US 12,192,459 US 12,231,640 US 12,238,323 US 12,256,072 US 12,301,799 US 12,348,761 US 12,363,342 US 12,388,989 US 12,413,714 US 12,425,659 US 12,513,291 US 12,621,450 US 12,720,092