IP Library Granted Patent US 9,659,596
Granted Patent B2
US 9,659,596 · App. 14/843,782 · Granted May 23, 2017

Systems and methods for motion-vector-aided video interpolation using real-time smooth video playback speed variation

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,659,596
App. No.
14/843,782
Granted
May 23, 2017
Kind
B2
Abstract

Systems and methods for encoding and playing back video at adjustable playback speeds by interpolating frames to achieve smooth playback in accordance with embodiments of the invention are described. One embodiment includes a source encoder that includes a processor, memory including an encoder application, where the encoder application directs the processor to: select a subset of frames from a first video sequence; generate motion vectors describing frames from the first video sequence that are not part of the selected subset of frames, where each motion vector describes movement between a frame in the subset of frames and a frame not included in the subset of frames; store the motion vectors; decimate frames not included in the subset of frames from the first video sequence to generate a second video sequence having a nominal frame rate less than the frame rate of the first video sequence; and encode the second video sequence at the nominal frame rate.

Claims (34)

1. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a hardware processor, cause the hardware processor to perform a method for encoding video, the method comprising:

obtain a first video content comprising a plurality of frames providing a first frame rate;

generate a set of motion vectors describing movement between frames in the plurality of frames;

decimate a subset of frames from the plurality of frames of the first video content to generate a second video content having a file size less than a file size of the first video content; and

encode the second video content and associate the set of motion vectors with the second video content.

2. The non-transitory computer-readable medium of claim 1 , wherein the method further comprises storing the set of motion vectors as encoded pixels within frames in the second video content.

3. The non-transitory computer-readable medium of claim 2 , wherein a motion vector comprises an angle component and a magnitude component, wherein the angle component is stored within a hue value of a pixel and the magnitude component is stored within a brightness value of a pixel.

4. The non-transitory computer-readable medium of claim 2 , wherein a motion vector is encoded as one or more pixels within a portion of a frame that is not displayed during playback of the frame.

5. The non-transitory computer-readable medium of claim 1 , wherein the method further comprises encoding the second video content as a sequence of intra and inter frames.

6. The non-transitory computer-readable medium of claim 1 , wherein a motion vector describes movement of at least one pixel between a frame in the second video content and a frame in the subset of decimated frames.

7. The non-transitory computer-readable medium of claim 1 , wherein a motion vector describes movement of at least one pixel between a particular frame in the first video content and a subsequent nth frame to the particular frame.

8. The non-transitory computer-readable medium of claim 1 , wherein the set of motion vectors are stored in a separate file, and each motion vector corresponds to a particular frame in the second video content.

9. The non-transitory computer-readable medium of claim 1 , wherein the method further comprises:

computing a motion vector for each pixel in a particular frame in the first video content and a subsequent frame; and

compressing motion vectors of a subset of neighboring pixels in the particular frame to generate a new motion vector.

10. The non-transitory computer-readable medium of claim 1 , wherein a motion vector describes movement of one or more pixels across a plurality of frames of the first video content.

11. The non-transitory computer-readable medium of claim 1 , wherein a motion vector provides interpolated positions of pixels at times between a particular frame and a subsequent nth frame in the first video content.

12. The non-transitory computer-readable medium of claim 1 , wherein a motion vector provides interpolated positions of pixels at times between a particular frame and a preceding nth frame in the first video content.

13. The non-transitory computer-readable medium of claim 1 , wherein the second video content comprises the plurality of frames of the first video content without the decimated subset of frames.

14. A source encoder, comprising:

a processor;

memory including an encoder application;

where the encoder application directs the processor to:

obtain a first video content comprising a plurality of frames providing a first frame rate;

generate a set of motion vectors describing movement between frames in the plurality of frames;

decimate a subset of frames from the plurality of frames of the first video content to generate a second video content having a file size less than a file size of the first video content; and

encode the second video content and associate the set of motion vectors with the second video content.

15. The source encoder of claim 14 , wherein the encoder application directs the processor to store the set of motion vectors as encoded pixels within frames in the second video content.

16. The source encoder of claim 14 , wherein a motion vector describes movement of at least one pixel between a frame in the second video content and a frame in the subset of decimated frames.

17. The source encoder of claim 14 , wherein a motion vector describes movement of at least one pixel between a particular frame in the first video content and at least one frame selected from the group consisting of (1) a subsequent nth frame to the particular frame and (2) a preceding nth frame to the particular frame.

18. The source encoder of claim 14 , wherein a motion vector describes movement of one or more pixels across a plurality of frames of the first video content.

19. The source encoder of claim 14 , wherein the encoder application directs the processor to:

compute a motion vector for each pixel in a particular frame in the first video content and a subsequent frame; and

compress motion vectors of a subset of neighboring pixels in the particular frame to generate a new motion vector.

Assignments (17)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2024
From: BOWFLEX INC.
To: JOHNSON HEALTH TECH RETAIL, INC.
Reel/Frame 067807/0675 →
RELEASE OF SECURITY INTEREST Recorded Apr 25, 2024
From: CRYSTAL FINANCIAL LLC (D/B/A SLR CREDIT SOLUTIONS)
To: BOWFLEX INC.
Reel/Frame 067239/0121 →
RELEASE OF SECURITY INTEREST Recorded Apr 25, 2024
From: CRYSTAL FINANCIAL LLC (D/B/A SLR CREDIT SOLUTIONS)
To: BOWFLEX INC.
Reel/Frame 067239/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: BOWFLEX INC. (F/K/A NAUTILUS, INC.)
Reel/Frame 066760/0631 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: BOWFLEX INC. (F/K/A NAUTILUS, INC.)
Reel/Frame 066725/0904 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: BOWFLEX INC. (F/K/A NAUTILUS, INC.)
Reel/Frame 066726/0001 →
PATENT SECURITY AGREEMENT Recorded Jan 26, 2024
From: BOWFLEX INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 066374/0281 →
SECURITY INTEREST Recorded Jan 25, 2024
From: BOWFLEX INC.
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 066369/0555 →
CHANGE OF NAME Recorded Dec 11, 2023
From: NAUTILUS, INC.
To: BOWFLEX INC.
Reel/Frame 065865/0886 →
SECURITY INTEREST Recorded Dec 1, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: NAUTILUS, INC.
Reel/Frame 062038/0027 →
SECURITY INTEREST Recorded Nov 30, 2022
From: NAUTILUS, INC.
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 062029/0373 →
SECURITY INTEREST Recorded Jan 31, 2020
From: NAUTILUS, INC.; OCTANE FITNESS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 051763/0734 →
RELEASE OF SECURITY INTEREST Recorded Jan 31, 2020
From: JPMORGAN CHASE BANK, N.A.
To: NAUTILUS, INC.; OF HOLDINGS, INC.; OCTANE FITNESS, LLC
Reel/Frame 051765/0492 →
SECURITY INTEREST Recorded Apr 1, 2019
From: NAUTILUS, INC.; OF HOLDINGS, INC.; OCTANE FITNESS, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 048751/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: PAOFIT HOLDINGS PTE. LTD.; PAOFIT TECHNOLOGY PTE. LTD.; PAOFIT GROUP LIMITED
To: NAUTILUS, INC.
Reel/Frame 047983/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2015
From: ESPESET, TONNY; FRANK, ANDREI RICHARD; HARDY, MARC SCOTT
To: PAOFIT TECHNOLOGY PTE LTD.
Reel/Frame 037344/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2015
From: PAOFIT TECHNOLOGY PTE. LTD.
To: PAOFIT HOLDINGS PTE. LTD.
Reel/Frame 037344/0630 →