Descargar

White paper: Desarrollo de un formato de video


Partes: 1, 2

  1. ¿Qué es un formato de video?
  2. Requisitos para lograr un buen formato
  3. Representación del color
  4. Representación del audio
  5. Representación de los subtítulos
  6. Otros elementos que pueden contener los videos
  7. Redundancia espacial y temporal
  8. Transformaciones basadas en ondas y wavelets
  9. Cuantificación
  10. Comprimiendo los datos
  11. Post-procesamiento
  12. Caso de estudio 1: el formato de video DivX
  13. Caso de estudio 2: el formato de video RA2

¿Qué es un formato de video?

Este mes decidimos tratar un tema muy importante del mundo del multimedia: los videos. No nos enfocaremos en los distintos formatos que hay disponibles, en vez de eso vamos a explicar las distintas técnicas que existen para lograr un formato de video de gran calidad.

Por otra parte, si estás pensando en implementar un formato de video o de imágen este white paper te será de gran utilidad.

Un formato de video es un tipo de archivo que contiene secuencias de imágenes que se muestran de forma fluida (24, 30 o más cuadros por segundo), es decir, video.

edu.red

Ejemplo de captura de video DivX.

Requisitos para lograr un buen formato

Un buen formato de video no es sencillo de lograr. De hecho, los formatos más populares fueron desarrollados por expertos mundiales en la materia, organismos de estandarización e investigadores. Lograr contener toda la secuencia de video en un diminuto archivo no es una tarea fácil, ya que no se trata sólo de comprimir las secuencias de bytes que representan los colores. Hay todo un conjunto de técnicas que permiten aumentar los ratios de compresión drásticamente.

Un buen formato de video debe:

? tener buena calidad de imágen y sonido

? ocupar poco espacio de almacenamiento

? ser liviano para ejecutar

? ser portable (que se pueda visualizar en distintas plataformas)

? ser lo más simple posible

Debemos aceptar que lo que presentamos arriba es muy difícil de lograr, y es por eso que los videos introducen cierta pérdida de datos. Para lograr mejores resultados los expertos optan por perder los datos que menos captan los sentidos humanos, como ser colores demasiado similares, sonidos con muy altas o muy bajas frecuencias, etc.

Representación del color

El color se puede representar de muchas maneras. Una de ellas es la representación RGB.

RGB son las siglas de los 3 colores usados (Red, Green, Blue). Cada componente de color rojo, verde y azul se representa por una secuencia de 8 bits, o lo que es lo mismo, 1 byte. Con 8 bits podemos lograr 256 combinaciones para cada color.

Los tres componentes suman 3 bytes o 24 bits. Y todas las combinaciones posibles que se pueden realizar son 2563=16.777.216. Esa es la cantidad de colores que podemos formar con 24 bits.

edu.red

Otra representación del color muy útil es HSV (Hue, Saturation, Value). Es muy útil porque maneja los colores de manera más intuitiva. Se compone de tono (hue), saturación y valor. El tono indica el color puro elegido en un arco de color cuyos componentes puros son verde, amarillo, rojo, magenta, azul y cian. La saturación nos indica qué tan puro es el color y el valor es la claridad.

Para desarrollar un formato de video se debe elegir la representación más conveniente, es decir, la que sea más fiel al original y permita la mejor compresión.

En muchos formatos se utiliza HSV y se comprime más la crominancia (H, tono de color) que la luminancia (V, cantidad de luz). Es así porque el ojo humano percibe más las variaciones de luminancia que de tono.

Al descartar ciertos datos de los componentes de color estamos perdiendo información que tal vez no podremos recuperar. Es por eso que, en general, los formatos de video son con pérdida de información. Perdemos información y calidad pero ganamos en compresión. La habilidad del desarrollador está en encontrar la mejor configuración que no pierda demasiada calidad pero que logre una aceptable compresión.

Representación del audio

Al igual que las imágenes, el audio se representa con bits.

Los sonidos son ondas, y las propiedades de las ondas son frecuencia o velocidad de muestreo, amplitud y fase. Queremos decir que son vibraciones del aire o medio (líquidos, sólidos o gases) que se desplazan por el medio a una velocidad apromiximada de 300 metros/seg. (en el aire). De acuerdo a como vibre el medio nuestros oídos perciben estas vibraciones y nuestro cerebro las interpreta. En el vacío no hay sonido.

Al ser ondas, el sonido es analógico. Por esta razón debemos digitalizarlo si lo queremos representar con bits. El sonido digital tiene 2 propiedades muy importantes:

? la tasa de muestreo: se mide en Hertz (Hz.) o ciclos por segundo y es la cantidad de muestras del sonido que se toman por segundo.

? el bitrate: es la tasa de bits/segundo que tiene cada muestras de sonido

Para incluirlo en los videos, el audio se comprime usando distintas técnicas basadas en la entropía y redundancia de los datos (ver nuestro white paper de Compresión). Otra técnica que se usa comunmente es la eliminación de los sonidos que no percibe el oído humano (de muy alta o muy baja frecuencia). El oído humano percibe los sonidos en el rango de frecuencias 20 a 20.000 Hz.

Partes: 1, 2
Página siguiente