FR2768889A1 - Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images - Google Patents

Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images Download PDF

Info

Publication number
FR2768889A1
FR2768889A1 FR9711809A FR9711809A FR2768889A1 FR 2768889 A1 FR2768889 A1 FR 2768889A1 FR 9711809 A FR9711809 A FR 9711809A FR 9711809 A FR9711809 A FR 9711809A FR 2768889 A1 FR2768889 A1 FR 2768889A1
Authority
FR
France
Prior art keywords
elementary
subset
primary
data
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9711809A
Other languages
English (en)
Other versions
FR2768889B1 (fr
Inventor
Maryline Charrier
Felix Henry
Claude Dierieck
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR9711809A priority Critical patent/FR2768889B1/fr
Publication of FR2768889A1 publication Critical patent/FR2768889A1/fr
Application granted granted Critical
Publication of FR2768889B1 publication Critical patent/FR2768889B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/99Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals involving fractal coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Abstract

Le procédé de l'invention traite des données " primaires " pour déterminer des données " secondaires.Il comporte une étape de partition en sous-ensembles dits " élémentaires " (Ki ) de données primaires, une étape de détermination (911 à 917), de paramètres (ai ) d'une application dans chaque sous-ensemble élémentaire, pour que l'ensemble des paramètres permette la mise en oeuvre d'une méthode d'approximations successives convergeant vers un point fixe.Il comporte, en outre, une étape de remplacement (914, 919, 920), qui, lorsque, pour un sous-ensemble élémentaire, les paramètres sont égaux à des valeurs prédéterminées, remplace au moins un paramètre par une deuxième valeur prédéterminée.Les valeurs de paramètres ainsi déterminés constituent des valeurs secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.

Description

La présente invention concerne1 d'une manière générale, un procédé et un dispositif de traitement de données, et notamment, de compression et de décompression de données d'images.
Plus particulièrement, la présente invention vise la transmission (c'est-à-dire la représentation à distance) et/ou le stockage (c'est-à-dire la représentation dans une mémoire) de données, avec ou sans compression de celles-ci. Ces données peuvent avantageusement être constituées par les données numériques ou analogiques d'une image ou séquence d'images, et/ou les données numériques ou analogiques relatives à du son (musique, parole, etc.), et/ou les données numériques ou analogiques relatives à un signal mono ou multidimensionnel quelconque.
Avant d'exposer les objectifs et moyens de l'invention, on se propose ci-après de donner les définitions suivantes:
"Ensemble de données" : ensemble de données quelconques représentant des grandeurs physiques (le plus souvent des niveaux de tension) pouvant représenter elles-memes d'autres grandeurs physiquement perceptibles ou mesurables. Dans des applications privilégiées, les ensembles de données concernés sont des images, du son ou des signaux mono ou multidimensionnels, etc ... Dans l'application concernant le traitement d'images, on vise parfois l"'image" en lieu et place de l"'ensemble de données" relatives à l'image. Ce qui est exposé ci-après à propos des "images" ou "sous-images" est respectivement applicable aux "ensembles de données" ou "sousensembles de données" et vice versa.
"Représentation de données" : tout "traitement" d'un ensemble de données d'un type donné, résultant dans la transformation parfaite ou imparfaite dudit ensemble de données, dans un autre type. Exemple : les données peuvent être constituées par les 256 niveaux de gris des pixels d'une image monochrome, leur représentation consistant en une série de mots binaires aptes à être stockés ou transmis ; réciproquement, la représentation des données constituées par lesdits mots binaires peut consister en leur transformation pour retrouver des données du même type que les données initiales.
"Représentation primaire" par convention, tout traitement résultant dans la transformation des données d'un premier type vers des données d'un second type. On parle dans ce cas d'un "traitement primaire" des données, comme par exemple une compression d'image.
"Représentation secondaire" : par convention, la transformation de données du second type résultant d'un traitement primaire. On parle dans ce cas de "traitement secondaire", comme par exemple une décompression d'image.
"Données tertiaires" : il s'agit des données résultant d'un traitement secondaire, comme par exemple d'une décompression d'image. On observe que les données tertiaires représentent, parfaitement ou non, les données primaires dont elles sont issues.
On connaît, dans l'état de la technique, divers procédés de représentation d'image, avec compression, utilisant la technique dite "fractale".
Par le document US-A-5.065.447, on connaît un procédé et un dispositif permettant le traitement ou le stockage d'image avec compression des données relatives à l'image initiale. Dans ce procédé, les données relatives à l'image initiale sont divisées, c'est-àaire que l'image est découpée en une pluralité de sous images élémentaires (appelées "domain blocks"). Ce procédé consiste ensuite à générer un dictionnaire ordonné d'un ensemble de sous images de référence (appelées "range blocks") constituées à partir de portions d'image de taille prédéterminée ayant subi un certain nombre d'opérations prédéterminées telles que rotation et retournement selon divers axes de symétrie. Ensuite, pour chaque sous-image élémentaire, on procède à une comparaison avec l'ensemble des sous images de référence du dictionnaire et on sélectionne dans le dictionnaire la sous image de référence la plus similaire de la sous image élémentaire considérée. Enfin, le procédé consiste à traiter ou à stocker des informations paramétriques relatives aux adresses des sous images de référence sélectionnées dans le dictionnaire, pour représenter chacune des sous images élémentaires d'origine.
C'est par cet ensemble d'opérations que le procédé décrit dans ce document permet d'obtenir une première représentation de l'image avec compression des données.
Pour réaliser, à partir desdites informations paramétriques, la restitution de l'image initiale1 le procédé et le dispositif décrits dans ce document, effectuent les opérations suivantes : à partir d'une image arbitraire de départ, on procède à des étapes similaires à celles ci-dessus, c'est-à-dire que l'on partition ne l'image arbitraire de départ et que l'on constitue un dictionnaire à partir des sous-images élémentaires de celle-ci. Toutefois, le dictionnaire n'est constitué que de façon partielle en n'effectuant pour chaque sous image que l'opération prédéterminée correspondant à l'adresse concernée du dictionnaire pour la position de la sous-image considérée.
Les données ainsi obtenues sont utilisées pour réitérer ce processus jusqu'à ce que la différence entre deux images consécutivement obtenues soit inférieure à un seuil prédéterminé. L'image obtenue en dernier lieu est alors une approximation de l'image initiale.
Cette méthode, intéressante au plan théorique, présente pour inconvénient majeur qu'elle est parfois difficilement praticable au plan industriel avec les moyens connus à ce jour. En effet, chaque image doit donner lieu à une longue analyse avec constitution d'un dictionnaire particulièrement important, les sous images élémentaires de l'image à stocker ou à transmettre étant toutes comparées à chacune des sous images de référence présentes dans le dictionnaire. Les inventeurs, qui ont procédé à des simulations, ont ainsi constaté que pour certaines images de taille et de résolution moyennes (512 x 512 pixels à 3 x 256 niveaux de couleur) le temps de traitement pour la compression était de l'ordre de 1000 à 2000 secondes sur une station de travail, soit de l'ordre d'une demi-heure. Un tel temps de traitement est évidemment prohibitif pour quasiment toute application industrielle.
On connaît par le document WO-A-93/17519, un autre procédé et dispositif permettant le traitement d'images avec compression des données relatives à l'image initiale. Dans ce procédé les données relatives à l'image initiale sont également partitionnées, c'est-à-dire que l'image est divisée en une pluralité de sous images élémentaires (appelées "domains"). Dans ce procédé on détermine ensuite un ensemble de transformées fractales liant les sous images à l'ensemble des données initiales, c'est-à-dire que l'on recherche dans l'image initiale une portion d'image semblable à l'image élémentaire considérée, de façon à minimiser l'erreur entre les données initiales et la donnée approximée ainsi obtenue. Les coefficients de l'ensemble de transformations fractales ainsi réalisées constituent la première représentation de l'image initiale.
Pour réaliser la restitution de l'image, le procédé et le dispositif décrits dans ce document procèdent à la recherche des points fixes des transformations fractales élémentaires dont les coefficients ont été reçus sans toutefois expliquer comment cette recherche est effectuée. L'image initiale est ainsi restituée en procédant à une réunion des sous-images restituées.
Cette méthode est également intéressante au plan théorique.
Toutefois, les inventeurs ont constaté que les délais de traitement pouvaient être très longs, notamment au cours de la compression des données.
Les inventeurs ont cherché à développer un procédé de traitement de données du même genre que les procédés de l'état de la technique analysé ci-dessus, mais présentant de meilleures performances tant au plan de la qualité des données restituées qu'au plan de la vitesse de traitement.
Les procédés et dispositifs selon l'invention résolvent ce problème.
D'une manière générale, la présente invention vise, selon un premier aspect, un procédé de traitement primaire d'un ensemble de données dites " primaires " représentatives de grandeurs physiques pour déterminer un ensemble de données dites "secondaires" représentatives des données primaires, procédé caractérisé en ce qu'il comporte:
- une étape de partition de l'ensemble de données primaires en sous-ensembles dits" élémentaires";
- une étape de détermination, pour chaque sous-ensemble élémentaire, d'un groupe d'au moins un paramètre d'une application dans ledit sous-ensemble élémentaire, L'ensemble desdits groupes de paramètres permettant la mise en oeuvre d'une méthode d'approximations successives convergeant vers le point fixe de l'ensemble des applications associées aux sous-ensembles élémentaires, et
- une étape de remplacement, au cours de laquelle, lorsque, pour un sous-ensemble élémentaire, le groupe de paramètres est égal à un premier groupe de valeurs prédéterminées, on remplace au moins un paramètre dudit groupe de paramètres par une deuxième valeur prédéterminée, les valeurs de paramètres ainsi déterminés constituant des valeurs secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.
Grâce à ces dispositions, lorsque le premier groupe de valeurs prédéterminées risquerait de provoquer des défauts de représentation des données primaires, au cours de la mise en oeuvre de la méthode d'approximations successives, ce risque est évité grâce au remplacement d'au moins un paramètre de tout groupe de paramètre qui est égal au premier groupe de valeurs prédéterminées.
En particulier, lorsque la méthode d'approximation successive risque, avec le premier groupe de valeurs prédéterminées, de ne pas converger vers un unique point fixe, ou de converger trop lentement vers un point fixe,
L'étape de remplacement fournit une accélération de la convergence et/ou une garantie de proximité entre tous les points fixes. Ceci est notamment utile dans le cas où les données primaires possèdent toutes sensiblement la même valeur.
L'invention permet alors une augmentation de la qualité de la représentation des données primaires et de la vitesse de convergence de la méthode d'approximations successives.
On observe ici que, lorsque tous les sous-ensembles élémentaires possèdent les mêmes dimensions, un compromis doit être effectué. En effet, lorsque ces dimensions sont trop réduites, le taux de compression est limité puisque celui-ci est directement fonction du nombre de pixels qui sont représentés par les cinq paramètres associés à chaque sousensemble élémentaire. En revanche, lorsque les dimensions des sousensembles élémentaires sont importantes, la qualité de l'image reconstruite après un traitement secondaire de ces paramètres, peut être trop limitée pour une exploitation confortable de l'image reconstruite, les plus petits détails pouvant avoir été mal traités au cours du traitement primaire.
Dans une image, il est courant que certaines zones présentent très peu de détail et soient pratiquement uniformes et que d'autres zones de l'image présentent une grande complexité (complexité pouvant être représentée par la variance des valeurs de chaque composante des pixels de la zone considérée).
L'invention propose, en complément des caractéristiques exposées ci < lessus, une méthode permettant d'utiliser des sous-ensembles élémentaires de grandes dimensions dans les zones de l'image les plus uniformes et des sous-ensembles élémentaires de plus petite dimension dans les zones de l'image les moins uniformes. A cet effet, pour chaque sousensemble élémentaire en cours de traitement, un critère de complexité est déterminé et une estimation d'opportunité de partition relative à le complexité de représentation des données primaires dans le sous-ensemble élémentaire est effectuée. Lorsque cette estimation ne répond pas au critère de complexité, c'est-à-dire lorsque que la représentation du sous-ensemble élémentaire considéré est supposée présenter une certaine complexité, il est partition né en sous-ensembles élémentaires de plus petite dimension qui sont traités à leur tour, sauf s'ils possèdent une dimension minimale.
Les caractéristiques, avantages et autres objets de l'invention ressortiront d'ailleurs lors de la description des dessins annexés sur lesquels
- la figure 1 illustre de façon schématique l'agencement d'un sousensemble élémentaire K1 et de quatre sous-ensembles de travail L1, L2, L3 et L4, qui, chacun, lui sont associés, dont chaque dimension est double de celle du sous-ensemble élémentaire associé, et qui sont décalés dans les deux directions, par rapport audit sous-ensemble élémentaire, de manière prédéterminée,
- la figure 2 est un schéma bloc simplifié d'un mode particulier de réalisation du dispositif de traitement primaire d'un ensemble de données,
- la figure 3 est un schéma bloc simplifié d'un mode particulier de réalisation du dispositif de traitement secondaire d'un ensemble de données,
- la figure 4 est un organigramme simplifié de compression d'une image couleur de 512 x 512 pixels mis en oeuvre dans le dispositif de la figure 2,
- les figures 5 et 7 sont respectivement des organigrammes illustrant certaines opérations de l'organigramme de la figure 4 et d'une première de ses variantes,
- la figure 6 est un organigramme illustrant certaines opérations de l'organigramme de la figure 5,
- la figure 8 est un organigramme simplifié de décompression d'une image couleur mis en oeuvre dans le dispositif de la figure 3,
- la figure 9 est un organigramme illustrant une opération de l'organigramme de la figure 8,
- la figure 10 est un organigramme illustrant une opération de l'organigramme de la figure 8,
- la figure 11A est une représentation d'une succession de partitions de sous-ensembles élémentaires,
- la figure Il B est une représentation de structure d'informations de partition et de paramètres représentant cette succession de partitions,
- la figure ilC est une représentation de l'organisation des paramètres et des informations de partition résultant du traitement primaire d'une seule image,
- la figure Il D est une représentation d'une deuxième variante de l'organisation des paramètres et des informations de partition résultant du traitement primaire d'une seule image,
- la figure 11E est une représentation des paramètres et des informations de partition résultant du traitement primaire et effectivement utilisés au cours d'un traitement secondaire, selon la deuxième variante illustrée en figure 1 1D, et
- la figure 12 est une représentation d'une organisation des paramètres et des informations de partition résultant de traitements primaires de plusieurs images.
La figure 1 illustre comment, dans ce premier mode de réalisation, chaque sous-ensemble de travail Li est lié à au moins un sous-ensemble élémentaire K1 donné. Le sous-ensemble élémentaire Kj, de taille T, ayant pour coordonnées (xj, y) est illustré en traits gras, tandis que les sous-ensembles de travail correspondants sont illustrés en traits pointillés.
Les valeurs des coordonnées des coins inférieurs gauches des sous-ensembles élémentaires constituent l'ensembles des couples de multiples de 32 inférieurs à 511. Les dimensions des sous-ensembles élémentaires sont de 32 pixels dans chaque direction de l'image. L'ensemble des sousensembles élémentaires constitue donc une partition de l'image en 16 x 16 sous-ensembles élémentaires.
On observe que, dans ce premier mode de réalisation, à chacun des sous-ensembles K1 sont liés quatre sous-ensembles de travail Lj (numérotés L1 ... L4) dont les dimensions sont, chacune, le double de celle du sous-ensemble élémentaire considéré et dont les centres sont décalés de 16 pixels dans les deux directions, par rapport à celui du sous-ensemble élémentaire considéré. Les expressions ci-dessous montrent les coordonnées d'un sous-ensemble K1 et des sousensembles de travail L1 ... L4.
Ki : [xi, xi +31] x [y1,y+31] L : [xj - 32, xj + 31] x [yj, yj + 63]
L2: [x1, xi + 63] x [yj, yi + 63]
L3 : [xi - 32, xi +31] x [yj - 32, yj +31]
L4 : [xi, xi + 63] x [y1-32, yi +31]
On note que, dans ce mode de réalisation, la division de l'image en sous-ensembles de travail constitue un recouvrement par ardoises (en anglais "tiling").
Les points des sous-ensembles de travail définis ci-dessus qui n'appartiennent pas à l'image, c'est-à-dire ceux dont l'une au moins des coordonnées est négative, ou dont l'une au moins des coordonnées est supérieure à 512, se voient fictivement associer une valeur moyenne, par exemple 127, pour chaque composante.
On va maintenant décrire, à l'appui de la figure 2, un premier mode de réalisation d'un dispositif de traitement d'un ensemble de données représentatives de grandeurs physiques, et destiné à permettre une représentation primaire dudit ensemble par la mise en oeuvre du procédé de l'invention.
Dans ce mode de réalisation, qui concerne un dispositif de traitement d'images en couleur, les données de l'image en 512 x 512 pixels sont admises en entrée (référencée 591, en figure 2), tandis qu'en sortie (référencée 581, figure 2), le dispositif délivre les paramètres ai, i = 1, ..., 4 et la valeur b et des informations de partition, relatifs à chacun des sous-ensembles constituant une partition de l'image.
On note ici que la présente invention n'est certainement pas limitée à un format d'image particulier mais qu'elle permet le traitement d'images de toutes tailles. Toutefois, dans un mode de réalisation décrit et représenté, l'image traitée et restituée est une image de 512 x 512 pixels à 256 niveaux sur chacune des trois composantes Y, luminance, Cr, chrominance rouge, et Cb, chrominance bleue.
Sur le schéma-bloc de la figure 2, le dispositif de codage porte la référence générale 500.
II comporte, raccordés à un bus de données et d'adresses, désigné sous la référence 501:
- un contrôleur (ALU + CTR) 550 incorporant une unité de logique arithmétique. Ce contrôleur est constitué, dans ce mode de réalisation, par un microprocesseur du type de celui commercialisé par la Société INTEL sous la référence i486,
- une mémoire vive RAM, portant la référence 510. Cette mémoire comporte un certain nombre de registres qui sont décrits ci-après et une partie adressable rapidement (cache) 514,
- une mémoire programme 530, de type ROM,
- un premier registre 560 de mémoire vive à accès direct (REG 1),
- un second registre 570 de mémoire vive à accès direct (REG 2),
- un tampon d'entrée (IBFR) 590, raccordé à un connecteur d'entrée 591 et
- un tampon de sortie (OBFR) 580, raccordé à un connecteur de sortie 581.
Dans la ROM 530 est enregistré un programme permettant le traitement des données en entrée 591, avec compression de celles-ci conformément au procédé de l'invention. Le programme de compression, qui porte sur la figure 2, la référence 531, est décrit infra à l'appui des figures 4, 5, 6, 7, 11A, 11B, liC, 11D et 12.
L'ensemble des moyens 510, 530, 531, 550, 560 et 570 constitue ici un mode de réalisation de "premiers moyens logiques de transformation" au sens de l'invention.
Dans ce mode de réalisation, la mémoire vive RAM 510 comporte, entre autres les registres suivants destinés à la mise en oeuvre du programme 531:
- un registre 511 (IM), destiné à mémoriser les données de l'image,
- un compteur 513 (CNT) utilisé ainsi qu'il est expliqué infra (figure 4).
- la partie 514 (CACHE) de la mémoire vive. Cette partie est une partie de mémoire adressable très rapidement, dans laquelle sont, ainsi qu'il est connu, stockées les données les plus couramment utilisées à un instant donné.
La partie (CACHE) 514 de la mémoire 510 comporte les registres suivants:
- des registres f(L,),..., f(L4) référencés 516 à 519, dans lesquels sont enregistrés les valeurs [f(Li)](x,y) correspondant à chaque pixel de cordonnées (x,y) du sous-ensemble élémentaire, ces valeurs étant obtenues comme détaillé plus tard, à partir de valeurs de plusieurs pixels du sousensemble de travail Li,
- un registre 520 destiné à mémoriser les paramètres sélectionnés a1 ..., a4 et la valeur calculée b, relatifs à un sous-ensemble élémentaire considéré Kj, et
- un registre 522 (T) destiné à conserver la taille du sousensemble élémentaire courant Kj,
- le registre 521, destiné à conserver une variable intermédiaire i identifiant les références de sous-ensembles élémentaires formant une partition initiale d'une image à compresser,
- les registres 523 (Dmin) et 524 (D) qui conservent des mesures de distorsion de représentation de sous-ensembles élémentaires,
- les registres 525 et 526 destinés à conserver les coordonnées xj et yj, respectivement, du coin inférieur gauche du sous-ensemble élémentaire courant,
- des registres 540 à 543 contenant respectivement des variables "hauteur bande", "hauteur~idéale", "hauteur totale" et "ndlignes lues" utilisées comme décrit infra,
- le registre 560 (REG 1), destiné à cumuler, pour chaque sousensemble élémentaire, les paramètres a1 ..., a4 sélectionnés et la valeur calculée b, ainsi que l'éventuelle information de partition, relatifs à chaque sous-ensemble de travail,
- le registre 570 (REG 2), destiné à mémoriser la liste des adresses (liste souSimages) de tous les sous-ensembles élémentaires Kj, ainsi que leur taille (T).
Reliée aux moyens d'entrée 591, une source de données non compressées 592 peut comporter de nombreux moyens à la portée de l'homme du métier. Par exemple, elle peut consister en un lecteur de disque dur ou de disquette ou de compact disques (connus sous les initiales CD-ROM). Les données de l'image à compresser peuvent donc avantageusement être enregistrées sur les supports correspondants : disque dur, disquette ou CD
ROM (compact disque). Cet enregistrement peut être fait de toute manière connue de l'homme de l'art.
La source de données non compressées peut également être constituée par une interface vidéo, susceptible de délivrer les données de l'image à comprimer à l'entrée 591. Cette source peut également être constituée par des moyens de réception des données raccordées à un réseau de transmission, la source étant susceptible de transformer les données reçues en un format adéquat pour qu'elles puissent être présentées en entrée du dispositif de traitement primaire.
De même, des moyens utilisateurs de données 582 compressées, reliés aux moyens de sortie 581, peuvent consister en des moyens de stockage de l'image compressée (disque dur, disquette, CD-ROM etc ...) ou une simple interface destinée à délivrer sous un format connu le signal vidéo, à d'autres moyens utilisateurs, tels que des moyens destinés par exemple à transmettre cette image comprimée à distance ou à la stocker. Ces moyens utilisateurs peuvent d'ailleurs consister dans un dispositif de transmission de données raccordé à un réseau de télécommunications.
Dans ce mode de réalisation, qui concerne le traitement d'images, le dispositif de traitement secondaire est apte à restituer, à partir des paramètres sélectionnés a1 ..., a4 et de la valeur calculée b, et des informations de partition, relatifs à chacun des sous-ensembles élémentaires,
L'image initiale, en couleur ou, tout au moins, une image approchée.
II est également apte à fournir une image possédant un nombre de points élémentaires différent du nombre de points élémentaires de l'image traitée par le dispositif de traitement primaire, ces images étant dites de définition ou de résolution différentes. Ces données en sortie du dispositif de traitement secondaire sont dites " données tertiaires ", qu'elles correspondent à une image de même résolution que l'image ayant subi le traitement primaire ou à une image possédant une autre résolution.
Sur le schéma-bloc de la figure 3, le dispositif de restitution ou de calcul itératif porte la référence générale 600.
II comporte, raccordés à un bus de données et d'adresses, désigné sous la référence 601:
- un contrôleur (ALU + CTR) 650 incorporant une unité de logique arithmétique. Ce contrôleur est constitué, dans ce mode de réalisation, par un microprocesseur du type de celui commercialisé par la Société INTEL sous la référence i486;
- une mémoire vive RAM, portant la référence 610, qui comporte un certain nombre de registres qui sont décrits ci-après et une partie adressable rapidement (dite "mémoire cache") 614;
- une mémoire programme 630, de type ROM. Dans cette mémoire, est enregistré notamment un programme 631 de décompression des données de l'image présentée en entrée 681 en vue de la reconstruction d'une approximation de l'image initiale de résolution identique ou différente.
- un premier registre 560 à accès direct (REG 1), et
- un second registre 570 à accès direct (REG 2) identiques à ceux décrits à l'appui de la figure 2,
- un tampon de sortie (OBFR) 690, raccordé à un connecteur de sortie 691, et
- un tampon d'entrée (IBFR) 680, raccordé à un connecteur d'entrée 681.
Dans ce mode de réalisation, la mémoire vive RAM 610 comporte, entre autres les registres suivants destinés à la mise en oeuvre du programme 631:
- un registre 511 (IM), décrit à l'appui de la figure 2,
- un registre 621 (RE), destiné à mémoriser les données d'une image,
- un registre (IT) 612 destiné à mémoriser la valeur courante du nombre d'itérations effectuées pour réaliser la représentation secondaire,
- un registre (p) 623 destiné à mémoriser un nombre d'itérations ainsi qu'il est expliqué infra (figure 8),
- un facteur d'échelle z dans un registre "z" 628.
- un compteur 513 (CNT) décrit à l'appui de la figure 2. Ce compteur est ici utilisé ainsi qu'il est expliqué infra (figure 8),
- la partie 614 (CACHE) de la mémoire vive 610. Cette partie est une partie de mémoire adressable très rapidement, dans laquelle sont, ainsi qu'il est connu, stockées les données les plus couramment utilisées à un instant donné, la partie (CACHE) 614 de la mémoire 610 comporte des registres 516 à 520, 540 à 543 et 625 à 627 respectivement identiques aux registres 516 à 520, 540 à 543 et 525, 526 et 522 décrits à l'appui de la figure 2,
- le registre 560 (REG 1), destiné à stocker, pour chaque sousensemble élémentaire, les paramètres sélectionnés at, ..., a4 et la valeur calculée b, et l'éventuelle information de partition, associés à ce sousensemble, et
- le registre 570 (REG 2), destiné à mémoriser la liste des adresses de tous les sous-ensembles élémentaires Kj.
Reliée aux moyens d'entrée 681, une source de données compressées (non représentée) peut consister en des moyens de stockage de l'image comprimée (disque dur, disquette, CD-ROM etc...) ou une simple interface destinée à délivrer celles-ci. Cette source peut aussi consister dans un système de réception de données raccordé à un réseau de télécommunications. Des moyens utilisateurs de données décompressées (non représentés), reliés à la sortie 691 peuvent consister, par exemple, en des moyens de stockage des données décompressées ou en une simple interface délivrant sur sa sortie les données décomprimées. Ils peuvent également consister en un dispositif de transmission des données décompressées sur un réseau de télécommunications.
Description d'un organigramme particulier de compression
d'une image couleur 512 x 512 pixels
Cet organigramme est illustré en figure 4, la figure 6 étant un organigramme explicitant certaines opérations de l'organigramme de compression de la figure 4.
En l'espèce, à chaque couple de valeurs (x,y) (coordonnées colonne, ligne) pris dans le domaine de définition (en l'espèce à l'image plane 512 x 512 pixels) correspondent trois valeurs fi(x,y) parmi 256 niveaux relatives à chacune des trois composantes Y, Cr et Cb.
On organise trois suites de nombres correspondant chacun au niveau d'une composante (soit 512 x 512 = 262.144 valeurs f(x,y) par composante), en balayant les données de l'image comme suit:
- les lignes sont balayées de gauche à droite;
- les lignes sont incrémentées de bas en haut.
Ces trois suites sont ici enregistrées dans la source de données non compressées. Elles peuvent être lues sur le port d'entrée 591 à la commande du microprocesseur 550.
En 200A, il est procédé à une initialisation des registres (IM) 511, nblignes lues et des deux registres (REG 1) 560 et (REG 2) 570 à la valeur uniforme nulle. Au cours de l'opération 200A, il est aussi procédé à la détermination de la hauteur dite " idéale " des bandes indépendantes, cette hauteur correspondant, par exemple, à une dimension:
inférieure à la dimension de la partie disponible de la mémoire
cache et
correspondant à un multiple de 32 lignes de l'image, avec un
minimum de 64 lignes.
On observe, en particulier, que la hauteur idéale peut ainsi être égale à la hauteur de l'image (soit ici 512 lignes).
Les fichiers relatifs aux composantes Y, Cr et Cb sont accessibles séparément et sont fournis dans un ordre prédéterminé, à savoir:
- d'abord les données de l'image considérée et relatives à la composante de luminance (Y),
- ensuite les données de l'image relatives à la composante de chrominance rouge (Cr), et
- finalement les données de l'image relatives à la composante de chrominance bleue (Cb).
Le test 200B consiste à déterminer si la variable nb lignes~lues est égale à la hauteur totale de l'image ou non. Lorsque le résultat du test 200B est négatif, l'opération 200C est réalisée et consiste à initialiser à zéro la valeur du compteur (CNT) 513, qui sert à identifier une composante de couleur de l'image. Ensuite, I'opération 200D détermine la hauteur hauteur bande de la prochaine bande constituant un sous ensemble de l'image à traiter. Au cours de cette opération, la hauteur de la partie de l'image restant à traiter est comparée à deux fois la hauteur dite " idéale ". Lorsque la hauteur de la partie de l'image restant à traiter est supérieure à deux fois la hauteur dite " idéale ", la hauteur de la prochaine bande de l'image est égale à la hauteur dite "idéale". Lorsque ce n'est pas la cas, la hauteur de la prochaine bande est égale à la hauteur de la partie de l'image restant à traiter. La valeur de la hauteur de la prochaine bande à traiter ainsi déterminée est chargée dans le registre hauteur bande et la valeur de ndligneSlues est incrémenté de la valeur hauteur bandes.
L'opération 200E consiste à incrémenter le compteur (CNT) 513.
Ensuite, au cours du test 201, on détermine si le compteur (CNT) 513 est strictement supérieur à 3, ou non.
Lorsque le résultat du test 201 est négatif, le programme se branche sur l'étape 202, au cours de laquelle le microprocesseur 550 va lire sur le port d'entrée 591 la composante suivante de la bande d'image à traiter.On rappelle que chaque composante, Y, Cr ou Cb, se présente comme une suite de 262.144 valeurs f(x,y) correspondant au niveau de la composante considérée pour chacun des pixels de l'image. Une partie de la suite qui correspond à la composante en cours de traitement et à la bande d'image à traiter, est donc chargée dans le registre (IM) 511 au cours de l'étape 202.
Les opérations 200B à 202 constituent ainsi une étape dite de division d'ensemble au cours de laquelle on divise l'ensemble de données primaires en sous-ensembles de données primaires, ici en bandes horizontales parallèles et égales entre elles, à l'exception éventuelle de la dernière.
Le programme se branche ensuite à l'étape 204, au cours de laquelle il est procédé à la partition initiale de la bande de l'image de hauteur bande x 512 pixels en sous-ensembles élémentaires K1 de 32 x 32 pixels, comme illustré en figure 1. Cette partition se fait en déterminant les coordonnées (x,y) des coins inférieurs gauche de chacun des m sousensembles Ki considérés. Chacune des adresses des coins inférieurs gauches des blocs de 32 x 32 pixels correspond à une adresse particulière dans la liste enregistrée dans le registre (IM) 511 de la mémoire vive 510.
La liste de ces adresses, accompagnées, chacune, de la taille initiale 32, est chargée dans le registre (REG 2).
Au cours du test 205, il est vérifié si la liste enregistrée dans le registre (REG 2) est vide ou non. Lorsque le résultat du test 205 est négatif, cela signifie qu'il y a encore des sous-ensembles élémentaires K1 à traiter et le programme se branche à l'étape 206.
A l'étape 206, il est supprimé les coordonnées xj, yj, du premier sous-ensemble élémentaire de la liste enregistrée dans le registre (REG 2) ainsi que la taille Tdu sous-ensemble élémentaire considéré pour être recopiés dans les registres 525, 526 et 522, respectivement. Le programme se branche alors à l'étape 207 détaillée en figure 5 ou, selon la première variante, en figure 7. Comme illustré en figure 5, au cours de cette étape 207, un test 255 détermine si le sous-ensemble élémentaire considéré possède les dimensions minimales, c'est-à-dire dans le mode de réalisation décrit et représenté, 2 fois 2 pixels, ou non.
Lorsque le résultat du test 255 est positif, l'opération 250 consiste à déterminer les quatre sous-images de travail Lj associées au sous-ensemble de travail considéré, comme illustré en regard de la figure 1. Au cours de cette opération 250, à partir des coordonnées conservées dans les registres 525 et 526 de la mémoire RAM 510 et de la taille T, il est procédé à la recherche des quatre sous-ensembles de travail voisins Lut, ...l L4 (voir figure 1 pour les sous- ensembles de travail associés à la partition initiale). A cet effet, la règle rappelée supra est appliquée:
- chaque sous-ensemble de travail possède des dimensions doubles de celles du sous-ensemble élémentaire auquel il est lié, soit dans chaque direction, la taille T; et
- chaque centre d'un sous-ensemble de travail est décalé d'une demi-dimension (T/2) du sous-ensemble élémentaire, dans chaque direction, par rapport au centre du sous-ensemble élémentaire associé.
Ainsi, les expressions ci-dessous montrent les coordonnées d'un sous-ensemble K1 et des sous-ensembles de travail L, ,..., L4, pour toutes valeurs de la taille T, celle-ci tenant compte des partitions complémentaires qui ont été effectuées (voir opération 256 ci-dessous):
Ki : [x1, x1 + T-I] x [y, y1+ T-1]
L1: [x - T, x1 +T-l] x [y, yi + 2T-1]
L2: [xi, xi +2T-1] x [yj, y +2T-1]
L3: [Xi - T, x +T-l] x [yj - T, yi +T-l]
L4: [x1, x1 +2T-1] x [y1 - T, y1 +T-1]
Les sous-ensembles de travail possédant la même forme et quatre fois plus de pixels que le sous-ensemble élémentaire correspondant, on comprend que, par homothétie, chaque pixel de Ki correspond à quatre pixels de L, (respectivement L2, L3 et L4).
Pour chaque sous-ensemble élémentaire K1 considéré, le contrôleur 550 lit dans le registre 570 (REG 2) les coordonnées (x1,y) du pixel inférieur gauche de Ki et la taille T du sous-ensemble élémentaire Kj, dans le registre (T) 522.
Ensuite, L'unité arithmétique 550:
- va chercher, pour la composante, Y, Cr ou Cb, en cours de traitement, et successivement pour chacun des pixels du sous-ensemble élémentaire considéré, les valeurs correspondant à chacun des 4 pixels de L, (respectivement L2, L3 et L4) qui lui correspondent, et
- stocke la moyenne de ces quatre pixels dans le registre f(L1) 516 (respectivementj(L2) 517, f(L3) 518 etflL4) 519) de la mémoire cache 514).
A la suite de l'opération 250 (figure 5), le programme effectue l'opération 251 au cours de laquelle, d'une manière générale, les paramètres ai (en l'espèce af, ..., a4) sont sélectionnés et la valeur b est calculée.
Une description simplifiée de l'opération 251 (et aussi des opérations 258 et 260 illustrées plus loin) est donnée dans l'organigramme représenté dans la figure 6.
Comme illustré en figure 6, ces opérations consistent à déterminer les paramètres ai parmi un nombre restreint de valeurs différentes, et préférentiellement parmi une sélection d'inverses de puissances de 2. Au cours de ces étapes, les paramètres aj (en l'espèce a1 ..., a4) sont sélectionnés et la valeur b est calculée en mesurant un défaut de représentation, ici appelé une distorsion D, pour chacune des combinaisons de valeurs prises dans le choix restreint.
On observe ici que, en base 2, la multiplication par des inverses de puissances de 2 revient, au décalage vers la droite des valeurs binaires.
L'utilisation d'un nombre limité d'inverses de puissances de 2, permet donc d'effectuer des opérations de multiplications très faciles à exécuter et de réduire la durée des traitements effectués, car ces divisions et multiplications par décalage évitent la manipulation de nombres réels dont la représentation, en nombres binaires, en mémoire, est complexe et coûteuse.
Dans le mode de réalisation décrit et représenté en figure 6, le choix restreint est limité pour chacun des quatre paramètres at, ...l a4 à +1/4 ou -1/4. En conséquence, seize 4-uples sont testés, et constituent la table 1
a1 a2 a3 a4
+1/4 +1/4 +1/4 +1/4
+1/4 +1/4 +1/4 -1/4
+1/4 +1/4 -1/4 +1/4
+1/4 +1/4 -1/4 -1/4
+1/4 -1/4 +1/4 +1/4
+1/4 -1/4 +1/4 -1/4
+1/4 -1/4 -1/4 +1/4
+1/4 -1/4 -1/4 -1/4
-1/4 +1/4 +1/4 +1/4
-1/4 +1/4 +1/4 -1/4
-1/4 +1/4 -1/4 +1/4
-1/4 +1/4 -1/4 -1/4
-1/4 -1/4 +1/4 +1/4
-1/4 -1/4 +1/4 -1/4
-1/4 -1/4 -1/4 +1/4
-1/4 -1/4 -1/4 -1/4
On observe ici que le choix des valeurs +1/4 et -1/4 est lié au nombre (égal à 4) de sous-ensembles de travail qui sont liés au sous-ensemble élémentaire. En effet, préférentiellement, selon l'invention, pour un nombre donné e de sous-ensemble de travail associés à un sous-ensemble élémentaire donné, le choix restreint des valeurs des paramètres comporte au moins les valeurs +1/e et -1/e. Complémentairement, si l'on souhaite que chaque valeur de paramètre soit choisi parmi deux valeurs, de telle manière que le taux de compression de données soit maximal, le choix restreint sera limité aux valeurs +1/e et -1/e. En outre, si l'on souhaite utiliser les opérations de multiplication qui sont les plus simples et les plus rapides à effectuer par des moyens de traitement à microprocesseur, la valeur e est choisie parmi les puissances de 2 (une multiplication par l'inverse d'une puissance de deux correspondant, en base deux, à un simple décalage à gauche des données binaires traduisant la valeur d'un pixel, décalage d'un nombre de bits égal à la puissance de 2 considérée).
Au cours de l'opération 910, la variable intermédiaire Dmin qui représente une distorsion entre les données primaires et la combinaison multilinéaire sur les sous-ensembles de travail, est initialisée à la valeur 2562 = 65.536
Au cours du test 911, il est déterminé si le dernier 4-uple de toutes les combinaisons possibles de valeurs parmi le choix restreint de valeurs, a été utilisé ou non.
Lorsque le résultat du test 911 est négatif, I'opération 912 consiste à prendre le prochain ensemble de valeurs possibles des paramètres (a1 ..., a4) parmi le choix restreint décrit plus haut. Lorsque l'opération 912 est effectuée pour la première fois, c'est le premier ensemble qui est pris. Ensuite l'opération 913 consiste à déterminer la valeur de b qui correspond au 4-uple courant de valeurs de aj, en effectuant le calcul suivant: b est égal à la somme des valeurs des pixels dans le sous-ensemble élémentaire moins les quatre produits des paramètres aj par les moyennes des valeurs des pixels du sousensemble de travail auquel aj se rattache, cette somme étant divisée par le nombre de points du sous-ensemble élémentaire.
L'opération 915 consiste, ensuite, à déterminer un critère de sélection basé sur la distorsion D correspondant aux quatre paramètres déterminés au cours de l'opération 913. La distorsion D est ici déterminée selon la formule suivante : D est égal à la somme des valeurs des pixels dans le sous-ensemble élémentaire moins les quatre produits des paramètres aj par les moyennes des valeurs des pixels du sous-ensemble de travail auquel aj se rattache et moins la valeur calculée b, le tout étant mis au carré et divisé par le nombre de points du sous-ensemble élémentaire.
On observe que D est une mesure de l'erreur de la représentation des points du sous-ensemble élémentaire par les cinq paramètres considérés et plus précisément, il s'agit de l'erreur quadratique moyenne.
Le test 916 consiste à déterminer si la valeur de la distorsion D qui a été déterminée au cours de l'opération 915 est inférieure à la valeur Dmin précédemment conservée en mémoire vive. Lorsque le résultat du test 916 est négatif, le test 911 est réitéré. Lorsque le résultat du test 916 est positif,
I'opération 917 consiste à mémoriser en mémoire vive, d'une part, les paramètres (a1, a2, a3, a4) et la valeur calculée b, d'autre part, la nouvelle valeur de Dmin qui prend la valeur de D déterminée au cours de l'opération 915 et, enfin, la valeur D associée aux paramètres mémorisés. Ensuite, l'opération 912 est effectuée.
Lorsque le résultat du test 911 est positif, le test 919 consiste à lire en mémoire le groupe sélectionné de paramètres a1 ...l a4 et la valeur b et à déterminer si le groupe de paramètres est égal, terme à terme, au groupe (1/4, 1/4, 1/4, 1/4, 0), ou non. En effet, dans le cas où une zone de l'image est uniforme ou quasi uniforme, c'est-à-dire dans le cas où chaque pixel vaut quasiment une valeur u, un sous-ensemble élémentaire à l'intérieur de cette zone uniforme est très bien représentée par le groupe de paramètres (1/4, 1/4, 1/4, 1/4, 0) si les sous-ensembles de travail auxquels ils se rapportent sont également inclus dans cette zone uniforme (i.e. si tous leurs pixels sont également de valeur u). Dans ce cas de zone uniforme, on constate effectivement que chaque pixel du sousensemble élémentaire a une valeur parfaitement égale à:
1/4 f(L1) + 1/4 f(L2) + 4 f(L3) + 4 f(L4) + 0, soit
14 (u+u+u+u)14 + 4 (u+u+u+u)14 + 14 (u+u+u+u)14 + 14 (u+u+u+u)/4 + 0 = u.
Le problème apparaît à la restitution des données quand de tels paramètres sont appliqués à l'image arbitraire initiale, habituellement choisie uniformément grise. On comprend immédiatement que cette valeur grise est restituée pour tous les pixels du sous-ensemble élémentaire, et ceci se perpétue à chaque itération, et n'évolue pas si la zone uniforme est très grande (cas d'un ciel bleu dans un paysage, par exemple) sauf si le nombre d'itération est lui aussi très grand.
Les inventeurs ont observé, en outre, que les paramètres (1/4, 1/4, 1/4, 1/4, 0) étaient sélectionnés conformément au procédé décrit presque uniquement dans le cas de fonds uniformes.
En remplaçant alors les paramètres (1/4,1/4,1/4,1/4, 0) par (1/4, -1/4, 1/4, -1/4, u), on obtient, en revanche, une convergence très rapide vers la valeur uniforme u. C'est ce qui est effectué au cours de l'opération 914.
Lorsque le résultat du test 919 est négatif, l'opération 251 (figure 5) est terminée. Lorsque le résultat du test 919 est positif, I'opération 914 est effectuée.
L'opération 914 consiste à remplacer les paramètres (+1/4, +1/4, +1/4, +1/4) par (+1/4, -1/4, +1/4, -1/4) et à déterminer les valeurs de b et de D qui correspondent au 4-uple de valeurs de aj: (+1/4, -1/4, +1/4, -1/4) (voir opérations 913 et 915 ci-dessus).
On observe ici que, L'ensemble des combinaisons multilinéaires des sous-ensembles de travail dans les sous-ensembles élémentaires n'est pas une contraction, au sens mathématique, car certaines des combinaisons multilinéaires ne répondent pas au critère de convergence qui veut que la somme des coefficients multiplicatifs (ici les paramètres a1) de cette combinaison multilinéaire soit, en valeur absolue, strictement inférieure à 1.
Cependant, lorsque l'on applique plusieurs itérations des combinaisons multilinéaires à un ensemble de données quelconques dites " initiales ", les images successives ainsi obtenues convergent vers un point fixe. Selon l'invention, ce point fixe est une approximation d'une homothétie de l'ensemble de données primaires. Lorsque l'ensemble de données initiales possède les mêmes dimensions que l'ensemble de données primaires, le point fixe est une approximation de l'ensemble de données primaires.
On observe aussi ici que l'opération 914 sert à éviter que pour les grands à-plats uniformes, comme par exemple les ciels bleus, la convergence de l'approximation successive ne soit ralentie, si ce n'est erronée.
A la suite de l'opération 914,1'opération 920 consiste à mémoriser à la place de l'ancien groupe de paramètres a1 ..., a4 et à la valeur b considérés et de la distorsion associée, le nouveau groupe de paramètres et la valeur b correspondante déterminés au cours de l'opération 914 et la distorsion associée. L'opération 251 (figure 5) est alors terminée.
On observe ici que, dans la mesure où le sous-ensemble élémentaire possède des dimensions minimales, aucune information de partition n'est nécessaire, puisqu'aucune partition complémentaire ne peut être effectuée (voir opération 256 ciaessous).
On comprend qu'en mettant en oeuvre l'organigramme illustré en figure 6, chacun des paramètres a,, ..., a4 peut être représenté par une unique donnée binaire représentant son signe, puisqu'il ne peut prendre que deux valeurs possibles prédéfinies et opposées.
Lorsque le résultat du test 255 (figure 5) est négatif, I'opération 252 consiste à mesurer la variance des niveaux de la composante considérée, dans le sous-ensemble élémentaire considéré. Ensuite, l'opération 253 consiste à déterminer un critère dit "de complexité" applicable au sousensemble élémentaire considéré. Préférentiellement, la définition du critère de complexité consiste en la définition d'un seuil en deçà duquel le critère de complexité est considéré comme respecté. Préférentiellement aussi, la valeur du seuil prend en compte les dimensions du sous-ensemble élémentaire considéré. Dans le mode de réalisation décrit et représenté ce seuil est la fonction correspondant au tableau suivant:
dimensions du sous-ensemble en pixels seuil
2x2 200
4x4 160
8x8 100
16 x 16 60
32 x 32 20
On observe ici qu'il est préférentiel d'utiliser un tableau correspondant à une fonction décroissante de la taille T.
On note ici que selon des variantes non représentées:
- la valeur du seuil est constante quelle que soit les dimensions des sous-ensembles élémentaires, ou
- la valeur du seuil est une fonction inverse d'une dimension du sous-ensemble élémentaire considéré.
Le test 254 détermine si le critère de complexité est respecté ou non. Dans le mode de réalisation décrit et représenté, il est respecté lorsque la mesure de la variance des niveaux de la composante considérée est inférieure à la valeur du seuil qui correspond, dans le tableau ci-dessus, aux dimensions du sous-ensemble élémentaire considéré.
Lorsque le résultat du test 254 est positif, l'opération 259 consiste à déterminer les quatre sous-images de travail comme exposé ci-dessus concernant l'opération 250. Ensuite, l'opération 258 est identique à l'opération 251, si ce n'est que sont mémorisés, dans le registre 560 (REG 1), successivement l'information de partition valant "0" puisqu'aucune partition complémentaire n'a été effectuée et les paramètres sélectionnés (a,, ..., a4) et la valeur calculée b. Ensuite, le test 205 (figure 2) est réitéré.
Lorsque le résultat du test 254 est négatif, I'opération 256 consiste à effectuer une partition complémentaire du sous-ensemble élémentaire considéré. Dans le mode de réalisation décrit et représenté, cette partition complémentaire consiste à diviser chaque sous-ensemble élémentaire en quatre sous ensembles élémentaires carrés égaux. A cet effet, au cours de l'opération 256, il est ajouté à la liste liste~sous~images, les coordonnées des quatre points qui définissent les coins inférieurs gauches des quatre sousensembles élémentaires résultant de la partition complémentaire. A ces coordonnées sont associées une taille T qui est égale à la taille du sousensemble élémentaire que l'on partition ne, divisée par 2. En outre une information de partition valant "1", puisqu'une partition complémentaire a été effectuée, est mémorisée dans le registre 560 (REG 1).
A la suite de l'opération 256, le test 205 (figure 2) est réitéré.
Selon la première variante illustrée en figure 7, le critère de complexité utilisé pour déterminer la nécessité d'effectuer une partition complémentaire n'est pas, comme présenté en regard de la figure 5, la comparaison, d'une part, d'une mesure statistique effectuée sur les niveaux de la composante considérée dans un sous-ensemble élémentaire avec, d'autre part, un seuil, mais la comparaison d'une mesure de différence entre, d'une part, L'image obtenue après avoir appliqué les combinaisons multilinéaires aux sous-ensembles de travail associés au sous-ensemble élémentaire, avec l'image initiale dans ce sous-ensemble élémentaire.
Cette première variante est illustrée en figure 7, dans laquelle les tests et opérations communs avec la figure 5 portent les mêmes références.
Dans cette première variante, à la suite de l'opération 206, I'opération 250 est réalisée, en prenant en compte la valeur actualisée de la taille T. L'opération 250 détermine, on le rappelle, les sous-ensembles de travail associés au sousensemble élémentaire considéré.
Ensuite, l'opération 260 est identique à l'opération 251 (figure 5) à l'exception de la mémorisation dans le registre de mémoire 560 (REG 1) qui n'est pas effectuée. L'opération 260 fournit donc des paramètres ou coefficients multiplicatifs (a1 ..., a4) et additif (b) d'une combinaison multilinéaire des sousensembles de travail, dans le sous-ensemble élémentaire considéré ainsi qu'une mesure de la distorsion D. Le test 255 succède à l'opération 260 et détermine, comme exposé supra, si le sous-ensemble élémentaire possède des dimensions minimales ou non.
Lorsque le résultat du test 255 est positif, l'opération 263 consiste à mémoriser dans le registre 560 (REG 1) les quatre paramètres a1 ..., a4 sélectionnés au cours de l'opération 260 et la valeur b associée, sans leur associer d'information de partition puisqu'aucune nouvelle partition complémentaire ne peut avoir lieu. Ensuite, le test 205 (figure 4) est réitéré.
Lorsque le résultat du test 255 est négatif, l'opération 262 consiste à déterminer un critère dit "de complexité" applicable au sous-ensemble élémentaire considéré. Préférentiellement, la définition du critère de complexité consiste en la définition d'un seuil en deçà duquel le critère de complexité est considéré comme respecté. Préférentiellement aussi, la valeur du seuil prend en compte les dimensions du sous-ensemble élémentaire considéré. Dans le mode de réalisation décrit et représenté ce seuil est la fonction correspondant au tableau suivant:
dimensions du sous-ensemble en pixels seuil
2x2 800
4x4 640
8x8 400
16 x 16 240
32 x 32 80
On observe ici qu'il est préférentiel d'utiliser un tableau correspondant à une fonction décroissante de la taille T.
Le test 254 détermine ensuite si le critère de complexité est respecté ou non. Dans le mode de réalisation décrit et représenté, il est respecté lorsque la mesure de l'écart quadratique moyen entre la composante considérée et son image par les combinaisons multilinéaires paramétrées, sur le sous-ensemble élémentaire considéré, est inférieure à la valeur du seuil qui correspond, dans le tableau ci-dessus aux dimensions du sous-ensemble élémentaire considéré. Cet écart quadratique moyen correspond, en fait, à la distorsion D.
Lorsque le résultat du test 254 est négatif, I'opération 256 consiste à effectuer une partition complémentaire du sous-ensemble élémentaire considéré. Dans le mode de réalisation décrit et représenté, cette partition complémentaire consiste à diviser chaque sous-ensemble élémentaire en quatre sous ensembles élémentaires carrés égaux. A cet effet, au cours de l'opération 256, il est ajouté en tête de la liste llste~sousjmages dans le registre 570 (REG 2), les coordonnées des quatre points qui définissent les coins inférieurs gauches des quatre sous-ensembles élémentaires résultant de la partition complémentaire. A ces coordonnées est associée une taille T qui est égale à la taille du sous-ensemble élémentaire que l'on partitionne, divisée par 2. Enfin, une information de partition valant "1" est mémorisée dans le registre 560 (REG 1) puisqu'une partition complémentaire a été effectuée.
Lorsque le résultat du test 254 est positif, au cours de l'opération 261, les quatre paramètres a > , a1 a4 sélectionnés au cours de l'opération 260 et la valeur b associée sont mémorisés dans le registre 560 (REG 1) avec une information de partition valant "0" puisqu'aucune partition complémentaire n'a eu lieu.
Dans la première variante exposée en figure 7, il est intéressant de mesurer la moyenne des valeurs de l'écart quadratique moyen de tous les sous-ensembles élémentaires traités pour lesquels cet écart est mesuré au cours de l'opération 254, pour déterminer l'utilité d'un traitement complémentaire au cours du traitement secondaire : lorsque cette moyenne est supérieure à une valeur critique globale prédéterminée, il est utile de prévoir un traitement complémentaire (voir opérations 416 et 417, figure 8).
On observe ici que les organigrammes présentés en regard des figures 5 et 7 se combinent particulièrement bien, en faisant se succéder l'opération 262 de la figure 7 à la fin des opérations 258 de la figure 5.
On observe aussi que, dans le cas illustré en figure 5, la mémorisation de la valeur de la distorsion D (opérations 917 et 920, figure 6) associée aux paramètres mémorisés, n'est pas nécessaire, alors que dans le cas de la figure 7, elle évite d'avoir à effectuer à nouveau sa détermination.
Les figures 11A et 11B illustrent l'effet des partitions complémentaires qui sont effectuées sur les sous-ensembles élémentaires issus de la partition initiale ou de partitions complémentaires précédentes.
Dans un but explicatif, et par exception aux règles générales de la description, on suppose que, dans le mode de réalisation exposé en figures 11A à 12, les dimensions minimales des sous-ensembles élémentaires sont quatre fois plus petites que leurs dimensions maximales, soit de 8 sur 8 pixels.
La figure 1 lA représente une partie d'une image, correspondant à douze sous-ensembles élémentaires référencés Ko à K18 résultant de la partition initiale, dans laquelle:
- le sous-ensemble élémentaire K1 a subi une partition complémentaire en quatre sous-ensembles élémentaires <
La figure 11B illustre, pour les sous-ensembles élémentaires ainsi partition nés, les informations de partition qui sont associées aux sousensembles élémentaires résultant de la partition initiale (sous-ensembles pour lesquels la taille T est la taille initiale 32 x 32 pixels) ou aux sous-ensembles élémentaires résultant de partitions complémentaires.
Ainsi, les sous-ensembles élémentaire Ko, K2, K3, K4, K5 K7, K8, Kg et K10 sont associés à une information de partition nulle, les sous-ensembles élémentaires Kt, K6 et K11 sont associés à une information de partition valant 1, leurs sous ensembles élémentaires K1,oJ K1,1, K12, K6,0, K6,2, Kas.3 K11,o, K11,1, K11,2 et K113 sont associés à une information de partition nulle, les sous ensembles élémentaires Kif 3 et K6, , sont associés à une information de partition égale à "1" et les sous-ensembles élémentaires résultant de leur partition complémentaire ne sont associés à aucune information de partition puisque les dimensions de ces sous-ensembles élémentaires sont les dimensions minimales.
Les dimensions de tous ces sous-ensembles élémentaires peuvent ainsi être définies sans ambiguïté par la suite d'informations de partition
010001000010100000010000
La figure 11C propose une représentation des paramètres at, a2, a3, a4 et la valeur calculée b, relatifs à une seule image et qui, conjointement, sont, référencés ici P et des informations de partition qui leur sont associées, en utilisant la suite exposée ci-dessus.
On y observe que la séquence des données compressées correspondant à la partie d'image représentée en figure lIA comporte:
- un en-tête, représentant en particulier les dimensions de l'image (valant ici 512 x 512 pixels) les dimensions initiales des sous-ensembles élémentaires (correspondant ici à 32 x 32 pixels), la hauteur idéale et la définition des dimensions minimales des sous-ensembles élémentaires (correspondant ici à 8 x 8 pixels) et une information de traitement complémentaire et l'éventuel ratio de dimensions entre la résolution de la composante de luminance et celle des composantes de chrominance;
- la suite des informations de partition présentée ci-dessus: 01000100001010000001 0000 associée aux éventuelles données secondaires qui leur correspondent, au cours de la mémorisation effectuée pendant les étapes 251 et 263 (sans information de partition), 258 et 261 (avec information de partition valant "0") et 256 (avec information de partition valant "1") sachant que les informations de partition valant 1 ne sont associées à aucune donnée secondaire.
La figure 1/D illustre une deuxième variante, concernant l'organisation des paramètres, valeurs calculées associées et des informations de partition résultant du traitement primaire d'une seule image.
On y observe que la séquence des données compressées correspondant à la partie d'image représentée en figure lIA comporte:
- un en-tête, représentant en particulier les dimensions de l'image (valant ici 512 x 512 pixels) les dimensions initiales des sous-ensembles élémentaires (correspondant ici à 32 x 32 pixels), la hauteur idéale et la définition des dimensions minimales des sous-ensembles élémentaires (correspondant ici à 8 x 8 pixels) et une information de traitement complémentaire et l'éventuel ratio de dimensions entre la résolution de la composante de luminance et celle des composantes de chrominance;
- la suite des informations de partition présentée ci-dessus
01000100001010000001 0000, chacune d'entre elles étant associée aux données P (paramètres at, .., a4 et valeur calculée b) qui lui correspondent, au cours de la mémorisation effectuée pendant les étapes 251 et 263 (sans information de partition), 258 et 261 (avec information de partition valant "0") et 256 (avec information de partition valant "1"), sachant que, selon cette deuxième variante, même les informations de partition valant 1 sont associées à des données P et sont enregistrées avec elles dans le registre (REG 1) 560.
Grâce à cette disposition, comme illustré en figure Il E, en connaissant le facteur d'échelle z (obtenu au cours de l'opération 420, figure 8, infra), on peut sélectionner les données P et les informations de partition à utiliser au cours du traitement secondaire.
En l'espèce, pour un facteur d'échelle égal à 1/v, v étant un nombre entier, on ne conserve, pour le traitement secondaire, que les données
P correspondant à des sousensembles élémentaires de dimensions supérieures ou égales à 2v x 2v pixels dans l'image primaire, c'est-à-dire qui donneront des sous-ensembles de dimensions supérieures ou égales à 2 x 2 pixels dans l'image tertiaire.
Dans l'exemple de la figure liE, lorsque les dimensions minimales des sous-ensembles élémentaires de l'image primaire, c'est-à-dire de l'image qui est traitée au cours du traitement primaire, sont de 8 x 8 pixels et que le facteur d'échelle est strictement inférieur à 1/4, les sous-ensembles élémentaires de dimension minimale ne sont pas à prendre en compte, parce qu'ils correspondraient, sinon, à des sous-ensembles élémentaires de dimensions strictement inférieures à 2 x 2 pixels.
Dans l'exemple illustré en figure 11E, on admet que le facteur d'échelle est égal à un huitième, ce qui revient à diviser par soixante-quatre le nombre de points de l'image résultant du traitement secondaire. On observe, en figure Il E, qu'aucune des informations concernant les sous-ensembles élémentaires de plus petites dimensions, qui résultaient de deux partitions complémentaires successives au cours du traitement primaire, n'est prise en compte au cours du traitement secondaire.
La mise en oeuvre de cette deuxième variante (figures 11D et 11E) permet de réduire la durée du traitement secondaire, car il n'est, ici, pas indispensable de traiter toutes les données P résultant du traitement d'image primaire pour reconstituer une image de plus faible dimension.
La figure 12 est une représentation de l'organisation des données
P et des informations de partition résultant de traitements primaires de plusieurs images. Les données P et données de partition complémentaires concernant différentes images sont organisées de la manière suivante:
- un fichier 900 comporte un en-tête commun 901 dans lequel sont enregistrées diverses données générales communes à toutes les images représentées dans ce fichier 900,
- une table d'index 909, dans laquelle sont représentées les adresses des ensembles de données concernant les images représentées dans ledit fichier 900. Dans le mode de réalisation décrit et représenté ici, les adresses de début de description des images sont représentées dans l'en-tête global sous la forme de données de translation, c'est-à-dire de données indiquant de combien d'adresses successives il faut se déplacer dans le fichier pour atteindre la description de ladite image, celle-ci commençant par un entête spécifique.
- les en-têtes spécifiques 902, 904 et 906, représentent, en particulier:
. le nombre de composantes de couleur (ici 3),
les dimensions de l'image (valant 512 x 512 pixels pour une image complète ou moins pour des sous-images),
la hauteur idéale des bandes,
les dimensions initiales des sous-ensembles élémentaires (correspondant ici à 32 x 32 pixels),
la définition des dimensions minimales des sous-ensembles élémentaires (correspondant ici à 8 x 8 pixels),
. une information de traitement complémentaire, et
. I'éventuel ratio de dimensions entre la résolution de la composante de luminance et celle des composantes de chrominance;
On note ici que préférentiellement, dans le cas où certaines de
ces informations seraient communes à toutes les images du fichier, alors ces
informations sont contenues dans l'en-tête commun 901 et non dans les entêtes spécifiques 902, 904 et 906.
Les blocs d'informations 903, 905 et 907 comportent les suites d'informations de partition, chacune d'entre elles étant associée aux données P qui lui correspondent, au cours de la mémorisation effectuée pendant les étapes 251 (sans information de partition) et 258 (avec information de partition), sachant que les informations de partition valant 1 ne sont associées à aucune donnée (sauf, bien entendu, si la deuxième variante illustrée en figures il D et il E est mise en oeuvre).
Grâce aux dispositions d'organisation de fichiers relatifs à une pluralités d'images illustrées en figure 12, le nombre de fichiers utilisé est limité ainsi que les opérations d'ouverture et de fermeture de fichiers, opérations qui présentent une durée particulièrement importante. On rappelle ici qu'un fichier est un ensemble de données qui possèdent conjointement la même adresse en mémoire. Le traitement secondaire s'en trouve ainsi accéléré.
En particulier, lorsque l'affichage simultané de plusieurs images de taille réduite est prévu pour avoir une vue globale de ces images, I'usage d'un fichier unique pour représenter plusieurs images augmente considérablement la rapidité d'affichage de chaque image réduite.
Lorsque l'opération 207 (figure 4) est achevée, le test 205 est réitéré et l'ensemble des opérations 205 à 207 est réitéré tant que la mémoire (REG 2) n'est pas vide.
Lorsque le résultat du test 205 est positif, I'opération 200E est réitérée. Lorsque le résultat du test 201 est positif, le test 200B est réitéré.
Lorsque le résultat du test 200B est positif, l'opération 209A de détermination de traitement complémentaire est réalisée. Au cours de cette opération 209A, il est procédé:
- d'une part, à la détermination de l'utilité ou non d'effectuer un
traitement complémentaire de lissage sur l'image résultant d'un traitement
secondaire des données P et informations de partition, et
- d'autre part, à la mémorisation de la description de cette
image, à savoir son en-tête spécifique (comportant notamment les
dimensions de l'image, les dimensions maximales et minimales des sous
ensembles élémentaires, I'éventuel ratio de dimensions entre la résolution
de la composante de luminance et celle des composantes de chrominance
et la hauteur idéale), ses données P et informations de partition et
l'information de traitement complémentaire représentant l'utilité dudit
traitement complémentaire.
Pour déterminer cette utilité, plusieurs critères peuvent être utilisés. Le premier consiste à comparer la dimension minimale des sousensembles élémentaires à une dimension qui sert de seuil. Lorsque la dimension minimale est supérieure à la dimension seuil, cela signifie que des sous-ensembles élémentaires relativement grands (par exemple de 8 x 8 pixels) vont être utilisés même si le critère de complexité, défini à l'étape 253, n'est pas respecté et qu'il sera donc profitable de réduire la sensation de bord affectant de tels sous-ensembles élémentaires. Le second, introduit supra (opération 254, figure 10), consiste à comparer les seuils utilisés dans le tableau définissant le critère de complexité avec des valeurs dites "critique", de seuils prédéterminées. Lorsque les seuils effectivement utilisés sont supérieurs à ces valeurs critiques, cela signifie que le critère de complexité est aisément respecté sur des sous-ensembles élémentaires de grandes dimensions, sousensemble dont les bords peuvent être visibles. II est alors, de nouveau, intéressant de prévoir un traitement complémentaire.
Ensuite, I'opération 209B comporte la mise à jour, dans un fichier commun (figure 12) d'un en-tête commun à plusieurs ensembles de données résultant du traitement primaire de plusieurs images (référencé 901, figure 12), la mise à jour d'une table d'index (référencée 909, figure 12) qui contient des adresses d'ensembles de données concernant des images, dans le fichier considéré. Ensuite est réalisée l'étape de fin 210.
Ainsi, pour au moins deux ensembles de données primaires représentatives de grandeurs physiques, le dispositif selon l'invention met en oeuvre, pour chaque ensemble de données primaires, les étapes 200A à 207, décrites en regard des figures 4 à 7, puis une étape d'organisation du fichier informatique 900 comportant des données secondaires représentatives de chaque ensemble de données primaires. Cette étape d'organisation comporte les opérations 209A et 209B.
Selon une variante non représentée, chaque fichier issu du traitement primaire d'une image est disposé dans un fichier spécifique individuel.
Description d'un mode de réalisation d'un organigramme de décompression.
On va décrire, à l'appui des figures 8, 9 et 10, I'organigramme de programme permettant de reconstruire les données de l'image couleur d'origine, ou au moins une représentation approchée.
Au cours de l'opération 400, figure 8, il est procédé:
- la lecture, dans l'en-tête spécifique concernant les données secondaires à traiter, de la hauteur totale de l'image et la hauteur idéale des bandes,
- à une initialisation des registres (IM), (RE) et (IT) de la mémoire vive 610, des deux mémoires (REG 1) 560 et (REG 2) 570, et de la variable intermédiaire nbjignes~lues, à la valeur uniforme nulle.
Au cours de l'opération 420, le facteur d'échelle z est lu en entrée, par l'intermédiaire d'un clavier, moyennant des dispositions techniques non représentées mais bien connues de l'homme du métier.
Au cours du test 421, on détermine si la variable ndlignes~lues est égale à la hauteur totale de l'image, ou non. Lorsque le résultat du test 421 est négatif, I'opération 422 consiste à initialiser la variable CNT, qui indique le numéro de composante, à la valeur 1, dans le registre 513 (CNT). Ensuite,
I'opération 423 consiste, de manière identique à l'opération 200D (figure 4), à déterminer la hauteur de bande et à mettre à jour la variable nb ~lignes lues.
Le programme effectue alors l'opération 403 au cours de laquelle les données compressées de la mémoire d'entrée pour la bande courante sont chargées dans la mémoire (REG 1) 560. Il est rappelé que les données compressées sont formées d'une suite de cinq ou six nombres, à savoir les paramètres sélectionnés a1 ..., a4 et la valeur calculée b et, éventuellement, d'une information de partition, relatifs à chaque sous-ensemble élémentaire Kj.
L'opération 403 consiste, d'abord, à ouvrir le fichier 900, dans lequel sont représentées une pluralité d'images (figure 12) puis, dans l'en-tête commun 901 du fichier 900, à lire les données concernant tous les fichiers et, dans le tableau d'index 909, L'adresse des données concernant l'image que l'on souhaite traiter afin de charger ces données dans le registre 560.
Le programme effectue ensuite l'opération 404, au cours de laquelle il est procédé à la création de la liste des références de chaque sousensemble élémentaire. II s'agit en l'occurrence d'une liste des coordonnées (xj, yi) du pixel inférieur gauche de chaque sous-ensemble élémentaire Kj, ainsi que de la taille T de ce sous-ensemble, cette taille T étant recalculée en fonction des informations de partition comme exposé avec le traitement primaire ainsi que du facteur d'échelle z qui est associé à toute l'image résultant du traitement secondaire. Cette liste est conservée dans le registre (REG 2).
Ainsi, au cours de l'opération 404, lorsqu'une information de partition représentative d'une partition complémentaire, c'est-à-dire possédant une valeur prédéterminée ("1" ici), est attribuée à un sous-ensemble élémentaire dont la dimension n'est pas minimale, le processeur 650 effectue une étape de partition complémentaire dudit sous-ensemble élémentaire et attribue des données secondaires à chaque sous-ensemble élémentaire issu de la partition complémentaire. La partition complémentaire est effectuée comme indiqué ciaessus.
On note ici que le facteur d'échelle z est un facteur multiplicatif qui s'applique aux dimensions de l'image reconstruite au cours du traitement secondaire à partir des données P provenant d'une image traitée au cours d'un traitement primaire de compression. Ce facteur multiplicatif s'applique aussi aux dimensions de chaque sous-ensemble élémentaire, qu'il provienne de la partition initiale ou de partitions complémentaires, et à chaque dimension de sous-ensemble de travail associé à un de ces sous-ensembles élémentaires.
Lorsqu'un ratio entre les résolutions des composantes de chrominance et la composante de luminance a été transmis dans l'en-tête, le facteur d'échelle z est appliqué à la luminance et le produit du facteur d'échelle z par ledit ratio est appliqué aux composantes de chrominance, de telle manière que tous les ensembles de données sur lesquels on reconstruit une composante possèdent la même résolution.
Conformément à l'invention, aucun facteur d'échelle z ne provoque une duplication de pixel formant l'apparition, dans l'image reconstruite, de pavés uniformes.
Le programme se branche ensuite sur l'étape 406 au cours de laquelle:
- conformément au mode de mise en oeuvre de l'invention décrit ici, une image arbitraire initiale possédant un nombre de lignes égal à la hauteur de bande multipliée par le facteur d'échelle z, chaque ligne possédant un nombre de pixels égal à 512 multiplié par le facteur d'échelle z, est mémorisée dans le registre (IM) 511 de la mémoire vive 610. Dans le cas présent de décompression d'une image couleur où chaque composante possède 256 niveaux ayant respectivement les valeurs 0 à 255, on initialise le registre (IM) à la valeur numérique 128 (correspondant sensiblement à la valeur moyenne entre 0 et 255) pour chaque pixel pour la première composante traitée. Pour les composantes suivantes, on utilise comme initialisation le résultat obtenu pour la composante précédante (figure 9).
Le registre (IT) 612 est initialisé avec une valeur p lue dans le registre 623 de la RAM 610. Le nombre d'itérations est enregistré dans le registre 623 (p), compte-tenu du RMSE souhaité ("RMSE" est la notation classique de la racine carrée de l'écart quadratique moyen, moyenné sur tous les pixels et toutes les composantes, I'efficacité d'un algorithme de compression étant exprimée par le taux de compression obtenu pour un RMSE donné). Les inventeurs ont en effet constaté au cours d'essais avec le prototype que, pour obtenir un RMSE donné à partir d'un taux de compression, un nombre limité d'itérations successives au cours du calcul d'approximation était nécessaire. Typiquement : 2 < p < 10; toutefois pour des images très complexes p peut avoir une valeur supérieure,-.
Le programme exécute ensuite un nombre p d'itérations de la boucle référencée 450 (opérations 407, 408, 409 et 410) afin de permettre la restitution d'une bande de la composante de l'image.
Le programme se branche tout d'abord au test 407 au cours duquel on vérifie si le contenu du registre (IT) 612 est positif et non nul.
Si le test 407 est positif, le programme se branche au test 408 au cours duquel il est vérifié si la liste enregistrée dans (REG 2) 570 est vide ou non. Si le test 408 est négatif, le programme se branche sur l'étape 410 qui comprend elle-même les étapes 411 à 415 (figure 10).
A l'étape 411, on retire les coordonnées (xj, y,) correspondant au sous-ensemble élémentaire K1 considéré ainsi que sa taille et on les copie dans les registres 525 et 526 de la mémoire vive RAM 510. Parallèlement, les paramètres sélectionnés (at, ..., a4) et la valeur calculée b, relatifs au sousensemble élémentaire considéré sont copiés du registre (REG 1) vers le registre 520 de la partie 614 (CACHE) de la mémoire vive 610.
L'opération 412 a pour but de déterminer les sous-ensembles de travail liés géométriquement et de manière prédéterminée au sous-ensemble élémentaire K1 considéré, en prenant en compte le fait que chaque sousensemble de travail possède des dimensions doubles du sous-ensemble élémentaire considéré (tenant ainsi compte du facteur d'échelle z) et possède un centre décalé, par rapport à ce sous-ensemble élémentaire, de la demi dimension du sous-ensemble élémentaire considéré, dans chaque direction.
Cette opération 412 comporte les même opérations que l'opération 250 décrite supra. Les valeurs f(L1) ..., f(L4) des moyennes, pour chaque pixel du sous-ensemble élémentaire, des quatre pixels qui lui correspondent dans chacun des sous-ensembles de travail L1 ..., L4, sont respectivement copiées dans les registres 516, 517, 518 et 519 de la partie 614 (CACHE) de la mémoire vive 610.
Le programme se branche ensuite aux étapes 413 et 414 au cours desquelles on calcule, pour chaque pixel (x,y) du sous-ensemble élémentaire Kj, la valeur
Figure img00400001

