Palette Index Map Flipping for Screen Content Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding techniques fail to effectively encode and decode video content with unique characteristics such as screen content, which often features numerous colors and sharp edges, leading to quality issues like blurring of curves and text.

Innovation Solution

A video coding device that uses a color palette to code video signals, including generating palette indices and flipping the palette index map to optimize coding, and provides palette coding information in a video bitstream to facilitate efficient encoding and decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If existing video coding techniques are used to encode screen content, then the coding process is simple, but the reconstructed picture quality deteriorates (curves and texts become blurred and difficult to recognize)

Engineering Contradiction:
Improvepicture qualityVSAvoidcoding complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the coding process into distinct phases: generating a color palette from the screen content, creating a palette index map that references the palette, and separately handling the palette data and index map data. This segmentation allows each component to be optimized independently, improving overall picture quality while managing complexity through modular processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a color palette as an intermediary data structure that mediates between the original screen content and the compressed representation. The palette serves as a lookup table that enables accurate reconstruction of sharp edges and curves by mapping palette indices to specific color values, thereby improving picture quality without directly increasing the complexity of the core coding algorithm

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If palette flipping is performed to move large runs of consecutive pixels from the beginning to the end of the coding unit, then the coding efficiency improves, but the processing complexity increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs palette flipping as a preliminary action during the encoding phase, before the actual palette indexing and compression. By pre-flipping the palette index map to position large runs of consecutive pixels at the end of the coding unit, the encoder optimizes the subsequent coding process without adding complexity during the main compression operation. The decoder applies the inverse flipping operation symmetrically, maintaining simplicity while achieving improved coding efficiency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10484686B2Palette coding modes and palette flipping
Publication Date: 2019.11.19 INTERDIGITAL VC HOLDINGS INC
  • US10484686B2 patent drawing
  • US10484686B2 patent drawing
  • US10484686B2 patent drawing

AI summary

An palette index map of a video coding unit may be flipped during palette coding if a large run of similar pixels are present at the beginning of the coding unit and a small run of similar pixels are present at the end of the coding unit. The flipping may enable efficient signaling and coding of the large run of pixels. An indication may be sent signaling the flipping. During decoding, an inverse flip may be performed to restore the pixels of the flipped coding unit to their original positions. Selection of a prediction mode for palette coding may take into account various combinations of an index mode run followed by a copy-above mode run. A prediction mode with die smallest per-pixel average bit cost may be selected. Palette sharing may be enabled.