IP Library Granted Patent US 10,186,012
Granted Patent B2
US 10,186,012 · App. 15/157,207 · Granted Jan 22, 2019

Virtual lens simulation for video and photo cropping

Inventors: David A. Newman (San Diego, CA); Joshua Edward Bodinet (San Diego, CA); Otto Kenneth Sievert (Oceanside, CA); Timothy Macmillan (La Honda, CA)
Assignee: GoPro, Inc.
G06T3/0018G06T3/00G06T3/40G06T5/006G06T2207/10004G06T2207/10016G06T2207/20021G06T2210/22
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 10,186,012
App. No.
15/157,207
Granted
Jan 22, 2019
Kind
B2
Abstract

In a video capture system, a virtual lens is simulated when applying a crop or zoom effect to an input video. An input video frame is received from the input video that has a first field of view and an input lens distortion caused by a lens used to capture the input video frame. A selection of a sub-frame representing a portion of the input video frame is obtained that has a second field of view smaller than the first field of view. The sub-frame is processed to remap the input lens distortion to a desired lens distortion in the sub-frame. The processed sub-frame is the outputted.

Claims (56)

1. A method for simulating a virtual lens when applying a crop or zoom effect to an input image, the method comprising:

receiving, by a processor, the input image, the input image having a first field of view of a scene, the input image depicting the scene with an input lens distortion centered in the first field of view, the input lens distortion caused by lens characteristics of a lens used to capture the input image, the lens centered at the first field of view during capture of the input image;

identifying, by the processor, the input lens distortion within the input image;

obtaining, by the processor, a selection of a sub-frame representing a portion of the input image, the sub-frame having a second field of view of the scene smaller than the first field of view;

determining, by the processor, an input lens distortion effect present in the sub-frame based on the input lens distortion centered in the first field of view, a location of the sub-frame within the first field of view, and a size of the second field of view; and

generating, by the processor, an output image based on the input lens distortion and the input lens distortion effect present in the sub-frame, the output image including the sub-frame remapped from the input lens distortion centered in the first field of view to the input lens distortion centered in the second field of view such that a portion of the scene depicted in the sub-frame appears to have been captured using the lens centered at the second field of view.

2. The method of claim 1 , wherein the input lens distortion caused by the lens characteristics causes straight lines in the scene to appear as curved lines in at least a portion of the input image.

3. The method of claim 1 , wherein the input lens distortion comprises a distortion produced by a conventional lens, a wide angle lens, a fisheye lens, a hemispherical lens, a zoom lens, or a flat lens.

4. The method of claim 1 , wherein obtaining the selection of the sub-frame representing the portion of the input image comprises:

automatically identifying the sub-frame based on metadata associated with the input image or image characteristics of the input image;

automatically obtaining a sub-frame center location, a sub-frame size, and a scaling factor for transforming the input image; and

applying the crop or zoom effect applied to the input image based on the sub-frame center location, the sub-frame size, and the scaling factor to generate the sub-frame.

5. The method of claim 1 , wherein obtaining the selection of the sub-frame representing the portion of the input image further comprises:

receiving a manual selection of the sub-frame from post-processing tools.

6. The method of claim 1 , wherein generating the output image comprises:

obtaining metadata associated with the input image, the metadata specifying the lens characteristics of the lens used to capture the input image; and

processing the sub-frame using the lens characteristics specified in the metadata.

7. The method of claim 1 , wherein generating the output image comprises:

applying an inverse input lens distortion function to the sub-frame to remove the input lens distortion effect present in the sub-frame to generate a rectilinear image, wherein straight lines in the scene within the sub-frame appear as straight lines in the rectilinear image; and

applying an input lens distortion function to apply the input lens distortion to the rectilinear image.

8. The method of claim 1 , wherein the sub-frame is remapped from the input lens distortion centered in the first field of view to the input lens distortion centered in the second field of view by applying a direct function to remap the sub-frame without an intermediate step of removing the input lens distortion effect present in the sub-frame.

9. A non-transitory computer-readable storage medium storing instructions for simulating a virtual lens when applying a crop or zoom effect to an input image, the instructions when executed by one or more processors causing the one or more processors to perform steps including:

receiving the input image, the input image having a first field of view of a scene, the input image depicting the scene with an input lens distortion centered in the first field of view, the input lens distortion caused by lens characteristics of a lens used to capture the input image, the lens centered at the first field of view during capture of the input image;

identifying the input lens distortion within the input image;

obtaining a selection of a sub-frame representing a portion of the input image, the sub-frame having a second field of view of the scene smaller than the first field of view;

determining an input lens distortion effect present in the sub-frame based on the input lens distortion centered in the first field of view, a location of the sub-frame within the first field of view, and a size of the second field of view; and

