IP Library Granted Patent US 9,894,366
Granted Patent B2
US 9,894,366 · App. 15/417,276 · Granted Feb 13, 2018

Variant and buffer handling for adaptive bitrate streaming

Inventor: Mattias Blomqvist (Linkoping, SE)
Assignee: ARRIS Enterprises LLC
H04N19/15H04N19/423H04N21/23406H04N21/2401H04N21/4325H04N21/4333H04N21/44004H04N21/44008H04N21/8456H04N21/8547
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,894,366
App. No.
15/417,276
Granted
Feb 13, 2018
Kind
B2
Abstract

A method is provided to manage playback of adaptive bitrate streaming video using using a stall time delay. The method includes pausing playback of a segment of a variant when a playback point reaches a download point, marking a stall time that marks a point in time in the segment at which playback was paused, determining a remaining playback time, determining a remaining download time, selecting an offset time, determining a wait time, determining a resume time, and waiting to resume playback at least until the download point reaches the resume time.

Claims (58)

1. A method of managing playback of adaptive bitrate streaming video, comprising:

pausing playback of a segment of an adaptive bitrate streaming video variant at a client device when a playback point marking the current playback time in said segment reaches a download point marking the latest point in said segment downloaded into a buffer by said client device;

marking a stall time that marks a point in time in said segment at which playback was paused;

determining a remaining playback time from said stall time to the end of said segment, based on a data playback rate;

determining a remaining download time to download the remainder of said segment based on a data transfer rate;

selecting an offset time between zero and said remaining playback time, inclusive;

determining a wait time by subtracting said remaining playback time from said remaining download time and adding said offset time;

determining a resume time by adding to said stall time said wait time multiplied by said remaining playback time divided by said remaining download time; and

waiting to resume playback at least until said download point reaches said resume time.

2. The method of claim 1 , wherein said client device advanced said playback point at a data playback rate.

3. The method of claim 1 , wherein said client device advanced said download point at a data transfer rate.

4. The method of claim 1 , further comprising resuming playback of said segment with said client device immediately when said download point reaches said resume time.

5. The method of claim 1 , further comprising:

recalculating said remaining download time by calculating the time to download a portion of said segment between said stall time and the end of the segment at a new current value for said data transfer rate;

calculating an updated wait time and an updated resume time based on the recalculated remaining download time;

resuming playback of said segment immediately when said updated resume time is not later than said resume time; and

continuing to pause playback of said segment until said updated resume time when said updated resume time is later than said resume time.

6. The method of claim 1 , wherein said offset time represents a desired time gap between said playback said download point when it reaches the end of said segment.

7. The method of claim 1 , further comprising requesting a subsequent segment from an adaptive bitrate streaming video variant at a bitrate suitable for said data transfer rate when said client device downloads the entirety of said segment before said playback point reaches said download point.

8. A method of managing playback of adaptive bitrate streaming video, comprising:

downloading video data from a segment of an adaptive bitrate streaming video variant at a data transfer rate from a media server into a buffer at a client device;

advancing a download point at said data transfer rate, said download point marking the latest point in time in said segment for which video data has been received in said buffer;

playing said segment with said client device by retrieving video data from said buffer;

advancing a playback point at a data playback rate, said playback point marking the latest point in time in said segment that has been played on screen by said client device;

pausing playback of said segment when said playback point reaches said download point and marking a stall time that marks the point in time in said segment at which playback was paused;

determining a remaining playback time from said stall time to the end of said segment, based on said data playback rate;

determining a remaining download time to download the remainder of said segment based on said data transfer rate;

selecting an offset time between zero and said remaining playback time, inclusive;

determining a wait time by subtracting said remaining playback time from said remaining download time and adding said offset time;

determining a resume time by adding to said stall time said wait time multiplied by said remaining playback time divided by said remaining download time;

and waiting to resume playback at least until said download point reaches said resume time.

9. The method of claim 8 , further comprising resuming playback of said segment with said client device immediately when said download point reaches said resume time.

10. The method of claim 8 , further comprising:

recalculating said remaining download time by calculating the time to download a portion of said segment between said stall time and the end of the segment at a new current value for said data transfer rate;

calculating an updated wait time and an updated resume time based on the recalculated remaining download time;

resuming playback of said segment immediately when said updated resume time is not later than said resume time; and

continuing to pause playback of said segment until said updated resume time when said updated resume time is later than said resume time.

11. The method of claim 8 , wherein said offset time represents a desired time gap between said playback said download point when it reaches the end of said segment.

12. The method of claim 8 , further comprising requesting a subsequent segment from an adaptive bitrate streaming video variant at a bitrate suitable for said data transfer rate when said client device downloads the entirety of said segment before said playback point reaches said download point.

13. A video streaming device, comprising:

a buffer configured to store video data from a segment of an adaptive bitrate streaming video variant, wherein said video data is received from a media server and added to said buffer at a data transfer rate; and

a processor configured to:

advance a download point in memory at said data transfer rate, said download point marking the latest point in time in said segment for which video data has been received in said buffer;

play said segment on a display by retrieving video data from said buffer at a data playback rate, decoding said video data, displaying said video data on said display, and advancing a playback point in memory at said data playback rate, said playback point marking the latest point in time in said segment that has been played on said display;

pause playback of said segment when said playback point reaches said download point and marking a stall time in memory that marks the point in time in said segment at which playback was paused;

determine a remaining playback time from said stall time to the end of said segment, based on said data playback rate;

determine a remaining download time to download the remainder of said segment based on said data transfer rate;

select an offset time between zero and said remaining playback time, inclusive;

determine a wait time by subtracting said remaining playback time from said remaining download time and adding said offset time;

determine a resume time by adding to said stall time said wait time multiplied by said remaining playback time divided by said remaining download time; and

wait to resume playback at least until said download point reaches said resume time.

14. The video streaming device of claim 13 , wherein said processor is further configured to resume playback of said segment immediately when said download point reaches said resume time.

15. The video streaming device of claim 13 , wherein said processor is further configured to recalculate said remaining download time by calculating the time to download a portion of said segment between said stall time and the end of the segment at a new current value for said data transfer rate;

calculate an updated wait time and an updated resume time based on the recalculated remaining download time;

resume playback of said segment immediately when said updated resume time is not later than said resume time; and

continue to pause playback of said segment until said updated resume time when said updated resume time is later than said resume time.

16. The video streaming device of claim 13 , wherein said offset time represents a desired time gap between said playback said download point when it reaches the end of said segment.

17. The video streaming device of claim 13 , wherein said processor is further configured to request a subsequent segment from an adaptive bitrate streaming video variant at a bitrate suitable for said data transfer rate when the entirety of said segment has been downloaded into said buffer before said playback point reaches said download point.

Assignments (8)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: BLOMQVIST, MATTIAS
To: ARRIS ENTERPRISES LLC
Reel/Frame 041099/0528 →
Continuity (2)
Provisional Application 62287953 · Jan 28, 2016
Related Publication 20170223361A1 · Aug 3, 2017