Articulo de referencia

Vídeo de Smacker

Smacker video es un formato de archivo de video (con la extensión de archivo .SMK ) desarrollado por Epic Games Tools y utilizado principalmente para videos de movimiento comple...

Smacker video es un formato de archivo de video (con la extensión de archivo .SMK ) desarrollado por Epic Games Tools y utilizado principalmente para videos de movimiento completo en videojuegos . [1] Smacker utiliza una paleta RGB adaptativa de 8 bits . El formato de RAD para videos con profundidades de color más altas es Bink Video . El formato Smacker especifica un formato contenedor , un formato de compresión de video y un formato de compresión de audio. [2] Desde su lanzamiento en 1994, Smacker se ha utilizado en más de 2300 juegos. [1] Blizzard utilizó este formato para los videos cinemáticos que se ven en sus juegos Warcraft II , StarCraft y Diablo I. [ 3]

El formato ha sido diseñado a la inversa e implementado en libavcodec . [4] [5] [6] Un proyecto no comercial de SourceForge, libsmacker, lanzó un decodificador de código abierto en 2013. [7]

Detalles técnicos

Formato de archivo (contenedor)

Smacker define su propio formato contenedor . [2] Un archivo Smacker puede contener una pista de video Smacker y hasta siete pistas de audio. Cada pista de audio puede tener un canal (mono) o dos canales (estéreo) con una profundidad de bits de 8 o 16 bits. El audio puede ser PCM sin comprimir , comprimido en el formato Smacker Audio o, en versiones más nuevas de Smacker, comprimido en el formato Bink Audio. [2]

Video

Los videos de Smacker admiten 256 colores, pero no transparencia. [2] Si bien es un formato basado en paletas , que está limitado inherentemente a no tener más de 256 colores en cada cuadro, los videos de Smacker pueden contener más colores en total debido a la "rotación de paleta", por la cual la paleta se actualiza por cuadro. [2] Esto generalmente da como resultado archivos SMK que se ven mejor si el video de origen tiene más de 256 colores. La tasa de compresión depende del contenido. La codificación de un video que consta de cuadros estáticos o apenas en movimiento es prácticamente gratuita después del primer cuadro. [2] Los cuadros con colores aleatorios pueden más que duplicar el tamaño original. [ cita requerida ]

En el video Smacker, un fotograma se divide en bloques de 4 × 4 en orden de escaneo de trama. [2] Cada bloque se puede codificar en uno de los seis modos de codificación: omisión, relleno, mono y tres modos completos. Cada modo se puede señalar para múltiples bloques en un esquema de codificación de longitud de ejecución . En el modo de omisión, el bloque actual se copia del fotograma anterior en forma de reposición condicional. En el modo de relleno, el bloque actual se rellena con un solo color. En el modo mono, la paleta se reduce localmente de 256 colores a dos colores. Ambos colores se escriben en el flujo de bits y se utiliza un bit por píxel para indicar cuál de los dos colores debe ser un píxel. [2] El modo mono se puede interpretar como cuantificación vectorial , donde un vector tridimensional con los componentes rojo, verde y azul se cuantifica utilizando un libro de códigos adaptativo con dos entradas. Hay tres modos completos, uno se especificó en la versión 2 del formato Smacker, mientras que los otros dos se agregaron en la versión 4. [2] En el modo completo original, se transmiten 16 colores, uno por cada píxel, equivalente a PCM sin comprimir. Los dos modos completos agregados en la versión 4 utilizan 4 y 8 colores en un bloque, respectivamente. [2] En el modo de 4 colores, el bloque 4×4 se divide en cuatro bloques 2×2, cada uno de los cuales se rellena con un color sólido. En el modo de 8 colores, el bloque 4×4 se divide en ocho bloques 1×2, cada uno de los cuales se rellena con un color sólido. [2]

Se logra una mayor compresión mediante la codificación de entropía utilizando la codificación Huffman de los diversos elementos de flujo de bits que resultan del proceso anterior. [2] Hay cuatro tablas Huffman independientes, cada una con entradas de 16 bits: una para la decisión de modo, la longitud de ejecución y el color de relleno en el modo de color de relleno, una para los índices de color en el modo mono, una para el mapa de bits en el modo mono y una para todos los datos en el modo completo. Cada tabla es adaptativa y se transmite una vez por archivo en el encabezado. Las tablas Huffman en el encabezado están comprimidas: los valores de 16 bits en las hojas del árbol de código se dividen en un byte alto y un byte bajo. Cada byte se comprime utilizando una tabla Huffman que también está contenida en el encabezado. [2]

Audio

El audio Smacker es uno de los formatos de audio que se pueden utilizar en el contenedor Smacker. Para la compresión, se utiliza la modulación por código de pulso diferencial (DPCM). La diferencia entre dos muestras sucesivas se comprime mediante la codificación Huffman . Las tablas Huffman se adaptan una vez por cuadro de audio. [2]

Véase también

Referencias

  1. ^ ab "Tecnología de video Smacker". RAD Game Tools . Consultado el 4 de mayo de 2013 .
  2. ^ abcdefghijklmn "Smacker". MultimediaWiki . 11 de abril de 2007 . Consultado el 4 de abril de 2013 .
  3. ^ Ladislav Zezula (2010). «Archivos MPQ - Descripción general» . Consultado el 4 de mayo de 2013 .
  4. ^ "Documentación de FFmpeg". FFmpeg . Consultado el 4 de abril de 2013 .
  5. ^ FFmpeg: decodificador de video y audio Smacker
  6. ^ FFmpeg: desmultiplexor de contenedores Smacker
  7. ^ Proyecto libsmacker de SourceForge
  • Página oficial de vídeos de Smacker
Obtenido de "https://es.wikipedia.org/w/index.php?title=Vídeo_de_Smacker&oldid=1194506347"