IP Library Granted Patent US 12,335,563
Granted Patent B2
US 12,335,563 · App. 17/899,736 · Granted Jun 17, 2025

Intelligent delivery and playout to prevent stalling in video streaming

Inventors: Tao Chen (Palo Alto, CA); Reda Harb (Issaquah, WA)
Assignee: Adeia Guides Inc.
H04N21/44004H04N21/44209
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,335,563
App. No.
17/899,736
Granted
Jun 17, 2025
Kind
B2
Abstract

Systems and methods are disclosed to mitigate stalling of streaming content due to rebuffering so that, e.g., the content consumer does not experience gaps in playback. In some embodiments, by buffering streaming content simultaneously at two bitrate levels—e.g., one of the lowest bitrates and a better-quality bitrate, within the bandwidth limitations—rebuffering-caused gaps in playback of a higher quality (HQ) stream may be filled with a lower quality (LQ) stream. For instance, client-side dual buffers may store n segments from the HQ stream during a given time and a multiple of n number of segments from the LQ stream, thus allowing for many of the LQ segments to be output if the HQ stream is rebuffering. If a segment of content is beginning to be played back as an LQ segment, there is no reason to buffer the same segment from the HQ stream. Moreover, after a segment of content is played back (or decoded) as either HQ or LQ, the corresponding HQ segment and/or LQ segment may be discarded from the dual buffer, e.g., to create buffer space for upcoming segments.

Claims (66)

1. A method of preventing stalling when streaming adaptive bitrate (ABR) content, the method comprising:

receiving, from a streaming server, a stream of a content item;

receiving, from a content server, a manifest describing a plurality of supplemental content items;

instructing to store in a buffer a first segment corresponding to a first portion of the content item from the stream;

downloading, based on the manifest, a first supplemental content item from the plurality of supplemental content items;

determining whether a quality of experience (QoE) disturbance event is occurring or about to occur and that the occurrence of the QoE disturbance event exceeds a predetermined threshold of QoE disturbance events during a predetermined time period;

based at least in part on the determination that the QoE disturbance event is occurring or about to occur and that the occurrence of the QoE disturbance event exceeds the predetermined threshold of QoE disturbance events during the predetermined time period, simultaneously providing the downloaded first supplemental content item for consumption while receiving a second portion of the content item from the stream and instructing to store in the buffer a second segment corresponding to the second portion of the content item from the stream; and

providing from the buffer the first segment for consumption after the QoE disturbance event.

2. The method of claim 1 , wherein the QoE disturbance event comprises rebuffering.

3. The method of claim 1 , wherein the first supplemental content item comprises an advertisement.

4. The method of claim 1 , wherein the first supplemental content item comprises at least one selected from a group consisting of the following: a commercial, an overlay, a promo, a preview, a behind-the-scenes clip, an interview, and news.

5. The method of claim 1 , wherein the determining whether the QoE disturbance event is occurring or about to occur further comprises:

accessing data describing a buffer level; and

determining whether the data describing the buffer level is above a predetermined buffer threshold.

6. The method of claim 1 , wherein the determining whether the QoE disturbance event is occurring or about to occur further comprises:

accessing data describing available bandwidth; and

determining whether the data describing the available bandwidth is above a predetermined bandwidth threshold.

7. The method of claim 1 , wherein the determining whether the QoE disturbance event is occurring or about to occur further comprises:

accessing data describing network traffic; and

determining whether the data describing the network traffic is above a predetermined traffic threshold.

8. The method of claim 1 , wherein the downloading, based on the manifest, the first supplemental content item from the plurality of supplemental content items further comprises downloading, based on the manifest, a second supplemental content item from the plurality of supplemental content items; and

wherein providing the downloaded first supplemental content item for consumption further comprises providing the downloaded second supplemental content item for consumption.

9. The method of claim 1 , wherein the downloading, based on the manifest, the first supplemental content item from the plurality of supplemental content items further comprises downloading, based on the manifest, a second supplemental content item from the plurality of supplemental content items; and

wherein providing the downloaded first supplemental content item for consumption further comprises:

(i) determining whether the QoE disturbance event is still occurring;

(ii) in response to determining that the QoE disturbance event is still occurring, providing the downloaded second supplemental content item for consumption.

