IP Library Granted Patent US 9,355,433
Granted Patent B1
US 9,355,433 · App. 14/754,695 · Granted May 31, 2016

Image stitching in a multi-camera array

Inventors: Balineedu Chowdary Adsumilli (San Mateo, CA); Scott Patrick Campbell (Belmont, CA); Timothy MacMillan (Woodside, CA)
Assignee: GoPro, Inc.
G06T3/4038G06T7/0022G06T2207/20221
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,355,433
App. No.
14/754,695
Granted
May 31, 2016
Kind
B1
Abstract

Images captured by multi-camera arrays with overlap regions can be stitched together using image stitching operations. An image stitching operation can be selected for use in stitching images based on a number of factors. An image stitching operation can be selected based on a view window location of a user viewing the images to be stitched together. An image stitching operation can also be selected based on a type, priority, or depth of image features located within an overlap region. Finally, an image stitching operation can be selected based on a likelihood that a particular image stitching operation will produce visible artifacts. Once a stitching operation is selected, the images corresponding to the overlap region can be stitched using the stitching operation, and the stitched image can be stored for subsequent access.

Claims (40)

1. A method for stitching images, comprising:

accessing a set of images associated with an overlap region for display to a user, the overlap region comprising a corresponding portion of each of the set of images;

identifying one or more image features within the overlap region;

assigning a priority to each image feature;

dividing the overlap region into sub-blocks;

selecting, for each sub-block, one or more stitching operations based on the priorities assigned to the image features within the sub-block;

digitally stitching, by a hardware image processor, the set of images together to produce a stitched image using the selected stitching operations; and

storing the stitched image.

2. The method of claim 1 , wherein the set of images comprises images captured by a multi-camera array, each image in the set of images captured by a different camera in the multi-camera array.

3. The method of claim 1 , wherein assigning a priority to an image feature comprises assigning a priority based on a type of the image feature.

4. The method of claim 1 , wherein a quality of a selected stitching operation is proportional to a priority of a highest priority image feature.

5. The method of claim 1 , wherein selecting a stitching operation for a sub-block comprises selecting a stitching operation based on a highest priority image feature within the sub-block.

6. The method of claim 1 , wherein stitching the set of images together comprises, for each sub-block, stitching a portion of each of the set of images together using the stitching operation selected for the sub-block.

7. A system for stitching images, comprising:

an input configured to access a set of images associated with an overlap region for display to a user, the overlap region comprising a corresponding portion of each of the set of images;

an image processing system comprising at least one hardware image processor, the image processing system configured to:

identify one or more image features within the overlap region;

assign a priority to each image feature;

divide the overlap region into sub-blocks;

select, for each sub-block, one or more stitching operations based on the priorities assigned to the image features within the sub-block; and

digitally stitch, by the hardware image processor, the set of images together to produce a stitched image using the selected stitching operations; and

a non-transitory computer-readable storage medium configured to store the stitched image.

8. The system of claim 7 , wherein the set of images comprises images captured by a multi-camera array, each image in the set of images captured by a different camera in the multi-camera array.

9. The system of claim 7 , wherein assigning a priority to an image feature comprises assigning a priority based on a type of the image feature.

10. The system of claim 7 , wherein a quality of a selected stitching operation is proportional to a priority of a highest priority image feature.

11. The system of claim 7 , wherein selecting a stitching operation for a sub-block comprises selecting a stitching operation based on a highest priority image feature within the sub-block.

12. The system of claim 7 , wherein stitching the set of images together comprises, for each sub-block, stitching a portion of each of the set of images together using the stitching operation selected for the sub-block.

13. A non-transitory computer-readable storage medium storing executable computer instructions for stitching images, the instructions configured to, when executed by a processor, perform steps comprising:

accessing a set of images associated with an overlap region for display to a user, the overlap region comprising a corresponding portion of each of the set of images;

identifying one or more image features within the overlap region;

assigning a priority to each image feature;

dividing the overlap region into sub-blocks;

selecting, for each sub-block, one or more stitching operations based on the priorities assigned to the image features within the sub-block;

digitally stitching, by a hardware image processor, the set of images together to produce a stitched image using the selected stitching operations; and

storing the stitched image.

14. The computer-readable storage medium of claim 13 , wherein the set of images comprises images captured by a multi-camera array, each image in the set of images captured by a different camera in the multi-camera array.

15. The computer-readable storage medium of claim 13 , wherein assigning a priority to an image feature comprises assigning a priority based on a type of the image feature.

16. The computer-readable storage medium of claim 13 , wherein a quality of a selected stitching operation is proportional to a priority of a highest priority image feature.

17. The computer-readable storage medium of claim 13 , wherein selecting a stitching operation for a sub-block comprises selecting a stitching operation based on a highest priority image feature within the sub-block.

18. The computer-readable storage medium of claim 13 , wherein stitching the set of images together comprises, for each sub-block, stitching a portion of each of the set of images together using the stitching operation selected for the sub-block.

Assignments (6)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY AGREEMENT Recorded Aug 29, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039851/0611 →
SECURITY AGREEMENT Recorded Mar 28, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038184/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2015
From: ADSUMILLI, BALINEEDU CHOWDARY; CAMPBELL, SCOTT PATRICK; MACMILLAN, TIMOTHY
To: GOPRO, INC.
Reel/Frame 036073/0714 →