Transmisión de voz en las redes de comunicación modernas..
Bykov Sergey Fedorovich
Shalimov Igor Anatolyevich, candidato de ciencias técnicas
TRANSMISIÓN DEL HABLA EN REDES DE COMUNICACIÓN MODERNAS.
A principios de dos siglos asistimos a la materialización en la vida de la famosa frase: “quien posee la información es dueño del mundo”. La información es conocimiento, es dinero, es capacidad de gestionar personas, es poder. Es imposible sobreestimar el papel y la importancia de la información en la sociedad moderna. Las posibilidades inherentes a la información se pueden aprovechar asegurando su uso correcto o, en sentido figurado, su movimiento. Para asegurar este movimiento, la humanidad ha creado una variedad de instituciones y complejos técnicos que regulan y brindan la posibilidad de comunicación dentro de la sociedad. Los tipos de esta comunicación son extremadamente extensos, pero, tocando el aspecto técnico del problema y considerando la comunicación como la transferencia de información a distancia, es necesario destacar de toda la variedad la comunicación telefónica.
La más atractiva es la comunicación telefónica, que tiene características tales como eficiencia, reconocimiento de voz y posibilidad de intercambio bidireccional. Para la transmisión de voz a través de canales de comunicación digitales, se utilizan una variedad de métodos para codificar señales de voz, que van desde la conversión directa a código hasta complejos algoritmos matemáticos basados en predicción lineal y excitación de código. El nivel actual de desarrollo de los sistemas y redes de transmisión de información abre nuevas oportunidades para seguir mejorando los métodos de codificación de voz, diseñados para aumentar significativamente la eficiencia de los canales y rutas existentes y nuevos.
La voz a través de las redes se puede transmitir de varias maneras.
La primera es la transmisión del habla a velocidad constante. Este es el método tradicional de transmisión. Se puede utilizar tanto en redes de conmutación de circuitos como de conmutación de paquetes. Esto garantiza una calidad suficiente y retrasos de transmisión aceptables para la mayoría de las aplicaciones.
El segundo es la transmisión de voz a velocidad variable a través de redes que proporcionan transmisión de flujos a velocidad variable. Se logra una alta eficiencia de estas redes cuando se utiliza el acceso múltiple por división de código — CDMA (Acceso Múltiple por División de Código) está significativamente adaptado a flujos de información con velocidad variable ([1], [2]). El sistema más flexible incluye un módulo de control de velocidad variable — VRCU (Unidad de control de velocidad variable), creada para garantizar una distribución óptima del ancho de banda del canal entre diferentes fuentes de información (ver Fig. 1).
Cada fuente de información (voz, vídeo, datos y señales de control) genera flujos de información ri(n), que son función del cuadro n y entran en el bloque de codificación del canal. Los flujos de bits resultantes, cada uno con su propia redundancia, se multiplexan a velocidades variables Ri(n) en un flujo de bits de salida a velocidad Rtot(n) con anchos de banda asignados dinámicamente.
VRCU asegura la asignación óptima de los recursos del canal de comunicación, para lo cual analiza:
- necesidades de fuentes de información,
- necesidades del sistema,
- requisitos del usuario,
- capacidades del canal de comunicación.
Así, se puede observar que, por un lado, los sistemas y redes de comunicación modernos tienen la capacidad de controlar flujos de velocidad variable y, por otro lado, existe la necesidad de utilizar eficazmente el ancho de banda de los canales de comunicación. Esto hace relevante, en primer lugar, la tarea de desarrollar algoritmos de codificación de voz con velocidad de bits variable y, en segundo lugar, la tarea de modificar los algoritmos existentes para la transición a velocidad de bits variable.
Fig. 1. Ilustración del proceso de control de flujo de tasa variable.
La alta calidad de voz lograda en algoritmos de excitación de códigos y pulsos múltiples a velocidades de transmisión relativamente bajas ha garantizado su uso generalizado en diversos sistemas y redes de comunicación. Al intentar transmitir voz utilizando estos métodos a velocidades de 4 kbps o menos, la calidad de la voz se reduce. Una de las posibilidades para reducir aún más la velocidad de transmisión manteniendo una alta calidad es la transición a una velocidad de transmisión variable, que tenga en cuenta las redundancias de información de segmentos individuales de señales de voz. Es bien sabido ([3], [4]) que la información necesaria para representar con precisión una señal de voz varía con el tiempo. Esta es la base para el desarrollo y aplicación de velocidades de bits variables en técnicas de codificación de voz.
Actualmente, existen varios enfoques para construir codificadores de voz de velocidad variable. Se basan en la clasificación de segmentos de señales de voz según un determinado criterio y el uso de diferentes sistemas de codificación en diferentes segmentos.
Un enfoque se basa en la clasificación fonética de los segmentos del habla. Este método se utiliza en los desarrollos del laboratorio Fujitsu, Rockwell International Corporation, Hughes Aircraft, Qualcomm, etc. ([5]). En general, la estructura de dicho codificador se presenta en la Figura 2. El propósito de la clasificación es identificar varias categorías fonéticas que corresponden a diferentes niveles de entropía de la señal de voz y satisfacen una codificación de velocidad variable.
  ;
