Codecs

A pesar del enorme progreso en velocidad y potencia que han experimentado los equipos de postproducción en las últimas dos décadas, el masivo incremento en la cantidad de datos que un flujo de vídeo requiere no le ha ido a la zaga a aquel.

Por el momento trabajar con algún tipo de compresión resulta ineludible con independencia del tamaño de la producción que debamos acometer. No sólo por el ahorro de costes en soportes de almacenamiento que supone, sino también por el necesario aprovechamiento del limitado ancho de banda con el que contamos en televisión o internet.

La palabra codec es un acrónimo de coder / decoder (codificador / decodificador) y se emplea para definir un sistema en el cual se codifica una cantidad de datos específica organizada en forma de archivos empleando un algoritmo concreto. Este sistema precisa un descodificador para poder volver a acceder a la información de los archivos comprimidos originalmente.

Los archivos de imagen están compuestos de píxeles, cada uno de los cuales contiene una serie de valores RGB e YUV (luminancia y crominancia) asignados. Además, suelen incorporar una cantidad variable de metadatos, es decir, datos que no son parte de la imagen en si misma, pero que pueden resultar de gran utilidad para la gestión o clasificación de las imágenes a posteriori. Los formatos de archivos incluyen habitualmente el nombre del archivo seguido por un punto y una extensión que suele corresponder al contenedor, del que hablaremos más adelante.

Comparación entre codecs de vídeo MPEG-4 y AVC/H.264
Comparación entre codecs de vídeo MPEG-4 y AVC/H.264

Todos los codecs buscan poner el acento en la eficiencia a la hora de comprimir los archivos. Mantener la mayor calidad de imagen posible ocupando el menor espacio posible. Pero como cada proyecto puede tener necesidades muy diferentes, gran parte de esa eficiencia reside en decisiones del propio usuario. La mayoría de los codecs son escalables hasta cierto punto y permiten modificar el grado de calidad. La tasa de transferencia de datos por fotograma puede ser constante (CBR) o variable (VBR). Como no todos los fotogramas contienen el mismo tipo de información la misma cantidad de compresión no es igualmente eficiente en cada uno de ellos. De ahí que -cuando se trabaja con bajas tasas de transferencia- sea más frecuente recurrir a bit rates variables. Sin embargo, en el momento de editar es mucho más conveniente el uso de bit rates constantes que no requieren un procesado tan intenso para el hardware.

Grupo de imágenes conformado por fotogramas i, p y b
Grupo de imágenes conformado por fotogramas i, p y b

Existen al menos tres tipos diferentes de algoritmos que se emplean a menudo en la compresión de vídeo. estos algoritmos también se denominan “tipos de fotogramas”:

1.    Fotogramas i. Son los únicos que dependen de si mismos para realizar las tareas de compresión / descompresión (compresión intra-cuadro). Al igual que ocurre con los algoritmos JPEG en las imágenes fijas, se basan en la eliminación de las redundancias en la información de las señales de luminaria y crominancia de cada píxel. Tanto a la hora de codificar como de decodificar la imagen estos son los primeros fotogramas que se utilizan en el proceso. Requieren un flujo de datos superior al de los otros dos tipos.

2.    Fotogramas p (predecibles anteriores). Tradicionalmente utilizan la información del fotograma i inmediatamente anterior combinada con la detección de los vectores de movimiento que realiza el propio sensor de la cámara para desplazar macrobloques de píxeles basándose en esos datos (compresión intercuadro). En el caso del codec H.264 pueden hacer referencia no a uno sino a múltiples fotogramas anteriores en orden arbitrario. Requieren un flujo de datos inferior al de los fotogramas i y la calidad de imagen resultante es inferior.

3.    Fotogramas b (predecibles bidireccionales). Emplean el mismo principio que los fotogramas p, pero obteniendo información a partir de fotogramas i anteriores y posteriores. Requieren un flujo de datos inferior al de los fotogramas i y p. De modo que cuanto más fotogramas b se usen peor es la calidad de imagen general y menor el peso del archivo final.

Por regla general podemos afirmar que cuando se recurre a algoritmos basados exclusivamente en fotogramas i podemos emplear procesos de edición, composición y etalonaje más intensos y complejos que  cuando lo hacemos con aquellos que se basan en la conjunción de los tres tipos de algoritmos descritos, dada su superior calidad.

Proceso de transcodificación
Proceso de transcodificación

En casi todas las ocasiones, el codec más adecuado para la captura de imágenes no es el ideal para la posproducción. Por ese motivo, es preciso un proceso de transcodificación entre el codec de adquisición y el de edición. Este proceso puede implicar una pérdida de información o el mantenimiento de la misma de forma inalterada. En el segundo caso, sólo se produce un “arreglo” de los datos dentro de un nuevo sistema de archivos al tiempo que se renombre la extensión. Por contra los sistemas con pérdida cambian siempre los datos originales durante la transcodificación y una vez que se convierten no mantienen las mismas propiedades. Algunos de estos sistemas (los Apple ProRes o los Avid DNxHD, serían los más comunes) incrementan el tamaño de los archivos de forma considerable.

Para poder reproducir cualquier tipo de formato de archivos de imagen es conveniente que el programa encargado de esa tarea lea una única clase de archivo (que a su vez contenga a todos los demás). De ahí que existan los contenedores. No deben confundirse contenedores con codecs ya que los segundos realmente afectan a la calidad de imagen mientras que los primeros sólo almacenan información (sea de la calidad que sea) hasta un límite de espacio concreto.

Estructura de un contenedor de vídeo MP4/Quicktime
Estructura de un contenedor de vídeo MP4/Quicktime

Muchos contenedores son “propietarios”. Es decir, están diseñados por un fabricante específico de software para que funcionen con sus programas y pueden provocar numerosos problemas si se intentan usar con otros. Otros en cambio, emplean software libre y soportan una amplísima gama de codecs. En un mundo perfecto, estos últimos serían los más difundidos, pero a nivel profesional los fabricantes de equipos suelen mantener estrechas relaciones comerciales con los de software propietarios (cuando no los fabrican ellos mismos) e imponen el uso de los codecs y contenedores que más les convienen.

       

Los comentarios en esta página pueden ser moderados; en tal caso no aparecerán inmediatamente al ser enviados. Las descalificaciones personales, los comentarios inapropiados, de extensión desmesurada o con demasiados errores ortográficos podrán ser eliminados. Asimismo, en caso de errores considerados tipográficos, el editor se reserva el derecho de corregirlos antes de su publicación con el fin de mejorar la comprensión de los mismos. Recordamos a los lectores que el propósito final de este medio es informar. Para recibir soporte sobre dispositivos o problemas particulares les invitamos a contactar con el correspondiente servicio de atención al cliente.