Brevet FR2795275A1 — publié le 20001222

La présente invention concerne de manière générale la compression de données numériques avec pertes. Plus particulièrement, la présente invention propose un dispositif et un procédé pour contrôler le débit d'un système de compression de données numériques avec pertes. Classiquement, un système de compression de données numériques transforme un signal numérique en un train binaire ayant une taille réduite par rapport au signal d'origine. La compression de données entraîne une perte d'information, et donc une dégradation. Cette dégradation est généralement exprimée par une distance mesurée entre le signal d'origine et le signal reconstruit après décompression. En pratique, le système de compression est réglé à l'aide de paramètres de contrôle pour choisir un compromis entre débit et distorsion. La variation des paramètres de contrôle permet de construire la courbe débit- distorsion du système. Cette courbe est dite opérationnelle si elle est mesurée ou estimée sur le système en cours de fonctionnement. Les paramètres de contrôle permettent de contrôler le débit ou la qualité des données codées, par exemple de sorte que ce débit, ou cette qualité, soit constant(e) au cours du temps. Par qualité, on entend ici la distorsion des données codées. Des solutions pour contrôler le débit d'un système de compression de données numériques avec pertes ont été proposées. Cependant, les besoins d'un contrôle en temps réel qui implique une basse complexité et des temps de traitement très réduits, ne sont pas toujours compatibles avec un contrôle fiable et de bonne qualité. La présente invention vise à fournir un procédé et un dispositif pour estimer la performance débit-distorsion d'un système de compression de données numériques avec pertes, de manière à contrôler en temps réel le débit de ce système, par l'intermédiaire d'un paramètre de contrôle qui est la distorsion des données codées. A cette fin, l'invention propose un procédé de contrôle de débit pour un système de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce que le contrôle de débit est effectué avec un paramètre de contrôle qui est un seuil de distorsion des données compressées, et en ce qu'il comporte une étape de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. L'invention concerne aussi un procédé de compression de données numériques représentatives de grandeurs physiques, avec pertes, comportant un contrôle de débit effectué avec un paramètre de contrôle qui est un seuil de distorsion des données compressées, et comportant une étape de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. Corrélativement, l'invention concerne un dispositif de contrôle de débit pour un système de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce qu'il est adapté à effectuer le contrôle de débit avec un paramètre de contrôle qui est un seuil de distorsion des données compressées, et en ce qu'il comporte des moyens de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. L'invention concerne encore un dispositif de compression de données numériques incluant le dispositif précédent. L'estimation de la performance débit-distorsion du système est effectuée en ligne, à partir de valeurs mesurées périodiquement. Le contrôle est ainsi effectué en temps réel. En outre, les inventeurs ont constaté expérimentalement que le débit est contrôlé de manière efficace. Selon une caractéristique préférée, le filtrage adaptatif est un filtrage moindres carrés récursif. Ce type de filtrage, bien connu en soi, donne des résultats satisfaisants tout en étant simple à mettre en #uvre. L'invention concerne aussi un appareil numérique incluant le dispositif précédent ou des moyens de mise en #uvre du procédé précédent. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en #uvre le procédé selon l'invention. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels : - la figure 1 représente un dispositif de compression de données numériques avec pertes, - la figure 2 représente un dispositif de compression de données numériques avec pertes, selon la présente invention, - la figure 3 représente un mode de réalisation de dispositif de compression de données numériques avec pertes, selon la présente invention, - la figure 4 représente des courbes de performance du dispositif selon l'invention, - la figure 5 représente un algorithme de compression de données numériques avec pertes incluant une estimation de la relation entre débit et distorsion, selon la présente invention, - la figure 6 représente la compression proprement dite de données numériques, incluse dans l'algorithme de la figure 5. Selon un mode de réalisation choisi et représenté à la figure 1, un appareil 100, qui est par exemple un caméscope numérique, ou un système de gestion de base de données, ou encore un ordinateur, intègre une source 1 de données non codées. La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu. La source 1 peut être par exemple une caméra vidéo dans le cas d'un signal d'image ou microphone dans le cas d'un signal de son. Une sortie de la source 1 est reliée à une entrée 21 d'un dispositif 2 de codage de données. Le dispositif 2 est un dispositif de compression de données avec pertes. Le dispositif 2 a une sortie 22 reliée à des moyens 3 utilisateurs de données codées. Le dispositif 2 délivre des données compressées sous la forme d'un train binaire ayant un débit R et une distorsion D. La distorsion D est l'erreur induite par la perte d'information au cours de la compression. En pratique, la distorsion D est souvent une erreur quadratique moyenne. Pour réaliser la compression, le dispositif 2 utilise un jeu de paramètres de contrôle q, dont un exemple sera détaillé dans la suite. Les paramètres de contrôle q permettent de déterminer un compromis souhaité entre le débit et la distorsion des données compressées. Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées. Un exemple d'utilisation de l'estimation du modèle débit/distorsion est représenté à la figure 2. Un dispositif 200 possède une source 10 qui fournit une séquence d'images numériques f, à fN, où N est un entier. Une image quelconque fn dans la séquence, avec n compris entre 1 et N, est une image à niveau de gris, comportant à titre d'exemple 176xl44 pixels à 256 niveaux. Le dispositif de codage 20 effectue une compression avec pertes des données numériques qu'il reçoit et fournit à une mémoire tampon 25 des données codées dont le débit binaire est variable d'une image à l'autre. La mémoire tampon 25 a pour fonction de lisser les variations à court terme inhérentes à la dynamique de la source vidéo. La mémoire tampon 25 fournit aux moyens utilisateurs de données 30 un débit binaire R constant, utile lorsque les données codées sont à transmettre sur un canal de transmission de bande passante fixe. La mémoire tampon 25 a une taille Br,,#,x qui est limitée par des considérations pratiques, telles que coût d'implémentation ou délais de traitement bout à bout. On considère un traitement périodique des données, et un indice i représente un instant de mesure et traitement dans la suite des données. Par exemple, la période est synchronisée avec les données à traiter. Dans le cas d'une séquence d'image, la période de traitement peut correspondre à un groupe d'images, ou à une image, ou encore à une partie d'image. Dans la suite, la période correspond à une image. Le débit Ri en sortie du dispositif 20 est fourni à un module 40 d'estimation du modèle débit distorsion, qui à son tour agit sur un module 50 de contrôle de débit. Ce dernier reçoit également le taux de remplissage Bi de la mémoire tampon 25. Le module 50 est relié au système de compression et au module 40 et leur fournit des paramètres de contrôle qi pour que le taux de remplissage Bi reste proche d'une valeur prédéterminée, par exemple la moitié de la taille Bmax. En référence à la figure 3, est décrit un exemple de dispositif 300 mettant en #uvre l'invention. Ce dispositif est adapté à compresser un signal numérique. Le dispositif 300 est ici un micro-ordinateur comportant un bus de communication 101 auquel sont reliés - une unité centrale 105, - une mémoire morte 102, - une mémoire vive 103, - un écran 104, - un clavier 114, - un disque dur 108, - un lecteur de disquette 109 adapté à recevoir une disquette 110, - une interface 112 de communication avec un réseau de communication 113, - une carte d'entrée/sortie 106 reliée à un microphone 111. Le disque dur 108 mémorise les programmes mettant en ceuvre l'invention, et qui seront décrits dans la suite, ainsi que les données à compresser et les données compressées selon l'invention. Ces programmes peuvent aussi être lus sur la disquette 110, ou reçu via le réseau de communication 113, ou encore mémorisé en mémoire morte 102. De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). Lors de la mise sous tension du dispositif, les programmes selon la présente invention sont transférés dans la mémoire vive 103 qui contient alors le code exécutable de l'invention et des registres contenant les variables nécessaires à la mise en ceuvre de l'invention. La mémoire vive inclut une mémoire tampon. Le dispositif 300 peut recevoir des données à compresser depuis un dispositif périphérique 107, tel qu'une caméra numérique, un appareil photographique numérique, ou un scanner, ou tout autre moyen d'acquisition ou de stockage de données. Le dispositif 300 peut également recevoir des données à compresser depuis un dispositif distant, via le réseau de communication 113, et transmettre des données compressées vers un dispositif distant, toujours via le réseau de communication 113. Le dispositif 300 peut aussi recevoir des données à compresser depuis le microphone 111. Ces données sont alors un signal de son. L'écran 104 permet à un utilisateur notamment de visualiser les données à compresser, et sert, avec le clavier 114, d'interface utilisateur. En référence à la figure 4, sont représentés deux exemples de courbes D'(R) et D"'(R) illustrant la relation entre le débit et la distorsion du système de compression. Comme déjà précisé, le traitement des données est périodique, et un indice i représente un instant de mesure et traitement dans la suite des données. A l'instant de mesure i, le débit Ri et la distorsion Di sont mesurés et l'estimateur de modèle 40 détermine la courbe donnant la distorsion D en fonction du débit R. De même, à l'instant de mesure suivant i+l, le débit Ri,, et la distorsion Di,, sont mesurés et l'estimateur de modèle 40 détermine la courbe donnant la distorsion D en fonction du débit R. Le dispositif 2 utilise un jeu de paramètres de compression qui est déterminé en fonction du débit ou de la distorsion. On considère comme paramètre de compression la mesure de distorsion. Le modèle utilisé est un modèle paramétrique affine de la forme g(D) a.f(R) + b, où g est une fonction strictement monotone. Dans un mode préféré de réalisation, le modèle utilisé est log(D) a.R + b. Dans tous les cas, l'estimateur a pour fonction d'estimer les paramètres a et b, en fonction de la valeur mesurée Ri et de la valeur Di prise comme paramètre de contrôle de la compression. Le modèle paramétrique peut être écrit de manière équivalente sous forme matricielle d = h T. () avec T en exposant qui dénote la transposée, d = g(D), h T [f(R), 1] et 0 = [a, bf. La séquence observée di obéit au modèle linéaire suivant di hi T. 0 + V,# avec le bruit vi qui inclut les erreurs de modélisation. Le filtrage adaptatif qui est mis en ceuvre fournit une estimation e(Oi) en fonction des informations disponibles à l'instant i. Si l'on se donne une estimation d'origine efflo), l'estimation e(Oi) est mise à jour de manière récursive grâce à une relation de la forme e(Oi) e(Oi-1) + Ki . yi où Ki est le gain du filtre et yi est l'innovation du filtre, définit par T yi di - hi . e(Oi-1). De préférence, le filtre adaptatif est un filtre moindres carrés récursif, ou filtre RLS, d'après l'anglais Recursive Least Square . Ce type de filtre ne nécessite aucune hypothèse sur la nature et les caractéristiques du bruit vi. Ainsi, à chaque instant de mesure i, le filtre donne une estimation e(Oi) du vecteur 0, ce qui équivaut à une courbe débit-distorsion D'(R). La figure 5 représente un mode de réalisation de codage d'une séquence de N images numériques, où N est un entier, avec régulation de débit binaire qui comporte des étapes El à E10 mise en #uvre par le dispositif de codage 20. L'étape El est une initialisation à laquelle la première image à traiter est considérée. Les images qui sont ici prises en compte sont des images à coder en mode inter-image. A l'étape suivante E2, l'image courante est fournie par la source 1 au dispositif de codage 2. L'étape E2 est suivie de l'étape E3 à laquelle l'image courante est compressée. Cette étape est détaillée dans la suite en référence à la figure 6. Le paramètre de contrôle qi qui est ici utilisé est un seuil de distorsion Di. Pour la première image à coder, le seuil Dl est prédéterminé, ou est calculé, de sorte que l'occupation initiale de la mémoire 25 soit sensiblement égale à la moitié de la taille de la mémoire 25, soit Br,,#,,,/2. L'étape suivante E4 est l'estimation de la performance de la compression, c'est-à-dire de la taille Ri de l'image compressée en utilisant le paramètre de compression Di. L'étape suivante E5 est la détermination de l'occupation Bi de la mémoire tampon 25, selon la formule suivante Bi max (0, Bi-, + Ri - R). L'étape suivante E6 est un test pour vérifier si le débit binaire Ri déterminé à l'étape E3 est valide pour l'estimation du modèle. Ce test a pour but d'éliminer des valeurs aberrantes. Par exemple, le test consiste à vérifier si le débit binaire est compris dans une gamme déterminée de valeurs qui dépendent des caractéristiques du système de compression. Si la réponse est négative, les mesures ne sont pas prises en compte dans l'estimation. Si la réponse à l'étape E6 est positive, cette étape est suivie de l'étape E7 à laquelle les paramètres a et b, tels que définis plus haut, sont estimés selon la méthode des moindres carrés récursive (en Anglais Recursive Least Square). L'étape suivante E8 est le calcul du paramètre de contrôle Di,, qui sera utilisé pour coder l'image suivante. Le paramètre Di,, doit être tel que l'occupation Bi,, de la mémoire 25 soit comprise entre zéro et B,#. En pratique, le paramètre Di,, est déterminé de sorte que l'occupation Bi., soit égale à Br,,#,j2. Le modèle Débit-Distorsion conduit à la solution Di+, g-l( a.f(R+B,ax/2-Bi) + b) où les paramètres a et b sont ceux déterminés à l'étape ET L'étape suivante E9 est un test pour déterminer si toutes les images de la séquence ont été traitées. S'il reste au moins une image à traiter, l'étape E9 est suivie de l'étape E10 pour considérer l'image suivante. L'étape El 0 est suivie de l'étape E2 précédemment décrite. Pour la dernière image, les étapes E7 et E8 peuvent être supprimées, puisqu'il n'est pas nécessaire de déterminer le paramètre Di,, pour l'image suivante. L'étape E3 est représentée à la figure 6 sous la forme d'un algorithme comportant des étapes E31 à E37. Le codage étant effectué image par image, ces étapes représentent le codage d'une seule image fi. Globalement, une image de la séquence est codée par blocs, et chaque bloc est codé selon un mode de codage qui est sélectionné en fonction d'u n- seuil de distorsion. L'étape E31 est une division de l'image considérée fi en un nombre prédéterminé M de blocs Ai,, à Aiy de pixels adjacents. Le nombre M de blocs peut être prédéterminé, ou peut être un paramètre réglé par l'utilisateur de l'algorithme. Dans ce mode de réalisation, les blocs Ai,, à Ai,m sont adjacents, sans recouvrement. En variante non représentée, les blocs peuvent se chevaucher, pour limiter les effets de bloc au décodage, au détriment du taux de compression. Selon une première variante de ce mode de réalisation, les blocs ont tous la même taille prédéterminée, et sont par exemple des blocs carrés. La division de l'image est uniforme dans toute l'image. Selon une seconde variante, la taille des blocs, tout en étant prédéterminée, dépend de l'emplacement des blocs dans l'image : dans une zone déterminée de l'image, par exemple une zone centrale susceptible de contenir plus de détails, les blocs sont plus petits que sur les bords de l'image. Cette zone déterminée sera alors codée plus finement que le reste de l'image. Cette variante est notamment intéressante pour la visiophonie, puisque dans ce cas, les images reproduisent principalement les visages des utilisateurs, qui sont généralement situés au centre des images. Dans tous les cas, la division de l'image a pour résultat un ensemble de M blocs Ai,, à Ai,m. Les blocs Ai,, à Ai.m seront compressés, ou codés, les uns à la suite des autres, dans un ordre quelconque. Cet ordre est de préférence prédéterminé et est alors l'ordre dans lequel seront ensuite décompressés, ou décodés, les blocs, ce qui rend inutile de repérer les blocs par un indice ou par des coordonnées. En variante, il est possible de repérer les blocs et d'associer le repérage, indice ou coordonnées, au bloc codé, ce qui permet de décompresser les blocs dans un ordre quelconque, qui peut être différent de l'ordre utilisé à la compression. L'étape E31 est suivie de l'étape E32, qui est une initialisation d'un paramètre m à 1, pour considérer le premier bloc Ai,, dans l'image fi. L'étape suivante E33 est le codage du bloc courant par chacun des modes de codage d'un ensemble prédéterminé. Par exemple, cet ensemble comporte un codage intra-image tel qu'un codage par quantification vectorielle, des codages inter-image par compensation de mouvement, ou par recopie de bloc, ou encore par détermination d'une approximation multilinéaire entre des blocs source sélectionnés dans une image de référence et le bloc courant à coder. L'étape E33 est suivie de l'étape E34 qui est un tri des modes de codage par débit croissant. L'étape suivante E35 est le calcul, pour chacun des modes de codage, de la distorsion de codage du bloc courant, par exemple par calcul de l'erreur quadratique moyenne entre le bloc reconstruit et le bloc courant. Parmi les modes de codage ordonnés par débit croissant, on choisit ensuite le premier dont la distorsion est inférieure à un seuil de distorsion D qui correspond au seuil Di de l'étape E3 de la figure 5. Ainsi, on sélectionne pour chaque bloc, le mode de codage qui minimise le débit tout en satisfaisant un critère sur la distorsion. Dans le cas où aucun mode de codage ne fournirait une distorsion inférieure au seuil, celui qui présente la distorsion la plus faible est sélectionné. Il est à noter que la distorsion Di de codage de l'image peut être définie comme la valeur supérieure des distorsions des blocs. L'étape suivante E36 est un test pour vérifier si m est égal à M, c'est-à-dire si le bloc qui vient d'être codé est le dernier de l'image courante. S'il reste au moins un bloc à coder dans l'image fi, l'étape E36 est suivie par l'étape bloc suivant dans l'image fi. L'étape E37 est suivie de l'étape E33 précédemment décrite. Lorsque le bloc qui vient d'être codé est le dernier de l'image courante, l'étape E37 est suivie de l'étape E4 précédemment décrite, où le débit Ri est la somme des débits de codage de tous les blocs. Il est à noter que si l'on connaît à l'avance le débit de codage associé à chaque mode de codage, il est possible d'effectuer le codage du bloc par le mode de codage fournissant le débit le plus faible, puis de comparer immédiatement la distorsion obtenue au seuil. Si la distorsion est inférieure au seuil, il est alors inutile d'effectuer le codage du bloc par les autres modes de codage. Dans le cas contraire, il faut effectuer le codage du bloc par le mode de codage fournissant le débit immédiatement supérieur au précédent, puis de comparer la distorsion obtenue au seuil, et ainsi de suite. Ainsi, il n'est pas nécessaire d'effectuer tous les codages. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. En particulier, pour tenir compte des variations du contenu du signal, une variante comporte une normalisation de la distorsion D. La distorsion D est alors divisée par la variance des données d'entrée, laquelle doit être calculée à chaque période de mesure i. Cette valeur normalisée est ensuite utilisée dans le modèle paramétrique affine précédemment décrit. REVENDICATIONS 1. Procédé de contrôle de débit pour un système de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce que le contrôle de débit est effectué avec un paramètre de contrôle qui est un seuil de distorsion (Di) des données compressées, et en ce qu'il comporte une étape (E7) de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. 2. Procédé de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce qu'il comporte des étapes de - contrôle de débit effectué avec un paramètre de contrôle qui est un seuil de distorsion (Di) des données compressées, - modélisation (E7) de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le filtrage adaptatif est un filtrage moindres carrés récursif. 4. Dispositif de contrôle de débit pour un système de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce qu'il est adapté à effectuer le contrôle de débit avec un paramètre de contrôle qui est un seuil de distorsion (Di) des données compressées, et en ce qu'il comporte des moyens (40) de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. 5. Dispositif (200) de compression de données numériques représentatives de grandeurs physiques, avec pertes, caractérisé en ce qu'il comporte : - des moyens (50) de contrôle de débit adaptés à effectuer le contrôle avec un paramètre de contrôle qui est un seuil de distorsion (Di) des données compressées, et - des moyens (40) de modélisation de la relation entre le débit et la distorsion des données compressées par un modèle affine estimé par filtrage adaptatif. 6. Dispositif selon la revendication 4 ou 5, caractérisé en ce qu'il est adapté à mettre en #uvre un filtrage adaptatif qui est un filtrage moindres carrés récursif. 7. Dispositif selon l'une quelconque des revendications 4 à 6, caractérisé en ce que les moyens de modélisation sont incorporés dans - un microprocesseur (105), -une mémoire morte (102) comportant un programme pour compresser le signal, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 8. Appareil numérique (200) incluant des moyens de mise en #uvre du procédé selon l'une quelconque des revendications 1 à 3. 9. Appareil numérique (200) incluant le dispositif selon l'une quelconque des revendications 4 à 7.