FR2934453A1 - Procede et dispositif de masquage d'erreurs - Google Patents

Procede et dispositif de masquage d'erreurs Download PDF

Info

Publication number
FR2934453A1
FR2934453A1 FR0854998A FR0854998A FR2934453A1 FR 2934453 A1 FR2934453 A1 FR 2934453A1 FR 0854998 A FR0854998 A FR 0854998A FR 0854998 A FR0854998 A FR 0854998A FR 2934453 A1 FR2934453 A1 FR 2934453A1
Authority
FR
France
Prior art keywords
image
current image
previous
masking
similarity
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
FR0854998A
Other languages
English (en)
Other versions
FR2934453B1 (fr
Inventor
Nael Ouedraogo
Benoit Vandame
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 FR0854998A priority Critical patent/FR2934453B1/fr
Priority to US12/506,539 priority patent/US8768088B2/en
Publication of FR2934453A1 publication Critical patent/FR2934453A1/fr
Application granted granted Critical
Publication of FR2934453B1 publication Critical patent/FR2934453B1/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé de masquage d'erreurs dans au moins une partie d'une image courante (i) d'une séquence d'images (4), caractérisé en ce qu'il comporte les étapes suivantes: - comparaison (S81) de ladite au moins une partie de l'image courante (i) avec au moins une partie correspondante d'une image précédente (i-1), et - sélection (S83) d'une méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante, en fonction du résultat de ladite étape de comparaison et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente.

Description

La présente invention concerne un procédé de masquage d'erreurs. Plus particulièrement, elle concerne un procédé de masquage d'erreurs dans une image d'une séquence d'images. Corrélativement, elle concerne un dispositif adapté à mettre en oeuvre le procédé conforme à l'invention.
Lorsqu'un flux de données, par exemple une séquence d'images ou vidéo est transmise à travers un réseau de communication, certaines données du flux de données sont susceptibles d'être perdues ou corrompues. La perte ou la corruption de données qui se produit lors de la transmission d'une séquence vidéo a comme conséquence l'apparition d'artefacts (ou perturbations artificielles) dans certaines images de la séquence vidéo. Ces artefacts diminuent la qualité de la séquence vidéo. Afin d'améliorer la qualité des images, des méthodes de masquage d'erreurs ("error concealment" en terminologie anglosaxonne) sont appliquées aux images dans la séquence d'images.
Les méthodes de masquage d'erreurs peuvent être divisées en méthodes temporelles et méthodes spatiales. Les méthodes temporelles consistent à utiliser les données des images précédemment décodées afin d'estimer les données correspondant à une partie d'image comprenant des données manquantes ou erronées.
Ces méthodes présentent des résultats satisfaisants lorsque la différence entre une image courante à corriger et des images précédentes est faible, c'est-à-dire lorsque ces images se ressemblent. Les méthodes spatiales, quant à elles, consistent à utiliser les données correctement décodées d'une image courante afin d'estimer les données correspondant à une partie de l'image courante comprenant des données manquantes ou erronées. 2
En général, ces méthodes présentent des résultats moins satisfaisants que les méthodes temporelles, excepté lorsqu'un changement de scène a lieu entre l'image à corriger et l'image décodée précédemment et qui va être utilisée comme référence. En effet, l'image consécutive à une transition de scène peut être très différente des images précédentes. Il est ainsi peu efficace d'utiliser une image précédente pour estimer la partie d'image erronée. Le document US 2007/0189398 décrit une méthode permettant de masquer les erreurs dans une image d'une séquence vidéo au moyen d'une technique de masquage d'erreurs sélectionnée parmi des techniques de masquage temporelles et spatiales. La sélection de la technique de masquage d'erreur est réalisée à partir d'un critère de similarité entre deux images. Néanmoins, le résultat obtenu n'est pas entièrement satisfaisant, l'image comportant des données corrigées présentant en effet une différence par rapport à l'image originale. Ainsi, lorsqu'une image comportant des données corrigées ou masquées est utilisée comme référence (ou comme image précédente) dans l'application d'une méthode de masquage temporelle, les erreurs dans l'image se propagent et peuvent s'accroître dans les images suivantes. Il est donc possible que deux images qui se ressemblent soient considérées comme différentes à cause de l'erreur induite par la méthode de masquage d'erreurs et que la méthode de masquage sélectionnée ne soit pas la méthode idéale. La présente invention a pour but de résoudre au moins un des inconvénients précités et de proposer à cet égard une méthode de masquage d'erreurs permettant de sélectionner la méthode de masquage d'erreurs la plus adaptée à une image ou à une partie d'image donnée. A cet effet, la présente invention vise selon un premier aspect, un procédé de masquage d'erreurs dans au moins une partie d'une image courante d'une séquence d'images.
Selon l'invention, le procédé de masquage d'erreurs comporte les étapes suivantes : - comparaison de ladite au moins une partie de l'image courante avec au moins une partie correspondante d'une image précédente, et - sélection d'une méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante, en fonction du résultat de ladite étape de comparaison et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente. Ainsi, la sélection de la méthode de masquage d'erreurs à appliquer pour une image courante tient compte, d'une part, de la comparaison entre l'image courante et une image précédente et, d'autre part, du ou des masquages d'erreurs réalisés dans l'image précédente. En effet, le masquage d'erreurs qui a été appliqué dans l'image précédente a une influence sur la comparaison entre l'image courante et l'image précédente.
Ainsi, on pourrait considérer que deux images qui, pourtant, se ressemblent, sont différentes (selon le critère de mesure de la ressemblance utilisé) en raison de l'erreur introduite par le masquage dans l'image précédente. C'est la raison pour laquelle on tient compte du masquage d'erreurs précédent lors de la sélection de la méthode la plus adaptée pour l'image courante. On notera que l'on détermine ainsi de façon dynamique la méthode de masquage qui est la plus appropriée pour masquer des erreurs dans l'image courante ou dans la partie d'image courante.
Il s'ensuit que le masquage ainsi réalisé est plus efficace qu'auparavant et que les images masquées offrent donc une meilleure qualité. On notera que l'image précédente n'est pas nécessairement l'image précédant immédiatement l'image courante dans la succession d'images de la séquence.
Selon une caractéristique, le procédé de masquage d'erreurs comporte une étape de détermination d'un paramètre représentatif d'une mesure de similarité entre ladite au moins une partie de l'image courante et ladite au moins une partie correspondante d'une image précédente à partir du résultat de la comparaison de ladite au moins une partie de l'image courante avec au moins une partie correspondante d'une image précédente. Ainsi, on détermine un paramètre représentatif d'une mesure de similarité ou de ressemblance entre la partie d'image courante et la partie correspondante d'image précédente. Le paramètre représentatif de la similarité peut soit être représentatif d'une mesure de similarité directe, auquel cas sa valeur augmente avec la similarité visuelle entre deux images, soit être représentatif d'une mesure de similarité inverse, auquel cas sa valeur diminue avec la similarité visuelle entre deux images, pour atteindre zéro pour deux images identiques. En pratique, l'étape de comparaison comprend la comparaison de la valeur d'au moins certains des pixels de ladite au moins une partie de l'image courante avec la valeur d'au moins certains des pixels de ladite au moins une partie correspondante de l'image précédente respectivement. En effet, la comparaison est réalisée sur tous les pixels de l'image ou seulement sur une partie, en fonction des ressources disponibles et du degré de précision souhaité. Avantageusement, l'étape de sélection comporte une sous-étape de comparaison dudit paramètre représentatif d'une mesure de similarité avec un seuil déterminé à partir de ladite au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente. On notera que, pour une même image courante, le paramètre représentatif d'une mesure de similarité présente une valeur différente lorsque l'image précédente n'a pas subi de masquage d'erreurs et lorsque l'image précédente en a subi un. Ainsi, le paramètre représentatif d'au moins une mesure de similarité est fonction de certaines caractéristiques relatives au masquage d'erreurs réalisé sur l'image précédente.
On notera que le degré de similarité entre l'image courante et l'image précédente est fonction du type de méthode de masquage utilisée dans l'image précédente. En effet, l'utilisation d'une méthode de masquage temporelle pour la correction d'erreurs dans l'image précédente, introduit en général moins d'erreurs que lorsqu'une méthode de masquage spatiale est utilisée. Dans un mode de réalisation dans lequel le paramètre représentatif d'une mesure de similarité est représentatif d'une mesure de similarité inverse, pour un même couple d'image courante et d'image précédente, la mesure de similarité entre les images est supérieure lorsqu'une méthode de masquage spatiale est employée. On notera que le seuil est déterminé en tenant compte des caractéristiques relatives au masquage d'erreurs réalisé dans l'image précédente. Par conséquent, l'erreur induite par le masquage d'erreurs sur le paramètre représentatif de la similarité est compensée par la prise en compte du masquage d'erreurs dans la détermination du seuil. Selon un mode de réalisation, le seuil est représentatif d'une valeur de similarité (valeur limite) à partir de laquelle ladite au moins une partie d'image courante et ladite au moins une partie correspondante d'image précédente ne sont plus considérées comme similaires. Ainsi, la comparaison du paramètre représentatif de la similarité des images avec le seuil représentatif d'une valeur de similarité à partir de laquelle les images ne sont plus considérées comme similaires, n'est pas faussée par les erreurs induites par le masquage d'erreurs réalisé dans l'image précédente.
Selon une caractéristique, lorsque le nombre de données masquées est nul pour un nombre prédéterminé d'images précédentes consécutives, le seuil est remis à une valeur prédéterminée. Selon une caractéristique, lors de l'étape de sélection, une méthode de masquage d'erreurs temporelle ou une méthode de masquage d'erreurs spatiale est sélectionnée en fonction du résultat de la comparaison dudit paramètre représentatif d'une mesure de similarité avec ledit seuil.
Ainsi, lorsque les parties d'image courante et précédente ne se ressemblent pas selon le critère choisi pour la comparaison, la méthode de masquage d'erreurs appropriée correspond à une méthode spatiale. Au contraire, lorsque les parties d'image courante et précédente se ressemblent selon le critère choisi pour la comparaison, la méthode de masquage d'erreurs adaptée est une méthode temporelle. Selon une caractéristique, ladite au moins une information relative aux erreurs masquées comporte une information représentative du nombre de données masquées dans ladite au moins une partie correspondante de l'image précédente. En effet, le nombre de données masquées dans la partie de l'image précédente, c'est-à-dire la surface de la partie de l'image précédente comportant des données masquées, a un impact sur la quantification de la ressemblance (paramètre représentatif d'une mesure de similarité) entre la partie de l'image courante et la partie correspondante de l'image précédente. On prend donc en compte ce nombre dans la détermination du seuil. Selon une autre caractéristique, la sélection de la méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante, est en outre réalisée en fonction du type de codage de ladite au moins une partie de l'image courante. En effet, lorsque le codage employé pour la partie de l'image courante ne fait pas appel à une autre image de référence (par exemple le codage de type INTRA ou I dans la nomenclature des normes H.264 ou MPEG4), l'erreur introduite par le masquage d'erreurs dans la partie de l'image précédente n'est pas transmise à la partie de l'image courante lors de son décodage. Au contraire, lorsque le codage employé pour l'image courante nécessite une autre image de référence (par exemple le codage de type INTER ou P ou B dans la nomenclature des normes H.264 ou MPEG4), l'erreur introduite par le masquage d'erreurs dans l'image précédente est transmise à l'image courante lors de son décodage.
Ainsi, le fait d'employer ce type de codage ou de ne pas l'employer a un impact sur la détermination de la ressemblance entre les parties d'image courante et précédente. On prend donc en compte le type de codage dans la détermination du seuil.
Selon une autre caractéristique, ladite au moins une information relative aux erreurs masquées comporte une information représentative de la méthode de masquage appliquée à ladite au moins une partie correspondante de l'image précédente. Par conséquent, l'efficacité de la méthode de masquage employée est prise en compte lors de la détermination du seuil et, donc, lors de la sélection de la méthode de masquage pour l'image courante. Dans un mode de réalisation, l'image précédente correspond à l'image décodée avant l'image courante. Ainsi, la mise en oeuvre du procédé est simple, notamment en ce qui 15 concerne le stockage des données. Dans un autre mode de réalisation, l'image précédente correspond à l'image précédant l'image courante dans l'ordre d'affichage des images de la séquence. En effet, cette image précédente présente une probabilité élevée de 20 ressembler à l'image courante. Dans un autre mode de réalisation, l'étape de comparaison comporte la comparaison de l'histogramme de l'image courante avec l'histogramme de l'image précédente. Selon un deuxième aspect, la présente invention concerne un 25 dispositif de masquage d'erreurs dans au moins une partie d'une image courante d'une séquence d'images. Selon l'invention, le dispositif comporte : - des moyens de comparaison de ladite au moins une partie de l'image courante avec au moins une partie correspondante d'une image 30 précédente, et - des moyens de sélection d'une méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante, en fonction du résultat obtenu par les moyens de comparaison et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente. Selon une caractéristique, le dispositif comporte des moyens de détermination d'un paramètre représentatif d'une mesure de similarité entre ladite au moins une partie de l'image courante et ladite au moins une partie correspondante d'une image précédente. Selon une caractéristique, les moyens de comparaison sont adaptés à comparer la valeur d'au moins certains des pixels de ladite au moins une partie de l'image courante avec la valeur d'au moins certains des pixels de ladite au moins une partie correspondante de l'image précédente respectivement. Selon une caractéristique, les moyens de sélection comportent des moyens de comparaison dudit paramètre représentatif d'une mesure de similarité avec un seuil déterminé à partir de ladite au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente. Selon une caractéristique, les moyens de sélection sont adaptés à sélectionner une méthode temporelle ou une méthode spatiale en fonction du résultat de la comparaison dudit paramètre représentatif d'une mesure de similarité avec ledit seuil. Selon une autre caractéristique, les moyens de comparaison sont adaptés à comparer l'histogramme de l'image courante avec l'histogramme de l'image précédente.
La présente invention concerne, selon un troisième aspect, un moyen de stockage d'informations lisibles par un ordinateur ou un microprocesseur contenant des instructions d'un programme informatique, adapté à mettre en oeuvre le procédé tel que succinctement décrit ci-dessus, lorsque les informations stockées sont lues par l'ordinateur ou le microprocesseur. Dans un mode particulier de réalisation, ce moyen de stockage est partiellement ou totalement amovible.
La présente invention concerne, selon un quatrième aspect, un produit programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions pour mettre en oeuvre le procédé tel que succinctement décrit ci-dessus, lorsque ce produit programme d'ordinateur est chargé dans et exécuté par l'appareil programmable. Les avantages du dispositif de masquage d'erreurs, ainsi que les caractéristiques particulières et avantages du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de masquage d'erreurs, ils ne sont pas répétés ici.
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, faite en référence aux dessins annexés, donnés à titre d'exemples non limitatifs et sur lesquels : - la figure 1 représente schématiquement le contexte de la présente invention ; - la figure 2 représente schématiquement le codage d'une séquence d'images ; - la figure 3 est un organigramme représentant un mode de réalisation d'un procédé conforme à l'invention mis en oeuvre par un client ; - la figure 4 représente deux zones d'images comprenant respectivement deux blocs de données manquantes ou erronées ; - la figure 5 est un organigramme représentant un mode de réalisation de l'étape S8 de la figure 3 ; - la figure 6 représente deux zones d'images comprenant respectivement deux blocs de données manquantes ou erronées ; - la figure 7 est un organigramme représentant de façon détaillée l'étape S82 de la figure 5 ; - la figure 8 est un organigramme représentant de façon détaillée l'étape S83 de la figure 5 ; et - la figure 9 représente schématiquement un mode particulier de réalisation d'un appareil susceptible de mettre en oeuvre la présente invention. On va décrire tout d'abord, en référence à la figure 1, le contexte dans lequel se situe l'invention.
La figure 1 représente un dispositif serveur 1, un dispositif client 2 et un réseau 3. Le serveur 1 représente un système d'émission de données, le client 2 un système de réception et le réseau 3 un système de transmission entre le serveur 1 et le client 2.
Les données transmises du serveur 1 au client 2 à travers le réseau 3 sont par exemple des données vidéo. Dans ce contexte, une fonctionnalité du serveur 1 consiste à mettre en oeuvre une étape d'acquisition S1 afin de capturer des données, par exemple des données correspondant à une image ou à une séquence d'images ou séquence vidéo. Ensuite, chaque image acquise est codée lors d'une étape de codage S2, mise en paquets à l'étape S3 et transmise au client lors d'une étape de transmission S4. Par exemple, la norme utilisée pour le codage est une norme MPEG, par exemple MPEG-1, MPEG-2 ou MPEG-4.
Dans le mode de réalisation décrit ci-dessous, on emploie un codage basé sur la prédiction du mouvement entre des différentes images d'une séquence d'images. Par exemple, dans un système de visioconférence, une séquence vidéo est capturée lors de l'étape d'acquisition S1 par une caméra. Ensuite chacune des images composant la séquence vidéo est codée à la volée (connu en terminologie anglo-saxonne sous le terme "real time coded") lors de l'étape de codage S2 afin de former un flux de données codées. Ce flux de données codées sera transmis à un ou plusieurs clients, lors de l'étape de transmission S4.
Les opérations sont réalisées le plus rapidement possible afin de respecter la contrainte d'affichage en temps réel. Préalablement à la mise en oeuvre de la transmission des données lors de l'étape de transmission S4, les données sont encapsulées dans des paquets réseau selon un protocole donné, par exemple le protocole RTP (de l'anglais "Real Time Protocol'). Cette étape d'encapsulation de données est désignée par le terme "paquétisation" des données.
Les étapes de codage S2, de paquétisation S3 et de transmission S4 seront décrites plus en détail à l'aide de la figure 2. On notera que lors de la transmission des données sur le réseau 3, des paquets réseau peuvent être perdus ou altérés. Par exemple, en cas d'encombrement du réseau ("congestion" en terminologie anglo-saxonne), des noeuds du réseau sont amenés à supprimer ou à rejeter certains paquets réseau. On va maintenant décrire à l'aide de la figure 2 les étapes de codage S2, de paquétisation S3 et de transmission S4.
La figure 2 représente une séquence vidéo 4 comportant une suite d'images 11, B2, B3, P4, B5, B6, P7. La séquence vidéo 4 est codée au moyen d'un codeur basé sur la prédiction de mouvement, selon par exemple la norme H. 264 ou MPEG4 Partie 2.
Dans ces normes, le codage peut être de type INTRA ou INTER. Le codage INTRA ou I est réalisé sans employer d'image de référence, c'est-à-dire qu'une image codée selon un codage INTRA ne dépend pas d'autres images. Le codage INTER de type P est réalisé, quant à lui, en fonction d'une image de référence en compensant le mouvement entre l'image de référence (préalablement codée) et l'image à coder. Le mouvement entre les deux images est évalué, cette évaluation servant à déduire un ensemble de vecteurs de mouvement représentant le déplacement en translation entre les images. A partir de cet ensemble de vecteurs de mouvement, une image est prédite. La différence entre cette image prédite et l'image à coder est calculée et codée avec l'ensemble de vecteurs de mouvement. On notera ainsi que ce type de codage diminue de façon significative la quantité de données à coder. Le codage INTER de type B est similaire au codage INTER de type P mais est réalisé en fonction de deux images de référence.
A la figure 2, l'image 11 est une image INTRA, les images B2, B3, B5 et B6 sont des images INTER de type B, et les images P4 et P7 sont des images INTER de type P. Par exemple, l'image B2 est codée en prenant comme référence les images 11 et P4. Pour le codage de l'image P4, l'image 11 est prise comme image de référence. Chaque image de la séquence vidéo 4 est divisée en tranches 5 ("slices" en terminologie anglo-saxonne) et chaque tranche 5 est divisée en unités élémentaires de codage appelés macroblocs 6. Selon certaines normes, chaque macrobloc 6 peut être découpé en plusieurs sous-macroblocs. On notera qu'une image INTER de type B, peut comprendre des macroblocs des types I, P ou B ; une image INTER de type P, peut comprendre des macroblocs des types I et P, et une image INTRA peut comprendre uniquement des macroblocs de type I. Lorsque l'on emploie des images INTER (de type P ou B) le coût de codage est plus faible que celui correspondant au codage d'une image I. Néanmoins, les images I permettent d'éviter la propagation des erreurs des images précédentes. Ainsi, l'utilisation régulière du codage INTRA permet de supprimer des erreurs apparues précédemment, et donc de réaliser un rafraichissement de la séquence vidéo 4. Certains serveurs utilisent cette technique appelée "Rafraichissement Intra" ("Intra Refresh" en terminologie anglo-saxonne). D'autres serveurs déterminent les zones d'image difficiles à corriger par une méthode de masquage d'erreurs et forcent l'utilisation de macroblocs INTRA pour ces zones. Cette technique s'appelle "Rafraichissement Intra Adaptatif" ("Adaptative Intra Refresh" ou "AIR" en terminologie anglo-saxonne). Comme cité ci-dessus, une fois que les données vidéo sont codées, elles sont mises en paquets. Il existe d'ailleurs plusieurs techniques de paquétisation. Ainsi, un paquet réseau peut comprendre plusieurs tranches, une seule tranche ou un fragment de tranche. Par conséquent, la perte d'un paquet réseau lors de sa transmission a pour résultat la perte d'au moins une partie de tranche. On va maintenant décrire en référence à la figure 3 le 30 fonctionnement d'un dispositif client conforme à l'invention. Les paquets réseau transmis à travers le réseau sont reçus et dépaquétisés lors d'une étape de réception et de dépaquétisation S5. Cette étape consiste à extraire les données des paquets réseau et à reconstituer les tranches composant chaque image. Ensuite, lors d'une étape de décodage S6, les données sont décodées au moyen d'un décodeur. Une fois les données décodées, le décodeur détermine, lors d'une étape de vérification S7, si l'image décodée comporte des données manquantes ou erronées. Lorsque l'image comporte des données manquantes ou erronées, l'étape S7 est suivie d'une étape de détermination S8 de la méthode de masquage à appliquer à l'image. Cette étape de détermination S8 sera décrite en détail à l'aide de la figure 5. Ainsi, une fois la méthode de masquage déterminée, soit une étape d'application d'un masquage d'erreurs temporel S9a, soit une étape d'application d'un masquage d'erreurs spatial S9b est mise en oeuvre. Une fois l'étape d'application de masquage d'erreurs S9a, S9b 15 réalisée, on procède à une étape de stockage et de mise à jour de données S10. On décrira ci-dessous des paramètres et des informations stockés et mis à jour dans cette étape de stockage et de mise à jour S10. Lorsque l'on vérifie à l'étape de vérification S7 que l'image est 20 décodée correctement, c'est-à-dire qu'elle ne comporte pas de données manquantes ou erronées, des paramètres concernant l'image décodée (par exemple les pixels de l'image) sont stockés lors d'une étape de stockage S10. L'image décodée (avec ou sans masquages d'erreurs) est ensuite envoyée à un afficheur afin de mettre en oeuvre une étape d'affichage S11 de l'image 25 décodée. Dans un autre mode de réalisation, l'image décodée est stockée lors de l'étape de stockage S10 afin d'être utilisée ultérieurement. On notera que, lors de la mise en oeuvre d'une des étapes d'application de masquage d'erreurs S9a, S9b, une méthode de masquage 30 d'erreurs est sélectionnée parmi plusieurs méthodes. Ainsi, une méthode spatiale est sélectionnée parmi plusieurs méthodes spatiales et une méthode temporelle est sélectionnée parmi plusieurs méthodes temporelles.
On va maintenant décrire des méthodes de masquage d'erreurs temporelle et spatiale à l'aide de la figure 4. La figure 4 illustre des images 40a, 40b qui se suivent dans une séquence d'images. Une première image 40a comporte une zone erronée 41a correspondant à des données manquantes ou erronées. De même, une seconde image 40b comporte une seconde zone erronée 41 b correspondant à des données manquantes ou erronées. A l'étape de sélection de la méthode de masquage d'erreurs S8, une méthode de masquage spatiale a été sélectionnée pour la première image 40a et une méthode de masquage temporelle pour la seconde image 40b. La méthode de masquage spatiale appliquée à la première image 40a consiste à utiliser les pixels valides (sans erreur), situés à la frontière de la zone erronée 41a, afin de masquer les pixels de la zone erronée 41a. Un macrobloc 42a de la zone erronée 41a est agrandi et représenté schématiquement afin de décrire un mode de mise en oeuvre d'une méthode spatiale. Comme illustré à la figure 4, dans cet exemple, un pixel manquant ou erroné 43a dans le macrobloc 42a est déterminé/masqué par détermination du barycentre d'un premier pixel valide 44a situé à la frontière supérieure de la zone erronée 41a et d'un second pixel valide 45a situé à la frontière inférieure de la zone erronée 41a. Les deux pixels valides 44a, 45a sont situés sur la même colonne. Lorsque l'un des pixels valides 44a, 45a n'est pas disponible (par exemple lorsque le zone erronée 41a est située en bordure d'image), la valeur du pixel manquant ou erroné 43a correspond à la valeur du pixel valide 44a ou 45a qui est disponible. Si aucun des pixels valides 44a, 45a n'est disponible (par exemple lorsque tous les macroblocs de l'image se sont perdus lors de la transmission), la valeur du pixel manquant ou erroné 43a correspond à une valeur prédéfinie. Dans ce dernier cas, une alternative consiste à ne pas appliquer une méthode spatiale à l'image.
La méthode de masquage temporelle appliquée à la seconde image 40b consiste à estimer les vecteurs de mouvement des macroblocs de sa zone erronée 41b. Le vecteur de mouvement de chaque macrobloc de la zone erronée est déterminé en effectuant une moyenne des vecteurs de mouvement correspondant aux macroblocs voisins de la zone erronée 41 b. Ainsi, par exemple, le vecteur de mouvement 43b correspondant au macrobloc 42b de la zone erronée 41b est déterminé à partir des vecteurs de mouvement des macroblocs voisins, c'est-à-dire que la valeur du vecteur de mouvement 43b est définie comme la moyenne de la valeur des vecteurs de mouvement 44b, 45b et 46b. Si les macroblocs voisins sont de type INTRA (aucun vecteur de mouvement n'est disponible), la valeur du vecteur de mouvement 43b du macrobloc 42b correspond à une valeur prédéfinie, par exemple la valeur nulle. Une fois que tous les vecteurs de mouvement des macroblocs de la zone erronée 41b sont déterminés, les pixels des macroblocs manquants ou erronés sont remplacés par la valeur résultante de la compensation de mouvement des macroblocs de la zone erronée 41b par rapport à l'image précédente 41a. La détermination des vecteurs de mouvement d'une image courante (ici la seconde image 40b) par rapport à une image précédente (ici la première image 40a) est connue de l'homme du métier et ne sera pas détaillée ici. On va maintenant décrire à l'aide de la figure 5 un mode de réalisation de l'étape de détermination S8 de la méthode de masquage. L'organigramme représenté à la figure 5 est mis en oeuvre pour chaque image d'une séquence d'images comportant des données manquantes ou erronées. Le procédé conforme à l'invention, et notamment l'algorithme de la 25 figure 5 décrit ci-dessous, est mis en oeuvre pour des images courante et précédente correspondant à des images entières. Néanmoins, il pourrait être mis en oeuvre pour une partie d'image courante et pour une partie correspondante d'image précédente. Ainsi, pour chaque image courante comportant des données 30 manquantes ou erronées, une étape de comparaison S81 de cette image courante et d'une image précédente est mise en oeuvre afin de déterminer la ressemblance ou similarité entre ces images.
Cette étape de comparaison S81 sera décrite plus en détails à l'aide de la figure 6. L'image précédente correspond à une image précédemment décodée par rapport à l'image courante. Cette image précédente peut être choisie selon plusieurs modes de réalisation. Dans un premier mode de réalisation, l'image précédente correspond à l'image décodée avant l'image courante. Si l'on revient à la figure 2, on peut observer que l'ordre de décodage des quatre premières images de la séquence d'images est le suivant : 11, P4, B2 et B3. Néanmoins, l'ordre d'affichage est 11, B2, B3 et P4. Ainsi, dans ce mode de réalisation, si, par exemple, l'image B2 est l'image courante, l'image précédente correspond à l'image P4. L'avantage de ce mode de réalisation est la simplicité de mise en oeuvre en ce qui concerne le stockage de données, dès lors que seule la 15 dernière image décodée doit être stockée. Dans un second mode de réalisation, l'image précédente correspond à l'image précédant l'image courante dans l'ordre d'affichage des images de la séquence d'images. Ainsi, dans l'exemple de la figure 2, l'image précédente de l'image 20 courante B2 correspond à l'image 11. L'avantage de ce mode de réalisation est l'utilisation d'une image précédente qui présente de fortes probabilités de ressembler à l'image courante. Une fois le degré/niveau de ressemblance entre les deux images 25 déterminé, une étape de détermination S82 d'une information relative aux erreurs masquées dans l'image précédente est mise en oeuvre. Dans cette étape de détermination S82, le masquage d'erreurs réalisé à l'image précédente est pris en compte. Cette étape sera décrite en détails à l'aide de la figure 7. 30 Des résultats obtenus lors des étapes de comparaison S81 et de détermination S82 sont utilisés lors d'une étape de sélection S83 afin de sélectionner le type de masquage d'erreurs à appliquer à l'image courante. La sélection se fait en fonction du résultat de ladite étape de comparaison et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente. Cette étape de sélection S83 sera décrite en détails à l'aide de la figure 8.
On notera que différents modes de réalisation peuvent être employés pour la mise en oeuvre de l'étape de comparaison S81 de l'image courante et de l'image précédente. Ces modes de réalisation vont maintenant être décrits à l'aide de la figure 6. Selon un mode de réalisation, l'étape de comparaison S81 consiste à comparer les histogrammes de l'image courante i (représentée sur la partie gauche de la figure 6) et d'une image précédente i-1 (non représentée sur la figure). Ainsi, lors de cette étape, on calcule les histogrammes de l'image courante i et de l'image précédente i-1, on stocke les histogrammes calculés et on détermine la différence entre eux.
Dans ce mode de réalisation, l'histogramme est calculé en tenant compte de moins de la totalité des pixels de l'image, et en réduisant la dynamique de l'histogramme, c'est-à-dire en réduisant le nombre de valeurs possibles de l'histogramme. Plus particulièrement, l'histogramme est mesuré sur les pixels 51 comportant des coordonnées multiples de quatre, l'amplitude des pixels 51 étant divisée par 16. Ainsi, la vitesse de calcul de l'histogramme et son coût de stockage sont réduits. Dans un autre mode de réalisation, l'histogramme peut être calculé en tenant compte de tous les pixels composant l'image et/ou sans réduire la dynamique de l'histogramme, c'est-à-dire sans réduire le nombre de valeurs possibles de l'histogramme. Dans ce cas, la vitesse et le coût de stockage sont supérieurs, mais l'histogramme est plus précis. Selon encore un autre mode de réalisation, l'histogramme est calculé en tenant compte de moins de la totalité des pixels de l'image et sans réduire la 30 dynamique de l'histogramme.
L'image courante i de la figure 6 comporte une zone non décodée 50 correspondant à des données perdues lors de la transmission des données à travers le réseau 3. Selon une première méthode de calcul de l'histogramme, les pixels 5 de cette zone non décodée 50 n'étant pas valides, ils ne sont pas pris en compte pour le calcul de l'histogramme de cette image courante i. Ainsi, le calcul de l'histogramme de l'image précédente i-1 qui est à comparer à l'image courante i est effectué sur la même zone d'image afin que les histogrammes des deux images soient calculés sur la base de la même 10 quantité d'informations. Une seconde méthode de mise en oeuvre du calcul de l'histogramme consiste à évaluer le mouvement entre l'image courante i et l'image précédente i-1, de façon à estimer la position de la zone non décodée 50 de l'image courante i dans l'image précédente i-1. 15 L'avantage de cette méthode est qu'elle prend réellement en compte le mouvement entre les images courante i et précédente i-1 afin que les histogrammes respectifs soient calculés sur des données réellement comparables. La première méthode présente de meilleures performances en 20 termes de vitesse et de complexité de calcul dès lors que l'estimation du mouvement entre les images courante i et précédente i-1 n'est pas nécessaire. Une fois les histogrammes de l'image courante et de l'image précédente calculés, l'intégrale des différences absolues des deux histogrammes est calculée selon l'équation suivante : N-1 L H i(k) û Hi-1(k) 25 Si = k-° NbPix dans laquelle Hi(k) représente l'histogramme de l'image courante i pour un niveau de luminosité k. Plus particulièrement, il s'agit du nombre de pixels dans l'image courante i ayant une valeur de luminosité k parmi l'ensemble de pixels sur lesquels on réalise le calcul de l'histogramme ou 30 NbPix.
De même, H;_1(k) représente le nombre de pixels dans l'image précédente i-1 ayant une valeur de luminosité k parmi l'ensemble de pixels sur lesquels on réalise le calcul de l'histogramme NbPix. N correspond au nombre de valeurs de luminosité considérées pour le calcul de l'histogramme. Ainsi, par exemple, si l'on a des valeurs de luminosité k allant de 0 à 255, N vaut 256 si toutes les valeurs de luminosité sont employées lors du calcul de l'histogramme. Dans ce cas, la dynamique de l'histogramme n'est pas réduite. Si, au contraire la dynamique de l'histogramme est réduite, c'est-à- dire que la valeur de la luminosité est divisée, par exemple, par 16, alors N vaut 16. Le résultat de cette équation est un paramètre Si représentant une mesure de similarité ou de ressemblance entre l'image courante i et l'image précédente i-1. Plus particulièrement, il s'agit d'une mesure de similarité inverse : dans ce mode de réalisation, la mesure de similarité diminue avec la ressemblance en termes de signal entre les images. Ainsi, la valeur du paramètre Si est nulle lorsque les images courante i et précédente i-1 sont identiques. Au contraire, la valeur de Si augmente lorsque la similarité ou la ressemblance entre les images courante i et précédente i-1 diminue.
Dans un autre mode de réalisation, il est possible de diviser l'image courante i' (située sur la partie droite de la figure 6) en plusieurs sous-parties i2', i3', i4' et de calculer un histogramme pour chaque sous-partie d'image i2', i3', i4'. Dans ce cas, les étapes S81, S82 et s83 sont appliquées successivement à chacune des sous-parties d'image il', i2', i3', i4'.
Pour le calcul ou l'estimation de la mesure de similarité Si, il est possible d'employer différentes méthodes de mesure de similarités. Dans un mode de réalisation, une mesure inverse de la similarité telle que la SAD (acronyme de "sum of absolute differences" en anglais) est calculée entre les pixels de l'image courante et de l'image précédente.
Dans un autre mode de réalisation, une mesure directe de la similarité telle que la corrélation est calculée entre les images courante et précédente. La valeur Si est alors définie comme étant l'inverse de cette mesure. Comme indiqué précédemment, l'étape S82 (figure 5) de détermination d'une information relative aux erreurs masquées dans l'image précédente (ou image antérieure), ainsi que l'utilisation de cette information, vont maintenant être décrits en référence à la figure 7. Comme décrit ci-dessus, le masquage d'erreurs appliqué aux données manquantes ou erronées d'une image n'est pas parfait. Ainsi, une image sur laquelle un masquage d'erreurs a été appliqué présente des défauts.
Si l'image sur laquelle une méthode de masquage a été appliquée est employée comme image précédente i-1 lors du masquage d'une image courante i, les erreurs dans l'image précédente i-1 dues au masquage d'erreurs ont un impact sur la détermination de la ressemblance entre l'image courante i et l'image précédente i-1.
De même, lorsque cette image courante i est employée comme image précédente pour le masquage d'erreurs d'une image suivante i+1 (l'image devenant alors la nouvelle image courante), les erreurs introduites lors du masquage appliqué dans l'image courante i (l'image i étant la nouvelle image précédente), sont transmises à l'image suivante i+1.
En d'autres termes cela signifie que deux images qui sont similaires, pourraient être considérées comme non similaires à cause des erreurs introduites dans l'image précédente par le masquage d'erreurs. Ainsi, le but de l'étape de détermination S82 est de caractériser la similarité entre l'image courante i et l'image précédente i-1 à partir de l'information relative aux erreurs masquées dans l'image précédente i-1. Ainsi, lors de cette étape de détermination S82, on détermine un seuil Ti à partir de l'information relative aux erreurs masquées dans l'image précédente. Ce seuil Ti est un seuil adaptatif pour chaque couple d'image courante i et d'image précédente i-1.
Ici, le seuil Ti représente une valeur de similarité au delà de laquelle l'image courante i et l'image précédente i-1 ne sont plus considérées comme similaires. L'étape S82 comprend plus particulièrement une première étape de vérification S821, au cours de laquelle on vérifie si l'image courante i est la première image de la séquence d'images 4. Si l'image courante i est la première image de la séquence d'images 4, une étape d'établissement d'un seuil To est mise en oeuvre (S822). La valeur de ce seuil To est établie à une valeur Ts prédéfinie qui représente la valeur limite à partir de laquelle deux images sont estimées comme étant différentes lorsqu'il n'y a pas de données manquantes, erronées ou masquées. Si, au contraire, l'image courante i n'est pas la première image de la séquence d'images, on procède à une étape d'obtention S823. Lors de cette étape d'obtention S823, on récupère une information indiquant le nombre de macroblocs qui ont été masqués par une méthode de masquage dans l'image précédente i-1. Le seuil Ti est ensuite déterminé, lors d'une étape de détermination S824, à l'aide de l'équation suivante : Ti =+axRI, avec R~ = nombre _ macroblocs _ masqués(i -1) nombre total macroblocs(i -1) et dans laquelle : - T;_1 correspond au seuil déterminé pour l'image précédente i-1 (de valeur Ts si l'image précédente est la première image de la séquence d'images 4), - RI correspond au rapport du nombre de macroblocs masqués ou corrigés dans l'image précédente i-1 sur le nombre total de macroblocs de l'image précédente i-1, - et a est un paramètre prédéfini, quantifiant l'effet du masquage d'erreurs d'un macrobloc sur la ressemblance des images, c'est-à-dire sur la valeur du paramètre Si représentatif du degré de similarité entre les images.
On notera que lors de la détermination du seuil Ti on tient compte du seuil déterminé pour l'image précédente T;_I. Ainsi, pour une image donnée, on tient compte de l'historique des masquages d'erreurs réalisés dans les images précédentes ou seulement dans certaines d'entre elles selon un critère de choix. Dans ce mode de réalisation, le rapport RI et le nombre de macroblocs masqués de l'image précédente i-1 sont calculés et sauvegardés en mémoire lors de l'étape de stockage S10 (figure 3) pour chaque image erronée.
Lors de l'étape de détermination S824, le nombre P d'images i successives pour lesquelles RI est nul, est comptabilisé. On notera que la valeur du rapport Ti est bornée par une valeur maximum (Tmax). Lorsque le rapport RI est nul pour P images i consécutives, c'est-à- dire qu'il n'y a pas eu de masquage d'erreurs dans P images consécutives, le seuil Ti est remis à la valeur TS. Ce mode de réalisation permet donc de caractériser la ressemblance de l'image courante i avec l'image précédente i-1 en fonction du nombre de données masquées dans l'image précédente. En effet, lorsque le nombre de données masquées augmente, c'est- à-dire que la surface d'image comportant des données masquées augmente, la quantité d'erreurs introduites dans l'image précédente i-1 est supérieure. Par conséquent, la valeur du paramètre Si représentatif de la similarité augmente selon la mesure de similarité utilisée dans cet exemple de réalisation. Ceci est pris en compte lors de la détermination du seuil Ti.
En effet, lorsque le nombre de données masquées augmente, la valeur de seuil Ti augmente. La détermination du seuil Ti peut être réalisée, selon un deuxième mode de réalisation, à l'aide de la formule suivante : Ti = T_1 +axR~ -bxR2, avec R~ nombre _ total _ macroblocs(i -1) = nombre macroblocs intra(i) Rz nombre _ total _ macroblocs(i) et dans laquelle : - Ti est borné par une valeur maximum (Tmax) et une valeur minimum (par exemple Ts) prédéfinies. - R2 correspond au rapport du nombre de macroblocs codés en mode INTRA sur le nombre total de macroblocs de l'image courante i, - et b est un paramètre prédéterminé représentant l'effet de correction d'un macrobloc INTRA sur les erreurs introduites par un masquage d'erreurs.
Ainsi, dans ce mode de réalisation, en plus de tenir compte du nombre de données masquées dans l'image précédente, on tient compte du type de codage employé pour l'image courante. En effet, lorsqu'une image courante qui a été codée selon un codage INTRA est décodée, les erreurs (et en particulier les erreurs introduites par un masquage d'erreurs appliqué) dans l'image précédente i-1 ne sont pas transmises à l'image courante i. Selon un troisième mode de réalisation, le seuil Ti est déterminé à l'aide de la formule suivante : Ti =+a(m,nasg)xR~ùb(mint,a)xR2, avec = nombre macroblocs masqués(iùl) R~ nombre _ total _ macroblocs(i -1) nombre macroblocs intra(i) R = 2 nombre _ total _ macroblocs(i) mmasq = méthode de masquage mintra = nature du codage INTRA et dans laquelle : - Ti est borné par une valeur maximum (Tmax) et une valeur minimum (par exemple Ts) prédéfinies. nombre _ macroblocs _ masqués(i -1)20 - les paramètres a et b présentent des valeurs différentes en fonction respectivement de la méthode de masquage appliquée à l'image précédente i-1 et à la nature du codage INTRA dans l'image courante i. Ainsi, a (mmasq) présente une valeur prédéterminée qui est fonction 5 du résultat de la méthode de masquage employée. Par exemple, lorsque l'erreur introduite par la méthode de masquage est élevée, la valeur prise par le paramètre a (mmasq) est élevée. Au contraire, lorsque l'erreur introduite par la méthode de masquage est faible, la valeur prise par le paramètre a (mmasq) est faible. 10 A titre d'exemple nullement limitatif, a (mmasq) présente une valeur de 5 pour une méthode de masquage temporelle et une valeur de 8 pour une méthode de masquage spatiale. Le paramètre b(m,ntra) présente une valeur qui est fonction de la nature du codage INTRA. Par exemple, si le serveur possède les 15 fonctionnalités "Rafraichissement Intra" ou "Rafraichissement Intra Adaptatif", les erreurs introduites par la méthode de masquage sont corrigées plus rapidement que si le serveur ne possède pas l'une de ces fonctionnalités. Ainsi, à titre d'exemple nullement limitatif b(m,ntra) présente une valeur de 5 lorsque le serveur ne possède pas de fonctionnalité de 20 "Rafraichissement Intra", et une valeur de 8 lorsque le serveur en possède une. On notera que la détermination du seuil Ti est réalisée pour toutes les images courantes (valides ou erronées). Dans le cas d'une image erronée, la détermination du seuil Ti est réalisée lors de l'étape S824. Ensuite le rapport RI et le seuil Ti sont stockés lors de l'étape de stockage S10. Au contraire, 25 dans le cas d'une image valide, le seuil Ti est déterminé et stocké lors de l'étape de stockage S10 (figure 3). On va maintenant décrire à l'aide de la figure 8 l'étape de sélection S83 (figure 5) de la méthode de masquage d'erreurs. Une fois que l'on a déterminé le paramètre Si représentatif d'une 30 mesure de similarité et le seuil Ti, une étape de test S831 est mise en oeuvre, afin de vérifier si le paramètre Si est supérieur au seuil Ti.
Ainsi, lorsqu'à cette étape de test S831, la valeur du paramètre Si est supérieure à la valeur du seuil Ti, on considère que l'image courante i et l'image précédente i-1 ne sont pas similaires ou ne se ressemblent pas. Par conséquent, une méthode de masquage spatiale est sélectionnée lors d'une sous-étape de sélection S832a. Au contraire, si, à cette étape de vérification S831, la valeur du paramètre Si n'est pas supérieure à la valeur du seuil Ti, on considère que l'image courante i et l'image précédente i-1 sont similaires ou se ressemblent. Par conséquent, une méthode de masquage temporelle est sélectionnée lors d'une seconde sous-étape de sélection S832b. La figure 9 illustre un dispositif mettant en oeuvre un procédé de masquage d'erreurs conforme à l'invention, dans un mode particulier de réalisation. Le dispositif ou appareil de communication 900 (apte à communiquer à travers un réseau) comporte une interface de communication réseau 901 qui permet la connexion du dispositif 900 au réseau de communication 3. L'application logicielle, lorsqu'elle est exécutée par l'unité centrale 902, est adaptée pour réagir à des requêtes par le biais de l'interface de communication réseau 901 et fournir des flux de données par l'intermédiaire du réseau (serveur 1). Inversement, le dispositif 900 est adapté pour transmettre des requêtes via le réseau 3 et recevoir, en réponse, un flux de données à traiter (client 2). L'interface de communication réseau 901 est apte à recevoir des données numériques à traiter par le dispositif dans le cadre de la mise en oeuvre de l'invention.
Le dispositif comporte en outre une interface d'utilisateur 903 optionnelle pour afficher des informations à un utilisateur, et/ou recevoir des entrées de celui-ci. Le dispositif 900 comporte également un moyen de stockage 904 tel que par exemple un disque dur. Il peut comporter aussi un lecteur de disque.
Ce disque peut être une disquette, un CD-ROM, ou un DVD-ROM, une carte mémoire ou un périphérique USB, par exemple. Le disque peut contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lus par le dispositif 900, seront stockés dans le disque dur 904. Selon une première variante, le ou les programmes permettant au dispositif de mettre en oeuvre l'invention, pourront être stockés en mémoire morte 905 (appelée ROM ou "Read Only Memory").
En seconde variante, le ou les programmes pourront être reçus pour être stockés de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication. Ce même dispositif peut posséder un écran permettant de visualiser les données traitées ou de servir d'interface avec l'utilisateur qui peut ainsi sélectionner d'autres données à traiter, à l'aide du clavier ou de tout autre moyen (souris, molette ou stylet par exemple). L'unité centrale 902 (appelée UC sur le dessin) est capable d'exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 905 ou dans les autres éléments de stockage. Par exemple, l'unité centrale exécute les étapes illustrées sur les figures 3, 5, 7 et 8 déjà décrites. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 905, sont transférés dans la mémoire vive RAM ("Random Access Memory") 906 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. La capacité de mémoire peut être augmentée par une mémoire RAM facultative connectée à un port d'extension (non illustré). Les instructions concernant l'application logicielle peuvent en outre être chargées dans la mémoire vive RAM 906 à partir du disque dur 904.
De manière plus générale, un moyen de stockage d'informations, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement totalement ou partiellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en en oeuvre du procédé de masquage d'erreurs selon l'invention. Une telle application logicielle, lorsqu'elle est exécutée par l'unité centrale 902, entraine l'exécution des étapes des organigrammes/algorithmes illustrés aux figures 3, 5, 7 et 8.
Les moyens d'un dispositif de masquage adapté à mettre en oeuvre le procédé de masquage d'erreurs conforme à l'invention décrit ci-dessus comprennent l'unité centrale 902, la ROM 905, la RAM 906 et le disque dur 904.
En particulier, l'unité centrale 902, la ROM 905, la RAM 906 et le disque dur 904 comportent notamment des moyens de comparaison des images entre elles et des valeurs du paramètre représentatif d'une mesure de similarité avec un seuil, des moyens de sélection d'une méthode de masquage, et des moyens de détermination du paramètre représentatif d'une mesure de similarité entre images. Un bus de communication 907 permet la communication entre les différents éléments inclus dans le dispositif 900 ou reliés à lui. La représentation du bus 907 n'est pas limitative et notamment l'unité centrale 902 est susceptible de communiquer des instructions à tout élément du dispositif 900 directement ou par l'intermédiaire d'un autre élément du dispositif 900. Le dispositif 900 comporte en outre un décodeur 908, par exemple sous la forme d'une puce standard, utilisée par l'unité centrale 901 de manière classique à travers le bus 907. Ce dispositif 900 est par exemple un micro-ordinateur ou une station de travail ou un assistant numérique ou un téléphone portable ou un caméscope numérique ou un appareil photo numérique ou une caméra de vidéo surveillance (Webcam) ou un lecteur DVD ou un serveur multimédia ou un élément routeur dans un réseau. Cet appareil peut intégrer directement un capteur numérique d'images, ou être connecté à différents périphériques tels que, par exemple une caméra numérique (ou un scanner ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données multimédia. L'appareil peut aussi avoir accès à des données multimédia sur un support de stockage (par exemple le disque dur 904) ou encore recevoir a partir d'un réseau un flux multimédia à modifier.
Ainsi, grâce à l'invention il est possible de sélectionner dynamiquement pour chaque image d'une séquence d'images, la méthode de masquage d'erreurs la plus adaptée et la plus efficace. Par conséquent, la qualité des images comportant des données ainsi 5 masquées s'en trouve améliorée. Bien entendu, de nombreuses modifications peuvent être apportées à l'exemple de réalisation décrit précédemment sans sortir du cadre de l'invention. Par exemple, le procédé conforme à l'invention peut être appliqué à une partie d'image. Ainsi, lorsqu'une image est divisée en plusieurs parties 10 d'images, des méthodes de masquage différentes peuvent être appliquées à chaque partie d'image.

Claims (22)

  1. REVENDICATIONS1. Procédé de masquage d'erreurs dans au moins une partie d'une image courante (i) d'une séquence d'images (4), caractérisé en ce qu'il 5 comporte les étapes suivantes: - comparaison (S81) de ladite au moins une partie de l'image courante (i) avec au moins une partie correspondante d'une image précédente (i-1), et - sélection (S83) d'une méthode de masquage d'erreurs à appliquer 10 dans ladite au moins une partie de l'image courante, en fonction du résultat de ladite étape de comparaison et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente.
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte 15 une étape de détermination (S81) d'un paramètre (Si) représentatif d'une mesure de similarité entre ladite au moins une partie de l'image courante (i) et ladite au moins une partie correspondante d'une image précédente (i-1) à partir du résultat de la comparaison (S81) de ladite au moins une partie de l'image courante (i) avec au moins une partie correspondante d'une image précédente 20 (i-1).
  3. 3. Procédé selon la revendication 2, caractérisé en ce que ladite étape de sélection (S83) comporte une sous-étape de comparaison (S831) dudit paramètre (Si) représentatif d'une mesure de similarité avec un seuil (Ti) déterminé à partir de ladite au moins une information relative aux erreurs 25 masquées dans ladite au moins une partie correspondante de l'image précédente (i-1).
  4. 4. Procédé selon la revendication 3, caractérisé en ce que ledit seuil (Ti) est représentatif d'une valeur de similarité à partir de laquelle ladite au moins une partie d'image courante (i) et ladite au moins une partie 30 correspondante d'image précédente (i-1) ne sont plus considérées comme similaires.
  5. 5. Procédé selon l'une des revendications 3 ou 4, caractérisé en ce que lorsque le nombre de données masquées est nul pour un nombre prédéterminé (P) d'images précédentes (i-1) consécutives, le seuil (Ti) est remis à une valeur prédéterminée (Ts).
  6. 6. Procédé selon l'une des revendications 3 à 5, caractérisé en ce que lors de ladite étape de sélection (S83), une méthode de masquage d'erreurs temporelle ou une méthode de masquage d'erreurs spatiale est sélectionnée en fonction du résultat de la comparaison dudit paramètre (Si) représentatif d'une mesure de similarité avec ledit seuil (Ti).
  7. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que ladite étape de comparaison (S81) comprend la comparaison de la valeur d'au moins certains des pixels (43a, 44a, 45a) de ladite au moins une partie de l'image courante (i) avec la valeur d'au moins certains des pixels (43a, 44a, 45a) de ladite au moins une partie correspondante de l'image précédente (i-1) respectivement.
  8. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que ladite au moins une information relative aux erreurs masquées comporte une information représentative du nombre de données masquées dans ladite au moins une partie correspondante de l'image précédente (i-1).
  9. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que la sélection de la méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante, est en outre réalisée en fonction du type de codage de ladite au moins une partie de l'image courante (i).
  10. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que ladite au moins une information relative aux erreurs masquées comporte une information représentative de la méthode de masquage appliquée à ladite au moins une partie correspondante de l'image précédente (i-1).
  11. 11. Procédé selon l'une des revendications 1 à 10, caractérisé en ce que l'image précédente (i-1) correspond à l'image décodée avant l'image courante (i).
  12. 12. Procédé selon l'une des revendications 1 à 10, caractérisé en ce que l'image précédente (i-1) correspond à l'image précédant l'image courante (i) dans l'ordre d'affichage des images de la séquence (4).
  13. 13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce que l'étape de comparaison (S81) comporte la comparaison de l'histogramme de l'image courante (i) avec l'histogramme de l'image précédente (i-1).
  14. 14. Dispositif de masquage d'erreurs dans au moins une partie d'une image courante (i) d'une séquence d'images (4), caractérisé en ce qu'il comporte : - des moyens de comparaison (901, 902, 903, 906) de ladite au moins une partie de l'image courante (i) avec au moins une partie correspondante d'une image précédente (i-1), et - des moyens de sélection (901, 902, 903, 906) d'une méthode de masquage d'erreurs à appliquer dans ladite au moins une partie de l'image courante (i), en fonction du résultat obtenu par les moyens de comparaison (901, 902, 903, 906) et d'au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente (i-1).
  15. 15. Dispositif de masquage d'erreurs selon la revendication 14, caractérisé en ce qu'il comporte des moyens de détermination (901, 902, 903, 906) d'un paramètre (Si) représentatif d'une mesure de similarité entre ladite au moins une partie de l'image courante (i) et ladite au moins une partie correspondante d'une image précédente (i-1).
  16. 16. Dispositif selon la revendication 15, caractérisé en ce que les moyens de sélection (901, 902, 903, 906) comportent des moyens de comparaison (901, 902, 903, 906) dudit paramètre (Si) représentatif d'une mesure de similarité avec un seuil (Ti) déterminé à partir de ladite au moins une information relative aux erreurs masquées dans ladite au moins une partie correspondante de l'image précédente (i-1).
  17. 17. Dispositif selon la revendication 16, caractérisé en ce que les moyens de sélection (901, 902, 903, 906) sont aptes à sélectionner une méthode de masquage d'erreurs temporelle ou une méthode de masquage d'erreurs spatiale en fonction du résultat de la comparaison dudit paramètre (Si) représentatif d'une mesure de similarité avec ledit seuil (Ti).
  18. 18. Dispositif selon l'une des revendications 14 à 17, caractérisé en ce que les moyens de comparaison (901, 902, 903, 906) sont adaptés à comparer la valeur d'au moins certains des pixels (43a, 44a, 45a) de ladite au moins une partie de l'image courante (i) avec la valeur d'au moins certains des pixels (43a, 4a, 45a) de ladite au moins une partie correspondante de l'image précédente (i-1) respectivement.
  19. 19. Dispositif selon l'une des revendications 14 à 18, caractérisé en ce que les moyens de comparaison (901, 902, 903, 906) sont adaptés à comparer l'histogramme de l'image courante (i) avec l'histogramme de l'image précédente (i-1).
  20. 20. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur contenant des instructions d'un programme informatique, caractérisé en ce qu'il est adapté à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 13, lorsque lesdites informations sont lues par ledit ordinateur ou ledit microprocesseur.
  21. 21. Moyen de stockage d'informations selon la revendication 20, caractérisé en ce qu'il est partiellement ou totalement amovible.
  22. 22. Produit programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 13, lorsque ledit produit programme d'ordinateur est chargé dans et exécuté par ledit appareil programmable.25
FR0854998A 2008-07-22 2008-07-22 Procede et dispositif de masquage d'erreurs Expired - Fee Related FR2934453B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0854998A FR2934453B1 (fr) 2008-07-22 2008-07-22 Procede et dispositif de masquage d'erreurs
US12/506,539 US8768088B2 (en) 2008-07-22 2009-07-21 Error concealment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0854998A FR2934453B1 (fr) 2008-07-22 2008-07-22 Procede et dispositif de masquage d'erreurs

Publications (2)

Publication Number Publication Date
FR2934453A1 true FR2934453A1 (fr) 2010-01-29
FR2934453B1 FR2934453B1 (fr) 2010-10-15

Family

ID=40617997

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0854998A Expired - Fee Related FR2934453B1 (fr) 2008-07-22 2008-07-22 Procede et dispositif de masquage d'erreurs

Country Status (2)

Country Link
US (1) US8768088B2 (fr)
FR (1) FR2934453B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923637A1 (fr) * 2007-11-09 2009-05-15 Canon Kk Procede, dispositif d'identification d'un ensemble de pixels dont les valeurs sont destinees a etre utilisees pour determiner la valeur d'un pixel
GB2507511B (en) * 2012-10-31 2015-09-23 Canon Kk Method and device for processing an image belonging to a set of images in a display system
CN107888931B (zh) * 2017-11-28 2020-03-17 上海大学 一种利用视频统计特征预测差错敏感度的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0382509A1 (fr) * 1989-02-08 1990-08-16 Sony Corporation Circuit à traitement de signaux vidéo
JP2003116136A (ja) * 2001-10-05 2003-04-18 Sharp Corp 動画像復号装置
US6636565B1 (en) * 1999-01-12 2003-10-21 Lg Electronics Inc. Method for concealing error
KR20050076943A (ko) * 2004-01-26 2005-07-29 엘지전자 주식회사 비디오 디코더의 에러 은닉 장치 및 방법
WO2006072793A1 (fr) * 2005-01-08 2006-07-13 Provision Communication Technologies Limited Masquage d'erreurs video
EP1689196A2 (fr) * 2005-02-02 2006-08-09 Samsung Electronics Co., Ltd. Masquage d'erreurs pour des signaux vidéo
WO2006122313A2 (fr) * 2005-05-11 2006-11-16 Qualcomm Incorporated Procede et dispositif permettant d'obtenir un cadre d'applications unifie de masquage d'erreurs

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2362532B (en) * 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US6876705B2 (en) * 2001-03-05 2005-04-05 Intervideo, Inc. Systems and methods for decoding of partially corrupted reversible variable length code (RVLC) intra-coded macroblocks and partial block decoding of corrupted macroblocks in a video decoder
US20050044471A1 (en) * 2001-11-15 2005-02-24 Chia Pei Yen Error concealment apparatus and method
KR20090000502A (ko) * 2007-06-28 2009-01-07 삼성전자주식회사 손실된 블록의 주변 블록 특성에 적응적인 에러 은닉 방법및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0382509A1 (fr) * 1989-02-08 1990-08-16 Sony Corporation Circuit à traitement de signaux vidéo
US6636565B1 (en) * 1999-01-12 2003-10-21 Lg Electronics Inc. Method for concealing error
JP2003116136A (ja) * 2001-10-05 2003-04-18 Sharp Corp 動画像復号装置
KR20050076943A (ko) * 2004-01-26 2005-07-29 엘지전자 주식회사 비디오 디코더의 에러 은닉 장치 및 방법
WO2006072793A1 (fr) * 2005-01-08 2006-07-13 Provision Communication Technologies Limited Masquage d'erreurs video
EP1689196A2 (fr) * 2005-02-02 2006-08-09 Samsung Electronics Co., Ltd. Masquage d'erreurs pour des signaux vidéo
WO2006122313A2 (fr) * 2005-05-11 2006-11-16 Qualcomm Incorporated Procede et dispositif permettant d'obtenir un cadre d'applications unifie de masquage d'erreurs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HADAR O. ET AL: "New Hybrid Error Concealment for Digital Compressed Video", EURASIP JOURNAL ON APPLIED SIGNAL PROCESSING, vol. 2005, January 2005 (2005-01-01), pages 1821 - 1833, XP002528887 *
HARMANCI O ET AL: "A Zero Error Propagation Extension to H264 for Low Delay Video Communications Over Lossy Channels", 2005 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (IEEE CAT. NO.05CH37625) IEEE PISCATAWAY, NJ, USA,, vol. 2, 18 March 2005 (2005-03-18), pages 185 - 188, XP010790607, ISBN: 978-0-7803-8874-1 *
SUN H ET AL: "Error concealment algorithms for robust decoding of MPEG compressed video", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 10, no. 4, 1 September 1997 (1997-09-01), pages 249 - 268, XP004091243, ISSN: 0923-5965 *

Also Published As

Publication number Publication date
FR2934453B1 (fr) 2010-10-15
US20100021079A1 (en) 2010-01-28
US8768088B2 (en) 2014-07-01

Similar Documents

Publication Publication Date Title
US10841494B2 (en) Motion vector estimation for video image stabilization
FR2894421A1 (fr) Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
EP1473944A2 (fr) Procédé de tatouage d'une séquence vidéo à sélection adaptative de la zone d'insertion du tatouage, procédé de détection, dispositifs, support de données et programmes d'ordinateur correspondants.
EP1672585A1 (fr) Procédé, dispositif et système de traitement d'images par estimation de mouvement
FR2944938A1 (fr) Procede et dispositif de correction d'erreurs.
EP1603341B1 (fr) Procédé et dispositif pour les systèmes d'interpolation d'images par estimation et compensation de mouvement
EP1591962B1 (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
EP3449634B1 (fr) Procédé de composition contextuelle d'une représentation vidéo intermédiaire
EP3490255A1 (fr) Compression intelligente de contenus vidéo grainés
FR2930387A1 (fr) Procede de traitement d'un flux de donnees codes
FR2920632A1 (fr) Procede et dispositif de decodage de sequences video avec masquage d'erreurs
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
FR2934453A1 (fr) Procede et dispositif de masquage d'erreurs
FR2873214A1 (fr) Procede et dispositif d'obtention d'un signal stereoscopique
EP1596607B1 (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
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
JP6521278B2 (ja) 効率的なパッチベースのビデオノイズ除去方法
FR2954035A1 (fr) Procede d'estimation de la qualite video a une resolution quelconque
EP4104446A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
WO2010063898A1 (fr) Dispositif d'encodage d'un flux d'images numeriques et dispositif de decodage correspondant avec approximation du voisinage d'un bloc par le voisinage elargi du bloc
FR3106014A1 (fr) Synthèse itérative de vues à partir de données d’une vidéo multi-vues
WO2022069809A1 (fr) Codage et decodage d'une video multi-vues
FR3124301A1 (fr) Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants.
FR2921775A1 (fr) Procede et dispositif de correction d'erreurs de donnees d'image.
FR2938146A1 (fr) Procede et dispositif d'optimisation du debit d'encodage d'une image video en mode entrelace.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140331