Brevet FR3013877A1 — publié le 20150529

Domaine de l'invention La présente invention concerne, de façon générale, le domaine du traitement d'images numériques présentées sous forme de matrice de pixels. L'invention vise plus particulièrement les traitements appliqués à des images numériques nécessitant une réduction de la taille du fichier numérique contenant une image numérique. L'invention concerne également les algorithmes d'amélioration de la qualité des images numériques. Etat de l'art De façon connue, une image numérique est constituée d'un tableau à deux dimensions de points ou pixels (pour picture element en anglais) et ceci pour chacun des bandes (canaux) de couleurs contenues dans cette image numérique. Un espace de couleur généralement utilisé est l'espace de couleur RVB qui a trois bandes de couleur : le rouge, le vert, le bleu. Un autre espace de couleur généralement utilisé est l'espace de couleur YCrCb, la bande Y représente la luminance et les bandes Cr et Cb la chrominance en rouge et en bleu. Les capteurs des appareils photos actuels permettent de créer des images numériques dotées d'une qualité visuelle de plus en plus performante, Or plus la définition et la qualité d'une image numérique augmente, plus la taille du fichier contenant ces images numériques augmente. Face au besoin croissant de transmettre et de stocker des images numériques, la taille des fichiers contenant ces images numériques peut constituer un problème. D'un point de vue plus large, l'augmentation rapide des tailles des capteurs photographiques, de leurs définition, provoque une augmentation de la taille des fichiers photographiques, de façon pus rapide que les capacités des bandes passantes réseaux, Internet, et des espaces de stockage disponibles. Parallèlement, la multiplication des capteurs photographiques, leur dissémination via principalement les smartphones, continuent de saturer ces mêmes bandes passantes et espaces de stockage. En 1992, en France, un 3013 8 77 2 adulte produisait en moyenne 72 clichés par an. En 2012, cette moyenne est passée à plusieurs milliers dont la quasi-totalité est numérique et diffusée par un moyen de télétransmission, principalement Internet. La réduction de la taille d'un fichier numérique se fait généralement 5 par une compression de ce fichier. Une des compressions les plus connues est la norme de compression JPEG. Les procédés utilisant la compression JPEG utilisent comme paramètre d'entrée une notion de qualité image JPEG liée à la quantification JPEG. Dans la librairie JPEG classique, cette qualité JPEG est représentée par un entier de un à cent. La taille du fichier résultant du choix de 10 la qualité JPEG est une conséquence de ce choix et es données contenues dans le fichier image d'origine. Plus le choix de la qualité JPEG est bas, en d'autres termes plus la qualité JPEG s'éloigne de 100 pour un même fichier image d'origine, plus la qualité visuelle de l'image, en général, se dégrade. Une des solutions pour obtenir une taille choisie par un utilisateur 15 serait de dégrader progressivement la qualité JPEG. Cette solution est préjudiciable au temps de calcul. L'invention vise à répondre à ces problèmes et notamment à ce besoin de taille du fichier numérique contenant une image numérique. 20 Exposé de l'invention A cet effet, l'invention vise en premier lieu un procédé de compression d'un fichier image d'origine, caractérisé en ce qu'il comporte une étape 200 permettant d'obtenir un fichier image compressé de type JPEG, d'une taille maximale TF, ou d'un niveau de PSNR (rapport signal / bruit maximum) 25 préalablement choisis par un utilisateur, en déterminant une qualité QF permettant de parvenir à une taille voisine à une distance prédéterminée près de la taille maximale, et en optimisant le temps de calcul. Dans une mise en oeuvre particulière, l'étape 200 utilise une approximation de la fonction donnant la taille maximale TF en fonction de la 30 qualité Q par un polynôme de degré deux autour de la taille maximale TF. Dans une mise en oeuvre plus particulière, l'étape 200 comporte deux sous-étapes : - une première sous-étape 201 de choix de trois valeurs initiales de qualité et d'obtention de trois couples (qualité, taille): (Q1, T1), (Q2, T2) et (Q3, T3), avec Q1 > Q2 > Q3, la taille T étant celle du fichier image d'origine compressé avec une qualité Q, - une deuxième sous-étape 202 d'utilisation des trois couples (Q1, T1) (Q2, T2) et (Q3, T3) pour déterminer une fonction polynomiale d'ordre deux donnant la taille T en fonction de la qualité Q passant par ces trois couples, puis de calcul par cette fonction polynomiale d'une qualité optimale estimée QF permettant de générer un fichier compressé de taille égale à la taille maximale TF, et de calcul de la taille réelle TF, associée à cette qualité optimale estimée QF, en compressant le fichier image d'origine, cette sous-étape 202 étant itérée, en remplaçant à chaque itération l'une des trois valeurs de qualité utilisée à l'itération précédente par la valeur de qualité optimale estimée QFi associée à la taille réelle TF, la plus proche de la taille maximale TF, et ce tant que la taille réelle suivante TF,+1 n'est pas plus proche de la taille TF maximale visée que la tolérance prédéterminée, ou que le nombre d'itérations ne dépasse pas une valeur maximale prédéterminée. Dans une mise en oeuvre encore plus particulière, la première valeur initiale de qualité Q1 est comprise entre 95 et 100 et l'étape 200 ne continue pas si la taille maximale TF est supérieure ou égal à T1. Dans une mise en oeuvre particulière, lors de la sous-étape 201, si la taille maximale visée TF est inférieure à la taille T3 associée à la troisième valeur de qualité Q3 initialement fixée, on diminue progressivement cette troisième valeur de qualité Q3 jusqu'à ce que la taille associée T3 soit inférieure à la taille maximale TF. Dans des mises en oeuvre particulières, éventuellement utilisables en conjonction lorsque cela est techniquement possible : - la troisième valeur initiale de qualité Q3 est comprise entre 70 et 80, et la diminution progressive de Q3 se fait en décrémentant Q3 d'une valeur constante. - lors de la sous-étape 201, on choisit la valeur de Q3 en résolvant la fonction polynomiale d'ordre un donnant la taille en fonction de la qualité : T = Q + dans laquelle les valeurs des paramètres de la fonction b' et c' étant 5 obtenus après calcul des deux premières tailles T3 associées aux deux premières valeurs de qualité Q3. - si on a itéré les valeurs de Q3, on choisit pour valeur de la seconde valeur de qualité Q2 l'avant dernière itération de valeur de qualité Q3. - si on n'a pas itéré les valeurs de Q3, on choisit pour Q2, une valeur 10 moyenne entre Q1 et Q3. - si la valeur de qualité optimale estimée QF est inférieure à la première valeur de qualité Q1 et supérieure à la seconde valeur de qualité Q2, on utilise pour l'itération suivante les trois qualités Q1, QF et Q2, - si la valeur de qualité optimale estimée QF est inférieur à la seconde 15 valeur de qualité Q2 et supérieur à la troisième valeur de qualité Q3, on utilise les trois qualités Q2, QF et Q3. Dans une mise en oeuvre particulière, le procédé comporte en outre une étape 100 dans laquelle on crée, à partir d'une image d'origine de format 20 quelconque, une image prétraitée en optimisant la répartition fréquentielle dans l'image par application d'une fonction de pondération dans le domaine fréquentiel. Dans une mise en oeuvre plus particulière, l'étape 100 comporte notamment des sous-étapes suivantes : 25 - une première sous-étape 101 de décomposition en blocs qui reçoit en entrée ladite image d'origine et qui décompose en blocs Bi non entrelacés l'image d'origine pour au moins un canal de couleur choisi, - une seconde sous-étape 102 de transformation fréquentielle qui 30 reçoit en entrée un bloc B, et qui le soumet à une transformation fréquentielle, par transformation en cosinus discrète DCT, pour délivrer un bloc B_DCTi. - Une troisième sous-étape 103 de calcul d'un estimateur o-, robuste de la variance d'un sous ensemble des coefficients contenus dans le bloc B_DCTi. - une quatrième sous-étape 104 de pondération des blocs DTC qui reçoit en entrée un bloc B_DCT, et qui le transforme en un bloc B_DCT_modifiei, - une cinquième sous-étape 105 de transformation fréquentielle inverse qui reçoit en entrée un bloc B_DCT_modifie, et qui le modifie par transformée en cosinus inverse en bloc B_modifie, , - une sixième sous-étape 106 de création d'un fichier image prétraité, qui reçoit en entrée tous les blocs B_modifie, et ceci pour chacun des canaux de couleur choisis, Dans une mise en oeuvre particulière, les sous-étapes : 102 de transformation fréquentielle, 104 de calcul de l'estimateur ai, de pondération, 105 de transformation fréquentielle inverse, sont appliquées bloc par bloc. Avantageusement, lesdits blocs Bi sont de taille constante N. Dans une mise en oeuvre particulière, chaque coefficient d'un bloc 20 B_DCT, est pondéré par une fonction de pondération dépendante d'une part des coefficients contenus dans un sous ensemble des coefficients du bloc B_DCT, et d'autre part de la valeur dudit coefficient et de sa position. Dans une mise en oeuvre plus particulière, ce sous ensemble est tel que si on parcourt le bloc B_DCT, en zigzag en indiçant le parcours par un 25 indice j, (j variant de un à N), ledit sous ensemble est constitué des valeurs xj de chaque coefficient du bloc dans la couleur en cours tels que j est supérieur strict à une valeur prédéterminée f1. Avantageusement, chaque fonction de pondération est une fonction sigmoïde. 30 Dans une mise en oeuvre particulière, les sous-étapes 101, 102, 103, 104, 105 sont réalisées pour chacun des canaux de couleurs. Dans une mise en oeuvre particulière, l'espace de couleur utilisé pour l'étape 100 est l'espace YCrCb et les sous-étapes 101, 102, 103, 104, 105 se font uniquement pour le canal Y. Dans une mise en oeuvre particulière, le procédé comporte en outre une étape 300 dans laquelle on crée, à partir du fichier image intermédiaire généré à l'étape 200, une image finale permettant d'améliorer la visualisation de la qualité image. Dans une mise en oeuvre plus particulière, l'étape 300 comporte 10 notamment des sous-étapes suivantes : - une première sous-étape 301 qui consiste à accentuer les contours contenus dans l'image, seuls les pixels appartenant à un contour ou à son voisinage étant modifiés, - une deuxième sous-étape 302 qui consiste à accentuer les couleurs 15 extrêmes d'une image, - une troisième sous-étape 303 qui consiste à modifier pour chaque pixel de l'image d'entrée dans l'espace de couleur choisi RVB, deux des trois couleurs de ce pixel. Dans une mise en oeuvre particulière, la sous-étape 301 est réalisée 20 par un procédé agissant dans le domaine spatial. Dans une mise en oeuvre particulière, la sous-étape 301 est réalisée par un procédé agissant dans le domaine des ondelettes. La présente invention permet : 25 - d'une part, de créer un fichier image compressé JPEG de taille en octet choisie par un utilisateur en effectuant un prétraitement sur les pixels d'origine suivi d'une recherche optimisée en temps de calcul de la qualité JPEG optimale. - et, d'autre part, de créer à partir de ce fichier compressé JPEG, une 30 image dont la qualité image visuelle est améliorée, le but étant de s'approcher de la qualité visuelle de l'image d'origine. Dans le présent procédé, on obtient une image "rehaussée", c'est-à- dire une image dont les artefacts de compression ont été masqués et dont la restitution colorimétrique a été rendu plus intense. Ceci s'oppose à la stratégie de compression d'image "sans perte visuelle". On rappelle que les stratégies de compression « presque sans perte » ou « sans perte visuelle » visent à restituer une image dont les pixels colorés ont une valeur différente mais dont la différence par rapport à l'image d'origine n'est pas perceptible visuellement, lors d'une utilisation normale du document (et non pas lors d'une analyse précise). On comprend ainsi que l'invention permet de définir un système de compression compatible avec la norme JPEG permettant d'effectuer la compression avec comme paramètre d'entrée une taille en octet maximale choisie et non un facteur de qualité Q entre 1 et 100. Ce système de compression réalise une estimation du facteur de qualité Q en fonction de la taille du fichier à atteindre demandée par l'utilisateur grâce à un ajustement optimisé des caractéristiques de débit-distorsion de la compression de l'image par JPEG. Un autre paramètre d'entrée pourrait être le PNSR (sigle de « Peak Signal to Noise Ratio ») à la place ou avec la taille du fichier à atteindre. On comprend que 1"invention propose le processus inverse de l'usage habituel du JPEG à savoir que dans la présente invention, on fixe une taille maximale et/ou un PSNR minimum et que l'algorithme se charge par un "rétro" calcul de trouver le facteur de qualité Q apportant le taux de compression JPEG optimal. Par ailleurs, par la drastique réduction de la taille des fichiers photographiques, et plus généralement, des fichiers encodant et porteurs d'images numériques, par l'économie de bande passante et d'espace de stockage, le procédé exposé ici participe à la réduction de consommation des ressources, matérielles et énergétiques, dédiées à ces transmissions et stockage. Ainsi, l'invention, sur les boîtiers photographiques dédiés, comme sur les Smartphones, les tablettes numériques mobiles, et plus généralement, tous les moyens permettant de visualiser des images numériques, permet des gains de consommation de bande passante, de temps de transmission et d'espace de stockage pour tous les usages de la photographie numérique. Présentation des figures La description qui va suivre, donnée uniquement à titre d'exemple d'un mode de réalisation de l'invention, est faite en se référant aux figures annexées dans lesquelles - La figure 1 est un organigramme montrant les différentes étapes de l'invention, - La figure 2 est un organigramme de la première étape de l'invention, - La figure 3 représente un détail de la première étape de l'invention, illustrant un parcours en zigzag d'un bloc de pixels, - La figure 4 est une représentation schématique de la deuxième étape de l'invention, - La figure 5 est une représentation schématique d'une sous-étape de la deuxième étape de l'invention dans un mode préféré de réalisation, - La figure 6 est une représentation schématique d'une autre sous- étape de la deuxième étape de l'invention dans un mode préféré de réalisation. Description détaillée d'un mode de réalisation de l'invention L'invention est destinée à être mise en oeuvre sous forme logicielle sur un moyen de calcul de type ordinateur PC, téléphone mobile de type Smartphone, tablette PC etc. Tel qu'illustré figure 1, l'invention comporte trois étapes. . Une première étape 100 crée, à partir d'une image d'origine 1 de format quelconque (TIFF, BMP ou autre), une image prétraitée 2. Le but de cette étape est d'optimiser la répartition fréquentielle dans l'image afin d'optimiser les compressions futures JPEG. . Une deuxième étape 200 qui crée à partir d'un fichier image prétraité 2, un fichier image compressé 3 de type JPEG. Ce fichier image compressé 3 est destiné à être stocké ou transporté via un réseau informatique. Le but de cette deuxième étape 200 est de fournir un fichier compressé 3 dont la taille en octet TF est décidée par un utilisateur et ceci en optimisant le temps de calcul. Une troisième étape 300 qui crée à partir du fichier image intermédiaire 3, une image finale 5 permettant d'améliorer la visualisation de la qualité image. L'étape 100 est une étape de prétraitement qui applique une fonction de pondération dans le domaine fréquentiel. Elle est décrite dans la figure 2. Elle comporte les sous-étapes suivantes - Une première sous-étape 101 de décomposition en blocs qui reçoit en entrée la dite image d'origine 1 et qui décompose en blocs Bi non entrelacés l'image numérique d'origine 1 pour au moins un canal de couleur 4. - Une seconde sous-étape 102 de transformation fréquentielle qui reçoit en entrée un bloc B, et qui le soumet à une transformation fréquentielle pour délivrer un bloc B_DCTi. Cette transformation est une transformation en cosinus discrète DCT (de l'anglais « Discrete Cosinus Transform ») - Une troisième sous-étape 103 de calcul d'un estimateur o-, robuste de la variance d'un sous ensemble des coefficients contenus dans le bloc B_DCT,. - Une quatrième sous-étape 104 de pondération des blocs DTC qui reçoit en entrée un bloc B_DCT, et qui le transforme en un bloc B_DCT_modifiei. Cette pondération dépend de l'estimateur o-, - Une cinquième sous-étape 105 de transformation fréquentielle inverse qui reçoit en entrée un bloc B_DCT_modifie, et qui le modifie par transformée en cosinus inverse en bloc B_modifie, - Une sixième sous-étape 106 de création d'un fichier image prétraité 2, qui reçoit en entrée tous les blocs B_modifie, et ceci pour chacun des canaux de couleur 4 choisis. Il faut noter que les sous-étapes : 102 de transformation fréquentielle, 103 de calcul de l'estimateur o-, , 104 de pondération, 105 de transformation fréquentielle inverse, s'appliquent bloc par bloc. 3013 8 7 7 10 Dans le présent mode de réalisation, lesdits blocs Bi sont de taille constante N. Cette constante N est, par exemple, égale à huit pixels fois huit pixels. En variante, cette taille peut être quelconque, par exemple 5x5 ou 13 x13, ou toute autre valeur préalablement choisie et pas nécessairement de 5 taille carrée. Les blocs Bi seront parcourus par un parcours en zigzag adapté à la taille N des blocs. En conséquence dans ce mode de réalisation, les blocs B_DCT, et B_DCT_modifie, sont de taille constante N. Dans le présent mode de réalisation les blocs B_DCT, sont parcourus 10 en zigzag tel qu'illustré par la figure 3. On rappelle le parcours en zigzag d'un bloc B_DCT, permet de parcourir les coefficients du bloc B_DCT, dans le sens des fréquences croissantes à la fois en ligne et en colonne. Ainsi, le premier coefficient parcouru représente un coefficient « passe-bas », lié à la valeur moyenne du bloc initial Bi de l'image, le deuxième coefficient du parcours en 15 zigzag correspond au coefficient de plus basse fréquence le long des lignes, le troisième coefficient du parcours en zigzag correspond au coefficient de plus basse fréquence le long des colonnes... et ainsi de suite jusqu'àu dernier coefficient , de position N, qui correspond à la plus haute fréquence possible en ligne et en colonne. 20 Avec ce parcours en zigzag, on obtient donc les coefficients ... xi, xj+1 xN du bloc BDcT Dans l'étape 103, on extrait un sous ensemble 7 constitué des coefficients dont l'indice est strictement supérieur à f1 XN Dans cette mise en oeuvre, f1 est égale à 1, en d'autres termes, on 25 exclut pour le sous ensemble 7 la fréquence la plus basse. Et on calcule le MAD (MAD étant l'acronyme de "median absolute deviation") de ce sous ensemble 7 : MAD = mediankbck - median,(41) avec k,j appartenant au sous ensemble 7. L'étape 103 consiste à calculer l'estimateur robuste o-, de la variance des valeurs de pixels du sous ensemble 7 : il est égal à K fois MAD avec K= 1.4826. L'étape 104 consiste à utiliser o-i pour pondérer chaque coefficient du bloc BDcTi . Dans cette mise en oeuvre, la fonction de pondération est une fonction sigmoïde. Selon la présente mise en oeuvre, l'étape 104 consiste à transformer chaque coefficient xj du bloc 13DcTi (j variant de 1 à N) en un coefficient Xmodifie j du bloc B_DCT_modifiei en appliquant les formules suivantes : SI j> f2 SI xi > -offset OU xi 0 (xi - offset) ALORS Xm°chi-te j w I 1+ e--r ( OEi i) (xi + offset) SINON xmodifie j = xj Avec : j varie de 1 à N (N=64) offset = 0 0.25 = e' `11 qi = (1- weight)ti weight = 0.85 -c = 10.61 f2 = 2 Pour le canal Y correspondant à la luminance SINON Xm°chi-te j = r(x w 1 e OEi ti={16, 11, 12,14, 12, 10,16, 14, 13, 14,18, 17, 16,19,24,40,26,24,22,22,24,49,35,37,29,40,5 8,51,61,60,57,51,56,55,64,72,92,78,64,68,87,69,55,56,80, 109,81,87,95,98, 103,104,10 3,62,77,113,121,112,100,120,92,101,103,99} Pour les canaux Cr, Cb correspondant à la chrominance ti={17,18,18,24,21,24,47,26,26,47,99,66,56,66,99,99,99,99,99,99,99,99,99, 99,99,99,9 9,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 99,99,99, 99,99,99,99,99,99,99,99,99,99} Dans le présent mode de réalisation, l'espace de couleur utilisé pour l'étape 100 est l'espace YCrCb. Alternativement, l'espace de couleur utilisé pour l'étape 100 est l'espace RVB, ou un autre espace de couleur. Dans le présent exemple de mise en oeuvre, les sous-étapes 101, 102, 103, 104, 105 se font pour chacun des canaux de couleurs 4. Cependant, dans une variante, l'espace de couleur utilisé pour l'étape 100 est l'espace YCrCb et les sous-étapes 101, 102, 103, 104, 105 sont réalisées uniquement pour le canal Y (luminance). Il est à noter qu'en compression JPEG, la taille des blocs est toujours 8 x 8 pour la DCT. Dans le cas du présent procédé, le paramètre ti s'inspire des tables de quantifications JPEG. L'étape 200 est une étape de compression de données optimisée en temps de calcul utilisant la compression JPEG et prenant en compte comme paramètre d'entrée la taille maximale TF du fichier compressé 3 à obtenir. L'étape 200 approxime localement la fonction (généralement convexe) donnant la taille en fonction de la qualité par un polynôme de degré deux. Le polynôme local autour de la taille TF à obtenir est lié à l'image d'origine. En effet il n'existe pas de fonction mathématique permettant de définir T=f(Q) qui fonctionnerait quelque soit l'image d'origine. De plus même pour une même image, la fonction T= f(Q) ne peut s'exprimer mathématiquement pour Q appartenant à tout l'intervalle de 1 à 100. Dans le procédé décrit ici, on approxime localement la fonction f par un polynôme. 3013 877 13 Dans la librairie classique JPEG, la notion de qualité est liée à la notion de la quantification JPEG. Dans la suite de cette description, on appelle Q la qualité JPEG. Cette qualité Q varie de un à cent. Une qualité Q égale à cent correspond à la qualité maximale d'un fichier JEG et donc généralement 5 produit un taux de compression faible. On rappelle que le taux de compression dépend des valeurs de pixels contenues dans l'image. Dans la suite de cette description, on appelle QF la qualité JPEG optimale pour obtenir un fichier image compressé 3 de taille la plus proche de TF à partir du fichier image traité 2. 10 L'étape 200 est décrite figure 4. Cette étape 200 est constituée de deux sous-étapes. Une première sous-étape 201 sert à choisir trois couples initiaux de valeurs qu'on explicitera par la suite (Q1, T1) (Q2, T2) et (Q3, T3). Cette sous- 15 étape 201 n'est effectuée qu'une fois. Une deuxième sous-étape 202 qui utilise les trois couples (Q1, T1) (Q2, T2) et (Q3, T3) pour calculer une qualité QF permettant de se rapprocher de la taille TF demandée. Cette sous-étape 202 peut être itérative et, dans ce cas, de nouveaux couples (Q1, T1), (Q2, T2) et (Q3, T3) sont déterminés. La 20 poursuite de l'itération dépend de la taille réelle obtenue TF après une compression JPEG du fichier image traité 2 avec la qualité JPEG QF. La sous-étape 201 est illustrée figure 5. Dans un premier temps de la sous-étape 201, le fichier image prétraité 25 2 est compressé avec une qualité Q1. On obtient une taille de fichier compressé égale à T1 correspondant à la qualité Q1. Dans le mode de réalisation tel qu'illustré par la figure 5, Q1 est égal à cent. Dans cet exemple, l'étape 200 ne continue pas si TF est supérieur ou égal à T1. Dans une variante, on prend pour Q1 la valeur 90. 30 Dans une variante, on prend pour Q1 la valeur du fichier d'origine si elle est connue ou disponible et correcte dans le header du fichier JPEG. Dans un second temps de la sous-étape 201, le fichier image prétraité 2 est compressé avec une qualité Q3. On obtient une taille de fichier compressé égale à T3 correspondant à la qualité Q3. Dans le présent mode de réalisation, Q3 est égal à soixante-quinze. En variante Q3 est choisi entre 70 et 80, mais toute autre valeur inférieure à Q1 est également utilisable. Si TF est inférieur à T3, on diminue progressivement Q3 afin d'obtenir une qualité Q3 telle que T3 est inférieur à TF. Si T3 est égal à TF, l'étape 200 se termine avec QF égal à Q3. La diminution progressive de Q3 se fait, par exemple, en décrémentant Q3 d'une valeur constante. Dans le présent exemple, cette valeur constante est égale à dix. Dans une variante, on estimera la valeur de Q3 en résolvant une fonction polynomiale d'ordre un donnant la taille en fonction de la qualité : T = b'Q+c' Dans cette équation, les valeurs des paramètres de la fonction b' et c' sont obtenus après calcul des deux premières qualités T3 associées aux deux premières valeurs de Q3. Dans un troisième temps de la sous-étape 201, on choisit une qualité Q2 inférieure à Q1 et supérieure à Q3. On appelle T2 la taille du fichier 20 compressé correspondant à cette qualité Q2. Dans ce mode de réalisation, si on a itéré les valeurs de Q3, on utilise la précédente valeur de Q3 pour Q2 afin d'éviter une nouvelle compression JPEG. Si on n'a pas itéré les valeurs de Q3, on choisit pour Q2, une valeur moyenne entre Q1 et Q3 et dans ce cas on effectue une compression JPEG du 25 fichier image prétraité 2 pour obtenir T2. La sous-étape 202 est illustrée figure 6. Dans la sous-étape 202, on estime une valeur approchée de QF en fonction des trois qualités Q1, Q2 et Q3 et de la taille respective T1, T2, T3 de 30 la compression du fichier image prétraite 2 avec ces qualités respectives. La sous-étape 202 consiste à résoudre la fonction polynomiale d'ordre deux donnant la taille en fonction de la qualité. T= aQ2+bQ+c Soit QF tel que TF= a QF2 + b QF + c Le fichier image prétraité 2 est compressé avec la qualité QF et on obtient une taille de fichier égale à TF. Si la différence en valeur absolue entre TF et TF est supérieure à une tolérance choisie TOLERANCE et si le nombre d'itérations est inférieur strict à un nombre maximum d'itérations NBITER, on réitère cette étape en modifiant les trois qualités Q1, Q2 et Q3 utilisées pour résoudre la fonction polynomiale d'ordre deux parmi les qualités Q1, Q2, Q3 et QF . Si QF est inférieur à Q1 et supérieur à Q2, on prend les trois qualités Q1, QF et Q2. Si QF est inférieur à Q2 et supérieur à Q3, on prend les trois qualités Q2, QF et Q3. On comprend qu'on cherche à limiter le nombre de compressions JPEG à faire en réutilisant les résultats des compressions déjà faites afin de limiter le temps de calcul. L'étape 300 sert à améliorer la qualité visuelle d'un fichier image compressé. Dans le présent mode de réalisation, on utilise cette étape 300 avec le fichier compressé 3 obtenu par l'étape 200. Il est à noter cependant qu'il est possible d'utiliser le procédé de cette étape 300 sur tout fichier dont la qualité visuelle est insuffisante, le format alors 20 de l'image n'étant alors pas nécessairement du JPEG. L'étape 300 peut être décomposée en trois sous-étapes Une première sous-étape 301 qui consiste à accentuer les contours contenus dans l'image. Dans cette sous-étape 301, seuls les pixels appartenant à un contour ou à son voisinage sont modifiés. 25 Une deuxième sous-étape 302 qui consiste à accentuer les couleurs extrêmes d'une image. Une troisième sous-étape 303 qui consiste à modifier pour chaque pixel de l'image d'entrée dans l'espace de couleur choisi RVB, deux des trois couleurs de ce pixel. 30 Pour ces trois sous-étapes, on définit une image d'entrée IME et une image de sortie IMT. L'image d'entrée d'une sous-étape de l'étape 300 est soit le fichier image compressé 3, soit l'image de sortie IMT d'une autre sous-étape de 300. Dans le présent exemple, les trois sous-étapes de l'étape 300 sont réalisées dans l'ordre suivant 301, 302, 303. L'image d'entrée de la sous-étape 301 est alors la décompression du fichier image compressé 3. L'image d'entrée de la sous-étape 302 correspond à l'image de sortie de la sous-étape 301. L'image d'entrée de la sous-étape 303 correspond à l'image de sortie de la sous-étape 302. Dans des variantes de réalisation, on peut modifier cet ordre ou ne pas effectuer certaines sous-étapes. La sous-étape 301 consiste à accentuer les contours des formes contenues dans une image d'entrée IME. La détection de contours dans une image IME se fait à l'aide d'une librairie classique de traitement d'images. L'image d'entrée IME peut être l'image du fichier image compressé 3 après décompression JPEG. La sous-étape 301 est réalisée: - soit par un procédé 301a dans le domaine spatial, - soit par un procédé 301b dans le domaine des ondelettes. La sous-étape 301 reçoit en entrée une image IME et fournit en sortie une image IMT correspondant à l'image IME avec les contours accentués. Dans le présent exemple de mise en oeuvre du procédé 301a dans le domaine spatial, les dits contours fournis par une librairie classique de traitement d'image sont épaissis d'une épaisseur 36. En d'autres termes si le pixel à la position i, j (i en horizontal et j en vertical) appartient à un contour, le procédé 301a agira sur ce pixel ainsi que sur les pixels voisins i', j' tels que Ii- Dans le présent exemple, la valeur ajoutée 37 est limitée en valeur absolue par un seuil prédéterminé 38. Ici, la valeur ajoutée 37 est égale à un coefficient 39 multiplié par la différence entre la valeur du pixel et la valeur de ce même pixel dans une image passe-bas de l'image IME. Alternativement, la valeur ajoutée 37 est égal à un coefficient 39 multiplié par la valeur de ce même pixel dans une image passe-haut de l'image. A titre d'exemples non limitatifs, le coefficient 39 est égal à un demi, et le seuil 38 est égal à cinq. Le procédé 301a dans le domaine spatial s'effectue sur au moins un canal de couleur. Dans le présent mode de réalisation, l'espace de couleur du procédé 301a dans le domaine spatial est l'espace RVB et la modification de pixels contenus dans les contours se fait sur les trois couleurs. Dans un autre mode de réalisation, l'espace de couleur du procédé 301a dans le domaine spatial est l'espace YCrCb et la modification de pixels se fait sur les trois couleurs. Dans encore un autre mode de réalisation, l'espace de couleur du procédé 301a dans le domaine spatial est l'espace YCrCb et la modification de pixels se fait uniquement sur le canal Y de luminance. Le procédé 301b dans le domaine des ondelettes agit sur les images issues d'une décomposition en ondelettes d'une image d'entrée IME en modifiant les pixels appartenant aux contours 35 pour au moins un canal de couleur choisi. L'espace de couleur du procédé 301b est par exemple l'espace RVB, ou l'espace YCrCb. Pour chaque canal de couleur 4 choisi, on fait une décomposition en ondelettes. Dans le présent exemple de réalisation, on ne procède pas à un sous-échantillonnage et on utilise l'ondelette 9/7 avec deux niveaux de décomposition. On rappelle que la décomposition en ondelettes permet d'obtenir en particulier une image passe-bas et plusieurs autres images 10 contenant au moins un passe-haut en ligne ou en colonne dans le processus de création de ces images 10. Le procédé 301b dans le domaine des ondelettes consiste à modifier les pixels de ces images 10 qui appartiennent aux contours épaissis par une épaisseur 11. L'épaisseur du contour 11 peut varier selon le niveau de décomposition de l'image 10. Dans un mode de réalisation préféré, la modification des pixels de ces images 10 sur les contours 35 épaissi par 11 se fait en pondérant la valeur de ces dit pixels par un coefficient supérieur à un. Une opération inverse de la décomposition en ondelettes est ensuite effectuée. La sous-étape 302 consiste pour au moins un canal de couleur, à remplacer par la valeur maximale du pixel (égale à deux cent cinquante-cinq), les pixels de l'images d'entrée dont la valeur est supérieure ou égale à un seuil prédéterminé 12. La sous-étape 302 consiste également pour au moins un canal de couleur à remplacer par la valeur minimale d'un pixel (égal à zéro), les pixels de l'image d'entrée dont la valeur est inférieure ou égale à un autre seuil prédéterminé 13. Dans un mode de réalisation, l'espace de couleur de la sous-étape 302 est l'espace RVB et la modification de pixels se fait sur les trois couleurs. Dans un autre mode de réalisation, l'espace de couleur est l'espace YCrCb et la modification de pixels se fait sur les trois couleurs. Dans une variante, la modification ne se fait que sur le canal de couleur Y. La sous-étape 303 consiste à modifier, pour chaque pixel de l'image d'entrée dans l'espace de couleur choisi RVB, deux des trois couleurs de ce pixel. Le choix de ces deux couleurs parmi les trois couleurs possibles est déterminé par la position du pixel et la couleur correspondante dans la matrice de Bayer. Pour chacune des trois couleurs du pixel, si cette dite couleur correspond à la couleur sur la matrice de Bayer, la valeur de la couleur est inchangée, sinon la valeur de la couleur est modifiée en fonction des pixels du voisinage en ne prenant en compte que les couleurs de ces dit pixels de voisinage appartenant à la matrice de Bayer. On utilise pour cette sous-étape 303 les algorithmes développés pour les capteurs CCD ou CMOS des appareils photos numériques utilisant une mosaïque de Bayer et en particulier l'interpolation CFA (Color Filter Array) communément appelée le dématriçage (aussi connu sous le néologisme débayerisation). Dans le présent exemple de réalisation, on utilise une interpolation bilinéaire pour modifier les deux couleurs respectives de chacun des pixels. Dans une variante, on utilise une interpolation bicubique. Avantages Le procédé selon l'invention peut être avantageusement intégré dans les appareils photos des reporters qui doivent transmettre d'urgence des photos via un internet à faible débit ainsi que dans les appareils tels que des ordinateurs réceptionnant ces photos. REVENDICATIONS1. Procédé de compression d'un fichier image d'origine, caractérisé en ce qu'il comporte une étape 200 permettant d'obtenir un fichier image compressé de type JPEG, d'une taille maximale TF, ou d'un niveau de rapport signal / bruit maximum PSNR préalablement choisis par un utilisateur, en déterminant une qualité QF permettant de parvenir à une taille voisine à une distance prédéterminée près de la taille maximale, et en optimisant le temps de calcul. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape 200 utilise une approximation de la fonction donnant la taille maximale TF en fonction de la qualité Q par un polynôme de degré deux autour de la taille maximale TF. 3. Procédé selon la revendication 2, caractérisé en ce que l'étape 200 15 comporte deux sous-étapes : - une première sous-étape 201 de choix de trois valeurs initiales de qualité et d'obtention de trois couples (qualité, taille): (Q1, T1), (Q2, T2) et (Q3, T3), avec Q1 > Q2 > Q3, la taille T étant celle du fichier image d'origine compressé avec une qualité Q, 20 - une deuxième sous-étape 202 d'utilisation des trois couples (Q1, T1) (Q2, T2) et (Q3, T3) pour déterminer une fonction polynomiale d'ordre deux donnant la taille T en fonction de la qualité Q passant par ces trois couples, puis de calcul par cette fonction polynomiale d'une qualité optimale estimée QF permettant de générer un fichier compressé de taille égale à la taille maximale 25 TF, et de calcul de la taille réelle TF, associée à cette qualité optimale estimée QF, en compressant le fichier image d'origine, cette sous-étape 202 étant itérée, en remplaçant à chaque itération l'une des trois valeurs de qualité utilisée à l'itération précédente par la valeur de qualité optimale estimée QFi associée à la taille réelle TF, la plus proche de lataille maximale TF, et ce tant que la taille réelle suivante TF,+1 n'est pas plus proche de la taille TF maximale visée que la tolérance prédéterminée, ou que le nombre d'itérations ne dépasse pas une valeur maximale prédéterminée. 4. Procédé selon la revendication 3, caractérisé en ce que la première valeur initiale de qualité Q1 est comprise entre 95 et 100 et en ce que l'étape 200 ne continue pas si la taille maximale TF est supérieure ou égal à T1. 5. Procédé selon l'une quelconque des revendications 3 à 4, caractérisé en ce que, lors de la sous-étape 201, si la taille maximale visée TF est inférieure à la taille T3 associée à la troisième valeur de qualité Q3 initialement fixée, on diminue progressivement cette troisième valeur de qualité Q3 jusqu'à ce que la taille associée T3 soit inférieure à la taille maximale TF. 6. Procédé selon l'une quelconque des revendications 3 à 5, caractérisé en ce que la troisième valeur initiale de qualité Q3 est comprise entre 70 et 80, et en ce que la diminution progressive de Q3 se fait en décrémentant Q3 d'une valeur constante. 7. Procédé selon la revendication 5 ou 6, caractérisé en ce que, lors de la sous-étape 201, on choisit la valeur de Q3 en résolvant la fonction polynomiale d'ordre un donnant la taille en fonction de la qualité : T = b' Q + dans laquelle les valeurs des paramètres de la fonction b' et c' étant 25 obtenus après calcul des deux premières tailles T3 associées aux deux premières valeurs de qualité Q3. 8. Procédé selon l'une quelconque des revendications 5 à 7, caractérisé en ce que, si on a itéré les valeurs de Q3, on choisit pour valeur de 30 la seconde valeur de qualité Q2 l'avant dernière itération de valeur de qualité Q3. 9. Procédé selon l'une quelconque des revendications 5 à 8, caractérisé en ce que si on n'a pas itéré les valeurs de Q3, on choisit pour Q2, une valeur moyenne entre Q1 et Q3. 10. Procédé selon l'une quelconque des revendications 3 à 9, caractérisé en ce que : - si la valeur de qualité optimale estimée QF est inférieure à la première valeur de qualité Q1 et supérieure à la seconde valeur de qualité Q2, on utilise pour l'itération suivante les trois qualités Q1, QF et Q2, - et si la valeur de qualité optimale estimée QF est inférieur à la seconde valeur de qualité Q2 et supérieur à la troisième valeur de qualité Q3, on utilise les trois qualités Q2, QF et Q3. 11. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il comporte en outre une étape 100 dans laquelle on crée, à partir d'une image d'origine (1) de format quelconque, une image prétraitée (2) en optimisant la répartition fréquentielle dans l'image par application d'une fonction de pondération dans le domaine fréquentiel. 12. Procédé selon la revendication 11, caractérisé en ce que l'étape 100 comporte notamment des sous-étapes suivantes : - une première sous-étape 101 de décomposition en blocs qui reçoit en entrée la dite image d'origine (1) et qui décompose en blocs Bi non entrelacés l'image numérique d'origine (1) pour au moins un canal de couleur choisi, - une seconde sous-étape 102 de transformation fréquentielle qui reçoit en entrée un bloc B, et qui le soumet à une transformation fréquentielle, par transformation en cosinus discrète DCT, pour délivrer un bloc B_DCTi. - Une troisième sous-étape 103 de calcul d'un estimateur a, robuste de la variance d'un sous ensemble des coefficients contenus dans le bloc B_DCT,- une quatrième sous-étape 104 de pondération des blocs DTC qui reçoit en entrée un bloc B_DCT, et qui le transforme en un bloc B_DCT_modifiei, - une cinquième sous-étape 105 de transformation fréquentielle inverse qui reçoit en entrée un bloc B_DCT_modifie, et qui le modifie par transformée en cosinus inverse en bloc B_modifie, , - une sixième sous-étape 106 de création d'un fichier image prétraité (2), qui reçoit en entrée tous les blocs B_modifie, et ceci pour chacun des canaux de couleur choisis. 13. Procédé selon la revendication 12, caractérisé en ce que les sous-étapes : 102 de transformation fréquentielle, 104 de calcul de l'estimateur ai, de pondération, 105 de transformation fréquentielle inverse, sont appliquées bloc par bloc. 14. Procédé selon l'une quelconque des revendications 12 à 13, caractérisé en ce que lesdits blocs Bi sont de taille constante N. 15. Procédé selon l'une quelconque des revendications 12 à 14, caractérisé en ce chaque coefficient d'un bloc B_DCT, est pondéré par une fonction de pondération dépendante d'une part des coefficients contenus dans un sous ensemble des coefficients du bloc B_DCT, et d'autre part de la valeur dudit coefficient et de sa position. 16. Procédé selon la revendication 15, caractérisé en ce que ce sous ensemble est tel que si on parcourt le bloc B_DCT, en zigzag en indiçant le parcours par un indice j, j variant de un à N, ledit sous ensemble est constitué des valeurs xj de chaque coefficient du bloc dans la couleur en cours tels que j est supérieur strict à une valeur prédéterminée f1. 17. Procédé selon la revendication 15 ou 16, caractérisé en ce que chaque fonction de pondération est une fonction sigmoïde. 18. Procédé selon la revendication 17, caractérisé en ce que la transformation de xi en xmodifie j par une fonction de pondération est de la forme suivante : SI j > f2 SI xi > -offset OU xi 0 SINON xn.,°chi-te j = xjwj 1+ e OEi (xi - offset) ALORS xn.,°chi-te j = r w I 1 + e OEi 1 (xi + offset) SINON Xmodifie j = Xj j varie de 1 à N (N=64) offset = 0 1_ 0.25 Wj = e `1] qi = (1 - weight)ti ai = mediank(Pck - mediani(xi)l) avec j et k > f1 19. Procédé selon l'une quelconque des revendications 12 à 18, caractérisé en ce que les sous-étapes 101, 102, 103, 104, 105 sont réalisées pour chacun des canaux de couleurs. 20. Procédé selon l'une quelconque des revendications 12 à 18, caractérisé en ce que l'espace de couleur utilisé pour l'étape 100 est l'espace YCrCb et les sous-étapes 101, 102, 103, 104, 105 se font uniquement pour le canal Y. 21. Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il comporte en outre une étape 300 dans laquelle on crée, à partir du fichier image intermédiaire (3) généré à l'étape 200, une image finale (5) permettant d'améliorer la visualisation de la qualité image. 22. Procédé selon la revendication 21, caractérisé en ce que l'étape 300 comporte notamment des sous-étapes suivantes : - une première sous-étape 301 qui consiste à accentuer les contours contenus dans l'image, seuls les pixels appartenant à un contour ou à son voisinage étant modifiés, - une deuxième sous-étape 302 qui consiste à accentuer les couleurs extrêmes d'une image, - une troisième sous-étape 303 qui consiste à modifier pour chaque pixel de l'image d'entrée dans l'espace de couleur choisi RVB, deux des trois couleurs de ce pixel. 23. Procédé selon la revendication 21, caractérisé en ce que la sous-étape 301 est réalisée par un procédé agissant dans le domaine spatial. 24. Procédé selon la revendication 21, caractérisé en ce que la sous- étape 301 est réalisée par un procédé agissant dans le domaine des ondelettes.