IP Library Granted Patent US 10,057,538
Granted Patent B2
US 10,057,538 · App. 15/407,089 · Granted Aug 21, 2018

Apparatus and methods for the selection of one or more frame interpolation techniques

Inventors: Aaron Staranowicz (Carlsbad, CA); Ryan Lustig (Encinitas, CA)
Assignee: GOPRO, INC.
H04N7/014H04N11/20
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,057,538
App. No.
15/407,089
Granted
Aug 21, 2018
Kind
B2
Abstract

Methods and apparatus for the generation of interpolated frames of video data. In one embodiment, the interpolated frames of video data are generated by obtaining two or more frames of video data; performing Lagrangian interpolation on one or more portions of the obtained two or more frames of video data to generate a Lagrangian interpolated image; performing Eulerian interpolation on one or more portions of the obtained two or more frames to generate a Eulerian interpolated image; and when the Lagrangian interpolated image and the Eulerian interpolated image should be combined, computing an average interpolated image using the Lagrangian interpolated image and the Eulerian interpolated image; otherwise, selecting either the Lagrangian interpolated image or the Eulerian interpolated image; and generating an interpolated frame of video data using one or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

Claims (57)

1. A computerized apparatus for generation of interpolated frames of video data, the computerized apparatus comprising:

a processing apparatus; and

a storage apparatus in data communication with the processing apparatus, the storage apparatus having a non-transitory computer readable medium comprising instructions which are configured to, when executed by the processing apparatus, cause the computerized apparatus to:

obtain two or more frames of video data;

perform Lagrangian interpolation on one or more portions of the obtained two or more frames of video data to generate a Lagrangian interpolated image;

perform Eulerian interpolation on the one or more portions of the obtained two or more frames to generate a Eulerian interpolated image; and

when the Lagrangian interpolated image and the Eulerian interpolated image should be combined, compute an average interpolated image using the Lagrangian interpolated image and the Eulerian interpolated image;

otherwise, select either the Lagrangian interpolated image or the Eulerian interpolated image; and

generate an interpolated frame of video data using one or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

2. The computerized apparatus of claim 1 , wherein the non-transitory computer readable medium further comprises instructions which are configured to, when executed by the processing apparatus, cause the computerized apparatus to:

generate the interpolated frame of video data using two or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

3. The computerized apparatus of claim 2 , wherein the non-transitory computer readable medium further comprises instructions which are configured to, when executed by the processing apparatus, cause the computerized apparatus to:

generate the interpolated frame of video data using the average interpolated image, the Lagrangian interpolated image, and the Eulerian interpolated image.

4. The computerized apparatus of claim 1 , wherein the one or more portions of the obtained two or more frames are selected on a per-pixel basis.

5. The computerized apparatus of claim 1 , wherein the one or more portions of the obtained two or more frames are selected on a per-region basis, at least one of the one or more portions of the obtained two or more frames comprising a super pixel region.

6. The computerized apparatus of claim 1 , wherein at least one of the obtained two or more frames of video data comprises a previously generated interpolated frame of video data.

7. The computerized apparatus of claim 1 , wherein the non-transitory computer readable medium further comprises instructions which are configured to, when executed by the processing apparatus, cause the computerized apparatus to:

compute a criteria between a first frame of the two or more frames of video data and a second frame of the two or more frames of video data;

when the criteria is met, determine that the Lagrangian interpolated image and the Eulerian interpolated image should be combined; and

when the criteria is not met, determine that either the Lagrangian interpolated image or the Eulerian interpolated image should be chosen.

8. The computerized apparatus of claim 7 , wherein the criteria comprises a distance measure between the first frame of the two or more frames of video data and the second frame of the two or more frames of video data.

9. The computerized apparatus of claim 7 , wherein the criteria comprises a color similarity measure between the first frame of the two or more frames of video data and the second frame of the two or more frames of video data.

10. The computerized apparatus of claim 7 , wherein the criteria comprises an entropy measure between the first frame of the two or more frames of video data and the second frame of the two or more frames of video data.

11. A method for generation of interpolated frames of video data, the method comprising:

obtaining two or more frames of video data;

performing Lagrangian interpolation on one or more portions of the obtained two or more frames of video data to generate a Lagrangian interpolated image;

