1 / 71

Técnicas de Reconstrução de Voz e a Melhoria da Qualidade em Comunicações VoIP

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). Tópicos. Conceitos básicos Codificação de voz e normas VoIP Medidas de desempenho Algoritmos de reconstrução Resultados experienciais

carnig
Download Presentation

Técnicas de Reconstrução de Voz e a Melhoria da Qualidade em Comunicações VoIP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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: 20-20.000 Hz • Voz humana: 200-9.000 Hz • Voz telefónica: 300-3400 Hz • Gama com suficiente fidelidade para permitir inteligibilidade • Na prática usa-se Bmax 4.000 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 Sinal original Sinal PAM • fS = 2 x Bmax • Resulta num sinal PAM (Pulse Amplitude Modulation)

  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 nº 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) • G.711 (ITU) • Amplitude do sinal é amostrado a 8.000 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 • 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 • Um circuito dedicado • 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 • 150-400 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

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

  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

  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

  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) • IP • 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 [16.384 - 32.767]

  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 [16.384 - 32.767]  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.711 G.729

  33. Outros “Overheads” • Camada de Ligação de Dados • 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=[(6+40+20)/20]x8.000 = 26,4 kb/s

  35. Standards ITU de codificação de voz 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)sinaldegradado 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) - 6.5 (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 experienciaisPapoulis-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)

More Related