stringtranslate.com

algoritmo de ley μ

Comparación de la compresión de ley A (azul) y ley μ (rojo) en una señal de entrada (verde). Ambos ejes utilizan escalas logarítmicas en decibeles .

El algoritmo de ley μ (a veces escrito ley mu , a menudo aproximado como ley u ) es un algoritmo de expansión , utilizado principalmente en sistemas de telecomunicaciones digitales PCM de 8 bits en América del Norte y Japón . Es uno de los dos algoritmos de compresión del estándar G.711 de ITU-T , siendo el otro la ley A similar . La ley A se utiliza en regiones donde las señales de telecomunicaciones digitales se transportan en circuitos E-1, por ejemplo, Europa.

Los términos PCMU , G711u o G711MU se utilizan para la ley μ del G711. [1]

Los algoritmos de compresión reducen el rango dinámico de una señal de audio . En 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 (aumentando así la relación señal-ruido de cuantificación). Estos aumentos de SNR se pueden canjear por un ancho de banda reducido por una SNR equivalente.

A costa de una SNR máxima reducida, se puede demostrar matemáticamente que la cuantificación no lineal de la ley μ aumenta efectivamente el rango dinámico en 33 dB o 5+12 bits sobre una señal cuantificada linealmente, por lo tanto, 13,5 bits (que se redondea a 14 bits) es la resolución máxima requerida para que una señal digital de entrada se comprima según la ley μ de 8 bits. [2]

Tipos de algoritmos

El algoritmo de ley μ se puede describir en forma analógica y en forma digital cuantificada.

Continuo

función de ley μ
Función de ley μ inversa

Para una entrada x dada , la ecuación para la codificación de ley μ es [3]

donde μ = 255 en los estándares norteamericano y japonés, y sgn( x ) es la función de signo . Es importante señalar que el rango de esta función es −1 a 1.

La expansión de la ley μ viene dada entonces por la ecuación inversa: [3]

Discreto

La forma discreta se define en la Recomendación UIT-T G.711 . [4]

G.711 no tiene claro cómo codificar los valores en el límite de un rango (por ejemplo, si +31 codifica 0xEF o 0xF0). [ cita necesaria ] Sin embargo, G.191 proporciona un código de ejemplo en lenguaje C para un codificador de ley μ. [5] La diferencia entre los rangos positivo y negativo, por ejemplo, el rango negativo correspondiente a +30 a +1 es −31 a −2. Esto se explica por el uso del complemento a 1 (inversión de bits simple) en lugar del complemento a 2 para convertir un valor negativo en un valor positivo durante la codificación.

Implementación

El algoritmo de la ley μ se puede implementar de varias maneras:

Cosa análoga
Utilice un amplificador con ganancia no lineal para lograr una compresión completamente en el dominio analógico.
ADC no lineal
Utilice un convertidor analógico a digital con niveles de cuantificación que estén espaciados de manera desigual para que coincidan con el algoritmo de ley μ.
Digital
Utilice la versión digital cuantificada del algoritmo de ley μ para convertir datos una vez que estén en el dominio digital.
Software/DSP
Utilice la versión continua del algoritmo de ley μ para calcular los valores comprimidos.

Justificación de uso

La codificación de ley μ se utiliza porque el habla tiene un amplio rango dinámico . En la transmisión de señales analógicas, en presencia de ruido de fondo relativamente constante, se pierden los detalles más finos. Dado que la precisión del detalle está comprometida de todos modos, y asumiendo que la señal debe ser percibida como audio por un humano, se puede aprovechar el hecho de que el nivel de intensidad acústica percibido o el volumen es logarítmico comprimiendo la señal usando un método 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 que después del compresor, la señal deseada se percibe significativamente más fuerte que la estática, en comparación con una fuente no comprimida. Esta 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.

Este algoritmo preexistente tuvo el efecto de reducir significativamente la cantidad de bits necesarios para codificar una voz humana reconocible en sistemas digitales. Una muestra podría codificarse eficazmente utilizando la ley μ en tan solo 8 bits, lo que coincidía convenientemente con el tamaño de símbolo de la mayoría de las computadoras comunes.

La codificación de ley μ redujo efectivamente el rango dinámico de la señal, aumentando así la eficiencia de la codificación y al mismo tiempo polarizando la señal de una manera que da como resultado una relación señal- distorsión mayor que la obtenida mediante codificación lineal para un número determinado de bits. .

Decodificación de ley μ generada con la rutina de lenguaje C g711.c de Sun Microsystems comúnmente disponible en Internet

El algoritmo de ley μ también se utiliza en el formato .au , que se remonta al menos a SPARCstation 1 de Sun Microsystems como método nativo utilizado por la interfaz /dev/audio, ampliamente utilizada como estándar de facto para sonido en Unix. sistemas. El formato au también se utiliza en varias API de audio comunes , como las clases del 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 bytes 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 utiliza para una conexión internacional si al menos un país la utiliza.

Ver también

Referencias

  1. ^ "Códecs de vídeo/voz/voz". Gran corriente= . Consultado el 19 de julio de 2020 .
  2. ^ Ess, David Van (29 de diciembre de 2014) [9 de octubre de 2007]. "Cypress Semiconductor AN2095: Algoritmo - Compansión de señal logarítmica - No es sólo una buena idea - Es ley μ" (PDF) . Tecnologías Infineon . Archivado (PDF) desde el original el 6 de octubre de 2022 . Consultado el 28 de junio de 2023 .
  3. ^ ab "Técnicas de codificación de formas de onda: Cisco". 2006-02-02 . Consultado el 7 de diciembre de 2020 .
  4. ^ "Recomendación UIT-T G.711".
  5. ^ "G.191: Herramientas de software para la estandarización de la codificación de voz y audio". www.itu.int .

Dominio publico Este artículo incorpora material de dominio público de la Norma Federal 1037C. Administración de Servicios Generales . Archivado desde el original el 22 de enero de 2022.

enlaces externos