Voz sobre redes de datos

2 Voz sobre redes de datos

Codificación de voz

La voz es codificada digitalmente para su transmisión. Los dispositivos de codificación y decodificación se denominan CoDec (Codificadores / Decodificadores).

Los codecs pueden ser clasificados según diferentes características:

  • su tasa de bits (bit rates)
  • la calidad resultante del audio codificado
  • su complejidad, el tipo de tecnología utilizada y el retardo que introducen

Codecs de banda angosta (narrowband):

G.711, G723.1 , G.728, G.729, AMR

Codecs de banda ancha (wideband):

G. 722, G.722.1 , G.722.2, G. 711.1, G.729.1

Codecs de banda super ancha (superwideband):

SILK

Codecs de banda completa (fullband):

G.719

Transmisión de voz sobre redes de datos

para transmitir las muestras codificadas de voz sobre redes de datos, es necesario armar “paquetes”. Un canal de voz consiste en un flujo de bits, dependientes del codec utilizado.

Por esta razón, se toman generalmente “ventanas” de 10 a 30 ms (ver Figura 2.1). Las muestras codificadas de voz de cada una de estas ventanas se “juntan” y con ellas se arman paquetes. El tamaño de estas ventanas es configurable para algunos algoritmos de codificación, y está estandarizado para otros

RTP – Real-Time Transport Protocol

El protocolo establece la manera de generar paquetes que incluyen, además de los propios datos de “tiempo real” a transmitir, números de secuencia, marcas de tiempo, y monitoreo de entrega.

RTP soporta transferencia de datos a destinos múltiples, usando facilidades de “multicast”, si esto es provisto por la red.

2.3.1 Versión (V)

La versión actual del protocolo es la 2.

2.3.2 CSRC count (CC – Contributing Sources Count)

El campo indica la cantidad de “fuentes” que contribuyen al audio incluido en el paquete. Pueden ser desde 0 a 15 (ver 2.3.7 )

2.3.3 Tipo de información (PT – Payload Type)

El campo “payload” identifica el tipo de información que viaja en el paquete. Es un campo de 7 bits, lo que permite diferenciar hasta 128 tipos de información. Este campo indica el tipo de codificación de audio o video, o el contenido de información “especial”.

2.3.4 Número de secuencia (Sequence Number)

El campo correspondiente al número de secuencia es de 16 bits. Con cada paquete enviado, el emisor incrementa en uno el número de secuencia. Esto permite al receptor detectar paquetes perdidos, o fuera de orden.

2.3.5 Marca de tiempo (Time Stamp)

Este campo es de 32 bits. Indica el momento al que corresponde la primera muestra de la ventana de información que viaja en el paquete. Este campo es utilizado por el receptor, para reproducir las muestras con la misma cadencia con las que fueron obtenidas. Es a su vez útil para medir el “jitter”. En audio, el campo “Time Stamp” se mide en unidades de 125 µs (o sea, en unidades de muestreo).

2.3.6 Identificador del origen (SSRC – Synchronization Source Identifier)

El campo correspondiente al SSRC es de 32 bits. Típicamente cada flujo en una sesión RTP tiene un identificador diferente. El origen establece este número, asegurando que no se repita.

2.3.7 Identificador del tributario (CSRC – Contributing Sources Identifier)

Pueden existir de 0 hasta 15 campos CSRC, de acuerdo al valor de CC. Esta lista identifica a cada uno de los interlocutores cuando el audio que se envía es producido en un mezclador o “mixer” (por ejemplo, cuando se envía el audio de varios participantes de una conferencia)

RTCP – RTP Control Protocol

el protocolo de control, RTCP, encargado de enviar periódicamente paquetes de control entre los participantes de una sesión. El protocolo RTCP tiene las siguientes funciones principales:

  • Proveer realimentación acerca de la calidad de los datos distribuidos (por ejemplo, de la calidad percibida de VoIP).
  • solucionar problemas cuando se detecta degradación en la calidad de la comunicación
  • Transporte del CNAME (Canonical Name) de cada originador. Este identificador permite asociar varios flujos RTP con el mismo origen.

Los paquetes RTCP pueden ser de los siguientes tipos:

  • SR (Sender Report): Envía estadísticas de los participantes “origen” (sender)
  • RR (Receiver Report): Envía estadísticas de los participantes “destino” (receivers)
  • SDES (Source Description): Envía ítems de descripción del origen
  • BYE: Indica el fin de la participación en el intercambio de mensajes RTCP
  • APP: Funciones específicas para las aplicaciones participante.

Ancho de banda en IP para voz

Dado que para el envío de voz sobre redes de datos es necesario armar “paquetes”, el ancho de banda requerido dependerá de la “sobrecarga” (“overhead”) que generen estos paquetes.

Como se ha visto, para el envío de voz sobre redes de paquetes se utiliza el estándar RTP. Éste protocolo a su vez se monta sobre UDP, el que a su vez se monta sobre IP, el que, en la LAN, viaja sobre Ethernet.

Esta suma de protocolos hace que el ancho de banda requerido para el tráfico de voz sobre Ethernet sea bastante mayor al ancho de banda del audio. A continuación se presenta un ejemplo, para el codec G.711.

Para una ventana de 20 ms, y con codificación de audio G.711 Ley A, se obtienen 160 bytes de voz por trama (Ver Figura 2.8)

Bytes de voz/trama = 64 kb/s * 20 ms / 8 = 160 bytes

El paquete IP (incluyendo los protocolos RTP y UDP) agrega 40 bytes adicionales

Bytes de paquete IP = 160 + 40 = 200 bytes

La trama Ethernet agrega otros 26 bytes:

Bytes de Trama Ethernet = 200 + 26 = 226 bytes

En este ejemplo, cada 20ms se generan 226 bytes que se deben enviar por la LAN. Esto equivale a un ancho de banda de 90,4 kb/s (compárese con los 64 kb/s del flujo de audio)

Ancho de banda LAN = 226 * 8 / 20 ms = 90.4 kb/s

Es de hacer notar que este cálculo fue hecho para el envío de audio en una dirección. Pueden utilizarse técnicas de “supresión de silencio”, en las que no se envían paquetes cuando no hay audio. En este caso, el ancho de banda en cada dirección es poco más de la mitad del cálculo anterior.

Por lo visto anteriormente, el ancho de banda de la voz paquetizada en la LAN depende del tamaño de la “ventana” (típicamente 10, 20 o 30 ms) y el codec utilizado.

La Tabla 2.3 muestra los anchos de banda unidireccionales necesarios utilizando redes IP sobre Ethernet para algunos codecs de banda angosta.

Tipos de códec: G.711 (64kb/s), G.729 (8kb/s), G.723.1 (6.3kb/s), G.723.1 (5.3kb/s)

Como se puede ver en la tabla, el ancho de banda puede variar notablemente, dependiendo del codec y la ventana seleccionada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.