Multi-Pixel Cache and Run-Length Encoding for Lossless Frames

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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, which increases bandwidth usage and reduces user experience.

Innovation Solution

Implementing a multi-pixel caching scheme for lossless encoders that uses run-length encoding and a multi-pixel cache to optimize the encoding of display frame data, combining lossy and lossless compression algorithms to minimize bandwidth requirements while maintaining quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If traditional graphics processing is used without metadata, then the system is simpler to implement, but bandwidth usage increases and user experience deteriorates

Engineering Contradiction:
Improvebandwidth usageVSAvoidencoding system complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The encoding system is segmented into multiple components: metadata generation module, multi-pixel cache module, and run-length encoding module. Each component handles specific tasks independently, allowing the system to reduce bandwidth usage through structured data organization without overwhelming complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Metadata is generated preliminarily during the graphics processing stage, before transmission. The multi-pixel cache pre-stores pixel data patterns, enabling efficient compression during encoding without requiring complex real-time processing, thus reducing bandwidth usage while maintaining manageable system complexity

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If only lossless compression is used, then image quality is preserved, but bandwidth usage and storage needs increase

Engineering Contradiction:
Improveimage qualityVSAvoiddata volume
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The encoding scheme applies different compression strategies to different regions of the display frame based on their characteristics. Static regions use more aggressive compression while dynamic regions use lossless encoding, preserving image quality where needed while reducing overall data volume

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts encoding parameters based on frame characteristics. The multi-pixel cache stores pixel data with varying precision levels, and run-length encoding adapts its compression ratio based on the complexity of the current frame, optimizing the balance between image quality and data volume

Inventive Principle:
Principle #35Parameter changes

3Productivity

If metadata is included in graphics processing, then bandwidth usage is reduced, but processing complexity increases

Engineering Contradiction:
Improveencoding efficiencyVSAvoidprocessing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The metadata structure is designed to serve multiple functions simultaneously: it provides compression hints, tracks frame differences, and enables multi-pixel cache optimization. This multi-functionality improves encoding efficiency without requiring separate processing systems for each function, managing complexity through unified design

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The multi-pixel cache acts as an intermediary between the metadata and the final encoded output. It translates metadata information into optimized pixel sequences, reducing the direct processing burden on the main encoding system and improving overall encoding efficiency while managing complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If run-length encoding is applied to repeating pixels, then data compression is improved, but processing time increases

Engineering Contradiction:
Improveencoded data sizeVSAvoidencoding time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Pixel sequences are pre-processed and stored in the multi-pixel cache before final encoding. Common pixel patterns are identified and stored in advance, so that during actual encoding, run-length compression can be applied quickly to pre-identified sequences, reducing both data size and encoding time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies run-length encoding selectively to only those pixel sequences that benefit most from compression. The multi-pixel cache identifies repeating patterns and applies compression only to those regions, avoiding unnecessary processing time while achieving significant data size reduction

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10523956B2Multi-pixel caching scheme for lossless encoding
Publication Date: 2019.12.31 CITRIX SYSTEMS INC
  • US10523956B2 patent drawing
  • US10523956B2 patent drawing
  • US10523956B2 patent drawing

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.