IP Library Granted Patent US 12,200,253
Granted Patent B2
US 12,200,253 · App. 18/432,371 · Granted Jan 14, 2025

Palette coding for screen content coding

Inventors: Chia-Ming Tsai (San Diego, CA); Yuwen He (San Diego, CA); Xiaoyu Xiu (San Diego, CA); Yan Ye (San Diego, CA)
Assignee: InterDigital VC Holdings, Inc.
H04N19/593H04N19/186H04N19/93H04N19/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 12,200,253
App. No.
18/432,371
Granted
Jan 14, 2025
Kind
B2
Abstract

Video data may be palette decoded. Data defining a palette table may be received. The palette table may comprise index values corresponding to respective colors. Palette index prediction data may be received and may comprise data indicating index values for at least a portion of a palette index map mapping pixels of the video data to color indices in the palette table. The palette index prediction data may comprise run value data associating run values with index values for at least a portion of a palette index map. A run value may be associated with an escape color index. The palette index map may be generated from the palette index prediction data at least in part by determining whether to adjust an index value of the palette index prediction data based on a last index value. The video data may be reconstructed in accordance with the palette index map.

Claims (44)

1. A method for palette decoding video data, the method comprising:

obtaining a palette table, wherein the palette table comprises a plurality of color indices, and wherein the plurality of color indices corresponds to respective colors of a plurality of major colors;

obtaining palette index prediction data, wherein the palette index prediction data indicates index values for at least a portion of a palette index map, and wherein at least the portion of the palette index map maps one or more pixels of the video data to one or more color indices and an escape color index;

obtaining an adjusted escape color index value;

obtaining a color index value that corresponds to a pixel location;

determining whether to adjust the color index value based on comparing the color index value with the adjusted escape color index value; and

based on a determination to adjust the color index value, obtaining a color for the pixel location, wherein the color for the pixel location is obtained based on the adjusted color index value.

2. The method of claim 1 , wherein the method further comprises:

based on the color index value matching the adjusted escape color index value, determining that the color for the pixel location is an escape color; and

reconstructing color values for the pixel location based on escape color values.

3. The method of claim 1 , wherein the adjusted escape color index value is obtained in at least one of the video data or a pre-determined value.

4. The method of claim 1 , wherein the method further comprises:

based on the color index value being greater than the adjusted escape color index value, adjusting the color index value by decreasing the color index value by one.

5. The method of claim 1 , wherein the method further comprises:

based on the color index value being less than the adjusted escape color index value, maintaining the color index value.

6. A decoding device for palette decoding video data, the decoding device comprising:

a processor configured to:

obtain a palette table, wherein the palette table comprises a plurality of color indices, and wherein the plurality of color indices corresponds to respective colors of a plurality of major colors;

obtain palette index prediction data, wherein the palette index prediction data indicates index values for at least portion of a palette index map, and wherein at least the portion of the palette index map maps one or more pixels of video data to one or more color indices and an escape color index;

obtain an adjusted escape color index value;

obtain a color index value that corresponds to a pixel location;

determine whether to adjust the color index value based on comparing the color index value with the adjusted escape color index value; and

based on a determination to adjust the color index value, obtain a color for the pixel location, wherein the color for the pixel location is obtained based on the adjusted color index value.

7. The decoding device of claim 6 , wherein the processor is configured to:

based on the color index value matching the adjusted escape color index value, determine that the color for the pixel location is an escape color; and

reconstruct color values for the pixel location based on the escape color values.

8. The decoding device of claim 6 , wherein the adjusted escape color index value is obtained in at least one of the video data or a pre-determined value.

9. The decoding device of claim 6 , wherein the processor is further configured to:

based on the color index value being greater than the adjusted escape color index value, adjust the color index value by decreasing the color index value by one.

10. The decoding device of claim 6 , wherein the processor is further configured to:

based on the color index value being less than the adjusted escape color index value, maintain the color index value.

