WMV



Si quieres esuchar el contenido de ésta página, reproduce lo siguiente:

¿Qué es?

Windows Media Video, o WMV, es un codec de compresión de video desarrollado por Microsoft Corporation para gestionar contenidos de video y aplicaciones de streaming por Internet en ordenadores personales. ​Cabe aclarar que típicamente puede referirse a un códec de video y a un archivo contenedor, sin embargo, aquí estaremos hablando del codec.

Historia

En 2003, Microsoft redactó una especificación de compresión de video basada en su formato WMV 9 y la envió a SMPTE para su estandarización. El estándar fue aprobado oficialmente en marzo de 2006 como SMPTE 421M, más conocido como VC-1 , lo que convierte al formato WMV 9 en un estándar abierto. VC-1 se convirtió en uno de los tres formatos de video para el disco de video Blu-ray , junto con H.262 / MPEG-2 Part 2 y H.264 / MPEG-4 AVC.​

Versiones más destacables

Características

Perfiles y niveles de codificacion



Proceso de codificacion

WMV sigue el estándar VC-1 que consiste principalmente en los siguientes pasos:​

  1. Separación en macrobloques​

  2. Transformada del Coseno Discreta​

  3. Cuantificación​

  4. Compensación de movimiento​

  5. Codificación de entropía (mediante el algoritmo de Huffman)​

Estructura de video codificada

Cuando VC-1 codifica una imagen, divide la imagen en macrobloques. Cada macrobloque de 16x16 se compone de 6 bloques de muestra de 8x8 (4 bloques Y, 1 bloque U y 1 bloque V). Además, el método de codificación puede dividir un bloque individual de 8x8 en 2 bloques de 8x4, 2 bloques de 4x8 o 4 bloques de 4x4.​



Transformada del coseno discreta​

Se utiliza la Transformada discreta del coseno para convertir bloques de muestras en un dominio de transformación para facilitar una codificación más eficiente. La transformación puede funcionar en el bloque completo de 8x8 o en cualquiera de los 3 tamaños de subbloque admitidos (8x4, 4x8 o 4x4). A diferencia de muchos estándares de códec que preceden a VC-1, la especificación define un método de transformación con precisión de bit al que se espera que todas las implementaciones se ajusten para minimizar el error de transformación.​



Cuantificación​

La cuantificación es el paso de compresión que potencialmente pierde la mayor cantidad de información en un esquema de compresión con pérdida como VC-1. Este códec (a diferencia de muchos otros) define una forma directa de escalar los coeficientes mediante el parámetro de cuantificación en lugar de especificar matrices de cuantificación.​

Compensación de movimiento​

Permite reducir de manera eficiente la redundancia temporal en secuencias de video. Este proceso consiste en tres pasos:​

  1. Para cada uno de los macrobloques (MB) de una imagen actual encuentra su mejor emparejamiento (match) de otros MB pertenecientes a una o varias imágenes de referencia. Genera como resultado el vector de movimiento MV={mvx, mvy}.

  2. El mejor match encontrado constituye la predicción de ese MB. Ambos MB se restan para obtener el MB residual, proceso conocido como compensación de movimiento.​

  3. Finalmente, ese MB residual es codificado y comprimido junto con su MV​

Codificación Huffman​

El principio básico es utilizar un código de longitud variable, asignando las palabras de código de menor longitud a los niveles de gris más probables.​ Para esto se genera un árbol de codificación Huffman mediante los siguientes pasos:​

  1. Ordenar la lista de símbolos de datos en orden de probabilidad creciente.

  2. Combinar los dos símbolos de menor probabilidad en un nudo y asignar la probabilidad conjunta de estos símbolos al nudo.

  3. Reordenar los restantes símbolos de datos y nudos en orden de probabilidad creciente y repetir el paso 2, hasta llegar al nudo raíz:



​​

Codificación de entropía​

Uno de los principales tipos de codificación de entropía crea y asigna un código único sin prefijo a cada símbolo único que aparece en la entrada. De esta manera, luego comprimen los datos reemplazando cada símbolo de entrada de longitud fija con la correspondiente palabra clave de salida sin prefijo de longitud variable. La longitud de cada palabra de código es aproximadamente proporcional al logaritmo negativo de la probabilidad de aparición de esa palabra de código. Por lo tanto, los símbolos más comunes usan los códigos más cortos.​



​​