La compresíon fácil y no tan fácil

Prólogo: Este artículo no pretende, de cualquier manera, ser exhaustivo, pero más bién aspira a proponer una revista de los principios básicos de los algoritmos de compresión de datos, y más particularmente de sus aplicaciones en audio.

La compresión, ¿De que se trata?

La compresión de datos consiste en reducir la talla de archivos informáticos, conteniendo o sea texto, imagén o sonido. Los formatos de archivos tales como el zip, rar, mp3 y también el jpeg, son formatos corrientes, de uso frecuente, que recurren a algoritmos de compresión de datos. Existen dos principales tecnologías de compresión:

La compresión sin pérdida de datos (“lossless” en inglés), que funciona sobre un principio de codificación de informaciones redundantes, de manera a reducir la talla de un archivo, sin alterar su calidad.

La compresión con pérdida de datos, basada sobre la supresión de informaciones que no son consideradas como esenciales, situadas fuera de las capacidades de análisis de l’oido y de la vista humana, par ejemplo. Esos sistemas de codificación o “codecs” son llamados “destructivos”, porque una vez llevada a cabo la compresión, es imposible recuperar el archivo original. Las informaciones suprimidas lo son definitívamente: Así que un archivo de calidad CD (en formato “wave”) convertido al formato mp3 (compresión destructiva, con pérdida), y luego convertido de nuevo al formato wave, no recuperará la calidad del CD original.

Métodos de compresión sin pérdida:

En el caso de la compresión sin perdida, el archivo comprimido contiene tanta información como el archivo original, esa información siendo simplemente más “compacta”.

Se utiliza un lenguaje (o método de codificación) diferente, de manera a reducir la cantidad de bits necesarios a la transmisión de la misma información.

El método RLE (Run Length Encoding), el más sencillo, consiste en detectar una sucesión consecutiva de un mismo dato, y de sustituirla por un par constituido del dato redundante y de su coeficiente de occurencia.

Por ejemplo: “aaabbbbbbbRR”  se convierte en  “3a7b2R”

Un tal método de compresión es evidentemente poco eficaz cuando se trata de reducir la talla de un archivo conteniendo texto, teniendo en cambio aplicaciones para archivos conteniendo imagén o sonido.

Por ejemplo, en el caso de una compresión con pérdida, si frecuencias muy cercanas las unas de las otras don detectadas, serán procesadas como frequencias idénticas (con pérdida irreversible de información), para aumentar la redundancia consecutiva y codificarla en RLE.

Otro método sin pérdida, el método Huffman, consiste también en reducir la cantidad de bits necesarios a la codificación de informaciones redundantes, procediendo por análisis de la totalidad del archivo, y permitiendo de localizar los datos los más frecuentes, que sean consecutivos o no.

Para un texto en castellano, se tratará típicamente de codificar las letras “e” y “a” con la menor cantidad de bits posible, siendo esas letras la más frecuentes en este idioma, y reservar una cantidad mayor para letras menos frecuentes, tal como “x, y, z”. Este método, cercano al código morse, que codifica la letra “e” con un simple “.”, ofrece un índice de compresión bastante interesante para los archivos de texto, cerca de unos 30 %.

Para la compresión audio o vídeo, se tratará de detectar las frecuencias las más redundantes. Por ejemplo, las frecuencias de la voz humana están mayormente concentradas en una banda que va de 2 kHz a 4 kHz. Para la grabación de una voz hablando, codificar esa banda de frecuencias con pocos bits permitirá comprimir el archivo de manera más eficaz.

Existen numerosos otros métodos de compresión sin pérdida, pero el objetivo de este artículo no es de proporcionar una lista exhaustiva. Bastará decir que sus principios básicos son idénticos: la detección de redundancia de información.

Métodos de compresión con pérdida:

La compresión con pérdida se aplica solo a datos que puedan sufrir una modificación, a veces importante, sin que esta sea percibida por un ser humano. Esos métodos así pues se basan sobre el estudio de las características de la percepción humana. En el caso particular de la percepción auditiva, se habla de psicoacústica.

