Parallel Image Compression Using Edge Data Compaction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing lossless image compression algorithms are inefficient in massively parallel environments like GPUs, as they are designed for serial processing and do not utilize data parallelism effectively, leading to suboptimal compression and higher storage and communication costs.
Innovation Solution
A method for lossless image compression that involves establishing edge elements in a two-dimensional data structure, compacting them along one dimension, and joining adjacent edge elements to form edges, which are then compressed, utilizing multiple threads for parallel processing on GPUs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If lossless compression algorithms are designed for serial processing, then they can achieve sufficient compression for flat images, but they become inefficient when run in massively parallel environments like GPUs
Solution Approach 1:
The image is divided into multiple independent regions that can be processed simultaneously by different threads. Each thread handles a specific region or set of pixels, allowing parallel execution while maintaining compression effectiveness. The segmentation enables the algorithm to scale with the number of available processing units in GPU environments.
Solution Approach 2:
The algorithm transitions from traditional serial one-dimensional processing to two-dimensional parallel processing by organizing computation across both horizontal and vertical dimensions of the image. This dimensional expansion allows multiple threads to work simultaneously on different parts of the image data structure, achieving peak GPU efficiency.
2Reliability
If lossless compression is used to achieve perfect reconstruction without artefacts, then image quality is preserved, but storage and communication costs remain high compared to lossy compression
Solution Approach 1:
The algorithm extracts and processes only the essential edge elements that define image structure, separating them from redundant pixel data. By identifying and compressing only the critical edge information while maintaining lossless properties, the method achieves better compression ratios without sacrificing reconstruction quality.
Solution Approach 2:
The algorithm changes the representation parameters of image data by transforming pixel-based representation to edge-based representation. This parameter transformation enables more efficient encoding by focusing on structural features rather than individual pixel values, reducing file size while preserving lossless reconstruction capability.
3Device complexity
If existing lossless compression algorithms process images in one dimension only, then implementation is simpler, but the degree of compression is limited
Solution Approach 1:
The algorithm extends processing from one dimension to two dimensions by simultaneously analyzing and compressing edge elements in both horizontal and vertical directions. This two-dimensional approach captures more redundancy patterns in the image data, achieving higher compression ratios while managing complexity through systematic organization of the edge data structure.
4Productivity
If massively parallel processors like GPUs are used to improve processing speed, then productivity increases, but existing serial algorithms do not run efficiently in these environments
Solution Approach 1:
The computation is segmented into independent tasks that can be assigned to multiple GPU threads, maximizing utilization of parallel processing resources. Each thread processes a specific portion of the edge data structure, allowing the algorithm to scale efficiently with the number of available processing units while maintaining implementation simplicity through regular task distribution.
Data Source
AI summary
Methods, apparatus, and computer readable media are provided for image compression. Edge elements of an image comprising pixels are established by analyzing pixel values associated with the pixels of the image. The edge elements are organized in an edge data structure having at least two dimensions. The edge data structure is compacted along a first dimension by arranging the established edge elements adjacent to each other along the first dimension in a compacted edge data structure. Compressed edges in a second dimension in the compacted edge data structure are determined by: determining edge elements to be joined along a second dimension in the compacted edge data structure based on pixel values of neighboring edge elements, along the second dimension, in the compacted edge data structure; and compressing the image by encoding formed edges, the edges being formed by joining the determined edge elements.