Arroz. 2. Diagrama de bloques de un codificador de velocidad de bits variable.
La clasificación fonética se lleva a cabo en segmentos de voz de la señal y controla la selección. del sistema de codificación adecuado para este segmento. La clasificación fonética propuesta en [5] se realiza sobre la base de vocalizado/sordo. Para ello, el intervalo de análisis principal de 20 ms de longitud se divide en 4 subsegmentos de 5 ms cada uno y se determina su tipo: sonoro o sordo.
Los segmentos se clasifican según los tipos de sus subsegmentos de acuerdo con la Tabla 1.
Tabla 1: Clasificación de los segmentos del habla.
Clase |
Subsegmento 1 |
Subsegmento 2 |
Subsegmento 3 |
Subsegmento 4 |
U | No vocalizado. | No vocalizado. | No vocalizado. | No vocalizado. |
UO | No vocalización | No vocalizado. | Indefinido | Indefinido |
OV | Indefinido | Indefinido | Vocalizado. | Vocalizado. |
V | Vocalizado. | Vocalizado. | Vocalizado. | Vocalizado. |
La clasificación fonética actúa como un preprocesador que determina qué algoritmo de codificación se debe utilizar para el segmento de voz seleccionado.
Arroz. 3. Diagrama de bloques de un codificador de velocidad variable con clasificación fonética. Las líneas de puntos indican bloques cuyo funcionamiento depende del tipo fonético.
En la figura. 3 muestra cómo el clasificador de información fonética controla varios componentes del codificador y decodificador, concretamente el análisis LPC, la estructura y el tamaño de los libros de códigos de excitación y el filtro de ponderación. En la figura no se muestra el postfiltro adaptativo de la señal de excitación del decodificador (sintetizador LTP), que se utiliza únicamente para procesar segmentos sonoros.
El bloque de selección de señal de excitación funciona de manera diferente en segmentos sonoros, sordos e indefinidos. Esto se refleja en el tamaño de los libros de códigos utilizados, la codificación de ganancia y, además, se calculan los parámetros de predicción a largo plazo (LTP) de la señal de excitación para los segmentos sonoros.
Como han demostrado los estudios ([5]), la voz de salida de dicho codificador suena natural y libre de cantos o distorsiones reverberantes características de los codificadores CELP de baja velocidad. La calidad del habla se evaluó para una señal de voz pura y cuando estaba distorsionada por ruido como el ruido de los vehículos. La velocidad promedio estuvo por debajo de los 3 kbps. Al mismo tiempo, la calidad no era peor que la del codificador estándar federal estadounidense 1016 — CELP velocidad fija 4,8 kbit/s.
Otro enfoque para tener en cuenta la redundancia de las señales de voz y, como consecuencia, la creación de un codificador de velocidad variable, se utilizó en el desarrollo de un comité de programas de investigación financiado por una comisión del Comité Europeo. El codificador FVR-CELP (Fast Variable Rate CELP Coder) desarrollado proporciona alta calidad con una velocidad promedio de aproximadamente 6 kbit/s y una velocidad máxima de 16 kbit/s. El objetivo principal del desarrollo del codificador fue el algoritmo de clasificación de segmentos y limitar el retraso algorítmico a 10 ms ([1]).
Fig. 4. Diagrama de bloques del codificador FVR-CELP.
El codificador analiza segmentos de 10 ms de longitud (80 muestras), cada segmento se divide en cuatro subsegmentos de 2,5 ms (20 muestras). El analizador identifica parámetros relacionados tanto con el segmento completo como con sus subsegmentos. La elección del algoritmo de funcionamiento del codificador y, en consecuencia, el cambio en la velocidad de transmisión se controla mediante dos bloques de clasificación (ver Fig. 4):
un bloque realiza la clasificación directamente basado en la señal de voz
el segundo utiliza un algoritmo cerrado: el método de análisis mediante síntesis.
El clasificador directo analiza un segmento del habla basándose en el atributo pausa-habla y para el habla basándose en lo vocalizado y lo sordo.
En total, el codificador FVR proporciona 8 modos de funcionamiento, obtenidos como resultado de la clasificación de circuito cerrado de tipos de segmentos seleccionados (ver Fig. 5).
El diagrama de bloques del codificador FVR es un algoritmo CELP multinivel, que incluye: un analizador de corto plazo (ST), un analizador de largo plazo (LT), libros de códigos constantes de las señales de excitación A y B.
Fig. 5. Diagrama de bloques del algoritmo para seleccionar la velocidad de funcionamiento.
El bloque para pausas de sonido cómodas proporciona, como resultado de la uso de diferentes algoritmos de análisis, relleno de ruido de pausas de 3 tipos: cero (1), señal de ruido aleatorio (2) o una señal de forma cercana a la original (3) (ver Tabla 2).
Tabla 2: Categorías de codificación y velocidades de bits
Parámetros |
Categoría de codificación |
|||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
Ganancia de señal | + | + | ||||||
Parámetros del analizador de corto plazo (ST) | + | + | + | + | + | + | ||
Parámetros del analizador de largo plazo (LT) | + | + | + | |||||
Libro de códigos A | + | + | + | + | ||||
Libro de códigos B | + | + | ||||||
Velocidad en baudios ( kbit /s) | 0 | 0,4 | 3,2 | 8,5 | 12.5 | 7.2 | 12 | 16 |
El bloque de “evolución de la calidad” se refiere a un clasificador cerrado y proporciona la conexión de medios para un análisis adicional de la señal de excitación (ver Tabla 2) si el error de predicción ponderado excede un cierto umbral. Como resultado, aumenta el volumen de parámetros transmitidos para el segmento, lo que conduce a un aumento en la velocidad de transmisión.
La selección de la velocidad de bits se realiza de modo que para cada segmento se garantice una calidad constante de la voz reconstruida. Como resultado, el algoritmo mostró una importante inmunidad al ruido ante diferentes condiciones ambientales, así como ante diferentes hablantes. Las pruebas de calidad subjetiva formalizadas utilizando métodos de comparación pareada confirmaron la capacidad de este codificador para proporcionar una calidad cercana al estándar G.728 ([1]).
QUALCOMM Incorporated ha desarrollado un algoritmo codificador de velocidad variable, implementado en forma de un chip de un solo chip: Q4401 [6]. El codificador Q4401 cumple con los requisitos de compresión de voz de los sistemas telefónicos digitales, almacenamiento de voz y sistemas de síntesis de voz. El algoritmo QUALCOMM Codebook Excited Linear Predictive (QCELP) basado en software proporciona voz de alta calidad a bajas velocidades de datos.
El Q4401 codifica voz a velocidades de bits fijas o variables. En modo de velocidad fija, el Q4401 puede codificar voz a 4 kbps, 4,8 kbps, 8 kbps o 9,6 kbps. En modo variable, el Q4401 ajusta automáticamente la velocidad en baudios cada 20 ms, desde 800 bps a 8 kbps (modo normal de velocidad variable) o desde 800 bps a 9,6 kbps (modo avanzado de velocidad variable). En modo de velocidad variable, el Q4401 proporciona una velocidad promedio de 7 kbps en aplicaciones de voz continua y 3,5 kbps en comunicaciones telefónicas bidireccionales normales, sin una degradación significativa en la calidad de la voz.
El codificador Q4401 opera en un intervalo de tiempo de 20 ms (160 muestras). El algoritmo de funcionamiento del codificador se basa en el método CELP. El proceso de codificación de voz incluye: medir la energía de la señal de voz, determinar el algoritmo de codificación y, en consecuencia, la velocidad de transferencia de datos, ajustar dinámicamente los límites de frecuencia y codificar la voz en bloques de datos comprimidos. El codificador envía un bloque de datos de 25 bytes al procesador cada 20 ms. Cada paquete codificado contiene un byte que especifica la velocidad de datos y 24 bytes de datos que contienen la voz codificada. El número de bits de información del bloque depende de la velocidad de transferencia de datos seleccionada; los bits restantes del marco de 24 bytes se rellenan con ceros.
El algoritmo de codificación (en modo de velocidad variable) para cada segmento de voz de 20 ms se selecciona dependiendo de la energía de la señal en ese segmento. Si la energía de la señal es alta, se utilizará la velocidad máxima. Si la energía de la señal está en un nivel medio, entonces se utilizará un valor de velocidad intermedio. Si la energía de la señal es baja, se utilizará la velocidad en baudios de 800 bps. La velocidad media de una conversación telefónica normal es de aproximadamente 6 kbit/s y la calidad se acerca al estándar G.728.
Así, actualmente existen varios sistemas de codificación de voz basados en velocidad binaria variable. Estos sistemas, que utilizan diversas características del habla para clasificar segmentos, se basan en algoritmos CELP. Teniendo en cuenta el estado actual y las perspectivas de desarrollo de los sistemas y redes de comunicación, se puede argumentar que el enfoque de codificación de voz de velocidad variable se desarrollará y generalizará. En [7] se observa que “la velocidad de voz variable es una dirección inevitable para el desarrollo de futuras generaciones de redes digitales”.
El uso de algoritmos complejos de codificación de voz de velocidad variable ahorra canal ancho de banda, aumenta la eficiencia del sistema y las redes de comunicación. Estos algoritmos son la base de la creación y desarrollo de sistemas de transmisión estocástica que tienen en cuenta las características estadísticas de la información transmitida.
REFERENCIAS
strong>
- Cellario L., Sereno D. Codificación CELP a tasa variable. //ETT, Vol.5, No. 5 septiembre-octubre de 1994, págs. 603-613.
- Berutto E., Sereno D. Tarifa variable para el servicio básico de voz en UMTS. VTC. Secaucus Nueva Jersey 1993, págs. 520-523.
- Telefonía por vocoder. Métodos y problemas. Bajo. ed. AUTOMÓVIL CLUB BRITÁNICO. Pirogov. – M.: Sviaz, 1974, — Pág. 536.
- Mikhailov V.G., Zlatoustova L.V. Medición de parámetros del habla./Ed. MAMÁ. Sapozhkova. – M.: Radio and Communications, 1987. – P. 168.
- Paksoy E., Srinivasan K., Gersho A. Codificación CELP de velocidad de bits variable del habla con clasificación fonética. //ETT, Vol.5, No. 5 septiembre-octubre de 1994, págs. 591-602.
- Vocodificador de velocidad variable Q4401. Descripción General. QUALCOMM Incorporated, ASIC Products 6455 Lusk Boulevard, San Diego, 1997.
- Gersho A., Paksoy E. Codificación de voz de velocidad variable para redes celulares./Codificación de voz y audio para aplicaciones inalámbricas y de red. Editores académicos de Kluwer. 1993, pág. 77-84.