Managing video adaptation algorithms
First Claim
1. A method comprising:
- receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a first minimum feedback interval value for decreasing a maximum rate limit and a second minimum feedback interval value for increasing a maximum rate limit; and
setting the first control parameter to the received value.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for controlling the operation of a dynamic rate adaptation algorithm by modifying control parameters exposed by the dynamic rate adaptation algorithm. In one aspect, an apparatus comprises a rate adaptation module comprising a plurality of control parameters. The rate adaptation module monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters. Each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions. The apparatus also comprises a client that receives a value for a first one of the plurality of control parameters and sets the first control parameter to the received value.
23 Citations
39 Claims
-
1. A method comprising:
-
receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a first minimum feedback interval value for decreasing a maximum rate limit and a second minimum feedback interval value for increasing a maximum rate limit; and setting the first control parameter to the received value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a rate adaptation module comprising a plurality of control parameters, wherein the rate adaptation module monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation module to the network conditions, wherein the first control parameter is one of a first minimum feedback interval value for decreasing a maximum rate limit and a second minimum feedback interval value for increasing a maximum rate limit; and a client that receives a value for a first one of the plurality of control parameters and sets the first control parameter to the received value. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A device comprising:
-
means for receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a first minimum feedback interval value for decreasing a maximum rate limit and a second minimum feedback interval value for increasing a maximum rate limit; and means for setting the first control parameter to the received value. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A non-transitory computer-readable storage medium having stored thereon instructions that when executed cause one or more programmable processors to:
-
receive, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a first minimum feedback interval value for decreasing a maximum rate limit and a second minimum feedback interval value for increasing a maximum rate limit; and set the first control parameter to the received value. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method comprising:
-
receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a minimum target playout margin that specifies a minimum acceptable time between a media packet arrival and its properly scheduled playout time, a maximum target playout margin that specifies an upper threshold of time between a media packet arrival and its properly scheduled playout time, a percentile point value for a packet arrival time distribution that specifies a percentile for measuring a playout margin, a first target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the minimum target playout margin, and a second target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the maximum target playout margin, and setting the first control parameter to the received value.
-
-
29. An apparatus comprising:
-
a rate adaptation module comprising a plurality of control parameters, wherein the rate adaptation module monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation module to the network conditions, wherein the first control parameter is one of; a minimum target playout margin that specifies a minimum acceptable time between a media packet arrival and its properly scheduled playout time, a maximum target playout margin that specifies an upper threshold of time between a media packet arrival and its properly scheduled playout time, a percentile point value for a packet arrival time distribution that specifies a percentile for measuring a playout margin, a first target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the minimum target playout margin, and a second target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the maximum target playout margin, and a client that receives a value for a first one of the plurality of control parameters and sets the first control parameter to the received value.
-
-
30. A device comprising:
-
means for receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a minimum target playout margin that specifies a minimum acceptable time between a media packet arrival and its properly scheduled playout time, a maximum target playout margin that specifies an upper threshold of time between a media packet arrival and its properly scheduled playout time, a percentile point value for a packet arrival time distribution that specifies a percentile for measuring a playout margin, a first target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the minimum target playout margin, and a second target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the maximum target playout margin, and means for setting the first control parameter to the received value.
-
-
31. A non-transitory computer-readable storage medium having stored thereon instructions that when executed cause one or more programmable processors to:
-
receive, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a minimum target playout margin that specifies a minimum acceptable time between a media packet arrival and its properly scheduled playout time, a maximum target playout margin that specifies an upper threshold of time between a media packet arrival and its properly scheduled playout time, a percentile point value for a packet arrival time distribution that specifies a percentile for measuring a playout margin, a first target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the minimum target playout margin, and a second target playout window that specifies a duration of a sliding window over which the rate adaptation algorithm observes and calculates a margin between media packet arrivals and playout for the maximum target playout margin, and set the first control parameter to the received value.
-
-
32. A method comprising:
-
receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a decongest value and a decongest time value; and setting the first control parameter to the received value.
-
-
33. An apparatus comprising:
-
a rate adaptation module comprising a plurality of control parameters, wherein the rate adaptation module monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation module to the network conditions, wherein the first control parameter is one of a decongest value and a decongest time value; and a client that receives a value for a first one of the plurality of control parameters and sets the first control parameter to the received value.
-
-
34. A device comprising:
-
means for receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter one of a decongest value and a decongest time value; and means for setting the first control parameter to the received value.
-
-
35. A non-transitory computer-readable storage medium having stored thereon instructions that when executed cause one or more programmable processors to:
-
receive, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of a decongest value and a decongest time value; and set the first control parameter to the received value.
-
-
36. A method comprising:
-
receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a ramp up rate that specifies a rate at which the rate adaptation algorithm is to increase a target encoding rate to a higher rate limit, and a ramp down rate that specifies a rate at which the rate adaptation algorithm is to decrease the target encoding rate to a lower rate limit, and setting the first control parameter to the received value.
-
-
37. An apparatus comprising:
-
a rate adaptation module comprising a plurality of control parameters, wherein the rate adaptation module monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation module to the network conditions, wherein the first control parameter is one of; a ramp up rate that specifies a rate at which the rate adaptation algorithm is to increase a target encoding rate to a higher rate limit, and a ramp down rate that specifies a rate at which the rate adaptation algorithm is to decrease the target encoding rate to a lower rate limit, and a client that receives a value for a first one of the plurality of control parameters and sets the first control parameter to the received value.
-
-
38. A device comprising:
-
means for receiving, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a ramp up rate that specifies a rate at which the rate adaptation algorithm is to increase a target encoding rate to a higher rate limit, and a ramp down rate that specifies a rate at which the rate adaptation algorithm is to decrease the target encoding rate to a lower rate limit, and means for setting the first control parameter to the received value.
-
-
39. A non-transitory computer-readable storage medium having stored thereon instructions that when executed cause one or more programmable processors to:
-
receive, by a media device, a value for a first one of a plurality of control parameters for a rate adaptation algorithm, wherein the rate adaptation algorithm monitors conditions of a network and adjusts a coding rate of a media encoder based on the network conditions and the plurality of control parameters, wherein each of the plurality of control parameters specifies a threshold value or a timing value that controls a response of the rate adaptation algorithm to the network conditions, wherein the first control parameter is one of; a ramp up rate that specifies a rate at which the rate adaptation algorithm is to increase a target encoding rate to a higher rate limit, and a ramp down rate that specifies a rate at which the rate adaptation algorithm is to decrease the target encoding rate to a lower rate limit, and set the first control parameter to the received value.
-
Specification