Multi-Pixel Cache Encoding for Lossless Frame Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computing systems face inefficiencies in processing, encoding, and delivering display frames in virtual and remote computing environments, particularly due to the lack of metadata in graphics processing units, leading to increased bandwidth usage and reduced user experience.
Innovation Solution
Implementing a multi-pixel caching scheme for lossless encoding, which uses run-length encoding for repeating pixel sequences and a multi-pixel cache for non-repeating sequences, along with a combination of lossy and lossless compression algorithms to optimize display frame data transmission, reducing bandwidth requirements without significant increases in computing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If traditional graphics processing is used without metadata, then the system architecture is simple, but bandwidth usage increases and user experience deteriorates
Solution Approach 1:
The patent segments the display frame processing into multiple components: metadata extraction from the frame buffer, separate encoding paths for different pixel types (repeating vs. non-repeating), and organized cache structures. This segmentation allows efficient processing of different pixel patterns while maintaining manageable system complexity.
Solution Approach 2:
The patent implements preliminary action by pre-processing display frames to extract metadata (such as pixel patterns, run lengths, and pixel values) before encoding. This pre-extraction of useful information from the frame buffer enables more efficient compression during the actual encoding phase, reducing bandwidth usage without proportionally increasing processing complexity.
2Loss of information
If lossless encoding is used for all pixels, then image quality is maintained, but bandwidth usage increases
Solution Approach 1:
The patent applies local quality by using different encoding strategies for different regions and pixel types within the same frame. Repeating pixel sequences use run-length encoding with references to previous pixels, while non-repeating pixels use direct caching. This localized adaptation of encoding methods maintains image quality where needed while reducing bandwidth for repetitive patterns.
Solution Approach 2:
The patent changes encoding parameters dynamically based on pixel characteristics. For repeating pixels, it uses reference-based encoding with run-length parameters; for non-repeating pixels, it uses cache-based direct encoding. This parameter adaptation allows the system to optimize the balance between image quality preservation and bandwidth reduction for each pixel type.
3Productivity
If more computing resources are allocated to encoding, then compression efficiency improves, but system resource consumption increases
Solution Approach 1:
The patent implements self-service by using the existing frame buffer data and metadata to guide the encoding process. The system leverages naturally occurring patterns in the display data (such as repeated pixels and common color values) to create compression opportunities without requiring additional heavy processing resources. The encoding algorithm adapts to the data characteristics rather than imposing complex transformations.
Data Source
AI summary
Systems and methods are provided for encoding a multi-pixel caching scheme for lossless encoders. The systems and methods can include obtaining a sequence of pixels, determining repeating sub-sequences of the sequence of pixels consisting of a single repeated pixel and non-repeating sub-sequences of the sequence of pixels, responsive to the determination, encoding the repeating sub-sequences using a run-length of the repeated pixel and encoding the non-repeating sub-sequences using a multi-pixel cache, wherein the encoding using a multi-pixel cache comprises, encoding non-repeating sub-sequences stored in the multi-pixel cache as the location of the non-repeating sub-sequences in the multi-pixel cache, and encoding non-repeating sub-sequences not stored in the multi-pixel cache using the value of the pixels in the non-repeating sub-sequences.


