You are on page 1of 67

Fundamentos de Voz sobre IP

3 – Fluxo de Mídia
Leandro Galvão
Roteiro
 Visão Geral
 Protocolos de Sinalização
 Fluxo de Mídia
 Qualidade de Serviço
Roteiro
 Visão Geral
 Protocolos de Sinalização
 Fluxo de Mídia
 Qualidade de Serviço

 Digitalização da voz
 Codecs
 Protocolos envolvidos
 Reconstituição da voz
Dissecando uma chamada VoIP

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Microfone / Alto-falante

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Microfone / Alto-falante

bobina
ondas acústicas

ímã

diafragma
sinal elétrico de
áudio
Digitalização da Voz

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Digitalização da Voz

Amostragem Quantização Codificação


• coleta periódica de • representação da • atribuição de códigos
amostras do sinal de voz amplitude do sinal numéricos para
analógico amostrado em níveis representar os níveis
discretos quantizados
Digitalização da Voz
:: Amostragem
amplitude

onda sonora

tempo
Digitalização da Voz
:: Quantização
amplitude

tempo
Ruído de Quantização – diferença entre amplitude
original e amplitude representada.
Digitalização da Voz
:: Codificação
amplitude
111
110
101
100
011
010
001
000
tempo

PCM: 8 bits  256 níveis


Digitalização da Voz
:: Codificação
amplitude

111
111
111

011
110

011
110
110

010

001
001

001
010
101

101

250 500 750 1000 1250 1500 1750


tempo (µs)
Digitalização da Voz
:: Teorema de Nyquist

Faixa captada pelo ouvido humano

Energia da fala humana


freqüência
0 4kHz 20kHz

 Teorema de Nyquist:

freqüência de amostragem  2  freqüência do sinal


freqamostragem  2  4 kHz = 8 kHz
Digitalização da Voz
 Taxa de transmissão de bits:
 Quantidade de bits que são transmitidos em um certo
período de tempo

nº bits
período
 Codificação PCM (Pulse Code Modulation):

8 bits
= 64 kbps
125 µs
Codecs

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Codecs
 COder/DECoder
 Hardware ou software utilizado para representar digitalmente
som (ou vídeo) com certo grau de compressão.
 São implementações de algoritmos de
codificação/decodificação.
Codecs
:: Classificação
Forma de • Variações na amplitude da forma de onda são quatificadas
onda • Boa qualidade de voz
(waveform) • Alta taxa de transmissão de bits (64 a 32 kbps)

• Também chamados de voice coders ou vocoders


Paramétricos • Transmite parâmetros que descrevem formação do sinal sonoro
(source) • Baixa taxa de transmissão de bits
• Qualidade de voz baixa (metálica)

• Combinam técnicas anteriores


Híbridos • Taxa de transmissão intermediária
• Boa qualidade de voz
Codecs
:: Classificação
Codecs
:: Classificação
Codecs
:: Retardo
 Retardo de quadro
 Tempo necessário para armazenar amostras de voz que
completem um quadro (frame) de voz a ser enviado

 Retardo de processamento
 Tempo necessário para o codificador analisar a voz ou para o
decodificador reconstituí-la.
 Esse tempo depende da velocidade de processamento do
hardware utilizado no vocoder e pode ser medida em MIPS
(milhões de instruções por segundo)
Codecs
:: Retardo
 Atraso de predição (look-ahead delay)
 Alguns codecs necessitam analisar, além do quadro
corrente, informações contidas no quadro seguinte.
 Essa técnica permite que o codificador utilize a correlação
entre quadros adjacentes no processo de codificação,
visando a diminuir a taxa de transmissão.
 O tempo de coleta das amostras do quadro seguinte é
conhecido como tempo de predição.
Codecs
:: VAD / DTX
 Além da compressão digital da voz, os codecs utilizam outras
técnicas para aumentar a eficiência no uso da largura de
banda:
 detecção de atividade de voz
 VAD – Voice Activity Detection
 supressão do silêncio
 DTX – Discontinuous Transmission

61% silêncio
29% fala

61% silêncio
29% fala
Codecs
:: VAD / DTX
Codecs
:: VAD / DTX
 Pausas entre talk spurts são suprimidas
 Clipping: Atraso para detectar reinício da atividade
de voz

A placa do carro é ... ABC-1234

A placa do carro é ... BC-1234


