Communications Network Research Institute

Video Streaming

Claus Jürgensen Stuart Wallace Tanmoy Debnath

Video streaming is a complicated and difficult area of research. Many popular applications such as Real-time live 3G video streaming, iPods, Skype, PodCasting etc. will or have become integrated with video streaming features.

Why is Video Streaming Research Difficult?

There are many different types of video streaming applications such as Video on Demand (VoD), real-time and near real-time video streaming and MMS. In addition video streams can be streamed with a one-to-one (i.e. Unicast) or one-to-many (i.e. Multicast/Broadcast). There is also a huge range of video content possible. For example, ask yourself what is a typical video clip? It is difficult even to characterize the characteristics of the content in terms of how much action and detail is contained in a video clip. Before video can be transmitted over the network, it must first be encoded. There are a huge number of ways in which video can be encoded these include the choice of codec (i.e. MPEG-2, MPEG-4, H.264, AVI, WMV etc.), the target bit rate, the frame rate, equalization parameter, the resolution and so on. The choice of these parameters will affect the delivery of the video on the network. Once the video has been encoded, it is then transmitted/streamed using a streaming server. The server can transmit the video in a number of ways using various transmission protocols and packetization schemes. The client periodically sends feedback to the server telling the server how much information has been received. The server uses this feedback to adapt the transmitted video stream so as to minimize the any negative effects of congestion in the network might have on the video stream. The ability of the server to optimally adapt the video stream depends on the frequency of the feedback and the relevance, usefulness, and accuracy of the feedback information. There are a number of different techniques that can be used in the server to adapt the video quality including rate control, rate shaping, frame dropping, and stream switching. Finally, to add to the difficulties of video streaming, there are no accepted metrics to calculate video quality so as to correlate to the Human Visual System (HVS) or in other words human perception, e.g. PSNR, VQM, MPQM, PVQ etc.

Video Streaming

Our Goal and Approach

Given the difficulties in determining the absolute quality of video, our goal is to determine the relative video quality. With the development of new audio and video codecs, many current techniques to measure video quality will become obsolete. We aim to develop a technique that will map network related delivery statistics to a relative video quality value. This will then allow the network manager to provide soft or statistical guarantees regarding the QoS that can be offered to the application.

Work Done to Date

Improved QoS for Video Streaming over IEEE 802.11e networks

IEEE 802.11e allows for service differentiation by introducing 4 Access Category (AC) queues in the station. This allows for the different traffic types to be prioritized in terms of their ability to access the medium. For example, all video is transmitted from a video AC, whilst voice from a voice AC etc. Each of these ACs can be configured with different levels of priority according to the service requirements of the traffic stream. For example, video requires low loss rates, low delays and high throughput. However, voice requires very low delays and low loss rates but also low bit rates.

We have studied the effects of using the TXOP_Limit parameter to improve the quality of delivery for video streaming applications over 802.11e. We found that the TXOP_Limit parameter improves the delivery of video frames but there is little benefit in using the TXOP facility for audio streams. We also found that by transmitting high priority I and P frames through one AC queue and the B frames through another queue the throughput and delivery of the video streams is improved. By balancing the load in this way there is less buffer overflow at the AP under heavily loaded conditions. Furthermore since I and P frames have higher priority over B frames, larger TXOP_Limit values can be assigned to the AC queue carrying this traffic improving its delivery.

We plan to study and determine the optimal 802.11e settings in terms of the CWmin and AIFSN parameters for video streaming. We shall investigate the consequences of virtual contention effects between the competing AC queues.

Publications in this area:

Delay Analysis of Video over WLAN

For video streaming applications, end-to-end delay is of critical importance since if a packet arrives too late at the player, the packet is effectively lost. Lost packets and packets lost due to delay have a negative effect on the received quality of the video stream. We have already done much work to analyses and study the delay behavior of video streaming applications. In particular, we have found that video frames exhibit a saw tooth-like delay behavior. This means that not only should we be concerned about the end-to-end packet delays but also more importantly we should be considering the end-to-end delay of the video frame since a video frame cannot be correctly decoded until all or most of the packets relating to that frame have arrived at the client.

Publications in this area:

Resource Requirements of Video Streaming over WLAN & the Effects of Background Load on Video Streaming Applications

Due to the bursty nature of video, the resource requirements are equally bursty. The resource requirements were found to directly relate to the characteristics of the content; the encoding parameters of the video (frame rate, target encoding bit rate, GOP sequence); and the packetization scheme and bit rate of the video stream.

AP Saturation

Typically video is streamed from the wired network down to wireless client via the AP (i.e. downlink). If there is a heavy downlink load at the AP, the video stream experiences large packet drops and increased delays. We found that there is a threshold load value above which the video stream cannot be supported. This threshold load value relates to the packet size of the background traffic load and video stream, video frame rate and video encoding bit rate.

Contention Effects

Every station in an 802.11b WLAN has equal probability of gaining access to the medium. When there are many stations in the WLAN, the AP must contend for access to the medium and has the same probability of gaining an access opportunity. However, this is not quite fair since the AP must transmit all downlink traffic to the wireless clients. We found that as the levels of contention increase, the video stream experiences significantly increased delays and increased loss rates even though the total offered uplink load was equally distributed across all stations. However, more interestingly we also found that different video clips (e.g. action, animation, sport etc) were affected more severely than others even though all the video clips used in the experiments were encoded in the same way.

Related Publications

Real-time Video Quality Metrics

Real-time video quality assessment is an important requirement for multimedia streaming services. Most objective video quality metrics are full-reference metrics and require that reference video clip to be compared to the received video clip which is impractical for real-time video streaming systems. We are developing Reduced-Reference and No-Reference objective metric that correlate well to established and commonly used Full-Reference metrics. Key requirements of this work is to develop metrics that are computationally lightweight and can run on devices with low processing power and incur low network overhead.

Other Activities

We are currently developing a QoS Framework to allow for a statistical understanding of video quality. Using objective video quality metrics we are developing a prototype system that will allow for the understanding of how transmission errors impact on the rendered video quality. More information can be found on VIDAS.

Development Activities

Fast Cisco AP WME Script

It is possible to change the WME settings of the AP using the web interface or typing IOS commands. However this is slow. We have written a script to parse a text file with the desired WME settings and execute the IOS commands using a script.

Set80211E.pl 80211E_Settings.txt

AP Monitoring Tool

This program is written in Java using Ptolemy PtPlot plotting API. The program extends the functionality of the web based interface for Cisco Aironet 1200 AP. The program essentially polls useful statistical information from the AP and plots is dynamically on a graph over time. To date only a GUI is created for queue statistics functionality, however for the other options, the text based option is available.

Some of the many statistics available:
CISCO_GUI_IOS_12_3(7)JA2.jar CISCO_GUI_IOS_12_3(8)JA.jar 2 3