à l'aide des paramètres axa, ..., a4 et de la valeur b stockés dans le registre 520 et des données f(L > ), ..., f(L4) stockées dans les registres 516 à 519, (étape 413) et on mémorise (étape 414) cette valeur dans le registre (RE) 621 de la
RAM 610.
Si le test 408 est positif, le contenu du registre (RE) 621 est copié dans le registre (IM) 511, et le contenu du registre (IT) 612 est diminué d'une unité.
II est à nouveau procédé au test 407. Tant que ce test est positif cela signifie que le nombre d'itérations prévu par le nombre enregistré dans le registre 623 (p), n'est pas terminé et les opérations 408 à 410 sont réitérées.
Lorsque le test 407 est négatif ou nul, le nombre d'itérations prévu est terminé, pour la composante en cours de traitement, et le programme sort de la boucle 450. Cette composante est donc décompressée.
On procède alors à l'étape 405 qui consiste à copier le contenu du registre (IM) 511 dans le tampon de sortie (OBFR) 690. L'opération 424 consiste ensuite à incrémenter de 1 la valeur de la variable CNT, dans le registre (CNT) 513. Ensuite, le test 401 détermine si le contenu du compteur 513 (CNT) est, ou non, strictement supérieur à 3. Tant que le résultat du test 401 est négatif, cela signifie qu'il reste au moins une composante à décompresser.
Lorsque le résultat du test 401 est négatif, I'opération 403 est réitérée.
Cependant, selon une troisième variante non représentée, il est procédé de manière parallèle aux traitements des trois composantes, Y, Cr et
Cb, de l'image, en prenant comme ensemble de données initial, un ensemble de données arbitraires.
On observe que, selon des caractéristiques générales de l'invention, le point fixe des applications multilinéaires associées à tous les sous-ensembles élémentaires (et aux sous-ensembles de travail, par l'intermédiaire des paramètres a1) constitue une approximation de tout ou partie de cet ensemble, résultat de la décompression, ou traitement secondaire, en données dites " tertiaires ".
En figure 9, au cours du test 430, il est procédé au test du compteur 513 (CNT). Si son contenu est égal à zéro, cela signifie qu'il s'agit de la première composante, celle de luminance, et le registre (IM) 511 est initialisé à 128 pour chaque pixel (étape 431). Le registre (IT) est initialisé à la valeur p (étape 432).
Si le contenu du compteur 513 (CNT) est supérieur à zéro, cela signifie qu'une composante au moins a été décompressée et, à l'étape 433, on charge le registre (IM) 511 avec le contenu du registre (RE) 621, c'est-à-dire avec les valeurs correspondant à la composante précédemment décompressée. Ceci permet de décroître le nombre d'itérations p de deux unités (étape 434 où l'on initialise (IT) à la valeur p-2) car l'image initiale est très proche de l'image finale. Le temps de calcul est diminué grâce à cette caractéristique. Le compteur 513 (CNT) est ensuite incrémenté d'une unité (étape 435).
Lorsque les trois composantes ont été décompressées, le test 401 (figure 8) est positif1 le programme de décompression est alors terminé pour les trois composantes de la bande de l'image considérée. Le programme effectue alors le test 421 décrit supra. Lorsque le résultat du test 421 est positif, la décompression de l'image entière est terminée et le test 416 consiste alors à déterminer si:
- soit l'information de traitement complémentaire présente dans l'en-tête des données P et informations de partition est représentatif d'une utilité d'effectuer un traitement complémentaire,
- soit le facteur d'échelle z possède une valeur qui rend utile un traitement complémentaire (z étant, par exemple, supérieur ou égal à 4) ou non.
Lorsque le résultat du test 416 est négatif, l'étape de fin 402 est effectuée directement. Lorsque le résultat du test 416 est positif, l'opération 417 de traitement complémentaire est effectuée. Cette opération 417 consiste en une opération connue par l'homme du métier sous le nom de "post-processing" (que l'on peut traduire en français par " traitement complémentaire "), ce qui fait référence à un traitement effectué après la décompression d'image illustrée en figure 8. Ce traitement comporte, de manière connue, un filtrage spatial, destiné à diminuer l'éventuelle sensation de frontière des sous-ensembles élémentaires.
Préférentiellement, les paramètres de ce filtrage sont fonction des dimensions du sous-ensemble traité. Par exemple, les dimensions du filtre utilisé sont proportionnelles à celles du sous-ensemble considéré, d'une part, et le nombre de pixels sur lesquels s'applique ce filtre est proportionnel à chaque dimension du sous-ensemble élémentaire considéré, d'autre part. Selon chacun de ces exemples, le facteur d'échelle z intervient dans le paramètrage du traitement complémentaire. Au cours de l'opération 417, les données relatives à chacune des trois composantes sont, tour à tour, copiées dans le tampon de sortie (OBFR) 690, à trois adresses différentes correspondant chacune à une des trois composante, en remplacement des données mémorisées au cours de l'opération 405, d'où elles sont transférées vers les moyens utilisateurs de données décompressées.
Pour une même composante, le transfert successif des données tertiaires résultant du traitement des données secondaires, au cours des opérations successives 405 a pour effet l'assemblage de ces bandes en mémoire vive (610) du dispositif.
Selon une variante non représentée, les bandes indépendantes ne sont pas formées de lignes complètes de l'image mais forment une partition de celle-ci en rectangles, en carrés ou en formes géométriques quelconques adaptées au procédé de l'invention.
On observe ici que, pour obtenir une image reconstruite en niveaux de gris, sans couleur, il suffit de n'effectuer un traitement primaire que sur les données provenant du traitement primaire de la luminance de l'image couleur.
Selon une variante non représentée, les partitions complémentaires sont effectuées en effectuant un découpage non homothétique des sous-ensembles élémentaires, comme par exemple un découpage en triangles, en deux rectangles égaux, successivement en formant deux rectangles côte-à-côte horizontalement ou verticalement,
Selon une variante non représentée, le facteur d'échelle n'est pas uniforme. II peut ainsi, par exemple, avoir une valeur horizontale, qui sert de coefficient multiplicatif aux dimensions horizontales des sous-ensembles élémentaires et une valeur verticale qui sert de coefficient multiplicatif aux dimensions verticales des sous-ensembles élémentaires. Le facteur d'échelle peut aussi avoir une valeur qui varie en fonction de la distance au centre de l'image.
Selon une variante préférentielle, le facteur d'échelle est différent pour les différentes composantes de l'image traitée. Par exemple, le facteur d'échelle est le double pour chaque composante de chrominance de ce qu'ell
divise la résolution des composantes de chrominance d'un facteur de deux dans chaque direction, en donnant à chaque composante de chaque pixel de
l'image de plus faible résolution la valeur moyenne de la composante correspondante de quatre pixels de l'image initiale. Ce facteur est transmis dans l'en-tête sous la forme du ratio susmentionné.
Conjointement, le nombre de données initiales utilisées pour la reconstruction de la composante de luminance est, dans chaque direction, le double de ce qu'il est pour chacune des composantes de chrominance. En effet, il est courant que la complexité des composantes de chrominance soit moindre que celle de la composante de luminance, d'une part et que cette complexité soit moins perçue par l'oeil humain.
En combinaison avec cette variante, le dispositif de traitement primaire est adapté à effectuer, avant les opérations illustrées en figure 7, un filtrage des composantes de chrominance afin de diviser par deux leur résolution dans chaque direction de l'image.
Selon une variante non représentée, chaque sous-ensemble élémentaire est associé à deux sous-ensembles de travail, deux paramètres multiplicatifs et un coefficient additif caractérisant l'application multilinéaire des deux sous-ensembles de travail dans le sous-ensemble élémentaire considéré.
Préférentiellement, les deux sous-ensembles de travail recouvrent le sousensemble élémentaire.
Dans cette variante, et conformément à des considérations exposées supra concernant le choix restreint de valeurs des paramètres multiplicatifs, les valeurs possibles de chaque paramètre multiplicatif sont +1/2 et -1/2.
Selon une autre variante non représentée, le dispositif de traitement primaire de données primaires:
- effectue, au cours de l'opération 910 (figure 6), I'initialisation de la liste des seize 4-uples de paramètres donnés par la table 1, supra,
- effectue, à la place de l'opération 914, une opération de retrait du groupe de valeurs de paramètre, ici (1/4,1/4,1/4,1/4), de la liste des seize 4-uples possibles et on réitère les successions des opérations 911 à 917, avec la nouvelle table ainsi constituée des 15 derniers 4-uples de la table 1.
Le deuxième groupe de paramètres prédéterminé qui remplace le premier groupe de paramètres lorsque celui-ci est égal à un premier groupe de valeurs prédéterminé est, selon cette variante, celui qui, parmi les 15 4-uples testés , minimise la valeur de la distorsion. Cette variante présente l'avantage de mieux représenter les données primaires et l'inconvénient d'être plus lente que le procédé illustré en regard de la figure 6.
Selon une variante non représentée, les données relatives à l'image initiale sont divisées, c'est-à-dire que l'image est découpée en une pluralité de sous images élémentaires (appelées "domain blocks"). On génère ensuite un dictionnaire ordonné d'un ensemble de sous images de référence (appelées "range blocks") constituées à partir de portions d'image de taille prédéterminée ayant subi un certain nombre d'opérations prédéterminées telles que rotation et retournement selon divers axes de symétrie.
Ensuite, pour chaque sous-image élémentaire, on procède à une comparaison avec l'ensemble des sous images de référence du dictionnaire et on sélectionne dans le dictionnaire la sous image de référence la plus similaire à la sous image élémentaire considérée. Un premier paramètre sert ici à déterminer quelle sous-image de référence a été sélectionnée. Eventuellement, un deuxième paramètre fournit un coefficient multiplicatif appliqué aux valeurs des données du sous-ensemble de travail. Eventuellement, un troisième paramètre fournit un coefficient additif à appliquer aux mêmes valeurs. Ces informations paramétriques constituent des données secondaires représentatives des données primaires. Ce procédé est communément appelée compression d'image fractale.
Pour réaliser, à partir desdites informations paramétriques, la restitution de l'image initiale, le procédé et le dispositif décrits dans ce document, effectuent les opérations suivantes : à partir d'une image arbitraire de départ, on procède à des étapes similaires à celles ci-dessus, c'est-à-dire que l'on partition ne l'image arbitraire de départ et que l'on constitue un dictionnaire à partir des sous-images élémentaires de celle-ci. Toutefois, le dictionnaire n'est constitué que de façon partielle en n'effectuant pour chaque sous image que l'opération prédéterminée correspondant à l'adresse concernée du dictionnaire pour la position de la sous-image considérée.
Les données ainsi obtenues sont utilisées pour réitérer ce processus jusqu'à ce que la différence entre deux images consécutivement obtenues soit inférieure à un seuil prédéterminé. L'image obtenue en dernier lieu est alors une approximation de l'image initiale.
Conformément à la présente invention, au cours de la compression d'image, lorsque le groupe de paramètres est égal à un premier groupe de valeurs prédéterminées, on remplace au moins un paramètre dudit groupe de paramètres par une deuxième valeur prédéterminée. Le premier groupe de valeurs prédéterminé correspond à une convergence trop lente de l'approximation successive ou à une convergence dont le point fixe dépend de l'ensemble de données initiale sur lequel est mis en oeuvre la méthode d'approximation successive.
A titre d'exemple, lorsque le coefficient multiplicatif possède une valeur absolue égale à "i " et que le coefficient additif est égal à "O", on remplace le groupe de paramètre par un autre groupe de paramètre en interdisant la sélection de la même sous image de référence.
Ensuite, pour chaque sous-image élémentaire, on procède à une comparaison avec l'ensemble des sous images de référence du dictionnaire, à l'exception de celle qui a été exclue, et on sélectionne la sous image de référence la plus similaire à la sous image élémentaire considérée. Un nouveau premier paramètre sert à déterminer quelle sous-image de référence a été sélectionnée. Eventuellement, un nouveau deuxième paramètre fournit un coefficient multiplicatif appliqué aux valeurs des données du sous-ensemble de travail. Eventuellement, un nouveau troisième paramètre fournit un coefficient additif à appliquer aux mêmes valeurs.
L'opération de remplacement est alors réitérée si le groupe de paramètre est, de nouveau, égal au premier groupe de valeurs prédéterminé.
Selon une dernière variante non représentée, les dimensions des sous-ensembles de travail sont égales aux dimensions des sous-ensembles élémentaires.
Bien entendu la présente invention ne se limite nullement aux modes de réalisation choisis et représentés mais englobe, bien au contraire, toutes variantes à la portée de l'homme du métier.

