FR2898459A1 - Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission - Google Patents

Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission Download PDF

Info

Publication number
FR2898459A1
FR2898459A1 FR0650802A FR0650802A FR2898459A1 FR 2898459 A1 FR2898459 A1 FR 2898459A1 FR 0650802 A FR0650802 A FR 0650802A FR 0650802 A FR0650802 A FR 0650802A FR 2898459 A1 FR2898459 A1 FR 2898459A1
Authority
FR
France
Prior art keywords
loss
image
application layer
implementing
receiving apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0650802A
Other languages
English (en)
Other versions
FR2898459B1 (fr
Inventor
Xavier Henocq
Eric Nassor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0650802A priority Critical patent/FR2898459B1/fr
Priority to US11/683,323 priority patent/US8824566B2/en
Priority to JP2007059145A priority patent/JP4614395B2/ja
Publication of FR2898459A1 publication Critical patent/FR2898459A1/fr
Application granted granted Critical
Publication of FR2898459B1 publication Critical patent/FR2898459B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43637Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network

Abstract

Le procédé de réception est mis en oeuvre au sein d'un appareil récepteur d'images d'une séquence vidéo ayant subi des pertes au cours d'un échange de données avec un appareil émetteur relié audit appareil récepteur à travers un réseau de communication. L'appareil récepteur comprend au moins un premier module implémentant une couche transport et un second module implémentant une couche application, la couche application étant subdivisée en un premier sous-module (3) implémentant le décodage de la vidéo et un second sous-module (7) implémentant l'affichage de ladite vidéo. Le procédé comprend les étapes suivantes :- au niveau de la couche transport (2), transmission d'un signal de détection de perte de données à destination de la couche application, dès que la couche transport (2) détecte une perte de données ; et- au niveau de la couche application, mise en oeuvre d'un mécanisme de masquage de perte, dès réception dudit signal de détection de perte et sans attendre que ladite couche application détecte elle-même ladite perte de données ainsi détectée.

Description

La présente invention se rapporte au traitement de données et plus
particulièrement au masquage des pertes de données au cours d'un échange de données entre un appareil émetteur et un appareil récepteur reliés entre eux à travers un réseau de communication. Elle trouve une application dans le domaine de la transmission vidéo sur un réseau de communication sans fil. Elle vise non limitativement des applications domestiques d'un appareil émetteur vers un appareil récepteur. En pratique, les appareils émetteur et récepteur sont des systèmes embarqués, potentiellement mobiles. L'appareil émetteur a des capacités de stockage qui lui permettent de stocker des vidéos après leur acquisition et leur compression. Une fois stockées, un utilisateur peut demander la visualisation des vidéos sur un appareil récepteur de visualisation. Pour cela, une connexion sans fil est créée entre l'appareil émetteur et l'appareil récepteur. Un premier échange d'informations entre l'appareil émetteur et l'appareil récepteur permet à l'appareil récepteur de connaître la nature dudit appareil récepteur, ses capacités et les souhaits de l'utilisateur. Ces premières informations peuvent décrire l'appareil récepteur en termes de capacités de calcul, d'affichage et de décodage. Des secondes informations sont échangées ensuite durant la transmission. À la différence des premières séries d'informations, ces secondes informations sont remises à jour régulièrement. Elles décrivent notamment l'évolution de l'état du réseau vue par l'appareil récepteur. L'analyse de ces secondes informations peut inciter l'appareil récepteur à adapter la vidéo. En pratique, l'adaptation de la vidéo n'est efficace qu'en cas d'état stable du réseau de communication entre l'appareil émetteur et l'appareil récepteur. Cette adaptation ne permet pas de traiter les périodes de transition entre deux états. Lorsque par exemple les capacités du réseau diminuent, des pertes se produisent tant que l'appareil émetteur n'a pas été averti du changement. D'une manière conventionnelle, le modèle OSI ( Open Systems Interconnection ) défini par l'ISO ( International Standard Organisation ) présente les systèmes de communication sous formes des sept couches suivantes : - la couche physique qui prend en charge la transmission des bits sur un medium de communication ; - la couche liaison de données qui prend en charge un medium de 10 communication afin de le faire apparaître comme exempt d'erreurs de transmission à la couche réseau ; - la couche réseau qui prend en charge le routage des données entre sous réseaux ; - la couche transport qui prend en charge les données de la couche 15 session, les découpe si nécessaire en plus petites unités et assure que tous les morceaux arrivent correctement au récepteur ; - la couche session qui a pour but d'offrir des services avancés à la couche transport (comme la synchronisation de systèmes communicants, la gestion de sessions bi ou mono-directionnelles) ; 20 - la couche présentation qui se focalise sur la syntaxe et la sémantique des données transmises. Elle fait en sorte que les données transmises soient comprise de part et d'autre du système communicant ; et - la couche application qui met en oeuvre toutes les applications imaginables d'un système communicant (transfert, visualisation de fichiers, ...) 25 Cette représentation est purement théorique puisque dans la réalité, un système communicant peut ne pas implémenter l'une des couches. D'une manière générale, dans une application client/serveur en transmission vidéo, on peut considérer que le dispositif client est constitué de trois éléments principaux mettant en oeuvre les opérations de la couche 30 transport et de la couche application. Ces trois éléments sont une première unité de réception des paquets appartenant à la couche transport d'une part, une deuxième unité de décodage et une troisième unité d'affichage, 3 appartenant à la couche application d'autre part. Les unités de réception et de décodage partagent une unité de stockage du contenu des paquets. Les unités de décodage et d'affichage partagent une unité de stockage des images décodées.
Le contenu de l'unité de stockage de paquet est en général en avance par rapport à celui de l'unité de stockage d'images décodées. En d'autres termes, la couche transport stocke plusieurs images n'ayant pas encore été décodées par le décodeur. En général, les couches transport et application échangent peu ou pas d'informations. Au mieux, la couche transport indique qu'une perte s'est produite et la position de cette perte. Ceci évite au décodeur de se désynchroniser lorsqu'il arrive à la position de cette perte. Dans le document US 5,247,363, il est prévu un procédé dans lequel lorsqu'une erreur est détectée dans l'image en cours de décodage, on calcule les activités temporelles et spatiales de la séquence, en utilisant les seules images disponibles, c'est-à-dire l'image courante et l'image de référence. Les deux activités sont ensuite comparées afin de sélectionner une méthode de masquage de perte. Il est donc impossible d'augmenter la précision des calculs des activités spatiale et temporelle en augmentant le nombre d'images analysées. Une méthode similaire se focalisant sur les images bi-prédites B est proposée dans le document US 5,727,088. Là encore, le décodeur ne débute une méthode de masquage de pertes que lors du décodage de l'image courante. Le décodeur utilise alors les seules images disponibles pour détecter des changements de scène et déterminer comment la perte d'un macrobloc doit être masquée. Une méthode de sélection de méthode de masquage de perte plus simple est proposée dans le document US 6,449,311. Dans cette méthode, le décodeur conserve des informations décrivant la continuité du mouvement. En cas de pertes, on teste ici la continuité du mouvement afin de déterminer si le masquage doit utiliser une interpolation spatiale ou temporelle. Ici, les informations de mouvement sont calculées et conservées continuellement. Aucune information provenant de la couche transport n'est utilisée. Un concept similaire testant la continuité du mouvement pour déterminer si un vecteur de mouvement doit être utilisé est décrit dans le document US 6,665,345. Le Demandeur s'est posé le problème de fournir un procédé de sélection de la méthode la plus adaptée à la perte d'informations au niveau d'un appareil récepteur vidéo. La présente invention apporte justement une solution à ce problème.
Elle vise une procédure de sélection de méthode de masquage basée sur l'anticipation des pertes par le décodeur grâce à l'obtention d'informations de la part de la couche transport. Ainsi, elle porte sur un procédé de réception mis en oeuvre au sein d'un appareil récepteur d'images d'une séquence vidéo ayant subi des pertes au cours d'un échange de données avec un appareil émetteur relié audit appareil récepteur à travers un réseau de communication, l'appareil récepteur comprenant au moins un premier module implémentant une couche transport et un second module implémentant une couche application, la couche application étant subdivisée en deux sous-modules, le premier implémentant le décodage de la vidéo et le second implémentant l'affichage de ladite vidéo. Selon une définition générale de l'invention, le procédé comprend les étapes suivantes : - au niveau de la couche transport, transmission d'un signal de détection de perte de données à destination de la couche application, dès que 25 la couche transport détecte une perte de données ; et - au niveau de la couche application, mise en oeuvre d'un mécanisme de masquage de perte dès réception dudit signal de détection ainsi reçu et sans attendre que la couche application détecte elle-même ladite perte de données ainsi détectée. 30 Ainsi, selon le procédé conforme à l'invention, la couche transport informe la couche application qu'une perte s'est produite dès que celle-ci est détectée. La couche application débute alors une méthode de masquage de perte sans attendre que l'image erronée soit en cours de décodage. En pratique, le mécanisme de masquage de perte débute par le stockage d'informations de mouvement de chaque image précédant l'image 5 entachée d'erreur à partir de l'image suivant la réception du signal de détection. De préférence, le procédé comprend en outre la détermination de la nature du mouvement par une analyse des informations de mouvement ainsi stockées. Le décodeur débute alors une analyse de toutes les images contenues dans l'unité de stockage des paquets jusqu'à l'image entachée d'erreurs. Cette analyse préliminaire permet d'obtenir des informations plus précises sur les caractéristiques de la séquence que les méthodes de l'art antérieur. On augmente en effet le nombre d'images analysées. Cette analyse permet d'une part de décider si la mise en oeuvre d'une méthode de masquage de pertes est possible et d'autre part de choisir la meilleure méthode parmi un ensemble de méthodes de masquage. En pratique, l'analyse des informations de mouvement prend en compte les normes des vecteurs de différence entre le vecteur d'un macrobloc courant et les vecteurs des macroblocs du voisinage. S'il n'est pas possible de masquer les pertes, une méthode d'assombrissement progressif de la séquence, appelée encore fading est appliquée. En effet, il est plus agréable pour l'utilisateur de voir un assombrissement progressif de la séquence en cas d'erreurs et de ne rien afficher tant que la séquence n'est pas resynchronisée, plutôt que d'avoir une rupture abrupte de la qualité et d'afficher des images incorrectement décodées.
La présente invention a également pour objet un appareil récepteur d'images d'une séquence vidéo ayant subi des pertes au cours d'un échange de données avec un appareil émetteur relié audit appareil récepteur à travers un réseau de communication, l'appareil récepteur comprenant au moins un premier module implémentant une couche transport et un second module implémentant une couche application, la couche application étant subdivisée en un premier sous-module implémentant le décodage de la vidéo et un second sous-module implémentant l'affichage de ladite vidéo. 6 Selon un autre aspect de l'invention, l'appareil comprend : - au niveau de la couche transport, des moyens de transmission d'un signal de détection de perte de données à destination de la couche application, dès que la couche transport détecte une perte de données ; et - au niveau de la couche application, un mécanisme de masquage de perte apte à mettre en oeuvre, dès réception dudit signal de détection de perte et sans attendre que ladite couche application détecte elle-même ladite perte de données ainsi détectée. En pratique, ledit mécanisme de masquage de perte comprend des moyens pour le stockage d'informations de mouvement de chaque image précédant l'image entachée d'erreur à partir de l'image suivant la réception du signal de détection. Selon une réalisation, l'appareil comprend en outre des moyens pour la détermination de la nature du mouvement par une analyse des informations de mouvement stockées. En pratique, les moyens d'analyse des informations de mouvement prennent en compte les normes des vecteurs de différence entre le vecteur d'un macrobloc courant et les vecteurs des macroblocs du voisinage. Selon une autre réalisation, en réponse à un mouvement considéré comme régulier, le mécanisme de masquage de perte est apte à choisir une méthode parmi un ensemble de méthodes disponibles au niveau de l'appareil récepteur, ou un processus progressif d'assombrissement de l'image. La présente invention a également pour objet un support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. La présente invention a enfin pour objet un programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre du procédé mentionné ci-avant, lorsque ce programme est chargé et exécuté par un système informatique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description ci-après et des dessins dans lesquels : - la figure 1 représente schématiquement un appareil récepteur selon l'invention ; - la figure 2 est un organigramme illustrant le fonctionnement de l'appareil récepteur selon l'invention ; - la figure 3 est un organigramme illustrant le fonctionnement de l'unité de calcul de l'appareil récepteur selon l'invention ; et - la figure 4 est un organigramme illustrant la procédure d'analyse du mouvement selon l'invention. La présente invention trouve une application particulière dans un système de transmission vidéo entre un appareil émetteur et un appareil récepteur. L'appareil émetteur est par exemple un système embarqué, tel qu'un appareil photo, une caméra vidéo ou un assistant personnel ayant une capacité de transmission sans fil telle qu'une carte compatible avec le protocole IEEE802.11 a, b ou g, des capacités de stockage, de calcul et d'encodage conformément au standard MPEG-4. De son côté, l'appareil récepteur est une unité d'affichage, telle qu'un téléviseur, ayant des capacités de réception telles qu'une carte compatible avec le même protocole que l'émetteur, des capacités de calcul, de stockage et de décodage conformément au standard MPEG-4. Bien évidemment, l'invention fonctionne également dans un système non embarqué et/ou sur un réseau filaire. L'appareil émetteur et l'appareil récepteur utilisent des protocoles, tels que les protocoles RTP, UDP ou IP pour communiquer. Dans la suite de la description, il est uniquement question de l'appareil récepteur. En effet, l'appareil émetteur n'a aucun rôle actif ici et se contente d'émettre en continu une vidéo.
En référence à la figure 1, on a représenté les éléments constitutifs et essentiels d'un appareil récepteur. 8 L'appareil récepteur comprend une unité de réception réseau 1 capable de recevoir les paquets transmis par l'appareil émetteur à travers un réseau de communication (non représenté). Une unité de stockage réseau 2 stocke le contenu des paquets ainsi reçus. L'appareil récepteur comprend en outre un décodeur vidéo 3, une unité de calcul CPU 4, une mémoire vive RAM 5, une unité de stockage d'images décodées 6 et un écran de visualisation 7. L'appareil récepteur est par exemple un micro-ordinateur connecté à différents périphériques tels que, par exemple, un disque dur, un lecteur de disquette. La disquette comme le disque dur peuvent contenir des données traitées selon l'invention ainsi que le code de l'invention qui, une fois lu par l'unité centrale 4, sera stocké dans le disque dur. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention pourra être stocké en mémoire morte (non représentée). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication (non représenté). L'unité centrale 4 (appelée CPU sur le dessin) va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte (non représentée) ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de décompression stockés dans une mémoire non volatile, sont transférés dans la mémoire vive RAM 5 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. Bien entendu, les disquettes peuvent être remplacées par tout support d'information tel que CD-ROM ou carte mémoire. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil récepteur, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. En référence aux figures 2 et 3, l'appareil récepteur met en oeuvre deux processus fonctionnant en parallèle et communicant par des signaux. Le premier processus est le processus de réception et est décrit par les étapes E201 à E203. Le second processus est le processus de décodage et est décrit 9 par les étapes E211 à E231. On peut noter que ces deux processus implémentent respectivement la couche transport et la couche application. Le processus de réception débute à l'étape E201 par la réception d'un paquet RTP. Ce paquet est stocké dans l'unité de stockage réseau 2 jusqu'à ce que son contenu soit consommé par la couche application. Il est ensuite effacé. L'en-tête de ces paquets contient deux informations permettant d'identifier le numéro de l'image contenu par le paquet : - un numéro de séquence (sequence number) unique identifiant chaque paquet et incrémenté de 1 à chaque paquet émis ; - un identificateur temporel (timestamp). On suppose ici que l'encodeur contrôle cet identificateur et qu'il est incrémenté de la valeur de l'écart temporel entre deux images pour chaque nouvelle image émise. Si par exemple la séquence est jouée à 25 images par seconde, l'écart est â =0,04s. On note que si une image est transmise dans plusieurs paquets, ceux-ci ont le même identificateur temporel. Lors de l'étape E203, l'unité de réception 1 envoie ces deux indicateurs à l'unité de calcul 4. Les détails des processus réalisés par l'unité de calcul 4 sont décrits en référence à la figure 3. Lors de l'étape E301, l'unité de calcul 4 stocke en 20 mémoire vive 5 : - le numéro de séquence du dernier paquet reçu Pn ; - le numéro de séquence du paquet reçu précédent Pn ; -l'identificateur temporel du dernier paquet reçu Tn ; et -l'identificateur temporel du paquet reçu précédent Tn, . 25 On calcule ensuite à l'étape E303 la différence entre les numéros de séquence pour obtenir un delta numérique Ap et les identificateurs temporels pour obtenir un delta temporel At . La valeur du delta numérique Op est testée lors de l'étape E305. Si celle-ci est supérieure à 1, au moins un paquet a été perdu. Dans ce cas l'étape E305 est suivie de l'étape E307. Au cours de cette 30 étape un signal est envoyé au décodeur pour lui indiquer qu'au moins un paquet a été perdu. L'étape E307 est suivie de l'étape E309 au cours de laquelle on vérifie la valeur du delta temporel At . Si celle-ci est égale à 0, une partie de l'image courante a été perdue. On stocke alors dans un tableau TAB stocké en mémoire vive le numéro de l'image, le numéro de paquet et l'état perdu du paquet. Si le delta temporel At est différent de 0, alors le nombre At /8 images ont subi des pertes. A l'étape E311, on stocke alors dans le tableau TAB les numéros de toutes ces images et l'état du paquet. On ne note pas les numéros de paquets correspondants puisqu'on ne peut identifier dans quel paquet était transportée chaque image. Lors de l'étape E311 on incrémente le nombre Ni de At /8.
Si à l'étape E305, le delta numérique Ap est égal à 1, on passe à l'étape E313. Au cours de cette étape, on teste la valeur du delta temporel At . Si celle-ci est égale à 0, le dernier paquet reçu contenait une nouvelle portion d'une image. Cette étape est alors suivie par l'étape E317 au cours de laquelle on stocke le numéro de l'image reçue, le numéro de paquet contenant une portion de cette image et son état reçu. Si une portion d'une nouvelle image a été reçue, lors de l'étape E315 on incrémente donc le numéro de la dernière image Ni reçue de 1. On passe ensuite à l'étape E317 déjà décrite. On retourne à l'étape E301 dès qu'un nouveau paquet est reçu. Les processus de la couche application s'exécutent en parallèle au processus de la couche transport. Dès que le traitement d'un paquet est terminé, le décodeur 3 consomme un nouveau paquet dans l'unité de stockage réseau 2. Cette étape déclenche les processus mis en oeuvre par la couche application décrite en référence à la figure 2. Les processus débutent par l'étape E211 au cours de laquelle on teste si un message indiquant qu'un paquet détecté perdu a été reçu. Si ce n'est pas le cas, on décode le contenu du paquet et on consomme un nouveau paquet. Si un paquet a été détecté perdu , l'étape E211 est suivie de l'étape E213. Au cours de cette étape on vérifie si l'image en cours de décodage est une image erronée. Pour cela on cherche dans le tableau TAB les numéros de l'image et du paquet courant et on vérifie son état. Si son état est reçu , l'image en cours n'est pas erronée. On passe alors à l'étape E225 au cours de laquelle on procède au décodage du contenu du paquet. Cette étape est suivie de l'étape E227 au cours de laquelle on stocke dans un tableau MOUV, les numéros de l'image courante et les vecteurs de mouvement de cette image. Si l'état de l'image est perdu à l'étape E213, l'image est erronée et on passe à l'étape E215. On note qu'une fois que la vérification de l'étape E215 est effectuée, on efface les données correspondant à ce paquet du tableau TAB. A l'étape E215 on procède à l'analyse du mouvement. Pour cela, on calcule l'amplitude cumulée des vecteurs de mouvement et on détermine la complexité du mouvement. Cette procédure est décrite en référence à la figure 4. Elle débute à l'étape E401 par l'initialisation des variables AN; (amplitude du mouvement dans l'image Ni), PNi (amplitude cumulée de la différence de mouvement entre deux macroblocs MB proches spatialement), x et y à O. L'amplitude PNi permet de déterminer la nature aléatoire ou régulière du mouvement dans la vidéo. Cette étape est suivie de l'étape E403 au cours de laquelle on compare la valeur de x au nombre de macroblocs MB dans une ligne de macroblocs MB d'une image. Si x est inférieur à ce nombre, on passe à l'étape E405, au cours de laquelle on incrémente AN; de la valeur de l'amplitude du mouvement du macrobloc MB courant. Cette étape est suivie des étapes E407, E409 et E411 au cours desquelles on calcule les normes des vecteurs de différences P; avec i allant de 1 à 3 entre le vecteur V(x,y) du macrobloc MB courant et les vecteurs V de trois macroblocs MB du voisinage (si ces macroblocs MB sont présents). Ici les macroblocs MB utilisés sont le macrobloc MB au-dessus du macrobloc MB courant (s'il est présent), le macrobloc MB précédant le macrobloc MB courant (s'il est présent) et le macrobloc MB au-dessus du macrobloc MB précédant le macrobloc MB courant (s'il est présent). Si les macroblocs MB sont absents, aucune différence n'est calculée. On note que la norme de la différence entre deux vecteurs de mouvement est calculée ici sur trois macroblocs MB, mais qu'il s'agit juste d'un exemple d'implémentation. Tous les macroblocs MB voisins du macrobloc MB analysé peuvent aussi être utilisés, ou encore un autre sous-ensemble de macroblocs voisins pourrait être utilisé.
Ces étapes sont suivies de l'étape E413 au cours de laquelle on incrémente l'amplitude Ni Pdu minimum des amplitudes P1, P2 et P3. x est incrémenté de 1 à l'étape E415. Cette étape est suivie de l'étape E403. Si à l'étape E403 la réponse est non, y est incrémenté de 1 et x passe à O. Cette étape est suivie de l'étape E419 au cours de laquelle, on compare y à la valeur du nombre de macroblocs MB dans une colonne de macroblocs MB de l'image. Si y est inférieur à cette valeur, on passe à l'étape E405, sinon on passe à l'étape E419 qui met fin à la procédure car toute l'image a été traitée. Les opérations de la figure 4 sont réitérées sur toutes les images dont on a conservé des informations de mouvement jusqu'à l'image entachée d'erreur. Les informations Ni Pet AN; obtenues pour chaque images sont conservées dans un tableau INFO IMAGE. On fait à nouveau référence à la figure 2. On passe à l'étape E217, au cours de laquelle on prend la décision de masquer ou de ne pas masquer les pertes. Pour cela, on compare les valeurs de l'amplitude Ni Pà un seuil. Ce seuil permet de déterminer si le mouvement est considéré comme aléatoire ou régulier. Ce seuil peut être déterminé grâce à des séquences vidéo d'entraînement. Si l'une des valeurs de l'amplitude Ni Pconservées dans le tableau INFO IMAGE dépasse le seuil, on considère alors que le mouvement est aléatoire et on passe à l'étape E219 qui procède à l'assombrissement, appelé encore fading , de la séquence. En pratique, la procédure de fading consiste à assombrir les images de la séquence jusqu'à obtenir une image noire pour l'image entachée d'erreur. Pour cela lors de l'affichage la luminance de chaque pixel de chaque image est divisée par 2n. n démarre à 1 pour la première image sur laquelle est appliquée la procédure de fading et est incrémenté de 1 à chaque nouvelle image jusqu'à l'image entachée d'erreur qui est remplacée par une image noire. Alternativement, dans un autre mode de mise en oeuvre on peut envisager de geler l'affichage sur une image correcte, en attendant l'image INTRA suivante permettant de resynchroniser l'affichage.
L'étape E219 est suivie de l'étape E221 au cours de laquelle le décodeur se met en attente de la prochaine image INTRA pour se resynchroniser et reprendre ainsi l'affichage des images.
Si à l'étape E217, on décide de mettre en oeuvre un masquage de pertes, on passe à l'étape E229. Lors de cette étape, une méthode de masquage de pertes est choisie parmi un ensemble de méthodes disponibles au niveau du récepteur.
On sait depuis l'étape E217 que le mouvement dans la séquence est relativement régulier. Grâce aux informations d'amplitude du mouvement on peut déterminer si le mouvement est fort ou faible. Un mouvement faible et régulier signifie qu'il existe des corrélations à long terme entre les mouvements des macroblocs MB d'une série d'images successives. Un mouvement fort et régulier signifie qu'il existe des corrélations à court terme entre les macroblocs MB d'une série d'images successives. On définit une séquence ayant un mouvement fort comme une séquence dont la majorité des images a une valeur de AN; supérieure à un seuil. Ce seuil peut être défini grâce à des séquences d'entraînement.
Le vecteur de mouvement d'un macrobloc MB perdu est prédit à partir du vecteur de mouvement du meilleur macrobloc MB prédicteur pris parmi ses plus proches voisins. Pour déterminer le meilleur prédicteur, on utilise les informations de mouvement des images précédentes conservées dans le tableau MOUV. Pour chaque macrobloc MB situé à la même position spatiale que le macrobloc MB perdu dans les images précédentes, on détermine le meilleur prédicteur. Le meilleur prédicteur pour un macrobloc MB donné est le macrobloc MB du voisinage ayant le vecteur de mouvement le plus proche du vecteur de mouvement de ce macrobloc MB.
Si le mouvement est fort, on affecte au macrobloc MB perdu le vecteur de mouvement du macrobloc MB situé à la même position spatiale que le meilleur prédicteur de l'image précédente (prise en compte de corrélation temporelle à court terme). Si le mouvement est faible, on affecte au macrobloc MB perdu un vecteur de mouvement obtenu par une combinaison linéaire des meilleurs prédicteurs pris dans toutes les images dont on a conservé les informations de mouvement (prise en compte d'information temporelle à long terme).
La méthode de masquage étant choisie, on passe à l'étape E231 qui procèdeau décodage avec masquage des pertes. On passe ensuite au décodage d'une autre image.

