Red de conocimiento informático - Aprendizaje de programación - Principio de codificación G.711

Principio de codificación G.711

Propósito de este artículo:

1. Familiarizarse con los principios básicos de los dos formatos de G711a/u

2. Familiarizarse con los pasos de implementación de los dos algoritmos de compresión y proporciona la implementación del código fuente

G.711 G.711 es un conjunto de estándares de compresión de voz personalizados por la Unión Internacional de Telecomunicaciones ITU-T. Representa la PCM logarítmica (modulación de código de pulso logarítmico). ) estándar de muestreo y es el estándar principal de codificación y decodificación de sonido de forma de onda, utilizado principalmente en el campo telefónico.

El estándar G.711 cuenta principalmente con dos algoritmos de compresión.

G.711 codifica datos PCM muestreados de 14 bits (uLaw) o 13 bits (aLaw) en un flujo de datos de 8 bits y luego comprime los datos de 8 bits en 14 bits o 13 bits. datos de bits para su reproducción. G711 es un códec de forma de onda, a diferencia de MPEG, que considera todos o parte de los datos y luego los codifica y decodifica. G711 es un algoritmo de códec de forma de onda, es decir, una muestra corresponde a un código, por lo que la relación de compresión es fija:

G.711 es una cuantificación no lineal de señales de voz analógicas. Para obtener información detallada, por favor. consulte las especificaciones pertinentes de la UIT. Los siguientes son algunos parámetros de rendimiento:

G.711 (modo PCM)

Principio del algoritmo:

La fórmula de la ley A es la siguiente, generalmente A= Se utiliza 87.6

p>

El método de dibujo es el siguiente, x representa el valor de muestra de entrada, F (x) representa el valor de muestra después de la transformación de la ley A e y es el valor de muestra después Cuantización F(x).

Se puede observar que

corresponde a la ecuación de cuantificación inversa (es decir, la función inversa de la función anterior):

La entrada G.711A es de 13 bits (los 13 superiores de S16 bits) en un formato diseñado específicamente para facilitar la aritmética rápida en dispositivos digitales.

El cálculo del método A se muestra en la siguiente tabla.

Ejemplo:

Los datos pcm de entrada son 1234 y el binario correspondiente es (0000 0100 1101 0010)

Transformación binaria en modo de permutación y combinación (0 00001 0011 010010)

1. Obtenga el bit de signo más alto como 0, invierta s=1

2. Obtenga el bit de intensidad 00001, busque la tabla, el sistema de codificación debe ser eee=011

3. Obtenga los bits altos de la muestra wxyz=0011

4. La combinación es 10110011. Cuando se encuentra un número par, el inverso es 11100110 y E6 se obtiene

Para Norteamérica y Japón, la entrada es de 14 bits. El algoritmo de codificación es un cálculo de tabla de consulta: el valor de compensación promedio del valor de referencia

La fórmula de cálculo de la ley μ es la siguiente, μ generalmente es 255

El correspondiente La fórmula de cálculo de la ley μ se muestra a continuación

Ejemplo:

Ingrese los datos pcm de 1234

1, obtenga el valor del rango, busque la tabla para obtener los 16 64 intervalos de 2014 a 991

2. Obtener el valor base 0xA0

3. Obtener el número de intervalo 64

4. Obtener el intervalo valor base 2014

5. El valor actual 1234 y la diferencia entre el valor base del intervalo 2014-1234 = 780

6. Valor de compensación = 780/número de intervalos = 780 /64, redondeado para obtener 12

7. La salida es 0xA0 12= 0xAC

La ley A y la ley u se trazan en el mismo eje. Se puede encontrar que A. -La ley tiene una precisión ligeramente mayor en señales de baja intensidad.

En la práctica, podemos calcular el resultado F(x) en números de punto flotante y luego cuantizarlo, pero esto requerirá más cálculo. De hecho, se aproxima en 13 pliegues para la ley A (cuando A=87,6) y en 15 pliegues para la ley u (cuando μ=255).

Aunque G711 es un algoritmo de codificación de voz muy antiguo y su principio y método de cálculo son relativamente simples, algunos de los principios básicos utilizados en él también se utilizan en otros algoritmos de codificación. Ayuda a comprenderlo mejor. Buena comprensión de otros algoritmos.