Brevet FR2927486A1 — publié le 20090814

La présente invention concerne un procédé et un système de codage ou de décodage d'un histogramme représentant la distribution de données d'un signal, ainsi qu'un procédé et un système de codage d'un tel signal, représentant par exemple d'une image numérique. Le codage statistique est largement employé dans le domaine du traitement du signal afin d'offrir un codage efficace sans perte de signaux numériques, notamment d'images ou vidéos numériques. En pratique, ce codage repose sur la connaissance au préalable du nombre des occurrences des différents symboles d'un ensemble de données représentant le signal numérique à coder. Ces symboles peuvent être par exemple directement les pixels d'une image ou des coefficients calculés après transformation de cette image. Cette répartition d'occurrences, ou statistique d'un signal, définit un histogramme que l'on utilise pour, par exemple, paramétrer ou construire un encodeur ad hoc. Le codage statistique s'appuie alors sur cet histogramme pour encoder les symboles apparaissant le plus souvent avec moins de bits que ceux qui sont moins fréquents. Un codage statistique largement répandu est le codage de Huffman s'appuyant sur la construction d'un arbre de codage. Lorsqu'un codage statistique est utilisé, notamment en vue d'un mécanisme de compression de signal, l'histogramme définissant la statistique des symboles doit être transmis avec le signal codé ou compressé. On a donc cherché à compresser également ce signal d'histogramme. Notamment, on connaît du document US 6 956 973 une méthode de compression d'un histogramme de niveaux d'intensité de pixel dans une image. Selon cette méthode, on tient compte du nombre de niveaux d'intensité présents dans l'ensemble de l'image pour adapter le nombre de bits utiles pour représenter chacun des niveaux de pixel, par exemple cinq bits pour 29 niveaux d'intensité. Afin de décharger les médiums de stockage et de transmission, il convient de fournir un codage de l'histogramme plus efficace. L'invention vise à résoudre l'inconvénient mentionné ci-dessus en proposant un codage qui tient compte de l'histogramme afin de choisir entre un codage direct de celui-ci et un codage par le biais d'un modèle prédéfini. A cet effet, l'invention vise notamment un procédé de codage d'un premier signal représentant un histogramme de valeurs numériques, comprenant une étape de sélection, à partir d'au moins un critère dépendant dudit histogramme, d'un type de codage parmi au moins un premier type comprenant le codage de chacune des occurrences associées aux valeurs numériques, et un deuxième type comprenant la substitution dudit histogramme par une information d'identification d'un histogramme prédéfini choisi parmi une pluralité d'histogrammes prédéfinis; et une étape de codage dudit premier signal d'histogramme en fonction dudit type de codage sélectionné. La substitution peut être accompagnée d'un codage à proprement parler de ladite information d'identification, par exemple sur un nombre prédéterminé de bits. Les valeurs numériques peuvent s'appliquer à tout type de symbole, non nécessairement un caractère d'un texte ou un pixel. Ainsi, la nature même de l'histogramme guide le codage entre un codage adapté à l'aide d'un modèle, notamment si ce dernier correspond de façon proche avec l'histogramme, et un codage plus classique dans le cas inverse. Ce codage d'histogramme est notamment utilisé dans le codage d'un signal numérique, en particulier un signal d'image, où le signal est divisé en blocs, et un histogramme représentant une distribution de ce signal d'image est codé par bloc. Ainsi, dans un mode de réalisation, ledit histogramme est représentatif de la statistique (ou distribution) d'une pluralité de valeurs numériques d'un second signal, ladite sélection comprend la sélection d'un type de codage minimisant le coût de codage global dudit second signal. On entend par codage global le codage de l'ensemble des informations nécessaires au décodage du signal considéré par un décodeur ad hoc. Par exemple, ce codage global peut recouvrir le codage d'un signal d'image et d'un signal d'histogramme représentant la distribution de l'image. Ainsi, on effectue une simple comparaison de coûts de codage calculés au préalable comme il sera décrit plus en détail ci-après. On note que le second signal peut représenter tout type d'informations numériques, par exemple une image, un bloc à l'intérieur d'une telle image. Notamment, le coût de codage d'un type peut être vu comme la somme du coût binaire de codage d'informations représentatives dudit histogramme et du coût binaire de codage dudit second signal à partir de l'histogramme ou modèle d'histogramme associé audit type de codage sélectionné. Ainsi, on calcule le coût de codage global de chacun des types, dans lesquels ledit coût de codage d'un type comprenant le coût de codage des informations d'histogramme (par exemple soit le coût de codage de l'ensemble des occurrences pour le premier type, soit le coût lié à la présence de l'information d'identification pour le second type) et le coût de codage des valeurs numériques du second signal en fonction de l'histogramme associé au type de codage sélectionné, c'est-à-dire l'histogramme d'origine pour le premier type et l'histogramme prédéfini choisi pour le second type. On tient ainsi compte du coût total induit par le choix effectué, le type de codage sélectionné étant, par conséquent, celui qui tend à minimiser le coût total. En particulier, on peut prévoir d'effectuer sensiblement en parallèle le calcul du coût de codage global du premier type et le calcul du coût de codage global du deuxième type. C'est-à-dire que des opérations de calcul pour le premier type chevauchent dans le temps au moins certaines opérations de calcul pour le deuxième type. Dans un mode de réalisation, le coût de codage global des valeurs numériques du second signal à l'aide de l'histogramme associé audit premier type comprend l'entropie dudit second signal. Cette réalisation permet d'estimer rapidement et aisément un coût a priori du codage du second signal sans une approche échantillon par échantillon de ce second signal. Selon une alternative, le calcul du coût de codage des valeurs numériques du second signal à l'aide de l'histogramme associé au type sélectionné comprend le calcul du débit associé au codage entropique dudit second signal sur la base dudit histogramme associé au type sélectionné. Dans cette alternative, on adopte une approche échantillon par échantillon en déterminant le coût de codage entropique de chacun de ces échantillons. Dans un mode de réalisation, le codage de premier type dudit signal d'histogramme comprend le codage entropique des occurrences dudit histogramme. En alternative, le codage de premier type dudit signal d'histogramme comprend le codage binaire direct des occurrences dudit histogramme sur un nombre de bits prédéterminé. Quel que soit le cas envisagé, on prévoira de coder les valeurs numériques associées, par exemple par l'enregistrement préalable de la dynamique des valeurs, c'est-à-dire les valeurs minimale et maximale. Dans un mode de réalisation, on calcule le coût de codage global associé audit deuxième type, ce calcul comprenant, préalablement à ladite étape de sélection, la simulation du codage du second signal pour chacun desdits histogrammes prédéfinis. En particulier, ledit histogramme prédéfini choisi comprend l'histogramme, parmi ladite pluralité, le plus proche de l'histogramme représenté par ledit premier signal. En pratique, on peut déterminer l'histogramme qui minimise une norme de distance entre les deux histogrammes. En particulier, on détermine ledit histogramme prédéfini choisi comme étant celui qui, parmi ladite pluralité, minimise le coût de codage des valeurs numériques dudit second signal. Dans un mode de réalisation, ladite pluralité d'histogrammes prédéfinis comprend un modèle de gaussienne généralisée paramétré sur un nombre fini de valeurs. En particulier, ladite information correspondant à un histogramme prédéfini peut comprendre un identifiant d'un modèle et au moins un paramètre appliqué audit modèle. Grâce à ces dispositions, on peut démultiplier le nombre de modèles disponibles. En outre, la transmission d'un paramètre associé au modèle permet d'éviter la connaissance a priori, par les décodeurs, des différents histogrammes prédéfinis associés au modèle prévu. On obtient ainsi une reconfiguration dynamique au niveau du décodeur. Dans un mode de réalisation, on ajoute au signal codé une information représentative dudit type de codage sélectionné. Cette information peut notamment être un simple bit renseignant l'un ou l'autre des types sélectionnés. Grâce à cette disposition, il sera aisé au décodage de connaître le type de codage utilisé en amont. Dans un mode de réalisation, on prévoit également que le codage dudit second signal comprend le codage entropique des valeurs numériques du second signal à partir dudit histogramme associé au type de codage sélectionné. Il est également envisagé d'ajouter au signal codé les valeurs de dynamique dudit second signal, c'est-à-dire les valeurs minimale et maximale desdites valeurs numériques du second signal. Ces éléments permettent notamment au niveau du décodage de retrouver l'amplitude des valeurs à décoder. Généralement cette dynamique fait partie des informations de codage de l'histogramme. Enfin, on envisage également l'ajout d'une indication, type drapeau, indiquant que l'ensemble des valeurs numériques dudit second signal a une valeur nulle ou non. Cette indication permet un codage et un décodage simple du second signal, par exemple en cas de bloc image nul. L'invention a également trait à un système de codage d'un premier signal représentant un histogramme de valeurs numériques, comprenant un moyen de sélection, à partir d'au moins un critère dépendant dudit histogramme, d'un type de codage parmi au moins un premier type comprenant le codage de chacune des occurrences associées aux valeurs numériques, et un deuxième type comprenant la substitution dudit histogramme par une information d'identification d'un histogramme prédéfini choisi parmi une pluralité d'histogrammes prédéfinis; et un moyen de codage dudit premier signal d'histogramme en fonction dudit type de codage sélectionné. Dans un mode de réalisation, ledit système de codage comprend des moyens de stockage d'une pluralité d'histogrammes prédéfinis. En particulier, lesdits moyens de stockage comprennent au moins un modèle d'histogramme, par exemple de type gaussienne généralisée, et un ensemble fini de paramètres dudit modèle de sorte à définir ladite pluralité d'histogrammes prédéfinis. Dans un mode de réalisation, ledit moyen de codage comprend un codeur entropique agencé pour être construit à l'aide de l'histogramme associé audit type de codage sélectionné. De façon optionnelle, le dispositif peut comprendre des moyens se rapportant aux caractéristiques du procédé de codage exposé précédemment. L'invention vise également un procédé de décodage d'un signal codé, comprenant une étape de détermination d'au moins une information contenue dans ledit signal codé et représentative d'un type de codage, et une étape de décodage d'au moins une partie du signal codé en fonction de ladite information, ledit décodage comprenant: lorsque ladite information correspond à un premier type de codage, le décodage d'une pluralité de données codées représentant chacune une occurrence associée à des valeurs numériques d'un histogramme de sorte à former un histogramme décodé; et lorsque ladite information correspond à un deuxième type de codage, la lecture, et éventuellement le décodage, d'une deuxième information contenue dans ledit signal codé et identifiant un histogramme prédéfini parmi une pluralité d'histogrammes prédéfinis, de sorte à former un histogramme décodé. En particulier, ledit décodage comprend la lecture et le décodage, dans le signal codé, d'une valeur minimale et d'une valeur maximale définissant la dynamique de valeurs numériques représentées par ledit histogramme. Il peut s'agir d'un simple décodage binaire direct desdites valeurs de dynamique. Dans un mode de réalisation, ledit histogramme décodé est représentatif de la statistique (ou distribution) d'une pluralité de valeurs numériques d'un signal de données, et le procédé comprend, en outre, le décodage d'au moins une partie du signal codé à l'aide dudit histogramme décodé de sorte à former un signal décodé de données. En particulier, ledit décodage du signal codé à l'aide de l'histogramme comprend le décodage à l'aide d'un encodeur entropique construit en utilisant la statistique définie par ledit histogramme décodé. L'invention a également trait à un système de décodage d'un signal codé, comprenant un moyen de détermination d'au moins une information contenue dans ledit signal codé et représentative d'un type de codage, et un moyen de décodage d'au moins une partie du signal codé en fonction de ladite information, ledit moyen de décodage étant apte: lorsque ladite information correspond à un premier type de codage, à décoder une pluralité de données codées représentant chacune une occurrence associée à des valeurs numériques d'un histogramme de sorte à former un histogramme décodé; et lorsque ladite information correspond à un deuxième type de codage, à lire, voire décoder, une deuxième information contenue dans ledit signal codé et identifiant un histogramme prédéfini parmi une pluralité d'histogrammes prédéfinis, de sorte à former un histogramme décodé. En particulier, ledit moyen de décodage comprend au moins un modèle d'histogramme, par exemple de type gaussienne généralisée, et un ensemble fini de paramètres dudit modèle de sorte à définir ladite pluralité d'histogrammes prédéfinis. Dans un mode de réalisation, ledit moyen de décodage comprend un codeur entropique agencé pour être construit à l'aide de l'histogramme décodé. De façon optionnelle, le dispositif peut comprendre des moyens se rapportant aux caractéristiques du procédé de décodage exposé précédemment. Comme déjà évoqué ci-dessus, le codage d'histogramme peut s'inscrire dans le procédé de codage d'un signal, par exemple d'image, à partir duquel est formé l'histogramme. Ainsi, l'invention concerne également un procédé de codage d'un signal numérique, comprenant la sélection, à partir d'au moins un critère dépendant d'un histogramme de valeurs numériques dudit signal, d'un type d'histogramme parmi ledit histogramme de valeurs numériques et un deuxième histogramme choisi parmi une pluralité d'histogrammes prédéfinis; et une étape de codage dudit signal en fonction dudit histogramme 15 sélectionné. Un procédé de décodage correspondant, ainsi que des systèmes de codage et de décodage associés peuvent être prévus. Ceux-ci, ainsi que le procédé de codage peuvent comprendre des moyens ou caractéristiques se rapportant aux caractéristiques des procédés et systèmes de codage/décodage 20 d'histogramme exposés précédemment. Un moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprend des instructions pour un programme informatique adapté à mettre en oeuvre le procédé de codage ou décodage conforme à l'invention lorsque ce programme 25 est chargé et exécuté par le système informatique. Un programme d'ordinateur lisible par un microprocesseur, comprend des portions de code logiciel adaptées à mettre en oeuvre le procédé de codage ou décodage conforme à l'invention, lorsqu'il est chargé et exécuté par le microprocesseur. 30 Les moyens de stockage d'information et programme d'ordinateur présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les dessins ci-joints, dans lesquels : - la figure 1 représente un schéma de principe d'un traitement de 5 compression/décompression mettant en oeuvre les procédés objets de l'invention; - la figure 2 montre une configuration matérielle particulière d'un dispositif de traitement d'information apte à une mise en oeuvre du procédé selon l'invention; 10 - la figure 3 représente, sous forme d'un logigramme, un exemple de procédé de codage selon l'invention; et - la figure 4 représente, sous forme d'un logigramme, un exemple de procédé de décodage selon l'invention. 15 La description détaillée qui suit s'appuie notamment sur le traitement d'un signal d'image fixe 10, en particulier d'un bloc de cette image. Bien entendu, l'invention peut s'appliquer à tout type de signal numérique. Elle permet de coder un signal numérique sans perte. 20 En référence à la figure 1, une image originale IO est compressée par un système de compression 2 en vue de son stockage ou sa transmission 4 vers un système de décompression 6. Plus en détail, l'image IO subit successivement des étapes de transformation 10, de quantification 12 et de codage entropique 14 tel que défini 25 par l'objet de l'invention. L'image originale IO est ainsi transformée de façon classique, par exemple par une transformée en ondelettes 10, produisant des sous-bandes de fréquences. Ces sous-bandes sont alors quantifiées 12, par exemple par une quantification scalaire. 30 De façon non nécessaire, on choisit de diviser une sous-bande à traiter en plusieurs blocs. Cette division peut être fixe, c'est-à-dire que la sous- bande est divisée en blocs de taille fixe, ou être adaptative, c'est-à-dire divisée en blocs de tailles différentes voire variables. Les étapes de transformation 10 et de quantification 12 sont classiques et ne sont pas plus développées ici. Chaque bloc de l'image est ensuite codé et décodé de façon indépendante, selon une méthode statistique, ce qui permet d'éviter toute perte d'information. Pour la suite, nous décrirons le codage et décodage d'un unique bloc B, notamment le codage et le décodage entropique. L'image compressée FC en sortie de codage entropique est stockée 10 dans un médium ad hoc ou transmise 4, via un réseau approprié, à destination d'un décompresseur 6. L'image FC stockée ou transmise est alors décompressée par, successivement, un décodage entropique 18, une déquantification 20 et une transformation inverse 22, afin d'obtenir l'image décompressée ID. 15 Les étapes de transformation inverse 22 et de déquantification 20 sont classiques et ne sont pas plus développées ici, tout en gardant à l'esprit qu'elles proposent les mécanismes inverses des étapes de transformation 10 et de quantification 12. L'étape de décodage entropique 18 fait également l'objet de la 20 présente invention et est, à ce titre, développée plus en détail par la suite. En référence à la figure 2, il est maintenant décrit à titre d'exemple une configuration matérielle particulière d'un dispositif de traitement d'information apte à une mise en oeuvre du procédé selon l'invention. 25 Un dispositif de traitement d'information mettant en oeuvre l'invention est par exemple un micro-ordinateur 40, une station de travail, un assistant personnel, ou un téléphone mobile connecté à différents périphériques. Selon encore un autre mode de réalisation de l'invention, le dispositif de traitement d'information se présente sous la forme d'un appareil photographique muni 30 d'une interface de communication pour autoriser une connexion à un réseau. Les périphériques reliés au dispositif de traitement d'information comprennent par exemple une caméra numérique 60, ou un scanner ou tout autre moyen d'acquisition ou de stockage d'images, reliée à une carte graphique d'entrée/sortie (non représentée) et fournissant au dispositif de traitement d'information des données multimédia. Le dispositif 40 comporte un bus de communication 41 auquel sont reliés : - Une unité centrale de traitement CPU 42 se présentant par exemple sous la forme d'un microprocesseur ; - Une mémoire morte 43 dans laquelle peuvent être contenus les programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention ; - Une mémoire vive 44 qui, après la mise sous tension du dispositif 40, contient le code exécutable des programmes de l'invention ainsi que des registres adaptés à enregistrer des variables et paramètres nécessaires à la mise en oeuvre de l'invention ; - Un écran 45 permettant de visualiser des données et/ou de servir d'interface graphique avec l'utilisateur qui peut ainsi interagir avec les programmes de l'invention, à l'aide d'un clavier 46 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 47 ou un crayon optique ; - Un disque dur 48 ou une mémoire de stockage, telle qu'une mémoire de type compact flash, pouvant comporter les programmes de l'invention ainsi que des données utilisées ou produites lors de la mise en oeuvre de l'invention ; - Un lecteur de disquette 49 optionnel, ou un autre lecteur de support de données amovible, adapté à recevoir une disquette 70 et à y lire / écrire des données traitées ou à traiter conformément à l'invention ; et - Une interface de communication 50 reliée au réseau de télécommunications 80, l'interface 50 étant apte à transmettre et à recevoir des données numériques. Dans le cas de données audio, le dispositif 40 est équipé de préférence d'une carte d'entrée/sortie (non représentée) qui est reliée à un microphone 90. Le bus de communication 41 autorise une communication et une interopérabilité entre les différents éléments inclus dans le dispositif 40 ou reliés à celui-ci. La représentation du bus 41 n'est pas limitative et, notamment, l'unité centrale 42 est susceptible de communiquer des instructions à tout élément du dispositif 40 directement ou par l'intermédiaire d'un autre élément du dispositif 40. Les disquettes 42 peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) réinscriptible ou non, un disque ZIP ou une carte mémoire. D'une manière générale, un moyen de stockage d'information, lisible par un micro-ordinateur ou par un microprocesseur, intégré ou non au dispositif de traitement d'information, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention. Le code exécutable permettant au dispositif de traitement d'information la mise en oeuvre de l'invention peut être indifféremment stocké en mémoire morte 43, sur le disque dur 48 ou sur un support numérique amovible tel que par exemple une disquette 70 comme décrite précédemment. Selon une variante, le code exécutable des programmes est reçu par l'intermédiaire du réseau de télécommunications 800, via l'interface 50, pour être stocké dans un des moyens de stockage du dispositif 40 (tel que le disque dur 48 par exemple) avant d'être exécuté. L'unité centrale 42 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes de l'invention, les instructions ou portions de code logiciel étant stockées dans l'un des moyens de stockage précités. Lors de la mise sous tension du dispositif 40, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 48 ou la mémoire morte 43, sont transférés dans la mémoire vive 44 qui contient alors le code exécutable du ou des programmes de l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. On notera également que le dispositif mettant en oeuvre l'invention ou incorporant celle-ci est réalisable aussi sous la forme d'un appareil programmé. Par exemple, un tel dispositif peut alors contenir le code du ou des programmes informatiques sous une forme figée dans un circuit intégré à application spécifique (ASIC). Le dispositif décrit ici et, particulièrement, l'unité centrale 42, sont susceptibles de mettre en oeuvre tout ou partie des traitements décrits en lien avec les figures 1, 3 et 4, pour mettre en oeuvre chaque procédé objet de la présente invention et constituer chaque dispositif objet de la présente invention. On décrit maintenant un exemple de procédé de codage de l'invention en référence à la figure 3. Le bloc B d'image est représenté par une matrice de pixels, chacun des pixels ayant une intensité dans le cas d'images en noir et blanc. L'invention s'étend aisément à des images en couleur dotées, à chaque pixel, d'un triplet, par exemple RVB (Rouge ù Vert ù Bleu). Le codage de la figure 3 est un codage statistique sans perte du bloc B de l'image. A ce titre, le codage s'appuie sur la construction d'un histogramme des valeurs d'intensité prises par l'ensemble des pixels de l'image. Selon l'invention, on propose de coder le signal représentant l'histogramme de valeurs numériques (intensités), ce codage comprenant une étape de sélection, à partir d'au moins un critère dépendant dudit histogramme, d'un type de codage parmi au moins un premier type comprenant le codage de chacune des occurrences associées aux valeurs numériques, et un deuxième type comprenant le codage d'une information correspondant à un histogramme prédéfini parmi une pluralité d'histogrammes prédéfinis; et une étape de codage dudit premier signal d'histogramme en fonction dudit type de codage sélectionné. En détail, à l'étape 100, on construit l'histogramme HO du bloc B en calculant ou comptant les occurrences de chacune des valeurs d'intensités des pixels du bloc. A l'étape 102, on vérifie que le bloc B contient de l'information par la présence d'au moins une valeur d'intensité non nulle. Si tous les échantillons du bloc sont nuls ou si le bloc ne contient aucun échantillon, on écrit, à l'étape 104, une indication correspondant, par exemple un bit mis à "0", dans le fichier FC ou train binaire prévu pour recevoir le signal codé. Le codage de l'histogramme et du bloc B est alors terminé. Si au moins un échantillon est non nul, on écrit, à l'étape 106, une information numérique correspondante, par exemple un bit "1", dans le fichier FC. Dans ce dernier cas, on poursuit à l'étape 108 en écrivant à la suite, dans le fichier FC, la dynamique du signal représentant le bloc B. En pratique, on écrit successivement les valeurs d'intensité minimale MIN et maximale MAX prises par les pixels dans le bloc B. Généralement ces valeurs sont des entiers. De façon classique, on peut écrire ces deux valeurs sur un nombre prédéterminé de bits, connu au codage et au décodage, par exemple le nombre de bits prévu lors de la quantification 12 pour chaque pixel. En variante, on peut utiliser un code à longueur variable pour coder ces données. On passe ensuite à l'étape 110 au cours de laquelle on calcule le débit de codage de l'histogramme HO, c'est-à-dire du codage des occurrences pour l'ensemble des valeurs d'intensités de l'histogramme. Cette étape peut notamment être réalisée en parallèle des étapes précédentes, notamment des étapes 106 et 108. Au cours de cette étape, on calcule le débit que coûterait le codage de la suite des occurrences de l'histogramme. Dans un mode de réalisation, les valeurs d'occurrences pour chaque intensité de pixel sont codées une à une par codage binaire direct sur un nombre N prédéterminé de bits, le nombre N étant à la fois connu du codeur et du décodeur. Il y a MAX-MIN+1 valeurs d'occurrences à coder, soit un coût de codage (repéré HECO) de HO valant HECO=(MAX-MIN+1)*N. En alternative, on peut utiliser un codage entropique des valeurs d'occurrence de l'histogramme, en mettant en oeuvre par exemple le procédé objet de l'invention lorsqu'un grand nombre de valeurs différentes d'occurrences est présent. Dans ce cas, le calcul du coût de codage HECO peut se faire en simulant le codage entropique et en mesurant le nombre de bits nécessaires au codage de l'ensemble de l'histogramme. Disposant du coût de codage HECO de l'histogramme, on passe à l'étape 112 au cours de laquelle on réalise le calcul du débit de codage du bloc B par l'histogramme HO. Au cours de cette étape, on cherche à calculer le débit de codage des échantillons (intensité à chaque pixel) du bloc B lorsque l'histogramme HO est utilisé pour modéliser leur statistique. Dans un mode de réalisation visant à une simplicité et une vitesse de traitement accrues, on estime le coût de codage HICO du bloc B par l'entropie générale des échantillons du bloc B, à savoir HICO=H(B) où H désigne la fonction entropie. En alternative, on utilise un codeur entropique, par exemple un codeur de Huffman ou un codeur arithmétique, pour simuler le codage des échantillons du bloc B à partir de la statistique représentée par HO. On mesure alors le coût binaire introduit par le codage simulé de chacun des échantillons. En sommant tous ces coûts binaires, on obtient le coût de codage HICO du bloc B. On note ici qu'on effectue la simulation à partir du même codeur entropique que celui qui sera utilisé pour l'étape de codage effective (étape 126 introduite plus loin). A la suite de ces étapes ou en parallèle de celles-ci, notamment des étapes 106 à 112, on effectue les étapes suivantes 114 à 118 visant à déterminer les coûts de codage induits par l'utilisation d'un histogramme prédéfini. On dispose à l'étape 114 d'un ensemble d'histogrammes prédéterminés. Ces histogrammes peuvent être, par exemple, issus d'un même modèle ou de plusieurs modèles paramétrés, dans le(s)quel(s) on fait varier le ou les paramètres sur un ensemble fini de valeurs. Par exemple, les histogrammes peuvent être modélisés par des gaussiennes généralisées paramétrées, et ce sont ces paramètres qu'on fait varier sur un nombre fini de valeurs. Ces modèles et paramètres peuvent être connus des deux codeur et décodeur, auquel cas on pourra repérer chacun des histogrammes prédéfinis découlant de ces modèles et paramètres à l'aide d'un index binaire unique. Cet index est par exemple constitué par la concaténation d'un numéro de modèle (lorsqu'il y a plusieurs modèles) et d'un identifiant de paramètres. En variante, afin de permettre une plus grande évolutivité voire adaptabilité des systèmes codeur et décodeur, on peut prévoir d'identifier les histogrammes à l'aide d'un numéro de modèle (lorsqu'il y a plusieurs modèles) accompagné de valeurs des paramètres. On peut ainsi aisément créer dynamiquement l'ensemble fini de valeurs de paramètres et transmettre ces dernières au décodeur. Dans ce cas, on code chacune des valeurs de paramètres sur un nombre prédéterminé de bits. Ainsi, pour chacun des histogrammes prédéfinis, repérés pour la suite G1, G2, ..., Gi, ..., GM, on détermine celui qui minimise le coût de codage du bloc B lorsque le codage s'appuie sur cet histogramme. En pratique, on simule le codage du bloc B à l'aide d'un codeur entropique défini à partir de la statistique correspondant à chacun des histogrammes Gi limités à la dynamique [MIN; MAX] afin de mettre à zéro les occurrences de l'histogramme Gi en dehors de la plage [MIN; MAX] (car aucune valeur hors de cet intervalle ne doit être codée). Comme évoqué précédemment, on calcule alors le coût binaire pour chacun des échantillons codés du bloc B. On dispose, ainsi, pour chacun des histogrammes Gi d'un coût global de codage du bloc B. On choisit alors l'histogramme H1 qui minime ce coût global parmi l'ensemble des histogrammes Gi. On mémorise également le coût global de codage HIC1 du bloc B correspondant à l'histogramme choisi. On poursuit à l'étape 116 par le calcul du débit de codage relatif à l'index identifiant l'histogramme H1. Lorsque l'histogramme H1 est identifié par autre chose qu'un index, par exemple un numéro de modèle et des valeurs de paramètres, l'ensemble des informations nécessaires à l'identification certaine de l'histogramme H1 sont prises en compte pour cette étape. Dans un mode de réalisation, on code cet index sur un nombre prédéterminé de bits P, par exemple en fonction du nombre d'histogrammes prédéterminés). On obtient ainsi un coût de codage de l'histogramme H1 valant HEC1 =P. En variante, on peut envisager de coder cette index de façon entropique, auquel cas on retient le coût entropique de codage de l'index. Disposant du coût de codage HEC1 de l'histogramme, on passe à l'étape 118 au cours de laquelle on réalise le calcul du débit de codage du bloc B par l'histogramme H1. Au cours de cette étape, on cherche toujours à calculer le débit de codage des échantillons du bloc B lorsque l'histogramme H1 est utilisé pour modéliser leur statistique. Il s'avère que ce calcul a déjà été effectué lors de l'étape 114. On récupère donc la valeur HIC1 mémorisée à cette occasion. Une fois les coûts de codage HILO, HECO, HIC1 et HEC1 calculés, on passe à l'étape 120 de comparaison des coûts de codage mettant en oeuvre respectivement chacun des histogrammes HO et H1. On compare ainsi HECO+HILO avec HECI+HIC1. Si le premier membre est plus faible, cela signifie que le codage à l'aide de l'histogramme HO est plus efficace. On écrit alors, à l'étape 122, dans le fichier FC une nouvelle indication, par exemple un drapeau binaire mis à "O", renseignant de l'utilisation de l'histogramme HO issu directement de l'image. Cette information sera utile notamment pour le décodage comme on le verra par la suite. Le procédé se poursuit alors à l'étape 124 par l'écriture des valeurs d'occurrence HO(i) de l'histogramme HO dans le fichier FC. Dans un mode de réalisation, on utilise un codage binaire direct de chaque valeur d'occurrence sur un nombre prédéfini de bits, lequel nombre est connu à la fois du codeur et du décodeur. En alternative, on utilise un codage entropique, par exemple de Huffman ou arithmétique. On poursuit à l'étape 126 par le codage à proprement parler du bloc B de l'image à l'aide de l'histogramme HO et donc l'écriture des valeurs codées d'intensité dans le fichier FC. Au cours de cette étape, on construit un codeur entropique, idéalement celui utilisé lors de la simulation de l'étape 112, à partir de la statistique représentée par l'histogramme HO. On code ainsi le bloc B à l'aide de ce codeur, par exemple en générant des codes de Huffman adaptés à la probabilité d'apparition de chaque valeur d'intensité (ou symbole) dans l'histogramme HO. Eventuellement, on peut avoir mémorisé ces valeurs codées lors de la simulation de l'étape 112, auquel cas on récupère et écrit ces valeurs codées dans le fichier FC. Le codage du bloc B est alors terminé. En sortie de l'étape 120, si le premier membre est plus grand que le deuxième, cela signifie que le codage à l'aide de l'histogramme H1 est plus efficace. On écrit alors, à l'étape 128, dans le fichier FC l'indication renseignant de l'utilisation de l'histogramme H1 prédéfini pour le codage, par exemple à l'aide d'un drapeau binaire mis à "1". Cette information sera utile notamment pour le décodage comme on le verra par la suite. Le procédé se poursuit alors à l'étape 130 au cours de laquelle on écrit, dans le fichier FC ou train binaire, la valeur codée de l'index de H1 éventuellement définie lors de l'étape 116. Pour rappel, il peut s'agir d'un simple codage binaire direct sur un nombre prédéterminé de bits ou un codage entropique. On poursuit à l'étape 132 par le codage à proprement parler du bloc B de l'image à l'aide de l'histogramme H1 et donc l'écriture des valeurs codées d'intensité dans le fichier FC. Au cours de cette étape, comme déjà évoqué précédemment, on utilise un simple codeur entropique adapté à la statistique représentée par l'histogramme H1. Ces valeurs codées peuvent déjà avoir été déterminées lors de la simulation de l'étape 114, auquel cas on n'effectue qu'une simple recopie dans le fichier FC. Le codage du bloc B est alors terminé. En référence à la figure 4, on décrit maintenant le décodage 18 du fichier FC. A ce niveau, le décodeur 6 reçoit un train binaire de signal codé. A l'étape 200, on lit un premier bit dans la partie du fichier FC associée au codage du bloc B courant (par exemple disposé après un entête connu). A l'étape 202, on compare ce bit au bit nul. En cas d'égalité, chaque pixel du bloc B est décodé à la valeur 0 lors de l'étape 204 et le décodage du bloc B est terminé. En cas d'inégalité, cela signifie que le bloc B comprend des pixels non nuls. On poursuit alors par l'étape 206 et la lecture de la dynamique du bloc B, c'est-à-dire qu'on lit les valeurs MIN et MAX dans le fichier FC à l'aide du procédé de décodage adapté au codage utilisé, par exemple le codage binaire direct sur un nombre prédéterminé de bits. A l'étape 208, on lit le bit suivant dans le fichier FC, ce bit renseignant quel histogramme (prédéfini ou directement issu du bloc B) a été utilisé. On compare donc ce bit au bit nul (étape 210). Si le bit vaut "0", on décode, à l'étape 212, les valeurs d'occurrence de l'histogramme HO à partir des valeurs codées contenues dans le fichier FC et d'un décodage adapté au codage utilisé. Bien sûr, même si l'on préfère que les codeur et décodeur connaissent à l'avance les codages utilisés, il est possible de compléter le train binaire ou fichier FC avec une indication du type de codage utilisé. Le décodeur utilise, à réception, cette information pour adapter le décodage en conséquence. Une fois les valeurs d'occurrence de HO obtenues, on décode, à l'étape 214, le signal codé de B avec un décodeur entropique adapté au codeur utilisé lors du codage, en utilisant notamment la statistique représentée par l'histogramme HO décodé à l'étape 212. On obtient ainsi l'image décodée ID. Le décodage est alors terminé. En revanche, si le bit à l'étape 210 vaut "1", cela signifie qu'un histogramme prédéterminé a été utilisé lors du codage. A l'étape 216, on décode alors l'index de l'histogramme H1 (et éventuellement des paramètres), par exemple à l'aide d'un décodage binaire direct sur un nombre de bits prédéterminé connu à l'avance. Une fois cet index connu du décodeur, ce dernier détermine l'histogramme H1 correspondant à l'aide du modèle d'histogramme et du jeu de paramètres dont il dispose en mémoire. Cet histogramme H1 est utilisé lors de l'étape suivante 218 pour construire un décodeur entropique adapté au codeur utilisé lors du codage. Le décodage des valeurs d'intensité du bloc B s'opère alors par le décodeur entropique, c'est-à-dire en fonction de la statistique représentée par H1 On obtient ainsi l'image décodée ID. Le décodage est alors terminé. Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.20 REVENDICATIONS 1. Procédé de codage d'un premier signal représentant un histogramme (HO) de valeurs numériques, caractérisé en ce qu'il comprend une étape de sélection (120), à partir d'au moins un critère (HECO, HEC1, HICO, HIC1) dépendant dudit histogramme, d'un type de codage parmi au moins un premier type comprenant le codage de chacune des occurrences associées aux valeurs numériques, et un deuxième type comprenant la substitution dudit histogramme (HO) par une information d'identification d'un histogramme prédéfini (H1) choisi parmi une pluralité d'histogrammes prédéfinis (Gi); et une étape de codage (126, 132) dudit premier signal d'histogramme en fonction dudit type de codage sélectionné. 2. Procédé selon la revendication précédente, dans lequel ledit histogramme (HO) est représentatif de la statistique d'une pluralité de valeurs numériques d'un second signal (B), ladite sélection comprend la sélection d'un type de codage minimisant le coût de codage global (HECO,HICO; HEC1,HIC1) dudit second signal. 3. Procédé selon la revendication précédente, comprenant le calcul du coût de codage global de chacun des types, dans lesquels ledit coût de codage d'un type comprenant le coût de codage des informations d'histogramme (HECO, HEC1) et le coût de codage des valeurs numériques du second signal (HICO, HIC1) en fonction de l'histogramme (HO, H1) associé au type de codage sélectionné. 4. Procédé selon la revendication précédente, dans lequel on effectue sensiblement en parallèle le calcul (110, 112) du coût de codage global du premier type (HECO, HICO) et le calcul (114, 116) du coût de codage global du deuxième type (HEC1, HIC1). 5. Procédé selon la revendication 3 ou 4, dans lequel le coût de codage des valeurs numériques du second signal (HICO) à l'aide de l'histogramme (HO) associé audit premier type comprend l'entropie (H) dudit second signal. 6. Procédé selon la revendication 3 ou 4, dans lequel le calcul du coût de codage des valeurs numériques du second signal (HICO) à l'aide de l'histogramme (HO, H1) associé au type sélectionné comprend le calcul (112, 118) du débit associé au codage entropique dudit second signal sur la base dudit histogramme associé au type sélectionné. 7. Procédé selon l'une des revendications 2 à 6, comprenant le calcul du coût de codage global associé audit deuxième type, ce calcul comprenant, préalablement à ladite étape de sélection, la simulation du codage du second signal pour chacun desdits histogrammes prédéfinis. 8. Procédé selon la revendication précédente, dans lequel ledit histogramme prédéfini choisi (H1) comprend celui qui, parmi ladite pluralité (Gi), minimise le coût de codage des valeurs numériques dudit second signal. 9. Procédé selon l'une des revendications précédentes, dans lequel ladite pluralité d'histogrammes prédéfinis comprend un modèle de gaussienne généralisée paramétré sur un nombre fini de valeurs. 10. Procédé selon l'une des revendications précédentes, dans lequel on ajoute (122, 128) au signal codé (PC) une information représentative dudit type de codage sélectionné. 11. Procédé selon l'une des revendications 2 à 10, dans lequel le codage dudit second signal comprend le codage entropique des valeurs numériques du second signal à partir dudit histogramme associé au type de codage sélectionné. 12. Système de codage d'un premier signal représentant un histogramme (HO) de valeurs numériques, caractérisé en ce qu'il comprend un moyen de sélection, à partir d'au moins un critère (HECO, HEC1, HICO, HIC1) dépendant dudit histogramme, d'un type de codage parmi au moins un premier type comprenant le codage de chacune des occurrences associées aux valeurs numériques, et un deuxième type comprenant la substitution dudit histogramme par une information d'identification d'un histogramme prédéfini (H1) choisi parmi une pluralité d'histogrammes prédéfinis (Gi); et un moyen de codage dudit premier signal d'histogramme en fonction dudit type de codage sélectionné. 13. Système selon la revendication précédente, comprenant des moyens de stockage d'une pluralité d'histogrammes prédéfinis. 14. Système selon la revendication précédente, dans lequel lesdits moyens de stockage comprennent au moins un modèle d'histogramme et un ensemble fini de paramètres dudit modèle de sorte à définir ladite pluralité d'histogrammes prédéfinis. 15. Système selon l'une des revendications 12 à 14, dans lequel ledit moyen de codage comprend un codeur entropique agencé pour être construit à l'aide de l'histogramme associé audit type de codage sélectionné. 16. Procédé de décodage d'un signal codé (PC), caractérisé en ce qu'il comprend une étape de détermination (200, 202) d'au moins une information contenue dans ledit signal codé et représentative d'un type de codage, et une étape de décodage (212, 216) d'au moins une partie du signal codé en fonction de ladite information, ledit décodage comprenant: lorsque ladite information correspond à un premier type de codage, le décodage (212) d'une pluralité de données codées représentant chacune une occurrence associée à des valeurs numériques d'un histogramme de sorte à former un histogramme décodé (HO); et lorsque ladite information correspond à un deuxième type de codage, la lecture (216) d'une deuxième information contenue dans ledit signal codé et identifiant un histogramme prédéfini (H1) parmi une pluralité d'histogrammes prédéfinis (Gi), de sorte à former un histogramme décodé. 17. Procédé selon la revendication précédente, dans lequel ledit décodage comprend la lecture et le décodage, dans le signal codé, d'une valeur minimale (MIN) et d'une valeur maximale (MAX) définissant la dynamique de valeurs numériques représentées par ledit histogramme. 18. Procédé selon la revendication 16 ou 17, dans lequel ledit histogramme décodé est représentatif de la statistique d'une pluralité de valeurs numériques d'un signal de données (B), et le procédé comprend, en outre, le décodage (214, 218) d'au moins une partie du signal codé à l'aide dudit histogramme décodé de sorte à former un signal décodé de données. 19. Procédé selon la revendication précédente, dans lequel ledit décodage du signal codé à l'aide de l'histogramme comprend le décodage à l'aide d'un décodeur entropique construit en utilisant la statistique définie par ledit histogramme décodé. 20. Système de décodage d'un signal codé, comprenant un moyen de détermination d'au moins une information contenue dans ledit signal codé et représentative d'un type de codage, et un moyen de décodage d'au moins une partie du signal codé en fonction de ladite information, ledit moyen de décodage étant apte: lorsque ladite information correspond à un premier type de codage, à décoder une pluralité de données codées représentant chacune une occurrence associée à des valeurs numériques d'un histogramme de sorte à former un histogramme décodé; et lorsque ladite information correspond à un deuxième type de codage, à lire une deuxième information contenue dans ledit signal codé et identifiant un histogramme prédéfini parmi une pluralité d'histogrammes prédéfinis, de sorte à former un histogramme décodé. 21. Système selon la revendication précédente, dans lequel ledit moyen de décodage comprend au moins un modèle d'histogramme, par exemple de type gaussienne généralisée, et un ensemble fini de paramètres dudit modèle de sorte à définir ladite pluralité d'histogrammes prédéfinis. 22. Système selon la revendication 20 ou 21, dans lequel ledit moyen de décodage comprend un décodeur entropique agencé pour être construit à l'aide de l'histogramme décodé. 23. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre le procédé conforme à l'une quelconque des revendications 1 à 11 et 16 à 19 lorsque le programme est chargé et exécuté par le système informatique. 24. Produit programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre leprocédé selon l'une quelconque des revendications 1 à 11 et 16 à 19, lorsqu'il est chargé et exécuté par le microprocesseur.