Claims (12)

REVENDICATIONS
1. Procédé de réception mis en oeuvre au sein d'un appareil récepteur d'images d'une séquence vidéo ayant subi des pertes au cours d'un échange de données avec un appareil émetteur relié audit appareil récepteur à travers un réseau de communication, l'appareil récepteur comprenant au moins un premier module implémentant une couche transport et un second module implémentant une couche application, la couche application étant subdivisée en un premier sous-module (3) implémentant le décodage de la vidéo et un second sous-module (7) implémentant l'affichage de ladite vidéo, caractérisé en ce qu'il comprend les étapes suivantes : - au niveau de la couche transport (2), transmission d'un signal de détection de perte de données à destination de la couche application, dès que la couche transport (2) détecte une perte de données ; et - au niveau de la couche application, mise en oeuvre d'un mécanisme de masquage de perte, dès réception dudit signal de détection de perte et sans attendre que ladite couche application détecte elle-même ladite perte de données ainsi détectée.
2. Procédé selon la revendication 1, dans lequel ledit mécanisme de masquage de perte débute par le stockage d'informations de mouvement de chaque image précédant l'image entachée d'erreur à partir de l'image suivant la réception du signal de détection.
3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce qu'il comprend en outre la détermination de la nature du mouvement par une analyse des informations de mouvement stockées.
4. Procédé selon la revendication 3, dans lequel l'analyse des informations de mouvement stockées prend en compte les normes des vecteurs de différence (P;) entre le vecteur (V(x, y)) d'un macrobloc (MB) courant et les vecteurs (V) des macroblocs du voisinage.
5. Procédé selon l'une quelconque des revendications, dans lequel en réponse à un mouvement considéré comme régulier, le mécanisme de masquage de perte est choisi parmi un ensemble de méthodes disponibles au niveau de l'appareil récepteur, sinon ledit appareil récepteur met en oeuvre un processus progressif d'assombrissement de l'image.
6. Appareil récepteur d'images d'une séquence vidéo ayant subi des pertes au cours d'un échange de données avec un appareil émetteur relié audit appareil récepteur à travers un réseau de communication, l'appareil récepteur comprenant au moins un premier module implémentant une couche transport et un second module implémentant une couche application, la couche application étant subdivisée en un premier sous-module (3) implémentant le décodage de la vidéo et un second sous-module (7) implémentant l'affichage de ladite vidéo, caractérisé en ce qu'il comprend : - au niveau de la couche transport (2), des moyens de transmission d'un signal de détection de perte de données à destination de la couche application, dès que la couche transport détecte une perte de données ; et - au niveau de la couche application, un mécanisme de masquage de perte apte à mettre en oeuvre, dès réception dudit signal de détection de perte et sans attendre que ladite couche application détecte elle-même ladite perte de données ainsi détectée.
7. Appareil selon la revendication 6, dans lequel ledit mécanisme de masquage de perte comprend des moyens (6) pour le stockage d'informations de mouvement de chaque image précédant l'image entachée d'erreur à partir de l'image suivant la réception du signal de détection.
8. Appareil selon la revendication 6 ou la revendication 7, caractérisé en ce qu'il comprend en outre des moyens pour la détermination de la nature du mouvement par une analyse des informations de mouvement stockées.
9. Appareil selon la revendication 8, dans lequel les moyens d'analyse des informations de mouvement prennent en compte les normes des vecteurs de différence (P;) entre le vecteur (V(x, y)) d'un macrobloc (MB) courant et les vecteurs (V) des macroblocs du voisinage.
10. Appareil selon l'une quelconque des revendications 6 à 9, dans lequel en réponse à un mouvement considéré comme régulier, le mécanisme de masquage de perte est apte à choisir une méthode parmi un ensemble de méthodes disponibles au niveau de l'appareil récepteur, ou un processus progressif d'assombrissement de l'image.
11. Support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé selon l'une des revendications 1 à 5, lorsque ce programme est chargé et exécuté par un système informatique.
12. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre du procédé selon l'une des revendications 1 à 5, lorsque ce programme est chargé et exécuté par un système informatique.
FR0650802A 2006-03-08 2006-03-08 Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission Expired - Fee Related FR2898459B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0650802A FR2898459B1 (fr) 2006-03-08 2006-03-08 Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission
US11/683,323 US8824566B2 (en) 2006-03-08 2007-03-07 Method and apparatus for receiving images having undergone losses during transmission
JP2007059145A JP4614395B2 (ja) 2006-03-08 2007-03-08 送信中に損失を受けた画像を受信する方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0650802A FR2898459B1 (fr) 2006-03-08 2006-03-08 Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission

Publications (2)

Publication Number Publication Date
FR2898459A1 true FR2898459A1 (fr) 2007-09-14
FR2898459B1 FR2898459B1 (fr) 2008-09-05

Family

ID=37503461

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0650802A Expired - Fee Related FR2898459B1 (fr) 2006-03-08 2006-03-08 Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission

Country Status (3)

Country Link
US (1) US8824566B2 (fr)
JP (1) JP4614395B2 (fr)
FR (1) FR2898459B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2902266B1 (fr) * 2006-06-13 2008-10-24 Canon Kk Procede et dispositif de repartition de la bande passante de communication
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
US9455892B2 (en) 2010-10-29 2016-09-27 Symantec Corporation Data loss monitoring of partial data streams
US9576192B2 (en) * 2014-03-12 2017-02-21 Yamaha Corporation Method and apparatus for notifying motion

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1137005A2 (fr) * 2000-03-23 2001-09-26 International Business Machines Corporation Correction d'erreur pour des signaux transmis de façon digitale
US6449311B1 (en) * 1997-03-13 2002-09-10 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6665345B1 (en) * 1999-02-16 2003-12-16 Mitsubishi Denki Kabushiki Kaisha Moving picture decoding device and moving picture decoding method
EP1608182A2 (fr) * 2004-06-19 2005-12-21 Samsung Electronics Co., Ltd. Procédé et dispositif de traitement d'erreurs de transmission pour des systèmes DMB

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247363A (en) * 1992-03-02 1993-09-21 Rca Thomson Licensing Corporation Error concealment apparatus for hdtv receivers
KR100215428B1 (ko) * 1995-01-23 1999-08-16 윤종용 B픽처의에러은폐방법
JPH09271025A (ja) * 1996-03-28 1997-10-14 Sanyo Electric Co Ltd エラー処理装置
EP1374430A4 (fr) * 2001-03-05 2005-08-17 Intervideo Inc Systemes et procedes pour un codage robuste aux erreurs
JP3931595B2 (ja) * 2001-07-10 2007-06-20 株式会社日立製作所 データ修正装置及びデータ修正方法
KR101075860B1 (ko) * 2002-07-15 2011-10-25 노키아 코포레이션 비디오 시퀀스에서 오류 은폐 방법
FR2861245B1 (fr) * 2003-10-16 2006-05-05 Canon Europa Nv Procede de video surveillance, dispositif, systeme et programme d'ordinateur correspondant
EP1531428A3 (fr) * 2003-11-14 2015-08-19 Canon Kabushiki Kaisha Méthode et appareil pour la création, téléchargement et gestion d'une animation
US7835916B2 (en) * 2003-12-19 2010-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Channel signal concealment in multi-channel audio systems
US20060045190A1 (en) * 2004-09-02 2006-03-02 Sharp Laboratories Of America, Inc. Low-complexity error concealment for real-time video decoder
US7738561B2 (en) * 2004-11-16 2010-06-15 Industrial Technology Research Institute MPEG-4 streaming system with adaptive error concealment
KR100755688B1 (ko) * 2005-02-02 2007-09-05 삼성전자주식회사 에러 은닉 장치 및 방법
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
DE602006011865D1 (de) * 2005-03-10 2010-03-11 Qualcomm Inc Decoder-architektur für optimiertes fehlermanagement in multimedia-strömen
FR2902266B1 (fr) * 2006-06-13 2008-10-24 Canon Kk Procede et dispositif de repartition de la bande passante de communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449311B1 (en) * 1997-03-13 2002-09-10 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6665345B1 (en) * 1999-02-16 2003-12-16 Mitsubishi Denki Kabushiki Kaisha Moving picture decoding device and moving picture decoding method
EP1137005A2 (fr) * 2000-03-23 2001-09-26 International Business Machines Corporation Correction d'erreur pour des signaux transmis de façon digitale
EP1608182A2 (fr) * 2004-06-19 2005-12-21 Samsung Electronics Co., Ltd. Procédé et dispositif de traitement d'erreurs de transmission pour des systèmes DMB

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AIGN S: "Iterative Decodierung und Fehlerverschleierung für Bewegtbilder. Kapitel 6 Fehlerdetektion. Kapitel 7 Fehlerrobuste Quelldecodierung.", 1998, VDI VERLAG, DÜSSELDORF, ISBN: 3-18-354010-X, XP002412521 *

