Brevet FR2858741A1 — publié le 20050211

DISPOSITIF ET PROCEDE DE COMPRESSION D'IMAGES NUMERIQUES La présente invention se rapporte à un dispositif et à un procédé de compression d'images numériques. La compression d'une image numérique réduit la 5 quantité de données nécessaires à sa transmission via, par exemple, un réseau de télécommunication comme le réseau Internet. Certaines normes de compression, telle que la norme MPEG-4 (Motion Picture Expert Group 4), utilisent une 10 compression dite multicouche suivant laquelle une image, dite source, est compressée au moyen d'une couche de base, codant une image dite de base, et d'une couche d'amélioration, codant l'écart ou le résidu entre l'image source et l'image de base. Dans ce cas, la transmission d'une image compressée 15 peut s'effectuer en transmettant, dans un premier temps, sa couche de base puis, dans un deuxième temps, sa couche d'amélioration, sous la forme de trains binaires. Le train binaire associé à la couche d'amélioration présente l'avantage de pouvoir être tronqué de telle sorte que, 20 si sa transmission n'est effectuée que partiellement suite à, par exemple, une variation du débit de transmission dans le réseau, l'information transmise dans la partie du train binaire correctement reçue peut toutefois être encore utilisée pour améliorer l'image codée par la couche de base. Pour cela, un résidu 101 (figure 1), codant des coefficients d'amélioration 101., 1012, ...101 propres à chaque bloc de pixels formant l'image, est décomposé en différents plans MSB, MSB-1, MSB-2, MSB-3 et LSB de bits classés par ordre de priorité, chaque plan MSB, MSB-1, MSB2, MSB-3 ou LSB regroupant 30 des bits de même poids dans la décomposition du résidu propre à chaque bloc. Comme décrit ultérieurement, ces coefficients 1011, 1012, ...101n peuvent être issus de la transformation cosinus discrète DCT ( dicrete cosine transform en anglais) d'un bloc 8x*8 de pixels effectuée en évaluant la différence entre les coefficients DCT d'un bloc d'une l'image source, c'est-à-dire de l'image codée, et les coefficients DCT d'une image traitée par une quantification puis par une quantification inverse de sa couche de base. En générant un train binaire 130 transmettant successivement les plans MSB, MSB-1, MSB2, MSB-3 ou LSB, on obtient alors une couche d'amélioration qui peut être tronquée sans compromettre la transmission de l'ensemble du train. Par 10 exemple, si la transmission du train 130 est perturbée lors de la transmission du plan MSB-3, l'ensemble des informations déjà transmises par les plans MSB, MSB-', MSB-2 et la partie transmise de MSB-3 pourront être prises en compte pour améliorer l'image. Un tel procédé, dénommé Fine Granularity 15 Scalability (Fgs) dans le cadre de la norme MPEG4, présente l'inconvénient d'utiliser une compression du résidu ayant un rendement inférieur au rendement de la compression de la couche de base. De ce fait, un compromis entre le rendement de la compression, accru par une couche de base de taille importante, 20 et la sécurité de la transmission de la de base, accrue avec une couche de base de faible taille, doit éventuellement être effectué. La présente invention remédie à cet inconvénient. Elle se rapporte à un dispositif de compression d'une image source au 25 moyen d'une couche de base, codant une image de base, et d'une couche d'amélioration, codant un résidu existant entre l'image source et l'image de base, l'image source et l'image de base étant structurées par blocs de pixels, caractérisé en ce qu'il comprend des moyens pour générer la couche d'amélioration d'un 30 bloc en fonction de la qualité de restitution de ce bloc, déterminée en comparant le codage de ce bloc dans l'image source avec le codage de ce bloc dans l'image de base, et/ou en fonction d'informations codées par ce bloc de pixels. En considérant la qualité de restitution de l'image à 35 partir de la couche de base bloc par bloc, le dispositif conforme à l'invention permet d'optimiser la génération de la couche d'amélioration en attribuant à chaque bloc une quantité de bits dans la couche d'amélioration fonction du codage de base de ce bloc de telle sorte que l'image finale ait une qualité de restitution uniforme. De plus, en prenant en compte des informations relatives au codage de chaque bloc, le dispositif conforme à l'invention optimise la génération de la couche de base en allouant plus de données à des blocs de pixels pour lesquels une 10 amélioration de la couche de base résulte prioritaire, par exemple si des défauts de résolution associés à ce bloc sont plus visibles que pour d'autres blocs. Dans une réalisation, le dispositif comprend des moyens pour déterminer la qualité de restitution du bloc (k) au 15 moyen d'une formule telle que: psnrk=-lOLog Z (block, source(i, j)-block, rec(i, J) /(L2x64) où (i, j) représente les coordonnées d'un pixel du bloc (k) considéré, par exemple de dimensions 8x8, dans l'image source (blocksource) ou dans l'image de base (block,rec) codée 20 par la couche de base, L représentant la valeur de la luminance maximum de l'image, par exemple égale à 255. Selon une réalisation, le dispositif comprend des moyens pour définir une qualité Psnry moyenne de restitution de l'image et pour attribuer un nombre supérieur de bits dans la 25 couche d'amélioration aux blocs dont la qualité de restitution est inférieure à cette qualité PsnrY moyenne ou à une qualité Pnsrréf de référence obtenue à partir de cette qualité moyenne, par exemple en ajoutant une marge de qualité. Dans une réalisation, le dispositif comprend des 30 moyens pour comparer la qualité psnrk de restitution du bloc k à une qualité psnrf de référence de façon à détecter un écart 6psnrk de qualité par rapport à cette référence psnrréf et des moyens pour allouer un nombre NbBitsk de bits de la couche d'amélioration à ce bloc en fonction de cet écart. Selon une réalisation, le dispositif comprend des moyens pour allouer un nombre NbBitsk de bits de la couche 5 d'amélioration en utilisant une relation de proportionnalité telle que: J psnlrk x débit fgs NbBitsk =Apsnr débitfs où débitfgs est la quantité de bits par image contenue dans le train de la couche d'amélioration et Apsnr est une somme d'écarts 6psnrk mesurés pour le bloc considéré. Dans une réalisation, la somme psnr est évaluée à partir des écarts entre la qualité de chaque bloc et la qualité de référence, par exemple au moyen d'une formule telle que: k = MxN -1 Apsnr = [f (psnrk Selon une réalisation, le dispositif comprend des 20 moyens pour estimer la qualité de restitution de la couche de base en estimant la dégradation, ou le coût CoutFlti, de son filtrage destinée à réduire des contrastes entre blocs voisins et des moyens pour allouer à un bloc (k) de pixels un nombre NbBitsk de bits de la couche d'amélioration d'autant plus 25 important que ce coût CoutFlti est élevé. Dans une réalisation, le dispositif comprend des moyens pour estimer le coût CoutFlti du filtrage à l'aide d'une formule telle que: j 7 Y abs(bloc' baseFiltré(i, i)- bloc1 base(i, coutFlti= 64 où abs est la fonction valeur absolue, et blOCbasefiltré(i,j) - blOCbase(i,j) représente la différence de valeurs du pixel de coordonnées i et j de la couche de base après le filtrage et avant le filtrage. Selon une réalisation, le dispositif comprend des moyens pour comparer le coût de filtrage coutFlti d'un bloc à un coût de filtrage de l'image COUTFlt et des moyens pour allouer un nombre NbBitsfgsi de bits de la couche d'amélioration à chaque bloc i en fonction de cette comparaison, par exemple en 10 utilisant une relation telle que: où débitfs est la quantité de bits par image contenue dans le train de la couche d'amélioration. coutFlt1 NbBitsfgsi= débit fgs coUTFlt Dans une réalisation, le dispositif comprend des moyens pour déterminer le coût coutFlt de filtrage de l'image en 15 additionnant les coûts de filtrage de tous les blocs de l'image, par exemple à l'aide d'une formule telle que: i= MxN-1 COUTFlt= Y (coutFlt,) i=O où i représente un numéro de bloc tandis que M et N représentent les dimensions de l'image. Selon une réalisation, le dispositif comprend des 20 moyens pour générer la couche d'amélioration d'un bloc en fonction d'un paramètre relatif à une luminance moyenne (Lmoy) associée à ce bloc, déterminée par exemple en additionnant les luminances des pixels du bloc considéré. Dans une réalisation, le dispositif comprend des 25 moyens pour pondérer le coût du filtrage d'un bloc en fonction d'un coefficient F(Lmoyi) dont la valeur dépend de la luminance moyenne de ce bloc. Selon une réalisation, le dispositif comprend des moyens pour que, si la luminance moyenne Lmoyi d'un bloc est 5 supérieure à un seuil SeuilLum, alors la valeur de ce coefficient pondérateur soit calculée suivant la formule: F(Lmoyi) = 1-( Lmoyi / 2xSeuilLum) tandis que, sinon, la valeur de ce coefficient pondérateur est constante, par exemple égale à 1/2. Dans une réalisation, le dispositif comprend des moyens pour pondérer le coût du filtrage en fonction d'un coefficient F(Lmoyi) dont la valeur dépend de la texture, ou activité, du bloc de pixels consideré. Selon une réalisation, le dispositif comprend des 15 moyens pour que l'activité Acti d'un bloc i soit calculé au moyen d'une formule telle que: 1=6j=7 i=7,j=6 Acti= MAXMAXvbis,.C (k, 1) - bisrc (k + 1,1) ,MAX ibj src (k, 1) - bi src (k, i + 1) ij=O ' ' i,j=O où k et 1 sont les coordonnées des pixels contenus dans un bloc, bis étant un bloc d'indice i de l'image source et max (a,b) est égale à a lorsque a est supérieure à b, et vaut b autrement. Dans une réalisation, le dispositif comprend des moyens pour que le coût du filtrage d'un bloc soit pondéré au moyen d'un facteur (F(Acti)) fonction de son activité. Dans une réalisation, le dispositif comprend des moyens pour que le facteur F(Acti) de pondération varie entre 30 0.5 et 1 en fonction d'un seuil SeuilAct tel que, si l'activité Acti du bloc i considéré est inférieure à ce seuil SeuilAct alors le coefficient F(Acti) est égal à : F(Acti)= 1-( Acti / 2xSeuilAct) tandis que ce seuil est constant autrement. Selon une réalisation, le dispositif comprend des moyens pour générer la couche d'amélioration en considérant un vecteur de mouvement ou de déplacement, associé à chaque bloc i de pixel, par exemple au moyen de la formule: Vect = Vx2+ Vy2 où les composantes Vx et Vy représentant les déplacements horizontal et vertical du bloc. Selon une réalisation, le dispositif comprend des moyens pour que le coût du filtrage d'un bloc soit pondéré au 10 moyen d'un facteur F(Vecti) fonction du vecteur de mouvement de ce bloc. Dans une réalisation, le dispositif comprend des moyens pour que le facteur F(Vecti) de pondération varie entre 0 et 1 en fonction d'un seuil SeuilVect de mouvement, par 15 exemple tel que si la norme du vecteur Vecti est inférieure à ce seuil SeuilVect, alors ce facteur vaut: F(Vecti) = 1-(Vecti/ SeuilVect) tandis que ce facteur F(Vecti) est nulle autrement. Selon une réalisation, le dispositif comprend des 20 moyens pour générer la couche d'amélioration en considérant l'éventuelle sortie du bloc dans une image ultérieure à l'image considérée. Dans une réalisation, le dispositif comprend des moyens pour anticiper la sortie du bloc de l'image en ajoutant 25 aux coordonnées ib et jb de ce bloc les composantes Vx et Vy du vecteur Vect de déplacement de ce bloc ibns = ib + Vx et jbnt = jb + V), de telle sorte que si la position estimée du bloc à l'image suivante est en dehors de l'image (ibne, M) ou(jbne N), M et N étant les dimensions de l'image), la couche d'amélioration de ce bloc n'est pas traitée. Dans une réalisation, le dispositif comprend des moyens pour estimer la qualité psnr de restitution d'un bloc de pixels à l'aide d'une modélisation affine telle que la qualité 35 psnr de restitution d'une image a une forme linéaire: r psnr=Dpsnr.x+b où Dpsnr est une constante égale, par exemple, à 0.212dB/bit par bloc et x représente le nombre de bits par blocs alloué. Selon une réalisation, le dispositif comprend des moyens pour générer la couche d'amélioration en allouant plus de bits aux blocs d'une image si cette image est utilisée pour générer d'autres images, par exemple dans le cas d'un codage prédictif inter-image. Dans une réalisation, le dispositif comprend des moyens pour coder la couche de base à l'aide d'une transformée cosinus discrète. L'invention concerne aussi un procédé de compression d'une image source au moyen d'une couche de base, codant une 15 image de base, et d'une couche d'amélioration, codant un résidu existant entre l'image source et l'image de base, l'image source et l'image de base étant structurées par blocs de pixels, caractérisé en ce qu'on utilise un dispositif, générant la couche d'amélioration d'un bloc en fonction d'une qualité de 20 restitution de ce bloc, conforme à l'une des revendications précédentes. D'autres caractéristiques et avantages de l'invention apparaîtront avec la description de l'invention effectuée cidessous, à titre d'exemple non limitatif, en se référant aux 25 figures ci-jointes sur lesquelles: - La figure 1, déjà décrite, représente un procédé de codage d'une couche d'amélioration selon un procédé connu, - La figure 2 est un schéma d'un compresseur d'images codées selon un procédé multicouche conforme à l'invention 30 graphique, - La figure 3 représente une répartition de qualités de restitution variables pour différents blocs d'une même image, et - La figure 4 représente des variations de rendement lors d'un codage multicouche. Un codeur 210 (figure 2) conforme à l'invention peut comprendre un receveur 211 recevant un signal 212 qui code une image à comprimer. Dans le cadre d'un codage en modes interimage, ce receveur 211 soustrait de ce signal 212 des 5 informations déjà transmises pour une image précédente. Cette opération est effectuée à l'aide d'un soustracteur 214 qui reçoit un signal 234 correspondant aux informations transmises pour les images précédentes. Ainsi, le signal 212 est transformé en un signal 10 21614, qui est dirigé vers un transformateur 218 qui transforme le signal 21614, défini dans le domaine spatial, en un signal 21618 défini dans le domaine fréquentiel. Cette opération, qui s'effectue sans perte d'information, est une transformée cosinus discrète ou DCT ("Discrete Cosine Transform"). Les signaux 21618 sont transmis à un quantificateur 220 qui réduit la dynamique de ces signaux via une opération de quantification qui fait intervenir des approximations entraînant une perte d'informations non négligeable du signal 21618. L'information ainsi perdue lors de cette opération de 20 quantification est appelée le résidu (information résiduelle destinée au codeur fgs), tandis que l'information conservée après quantification constitue la couche de base de l'image comprimée. En d'autres termes, la couche de base comprend les 25 données reçues par le codeur moins ce résidu, ce dernier étant codé par la couche d'amélioration comme décrit ultérieurement. A la sortie du quantificateur 220, le signal 21620 est aussi transmis à une boucle de soustraction qui comprend un quantificateur inverse 224 effectuant la fonction inverse du 30 quantificateur 220. Cette opération de quantification inverse s'effectue sans nouvelle perte d'informations. On obtient alors un signal 21624 qui est appliqué à un convertisseur 226 effectuant la fonction inverse (IDCT) de celle réalisée par le transformateur 218, c'est-à-dire convertissant 35 ce signal 21624 du domaine fréquentiel au domaine spatial, délivrant ainsi à sa sortie un signal 21626 qui est transmis vers une mémoire 228 et un processeur d'estimation/compensation 230 de mouvement, puis vers le soustracteur 214. Le signal 21624 est également transmis vers un 5 soustracteur 236, faisant partie d'une branche 235 de génération de la couche d'amélioration, une seconde entrée du soustracteur 236 recevant le signal de sortie 21618 du transformateur DCT 218. Ainsi, ce soustracteur 236 effectue la soustraction 10 entre des signaux représentant les signaux reçus 21618 et émis 21624 de façon à obtenir le résidu 21636 en sortie du soustracteur 236. La branche 235 comporte une mémoire 238 qui mémorise les résidus (dans le domaine des fréquences spatiales) par 15 images et un dispositif 240 qui effectue la partition en plans d'amélioration du signal 21638 en sortie de la mémoire 238 suivant le procédé normalisé dit "Fine granularity scalability" (FGS) déjà décrit. Par ailleurs, la branche 235 comprend des moyens 250 20 pour analyser les blocs de pixels compresses de façon à déterminer leur qualité de restitution, à partir de la couche de base, et pour déterminer, en fonction de cette qualité et d'informations relatives au codage des pixels d'un bloc considéré, quelle quantité de bits doit être allouée à ce bloc 25 au niveau de la couche d'amélioration. Dans cette réalisation de l'invention, la qualité ou psnrk de restitution est mesurée, pour un bloc k de pixels, au moyen de la formule suivante: psnrk=-lOLog Z (bl1ock, source(i, j)-block,rec(ij) /(8x8x2552) (i,j= 0 où (i,j) représente les coordonnées d'un pixel du block considéré, par exemple de dimensions 8x8, dans l'image 1l source (blocksource) ou dans l'image de base reconstruite (block,rec) codée par la couche de base. Au moyen de la qualité de restitution psnrk calculée pour chaque bloc k de pixels, on peut calculer la qualité de 5 restitution moyenne psnry de l'image, par exemple en effectuant la moyenne des qualités psnr de restitution de chacun des blocs de l'image ou en utilisant une méthode graphique comme décrit ultérieurement. Finalement, une qualité de restitution de référence 10 psnrff propre à l'image est obtenue à partir de la qualité moyenne Psnry à laquelle est ajoutée une marge, par exemple, de 3 dB. Pnsrf = Psnrmy + 3 dB. Dès lors, chaque mesure de qualité psnrk de restitution est comparée au psnrf de référence pour détecter un éventuel défaut âpsnrk de qualité de restitution, c'est-à-dire un déficit en qualité de restitution par rapport au seuil psnrf défini. En fonction de cet éventuel déficit 3psnrk en qualité de restitution, on alloue un certain nombre NbBitsk de bits sur le train de la couche d'amélioration en utilisant une relation de proportionnalité telle que: ôpsnlrkXdéifg NbBitsk = Apsnrdébitfgs où débitfgs correspond au débit alloué à l'image dans 25 le cadre du codage dédié à la couche d'amélioration et psnr représente le déficit global de l'image, évalué à partir des écarts entre la qualité de chaque et la qualité de référence, par exemple au moyen d'une formule telle que: k = Mx-1 Apsnr= = âi (psn Une telle opération est illustrée à l'aide de la figure 3 qui représente des blocs 343, identifiés par leur numéro de bloc (axe des abscisses 302) et pour lesquels la qualité psnrk de restitution (axe des ordonnées 304) a été déterminée conformément à la formule précédemment indiquée. Une qualité psnréf de référence 342 est définie à partir d'une qualité de restitution moyenne 340 et d'une marge 341 de qualité prédéterminée. Conformément à l'invention, aucun codage n'est effectué dans la couche d'amélioration pour les blocs 343i dont 15 la qualité de restitution est supérieure au seuil de référence tandis qu'un codage d'amélioration est effectué pour les blocs de pixels dont la qualité de restitution est inférieure à la qualité de référence (psnrrf), un nombre de bits d'autant plus important étant alloué à ce codage que cet écart est élevé. Un autre paramètre de génération de la couche d'amélioration pris en compte par les moyens 250 (figure 2) est la variation de l'information dans un bloc après son filtrage destiné à réduire les éventuels effets de blocs, c'est-à-dire les problèmes de contraste existant entre deux blocs de pixels 25 voisins. A cet effet, il convient de rappeler qu'un tel filtrage est effectué au niveau de la couche de base de façon optionnelle au niveau du décodeur dans le cas de la norme MPEG4. Néanmoins, ce post-filtrage peut être réalisé au 30 niveau du codeur de façon à estimer le rendu sur l'image reconstruite de la couche de base vis à vis de l'image source. Dans ce dernier cas, le post-filtrage n'intervient pas dans la boucle du processus de codage inter-image qui ne sert alors uniquement qu'à estimer la dégradation entre l'image 35 décodée (de la couche de base) et l'image source. En revanche, si un filtre est présent dans cette boucle, l'opération d'estimation de la dégradation peut y être réalisée. Tel est le cas dans le cadre des normes h263, h261 et MPEG-4 part 10. Pour cela, on peut évaluer un coût (coutFlti) de filtrage au moyen, par exemple, de la formule suivante: ij=O Y abs(bloc baseFiltré(i,j)bloc'base(ij))) coutFlti = 64 où abs est la fonction valeur absolue, et blOCbasefiltré(i,j) - blocbase(i,j) représente la différence de 10 qualité au niveau du bloc comprenant le pixel de coordonnées i et j, appartenant à l'image décodée (de la couche de base) après le filtrage et avant le filtrage destiné à réduire les effets de blocs. A partir du coût du filtrage d'un bloc de pixels, on 15 peut calculer un coût COUTFlt total pour l'image en sommant les coutFlti propres à chaque bloc tel que: i= MxN-1 COUTFIt = _ (coutFlti) i =O Finalement, on peut déterminer le nombre de bits à 20 allouer dans le train de données de la couche d'amélioration à un bloc en fonction de la formule suivante: coutFlti NbBitsfgsi = débitfgs xCOUTFlt COUTFlt Dans cette réalisation, un codage important de la couche d'amélioration d'un bloc de pixel est aussi favorisé si 25 ce bloc est situé dans une zone d'une image où la luminance est faible. De fait, les anomalies d'une image sont plus visibles dans les zones sombres de cette image. A cet effet, on calcule la luminance moyenne de chaque bloc de telle sorte que les blocs dont la luminance moyenne est 5 plus faible bénéficient d'un codage accru dans la couche d'amélioration. Cette luminance moyenne Lmoy peut être calculée par: k, 7 Lmoyi= Y (bloci, source(k, 1)/64) k,l=O k et 1 étant les coordonnées des pixels contenus dans le bloc i. 10 Une mise en application sur la base de l'effet de bloc (post-filtrage) mesuré à l'issue du post filtrage peut s'opérer de la façon suivante: Le calcul du coût de filtrage, concernant l'image, pondéré avec luminance moyenne locale 15 i= MxN - 1 COUTFlt = (coutFlti) * F(Lmoyi) i=O La répartition du nombre de bits par bloc devient alors: coutFlti * F(Lmoy1) NbBitsfgsi = débitfgs x COUtFLt COUTFIt F(Lmoyi) étant une fonction de pondération qui varie entre 0.5 et 1. Dans cette réalisation, si la luminosité Lmoyi d'un bloc i est inférieure à un seuil Seuilm, (Lmoyi Autrement, cette fonction F(Lmoyi) de pondération peut être 25 maintenue constante, par exemple égale à 1/2, cette approche permettant de favoriser les blocs à luminance faible vis à vis de ceux à luminance forte. Il convient de noter que la valeur seuil SeuilL, présente une luminance maximum (255). Dans cette réalisation, un codage important de la couche d'amélioration d'un bloc de pixel est aussi favorisé si 5 ce bloc est situé dans une zone d'une image où la texture est faible car un défaut de restitution localisé dans une zone faiblement texturée est plus visible que dans une zone à forte texture. A cet effet, cette texture est mesurée par une 10 activité Actià l'intérieur du bloc i évaluée, par exemple, de la façon suivante: /t i=6,j=7 i=7,j=6, Acti = MAX(MAxolbisrc (k,) --bisrc (k + 1, 1)l MAX[bi rc (k,) - bi,r (k, I + 1)1) 'i,J=o i,j=O k et 1 étant les coordonnées des pixels contenus dans le bloc, bisrc étant un bloc d'indice i de l'image source et max(a-b) étant égale à a si a est supérieure à b ou égale à b autrement. Une mise en application sur la base de l'effet de bloc mesuré à l'issue du post filtrage peut alors s'opérer en 20 calculant le coût du filtrage, concernant l'image, pondéré avec l'activité locale déterminée comme précédemment indiqué : i =MxN -1 COUTFlt = E (coutFlti) * F(Acti) i=0 La répartition par bloc du nombre de bits devient alors: coutFlti *F(Act.) NbBitsfgsi = débit fgs X COUTFlt F(Lmoyi) étant une fonction de pondération qui varie entre 0.5 et 1 de façon analogue à la fonction de pondération précédemment décrite. Dans cet exemple, si l'activité Acti est inférieure à un seuil donné SeuilAct, alors ce coefficient de pondération F(Acti) est déterminé par la formule suivante: F(Acti) = 1-( Acti / 2xSeuilAct) Autrement, le coefficient de pondération F(Acti) peut être maintenu constant, par exemple égale à 1/2, en permettant ainsi de favoriser les blocs à faible texture vis à vis des blocs à forte texture. Par ailleurs, il convient de noter que la texture présente une valeur seuil (Seuilt = 255) maximale. La combinaison des deux critères basés sur la luminance moyenne et l'activité contenues dans le bloc peut être 10 réalisée, la distribution de l'information dédiées à la couche d'amélioration devient alors: i= MxN1 COUTFlt = (coutFlti) * F(Acti) * F(Lmoy,) i=O La répartition par bloc étant évalué au moyen d'une formule telle que: coutFlti * F(Acti) * F(Lmoyi) NbBitsfgsi = débitfgs>x COUTFxt COUTFlt L'amplitude du vecteur de mouvement associé à un bloc de pixels peut aussi être pris en compte pour considérer la quantité de bits allouée à ce bloc de pixels dans la couche d'amélioration. Cette approche permet de mettre à profit l'effet de masquage par le mouvement des défauts de restitution inhérents au codage d'image, et notamment à bas et très bas débit. De fait, si un bloc de pixels est associé à un vecteur de mouvement important, on peut considérer que la zone de 25 l'image codée par ce bloc correspond à un élément en déplacement dans l'image pour lequel une résolution moindre que pour les zones de l'image fixes peut être satisfaisante. La détermination du module du vecteur Vecti de mouvement associé à un bloc i est déterminé au moyen d'une formule telle que: Vecti = Vx2+ Vy2 où Vx correspond au déplacement en unités pixels selon l'axe des x, généralement horizontal, et Vy correspond au déplacement en unités pixels selon l'axe des y, généralement vertical. Une mise en application sur la base de l'effet de bloc 10 mesuré à l'issue du post filtrage peut s'opérer en calculant un coût de filtrage, concernant l'image, pondéré avec l'amplitude des vecteurs, par exemple au moyen de la formule suivante: i= MxN-1 COUTFlt = (coutFlti) * F(Vecti) i=O La répartition du nombre de bits alloués par bloc devient alors: coutFlt * F(Vectt) NbBitsfgsi = débit fgs x COUTF1t COUTFlt F(Vecti) étant une fonction de pondération qui varie entre 0 et 1. Dans cet exemple, si la norme du vecteur de 20 mouvement Vecti d'un bloc i est inférieure à unseuil Seuilvect, alors cette fonction F(Vecti) vaut: 1- (Vecti/ Seuilvect) Autrement, si la norme de ce vecteur est supérieure à ce seuil, cette fonction est nulle (F(Vecti) = 0). Ainsi tout bloc dont le vecteur de déplacement a une norme inférieur à un seuil Seuilvect sera amélioré en fonction d'un coût et de son déplacement tandis que, si le vecteur est au-delà d'un seuil, ce bloc n'aura pas de couche d'amélioration supplémentaire. Il convient de noter que la valeur du seuil est dépendante, entre autres, de la résolution de l'image, une valeur de 30 donnant des résultats acceptables pour une image au format CIF (288 lignes de 352 pixels). De façon analogue, si un bloc de pixels situé en bordure de l'image est associé à un vecteur de mouvement tel qu'on peut anticiper que la zone de l'image codée à laquelle appartient ce bloc va sortir de cette image dans le futur, il est inutile de coder cette zone avec une forte résolution. Pour cela, on estime la position d'un bloc courant à l'image suivante sur la base du vecteur de déplacement de ce bloc, par exemple en ajoutant respectivement aux coordonnées centrales du bloc ib et jb les composantes Vx et Vy du vecteur Vect (Vx, Vy). En d'autres termes, si les coordonnées centrales du bloc courant sont ib et jb, les coordonnées centrales du bloc courant, estimées à l'image suivante, sont: ibne, = ib + Vx jbne. = jb + Vy Ainsi, si l'estimation des coordonnées pour l'image suivant sort du cadre de l'image ((ibnef M) ou(jbn N)), où M et N représentent les dimensions de l'image à traiter, alors on n'améliore pas le bloc. Conformément à l'invention, divers paramètres ont été décrits ci-dessus qui permettent de déterminer un nombre de bits, alloué à un bloc de pixels, en fonction d'informations codées dans ces blocs, telles qu'un vecteur de mouvement ou des contrastes importants, et/ou de la qualité de restitution de 30 l'image à partir de la couche de base. De ce fait, il apparaît que le nombre de bits dans la couche d'amélioration peut varier en fonction de ces paramètres. Pour contrôler de telles variations, dans une réalisation de l'invention, on utilise des modèles de variations de qualité de restitution d'une image pour déterminer quelle qualité de restitution est atteinte par la transmission d'une couche de base et d'une couche d'amélioration variable, comme expliquée ci-dessous à l'aide de la figure 4. Sur cette figure 4 est montré un faisceau de courbes 402, 404 et 406 identifiant une qualité de restitution (axe des ordonnées 401, en dB), en fonction d'un nombre de bits alloué pour un bloc (axe des abscisses 403). Chaque courbe (respectivement 402, 404 et 406) 10 correspond à une transmission d'une image au moyen d'une couche de base (respectivement à 192, 256 et 384 kbits/s) associée à une couche d'amélioration de taille croissante. Ce faisceau est généré à partir d'une courbe 400 qui représente le rapport qualité de restitution/nombre de bits par 15 blocs lorsqu'une seule couche de base est transmise. On constate ainsi que, pour une même qualité, la transmission d'une seule couche de base est plus performante que la transmission d'une couche de base associée à une couche d'amélioration, ce qui traduit le rendement supérieur du codage 20 de la couche de base par rapport au codage de la couche d'amélioration. On observe aussi que le faisceau de courbes 402, 404 et 406 présente une forme presque affine telle que la qualité psnr de restitution d'une image se présente sous une forme 25 psnr=Dpsnr.x+b où Dpsnr est une constante, égale à 0.212dB/bit par bloc et x représente le nombre de bits par blocs alloué. Il est à noter que cette constante Dpsnr, qui permet de faire une approximation de la variation qualité de 30 restitution/débit fgs, correspond à un type d'algorithme permettant de procéder à de la compression de type scalabité fine. Toutefois, il convient aussi de noter que cette constante est dépendante de l'algorithme de compression mis en 35 ouvre. Dès lors, il est possible de déterminer simplement le nombre de bits devant être attribué à une image, ou à chaque bloc de cette image, pour obtenir une qualité de restitution donnée. De fait, en fixant une qualité psnrct de restitution déterminée, on peut estimer le nombre de bits par blocs devant être alloué à un bloc dans la couche d'amélioration en calculant l'écart entre le nombre de bits par blocs transmis dans la couche de base (courbe 400) et le nombre de bits par blocs 10 devant être transmis pour atteindre la qualité de restitution requise. Une telle méthode de détermination graphique du nombre de bits devant être alloué dans la couche d'amélioration pour obtenir une qualité de restitution donnée est particulièrement 15 simple puisqu'elle requiert une capacité de calcule limitée. En outre, elle permet de limiter le nombre de bits alloué dans la couche d'amélioration à un bloc de pixels en optimisant à nouveau le rendement du codage de cette couche puisqu'elle permet d'éviter de surcoder un bloc en déterminant, 20 dans un contexte de qualité de compression requis, si sa qualité de restitution atteint déjà la qualité requise. Cette technique peut prendre en considération la combinaison de paramètres de pondération de deux ou plus des paramètres relatifs au bloc en cours de codage déjà décrits, à 25 savoir des effets de bloc, un coût de filtrage, la luminance moyenne locale, l'activité locale, une amplitude du vecteur de mouvement et/ou un risque de sortie de la scène dans l'image suivante. La présente invention est susceptible de nombreuses 30 variantes. Ainsi, la position et/ou la fonction de l'image à laquelle appartient un bloc de pixel peut aussi être un paramètre considéré pour déterminer la quantité de bits de la couche d'amélioration allouée à un bloc. De fait, si une image est utilisée pour générer 35 d'autres images, comme dans le cas particulier d'un schéma de codage prédictif où une interimage utilise des images reconstruites à l'aide de leur couche de base et de tout ou partie de leur couche d'amélioration, les blocs de cette image sont traités avec une couche d'amélioration moins élevée si ces 5 blocs appartiennent à une image isolée ou située à la fin d'une série d'images. REVENDICATIONS 1. Dispositif (210) de compression d'une image source au moyen d'une couche de base, codant une image de base, et d'une couche d'amélioration, codant un résidu existant entre l'image source et l'image de base, l'image source et l'image de 5 base étant structurées par blocs de pixels, caractérisé en ce qu'il comprend des moyens (250) pour générer la couche d'amélioration d'un bloc (k) en fonction de la qualité (psnrk) de restitution de ce bloc (k), déterminée en comparant le codage de ce bloc dans l'image source avec le codage de ce bloc dans 10 l'image de base, et/ou en fonction d'informations codées par ce bloc de pixels. 2. Dispositif selon la revendication 1 caractérisé en ce qu'il comprend des moyens pour déterminer la qualité (psnrk) de restitution du bloc (k) au moyen d'une formule telle que: 15 l, J = 0 pSflrk -1OLogt (b1ock, sourçce(jj)-block rec(î,j))3/(L2 x64) où (i,j) représente les coordonnées d'un pixel du bloc (k) considéré, par exemple de dimensions 8x8, dans l'image source (blocksource) ou dans l'image de base (block,rec) codée par la couche de base, L représentant la valeur de la luminance maximum 20 de l'image, par exemple égale à 255. 3. Dispositif selon la revendication 1 ou 2 caractérisé en ce qu'il comprend des moyens pour définir une qualité (Psnry) moyenne de restitution de l'image et pour attribuer un nombre supérieur de bits dans la couche 25 d'amélioration aux blocs dont la qualité de restitution est inférieure à cette qualité (Psnry) moyenne ou à une qualité (Pnsrf) de référence obtenue à partir de cette qualité moyenne, par exemple en ajoutant une marge de qualité. 4. Dispositif selon l'une des revendications 30 précédentes caractérisé en ce qu'il comprend des moyens pour comparer la qualité (psnrk) de restitution du bloc k à une qualité (psnr6f) de référence de façon à détecter un écart (6psnrk) de qualité par rapport à cette référence (psnrf) et des moyens pour allouer un nombre (NbBitsk) de bits de la couche d'amélioration à ce bloc en fonction de cet écart. 5. Dispositif selon la revendication 5 caractérisé en ce qu'il comprend des moyens pour allouer un nombre (NbBitsk) de bits de la couche d'amélioration en utilisant une relation de proportionnalité telle que: NbBitsk = psnrk, NbBitsk ___= x débit fgs Apsnr NbBitsk - Apsnr dbtg où débittgs est la quantité de bits par image contenue dans le train de la couche d'amélioration et Apsnr est une somme d'écarts (âpsnrk) mesurés pour le bloc considéré. 6. Dispositif selon la revendication 5 caractérisé en ce que la somme psnr est évaluée à partir des écarts entre 15 la qualité de chaque bloc et la qualité de référence, par exemple au moyen d'une formule telle que: k = MxN-1 Apsnr = Y (if (psnrk 7. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend des moyens pour 25 estimer la qualité de restitution de la couche de base en estimant la dégradation, ou le coût (CoutFlti), de son filtrage destinée à réduire des contrastes entre blocs voisins et des moyens pour allouer à un bloc (k) de pixels un nombre (NbBitsk) de bits de la couche d'amélioration d'autant plus important que ce coût (CoutFlti) est élevé. 8. Dispositif selon la revendication 7 caractérisé en ce qu'il comprend des moyens pour estimer le coût (CoutFlti) du filtrage à l'aide d'une formule telle que: Y2 abs(bl1oci baseFiltré(i,j)-blocibase(i,j)) couFlti = où abs est la fonction valeur absolue, et blOCbasefiltré(i,j) blOCbase(i,j) représente la différence de valeurs du pixel de coordonnées i et j de la couche de base après le filtrage et avant le filtrage. 9. Dispositif selon l'une des revendications 7 ou 8 caractérisé en ce qu'il comprend des moyens pour comparer le coût de filtrage (coutFlti) d'un bloc à un coût de filtrage de l'image (COUTFlt) et des moyens pour allouer un nombre (NbBitsfgsi) de bits de la couche d'amélioration à chaque bloc i 15 en fonction de cette comparaison, par exemple en utilisant une relation telle que: coutFlt NbBitsfgsi = débitfgs x COUTFlt où débitfgs est la quantité de bits par image contenue dans le train de la couche d'amélioration. 10. Dispositif selon la revendication 9 caractérisé en 20 ce qu'il comprend des moyens pour déterminer le coût (coutFlt) de filtrage de l'image en additionnant les coûts de filtrage de tous les blocs de l'image, par exemple à l'aide d'une formule telle que: i= MxN -1 COUTFlt= Y (coutFlt1) i=O où i représente un numéro de bloc tandis que M et N 25 représentent les dimensions de l'image. 11. Dispositif selon l'une des revendications 7 à 10 caractérisé en ce qu'il comprend des moyens pour générer la couche d'amélioration d'un bloc en fonction d'un paramètre relatif à une luminance moyenne (Lmoy) associée à ce bloc, 5 déterminée par exemple en additionnant les luminances des pixels du bloc considéré. 12. Dispositif selon la revendication 11 caractérisé en ce qu'il comprend des moyens pour pondérer le coût du filtrage d'un bloc en fonction d'un coefficient F(Lmoyi) dont la 10 valeur dépend de la luminance moyenne de ce bloc. 13. Dispositif selon la revendication 12 caractérisé en ce qu'il comprend des moyens pour que, si la luminance moyenne (Lmoyi) d'un bloc est supérieure à un seuil SeuilLum, alors la valeur de ce coefficient pondérateur soit calculée 15 suivant la formule: F(Lmoyi) = 1-( Lmoyi / 2xSeuilLum) tandis que, sinon, la valeur de ce coefficient pondérateur est constante, par exemple égale à 1/2. 14. Dispositif selon l'une des revendications 7 à 13 20 caractérisé en ce qu'il comprend des moyens pour pondérer le coût du filtrage en fonction d'un coefficient F(Lmoyi) dont la valeur dépend de la texture, ou activité, du bloc de pixels considéré. 15. Dispositif selon la revendication 14 caractérisé 25 en ce qu'il comprend des moyens pour que l'activité Acti d'un bloc i soit calculé au moyen d'une formule telle que: i=7,j=6 Acti = MAXMAX bj, (k, 1) - bi (k + 1,1),4Xbjsc (k, 1) - b. src (k, I + 1)) ij=o i,j=O où k et 1 sont les coordonnées des pixels contenus dans un bloc, bi,src étant un bloc d'indice i de l'image source et max (a,b) est égale à a lorsque a est supérieure à b, et vaut b autrement. 16. Dispositif selon la revendication 15 caractérisé en ce qu'il comprend des moyens pour que le coût du filtrage d'un bloc soit pondéré au moyen d'un facteur (F(Acti)) fonction de son activité. 17. Dispositif selon la revendication 16 caractérisé en ce qu'il comprend des moyens pour que le facteur F(Acti) de pondération varie entre 0.5 et 1 en fonction d'un seuil SeuilAct tel que, si l'activité (Acti) du bloci i considéré est inférieure à ce seuil (SeuilAct) alors le 10 coefficient F(Acti) est égal à : F(Acti)= 1-( Acti / 2xSeuilAct) tandis que ce seuil est constant autrement. 18. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend des moyens pour 15 générer la couche d'amélioration en considérant un vecteur de mouvement ou de déplacement, associé à chaque bloc i de pixel, par exemple au moyen de la formule: Vect= Vx2 +Vy2 où les composantes Vx et Vy représentant les déplacements 20 horizontal et vertical du bloc. 19. Dispositif selon l'une des revendications 7 à 17 et selon la revendication 18 caractérisé en ce qu'il comprend des moyens pour que le coût du filtrage d'un bloc soit pondéré au moyen d'un facteur F(Vecti) fonction du vecteur de 25 mouvement de ce bloc. 20. Dispositif selon la revendication 19 caractérisé en ce qu'il comprend des moyens pour que le facteur F(Vecti) de pondération varie entre 0 et 1 en fonction d'un seuil (SeuilVect) de mouvement, par exemple tel que si la norme du 30 vecteur (Vecti) est inférieure à ce seuil (SeuilVect), alors ce facteur vaut: F(Vecti) = 1-(Vecti/ SeuilVect) tandis que ce facteur F(Vecti) est nulle autrement. 21. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend des moyens pour générer la couche d'amélioration en considérant l'éventuelle sortie du bloc dans une image ultérieure à l'image considérée. 22. Dispositif selon les revendications 18 et 21 caractérisé en ce qu'il comprend des moyens pour anticiper la 5 sortie du bloc de l'image en ajoutant aux coordonnées ib et jb de ce bloc les composantes Vx et Vy du vecteur (Vect) de déplacement de ce bloc (ibne = ib + Vx et jbne= = jb + Vy), de telle sorte que si la position estimée du bloc à l'image suivante est en dehors de l'image (ibne= M) ou(jbne N), M et N étant les dimensions de l'image), la couche d'amélioration de ce bloc n'est pas traitée. 23. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend des moyens pour estimer la qualité (psnr) de restitution d'un bloc de pixels à 15 l'aide d'une modélisation affine telle que la qualité (psnr) de restitution d'une image a une forme linéaire: psnr=Dpsnr.x+b où Dpsnr est une constante égale, par exemple, à 0.212dB/bit par bloc et x représente le nombre de bits par blocs alloué. 24. Dispositif selon les revendications précédentes, caractérisé en ce qu'il comprend des moyens pour générer la couche d'amélioration en allouant plus de bits aux blocs d'une image si cette image est utilisée pour générer d'autres images, par exemple dans le cas d'un codage prédictif inter-image. 25. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il comprend des moyens pour coder la couche de base à l'aide d'une transformée cosinus discrète (DCT). 26. Procédé de compression d'une image source au 30 moyen d'une couche de base, codant une image de base, et d'une couche d'amélioration, codant un résidu existant entre l'image source et l'image de base, l'image source et l'image de base étant structurées par blocs de pixels, caractérisé en ce qu'on utilise un dispositif, générant la couche d'amélioration d'un bloc en fonction d'une qualité de restitution de ce bloc, conforme à l'une des revendications précédentes.