generating an output image based on the input lens distortion and the input lens distortion effect present in the sub-frame, the output image including the sub-frame remapped from the input lens distortion centered in the first field of view to the input lens distortion centered in the second field of view such that a portion of the scene depicted in the sub-frame appears to have been captured using the lens centered at the second field of view.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the input lens distortion caused by the lens characteristics causes straight lines in the scene to appear as curved lines in at least a portion of the input image.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the input lens distortion comprises a distortion produced by a conventional lens, a wide angle lens, a fisheye lens, a hemispherical lens, a zoom lens, or a flat lens.

12. The non-transitory computer-readable storage medium of claim 9 , wherein obtaining the selection of the sub-frame representing the portion of the input image comprises:

automatically identifying the sub-frame based on metadata associated with the input image or image characteristics of the input image;

automatically obtaining a sub-frame center location, a sub-frame size, and a scaling factor for transforming the input image; and

applying the crop or zoom effect applied to the input image based on the sub-frame center location, the sub-frame size, and the scaling factor to generate the sub-frame.

13. The non-transitory computer-readable storage medium of claim 9 , wherein obtaining the selection of the sub-frame representing the portion of the input image further comprises:

receiving a manual selection of the sub-frame from post-processing tools.

14. The non-transitory computer-readable storage medium of claim 9 , wherein generating the output image comprises:

obtaining metadata associated with the input image, the metadata specifying the lens characteristics of the lens used to capture the input image; and

processing the sub-frame using the lens characteristics specified in the metadata.

15. The non-transitory computer-readable storage medium of claim 9 , wherein generating the output image comprises:

applying an inverse input lens distortion function to the sub-frame to remove the input lens distortion effect present in the sub-frame to generate a rectilinear image, wherein straight lines in the scene within the sub-frame appear as straight lines in the rectilinear image; and

applying an input lens distortion function to apply the input lens distortion to the rectilinear image.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the sub-frame is remapped from the input lens distortion centered in the first field of view to the input lens distortion centered in the second field of view by applying a direct function to remap the sub-frame without an intermediate step of removing the input lens distortion effect present in the sub-frame.

17. A system for simulating a virtual lens when applying a crop or zoom effect to an input image, the system comprising:

one or more processors; and

a non-transitory computer-readable storage medium storing instructions for simulating the virtual lens when applying a crop or zoom effect to the input image, the instructions when executed by one or more processors causing the one or more processors to perform steps including:

receiving the input image, the input image having a first field of view of a scene, the input image depicting the scene with an input lens distortion centered in the first field of view, the input lens distortion caused by lens characteristics of a lens used to capture the input image, the lens centered at the first field of view during capture of the input image;

identifying the input lens distortion within the input image;

obtaining a selection of a sub-frame representing a portion of the input image, the sub-frame having a second field of view of the scene smaller than the first field of view;

determining an input lens distortion effect present in the sub-frame based on the input lens distortion centered in the first field of view, a location of the sub-frame within the first field of view, and a size of the second field of view; and

generating an output image based on the input lens distortion and the input lens distortion effect present in the sub-frame, the output image including the sub-frame remapped from the input lens distortion centered in the first field of view to the input lens distortion centered in the second field of view such that a portion of the scene depicted in the sub-frame appears to have been captured using the lens centered at the second field of view.

18. The system of claim 17 , wherein the input lens distortion caused by the lens characteristics causes straight lines in the scene to appear as curved lines in at least a portion of the input image.

19. The system of claim 17 , wherein the input lens distortion comprises a distortion produced by a conventional lens, a wide angle lens, a fisheye lens, a hemispherical lens, a zoom lens, or a flat lens.

20. The system of claim 17 , wherein obtaining the selection of the sub-frame representing the portion of the input image comprises:

automatically identifying the sub-frame based on metadata associated with the input image or image characteristics of the input image;

automatically obtaining a sub-frame center location, a sub-frame size, and a scaling factor for transforming the input image; and

applying the crop or zoom effect applied to the input image based on the sub-frame center location, the sub-frame size, and the scaling factor to generate the sub-frame.

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 INTEREST Recorded Mar 5, 2019
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 048508/0728 →
SECURITY AGREEMENT Recorded Aug 29, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039851/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: NEWMAN, DAVID A.; BODINET, JOSHUA EDWARD; SIEVERT, OTTO KENNETH; MACMILLAN, TIMOTHY
To: GOPRO, INC.
Reel/Frame 038626/0159 →
Continuity (2)
Provisional Application 62164409 · May 20, 2015
Related Publication 20160343107A1 · Nov 24, 2016
Cited By (2)
US 12,243,184 US 12,262,115