Palette-Based Video Coding for Screen Content

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional video coding techniques are inefficient for compressing screen-generated content with discrete-tone features and high contrast object boundaries, as they assume continuous-tone and smooth images, leading to suboptimal compression performance in applications like remote desktops and wireless displays.

Innovation Solution

The implementation of palette-based coding techniques, which create a table of colors (palette) to represent video data, allowing index values to be coded instead of pixel values, and using predictor palettes to improve coding efficiency by reinitializing and predicting palette entries across rows of blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional video coding techniques are used, then continuous-tone images can be compressed efficiently, but screen-generated content with discrete-tone features and high contrast boundaries cannot be compressed efficiently

Engineering Contradiction:
Improvecompression efficiencyVSAvoidadaptability to different content types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent changes the fundamental parameter of color representation from continuous pixel values to discrete palette indices. By transforming the color space from continuous to discrete, the coding technique becomes adapted to screen-generated content while maintaining efficiency for other content types.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the color space into discrete palette entries rather than using continuous color values. This segmentation allows for efficient coding of discrete-tone content by representing colors as indices into a predefined palette, thereby improving compression for screen-generated content.

Inventive Principle:
Principle #1Segmentation

2Productivity

If palette-based coding is used, then screen-generated content can be compressed efficiently, but traditional continuous-tone video content may not benefit as much

Engineering Contradiction:
Improvecompression efficiencyVSAvoidadaptability to different content types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic palette construction where the palette is adaptively generated based on the actual content being coded. This allows the system to automatically adjust to different content types - using palette-based coding for screen content and falling back to or blending with traditional coding methods for continuous-tone content, thereby maintaining versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal coding framework that can handle both screen-generated content and traditional continuous-tone video content. By making the palette construction adaptive and content-aware, the same coding system serves multiple purposes, improving compression efficiency across different content types rather than being optimized for only one.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If predictor palettes are reinitialized based on first row blocks, then coding efficiency improves for subsequent blocks, but complexity in determining when to reinitialize increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidcomplexity in determining reinitialization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses feedback from previously coded blocks to determine when to reinitialize the predictor palette. By analyzing the coding efficiency and characteristics of first row blocks, the system dynamically decides whether to reinitialize the palette for subsequent blocks, optimizing compression while managing complexity through data-driven decision making.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary analysis of first row blocks before coding subsequent blocks to determine the optimal reinitialization strategy. This preliminary action allows the system to prepare predictor palettes in advance and make informed decisions about when reinitialization is beneficial, thereby improving coding efficiency without excessive complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10291940B2Coding runs with escape in palette-based video coding
Publication Date: 2019.05.14 QUALCOMM INC
  • US10291940B2 patent drawing
  • US10291940B2 patent drawing
  • US10291940B2 patent drawing

AI summary

In an example a method of processing video data includes determining palette indices of a first row of a block of video data, wherein the palette indices correspond to a palette of one or more colors for coding the block of video data, and wherein the palette indices of the first row include one or more indices that are associated with a color value in the palette and a syntax element that is not associated with a color value in the palette. The method also includes coding a run of palette indices of a second row of the block of video data relative to the palette indices of the first row, wherein the run includes the one or more indices that are associated with a color value in the palette and the syntax element that is not associated with a color value in the palette.