Truevision TGA , a menudo denominado TARGA , es un formato de archivo de gráficos rasterizados creado por Truevision (ahora parte de Avid Technology ). Era el formato nativo de las tarjetas TARGA y VISTA, que fueron las primeras tarjetas gráficas para PC compatibles con IBM en admitir visualización de color de alta resolución o color verdadero . Esta familia de tarjetas gráficas estaba destinada a la síntesis profesional de imágenes por computadora; las resoluciones habituales de los archivos de imagen TGA coinciden con las de los formatos de video NTSC y PAL . [ 2 ]
TARGA es un acrónimo de Truevision Advanced Raster Graphics Adapter ; TGA es un acrónimo de Truevision Graphics Adapter .
Los archivos TGA suelen tener la extensión ".tga" en MS-DOS , Windows y macOS ( los sistemas Macintosh más antiguos utilizan el código de tipo "TPIC" ). El formato permite cualquier profundidad de bits de píxeles de hasta 255, de los cuales hasta 15 bits pueden dedicarse a un canal alfa ; [ 3 ] sin embargo, en la práctica, las únicas profundidades de bits admitidas eran 8, 15, 16, 24 y 32, donde los formatos de 16 y 32 bits utilizaban 1 y 8 bits respectivamente para el canal alfa. Los datos de color pueden ser mapeados por color , o en formato de color directo o color verdadero . Los datos de imagen pueden almacenarse sin procesar, o bien, se puede emplear una compresión RLE sin pérdidas similar a PackBits . Este tipo de compresión tiene un rendimiento deficiente para imágenes fotográficas típicas, pero funciona aceptablemente bien para imágenes más simples, como iconos, dibujos animados y dibujos lineales.
Historia
El formato de archivo TGA fue definido y especificado originalmente por AT&T EPICenter con la colaboración de Island Graphics Inc. en 1984. AT&T EPICenter era una filial interna de AT&T creada para comercializar las nuevas tecnologías que AT&T había desarrollado para los búferes de fotogramas de color . Lo que más tarde se convertiría en Truevision fue el resultado de una compra apalancada por parte de los empleados de AT&T en 1987.
Las dos primeras tarjetas de EPICenter, la VDA (adaptador de pantalla de vídeo) y la ICB (tarjeta de captura de imagen), utilizaban las primeras versiones del formato de archivo TGA. Las extensiones de archivo ".vda" y ".icb" indicaban información sobre los datos específicos de la tarjeta que contenían.
Posteriormente, Alan Wlasuk (entonces director de EPICenter), Brad Pillow (EPICenter) y Steven Dompier (presidente de Island) determinaron la necesidad de un formato de archivo más estandarizado. Brad Pillow (EPICenter) y Bryan Hunt (EPICenter) crearon e implementaron dicho formato, desarrollado para satisfacer esta necesidad de un formato menos específico para cada placa. Se añadió una extensión muy sencilla al formato ya existente, que incluía información sobre el ancho, la altura, la profundidad de píxeles, un mapa de colores asociado y el origen de la imagen. La especificación inicial también incluía un campo de etiqueta (de hasta 255 caracteres), aunque rara vez se utilizaba.
En aquel entonces, también apareció otro formato de archivo técnicamente superior llamado TIFF , pero su uso para imágenes en color real era muy limitado, ya que la implementación y el intercambio de archivos entre aplicaciones compatibles con la especificación TIFF resultaban bastante difíciles y complejos. La simplicidad del formato de archivo TGA y su portabilidad entre plataformas son la principal razón de su amplia adopción y su continuo éxito en una gran variedad de aplicaciones en todo el mundo hasta el día de hoy.
Inicialmente, el formato de archivo TGA se utilizó en los programas ICB-PAINT y TARGA-PAINT (que más tarde se conocerían como TIPS) y para varios proyectos de búsqueda inmobiliaria en línea y videoconferencias con fotogramas fijos.
La versión actual (2.0) incluye varias mejoras, como "sellos postales" (más conocidos como miniaturas ), un canal alfa , un valor gamma y metadatos textuales , y fue creada por Shawn Steiner de Truevision Inc. bajo la dirección de Kevin Friedly y David Spoelstra en 1989.
En el momento de su lanzamiento, representaba lo último en procesamiento de imágenes digitales. Incluso hoy en día, aunque su profundidad de color máxima no es la más adecuada para sistemas de preimpresión de alta gama y procesamiento intensivo de imágenes, el TGA se sigue utilizando ampliamente en la industria de la animación y el vídeo porque sus principales salidas previstas son las pantallas de televisión estándar, no las páginas impresas en color. [ 4 ]
Las imágenes TGA de 24 bits sin comprimir son relativamente sencillas en comparación con otros formatos de almacenamiento de 24 bits importantes: un archivo TGA de 24 bits contiene solo una cabecera de 18 bytes seguida de los datos de la imagen como datos RGB empaquetados. En cambio, BMP requiere rellenar las filas hasta límites de 4 bytes, mientras que TIFF y PNG son contenedores de metadatos que no ubican los datos o atributos de la imagen en una posición fija dentro del archivo.
Las imágenes TGA de 32 bits contienen un canal alfa, o señal clave, y se utilizan con frecuencia en programas generadores de caracteres como Avid Deko.
Detalles técnicos
Todos los valores están en formato little-endian ; los números de campo y subcampo corresponden a la versión 2.0 de la especificación.
La versión 2.0 añadió el área de extensiones y el pie de página. El área de desarrollador sirve para almacenar información específica de la aplicación.
Encabezamiento
Longitud del ID de la imagen (campo 1)
0–255 El número de bytes que componen el campo de ID de imagen. Este campo puede contener cualquier información, pero es común que incluya la fecha y hora de creación de la imagen o un número de serie.
A partir de la versión 2.0 de la especificación TGA, la fecha y la hora en que se creó la imagen se incluyen en el área de extensión.
Tipo de mapa de colores (campo 2)
tiene el valor:
- 0 si el archivo de imagen no contiene un mapa de colores.
- 1 si está presente
- 2–127 reservado por Truevision
- 128–255 disponibles para uso de desarrolladores.
Tipo de imagen (campo 3)
Se enumera en los tres bits inferiores, con el cuarto bit como indicador para RLE. Algunos valores posibles son:
- 0 No hay datos de imagen presentes
- 1 imagen con mapeo de color sin comprimir
- 2 imágenes en color real sin comprimir
- 3 imágenes en escala de grises sin comprimir
- Imagen con codificación de longitud de ejecución y mapeo de color de 9
- Imagen en color verdadero codificada con longitud de ejecución de 10
- Imagen en escala de grises codificada por longitud de ejecución de 11 bits
- 32 imágenes codificadas con codificación de longitud de ejecución Huffman - Delta y mapeadas en color
- 33 huffman - delta - run-length -4-pass- quadtree-type process encoded color-mapped image
Tipos de imagen 1 y 9: Dependiendo del valor de Profundidad de píxeles, la representación de los datos de la imagen es un índice de 8, 15 o 16 bits en un mapa de color que define el color del píxel. Tipos de imagen 2 y 10: Los datos de la imagen son una representación directa del color del píxel. Para una Profundidad de píxeles de 15 y 16 bits, cada píxel se almacena con 5 bits por color. Si la profundidad de píxeles es de 16 bits, el bit superior está reservado para la transparencia. Para una profundidad de píxeles de 24 bits, cada píxel se almacena con 8 bits por color. Una profundidad de píxeles de 32 bits define un canal alfa adicional de 8 bits. Tipos de imagen 3 y 11: Los datos de la imagen son una representación directa de datos en escala de grises. La profundidad de píxeles es de 8 bits para imágenes de este tipo.
Especificación del mapa de colores (campo 4)
tiene tres subcampos:
- Índice de la primera entrada (2 bytes): índice de la primera entrada del mapa de colores que se incluye en el archivo.
- Longitud del mapa de colores (2 bytes): número de entradas del mapa de colores que se incluyen en el archivo.
- Tamaño de entrada del mapa de colores (1 byte): número de bits por entrada del mapa de colores
En caso de que la imagen no utilice la totalidad del mapa de colores, un índice de primera entrada distinto de cero permite almacenar solo la parte necesaria del mapa de colores en el archivo.
Especificación de la imagen (campo 5)
tiene seis subcampos:
- Origen X (2 bytes): coordenada absoluta de la esquina inferior izquierda para pantallas donde el origen está en la esquina inferior izquierda.
- Origen Y (2 bytes): igual que el origen X.
- Ancho de la imagen (2 bytes): ancho en píxeles
- Altura de la imagen (2 bytes): altura en píxeles
- Profundidad de píxeles (1 byte): bits por píxel
- Descriptor de imagen (1 byte): los bits 3-0 dan la profundidad del canal alfa, los bits 5-4 dan el orden de los píxeles, los bits 7-6 el entrelazado de almacenamiento de datos [ 3 ]
Descriptor de imagen:
- El bit 3-0 proporciona la profundidad del canal alfa.
- El bit 4 del byte descriptor de imagen indica el orden de píxeles de derecha a izquierda si está activado.
- El bit 5 indica un ordenamiento de arriba a abajo. En caso contrario, los píxeles se almacenan en orden de abajo a arriba y de izquierda a derecha.
- Los bits 7 a 6 del byte descriptor de imagen indican el modo de entrelazado de almacenamiento de datos.
Modo de intercalación de almacenamiento de datos:
- 0 ninguno
- 1 intercalación bidireccional (par/impar)
- 2 entrelazado de cuatro vías
- 3 vías de intercalación de ocho vías/reservadas
Datos de imágenes y mapas de color
Área de desarrollador (opcional)
La versión 1.0 de la especificación TGA era muy básica, y muchos desarrolladores necesitaban almacenar más información, por lo que optaron por añadir secciones adicionales a sus archivos, específicas para su aplicación.
En la versión 2.0 de la especificación, estas mejoras/extras específicos de la aplicación son compatibles con el área de desarrollo. Solo el desplazamiento y el tamaño del área de desarrollo son relevantes para la especificación, y los desarrolladores tienen libertad para agregar lo que deseen en ella.
Si un decodificador TGA no puede interpretar la información del área de desarrollador, generalmente la ignorará, ya que se asume que fue creada por otra aplicación. Se recomienda que los desarrolladores incorporen lógica en sus aplicaciones para determinar si los datos del área de desarrollador son compatibles con la aplicación; un paso para ello es verificar el ID del software en el pie de página del archivo.
Área de extensión (opcional)
Pie de página del archivo (opcional)
Si un archivo TGA contiene un pie de página, es probable que sea un archivo TGA versión 2. El pie de página son los últimos 26 bytes del archivo, de los cuales los últimos 18 son constantes.
discrepancias en las especificaciones
La versión anterior de la especificación del formato de archivo TGA, tomada del Apéndice C de la Guía Técnica de Truevision, indica que los paquetes codificados en longitud variable (RLE) pueden cruzar líneas de exploración: "Para el paquete de longitud variable, la cabecera va seguida de un único valor de color, que se supone que se repite el número de veces especificado en la cabecera. El paquete puede cruzar líneas de exploración (comenzar en una línea y terminar en la siguiente)".
Sin embargo, la página 24 de la especificación TGA v2.0 indica exactamente lo contrario: «Los paquetes de longitud variable nunca deben codificar píxeles de más de una línea de exploración . Incluso si el final de una línea de exploración y el comienzo de la siguiente contienen píxeles del mismo valor, ambos deben codificarse como paquetes separados. En otras palabras, los paquetes de longitud variable no deben pasar de una línea a otra».
Por consiguiente, los lectores TGA deben ser capaces de procesar paquetes de datos RLE que atraviesen las líneas de exploración, ya que esto formaba parte de la especificación original. Sin embargo, al guardar (o crear) archivos TGA, será necesario limitar los paquetes de datos RLE a los límites de las líneas de exploración para cumplir con la nueva especificación TGA v2.0.
Referencias
- ↑ El tipo MIME .tgano está registrado en IANA.
- ↑ James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos, segunda edición . O'Reilly . ISBN 1-56592-161-5. Consultado el 7 de marzo de 2014 .
- 1 2 "Truevision TGAª — ESPECIFICACIÓN DE FORMATO DE ARCHIVO — Versión 2.0" (PDF) .
- ↑ "Truevision TGA, versión 2.0" . Preservación digital . Biblioteca del Congreso . 24 de febrero de 2005. Consultado el 8 de junio de 2021 .
Enlaces externos
- Especificación TGA : versión anterior del formato de archivo tomada de la Guía Técnica de Truevision.
- Conjunto de pruebas de conformidad TrueVision TGA 2.0 : ejemplos
- Especificación del formato TGA : incluye indicadores de tipo/descriptor de imagen extendidos.
- Formatos de archivo de gráficos rasterizados