Direct memory access with filtering
First Claim
1. A system, comprising:
- memory;
a direct memory access (DMA) engine coupled to the memory, the DMA engine including a DMA read circuit and a DMA write circuit, the DMA read circuit being configured for reading a set of data from a selected range of read memory addresses for the memory;
a filter having a window height and being configured to apply a filtering operation to a window-height subset of a buffered portion of the data set, producing filtered data, the filter being further configured to provide substitute pixels for one or more edge pixels of the set of data prior to the filtering operation;
a line buffer coupled to the DMA engine and configured to receive the read data and to temporarily store a portion but not all of the data set being read by the DMA engine as the window-height subset of the buffered portion of the data set, the line buffer including at least one more row of data than the window height; and
wherein the DMA write circuit stores the filtered data to a selected range of write memory addresses of the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus, and computer-readable storage media are disclosed for applying filtering operations to data transferred as part of a direct memory access (DMA) operation. In one example of the disclosed technology, a system includes a processor, memory, and a direct memory access (DMA) engine coupled to the memory for reading a set of data from a selected range of read memory addresses for the memory without using the processor. A line buffer coupled to the DMA engine is configured to receive DMA read data and temporarily store a portion, but not all of the data set being read by the DMA engine in a line buffer. A digital filter is configured to apply a filtering operation to a windowed subset of the buffered portion of the data set, producing filtered data that is stored to a selected range of write memory addresses for the memory, without using the processor.
-
Citations
20 Claims
-
1. A system, comprising:
-
memory; a direct memory access (DMA) engine coupled to the memory, the DMA engine including a DMA read circuit and a DMA write circuit, the DMA read circuit being configured for reading a set of data from a selected range of read memory addresses for the memory; a filter having a window height and being configured to apply a filtering operation to a window-height subset of a buffered portion of the data set, producing filtered data, the filter being further configured to provide substitute pixels for one or more edge pixels of the set of data prior to the filtering operation; a line buffer coupled to the DMA engine and configured to receive the read data and to temporarily store a portion but not all of the data set being read by the DMA engine as the window-height subset of the buffered portion of the data set, the line buffer including at least one more row of data than the window height; and wherein the DMA write circuit stores the filtered data to a selected range of write memory addresses of the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
with a line buffer, receiving data from a direct memory access (DMA) read circuit coupled to a memory for a selected range of read memory addresses for the memory and temporarily storing a portion but not all of the received data as a window-height subset of the received data; providing substitute pixels for at least one edge pixel of the window-height subset of data; filtering the window-height subset with the substitute pixels, producing filtered data; and storing the filtered data to a range of write memory addresses via a DMA write circuit. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
memory; a direct memory access (DMA) engine coupled to the memory, the DMA engine including a DMA read circuit and a DMA write circuit, the DMA read circuit being configured to read a set of data from a selected range of read memory addresses for the memory; a filter having a window height and being configured to apply a filtering operation to a window-height subset of a buffered portion of the data set, producing filtered data, the filter being further configured to copy pixel intensity values from neighboring pixels for one or more missing edge pixels of the set of data prior to the filtering operation; a line buffer coupled to the DMA engine and configured to receive the read data and to temporarily store a portion but not all of the data set being read by the DMA engine as the window-height subset of the buffered portion of the data set, the line buffer including at least one more row of data than the window height; and wherein the DMA write circuit stores the filtered data to a selected range of write memory addresses of the memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification