Brevet FR2919779A1 — publié le 20090206

L'invention est relative à un procédé et à un dispositif de codage avec perte d'un signal numérique à transmettre à travers un système de communication. Il est connu que pour transmettre des signaux numériques tels que des 5 images et du son à travers un réseau de communication à bande passante limitée une compression ou codage de ces signaux doit avoir lieu. Ce codage est le plus souvent effectué avec perte d'information. Généralement, un algorithme de contrôle de débit est utilisé pour rendre maximale la qualité du signal codé, tout en respectant les contraintes liées 10 à la bande passante limitée. Ces contraintes de bande passante se traduisent par une contrainte sur le débit autorisé pour la transmission des informations sur le réseau. C'est la raison pour laquelle on parle de maximiser la qualité sous une contrainte de débit donnée. 15 Par ailleurs, il est important de s'assurer que la qualité d'un signal codé se maintienne au cours du temps à des niveaux acceptables en évitant des sauts de niveaux de qualité qui sont souvent mal perçus par les utilisateurs. C'est le cas par exemple avec une vidéo qui est transmise sur une chaîne numérique à faible bande passante et où l'image tressaute. 20 Ce désagrément s'aggrave d'ailleurs lorsque l'image tressaute lors d'un changement de scène. On notera qu'il est même parfois préférable d'avoir, pour un signal, un niveau de qualité moyen faible mais acceptable et qui dure dans le temps plutôt qu'un niveau de qualité plus élevé en moyenne mais accompagné, dans le temps, 25 de sauts de niveaux de qualité désagréables. On connaît, d'après le document US 5,978,029, une méthode visant à optimiser la qualité du codage avec perte en temps réel en modifiant un pas de quantification initial. Cette méthode empêche des sauts de qualité importants mais uniquement lorsque la baisse de qualité dépasse un certain seuil. Au dessus 30 de ce seuil, une baisse de qualité peut toujours survenir. D'autre part, une hausse brutale de qualité n'est pas prise en compte. De plus, la limitation de la baisse dans la qualité est effectuée au détriment de la qualité sur le long terme qui doit être réduite. En effet, la limitation de la baisse provoque un surplus de la quantité de données à transmettre qui doit, au final, être absorbé par le réseau avec la même consigne de bande passante autorisée. On connaît également, d'après le document US 7,079,581, une méthode de codage en temps réel d'un signal numérique. Cette méthode calcule des variations du pas de quantification utilisé pour le codage d'une image à l'autre en fonction d'un débit réel obtenu et ce, afin d'atteindre un débit cible. Cette méthode possède cependant l'inconvénient d'avoir une contrainte forte sur le débit cible qui réduit fortement la liberté de contrôler les variations du pas de quantification et, par conséquent, la qualité du signal. En effet, si le débit réel est très éloigné du débit cible, les variations autorisées du pas de quantification autour de la valeur nominale calculée par le mécanisme de contrôle de débit sont très réduites. Par conséquent, les méthodes de l'art antérieur citées plus haut ne 15 permettent pas d'assurer une bonne gestion de la qualité des signaux au cours du temps. La présente invention a pour objet un nouveau procédé et un nouveau dispositif de codage avec pertes qui tiennent compte de la gestion de la qualité du codage au cours du temps. 20 Selon un premier aspect, l'invention vise un procédé de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce que le codage fait intervenir au moins une valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit tout en tenant compte des variations 25 possibles au cours du temps d'au moins un paramètre du système de communication. Ainsi, on estime les variations possibles au cours du temps d'un ou de plusieurs paramètres du système de communication qui sont susceptibles d'avoir une influence sur la qualité du signal codé transmis ou à transmettre et on 30 détermine une valeur de paramètre de codage adaptée à ces variations et minimisant la distorsion sous une contrainte de débit. Les variations possibles au cours du temps de ce ou ces paramètres du système sont prises en compte dans la détermination de la valeur du ou des paramètres de codage, ce qui permet de gérer la qualité du signal codé dans le temps. On contrôle ainsi des sources potentielles de diminution de la qualité au cours du temps, ce qui permet d'éviter des sauts de qualité désagréables. La qualité moyenne d'un signal codé peut de ce fait être maintenue dans le temps. Selon un deuxième aspect, l'invention vise un procédé de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce qu'il comprend les étapes suivantes : - détermination d'une première valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit, - détermination des variations possibles au cours du temps d'au moins un paramètre du système de communication, - détermination des variations possibles au cours du temps de la première valeur dudit au moins un paramètre de codage qui sont induites par les variations possibles dudit au moins un paramètre du système de communication, -détermination, à partir des variations possibles de la première valeur ainsi déterminées, d'une seconde valeur dudit au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit. Ainsi, de façon plus particulière, on estime l'impact que peuvent avoir les variations possibles du ou des paramètres du système sur la valeur du ou des paramètres de codage et on détermine une valeur de ce ou ces paramètres dans la limite des variations estimées et qui minimise la distorsion due au codage sous une contrainte de débit. Selon une caractéristique, un paramètre de codage est le pas de quantification utilisé lors du codage Selon une caractéristique, un paramètre de codage est le mode de codage utilisé lors du codage, permettant ainsi de savoir si l'utilisation d'un mode particulier ne va pas impliquer une forte variation de qualité (visible dans certains cas lorsqu'une image de type intra est générée en lieu d'une image de type inter). Selon une caractéristique, le signal numérique est un signal vidéo ayant des images qui comprennent des macroblocs, des macroblocs étant codés avec un mode de codage de type intra ou de type inter, un paramètre de codage étant le rapport entre les macroblocs codés intra et les macroblocs codés inter. Ceci permet ainsi d'établir un compromis entre qualité et rafraîchissement de l'image en forçant le codage de type intra de blocs (technique appelée en terminologie anglosaxonne intra refresh ). Cette technique de rafraîchissement permet de réinitialiser des zones erronées après une erreur de décodage due à une perte réseau ou à une corruption de données au cours de la transmission. Outre la proportion entre différents types de macroblocs, on peut utiliser comme paramètre de codage la proportion entre différents types d'images. On peut également envisager la taille d'une zone des données transformées d'un bloc appelée zone morte et qui correspond à un ensemble de coefficients dont la valeur est forcée à zéro après quantification. Selon une caractéristique, ledit au moins un paramètre du système de communication est choisi parmi au moins l'un des paramètres suivants : bande passante du système de communication, taux de remplissage d'une mémoire tampon utilisée avant la transmission du signal codé ou à la réception du signal codé transmis, charge de traitement au niveau du dispositif de réception du signal codé transmis, délai entre les opérations de codage et de décodage, permettant ainsi de respecter des limites/contraintes physiques du système. Selon une caractéristique, le procédé comprend une étape de détermination d'un indice i traduisant la variabilité dudit au moins un paramètre du système de communication. Cet indice permet de simplifier avantageusement la représentation des différentes variations possibles et ainsi la méthode de calcul des paramètres de codage finaux. Ainsi, cet indice permet de prendre connaissance de l'évolution du ou des paramètres du système de communication, tant en ce qui concerne le sens des variations du ou des paramètres que la rapidité de cette évolution. Cet indice peut donc être utilisé pour prendre une décision sur le codage du signal. Par exemple, lorsque le ou les paramètres du système évoluent rapidement et que la variation engendrée risque d'affecter la qualité du signal transmis ou à transmettre, l'indice précité est représentatif de cette évolution rapide. En fonction de cet indice et du ou des paramètre(s) de codage initiaux (première valeur) on peut modifier les paramètres de codage utilisés lors du codage pour obtenir un ou des paramètres de codage finaux. Selon une caractéristique, l'étape de détermination de la seconde 5 valeur dudit au moins un paramètre de codage tient compte de l'indice i déterminé. On détermine ainsi une nouvelle valeur du ou des paramètres de codage de façon adaptée à la valeur de l'indice i. Le codage adapté prend donc en compte les variations détectées du ou des paramètres du système, tout en 10 fournissant une distorsion aussi petite que possible compte tenu des circonstances et ce, sous une contrainte de débit. Selon une caractéristique, l'indice i est déterminé à partir de plusieurs des valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage. 15 Cet indice prend en compte plusieurs paramètres du système afin d'être représentatif de différentes sources qui sont susceptibles d'induire des changements de qualité du signal lors de sa transmission ou lors de son décodage. Selon une caractéristique, l'indice i est déterminé à partir d'au moins 20 une des opérations suivantes effectuées sur plusieurs des valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage: sommation de ces valeurs, valeur moyenne de ces valeurs, minimum de ces valeurs et racine carrée de la somme des carrés de ces valeurs. 25 L'invention vise également un dispositif de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce que le codage fait intervenir au moins une valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit tout en tenant compte des variations possibles au cours du 30 temps d'au moins un paramètre du système de communication. Plus particulièrement, l'invention vise un dispositif de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce qu'il comprend : - des moyens de détermination d'une première valeur d'au moins un 5 paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit, - des moyens de détermination des variations possibles au cours du temps d'au moins un paramètre du système de communication, - des moyens de détermination des variations possibles au cours du 10 temps de la première valeur dudit au moins un paramètre de codage qui sont induites par les variations possibles dudit au moins un paramètre du système de communication, - des moyens de détermination, à partir des variations possibles de la première valeur ainsi déterminées, d'une seconde valeur dudit au moins un 15 paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit. Selon une caractéristique, un paramètre de codage est le pas de quantification. Selon une caractéristique, un paramètre de codage est le mode de 20 codage. Selon une caractéristique, le signal numérique est un signal vidéo ayant des images qui comprennent des macroblocs, des macroblocs étant codés avec un mode de codage de type intra ou de type inter, un paramètre de codage étant le rapport entre les macroblocs codés intra et les macroblocs codés inter. 25 Selon une caractéristique, ledit au moins un paramètre du système de communication est choisi parmi au moins l'un des paramètres suivants : bande passante du système de communication, taux de remplissage d'une mémoire tampon utilisée avant la transmission du signal codé ou à la réception du signal codé transmis, charge de traitement au niveau du dispositif de réception du signal 30 codé transmis, délai entre le codage et le décodage. Selon une caractéristique, le dispositif comprend des moyens de détermination d'un indice i traduisant la variabilité dudit au moins un paramètre du système de communication. Selon une caractéristique, l'indice i est déterminé à partir de plusieurs 5 des valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage. Selon une caractéristique, l'indice i est déterminé à partir d'au moins une des opérations suivantes effectuées sur les valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le 10 décodage : sommation de ces valeurs, valeur moyenne de ces valeurs, minimum de ces valeurs et racine carrée de la somme des carrés de ces valeurs. Selon une caractéristique, les moyens de détermination de la seconde valeur dudit au moins un paramètre de codage tiennent compte de l'indice i déterminé. 15 L'invention concerne également un moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur, comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus. L'invention vise aussi un moyen de stockage d'informations amovibles, 20 partiellement ou totalement, lisible par un ordinateur ou un microprocesseur, comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus. Selon encore un autre aspect, l'invention vise un programme 25 d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable. Les caractéristiques et avantages relatifs au dispositif selon l'invention, 30 aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé selon l'invention, ils ne seront pas rappelés ici. D'autres caractéristiques et avantages apparaitront au cours de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de façon schématique une mise en situation 5 de l'invention ; - la figure 2 représente un algorithme sur lequel s'appuie un exemple de réalisation du procédé selon l'invention ; - la figure 3 est une vue schématique d'un appareil de communication selon l'invention. 10 Comme représenté à la figure 1, une source de données 100 (signal numérique), par exemple, d'un signal vidéo 101 fournit les images de la séquence vidéo à un dispositif de codage ou encodeur 102. On notera que le signal stocké dans la source 100 peut être obtenu par cette dernière de façon diverse comme, par exemple, par capture s'il s'agit d'une 15 caméra vidéo ou par transmission à partir d'une autre source (par exemple une base de données). L'encodeur 102 effectue un codage avec perte du signal numérique 101 afin de le transformer en un train binaire 103 destiné à être transmis à travers un système de communication tel qu'un réseau de communication. 20 Plus particulièrement, le codage effectué dans le module de codage 102 fait intervenir un ou plusieurs paramètres de codage qui peuvent être, par exemple, le pas de quantification ou bien le mode de codage de certaines parties ou unités des images de la séquence telles que les macroblocs. On notera que, dans le cas où les images de la séquence vidéo 25 comprennent des macroblocs, ceux-ci sont codés avec un mode de codage de type intra ou de type inter et un paramètre de codage peut être le rapport entre les macroblocs codés avec le mode de codage de type intra et les macroblocs codés avec le mode de codage de type inter. Le ou les paramètres de codage utilisés lors du codage sont choisis 30 pour minimiser la distorsion, c'est-à-dire pour rendre la qualité maximale sous une contrainte de débit donnée. Pour ce faire, on utilise, de façon connue, un algorithme de contrôle de débit tel qu'une loi quadratique liant la taille d'image au pas de quantification comme décrit dans l'annexe L du standard de codage vidéo MPEG-4 Partie 2 (ISO 14496-2). Le train binaire 103 comprenant le signal numérique codé est transmis à travers le système de communication précité et le signal codé ainsi transmis est représenté par la référence 150 en entrée d'un système de décodage. Le train binaire en entrée de ce système de décodage peut comporter des erreurs par comparaison avec le train binaire issu du module de codage 102 du fait de sa transmission à travers le système de communication et des pertes réseau qui peuvent éventuellement survenir. Ce train binaire 150 est traité par un décodeur ou module de décodage 151 qui le transforme en une séquence d'images 152 décodées. Cette séquence est ensuite transmise à un périphérique de sortie 153 15 tel qu'un afficheur (écran...) pour être visualisée. Le système de communication est notamment caractérisé par un ou plusieurs paramètres représentant des contraintes qui sont susceptibles d'avoir une influence sur la transmission du signal à travers le système, voire une influence sur le codage et/ou le décodage. 20 A titre d'exemple, on peut citer comme paramètre du système : - la bande passante du système de communication, le taux de remplissage d'une mémoire tampon utilisée au niveau du décodeur 151 avant d'effectuer des opérations de décodage ou, au niveau de l'encodeur 102, après avoir effectué des opérations de codage, 25 - la charge de traitement au niveau du dispositif de réception du signal codé transmis et, par exemple du système de décodage et d'affichage, le délai entre l'émission de données par le système d'encodage (par exemple le serveur) et leur restitution au niveau du système de décodage... Compte tenu de la consigne de débit (bande passante autorisée), on 30 utilise de la façon la plus appropriée qui soit les variations possibles au cours du temps de ce ou ces paramètres ou contraintes du système pour transmettre des données qui, normalement, ne pourraient pas être transmises. Ainsi, le ou les paramètres de codage utilisés par l'encodeur 102 sont déterminés de façon adaptée, dynamiquement, compte tenu du débit de données à respecter pour rendre la distorsion due au codage aussi faible que possible, en se basant sur les possibilités de variation de ces paramètres ou contraintes. L'analyse des variations possibles fait apparaître des disponibilités (ex : charge du réseau faible, taux d'occupation de mémoire tampon faible...) pour transmettre des données supplémentaires ou, au contraire, des indisponibilités, avec, dans les chaque cas, un degré d'urgence. La figure 2 illustre un algorithme d'un exemple de réalisation du 10 procédé de codage selon l'invention qui comporte une série d'étapes qui vont être détaillées ci-après. Ce procédé est, par exemple, mis en oeuvre par l'exécution d'un programme informatique basé sur cet algorithme. L'algorithme de la figure 2 débute par une étape 200 de traitement de 15 données numériques. Au cours de cette étape, les données sont séparées en plusieurs échantillons (ces échantillons peuvent être des pixels, des parties ou unités d'images telles que des macroblocs...). On notera que cette étape a principalement pour fonction d'associer 20 une information temporelle au signal à traiter dans la mesure où il va être question ci-après de variabilité au cours du temps des paramètres ou contraintes du système. À titre d'alternative, il pourrait être envisagé de traiter de façon analogique le signal à l'aide d'une boucle de rétroaction intégrant un retard. 25 Au cours de l'étape suivante 201, un premier échantillon issu du signal est sélectionné en vue de son traitement, ce qui va permettre d'initialiser les opérations de traitement du signal. L'algorithme comporte ensuite une étape 202 au cours de laquelle des premières contraintes ou paramètres de système sont mis à jour. 30 Ces valeurs subissent en effet une réévaluation en temps réel qui est rendue nécessaire en raison des conditions physiques changeantes (obstacles, mouvement, autres trafics sur le réseau...). Ces premières contraintes sont, par exemple, le débit autorisé, le délai entre le codage et le décodage d'un paquet de données, le niveau de remplissage d'une ou de plusieurs mémoires tampons utilisées dans le système... Au cours de l'étape suivante 203 on détermine, de façon générale, une première valeur d'un ou de plusieurs paramètres de codage de façon à minimiser la distorsion due au codage, tout en respectant la contrainte de débit. Cette étape fait, par exemple, intervenir un algorithme de contrôle de débit connu utilisant par exemple le pas de quantification comme paramètre de codage, et permet de déterminer un optimum mathématique du ou des paramètres de codage utilisés et qui respectent les contraintes. À titre d'exemple, on détermine une première valeur du pas de quantification qui permet, par codage avec ce pas, de satisfaire le débit souhaité (par exemple 6 mégabits par seconde) et de respecter un délai (par exemple inférieur à 300 millisecondes). Cette première valeur va servir de valeur de référence et sera utilisée par la suite pour déterminer une seconde valeur de paramètres de codage adaptée, de façon dynamique, aux variations possibles au cours du temps d'une ou de plusieurs contraintes ou paramètres du système. L'algorithme comporte une étape suivante 204 au cours de laquelle les variabilités ou variations possibles au cours du temps d'une ou de plusieurs contraintes ou paramètres du système de communication sont déterminées. La ou les contraintes dont il est question dans cette étape peuvent être les mêmes que les premières contraintes visées à l'étape 202 ou être des contraintes différentes. Parmi les contraintes envisageables pour l'étape 204, on peut citer de façon non limitative : - incertitude sur l'estimation de la bande passante du système de communication, - tolérance au délai entre le codage et le décodage des données, 30 - distance par rapport aux seuils critiques de remplissage de mémoires tampons,... Cette opération de mise à jour de la variabilité de contraintes est suivie d'une étape 205 qui prévoit de déterminer un indice i traduisant la variabilité du ou des paramètres ou contraintes du système de communication déterminée à l'étape 204. Plus particulièrement, l'étape 205 fait intervenir les variabilités déterminées à l'étape 204 pour obtenir une valeur globale de variabilité. Dans l'exemple de réalisation décrit l'indice i traduisant la variabilité des contraintes ou paramètres du système peut être dérivé à partir des grandeurs de variabilités des contraintes ou paramètres suivants : - un niveau ou taux d'occupation L d'une mémoire tampon (par exemple au décodeur) à comparer avec la valeur de remplissage moyen Lo, - une bande passante estimée à la valeur R avec une erreur AR, - un délai D comparé à un délai Do adapté aux besoins (par exemple un délai de 0,3s peut être adapté pour une vidéo conférence selon le contenu mais, s'il s'agit de contrôle à distance, un délai de 100ms peut s'avérer inadapté). Le délai et le niveau de remplissage d'une mémoire sont souvent des paramètres liés car, en effet, une mémoire pleine implique un long délai en attendant que les données soient transmises. Cependant, comme ces paramètres recouvrent des problèmes différents, ils peuvent être traités séparément. Ainsi, pour la valeur L, on calcule la valeur normalisée L' = (L- Lo) / Lo. Pour la valeur R, on calcule la valeur normalisée R' = AR / R. Pour la valeur D, on calcule la valeur normalisée D' comme suit : DùDo D >ù D a Do Le paramètre a régit la réactivité du système de communication 25 face à des délais importants (dans l'exemple choisi a=1). Les valeurs D', L' et R' obtenues sont ensuite sommées et fournissent une valeur normalisée I. On notera qu'au lieu d'être normalisées les valeurs D, L et R pourraient subir une opération de lissage temporel, de seuillage ou de binarisation. Ceci n'est toutefois qu'un exemple de réalisation car, comme délai et D'= remplissage de mémoire tampon sont liés, la valeur normalisée I peut aussi être une combinaison linéaire des valeurs D', L' et R'. D'autres possibilités sont bien entendu envisageables comme l'établissement d'une valeur moyenne des valeurs D, L et R normalisées ou non, voire traitées autrement, la recherche d'un minimum des valeurs précitées et la détermination de la racine carrée de la somme des carrés des valeurs précitées. Les variabilités de contraintes ainsi déterminées sont alors traduites en variabilité(s) de paramètre(s) de codage. Pour ce faire, on peut par exemple segmenter comme suit l'espace des valeurs de I pour obtenir un indice i dont les valeurs sont indiquées sous les segments: 1 -2 -1 2 0 1 -0,4 -0,1 0,1 0,4 1 20 L'indice i peut ainsi être vu comme représentatif d'un degré d'urgence : plus la valeur absolue de i est élevée, plus la consigne doit être respectée. En outre, le signe de i indique le sens a priori de l'évolution des paramètres de codage : des valeurs négatives indiquent une urgence négative (la qualité pouvant sans doute être augmentée) et les valeurs positives indiquent une 25 urgence positive (la qualité devant décroitre si les paramètres initiaux de codage sont bien déterminés). L'étape 205 de détermination d'un index de variabilité des contraintes est suivie d'une étape 206 utilisant la valeur globale obtenue à l'étape 205 pour déterminer les variations possibles, au cours du temps, de la première valeur 30 (valeur de référence) du ou des paramètres de codage déterminée à l'étape 203. De façon générale, au cours de cette étape on détermine, à partir des variations possibles de la ou des contraintes ou paramètres du système de communication, une tolérance ou plage de variation de la valeur de référence du ou des paramètres de codage de l'étape 203. 35 Dans l'exemple de réalisation décrit, le pas de quantification est le seul paramètre de codage utilisé. A titre d'exemple, on pourrait utiliser comme autre paramètre de codage pris seul ou en combinaison avec le pas de quantification, le type d'image, la taille des tranches ( slices en terminologie anglosaxonne)... On va maintenant déterminer à titre d'exemple un moyen d'obtention 5 de la plage de variation d'un paramètre de codage tel que le pas de quantification. Considérons d'abord les notations suivantes : - i est l'index obtenu précédemment, - k est l'index temporel de l'image dans la suite d'images qui 10 constitue la séquence vidéo, - Q'k est le pas de quantification initial fourni par l'étape 203, - Qk est le pas de quantification final obtenu après mise en oeuvre de l'étape 206. Lapremière possibilité est de restreindre le pas de quantification 15 initial à un domaine autour du pas de quantification précédent Q;_I. Ainsi, pour chaque index, des bornes inférieure AQm n et supérieure AQkmax sur la variation du pas de quantification sont déterminées et le pas de quantification final s'écrit: Qiù1 + AQ/7 , Q; Ç Qiù1 + AQk n a- Qi Qiù1 + 'Qk 7 , Qiù1 + AQ/7 ~ Qi Les valeurs sont ensuite tronquées aux valeurs possibles pour le 20 codec utilisé (par exemple le codec décrit dans le standard MPEG-4 Partie 2). On peut donner les exemples suivants pour AQkmax et AQk n : - Si i=2, on aura des valeurs de AQkmax très élevées (dépendantes du codec, par exemple égales à 10 pour le standard MPEG-4 Partie 2), et des valeurs AQk n basses (par exemple 0) ; 25 - Si i=-2, c'est AQkmax qui sera faible (par exemple 0) et AQk n sera négative (valeur égale à -10, par exemple dans le cas du standard MPEG-4 Partie 2) - des valeurs de i égales à -3 ou 3 indiquent des urgences maximales: le choix du contrôle de débit est alors conservé. La deuxième possibilité est de calculer une combinaison linéaire de la valeur initiale Q'i et de la valeur précédente Qi_1 sous la forme suivante : Qi = akxQ'i + bkxQi-1 Des exemples de valeurs sont : - Pour k valant 3 ou -3, ak=1 et bk=0 ; en effet, compte tenu de l'urgence maximale indiquée par l'indice de variabilité, le choix du contrôle de débit est conservé ; - Pour k=0, ak=0,2 et bk=0,8 ; la valeur précédente est ici prépondérante sur le choix du contrôle de débit. L'étape 206 a ainsi permis de déterminer des bornes ou des coefficients fixant la plage de variation possible du paramètre de codage utilisé. Au cours de l'étape suivante 207 on détermine, à partir des variations possibles des premières valeurs du ou des paramètres de codage déterminées à l'étape 206, une seconde valeur de ce ou ces paramètres, cette seconde valeur minimisant la distorsion due au codage sous une contrainte de débit. Il s'agit là de la détermination des paramètres de codage finaux qui seront utilisés pour le codage des données avant leur transmission. Plus particulièrement, l'étape 207 fait appel au paramètre de codage initial ou aux paramètres de codage initiaux déterminés à l'étape 203, aux plages de variations possibles obtenues à l'étape 206 et à un ou des paramètres de codage de référence obtenus à l'étape suivante 208 (qui sera décrite ci-après) mais obtenus lors de l'itération précédente (sur l'échantillon précédent), en vue de générer le ou les paramètres de codage finaux. Une fois le ou les paramètres de codage finaux déterminés à l'étape 207, l'étape suivante 208 prévoit une mise à jour de la valeur du ou des paramètres de codage de référence. À titre d'exemple, cette mise à jour peut consister à affecter à la valeur 30 des paramètres de référence de l'étape 208 la ou les valeurs des paramètres de codage finaux obtenus à l'étape 207 au cours de la même itération. C'est ainsi que l'on procède d'ailleurs lors du traitement du premier échantillon 201. Selon un autre exemple, les paramètres de référence de l'étape de codage 208 peuvent être obtenus en effectuant le calcul d'une valeur moyenne 5 des paramètres de codage finaux obtenus à l'étape 207. Au cours de l'étape suivante 209, le ou les paramètres de codage finaux de l'étape 207 sont utilisés pour le codage de l'échantillon courant. L'étape suivante 210 est une étape de test au cours de laquelle on détermine si la boucle de traitement prévue par l'algorithme doit se poursuivre. 10 Lorsque l'échantillon courant qui vient d'être codé à l'étape 209 n'est pas le dernier échantillon du signal, alors l'étape suivante 211 sélectionne l'échantillon suivant et les étapes précédemment décrites 202 à 210 sont alors de nouveau exécutées en relation avec ce nouvel échantillon courant. Dans le cas où l'échantillon courant s'avère être le dernier échantillon 15 du signal alors l'étape 210 est suivie de l'étape 212 qui met fin à l'algorithme. On notera que l'invention permet de conserver un algorithme de contrôle de débit connu en soi et déjà présent au niveau de l'encodeur 102 de la figure 1 en rajoutant une surcouche à faible complexité. Cette surcouche se traduit par les étapes supplémentaires 204 à 208 20 de l'algorithme de la figure 2. Ces étapes supplémentaires permettent d'utiliser la variabilité des contraintes ou paramètres du système de communication pour moduler les calculs du contrôle de débit afin d'obtenir, notamment, le lissage en qualité, au cours du temps, du signal, en l'occurrence de la séquence vidéo dans cet 25 exemple. Dans le mode de réalisation, le procédé de codage de la vidéo, par exemple au format MPEG4, est mis en oeuvre sous la forme de programme(s) d'ordinateur. Ce ou ces programmes comportent une ou plusieurs séquences 30 d'instructions dont l'exécution par un ordinateur ou, de manière plus générale, par un appareil de communication programmable, permet la mise en oeuvre des étapes du procédé en conformité avec l'invention. De manière générale, un moyen de stockage d'informations, lisible par un ordinateur ou par microprocesseur, intégré ou non à cet ordinateur, et éventuellement amovible, est adapté à mémoriser un programme apte à mettre en oeuvre ce procédé en conformité avec l'invention. Dans la figure 3, l'ordinateur ou appareil de communication 300 qui peut être un micro-ordinateur ou station de travail, est connecté à différents périphériques, par exemple une caméra numérique 301 pour la capture de la vidéo ou tout autre dispositif d'acquisition ou de stockage d'images, tel qu'un scanner, fournissant à l'ordinateur des vidéos à transmettre. Ces vidéos peuvent être stockées dans les moyens de stockage dont dispose l'ordinateur. On notera que le système d'encodage et de transmission du signal 103 de la figure 1 est par exemple intégré dans cet appareil 300. L'ordinateur 300 comporte également une interface de communication 318 qui est reliée à un système de communication 320, par exemple le réseau Internet, et qui est apte à transmettre et à recevoir des données numériques. L'ordinateur 300 comporte également des moyens de stockage de données tels qu'un disque dur 312, un lecteur de disquettes 314 permettant d'écrire des données sur une disquette 316 et de lire ces données. L'ordinateur peut également comporter un lecteur de compact disques (CDROM ou DVDROM) non représenté, sur lequel peuvent être stockées les vidéos ainsi qu'un lecteur de cartes informatiques (PC-GARD) non représenté. Les codes exécutables du ou des programmes permettant de mettre en oeuvre les différentes parties de l'invention sont, par exemple, mémorisées dans le disque dur 312. Selon une variante de réalisation, les codes exécutables de ces programmes sont stockés dans une mémoire ROM ( Read Only Memory ) 304 de l'ordinateur. L'ordinateur 300 comporte en outre un écran 308 permettant de visualiser les vidéos et un dispositif de pointage (non représenté), tel qu'une souris ou un crayon optique, et/ou un clavier 310 de manière à pouvoir interagir avec le programme. L'ordinateur comporte une unité centrale de traitement (CPU) 303, par exemple un microprocesseur, qui commande et dirige l'exécution des instructions du (ou des) programme(s) de l'invention stocké(s) dans la mémoire ROM 304 ou dans le disque dur 312. L'ordinateur 300 comporte également une mémoire RAM ( Random Access Memory ) 306. Cette dernière comporte des registres pour mémoriser les variables créées et modifiées pendant l'exécution du ou des programmes selon l'invention, notamment les variables mentionnées plus haut dans l'exposé, en relation avec la figure 2. L'appareil de communication programmable 300 (serveur) comporte tous les moyens nécessaires à la mise en oeuvre de l'invention pour coder et décoder les données, transmettre et recevoir des données (par exemple vidéo) afficher des données (par exemple vidéo)... On notera que le système de réception du signal codé et transmis 150 de la figure 1 peut être un appareil du type de celui représenté à la figure 3. REVENDICATIONS 1. Procédé de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce que le codage fait intervenir au moins une valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit tout en tenant compte des variations possibles au cours du temps d'au moins un paramètre du système de communication. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend les étapes suivantes : - détermination (203) d'une première valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit, - détermination (204) des variations possibles au cours du temps d'au moins un paramètre du système de communication, -détermination (206) des variations possibles au cours du temps de la première valeur dudit au moins un paramètre de codage qui sont induites par les variations possibles dudit au moins un paramètre du système de communication, - détermination (207), à partir des variations possibles de la première valeur ainsi déterminées, d'une seconde valeur dudit au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit. 3. Procédé selon la revendication 2, caractérisé en ce qu'un paramètre de codage est le pas de quantification. 4. Procédé selon la revendication 2, caractérisé en ce qu'un paramètre 25 de codage est le mode de codage. 5. Procédé selon l'une des revendications 2 à 4, caractérisé en ce que le signal numérique est un signal vidéo ayant des images qui comprennent des macroblocs, des macroblocs étant codés avec un mode de codage de type intra ou de type inter, un paramètre de codage étant le rapport entre les macroblocs 30 codés intra et les macroblocs codés inter. 6. Procédé selon l'une des revendications 2 à 5, caractérisé en ce que ledit au moins un paramètre du système de communication est choisi parmi aumoins l'un des paramètres suivants : bande passante du système de communication, taux de remplissage d'une mémoire tampon utilisée avant la transmission du signal codé ou à la réception du signal codé transmis, charge de traitement au niveau du dispositif de réception du signal codé transmis, délai entre le codage et le décodage. 7. Procédé selon l'une des revendications 2 à 6, caractérisé en ce qu'il comprend une étape (205) de détermination d'un indice i traduisant la variabilité dudit au moins un paramètre du système de communication. 8. Procédé selon les revendications 6 et 7, caractérisé en ce que l'indice i est déterminé à partir de plusieurs des valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage. 9. Procédé selon la revendication 8, caractérisé en ce que l'indice i est déterminé à partir d'au moins une des opérations suivantes effectuées sur plusieurs des valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage: sommation de ces valeurs, valeur moyenne de ces valeurs, minimum de ces valeurs et racine carrée de la somme des carrés de ces valeurs. 10. Procédé selon l'une des revendications 7 à 9, caractérisé en ce 20 que l'étape de détermination (207) de la seconde valeur dudit au moins un paramètre de codage tient compte de l'indice i déterminé. 11. Dispositif de codage avec perte d'un signal numérique à transmettre à travers un système de communication, caractérisé en ce que le codage fait intervenir au moins une valeur d'au moins un paramètre de codage 25 qui minimise la distorsion due au codage sous une contrainte de débit tout en tenant compte des variations possibles au cours du temps d'au moins un paramètre du système de communication. 12. Dispositif selon la revendication 11, caractérisé en ce qu'il comprend : 30 - des moyens de détermination d'une première valeur d'au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit,- des moyens de détermination des variations possibles au cours du temps d'au moins un paramètre du système de communication, -des moyens de détermination des variations possibles au cours du temps de la première valeur dudit au moins un paramètre de codage qui sont induites par les variations possibles dudit au moins un paramètre du système de communication, - des moyens de détermination, à partir des variations possibles de la première valeur ainsi déterminées, d'une seconde valeur dudit au moins un paramètre de codage qui minimise la distorsion due au codage sous une contrainte de débit. 13. Dispositif selon la revendication 12, caractérisé en ce qu'un paramètre de codage est le pas de quantification. 14. Dispositif selon la revendication 13, caractérisé en ce qu'un paramètre de codage est le mode de codage. 15. Dispositif selon l'une des revendications 12 à 14, caractérisé en ce que le signal numérique est un signal vidéo ayant des images qui comprennent des macroblocs, des macroblocs étant codés avec un mode de codage de type intra ou de type inter, un paramètre de codage étant le rapport entre les macroblocs codés intra et les macroblocs codés inter. 16. Dispositif selon l'une des revendications 12 à 15, caractérisé en ce que ledit au moins un paramètre du système de communication est choisi parmi au moins l'un des paramètres suivants : bande passante du système de communication, taux de remplissage d'une mémoire tampon utilisée avant la transmission du signal codé ou à la réception du signal codé transmis, charge de traitement au niveau du dispositif de réception du signal codé transmis, délai entre le codage et le décodage. 17. Dispositif selon l'une des revendications 12 à 16, caractérisé en ce qu'il comprend des moyens de détermination d'un indice i traduisant la variabilité dudit au moins un paramètre du système de communication. 18. Dispositif selon les revendications 16 et 17, caractérisé en ce que l'indice i est déterminé à partir de plusieurs des valeurs de la bande passante, dutaux de remplissage, de la charge de traitement et du délai entre le codage et le décodage. 19. Dispositif selon la revendication 18, caractérisé en ce que l'indice i est déterminé par des moyens de détermination aptes à effectuer au moins une des opérations suivantes sur les valeurs de la bande passante, du taux de remplissage, de la charge de traitement et du délai entre le codage et le décodage: sommation de ces valeurs, valeur moyenne de ces valeurs, minimum de ces valeurs et racine carrée de la somme des carrés de ces valeurs. 20. Dispositif selon l'une des revendications 17 à 19, caractérisé en ce que les moyens de détermination de la seconde valeur dudit au moins un paramètre de codage tiennent compte de l'indice i déterminé. 21. Moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'une des revendications 1 à 10. 22. Programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'une des revendications 1 à 10, lorsque ledit programme d'ordinateur est chargé et exécuté par l'appareil programmable.