11. A method for palette encoding video data, the method comprising:

producing a palette table, wherein the palette table comprises a plurality of color indices, and wherein the plurality of color indices corresponds to respective colors of a plurality of major colors;

identifying appearance frequencies of colors associated with color index values and a collective appearance frequency of escape colors associated with an escape color index value based on the produced palette table;

deriving an adjusted escape color index value based on comparing the appearance frequencies of colors associated with the color index values and the collective appearance frequency of the escape colors associated with the escape color index value;

adjusting at least one color index value based on the comparison;

creating a palette index map that maps one or more pixels of the video data to one or more color indices in the palette table based on the adjusted escape color index value and the at least one adjusted color index value;

generating palette index prediction data based on the palette index map, wherein the palette index prediction data that indicates index values for at least a portion of the palette index map; and

including at least one of the adjusted escape color index value, the palette table, or the palette index prediction data in the video data.

12. The method of claim 11 , wherein the method comprises:

on a condition that the collective appearance frequency of the escape colors is higher than at least one appearance frequency of colors associated with a color index value, assigning the color index value associated with the next highest appearance frequency of colors following the collective appearance frequency of the escape colors to the adjusted escape color index, and

increasing at least one color index value having lower appearance frequency than the collective appearance frequency of the escape colors.

13. The method of claim 11 , wherein the escape color index value corresponds to a maximum palette index value associated with the palette table.

