Format de données
Le format des données est la manière utilisée en informatique pour représenter des données sous forme de nombres binaires.
Page(s) en rapport avec ce sujet :
- certain nombre de limites à ne pas franchir, indiquées sous forme de recommandations.... Un format de données est une langue, et nul ne... (source : pellegrini)
- Un format de données est un ensemble de lignes directives pour la.... La valeur X est le nombre de pixels que contient l'image sur l'horizontale alors... (source : woodroffehs.ocdsb)
- Sensibiliser le plus grand nombre aux enjeux des standards ouverts et de ... Le format de données est la manière utilisée en informatique pour représenter... (source : april)
Le format des données est la manière utilisée en informatique pour représenter des données sous forme de nombres binaires. C'est une convention (peut-être normalisée) utilisée pour représenter des données, soit des informations représentant un texte, une page, une image, un son, un fichier exécutable, etc. Quand ces données sont stockées dans un fichier, on parle de format de fichier. Une telle convention permet d'échanger des données entre divers programmes informatiques ou logiciels, soit par une connexion directe soit par l'intermédiaire d'un fichier. On nomme interopérabilité cette possibilité d'échanger des données entre différents logiciels.
Typologie
On peut distinguer un format dont la spécification est publiquement accessible, un format ouvert, d'un format fermé dont la spécification est secrète. Un format fermé correspond le plus souvent à un logiciel seul capable de pleinement l'exploiter.
Une autre distinction s'opère entre un format normalisé, faisant l'objet d'une normalisation par une institution publique ou internationale (ISO, W3C) et un format quelconque, qui peut devenir un standard de fait s'il est populaire. Un tel format est quelquefois normalisé ensuite comme OpenDocument.
Un format est dit propriétaire s'il a été élaboré par une entreprise, dans un but principalement commercial. Un format propriétaire peut être ouvert (le format PDF d'Adobe par exemple) s'il est publié, ou fermé (le format'. doc 'de Microsoft par exemple). Mais même quand des spécifications sont rendues publiques, les entreprises à l'origine de formats propriétaires tentent d'en conserver le contrôle à la fois soit en proposant régulièrement de nouvelles versions plus élaborées (contrôle par maintien d'une avance technologique) soit en utilisant des moyens juridiques comme le brevet. Ce type de pratiques anti concurrentielles via des outils juridiques est admise aux États-Unis. Elle est sujette à controverse en Europe (voir Brevetabilité du logiciel).
Formats des nombres
Nombres entiers
Un nombre entier naturel est généralement simplement représenté en binaire (en base 2), avec la règle de conversion classique. À la différence des entiers naturels, les entiers informatiques sont finis. On ne peut par conséquent représenter mais aussi les nombres tenant dans l'intervalle défini par le nombre de bits disponible. Quand on veut représenter un entier relatif, on réserve un bit pour désigner le signe (en général le bit le plus à gauche) ; on parle alors d'«entier signé». La majorité du temps, les nombres négatifs seront codés selon la règle du complément à deux.
A titre d'exemple, avec un octet on peut représenter :
- les entiers naturels de 0 (00000000 en binaire) à 255 (11111111 en binaire)
- les entiers relatifs de -128 (10000000 en binaire) à -1 (11111111 en binaire) et de 0 (00000000) à 127 (01111111) ; on code par conséquent avec un octet les entiers de -128 à +127.
On notera que pour comparer deux entiers relatifs codés ainsi, il suffit de réaliser un OU exclusif avec (10000000 en binaire) sur chacun avant le test .
D'autres types sont aussi usités pour représenter les entiers, il s'agit du codage BCD de forme étendue (un chiffre sur un octet), ou compactée (un chiffre sur 4 bits). Quoique ces formats soient moins performants pour des calculs que le dispositif binaire décrit supra car ils nécessitent des instructions supplémentaires pour remettre en forme le résultat des opérations arithmétiques réalisées, ils sont toujours employés sur de nombreux dispositifs (Ordinateur central, SGBD, ... ) et gérés par les processeurs, car ils ne sont pas limités par le nombre de bits utilisés par le processeur pour l'arithmétique binaires (8 bits, 16 bits, 32 bits, 64 bits, ... ) et qu'ils conservent la précision unitaire contrairement aux nombres à virgule flottante.
Nombres fractionnaires
Pour les nombres fractionnaires, la convention de numération veut qu'en base n, «0, a» sert à désigner a·1/n (=a·n-1), «0, 0a» sert à désigner a·1/n² (=a·n-2)... Par exemple en base 10 (n = 10), «0, 005» sert à désigner 5·10-3.
Ainsi, le nombre 0, 001 en binaire (n = 2) sert à désigner 1·2-3=0, 125.
Donc en informatique, la première solution consiste à attribuer un certain nombre de bits à droite aux puissances négatives de 2.
Une autre solution consiste à utiliser le codage BCD comme pour les entiers en considérant le positionnement de la virgule à une position fixe, par exemple, pour un codage sur 10 chiffres, les huit premiers chiffres contiennent la partie entière et les deux derniers la partie décimale. Ce positionnement est complètement arbitraire et doit être géré par le programmeur pour les affichages ou les calculs, en particulier pour les multiplications ou quand deux nombres ne sont pas définis avec le même nombre de chiffres après la virgule.
C'est ce type de donnée qui est le plus souvent utilisé dans les SGBD pour le type DECIMAL.
Formats de texte
Les textes sont constitués de caractères en nombres finis (lettres, diacritiques, signes de ponctuation…). Il est par conséquent simple d'attribuer un nombre à chaque caractère. Cette conversion caractère → nombre est définie par convention sous la forme d'une table, ou page de code. Les plus utilisés sont l'ASCII et l'Unicode.
Les textes comprennent aussi de la mise en page (alignement des paragraphes) et de la mise en forme (type de police de caractère, taille…). La solution retenue généralement consiste à définir des mots de commande, des instructions, scindées du texte par un caractère spécial. Ainsi, en HTML, les instructions sont nommées «balises» et sont mises entre des chevrons <…>
; en LaTeX, les instructions sont introduites par une barre de fraction inversée \
. Par conséquent, certains caractères sont réservés aux instructions et ne peuvent plus faire partie du texte ; il existe alors des «codes d'échappement», ou bien des instructions spéciales servant aux représenter.
Jusqu'en 2006, le logiciel Microsoft Word a retenu une autre manière de stocker la mise en forme : les données (texte et images) sont mises en brut (sans mise en forme) dans le document, et la mise en forme est définie dans une partie du document nommée «saut de section» (section break). Le saut de section, outre le fait de marquer un changement de mise en page (saut de colonne, saut de page), est une zone invisible contenant des pointeurs attribuant un formatage à une partie de la section. Cette solution de stockage brut des données a été historiquement adoptée à une époque où peu d'autres solutions existaient (au début des années 1980). C'était une approche fréquemment adoptée pour énormément d'applications et liée entre autres au niveau faible de standards de stockage. Cependant, l'expérience a montré que cette approche se révèle particulièrement lourde et source de problèmes (corruption de documents) pour les documents ayant à peu près 100 pages et plus. Si Microsoft a tenté de conserver son modèle et de le faire évoluer progressivement pour éviter de tout reprendre à la base, ce dernier est arrivé à ses limites. Pour son édition de 2007, Microsoft a adopté un nouveau format propriétaire, Open XML.
Formats d'image
La base de la représentation des images est la géométrie analytique.
Format carte de points


