Hardware coprocessor for stripe-based interest point detection
First Claim
Patent Images
1. An image processor, comprising:
- a first stage configured to receive pixels from an image source, the first stage including a plurality of octave elements, each octave element including an octave module and a synchronization buffer to provide pixels to the octave module, wherein the octave module is configured to generate several Difference-of-Gaussian images; and
a second stage including interest point detectors configured to receive the Difference-of-Gaussian images from respective octave modules and to generate interest point values and positions, wherein;
each octave module comprises scale sub-modules that receive pixel data from the synchronization buffer and Difference-of-Gaussian subtractors which receive blurred image data from adjacent scale sub-modules, andeach scale sub-module includes a first Gaussian filter, a second Gaussian filter and a stripe buffer coupled between the first and second Gaussian filters.
2 Assignments
0 Petitions
Accused Products
Abstract
A hardware coprocessor architecture calculates the Difference-of-Gaussian (DoG) pyramid of an input image and extracts from this the interest points to be used in several image detection algorithms. Advantages of the architecture include the possibility to process the image by stripes, namely by blocks having one dimension coincident with the input image width, in the absence of an input frame buffer and the possibility to avoid RAM memory. The coprocessor is suitable to be tightly coupled with raw image sources like sensors.
14 Citations
20 Claims
-
1. An image processor, comprising:
-
a first stage configured to receive pixels from an image source, the first stage including a plurality of octave elements, each octave element including an octave module and a synchronization buffer to provide pixels to the octave module, wherein the octave module is configured to generate several Difference-of-Gaussian images; and a second stage including interest point detectors configured to receive the Difference-of-Gaussian images from respective octave modules and to generate interest point values and positions, wherein; each octave module comprises scale sub-modules that receive pixel data from the synchronization buffer and Difference-of-Gaussian subtractors which receive blurred image data from adjacent scale sub-modules, and each scale sub-module includes a first Gaussian filter, a second Gaussian filter and a stripe buffer coupled between the first and second Gaussian filters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
receiving, by a first stage of an image processor, pixel data from an image source, the first stage including a plurality of octave elements, each octave element including an octave module and a synchronization buffer to provide pixels to the octave module, wherein the octave module is configured to generate several Difference-of-Gaussian images; and processing, by a second stage of the image processor including interest point detectors, the Difference-of-Gaussian images from respective octave elements, the processing including generating interest point values and positions, wherein each octave module comprises scale sub-modules that receive pixel data from the synchronization buffer and Difference-of-Gaussian subtractors which receive blurred image data from adjacent scale sub-modules, and each scale sub-module includes a first Gaussian filter, a second Gaussian filter and a stripe buffer coupled between the first and second Gaussian filters. - View Dependent Claims (11, 12)
-
-
13. A system, comprising:
-
a plurality of octave elements configured to receive image pixels from an image source, the first stage including a plurality of octave elements, each octave element including an octave module and a synchronization buffer to provide pixels to the octave module, wherein the octave module is configured to generate several Difference-of-Gaussian images; and a plurality of interest point detectors configured to receive the Difference-of-Gaussian images from respective octave modules and to generate interest point values and positions, wherein; each octave module comprises scale sub-modules configured to receive pixel data from the synchronization buffer and Difference-of-Gaussian subtractors configured to receive blurred image data from adjacent scale sub-modules, and each scale sub-module includes a first Gaussian filter, a second Gaussian filter and a stripe buffer coupled between the first and second Gaussian filters. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification