Palette-Based Video Coding Copy From Previous Rows
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 introduction of a palette-based coding mode, specifically the 'copy from previous rows' mode, which allows a video coding device to copy palette indices from multiple rows above, enhancing coding efficiency by reducing redundancy and improving computing resource utilization, combined with truncated unary coding for mode identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If traditional video coding techniques are used for screen content, then the coding process is simple, but compression performance is suboptimal due to the assumption of continuous-tone and smooth images
Solution Approach 1:
The patent changes the fundamental parameter assumption from continuous-tone to discrete-tone characteristics. It introduces palette-based coding where pixel values are represented by indices into a palette table, fundamentally altering how screen content is encoded and enabling better compression for discrete-tone images
Solution Approach 2:
The patent segments the coding process into distinct phases: palette generation, palette indexing, and run-length encoding. This segmentation allows each phase to be optimized independently, improving overall compression performance while maintaining manageable complexity
2Loss of energy
If palette-based coding mode is introduced to improve compression for screen content, then compression efficiency improves, but device complexity increases
Solution Approach 1:
The patent applies palette-based coding selectively only to screen content regions rather than all video content. By identifying and applying the technique only where discrete-tone characteristics are present, it achieves compression benefits without unnecessarily increasing complexity for all coding scenarios
Solution Approach 2:
The patent performs preliminary palette generation and analysis before the actual coding process. By pre-identifying discrete-tone regions and generating palettes in advance, it simplifies the main coding process and reduces real-time computational complexity
3Productivity
If copy from previous rows mode is used to copy palette indices from multiple rows above, then coding efficiency improves by reducing redundancy, but computing resource utilization increases
Solution Approach 1:
The patent implements a copy mechanism that references previously coded palette indices from multiple rows above. By copying these indices directly rather than re-encoding them, it achieves high coding efficiency while the copy operation itself requires minimal additional computation compared to full re-encoding
Solution Approach 2:
The patent creates a self-referential coding system where previously coded data serves as the reference for current coding. The palette indices from previous rows automatically become the reference for copy operations, eliminating the need for external reference data and reducing overall computing resource requirements
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An example method of decoding video data includes determining a palette for decoding a block, the palette including entries each having a respective palette index, determining a reference run of palette indices for first pixels of the block, and determining a current run of palette indices for second pixels of the block, based on the reference run. Determining the second plurality of palette indices includes locating a reference index of the reference run, the reference index being spaced at least one line from an initial index of the current run, determining a run length of the reference run, a final index of the reference run being separated from the initial index of the current run by at least one index, copying the palette indices of the reference run as the current run of palette indices, and decoding pixels of the copied current run using the palette.