Multi-Core Image Compression with Slice-Based Work Balancing
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 frame rates, 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 for parallel compression and re-assembling them into coherent images, dynamically balancing workloads to reduce cache thrashing and enhance compression speed.
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 patent divides the image into multiple slices and assigns each slice to a different processor core for parallel compression. This segmentation allows the compression task to be distributed across multiple processing units, reducing the overall processing time while maintaining the bandwidth reduction benefits of compression.
Solution Approach 2:
The patent transitions from single-threaded sequential processing to multi-threaded parallel processing by utilizing multiple CPU cores. This dimensional change in processing architecture enables simultaneous compression of multiple image slices, effectively reducing processing time without compromising compression efficiency.
2Manufacturing precision
If more processing time is allocated to compression, then compression quality improves, but frame rate decreases
Solution Approach 1:
By segmenting the image into multiple slices and processing them in parallel across different cores, the system maintains high compression quality for each slice while the overall processing is completed faster, thus preserving frame rate.
Solution Approach 2:
The patent ensures continuous processing by having multiple cores work simultaneously on different slices without idle time. This parallel continuous action maintains high frame rates while applying quality compression algorithms to each slice.
3Device complexity
If single processor compression is used, then system complexity remains low, but compression speed is insufficient
Solution Approach 1:
The patent segments the compression workload into multiple independent slice-processing tasks that can be executed in parallel. This segmentation enables the use of multiple processors without significantly increasing system complexity, as each processor handles an independent slice with minimal coordination overhead.
Solution Approach 2:
The patent uses standard multi-threading and parallel processing mechanisms that are universally supported by modern processors. This approach leverages existing multi-core processor capabilities without requiring specialized hardware, thus maintaining relatively low system complexity while achieving faster compression speeds.
Data Source
Figure 1
Figure 2
Figure 3
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.