Difference between revisions of "Private:mobile streaming ideas"

From NMSL
Line 138: Line 138:
 
* WV99: L. Wang and A. Vincent. Bit allocation and constraints for joint coding of multiple video programs. IEEE Transactions on Circuits and Systems for Video Technology, 9(6):949-959, September 1999.
 
* WV99: L. Wang and A. Vincent. Bit allocation and constraints for joint coding of multiple video programs. IEEE Transactions on Circuits and Systems for Video Technology, 9(6):949-959, September 1999.
 
* TVT08: M. Tagliasacchi and G. Valenzise and S. Tubaro. Minimum variance optimal rate allocation for multiplexed H.264/AVC bitstreams. IEEE Transactions on Image Processing, 17(7):1129-1143, July 2008.
 
* TVT08: M. Tagliasacchi and G. Valenzise and S. Tubaro. Minimum variance optimal rate allocation for multiplexed H.264/AVC bitstreams. IEEE Transactions on Image Processing, 17(7):1129-1143, July 2008.
* RBG08: M. Rezaei, I. Bouazizi, and M. Gabbouj. Joint video coding and statistical multiplexing for broadcasting over DVB-H channels. IEEE Transactions on Multimedia,
+
* RBG08: M. Rezaei, I. Bouazizi, and M. Gabbouj. Joint video coding and statistical multiplexing for broadcasting over DVB-H channels. IEEE Transactions on Multimedia, 10(7):1455-1464, December 2008.
10(7):1455-1464, December 2008.
 
  
  

Revision as of 14:53, 6 August 2009

Mobile TV

Summer 2009

Broadcasting multiple VBR streams over a wireless network using statistical multiplexing can be done in one of two ways: (i) burst scheduling on base stations, and (ii) joint rate control among multiple video transcoders. The main difference between them is that the former approach broadcasts multiple VBR streams with diverse and varying total bit rate, while the second approach broadcasts multiple VBR streams with a constant total bit rate. We describe each of them in the following.


{\bf By Burst Scheduling. } This approach assumes that the TV channels are not jointly transcoded on the base station, and thus the total instantaneous bit rate is diverse and varying along the time. This approach has two advantages, it: (i) does not require transcoding any pre-encoded videos such as movies and TV episodes, and (ii) does not require all the transcoders to be collocated with the statistical multiplexing controller.


The authors of \cite{RBG09} propose a statistical multiplexing solution for DVB-H networks. Their system divides the time axis into fixed-length recurring time periods, and then schedule all TV channels in round-robin fashion in every time period. That is, every TV channel is assigned a burst length based on its average bit rate. To accommodate the bit rate variations in each TV channel, the burst length and burst boundary are partially flexible: the start and end times can be shifted within a per-determined range. Since the burst start times are not deterministic, the authors propose to wake up mobile devices earlier so that they never miss the beginning of bursts. The system proposed in \cite{RBG09} has three drawbacks. First, the scheduling algorithm only provides limited flexibility: burst scaling and shifting are only allowed in a small pre-determined range of time. Second, mobile devices are waken up earlier to accommodate the nondeterministic burst length and time, which leads to lower energy saving. Third, the resulting burst schedules are in round-robin, and TV channels with low bit rates may suffer from low energy saving.


The SMS algorithm proposed in our MM09 work also achieves statistical multiplexing using burst scheduling. In contrast to the solution in \cite{RBG09}, our algorithm dynamically allocates bursts to individual TV channels: burst start times and lengths are flexible without any limitations, and the bursts are not scheduled in strict round-robin fashion. In addition, It uses a small look-ahead window (in the order of seconds) to compute deterministic burst start times and lengths. The SMS algorithm has a shortcoming: it does not guarantee that the mobile devices never suffer from buffer underflow instances. There are two approaches to address this. First, we can use smoothing buffers on mobile devices to receive data in advance in order to absorb buffer underflow instances. We call this variation as SMS', which gives guarantees on no buffer underflow instances at the expense of larger memory requirement and longer initial buffering delay. Second, we can develop a dynamic programming algorithm to compute the optimal burst scheduling in terms of energy saving. Unfortunately, such an algorithm incurs extremely high computational complexity while the additional energy saving may be marginal compared to SMS and SMS'.


{\bf By Joint Transcoders. } This approach transcodes all TV channels together so that the total instantaneous bit rate can be fit into a CBR channel. Fig. 1 illustrates a joint transcoder, which consists of S transcoders and a statistical multiplex controller. Joint transcoders are similar to individual transcoders, except the former transcoders exchange video statistics among each other in order to properly allocate the bit budget provided by the CBR channel among TV channels. Joint transcoders have been widely studied in the late 90', e.g., see \cite{WV99}, and have been recently updated for modern video coders, e.g., see \cite{TVT08}.


The authors of \cite{RBG08} study the joint rate control problem among multiple transcoders, and propose a rate control algorithm based on fuzzy logic. Their algorithm aims at achieving low end-to-end delays and small quality variance among TV channels. While the authors of \cite{RBG08} claim that their statical multiplexing system is designed for DVB-H networks, it does not take any DVB-H system parameters as input nor does it take any feedback from the DVB-H base station. Therefore, we believe the system in \cite{RBG08} is merely another joint transcoder design based on fuzzy logic. (More precisely, the authors repackaged their joint transcoder for DVB-H networks without performing any evaluation directly related to DVB-H networks.)


