IP Library Patent Application 19417107
Patent Application
App. No. 19/417,107

BITRATE SELECTION USING STORED INFORMATION

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 None
App. No.
19/417,107
Abstract

In some embodiments, a method selects historical information from one or more previous playback sessions to a current playback session for content. A bandwidth is determined using the historical information. The method selects a profile from a list of profiles using a bitrate that is determined based on the bandwidth. The profile is used to download a segment of the content in the current playback session.

Claims (52)

1 . A method comprising:

selecting historical information from one or more previous playback sessions to a current playback session for content;

determining a bandwidth using the historical information; and

selecting a profile from a list of profiles using a bitrate that is determined based on the bandwidth, wherein the profile is used to download a segment of the content in the current playback session.

2 . The method of claim 1 , further comprising:

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

selecting the second logic during the current playback session.

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

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

4 . The method of claim 2 , 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.

5 . The method of claim 2 , 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 2 , 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 2 , 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 , when selecting historical information comprises:

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 , wherein determining the bandwidth comprises:

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

14 . The method of claim 1 , wherein determining the bandwidth comprises:

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 , wherein determining the bandwidth comprises:

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 . The method of claim 1 , wherein the historical information is from previous playback sessions for a device that is playing back the content for the current playback session.

18 . The method of claim 1 , wherein the historical information is from previous playback sessions for devices other than a device that is playing back the content for the current playback session.

19 . 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:

selecting historical information from one or more previous playback sessions to a current playback session for content;

determining a bandwidth using the historical information; and

selecting a profile from a list of profiles using a bitrate that is determined based on the bandwidth, wherein the profile is used to download a segment of the content in the current playback session.

20 . 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:

selecting historical information from one or more previous playback sessions to a current playback session for content;

determining a bandwidth using the historical information; and

selecting a profile from a list of profiles using a bitrate that is determined based on the bandwidth, wherein the profile is used to download a segment of the content in the current playback session.