Codecs
:: CNG / VBR
 Ruído de conforto (CNG – Comfort Noise Generator)
 Para evitar o desconforto de um silêncio total, um ruído é gerado pela
aplicação quando deixa de receber pacotes de voz.

 Taxa de bits variável (VBR – Variable Bit Rate)


 Por meio dessa técnica, o codec pode enviar pacotes utilizando diversas
taxas de transmissão de bits, de acordo com o grau de
congestionamento da rede.
 Codificação VBR produz um nível de qualidade normalmente superior
que a codificação de taxa de bits constante (CBR – Constant Bit Rate).
Codecs
:: Resumo
tempo de tamanho do
padrão algoritmo taxa de bits (kbps)
predição quadro (ms)
G.711 PCM 64 0 0,125
G.726 ADPCM 32 0 0,125
G.728 LD-CELP 16 0 0,625
G.729a CS-ACELP 8 5 10
G.723.1 MPC-MLQ 6,3 7,5 30
G.723.1 ACELP 5,3 7,5 30
GSM 06.10 FR RPE-LTP 13,2 0 20
GSM 06.20 HR VSELP 5,6 0 20
GSM 06.60 EFR CD-ACELP 12,2 0 20
Speex Speex 2,15 – 24,6 10 20
13,3 10 30
iLBC RFC 3951
15 5 20
FIPS 1015 LPC10 2,4 0 30
AMR ACELP 4,75 – 12,2 5 Variável
Codecs
 Exercício:
 Quantos bits são gerados em 10 ms de conversa para cada
codec da tabela anterior?

 Mais informações sobre codecs:


 www.voip-info.org/wiki-Codecs
 http://ozvoip.com/codecs.php

 www.vocal.com

 Recomendação ITU-T G.114


Empacotamento

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Empacotamento

111
111
111

011
110

011
110
110

010

001
001

001
010
101

101
rede IP

250 500 750 1000 1250 1500 1750

Cada quadro é empacotado Ineficiência de consumo de


separadamente largura de banda
Empacotamento

111
111
111

011
110

011
110
110

010

001
001

001
010
101

101
rede IP

250 500 750 1000 1250 1500 1750

Toda conversa é empacota de Atraso muito grande


uma vez
Empacotamento

111
111
111

011
110

011
110
110

010

001
001

001
010
101

101
rede IP

250 500 750 1000 1250 1500 1750


Empacotamento
:: Atraso de serialização
 Atraso causado pela acomodação dos bits na forma serial
para transmissão através do enlace.
 Ocorre na interface de saída de cada dispositivo de rede
(terminal, roteador) por onde passa o fluxo de voz.

 Exemplo:
 Pacote de 1500 bytes, enlace de 64kbps

d = (1500 byte)  8 (bits/byte) = 187,5 ms


(64000 bit / segundo)
Empacotamento
:: Atraso de serialização

classificação FTP FTP

V V V V

FTP V V V FTP

interface fila de transmissão


Empacotamento
:: Atraso de serialização
 Solução: fragmentação na camada de rede/enlace

classificação F F F F

V V V V

FTP V V F V F V

interface fila de transmissão


Protocolos
 São algoritmos responsáveis por controlar o envio e
recebimento de pacotes em uma rede de dados.
 Os seguintes protocolos são utilizados em VoIP:
 RTP (Real Time Protocol)
 UDP (User Data Protocol)
 IP (Internet Protocol)
Protocolo RTP
 Definido na RFC 3550 – jul/2003 (antiga RFC 1889)
 RTP – Real Time Protocol
 transporte de mídia
 Utiliza uma porta UDP par
 RTCP – Real Time Control Protocol
 controle de mídia
 Utiliza uma porta UDP ímpar

IP UDP RTP Voz

RTCP SR

RTCP RR

A B
Protocolo RTP
:: Cabeçalho
0 8 16 24 31
V=2 P X CC M Payload Type Sequence number

Timestamp

Synchronisation Source Identifier (SSRC)

Contributing Source Identifier (CSRC)


(opcional)
Voz
Protocolo RTCP
 RTCP provê feedback de:
 Jitter
 Perda de pacotes
 Atraso de transmissão de pacotes

 RTCP permite que emissor e receptor afinem seus fluxos RTP


pela medição das condições da rede.
Protocolo RTCP
:: Cálculo do atraso de transmissão
LSR A
Emissor

SR SR or RR

Receptor
DLSR

