IP Library Patent Application 15251980
Patent Application
App. No. 15/251,980

APPARATUS AND METHODS FOR FRAME INTERPOLATION

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 None
App. No.
15/251,980
Abstract

Apparatus and methods for generating interpolated frames in digital image or video data. In one embodiment, the interpolation is based on a hierarchical tree sequence. At each level of the tree, an interpolated frame may be generated using original or interpolated frames of the video, such as those closest in time to the desired time of the frame to be generated. The sequence proceeds through lower tree levels until a desired number of interpolated frames, a desired video length, a desired level, or a desired visual quality for the video is reached. In some implementations, the sequence may use different interpolation algorithms (e.g., of varying computational complexity or types) at different levels of the tree. The interpolation algorithms can include for example those based on frame repetition, frame averaging, motion compensated frame interpolation, and motion blending.

Claims (43)

1 . A method of digital frame interpolation, the method comprising:

obtaining a first source frame and a second source frame;

generating a first interpolated frame using at least the first source frame and the second source frame; and

generating a second interpolated frame using at least the first source frame and the first interpolated frame.

2 . The method of claim 1 , wherein the first source frame and the second source frame comprise consecutive frames of digital video data.

3 . The method of claim 1 , further comprising generating a third interpolated frame using at least the first interpolated frame and the second source frame.

4 . The method of claim 1 , further comprising:

generating a third interpolated frame using at least the first source frame and the second interpolated frame; and

generating a fourth interpolated frame using at least the first interpolated frame and the second interpolated frame.

5 . The method of claim 1 , wherein each of the first source frame, the second source frame, the first interpolated frame, and the second interpolated frame are associated with a respective time, and the method further comprises:

selecting at least two frames from among the first source frame, the second source frame, the first interpolated frame, and the second interpolated frame, the selected two at least frames associated with respective times that are closest to a desired time for a third interpolated frame; and

generating the third interpolated frame using the selected at least two frames.

6 . The method of claim 1 , further comprising generating an interpolated frame in response to a determination that a visual difference between consecutive frames is perceivable to a viewer upon rendering on a display device.

7 . The method of claim 6 , wherein the determination that the visual difference between consecutive frames is perceivable to the viewer comprises:

identifying a set of pixels having a largest optical flow between the consecutive frames;

determining a time difference between the consecutive frames; and

determining that a combination of the largest optical flow and the time difference is greater than a prescribed threshold.

8 . The method of claim 1 , wherein the first interpolated frame is generated using at least a first interpolation algorithm, and the second interpolated frame is generated using at least a second interpolation algorithm different than the first interpolation algorithm.

9 . A computer-implemented method of digital video data frame interpolation, the method comprising:

generating a first interpolated frame by at least performing a first level of interpolation of a first source frame and a second source frame; and

generating a second interpolated frame by at least performing another level of interpolation using: (i) an interpolated frame from a level immediately preceding the another level within a hierarchical tree, and (ii) a frame at least two levels preceding the another level within the tree.

10 . The method of claim 9 , wherein the first source frame and the second source frame comprise consecutive frames of a digital video stream.

11 . The method of claim 9 , wherein the interpolated frame from the level immediately preceding the another level comprises the first interpolated frame, and the frame at least two levels preceding the another level comprises at least one of the first source frame or the second source frame.

12 . The method of claim 9 , wherein the frame at least two levels preceding the another level comprises the first interpolated frame.

13 . The method of claim 9 , wherein the generating the second interpolated frame comprises:

selecting at least two frames associated with respective times that are temporally proximate to a desired time for the second interpolated frame, the selected at least two frames comprising the interpolated frame from the level immediately preceding the another level and the frame at least two levels preceding the another level; and

generating the second interpolated frame using at least the selected two frames.

14 . The method of claim 9 , wherein the second interpolated frame is generated in response to determining that a visual difference between consecutive frames is noticeable to a viewer.

15 . The method of claim 14 , wherein the determining that the visual difference between consecutive frames is noticeable to the viewer comprises:

identifying a set of pixels having a largest optical flow between the consecutive frames;

determining a time difference between the consecutive frames; and

determining that a combination of the largest optical flow and the time difference is greater than a threshold.

16 . The method of claim 9 , wherein each level of interpolation is performed using a different interpolation algorithm.

17 . A computerized method of digital frame interpolation, the method comprising:

obtaining a first frame associated with a first time;

obtaining a second frame associated with a second time; and

generating an interpolated frame associated with a third time between the first time and the second time, the interpolated frame being generated using at least two frames associated with respective times within a prescribed temporal proximity to the third time, the at least two frames comprising either: (i) the first frame or the second frame and a previously generated interpolated frame, or (ii) two previously generated interpolated frames.

18 . The method of claim 17 , wherein the interpolated frame is generated in response to determining that a difference between the at least two frames would be visually noticeable to a viewer.

19 . The method of claim 18 , wherein the determining that the difference between the two frames would be noticeable to the viewer comprises:

identifying a set of pixels having a largest optical flow between the two frames;

determining a time difference between the two frames; and

determining that a combination of the largest optical flow and the time difference is greater than a threshold.

20 . The method of claim 17 , wherein the interpolated frame is generated using a first interpolation algorithm, and the previously generated interpolated frame is generated using a second, different interpolation algorithm.

Assignments (3)
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 Dec 16, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 040996/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2016
From: ADSUMILLI, BALINEEDU CHOWDARY; LUSTIG, RYAN; STARANOWICZ, AARON
To: GOPRO, INC.
Reel/Frame 039738/0386 →