IP Library Granted Patent US 9,438,795
Granted Patent B1
US 9,438,795 · App. 14/753,947 · Granted Sep 6, 2016

Real time feature extraction

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,438,795
App. No.
14/753,947
Granted
Sep 6, 2016
Kind
B1
Abstract

A computer-implemented method for method for detecting features in an image. The method includes receiving first and second images at one or more processors. The method also includes processing the first and second images to detect one or more features within the first and second images respectively. The method further includes generating a third image based on processed portions of the first and second images and outputting the third image to another processor. A mobile computing device and GPU are also provided.

Claims (56)

1. A computer-implemented method for detecting features in images, the method comprising:

retrieving, by one or more processors, first image data from memory;

retrieving, by the one or more processors, second image data from the memory;

processing, by the one or more processors, the retrieved first image data to identify one or more features of a first image and to generate first processed image data based on the identified one or more features of the first image;

processing, by the one or more processors, the retrieved second image data to identify one or more features of a second image and to generate second processed image data based on the identified one or more features of the second image; and

storing the first and second processed image data in the memory.

2. The method of claim 1 , wherein the first and second image data are retrieved from one or more texture regions of the memory, and the first and second processed image data are stored in one or more buffer regions of the memory.

3. The method of claim 1 , wherein the one or more features of the first and second images include corner features.

4. The method of claim 3 , further comprising performing panorama image stitching utilizing the corner features.

5. The method of claim 3 , further comprising performing video or image stabilization utilizing the corner features.

6. The method of claim 3 , further comprising performing high-dynamic range image creation utilizing the corner features.

7. The method of claim 1 , wherein the one or more features of the first and second images include corner features, and the method further comprises eliminating duplicate corners in one or both of the first and the second images utilizing the corner features.

8. The method of claim 1 , wherein storing the first and second processed image data in the memory includes storing the first processed image data in a first buffer and storing the second processed image data in a second buffer.

9. The method of claim 1 , further comprising outputting a third image in accordance with at least one of the first and second processed image data.

10. A device for detecting features in images, the device comprising:

memory configured to store image data; and

one or more processors operatively coupled to the memory, the one or more processors being configured to:

retrieve first image data from the memory;

retrieve second image data from the memory;

process the retrieved first image data to identify one or more features of a first image and to generate first processed image data based on the identified one or more features of the first image;

process the retrieved second image data to identify one or more features of a second image and to generate second processed image data based on the identified one or more features of the second image; and

store the first and second processed image data in the memory.

11. The device of claim 10 , wherein:

the memory includes one or more texture regions and one or more buffer regions;

the first and second image data are retrieved from the one or more texture regions of the memory; and

the first and second processed image data are stored in the one or more buffer regions of the memory.

12. The device of claim 10 , wherein the one or more features of the first and second images include corner features.

13. The device of claim 12 , wherein the one or more processors are further configured to perform at least one of:

panorama image stitching utilizing the corner features;

video or image stabilization utilizing the corner features; or

high-dynamic range image creation utilizing the corner features.

14. The device of claim 10 , wherein the one or more features of the first and second images include corner features, and the one or more processors are further configured to eliminate duplicate corners in one or both of the first and the second images utilizing the corner features.

15. The device of claim 11 , wherein storing the first and second processed image data in the memory includes storing the first processed image data in a first buffer of the one or more buffer regions and storing the second processed image data in a second buffer of the one or more buffer regions.

16. A system for processing features in images, the system comprising:

a first processor including memory configured to store image data; and

a second processor operatively coupled to the first processor;

wherein the first processor is configure to:

retrieve first image data from the memory;

retrieve second image data from the memory;

process the retrieved first image data to identify one or more features of a first image and to generate first processed image data based on the identified one or more features of the first image;

process the retrieved second image data to identify one or more features of a second image and to generate second processed image data based on the identified one or more features of the second image;

store the first and second processed image data in the memory; and

output a third image to the second processor in accordance with at least one of the first and second processed image data, and

wherein the second processor is configure to:

send the first and second image data to the memory of the first processor; and

receive the third image from the first processor.

17. The system of claim 16 , wherein:

the memory includes one or more texture regions and one or more buffer regions;

the first and second image data are retrieved from the one or more texture regions of the memory; and

the first and second processed image data are stored in the one or more buffer regions of the memory.

18. The system of claim 16 , wherein the first processor comprises one or more graphics processing units and the second processor comprises a central processing unit.

19. The system of claim 16 , wherein the one or more features of the first and second images include corner features and one or both of the first and second processors are further configured to perform at least one of:

panorama image stitching utilizing the corner features;

video or image stabilization utilizing the corner features; or

high-dynamic range image creation utilizing the corner features.

20. The system of claim 16 , wherein the one or more features of the first and second images include corner features, and one or both of the first and second processors are further configured to eliminate duplicate corners in one or both of the first and the second images utilizing the corner features.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: OGALE, ABHIJIT S.
To: GOOGLE INC.
Reel/Frame 036133/0176 →