RTT A  LSR  DLSR


Atraso  
2 2
SR – Sender Report
RR – Receiver Report
RTT – Round Trip Time
LSR – Last Sender Report
DLSR – Delay since Last Sender Report
Jitter
 Definição
 Variação do atraso em um fluxo de pacotes.

 Causado pelo indeterminismo da entrega dos pacotes IP na


mesma cadência com que foram gerados.
Jitter
 Jitter instantâneo (entre pacotes)
Si Sj
S (timestamp
A B C D E
original)

A
R (tempo de
B C D E
recebimento)
Ri Rj

Atrasoi = Ri - Si
Jitter = Atrasoj – Atrasoi
Atrasoj = Rj - Sj
Jitter
 Jitter acumulado
J – jitter acumulado
D – jitter instantâneo

D(i  1, i)  J (i  1)
J (i)  J (i  1) 
16

Essa fórmula valoriza o jitter acumulado até o penúltimo pacote (i-1) e amortiza o
jitter do último pacote (D) em um fator de 16
Rede IP

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Protocolo UDP
 RFC 768 (ago/1980)
 UDP – User Data Protocol
 Enviar e esquecer (emissor não recebe ACK)
 Transporte de fluxo de mídia

emissor receptor
Protocolo TCP
 RFC 793 (set/1981)
 TCP – Transmission Control Protocol
 Entrega confiável (emissor recebe ACK)
 Transporte de sinalização

1
ack 1
2

3
ack 3
2
ack 2
emissor receptor
Rede IP
:: Resumo
controle mídia

informação

codec
12 bytes

RTCP RTP cabeçalho


8 bytes

UDP
20 bytes

IP
Compensação de Jitter

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Compensação de Jitter
 Buffer de compensação de jitter (dejitter buffer ou playout
buffer)
 Elimina o jitter na reprodução dos pacotes de voz.
 Implementado no aplicativo VoIP.
 Pacotes que não chegam a tempo de serem reproduzidos são
descartados.

Adaptador Buffer de
rede IP
do emissor pacotes em pacotes com jitter jitter
intervalos
regulares
Compensação de Jitter

interface
1
de rede
Compensação de Jitter

interface
2 1
de rede
Compensação de Jitter

interface
3 2 1
de rede
Compensação de Jitter

interface
3 2 1
de rede
Compensação de Jitter

interface
3 2 1
de rede
Compensação de Jitter

interface
6 3 2 1
de rede
Compensação de Jitter

interface
7 6 3 2 1
de rede
Compensação de Jitter

interface
8 7 6 3 2 1
de rede
Compensação de Jitter

interface 1
9 8 7 6 3 2
de rede
Compensação de Jitter

interface 2
4 9 8 7 6 3
de rede
Compensação de Jitter

interface 2
9 8 7 6 4 3
de rede
Compensação de Jitter

interface 3
10 9 8 7 6 4
de rede
Compensação de Jitter

interface 4
10 9 8 7 6
de rede
Compensação de Jitter

interface
12 10 9 8 7 6 ?
de rede
Compensação de perdas
 Durante a decodificação, o pacote perdido pode ser
substituído por:
 Silêncio

 Último pacote tocado

 Interpolação

 Técnicas conhecidas como Packet Loss Concealment (PLC) –


Compensação de perda de pacotes.
Compensação de Jitter
:: Tamanho Fixo
Introduz atraso fixo constante, a partir do tempo de formação
do pacote, para todos os pacotes

CODEC Rede de dados / Buffer de jitter CODEC


1 buffer

2 buffer

3 buffer

4 buffer

5 buffer
Compensação de Jitter
:: Tamanho Adaptativo
O atraso fixo introduzido pode variar ao longo da chamada.

CODEC Rede de dados / Buffer de jitter CODEC


1 buffer

2 buffer

3 buffer

4 buffer

5 buffer

6 buffer

7 buffer
Resumo

A/D cod cod A/D

D/A decod decod D/A

dejitter buffer dejitter buffer

pilha IP pilha IP

rede IP
Mais informações
 www.teleco.com.br

 Beyond VoIP Protocols


 Olivier Hersent et al. Ed. Wiley, 2005
 Cap.

 Redes de Computadores e a Internet, 3a. Edição


 Kurose & Ross, Ed. Pearson, 2006.
 Cap. 7

 Understanding Communications, vol. 1


 Ericsson
 Cap. 2

You might also like