ADAPTIVE BIT RATE FOR DATA TRANSMISSION
First Claim
Patent Images
1. A non-transitory computer-readable medium having a plurality of non-transitory instructions operable with an encoder to facilitate dynamically adjusting a bit rate at which data is transferred to a client, the non-transitory instructions being sufficient for:
- determining a first value reflective of a plurality of bit rates at which data was previously requested to be transferred to the client over a first network, the first value being determined at least based in part on one or more prior bit rate requests made by the client;
determining a first network congestion of the first network;
determining a second value reflective of a bit rate suitable given the first network congestion; and
setting the bit rate of the encoder to approximately a third value determined as a summation of the first and second values weighted according to one of a historical influence and a present influence, the historical influence weighting the first value to have more influence than the second value and the present influence weighting the second value to have more influence than the first value.
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.
41 Citations
20 Claims
-
1. A non-transitory computer-readable medium having a plurality of non-transitory instructions operable with an encoder to facilitate dynamically adjusting a bit rate at which data is transferred to a client, the non-transitory instructions being sufficient for:
-
determining a first value reflective of a plurality of bit rates at which data was previously requested to be transferred to the client over a first network, the first value being determined at least based in part on one or more prior bit rate requests made by the client; determining a first network congestion of the first network; determining a second value reflective of a bit rate suitable given the first network congestion; and setting the bit rate of the encoder to approximately a third value determined as a summation of the first and second values weighted according to one of a historical influence and a present influence, the historical influence weighting the first value to have more influence than the second value and the present influence weighting the second value to have more influence than the first value.
-
-
2. The non-transitory computer-readable medium of 1 further comprising non-transitory instructions sufficient for determining the third value according to the following weighted summation of the first and second values:
-
third value=first value*α
+second value *βwherein 0.5<
α
<
1 and β
=1−
α
when determining the third value according to the historical influence; andwherein 0<
α
<
0.5 and β
=1−
α
when determining the third value according to the present influence.
-
-
3. The non-transitory computer-readable medium of 1 further comprising non-transitory instructions sufficient for determining the second value to be a selected rate value selected from a plurality of rate values identified within a bit rate map, the bit rate map associating each of the plurality of rate values with one of a plurality of network congestion values representative of network congestion, the selected rate value corresponding with the one of the plurality of rate values associated with the first network congestion.
-
4. The non-transitory computer-readable medium of 3 further comprising non-transitory instructions sufficient for determining the selected rate value to correspond with the one of the plurality or rate values most closely matching with the first network congestion.
-
5. The non-transitory computer-readable medium of 3 further comprising non-transitory instructions sufficient for determining the selected rate value to correspond with the one of the plurality of rate values matching with the first network congestion, and if no matching occurs, the next higher one of the plurality of rate values listed within the bit rate map if available otherwise the next lower.
-
6. The non-transitory computer-readable medium of 1 further comprising non-transitory instructions sufficient for determining the first value to be one of:
-
an average determined according to a rectangular window function of the plurality of bit rates at which data was previously requested to be transferred to the client; and an average determined according to an exponential window function of the plurality of bit rates at which data was previously requested to be transferred to the client.
-
-
7. The non-transitory computer-readable medium of 1 further comprising non-transitory instructions sufficient for 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.
-
8. The non-transitory computer-readable medium of 1 further comprising non-transitory instructions sufficient for:
-
determining a second network congestion for a second network, the second network congestion being determined following a transition of the client from the first network to the second network; determining a fourth value reflective of a bit rate suitable given the second network congestion; and setting the bit rate of the encoder following the transition to approximately a fifth value determined as a summation of the first and fourth values weighted according to one of the historical influence and the present influence.
-
-
9. A method of dynamically selecting a bit rate used to encode data being transmitted over a network to a client, the method comprising:
-
determining a current bit rate used to encode data that is currently being transmitted to the client; determining a first amount by which the current bit is to be adjusted to compensate for network congestion of the network; and automatically adjusting the bit rate by a second amount, the second amount being equal to a percentage P of the first amount. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. 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; (ii) a second value equals a bit rate currently being requested by the client;
(iii) 0<
α
<
1;and
(iv) β
=1−
α
.- View Dependent Claims (18, 19, 20)
-
Specification