Image Buffer Upscaling for Lower Memory Bandwidth Video Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-definition and ultra-high-definition video processing systems face challenges with large memory space requirements and excessive memory bandwidth consumption due to the need for extensive pixel data buffering, particularly in motion estimation and frame rate conversion processes.
Innovation Solution
A method involving down-scaling image data to a first resolution, storing it in a first buffer, predicting regions of higher resolution data needed, and using a second buffer to store higher resolution data only when required, with up-scaling provided from the first buffer when necessary, thereby reducing memory space and bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If high resolution pixel data is stored in a buffer for motion estimation and frame rate conversion, then image processing quality is maintained, but memory space requirements and memory bandwidth consumption increase significantly
Solution Approach 1:
The pixel buffer is divided into multiple tiles or blocks that can be independently managed. Each tile contains pixel data for a specific region of the image, allowing the system to load only the necessary tiles into high-resolution buffer memory when needed, rather than loading the entire high-resolution frame. This segmentation reduces peak memory space requirements while maintaining image processing quality for the active region being processed.
Solution Approach 2:
The system maintains high-resolution pixel data locally in the buffer only for the specific regions that are currently being processed or are predicted to be needed soon, rather than maintaining high-resolution data for the entire frame. This local quality approach ensures that image processing quality is maintained for the active processing region while reducing overall memory space requirements by storing lower-resolution data for other regions.
2Manufacturing precision
If high resolution pixel data is stored in a buffer for motion estimation and frame rate conversion, then image processing quality is maintained, but memory bandwidth consumption increases
Solution Approach 1:
The system performs preliminary actions by predicting which pixel data will be needed in the near future and pre-loading that data into the high-resolution buffer before it is actually required for processing. This prediction-based pre-loading reduces the need for frequent high-resolution data fetches from external memory during processing, thereby reducing overall memory bandwidth consumption while maintaining image processing quality.
Solution Approach 2:
The system periodically updates and refreshes the high-resolution pixel buffer with predicted future data needs, rather than continuously maintaining the entire buffer at high resolution. This periodic action allows the system to manage memory bandwidth more efficiently by loading high-resolution data in controlled periodic intervals based on processing requirements and predictions, reducing peak bandwidth consumption.
3Quantity of substance
If the pixel buffer size is reduced to decrease memory space requirements, then memory bandwidth consumption decreases, but the ability to maintain high resolution data for processing is compromised
Solution Approach 1:
The pixel buffer system is made dynamic by allowing the buffer size and resolution to change based on the current processing requirements and predictions of future needs. The system can dynamically allocate buffer space, switching between high-resolution and low-resolution storage modes for different regions or time periods, rather than using a fixed buffer configuration. This dynamic approach allows the system to maintain high image processing quality when needed while reducing memory space requirements during other periods.
4Measurement precision
If motion estimation processes every block of pixel data in the adjacent frame, then complete motion analysis is achieved, but memory bandwidth consumption increases due to multiple reads of the same data
Solution Approach 1:
The system performs preliminary action by pre-loading the entire adjacent frame into the high-resolution pixel buffer before motion estimation begins. This preliminary loading ensures that all pixel data is available in the buffer for multiple reads during motion estimation without requiring additional fetches from external memory, thereby completing thorough motion analysis while minimizing overall memory bandwidth consumption.
Data Source
AI summary
In an example method and system, image data to an image processing module. Image data is read from memory into a down-scaler, which down-scales the image data to a first resolution, which is stored in a first buffer. A region of image data which the image processing module will request is predicted, and image data corresponding to at least part of the predicted region of image data is stored in a first buffer, in a second resolution, higher than the first. When a request for image data is received, it is then determined whether image data corresponding to the requested image data is in the second buffer, and if so, then image data is provided to the image processing module from the second buffer. If not, then image data from the first buffer is up-scaled, and the up-scaled image data is provided to the image processing module.


