Abstract

In this paper, we propose a new Scalable Video Coding (SVC) quality-adaptive peer-to-peer television (P2PTV) system executed at the peers and at the network. The quality adaptation mechanisms are developed as follows: on one hand, the Layer Level Initialization (LLI) is used for adapting the video quality with the static resources at the peers in order to avoid long startup times. On the other hand, the Layer Level Adjustment (LLA) is invoked periodically to adjust the SVC layer to the fluctuation of the network conditions with the aim of predicting the possible stalls before their occurrence. Our results demonstrate that our mechanisms allow quickly adapting the video quality to various system changes while providing best Quality of Experience (QoE) that matches current resources of the peer devices and instantaneous throughput available at the network state.

1. Introduction

Video streaming has become the most traffic intensive application in the world of multimedia. According to a study conducted by Cisco [1], the sum of all forms of video (TV, video on demand [VoD], Internet, and P2P) will be in the range of 80 to 90 percent of global consumer traffic by 2018. In recent years, Peer-to-peer systems have been successfully gaining much attention both in academic communities and in research industries. P2P has played an important role in wide broadcasting growth of multimedia applications and provides several favorable characteristics, such as self-organization and configuration, high scalability, and robustness.

Although P2P streaming takes advantage of the P2P architecture to lessen server load, it gives reliable services and it still faces several challenges. However, current P2P streaming systems still suffer from a major limitation: such these systems try to provide the video quality to all users without taking into account the varying bandwidth and the heterogeneity of devices where each end terminal has different requirement for the video. In this regard, new media compression standard such as SVC (Scalable Video Coding) has revolutionized the digital media industry by providing high quality and scalable delivery of video content to heterogeneous end-user devices and network conditions.

End users have been enjoying benefits of peer-to-peer television (P2PTV) systems for over ten years. P2PTV is a category of P2P software applications specially designed to redistribute video streaming media based on a P2P network. Compared to P2P software designed for file sharing which has few concerns of timeliness property, P2PTV is born for real-time contents. Typically, the broadcasted video streams are channels from all over the world but may also come from other sources, for example, recorded video files. The draw to these applications is significant because they have the potential to make any TV channel globally available. Based on the type of distribution topology graph, P2PTV systems can be categorized as BitTorrent-like mesh-based [2] and Tree-based. A BitTorrent-like P2PTV system can be viewed as a real-time version of BitTorrent [3]. Similar to BitTorrent rent file sharing systems, mechanisms that encourage fairness are also implementable for BitTorrent-like P2PTV systems. As the most widely used BitTorrent-like P2PTV systems, SopCast [4], PPLive [5], PPStream [6], and UUsee [7] are considered to be the most typical examples.

Many researchers are currently investigating how to implement IPTV in P2P networks in order to provide an efficient, scalable real-time distribution and robust P2P streaming services. PALs [8] present a new framework for quality adaptive playback in P2P video streaming system. However, PALs only consider single-dimensional scalability which cannot adapt to heterogeneous static resources of peers and network condition. Chameleon [9] is a new adaptive P2P streaming protocol that combines the advantages of network coding (NC) and Scalable Video Coding (SVC). The core of chameleon is studied, including neighbor selection, quality adaptation, receiver-driven peer coordination, and sender selection, with different design options. But, it cannot adapt to dynamic bandwidth and catastrophic failures. Authors in [10] propose simple modifications to existing protocols that have the potential to lead to significant benefits in terms of latency, jitter, throughput, packet loss, and PSNR. Abboud et al. [11] developed quality adaptive in P2P VoD systems based on SVC. Quality adaptation mechanisms are mainly composed of two stages. The IQA is used for adapting the highest possible layer with static resources (Screen resolution, bandwidth, and processing power). Moreover, the PQA [11] is responsible for adjusting the layer according to the changes of dynamic resources (network condition and throughput). However, it cannot adapt the Quantization Parameter (QP) with instantaneous throughput available and peer churn.