On peut découper une image en points élémentaires, ou «pixel», et attribuer une couleur à ce pixel. La couleur est représentée par un nombre, la correspondance couleur → nombre étant faite par une «palette».
Il est inutile de donner les coordonnées des points : si on donne la largeur de l'image en nombre n de points, alors les n premiers points représentent la première ligne, les points n+1 à 2n représentent la seconde ligne… Il suffit alors de fixer par convention l'ordre de balayage, en l'occurrence l'ordre de lecture occidental (de gauche à droite et de haut en bas).
Ceci donne une image au format carte de points, fréquemment nommée image bitmap. C'est par conséquent un canevas de points dont chacun se voit attribuer une valeur colorée. Les grandes différences entre les formats existants sont la profondeur de couleurs (1 bit : noir ou blanc, 8 bits : 256 couleurs, 24 bits : 16 millions de couleurs…) et le type de compression (sans compression, ou raw, avec une compression par motifs, avec une compression destructive…)
A titre d'exemple, prenons une carte noir et blanc (1 pour blanc, 0 pour noir) définissant une image large de cinq points ensuite de chiffres suivante :
1000101010001000101010001
il faut découper cette carte par groupes de 5 bits :
10001 01010 00100 01010 10001
ce qui nous donne le dessin d'un «X» blanc sur fond noir.
Le format des données doit par conséquent inclure, hormis la liste des points, la largeur de l'image et la description de la palette ; ceci se fait généralement en début de fichier (on parle d'«en-tête» de fichier).
Format vectoriel
Une image au format vectoriel est une image qui se décrit par des ensembles de coordonnées mathématiques et non par un canevas de points. A titre d'exemple,
- pour décrire une ligne il suffit de connaître ses coordonnées de départ et d'arrivée ;
- pour un rectangle (ayant ses axes alignés aux axes du dispositif de coordonnées en cours), deux points suffisent aussi (deux coins opposés)
- pour un cercle, un seul point, ainsi qu'un rayon, sont nécessaires.
En outre, des informations sur le tracé sont nécessaires : les attributs graphiques sont l'épaisseur, le style (continu ou pointillés), la couleur du trait, sa transparence, etc.
Une image vectorielle est par conséquent un ensemble de coordonnées, d'attributs et de commandes que le programme d'affichage (à l'écran ou sur papier) se charge d'interpréter.
Pour des images pouvant être réduites aisément à des formes géométriques (typographisme, cartographie... ), le format vectoriel est extrêmement économe.
La particularité des formats vectoriels réside dans le fait que leur rendu final ne dépend que de la résolution du périphérique de sortie. Ce type d'image peut aussi être agrandi sans effets gênants ; il n'y a pas d'effet de «pixellisation» (les lignes diagonales ou courbes n'apparaissent pas sous forme d'escalier).
Quelques formats vectoriels célèbres : VML, SVG, Adobe PDF (Acrobat), Adobe Illustrator, encapsuled postscript, Quark QXD, Silverlight et Macromedia Flash (formats d'animation vectorielle), AutoCAD DXF.
Représentation des couleurs
Formats vidéo
Format de scène 3D
La représentation des objets virtuels créés par les logiciels de modélisation 3D nécessite un format de données spécifique car les formats qui ont précédé sont inadaptés. En effet, pour représenter un objet 3D il faut au minimum une description :
- de la topologie de l'objet : sa forme, sa taille et sa complexité
- des attributs de représentation : couleurs, textures (nature et position), qualité photométrique de sa surface, transparence
- de ses attributs dynamiques s'il est animé : capacité de collision avec d'autres objets, articulations et contraintes, etc.
Représenter une scène nécessite aussi de spécifier les éclairages utilisés, les positions relatives des objets, les effets d'environnement éventuels mais en particulier sa structure hiérarchique (liens des éléments entre eux).
Les premiers formats standard de fait ont été des formats adaptés à la CAO : l'objet est défini avec facettes ou de surfaces analytiques. Il suffit de définir son origine puis les coordonnées caractéristiques des éléments dans l'espace à 3 dimensions. A titre d'exemple, dans le format DXF d'Autocad, un objet est une suite d'entités appelées et constituées de liste de points X, Y, Z. Par indexation, on forme des facettes triangles ou des lignes qui s'appuient sur ces points.
Si ce format était suffisant pour du dessin technique il était complètement inadapté à la réalité virtuelle. Dans les années 1990, la société Silicon Graphics (constructrice de station graphique 3D) publia le format Inventor qui comportait la majorité des éléments nécessaires. Ce format évolua vers le format VRML qui a été normalisé.
D'autre part, le format 3D Studio ASCII fut lui aussi publié mais l'explosion du marché de la 3D donna naissance à quantité de formats propriétaires. Pour l'utilisateur, le problème était souvent de convertir un modèle d'un format à l'autre sans perdre trop d'informations. Des sociétés se sont même spécialisées dans ce type de conversion.
Actuellement, dans le monde professionnel, il n'y a pas de format unique mais plutôt des formats plus ou moins utilisés selon le type d'application. Par exemple :
- format Blender pour la création Multimédia
- format Pro/Engineer pour la CAO industrielle
- format OpenFlight pour la simulation de vol et/ou de conduite.
Néanmoins, la majorité des modeleurs 3D savent plus ou moins bien lire (Import) et créer (Export) plusieurs formats : c'est un critère de choix important. Parmi les formats les plus communs on peut citer :
|
|
La tendance actuelle est de privilégier un format descriptif de type XML. Le format de données 3D est alors nommé langage descriptif comme X3D (évolution du VRML avec un formatage XML).
Le format libre COLLADA permet aussi d'échanger des données entre différents logiciels. Il existe surtout un importeur/exporteur pour Blender.
Format de son
Les formats de son se décomposent en trois parties :
- les formats bruts : le son n'est pas compressé, les valeurs issues de la conversion des valeurs analogiques en numérique (échantillonnage) sont enregistrées dans l'ordre chronologique et par canal;
- les formats compressés : le son est compressé avec ou sans pertes suivant un algorithme adapté à la vision des sons de l'oreille humaine et/ou une compression classique;
- les formats de flux (stream) : permet l'écoute par partie sans avoir la totalité du fichier.
(Voir le chapitre Formats classiques)
Compression des données
La compression des données est la technique qui consiste à transformer les données afin qu'elles prennent moins de place. Les données devant être décompressées avant d'être traitées, ceci se fait aux dépens de la rapidité, et avec un risque plus grand de perte de données.
L'idée de base est qu'en général, des éléments se répètent dans les fichiers. On a par conséquent intérêt à représenter les éléments se répétant fréquemment par des nombres plus petits (c'est-à-dire prenant moins de bits).
On peut distinguer deux types de compression :
- les compressions sans a priori sur les données : ce sont des algorithmes qui travaillent seulement sur les nombres, quelle que soit l'information portée par ces nombres ; ils sont par conséquent généraux, pas spécifiques aux données ; on peut distinguer :
- les algorithmes à table stockée : l'algorithme fait une première analyse pour repérer les éléments se répétant, et construit une table de correspondance avec un code raccourci pour chaque élément répétitif ; la taille occupée par la table de stockage fait que ce procédé est plutôt adapté aux gros fichiers ;
- les algorithmes à table construite à la volée : la table de correspondance est construite de manière systématique, sans analyse préalable du fichier ; elle peut être reconstruite à la volée à partir du fichier compressé ; c'est par exemple le cas de l'algorithme de Lempel-Ziv-Welch (LZW)
- les compressions spécifiques aux données : si on connaît les données, on peut optimiser l'algorithme ; par exemple si on sait qu'on a affaire à un texte, on peut se baser sur la fréquence d'utilisation des mots dans le langage ; on distingue deux sous-catégories :
- les compressions sans perte d'informations ;
- les compressions avec perte de données : la première idée est de faire un «sous-échantillonnage», c'est-à-dire de simplement dégrader la qualité des données
en étudiant les sens et la manière dont le cerveau interprète les informations, on peut dégrader certaines caractéristiques des données peu sensibles, par conséquent sans trop altérer la qualité globale des données ; ainsi, si l'oreille humaine est peu sensible à certaines gammes de fréquences, on peut dégrader (voire supprimer) certaines parties du spectre et pas d'autres (MP3) ;
les algorithmes de compression d'image (JPEG) et de film (MPEG) utilisent une perte de qualité.
Formats classiques
Catégorie | Formats |
---|---|
Images | PNG, MNG, TIFF, JPEG, GIF, TGA, OpenEXR, BMP |
Dessin vectoriel | VML, SVG, Silverlight, Flash, AI,, DXF |
3D | XCF, BLEND, DXF, 3DS Max, VRML, X3D, IFC |
Son | OGG, FLAC, MP3, WAV, WMA, AAC |
Vidéo | MPEG, OGM (DVD, DivX, XviD), AVI, Theora, FLV |
Page | PDF,, HTML, XHTML |
Document de traitement de texte | ODT, TXT, DOC, RTF |
Exécutable | BIN, ELF, EXE |
Archives (fichier compressé) | 7Z, TAR, GZIP, ZIP, LZW, ARJ, RAR |
Archives pour bandes dessinées |
Voir aussi
Liens externes
- Wotsit. org - The Programmer's File and Data Resource
- Dotwhat. net - File extension and format information
- Magic signature database - Standard file format information and FFID registry
- Format wars File formats for websites and print explained
- File signatures (aka magic numbers) found in files to indicate their file type
- PRONOM technical registry
- Library of Congress file format information
- Intoduction to Uniform Type Identifiers
- Game File Format Central - A large and expanding list of detailed descriptions of game-related file-formats
- BIEW Binary vIEW project
Recherche sur Amazon (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.