IP Library Granted Patent US 12,689,775
Granted Patent B2
US 12,689,775 · App. 18/664,481 · Granted Jul 21, 2026

Systems and methods for reducing latency in video streaming

Inventors: Tao Chen (Palo Alto, CA); Christopher Phillips (Hartwell, GA)
Assignee: Adeia Guides Inc.
H04N21/2187H04N19/119H04N19/136H04N19/177H04N19/184
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,689,775
App. No.
18/664,481
Filed
May 15, 2024
Granted
Jul 21, 2026
Kind
B2
Art Unit
2421
USPC
725/146
Abstract

Systems and methods are provided for reducing latency in video streaming. At least a first portion of a live content item is encoded, using a first encoder, into a first bitstream, which is packaged into a first plurality of segments that start at a first time in the live content item. An offset is determined. At least a second portion of the live content item is encoded, using a second encoder, into a second bitstream, which is packaged into a second plurality of segments that start at a second time in the live content item, where the second time is based on the offset and is after the first time. Each segment of the first and second plurality of segments starts with an instantaneous decoder refresh frame, and each segment at a corresponding position in the first and second plurality of segments comprises a group of pictures.

Claims (90)

1 . A method comprising:

receiving, at a computing device, a live content item;

encoding, using a first encoder, at least a first portion of the live content item into a first bitstream;

packaging, using a packager, the first bitstream into a first plurality of segments, wherein the first segment of the first plurality of segments starts at a first time in the live content item;

determining, based on a predefined factor, an offset;

encoding, using a second encoder, at least a second portion of the live content item into a second bitstream; and

packaging, using the packager, the second bitstream into a second plurality of segments, wherein:

each segment of the first plurality of segments and the second plurality of segments starts with an instantaneous decoder refresh frame;

each segment at a corresponding position in the first plurality of segments and the second plurality of segments comprises a group of pictures; and

the first segment of the second plurality of segments starts at a second time in the live content item, wherein the second time is based on the offset and is after the first time.

2 . The method of claim 1 , wherein the method further comprises:

identifying, based on the offset, a plurality of additional encoders to encode parts of the live content item into a corresponding plurality of bitstreams; and

packaging, using the packager, each bitstream comprising a corresponding plurality of segments, wherein:

each segment of each corresponding plurality of segments starts with an instantaneous decoder refresh frame;

each segment at a corresponding position in the first plurality of segments and in each corresponding plurality of segments comprises a group of pictures; and

the first segment of each corresponding plurality of segments starts after the second time.

3 . The method of claim 1 , wherein:

each segment comprises a plurality of fragments;

each fragment of each segment of the first plurality of segments and each fragment of each segment of the second plurality of segments starts with an instantaneous decoder refresh frame;

each fragment at a corresponding position in the first plurality of segments and the second plurality of segments comprises a group of pictures; and

a first fragment of the first segment of the second plurality of segments starts, based on the offset, after the first time.

4 . The method of claim 1 , wherein the method further comprises:

receiving, at the computing device, a request to receive the live content item;

identifying a third time at which the request was received;

identifying a fourth time at which a next instantaneous decoder refresh frame of the first bitstream is available;

identifying a fifth time at which a next instantaneous decoder refresh frame of the second bitstream is available;

calculating a first difference between the third time and the fourth time;

calculating a second difference between the third time and the fifth time;

identifying which of the first difference and the second difference is smaller; and

selecting the respective first bitstream or second bitstream associated with the smaller difference; and

responding to the request with the selected respective first bitstream or second bitstream.

5 . The method of claim 1 , wherein the first bitstream and the second bitstream are encoded at a first bitrate, and the method further comprises:

encoding, using a third encoder, at least a third portion of the live content item into a third bitstream;

packaging, using the packager, the third bitstream into a third plurality of segments, wherein the third bitstream corresponds to the first bitstream and is encoded at a second bitrate, wherein the first and second bitstreams are different;

encoding, using a fourth encoder, the live content item into a fourth bitstream; and

packaging, using the packager, the fourth bitstream into a fourth plurality of segments, wherein the fourth bitstream corresponds to the second bitstream and is encoded at the second bitrate.

6 . The method of claim 1 , wherein the computing device is a first computing device, and the method further comprises:

transmitting, from the first computing device to a second computing device, a segment from the first plurality of segments;

identifying a low bandwidth condition associated with the second computing device; and

transmitting, to the second computing device, a request to disable one or more interactive features associated with a media player at the second computing device.

7 . The method of claim 1 , wherein the group of pictures comprises the instantaneous decoder refresh frame and one or more P-frames.

8 . The method of claim 1 , wherein the first bitstream and the second bitstream comprise a moof box after every frame.

9 . The method of claim 1 , wherein the offset is based on a target latency.

10 . The method of claim 1 , wherein the offset is based on a target bandwidth of the first bitstream and the second bitstream.

11 . A system comprising:

input/output circuitry configured to:

receive, at a computing device, a live content item; and

processing circuitry configured to:

encode, using a first encoder, at least a first portion of the live content item into a first bitstream;

package, using a packager, the first bitstream into a first plurality of segments, wherein the first segment of the first plurality of segments starts at a first time in the live content item;

determine, based on a predefined factor, an offset;

encode, using a second encoder, at least a second portion of the live content item into a second bitstream; and

package, using the packager, the second bitstream into a second plurality of segments, wherein:

