IP Library Granted Patent US 10,129,574
Granted Patent B2
US 10,129,574 · App. 15/163,333 · Granted Nov 13, 2018

Systems and methods for providing variable speeds in a trick-play mode

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,129,574
App. No.
15/163,333
Granted
Nov 13, 2018
Kind
B2
Abstract

Systems and methods for providing variable trick-play mode playback of media content in accordance with embodiments of the invention are disclosed. A playback device stores images of the media content associated with presentation times and marker information for the media content that indicates the presentation time of moments of interest. When a trick-play mode is invoked, the playback device determines a presentation time of a next marker in the playback. The playback device determines whether the current presentation time of the playback is within a specified range of the presentation time of the next marker and adjusts the speed of the trick-play playback based on the determination. The next frame to present is determined based on the adjusted speed of the trick-play playback and displayed.

Claims (85)

1. A method for providing variable speed trick-play playback of media content, the method comprising:

receiving a plurality of frames of a video content portion of media content and marker information in a playback device from a content provider system over a network using adaptive bitrate streaming;

storing the plurality of frames of a video content portion of media content in a buffer in the playback device;

storing the marker information in a memory in the playback device wherein the marker information indicates a presentation time for each of one or more moments of interest in the media content;

receiving a command for playback of the media content in a trick-play mode in the playback device;

reading a presentation time of a next marker from the marker information using the playback device;

determining a playback speed for the trick-play mode based upon the marker information and a current presentation time using the playback device;

determining a next frame to present from the plurality of frames upon the determined playback speed and the current one of the plurality of frames being presented time using the playback device;

obtaining the next frame from the buffer in the playback device; and

presenting the next frame using the playback device;

wherein the receiving of the media content and the marker information in the playback device from a content provider system over a network using adaptive bitrate streaming comprises:

receiving a top level index file from the content provider system in the playback device over a network wherein the top level index files identifies a plurality of alternative streams of the media content wherein at least a portion of the plurality of alternative streams are encoded at different maximum bitrates; and

requesting portions of the media of alternative stream from the content provider system using the playback device based upon network bandwidth between the playback device and the content provider system;

receiving the requested portions of the media content in the playback device in response to the requests;

generating the plurality of images of the video content in the playback device from the portions of media content received by the playback device;

storing the plurality of images in the buffer of the playback device;

obtaining the marker information from the content provider system using the playback device based upon information in the top level index file; and

storing the marker information in the memory of the playback device.

2. The method of claim 1 wherein the determining of the playback speed comprises determining whether the current presentation time is within a certain range of the presentation time of the next marker.

3. The method of claim 2 wherein the playback speed of the trick-play is decremented in response to being within the certain range.

4. The method of claim 2 wherein the playback speed of the trick-play is incremented in response to being outside the certain range.

5. The method of claim 1 wherein the determining of the playback speed comprises:

determining whether the current presentation time is within one of a plurality of ranges from the presentation time of the next marker; and

adjusting the playback speed for the trick-play based upon which one of the plurality of ranges current presentation time is determined to be within.

6. The method of claim 1 wherein the determining of the playback speed comprises setting the next presentation time to be the presentation time of the marker and use one of the plurality of frame associated with the presentation time as the next frame.

7. The method of claim 1 further comprising:

generating a display of a scrubber indicating the next presentation time using the playback device; and

overlaying the display of the scrubber over the presentation of the image on the display.

8. The method of claim 1 , wherein the obtaining of the marker information comprises:

reading a pointer to a file including the marker information from the top level index file using the playback device;

requesting the file from content provider system using the playback device; and

receiving the file in the playback device in response to the requesting.

9. A playback device comprising:

a memory;

a network interface; and

a processor that reads instructions stored in the memory that direct the processor to:

receive a plurality of frames of a video content portion of media content and marker information from a content provider system over a network using adaptive bitrate streaming;

store the plurality of frames of a video content portion of media content in a buffer in the playback device,

store the marker information in the memory in the playback device wherein the marker information indicates a presentation time for each of one or more moments of interest in the media content,

