Image Compression Tile Processing with Dedicated ALU Registers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image compression methods require frequent interactions with local shared memory for color transformation and processing, leading to inefficiencies and delays due to thread dependencies and memory access issues in processing large numbers of tiles.
Innovation Solution
A method involving reversible color transformation and discrete wavelet transformation, where wavelet coefficients are processed and quantized within dedicated registers without storing them in local shared memory, followed by entropy encoding, minimizes memory interactions and optimizes processing by using dedicated registers for each Arithmetic Logic Unit (ALU).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If color transformation and processing are performed using conventional methods with local shared memory, then image compression can be achieved, but processing efficiency deteriorates due to frequent memory interactions and thread dependencies
Solution Approach 1:
The patent divides the image into multiple tiles and processes each tile independently using separate ALUs. Each ALU has its own dedicated registers, allowing parallel processing without thread dependencies. This segmentation eliminates the need for frequent shared memory accesses and resolves the contradiction between productivity and time loss.
Solution Approach 2:
The patent introduces dedicated registers as intermediaries between the ALUs and shared memory. These registers temporarily store color component values and wavelet coefficients, reducing direct memory access frequency. This intermediary mechanism maintains processing efficiency while minimizing memory access delays.
2Loss of time
If dedicated registers are used for each ALU to store color component values and wavelet coefficients, then memory access delays are reduced, but device complexity increases
Solution Approach 1:
The patent allocates dedicated registers to each ALU, creating independent processing units. This segmentation simplifies the overall system architecture by eliminating complex memory management and thread synchronization requirements, despite the apparent increase in register count.
Solution Approach 2:
Each ALU serves itself with its own dedicated registers, eliminating the need for complex shared memory management and inter-thread communication. This self-service approach reduces device complexity by removing the need for sophisticated memory allocation and access control mechanisms.
3Productivity
If wavelet coefficients are processed and quantized within dedicated registers without storing in local shared memory, then processing efficiency is enhanced, but manufacturing precision requirements increase
Solution Approach 1:
The patent extracts the wavelet coefficient storage and processing functions from shared memory to dedicated registers. This extraction eliminates the need for complex memory management and reduces precision requirements by simplifying the data flow and eliminating potential sources of error in memory access and synchronization.
Data Source
AI summary
A method of processing image data for transmittal to a display device involves receiving a frame of image data, the frame being divided into tile groups composed of tiles of pixels, each having a number of colour component values of a first colour space. Each tile includes a number of colour component planes of the first colour space having the colour component values for the pixels forming the tile. Each tile group is processed in an execution unit, formed by arithmetic logic units (ALUs) and a local shared memory, where each ALU includes dedicated register space for use solely by the ALU, and each tile of each tile group is processed by a number of the ALUs of the execution unit. Each ALU performs a reversible colour transformation (S1) on the colour component values from the first colour space to a second colour space and discards the remaining colour component values and then performs a discrete wavelet transformation (S2) on the colour component values of one colour component plane of the second colour space to produce wavelet coefficients, which are quantized (S3) and entropy encoded (S4) into variable length codes. The variable length codes for all the tiles of the tile group are assembled together for transmittal to a display device. Each ALU stores the data at each stage of the processing in its dedicated register space but not in the local shared memory of the execution unit.


