IP Library Granted Patent US 11,533,521
Granted Patent B2
US 11,533,521 · App. 16/061,245 · Granted Dec 20, 2022

Scheduling multiple-layer video segments

Inventors: Yong He (San Diego, CA); Ahmed Hamza (Coquitlam, CA); Srinivas Gudumasu (San Diego, CA); Yan Ye (San Diego, CA); Eduardo Asbun (San Diego, CA)
Assignee: InterDigital Madison Patent Holdings, SAS
H04N21/234327H04N21/23439H04N21/26216H04N21/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 11,533,521
App. No.
16/061,245
Granted
Dec 20, 2022
Kind
B2
Abstract

A streaming device may request and download multi-layer video segments based on a number of factors including the artistic interest associated with the video segments and/or the status of a buffer area managed by the streaming device. The multi-layer segments may be coded using scalable coding techniques or a combination of scalable coding and simulcast coding techniques by which each of the video segments may be coded into one or more representations of different qualities and/or bitrates. When requesting the multi-layer segments, the streaming device may ensure that the fullness of the buffer area falls between a buffer underflow threshold and a backfilling threshold under various network conditions. The streaming device may estimate the available network bandwidth in order to facilitate the scheduling decisions. The streaming device may consider the artistic interest associated with the video segments during scheduling and may give priority to those segments with higher artistic interest.

Claims (33)

1. A method for streaming video content, the method comprising:

receiving a description of the video content, wherein the video content comprises a plurality of video segments and the description of the video content indicates respective artistic interest values and respective playback times of the plurality of video segments;

determining, based on the description of the video content, that a first set of video segments is associated with higher artistic interest values than a second set of video segments, and that playback times of the first set of video segments are further away from a current playback time than playback times of the second set of video segments;

beginning playback of the second set of video segments;

determining that the current playback time has entered a predetermined time window before the playback time of at least one of the first set of video segments, wherein the predetermined time window is associated with advanced caching of the first set of video segments and controls how far in advance to request and buffer the first set of video segments relative to the current playback time; and

responsive to the determination that the first set of video segments is associated with higher artistic interest values than the second set of video segments and the determination that the current playback time has entered the predetermined time window:

determining a number of video segments among the first set of video segments to request and buffer ahead of at least one of the second set of video segments; and

requesting and buffering the number of video segments among the first set of video segments ahead of the at least one of the second set of video segments.

2. The method of claim 1 , wherein the number of video segments among the first set of video segments is requested and buffered at a higher quality level than the second set of video segments.

3. The method of claim 1 , wherein the first set and the second set of video segments are each coded into a single layer representation.

4. The method of claim 1 , wherein the first set and the second set of video segments are each coded into at least a base layer representation and an enhancement layer representation that depends on the base layer representation for decoding, wherein each of the first set of video segments is requested and buffered using the base layer representation and the enhancement layer representation, and wherein at least one of the second set of video segments is requested and buffered using only the base layer representation.

5. The method of claim 1 , wherein each of the first set of video segments is coded into a single layer representation using simulcast coding, wherein each of the second set of video segments is coded into at least a base layer representation and an enhancement layer representation using scalable coding, and wherein each of the first set of video segments is requested and buffered using the single layer representation and each of the second set of video segments is requested and buffered using at least one of the base layer representation or the enhancement layer representation.

6. The method of claim 1 , wherein the predetermined time window has a fixed duration.

7. The method of claim 6 , wherein the fixed duration of the predetermined time window is indicated in the description of the video content.

8. The method of claim 1 , further comprising, upon requesting and buffering the number of video segments among the first set of video segments, continuing to request and buffer video segments from the second set of video segments so as to maintain a playback buffer level above a threshold.

9. The method of claim 1 , wherein the number of video segments requested and buffered ahead of the at least one of the second set of video segments is determined as a function of the artistic interest values associated with the number of video segments.

10. A device configured to stream video content, the device comprising:

a processor configured to:

receive a description of the video content, wherein the video content comprises a plurality of video segments and the description of the video content indicates respective artistic interest values and respective playback times associated with the plurality of video segments;

determine, based on the description of the video content, that a first set of video segments is associated with higher artistic interest values than a second set of video segments, and that playback times of the first set of video segments are further away from a current playback time than playback times of the second set of video segments;

begin playback of the second set of video segments;

determine that the current playback time has entered a predetermined time window before the playback time of at least one of the first set of video segments, wherein the predetermined time window is associated with advanced caching of the first set of video segments and controls how far in advance to request the first set of video segments relative to the current playback time; and

responsive to the determination that the first set of video segments is associated with higher artistic interest values than the second set of video segments and the determination that the current playback time has entered the predetermined time window:

determine a number of video segments among the first set of video segments to request and buffer ahead of at least one of the second set of video segments; and

request and buffer the number of video segments among the first set of video segments ahead of the at least one of the second set of video segments.

11. The device of claim 10 , wherein the number of video segments among the first set of video segments is requested and buffered at a higher quality level than the second set of video segments.

12. The device of claim 10 , wherein the first set and then second set of video segments are each coded into a single layer representation.

13. The device of claim 10 , wherein the first and the second set of video segments are each coded into at least a base layer representation and an enhancement layer representation that depends on the base layer representation for decoding, wherein the first set of video segments is requested and buffered using the base layer representation and the enhancement layer representation, and wherein at least one of the second set of video segments is requested and buffered using only the base layer representation.

14. The device of claim 10 , wherein each of the first set of video segments is coded into a single layer representation using simulcast coding, wherein each of the second set of video segments is coded into at least a base layer representation and an enhancement layer representation using scalable coding, and wherein each of the first set of video segments is requested and buffered using the single layer representation and each of the second set of video segments is requested and buffered using at least one of the base layer representation or the enhancement layer representation.

15. The device of claim 10 , wherein the predetermined time window has a fixed duration.

16. The device of claim 15 , wherein the fixed duration of the predetermined time window is indicated in the description of the video content.

17. The device of claim 10 , wherein the processor is further configured to, upon requesting and buffering the number of video segments among the first set of video segments, continue to request and buffer video segments from the second set of video segments so as to maintain a playback buffer level above a threshold.

18. The device of claim 10 , wherein the processor is configured to determine the number of video segments to request and buffer ahead of the at least one of the second set of video segments as a function of the artistic interest values associated with the number of video segments.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2020
From: VID SCALE, INC.
To: INTERDIGITAL MADISON PATENT HOLDINGS, SAS
Reel/Frame 052914/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: HE, YONG; HAMZA, AHMED; GUDUMASU, SRINIVAS; YE, YAN; ASBUN, EDUARDO
To: VID SCALE, INC.
Reel/Frame 047235/0719 →
Continuity (2)
Provisional Application 62266333 · Dec 11, 2015
Related Publication 20200267429A1 · Aug 20, 2020
Cited By (1)
US 12,256,111