Format de données

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. C'est une convention (éventuellement normalisée) utilisée pour représenter des données — des informations représentant un texte, une page, une image, un son, un fichier exécutable, etc. Lorsque 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 appelle interopérabilité cette possibilité d'échanger des données entre différents logiciels.

Sommaire

Typologie

On distingue 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 généralement à 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 parfois normalisé par la suite comme OpenDocument.

Un format est dit propriétaire s'il a été élaboré par une entreprise, dans un but essentiellement 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 lorsque 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 en général 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 donc représenter ainsi que les nombres tenant dans l'intervalle défini par le nombre de bits disponible. Lorsque l'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 plupart du temps, les nombres négatifs seront codés selon la règle du complément à deux.

Par 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 donc 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.

Article détaillé : Système binaire.

D'autres types sont également 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). Bien que ces formats soient moins performants pour des calculs que le système 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 systèmes (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 » désigne a·1/n (=a·n-1), « 0,0a » désigne a·1/n² (=a·n-2)... Par exemple en base 10 (n = 10), « 0,005 » désigne 5·10-3.

Ainsi, le nombre 0,001 en binaire (n = 2) désigne 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 totalement arbitraire et doit être géré par le programmeur pour les affichages ou les calculs, surtout pour les multiplications ou lorsque 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 généralement utilisé dans les SGBD pour le type DECIMAL.

Article détaillé : Virgule flottante.
Article détaillé : Virgule fixe.

Formats de texte

Les textes sont formés de caractères en nombres finis (lettres, diacritiques, signes de ponctuation…). Il est donc 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 en général consiste à définir des mots de commande, des instructions, séparées du texte par un caractère spécial. Ainsi, en HTML, les instructions sont appelées « balises » et sont mises entre des chevrons <…> ; en LaTeX, les instructions sont introduites par une barre de fraction inversée \. De ce fait, 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 permettant de les 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 appelée « saut de section » (section break). Le saut de section, hormis 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 couramment adoptée pour beaucoup 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 très lourde et source de problèmes (corruption de documents) pour les documents ayant environ 100 pages et plus. Si Microsoft a tenté de conserver son modèle et de le faire évoluer petit à petit 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

Exemple agrandi d'une image 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 l'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 deuxième 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, souvent appelée image bitmap. C'est donc 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…)

Par exemple, prenons une carte noir et blanc (1 pour blanc, 0 pour noir) définissant une image large de cinq points par la suite 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 donc inclure, outre la liste des points, la largeur de l'image et la description de la palette ; ceci se fait en général en début de fichier (on parle d'« en-tête » de fichier).

Article détaillé : Image matricielle.

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. Par 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 système 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 donc 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 facilement à 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 EPS, Quark QXD, Silverlight et Macromedia Flash (formats d'animation vectorielle), AutoCAD DXF.

Article détaillé : Image vectorielle.

Représentation des couleurs

Article détaillé : Codage informatique des couleurs.

Formats vidéo

Article connexe : Format 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 précédents 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 surtout 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 à l'aide de 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. Par exemple, dans le format DXF d'Autocad, un objet est une suite d'entités nommées et constituées de liste de points X, Y, Z. Par indexation, on constitue des facettes triangles ou des lignes qui s'appuient sur ces points.

Si ce format était suffisant pour du dessin technique il était totalement 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é.

Par ailleurs, 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 fréquemment 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 plupart 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 répandus on peut citer :

  • BLEND de Blender
  • 3DS
  • DXF d'Autocad
  • IGES normalisé
  • X Direct 3D
  • OBJ de Wavefront
  • LWO de Lightwave
  • VRML avec ses versions (1, 2 et X3D)
  • .COB de Truespace

La tendance actuelle est de privilégier un format descriptif de type XML. Le format de données 3D est alors appelé langage descriptif comme X3D (évolution du VRML avec un formatage XML).

Le format libre COLLADA permet également d'échanger des données entre différents logiciels. Il existe notamment 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 perception 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 donc intérêt à représenter les éléments se répétant souvent 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 uniquement sur les nombres, quelle que soit l'information portée par ces nombres ; ils sont donc 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 l'on connaît les données, on peut optimiser l'algorithme ; par exemple si l'on sait que l'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, donc 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é.
Article détaillé : Compression de données.

Formats classiques

Formats de fichiers
Catégorie Formats
Images PNG, MNG, TIFF, JPEG, GIF, TGA, OpenEXR, BMP
Dessin vectoriel VML, SVG, Silverlight, Flash, AI, EPS, DXF
3D XCF, BLEND, SKP, (SKB), 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, PostScript, HTML, XHTML
Document de traitement de texte ODT, TXT, DOC, RTF
Exécutable BIN, ELF, EXE, .sdc
Archives (fichier compressé) 7Z, TAR, GZIP, ZIP, LZW, ARJ, RAR, .sdc
Archives pour bandes dessinées CB7 (.cb7), basé sur 7z
CBA (.cba) basé sur ACE
CBR (.cbr) basé sur RAR
CBT (.cbt), basé sur TAR
CBZ (.cbz), basé sur ZIP

Voir aussi

Articles connexes


Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Format de données de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des informations représentant… …   Wikipédia en Français

  • Format de donnees — 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des… …   Wikipédia en Français

  • Format des données — 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des… …   Wikipédia en Français

  • format des données — duomenų bazės struktūra statusas T sritis automatika atitikmenys: angl. database structure vok. Datenbankstruktur rus. структура базы данных, f pranc. format des données, m; structure des données, f …   Automatikos terminų žodynas

  • Format de données ouvert — Format ouvert Un format ouvert, ou spécification ouverte, est un format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre, par opposition à un format fermé. Sommaire 1… …   Wikipédia en Français

  • ACIS (format de données) — ACIS Pour les articles homonymes, voir Acis (homonymie). 3D ACIS® …   Wikipédia en Français

  • Format de donnée — 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des… …   Wikipédia en Français

  • Format de fichier — 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des… …   Wikipédia en Français

  • Format informatique — 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. C est une convention (éventuellement normalisée) utilisée pour représenter des données, soit des… …   Wikipédia en Français

  • Format Ouvert — Un format ouvert, ou spécification ouverte, est un format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d’accès ni de mise en œuvre, par opposition à un format fermé. Sommaire 1 Définition 2… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”