Articulo de referencia

algoritmo de ley mu

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

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

El algoritmo μ-law (a veces escrito mu -law , a menudo abreviado como u-law ) es un algoritmo de compresión y expansión que se utiliza principalmente en sistemas de telecomunicaciones digitales PCM de ocho bits en Norteamérica y Japón . Es uno de los dos algoritmos de compresión y expansión del estándar G.711 de la UIT-T , siendo el otro el similar A-law . El algoritmo A-law se utiliza en regiones donde las señales de telecomunicaciones digitales se transmiten a través de circuitos E-1, como Europa.

Los términos PCMU , G711u o G711MU se utilizan para la ley μ 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) 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 pueden compensarse con una reducción del ancho de banda para obtener una SNR equivalente.

A costa de una reducción de la relación señal/ruido máxima, se puede demostrar matemáticamente que la cuantización no lineal de la ley μ aumenta efectivamente el rango dinámico en 33 dB  o 5 + 1/2 bits con respecto a una señal cuantizada 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 para la ley μ de 8 bits. [ 2 ]

Tipos de algoritmos

El algoritmo de la ley μ puede describirse en forma analógica y en forma digital cuantificada.

Continuo

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

Para una entrada dada x , la ecuación para la codificación de ley μ es [ 3 ].F(incógnita)=sgn(incógnita)ln(1+μ|incógnita|)ln(1+μ),1incógnita1,{\displaystyle F(x)=\operatorname {sgn}(x){\dfrac {\ln(1+\mu |x|)}{\ln(1+\mu )}},\quad -1\leq x\leq 1,}

donde μ = 255 en los estándares norteamericanos y japoneses, y sgn( x ) es la función signo . El rango de esta función es de −1 a 1.

La expansión de la ley μ viene dada entonces por la ecuación inversa: [ 3 ]F1(y)=sgn(y)(1+μ)|y|1μ,1y1.{\displaystyle F^{-1}(y)=\operatorname {sgn}(y){\dfrac {(1+\mu )^{|y|}-1}{\mu }},\quad -1\leq y\leq 1.}

Discreto

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

G.711 no aclara cómo codificar los valores en el límite de un rango (por ejemplo, si +31 se codifica como 0xEF o 0xF0). Sin embargo, G.191 proporciona 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 de −31 a −2. Esto se explica por el uso del complemento a uno (inversión simple de bits) en lugar del complemento a dos 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 la compresión y expansión completamente en el dominio analógico.
Convertidor analógico-digital no lineal
Utilice un convertidor analógico-digital con niveles de cuantificación espaciados de forma desigual para que coincida con el algoritmo de la ley μ.
Digital
Utilice la versión digital cuantificada del algoritmo de la ley μ para convertir los datos una vez que estén en el dominio digital.
Software/DSP
Utilice la versión continua del algoritmo de la ley μ para calcular los valores comprimidos.

Justificación de uso

La codificación μ-law se utiliza debido a que 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 de los detalles se ve comprometida de todos modos, y suponiendo que la señal debe ser percibida como audio por un ser humano, se puede aprovechar el hecho de que el nivel de intensidad acústica percibida o sonoridad es logarítmico comprimiendo la señal mediante un amplificador operacional de respuesta logarítmica ( 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 como significativamente más fuerte que la estática, en comparación con una fuente sin comprimir. Esta se convirtió en una solución común y, por lo tanto, antes del uso generalizado de la tecnología digital, se desarrolló la especificación μ-law para definir un estándar interoperable.

Este algoritmo preexistente redujo significativamente la cantidad de bits necesarios para codificar una voz humana reconocible en sistemas digitales. Una muestra podía codificarse eficazmente mediante la ley μ con tan solo 8 bits, lo que coincidía con el tamaño de símbolo de la mayoría de los ordenadores comunes.

La codificación μ-law redujo eficazmente el rango dinámico de la señal, aumentando así la eficiencia de codificación y sesgando la señal de manera que se obtiene una relación señal- distorsión mayor que la obtenida mediante la codificación lineal para un número determinado de bits.

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

El algoritmo μ-law también se utiliza en el formato .au , que se remonta al menos a la SPARCstation 1 de Sun Microsystems como método nativo de la interfaz /dev/audio, ampliamente utilizada como estándar de facto para el sonido en sistemas Unix. 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 byte del 0 al 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 la ley A, a costa de mayores distorsiones proporcionales para señales débiles. Por convención, la ley A se utiliza para conexiones internacionales si al menos un país la utiliza.

Véase también

Referencias

  1. "Códecs de vídeo/voz/habla" . Grandstream . Consultado el 19 de julio de 2020 .
  2. Ess, David Van (29 de diciembre de 2014) [2007-10-09]. "Cypress Semiconductor AN2095: Algoritmo - Compresión y expansión de señal logarítmica - No es solo una buena idea - Es μ-Ley" (PDF) . Infineon Technologies . Archivado (PDF) del original el 6 de octubre de 2022. Recuperado el 28 de junio de 2023 .
  3. 1 2 "Técnicas de codificación de forma de onda - Cisco" . 2 de febrero de 2006. Consultado el 7 de diciembre de 2020 .
  4. "Recomendación G.711 de la UIT-T" .
  5. "G.191 : Herramientas de software para la estandarización de la codificación de voz y audio" . www.itu.int .  

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

  • Técnicas de codificación de formas de onda : detalles de la implementación
  • Implementaciones de compresión y expansión A-Law y mu-Law utilizando el TMS320C54x ( PDF )
  • Compresión μ-Law y A-Law del TMS320C6000 con software o McBSP ( PDF )
  • Realización de la ley A y la ley μ (en C)
  • Implementación de u-law en lenguaje C con código de ejemplo

Obtenido de " https://en.wikipedia.org/w/index.php?title=Mu-law_algorithm&oldid=1351390618 "