IP Library Granted Patent US 12,244,660
Granted Patent B2
US 12,244,660 · App. 15/409,443 · Granted Mar 4, 2025

Systems and methods for adaptive buffering for digital video streaming

Inventor: Amit Bhimsen Suri (San Diego, CA)
Assignee: DIVX, LLC
H04L65/762G11B27/005H04L65/612H04L65/70H04L67/02H04L67/5683H04N21/4384H04N21/44004H04N21/23439H04N21/8456
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 12,244,660
App. No.
15/409,443
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems and methods for adaptive buffering in accordance with embodiments of the invention enable a reduced minimum buffer time. One embodiment includes a playback device comprising a memory; a network interface; and a processor that reads instructions stored in the memory that directs the processor to: download digital video content in a buffer of a playback device; receive a minimum buffer time from the digital video content; play the digital video content at a slow motion speed using the playback device; reduce the minimum buffer time by a slow motion playback speed factor; continue playing the digital video content at the slow motion speed until the reduced minimum buffer time is reached using the playback device; and play the digital video content at a speed faster than the slow motion speed once the minimum buffer time is reached using the playback device.

Claims (52)

1. A playback device comprising:

a memory, containing a playback application;

a network interface; and

a processor, wherein the playback application configures the processor to:

receive a manifest file comprising information on a plurality of alternative streams, each alternative stream having a different bitrate from the other streams;

receive a minimum buffer time parameter for each alternative stream from the manifest file, wherein each alternative stream's minimum buffer time parameter is a predetermined minimum playback time of an alternative stream's digital video content to be stored in a buffer prior to commencing playback of digital video content to prevent disruptions of playback of digital video content at an alternative stream's normal speed of playback;

determine a reduced minimum buffer time parameter based on the received minimum buffer time parameter at a normal speed for at least one alternative stream from the manifest file and a slow motion speed,

wherein the reduced minimum buffer time parameter is determined by multiplying the minimum buffer time parameter at a normal speed for the at least one alternative stream by the slow motion speed;

download the digital video content of a first alternative stream into a buffer of the playback device, where the minimum buffer time parameter of the buffer is the reduced minimum buffer time parameter; and

when the playback time of an amount of digital video content of the first alternative stream within the buffer initially reaches the reduced minimum buffer time parameter, commence playback of the digital video content, wherein the speed of commenced playback is the slow motion speed.

2. The playback device of claim 1 , wherein downloading the digital video content further comprises:

extracting a location of a container file containing encoded media from the manifest; and

requesting portions of the container file containing encoded media.

3. The playback device of claim 1 , wherein the digital video content is a DASH standard file and the manifest is in a media presentation description data format.

4. The playback device of claim 1 , wherein the slow motion playback speed changes the amount of the digital video content consumed for playback.

5. The playback device of claim 1 , wherein downloading the digital video content further comprises:

performing one of two options when the amount of digital video content in the buffer falls below a threshold:

when the first alternative stream is a lowest bitrate stream of the plurality of alternative streams, then further decrease the speed playback; and

when the first alternative stream is not the lowest bitrate stream of the plurality of alternative streams, then down switch to a second alternative stream having a lower bitrate.

6. A method for providing playback of digital video content comprising:

configuring a processor, using a playback application stored in a memory communicatively coupled to the processor, to perform the steps of:

receiving a manifest file using a processor that reads instructions stored in memory, wherein the manifest file comprises information on a plurality of alternative streams, each alternative stream having a different bitrate from the other streams;

receiving a minimum buffer time parameter for each alternative stream from the manifest file using a processor that reads instructions stored in memory, wherein each alternative stream's minimum buffer time parameter is a predetermined minimum playback time of an alternative stream's digital video content to be stored in a buffer prior to commencing playback of digital video content to prevent disruptions of playback of the digital video content at an alternative stream's normal speed of playback;

determining a reduced minimum buffer time parameter based on the received minimum buffer time parameter at a normal speed for at least one alternative stream from the manifest file and a slow motion speed using the processor that reads the instructions stored in memory,