each segment of the first plurality of segments and the second plurality of segments starts with an instantaneous decoder refresh frame;

each segment at a corresponding position in the first plurality of segments and the second plurality of segments comprises a group of pictures; and

the first segment of the second plurality of segments starts at a second time in the live content item, wherein the second time is based on the offset and is after the first time.

12 . The system of claim 11 , wherein the processing circuitry is further configured to:

identify, based on the offset, a plurality of additional encoders to encode parts of the live content item into a corresponding plurality of bitstreams; and

packaging, using the packager, each bitstream comprising a corresponding plurality of segments, wherein:

each segment of each corresponding plurality of segments starts with an instantaneous decoder refresh frame;

each segment at a corresponding position in the first plurality of segments and in each corresponding plurality of segments comprises a group of pictures; and

the first segment of each corresponding plurality of segments starts after the second time.

13 . The system of claim 11 , wherein:

each segment comprises a plurality of fragments;

each fragment of each segment of the first plurality of segments and each fragment of each segment of the second plurality of segments starts with an instantaneous decoder refresh frame;

each fragment at a corresponding position in the first plurality of segments and the second plurality of segments comprises a group of pictures; and

a first fragment of the first segment of the second plurality of segments starts, based on the offset, after the first time.

14 . The system of claim 11 , wherein the system further comprises processing circuitry configured to:

receive, at the computing device, a request to receive the live content item;

identify a third time at which the request was received;

identify a fourth time at which a next instantaneous decoder refresh frame of the first bitstream is available;

identify a fifth time at which a next instantaneous decoder refresh frame of the second bitstream is available;

calculate a first difference between the third time and the fourth time;

calculate a second difference between the third time and the fifth time;

identify which of the first difference and the second difference is smaller; and

select the respective first bitstream or second bitstream associated with the smaller difference; and

respond to the request with the selected respective first bitstream or second bitstream.

15 . The system of claim 11 , wherein the first bitstream and the second bitstream are encoded at a first bitrate, and the system further comprises processing circuitry configured to:

encode, using a third encoder, at least a third portion of the live content item into a third bitstream;

package, using the packager, the third bitstream into a third plurality of segments, wherein the third bitstream corresponds to the first bitstream and is encoded at a second bitrate, wherein the first and second bitstreams are different;

encode, using a fourth encoder, the live content item into a fourth bitstream; and

package, using the packager, the fourth bitstream into a fourth plurality of segments, wherein the fourth bitstream corresponds to the second bitstream and is encoded at the second bitrate.

16 . The system of claim 11 , wherein the computing device is a first computing device, and the system further comprises processing circuitry configured to:

transmit, from the first computing device to a second computing device, a segment from the first plurality of segments;

identify a low bandwidth condition associated with the second computing device; and

transmit, to the second computing device, a request to disable one or more interactive features associated with a media player at the second computing device.

17 . The system of claim 11 , wherein the group of pictures comprises the instantaneous decoder refresh frame and one or more P-frames.

18 . The system of claim 11 , wherein the first bitstream and the second bitstream comprise a moof box after every frame.

19 . The system of claim 11 , wherein the offset is based on a target latency.

20 . The system of claim 11 , wherein the offset is based on a target bandwidth of the first bitstream and the second bitstream.

Assignments (2)
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: CHEN, TAO; PHILLIPS, CHRISTOPHER
To: ADEIA GUIDES INC.
Reel/Frame 068017/0364 →
Continuity (1)
Related Publication 20250358459A1 · Nov 20, 2025
References Cited (12)
US 10880585B1 · Waggoner · 2020 [cited by examiner]
US 11546401B2 · Amirpour · 2023 [cited by examiner]
US 11695815B1 · Mekuria · 2023 [cited by examiner]
US 20180176278A1 · Mandyam · 2018 [cited by examiner]
US 20210099739A1 · Weil · 2021 [cited by examiner]
Bejerano, Y., et al., “Improving Zap Response Time for IPTV”, IEEE Infocom 2009, Jun. 2, 2009, pp. 1971-1979. [cited by applicant]
Enabling Low-Latency HTTP Live Streaming (HLS), HTTP Live Streaming, available online at: <https://developer.apple.com/documentation/http-live-streaming/enabling-low-latency-http-live-streaming-hls>, retrieved on Jun. 1… [cited by applicant]
Federico Chiariotti, “A survey on 360-degree video: Coding, quality of experience and streaming”, Computer Communications, vol. 177, Sep. 2021, pp. 133-155. [cited by applicant]
Hannuksela, M. M., et al., “An Overview of the OMAF Standard for 360° Video,” IEEE Data Compression Conference (DCC), Mar. 26-29, 2019, pp. 418-427. [cited by applicant]
Shen, G., et al., “An Optimal SVC Bitstream Schema for Viewport-Dependent 360-Degree Video Streaming”, 2023 9th International Conference on Virtual Reality (ICVR), 2023, 8 pages. [cited by applicant]
Theoplayer, “Low Latency with Chunked CMAF”, THEO Blog, available online at: <https://www.theoplayer.com/blog/low-latency-chunked-cmaf>, Jun. 13, 2024, 6 pages. [cited by applicant]
Zhiyu Pang, “VATP360: Viewport Adaptive 360-Degree Video Streaming based on Tile Priority,” Journal of Latex Class Files, vol. 14, No. 8, Aug. 2021, 9 pages. [cited by applicant]