Brevet FR3119959A1 — publié le 20220819

TITRE DE L’INVENTION : PROCÉDÉ DE FOURNITURE D’UN CONTENU COMPORTANT AU MOINS UNE IMAGE, FORMAT DE FICHIER Le procédé (600) de fourniture d’un fichier informatique, comporte : - une étape (605) d’hébergement, dans une mémoire informatique, d’un fichier informatique unitaire comportant, dans une trame unique : - au moins deux éléments de contenu, chaque élément de contenu étant d’un type d’élément défini, - un entête, comportant une information représentative d’un nombre d’éléments du fichier et - une table, comportant, pour chaque élément représentatif d’un contenu distinct, un descripteur composé d’une valeur correspondant à la taille de l’élément, d’une valeur de type d’élément associée à cet élément et d’une valeur d’index correspondant à une position dans un tableau de sections du type de l’élément, - une étape (610) d’émission, par un équipement informatique, d’une requête de réception d’un fichier informatique temporaire, - une étape (615) de génération, d’un fichier informatique temporaire à partir du fichier permanent, ladite étape de génération comportant : - une étape (616) de lecture, partielle ou non, de la table du fichier, de la table pour isoler le descripteur d’au moins un élément du type requis associé à l’adresse dudit élément, - une étape (617) de duplication sélective de chaque dit élément, en fonction d’au moins une adresse calculée, et de son descripteur, dans le fichier temporaire, - une étape (618) de création d’une information d’en-tête du fichier temporaire en fonction des données dupliquées et - une étape (620) de fourniture du fichier temporaire à l’équipement informatique émetteur de la requête de réception. Figure pour l'abrégé : Figure 9 PROCÉDÉ DE FOURNITURE D’UN CONTENU COMPORTANT AU MOINS UNE IMAGE, FORMAT DE FICHIER Domaine technique de l’invention La présente invention vise un procédé d’encodage d’un fichier informatique de type image, un procédé de décodage d’un fichier informatique de type image et un format de fichier obtenu par la mise en œuvre du procédé objet de la présente invention. Elle s’applique, notamment, à l’encodage d’images destinées à une transmission numérique. État de la technique Les formats les plus usités sur internet sont JPEG (pour « Joint Photographic Experts Group », traduit par « Comité d’experts de la photographie »), PNG (pour « Portable Network Graphic », traduit par « Image réseau portable ») et GIF (pour « Graphic Interchange Format », traduit par « Format d’échange d’images »). Le WebP de Google (Marque déposée) n’y parvient pas non plus depuis plus de 10 ans. Le JPEG est excellent pour les photos mais gère très mal les images synthétiques (dessins, graphiques, etc). Il ne gère pas la transparence. Un mode progressif et une version sans perte existent, mais ne sont pas universellement supportés. La vitesse de compression est excellente, tout comme celle de décompression. Le PNG est un format sans perte qui restitue donc une image identique pixel à pixel à l’originale. Il gère très bien les images synthétiques (dont celles avec transparence), et correctement les photos pour les cas où il est nécessaire d’en conserver la qualité d’origine. Un mode progressif est possible, ainsi que d’utiliser des couleurs indexées. Une variante non officielle et non supportée par les navigateurs, appelée APNG (pour « Animated Portable Network Graphic », traduit par « Image réseau portable animée »), permet de faire des images animées. Sa vitesse de compression est moyenne (5 à 10x plus lente que le JPEG), celle de décompression excellente. Le GIF est particulièrement destiné aux images animées. Utilisant des couleurs indexées sur 8 bits, il est limité à 255 couleurs + transparence ou 256 couleurs, ce qui donne parfois des résultats visuellement médiocres avec des contenus issus de vidéo. Il ne permet pas l’affichage progressif. Ce format est également très rapide à compresser comme à décompresser. Le WebP étant plus récent que les formats précédents, il réunit l’essentiel des possibilités de chacun des formats précédents, tout en améliorant les taux de compression. Il permet ainsi de compresser avec ou sans perte(s), supporte la couche alpha ainsi que les couleurs indexées, et gère les animations. Cependant, il n’a pas de mode progressif. Sa vitesse de compression est mauvaise (jusqu’à 60x plus lent que le JPEG), et sa vitesse de décompression bonne. D’autres travaux existent, comme le BPG (pour « Better Portable Graphics », traduit par « Meilleures images portables »), basé sur le codec vidéo HEVC (pour « High Efficiency Video Coding », traduit par « Encodage vidéo à haute efficacité »), ou le FLIF (pour « Free Lossless Image Format », traduit par « Format d’image sans perte libre »), dont les résultats en compression sans perte sont très élevés en terme de taux, mais au prix de temps de calculs irréalistes, et aucun ne semble vraiment attirer l’attention. Le codec vidéo AV-1 permet de faire apparaître une version d’image. Cependant, l’aspect extrêmement calculatoire du codec est obligatoirement appuyé sur des accélérateurs matériels, ce qui en limite l’accès aux dispositifs les plus puissants. La présente invention vise à proposer un format réunissant les qualités de tous les formats existants sans leurs inconvénients ou restrictions, soit, un format gérant la compression avec ou sans perte(s), les photos comme les images synthétiques, les couleurs indexées et la transparence, les animations, l’affichage progressif, tout en apportant des taux de compression intéressants et à des excellentes vitesses de compression et décompression. Il vise aussi à élargir les possibilités en s’appuyant sur les capacités des navigateurs modernes, celles-ci étant de plus rendues disponibles pour des applications dédiées et multi-plateformes par des technologies comme electron ou webview. Selon un premier aspect, la présente invention vise un procédé de fourniture d’un fichier informatique, qui comporte : - une étape d’hébergement, dans une mémoire informatique, d’un fichier informatique unitaire comportant, dans une trame unique : - au moins deux éléments de contenu, optionnellement formé de parties distinctes, chaque élément de contenu étant d’un type défini d’élément, - un entête, comportant une information représentative d’un nombre d’éléments du fichier et - une table, comportant, pour chaque élément représentatif d’un contenu distinct, un descripteur composé d’une valeur correspondant à la taille des données de l’élément, d’une valeur de type d’élément associée à cet élément et d’une valeur d’index correspondant à une position dans un tableau des sections du type de l’élément, - une étape d’émission, par un équipement informatique, d’une requête de réception d’un fichier informatique temporaire, ladite requête comportant au moins une valeur représentative d’un type d’élément à inclure dans le fichier temporaire, - une étape de génération, d’un fichier informatique temporaire à partir du fichier permanent en fonction d’au moins une valeur représentative d’un type d’élément comportée dans la requête de réception, ladite étape de génération comportant : - une étape de lecture, partielle ou non, de la table pour isoler le descripteur d’au moins un élément du type requis associé à l’adresse dudit élément, - une étape de duplication sélective de chaque dit élément, en fonction d’au moins une adresse calculée, et de son descripteur, dans le fichier temporaire, - une étape de création d’une information d’en-tête du fichier temporaire en fonction des données dupliquées et - une étape de fourniture du fichier temporaire à l’équipement informatique émetteur de la requête de réception. Grâce à ces dispositions, un même fichier peut contenir plusieurs types de contenus différents (des images d’un diaporama isolées, des sons ou des polices d’écriture, par exemple). Ainsi, à partir d’un unique fichier source, il est possible d’obtenir un fichier temporaire, défini sur mesure, correspondant exactement au besoin pour le fichier à l’instant de la requête, d’autres requêtes pouvant être faites quand le besoin évolue. De cette manière, le temps de transmission et son coût global sont réduits au strict nécessaire. Dans des modes de réalisation, au moins deux éléments sont liés, la duplication sélective d’un élément, lié à au moins un autre élément, entraînant la duplication sélective de chaque autre élément avec lequel le dit élément est lié, sauf si cet élément a déjà été transmis. Ces modes de réalisation permettent, dès la duplication d’un élément requis, de dupliquer également tous les éléments associés et nécessaires au rendu dudit élément. Dans des modes de réalisation, au moins un élément de contenu est de type : - fichier sonore, - police d’écriture, - élément vectoriel, - profil de couleur, - données EXIF, - métadonnées XMP ou - format prédéterminé au cours de la configuration dudit procédé. Dans des modes de réalisation, au moins deux éléments de contenu sont de types différents. Dans des modes de réalisation, au moins un élément de contenu est de type image. Dans des modes de réalisation, pour au moins un élément de contenu de type image, le fichier permanent comporte une information d’en-tête comportant au moins une valeur de décalage d’octet entre deux éléments représentatif de l’élément graphique selon une résolution d’image différente, le procédé objet de la présente invention comportant, de plus, une étape de conversion d’une valeur de résolution de la requête émise par l’équipement informatique en une valeur de décalage d’octet dans la trame, ladite valeur de décalage étant mise en œuvre au cours de l’étape de duplication sélective. Ces modes de réalisation permettent d’obtenir très rapidement un fichier éphémère à fournir par lecture sélective de bits dans la trame représentative de l’image. Dans des modes de réalisation, le procédé objet de la présente invention comporte une étape d’encodage d’un fichier informatique de type image, qui comporte : - une étape de transformée en ondelettes discrète de l’image pour produire : - un premier ensemble de coefficients d’ondelettes, - un deuxième ensemble de coefficients d’ondelettes, - un troisième ensemble de coefficients d’ondelettes et - un quatrième ensemble de coefficients d’ondelettes, - pour chaque ensemble de coefficients, une étape de quantification des coefficients, - une étape de codage arithmétique indépendante pour chacun des premier, deuxième, troisième et quatrième ensemble de coefficients quantifiés et - une étape d’enregistrement du premier ensemble encodé et - une étape d’enregistrement d’au moins un regroupement des deuxième, troisième et quatrième ensembles encodés dans des paquets de données indépendants d’une trame de données unique, formant avec le premier ensemble enregistré un dit « fichier permanent », chaque ensemble encodé étant associé dans la trame à une valeur de décalage à appliquer lors de la lecture de la trame pour décoder sélectivement un ensemble de coefficients. Grâce à ces dispositions, le format de fichier généré permet un affichage progressif de l’image en sélectionnant le ou les paquets de données nécessaires à l’affichage de l’image selon des critères d’affichage déterminés. Ceci permet un gain de temps de traitement puisque l’ensemble des données d’une trame représentative de l’image n’a pas à être nécessairement lue pour afficher l’image selon les critères déterminés. Le format de fichier ainsi généré comporte, en son sein, plusieurs versions de la même image selon des critères d’affichage déterminés, une version pouvant être lue indépendamment des autres versions comportées par le format de fichier. Ainsi, avec une seule trame représentative de l’image, il est possible de réaliser une pluralité d’affichages distincts selon les contraintes à appliquer à l’image. Ce format est particulièrement adapté à l’affichage dans un navigateur internet car, en fonction des besoins d’affichage sur une page internet, telle ou telle version de l’image encodée et générée par le procédé objet de la présente invention peut être utilisée. Une vignette, par exemple, peut mettre en œuvre une version de l’image de faibles dimensions tandis qu’un clic sur la vignette peut entraîner l’affichage d’une version de l’image dans des dimensions plus élevées, ces deux versions étant inclues dans le même fichier d’image. Dans des modes de réalisation, l’étape de transformée en ondelettes est itérative, chaque itération formant un ensemble de coefficients d’un ordre supérieur, les itérations ultérieures à la première utilisant en guise d’image le premier ensemble de coefficients ou l’image initiale, au moins un ensemble de coefficients obtenu pour une itération déterminée étant enregistré dans un paquet de données indépendant et associé à une valeur de décalage. Ces modes de réalisation permettent d’obtenir une pluralité de versions d’une même image dans un même fichier, chaque version pouvant être appelée indépendamment par lecture sélective du format de fichier généré par le procédé objet de la présente invention. Dans des modes de réalisation, le procédé objet de la présente invention comporte, en aval de l’étape de transformée en ondelettes et des étapes de quantification des deuxième, troisième et quatrième ensembles de coefficients et en amont de l’étape de quantification du premier ensemble de coefficients, une étape de compensation du premier ensemble en fonction des deuxième, troisième et troisième ensembles quantifiés. Ces modes de réalisation permettent d’augmenter la qualité de l’image encodée. Dans des modes de réalisation, le procédé objet de la présente invention comporte : - une étape de déquantification du premier ensemble compensé, - pour chaque deuxième, troisième et quatrième ensembles quantifiés d’un ordre déterminé, une étape de déquantification dudit deuxième, troisième et quatrième ensembles quantifiés, - une étape supplémentaire de transformée en ondelette discrète inverse en fonction dudit deuxième, troisième et quatrième ensembles déquantifiés et du premier ensemble compensé déquantifié, - pour chaque deuxième, troisième et quatrième ensembles de coefficients quantifiés, une étape de classification des coefficients en fonction du résultat de l’étape de transformée en ondelette discrète inverse et les étapes de codage arithmétique étant configurées pour encoder les deuxième, troisième et quatrième ensembles classifiés. Ces modes de réalisation permettent d’obtenir un gain d’efficacité de compression. En effet, il y a alors deux phases itératives, l’une de décomposition en ondelettes, puis une phase de reconstruction équivalente à celle que va faire le décodeur, afin de pouvoir classifier avec les mêmes informations que celles dont disposera le décodeur, puisque les quantifications successives font qu’on ne peut pas savoir à l’avance quels seront les coefficients du premier groupe pour le décodeur. Dans des modes de réalisation, le procédé objet de la présente invention comporte, en amont de l’étape de transformée en ondelettes, une étape de conversion d’espace colorimétrique et d’indexation des couleurs de chaque composant. L’avantage de ces modes de réalisation provient du fait que l’espace de départ étant généralement le RVB (pour « Rouge Vert Bleu »), il y a une forte corrélation entre les valeurs dans les composantes, puisqu’une variation de luminosité induit une variation proportionnelle dans rouge, de vert et de bleu. Ainsi, changer l’espace pour que celui-ci s’apparente à la luminosité d’une part et de deux composantes qui définissent la couleur d’autre part réduit le nombre de valeurs à traiter. Dans des modes de réalisation, le procédé objet de la présente invention comporte, en amont de l’étape d’enregistrement du premier ensemble quantifié, une étape de prédiction de pixel dans le premier ensemble quantifié. Ces modes de réalisation permettent de limiter le nombre de bits en amont de la compression en ne comprimant qu’une valeur d’écart par rapport à une prédiction, par nature minime au regard de la valeur à encoder. La prédiction de pixel utilise les pixels (ou coefficients) voisins connus par le décodeur (afin qu’il puisse faire la même prédiction) pour prédire le pixel courant. On n’encode ensuite que la différence par rapport à la prédiction. Ce faisant, on augmente très fortement la quantité et donc la probabilité des valeurs proches ou égales à zéro, et on diminue la quantité et donc la probabilité des valeurs plus éloignées. Si on était capable de prédire exactement chaque pixel à 1 près, on aurait juste à encoder, hormis pour le premier pixel, 0 ou 1 au lieu d’une multitude de valeurs. Un encodeur arithmétique, positionné en amont, fonctionnant très bien pour des valeurs dont l’apparition est très probable. Dans des modes de réalisation, le procédé objet de la présente invention comporte, en amont d’une étape d’enregistrement, une étape de réarrangement des données à enregistrer. Une telle étape consiste en le réarrangement des coefficients à encoder pour maximiser la longueur des chaines de coefficients nuls qui sont encodés par groupe. Préférentiellement, un réarrangement en W est utilisé. Un tel réarrangement arrange les coefficients pour un groupe de lignes, avant de changer de colonne, puis à nouveau un groupe de lignes. Ces modes de réalisation permettent de limiter la taille des données enregistrées. Dans des modes de réalisation, le procédé objet de la présente invention comporte une étape de décodage d’un fichier informatique de type image encodé selon un procédé d’encodage, qui comporte : - une étape de décodage d’un premier, deuxième, troisième et quatrième ensemble de coefficients d’ondelette et - une étape de transformée en ondelette discrète inverse pour fournir une image. Les avantages, buts et inconvénients du procédé de décodage objet de la présente invention étant similaires à ceux du procédé objet de la présente invention, ils ne sont pas rappelés ici. Selon un deuxième aspect, la présente invention vise un format de fichier d’image obtenu par la mise en œuvre du procédé objet de la présente invention, qui comporte : - un ensemble de paquets de données représentatifs, chacun, d’un ensemble indépendant de coefficients obtenus par transformée en ondelette discrète, chaque dit paquet étant encodé arithmétiquement, - au moins une valeur de décalage à appliquer pour lire sélectivement un dit paquet de données. Les avantages, buts et inconvénients du format objet de la présente invention étant similaires à ceux du procédé d’encodage objet de la présente invention, ils ne sont pas rappelés ici. Brève description des figures D’autres avantages, buts et caractéristiques particulières de l’invention ressortiront de la description non limitative qui suit d’au moins un mode de réalisation particulier des procédés et du format objets de la présente invention, en regard des dessins annexés, dans lesquels : représente, schématiquement, et sous forme d’un logigramme, une succession d’étapes particulière d’une étape d’encodage du procédé objet de la présente invention, représente, schématiquement, et sous forme d’un logigramme, une succession d’étapes particulière d’une étape de décodage du procédé objet de la présente invention représente, schématiquement, une image décomposée en ondelettes de premier ordre, représente, schématiquement, une image décomposée en ondelettes de deuxième ordre, représente, schématiquement, une image décomposée en ondelettes de troisième ordre, représente un exemple image décomposée en ondelettes de troisième ordre, représente un exemple de trame obtenu par le procédé d’encodage objet de la présente invention, représente, schématiquement et sous forme d’un logigramme, une première succession d’étapes particulière du procédé objet de la présente invention et représente, schématiquement et sous forme d’un logigramme, une deuxième succession d’étapes particulière du procédé objet de la présente invention. La présente description est donnée à titre non limitatif, chaque caractéristique d’un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse. On note dès à présent que les figures ne sont pas à l’échelle. On observe, en , schématiquement, un mode de réalisation particulier du procédé 600 objet de la présente invention. Ce procédé 600 de fourniture d’un fichier informatique, comporte : - une étape 605 d’hébergement, dans une mémoire informatique, d’un fichier informatique unitaire comportant, dans une trame unique : - au moins deux éléments de contenu, optionnellement formé de parties distinctes, chaque élément de contenu étant d’un type d’élément défini, - un entête, comportant une information représentative d’un nombre d’éléments du fichier et - une table, comportant, pour chaque élément représentatif d’un contenu distinct, un descripteur composé d’une valeur correspondant à la taille des données de l’élément, d’une valeur de type d’élément associée à cet élément et d’une valeur d’index correspondant à une position dans un tableau des sections du type de l’élément, - une étape 610 d’émission, par un équipement informatique, d’une requête de réception d’un fichier informatique temporaire, ladite requête comportant au moins une valeur représentative d’un type d’élément à inclure dans le fichier temporaire, - une étape 615 de génération, d’un fichier informatique temporaire à partir du fichier permanent en fonction d’au moins une valeur représentative d’un type d’élément comportée dans la requête de réception, ladite étape de génération comportant : - une étape 616 de lecture, partielle ou non de la table pour isoler le descripteur d’au moins un élément du type requis associé à l’adresse d’au moins un élément du type requis, - une étape 617 de duplication sélective de chaque dit élément, en fonction d’au moins une adresse calculée, et de son descripteur, dans le fichier temporaire, - une étape 618 de création d’une information d’en-tête du fichier temporaire en fonction des données dupliquées et - une étape 620 de fourniture du fichier temporaire à l’équipement informatique émetteur de la requête de réception. L’étape 605 d’hébergement est réalisée, par exemple, de manière analogue à l’une des variantes décrites en regard de l’étape 505 d’hébergement de la . Le type d’hébergement dépend de la nature d’implémentation souhaitée et de contraintes techniques propres au système mis en place. Le fichier unitaire comporte : - au moins deux éléments de contenu, optionnellement formé de parties distinctes, chaque élément de contenu pouvant être d’un type d’élément différent, - un entête, comportant une information représentative d’un nombre d’éléments du fichier et - une table, comportant, pour chaque élément représentatif d’un contenu distinct, un descripteur composé d’une valeur correspondant à la taille de l’élément, d’une valeur de type d’élément associée à cet élément et d‘une valeur d’index correspondant à une position dans un tableau des sections du type de l’élément. De cette manière, par exemple, l’entête donne des informations sur la représentation du fichier et son contenu (type, hauteur/largeur, ...), et en particulier le nombre « n » de sections de données dans le fichier. De là, il est possible de connaître la taille de la table (8 x n octets). La table est un descripteur minimaliste des sections de données. Elle donne le type de section en un (pour les images bitmap) ou deux caractères (dans tous les autres cas), un index (position dans un tableau des sections du type), et la taille en octets de la section au padding (« marges ») près (données surnuméraires pour alignement à 32 bits). Dans le cas des images bitmap, le type de section est suivi d’un octet donnant les index de couche la plus basse et la plus haute contenues dans la section (4 bits chacun). Pour rappel, une couche est un niveau de détail de l’image. Le 0 est le plus petit niveau de détail possible, mais il n’est pas forcément présent s’il n’est pas demandé (possible dans le cas où la requête est un complément d’une requête précédente). Les sections de données peuvent être de plusieurs types identifiés comme suit : - « # » pour les images bitmap (pixels), - « BO » pour les informations à destination des robots indexeurs de pages ; cette section est au plus unique et non compressée, donc lisible directement par le robot, - « DE » pour les définitions détaillées internes (cette section est au plus unique ,soit et préférentiellement compressée avec le programme gzip, soit non compressée, elle décrit exactement comment afficher le contenu, notamment pour les animations ou les documents), - « SN » pour les sons, - « FN » pour les polices, - « SV » pour les éléments vectoriels, soit et préférentiellement compressés avec le programme gzip, soit non compressés, - « IC » pour les profils de couleur, - « EX » pour les données EXIF (pour « Exchangeable image file format », traduit par « format d’échange d’image interéchangeable »), - « XM » pour les métadonnées XMP d’image (pour « Extensible Metadata Platform », traduit par « plateforme de métadonnées extensible »), soit et préférentiellement compressées avec le programme gzip, soit non compressées, ou - « CS » pour des données « personnalisées », c’est à dire non gérées par défaut mais qui peuvent être utiles à un logiciel qui saurait les interpréter, par exemple pour faire des modifications ultérieures au fichier ou pour ajouter des fonctionnalités non prévues. Le fichier unitaire, présent côté serveur contient forcément toutes les sections de données. Mais, à partir de ce fichier, on peut ne transmettre que ce qui est demandé par le client. Le protocole de conversation n’est pas précisé et est défini par l’intégrateur de la présente invention et qui connaît le contenu du fichier unitaire. Le serveur peut alors très facilement retrouver les données voulues par lecture de la table. La copie des portions utiles et l’indication dans l’entête globalement recopié du nombre de sections présentes permet au fichier temporaire d’être utilisé par le client. Si le fichier est un document, on pourra par exemple ne transmettre que la section DE et quelques pages (SV) et les polices (FN) et images bitmap (#) associées uniquement à ces pages. On saura grâce à la table ce qui est dans le fichier transmis (l’index des éléments de type SV correspondant aux pages dans le cas des documents, par exemple). Si le fichier est un diaporama, on pourra par exemple ne transmettre que certaines des diapos avec un niveau de détail faible. Les pages d’un document sont, par exemple, des SVG (pour « Scalable Vector Graphics », traduit par « graphique vectoriel adaptable »). Ces SVG sont alors directement les pages. L’index d’un élément représentatif d’une page est donc directement le numéro de page (-1). Une page contient potentiellement du texte, des dessins vectoriels et des images. Les caractères du texte et les dessins vectoriels sont directement décrits par le SVG, la police d’écriture et les images sont simplement référencées, par leur nom pour les polices, et par un identifiant pour les images. La section DE (les définitions) indique alors quelle est la correspondance entre l’identifiant d’image et l’index dans le tableau des images (cet index étant donné dans la table), et pour les polices, le nom associé à l’index dans le tableau des polices. Ces tableaux correspondent aux tableaux des sections identifiés ci-dessus. Dans des modes de réalisation, au moins deux éléments sont liés, la duplication 617 sélective d’un élément, lié à au moins un autre élément, entraînant la duplication sélective de chaque autre élément avec lequel le dit élément est lié. Dans des modes de réalisation, tels que représenté en , au moins un élément de contenu est de type image. L’étape 615 de génération est réalisée, par exemple, de manière analogue à l’étape 515 de génération telle que décrite en regard de la . L’étape 616 de lecture est réalisée, par exemple, par la mise en œuvre d’un programme informatique exécuté par un circuit électronique de calcul. Au cours de cette étape 616 de lecture de la table du fichier unitaire, en fonction des paramètres de la requête reçue, les adresses des éléments requis sont identifiées par lecture de la table et/ou du tableau de section adapté. Par exemple, si la requête est représentative de données sonores du fichier correspondant à certaines diapositives d’un diaporama, ces données sont localisées par leur adresse (c’est-à-dire leur décalage par rapport au départ de la trame) dans la trame. L’étape 617 de duplication sélective est réalisée de manière analogue à l’étape 520 de duplication sélective décrite en regard de la . L’étape 618 de création d’une information d’en-tête est réalisée de manière analogue à l’étape 525 de duplication sélective décrite en regard de la . L’étape 620 de fourniture est réalisée de manière analogue à l’étape 530 de fourniture décrite en regard de la . Dans des variantes préférentielles, applicables tant au procédé 600 décrit en regard de la et au procédé 500 décrit en regard de la , le fichier généré contient les éléments nécessaires pour déterminer quelles parties du fichier sont complètes. Ceci, par exemple, grâce à la table et aux longueurs qui sont indiquées pour les paquets complets, ou grâce aux décalages pour les différentes couches et leur intégrité. A la fin de chaque bloc d'une couche, il y a un checksum (ou « somme de contrôle »). Il est alors possible de les exploiter en affichant le niveau de détail disponible. Dans des variantes préférentielles, applicables tant au procédé 600 décrit en regard de la et au procédé 500 décrit en regard de la , le fichier temporaire généré comporte des données dans des formats tiers : json pour le bloc de définitions DE, mp3 ou ogg pour les sons SN, ttf, otf ou woff pour les polices, et svg pour les images vectorielles SV. Dans certaines variantes, visant par exemple l’utilisation de gzip ou de tout autre format non nativement traitable par un navigateur, le procédé comporte, de plus, une étape d’identification d’un format non décodable par le navigateur, une étape de localisation, sur un réseau, d’un protocole de décodage dudit format et une étape d’exécution dudit protocole de décodage. Dans certaines variantes, applicables tant au procédé 600 décrit en regard de la et au procédé 500 décrit en regard de la , le procédé comporte une étape de mise en cache d’un fichier temporaire généré. Dans certaines variantes, le nom du fichier temporaire mis en cache correspond aux valeurs de paramètres mis en œuvre pour constituer ledit fichier. Ainsi, à partir d'une requête et de ses paramètres, on peut déterminer si le fichier existe en cache. Dans certaines variantes, applicables tant au procédé 600 décrit en regard de la et au procédé 500 décrit en regard de la , l’encodage réalisé par le procédé est renforcé. De telles variantes sont plutôt indiquées pour des usages prévus pour être difficiles (comme une communication avec une sonde d'exploration spatiale) ou pour lesquelles l'information est plus importante que la taille du fichier (cas où renvoi impossible par exemple en usage militaire). Dans une première variante, un premier niveau de durcissement supprime la dépendance du codage d'une couche par rapport à son parent. Dans ce cas, il devient possible de décoder l'image jusqu'au bout même si une couche intermédiaire est "cassée" (sa somme de contrôle est incorrecte). Il suffit au décodeur de remplacer la contribution de cette couche (les coefficients d'ondelettes) par des 0. L'effet est que le calcul de transformée inverse d'ondelettes correspondra à une forme d'interpolation. Le résultat final n’est alors pas exempt d'artefacts légers, mais le résultat est bien meilleur que de s'arrêter à la couche cassée si cette couche est dans les premières de la série. Dans une deuxième variante, un deuxième niveau de durcissement ajoute deux éléments : - une redondance des données de la table (une copie directe des 8 octets associés en début d'image), ce qui peut permettre d'identifier les données d'une image même si la transmission de ce qui précède (métadonnées ou autre image) a été incomplète (paquets perdus) et - un tronçonnage en blocs de taille fixe (selon une taille choisie à l'encodage) et indépendants (au sens de l'encodage, par opposition au fait que, sinon, chaque bit n'a de signification que par rapport à celui qui le précède) de chaque couche – chaque bloc a alors une somme de contrôle propre et une micro-entête qui permet d'identifier que c'est un début de bloc et l'index du premier coefficient d'ondelette qu'il décrit. Ainsi, un décodeur pourra remplacer les blocs défectueux (dont la somme de contrôle est fausse) par une contribution nulle, ce qui limitera les artefacts de reproduction aux régions de l'image impactées par les blocs invalides. Dans certaines variantes, applicables tant au procédé 600 décrit en regard de la et au procédé 500 décrit en regard de la , le fichier temporaire généré peut comporter une forme de protection de l'audience d'un site propriétaire de l'image. Il est ainsi possible d'inclure un filigrane sous la forme d'un SVG (image vectorielle) qui sera apposé, au choix du créateur, sur clic droit et/ou si le site affichant l'image n'est pas listé dans les sites autorisés. Les données nécessaires (le SVG, les conditions d'affichage et la liste des sites autorisés) sont incluses dans la section DE (définitions) des métadonnées. Le bloc DE contient aussi, entre autres, une table de contenu (TOC) relative non pas au fichier "physique" mais à son rendu. Si le fichier décrit un document, cette table pourra contenir les chapitres et figures. Si c'est une animation, elle pourra contenir les chapitres au sens de scènes. Si c'est une image fixe multi-calques, elle contiendra les noms de chaque élément de la hiérarchie (nom des dossiers, sous-dossiers et calques). Ce bloc, optionnel, peut être au format textuel JSON (pour « JavaScript Object Notation », traduit par « Notation d’objet Javascript »), par exemple. On trouvera également dans DE les règles nécessaires à l'affichage ou au rendu. On observe, sur la , schématiquement, un mode de réalisation particulier du procédé 500 objet de la présente invention. Ce procédé 500 de fourniture d’un contenu comportant au moins une image, comporte : - une étape 505 d’hébergement, dans une mémoire informatique, d’un fichier informatique représentatif d’au moins un élément graphique d’au moins une image, dit « fichier permanent », ledit fichier stockant, dans une trame unique, au moins deux paquets distincts représentatifs d’un même élément graphique, chaque dit paquet étant représentatif de l’élément graphique selon une résolution d’image différente, - une étape 510 d’émission, par un équipement informatique, d’une requête de réception d’un fichier informatique temporaire, ladite requête comportant au moins une valeur de résolution et/ou au moins un identifiant d’élément graphique à inclure dans le fichier temporaire, - une étape 515 de génération, d’un fichier informatique temporaire à partir du fichier permanent en fonction d’au moins une valeur de résolution et/ou au moins un identifiant d’élément graphique comportée dans la requête de réception, ladite étape de génération comportant : - une étape 520 de duplication sélective d’au moins un paquet, en fonction d’au moins une valeur de résolution et/ou au moins un identifiant d’élément graphique comportée dans la requête de réception, dans le fichier temporaire, - une étape 525 de création d’une information d’en-tête du fichier temporaire en fonction des données dupliquées et - une étape 530 de fourniture du fichier temporaire à l’équipement informatique émetteur de la requête de réception. L’étape 505 d’hébergement est réalisée, par exemple, par la mise en œuvre d’un serveur informatique accessible sur un réseau de données de type internet. On appelle ici « fichier permanent » un fichier à partir duquel au moins un fichier temporaire peut être généré par duplication sélective d’au moins une partie des données du fichier permanent. Un « fichier temporaire » désigne un fichier à durée de vie courte, c’est-à-dire configuré pour être lu puis supprimé dans un délai généralement plus court que le délai d’utilisation puis suppression d’un fichier permanent. Un « fichier temporaire » est ainsi stocké, préférentiellement, dans une mémoire de type cache ou vive d’un équipement informatique tandis qu’un « fichier permanent » est préférentiellement stocké dans la mémoire de stockage de l’équipement informatique. Un tel fichier temporaire peut être généré par une étape 100 d’encodage telle que décrite en regard de la . L’étape 510 d’émission est réalisée, par exemple, par un moyen de communication de l’équipement informatique à destination de l’unité informatique à laquelle appartient la mémoire informatique. Un tel moyen de communication peut être une carte réseau permettant l’accès à un serveur informatique associé à la mémoire informatique. Par « équipement informatique », on entend tout équipement susceptible d’utiliser un fichier temporaire généré par le procédé 500. Cet équipement informatique peut être de type terminal ou nœud de réseau, selon les usages. La requête fournie présente au moins une valeur de résolution et/ou au moins un identifiant d’élément graphique à inclure dans le fichier temporaire. Une valeur de résolution peut consister, par exemple, en un indicateur de résolution tandis que l’élément peut correspondre, par exemple, à un indicateur désignant un ensemble graphique de l’image indépendant d’autres ensembles graphiques, tel par exemple un personnage présent sur une couche de l’image. L’étape 515 de génération est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour réaliser les étapes 520 de duplication sélective et de création 525. L’étape 520 de duplication est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour sélectionner tout ou partie des paquets représentatifs d’un élément graphique prédéterminé ou déterminé en fonction de l’identifiant d’élément graphique contenu dans la requête. Chaque paquet peut être sélectionné en fonction d’un identifiant de paquet associé, dans un en-tête du fichier permanent, à une balise dans la trame de données. Dans des variantes préférentielles, le fichier permanent comporte une information d’en-tête comportant au moins une valeur de décalage d’octet entre deux paquets représentatif de l’élément graphique selon une résolution d’image différente, le procédé comportant, de plus, une étape 519 de conversion d’une valeur de résolution de la requête émise par l’équipement informatique en une valeur de décalage d’octet dans la trame, ladite valeur de décalage étant mise en œuvre au cours de l’étape 520 de duplication sélective. L’étape 519 de conversion est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour exécuter un programme informatique associant, à chaque paquet, une position en nombre de bits dans la trame de données correspondant au début du paquet à dupliquer permettant une lecture puis une copie lors de l’étape 520 de duplication sélective. L’étape 525 de création est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour formater un fichier selon une typologie de trame déterminée en incluant notamment chaque paquet dupliqué. L’étape 530 d’émission est réalisée, par exemple, par un moyen de communication associé à la mémoire informatique configuré pour émettre le fichier temporaire à destination de l’équipement informatique. Dans des modes de réalisation, le procédé 500 comporte une étape 300 de décodage, telle que décrite en regard de la , du fichier temporaire par l’équipement informatique. Dans des modes de réalisation, le procédé 500 comporte une étape 535 de rendu, ou d’affichage dont l’exécution dépend des modalités de rendu ou d’affichage. Une telle étape 535 de rendu met en œuvre, par exemple, un écran. Dans des modes de réalisation, le procédé 500 comporte une étape 540 de suppression du fichier temporaire dans une mémoire vive ou cache stockant temporairement ledit fichier. On observe, sur la , qui n’est pas à l’échelle, une vue schématique d’un mode de réalisation de l’étape 100 objet de la présente invention. Cette étape 100 d’encodage d’un fichier informatique de type image comporte : - une étape 105 de transformée en ondelettes discrète de l’image pour produire : - un premier ensemble 110 de coefficients d’ondelettes, - un deuxième ensemble 115 de coefficients d’ondelettes, - un troisième ensemble 120 de coefficients d’ondelettes et - un quatrième ensemble 125 de coefficients d’ondelettes, - pour chaque ensemble de coefficients, une étape, 130, 135, 140 et 150, de quantification des coefficients, - une étape, 245, 250, 255 et 260, de codage arithmétique indépendante pour chacun des premier, deuxième, troisième et quatrième ensembles, 110, 115, 120 et 125, de coefficients quantifiés et - une étape 172 d’enregistrement du premier ensemble encodé et - une étape, 175, 180 et 185, d’enregistrement d’au moins un regroupement des deuxième, troisième et quatrième ensembles, 115, 120 et 125, encodés dans des paquets de données indépendants d’une trame de données unique, formant avec le premier ensemble enregistré un dit « fichier permanent », chaque ensemble encodé étant associé dans la trame à une valeur de décalage à appliquer lors de la lecture de la trame pour décoder sélectivement un ensemble de coefficients. Chaque regroupement de deuxième, troisième et quatrième ensembles, 115, 120 et 125, de coefficients est ici obtenu par la mise en œuvre d’itération successives de transformée en ondelettes. Dit autrement, un même fichier permanent comporte un seul premier ensemble 110 invariable quel que soit le nombre de regroupements, et au moins un regroupement de deuxième, troisième et quatrième ensembles, 115, 120 et 125, de coefficients. Une trame peut ainsi être constitue d’en ensemble d’octets représentatifs du premier ensemble 110, puis d’un premier ensemble d’octets représentatifs d’un premier regroupement de deuxième, troisième et quatrième ensembles, 115, 120 et 125, de coefficients puis d’un deuxième ensemble d’octets représentatifs d’un premier regroupement de deuxième, troisième et quatrième ensembles, 115, 120 et 125. Chaque regroupement est associé à une valeur de décalage d’octets par rapport au premier ensemble 110 pour une lecture simple et rapide. En entrée, l’image peut être de tout type généré par un programme informatique de création ou de traitement d’images. Dans des modes de réalisation particuliers, le procédé 500 comporte, en amont de l’étape 105 de transformée en ondelettes, une étape 210 de transformation de l’image en une pluralité de composantes, chaque composante étant fournie à l’étape de transformée en ondelettes. On appelle « composante », généralement au départ défini par des valeurs chromatiques de rouge (R), vert (V) et bleu (B) et potentiellement transparence (A), puis, après transformation, la luminosité, les composantes définissant la couleur (habituellement, on note Y Cb et Cr), et toujours la transparence laissée inchangée. L’étape de transformation 210 est par exemple mise en œuvre par un circuit électronique exécutant un programme informatique de transformation de l’image en une pluralité de composantes. Dans des modes de réalisation particuliers, le procédé 500 comporte, en amont de l’étape 105 de transformée en ondelettes, une étape 215 de conversion d’espace colorimétrique et d’indexation des couleurs de chaque composant. L’étape de conversion 215 est par exemple mise en œuvre par un circuit électronique exécutant un programme informatique de conversion d’espace colorimétrique et/ou d’indexation des couleurs. Un tel programme est par exemple configuré pour convertir l’image d’un format RVB (pour « Rouge Vert Bleu ») en format YUV. L’étape 105 de transformée en ondelettes discrète est réalisée, par exemple, par un circuit électronique exécutant un programme informatique configuré pour produire : - le premier ensemble 110 de coefficients d’ondelettes, - le deuxième ensemble 115 de coefficients d’ondelettes, - le troisième ensemble 120 de coefficients d’ondelettes et - le quatrième ensemble 125 de coefficients d’ondelettes. On rappelle qu’une image est représentée sous la forme d'un tableau bidimensionnel de coefficients, chaque coefficient représentant le niveau de luminosité du point correspondant. Lorsque l'on regarde d'un point de vue plus élevé, on ne peut pas faire la différence entre les coefficients les plus importants et les moins importants. La plupart des images naturelles ont des variations de couleurs lisses, les détails fins étant représentés par des bords nets entre les variations lisses. Techniquement, les variations lisses de couleur peuvent être qualifiées de variations de basse fréquence et les variations brusques de hautes fréquences. Les composantes de basse fréquence (variations lisses) constituent la base d'une image, et les composantes de haute fréquence (les bords qui donnent le détail) s'y ajoutent pour affiner l'image, donnant ainsi une image détaillée. Par conséquent, les variations lisses exigent plus d'importance que les détails. Pour séparer les variations lisses des détails d’une image, une transformée en ondelettes discrète peut être utilisée. Une transformée en ondelettes discrète fonctionne ainsi : un filtre passe-bas et un filtre passe-haut sont choisis de telle sorte qu'ils réduisent exactement de moitié la gamme de fréquences entre eux. Cette paire de filtres est appelée la paire de filtres d'analyse. Tout d'abord, le filtre passe-bas est appliqué pour chaque rangée de données, ce qui permet d'obtenir les composantes basse fréquence de la rangée. Mais comme le filtre passe-bas est un filtre à demi-bande, les données de sortie ne contiennent que des fréquences dans la première moitié de la gamme de fréquences originale. Ainsi, selon le théorème d'échantillonnage de Shannon, ils peuvent être sous-échantillonnés en deux, de sorte que les données de sortie ne contiennent plus que la moitié du nombre original d'échantillons. Le filtre passe-haut est appliqué pour la même rangée de données, et de même les composants passe-haut sont séparés et placés sur le côté des composants passe-bas. Cette procédure s'applique à toutes les lignes. Ensuite, le filtrage est effectué pour chaque colonne des données intermédiaires. Le tableau bidimensionnel de coefficients qui en résulte contient quatre bandes de données, chacune étiquetée LL (bas-bas) 110, HL (haut-bas) 115, LH (bas-haut) 120 et HH (haut-haut) 125. La bande LL 110 peut être décomposée à nouveau de la même manière, produisant ainsi encore plus de sous-bandes. Ceci peut être fait jusqu'à n'importe quel niveau, résultant ainsi en une décomposition pyramidale comme indiqué en figures 3, 4, 5 et 6. Les étapes de quantification, 130, 135, 140 et 150, sont par exemple mises en œuvre par un circuit électronique exécutant un programme informatique de quantification. On appelle « quantification » le processus d'approximation de l'ensemble continu de valeurs dans les données d'image avec un ensemble fini (de préférence petit) de valeurs. Les données d'entrée d'un quantificateur sont les données d'origine, et la sortie est toujours un parmi un nombre fini de niveaux. La quantification est une fonction dont l'ensemble des valeurs de sortie sont discrètes et généralement finies. Évidemment, il s'agit d'un processus d'approximation, et une bonne quantification est une quantification qui représente le signal original avec une perte ou une distorsion minimale. Il existe deux types de quantification : la quantification scalaire et la quantification vectorielle. Dans la quantification scalaire, chaque symbole d'entrée est traité séparément dans la production de la sortie, tandis que dans la quantification vectorielle, les symboles d'entrée sont regroupés en groupes appelés vecteurs, et traités pour donner la sortie. Ce regroupement des données et leur traitement en une seule unité augmente l'optimalité du quantificateur vectoriel, mais au prix d'une complexité de calcul accrue. Dans des variantes, les coefficients dont la valeur est inférieure à une valeur limite déterminée peuvent être annulés, c’est-à-dire mis à 0. L’ensemble des étapes, 245, 250, 255, 260, d’encodage sont réalisées, par exemple, par la mise en œuvre d’un circuit électronique configuré pour exécuter un programme informatique d’encodage d’informations. On rappelle que le codage arithmétique est un code à longueur variable, c'est-à-dire qu'un symbole de taille fixe (en bits) sera codé par un nombre variable de bits, de préférence inférieur ou égal à sa taille originale. On ne modifie donc pas la densité de symboles, mais leur codage afin de réduire l'espace qu'ils occupent. Ce qui différencie le codage arithmétique des autres codages sources est qu'il code le message par morceaux (théoriquement il peut coder un message entier de taille quelconque, mais dans la pratique on ne peut coder que des morceaux d'une quinzaine de symboles en moyenne) et représente chacun de ces morceaux par un nombre n (flottant) là où Huffman code chaque symbole par un code précis. Le problème qui en résulte pour le codage Huffman est qu'un caractère ayant une probabilité très forte d'apparition sera codé sur au moins un bit. Par exemple, si on cherche à coder un caractère représenté à 90 %, la taille optimale du code du caractère sera de 0,15 bit alors que Huffman codera ce symbole sur au moins 1 bit, soit six fois plus. C'est cette lacune que le codage arithmétique comble grâce à un algorithme proche du codage par intervalle. Dans des variantes préférentielles, au moins une des étapes, 245, 250, 255 et 260, met en œuvre un système à double table engendré par au moins une étape de classification, 160, 165, 170, correspondante. Dans des variantes, le procédé 500 comporte au moins une étape de transformation finale, telle : - une première étape de transformation consistant à amalgamer les chaînes de zéros (dont la taille est supérieure à un paramètre « p » généralement fixé à 6) pour produire le groupe [0, n-p] où « n » est le nombre de zéros consécutifs. On encode alors sans autre modification le 0, puis : - si n-p - sinon, tant que n-p > 127, on encode la valeur 128+((n-p)&127), ce qui correspond aux sept bits de poids faible de (n-p) auxquels on fixe le huitième bit à 1, puis on divise (n-p) par 128 (pour considérer les sept bits suivants). - une deuxième étape de transformation s’applique aux coefficients > 125. On les transforme en le groupe [254, n-126] où n est la valeur du coefficient. Par le même procédé que pour les 0, on encode n-126 par groupe de sept bits. - une troisième étape de transformation s’applique aux coefficients - une quatrième étape de transformation correspond à la translation de tous les autres coefficients (-126 à 125) de +128 (2 à 253). - enfin, la valeur 255 est réservée pour signaler un redémarrage du codage, afin de pouvoir séparer le flux en blocs « indépendants » (c’est à dire pouvant être décodés individuellement), pour augmenter la résilience aux erreurs. L’ensemble des étapes, 172, 175, 180 et 185, d’enregistrement est, par exemple, réalisée par la mise en œuvre par un circuit électronique configuré pour enregistrer sur une mémoire les données à enregistrer. La nature de la mémoire varie selon l’usage souhaité des données. Dans des modes de réalisation particuliers, l’étape 105 de transformée en ondelettes est itérative, chaque itération formant un ensemble de coefficients d’un ordre supérieur, les itérations ultérieures à la première utilisant en guise d’image le premier ensemble de coefficients ou l’image initiale, au moins un ensemble de coefficients obtenu pour une itération déterminée étant enregistré dans un paquet de données indépendant et associé à une valeur de décalage. Dans des modes de réalisation particuliers, le procédé 500 comporte, en aval de l’étape 105 de transformée en ondelettes et des étapes, 130, 135 et 140, de quantification des deuxième, troisième et quatrième ensembles de coefficients et en amont de l’étape 150 de quantification du premier ensemble de coefficients, une étape 145 de compensation du premier ensemble en fonction des deuxième, troisième et troisième ensembles quantifiés. L’étape 150 de compensation est par exemple mise en œuvre par un circuit électronique exécutant un programme informatique de compensation. L’objectif de cette étape 150 de compensation est de réduire le taux d’erreurs contenu dans le premier ensemble 110. La compensation consiste en les étapes suivantes, par exemple : - transformation en ondelettes de l’image ou du 1er ensemble de coefficients de l’itération précédente, - quantification, 130, 135, 140, des coefficients des deuxième, 115, troisième, 120, et quatrièmes, 125, ensembles de coefficients, - déquantification des coefficients des deuxième, 115, troisième, 120, et quatrièmes, 125, ensembles de coefficients, - transformation en ondelettes inverse des coefficients des deuxième, 115, troisième, 120, et quatrièmes, 125, ensembles de coefficients, - ajout de la différence entre les données originelles et les données reconstruites aux données originelles, - transformation en ondelettes du résultat précédent (origine + différence), - les coefficients du premier ensemble de coefficients obtenus sont utilisés en lieu et place des coefficients initialement calculés, et les coefficients des deuxième, 115, troisième, 120, et quatrièmes, 125, ensembles de coefficients ne sont pas utilisés. Dans des modes de réalisation particuliers, le procédé 500 comporte : - une étape 155 de déquantification du premier ensemble compensé, - pour chaque deuxième, troisième et quatrième ensembles quantifiés d’un ordre déterminé, une étape de déquantification 190, 195, 200 dudit deuxième, troisième et quatrième ensembles quantifiés, - une étape supplémentaire de transformée 205 en ondelette discrète inverse en fonction dudit deuxième, troisième et quatrième ensembles déquantifiés et du premier ensemble compensé déquantifié, - pour chaque deuxième, troisième et quatrième ensembles de coefficients quantifiés, une étape de classification 160, 165, 170 des coefficients en fonction du résultat de l’étape de transformée en ondelette discrète inverse et les étapes 245, 250, 255, 260 de codage arithmétique étant configurées pour encoder les deuxième, troisième et quatrième ensembles classifiés. Les étapes de classification, 160, 165 et 170, sont par exemple mises en œuvre par un circuit électronique exécutant un programme informatique de classification des données. La classification, 160, 165 et 170, consiste à estimer à partir des coefficients du premier ensemble lesquels des coefficients des deuxième, troisième et quatrième ensemble seront « grands », afin de former deux classes. Ceci est rendu possible par le fait qu’il y a un certain degré de corrélation entre le premier ensemble et les trois autres ensembles. La base de l’encodage arithmétique étant la probabilité d’apparition d’une valeur, le fait de pouvoir prédire (sans trop se tromper statistiquement) qu’elle va être « grande » permet plus de compression en assignant moins de bits à la plus probable des « grandes » valeurs qu’il lui en aurait été assignés sans séparation. Pour clarifier, la distribution des valeurs des coefficients forme une cloche (gaussienne) autour de 0. Donc si on veut encoder la valeur 4, elle aura forcément plus de bits assignés que les valeurs de 0 à 3. Mais si l’on peut prédire que la valeur sera probablement supérieure ou égal à 4, alors 4 pourra avoir aussi peu de bits dans ce deuxième espace que 0 dans le premier, 5 aussi peu que 1, etc. Et même si 4 est moins probable que 1, 2 et 3, il peut être relativement fréquent quand même, donc la compression est plus efficace, à condition de ne pas trop se tromper. Ici, donc, « grand » forme une première classe, ou un premier espace, et « pas grand » forme une deuxième classe ou un deuxième espace. Dans des modes de réalisation particuliers, les étapes de transformée 105 en ondelettes, de quantification, 130, 135 et 140, des deuxième, troisième et quatrième ensemble de coefficients et de compensation 145 sont itératives, chaque itération formant un ensemble de produits d’un ordre supérieur, le premier ensemble compensé pouvant être substitué au composant en amont d’une étape ultérieure de transformée 105 en ondelettes, le premier ensemble compensé de l’ordre le plus élevé étant fourni à l’étape 150 de quantification du premier ensemble compensé. Le caractère itératif est ici à comprendre au sens d’itération de la succession d’étapes formées par les étapes de transformée 105 en ondelettes, de quantification, 130, 135 et 140, des deuxième, troisième et quatrième ensembles de coefficients et de compensation 145. À chaque itération, un deuxième, troisième et quatrième ensemble de coefficients d’un ordre déterminé (ordre 1 pour la première itération, ordre 2 pour la deuxième et ainsi de suite) est produit et enregistré au cours des étapes, 175, 180 et 185, d’enregistrement. Toutefois, quel que soit l’ordre des deuxième, troisième et quatrième ensembles de coefficients, leur classification, 160, 165 et 170, est réalisée en fonction du premier ensemble de coefficients d’ordre le plus élevé. Dans des modes de réalisation particuliers, le procédé 500 comporte une étape 270 de bypasse des étapes de transformée 105 en ondelettes, de quantification, 130, 135 et 140, des deuxième, troisième et quatrième ensembles de coefficients et de compensation 145. Cette étape 270 est déclenchée, par exemple, par une valeur de paramètre spécifiant un critère de bypasse. En pareil cas, le flux de données est fourni à l’étape 150 de quantification. Dans des modes de réalisation particuliers, le procédé 500 comporte une étape 270 d’arrêt des itérations en fonction d’un critère d’arrêt prédéterminé. Par exemple, un nombre d’itérations peut être spécifié et, lorsque ce nombre d’itérations a eu lieu, le flux de données est fourni à l’étape 150 de quantification. Les données en sortie de l’étape 150 de quantification sont sauvegardées au cours de l’étape 172 d’enregistrement. Dans des modes de réalisation particuliers, le procédé 500 comporte, en amont de l’étape d’enregistrement du premier ensemble quantifié, une étape de prédiction 220 de pixel dans le premier ensemble quantifié. Une telle étape est décrite, par exemple, dans le document US 9,628,806, publié le 18 avril 2017. Dans des modes de réalisation particuliers, le procédé 500 comporte, en amont d’une étape, 172, 175, 180 et/ou 185, d’enregistrement, une étape, 225, 230, 235 et/ou 240, de réarrangement des données à enregistrer. Dans des modes de réalisation particuliers, le procédé 500 comporte, en amont d’une étape, 172, 175, 180 et/ou 185, d’enregistrement, une étape, 245, 250, 255 et/ou 260, de codage arithmétique des données à enregistrer. Les données en sortie de l’étape 150 de quantification sont, de plus, déquantifiées au cours de l’étape 155 de déquantification. L’étape de quantification 155 est par exemple mise en œuvre par un circuit électronique exécutant un programme informatique de déquantification. De la même manière qu'une étape de quantification partitionne ses niveaux d'entrée et de sortie, une étape de déquantification reçoit les niveaux de sortie d'une étape de quantification et les convertit en données normales, en traduisant chaque niveau en un "point de reproduction" dans la plage réelle des données. Il ressort de la littérature que le quantificateur (codeur) et le déquantificateur (décodeur) optimaux doivent remplir les conditions suivantes : Compte tenu des niveaux de sortie ou des partitions du codeur, le meilleur décodeur est celui qui place les points de reproduction sur les centres de masse des partitions. C'est ce qu'on appelle la condition centroïde. Compte tenu des points de reproduction du décodeur, le meilleur codeur est celui qui place les limites des partitions exactement au milieu des points de reproduction, c'est-à-dire que chaque valeur est traduite à son point de reproduction le plus proche. C'est ce qu'on appelle la condition du plus proche voisin. L’étape 205 de transformée en ondelette discrète inverse est réalisée, par exemple, par la mise en œuvre d’un circuit électronique configuré pour exécuter un programme informatique de calcul d’une transformée en ondelette discrète inverse à partir d’ensembles de coefficients déterminés. On observe, sur la , qui n’est pas à l’échelle, une vue schématique d’un mode de réalisation du procédé 300 objet de la présente invention. Ce procédé 300 de décodage d’un fichier informatique de type image encodé selon un procédé tel que décrit en regard de la , comporte : - une étape, 305, 310, 315 et 320, de déquantification d’un premier, deuxième, troisième et quatrième ensemble de coefficients d’ondelette et - une étape 325 de transformée en ondelette discrète inverse pour fournir une image. Chaque étape, 305, 310, 315 et 320, de déquantification fonctionne de manière similaire aux étapes, 155, 190, 195 et 200, de déquantification telles que décrites en regard de la . L’étape 325 de transformée en ondelette discrète inverse fonctionne de manière similaire à l’étape 205 de transformée en ondelette discrète inverse telle que décrite en regard de la . Dans des modes de réalisation particuliers, chaque étape, 310, 315 et 320, de déquantification des deuxième, troisième et quatrième ensembles et l’étape de transformée 325 inverse sont itératives et chaque étape de déquantification des deuxième, troisième et quatrième ensembles réalisée en fonction du premier ensemble déquantifié et/ou du résultat de l’étape de transformée en ondelette discrète inverse précédente. Ces modes de réalisation permettent, à chaque itération de l’ensemble d’étapes, 305, 310, 315 et 320, de déquantification et de transformée 325 inverse de régénérer une image d’un ordre inférieur, jusqu’à atteindre l’image originale. Dans des modes de réalisation particuliers, le procédé 300 comporte, en amont d’une étape, 305, 310, 315 et 320, de déquantification, une étape, 330, 380, 385 et 390, de décodage arithmétique des données à déquantifier. Chaque étape, 330, 380, 385 et 390, de décodage est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour exécuter un programme informatique de décodage arithmétique. Dans des modes de réalisation particuliers, le procédé 300 comporte, en amont d’une étape, 305, 310, 315 et 320, de déquantification, une étape, 335, 365, 370 et 375, de réarrangement inversé des données à déquantifier. Cette étape, 335, 365, 370 et 375, fonctionne de manière inversée par rapport aux étapes d’arrangement décrites précédemment. Cette étape, 335, 365, 370 et 375, consiste à réordonner les coefficients en colonne. Dans des variantes, un réarrangement post-classification peut avoir lieu dans le décodage, sans être une erreur. Il s’agit de réorganiser les données de classes dans le même ordre que celui des coefficients implicitement contenus dans le fichier, le décodeur devant utiliser la bonne table de probabilité pour décoder un coefficient. Chaque étape, 335, 365, 370 et 375, est réalisée, par exemple, par la mise en œuvre d’un dispositif électronique de calcul configuré pour exécuter un programme informatique de réarrangement de données. Dans des modes de réalisation particuliers, le procédé 300 comporte, en amont de l’étape 305 de déquantification, une étape de prédiction 340 de pixel inverse des données à déquantifier. Cette étape 340 de prédiction de pixel inverse consiste à générer un pixel à partir de la prédiction et de la différence (qui est ce qui a été transmis dans le fichier) prédite. Cette étape 340 de prédiction de pixel inverse est réalisée, par exemple, par un dispositif électronique de calcul configuré pour exécuter un programme informatique de prédiction de pixel inverse. Dans des modes de réalisation particuliers, le procédé 300 comporte, en amont d’une étape, 310, 315 et 320, de déquantification, une étape de classification, 350, 355 et 360, des données. Cette étape de classification, 350, 355 et 360, est identique à celle réalisée durant l’encodage, le but étant de connaître la classe du coefficient à décoder dans le décodeur arithmétique, afin de savoir quelle table de probabilité doit être utilisée pour ce faire. Dans des modes de réalisation particuliers, le procédé 300 comporte une étape 420 de bypasse d’une itération des étapes, 305, 310, 315 et 320, de déquantification et de transformée 325 inverse. Dans des modes de réalisation particuliers, le procédé 300 comporte une étape 420 d’arrêt des itérations en fonction d’un critère d’arrêt prédéterminé. Par exemple, un nombre d’itérations peut être spécifié. Dans des modes de réalisation particuliers, le procédé 300 comporte une étape 415 de conversion de conversion d’espace colorimétrique et/ou de désindexation des couleurs de chaque composant. Les étapes de transformée en ondelettes 105, de compensation 145, de prédiction de pixels 220, ainsi que les étapes de réarrangement 225 ou de classification, 160, 165 et 170, sont toutes des outils applicables ou non, selon qu’ils apportent un gain en compression ou un avantage technique particulier (comme l’affichage progressif). L’utilisation itérative d’étapes 105 de transformée en ondelette est très indiquée pour une compression de photos avec pertes, voire nécessaire si l’on souhaite un affichage progressif. La prédiction de pixels 220 est généralement appliquée sans transformée en ondelettes pour la compression d’images synthétiques, ou sur le premier ensemble de coefficients 110 issu de la dernière itération de l’étape 105 de transformée en ondelettes. Dans des variantes, il est possible d’ajouter une couche corrective appliquée après le décodage d’une couche d’ondelettes, et celle-ci est aussi potentiellement transformée par l’étape 220 de prédiction de pixel, bien que ce soit le plus souvent sans qu’on obtienne la meilleure compression. L’utilité de cette couche corrective est de permettre de rajouter de la qualité à partir d’un ordre de transformée d’ondelettes choisi lorsque les couches plus petites ont été altérées (volontairement). Ainsi, on peut imaginer transmettre une image compressée avec pertes, et optionnellement transmettre la dernière couche de correction pour obtenir une image sans perte. Dans des variantes, la classification apporte un gain en compression, mais induit une dépendance forte entre l’encodage des coefficients des deuxième, troisième et quatrième ensembles et les coefficients du premier ensemble. Ce qui fait qu’en cas d’erreur de transmission, les coefficients du premier ensemble étant altérés, il n’est plus possible de décoder les coefficients des 2e, 3e et 4e ensemble. C’est pourquoi cette classification peut être désactivée en cas de nécessité de résilience (par exemple transfert depuis une sonde spatiale). Procédé (500, 600) de fourniture d’un fichier informatique, caractérisé en ce qu’il comporte : - une étape (500, 605) d’hébergement, dans une mémoire informatique, d’un fichier informatique unitaire comportant, dans une trame unique : - au moins deux éléments de contenu, optionnellement formé de parties distinctes, chaque élément de contenu étant d’un type d’élément défini, - un entête, comportant une information représentative d’un nombre d’éléments du fichier et - une table, comportant, pour chaque élément représentatif d’un contenu distinct, un descripteur composé d’une valeur correspondant à la taille des données de l’élément, d’une valeur de type d’élément associée à cet élément et d’une valeur d’index correspondant à une position dans un tableau des sections du type de l’élément, - une étape (510, 610) d’émission, par un équipement informatique, d’une requête de réception d’un fichier informatique temporaire, ladite requête comportant au moins une valeur représentative d’un type d’élément à inclure dans le fichier temporaire, - une étape (515, 615) de génération, d’un fichier informatique temporaire à partir du fichier permanent en fonction d’au moins une valeur représentative d’un type d’élément comportée dans la requête de réception, ladite étape de génération comportant : - une étape (616) de lecture, partielle ou non, dans la table du fichier, de la table pour isoler le descripteur d’au moins un élément du type requis associé à l’adresse d’au moins un élément du type requis, - une étape (520, 617) de duplication sélective de chaque dit élément, en fonction d’au moins une adresse calculée, et de son descripteur, dans le fichier temporaire, - une étape (525, 618) de création d’une information d’en-tête du fichier temporaire en fonction des données dupliquées et - une étape (530, 620) de fourniture du fichier temporaire à l’équipement informatique émetteur de la requête de réception. Procédé (600) selon la revendication 1, dans lequel au moins deux éléments sont liés, la duplication (617) sélective d’un élément, lié à au moins un autre élément, entraînant la duplication sélective de chaque autre élément avec lequel le dit élément est lié. Procédé (600) selon l’une des revendications 1 ou 2, dans lequel au moins un élément de contenu est de type : - fichier sonore, - police d’écriture, - élément vectoriel, - profil de couleur, - données EXIF, - métadonnées XMP ou - format prédéterminé au cours de la configuration dudit procédé. Procédé (600) selon l’une des revendications 1 à 3, dans lequel au moins deux éléments de contenu sont de types différents. Procédé (500) selon l’une des revendications 1 à 4, dans lequel au moins un élément de contenu est de type image. Procédé (500) selon la revendication 5, dans lequel le fichier permanent comporte une information d’en-tête comportant au moins une valeur de décalage d’octet entre deux paquets représentatif de l’élément graphique selon une résolution d’image différente, le procédé comportant, de plus, une étape (519) de conversion d’une valeur de résolution de la requête émise par l’équipement informatique en une valeur de décalage d’octet dans la trame, ladite valeur de décalage étant mise en œuvre au cours de l’étape (520) de duplication sélective. Procédé (500) selon l’une des revendications 5 ou 6, qui comporte, en amont de l’étape (505) d’hébergement, une étape (100) d’encodage comportant : - une étape (105) de transformée en ondelettes discrète d’au moins une image pour produire au moins un élément défini par : - un premier ensemble (110) de coefficients d’ondelettes, - un deuxième ensemble (115) de coefficients d’ondelettes, - un troisième ensemble (120) de coefficients d’ondelettes et - un quatrième ensemble (125) de coefficients d’ondelettes, - pour chaque ensemble de coefficients, une étape (130, 135, 140, 150) de quantification des coefficients, - une étape (245, 250, 255, 260) de codage arithmétique indépendante pour chacun des premier, deuxième, troisième et quatrième ensembles (110, 115, 120, 125) de coefficients quantifiés, - une étape (172) d’enregistrement du premier ensemble encodé et - une étape (175, 180, 185) d’enregistrement d’au moins un regroupement des deuxième, troisième et quatrième ensembles (115, 120, 125) encodés dans des paquets de données indépendants d’une trame de données unique, formant avec le premier ensemble enregistré un dit « fichier permanent », chaque ensemble encodé étant associé dans la trame à une valeur de décalage à appliquer lors de la lecture de la trame pour décoder sélectivement un ensemble de coefficients. Procédé (500) selon la revendication 7, dans lequel l’étape (105) de transformée en ondelettes est itérative, chaque itération formant un ensemble de coefficients d’un ordre supérieur, les itérations ultérieures à la première utilisant en guise d’image le premier ensemble de coefficients ou l’image initiale, au moins un ensemble de coefficients obtenu pour une itération déterminée étant enregistré dans un paquet de données indépendant et associé à une valeur de décalage. Procédé (500) selon l’une des revendications 7 ou 8, qui comporte, en aval de l’étape (105) de transformée en ondelettes et des étapes (130, 135, 140) de quantification des deuxième, troisième et quatrième ensembles de coefficients et en amont de l’étape (150) de quantification du premier ensemble de coefficients, une étape (145) de compensation du premier ensemble en fonction des deuxième, troisième et troisième ensembles quantifiés. Procédé (500) selon l’une des revendications 7 à 9, qui comporte : - une étape (155) de déquantification du premier ensemble compensé, - pour chaque deuxième, troisième et quatrième ensembles quantifiés d’un ordre déterminé, une étape de déquantification (190, 195, 200) dudit deuxième, troisième et quatrième ensembles quantifiés, - une étape supplémentaire de transformée (205) en ondelette discrète inverse en fonction dudit deuxième, troisième et quatrième ensembles déquantifiés et du premier ensemble compensé déquantifié, - pour chaque deuxième, troisième et quatrième ensembles de coefficients quantifiés, une étape de classification (160, 165, 170) des coefficients en fonction du résultat de l’étape de transformée en ondelette discrète inverse et les étapes (245, 250, 255, 260) de codage arithmétique étant configurées pour encoder les deuxième, troisième et quatrième ensembles classifiés. Procédé (500) selon l’une des revendications 7 à 10, qui comporte, en amont de l’étape (105) de transformée en ondelettes, une étape (215) de conversion d’espace colorimétrique et d’indexation des couleurs de chaque composant. Procédé (500) selon l’une des revendications 7 à 11, qui comporte, en amont de l’étape d’enregistrement du premier ensemble quantifié, une étape de prédiction (220) de pixel dans le premier ensemble quantifié. Procédé (500) selon l’une des revendications 7 à 12, qui comporte, en amont d’une étape (172, 175, 180, 185) d’enregistrement, une étape (225, 230, 235, 240) de réarrangement des données à enregistrer. Procédé (500) selon l'une des revendications 7 à 13, qui comporte une étape (300) de décodage d’un fichier informatique de type image encodé : - une étape (305, 310, 315, 320) de décodage d’un premier, deuxième, troisième et quatrième ensemble de coefficients d’ondelette et - une étape (325) de transformée en ondelette discrète inverse pour fournir une image.