52
Optimizing VoIP quality in a congested network, considering both the network and voice characteristics Steffen Præstholm Motorola A/S

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

Embed Size (px)

Citation preview

Page 1: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Steffen Præstholm

Motorola A/S

Page 2: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 3: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

3/52

VoIP System

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

Page 4: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 5: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

5/52

Perceptual Importance

Do you think that all voice frames are equally important ?

Page 6: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.”

Page 7: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

7/52

Metallic sound

Page 8: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

8/52

Artifact Examples (iLBC)

• Metallic

• Energy amplitude dive

• Lost Onset

• Periodic repetition of unvoiced

• Ok maskering

Page 9: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

9/52

Measuring Perceptual Importance

• Perceptual importance evaluation using PESQa

Page 10: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

10/52

Measuring Perceptual Importance

Sample

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

Am

plitu

deP

ES

Qa

Page 11: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

11/52

Perceptual Importance

How do we exploit the knowledge on frame perceptual Importance?

Page 12: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

12/52

Goal

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

Page 13: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

13/52

Perceptual Importance gain

Perceptual discardingRandom dropping

Discard/Drop rate

Page 14: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 15: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 16: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 17: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 18: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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”.

Page 19: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 20: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

20/52

The Random Early Detection (RED) queue

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

Page 21: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 22: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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 ...

Page 23: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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).

Page 24: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

24/52

Optimal RED (ordinary traffic) queue size.

Bandwidth = 200 kb/s

Page 25: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 26: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

26/52

The Packet loss probability

•Total loss rate is typicallyincreased.

• Here there is room forImprovement.

Page 27: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 28: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 29: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 30: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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:

Page 31: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 32: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

32/52

Error Propagation

samples

Page 33: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 34: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

34/52

Synchronization Effect.

samples

Page 35: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

35/52

Perceptual Frame Discarding gain

Page 36: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 37: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 38: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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))

Page 39: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

39/52

The Bottleneck.

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

Page 40: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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)

Page 41: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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.

Page 42: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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).

Page 43: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

43/52

Future work

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

Page 44: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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)

Page 45: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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 ?

Page 46: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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 ?

Page 47: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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)

Page 48: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 49: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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

Page 50: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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)

Page 51: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

51/52

Frame loss rate

• Assume independent losses (Best case)

Pl_f = Pln

Page 52: kom.aau.dk/~spr/SIPCom9/SIPCom9_presentation.ppt

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? • [email protected], A6-304.