kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

Post on 29-May-2015

268 views 3 download

Tags:

transcript

Optimizing VoIP quality in a congested network, considering both the network and voice characteristics

Steffen Præstholm

Motorola A/S

2/52

Agenda:

• Perceptual importance of voice frames

• Exploiting perceptual importance in a Differentiated Service scenario

• Exploiting perceptual importance in an early discard scenario.

•Assignment: Applicability of Forward Error Correction

3/52

VoIP System

Key Performance Indicators:• Delay Jitter• Delay• Packet loss• Codec

4/52

Packet Loss Concealment (PLC)

Receiver:Packet loss → Packet (Frame) Loss Concealment (PLC)

• Extrapolation: Predict the content based on the prior frame.

•Interpolation: Estimate the content based on the prior and the following frame

5/52

Perceptual Importance

Do you think that all voice frames are equally important ?

6/52

Perceptual Importance

One definition:”Frame perceptual importance is defined as the quality of the frame loss concealment measured relative to the playout signal following a reception.”

7/52

Metallic sound

8/52

Artifact Examples (iLBC)

• Metallic

• Energy amplitude dive

• Lost Onset

• Periodic repetition of unvoiced

• Ok maskering

9/52

Measuring Perceptual Importance

• Perceptual importance evaluation using PESQa

10/52

Measuring Perceptual Importance

Sample

• We can measure perceptual importance! • Often low at onsets

Am

plitu

deP

ES

Qa

11/52

Perceptual Importance

How do we exploit the knowledge on frame perceptual Importance?

12/52

Goal

If VoIP frames (packets) are lost due to an overloaded connection, we would prefer to lose the least important frames.

13/52

Perceptual Importance gain

Perceptual discardingRandom dropping

Discard/Drop rate

14/52

Points of Action

Encoder/Source: Here we estimate the perceptual importance. This would be too cumbersome to do in the network.

Routers: These are the points where packets are dropped.

15/52

Agenda:

• Perceptual importance of voice frames

• Exploiting perceptual importance in a Differentiated Service scenario

• Exploiting perceptual importance in an early discard scenario.

•Assignment: Applicability of Forward Error Correction

16/52

Research Questions

Can we ensure that the packets dropped in thenetwork contains the perceptual least importantframes:

• Can we exploit Perceptual knowledge to improve play-out quality for packets transmitted across a network deploying Defferentiated Services. (Take action at the point of congestion)

• How do we change the characteritics of the loss patterns.

17/52

Differentiated Services (DS) Summery

The basic ideas:

• Traffic is divided into different Quality of Service classes, which allows for preferential treatment at routers.

• The class is determined by the DS code point. This is a header field which can be set by the transmitter.

• The choice of scheduling (static priority, weighted fair queuing) and queue management tools (Random Early Detection, Drop tail) determine the behavior of DS at a particular router.

• The Service License Agreement states the QoS agreed upon terms between network provider and the user.

18/52

Differentiated Services Approach

Idea: VoIP packets are assign to different QoS classes with better service given to more important packets.

Note: The DS code point (6 bit) cannot handle more than 64 classes.

Implementation:We chose to implement two QoS classes: a ”premium channel” and an ”ordinary channel”.

19/52

Differentiated Services implementation and test

1. How do we implement the premium and ordinary channels?

We use the RED virtual queue.

2. How do we model the network and test the scheme?

We chose a bottleneck scenario.

20/52

The Random Early Detection (RED) queue

Parameters: Min, Max, Avg. queue size (low pass filter), Max drop.

21/52

The Random Early Detection (RED) queue.

Physical Queue shared by Ordinary and Premium traffic

Virtual RED Queue for Ordinary traffic

Packet arrivals Packet departures

• Physical drop tail queue + virtual RED queue (drop tail).

• Max drop=0, avg. size = current size. • The RED queue size (MAX) is chosen to optimize quality.

22/52

The Bottleneck.

Assume:Packets are dropped at a single point of congestion. This is the router with the lowest bandwidth (Link capacity in these experiments).

Simulator: NS2, C program, Matlab ...

23/52

The Bottleneck.

• We use the iLBC coder. Generates a frame every 30 ms.Although packets are generate periodically by the encoder, they arrive at the bottleneck with some variation due to the crossing of the network prior to the bottleneck. To capture this variation, packet inter-arrival times are exponentially destributed.

• 10 users share the bottleneck

• All users show social behavior (equal number of premium packets). Otherwise they violate the the SLA and traffic shaping can be applyed to adjust their number of Premium packets (the gain from perceptual importance is lost).

24/52

Optimal RED (ordinary traffic) queue size.

Bandwidth = 200 kb/s

25/52

PESQ-MOS results (Optimal premium packet rate)

• Perceptual importancecan be exploited to im-prove quality.

•The gain is higher for Higher degrees of congestion.

26/52

The Packet loss probability

•Total loss rate is typicallyincreased.

• Here there is room forImprovement.

27/52

Pros. and Cons.

Pros: • Ensure that packets are dropped with respect to Perceptual importance.• Take action at the point of congestion (fast reaction to congestion, although not fully utilized).

Cons:• Limited number of QoS classes.• Increase loss probability.• Packets are allowed to travel acoss part of the network before the are dropped.

28/52

Agenda:

• Perceptual importance of voice frames

• Exploiting perceptual importance in a Differentiated Service scenario

• Exploiting perceptual importance in an early discard scenario.