In contrast to the mentioned pieces of work, in this paper, we present our P2PTV system with full support for quality adaptation using SVC. Therefore, we use three-dimensional scalability as defined by the H.264/SVC standard [12] to adapt to different peer resources and available real-time resources.

Our results show that our proposed algorithms can provide the best quality level adaptation with available resources and contribute to giving more robustness against heterogeneous peers and high churn rates. LLI [13] is demonstrated via the effectiveness of quality adaptation with the heterogeneous network terminal devices that have distinct characteristics in terms of subjective quality; for the actual playback we use a modified version of the MPlayer [14] that supports SVC [12], scaling method MOS, and objective QoE metric like SSIM. By the same token, LLA [13] is evaluated and compared with PQA [11] on PSNR metric of objective QoE using PSIM simulator [15]. Deployment and evaluation show that the LLA can achieve a remarkable video streaming PSNR value increase.

The rest of this paper is organized as follows. Background on SVC, P2PTV streaming, adaptive streaming, and Quality of Experience are given in Section 2. The proposed of our quality adaptation algorithms that use SVC is described in detail in Section 3. Section 4 illustrates the simulation results as well as our analysis and we conclude the paper in Section 5.

2. Background

2.1. Scalable Video Coding

Scalable Video Coding (SVC) [16, 17] is an extension of the H.264/MPEG-4 Advanced Video Coding standard [18], which introduces a special layered encoding; this is similar to progressive JPEG, used for image compression and transmission over the Web. A video encoded in SVC format is created composing multiple substreams derived from the original video signal. Each substream can be transmitted independently from the others. However, in order to reconstruct the video, the client has to start from the base layer and then sequentially use the available improvement layers. This way, starting from a single encoded video stream is possible to achieve a multi bitrate streaming service. In contrast, other currently used technologies require separate encoding of each individual stream at different bit rate. This operation needs to be done once, if the streams are stored as independent files, or each time the content is required if done on the fly. In the first case, for a typical streaming service, between 3 and more than 10 copies of each video are created and stored on the transmitting source, introducing a great redundancy. While the storage costs are becoming less of a factor, this approach greatly increases the initial efforts and the ongoing maintenance complexity of the system. In the second case, we remove the storage requirements, but the encoding process has significantly higher computing cost. SVC tries to reduce those costs while keeping encoding efficiency and an efficient granularity.

2.2. P2PTV Streaming

Traditional Internet TV services based on a simple unicast approach are restricted to moderate numbers of clients. The overwhelming resource requirements make these solutions impossible when the number of users grows to millions. By multiplying servers and creating a content distribution network (CDN), the solution will scale only to a larger audience with regard to the number of deployed servers which may be limited by infrastructure costs. Finally, the lack of widespread deployment of IP-multicast limits the availability and scope of this solution for a TV service on the Internet scale. Therefore the use of P2P overlay networks [19] to deliver live television in the Internet (P2PTV) is achieving popularity and has been considered as a promising alternative to IP unicast and multicast models [20]. The raising popularity of this solution is confirmed by the amount of new P2PTV [21] applications that have become available, including PPLive, SOPCast, Tvants, TVUPlayer, Joost [22], Babelgum, and Zattoo, and by constantly increasing amount of their users. As the P2PTV is not without drawbacks, currently the popularity is gaining solutions combining multicast, CDN, and P2P approaches. However in certain performance evaluation scenarios, the components of such hybrid systems can be considered separately. The nodes in a P2PTV network, called peers, self-organize themselves to act both as clients and servers to exchange TV content between themselves.

2.3. Adaptive Streaming

Adaptive streaming [23, 24] has a good potential to replace widely used progressive download. Adaptive streaming can dynamically adjust the video bitrate to the varying available bandwidth and prevent prefetching too much future video data when the extra bandwidth is available but the data are eventually left unused. For adaptive streaming, video servers need to maintain multiple copies of the same video with different bitrates for different clients and clients with different kinds of connectivity, which requires additional server storage and reduces cache hit ratio. Recently, Scalable Video Coding (H.264/SVC) [17, 18] is considered to be able to save server storage and increase hit ratio using the existing web cache infrastructure. However, a rate adaptation algorithm still needs to be carefully designed for streaming scalable video [25].

2.4. Quality of Experience

Quality of Experience [2628] is defined as the subjectively perceived acceptability of a service [29]. The perceived quality can be investigated in subjective tests, where presented stimuli such as impaired video sequences are rated by subjects under controlled conditions. The obtained rating expresses the subjective Quality of Experience (sQoE), typically described by the Mean Opinion Score (MOS). However, subjective tests are time-consuming and expensive and have to be undertaken manually, which does not allow for automatic quality ratings by software. This aspect motivates objective metrics, which are designed to correlate with human perception and thus avoid cost and time intensive empirical evaluations. Estimates for the quality obtained by metrics are called objective Quality of Experience (oQoE). In this paper, we focus on two full reference metrics, PSNR and SSIM. PSNR [30] is commonly used for measuring picture quality degradation for the received image quality compared to the original image, whereas SSIM [31] index measures the structural similarity between the original and the received image. Based on results obtained for still images in [31], we introduce a mapping of PSNR and SSIM (oQoE) to a nominal 5-point MOS scale (sQoE) according to Table 1 for expressing an approximation of sQoE.

3. Proposed Quality Adaptive Streaming

In this section, we present the main idea of our proposed novel quality adaptation algorithms using SVC and running at every peer in the P2PTV. Figure 1 depicts the basic architecture of the quality adaptation loop.

Quality adaptation is achieved by adjusting quality according to the different peer resources and network dynamics. It is performed by two modules: the Layer Level Initialization (LLI) and the Layer Level Adjustment (LLA). Both modules form the algorithms that match the layers with resources available at the peer. On one hand, the LLI is used for determining the highest possible layer that a peer can retrieve and play and is performed at session start. On the other hand, the LLA is performed periodically to adjust the layer according to the dynamic changes of the network environment. Next, we give more details on the quality adaptation modules and their role in the P2PTV system.

3.1. Layer Level Initialization (LLI)

Layer Level Initialization (LLI) is invoked at the beginning of video playback in order to avoid long startup times and match resources at session start. The architecture of the LLI is depicted in Figure 2.

The basic idea behind the LLI is to compare the requirements of each SVC video quality with the local resources of each user device. The subtle property of the LLI is that it has to make a decision on the layer level without having any information about effective network conditions and system dynamics. An initial layer set with base quality level is populated at first. According to the three dimensions of scalability in the SVC model, we have identified the following relevant local resources of a devices power (CPU, RAM, and battery life) and user preference (display resolution, frame rate, and PSNR level). And then, bitrate adaptation, complexity adaptation [32], and distributions video length relative battery life [33, 34] adaptation modules select out all compatible quality level based on static resources of a peer considering the user preference limitations. All the compatible combinations are appended as candidates; the final decision is made by selecting the filtered layer level set where values of all three dimensions of scalability are at their maximum.

3.2. Layer Level Adjustment (LLA)

The Layer Level Adjustment (LLA) module is the dynamic part of the quality adaptation loop. The LLA is activated periodically during the SVC video playback every time interval. Its main task is to adjust the selected SVC layer according to the real-time information in order to predict possible stalls before they happen and avoid stalls by temporary switching layer. The architecture of the LLA is depicted in Figure 3. LLA uses time varying information regarding block availability, churn rate, and throughput, respectively, to adapt to status adaptation measured through the SVC, stream rate adaptation, frame rate adaptation, Quantization Parameter (QP), bitrate adaptation, PSNR level adaptation, and complexity adaptation. It starts with the prefiltered of LLI output layer level parameters that contains all quality level combinations supported in terms of the static peer resources as explained above. Similar to the LLI, the LLA final decision algorithm receives the from the different stages of the LLA and then makes a final decision on the three types of scalability to be fetched.

3.2.1. Status Adaptation

This part of the LLA keeps track of the block availability of all connected peers. Its objective is to check whether the current layer can be supported by the available blocks from current neighbors. Using the net-status adaptation, the SVC layer of a peer can be adapted according to the real-time resources of its connected peers, so that the playback does not need to stop and wait for unavailable blocks. Consequently, the number of stalls can be reduced during the playback.

3.2.2. Streaming Rate

We define the streaming rate [35] as the total amount of received video data per second. The average streaming rate is calculated across all active peers and represents a basic performance metric that is given by where is the number of all active peers in the system. We use to denote the average upload capacity participating peers and to denote the upload capacity of dedicated streaming server.

3.2.3. Churn Rate

We refer to the ratio of the total number of peers that join the streaming system during the simulation time to the total number of peers that leave the system as the churn rate [36]:

3.2.4. Bitrate Adaptation

This step of the LLA changes the SVC layer by using the active download throughput. The goal of the bitrate adaptation is to predict possible buffer underruns due to slow block supply. Therefore, it adapts the SVC layer so that the bit rate fits the dynamic throughput, thereby avoiding potential stalls.

3.2.5. Quantization Parameter

We have modeled the layer level of SVC video by using the Gilbert Elliot diagram [37] which is based on a two-state Markov model as a shown in Figure 4, where state represents the state of base layer, while state represents the state of enhancement layer. The transition from to represents the Quantization Parameter . In contrast, The transition from to represents the Quantization Parameter .

3.2.6. Complexity Adaptation

The complexity adaptation component uses a complexity model following the approach of [38] that works by mapping every set of quality levels (spatial, temporal, and SNR) into processor cycles required for decoding the SVC coded video stream. Based on definitions in Table 2, decoding complexity of an SVC stream can be calculated. The complexity for decoding scalable streams is given by

4. Simulation

4.1. Experimental Setup

We have implemented the proposed quality adaptive streaming in simulator PSIM [15] using Java language. Our implementation was validated by using actual video stream. To conduct rigorous quantitative analysis of the proposed algorithms under wide range of working conditions, we implemented a testing application to emulate the characteristics of realistic P2PTV systems. This testing application enables us to conduct controllable and repeatable experiments with different parameters and large number of peers. The setup of our experiments is as follows. Our simulation lasts for 10 min with varied cross traffic to present the dynamic end-to-end resources. We create a highly dynamic P2P streaming system with 180 heterogeneous peers that are randomly and continually changing. In addition, we consider having one server with 4086 Kbps. The basic setup used for the performance evaluation is shown in Table 3. The upload bandwidth values of peers are chosen according to the distribution given in Table 4.

Without losing generality, we consider one video source [39] with length of 100 frames. By using JSVM [40], the video source is encoded into a total of 17 layers which contains 1 layer for both spatial and quality scalability and 4 layers for temporal scalability. And the specific layer bitstream information is depicted in Table 5. As models for evaluating the perceived quality by end users for the resized and disturbed video sequence, we used PSNR metric and SSIM. An efficient implementation of these metrics is provided by the MSU Video Quality Measurement Tool [41].

4.2. Experimental Results

Now, we evaluate how our proposed adaptation algorithms improve the performance of the P2PTV system and we simulate changing parameters to see how the LLA reacts to them. We analyze the impact of several system parameters on the performance and robustness of our mechanisms, especially in presence of heterogeneous network terminal devices that have distinct characteristics and high peer churn rates. Also, we simulate the scenario with quality adaptation by LLI and without it in terms of subjective quality of playback MPlayer, subjective QoE estimation with MOS, and objective metric with SSIM. Moreover, we estimate the performance and efficiency of module LLA by comparing it with module PQA on objective QoE (PSNR metric).

4.2.1. Quality Adaptive by LLI

Figure 5 [42] shows the received video quality at network terminal device in each scenario, that is, with our proposed LLI mechanism and without applying it along with the expected video layers quality when using the four different quality layers. We observed that LLI mechanism improves the subjective quality as compared to the scenario without quality adaptation and provides considerably a better quality. Also, we can notice in Figures 6 and 7 that the MOS values (sQoE) and the SSIM measurement (oQoE) correspond to the number of layers at the peers in the scenario with quality adaptation that is much higher than that of without quality adaptation. This can be explained by the adaptation of Quantization Parameter (QP) with SVC layer for the end users. The obtained results show a noticeable improvement in the overall QoE for the perceived video at receiver end.

4.2.2. Performance of LLA

In this section, we evaluate the performance of LLA by comparing it with PQA [11] on the system P2PTV by varying the Quantization Parameter (QP) in the scenario of LLA but it fixed in the scenario of PQA for each layer with fluctuation curve of peer throughput (Figure 8). The quality adaptation with the LLA compared to the PQA is presented in Table 6. As shown in these results (Figures 9 and 10), we noticed that LLA module achieves better average PSNR value than PQA module in terms of adapted QP for each layer with vibration of throughput.

4.2.3. Impact of Churn Rate on Quantization Parameter (QP)

In this scenario, we enable the module LLA for adapting the real time resources with the video stream in Table 5 and we measure the average streaming rate during live streaming sessions. In this evaluation we study the impact of the churn rate on the Quantization Parameter (QP) of layer level during streaming and we consider a highly dynamic peer-to-peer network with highly frequent arrivals and departures of peers. In highly dynamic peer-to-peer systems, some peers join the system, start streaming, and also contribute their resources to others. At the same time, other peers may be leaving the system, which will result in loss of upload resources and perhaps disruption of some ongoing streaming sessions. As the churn rate increases, the network becomes more dynamic. We measure Quantization Parameter (QP) of quality level perceived across all peers for each churn rate. For example, a churn rate of 2 means that if number of peers leaves the system during the simulation time, new peers will arrive during that period. From Figure 11 we can see that the adaptation of bitrate, average streaming rate, and Quantization Parameter (QP) by LLA module with churn rate which varies between 1 and 10. When the churn rate increases we observe that the bitrate and average streaming rate decrease. But, the important factor of Quantization Parameter (QP) increases, and vice versa.

The deployment and evaluation show that our mechanisms are adaptable with heterogeneous end terminals of peers and available real-time resources. Indeed the LLI can provide very good quality adaptation in terms of subjective quality of playback MPlayer, subjective QoE estimation with MOS, and objective QoE by mean of the SSIM. Furthermore, the LLA makes a remarkable increase in video quality value under fluctuation throughput available at the peer.

5. Conclusions

In this paper, we have developed the quality adaptation mechanisms required for SVC-based P2PTV systems. Those mechanisms can adapt the video quality to both static and dynamic peer and system resources.

The distinction between LLI and LLA is crucial in separating adaptation stages of a streaming session. The LLI assures that static resources of a peer are considered and matched to prevent overloading which means it can adapt video quality with different capabilities of clients’ devices. But, the LLA adapt SVC layer of a peer according to the real-time resources and fluctuations of network conditions, so that the playback does not need to stop and wait for unavailable blocks. Consequently, the number of stalls can be reduced during the playback.

The simulation results showed that our mechanisms react quickly to various system changes while providing best quality adaptation of scalable streaming with available resources and unpredictable network. We have shown that LLI can help P2PTV system to achieve a better quality adaptation for subjective quality of playback MPlayer, subjective QoE with MOS, and objective of QoE assessment method with SSIM. Furthermore, we have demonstrated the effectiveness of the LLA module compared to the PQA one. It can be concluded that the adaptation using LLA enables a remarkable increase in objective QoE of PSNR value compared to the existing adaptation PQA mechanism while considering the Quantization Parameter (QP).

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.