Algoritmo de ley Μ
El algoritmo de ley μ (a veces escrito ley-mu, a menudo aproximado como ley-u) es un algoritmo de compresión, utilizado principalmente en sistemas de telecomunicaciones digitales PCM de 8 bits en América del Norte y Japón. Es una de las dos versiones del estándar G.711 de ITU-T, siendo la otra versión la ley A similar. La ley A se utiliza en regiones donde las señales de telecomunicaciones digitales se transportan en circuitos E-1, p. Europa.
Los algoritmos de compansión reducen el rango dinámico de una señal de audio. En los sistemas analógicos, esto puede aumentar la relación señal-ruido (SNR) lograda durante la transmisión; en el dominio digital, puede reducir el error de cuantificación (por lo tanto, aumentar la relación señal-ruido de cuantificación). Estos aumentos de SNR se pueden cambiar por ancho de banda reducido para SNR equivalente.
Tipos de algoritmo
El algoritmo de ley μ se puede describir en forma analógica y en forma digital cuantificada.
Continuo
Para una entrada determinada x, la ecuación para la codificación de la ley μ es
donde μ = 255 en los estándares norteamericano y japonés, y sgn(x) es la función de signo. Es importante notar que el rango de esta función es −1 a 1.
La expansión de la ley µ viene dada por la ecuación inversa:
Discreta
(feminine)La forma discreta se define en la Recomendación ITU-T G.711.
G.711 no está claro acerca de cómo codificar los valores en el límite de un rango (por ejemplo, si +31 codifica a 0xEF o 0xF0). Sin embargo, G.191 proporciona un código de ejemplo en lenguaje C para un codificador de ley μ. La diferencia entre los rangos positivo y negativo, p. el rango negativo correspondiente a +30 a +1 es −31 a −2. Esto se explica por el uso del complemento a 1 (inversión simple de bits) en lugar del complemento a 2 para convertir un valor negativo en un valor positivo durante la codificación.
14-bit código de entrada lineal binario | Código comprimido de 8 bits |
---|---|
+8158 a +4063 en 16 intervalos de 256 | 0x80 + número de intervalo |
+4062 a +2015 en 16 intervalos de 128 | 0x90 + número de intervalo |
+2014 a +991 en 16 intervalos de 64 | 0xA0 + número de intervalo |
+990 a +479 en 16 intervalos de 32 | 0xB0 + número de intervalo |
+478 a +223 en 16 intervalos de 16 | 0xC0 + número de intervalo |
+222 a +95 en 16 intervalos de 8 | 0xD0 + número de intervalo |
+94 a +31 en 16 intervalos de 4 | 0xE0 + número de intervalo |
+30 a +1 en 15 intervalos de 2 | 0xF0 + número de intervalo |
0 | 0xFF |
−1 | 0x7F |
−31 a −2 en 15 intervalos de 2 | 0x70 + número de intervalo |
95 - −32 en 16 intervalos de 4 | 0x60 + número de intervalo |
−223 a −96 en 16 intervalos de 8 | 0x50 + número de intervalo |
−479 a -224 en 16 intervalos de 16 | 0x40 + número de intervalo |
99−1 a 480 en 16 intervalos de 32 | 0x30 + número de intervalo |
2015 - −992 en 16 intervalos de 64 | 0x20 + número de intervalo |
−4063 a -2016 en 16 intervalos de 128 | 0x10 + número de intervalo |
−8159 a 4064 en 16 intervalos de 256 | 0x00 + número de intervalo |
Implementación
El algoritmo de la ley μ se puede implementar de varias maneras:
- Analog
- Utilice un amplificador con ganancia no lineal para lograr la compandación enteramente en el dominio analógico.
- Non-linear ADC
- Utilice un convertidor analógico a digital con niveles de cuantificación que son desigualmente espaciados para que coincida con el algoritmo μ-law.
- Digital
- Utilice la versión digital cuantificada del algoritmo μ-law para convertir datos una vez que esté en el dominio digital.
- Software/DSP
- Utilice la versión continua del algoritmo μ-law para calcular los valores compandados.
Justificación de uso
Se utiliza la codificación de ley μ porque el habla tiene un amplio rango dinámico. En la transmisión de señales analógicas, en presencia de un ruido de fondo relativamente constante, se pierden los detalles más finos. Dado que la precisión de los detalles se ve comprometida de todos modos, y suponiendo que la señal sea percibida como audio por un ser humano, se puede aprovechar el hecho de que el nivel de intensidad acústica percibido o el volumen son logarítmicos al comprimir la señal usando un logarítmico. -amplificador operacional de respuesta (ley de Weber-Fechner). En los circuitos de telecomunicaciones, la mayor parte del ruido se inyecta en las líneas, por lo tanto, después del compresor, la señal deseada se percibe significativamente más alta que la estática, en comparación con una fuente sin comprimir. Esto se convirtió en una solución común y, por lo tanto, antes del uso digital común, se desarrolló la especificación de la ley μ para definir un estándar interoperable.
En los sistemas digitales, este algoritmo preexistente tuvo el efecto de reducir significativamente la cantidad de bits necesarios para codificar la voz humana reconocible. Usando la ley μ, una muestra podría codificarse efectivamente en tan solo 8 bits, un tamaño de muestra que coincidía convenientemente con el tamaño de símbolo de la mayoría de las computadoras estándar.
La codificación de la ley μ redujo efectivamente el rango dinámico de la señal, lo que aumentó la eficiencia de la codificación mientras polariza la señal de una manera que da como resultado una relación señal-distorsión que es mayor que la obtenida por la codificación lineal para un determinado número de bits
El algoritmo de ley μ también se usa en el formato.au, que se remonta al menos a SPARCstation 1 de Sun Microsystems como el método nativo usado por la interfaz /dev/audio, ampliamente utilizado como estándar de facto para sonido en sistemas Unix. El formato au también se usa en varias API de audio comunes, como las clases en el paquete Java sun.audio en Java 1.1 y en algunos métodos de C#.
Este gráfico ilustra cómo la ley μ concentra el muestreo en los valores más pequeños (más suaves). El eje horizontal representa los valores de byte 0-255 y el eje vertical es el valor decodificado lineal de 16 bits de la codificación de ley μ.
Comparación con la ley A
El algoritmo de ley μ proporciona un rango dinámico ligeramente mayor que el de ley A a costa de peores distorsiones proporcionales para señales pequeñas. Por convención, la ley A se usa para una conexión internacional si al menos un país la usa.
Contenido relacionado
Bloqueo de desplazamiento
Jack Parsons
Microsoft bob