•Assignment: Applicability of Forward Error Correction

29/52

Research Questions

1. Can we exploit Perceptual knowledge to improve play-out quality in a setup where congestion is avoided by means of rate adaptation (discarding frames at the source).

2. How do we change the characteritics of the frame loss patterns.

30/52

Advantages

1. We choose which packets to discard with no limit on the number of QoS classes. We can choose to discard the perceptual least important frames.

2. The encoder and the decoder are both aware of a frame loss due to a frame discard. (synchronization for state dependent coders)

Perceptually based frame discarding:

31/52

adaptive codebookadaptive codebook adaptive codebookadaptive codebook

adaptive codebookadaptive codebook

Lost

adaptive codebookadaptive codebook

Error Propagation

• Loses lead to error propagation (state dependent coders) • Need to re-synchronize adaptive code-books

32/52

Error Propagation

samples

33/52

Decoder state prediction

• If the loss is known, then it is possible to update the encoder state with the predicted decoder state.

State prediction

Discard notice

34/52

Synchronization Effect.

samples

35/52

Perceptual Frame Discarding gain

36/52

The Bottleneck.

Assume:Packets are dropped at a single point of congestion. This is the router with the lowest bandwidth.

VoIP dedicated network or queue.

37/52

The Bottleneck.

• We use the AMR coder in discontinuous transmission mode (state of the art frame discarding). Generates a frame every 20 ms during ON times.

• Although packets are generate periodically by the encoder, they arrive at the bottleneck with some variation due to the crossing of the network prior to the bottleneck. To capture this variation, packet inter-arrival times are exponentially destributed.

• N VoIP flows share the bottleneck

38/52

The Bottleneck ON/OFF traffic.

ON ON ONOFF OFFOFFOFF

F1

F2

FN

• The number of sources currently in the ON state changes over time. Hence the might not be overloaded all the time. • (Traffic analysis II course (DIRS9))

39/52

The Bottleneck.

• All sources show social behavior (equal number of frames discarded). Traffic shaping can be used to ensure that sources comply.

40/52

Results from Perceptually based Frame Discarding (Loss rate)

• Loss rate (discard + drop) increase.

• Arrival process (N) and queue size (K) have an effect on the loss rate.

• Load has an effect on loss rate (not shown)

41/52

Results from Perceptually based Frame Discarding (Quallity)

• Improved Quality (up to 0.4 PESQ-LQO)

• Depends on:N, K and (ρ)

• Range of applicability: 0.8 < ρ < 1.2 (for these N and K values), with Improvements between 0 and 0.8 PESQ-LQO.

42/52

Pros. and Cons.

Pros: • Ensure that frames are discarded with respect to Perceptual importance and no constraint on the level of granularity. • The encoder knows of discarded packets and can perform state synchronization.• (Discarded frames do not load the network at all.)

Cons:• Loss rate increase• Does not take action at the point of congestion (Discard frames even if few sources are in the ON state).

43/52

Future work

• Compare DS and Rate adaptation approachesAMR (discontinous transmission)State synchronization vs. faster reactionFine granularity vs. a few QoS classes.

44/52

Agenda:

• Perceptual importance of voice frames

• Exploiting perceptual importance in a Differentiated Service scenario

• Exploiting perceptual importance in an early discard scenario.

•Assignment: Applicability of Forward Error Correction (queue models)

45/52

Purpose

• To show how a simple queue model can help us to gain a fundamental understanding of Forward Error Correction (FEC).

• When should we apply FEC ?

• How should we apply FEC ?

46/52

Forward Error Correction scheme

• Add redundant versions of each frame to the following packet. (In the family of Reed-Solomon codes)

H

H

H

H

H

H

H

H

H

F10

F10

F10

F10

F10 F10

F9

F9 F9F8

F11

F11

F11

F11

F11

F12

F12

F12

• What is the purpose of FEC ?

47/52

Forward Error Correction scheme

• Applied to reduce frame loss rate• Increases load

H

H

H

H

H

H

H

H

H

F10

F10

F10

F10

F10 F10

F9

F9 F9F8

F11

F11

F11

F11

F11

F12

F12

F12

Ps=H+n ·FS

Ps = Packet size (normalized), H=header size (normalized), n = frames per packet, and FS = frame size (normalized)

48/52

Bottleneck link

How can we model this scenario with a queue model?• Do we know of a simple model we can use to model

the arrival process?• Do we know of a simple model we can use to model

the service time?• What is the impackt of FEC?

Bottleneck LinkVoice flowswith FEC

49/52

Queue model

• Poisson arrival process (exponential distributed inter arrival times)

• Exponential distributed service times• FEC increse the service time.

λ · Ns μ / (H + n · Fs)

λ = coder frame rate , Ns = number of sources, μ = service rate

50/52

Packet loss rate

• How do we calculate the frame loss rate ?

Pl=(1-ρ)ρK/(1-ρK+1)

ρs= λ ·Ns / μ, (one frame per packet)

ρ= ρs · (H + n · Fs)

51/52

Frame loss rate

• Assume independent losses (Best case)

Pl_f = Pln

52/52

Assignment

• Write a Matlab program that computes the frame loss rate as a function of ρs, n, Fs and K.• Analyse the influence of the different variables on the performance of FEC. That is, try to play around with the different variables and see what happens. • Does FEC always improve performance? If not, are there any general rules as to when it does? • spr@kom.aau.dk, A6-304.