DMA Data Transfer for Image Processing Region Division
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In image processing, resolution conversion processing combined with region division processing poses challenges due to changes in the number of pixels, leading to difficulties in hardware implementation and synchronization between CPU and image processor, resulting in processing delays and increased load on the CPU.
Innovation Solution
A data transfer apparatus and method that utilizes direct memory access (DMA) between an output unit and a buffer, with line pointers managing the start address and number of repetitions for efficient data transfer, allowing continuous processing of divided regions without CPU intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If resolution conversion processing is combined with region division processing, then processing speed can be improved through parallel distributed processing, but the number of pixels changes between input and output, making hardware implementation difficult and requiring CPU intervention for each divided region
Solution Approach 1:
A DMA controller is introduced as an intermediary device between the CPU and image processor to automatically manage data transfer for each divided region. The DMA controller receives control signals from the CPU containing transfer parameters (source address, destination address, transfer count) and autonomously executes the data transfer operations, eliminating the need for CPU intervention during actual data transfer operations and enabling continuous processing of multiple divided regions.
Solution Approach 2:
The system enables self-service operation by allowing the image processor to automatically generate control signals for the DMA controller based on processing results. When the image processor completes processing of one divided region and starts processing the next, it autonomously generates new DMA control signals with updated parameters (such as modified transfer counts due to rounding), allowing the system to continuously process multiple regions without CPU intervention.
2Reliability
If the set value of DMA is calculated and set for each divided region by CPU firmware, then data transfer can be performed according to processing contents, but the CPU cannot continuously process multiple divided regions due to synchronization delays
Solution Approach 1:
The DMA controller serves as an intermediary that takes over the time-consuming task of repetitive data transfer operations from the CPU. The CPU only needs to issue initial control signals and periodic updates, while the DMA controller autonomously handles the actual data transfer operations, including calculating transfer parameters and managing buffer operations, thereby eliminating CPU synchronization delays.
Solution Approach 2:
The system implements preliminary action by having the CPU calculate and set the initial DMA control parameters (source address, destination address, transfer count) before the image processing starts. This preliminary configuration allows the DMA controller to autonomously execute the entire data transfer sequence without requiring CPU intervention during processing, enabling the CPU to continuously process multiple divided regions.
3Manufacturing precision
If rounding processing is performed for pixels smaller than one-pixel size, then integer pixel representation is achieved, but the DMA set value must be recalculated for each divided region
Solution Approach 1:
The image processor performs self-service by automatically generating updated DMA control signals based on its processing results. When rounding processing changes the number of output pixels, the image processor autonomously calculates the new transfer count and generates updated control signals for the DMA controller, eliminating the need for external recalculation and enabling continuous autonomous operation.
Solution Approach 2:
The system implements feedback by having the image processor monitor its own processing results and use this information to adjust DMA control parameters. The image processor detects when rounding processing has occurred and automatically updates the transfer count parameter in DMA control signals, creating a closed-loop system that adapts to processing variations without CPU intervention.
Data Source
AI summary
A reading process is performed to read data of each area, which is divided from image data, from a buffer storing the image data to be performed on a predetermined image process. A transmitting process is performed to transmit the read data of the area to an image processor. A reception process is performed to receive data generated in the predetermined image process from the image processor. A parameter for a writing process is set based on an area size of the received data. A writing process is performed to write the received data to the buffer by data transfer using direct memory access (DMA).


