Palette-Based Video Coding Escape Pixel Quantization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional video coding techniques are inefficient for compressing screen content with discrete-tone characteristics, such as text or computer graphics, as they assume continuous-tone and smooth images, leading to suboptimal compression performance.
Innovation Solution
The implementation of palette-based coding, where a video coder forms a palette of dominant pixel values for a block of video data, allowing for the encoding of index values instead of actual pixel values, and the use of techniques to bypass encoding of index values and determine quantization parameters for escape pixels based on traditional coefficient coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional video coding techniques are used for screen content, then the coding process is simple, but compression performance is suboptimal due to continuous-tone assumptions
Solution Approach 1:
The patent changes the fundamental parameter representation from continuous-tone pixel values to discrete palette indices. By transforming the coding approach to use palette-based discrete-tone representation, the system achieves optimal compression for screen content while maintaining manageable complexity through standardized coding processes.
Solution Approach 2:
The patent applies different coding strategies to different regions: palette-based coding for discrete-tone screen content regions and traditional coding for other regions. This localized approach improves compression performance for screen content without unnecessarily complicating the overall coding system.
2Productivity
If palette-based coding is implemented, then compression efficiency is enhanced, but computing resources and bandwidth are consumed by encoding index values
Solution Approach 1:
The patent extracts and removes the need to encode index values for uniform palette regions. By identifying regions where all pixels map to the same palette entry and eliminating index encoding for these regions, the system reduces computing resources and bandwidth consumption while preserving compression efficiency for non-uniform regions.
Solution Approach 2:
The patent applies partial encoding by selectively encoding index values only where necessary (non-uniform regions) rather than encoding all pixels uniformly. This partial action approach reduces the overall computing resources and bandwidth required while maintaining the compression benefits of palette-based coding where needed.
3Measurement precision
If index values are explicitly encoded for all pixels, then data precision is maintained, but bandwidth consumption increases
Solution Approach 1:
The patent extracts and removes redundant index value encoding for uniform regions where all pixels map to the same palette entry. This elimination of unnecessary encoding maintains data precision for non-uniform regions while significantly reducing bandwidth consumption by omitting redundant index data for uniform regions.
Solution Approach 2:
The patent discards explicit index encoding for uniform regions where it is redundant, and recovers the pixel information through the palette mapping. This approach maintains data precision by preserving the palette structure while reducing bandwidth by eliminating redundant index transmissions.
Data Source
AI summary
In palette-based coding, a video coder may form a so-called “palette” as a table of colors representing the video data of a given block. The video coder may code index values for one or more pixels values of a current block of video data, where the index values indicate entries in the palette that represent the pixel values of the current block. A method includes determining a palette for a block of video data, identifying escape pixel(s) not associated with any palette entries, identifying a single quantization parameter (QP) value for all escape pixels of the block for a given color channel using a QP value for non-palette based coding of transform coefficients, dequantizing each escape pixel using the identified QP value, and determining pixel values of the block using the dequantized escape pixels and index values for any pixel(s) associated with any palette entries.


