# Bit Rate Adaptation Using Linear Quadratic Optimization for Mobile Video Streaming
## 6 Trace-Driven Simulations  
In this Section, we compare the performance of our streaming controller with following buffer-based ABRs:  
* Tian: [PERSON] et al. [6] use a feedback controller to drive the playback buffer level to a set-point by scaling predicted throughputs as a function of the buffer level and its trend. We use the control parameter \(K_{p}=0.1\) as described in [6]. * BBA: [PERSON] et al. [3] use a rate adaptation that selects bit rate \(R_{k}\) based on a function of the playback buffer level. In our evaluation, the reservoir and cushion parameters for BBA are set to 20s and 70s, respectively. We conduct trace-driven simulations using a set of 85 public available traces of cellular bandwidth [19]. Assuming that a mobile device obtains a sum of entries in two different traces as a bandwidth, we use combinations of the throughput traces to input bandwidth values for each interface. Note that if a trace is shorter than the simulation running time, we continue to repeat the trace from the beginning. This results in 3570 scenarios with which to investigate the performance of the streaming schemes, which is intended to reflect the bandwidth variability in real networks. In the simulation, we assume that the streaming server provides six representations of the video, of which length is 1800 s, with resolutions varying from 144 to 1080 p, of which bit rates are from 0.27 to 8.9 Mbps. Given a bandwidth scenario, our simulator calculates streaming bit rate, playback buffer, and rebuffering statuses based on the streaming behavior model [7] described in Section 3. We use the following performance metrics to evaluate the ABR schemes:  
* Average bit rate: This is the average of the bit rate of all downloaded chunks, which is defined as \(\frac{\sum_{k=1}^{K}R_{k}}{K}\) where \(K\) is the total number of chunks and \(R_{k}\) is the bit rate of the \(k\)th chunk. Figure 4: Effect of \(\rho\) (LQE). Figure 5: Effect of \(q_{0}\) (LQE). Average rebuffering duration: This is defined as the time spent in the rebuffering phase divided by the number of rebuffering occurrences during the entire playback. * Number of bit rate changes: We count the number of times the bit rate increases or decreases during the entire playback, i.e., \(\sum_{k=2}^{K}1(R_{k-1}\
eq R_{k})\). Figure 6 presents Whisker plots showing the minimum, first quartile (Q1), median, third quartile (Q3), and maximum of average bit rate and average rebuffering duration and CDF of the number of bit rate changes. As shown in Figure 6a, in terms of median, LQE yields a higher average bit rate (2.17 Mbps) than Tian (2.02 Mbps) and slightly lower than BBA (2.37 Mbps) while min/max of LQE is lower than others. It is because LQE is likely to use lower bit rates when LQE expects low available bandwidth status so that it can more properly mitigate rebufferings as shown in Figure 6b. Note that Figure 6b exhibits the Whisker plot of collected samples only in traces where rebufferings occur. In our simulation, rebufferings did not happen in 93% of traces with Tian, 88% with BBA, and 91% with LQE. Although LQE experiences rebufferings in 2% more traces than Tian, LQE exhibits the shortest average rebuffering duration than others as shown Figure 6b. In particular, its maximum of average rebuffering duration is 5.6 s while others' are larger than 25 s. In terms of median, LQE yields the shortest rebuffering duration (1.67 s) followed by BBA (2.07 s) and Tian (2.16 s). This shows that LQE successfully shortens the duration of rebuffering when it happens by appropriately choosing bit rates in advance, of which average can be higher than what Tian chooses and should be slightly lower than what BBA does. In Figure 6c, we observe that LQE exhibits the largest number of bit rate changes followed by BBA and Tian. This is because LQE is more adaptively switching bit rates according to available network bandwidth than the other ABRs.