A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Filipe Neves (IPLeiria) Salviano Soares (UTAD)

Apresentações semelhantes


Apresentação em tema: "Filipe Neves (IPLeiria) Salviano Soares (UTAD)"— Transcrição da apresentação:

1 Técnicas de Reconstrução de Voz e a Melhoria da Qualidade em Comunicações VoIP
Filipe Neves (IPLeiria) Salviano Soares (UTAD) Pedro Assunção (IPLeiria)

2 Tópicos Conceitos básicos Codificação de voz e normas VoIP
Medidas de desempenho Algoritmos de reconstrução Resultados experienciais Trabalho futuro

3 Conceitos básicos Amostragem do sinal em instantes de tempo regulares
Quantificação e codificação Nota: sinais de voz telefónica: amostragem a 8 kHz, 8 bits/amostra=64 kb/s Quantificação não uniforme (lei A e Lei ) Compressão Opcional

4 Teorema de Nyquist Um sinal de banda limitada Bs < Bmax [Hz] amostrado em instantes de tempo regulares a uma frequência de amostragem fs, pode ser reconstruído sem perdas (resultando no original) desde que verifique a condição: fs  2 x Bmax

5 Teorema de Nyquist – exemplo aplicado a voz telefónica
Ouvido humano: Hz Voz humana: Hz Voz telefónica: Hz Gama com suficiente fidelidade para permitir inteligibilidade Na prática usa-se Bmax Hz fs=8.000Hz Uma amostra a cada 125 s 160 amostras a cada 20 ms 80 amostras a cada 10 ms

6 Amostragem do sinal analógico
fS = 2 x Bmax Resulta num sinal PAM (Pulse Amplitude Modulation) Sinal original Sinal PAM

7 Quantização da amostra
Confrontação do sinal PAM com uma escala segmentada Esta escala mede a amplitude ao sinal PAM e atribui um inteiro de 8 bits para definir essa amplitude Consiste numa escala formada por 8 grandes divisões Espaçadas desigualmente Há maior finura junto à origem Para menor distorção em sons com menor nível de energia (para que relação sinal/ruído de quantização seja constante) Cada divisão dividida em 16 degraus Igualmente espaçados

8 Codificação Representação das amostras quantificadas em binário (que tem uma correspondência a decimal-nºs inteiros) PCM (Pulse Code Modulation) –resultado de 3 operações Amostragem Quantificação Codificação Regra geral: quantificação de sinais de voz não é uniforme; o sinal quantificado não é uma função linear do sinal original (há “distorção”)

9 Quantização da amostra
Segmento Pormenor Polaridade Codificação uniforme Segmento

10 Codificação de voz e normas
Conceitos genéricos Técnicas de codificação (e compressão) Normas ITU-T

11 Conceitos genéricos Codificação do sinal digital resulta em compressão dos dados que representam o sinal Codificação Com perdas (eliminação de redundância perceptual) Sem perdas (eliminação de redundância estatística) De fonte De canal Pretende-se Reduzir largura de banda ocupada para transmitir o sinal Dar maior robustez ao sinal o sinal Espaço em disco para o armazenar Em geral um canal de comunicação pode transportar várias sessões telefónicas

12 Codificação de voz PCM (Pulse Code Modulation) DPCM (Diferential PCM)
G.711 (ITU) Amplitude do sinal é amostrado a Hz e quantizado a 8 bits Usa lei-A ou lei- para redução de SNR DPCM (Diferential PCM) Codifica a diferença entre a amostra corrente e o valor precalculado (com base na amostra anterior) Quantização a 2, 3, 4 ou 5 bits ADPCM (Adaptative DPCM) Predição adaptativa da amostra seguinte, por inferência da última Varia o tamanho do degrau de quantificação, para uma dada SNR Gera palavras de 4 bits redução do nº de bits/s

13 Codificação de voz CELP (Code Excited Linear Prediction)
São transmitidos um valor de excitação e um conjunto de settings de filtros predictivos lineares As transmissões dos settings são menos frequentes que os valores de excitação e são enviados com base nas necessidades LD-CELP (Low Delay Code Excited Linear Prediction) G.728 16 kbit/s ; 5 amostras de atraso (625 s) CS-ACELP G.729 8 kbit/s; AMR Adaptive Multi-Rate Usado em GSM A modulação e a codificação adaptam-se às condições do link de rádio (perdas, interferências, sensibilidade do receptor…)

14 VoIP (1) Telefonia tradicional Rede IP desenhada para dados
Comutação de circuitos garante Um circuito dedicado Atraso limitado Rede IP desenhada para dados Comutação de pacotes “best effort”, e multipercurso não garante Atraso máximo tolerável Atraso constante  “jitter” Entrega por ordem e atempada de todos os pacotes Entrega de todos os pacotes