performing Eulerian interpolation on the one or more portions of the obtained two or more frames to generate a Eulerian interpolated image; and

when the Lagrangian interpolated image and the Eulerian interpolated image should be combined, computing an average interpolated image using the Lagrangian interpolated image and the Eulerian interpolated image;

otherwise, selecting either the Lagrangian interpolated image or the Eulerian interpolated image; and

generating an interpolated frame of video data using one or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

12. The method of claim 11 , further comprising:

computing a criterion between a first frame of the two or more frames of video data and a second frame of the two or more frames of video data;

minimizing a cost function associated with the computed criterion;

weighting a first one of the one or more interpolation methodologies more than a second one of the one or more interpolation methodologies; and

combining the at least two differing interpolation methodologies.

13. The method of claim 11 , wherein the obtaining of the two or more frames comprises selecting the two or more frames on (i) a per-pixel basis or (ii) a per-region basis.

14. The method of claim 11 , wherein the obtaining of the two or more frames comprises obtaining a previously generated interpolated frame of video data.

15. The method of claim 11 , further comprising:

computing a criteria between a first frame of the two or more frames of video data and a second frame of the two or more frames of video data;

when the criteria is met, determining that the Lagrangian interpolated image and the Eulerian interpolated image should be combined; and

when the criteria is not met, determining that either the Lagrangian interpolated image or the Eulerian interpolated image should be chosen.

16. A non-transitory computer-readable apparatus comprising a storage medium, the storage medium having a computer program thereon, the computer program comprising a plurality of instructions configured to, when executed by a processor apparatus, cause the processor apparatus to:

obtain two or more frames of video data;

perform Lagrangian interpolation on one or more portions of the obtained two or more frames of video data to generate a Lagrangian interpolated image;

perform Eulerian interpolation on the one or more portions of the obtained two or more frames to generate a Eulerian interpolated image; and

responsive to a determination that the Lagrangian interpolated image and the Eulerian interpolated image should be combined, compute an average interpolated image using the Lagrangian interpolated image and the Eulerian interpolated image;

responsive to a determination that the Lagrangian interpolated image and the Eulerian interpolated image should not be combined, select either the Lagrangian interpolated image or the Eulerian interpolated image; and

generate an interpolated frame of video data using one or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

17. The non-transitory computer-readable apparatus of claim 16 , wherein the determination that the Lagrangian interpolated image and the Eulerian interpolated image should be combined is based on one or more of (i) a distance measure between an initial pixel of a first one of the two or more frames of video data and a corresponding pixel of one or more subsequent ones of the two or more frames of video data, (ii) a color similarity measure between the initial pixel and the corresponding pixel, and (iii) an entropy measure between the initial pixel and the corresponding pixel.

18. The non-transitory computer-readable apparatus of claim 16 , wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the processor apparatus to:

determine whether to generate an additional interpolated frame of video data based on the generated interpolated frame of video data;

when it is determined to generate the additional interpolated frame of video data, select additional one or more interpolation methodologies; and

generate the additional interpolated frame of video data by performing the selected additional one or more interpolation methodologies.

19. The non-transitory computer-readable apparatus of claim 16 , wherein the generation of the interpolated frame of video data comprises using two or more of the average interpolated image, the Lagrangian interpolated image, or the Eulerian interpolated image.

20. The non-transitory computer-readable apparatus of claim 16 , wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the processor apparatus to:

obtain the generated interpolated frame of video data and at least one other frame of video data; and

generate a second interpolated frame of video data using the generated interpolated frame of video data and the at least one other frame of video data.

Assignments (7)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE TO REMOVE APPLICATION 15387383 AND REPLACE WITH 15385383 PREVIOUSLY RECORDED ON REEL 042665 FRAME 0065. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 23, 2019
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050808/0824 →
SECURITY INTEREST Recorded Dec 3, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047713/0309 →
SECURITY INTEREST Recorded Jun 1, 2017
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042665/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2017
From: STARANOWICZ, AARON; LUSTIG, RYAN
To: GOPRO, INC.
Reel/Frame 040977/0435 →
Continuity (1)
Related Publication 20180205909A1 · Jul 19, 2018