{\bf In Real Deployments.} UDCast IPE-10 implements statistical multiplexing using joint transcoder, similar to \cite{RBG08}, and flexible burst start time and length, similar to \cite{RBG09}. UDCast does not implement their own joint transcoders, but require customers to find a proper transcoder implementation. IPE-10 assumes several (say 12) TV channels are grouped into a statistical multiplexing group, and allocate periodical and fixed-length air-time to each group. Within a group, the air-time is then divided into bursts for individual TV channels, where burst time and length are partially flexible within a pre-determined range. IPE-10 has four drawbacks. First, it does not support pre-encoded video streams. Second, it performs strict round-robin scheduling, which is not efficient for low bit rate TV channels in terms of energy saving. Third, it wakes up mobile devices slightly earlier in order to accommodate the flexibility on burst start time and length. Fourth, how to split TV channels into groups itself is difficult.


{\em Summary. } When transcoding is not an option, our SMS and SMS' algorithms can be used to broadcast pre-encoded video streams for optimal network utilization and near-optimal energy saving. Dynamic programming based optimal algorithms, while possible, may not be justified for the high time complexity and marginal energy saving improvement over SMS.


When transcoding is possible, adding joint transcoders to adjust video stream bit rates allows mobile TV networks to fully utilize the available bandwidth. Previous works in the literature do not consider time slicing and receiver buffer limits in mobile TV networks. UDCast IPE-10, on the other hand, employs nondeterministic burst start times and lengths. Since mobile devices must be waken up earlier to accommodate the nondeterminism, IPE-10's statistical multiplexing leads to lower energy saving (, however, the manual suggests the difference is negligible).


There are three possible directions to improve upon IPE-10. First, we may add a control channel between transcoders and the IP encapsulator. So that transcoders will give the IP encapsulator the start time of the next burst, and free mobile devices from waking up earlier. While this approach leads to higher energy saving, it's an engineering issue and may not be interesting to the research community. Second, we may move one step further, and consider more comprehensive burst scheduling algorithm rather than simple round-robin. For example, the IP encapsulator can schedule a burst to the TV channel whose receivers are about to face buffer underflow instances. This heuristic allows the base station to schedule longer bursts for higher energy saving. It is, however, not completely clear how much energy saving can be achieved by employing this (or more comprehensive) burst scheduling algorithm. Third, we may get rid of the complex and expensive transcoders all together, and use scalable coded streams in mobile TV networks. This can largely simplify the whole base station, because IP encapsulator no longer needs to negotiate with joint transcoders, and it can locally perform real-time stream adaptation for all TV channels.

{\bf References. }

  • BG09: M. Rezaei, I. Bouazizi, and M. Gabbouj. Implementing statistical multiplexing in DVB-H. Internal Journal of Digital Multimedia Broadcasting, 2009, April 2009.
  • WV99: L. Wang and A. Vincent. Bit allocation and constraints for joint coding of multiple video programs. IEEE Transactions on Circuits and Systems for Video Technology, 9(6):949-959, September 1999.
  • TVT08: M. Tagliasacchi and G. Valenzise and S. Tubaro. Minimum variance optimal rate allocation for multiplexed H.264/AVC bitstreams. IEEE Transactions on Image Processing, 17(7):1129-1143, July 2008.
  • RBG08: M. Rezaei, I. Bouazizi, and M. Gabbouj. Joint video coding and statistical multiplexing for broadcasting over DVB-H channels. IEEE Transactions on Multimedia, 10(7):1455-1464, December 2008.


Earlier Ideas

  • Extend power awareness to WiMax and TDMA networks.
  • Equalizing perceived-quality for multiple concurrent TV channels: We consider a mobile TV system that broadcasts several video sequences at the same time, while these video sequences have heterogeneous characteristics/complexities and require diverse bit rates to achieve the same perceived-quality. Our goal is to determine the best streaming bit rate for each TV channel such that all TV channels achieve a uniform perceived-quality that is less than or equal to a given target quality chosen by network operators.
    • We then show that by tolerating a small quality variation (or quality degradation), we can increase the energy saving (or battery life).
    • The same solution can be applied to an Internet on-demand video server to reduce the server-load and bandwidth consumption by providing users good, but not too good, perceived quality. The target quality can be in server level agreements.
  • Dependency-aware burst scheduling: Video refresh time, caused by decoding dependency among video frames, is one of the dominating sources of channel switching delay. Therefore, reducing refresh time is important for user experience because most users tend to switch channels frequently. Our goal is to reduce video refresh time without compromising bandwidth utilization. Most previous works insert/replace an immediately decode-able (IDR) frame at the beginning of each burst. Although doing so will reduce video refresh time, it also increases the bandwidth consumption because IDR frames are much larger than predictive frames. We believe this problem can be better solved by dynamically varying burst sizes according to given frame structures so that IDR frames are as close to the beginning of individual bursts as possible. For example, having an IDR frame as the 2nd frame in a burst only incurs negligible delay compared to inserting an IDR frame as the 1st frame. However, the former case consumes lower bandwidth because P- or B-frames are much smaller than I-frames.
  • Statistical multiplexing: We consider VBR-coded video streams and apply statistical multiplexing method in the literature to mobile TV networks to solve burst scheduling problem. We analytically analyze the performance of such mobile TV networks in terms of energy saving, channel switching delay, packet loss rate/re-buffering instances, among others. Our analysis is based on existing models of VBR traffic flow and of Internet router design. At high level, our burst scheduler allocates bursts to individual TV channel with proportional length to their buffer levels: more air time is assigned to TV channels with more pending packets in the outgoing queues. The ultimate goal of our analysis is to design an admission algorithm that provides QoS guarantees in statistical fashion.