Optimal Bandwidth Assignment for Multiple-Description-Coded Video
Abstract:
In video streaming over multicast network, user bandwidth requirement is often heterogeneous possibly with orders of magnitude difference (say, from hundreds of kb/s for mobile devices to tens of Mb/s for high-definition TV). Multiple description coding (MDC) can be used to address this bandwidth heterogeneity issue. In MDC, the video source is encoded into multiple independent descriptions. A receiver, depending on its available bandwidth, joins different descriptions to meet their bandwidth requirements. An important but challenging problem for MDC video multicast is how to assign bandwidth to each description in order to maximize overall user satisfaction. In this paper, we investigate this issue by formulating it as an optimization problem, with the objective to maximize user bandwidth experience by taking into account the encoding inefficiency due to MDC. We prove that the optimization problem is NP-hard. However, if the description number is larger than or equal to a certain threshold (e.g., if the minimum and maximum bandwidth requirements are 100 kb/s and 10 Mb/s, respectively, such threshold is seven descriptions), there is an exact and simple solution to achieve maximum user satisfaction, i.e., meeting all the bandwidth requirements. For the case when the description number is smaller, we present an efficient heuristic called simulated annealing for MDC bandwidth assignment (SAMBA) to assign bandwidth to each description given the distribution of user bandwidth requirement. We evaluate our algorithm using simulations. SAMBA achieves virtually the same optimal performance based on exhaustive search. By comparing with other assignment algorithms, SAMBA significantly improves user satisfaction. We also show that, if the coding efficiency decreases with the number of descriptions, there is an optimal description number to achieve maximal user satisfaction.
Existing System:
With the penetration of broadband Internet access and advances in video compression techniques, there has been increasing interest in both stored and live video services. Websites like YouTube and MSN Video have offered numerous on-demand video clips. Online live TV streaming with the use of IP multicast or peer-to-peer (P2P) technology have also been widely deployed (e.g., AT&T IPTV, PPLive, CoopNet, and SplitStream). To stream video to a large group of users, meeting heterogeneous bandwidth requirements presents a challenging problem. Such bandwidth requirement may differ by orders of magnitude, from hundreds of kbits/s for mobile devices to tens of Mbits/s for high-definition TV.
In order to serve all the users, obviously it is neither efficient nor feasible for the server to transcode the stream to each of the user bandwidths. A simple approach is to encode the video into a number of streams of different bitrates, which users join to best match their bandwidth requirements. Given the wide range of bandwidth requirements and limited number of video streams, this approach is clearly not satisfactory, resulting in many receivers getting a stream substantially lower than their bandwidth requirements.
Proposed System:
A much better approach is to use multiple description coding (MDC), which encodes the video into multiple independent “descriptions” of different bandwidth. The descriptions can be arbitrarily combined to best match user’s bandwidth requirement. Such approach provides many more options of video bitrates to meet different user requirements, e.g., m descriptions provide up to 2^m different video bitrates. A user chooses to receive a set of descriptions, where the sum of their bandwidth best matches the user bandwidth requirement. We illustrate in Fig. 1 video streaming using MDC to heterogeneous users. The video is encoded into m descriptions with bit rates d1,d2,…..dm. The users, depending on their access bandwidth, get the descriptions that best match their bandwidth requirements so as to maximize their video quality. In this paper, we study optimal bandwidth assignment for descriptions given heterogeneous bandwidth requirements. We expect an optimal assignment because of the following: if description bandwidths are set too high, the low-bandwidth receivers may not benefit from them (as joining them may exceed their bandwidth), leading to low video quality. On the other hand, if description bandwidths are set too low, those high-bandwidth receivers may not be able to fulfill their bandwidth by joining them, leading again to low video quality. Therefore, we expect optimal description bandwidths to achieve the best overall video quality. The contributions of our work are as follows.
1) Problem formulation and complexity analysis: Given heterogeneous user bandwidth requirements (which can be in terms of a distribution), we formulate an optimization problem for assigning bandwidth to each description so as to maximize overall user satisfaction. The user satisfaction is a function of coding efficiency as well as bandwidth requirement. We prove that the optimization problem is NP-hard.
2) An exact solution for description number larger than a certain threshold: Our problem is in general NP-hard. However, when the number of descriptions is larger than or equal to a certain value (e.g., if the minimum and maximum bandwidth requirements are 100 kb/s and 10 Mb/s, respectively, such threshold is seven descriptions), we show that the problem can be solved exactly and efficiently Our solution takes O(m) only computational time to set m description bandwidths with all user bandwidth requirements fully matched. In other words, maximum overall user satisfaction can be achieved in this case.
3) An efficient heuristic for smaller description number: For the case where m is lower than the threshold, we present an efficient heuristic called simulated annealing for MDC bandwidth assignment (SAMBA) to set the description bandwidths. SAMBA is shown to be efficient, and virtually matches the optimum based on exhaustive search. As compared with other simple assignment algorithms, our algorithm can achieve much higher user satisfaction. Using SAMBA, we further show that, if the coding efficiency decreases with the description number, there is an optimal m to achieve maximum user satisfaction. Such m is typically small (in the range of 3–5).
Modules:
- Source Partitioning.
- Bandwidth Optimization.
- Encodes Streaming Data.
Source Partitioning
The media source data will be converted into multiple streaming data. The original data will be partitioning into multiple streaming data for sets the descriptions. These partitions based on network bandwidth like its based on the users.
Bandwidth Optimization
One traditional solution is to offer multi-rate video at the source side and to allow users to receive video data at different rates according to their respective bandwidth. MDC is one example of multi-rate video coding method. In MDC, data are encoded into several descriptions, which are independent of each other. When all the descriptions are received, the original data can be reconstructed without distortion. If only subsets of the descriptions are received, the quality of the reconstruction degrades gracefully. Therefore, in MDC, an end user can choose to receive the maximum number of descriptions under its edge bandwidth constraint.
Encodes Streaming Data
The source encodes streaming data into multiple descriptions. The number of descriptions and the coding rate of each description are computed by the source according to the network condition. In our formulation, we set some constraint on the user receiving rate but not user sending rate. Hence, an end user may fetch data from the source or from other users. Our model is applicable to both client/server networks and P2P networks. Our target is to provide the best streaming quality under certain network bandwidth constraint. We formulate the problem and address it by an adaptive solution.
System Requirement Specifications:
Software Requirements:
· Operating system : Windows XP
· Language Used : J2SDK1.6 (Swings, Networking)
Hardware Requirements:
· Processor : Intel Pentium IV
· RAM : 256 MB
· Hard Disk : 40GB Hard Disk