Multi-Core Image Compression Using Slice-Based Work Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current encoding systems for remote computing sessions do not effectively utilize multiple processors or processing cores, leading to increased processing time and reduced framerate, which negatively impacts user experience due to high bandwidth requirements and inefficient compression.
Innovation Solution
A multi-processor work manager allocates CPU threads to cores, dividing images into slices and dynamically balancing workloads to reduce cache thrashing and enhance compression speed by leveraging multiple processors for efficient image encoding and decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compression algorithms are used to reduce bandwidth, then bandwidth usage decreases, but processing time increases
Solution Approach 1:
The image is divided into multiple slices, with each slice assigned to a different processor core for independent compression. This segmentation allows parallel processing of compression tasks, reducing overall processing time while maintaining the bandwidth reduction benefits of compression algorithms.
Solution Approach 2:
The patent transitions from single-processor sequential compression to multi-processor parallel compression by adding the dimension of multiple processing cores. This dimensional expansion enables simultaneous execution of compression algorithms across multiple slices, resolving the time-bandwidth tradeoff.
2Manufacturing precision
If more processing time is allocated to compression, then compression quality improves, but framerate decreases
Solution Approach 1:
By segmenting the image into slices and distributing them across multiple processor cores, the system maintains high compression quality through adequate processing per slice while achieving high framerate through parallel execution. Each core processes its assigned slices with sufficient time and resources.
Solution Approach 2:
The work manager continuously allocates slices to available processor cores, ensuring that processing action continues without interruption across multiple cores. This continuous parallel processing maintains both compression quality and framerate by keeping all processing resources actively engaged.
3Device complexity
If single processor is used for encoding, then device complexity is low, but compression speed is insufficient
Solution Approach 1:
The encoding task is segmented into multiple slices that can be processed in parallel by multiple cores. This segmentation enables the system to leverage available multi-core processors without requiring a complete redesign of the encoding architecture, thus improving speed while managing complexity.
Solution Approach 2:
The work manager dynamically allocates and balances work across available processor cores, adapting to the system's processing capabilities. This dynamic approach allows the system to utilize multi-processor configurations effectively for improved compression speed while maintaining flexibility in resource management.
Data Source
AI summary
Systems, methods and computer readable media are disclosed for accelerating the compression of images on a multi-processor computer. In an embodiment, an image is divided into a plurality of slices, each slice having the same width as the image. These slices are provided to a work manager that maintains a thread for each processor. The work manager assigns each slice to a thread for processing in an efficient manner (such as the thread corresponding to the first available processor), and when an indication that the slice has been compressed for each slice is received, the work manager assembles the compressed image.


