stringtranslate.com

G.711

G.711 es un códec de audio de banda estrecha diseñado originalmente para su uso en telefonía que proporciona audio con calidad de peaje a 64 kbit/s. Es un estándar (Recomendación) ITU-T para codificación de audio , titulado Modulación de código de pulso (PCM) de frecuencias de voz lanzado para su uso en 1972.

G.711 pasa señales de audio en la banda de frecuencia de 300 a 3400 Hz y las muestrea a una velocidad de 8000 Hz, con una tolerancia en esa velocidad de 50 partes por millón (ppm).

Utiliza uno de dos algoritmos de compresión logarítmica diferentes : ley μ , que se utiliza principalmente en América del Norte y Japón, y ley A , que se utiliza en la mayoría de los demás países fuera de América del Norte. Cada muestra comparada se cuantifica en 8 bits, lo que da como resultado una velocidad de bits de 64 kbit/s .

G.711 es un estándar requerido en muchas tecnologías, como en los estándares H.320 y H.323 . [1] También se puede utilizar para comunicación por fax a través de redes IP (como se define en la especificación T.38 ).

Se han publicado dos mejoras a G.711: G.711.0 utiliza compresión de datos sin pérdidas para reducir el uso del ancho de banda y G.711.1 aumenta la calidad del audio al aumentar el ancho de banda.

Características

Tipos

G.711 define dos algoritmos de compresión principales, el algoritmo de ley μ y el algoritmo de ley A. Ambos son logarítmicos , pero la ley A fue diseñada específicamente para que sea más sencilla de procesar para una computadora [ cita requerida ] . El estándar también define una secuencia de valores de código repetidos que define el nivel de potencia de 0 dB .

Los algoritmos de ley μ y ley A codifican muestras PCM lineales con signo de 14 y 13 bits (respectivamente) en muestras logarítmicas de 8 bits. Por lo tanto, el codificador G.711 creará un flujo de bits de 64 kbit/s para una señal muestreada a 8 kHz. [1]

La ley μ G.711 tiende a brindar más resolución a señales de rango más alto, mientras que la ley A G.711 proporciona más niveles de cuantificación a niveles de señal más bajos.

Los términos PCMU , G711u y G711MU también se utilizan para la ley μ G.711, y PCMA y G711A para la ley A G.711. [2]

Una ley

Por lo tanto, la codificación de ley A toma como entrada una muestra de audio lineal con signo de 13 bits y la convierte a un valor de 8 bits de la siguiente manera:

  1. ^ Este valor se produce tomando la representación en complemento a dos del valor de entrada e invirtiendo todos los bits después del bit de signo si el valor es negativo.
  2. ^ Representación de magnitud firmada

Donde sestá el bit de signo, ses su inverso (es decir, los valores positivos se codifican con MSB  =  s  = 1), y los bits marcados xse descartan. Tenga en cuenta que la primera columna de la tabla utiliza una representación de valores negativos diferente a la de la tercera columna. Entonces, por ejemplo, el valor decimal de entrada −21 se representa en binario después de la inversión de bits como 1000000010100, que se asigna a 00001010 (según la primera fila de la tabla). Al decodificar, esto se asigna de nuevo a 1000000010101, que se interpreta como valor de salida −21 en decimal. El valor de entrada +52 (0000000110100 en binario) se asigna a 10011010 (según la segunda fila), que se asigna nuevamente a 0000000110101 (+53 en decimal).

Esto puede verse como un número de coma flotante con 4 bits de mantisa m (equivalente a una precisión de 5 bits), 3 bits de exponente e y 1 bit de signo s , formateado como seeemmmmcon el valor lineal decodificado y dado por la fórmula

que es un entero de 13 bits con signo en el rango de ±1 a ±(2 12  − 2 6 ). Tenga en cuenta que ningún código comprimido se decodifica a cero debido a la adición de 0,5 (la mitad de un paso de cuantificación).

Además, el estándar especifica que todos los bits pares resultantes ( LSB es par) se invierten antes de transmitir el octeto. Esto es para proporcionar muchas transiciones 0/1 para facilitar el proceso de recuperación del reloj en los receptores PCM. Por lo tanto, un canal PCM silencioso codificado según la ley A tiene las muestras de 8 bits codificadas 0xD5 en lugar de 0x80 en los octetos.

Cuando los datos se envían a través de E0 ( G.703 ), MSB (signo) se envía primero y LSB se envía en último lugar.

ITU-T STL [3] define el algoritmo de decodificación de la siguiente manera (coloca los valores decodificados en los 13 bits más significativos del tipo de datos de salida de 16 bits).

void alaw_expand ( lseg , logbuf , linbuf ) long lseg ; corto * linbuf ; corto * logbuf ; { ix corto , mant , iexp ; largo n ;                para ( n = 0 ; n < lseg ; n ++ ) { ix = logbuf [ n ] ^ ( 0x0055 ); /* volver a alternar bits conmutados */              ix &= ( 0x007F ); /* eliminar bit de signo */ iexp = ix >> 4 ; /* extraer exponente */ mant = ix & ( 0x000F ); /* ahora obtenemos mantisa */ if ( iexp > 0 ) mant = mant + 16 ; /* agregue '1' inicial, si el exponente > 0 */                      mant = ( mant << 4 ) + ( 0x0008 ); /* ahora mantisa justificada a la izquierda y */ /* 1/2 paso de cuantificación agregado */ if ( iexp > 1 ) /* ahora desplazamiento a la izquierda según el exponente */ mant = mant << ( iexp - 1 );                   linbuf [ n ] = logbuf [ n ] > 127 /* invertir, si la muestra es negativa */ ? mant : - mant ; } }         