La psicoacústica establece relaciones entre criterios objetivos y subjetivos, es decir parámetros acústicos, fisiológicos y psicológicos.

La compresión psicoacústica, basada sobre características del oido humano:

La sensibilidad de nuestro oido no es lineal, varía según la frecuencia y el nivel sonoro. Nuestro oido percibe sonidos de frecuencias incluidas entre 20 Hz y 20 kHz, pero es más particularmente sensible en la zona de frecuencias que van de 2 kHz a 4 kHz, lo que coincide con las frecuencias las más características de la voz humana. En consecuencia, dos sonidos de frecuencias diferentes pero de misma intensidad pueden inducir una sensación de potencia sonora diferente. Eso se ve bién en la figura aquí abajo, que transcribe los resultados de mediciones realizadas para determinar el umbral de percepción auditiva con arreglo à la frecuencia.

Experimento: Medición del umbral de percepción por aumento del volumen de un sonido hasta volverlo audible en un lugar silencioso.
[singlepic id=8 w=320 h=240 float=center]

Por lo tanto, en caso de ausencia de silencio, aparecen interferencias entre sonidos: Si se emite por ejemplo un sonido a 1000 Hz de nivel sonoro de 60 dB, y que se mide al mismo tiempo el umbral de percepción de otras frecuencias, la curva del umbral de percepción se modifica tanto más cuanto que la frecuencia se acerca a la frecuencia del sonido principal, efecto que se llama “enmascaramiento” o “masking”(en inglés), como se puede constatar en la figura siguiente.

Effecto de enmascaramiento frecuencial:
[singlepic id=5 w=320 h=240 float=center]

El umbral de percepción a 2 kHz aumenta de unos 10 dB, en comparación al umbral en un ambiente silencioso.

Por demás, la anchura de la banda modificada por ese efecto depende de la frecuencia que lo origina. Cuanto más alta sea, es decir mas aguda, mas ancha queda la banda afectada. Esa banda se llama la banda crítica.
[singlepic id=6 w=320 h=240 float=center]

Así, bién se ve en la figura precedente, que a un nivel sonoro de 60 dB, la anchura de la banda crítica es mucho más importante alrededor de una frecuencia de 8 kHz que alrededor de una frecuencia de 25 Hz.

Efecto de enmascaramiento temporal:

El más sencillo de este tipo de efecto, experimentado por todos, es el efecto simultáneo. Cuando uno habla en un ambiente ruidoso (Música en la radio, multitud en un lugar público, circulación de coches en la calle, etc.), aumentará de manera instintiva el nivel de su voz para ser oído y oirse a si mismo.

Menos conocido, el efecto llamado “de precedencia”, o efecto “Haas”: cuando un sonido se interrumpe, se necesita tiempo para recuperar una plena audición, como lo demuestra la figura siguiente:
[singlepic id=7 w=320 h=240 float=center]

Posteriormente a la emisión de un sonido de 60 dB de intensidad durante 5 ms, se necesita aproximadamente medio segundo (500 ms) para poder de nuevo percibir sonidos de mucha más baja intensidad.

Asimismo, un sonido cuya emisión precede un sonido perturbador de mayor intensidad esta ocultado, pero durante menos tiempo (unos cuantos millisegundos) que si hubiera sido emitido posteriormente al mismo sonido perturbador. Eso por ser interpretado por el oido como un “eco adelantado” del sonido perturbador.

¿Como utilizar esos datos para la compresión?

En resumen, tiempo y frecuencia ambos intervienen en la ocultación auditiva.

El nivel de enmascaramiento depende del nivel del sonido ocultante, de su frecuencia y de la distancia que lo separa del sonido ocultado. Aplicados a la compresión de archivos audio, los efectos de enmascaramiento frecuenciales y temporales permiten transmitir únicamente sonidos realmente percibidos por el oído.