receive a command for playback of the media content in a trick-play mode,

read a presentation time of a next marker from the marker information,

determine a playback speed for the trick-play mode based upon the marker information and a current presentation time,

determine a next frame to present from the plurality of frame of video content based upon the determined playback speed,

obtain the next frame from the buffer in the playback device, and

present the next frame using the playback device;

wherein the instructions to receive the media content and the marker information from a content provider system over a network using adaptive bitrate streaming further direct the processor to:

receive a top level index file from the content provider system over a network wherein the top level index file identifies a plurality of alternative streams of the media content wherein at least a portion of the plurality of alternative streams are encoded at different maximum bitrates; and

request portions of the media of alternative stream from the content provider system based upon network bandwidth between the playback device and the content provider system;

receive the requested portions of the media content in response to the requests;

generate the plurality of images of the media content from the portions of media content received by the playback device;

store the plurality of images in the buffer of the playback device;

obtain the marker information from the content provider system based upon information in the top level index file; and

store the marker information in the memory of the playback device.

10. The playback device of claim 9 wherein the instructions that direct the processor to determine of the playback speed include instructions to determine whether the current presentation time is within a certain range of the presentation time of the next marker.

11. The playback device of claim 10 wherein the playback speed of the trick-play is decremented in response to being within the certain range.

12. The playback of claim 10 wherein the playback speed of the trick-play is incremented in response to being outside the certain range.

13. The playback device of claim 9 wherein the instructions that direct the processor to determine the playback speed include instructions to:

determine whether the current presentation time is within one of a plurality of ranges from the presentation time of the next marker; and

adjust the playback speed for the trick-play based upon which one of the plurality of ranges current presentation time is determined to be within.

14. The playback of claim 9 wherein the instructions that direct the processor to determine the playback speed include instructions to set the next presentation time to be the presentation time of the marker and use one of the plurality of frame associated with the presentation time as the next frame.

15. The playback device of claim 9 wherein the instructions further direct the processor to:

generate a display of a scrubber indicating the next presentation time; and

overlay the display of the scrubber over the presentation of the image on the display.

16. The playback device of claim 9 , wherein the instructions to obtain the marker information direct the processor to:

read a pointer to a file including the marker information from the top level index file;

request the file from content provider system; and

receive the file in the playback device in response to the requesting.

17. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:

receiving a plurality of frames of a video content portion of media content and marker information in a playback device from a content provider system over a network using adaptive bitrate streaming;

storing the plurality of frames of a video content portion of media content in a buffer in the playback device;

storing the marker information in a memory in the playback device wherein the marker information indicates a presentation time for each of one or more moments of interest in the media content;

receiving a command for playback of the media content in a trick-play mode;

reading a presentation time of a next marker from the marker information,

determining a playback speed for the trick-play mode based upon the marker information and a current presentation time;

determining a next frame from the plurality of frames to present based upon the determined playback speed;

obtaining the next frame from the buffer in the playback device; and

presenting the next frame using the playback device;

wherein the receiving of the media content and the marker information in the playback device from a content provider system over a network using adaptive bitrate streaming comprises:

receiving a top level index file from the content provider system in the playback device over a network wherein the top level index files identifies a plurality of alternative streams of the media content wherein at least a portion of the plurality of alternative streams are encoded at different maximum bitrates; and

requesting portions of the media of alternative stream from the content provider system using the playback device based upon network bandwidth between the playback device and the content provider system;

receiving the requested portions of the media content in the playback device in response to the requests;

generating the plurality of images of the video content in the playback device from the portions of media content received by the playback device;

storing the plurality of images in the buffer of the playback device;

obtaining the marker information from the content provider system using the playback device based upon information in the top level index file; and

storing the marker information in the memory of the playback device.

Assignments (4)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2017
From: FRANTZ, WILLIAM; GRAB, ERIC WILLIAM; DOBRIN, CRISTINA
To: SONIC IP, INC.
Reel/Frame 041949/0792 →