Dynamic Memory Allocation for Image Block Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image processing methods face challenges in achieving consistent compression ratios and maintaining image quality when compressing images with varying pixel information, as they require fixed stream budgets for blocks with different content complexities, leading to reduced quality for blocks with more complex content.
Innovation Solution
The implementation of a dynamic memory allocation mechanism that allocates private and shared storage spaces adaptively, allowing blocks with insufficient storage to use shared segments at specific ends of the shared space, ensuring flexible coding budgets based on content complexity and supporting re-adjustment to maintain coding quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a fixed stream budget is allocated to each block based on compression ratio, then the compression ratio requirement is met, but the image quality is greatly reduced for blocks with more complex content
Solution Approach 1:
The patent implements a dynamic memory allocation mechanism where the stream budget for each block is not fixed but can be adjusted based on the actual compression needs. The buffer memory allows the system to dynamically allocate more bits to complex blocks that require higher quality, while simpler blocks use fewer bits, thus resolving the contradiction between meeting compression ratio requirements and maintaining image quality for complex content.
Solution Approach 2:
The system changes the parameter of stream budget from a fixed value determined by compression ratio to a variable value that adapts to block complexity. By allowing the bit number to vary based on content complexity while using a buffer to manage overall compression ratio, the system achieves both quality preservation for complex blocks and compression ratio compliance.
2Device complexity
If the compressed space is divided into equal parts for each block, then the storage structure is simple, but blocks with complex content cannot exceed the budget leading to quality reduction
Solution Approach 1:
The patent segments the compressed space into two parts: a fixed allocation part and a buffer memory part. The fixed allocation provides simple initial structure, while the buffer memory segment allows dynamic redistribution of bits to complex blocks, enabling quality improvement without significantly increasing overall structural complexity.
Solution Approach 2:
The buffer memory acts as an intermediary between the fixed stream budget and the actual compression needs of each block. It mediates the allocation by allowing blocks to borrow from or return to the buffer, thus enabling flexible quality adjustment while maintaining an organized storage structure.
3Productivity
If intensive compression means are used for blocks with complex content to meet budget constraints, then the compression ratio is maintained, but the image quality is greatly reduced
Solution Approach 1:
The system changes the parameter of available bits from a fixed budget to a variable budget that can be increased for complex blocks by borrowing from the buffer memory. This allows the use of less intensive compression means for complex blocks while still meeting overall compression ratio requirements, thereby preserving image quality.
Data Source
AI summary
An image processing method and an image processing device are provided. The method includes: retrieving a first and second blocks and compressing the first and second blocks into a first and second streams; in response to determining performing a dynamic memory allocation mechanism to the first and second blocks, respectively allocating a first and second private storage spaces to the first and second blocks, and allocating a shared storage space shared by the first and second blocks and divided into multiple segments; when the first private storage space is insufficient to store the first stream, using the first private storage space and a first part of the segments to cooperatively store the first stream; when the second private storage space is insufficient to store the second stream, using the second private storage space and a second part of the segments to cooperatively store the second stream.