14. The method of claim 11 , wherein a first index value associated with the palette table is set to zero and wherein the first index value indicates the highest appearance probability.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →
Continuity (6)
Continuation 16908673 · Jun 22, 2020
Continuation 16250064 · Jan 17, 2019
Continuation 14658989 · Mar 16, 2015
Provisional Application 62041043 · Aug 23, 2014
Provisional Application 61953700 · Mar 14, 2014
Related Publication 20240244258A1 · Jul 18, 2024
References Cited (48)
US 10735764B2 · Tsai et al. · 2020 [cited by applicant]
US 20040156543A1 · Gardella et al. · 2004 [cited by applicant]
US 20050053151A1 · Lin et al. · 2005 [cited by applicant]
US 20060071829A1 · Pearlstein et al. · 2006 [cited by applicant]
US 20060204086A1 · Gargi et al. · 2006 [cited by applicant]
US 20080062480A1 · Iizuka et al. · 2008 [cited by applicant]
US 20080273804A1 · Malewski · 2008 [cited by applicant]
US 20100158400A1 · Lu et al. · 2010 [cited by applicant]
US 20140241630A1 · Macinnis et al. · 2014 [cited by applicant]
US 20140301474A1 · Guo et al. · 2014 [cited by applicant]
US 20150016501A1 · Guo · 2015 [cited by examiner]
US 20150030066A1 · Yu et al. · 2015 [cited by applicant]
US 20150229933A1 · Guo et al. · 2015 [cited by applicant]
US 20160100178A1 · Lin et al. · 2016 [cited by applicant]
US 20160309172A1 · Laroche · 2016 [cited by examiner]
US 20160309177A1 · Laroche et al. · 2016 [cited by applicant]
US 20160316199A1 · Chuang et al. · 2016 [cited by applicant]
US 20160330452A1 · Onno et al. · 2016 [cited by applicant]
US 20170134725A1 · Chuang et al. · 2017 [cited by applicant]
US 20170238001A1 · Li et al. · 2017 [cited by applicant]
CN 1917654A · 2007 [cited by applicant]
EP 0986805A2 · 2000 [cited by applicant]
EP 1988703A1 · 2008 [cited by applicant]
WO 2015006724A2 · 2015 [cited by applicant]
WO 2015086717A2 · 2015 [cited by applicant]
WO 2015086718A2 · 2015 [cited by applicant]
WO 2015103390A1 · 2015 [cited by applicant]
WO 2015179803A1 · 2015 [cited by applicant]
Arnavut et al., “Lossless Compression of Color Palette Images with One-Dimensional Techniques”, SPIE Journal of Electronic Imaging, vol. 15, No. 2, Apr.-Jun. 2006, 11 pages. [cited by applicant]
Ausbeck, Paul J., “The Piecewise-Constant Image Model”, Proceedings of the IEEE, vol. 88, No. 11, Nov. 2000, pp. 1779-1789. [cited by applicant]
Bross et al., “High Efficiency Video Coding (HEVC) Text Specification Draft 10 (For FDIS & Consent)”, JCTVC-L1003_V1, Editor, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29… [cited by applicant]
Burrows et al., “A Block-Sorting Lossless Data Compression Algorithm”, SRC Research Report, Systems Research Center, May 10, 1994, 24 pages. [cited by applicant]
Guo et al., “Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”, JCTVC-O0218, Qualcomm Incorporated, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting:… [cited by applicant]
Guo et al., “RCE4: Test 1. Major-Color-Based Screen Content Coding”, JCTVC-P0108, Microsoft Corp., Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: San J… [cited by applicant]
Guo et al., “Non-RCE3: Modified Palette Mode for Screen Content Coding”, JCTVC-N0249, Qualcomm Incorporated, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Vienna, AT, Jul. 25-Aug. 2, 2013, 6 pa… [cited by applicant]
Guo et al., “AHG8: Major-Color-Based Screen Content Coding”, JCTVC-O0182, Microsoft Corp., JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Geneva, CH, Oct. 23-Nov. 1, 2013, 10 pages. [cited by applicant]
ISO/IEC, “Joint Call for Proposals for Coding of Screen Content”, ITU-T Q6/16 Visual Coding and ISO/IEC JTC1/SC29/WG11 Coding of Moving Pictures and Audio, ISO/IEC JTC1/SC29/WG11 MPEG2014/N14175, San Jose, USA, Jan. 201… [cited by applicant]
Ke et al., “Non-RCE4: Advanced Copy Mode for Palette Coding”, JCTVC-P0090, Industrial Technology Research Institute, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 1… [cited by applicant]
Kobayashi et al., “Lossless Compression for Compound Color Document Images”, IDW, HCS2-2, Jan. 1, 2001, 4 pages. [cited by applicant]
Lin et al., “AHG8: P2M based Dual-Coder Extension of HEVC”, JCTVC- L0303, Tongji University, Shanghai, China, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Mee… [cited by applicant]
Pan et al., “A Low-Complexity Screen Compression Scheme for Interactive Screen Sharing”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 23, No. 6, Jun. 2013, pp. 949-960. [cited by applicant]
Pang et al., “Non-RCE3: 2-D MV Supported Intra Motion Compensation”, JCTVC-N0256, Qualcomm Inc., Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Vienna,… [cited by applicant]
Sole et al., “AhG8: Requirements for Wireless Display Applications”, JCTVC-M0315, Qualcomm, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Incheon, KR,… [cited by applicant]
Sullivan et al., “Rate-Distortion Optimization for Video Compression”, IEEE Signal Processing Magazine, vol. 15, Issue 6, Nov. 1998, pp. 74-90. [cited by applicant]
Vermeir, Thijs, “Use Cases and Requirements for Lossless and Screen Content Coding”, JCTVC-M0172, Barco, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting:… [cited by applicant]
Xiu et al., “Description of Screen Content Coding Technology Proposal by InterDigital”, JCTVC-Q0037, InterDigital Communications, LLC, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1… [cited by applicant]
Zhu et al., “AHG10: Modified Copy above Mode for Palette Based Coding”, JCTVC-Q0174, Fujitsu R&D Center Co., Ltd., Fujitsu Laboratories Ltd., Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO… [cited by applicant]
Zhu et al., “Non-SCCE3: Modified Escaped Pixel Mode in Palette Based Coding”, JCTVC-R0080, Fujitsu R&D Center Co., Ltd., Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1… [cited by applicant]