10. The method of claim 1 , wherein the providing from the buffer the first segment for consumption further comprises:

instructing to store in the buffer a second segment corresponding to a next portion of the content item from a HQ stream;

downloading, based on the manifest, a second supplemental content item and a third supplemental content item from the plurality of supplemental content items;

determining whether a second QoE disturbance event is occurring or about to occur;

in response to determining that the second QoE disturbance event is occurring or about to occur, providing the downloaded second supplemental content item and third supplemental content item for consumption; and

in response to determining that the second QoE disturbance event is not occurring and not about to occur, providing from the buffer the first segment for consumption.

11. A system of preventing stalling when streaming adaptive bitrate (ABR) content, the system comprising:

memory comprising a buffer;

input/output circuitry configured to:

receive, from a streaming server, a stream of a content item;

receive, from a content server, a manifest describing a plurality of supplemental content items;

download, based on the manifest, a first supplemental content item from the plurality of supplemental content items;

processing circuitry configured to:

instruct to store in the buffer a first segment corresponding to a first portion of the content item from the stream;

determine whether a quality of experience (QoE) disturbance event is occurring or about to occur and that the occurrence of the QoE disturbance event exceeds a predetermined threshold of QoE disturbance events during a predetermined time period;

based at least in part on the determination the QoE disturbance event is occurring or about to occur and that the occurrence of the QoE disturbance event exceeds the predetermined threshold of QoE disturbance events during the predetermined time period, simultaneously cause to be provided the downloaded first supplemental content item for consumption while receiving a second portion of the content item from the stream and instructing to store in the buffer a second segment corresponding to the second portion of the content item from the stream; and

cause to be provided from the buffer the first segment for consumption after the QoE disturbance event.

12. The system of claim 11 , wherein the QoE disturbance event comprises rebuffering.

13. The system of claim 11 , wherein the first supplemental content item comprises at least one selected from a group consisting of the following: a commercial, an overlay, a promo, a preview, a behind-the-scenes clip, an interview, and news.

14. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the QoE disturbance event is occurring or about to occur by:

accessing data describing a buffer level; and

determining whether the data describing the buffer level is above a predetermined buffer threshold.

15. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the QoE disturbance event is occurring or about to occur by:

accessing data describing available bandwidth; and

determining whether the data describing the available bandwidth is above a predetermined bandwidth threshold.

16. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the QoE disturbance event is occurring or about to occur by:

accessing data describing network traffic; and

determining whether the data describing the network traffic is above a predetermined traffic threshold.

17. The system of claim 11 , wherein the input/output circuitry is further configured to download, based on the manifest, the first supplemental content item from the plurality of supplemental content items by further downloading, based on the manifest, a second supplemental content item from the plurality of supplemental content items; and

wherein the processing circuitry is further configured to cause to be provided the downloaded first supplemental content item for consumption by causing to be provided the downloaded second supplemental content item for consumption.

18. The system of claim 11 , wherein the input/output circuitry is further configured to download, based on the manifest, the first supplemental content item from the plurality of supplemental content items further by downloading, based on the manifest, a second supplemental content item from the plurality of supplemental content items; and

wherein the processing circuitry is further configured to cause to be provided the downloaded first supplemental content item for consumption by:

(i) determining whether the QoE disturbance event is still occurring;

(ii) in response to determining that the QoE disturbance event is still occurring, providing the downloaded second supplemental content item for consumption.

19. The system of claim 11 , wherein the processing circuitry is further configured to cause to be provided from the buffer the first segment for consumption by:

instructing to store in the buffer a second segment corresponding to a next portion of the content item from a HQ stream;

downloading, based on the manifest, a second supplemental content item and a third supplemental content item from the plurality of supplemental content items;

determining whether a second QoE disturbance event is occurring or about to occur;

in response to determining that the second QoE disturbance event is occurring or about to occur, providing the downloaded second supplemental content item and third supplemental content item for consumption; and

in response to determining that the second QoE disturbance event is not occurring and not about to occur, providing from the buffer the first segment for consumption.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0413 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2022
From: CHEN, TAO; HARB, REDA
To: ROVI GUIDES, INC.
Reel/Frame 061081/0911 →