Method and apparatus for two dimensional image processing
First Claim
1. A system for organizing data flow for two-dimensional image processing comprising:
- an address engine for generating addresses for reading image data from and writing image data to an external memory, the address engine comprising;
a DMA unit for interfacing with the external memory, anda data flow organizer module for re-ordering the image data read from the external memory and generating data flows for the image data to be processed; and
a data processing module for processing the image data read from the external memory, whereinthe DMA unit comprises;
a plurality of first read address generation units for generating read addresses for reading the image data from the external memory, andat least one first write address generation units for generating write addresses for writing the image data to the external memory, and wherein the data flow organizer module comprises;
a cache memory divided into a plurality of virtual memories,a lookup table for storing function data,a plurality of second read address generation units for generating read addresses for reading data from the cache memory, each of the second read address generation units corresponding to a respective one of the plurality of virtual memories,a plurality of second write address generation units for generating write addresses for writing data to the cache memory, each of the second write address generation units corresponding to a respective one of the plurality of virtual memories,a control and synchronization circuit for ensuring that the data is in the cache memory and push the data to the data processing module, when need, anda plurality of pointer registers for ensuring that reading each memory cell in the cache memory is performed later than writing to said memory cell.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, the present invention is a system for organizing data flow for two dimensional digital image processing. The system includes a memory access module for accessing an external memory containing image data to be processed, and a data flow organizer module for preparing a data stream from the input image data accessed by the memory access module. The data flow organizer module predicts future data needed for processing, and the memory access module pre-fetches the predicted data from the memory. A data processing module processes the pre-fetched data from the data flow organizer module. Address generation for accessing the memory is performed independent and in parallel with processing the pre-fetched data.
124 Citations
14 Claims
-
1. A system for organizing data flow for two-dimensional image processing comprising:
-
an address engine for generating addresses for reading image data from and writing image data to an external memory, the address engine comprising; a DMA unit for interfacing with the external memory, and a data flow organizer module for re-ordering the image data read from the external memory and generating data flows for the image data to be processed; and a data processing module for processing the image data read from the external memory, wherein the DMA unit comprises; a plurality of first read address generation units for generating read addresses for reading the image data from the external memory, and at least one first write address generation units for generating write addresses for writing the image data to the external memory, and wherein the data flow organizer module comprises; a cache memory divided into a plurality of virtual memories, a lookup table for storing function data, a plurality of second read address generation units for generating read addresses for reading data from the cache memory, each of the second read address generation units corresponding to a respective one of the plurality of virtual memories, a plurality of second write address generation units for generating write addresses for writing data to the cache memory, each of the second write address generation units corresponding to a respective one of the plurality of virtual memories, a control and synchronization circuit for ensuring that the data is in the cache memory and push the data to the data processing module, when need, and a plurality of pointer registers for ensuring that reading each memory cell in the cache memory is performed later than writing to said memory cell. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification