Palette Mode Coding Bitstream Structure for Parsing Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing screen content coding technologies face inefficiencies due to redundancies and parsing dependencies in bitstreams, particularly in palette mode, which affect the throughput of parsing engines compared to decoding engines.

Innovation Solution

The proposed solution involves organizing palette elements in the bitstream to reduce parsing dependencies by signaling certain syntax elements only when necessary, such as placing quantized escape pixel values at the end of a palette mode block or signaling index values after run lengths, allowing for parallel processing and reducing the need for context updates in entropy coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If palette mode coding is used for screen content, then compression efficiency is improved, but parsing dependencies increase and throughput decreases

Engineering Contradiction:
Improvebitstream redundancyVSAvoidparsing engine throughput
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent segments the bitstream into distinct components: run-length data, index values, and escape pixel values. By organizing these elements separately and signaling them in a specific order, the patent eliminates parsing dependencies while maintaining compression efficiency. The run-length data is signaled first, followed by index values, and finally escape pixel values, allowing the parsing engine to process each segment independently without waiting for context from other segments.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If context updates are performed in entropy coding during palette mode, then coding accuracy is improved, but processing complexity and time increase

Engineering Contradiction:
Improvecoding accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the need for frequent context updates by organizing the bitstream structure to provide inherent context through the sequential signaling of run-length data, index values, and escape pixel values. This structural organization provides the parsing engine with sufficient context to accurately decode the data without requiring additional time-consuming context updates during the parsing process.

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If all syntax elements are signaled in traditional palette mode, then decoding accuracy is improved, but bitstream size and parsing complexity increase

Engineering Contradiction:
Improvedecoding accuracyVSAvoidparsing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary organization of syntax elements in the bitstream structure, signaling run-length data first, then index values, and finally escape pixel values. This preliminary organization allows the parsing engine to process each element type with appropriate context already established, reducing parsing complexity while maintaining decoding accuracy. The structured approach eliminates the need for complex conditional parsing logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3164993B1Method for palette mode coding
Publication Date: 2018.10.17 QUALCOMM INC
  • EP3164993B1 patent drawingFigure 1A
  • EP3164993B1 patent drawingFigure 1B
  • EP3164993B1 patent drawingFigure 2

AI summary

A method for decoding video data provided in a bitstream, where the bitstream includes a coding unit (CU) coded in palette mode, includes: parsing a palette associated with the CU provided in the bitstream; parsing one or more run lengths provided in the bitstream that are associated with the CU; parsing one or more index values provided in the bitstream that associated with the CU; and parsing one or more escape pixel values provided in the bitstream that are associated with the CU. The escape pixel values may be parsed from consecutive positions in the bitstream, the consecutive positions being in the bitstream after all of the run lengths and the index values associated with the CU. The method may further include decoding the CU based on the parsed palette, parsed run lengths, parsed index values, and parsed escape values.