In-Flight Image Raster Rotation via Single Buffer Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for rotating image raster direction in electronic devices require either costly bandwidth or complex calculations, often necessitating dual buffer memory arrays or dual port memory types, which increase silicon area and implementation complexity.
Innovation Solution
A method utilizing a single buffer memory with specific writing and reading orders, allowing in-flight image raster rotation by dividing images into parallel strips and addressing buffer memory cells in a manner that enables burst-handling and reduces the need for complex calculations, thus allowing silicon embedding without significant cost increase.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If two buffer memory arrays are implemented in parallel for in-flight rotation, then image rotation speed is improved, but silicon area increases
Solution Approach 1:
The image is divided into multiple parallel strips that can be processed independently. Each strip is rotated and stored in the buffer, allowing continuous processing without requiring the entire image to be held in memory simultaneously. This segmentation enables fast rotation while using a single buffer memory array instead of two, resolving the contradiction between speed and silicon area.
2Measurement precision
If variable offsets are calculated for each image strip, then rotation accuracy is improved, but implementation complexity increases
Solution Approach 1:
The buffer memory is pre-configured with a fixed geometric pattern of storage locations that correspond to the rotated positions. Instead of calculating variable offsets during runtime, the rotation transformation is pre-encoded in the memory addressing scheme itself. This preliminary setup enables accurate rotation while simplifying the implementation to basic memory address generation.
3Adaptability or versatility
If successive pixel values are loaded from non-adjacent memory cells, then rotation flexibility is improved, but burst-handling capability deteriorates
Solution Approach 1:
The buffer memory is organized as a two-dimensional array where pixel values are stored at calculated (x, y) coordinates based on the rotation transformation. This spatial organization in another dimension allows the memory controller to access pixels in the optimal sequence for burst operations while achieving flexible rotation of any image strip, resolving the contradiction between rotation flexibility and burst-handling capability.
Data Source
Figure 1a
Figure 1b
Figure 2
AI summary
A method allows changing an image raster direction from an application raster direction to a screen raster direction, in-flight while pixel values of an image are transferred successively from an application output memory (10) to a display unit (12). A single buffer memory array (11) is implemented between the application output memory and the display unit. Two writing orders for cells of the buffer memory array are used in turn, each combined with a different reading order for said cells. The method can be hardware-implemented, and is adapted for burst-handling of the pixel values.