Tout sur les fichiers TGA
Le format TGA (Truevision Graphics Adapter)
Le format TGA (Truevision Graphics Adapter), souvent appelé TARGA (Truevision Advanced Raster Graphics Adapter), est un format graphique matriciel destiné aux données d'images numériques. Ce format a été développé[1] en 1984 par AT&T EPICenter en collaboration avec Island Graphics Inc. et servait de format de fichier natif pour les cartes graphiques TARGA et VISTA, les premières cartes graphiques pour PC compatibles IBM prenant en charge les modes High Color et True Color.
Développement et normalisation
AT&T EPICenter était une spin-off interne d'AT&T destinée à commercialiser de nouvelles technologies de framebuffer. Les développeurs Brad Pillow et Bryan Hunt ont créé le format TGA comme alternative indépendante du matériel aux formats spécifiques aux cartes VDA et IC[1]B. À la suite d'un rachat par les cadres en 1987, EPICenter a donné naissance à la société Truevision Inc.[1]
La version actuelle 2.0 a été publiée[2] par Truevision en janvier 1991. Cette version a étendu le format d'origine avec des structures optionnelles : une zone d'extension contenant des métadonnées (auteur, date, valeur gamma, etc.), une zone de développement pour les données spécifiques à l'application et un pied de page permettant l'identification[2] de la version.
Structure technique
La structure de base d'un fichier TGA se compose d'un en-tête de 18 octets, suivi d'informations d'image facultatives, de la palette de couleurs (pour les images indexées) et des données[2] d'image proprement dites. Les fichiers TGA utilisent l'[2]ordre des octets Little-Endian.
L'en-tête définit :
Type d'image (color-mapped, true-color, grayscale – non compressée ou compressée RLE)
Dimensions et position de l'image
Bits par pixel (8, 16, 24 ou 32 bits)[2]
Nombre de bits d'attribut/alpha
Disposition des pixels (de bas en haut/de haut en bas, de gauche à droite/de droite à gauche) et mode d'entrelacement (dans la pratique, toujours non entrelacé)[2]
Types d'images pris en charge
TGA définit trois types[2] de base :
Pseudo-couleur (Type 1) : chaque valeur de pixel est un index dans une palette de couleurs avec des valeurs RVB programmables.
Véritable couleur (Type 2) : chaque valeur de pixel contient directement les composantes RVB. En 32 bits, 8 bits supplémentaires sont ajoutés pour le canal alpha.
Niveaux de gris (Type 3) : chaque valeur de pixel représente une valeur de gris sans palette de couleurs.
Ces trois types existent également sous forme de variantes compressées RLE (Types 9, 10, 11)[2].
Compression RLE
La compression Run-Length-Encoding (RLE), facultative, utilise deux types[2] de paquets :
Paquets Run-Length : un octet d'en-tête (bit 7 = 1) et une valeur de pixel unique qui se répète. Les 7 bits de poids faible codent le nombre moins 1 (1 à 128 pixels par paquet).
Paquets bruts : un octet d'en-tête (bit 7 = 0) suivi du nombre correspondant de valeurs de pixels différentes.
Important : dans la version 2.0, les paquets RLE ne doivent pas dépasser[2] les limites de ligne. La version 1.0 l'autorisait encore, c'est pourquoi les lecteurs TGA doivent prendre en charge les deux variantes. Dans la pratique, je constate également des paquets RLE dépassant les limites de ligne dans la version 2.0.
Zone d'extension (version 2.0)
La zone d'extension facultative comprend 495 octets avec des champs[2] standardisés :
Nom de l'auteur (40 caractères)
Commentaires de l'auteur (4 × 80 caractères)
Horodatage (6 valeurs SHORT pour le mois, le jour, l'année, l'heure, la minute, la seconde)
Nom/ID de la tâche (40 caractères)
Durée de la tâche (temps cumulé en heures, minutes, secondes)
ID et version du logiciel
Couleur clé (couleur de transparence/couleur d'arrière-plan)
Rapport d'aspect en pixels
Valeur gamma
Pointeurs vers la table de correction des couleurs, l'image du timbre postal et la table des lignes de balayage
Détection de la version
Les fichiers TGA 2.0 se terminent par un pied[2] de page de 26 octets. Les octets 8 à 23 contiennent la signature ASCII « TRUEVISION-XFILE », suivie d'un point (octet 24) et d'un terminateur nul (octet 25). Si cette signature est absente, il s'agit du format d'origine (version 1.0).
Extensions de fichiers
L'extension standard recommandée est .tga pour DOS, UNIX et Windows[2]. Sur les systèmes Macintosh classiques, le code de type TPIC est utilisé. Historiquement, les extensions .vda, .icb et .vst existaient également pour des types[2] de cartes graphiques spécifiques.
Particularités techniques
Par rapport à d'autres formats 24 bits, la structure TGA est simple (mais il existe également des cas limites) : un fichier TGA 24 bits non compressé se compose d'un en-tête de 18 octets, d'un identifiant d'image facultatif (0 à 255 octets, longueur définie dans l'octet 0 de l'en-tête)[2], de données de palette de couleurs facultatives et des données d'image RVB compressées. Le format BMP nécessite un remplissage de ligne aux limites de 4 octets, tandis que les formats TIFF et PNG, en tant que conteneurs de métadonnées, n'ont pas de position fixe pour les données d'image.
Les résolutions d'image des fichiers TGA correspondent traditionnellement aux formats vidéo NTSC et PAL, car les cartes TARGA d'origine étaient[1] conçues pour la synthèse d'images et le montage vidéo professionnels sur ordinateur. D'autres résolutions sont toutefois possibles.
Domaines d'application
Le format TGA est toujours utilisé dans l'industrie de la vidéo et de l'animation, car la sortie cible est principalement destinée aux écrans et non à l'impression[1] haute résolution. Dans le développement de jeux vidéo, le format TGA sert souvent de format de texture, car il prend en charge les canaux alpha et fonctionne sans compression ou avec une compression sans perte.
Sources
[1] True Vision TGA – Wikipédia
[2] Truevision Inc. (1991). Truevision TGA File Format Specification Version 2.0
Convertir, ouvrir et modifier les fichiers TGA
Détails sur les fichiers TGA
- Type MIME de TGA
Pas de commentaire