Consulte también el "Manual del usuario de la Biblioteca de herramientas de software ITU-T 2009" que se puede encontrar en. [4]

ley μ

La codificación de ley μ (a veces denominada ulaw, G.711Mu o G.711μ) toma como entrada una muestra de audio lineal con signo de 14 bits en representación en complemento a dos , invierte todos los bits después del bit de signo si el valor es negativo, suma 33 (binario 100001) y lo convierte a un valor de 8 bits de la siguiente manera:

  1. ^ Este valor se produce tomando la representación en complemento a dos del valor de entrada, invirtiendo todos los bits después del bit de signo si el valor es negativo y sumando 33.
  2. ^ Representación de magnitud firmada . El resultado final se produce disminuyendo la magnitud de este valor en 33.

¿Dónde sestá el bit de signo y los bits marcados xse descartan?

Además, el estándar especifica que los bits codificados se invierten antes de transmitir el octeto. Por lo tanto, un canal PCM silencioso codificado según la ley μ tiene las muestras de 8 bits transmitidas 0xFF en lugar de 0x00 en los octetos.

Es necesario sumar 33 para que todos los valores caigan en un grupo de compresión y se reste al decodificar.

Dividiendo el valor codificado formateado seeemmmmen 4 bits de mantisa m , 3 bits de exponente e y 1 bit de signo s , el valor lineal decodificado y viene dado por la fórmula

que es un entero de 14 bits con signo en el rango de ±0 a ±8031.

Tenga en cuenta que 0 se transmite como 0xFF y −1 se transmite como 0x7F, pero cuando se recibe el resultado es 0 en ambos casos.

G.711.0

G.711.0, también conocido como G.711 LLC, utiliza compresión de datos sin pérdidas para reducir el uso del ancho de banda hasta en un 50 por ciento. [5] La compresión sin pérdidas del estándar de modulación de código de pulsos G.711 fue aprobada por el UIT-T en septiembre de 2009. [6] [7]

G.711.1

G.711.1 "Extensión integrada de banda ancha para modulación de código de pulsos G.711" es una extensión de mayor fidelidad de G.711, ratificada en 2008 y ampliada en 2012. [8]

G.711.1 permite una serie de capas de mejora además de un flujo principal G.711 sin procesar (Capa 0): la Capa 1 codifica audio de 16 bits en la misma banda estrecha de 4 kHz, y la Capa 2 permite banda ancha de 8 kHz usando MDCT ; cada uno utiliza 16 kbps fijos además del núcleo de 64 kbps. Pueden usarse juntas o individualmente, y cada una codifica las diferencias con respecto a la capa anterior. Ratificada en 2012, la Capa 3 extiende la Capa 2 a una "banda superancha" de 16 kHz, permitiendo otros 16 kbps para las frecuencias más altas, manteniendo al mismo tiempo la independencia de la capa. La tasa de bits máxima se convierte en 96 kbps en G.711.1 original, o 112 kbps con banda superancha. No se define ningún método interno para identificar o separar las capas, dejando a la implementación paquetizarlas o señalizarlas. [9] [10]

Un decodificador que no comprende ningún conjunto de capas de fidelidad puede ignorar o descartar paquetes no centrales sin afectarlos, lo que permite una degradación elegante en cualquier sistema de telefonía G.711 (o G.711.1 original) sin cambios.

También se ratificó en 2012 la G.711.0 sin pérdidas extendida a las nuevas capas de fidelidad. Al igual que G.711.0, la compatibilidad total con versiones anteriores de G.711 se sacrifica en aras de la eficiencia, aunque un nodo compatible con G.711.0 aún puede ignorar o descartar paquetes de capa que no comprende.

Licencia

Las patentes del G.711, publicadas en 1972, han caducado, por lo que se puede utilizar sin necesidad de licencia. [1]

Ver también

Referencias

  1. ^ abc "G.711: Modulación de código de impulsos (PCM) de frecuencias de voz". www.itu.int . Archivado desde el original el 17 de junio de 2019 . Consultado el 11 de noviembre de 2019 .
  2. ^ "Códecs de vídeo/voz/voz". Gran corriente= . Consultado el 19 de julio de 2020 .
  3. ^ G.191: Herramientas de software para la estandarización de la codificación de voz y audio. Función alaw_expanden archivo Software/stl2009/g711/g711.c. Itu.int. Recuperado el 18 de septiembre de 2013.
  4. ^ G.191: Manual del usuario de la biblioteca de herramientas de software ITU-T 2009. Itu.int (23 de julio de 2010). Recuperado el 18 de septiembre de 2013.
  5. ^ UIT-T (17 de julio de 2009). "Registro de noticias del UIT-T: el códec de voz obtiene una nueva compresión sin pérdidas". Archivado desde el original el 3 de marzo de 2016 . Consultado el 28 de febrero de 2010 .
  6. ^ UIT-T. "G.711.0: compresión sin pérdidas de modulación de código de pulsos G.711" . Consultado el 28 de febrero de 2010 .
  7. ^ Desarrollos recientes de codificación de audio/voz en el UIT-T y tendencias futuras (PDF) , agosto de 2008 , consultado el 28 de febrero de 2010
  8. ^ G.711.1: extensión integrada de banda ancha para modulación de código de pulsos G.711, UIT-T, 2012 , consultado el 24 de diciembre de 2022
  9. ^ Lapierre; et al. (25 de agosto de 2008), Modelado de ruido en un códec incorporado interoperable ITU-T G.711 (PDF) , consultado el 11 de junio de 2024
  10. ^ Hiwasaki; et al. (25 de agosto de 2008), G. 711.1: una extensión de banda ancha de ITU-T G. 711 (PDF) , consultado el 11 de junio de 2024

enlaces externos