Códecs: una introducción

El propósito de este artículo es presentar algunos conceptos básicos en relación con los códecs, especialmente referidos a códecs de audio. Dado que disto mucho de ser un experto, la idea es más bien introducir algunos de estos conceptos con el fin de comprender su utilización con fines prácticos.

¿Qué es un códec?

La Wikipedia define códec de esta manera:

Codec es una abreviatura de Compresor-Decompresor. Describe una especificación implementada en software, hardware o una combinación de ambos, capaz de transformar un archivo con un flujo de datos (stream) o una señal. Los codecs pueden codificar el flujo o la señal (a menudo para la transmisión, el almacenaje o el cifrado) y recuperarlo o descifrarlo del mismo modo para la reproducción o la manipulación en un formato más apropiado para estas operaciones

CódecWikipedia

¿Quedó claro? ¿No mucho? Pensemos en esta definición a través de un ejemplo cotidiano, como es un archivo de audio MP3: en este caso, lo que en la definición de la Wikipedia aparece como flujo o señal sería el audio, tal y como lo escuchamos. La especificación, por supuesto, corresponde a la especificación MP3, que básicamente puede ser pensada como un conjunto de reglas que por un lado, permite almacenar la información del audio de forma digital, optimizando la cantidad de espacio necesaria para guardarla (es decir, codificarla), y por otra parte, permite interpretar esta información de manera que un lector que comprenda las reglas con las que está almacenada pueda reproducirla en su forma original, en este caso, tal como el audio se escuchaba originalmente (este es el proceso de decodificación).

Esta es la versión simplificada del proceso, pues hay algunos detalles que no he mencionado y que son los que creo son más importantes al momento de decidirnos por un códec de audio, y es que en este proceso de codificación y decodificación podemos distinguir dos grandes grupos de códecs: aquellos que producen pérdidas de información (lossy) y aquellos que no producen pérdidas (lossless).

Códecs que producen pérdidas de información (lossy)

Quizás a primera vista parezca una barbaridad que uno pueda preferir un códec lossy, hasta que nos damos cuenta de que la gran mayoría de los códecs que ocupamos producen una cierta pérdida de información: MP3, AAC, WMA y OGG en audio; MPEG, Quickime, DivX, XVID en video, por nombrar algunos.

La razón fundamental para preferir códecs lossy es simple: ahorrar espacio de almacenamiento —un minuto de audio sin comprimir (en formato WAV) pesa alrededor de 10 MB, mientras que en MP3, con una calidad de 128kbps (cercana a CD), el espacio ocupado sería aproximadamente la décima parte.

Por otra parte, está la cuestión de qué información se pierde al codificar: en general, se descarta información que es imperceptible para la mayoría de las personas; por ejemplo, en el caso del audio, se elimina información en frecuencias que la mayoría de la gente no escucha, o información que no se nota que falta a menos que le ponga mucha atención y en equipos de muy buena calidad.

La principal preocupación de los códecs lossy es entonces cómo ofrecer el máximo de calidad ocupando el mínimo de espacio. Para enfrentar este problema, la mayoría de los códecs lossy ofrecen opciones para poder contolar la calidad que deseamos obtener tras el proceso de codificación, para lo cual podemos ocupar como medida más o menos estándar la cantidad de kilobits por segundo (kbps): cuanto mayor sea la cantidad de kbps, mejor será la calidad y se requerirá más espacio para almacenar la información. Tomemos nuevamente el ejemplo de MP3: la mayoría de los programas para transformar audio a MP3 ofrecen opciones que van desde los 96kbps a los 192kbps y más (en realidad, el rango completo fluctúa desde los 32 a los 320kbps). Un MP3 codificado a 96kbps ocupa alrededor de 1/14 del audio sin comprimir (aproximadamente 730KB por minuto), pero la calidad (que para algunos es “cercana a CD”) es regular, y si se escucha en un buen equipo de sonido, la mayoría de las personas podrían diferenciarlo del original; un mp3 a 192kbps ofrece una compresión de 1 a 7 (aproximadamente 1.43MB por minuto de audio), la calidad es comparable a un CD, y una gran mayoría de la gente no puede diferenciarlo del original.

Recién afirmaba que se podía ocupar como medida de comparación los kbps con que estaba codificado un archivo; esto es en parte cierto y en parte no: dado que cada códec establece distintas reglas de codificación y decodificación, algunas de ellas serán más eficientes que otras, en otras palabras, algunos códecs permiten un mejor aprovechamiento del espacio que otros. Por ejemplo, un MP3 codificado a 128kbps tiene una calidad inferior a un archivo de audio producido con el códec Ogg Vorbis a los mismos 128kbps, ya que este es más eficiente. Por lo tanto, podemos ocupar los kbps como medida de comparación entre distintos archivos codificados con un mismo códec, pero no entre archivos producidos por códecs distintos.

Hasta aquí dejo esta parte de la introducción a los códecs (no pensé que esta primera parte saldría tan larga), en la(s) próxima(s) entrega(s) trataré temas como: códecs que no producen pérdida de información (lossless), CBR/VBR, LAME, etc. (se aceptan —y se esperan— sugerencias).