Claims (37)

REVENDICATIONS
1. Procédé de traitement primaire d'un ensemble de données dites " primaires " représentatives de grandeurs physiques pour déterminer un ensemble de données dites "secondaires" représentatives des données primaires, procédé caractérisé en ce qu'il comporte:
- une étape de partition (204) de l'ensemble de données primaires en sous-ensembles dits " élémentaires "(K1);
- une étape de détermination (911 à 917), pour chaque sousensemble élémentaire, d'un groupe d'au moins un paramètre (ad d'une application dans ledit sous-ensemble élémentaire, l'ensemble desdits groupes de paramètres permettant la mise en oeuvre d'une méthode d'approximations successives convergeant vers le point fixe de l'ensemble des applications associées aux sous-ensembles élémentaires, et
- une étape de remplacement (914, 919, 920), au cours de laquelle, lorsque, pour un sous-ensemble élémentaire, le groupe de paramètres est égal à un premier groupe de valeurs prédéterminées, on remplace au moins un paramètre dudit groupe de paramètres par une deuxième valeur prédéterminée, les valeurs de paramètres ainsi déterminés constituant des valeurs secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.
2. Procédé de traitement primaire selon la revendication 1, caractérisé en ce qu'il comporte:
- pour chaque sousensemble élémentaire (ksi), une étape de détermination (250, 259) d'au moins deux sous-ensembles dits "de travail " (lui) de l'ensemble de données primaires, associés, chacun1 de manière prédéterminée, audit sous-ensemble élémentaire;
- pour chaque sous-ensemble élémentaire, une opération de sélection (915 à 917) d'un groupe de paramètres (ai), parmi un ensemble prédéterminé de groupes de paramètres, au cours de laquelle:
e on détermine pour chaque groupe de paramètres dudit
ensemble prédéterminé, la valeur d'un critère de
sélection " (D) d'une combinaison paramètrée des sous
ensembles de travail associés audit sous-ensemble
élémentaire, chaque sous-ensemble de travail étant
associé, par ladite combinaison, à au moins un dit
paramètre dudit groupe de paramètres, et
. on sélectionne le groupe de paramètres qui optimise la
valeur dudit critère de sélection, les valeurs de paramètres qui optimisent la valeur du critère de sélection constituant des données secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.
3. Procédé de traitement primaire selon la revendication 2, caractérisé en ce qu'il comporte une opération de détermination (913, 914) d'au moins un paramètre calculé (b) représentatif d'une différence entre l'image de ladite application et les données du sous-ensemble élémentaire (K1).
4. Procédé de traitement primaire selon l'une quelconque des revendications 2 ou 3, caractérisé en ce que ladite application est une application multilinéaire des sous-ensembles de travail (Li) associés à un sousensemble élémentaire (K1) dans celui-ci.
5. Procédé de traitement primaire selon la revendication 4, caractérisé en ce que les paramètres (a1) associés aux sous-ensembles élémentaires (K1) sont des coefficients de l'application multilinéaire.
6. Procédé de traitement primaire selon l'une quelconque des revendications 2 à 5, caractérisé en ce que chaque donnée d'un sousensemble élémentaire (K1) est associée, par ladite application, à au moins une donnée de chaque sous-ensemble de travail (lui) associé audit sous-ensemble élémentaire.
7. Procédé de traitement primaire selon l'une quelconque des revendications 2 à 6, caractérisé en ce que le nombre de données des sousensembles de travail (L) associés à chaque sous-ensemble élémentaire (K1) est supérieur au nombre de données dudit sous-ensemble élémentaire.
8. Procédé de traitement primaire selon l'une quelconque des revendications 1 à 7, caractérisé en ce que, au cours de l'opération de sélection (915 à 917), on met en oeuvre, comme ensemble prédéterminé de groupes de paramètres (a,), des groupes de multiples entiers d'une deuxième valeur prédéterminée.
9. Procédé de traitement primaire selon l'une quelconque des revendications 2 à 8, caractérisé en ce que, au cours de l'opération de sélection (915 à 917), on met en oeuvre, des paramètres binaires, c'est-à-dire susceptibles de ne prendre que deux valeurs.
10. Procédé de traitement primaire selon la revendication 9, caractérisé en ce que les paramètres sont susceptibles de prendre comme valeur d'une part la valeur inverse du nombre de sous-ensembles de travail (lui) associés à chaque sous-ensemble élémentaire (K1) et, d'autre part, I'opposé de cet inverse.
11. Procédé de traitement primaire selon l'une quelconque des revendications 2 à 10, caractérisé en ce que, au cours de l'opération de sélection (914 à 917), on met en oeuvre un critère de sélection (D) dont la valeur est une fonction de l'écart quadratique moyen des différences entre les données primaires du sous-ensemble élémentaire (K,) et les données résultant de la combinaison des sous-ensembles de travail (L,).
12. Procédé de traitement primaire selon l'une quelconque des revendications 1 à 11, caractérisé en ce que:
- il met en oeuvre une dimension de sous-ensembles élémentaires dite " minimale "et
- il comporte, pour chaque sous-ensemble élémentaire (K,) qui ne possède pas ladite dimension minimale, au moins une itération d'une séquence d'étapes comportant:
. une étape d'estimation d'opportunité de division (252 à
254, 262) au cours de laquelle on estime une opportunité
de division dudit sous-ensemble élémentaire, et
. lorsque l'estimation d'opportunité ne répond pas à des
critères prédéterminés dits "de complexité", une étape de
partition complémentaire (256) dudit sous-ensemble en
sous ensembles élémentaires.
13. Procédé de traitement primaire selon la revendication 12, caractérisé en ce que les paramètres sélectionnés associés aux sousensembles élémentaires (K,) pour lesquels l'estimation d'opportunité ne répond pas auxdits critères prédéterminés de complexité constituent des valeurs secondaires.
14. Procédé de traitement primaire selon la revendication 12, caractérisé en ce que les paramètres sélectionnés associés aux sousensembles élémentaire (K,) pour lesquels l'estimation d'opportunité ne répond auxdits critères prédéterminés de complexité ne constituent pas des valeurs secondaires.
15. Procédé de traitement primaire selon l'une quelconque des revendications 12 à 14, caractérisé en ce que ledit critère de complexité opportunité prend en compte la dimension dudit sous-ensemble élémentaire.
16. Procédé de traitement primaire selon l'une quelconque des revendications 12 à 15, caractérisé en ce qu'à chaque étape de partition complémentaire (256), on génère une information dite "de partition", ladite information constituant une donnée secondaire représentative de l'ensemble du sous-ensemble élémentaire de données primaires (K1).
17. Procédé de traitement primaire selon l'une quelconque des revendications 1 à 16, caractérisé en ce qu'il comporte:
- une étape dite "de division d'ensemble " (200D à 202) au cours de laquelle on divise l'ensemble de données primaires en sous-ensembles de données primaires, et
- on applique les étapes de partition (204), de détermination de groupe de paramètres (911 à 917) et de remplacement (914, 919, 920) successivement à chacun desdits sous-ensembles (Kj) de données primaires.
18. Procédé de traitement primaire d'au moins deux ensembles de données primaires représentatives de grandeurs physiques, caractérisé en ce que:
- il met en oeuvre, pour chaque ensemble de données primaires, les étapes d'un procédé de traitement primaire selon l'une quelconque des revendications 1à17, et
- il comporte une étape d'organisation (209A, 209B) d'un fichier informatique (900) comportant des données secondaires représentatives de chaque ensemble de données primaires.
19. Dispositif de traitement primaire d'un ensemble de données dites "primaires" représentatives de grandeurs physiques pour déterminer un ensemble de données dites "secondaires" représentatives des données primaires, dispositif caractérisé en ce qu'il comporte:
- une entrée de données primaires (591)
- un moyen de partition (510, 530, 550) de l'ensemble de données primaires en sous-ensembles dits n élémentaires " ;
- des moyens de calcul (510, 530, 550) adaptés:
à à déterminer (911 à 917), pour chaque sous-ensemble
élémentaire, un groupe d'au moins un paramètre d'une
application dans ledit sous-ensemble élémentaire,
L'ensemble desdits groupes de paramètres permettant la
mise en oeuvre d'une méthode d'approximations
successives convergeant vers le point fixe de l'ensemble
des applications associées aux sous-ensembles
élémentaires, et
à à remplacer (914, 919, 920) au moins un paramètre dudit
groupe de paramètres par une deuxième valeur
prédéterminée, lorsque, pour un sous-ensemble
élémentaire, le groupe de paramètres est égal à un
premier groupe de valeurs prédéterminées, les valeurs de paramètres ainsi déterminés constituant des valeurs secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.
20. Dispositif de traitement primaire selon la revendication 19, caractérisé en ce que les moyens de calcul sont adaptés pour chaque sousensemble élémentaire (Kj):
- à déterminer (250, 259) au moins deux sous-ensembles dits "de travail " (li) de l'ensemble de données primaires, associés, chacun, de manière prédéterminée, audit sous-ensemble élémentaire;
- à sélectionner (915 à 917) un groupe de paramètres (aj), parmi un ensemble prédéterminé de groupes de paramètres,
o en déterminant pour chaque groupe de paramètres dudit
ensemble prédéterminé, la valeur d'un critère de
" sélection " (D) d'une combinaison paramétrée des sous
ensembles de travail associés audit sous-ensemble
élémentaire, chaque sous-ensemble de travail étant
associé, par ladite combinaison, à au moins un dit
paramètre dudit groupe de paramètres, et
o en sélectionnant le groupe de paramètres qui optimise la
valeur dudit critère de sélection, les valeurs de paramètres qui optimisent la valeur du critère de sélection constituant des données secondaires représentatives des données primaires du sous-ensemble élémentaire considéré.
21. Dispositif de traitement primaire selon la revendication 20, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à déterminer au moins un paramètre dit "calculé" (b) représentatif d'une différence entre l'image de ladite application et les données du sous-ensemble élémentaire (K1).
22. Dispositif de traitement primaire selon l'une quelconque des revendications 20 ou 21, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à ce que ladite application soit une application multilinéaire des sous-ensembles de travail (lui) associés à un sous-ensemble élémentaire (K,) dans oelui-ci.
23. Dispositif de traitement primaire selon la revendication 22, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à ce que les paramètres (a1) associés aux sous-ensembles élémentaires (K1) sont des coefficients de l'application multilinéaire.
24. Dispositif de traitement primaire selon l'une quelconque des revendications 20 à 23, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à ce que chaque donnée d'un sous-ensemble élémentaire (K,) soit associée, par ladite application, à au moins une donnée de chaque sous-ensemble de travail (lui) associé audit sous-ensemble élémentaire.
25. Dispositif de traitement primaire selon l'une quelconque des revendications 20 à 24, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à ce que le nombre de données des sous-ensembles de travail (lui) associés à chaque sous-ensemble élémentaire (K1) soit supérieur au nombre de données dudit sous-ensemble élémentaire.
26. Dispositif de traitement primaire selon l'une quelconque des revendications 19 à 25, caractérisé en ce que, les moyens de calcul (510, 530, 550) sont adaptés, pour sélectionner un groupe de paramètres (a1) parmi un ensemble de groupes de paramètres, à mettre en oeuvre, comme ensemble prédéterminé de groupes de paramètres, des groupes de multiples entiers d'une deuxième valeur prédéterminée.
27. Dispositif de traitement primaire selon l'une quelconque des revendications 20 à 26, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés, pour sélectionner un groupe de paramètres (ai) parmi un ensemble de groupes de paramètres, à mettre en oeuvre, des paramètres binaires, c'est-à-dire susceptibles de ne prendre que deux valeurs.
28. Dispositif de traitement primaire selon la revendication 26, caractérisé en ce que lesdites valeurs binaires sont susceptibles de prendre comme valeur d'une part la valeur inverse du nombre de sous-ensembles de travail (lui) associés à chaque sous-ensemble élémentaire (ksi) et, d'autre part,
I'opposé de cet inverse.
29. Dispositif de traitement primaire selon l'une quelconque des revendications 20 à 28, caractérisé en ce que, pour sélectionner le groupe de paramètre, les moyens de calcul (510, 530, 550) sont adaptés à mettre en oeuvre un critère de sélection (D) dont la valeur est une fonction de l'écart quadratique moyen des différences entre les données primaires du sousensemble élémentaire (ksi) et les données résultant de la combinaison des sous-ensembles de travail (Li).
30. Dispositif de traitement primaire selon l'une quelconque des revendications 19 à 29, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés:
- à mettre en oeuvre une dimension de sous-ensembles élémentaires dite " minimale " et
- pour chaque sous-ensemble élémentaire (ksi) qui ne possède pas ladite dimension minimale, à effectuer au moins une itération d'une séquence d'étapes comportant
o une étape d'estimation d'opportunité de division (252 à
254, 262) au cours de laquelle on estime une opportunité
de division dudit sous-ensemble élémentaire, et
o lorsque l'estimation d'opportunité ne répond pas à des
critères prédéterminés dits "de complexité", une étape de
"partition complémentaire" (256) dudit sous-ensemble en
sous ensembles élémentaires.
31. Dispositif de traitement primaire selon la revendication 30, caractérisé en ce que les paramètres (ai) sélectionnés associés aux sousensembles élémentaires (Ki) pour lesquels l'estimation d'opportunité ne répond pas auxdits critères prédéterminés d'opportunité constituent des valeurs secondaires.
32. Dispositif de traitement primaire selon la revendication 30, caractérisé en ce que les paramètres sélectionnés associés aux sousensembles élémentaire pour lesquels l'estimation d'opportunité répond auxdits critères prédéterminés d'opportunité ne constituent pas des valeurs secondaires.
33. Dispositif de traitement primaire selon l'une quelconque des revendications 30 à 32, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés à ce que ledit critère de complexité prenne en compte la dimension dudit sous-ensemble élémentaire.
34. Dispositif de traitement primaire selon l'une quelconque des revendications 30 à 33, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés, à chaque partition complémentaire (256), à générer une information dite "de partition", ladite information constituant une donnée secondaire représentative de l'ensemble de données primaires.
35. Dispositif de traitement primaire selon l'une quelconque des revendications 19 à 34, caractérisé en ce que les moyens de calcul (510, 530, 550) sont adaptés:
- à diviser l'ensemble de données primaires en sous-ensembles de données primaires, et
- à déterminer un groupe de paramètres (ai) et, éventuellement à remplacer au moins un paramètres, successivement pour chacun desdits sousensembles de données primaires.
36. Dispositif de traitement primaire d'au moins deux ensembles de données primaires représentatives de grandeurs physiques, caractérisé en ce qu'il comporte un dispositif de traitement primaire selon l'une quelconque des revendications 19 à 35, et un moyen d'organisation (510, 530, 550, 209A, 209B) d'un fichier informatique (900) comportant des données secondaires représentatives de chaque ensemble de données primaires.
37. Dispositif de traitement primaire selon l'une quelconque des revendications 19 à 36, caractérisé en ce que les moyens de calcul (510, 530, 550) comportent un processeur (550) et au moins une mémoire (510, 530).
FR9711809A 1997-09-23 1997-09-23 Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images Expired - Fee Related FR2768889B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9711809A FR2768889B1 (fr) 1997-09-23 1997-09-23 Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9711809A FR2768889B1 (fr) 1997-09-23 1997-09-23 Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images

Publications (2)

Publication Number Publication Date
FR2768889A1 true FR2768889A1 (fr) 1999-03-26
FR2768889B1 FR2768889B1 (fr) 1999-12-17

Family

ID=9511361

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9711809A Expired - Fee Related FR2768889B1 (fr) 1997-09-23 1997-09-23 Dispositif et procede de traitement d'un ensemble de donnees et notamment de compression et de decompression de donnees d'images

Country Status (1)

Country Link
FR (1) FR2768889B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991000666A2 (fr) * 1989-07-05 1991-01-10 Barnsley Michael F Procede et appareil de traitement de donnees numeriques
WO1993017519A1 (fr) * 1992-02-28 1993-09-02 British Technology Group Ltd Codage fractionne de donnees

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991000666A2 (fr) * 1989-07-05 1991-01-10 Barnsley Michael F Procede et appareil de traitement de donnees numeriques
US5065447A (en) * 1989-07-05 1991-11-12 Iterated Systems, Inc. Method and apparatus for processing digital data
WO1993017519A1 (fr) * 1992-02-28 1993-09-02 British Technology Group Ltd Codage fractionne de donnees

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GUOJUN LU: "FRACTAL IMAGE COMPRESSION", SIGNAL PROCESSING. IMAGE COMMUNICATION, vol. 5, no. 4, 1 October 1993 (1993-10-01), pages 327 - 343, XP000398937 *
JACQUIN A E: "FRACTAL IMAGE CODING: A REVIEW", PROCEEDINGS OF THE IEEE, vol. 81, no. 10, 1 October 1993 (1993-10-01), pages 1451 - 1465, XP000418796 *

Also Published As

Publication number Publication date
FR2768889B1 (fr) 1999-12-17

Similar Documents

Publication Publication Date Title
EP0492702B1 (fr) Dispositif de correlation
EP0588422B1 (fr) Analyseur et synthétiseur de textures
WO2009022083A2 (fr) Procede de traitement d&#39;objet numerique et systeme associe
WO2001099052A1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
EP2768339A2 (fr) Methode de simulation d&#39;une chevelure a colorimetrie variable et dispositif pour la mise en oeuvre de la methode
FR2889382A1 (fr) Procede et dispositif de filtrage d&#39;un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes
WO2007071884A2 (fr) Procede pour traiter un objet dans une plateforme a processeur(s) et memoire(s) et plateforme utilisant le procede
EP0276603B1 (fr) Procédés de codage et de transmission d&#39;un signal numérique, par rafraichissement temporel sélectif d&#39;un quantificateur vectoriel
EP4162448A1 (fr) Procédé et dispositif de reconstruction tridimensionnelle d&#39;un visage avec partie dentée à partir d&#39;une seule image
FR2684829A1 (fr) Methodes de synthese de signaux de texture et de transmission et/ou stockage de tels signaux, ainsi que dispositifs et systemes pour leur mise en óoeuvre.
FR2768889A1 (fr) Dispositif et procede de traitement d&#39;un ensemble de donnees et notamment de compression et de decompression de donnees d&#39;images
FR2768888A1 (fr) Dispositif et procede de traitement d&#39;un ensemble de donnees et notamment de compression et de decompression de donnees d&#39;images
FR2933520A1 (fr) Procede et dispositif de restauration d&#39;une sequence video
EP3918576A1 (fr) Procédé dynamique d&#39;imagerie tridimensionnelle
FR2767998A1 (fr) Procedes et dispositifs de traitement de donnees et notamment de compression et de decompression d&#39;images
FR2761552A1 (fr) Procedes et dispositifs de traitement d&#39;un ensemble de donnees et notamment de compression et de decompression de donnees d&#39;images
FR2761554A1 (fr) Procedes et dispositifs de traitement d&#39;un ensemble de donnees et notamment de compression et de decompression de donnees d&#39;images
WO2021123617A1 (fr) Procede d&#39;encodage d&#39;une image numerique en vue de sa compression
FR3083662A1 (fr) Compression et decompression robustes d&#39;images numeriques
FR2767999A1 (fr) Procedes et dispositifs de traitement de donnees et notamment de compression et de decompression d&#39;images
FR2768000A1 (fr) Procedes et dispositifs de traitement de donnees et notamment de compression et de decompression d&#39;images
BE1021546B1 (fr) Procede et systeme pour le stockage de donnees de forme d&#39;onde.
FR2761553A1 (fr) Procedes et dispositifs de traitement d&#39;un ensemble de donnees et notamment de compression et de decompression de donnees d&#39;images
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d&#39;un signal numerique d&#39;image
EP0524871B1 (fr) Un procédé de codage de signaux hybride adaptatif

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140530