Palette Decoding for Screen Content Video
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video coding techniques are inefficient for decoding screen content, such as computer-generated graphics and animations, as they require a different decoding scheme than those used for captured image content, necessitating a proper palette decoding method in video decoders.
Innovation Solution
A video decoder apparatus and method that includes a palette color storage device, a color index storage device, and a palette value processing circuit to generate palette values for pixels by reading color indices from the bitstream, searching for corresponding palette colors, and using these values for reconstruction, allowing for efficient decoding in small-sized coding units rather than large-sized units, thereby reducing buffer requirements and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all palette colors and color indices are decoded and stored before reconstruction starts, then decoding accuracy is ensured, but buffer requirements increase and processing time increases
Solution Approach 1:
The frame is divided into multiple coding units, and each coding unit is further divided into sub-coding units. Palette decoding is performed independently for each sub-coding unit, allowing the buffer to store only the palette colors needed for the current sub-coding unit rather than all palette colors for the entire frame. This segmentation reduces buffer requirements while maintaining decoding accuracy for each local region.
Solution Approach 2:
The necessary palette colors for the current sub-coding unit are decoded and stored in the buffer before reconstruction of that sub-coding unit begins. This preliminary action ensures that all required palette colors are available when needed, maintaining decoding accuracy while avoiding the need to store all palette colors for the entire frame in advance.
2Reliability
If all palette colors and color indices are decoded and stored before reconstruction starts, then complete palette data is available, but processing time increases
Solution Approach 1:
The frame is divided into multiple coding units with each further divided into sub-coding units. Palette decoding and reconstruction are performed on smaller sub-coding units independently, allowing parallel processing and reducing the total time required to decode and reconstruct the entire frame while ensuring complete palette data is available for each sub-unit.
Solution Approach 2:
The decoding and reconstruction processes are overlapped and performed continuously across different sub-coding units. While one sub-coding unit is being reconstructed, the next sub-coding unit's palette colors are being decoded and prepared, maintaining continuous useful action and reducing total processing time while ensuring complete palette data availability for each unit being processed.
3Quantity of substance
If small-sized coding units are used for palette decoding, then buffer requirements are reduced, but device complexity increases
Solution Approach 1:
The frame is segmented into coding units and sub-coding units, which reduces buffer requirements. The increased complexity from handling multiple units is managed through systematic organization and independent processing of each unit, where the same palette decoding logic is applied repeatedly to each sub-coding unit, making the complexity manageable and modular.
Data Source
AI summary
A palette decoding apparatus includes a palette color storage device which stores palette colors, a color index storage device which stores color indices of pixels, and a palette value processing circuit which generates a palette value for each pixel by reading data from the color index storage device and the palette color storage device. A frame is divided into first coding units, and each first coding unit is sub-divided into one or more second coding units. Before a palette value of a last pixel in a first coding unit is generated by the palette value processing circuit, a palette value of a non-last pixel in the first coding unit is generated by the palette value processing circuit and used by a reconstruction circuit of the video decoder.


