Brevet FR2707070A1 — publié le 19941230

La présente invention est relative à un dispositif de traitement d'images en vue de leur transmission, et en particulier à un dispositif de traitement mettant en oeuvre des techniques de compression d'images à débit variable. Un tel dispositif de traitement d'images trouve notamment application dans la transmission vers la terre d'images relevées par des satellites d'observation. Les techniques de compression d'images à débit variable se distinguent des techniques de compression d'images à débit fixe. Dans les deux cas, les images sont traitées successivement par un module de décorrélation, puis par un quantificateur. Le module de décorrélation de l'image permet de réduire la redondance contenue dans les données. En effet, dans une image, la valeur d'un pixel est fortement corrélée à celle de ses voisins. En pratique, il existe un grand nombre de méthodes, plus ou moins locales, pour décorréler les pixels incidents. La plus simple, et la plus locale, est de remplacer la valeur du pixel p(i,j) par la différence avec le pixel voisin [p(i,j)-p(i,j-1)]. Les données obtenues à l'issue de cette phase de décorrélation sont souvent telles que, même si leur nombre n'a pas augmenté, elles doivent être manipulées avec une dynamique supérieure à celle des pixels source, si l'on désire retrouver l'image sans aucune dégradation par traitement inverse (compression réversible). A l'issue de cette première phase, le processus de compression n'a donc pas encore effectivement commencé, mais les données ont été décorrélées pour que le traitement ultérieur (quantification) soit optimal. Le quantificateur est l'organe essentiel du dispositif de compression. En effet, c'est lui qui va diminuer effectivement la quantité d'information transmise en éliminant toute l'information non pertinente, vis-à-vis de l'utilisation qui est faite des images après décompression au sol. Dans le cas d'une compression à débit fixe, les lois de quantification qui sont utilisées sont non uniformes et adaptées à la statistique des données décorrélées, de façon à minimiser, pour un taux de compression fixé, l'erreur entre l'image source et l'image après compression/décompression. Dans le cas des techniques de compression à débit variable, les lois de quantification qui sont utilisées sont uniformes. Les valeurs quantifiées sont traitées par un module de codage qui a pour rôle de produire un train binaire le plus compact possible. Le principe des codes à longueur variable est simple: affecter les codes les plus courts aux valeurs quantifiées les plus probables. Ce type de codage est appelé "codage entropique" car il tire parti de l'entropie (paramètre dont la définition est rappelée plus loin dans le présent texte) réduite des données après décorrélation et quantification. Le défaut des codeurs & longueur variable (ou entropiques) est qu'ils produisent un débit dynamiquement variable en fonction de l'entropie locale de l'image à traiter. Par exemple, des zones quasi-uniformes (mer, champ labouré,...) de l'image produiront très peu de bits par pixel alors que des zones très actives (ville) en produiront beaucoup. Il est récemment apparu que qualitativement et quantitativement, les techniques de compression à débit variable étaient beaucoup plus performantes que les techniques de compression à débit fixe, et ce quel que soit le type d'image traitée. Notamment, alors que jusqu'à présent, seules les techniques de compression à débit fixe étaient utilisées pour le traitement d'images relevées par des satellites d'observation, pour les satellites de la nouvelle génération (HELIOS 2-SPOT 5), on s'oriente, compte tenu de l'augmentation de la résolution des imageurs, vers les techniques de compression à débit variable. Néanmoins, la mise en oeuvre de ces techniques s'est heurtée, à ce jour, à certaines difficultés. Si dans les techniques de compression à débit fixe, le débit en sortie de l'unité de compression est divisé dans le rapport du taux de compression par rapport au débit d'entrée, dans les techniques à débit variable, le débit instantané en sortie de l'unité de compression peut être ponctuellement égal au débit d'entrée. Ceci correspond par exemple à des zones de l'image ou l'activité (contenu spectral, transition radiométrique) est tellement élevée que l'unité de compression produit autant, voire même plus de bits qu'il n'y en a dans l'image source. Pour ne pas perdre d'informations, on est donc conduit, dans la chaîne de transmission recevant les données en sortie de l'unité de compression, à échantillonner ces données à une fréquence correspondant à la fréquence de la source d'entrée. Sur une suite de bits de données transmises, statistiquement seul un bit tous les T bits (ou T est le taux de compression moyen) sera porteur d'information, les autres bits étant des bits de bourrage. Sur un satellite, une même chaîne de transmission traite simultanément les images relevées par plusieurs unités de travail portées par le satellite. Les éléments qui composent cette chaîne et qui se trouvent en aval des différentes unités de compression associées à ces différentes unités de travail doivent être dimensionnés pour pouvoir traiter un débit total égal à la somme des débits que leur envoient les unités de travail. Dans le cadre d'imageurs haute résolution, ceci dépasse largement les possibilités technologiques actuelles, ce d'autant qu'on constate en pratique que les techniques de compression d'images à débit variable ne permettent pas de prévoir, pour une programmation opérationnelle donnée, la taille des images à mieux que + 30 %. Pour éviter tout risque de débordement ou de saturation des éléments de la chaîne de transmission qui se trouvent en aval des unités de compression, on est amené à dimensionner ces éléments avec une marge d'environ %. La performance globale du dispositif est alors proche de celle obtenue avec des techniques de compression à débit fixe. Pour pallier ces problèmes, il a déjà été proposé de disposer en sortie de l'unité de compression une mémoire de lissage de type First In-First Out (FIFO) dont le débit de sortie H2 est fixe et est égal, par rapport au débit H1 de la source d'images, à H2 = H1/K ou K est un paramètre compris entre 1 et un taux de compression moyen escompté T. Cette mémoire FIFO réalise ainsi un lissage passif en boucle ouverte qui amortit les fluctuations des taux de compression sur l'image. Le débit d'échantillonnage des données en sortie du compresseur est réduit dans un rapport K. Néanmoins, un tel dispositif présente les désavantages suivants: - pas de maîtrise de la taille des images puisque l'algorithme fonctionne en boucle ouverte; - taille de la mémoire FIFO de lissage de plusieurs centaines de Mbits; - risque de débordement de la mémoire FIFO (et donc perte d'une partie de la prise de vue) difficilement quantifiable; - le taux de compression moyen escompté doit être choisi avec une certaine marge. Un tel lissage répond donc parfaitement aux problèmes du débit en sortie du compresseur mais ne résout aucunement les problèmes de dimensionnement des ressources en aval du compresseur. Il a également été proposé de compléter cette mémoire FIFO par une unité de régulation qui reçoit de ladite mémoire FIFO une information relative à son taux de remplissage et calcule un paramètre F par lequel elle commande le quantificateur de façon à adapter le taux de compression au taux de remplissage de la mémoire FIFO. La taille de la mémoire FIFO peut ainsi être notablement réduite, sans risque de débordement et donc de perte de partie de prise de vue. Néanmoins, on constate en pratique que les images restituées sont de qualité très inhomogène. Ceci est dû- à des fluctuations plus ou moins erratiques du paramètre F de réglage du taux de compression, et en particulier à des ajustements intempestifs de ce paramètre F qui est en opposition de phase par rapport au contenu local de l'image à comprimer. Un but principal de l'invention est donc de proposer un dispositif de traitement d'images: - dont le débit de sortie est fixe et réduit par rapport au débit de données binaires qu'il reçoit, - qui permet une qualité d'images restituées homogène, notamment le long de la trace de satellite, sans risque de saturation ou débordement des éléments qui la constituent. L'invention a donc pour objet un dispositif de traitement d'images, comportant des moyens pour la réception d'images sous forme de données binaires de matrice de valeurs de pixels; et une unité de compression (1) à laquelle ces données sont transmises à débit de données binaires fixe, cette unité de compression (1) comportant: - un module de décorrélation des images reçues; - un quantificateur qui reçoit les données décorrélées; - un module de codage des données quantifiées, selon un code de longueur variable, le dispositif comportant également: - une mémoire de type FIFO recevant les données codées, le débit de données binaires en sortie de cette mémoire FIFO étant fixe et inférieur au débit en entrée de l'unité de compression; - des moyens de régulation qui reçoivent de la mémoire FIFO une information sur son taux de remplissage et commandent l'unité de compression de façon à asservir le taux de compression moyen issu de cette unité de compression au taux de remplissage de la mémoire FIFO. Selon l'invention, le dispositif est caractérisé en ce qu'il comporte des moyens de pré-analyse des images transmises à l'unité de compression, ces moyens de pré- analyse comportant des moyens pour déterminer, pour une portion d'image à traiter un paramètre estimateur de la quantité d'informations contenue dans cette portion, ce paramètre estimateur étant transmis aux moyens de régulation, lesdits moyens de régulation commandant l'unité de compression de façon à asservir le taux de compression moyen issu de cette unité de compression à la fois à ce paramètre estimateur et au taux de remplissage de la mémoire FIFO. Un autre objet de l'invention est un dispositif de transmission d'images, notamment d'images relevées par des satellites d'observation de la terre, comportant au moins un dispositif de traitement d'images de ce type. D'autres caractéristiques et avantages de l'invention ressortiront encore de la description qui suit d'un mode de réalisation particulier du dispositif selon l'invention. Cette description doit être lue en regard des dessins annexés sur lesquels: - la figure 1 représente schématiquement par blocs le dispositif de compression selon un mode de réalisation particulièrement avantageux de l'invention; - la figure 2 représente schématiquement une courbe de statistiques de prédiction en sortie du décorrélateur; - la figure 3 illustre schématiquement une loi de quantification possible pour les résidus; - les figures 4 et 5 représentent schématiquement des graphes sur lesquels sont portés des réseaux de droites moyennes en fonction du facteur de compression (nombre de bits par ligne de blocs/entropie); - la figure 6 est un graphe illustrant la régulation du taux de remplissage de la mémoire FIFO; - la figure 7 illustre schématiquement le séquencement global des opérations dans le dispositif de la figure 1; - la figure 8 illustre une chaîne de transmission d'images comportant des dispositifs de traitement selon l'invention. Le dispositif selon l'invention qui a été représenté schématiquement sur la figure 1 comporte principalement une unité de compression 1 et une mémoire FIFO 2 (First In First Out) qui reçoit les données comprimées par l'unité de compression 1. Cette unité de compression 1 est du type à débit variable. Elle comporte une unité de décorrélation 3, un quantificateur 4 et une unité de codage 5. Un exemple de décorrélation possible pour l'unité 3 est ici illustré. soit une ligne image: rang de pixels 0 X X O X X, etc. valeurs de pixels A B C D, etc. Les pixels de rang 3N+l (représentés par des 0) sont transmis tels quels (pixels de référence). Pour les autres pixels (représentés par des X), on calcule la différence entre la valeur du pixel et la prédiction. La prédiction pour les pixels B et C (notée PB, PC) est égale à: partie entière (A/2) + partie entière (D/2). En sortie du décorrélateur, on trouve les valeurs: A, B-PB, C-PC, D,...... Seuls sont quantifiés les résidus de prédiction (B-PB, C-PC,.....). La statistique des résidus de prédiction est du type Laplacienne. Elle a été représentée sur le diagramme de la figure 2, sur lequel on a porté le pourcentage de résidus de prédiction en fonction de la valeur N - (avec: K(N) = (a/2)e-aN, o a est une constante). On a illustré sur la figure 3 une loi de quantification possible pour le quantificateur 4.- Cette loi est telle que: * il n'y a pas d'erreur de quantification pour des résidus compris entre -7 et =7; * erreur maximum de 1 pour des résidus compris en valeur absolue entre 8 et 24; * erreur maximum de 8 pour des résidus compris en valeur absolue entre 25 et 50; * erreur maximum de 195 pour des résidus compris en valeur absolue entre 51 et 255; * le nombre de valeurs possibles après quantification est de 32, les résidus quantifiés sont donc codés sur 5 bits et les références sur 8 bits. Le nombre de bits par pixel est donc (8+2*5)/3=6 bits/pix. d'o un taux de compression brut de 1.33. L'unité de codage 5 réalise par exemple un codage de type Rice. Les données quantifiées sont codées de la façon suivante: valeur code 0 1 1 01 -1 001 2 0001 -2 00001 3 000001 -3 0000001 etc. On peut montrer que ce code (bien que très simple dans son principe et pour le décodage au sol) est un code optimal pour a>().481 (a = paramètre de la distribution Laplacienne des valeurs quantifiées). En pratique, on utilise un codage de Rice à 8 options, chaque option correspondant à un nombre différent de bits de poids faible transmis en clair. Les pixels sont regroupés en bloc (par exemple de 16), tous les pixels d'un même bloc étant codés avec la même option. La taille d'un bloc apres codage varie grandement avec le contenu de ce bloc. Dans une variante particulièrement avantageuse, l'unité 1 met en oeuvre un algorithme de décorrélation de type DCT (Discrete Cosine Transform). La quantification est uniforme et fonction d'un facteur de quantification F par lequel on divise les coefficients spectraux issus de l'algorithme de décorrélation avant de les quantifier, F pouvant varier de 1 à 128. L'unité 5 code les coefficients DC représentant les composantes continues des données comprimées en DPCM (Differential Pulse Coded Modulation) et codage entropique du type Length et valeur (codage de la valeur et du nombre de bits nécessaire pour coder le coefficient). Les autres coefficients (coefficients AC) sont codés avec une table de code Run-Length et valeur. La mémoire FIFO 2 a une capacité de l'ordre de 500 koctets. Cette mémoire FIFO 2 reçoit les données comprimées, à un débit qui est variable en fonction des pixels traités. Elle est commandée par une horloge H2 qui lui impose un débit H2 de sortie fixe. Si H1 est le débit fixe auquel les données sont transmises à l'entrée de l'unité de compression 1 par une source d'images S, H2 est tel que H2 = H1/K avec 1 T, o T est le taux de compression moyen escompté. Le facteur de quantification F est calculé par une unité de régulation 6 qui reçoit de la mémoire FIFO 2 des informations sur le taux de remplissage de la mémoire FIFO (flèche 7). Selon l'invention, une unité de pré-analyse 8 est disposée en amont de l'unité de compression 1. Elle fournit à l'unité 6 des informations sur les données qui seront comprimées par l'unité 1 (flèche 9). En particulier, l'unité 8 réalise sur chaque ligne entrant dans le compresseur 1 une pré-analyse qui calcule un paramètre estimateur de la quantité d'informations contenue dans cette ligne de blocs. Cet estimateur est utilisé pour prédire la quantité de bits produite par cette ligne de blocs après compression. A titre d'exemple, un tel estimateur peut être choisi comme étant l'entropie des différences entre pixels adjacents sur la même ligne, cette entropie se calculant par la formule i=+255 H = pi log, I i=-2.55 Pi o Pi est la probabilité que la différence entre pixels adjacents sur une même ligne prenne la valeur i. Un autre estimateur simplifié (homogène à l'écart- type de la distribution des différences) est encore donné par la formule v= E [pi.-pi.j- o les coefficients Pi,j sont les valeurs des pixels de l'image source. Cet estimateur est plus simple à calculer que l'entropie et donne également de bons résultats. A l'aide de cet estimateur (flèche 9) et du taux de remplissage de la mémoire FIFO 2 (flèche 7), l'unité de régulation 6 détermine le facteur F optimal. A cet effet, afin de prévoir au mieux le nombre de bits produit par la ligne de blocs après compression pour divers facteurs F de quantifications possibles, on bâtit un réseau de droites moyennes (une droite par facteur F) permettant de relier la valeur de l'estimateur pour la ligne de blocs considérée avec le nombre de bits produit après compression. Ce réseau de droites est stocké dans des moyens mémoire 6a des moyens de régulation 6. On obtient ces droites moyennes en réalisant les simulations sur un grand nombre d'images et donc un grand nombre de lignes de blocs. Les nuages de points obtenus ont l'allure typique représentée sur la figure 4. Par régression linéaire, il est possible d'obtenir une droite moyenne par facteur. Ce réseau de droites a alors l'allure représentée sur la figure 5. On remarque que ces droites sont sensiblement parallèles et que plus les facteurs sont élevés et plus les droites sont proches. Pour simplifier le calcul réalisé par l'unité de régulation, on extrait d'un réseau complet de droites un sous-ensemble de droites équiréparties, de façon à avoir une couverture homogène du plan avec un minimum de droites (et donc de facteurs). Le calcul du facteur optimal F s'effectue à partir du principe général suivant illustré sur la figure 6: - pour un taux de remplissage TA de la mémoire FIFO 2 lors du traitement par l'unité de régulation 6 de la ligne de blocs N, on va déterminer un taux TV souhaité pour l'implémentation N + 1; - on vise à cet effet le retour à l'équilibre dans la mémoire FIFO de sortie (à savoir 50 % de remplissage) au bout de K lignes de blocs, K étant un paramètre de réglage de l'algorithme de régulation; - plus K est petit: *plus la régulation est rigide *plus le taux de compression est uniforme d'une ligne de blocs à l'autre *plus la qualité image est inhomogène le long de la trace; - plus K est grand: *plus le taux de remplissage de la mémoire FIFO est susceptible de fluctuer *plus la qualité image est homogène le long de la trace; - il y a donc un compromis à trouver entre la taille de la mémoire FIFO et l'homogénéité de la qualité image (donc la valeur de K). A partir du taux TV, on déduit le nombre de bits alloué à la ligne de blocs N noté Nb(N). A partir de Nb(N) et de l'estimateur calculé H(N), on déduit le facteur F à appliquer à l'aide du réseau de droites moyennes de prédiction de la figure 5. On constate en outre par simulation, que pour certains types d'images les droites moyennes sont systématiquement optimistes (ou pessimistes) vis-à-vis du nombre de bits produits. On introduit donc avantageusement dans la boucle de régulation précédemment décrite une estimation du biais introduit par les droites moyennes. Le principe est le suivant: - pour chaque ligne de blocs N, calculer la différence A(N) entre le nombre de bits effectivement produits en sortie de compression (noté Nbeff(N)) et le nombre de bits prédit Nb(N). On a: A(N)=Nbeff(N)- Nb(N); - le biais B(M) pour la ligne de blocs M est donné par: V v E A(M- i) B(M) = i=l V V étant un paramètre de réglage (valeur typique = 10); - retrancher B(M) à Nb(M) avant détermination du facteur optimal à l'aide du réseau de droites moyennes. Avec l'estimation de biais B(M), l'algorithme de régulation est beaucoup moins sensible au réseau de droites retenu. On se réfère maintenant à la figure 7 qui illustre l'implémentation dans le dispositif de la figure 1. Le cycle de base de l'algorithme de régulation est la ligne de blocs (à savoir huit lignes). On calcule donc un facteur F par ligne de blocs. Pendant le cycle N: - la ligne de blocs N est dans le module 8 de calcul de l'entropie (pré-analyse); - la ligne de blocs N-1 est stockée dans une mémoire tampon 10 en attendant que le module de régulation 6 calcule la consigne F(N-1) à lui appliquer; - la ligne de blocs N-2 est en cours de compression avec la consigne F(N-2) dans l'unité 1; - la ligne de blocs N-3 comprimée est dans la mémoire FIFO 2 de sortie en attendant d'être échantillonnée par l'utilisateur. A la fin du cycle N, l'unité de régulation 6 charge la consigne F(N-1) dans le module de quantification 4 et prélève les valeurs H(N), ainsi que le taux de remplissage TA(N-2) de la mémoire FIFO 2. Ces deux valeurs notées H1(N) et T(N-2) lui servent pour le calcul de F(N) dans le cycle N+1. On a illustré sur la figure 8 une application possible pour des dispositifs de traitement d'images conformes à l'invention. Cette application concerne le traitement d'images recueillies à partir d'un satellite par deux unités de travail référencées par 11 et 12. Ces images sont transmises pour être comprimées à deux dispositifs de traitement d'images 13 et 14 du type de celui qui vient d'être décrit. Les images comprimées sont transmises en sortie des mémoires FIFO de ces dispositifs 13 à 14 à une même mémoire tampon 15, dans laquelle elles sont stockées avant d'être envoyées sur un enregistreur EMS 16 et un transpondeur 17 satellite-sol. Une chaîne de traitement inverse 18 est prévue au sol pour la récupération des images. REVENDICATIONS 1. Dispositif de traitement d'images, comportant des moyens pour la réception d'images sous forme de données binaires représentatives de matrices de pixels; et une unité de compression (1) à laquelle ces données sont transmises à débit de données binaires fixe, cette unité de compression (1) comportant: - un module de décorrélation (3) des images reçues; - un quantificateur (4) qui reçoit les données décorrélées; - un module de codage (5) des données quantifiées, selon un code de longueur variable, le dispositif comportant également: - une mémoire de type FIFO (2) recevant les données codées, le débit de données binaires en sortie de cette mémoire FIFO (2) étant fixe et inférieur au débit en entrée de l'unité de compression (1); - des moyens de régulation (6) qui reçoivent de la mémoire FIFO une information sur son taux de remplissage et commandent l'unité de compression (1) de façon à asservir le taux de compression moyen issu de cette unité de compression au taux de remplissage de la mémoire FIFO (2); caractérisé en ce qu'il comporte des moyens de pré-analyse (8) des images transmises à l'unité de compression (1), ces moyens de pré-analyse (8) comportant des moyens pour déterminer, pour une portion d'image à traiter, un paramètre estimateur de la quantité d'informations contenue dans cette portion, ce paramètre estimateur étant transmis aux moyens de régulation (6), lesdits moyens de régulation commandant l'unité de compression (1) de façon à asservir le taux de compression moyen issu de cette unité de compression (1) à la fois à ce paramètre estimateur et au taux de remplissage de la mémoire FIFO (2). 2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de régulation (6) comportent des moyens pour déterminer un paramètre F optimal de réglage du taux de compression, en fonction duquel le quantificateur est asservi. 3. Dispositif selon la revendication 2, caractérisé en ce que les moyens de régulation (6) comportent des moyens mémoire (6a) dans lesquels sont stockées des données permettant d'associer un paramètre F optimal de réglage de taux de compression à un paramètre estimateur et à un nombre de bits de remplissage de la mémoire FIFO (2) donnés. 4. Dispositif selon la revendication 3, caractérisé en ce que les moyens de régulation (6) comportent des moyens mémoire (6a) dans lesquels sont stockées des coordonnées de droites, reliant chacune, pour un paramètre optimal F donné, le nombre de bits de remplissage à un paramètre estimateur. 5. Dispositif selon la revendication 4, caractérisé en ce que les moyens de régulation (6) comportent des moyens pour déterminer un paramètre de biais dont le nombre de bits de remplissage est corrigé pour la détermination du paramètre F optimal. 6. Dispositif selon l'une des revendications 3 à , caractérisé en ce que les moyens de régulation (6) comportent des moyens pour calculer un nombre de bits de remplissage en fonction du taux de remplissage réel de la mémoire FIFO et d'un taux de remplissage souhaité pour ladite mémoire FIFO. 7. Dispositif selon l'une des revendications i à 6, caractérisé en ce que les moyens de pré-analyse (8) déterminent le paramètre estimateur pour des portions d'images qui sont les lignes de blocs d'images. 8. Dispositif selon l'une des revendications 1 à 17 2707070 7, caractérisé en ce qu'il comporte une mémoire tampon (10) dans laquelle est stockée la portion d'images dont les moyens de pré-analyse ont déterminé le paramètre estimateur, avant que cette portion ne soit traitée par l'unité de compression (1), pendant la détermination par les moyens de régulation de l'asservissement correspondant à appliquer à l'unité de compression (1). 9. Dispositif selon la revendication 1, caractérisé en ce que le paramètre estimateur que déterminent les moyens de pré-analyse est l'entropie de la portion d'image à traiter. 10. Dispositif selon la revendication 1, caractérisé en ce que le paramètre estimateur que déterminent les moyens de pré-analyse est ci = IPi,j-Pi,j-lI i j ou p (ij) est la valeur du pixel de coordonnées (i, j) de la portion d'image à traiter. 11. Dispositif pour la transmission d'images relevée par au moins une unité de travail (11, 12), comportant des moyens (15, 16, 17) pour l'émission de données binaires vers des moyens (18) de réception et de décodage de ces données, ces moyens d'émission (15, 16, 17) recevant lesdites données binaires selon un débit d'informations fixe d'un dispositif de traitement d'images (13, 14) selon l'une des revendications précédentes, l'unité de travail (11, 12) comportant des moyens pour transmettre audit dispositif de traitement (13, 14) d'images sous forme de données binaires de matrice de pixels, les images relevées, à débit de données binaires fixes.