Brevet FR2906102A1 — publié le 20080321

La présente invention se rapporte à un procédé et à un dispositif de contrôle d'erreur de données dans un flux vidéo. Elle appartient au domaine de la transmission vidéo sur un réseau sans fils. Dans un futur proche, les habitations seront équipées de réseaux domestiques non filaires. Ces réseaux transporteront toutes sortes de données multimédia, provenant de l'intérieur et de l'extérieur de la maison. La présente invention vise, à titre d'exemples nullement limitatifs, des applications domestiques de transmission d'un émetteur vers un récepteur où les unités émettrice et réceptrice sont des systèmes embarqués potentiellement mobiles. L'invention s'applique notamment au transport de données vidéo, sur un tel réseau sans fils interne à une habitation ou, de façon plus générale, à tout type de bâtiment (maison, entreprise, locaux industriels, etc.). L'invention vise à traiter de façon optimisée les pertes de données vidéo. Une méthode classique consiste à tenter de masquer l'impact de ces pertes au niveau du récepteur. On connaît diverses méthodes de masquage de pertes, mises en oeuvre du côté du récepteur. L'émetteur peut en outre prendre en compte le masquage de pertes pour adapter le codage en temps réel de la vidéo vue par le client. Les conditions de transmission sur un réseau de télécommunications sans fils sont souvent instables. Or les techniques connues d'adaptation de la vidéo, par exemple par régulation de débit, ne sont efficaces qu'en cas d'état stable du réseau et sont insuffisamment efficaces pour permettre à elles seules, de traiter les périodes de transition entre deux états et rendre les pertes de données insensibles à l'oeil humain lors de la visualisation de la vidéo reçue par un utilisateur. Lorsque par exemple les capacités du réseau diminuent, et plus généralement au cours de périodes de transitions entre deux états différents du réseau, des pertes se produisent durant la transmission, tant que l'émetteur n'a pas été averti du changement d'état du réseau. 2906102 2 On connaît en outre, par le document intitulé "Feedback based error control for mobile video transmission" de B. GIROD et N. FARBER, 1999, IEEE special issue on video for mobile multimedia, une méthode de contrôle d'erreurs utilisant une boucle de retour dans une application client/serveur. 5 Le client transmet au serveur des informations lui indiquant la position des erreurs dans les images. Le serveur gère alors une carte de dépendance, qui lui permet d'estimer l'impact des erreurs et leur propagation. Le serveur décide alors de coder des blocs en INTRA lorsque les erreurs provoquent une chute de qualité importante. Dans le cas contraire, aucun 10 rafraîchissement INTRA n'est effectué. Cette méthode n'est pas optimale, car l'insertion de macroblocs INTRA provoque un pic de débit risquant d'entraîner un nouveau phénomène de congestion dans le réseau. On connaît également, par l'article de STOCKHAMMER et al. intitulé 15 "H264/AVC in wireless environments", publié dans IEEE Trans. on circuits and systems for video technology, juillet 2003, une méthode de contrôle d'erreurs fondée sur une boucle de retour, suivant laquelle le masquage de perte mis en oeuvre du coté du client est simulé par le serveur. La simulation du masquage de pertes permet au codeur d'avoir les 20 mêmes images de référence que le décodeur. Néanmoins, cette méthode, si elle est mise en oeuvre telle quelle, n'est pas non plus optimale car elle présente un coût calculatoire significatif. En résumé, l'art antérieur propose deux méthodes dont aucune n'est satisfaisante, puisque la première provoque un pic de débit et la seconde 25 présente un coût calculatoire prohibitif. La présente invention a pour but de remédier à ces inconvénients, par des mesures supplémentaires d'adaptation. Plus précisément, dans ce but de remédier aux inconvénients précités, la présente invention propose un procédé de contrôle d'erreur de 30 données dans un flux vidéo comprenant une suite d'images codées suivant une technique de codage prédictif mise en oeuvre par un serveur dans laquelle une image peut être prédite à partir d'au moins une image de référence, 2906102 3 le serveur conservant temporairement une copie de chacune des images et une carte de dépendance entre des blocs des images successives de la suite d'images, de façon, en cas de pertes de données, après obtention 5 d'informations caractérisant la perte, à simuler la propagation d'erreur due à la perte sur les images suivant l'image ayant subi la perte, ce procédé étant remarquable en ce qu'il comporte en outre des étapes consistant à : pour l'image courante, constituée par la dernière image suivante, 10 estimer le coût calculatoire de codage, selon un premier mode de codage, des blocs affectés par la propagation d'erreur, pour au moins une image suivante, dite image de référence temporaire, et jusqu'à l'image précédant l'image courante, estimer le coût calculatoire de codage, selon un second mode de codage, des blocs de l'image 15 courante affectés par la propagation d'erreur en prenant pour référence l'image de référence temporaire, comparer le coût de codage selon le second mode de codage au coût de codage selon le premier mode de codage et lorsque le coût du second mode de codage devient inférieur au coût 20 du premier mode de codage, arrêter la simulation du codage selon le second mode de codage et coder l'image courante en prenant pour référence une image de référence temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. 25 Ainsi, l'invention permet d'éviter le pic de débit de la première méthode de l'art antérieur décrite plus haut et offre en outre un coût calculatoire réduit et permet donc un traitement plus rapide des données. L'invention prévoit, d'une part, du côté du serveur, c'est-à-dire de l'émetteur des données vidéo, un codage adapté à diminuer l'impact des pertes 30 de données sur la qualité de la vidéo et, d'autre part, du côté du récepteur, un décodage avec masquage de pertes et interagissant avec le codage de façon 2906102 4 améliorée par rapport aux techniques de l'art antérieur, afin de permettre au récepteur de jouer au mieux la vidéo malgré ces pertes. L'invention prévoit en particulier non seulement une boucle de retour (en anglais "feedback loop") du récepteur vers l'émetteur, qui permet de 5 prendre en compte, dans le codage des données du côté de l'émetteur, le masquage de pertes mis en oeuvre du côté du récepteur, mais en outre, une simulation partielle du masquage de pertes, tant que le coût d'un rafraîchissement de la séquence vidéo par un premier mode de codage (par exemple, INTRA) reste inférieur au coût de rafraîchissement par un second 10 mode de codage (par exemple, INTER). Dans un mode particulier de réalisation, si après simulation de la propagation d'erreur sur toutes les images précédant l'image courante, aucune image n'a permis d'obtenir un coût de codage selon le second mode de codage inférieur au coût de codage selon le premier mode de codage, l'image courante 15 est codée selon le premier mode de codage, ce qui permettra de resynchroniser le flux vidéo du client. En variante, si après simulation de la propagation d'erreur pendant une période de temps prédéterminée, aucune image précédant l'image courante n'a permis d'obtenir un coût de codage selon le second mode de 20 codage inférieur au coût de codage selon le premier mode de codage, l'image courante est codée selon le premier mode de codage. On évite ainsi d'accorder trop de ressources calculatoires au processus de simulation, le processus de codage étant dans tous les cas à privilégier. 25 Dans un mode particulier de réalisation, le procédé comporte en outre une étape de stockage en mémoire de la référence de l'image de référence temporaire minimisant le coût de codage selon le second mode de codage, et la valeur minimum du coût de codage. Dans ce mode de réalisation, le procédé peut comporter, lorsque la 30 période de temps prédéterminée est terminée, les étapes de : comparaison de la valeur minimum au coût de codage selon le premier mode de codage, 2906102 5 détermination du mode de codage de l'image courante en fonction du résultat de la comparaison. Ce mode particulier de réalisation permet de trouver l'image minimisant au mieux le coût de codage, parmi les images précédant l'image 5 courante analysée pendant la période de temps donnée. Dans un mode particulier de réalisation, lorsque le coût du second mode de codage devient inférieur au coût du premier mode de codage, on arrête la simulation du codage selon le second mode de codage et on code l'image courante en prenant pour référence la première image de référence 10 temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. Ce mode particulier de réalisation présente l'avantage de permettre potentiellement de trouver rapidement l'image minimisant le coût de codage. 15 Toujours dans le même but, la présente invention propose également un dispositif de contrôle d'erreur de données dans un flux vidéo comprenant une suite d'images codées suivant une technique de codage prédictif mise en oeuvre par ce dispositif dans laquelle une image peut être prédite à partir d'au moins une image de référence, 20 ce dispositif conservant temporairement une copie de chacune des images et une carte de dépendance entre des blocs des images successives de la suite d'images, de façon, en cas de pertes de données, après obtention d'informations caractérisant la perte, à simuler la propagation d'erreur due à la 25 perte sur les images suivant l'image ayant subi la perte, ce dispositif étant remarquable en ce qu'il comporte : des moyens pour estimer, pour l'image courante, constituée par la dernière image suivante, le coût calculatoire de codage, selon un premier mode de codage, des blocs affectés par la propagation d'erreur, 30 des moyens pour estimer, pour au moins une image suivante, dite image de référence temporaire, et jusqu'à l'image précédant l'image courante, le coût calculatoire de codage, selon un second mode de codage, des blocs de 2906102 6 l'image courante affectés par la propagation d'erreur en prenant pour référence l'image de référence temporaire, des moyens pour comparer le coût de codage selon le second mode de codage au coût de codage selon le premier mode de codage et 5 des moyens pour arrêter la simulation du codage selon le second mode de codage lorsque le coût du second mode de codage devient inférieur au coût du premier mode de codage, et pour coder l'image courante en prenant pour référence une image de référence temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au 10 coût de codage selon le premier mode de codage. Toujours dans le même but, la présente invention propose également un procédé d'émission de signaux vidéo mettant en oeuvre des étapes d'un procédé de contrôle d'erreur de données tel que brièvement décrit ci-dessus. 15 Toujours dans le même but, la présente invention propose également un dispositif d'émission de signaux vidéo comportant un dispositif de contrôle d'erreur de données tel que brièvement décrit ci-dessus. La présente invention vise aussi un système de télécommunications comportant une pluralité de dispositifs terminaux dont au moins une partie est 20 située à l'intérieur d'un bâtiment, ces dispositifs terminaux étant reliés à travers un réseau de télécommunications transportant des données multimédia provenant de l'intérieur et/ou de l'extérieur du bâtiment, le système de télécommunications étant remarquable en ce qu'il comporte au moins un dispositif terminal équipé de tout ou partie d'un dispositif de contrôle d'erreur de 25 données tel que brièvement décrit ci-dessus. La présente invention vise aussi un moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur, ce moyen de stockage étant éventuellement partiellement ou totalement amovible et conservant des instructions d'un programme informatique permettant la mise en 30 oeuvre d'un procédé de contrôle d'erreur de données tel que brièvement décrit ci-dessus. 2906102 7 La présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, comportant des séquences d'instructions pour mettre en oeuvre un procédé de contrôle d'erreur de données tel que brièvement décrit ci-dessus, lorsque ce programme est 5 chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif de contrôle d'erreur de données, du procédé d'émission, du dispositif d'émission, du système de télécommunications, du moyen de stockage et du produit programme d'ordinateur étant similaires à ceux du procédé de contrôle d'erreur 10 de données, ils ne sont pas répétés ici. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels : 15 - la figure 1 représente de façon schématique un mode particulier de réalisation d'une unité multimédia pouvant notamment être considérée comme un dispositif émetteur et susceptible de mettre en oeuvre la présente invention ; - la figure 2 représente de façon schématique un mode particulier de réalisation d'une unité multimédia pouvant notamment être considérée comme 20 un dispositif récepteur et susceptible de mettre en oeuvre la présente invention ; - la figure 3 est un organigramme illustrant les principales étapes d'une procédure de transmission vidéo conforme à la présente invention, dans un mode particulier de réalisation ; - la figure 4 est un organigramme illustrant les principales étapes 25 d'une procédure de resynchronisation conforme à la présente invention, dans un mode particulier de réalisation ; - la figure 5 illustre schématiquement un exemple de carte de dépendance pour un macrobloc, dans un mode particulier de réalisation ; - la figure 6 est un organigramme illustrant les principales étapes du 30 calcul des paramètres des modèles de débit et de distorsion utilisés par la présente invention, dans un mode particulier de réalisation ; et 2906102 8 - la figure 7 représente de façon schématique une unité multimédia susceptible de mettre en oeuvre la présente invention, dans un mode particulier de réalisation. Dans toute la suite, on considère la transmission d'une séquence 5 vidéo sous forme comprimée entre un émetteur et un récepteur. Les séquences vidéo considérées peuvent par exemple être conformes à la norme MPEG-4. Cet exemple n'est toutefois pas limitatif, car on pourrait également utiliser d'autres normes équivalentes, telles que MPEG-2 ou H263 et H264, voire SVC. 10 On rappelle ci-après des notions bien connues de l'homme du métier concernant la norme MPEG-4 qui, dans sa partie 2, propose une méthode de codage vidéo hybride basée sur des blocs. Dans un schéma de codage vidéo prédictif hybride mettant en oeuvre une technique de compensation de mouvement basée sur des blocs et un 15 codage par transformation, chaque image d'une séquence vidéo est divisée en blocs de taille fixe (en général 8x8 pixels). Chaque bloc est ensuite traité plus ou moins indépendamment. L'appellation "hybride" signifie que chaque bloc est codé avec une combinaison de compensation de mouvement et de codage par transformation. 20 En effet, un bloc est dans un premier temps prédit à partir d'un bloc d'une image précédente. On appelle "estimation de mouvement" l'estimation de la position du bloc le plus proche visuellement du bloc courant dans l'image de référence. Le déplacement entre le bloc de référence et le bloc courant est représenté par un "vecteur de mouvement". La compensation de mouvement 25 consiste à prédire le bloc courant à partir du bloc de référence et du vecteur de mouvement. L'erreur de prédiction entre le bloc original et le bloc prédit est codée avec une transformation en cosinus discret (DCT, en anglais "Discrete Cosine Transform"), quantifiée et convertie sous forme de mots de code binaires en 30 utilisant des codes à longueur variable (VLC, en anglais "Variable Length Codes"). 2906102 9 La compensation de mouvement utilise les corrélations temporelles entre images successives pour accroître la compression. La DCT permet de réduire les corrélations spatiales dans les blocs d'erreur. Après la DCT et la quantification, la majorité des hautes fréquences 5 est réduite à zéro. Le système visuel humain étant peu sensible aux hautes fréquences spatiales, l'impact sur l'aspect visuel reste faible. Les coefficients DCT sont parcourus selon un schéma dit "en zigzag" bien connu de l'homme du métier, des basses fréquences jusqu'aux hautes fréquences, pour constituer un premier train binaire. 10 La présence, dans ce train binaire, de nombreuses valeurs nulles est mise à profit par un code à longueur variable, lequel est couramment mis en oeuvre par un codeur par longueur de plage (en anglais "runlength coding"), pour en réduire la taille. Un tel mode de codage, dans lequel la prédiction temporelle a réussi 15 et où le débit engendré par l'erreur de prédiction reste inférieur à celui du bloc d'origine codé sans compensation en mouvement, est généralement appelé "mode INTER". Néanmoins, dans certains cas, le coût de l'erreur de prédiction est jugé trop important. Une DCT et un codage par longueur de plage sont alors 20 appliqués directement sur le bloc. On appelle ce mode de codage "mode INTRA". En pratique, l'estimation de mouvement est très souvent appliquée sur un ensemble de blocs, appelé macrobloc (désigné dans la suite en abrégé par le sigle MB), alors que la DCT est appliquée sur un bloc. 25 Les codeurs vidéo les plus courants utilisent des MB de taille 16x16. Les vecteurs de mouvement de MB adjacents étant le plus souvent proches, ils peuvent être codés de façon prédictive par rapport aux MB déjà codés. Une image contenant des blocs codés par codage INTER est appelée "image P". 30 Une image entièrement codée en mode INTRA est appelée "image INTRA" ou "image I". Ce type de codage peut être utilisé pour la première image d'une séquence vidéo, ainsi que pour limiter la propagation de l'erreur de 2906102 10 prédiction et la propagation de pertes ou pour permettre des fonctionnalités telles que l'accès aléatoire à une position déterminée de la séquence, l'avance rapide, le retour rapide, etc. Le nombre d'images INTRA est toutefois généralement limité pour 5 obtenir de meilleurs taux de compression. La majorité des images d'une séquence est donc généralement codée en mode P. On ne s'interdit toutefois pas d'insérer des MB INTRA dans une image P. On considère dans la suite le transport d'une séquence vidéo sous forme comprimée, d'un serveur ou émetteur du type du dispositif 1000 illustré 10 sur la figure 1, vers un récepteur du type du dispositif 2000 illustré sur la figure 2. A titre d'exemple non limitatif, la séquence vidéo est ici codée en temps réel. Les unités émettrice et réceptrice sont par exemple des systèmes embarqués potentiellement mobiles. Néanmoins, l'invention fonctionnerait aussi bien avec un système non embarqué et sur un réseau filaire. 15 La figure 1 illustre un mode particulier de réalisation d'un serveur ou dispositif émetteur 1000 susceptible de mettre en oeuvre la présente invention, sous la forme d'une unité multimédia ayant en particulier la fonction d'un émetteur. L'émetteur 1000 comporte en particulier : - une unité 6 d'acquisition d'images, telle qu'une caméra vidéo ; 20 - une unité de calcul 3, telle qu'un processeur ; - une mémoire vive 4 (RAM) ; - une unité réseau 2, telle qu'une carte réseau conforme à la norme IEEE802.11 ; et - une unité 5 de stockage de données. 25 L'émetteur 1000 possède, d'une part, des capacités de stockage qui lui permettent de stocker des vidéos après leur acquisition et leur compression et, d'autre part, des capacités de codage et de transmission en temps réel de séquences vidéo. Par exemple, l'émetteur est un appareil photo, une caméra vidéo ou 30 un PDA (assistant numérique personnel, en anglais "Persona/ Digital Assistant") ayant des capacités de transmission sans fils telles qu'une carte 2906102 11 compatible avec le protocole IEEE 802.11 a, b ou g, des capacités de stockage, de calcul et de codage MPEG-4. La figure 2 illustre un mode particulier de réalisation d'un dispositif récepteur 2000 susceptible de mettre en oeuvre la présente invention, sous la 5 forme d'une unité multimédia ayant en particulier la fonction d'un récepteur. Le récepteur 2000 comporte en particulier : - une unité réseau 8, telle qu'une carte réseau conforme à la norme IEEE802.11 ; - une mémoire vive 9 (RAM) ; 10 -une unité de calcul 10, telle qu'un processeur ; - une unité 11 de stockage de données ; et - une unité 12 de visualisation ou affichage, telle qu'un écran. L'invention peut s'appliquer à une grande variété de récepteurs tels que, à titre d'exemples nullement limitatifs, un ordinateur personnel (PC, en 15 anglais "Personal Computer"), un téléphone mobile, un agenda électronique (PDA, en anglais "Personal Digital Assistant"), un téléviseur, etc. L'émetteur et le récepteur utilisent les protocoles RTP/UDP/IP pour communiquer. Le fonctionnement des dispositifs émetteur 1000 et récepteur 2000 20 est décrit ci-dessous en liaison avec la figure 3. Pour faciliter la compréhension de l'invention, la situation suivante est envisagée, à titre d'exemple non limitatif. Une séquence vidéo est transmise sous forme comprimée sur un réseau de télécommunications sans fils. Un utilisateur demande la visualisation, sur l'unité 12 de visualisation, de la 25 séquence vidéo reçue par le récepteur 2000 en provenance de l'émetteur 1000. Pour cela, une connexion sans fils est créée entre l'émetteur 1000 et le récepteur 2000. Un premier échange d'informations entre l'émetteur 1000 et le récepteur 2000 permet à l'émetteur de connaître la nature du récepteur et ses 30 capacités, ainsi que les souhaits de l'utilisateur pour la visualisation de la séquence demandée. 2906102 12 Ces premières informations décrivent par exemple le récepteur 2000 en termes de capacité de calcul, d'affichage et de décodage. Des informations supplémentaires sont échangées ultérieurement, par exemple durant la transmission de la séquence vidéo. A la différence de la 5 première série d'informations, qui est transmise une fois pour toutes, les informations supplémentaires sont remises à jour régulièrement. Ces informations supplémentaires décrivent par exemple l'évolution de l'état du réseau vu par le récepteur. L'analyse de ces informations peut amener l'émetteur à adapter la vidéo, comme décrit en détail plus loin en liaison 10 avec la figure 4. Comme le montre la figure 3, l'application de transmission vidéo débute à l'étape E301 par la réception par l'émetteur d'une requête provenant du récepteur pour recevoir la vidéo. Cette requête contient une description du client en termes de capacité de calcul, d'affichage et de réception réseau. 15 L'émetteur débute alors à l'étape E303 le codage en temps réel de la vidéo acquise par son unité d'acquisition 6. Ce codage est réalisé image par image. Si nécessaire, les images sont codées sous forme de slices (ensemble de MB regroupés derrière un entête et décodable indépendamment d'autres slices), une image pouvant contenir plusieurs slices. La taille des slices est 20 adaptée à la taille des paquets du protocole de transport RTP chargé d'acheminer la vidéo vers le récepteur. Chaque image compressée est stockée temporairement dans l'unité de stockage 5 lors de l'étape E305. On pourra ainsi stocker sous forme de fenêtre glissante l'équivalent de quelques secondes de séquence. 25 Lors de l'étape E307 et si elle n'existe pas, on crée une carte de dépendance entre les MB des images successives. Sinon, on met à jour la carte de dépendance existante. Cette carte de dépendance indique, pour chaque MB de chaque image stockée dans l'unité de stockage 5, les MB des images précédentes utilisés lors de la prédiction de ce MB. 30 La figure 5 montre un exemple de représentation graphique d'une carte de dépendance. Le MB à la position x de l'image t+4 (MBt+4,x sur le dessin), dépend de deux MB de l'image t+3, l'un à la position y (MBt+3,y), l'autre 2906102 13 à la position z (MBt+3,z)• Ces deux MB dépendent eux-mêmes d'autres MB dans les images t+2, t+1 et t. De retour à la figure 3, l'étape E307 de stockage de carte de dépendance est suivie de l'étape E309 de transmission d'images, qui consiste à 5 envoyer l'image codée dans un ou plusieurs paquets RTP à travers l'unité réseau 2 de l'émetteur 1000. Lors de l'étape suivante E310, on stocke des informations sur chaque paquet envoyé. Les informations stockées représentent les MB transportés par le paquet ainsi que le numéro de l'image à laquelle 10 appartiennent ces MB. L'étape E310 est suivie du test E311 au cours duquel on vérifie si un paquet d'acquittement ACK a été reçu. On considère ici que si aucune perte ne s'est produite, le récepteur envoie à l'émetteur un paquet d'acquittement à intervalles réguliers (par exemple, toutes les secondes). Ce paquet 15 d'acquittement ACK contient le numéro de séquence du dernier paquet RTP reçu par le récepteur. La réception de ce paquet d'acquittement ACK indique que tous les paquets ayant un numéro de séquence antérieur à celui transporté par le paquet ACK ont été reçus. Si le test E311 est positif, on passe à l'étape E311 a au cours de 20 laquelle on procède à la mise à jour des données stockées. On supprime alors de l'unité de stockage toutes les informations relatives aux paquets reçus par le récepteur ainsi que les images transportées par ces paquets. On met ensuite à jour la carte de dépendance en enlevant tous les MB des images reçues. Si le test E311 est négatif, il est suivi de l'étape E313 au cours de 25 laquelle on vérifie si un paquet NACK a été reçu. Le paquet NACK est un paquet transmis par le récepteur indiquant que le paquet dont il transporte le numéro de séquence a été perdu. Le paquet NACK indique aussi, pour chaque bloc perdu de l'image, la méthode de masquage de perte mise en oeuvre par le récepteur. La réception d'un paquet NACK lance la procédure mettant en 30 oeuvre l'invention, représentée par le bloc E313a (détaillé ci-après en liaison avec la figure 4). Cette procédure est réalisée en parallèle à la procédure de codage. D'ailleurs, le retour à l'étape E301 n'attend pas la fin de la mise en 2906102 14 oeuvre de l'étape E313a. Les processus illustrés sur la figure 4 sont non prioritaires par rapport aux processus de codage. Comme le montre la figure 4, lors de la réception d'un paquet NACK, on identifie lors de l'étape E401, grâce au numéro de séquence qu'il 5 contient, le paquet perdu et le slice ou l'image que ce paquet contenait. On en déduit ensuite, lors de l'étape E403, les MB concernés par cette perte, en parcourant la carte de dépendance depuis l'image perdue, et jusqu'à l'image courante, c'est-à-dire qu'on effectue une simulation de propagation d'erreurs. 10 On procède ensuite, lors de l'étape E404, à l'initialisation d'une variable i à la valeur 0. La variable i servira au décompte des images stockées suivant l'image ayant subi une perte. La valeur i = 0 correspond à l'image transportée au moins en partie par le paquet perdu. L'étape E404 est suivie de l'étape E405 qui compare lavaleur de i à 15 N, N étant la différence entre le numéro de l'image perdue et celui de l'image courante. Si i atteint N, on passe à l'étape E415, qui décide que les MB entachés d'erreurs du fait de la propagation doivent être codés en intra. En effet, le fait que i prenne la valeur N signifie qu'à aucun moment la prédiction inter n'a permis de réduire le coût de codage par rapport au mode intra. 20 Sinon, on procède à la simulation du masquage de pertes pour tous les MB directement ou indirectement touchés par la perte du paquet (étape E407) dans l'image i. Lorsqu'un MB est directement touché par une perte, l'unité de calcul simule un décodage de l'image i et met en oeuvre les procédures de masquage de pertes décrites dans le NACK pour récupérer les 25 MB perdus. Lorsqu'un MB est indirectement concerné par une perte (du fait de la propagation d'erreurs), l'unité de calcul simule le décodage en prenant pour référence les images ayant subi un masquage de pertes, ou des images prédites directement ou indirectement à partir de ces images. Une méthode simple de simulation du décodage consiste à réaliser entièrement le décodage. 30 Les méthodes de masquage de pertes sont bien connues de l'homme du métier et ne seront donc pas décrites en détail ici. 2906102 15 L'étape E407 de simulation de masquage est suivie de l'étape E409 qui compare le coût calculatoire d'un codage en intra des MB de l'image courante concernés par la perte du paquet et le coût calculatoire d'un codage en inter de ces MB en prenant pour référence l'image i ayant subi les 5 procédures de masquage de pertes. Les coûts pourront être exprimés en termes de débit et de distorsion. Conformément à la présente invention, on obtient ces coûts grâce à des modèles mathématiques débit/distorsion. Plusieurs modèles débit/distorsion d'une source vidéo sont proposés 10 dans la littérature. Ces modèles permettent d'obtenir la distorsion et le débit, soit en fonction des pas de quantification utilisés seuls, soit en fonction des pas de quantification et d'autres métriques reflétant mieux le contenu de la séquence, telles que la variance ou l'erreur quadratique moyenne. Un modèle débit/distorsion utilisant les pas de quantification seuls est décrit dans l'article de 15 K. H. YANG et al. intitulé "Normalized Rate-distorsion Mode/ for H263-compatible Codecs and lts Application to Quantizer selection", Proc. ICIP 97. Un autre modèle débit/distorsion, utilisant les pas de quantification et d'autres métriques, est décrit dans l'article de J. RIBAS-CORBERA et al. intitulé "Rate control for lowdelay Video communication", Draft ITU-telecommunications standardization 20 sector, réf. Q15-A-20. C'est ce dernier modèle que l'invention utilise, dans un mode préféré de réalisation. Ce modèle paramétrique a initialement été développé dans le contexte de la norme de codage vidéo H.263+. Il peut néanmoins être facilement adapté à d'autres normes de codage vidéo similaires, telles que la 25 norme MPEG-4. Ce modèle permet de calculer pour un MB une approximation des relations distorsion-énergie avec la fonction paramétrique suivante : S S - m où D est la distorsion et S est une mesure d'énergie. Dans le mode préféré de réalisation de l'invention, on utilise la variance des MB comme mesure 30 d'énergie. Les variables a, b, c, d, I, m et n sont les paramètres du modèle de 2906102 16 distorsion. De façon similaire, les relations débit-énergie sont données pour un MB par : 0 siS durée de simulation fixée n'est pas atteinte, on a des chances de réduire encore davantage le coût de codage. 20 Dans un mode particulier de réalisation où on mémorise la valeur minimum du coût de codage, on peut prévoir de comparer, après écoulement de la durée de simulation fixée, cette valeur minimum au coût du codage intra, et de déterminer le mode de codage de l'image courante en fonction du résultat de la comparaison. Dans le mode de réalisation préféré, le mode de codage qui 25 génère un coût calculatoire minimal sera choisi. Un dispositif susceptible de mettre en oeuvre la présente invention est illustré sur la figure 7 sous la forme d'une unité multimédia 200. L'unité multimédia peut être par exemple un micro-ordinateur ou une station de travail. Ce dispositif est connecté à différents périphériques tels que, 30 par exemple, tout moyen de stockage d'images relié à une carte graphique et fournissant au dispositif 200 des données multimédia. 2906102 21 Le dispositif 200 comporte un bus de communication 202 auquel sont reliés : - une unité de calcul 203, - une mémoire morte 204, pouvant contenir un ou plusieurs 5 programmes "Prog" exécutant des étapes d'un procédé de codage conforme à l'invention, - une mémoire vive 206, comportant des registres adaptés à enregistrer des variables et des paramètres créés et modifiés au cours de l'exécution des programmes précités, 10 - une unité d'affichage tel qu'un écran 208, permettant de visualiser des données et/ou de servir d'interface graphique avec un administrateur réseau qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 210 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 211 ou un crayon optique, 15 - une interface de communication 218 reliée à un réseau de communication 220, par exemple un réseau sans fils domestique, l'interface étant notamment apte à recevoir des données, en l'occurrence, un flux vidéo. Le dispositif 200 peut également comporter, en option : un disque dur 212 pouvant contenir les programmes "Prog" 20 précités, - un lecteur de disquettes 214 adapté à recevoir une disquette 216 et à y lire ou à y écrire des données traitées ou à traiter conformément à la présente invention. Le bus de communication 202 permet la communication et 25 l'interopérabilité entre les différents éléments inclus dans le dispositif 200 ou reliés à lui. La représentation du bus n'est pas limitative et notamment, l'unité de calcul 203 est susceptible de communiquer des instructions à tout élément du dispositif 200 directement ou par l'intermédiaire d'un autre élément du dispositif 200. 30 Le code exécutable de chaque programme permettant au dispositif 200 de mettre en oeuvre le procédé de codage selon l'invention peut être stocké, par exemple, dans le disque dur 212 ou en mémoire morte 204. 2906102 22 En variante, la disquette 216 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 200, sera stocké dans le disque dur 212. Dans une autre variante, le code exécutable des programmes peut 5 être reçu par l'intermédiaire du réseau de communication 220, via l'interface 218, pour être stocké de façon identique à celle décrite précédemment. La disquette peut être remplacée par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De façon générale, un moyen de stockage d'information, lisible par un ordinateur 10 ou par un microprocesseur, intégré ou non au dispositif 200, éventuellement partiellement ou totalement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé conforme à la présente invention. De façon plus générale, le ou les programmes pourront être chargés 15 dans un des moyens de stockage du dispositif 200 avant d'être exécutés. L'unité de calcul 203 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes conformes à l'invention, instructions qui sont stockées dans le disque dur 212 ou dans la mémoire morte 204 ou bien dans les autres éléments de stockage précités. Lors de la mise 20 sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple, le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive (RAM) 206, qui contient alors le code exécutable du ou des programmes conformes à l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en 25 oeuvre de l'invention. REVENDICATIONS 1. Procédé de contrôle d'erreur de données dans un flux vidéo comprenant une suite d'images codées suivant une technique de codage prédictif mise en oeuvre par un serveur dans laquelle une image peut être prédite à partir d'au moins une image de référence, le serveur conservant (E305) temporairement une copie de chacune des images et (E307) une carte de dépendance entre des blocs des images successives de ladite suite d'images, de façon, en cas de pertes de données, après obtention d'informations caractérisant ladite perte, à simuler la propagation d'erreur due à ladite perte sur les images suivant l'image ayant subi ladite perte, ledit procédé étant caractérisé en ce qu'il comporte en outre des étapes consistant à : pour l'image courante, constituée par la dernière image suivante, estimer le coût calculatoire de codage, selon un premier mode de codage, des blocs affectés par la propagation d'erreur, pour au moins une image suivante, dite image de référence temporaire, et jusqu'à l'image précédant l'image courante, estimer le coût calculatoire de codage, selon un second mode de codage, des blocs de l'image courante affectés par la propagation d'erreur en prenant pour référence l'image de référence temporaire, comparer (E409) le coût de codage selon le second mode de codage au coût de codage selon le premier mode de codage et lorsque le coût du second mode de codage devient inférieur au coût du premier mode de codage, arrêter la simulation du codage selon le second mode de codage et coder l'image courante en prenant (E411) pour référence une image de référence temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. 2. Procédé selon la revendication 1, caractérisé en ce que, si après simulation de la propagation d'erreur sur toutes les images précédant l'image 2906102 24 courante, aucune image n'a permis d'obtenir un coût de codage selon le second mode de codage inférieur au coût de codage selon le premier mode de codage, l'image courante est codée selon le premier mode de codage. 3. Procédé selon la revendication 1, caractérisé en ce que, si après 5 simulation de la propagation d'erreur pendant une période de temps prédéterminée, aucune image précédant l'image courante n'a permis d'obtenir un coût de codage selon le second mode de codage inférieur au coût de codage selon le premier mode de codage, l'image courante est codée selon le premier mode de codage. 10 4. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de stockage en mémoire de la référence de l'image de référence temporaire minimisant le coût de codage selon le second mode de codage, et la valeur minimum du coût de codage. 5. Procédé selon les revendications 3 et 4, caractérisé en ce qu'il 15 comporte, lorsque la période de temps prédéterminée est terminée, les étapes de: comparaison (E409) de la valeur minimum au coût de codage selon le premier mode de codage, détermination du mode de codage de l'image courante en fonction 20 du résultat de la comparaison. 6. Procédé selon la revendication 1, caractérisé en ce que, lorsque le coût du second mode de codage devient inférieur au coût du premier mode de codage, on arrête la simulation du codage selon le second mode de codage et on code l'image courante en prenant (E411) pour référence la première image 25 de référence temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. 7. Procédé d'émission de signaux vidéo, caractérisé en ce qu'il met en oeuvre des étapes d'un procédé de contrôle d'erreur de données selon l'une 30 quelconque des revendications 1 à 6. 8. Dispositif (1000) de contrôle d'erreur de données dans un flux vidéo comprenant une suite d'images codées suivant une technique de codage 2906102 25 prédictif mise en oeuvre par ledit dispositif dans laquelle une image peut être prédite à partir d'au moins une image de référence, ledit dispositif conservant (E305) temporairement une copie de chacune des images et (E307) une carte de dépendance entre des blocs des 5 images successives de ladite suite d'images, de façon, en cas de pertes de données, après obtention d'informations caractérisant ladite perte, à simuler la propagation d'erreur due à ladite perte sur les images suivant l'image ayant subi ladite perte, ledit dispositif étant caractérisé en ce qu'il comporte : 10 des moyens pour estimer, pour l'image courante, constituée par la dernière image suivante, le coût calculatoire de codage, selon un premier mode de codage, des blocs affectés par la propagation d'erreur, des moyens pour estimer, pour au moins une image suivante, dite image de référence temporaire, et jusqu'à l'image précédant l'image courante, 15 le coût calculatoire de codage, selon un second mode de codage, des blocs de l'image courante affectés par la propagation d'erreur en prenant pour référence l'image de référence temporaire, des moyens pour comparer (E409) le coût de codage selon le second mode de codage au coût de codage selon le premier mode de codage 20 et des moyens pour arrêter la simulation du codage selon le second mode de codage lorsque le coût du second mode de codage devient inférieur au coût du premier mode de codage, et pour coder l'image courante en prenant (E411) pour référence une image de référence temporaire pour laquelle le coût 25 de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. 9. Dispositif selon la revendication 8, caractérisé en ce qu'il comporte des moyens adaptés à coder l'image courante selon le premier mode de codage, si après simulation de la propagation d'erreur sur toutes les images 30 précédant l'image courante, aucune image n'a permis d'obtenir un coût de codage selon le second mode de codage inférieur au coût de codage selon le premier mode de codage. 2906102 26 10. Dispositif selon la revendication 8, caractérisé en ce qu'il comporte des moyens adaptés à coder l'image courante selon le premier mode de codage, si après simulation de la propagation d'erreur pendant une période de temps prédéterminée, aucune image précédant l'image courante n'a permis 5 d'obtenir un coût de codage selon le second mode de codage inférieur au coût de codage selon le premier mode de codage. 11. Dispositif selon la revendication 8, caractérisé en ce qu'il comporte en outre des moyens de stockage en mémoire de la référence de l'image de référence temporaire minimisant le coût de codage selon le second 10 mode de codage, et la valeur minimum du coût de codage. 12. Dispositif selon les revendications 10 et 11, caractérisé en ce qu'il comporte des moyens adaptés, lorsque la période de temps prédéterminée est terminée, à : comparer (E409) la valeur minimum au coût de codage selon le 15 premier mode de codage, déterminer le mode de codage de l'image courante en fonction du résultat de la comparaison. 13. Dispositif selon la revendication 8, caractérisé en ce qu'il comporte des moyens adaptés, lorsque le coût du second mode de codage 20 devient inférieur au coût du premier mode de codage, à arrêter la simulation du codage selon le second mode de codage et à coder l'image courante en prenant (E411) pour référence la première image de référence temporaire pour laquelle le coût de codage de l'image courante selon le second mode de codage est inférieur au coût de codage selon le premier mode de codage. 25 14. Dispositif d'émission de signaux vidéo, caractérisé en ce qu'il comporte un dispositif de contrôle d'erreur de données selon l'une quelconque des revendications 8 à 13. 15. Système de télécommunications comportant une pluralité de dispositifs terminaux dont au moins une partie est située à l'intérieur d'un 30 bâtiment, lesdits dispositifs terminaux étant reliés à travers un réseau de télécommunications transportant des données multimédia provenant de l'intérieur et/ou de l'extérieur du bâtiment, ledit système de télécommunications 2906102 27 étant caractérisé en ce qu'il comporte au moins un dispositif terminal (1000) équipé de tout ou partie d'un dispositif de contrôle d'erreur de données selon l'une quelconque des revendications 8 à 13. 16. Moyen de stockage d'informations lisible par un ordinateur ou un 5 microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de contrôle d'erreur de données selon l'une quelconque des revendications 1 à 6. 17. Moyen de stockage selon la revendication 16, caractérisé en ce qu'il est partiellement ou totalement amovible. 10 18. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de contrôle d'erreur de données selon l'une quelconque des revendications 1 à 6, lorsque ce programme est chargé et exécuté par l'appareil programmable.