Adaptive bit rate for data transmission
First Claim
Patent Images
1. A method of dynamically adjusting a bit rate at which data to be transferred over a network to a client is encoded, the method comprising:
- determining a first value reflective of a plurality of bit rates at which data was previously requested to be transferred to the client, the first value being determined at least based in part on one or more prior bit rate requests made by the client;
determining a network congestion of the network;
determining a second value reflective of a bit rate suitable given the network congestion;
determining a third value based on the first and second values;
requesting adjustment of the bit rate to approximately the third value;
determining the third value according to the following equation;
third value=first value*α
+second value*β
wherein 0<
α
<
1, and β
=1−
α
; and
determining the first value according to the plurality of bit rates where at least portion of the plurality of bit rates correspond with bit rates specified in prior bit rate requests that were not correspondingly used to transfer data to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
An adaptive bit rate system for use in transmitting data at adaptable bit rates. The bit rate may be adjusted according to historical behaviors and/or past operational settings, such as but not limited to adjusting a requested bit rate to a different bit rate depending the historical behavior.
66 Citations
18 Claims
-
1. A method of dynamically adjusting a bit rate at which data to be transferred over a network to a client is encoded, the method comprising:
-
determining a first value reflective of a plurality of bit rates at which data was previously requested to be transferred to the client, the first value being determined at least based in part on one or more prior bit rate requests made by the client; determining a network congestion of the network; determining a second value reflective of a bit rate suitable given the network congestion; determining a third value based on the first and second values; requesting adjustment of the bit rate to approximately the third value; determining the third value according to the following equation;
third value=first value*α
+second value*βwherein 0<
α
<
1, and β
=1−
α
; anddetermining the first value according to the plurality of bit rates where at least portion of the plurality of bit rates correspond with bit rates specified in prior bit rate requests that were not correspondingly used to transfer data to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium having instructions sufficient for controlling a server to transmit a video to a client at variable bit rates throughout a running length of the video in order to maintain continuous viewing, the non-transitory computer-readable medium comprising instructions sufficient for:
-
determining a bit rate at which the server transmits data according to the following formula;
bit rate=first value*α
+second value*βwherein; (i) the first value equals an average of a plurality of bit rates at which at least a portion of the video has already been transferred or requested to be transferred to the client; (ii) the second value equals a bit rate being requested by the client, the second value differing from a last one of the plurality of bit rates already used to transfer a portion of the video to the client; (iii) 0 <
α
<
1;(iv) β
=1−
α
; anddetermining the first value according to the plurality of bit rates where at least portion of the plurality of bit rates correspond with bit rates requested but not used to transfer data to the client.
-
-
13. A video server comprising:
-
a transmitting device operable to transmit video over a network to a client at a bit rate; a controller operable to set the bit rate at which the video is transmitted based on the following formula;
bit rate=first value*α
+second value*βwherein; (i) the first value equals an average of a plurality of bit rates at which data was previously transferred to the client or requested to be transferred to the client; (ii) a second value equals a bit rate currently being requested by the client; (iii) 0<
α
<
1;(iv) β
=1−
α
; andwherein the controller determines the first value according to the plurality of bit rates where at least portion of the plurality of bit rates correspond with bit rates requested but not used to transfer data to the client. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification