Adaptive Playout Buffering for H.323 Voice over IP Applications

Similar documents
Assessing the Quality of VoIP Transmission Affected by Playout Buffer Scheme

Experimental Evaluation of Jitter Buffer Algorithms on Voice over IP Networks

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Multimedia Networking

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Mobility Management for VoIP on Heterogeneous Networks: Evaluation of Adaptive Schemes

Chapter 5 VoIP. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March Multmedia Networking

ANALYSIS OF THE CORRELATION BETWEEN PACKET LOSS AND NETWORK DELAY AND THEIR IMPACT IN THE PERFORMANCE OF SURGICAL TRAINING APPLICATIONS

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

PERFORMANCE EVALUATION OF AN IP VOICE TERMINAL

Receiver-based adaptation mechanisms for real-time media delivery. Outline

WKH4XDOLW\RI9RLFHRYHU,3 LVLWWKHUH

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Transport protocols Introduction

Gauging VoIP Call Quality from WLAN Resource Usage

Digital Asset Management 5. Streaming multimedia

Multimedia Networking

Content distribution networks

Location Based Advanced Phone Dialer. A mobile client solution to perform voice calls over internet protocol. Jorge Duda de Matos

Effect of Free Bandwidth on VoIP Performance in b WLAN Networks

Impact of Voice Coding in Performance of VoIP

Mohammad Hossein Manshaei 1393

An Empirical Study of Delay Jitter Management Policies

An application of neural networks to adaptive playout delay in VoIP

Multimedia Applications. Classification of Applications. Transport and Network Layer

An Empirical Evaluation of VoIP Playout Buffer Dimensioning in Skype, Google Talk, and MSN Messenger

Xiaotang Zhang and Henning Schulzrinne Department of Computer Science Columbia University September 28, 2004

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

Streaming (Multi)media

CS 457 Multimedia Applications. Fall 2014

Voice Quality Assessment for Mobile to SIP Call over Live 3G Network

Chapter 7 Multimedia Networking

Introduction to Quality of Service

Investigation of Algorithms for VoIP Signaling

Comparison of Shaping and Buffering for Video Transmission

packet-switched networks. For example, multimedia applications which process

Transporting Voice by Using IP

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

MULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols

RTP/RTCP protocols. Introduction: What are RTP and RTCP?

Scheduling for VoIP Service in cdma2000 1x EV-DO

An Analysis of Quality of Service (QoS) In Live Video Streaming Using Evolved HSPA Network Media

Tema 0: Transmisión de Datos Multimedia

An Inter-arrival Delay Jitter Model using Multi-Structure Network Delay Characteristics for Packet Networks

Low delay MP3 Internet Telephony

COMP 249 Advanced Distributed Systems Multimedia Networking. Performance of Multimedia Delivery on the Internet Today

Networking Applications

Transporting audio-video. over the Internet

Multimedia Networking

QoS metrics and requirements

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Multimedia in the Internet

QoS-Aware IPTV Routing Algorithms

Skype Video Responsiveness to Bandwidth Variations

Multimedia Networking

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

4 rd class Department of Network College of IT- University of Babylon

AT&T Collaborate TM. Network Assessment Tool

Application-Level Measurements of Performance on the vbns *

ETSF10 Internet Protocols Transport Layer Protocols

An Adaptive Jitter Buffer Playout Algorithm for Enhanced VoIP Performance

Evaluation of VoIP Speech Quality Using Neural Network

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

Affects of Queuing Mechanisms on RTP Traffic Comparative Analysis of Jitter, End-to- End Delay and Packet Loss

Estimation of available bandwidth

Comparison of the Quality of Service (QoS) on the IEEE e and the g Wireless LANs

Lecture 9: Media over IP

Multimedia networking: outline

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

INTERNATIONAL TELECOMMUNICATION UNION

SIMULATION FRAMEWORK MODELING

On TCP friendliness of VOIP traffic

DiffServ Architecture: Impact of scheduling on QoS

Real-Time Protocol (RTP)

Investigating Factors Influencing QoS of Internet Phone. Technical Report

Multimedia Networking

Advanced Computer Networks

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Lecture 14: Multimedia Communications

Episode 5. Scheduling and Traffic Management

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Multimedia

The difference between TTC JT-Y1221 and ITU-T Y.1221

Real-time Services BUPT/QMUL

Assessing Call Quality of VoIP and Data Traffic over Wireless LAN

Real-Time Control Protocol (RTCP)

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

SSD Admission Control for Content Delivery Networks

CSCI-1680 Link Layer Reliability John Jannotti

Chapter 1 Introduction

Progress Report No. 3. A Case Study on Simulation Scenario

QoS User view From modelling to service class

Improving Groupware Performance in Lossy Networks with Adaptive Forward Error Correction

Effects of Interleaving on RTP Header Compression

Alcatel OmniPCX Enterprise

A Real-Time Network Simulation Application for Multimedia over IP

DiffServ Architecture: Impact of scheduling on QoS

Transcription:

Adaptive Playout Buffering for H.323 Voice over IP Applications M. Narbutt and L. Murphy Department of Computer Science University College Dublin Belfield, Dublin 4 Abstract In this paper we investigate the performance of various buffer algorithms that might be implemented in H.323 VoIP applications. The main objective of those algorithms is to minimize effect of the delay jitter. We have tested those algorithms in the Internet using H.323 VoIP terminals. Our results show that the algorithm proposed by us can achieve the lowest rate of lost packets while adding acceptably small delays. 1. INTRODUCTION Real-time Internet applications such as IP telephony require certain levels of Quality of Service (QoS). From the user s point of view, the two most significant characteristics of VoIP QoS are the delay and the packet loss ratio. When packet loss ratio exceeds 5% and one-way end-to-end time delay exceeds 400 ms, holding an IP-based telephone conversation becomes difficult. Poor quality of voice connections on the Internet can be improved by adaptive playout buffering at the receiver. The main objective of this technique is to remove jitter, minimize delay, and to keep packet loss (due to their late arrival) as low as possible. 2. JITTER BUFFERING The audio packets must be played out at the receiver site in a timely manner and in the order they were emitted from the sending site. This requirement is complicated by packet losses and variable network delays (jitter). To compensate for jitter a playout delay mechanism is implemented at the receiving site. This mechanism works by collecting packets and storing them in the jitter buffer to allow the slower packets to arrive in time to be played out. The size of the jitter buffer may be kept fixed, or adaptively adjusted during the transmission. The larger the buffer is, the more late packets can be successfully played out. Unfortunately, it is impossible to find an optimal, fixed buffer size when network conditions vary with time. The fluctuating end-to-end delays in the Internet may cause latency to increase to a level where it is annoying to users (when the buffer is too large) or may cause packet losses due to their late arrivals (when the buffer is too small). When an adaptive playout mechanism is used, the size of the jitter buffer is adjusted dynamically depending on the delays experienced by already received packets. The main objective of the adaptive jitter buffering is to keep the packet loss rate (due to their late arrival) under 5% and to keep the end-to-end delay as small as possible. 3. ADAPTIVE PLAYOUT ALGORITHMS Adaptive techniques perform continuous estimation of the network delays and dynamically adjust playout delays. The playout delays are computed and adjusted at the beginning of each talkspurt for the first packet of that talkspurt. This mechanism uses the same playout delay throughout a given talkspurt but permits different playout delays for different talkspurts. The variation of the playout delay introduces artificially elongated or reduced silence periods. In this chapter we describe seven different playout algorithms. Figures presented here show calculated playout times and network delays of received packets. We ran the seven algorithms on the same set of data so we were able to compare the performance of the algorithms under identical network conditions. During the transmission we sent 6000 packets between two H.323 terminals. Our terminal was set for 3 audio frames per packet. We have chosen G.723.1 encoding scheme, which provides one audio frame (24 bytes) every 30ms. The bit rate was 6.4 kbps. The maximum, average and minimum transmission delay was respectively: 461ms, 180 ms and 49 ms. The standard deviation was 26 ms. First four adaptation algorithms [1] were proposed by Ramjee et al in 1994. Each algorithm estimates, for each incoming packet, the average network delay and a variation measure of this delay.

3.1 Algorithm 1 i i i Let p be estimate of the playout delay of the i-th packet, d and v be estimate of the packet delay and its variance during the flow, respectively. Then at the beginning of a new talkspurt, the playout delay is computed as follows: i v i p = d i + B * Any subsequent packets of that talkspurt are played out with rate equal to the generation rate at the sender. The estimates d and v are the running estimates of the packet delay and its variance and are computed as follows: d i = A* d (i-1) + (1-A)*n i ; v i = A* v (i-1) + (1-A)* d i n i ; They are initialized when the first packet of the flow is received and updated each time a new packet arrives according to the total delay of that packet ( n i ) introduced by the network. Constant A is a fixed weighting factor that characterizes the memory properties of this estimation. A is usually chosen to be 0.99802 to limit sensitivity to short-term packet jitter. B is a variation coefficient that controls delay/packet loss ratio (the larger the coefficient, the more packets are played out at the expense of longer delays). B is usually chosen to be 4. The figures below show the calculated playout times (darker line) and the network delays (dots) of received packets. Packets whose delays are above the darker line are lost. All the others are successfully played out. 3.2 Algorithm 2 Fig1. Playout times calculated by the algorithm 1 ( two different values of A) The idea behind the Algorithm 2 is to use two values of the weighting factor A, a smaller one (A_BIS ) for increasing trends in the delay and a bigger one (A) for decreasing trends. This algorithm is similar to the first one but adapts more quickly to short burst of packets incurring long delays. The algorithm compares the network delay of each incoming packet with the computed estimate of this delay and if necessary, switches between A and A_BIS factors. Algorithm 3 is presented below. if ( n i > factor * d (i-1) ) d i = A_BIS* d (i-1) + (1-A_BIS)*n i ; v i = A_BIS* v (i-1) + (1-A_BIS)* d i n i ; else d i = A* d (i-1) + (1-A)*n i ; v i = A* v (i-1) + (1-A)* d i n i ; i p = d i + B* v i Fig2. Playout times calculated by the algorithm 2

3.3 Algorithm 3 The third algorithm attempts to be more aggressive in minimizing delays. Instead of using running estimate of packets delays, it uses the minimum network delay of all packets received in the previous talkspurt (k-1) as the average delay. d i [k]= minn i=1 N [k-1] The running estimate of the average delay variation v i and the playout times are computed like in the algorithm 1. 3.4 Algorithm 3 b This algorithm, proposed by us, is a modification of Algorithm 3. It uses the maximum delay of all packets received in the previous talkspurt as the estimate of the average delay. This modification minimize packet loss factor. 3.5 Algorithm 4 Fig3. Playout times calculated by the algorithm 3 and algorithm 3 b This algorithm detects spikes steep raises in network delays, followed by a monotonic decrease back to the normal level. It has two modes of operation, depending on whether a spike has been detected. For every packet that arrives at the receiver, the algorithm checks the current mode and, if necessary, switches its mode. If a packet arrives with a delay that is larger than given threshold (for example some multiple of the current playout delay), the algorithm switches to the spike mode. The detection of the completion of the spike makes use of a variable var (with an expotentially decaying value) that adjusts to the slope of spike. When its value is small enough, the algorithm reverts back to normal mode. if (mode=normal) if ( n i - n i-1 > spike_threshold) mode = SPIKE; var = 0; else var = var/2+2*n i - n i-1 - n i-2 ; if ( var < spike_end ) mode = NORMAL; Fig4. Playout times(set of data with a spike) calculated by the algorithm 4 The two modes differ in how the estimate of network delay is updated. In normal mode, running estimate of the average delay is computed like in Algorithm 1: d i = A* d (i-1) + (1-A)*n i ; During a spike, the delay estimate is dictated only by the most recently observed delay values: d i = d (i-1) + n i - n (i-1) ; Estimation of the delay variation and the playout time are computed like in Algorithm 1.

3.6 Algorithm 5 In 1995 Moon et al proposed an algorithm [2] that collects network delays of already received packets and use them to estimate the playout delay. The delays of the last K packets are recorded and the distribution of the delays is updated with each incoming talkspurt. The playout delay is chosen by finding the delay which represents the given quantile among the last K packets. This determination is made using a histogram incrementally updated. When a new packet arrives, the delay of the oldest packet is removed from the histogram, and the delay of the newest is added. The delay distribution is computed using a cumulative sum of the frequencies, and is done only in the beginning of a new talkspurt. Algorithm 5 also detects spikes. Once a spike is detected, it stops collecting packet delays. If a new talkspurt begins during a spike, it uses the delay of the first packet of a talkspurt as the playout delay for that talkspurt. Fig5. Playout times calculated by the algorithm 5( for two different numbers of recorded delays) The number of recorded packet s delays K determines how sensitive the algorithm is to the changing network conditions. If K is too small, the algorithm is likely to produce a poor estimate of the playout delay. If it is too big, the algorithm will keep track of an unnecessarily large amount of past history. 3.7 Algorithm 6 This algorithm [3], proposed in 1999 by Pinto and Christensen, is supposed to target any desired loss rate. It adapts the buffering delay based on arrival times of packets received in the previous talkspurt only. The playout delay is taken straight from the ordered list of delays of that talkspurt. The algorithm loops through the ordered list of the delays until a certain point: the playout delay should be minimum amount of delay that is required to play out the previous talkspurt at exactly desired packet loss. Like the two previous algorithms, algorithm 6 operates in two modes. In the spike mode it uses the delay of the first packet of a talkspurt as the playout delay for that talkspurt. Fig6. Playout times calculated by the algorithm 6. Two cases: without a spike and with a spike. 4. ALGORITHM COMPARISION To examine the performance of the playout algorithms we have built a terminal based on OpenH323 source code [4]. This terminal is H.323-compliant [5] and can interoperate with other H.323 software that uses G.711 A-law, G.711 u- law, G.723.1, GSM audio and H.261 video compression schemes.

We tested the performance of these algorithms in the Internet, with one terminal in Dublin and one in Poznan, Poland. During the transmission, we collected experimental data (the arriving times, timestamps, sequence numbers and marker bits) of all received packets at the receiving host. In order to compare the playout algorithms, we wrote a simulator, which process that data simulating the behavior of the playout algorithms. The simulator ran the seven algorithms on the same set of data so we were able to compare the performance of the algorithms under identical network conditions. For the first delay measurements we have chosen the most popular in IP telephony: G.723.1 encoding scheme with the bit rate 6.4 kbps. The G.723.1 encoder provides one frame of audio (24 bytes) every 30 ms. Our terminal was set for three audio frames per packet. During 10 minutes transmission we sent 6700 packets. The maximum, average and minimum transmission delay was respectively: 595ms, 124 ms and 55 ms. The standard deviation was 28 ms. Figures below show the performance of the playout algorithms in terms of average buffering delay vs. percentage of packets received on time, the most popular performance metric used in technical literature. We controlled delay/packets loss ratio changing the B factor (algorithms 1-4), varying the percentile point of the distribution function (algorithm 5), or choosing different desired loss rate (algorithm 6). Fig.7 Buffering delay vs. percentage of packets received on time (three G.723 audio frames/packet) From the graphs above we can infer that the algorithm 6 performs quite poorly having less than 95% received on time, algorithm 5 is the best in minimizing delays while algorithms 3 and 3 b are the best in minimizing packet loss. To examine the performance of the playout algorithms for different packets size we have chosen a GSM encoding scheme. The GSM encoder provides one frame of audio (33 bytes) every 20 ms. In the beginning our terminal was set for one audio frames per packet. The maximum delay was 3.95s due to spikes occurrence during the transmission. The average and minimum delay was 126 ms and 24 ms respectively. Standard deviation was 365 ms. Fig. 8 Buffering delay vs. percentage of packets received on time (one GSM audio frames/packet) All of the algorithms, except algorithm 6, appeared to perform very well with a packet loss ratio below 5%. The best by that measure was our algorithm 3b. Algorithm 5, on the other hand, was the best in minimizing delays. Algorithm 4 designed for spike detection reached the best delay/packets loss ratio. In the next experiment our terminal was set for five frames per packet. The maximum, average and minimum transmission delay was respectively: 415ms, 126 ms and 25 ms. The standard deviation was 25 ms. Finally our terminal was set for seven frames per packet. The maximum, average and minimum transmission delay were: 461ms, 180 ms and 49 ms. The standard deviation was 26 ms.

Fig. 9 Buffering delay vs. percentage of packets received on time (five GSM audio frames/packet) Fig. 10 Buffering delay vs. percentage of packets received on time (seven GSM audio frames/packet) From the figures above we can see that all of the algorithms, except Algorithm 6, appear to perform very well reaching packet loss ratio smaller than 5%. The best by that measure was our Algorithm 3b. 5. CONCLUSION AND FUTURE WORK In this paper we have investigated the performance of seven different algorithms for adaptive buffering of packets at the receiver. The main objective of those algorithms is to keep the packet loss rate under 5% and to keep the playout delay as small as possible. We have compared those algorithms from the perspective of number of packets received on time and delays introduced by adaptive buffering. Our results indicate that the algorithm proposed by us (algorithm 3 bis) can achieve the lowest rate of lost packets (2% or less) while adding acceptably small delays. Additional advantage of that algorithm is its small computational complexity. All the other algorithms, except algorithm 6, keep the packet loss ratio under 5%. For the future work we want to determine the sensitivity of the algorithms to various parameters that control the behavior of the adaptive buffering (A, A_BIS, B, SPIKE_THRESHOLD, etc.). Finally, we want to focus on the synchronization process between audio/video streams at the receiver when adaptive algorithms are implemented. REFERENCES 1. Ramachandran Ramjee, Jim Kurose, Don Towsley, and Henning Schulzrinne, Adaptive playout mechanisms for packetized audio applications in wide-area networks, in Proceedings of the Conference on Computer Communications (IEEE Infocom), Toronto, Canada, June 1994 2. Sue B. Moon, Jim Kurose and Don Towsley, Packet Audio Playout Delay Adjustment: Performance Bounds and Algorithms in ACM Multimedia Systems, 1998 3. Jesus Pinto and Kenneth J. Christensen, An Algorithm for Playout of Packet Voice based on Adaptive Adjustment of Talkspurt Silence Periods, Department of Computer Science and Engineering, University of South Florida, Tampa, Florida, 1999 4. Source code available from www.openh323.org 5. PACKET-BASED MULTIMEDIA COMMUNICATIONS SYSTEMS, ITU-T Recommendation H.323, February 1998