IP Library Granted Patent US 11,036,459
Granted Patent B2
US 11,036,459 · App. 16/023,125 · Granted Jun 15, 2021

Two-dimensional palette coding for screen content coding

Inventors: Chia-Ming Tsai (San Diego, CA); Xiaoyu Xiu (San Diego, CA); Yan Ye (San Diego, CA); Yuwen He (San Diego, CA)
Assignee: VID Scale, Inc.
G06F3/1454H04N19/129H04N19/147H04N19/186H04N19/44H04N19/463H04N19/567H04N19/593H04N19/61H04N19/70H04N19/90
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,036,459
App. No.
16/023,125
Granted
Jun 15, 2021
Kind
B2
Abstract

Video data, e.g., screen content video data may be palette coded. A palette table including one or more color indices may be produced. A color index may correspond to one color. A palette index map may be created that maps one or more pixels of the video data to a color index in the palette table, or a color that may be explicitly coded. A palette index map prediction data may be generated that includes data that indicates values in the palette index map associated with at least some portions of the video data that are generated in a traverse scan order in which a scan line is scanned in an opposite direction of a preceding parallel scan line.

Claims (20)

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

obtaining a prediction mode, an encoded run value, and a first palette index value associated with a current position in a current row;

upon determining that the prediction mode is a run mode and the first palette index value is equal to a second palette index value associated with a corresponding position in a previous row, determining that the encoded run value indicates a run difference value indicative of a difference between a first run value associated with the current position and a second run value associated with the corresponding position in the previous row;

upon determining that the encoded run value indicates the run difference value, calculating the first run value associated with the current position based on the run difference value and the second run value associated with the corresponding position in the previous row; and

associating, based on the first run value, a number of consecutive positions following the current position with the first palette index value.

2. The method of claim 1 , wherein the first run value associated with the current position is calculated based on adding the run difference value and the second run value associated with the corresponding position in the previous row.

3. The method of claim 1 , wherein the first run value associated with the current position indicates the number of consecutive positions following the current position.

4. The method of claim 1 , wherein the corresponding position is above the current position.

5. The method of claim 1 , wherein the corresponding position is to the left of the current position.

6. The method of claim 1 , further comprising on a condition that the first palette index value associated with the current position is not equal to the second palette index value associated with the corresponding position in the previous row, determining that the encoded run value indicates the number of consecutive positions following the current position having a palette index value that is equal to the first palette index value.

7. A device for decoding video data, the device comprising:

a processor configured to:

obtain a prediction mode, an encoded run value, and a first palette index value associated with a current position in a current row;

upon determining that the prediction mode is a run mode and the first palette index value is equal to a second palette index value associated with a corresponding position in a previous row, determine that the encoded run value indicates a run difference value indicative of a difference between a first run value associated with the current position and a second run value associated with the corresponding position in the previous row;

upon determining that the encoded run value indicates the run difference value, calculate the first run value associated with the current position based on the run difference value and the second run value associated with the corresponding position in the previous row; and

associate, based on the first run value, a number of consecutive positions following the current position with the first palette index value.

8. The device of claim 7 , wherein the processor is configured to calculate the first run value associated with the current position based on adding the run difference value and the second run value associated with the corresponding position in the previous row.

9. The device of claim 7 , wherein the first run value associated with the current position indicates the number of consecutive positions following the current position.

10. The device of claim 7 , wherein on a condition that the first palette index value associated with the current position is not equal to the second palette index value associated with the corresponding position in the previous row, the processor is further configured to determine that the encoded run value indicates the number of consecutive positions following the current position having a palette index value that is equal to the first palette index value.

11. The device of claim 7 , further comprising a memory operatively connected to the processor.

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 (7)
Continuation 14588868 · Jan 2, 2015
Provisional Application 62016562 · Jun 24, 2014
Provisional Application 62002144 · May 22, 2014
Provisional Application 61974961 · Apr 3, 2014
Provisional Application 61953704 · Mar 14, 2014
Provisional Application 61923132 · Jan 2, 2014
Related Publication 20180307457A1 · Oct 25, 2018