15 VoIP (2) Sem medidas de QoS (Quality of Service), os pacotes de voz são tratados como os pacotes de dados! Sem assegurar Atraso máximo, jitter máximo, dentro de valores aceitáveis… …não se pode fornecer a qualidade de telefonia a que os utilizadores se habituaram com a comutação de circuitos

16 Perda de pacotes Uma rede IP descarta pacotes face a Congestão da rede
Demasiada variação de atraso Má qualidade da rede, em geral

17 Atraso (1)  Tempo entre TX enviar pacote e RX receber
Em excesso, dessincroniza interlocutores Recomendação ITU G.114 0-150 ms: aceitável para a maior parte das aplicações ms: aceitável desde que haja cuidado com o tempo de transmissão > 400 ms: inaceitável. (aceitável em casos excepcionais)

18 Atraso (2) Componente fixa
Atraso de codificação (para um dado codificador) (2,5 a 10 ms) Tempo necessário para o DSP codificar um bloco de amostras PCM Tempo de empacotamento (< 30 ms) Tempo necessário para preencher o campo de dados de um pacote (“Tempo de acumulação”: as amostras acumulam-se num buffer antes de serem libertadas) Serialização (colocação no meio) (G.711; 32 ms voz; 282 B; 10 Mb/s: 0,2256 ms. 5 ms (64 kbps)) Recomendado usar em projecto: 20 ms = f (LB do link, tamanho do pacote) Atraso de propagação no meio Depende de muitos factores 6 s/km (ITU G.114) Total tipicamente: 40 ms (fixo) + 25 ms (variável) = 65 ms Factores atraso: Codificação Empacotamento Acesso Serialização Propagação Queuing Dejitter

19 Atraso (3) Componente variável Acesso ao meio (e.g.: CSMA/CD)
Tempo nas filas (“Queuing”, “Dejitter”) (8 ms, típ.) Espera das frames de dados já em processamento Espera de outras frames de voz Depende do estado da fila Dejitter: acomoda os atrasos variáveis num atraso fixo (45 ms, típ.) Factores atraso: Codificação Empacotamento Acesso Serialização Transmissão Queuing Dejitter

20 Jitter  Variação de atraso Para compensar: “buffers” de “jitter”
Dão um valor constante ao atraso Podem, no entanto, encher instantaneamente  diferença de tempos de atraso entre pacotes no mesmo fluxo (“stream”) de voz Factores atraso: Codificação Empacotamento Acesso Serialização Transmissão Queuing Dejitter Pacote 1 12345 Pacote 2 12345

21 Técnicas conjuntas para garantir QoS
“Queuing” e escalonamento Compressão de cabeçalho Fragmentação Reordenamento de pacotes Algoritmos de Reconstrução

22 “Queuing” Organização dos pacotes dando prioridades específicas, consoante a sua natureza (voz, vídeo, dados) Diffserv Tráfego classificado por endereços origem e destino, tipo, e atribuído a uma classe de serviço específica Usa prioridades explícitas no cabeçalho do PDU IP

23 A redução de cabeçalhos com o Compressed RTP
Transporte de voz: RTP dentro UDP dentro dum pacote IP Nº de protocolos  cabeçalhos tornam-se consideráveis CRTP pode comprimi-los baseado na premissa de que a maior parte dos cabeçalhos IP/UDP/RTP não se alteram, ou que as suas alterações são predictíveis Um cabeçalho de 40 Bytes (RTP+UDP+IP) pode passar a 2 Bytes Especialmente benéfico em “payloads” de áudio comprimido entre 20 e 50 Bytes ligações de baixa largura de banda (< 2 Mb/s) Consome recursos de processamento IP UDP RTP Payload (20 ms) Sem CRTP 20 Bytes 8 Bytes 12 Bytes 20 a 240 Bytes Com CRTP Com CRTP 2 20 a 240 Bytes

24 RSVP  Resourse Reservation Protocol
Permite à rede fornecer níveis diferenciados de serviço para fluxos de dados específicos Para os dados da aplicação os hosts pedem um certo QoS à rede Routers propagam esses requisitos e são feitas reservas Após reserva, WFQ (Weighted Fair Queuing) fornece espaço na fila em cada dispositivo

25 Fragmentação Define o tamanho máximo para um pacote de dados
Previne atraso de serialização excessivo em ambiente de voz Tempo de colocação dos bits num interface Ex: pacotes de 1500 Bytes e link: 64 kbps  atraso de serialização: 187,5 ms Demasiado tempo para um pacote de voz esperar Com fragmentação, voz misturados com dados, esperam menos tempo