wherein the reduced minimum buffer time parameter is determined by multiplying the minimum buffer time parameter at a normal speed for the at least one alternative stream by the slow motion speed;

downloading the digital video content of a first alternative stream into a buffer of a playback device using the processor that reads the instructions stored in memory, where the minimum buffer time parameter of the buffer is the reduced minimum buffer time parameter; and

when the playback time an amount of digital video content of the first alternative stream within the buffer initially reaches the reduced minimum buffer time parameter, commencing playback of the digital video content using the playback device and the processor that reads the instructions stored in memory, wherein the speed of commenced playback is the slow motion speed.

7. The method for providing playback of digital video content of claim 6 , wherein downloading the digital video content further comprises:

extracting a location of a container file containing encoded media from the manifest using the processor that reads the instructions stored in memory; and

requesting portions of the container file containing encoded media using the processor that reads the instructions stored in memory.

8. The method for providing playback of digital video content of claim 6 , wherein the digital video content is a DASH standard file and the manifest is in a media presentation description data format.

9. The method for providing playback of digital video content of claim 6 , wherein the slow motion playback speed changes the amount of the digital video content consumed for playback.

10. The method for providing playback of digital video content of claim 6 , wherein downloading the digital video content further comprises:

performing one of two options when the amount of digital video content in the buffer falls below a threshold:

when the first alternative stream is a lowest bitrate stream of the plurality of alternative streams, then further decrease the speed playback; and

when the first alternative stream is not the lowest bitrate stream of the plurality of alternative streams, then down switch to a second alternative stream having a lower bitrate.

11. A non-transitory machine readable medium for providing playback of digital video content, the non-transitory machine readable medium containing a playback application comprising processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:

receiving a manifest file using a processor that reads the instructions stored in memory, wherein the manifest file comprises information on a plurality of alternative streams, each alternative stream having a different bitrate from the other streams;

receiving a minimum buffer time parameter for each alternative stream from the manifest file using a processor that reads instructions stored in memory, wherein each alternative stream's minimum buffer time parameter is a predetermined minimum playback time of an alternative stream's digital video content to be stored in a buffer prior to commencing playback of digital video content to prevent disruptions of playback of the digital video content at an alternative stream's normal speed of playback;

determining a reduced minimum buffer time parameter based on the received minimum buffer time parameter at a normal speed for at least one alternative stream from the manifest file and a slow motion speed using the processor that reads the instructions stored in memory,

wherein the reduced minimum buffer time parameter is determined by multiplying the minimum buffer time parameter at a normal speed for the at least one alternative stream by the slow motion speed;

downloading the digital video content of a first alternative stream into a buffer of a playback device using the processor that reads the instructions stored in memory, where the minimum buffer time parameter of the buffer is the reduced minimum buffer time parameter; and

when the playback time of an amount of digital video content of the first alternative stream within the buffer initially reaches the reduced minimum buffer time parameter, commencing playback of the digital video content using the playback device and the processor that reads the instructions stored in memory, wherein the speed of commenced playback is the slow motion speed.

12. The non-transitory machine readable medium of claim 11 , wherein downloading the digital video content further comprises:

extracting a location of a container file containing encoded media from the manifest using the processor that reads the instructions stored in memory; and

requesting portions of the container file containing encoded media using the processor that reads the instructions stored in memory.

13. The non-transitory machine readable medium of claim 11 , wherein the digital video content is a DASH standard file and the manifest is in a media presentation description data format.

14. The non-transitory machine readable medium of claim 11 , wherein the slow motion playback speed changes the amount of the digital video content consumed for playback.

15. The non-transitory machine readable medium of claim 11 , wherein downloading the digital video content further comprises:

performing one of two options when the amount of digital video content in the buffer falls below a threshold:

when the first alternative stream is a lowest bitrate stream of the plurality of alternative streams, then further decrease the speed playback; and

when the first alternative stream is not the lowest bitrate stream of the plurality of alternative streams, then down switch to a second alternative stream having a lower bitrate.

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 Sep 5, 2017
From: SURI, AMIT BHIMSEN
To: SONIC IP, INC.
Reel/Frame 043492/0312 →