IP Library Granted Patent US 12,526,463
Granted Patent B2
US 12,526,463 · App. 18/435,925 · Granted Jan 13, 2026

Bitrate selection using stored information

Inventors: Si Chen (Beijing, CN); Tongyu Dai (Beijing, CN); Lemei Huang (Beijing, CN)
Assignee: Beijing Yo.JaJa Software Technology Development Co., Ltd.
H04N21/2662H04L43/0841H04N21/2402
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,526,463
App. No.
18/435,925
Granted
Jan 13, 2026
Kind
B2
Abstract

In some embodiments, a method determines whether to use first logic or second logic to select a profile from a list of profiles to download a segment of content. When using the second logic: selecting historical information from one or more previous playback sessions; determining a bandwidth using the historical information; and selecting the profile using a bitrate that is determined based on the bandwidth. When using the first logic, selecting the profile without using the historical information.

Claims (63)

1 . A method comprising:

determining whether to select a computing device, first logic that selects a profile from a list of profiles to use to download a segment in a playback session for content without using historical information or second logic to select the profile using the historical information;

selecting, by the computing device, the second logic during the playback session;

selecting, by the computing device, historical information from one or more previous playback sessions from the playback session;

determining, by the computing device, a bandwidth using the historical information; and

selecting, by the computing device, the profile to use to download the segment using a bitrate that is determined based on the bandwidth.

2 . The method of claim 1 , wherein determining whether to select the first logic or the second logic comprises:

using a setting that indicates whether to select the second logic.

3 . The method of claim 1 , wherein determining whether to select the first logic or the second logic comprises:

determining whether a context of the historical information has expired; and

selecting the first logic to use when the context of the historical information has expired.

4 . The method of claim 1 , wherein the playback session comprises a first playback session, the method further comprising:

selecting the first logic during a second playback session; and

selecting, using the first logic, the profile to use to download the segment without using the historical information.

5 . The method of claim 4 , wherein when using the first logic, selecting the profile as a first profile that is listed in the list of profiles.

6 . The method of claim 4 , wherein when using the first logic, selecting the profile using fixed settings that did not change for the first logic from a last playback session.

7 . The method of claim 4 , wherein when using the first logic, selecting a bitrate from a first profile that is listed in the list of profiles.

8 . The method of claim 1 , further comprising:

determining a setting for a type of historical information; and

selecting the historical information from the type of historical information.

9 . The method of claim 8 , wherein:

the type of historical information comprises a plurality of types of historical information, and

the type of historical information is selected based on which type of historical information in the plurality of types of historical information is ranked highest.

10 . The method of claim 8 , wherein:

the type of historical information is selected from a last type that is based on historical information from a last segment of a previous playback session, an estimated type that is based on an estimated value of historical information from a previous playback session, and a recent type that is based on historical information that is averaged over a time period.

11 . The method of claim 1 , wherein:

the historical information comprises a bandwidth and a roundtrip time.

12 . The method of claim 11 , wherein:

a first type of historical information comprises an estimated bandwidth of a previous session and an estimated roundtrip time of the previous session,

a second type of historical information comprises a last observed bandwidth of a segment of the previous session and the estimated roundtrip time of the previous session, and

a third type of historical information comprises a recent bandwidth of a time period and a recent roundtrip time of the time period.

13 . The method of claim 1 , further comprising:

adjusting the bandwidth using a safe factor, wherein the safe factor is used to reduce the bandwidth.

14 . The method of claim 1 , further comprising:

determining whether a rebuffer occurred in the historical information; and

adjusting the bandwidth based on a value when the rebuffer occurred.

15 . The method of claim 1 , further comprising:

setting a target bitrate as the bandwidth;

determining whether to use a roundtrip time to adjust the bandwidth;

when using the roundtrip time, adjusting the target bitrate based on the roundtrip time to generate an adjusted target bitrate; and

using the adjusted target bitrate to select the profile.

16 . The method of claim 1 , wherein the historical information is stored locally at a device that is selecting the profile.

17 . A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

determining whether to select first logic that selects a profile from a list of profiles to use to download a segment in a playback session for content without using historical information or second logic to select the profile using the historical information;

selecting the second logic during the playback session;

selecting historical information from one or more previous playback sessions from the playback session;

determining a bandwidth using the historical information; and

selecting the profile to use to download the segment using a bitrate that is determined based on the bandwidth.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein determining whether to select the first logic or the second logic comprises:

determining whether a context of the historical information has expired; and

selecting the first logic to use when the context of the historical information has expired.

19 . The non-transitory computer-readable storage medium of claim 17 , wherein when using the first logic, selecting the profile as a first profile that is listed in the list of profiles.

20 . The non-transitory computer-readable storage medium of claim 17 , wherein the playback session comprises a first playback session, further operable for:

selecting the first logic during a second playback session; and

selecting, using the first logic, the profile to use to download the segment without using the historical information.

21 . An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable for:

determining whether to select first logic that selects a profile from a list of profiles to use to download a segment in a playback session for content without using historical information or second logic to select the profile using the historical information;

selecting the second logic during the playback session;

selecting historical information from one or more previous playback sessions from the playback session;

determining a bandwidth using the historical information; and

selecting the profile to use to download the segment using a bitrate that is determined based on the bandwidth.

Assignments (2)
CHANGE OF NAME Recorded Sep 24, 2024
From: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
To: BEIJING YOJAJA SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 068684/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2024
From: CHEN, SI; DAI, TONGYU; HUANG, LEMEI
To: BEIJING HULU SOFTWARE TECHNOLOGY DEVELOPMENT CO., LTD.
Reel/Frame 066429/0252 →
Continuity (2)
Provisional Application 63600013 · Nov 16, 2023
Related Publication 20250168436A1 · May 22, 2025
References Cited (22)
US 9407968B2 · Hao · 2016 [cited by examiner]
US 10958947B1 · Wei · 2021 [cited by examiner]
US 11616993B1 · Chen · 2023 [cited by examiner]
US 11812081B2 · Dai · 2023 [cited by examiner]
US 12192541B2 · Tocalini · 2025 [cited by examiner]
US 20140156863A1 · Gao et al. · 2014 [cited by applicant]
US 20140247742A1 · Lee · 2014 [cited by examiner]
US 20200099733A1 · Chu · 2020 [cited by examiner]
US 20210144080A1 · Ni et al. · 2021 [cited by applicant]
US 20220159268A1 · Liu · 2022 [cited by examiner]
US 20220182685A1 · Dai et al. · 2022 [cited by applicant]
US 20230224351A1 · Mamidwar · 2023 [cited by examiner]
US 20240031629A1 · Pejhan · 2024 [cited by examiner]
EP 4311242A1 · 2024 [cited by examiner]
JP 2015133701A · 2015 [cited by applicant]
JP 2017157904A · 2017 [cited by applicant]
JP 2022119167A · 2022 [cited by applicant]
JP 2023063238A · 2023 [cited by applicant]
JP 2025082259A · 2025 [cited by applicant]
U.S. Appl. No. 19/039,679, filed Jan. 2025. [cited by applicant]
Extended European Search Report, European Patent Application 24200919.9, mailed Feb. 26, 2025, 11 pages. [cited by applicant]
Office Action, Japanese Patent Application No. 2024-168372, Japan Patent Office, mailed Nov. 4, 2025. [cited by applicant]