26 Reordenamento de Pacotes de voz (1)
Pacotes podem seguir caminhos diferentes Cada caminho com seu comprimento e velocidade  diferentes tempos de percurso; fora de ordem Cabe ao RTP a reordenação antes de os passar ao DSP

27 Reordenamento de Pacotes de voz (2)
Levado a cabo pelo RTP UDP/IP não ordenam pacotes Solução RTP Numeração de sequência Permite detectar perdas e desordens Identificação do tipo de payload “time stamping” Permite acomodar variações de atraso Monitorização de entrega

28 Principais protocolos VoIP (1)
Prevê Um esquema de endereçamento Escolha do melhor caminho UDP Faz a segmentação do stream de áudio Introduz pouco overhead Sem controlos de fluxo, entrega

29 Principais protocolos VoIP (2)
RTP É um protocolo “multicast” “ media streaming” Engloba funções para transportar por rede, dados em tempo real (e.g.: voz) Identificação do tipo de tráfego (“payload”) Númeração de sequência “time stamps” Monitorização de entrega Reordena pacotes; não pede retransmissão em caso de perda Corre sobre o UDP, donde usa serviços de Multiplexação “Cheksum” Usa portos pares [ ]

30 Principais protocolos VoIP
RTCP Fornece informação (“out-of-band”) de controlo para o fluxo do “streaming” RTP Permite aos correspondentes trocar informação sobre condições da sessão: monitorização, controlo A cada fluxo RTP corresponde um fluxo RTCP com estatísticas acerca da chamada Pacotes transmitidos Pacotes perdidos Atraso “Jitter“ entre chegadas Usado para relatórios QoS No porto ímpar acima do usado pelo RTP [ ]  Cada chamada; 4 portos: 2x(RX+TX)

31 Impacto do tamanho de payload na largura de banda (1)
Amostra de voz  saída do DSP a encapsular num PDU 20 ms, tipicamente Mais amostras/PDU  conservação de Largura de banda  maior risco, em caso de perca dum PDU Atraso variável “Buracos” graves Bytes/amostra=tamanho_amostra*LB_codec Ex: G.711: Nº_Bytes =20 ms x 64 kb/s = 160 Bytes

32 Impacto do tamanho de payload na largura de banda (2)
G G.729 Payload (ms) Payload (Bytes) PDU (Bytes) Overhead 20 160 200 40 (20%) 32 256 296 40 (13%) 64 512 552 40 (7%) 100 800 840 40 (4,7%) Payload (ms) Payload (Bytes) PDU (Bytes) Overhead 20 60 40 (66%) 32 72 40 (56%) 64 104 40 (38%) 100 140 40 (28%)

33 Outros “Overheads” Camada de Ligação de Dados “Tunneling”
Ethernet II: 18 Bytes (MAC Add: 12, tipo: 2, CRC: 2) MLPPP: 6 Bytes (flag:1, endereço: 1, controlo: 2, CRC: 2) FRF.12*: 6 Bytes: (DLCI: 2, FRF.12: 2, CRC: 2) “Tunneling” IPSec: 50 a 57 Bytes L2TP/GRE: 24 Bytes MLPPP: 6 Bytes MPLS: 4 Bytes X.25 sobre TCP/IP; IPv6 sobre IPv4, … * Método de fragmentar frames FR com vista a QoS quando vários VCs

34 Cálculo da LB para uma chamada VoIP
Maior LB do codec  maior LB total Maior “overhead” (OSI2)  Maior LB ttl Maior tamanho de amostra  Menor LB ttl Compressão do RTP  Menor LB ttl LB_ttl=[(overhead_OSI2 + overhead_IP_UDP_TCP+Tamanho_Amostra)/Tamanho_amostra]*LB_codec Ex: G.729 com tamanho_amostra=20 Bytes, FR; sem CRTP LB_ttl=[( )/20]x8.000 = 26,4 kb/s

35 Standards ITU de codificação de voz
Nome Codec Técnica de compressão Elimina Redund Débito binário LB sinal (fs ) G.711 PCM Estatíst 64 kbit/s 4 kHz G.726 DPCM 16, 24, 32 kbit/s G.728 LD-CELP Percept 16 kbit/s G.729 CS-ACELP 8 kbit/s Consoante os serviços a prestar

36 Medidas de desempenho Objectivas Subjectivas

37 Medida da qualidade de voz – Objectiva
“Peak Signal Noise Ratio” (PSNR) MSE Mean Square Error f(i)  sinal original g(i) sinal degradado n  num de bits/amostra N  num de amostras