Also Published As

Publication number Publication date
JP4614395B2 (ja) 2011-01-19
JP2007295535A (ja) 2007-11-08
US8824566B2 (en) 2014-09-02
FR2898459B1 (fr) 2008-09-05
US20070211799A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
FR2840495A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2916600A1 (fr) Procede et dispositif de transmission de donnees
FR2837330A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2902266A1 (fr) Procede et dispositif de repartition de la bande passante de communication
FR2897741A1 (fr) Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee
FR2935862A1 (fr) Procede de prediction du taux d'erreurs de transmission dans un reseau de communication et serveur mettant en oeuvre un tel procede
WO2006064098A1 (fr) Procede de transmission a debit binaire variable a travers un canal de transmission
FR2948249A1 (fr) Procedes et dispositifs d'estimation d'un niveau d'utilisation d'un reseau de communication et d'adaptation d'un niveau d'abonnements a des groupes multipoints
EP3707900B1 (fr) Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés
FR2975555A1 (fr) Methode d'adaptation dynamique du debit de reception et recepteur associe
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
EP3449634B1 (fr) Procédé de composition contextuelle d'une représentation vidéo intermédiaire
FR2898459A1 (fr) Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission
EP1591962A2 (fr) Procédé et dispositif de génération de vecteurs candidats pour les systèmes d'interpolation d'images par estimation et compensation de mouvement
EP3780632B1 (fr) Systeme de distribution d'un contenu audiovisuel
FR2893470A1 (fr) Procede et dispositif de creation d'une sequence video representative d'une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
FR2942095A1 (fr) Procede et dispositif d'identification de pertes de donnees video
EP3840335B1 (fr) Réception d'un contenu numérique en mode truque
EP2936811A1 (fr) Procédé et dispositif de transmission d'une séquence d'images basé sur un codage région adaptatif
EP1241894A1 (fr) Procédé de codage d'images numériques basé sur la dissimulation d'erreurs
WO2008043923A1 (fr) Utilisation d'un canal de retour pour la diffusion d'images
WO2007003836A2 (fr) Procede et dispositif de codage video
FR2941110A1 (fr) Procede et dispositif de prediction d'un etat de pertes d'un reseau de communication
FR3079705A1 (fr) Communication par video conference
EP4201074A1 (fr) Estimation de la résolution vidéo délivrée par un flux vidéo chiffré

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

ST Notification of lapse

Effective date: 20191106