La redundancia psicoacústica y las informaciones que no son imprescindibles son nada más que suprimidas.

El joint stereo (o estéreo conjunto)

Otra característica de la perceptión del oído humano utilizada por los algoritmos de compresión audio con pérdidas, es su incapacidad a localizar precisamente en el espacio las bajas frecuencias, a lo contrario de las altas frecuencias.
¿Porqué codificar la parte baja del espectro en estéreo si el oído no hace diferencias, o pocas?
Eso es lo que se aplica en el joint stereo, consistiendo en separar la señal en dos bandas de frecuencias, de manera a codificar en estéreo solo la parte alta del espéctro, y en mono la parte baja. Esa opción se encuentra en los detalles de reglajes de importación de CD’s en el programa itunes (menú Edición/Preferencias/Reglajes de importación). El mp3, formato de compresión el más popular, es una combinación de compresión psicoacústica, joint stereo y codificación de tipo Huffman.
Existen varios estándares en calidad mp3, dependiendo de la tasa de transferencia de los datos (exprimida en kilobits por segundo). El programa itunes propone por ejemplo una codificación que va de 16 kb/s a 320 kb/s.
Aquí abajo un link muy interesante hacia un sitio que propone escuchas comparadas de sonidos comprimidos en 128 kbit/s y 320 kbit/s. Es evidente que la calidad del conjunto audio influirá mucho sobre la capacidad de diferenciar o no las muestras propuestas. Altavoces de ordenador poco son indicados.

http://mp3ornot.com

Un oído entrenado (como el de músicos profesionales o ingenieros del sonido) es en teoría capaz, y sin gran dificuldad, de diferenciar un CD de su versión comprimida en mp3.

Conclusión

¿mp3, si o no? Claro que la compresión de archivos tiene sus detractores, los que son audiófilos. Sería lástima que un tal formato se generalize, con el desarollo de la descarga comercial de música y la caída constante de las ventas de CD’s, es un temor legítimo. Los proveedores de servicios de Internet solo se preocupan de velocidad y rentabilidad, reduciendo el espacio de almanejace y el ancho de banda de sus servidores. Solución la más sencilla: la compresión de los archivos audio.
¡No es raro que las plataformas de descarga musical propongan una escucha en modo monofónico ! Pero cualquiera que experimentó la diferencia entre un archivo en calidad mono o estéreo no puede más que lamentar un tal proceso, que altera totalmente no solo la calidad técnica de una grabación, pero también la expresión musical.

Dicho de otra manera, escuchar un extracto de un disco en modo mono no da muchas ganas de comprarlo… Por otra parte, no seamos alarmistas con exceso, algunos distribuidores siguen defendiendo la calidad y proponen descarga de música en calidad mp3, CD y hasta HD (Alta definición).
El mp3 (y otros formatos de compresión) no tan solo tienen defectos, estando claro que eso depende de su dominio de aplicación. El reproductor mp3 es el mejor ejemplo: siendo ante todo un objeto práctico que permite transportar facílmente una gran cantidad de música, su destino no es de restituir un sonido de alta calidad, a pesar de grandes progresos tecnológicos. De todas maneras los auriculares o cascos correspondientes no permiten una reproducción fiel del espacio sonoro, y no pueden remplazar buenos altavoces ( teniendo en cuenta el nivel de desarollo de la tecnología).

Pues no será muy apropiado usar de auriculares de calidad mediana con un reproductor de calidad similar, para escuchar una grabación en HD. El mp3 tiene toda su utilidad en estas circunstancias, y un porvenir que no está a punto de acabar…

Hannelore Guittet
Traducción al español: Xavier Vega y Patrice Guittet

Bibliografía (en francés) :

“Principes et techniques de compression de données à la portée de tous”, Hadrien Polastro, 2007

http://www.01audio-video.com

http://www.cem2.univ-montp2.fr/~moreau/cours/Codage_audio.doc