38 Medida da qualidade de voz – Subjectiva
Mean Opinion Score (MOS) Medida estatística Opiniões de 1 (Pior) a 5 (Melhor) Perceptual Speech Quality Measurment (PSQM) Standard ITU P.861 Maior objectividade que MOS Escala: 0 (melhor) (pior) Implementado com equipamento de teste e sistemas de monitorização, que compara o sinal transmitido com o original e produz uma classificação

39 Medida da qualidade de voz - Subjectiva
Perceptual Analysis Mesurement System (PAMS) British Telecom, 1998 Algoritmo predictivo Prediz métodos subjectivos, como o MOS, quando a fidelidade é afectada por factores como codecs, certas dependências de locutor (e.g. língua, tom,…) Inclui normalização automática de níveis

40 Medida da qualidade de voz – Objectiva
Perceptual Evaluation of Speech Quality (PESQ) Standard ITU P.862 Original de “KPN Research e BT” Combina PSQM com PAMS Ferramenta de medição objectiva Prediz resultados de testes de medida subjectivos (e.g. MOS)

41 Algoritmos de reconstrução
Admitimos sempre sinais de banda limitada É possível agrupá-los em duas classes Dimensão máxima Dimensão do problema=Nº amostras total Ex: Papoulis-Gerchberg Dimensão mínima Dimensão do problema=Nº amostras perdidas Interpolação no domínio do tempo ou frequência

42 Resultados experienciais Papoulis-Gerchberg
Palavra “OLÁ” Corrupção duma janelas de 10% das amostras contíguas (pior situação) Corrupção das amostras pares Corrupção de amostras múltiplas de 3 Corrupção de amostras múltiplas de 3 e múltiplas de 2

43 Corrupção de amostras Contíguas (1)
Sinal original, x

44 Corrupção de amostras Contíguas (2)
DFT do sinal original

45 Corrupção de amostras Contíguas (3)
DFT do sinal original, após filtragem

46 Corrupção de amostras Contíguas (4)
Sinal observado x (filtrado com LPF)

47 Corrupção de amostras Contíguas (5)
Sinal Corrompido y=Dx janela corrompida: 10 ms (80 amostras, 3% da palavra)

48 Corrupção de amostras Contíguas (6)
DFT do sinal y corrompido, filtrado

49 Corrupção de amostras Contíguas (7)
z no tempo, de y corrompido e filtrado

50 Corrupção de amostras Contíguas (8)
Amostras emergentes devido a filtragem de y (corrompido)

51 Corrupção de amostras Contíguas (9)
RMSE1,5x10-8 RMSE1,1x10-3

52 Corrupção de amostras Contíguas (10)
Sinal original Sinal corrompido Sinal reconstruído

53 Corrupção de amostras Contíguas (11)

54 Corrupção de amostras Contíguas (12)
janela corrompida: 1,25 ms (10 amostras)

55 Corrupção de amostras Contíguas (13)

56 Corrupção de amostras Contíguas (14)

57 Corrupção de amostras Contíguas (15)

58 Corrupção de amostras Contíguas (16)
RMSE10-6 RMSE4,810-4

59 Corrupção de amostras pares (1)
Sinal original, x

60 Corrupção de amostras pares (3)
DFT do sinal original

61 Corrupção de amostras pares (3)
DFT do sinal original, após filtragem

62 Corrupção de amostras pares (2)
Sinal observado (x filtrado com LPF)

63 Corrupção de amostras pares (2)
Sinal Corrompido y=Dx

64 Corrupção de amostras pares (4)
DFT do sinal y corrompido

65 Corrupção de amostras pares (5)
DFT do sinal y corrompido, filtrado

66 Corrupção de amostras pares (5)
Amostras emergentes devido a filtragem de y (corrompido)

67 Corrupção de amostras pares (10)
Sinal original Sinal corrompido Sinal reconstruído

68 Corrupção de amostras pares (11)
RMSE=4,4x10-18 RMSE=4,5x10-4

69 Corrupção de amostras múltiplas de 3
Sinal original Sinal corrompido Sinal reconstruído Relativo a corrupção de amostras pares

70 Corrupção de amostras múltiplas de 2 e de 3
Sinal original Sinal corrompido Sinal reconstruído Relativo a corrupção de amostras mult. 3 Relativo a corrupção de amostras pares

71 Trabalho futuro Utilização do algoritmo de reconstrução de voz
Estudo de outros algoritmos Implementação de um sistema real Realização de testes Utilização do algoritmo de reconstrução de voz Implementação de um sistema real (A ver como funciona) Implementação em Hardware seria útil


Carregar ppt "Filipe Neves (IPLeiria) Salviano Soares (UTAD)"

Apresentações semelhantes


Anúncios Google