Video Palette Book Initialization for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current palette coding techniques in video data compression face inefficiencies in palette initialization and management, particularly in High Efficiency Video Coding (HEVC) systems, which affect coding efficiency and complexity.
Innovation Solution
The method involves using a 'palette book' to store and manage previously coded palettes, allowing for efficient palette prediction and sharing by selecting a palette predictor from a preceding image area, and updating the palette book based on coding order, with options for CU-wise, component-wise, and luma/chroma-wise control, and incorporating wavefront parallel processing to optimize palette initialization and prediction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If palette is reset at the beginning of each CTB line to enable parallel processing, then productivity is improved, but palette prediction accuracy deteriorates
Solution Approach 1:
The patent segments the palette management into two parts: a frozen initial palette for parallel processing and a dynamically updated palette book for accuracy. The initial palette is segmented from subsequent palettes and kept unchanged throughout decoding to enable independent parallel processing of CTB lines, while the palette book maintains historical palette data for accurate predictions.
Solution Approach 2:
The patent performs preliminary action by initializing the palette book with a default palette before decoding begins. This initial palette is prepared in advance and frozen during parallel processing, allowing each CTB line to start with a known, consistent palette state while the palette book is subsequently updated with actual decoded palettes for improved accuracy.
2Measurement precision
If palette book is updated with every decoded palette, then palette prediction accuracy is improved, but device complexity increases
Solution Approach 1:
The patent applies dynamics by making the palette book update behavior conditional rather than static. The update is controlled by a flag that can be adjusted based on content characteristics, allowing the system to dynamically switch between updating the palette book frequently (for accuracy) or less frequently (for simplicity) without changing the overall structure.
Solution Approach 2:
The patent changes the parameter of palette book update frequency from a fixed value to a controllable variable. By introducing a flag parameter that can be set based on content type and performance requirements, the system can adjust the update behavior to balance between accuracy and complexity without redesigning the entire palette management structure.
3Productivity
If initial palette is frozen during parallel processing, then productivity is improved, but adaptability to content changes deteriorates
Solution Approach 1:
The patent introduces the palette book as an intermediary between the frozen initial palette and the actual content. The initial palette serves as a stable starting point for parallel processing, while the palette book acts as a mediator that gradually incorporates content-specific palette information, allowing the system to maintain both parallel processing efficiency and content adaptability.
Solution Approach 2:
The patent ensures continuity of useful action by maintaining the initial palette frozen for parallel processing while continuously updating the palette book with decoded palette information. This allows the useful action of parallel processing to continue uninterrupted while the palette book progressively adapts to content characteristics, ensuring both efficiency and adaptability.
Data Source
Figure 1~2
Figure 3~4
AI summary
A method and apparatus for palette coding of a block of video data by initializing the palette or triplet palette or using a selected palette or triplet palette from a preceding image area for the beginning block of the current image area are disclosed. The method receives input data associated with a current image area consisting of multiple blocks. For the beginning block, coding palette predictor is determined based on an initial palette or triplet palette or based on a selected palette or triplet palette associated with a selected block located at a location before the end of a preceding image area. For blocks of the current image area, palette coding is applied to the blocks, where at least one block uses the palette predictor for the beginning block as the palette predictor.