FR2899053A1 - Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede - Google Patents

Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede Download PDF

Info

Publication number
FR2899053A1
FR2899053A1 FR0650974A FR0650974A FR2899053A1 FR 2899053 A1 FR2899053 A1 FR 2899053A1 FR 0650974 A FR0650974 A FR 0650974A FR 0650974 A FR0650974 A FR 0650974A FR 2899053 A1 FR2899053 A1 FR 2899053A1
Authority
FR
France
Prior art keywords
image
quality level
current image
refinement
reconstructed
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
FR0650974A
Other languages
English (en)
Other versions
FR2899053B1 (fr
Inventor
Leannec Fabrice Le
Xavier Henocq
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 FR0650974A priority Critical patent/FR2899053B1/fr
Priority to US11/688,679 priority patent/US8340179B2/en
Publication of FR2899053A1 publication Critical patent/FR2899053A1/fr
Application granted granted Critical
Publication of FR2899053B1 publication Critical patent/FR2899053B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Le procédé de codage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à coder, comporte, au moins lors du passage, à partir d'une image dite « courante », d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial :- une étape (705) de codage de l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée,- une étape (710) de reconstruction de l'image courante au niveau de qualité visé pour fournir une image courante reconstruite de niveau de qualité visé,- une étape (715) d'obtention d'au moins une image de référence de l'image courante au niveau de qualité initial, pour fournir une image de prédiction pour le niveau de qualité initial,- une étape (720, 725) de détermination d'un raffinement de texture différentiel fonction de l'image de prédiction pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé et- une étape (730) de codage du raffinement de texture différentiel.

Description

10 La présente invention concerne un procédé et un dispositif de codage
d'images animées, un procédé et un dispositif de décodage d'images animées, un système de télécommunication comportant un tel dispositif et un programme mettant en oeuvre un tel procédé. Elle s'applique, en particulier, à la compression vidéo hiérarchique, ou scalable , dans la dimension SNR (acronyme de 15 signal to noise ratio pour rapport signal sur bruit) et offrant la fonctionnalité de codage progressif de l'information de texture. La présente invention s'applique donc, en particulier, au cas du système SVC (acronyme de scalable video coding pour codage vidéo à échelle variable) en cours de standardisation. Elle s'applique aussi au codage vidéo hiérarchique comprenant la possibilité 20 de codage des échantillons représentatifs de la texture de façon progressive et emboîtée, via des technologies de quantification emboîtée et codage par plans de bits, par exemple. Le futur standard de compression vidéo connu sous le nom de SVC prévoit de fournir une représentation vidéo hiérarchique, ou scalable , 25 c'est-à-dire à différents niveaux évalués selon trois critères, ou dimensions : le rapport signal/bruit, connu sous le nom de SNR qui définit la qualité du codage point à point, la résolution temporelle, c'est-à-dire le nombre d'images par seconde représentées par les données codées et la résolution spatiale, c'est-à-dire le nombre de points d'images représentés par les données codées. 30 Concernant la scalabilité SNR, une couche de raffinement, ou rehaussement, de type SNR contient des données utiles pour décompresser une séquence vidéo à un niveau de qualité supérieur à celui de la couche inférieure dans la hiérarchie de représentation vidéo. Une couche de raffinement SNR peut prendre deux formes: 1 - une couche de raffinement de type CGS (acronyme de coarse grain scalability pour scalabilité à grains grossiers) contient à la fois des données de raffinement des données de mouvement et des données de raffinement des données de texture. Une couche de qualité CGS combine, d'une part, la prédiction temporelle compensée en mouvement au sein de cette couche et, d'autre part, le codage prédictif des données de mouvement et de texture depuis sa couche de base et - une couche de raffinement de type FGS (acronyme de fine grain scalability pour scalabilité à grains fins) contient uniquement des données de raffinement progressif des informations de texture. Une ou plusieurs couches de qualité FGS successives peuvent être codées au dessus de la couche de base, d'une couche de scalabilité spatiale ou d'une couche CGS. Typiquement, des moyens de quantification emboîtée et de codage progressif des coefficients DCT (acronyme de Discrete Cosine Transform pour transformée en cosinus discrète) permet de fournir un train binaire FGS emboîté, apte à être tronqué à une position quelconque et augmentant progressivement la qualité de l'ensemble de l'image considérée. En effet, le pas de quantification qui était attribué aux données de texture de la couche de qualité précédente est divisé par deux et les données associées sont requantifiées avec le nouveau pas de quantification de la couche FGS courante. De plus, le codage FGS produit des portions de train binaire compressé, ou bitstream , aptes à être tronquées en n'importe quel endroit. Le segment de train binaire ainsi tronqué est toujours décodable et son décodage restitue un raffinement de la qualité de l'ensemble des images considérées. Cette propriété résulte du codage cyclique des coefficients DCT des différents macroblocs employé dans la technologie FGS. La technologie FGS fournit un moyen pratique et efficace pour réaliser un contrôle de débit dans un système de transmission SVC : lorsque la bande passante disponible entre un codeur et un décodeur le permet, le codeur peut émettre les données d'un niveau supplémentaire de qualité. Inversement, lorsque l'on souhaite réduire la bande passante consommée, le codeur n'émet plus les données représentatives du niveau de qualité le plus élevé. La prédiction temporelle implique deux étapes : l'estimation de mouvement et la compensation en mouvement, connues de l'homme du métier.
Des études récentes montrent que les meilleures performances de compression sont obtenues lorsque la boucle de prédiction temporelle fonctionne dans le mode appelé boucle fermée . Concernant l'estimation de mouvement, l'approche dite en boucle fermée consiste à estimer les vecteurs de mouvement entre une image originale à compresser et la version reconstruite (codée puis décodée) d'une image de référence. En ce qui concerne la compensation de mouvement, l'approche en boucle fermée consiste à calculer l'erreur de prédiction entre un bloc original et la version reconstruite de son bloc de référence compensé en mouvement. De plus, lorsque plusieurs couches de qualité de type FGS sont générées dans le flux binaire SVC, selon ces études, les meilleures performances de compression sont obtenues lorsqu'une compensation en mouvement est utilisée dans le codage de chaque niveau de qualité FGS. En effet, le codage en boucle fermée a la propriété de compenser la distorsion de quantification qui était introduite dans les images de référence. Il assure également la synchronisation entre le codeur et le décodeur lorsque la vidéo est décodée à un niveau de qualité constant, ce terme de synchronisation signifiant que le codeur et le décodeur utilisent des images de références identiques dans le processus de prédiction temporelle.
Lorsque la technologie FGS est utilisée à des fins de contrôle de débit pour transmettre un flux SVC pré-codé, le serveur de flux vidéo compressé peut avoir besoin de modifier son débit de transmission en fonction d'une bande passante variable. Malheureusement, le fait de passer d'une couche de qualité à une autre arrête la synchronisation entre le codeur et le décodeur.
En effet, pendant la phase de modification du débit de transmission, le décodeur reconstruit des images de référence différentes de celles qui avaient été décodées par le codeur lors du codage précédant la phase de transmission. Un défaut, appelé dérive est introduit, ce qui entraîne que des images reconstruites par le décodeur sont différentes de celles reconstruites par le codeur. Il en résulte une baisse de la qualité visuelle affichée par rapport à ce qui devrait être affiché par le décodeur. De plus, cette dérive est propagée sur plusieurs images, à cause de la boucle de prédiction temporelle. On connaît une méthode de prédiction temporelle appelée "leaky prediction technique". Cette méthode consiste à former une image de référence combinant des éléments de l'image de référence de l'image courant dans le niveau de qualité FGS courant avec des éléments de l'image de base de l'image courante. Ainsi, cette méthode réduit mais ne supprime pas la dérive liée au décodage partiel de couches FGS.
Il a aussi été proposé une technique de compensation en mouvement avec une méthode particulière de formation de l'image de référence utilisée pour la compensation en mouvement en boucle fermée. Cette méthode consiste à appliquer une interpolation sur la différence entre l'image de référence de l'image courante dans la couche FGS courante, et l'image de référence de l'image courante dans la couche de base, puis d'ajouter le résultat à l'image de référence dans la couche de base pour former l'image de référence utilisée pour l'image courante dans la couche FGS courante. Cette méthode améliore la qualité de l'image de référence utilisée pour le codage de l'image courante dans la couche de raffinement FGS courante.
Cependant, cette méthode qui diminue la dérive potentielle pouvant intervenir en cas de décodage partiel d'une couche de raffinement de type FGS, ne supprime pas cette dérive. La présente invention vise à remédier à ces inconvénients. En particulier, la présente invention vise à éviter la désynchronisation pouvant résulter d'une augmentation ou d'une baisse de niveau de qualité FGS. L'invention a aussi pour but de permettre les fluctuations de bande passante dans le cas de transmission et de contrôle de débit d'un flux SVC scalable dans la dimension SNR, tout en maintenant le décodeur synchronisé avec le codeur.
Selon la présente invention, on code et insère une information différentielle de texture permettant de passer d'un niveau de qualité à un autre, tout en maintenant le décodeur synchronisé avec le codeur. La présente invention propose une méthode de codage de l'information résiduelle permettant de permuter entre différents niveaux de qualité lors du décodage d'un flux, notamment un flux scalable SVC, sans perdre la synchronisation du décodeur avec le codeur. Préférentiellement, le codage de l'information de raffinement de texture est compatible avec la syntaxe de codage FGS spécifiée dans le projet de standard SVC. Aucune modification de la structure du décodeur n'est donc nécessaire, ce qui est un avantage de la présente invention.
Préférentiellement, l'information différentielle de texture n'est ainsi transmise que lors d'une augmentation ou d'une baisse du nombre de niveaux de qualité transmis. Selon un premier aspect, la présente invention vise un procédé de codage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à coder, caractérisé en ce qu'il comporte, au moins lors du passage, à partir d'une image dite courante , d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial : - une étape de codage de l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée, - une étape de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre l'image courante codée et au moins une image de référence pour le niveau de qualité visé, pour fournir une image courante reconstruite de niveau de qualité visé, - une étape d'obtention d'au moins une image de référence de l'image courante au niveau de qualité initial, pour fournir une image de prédiction pour le niveau de qualité initial, - une étape de détermination d'un raffinement de texture différentiel fonction de l'image de prédiction pour le niveau de qualité initial et de l'image 20 courante reconstruite de niveau de qualité visé et - une étape de codage du raffinement de texture différentiel. Ainsi, en traitant le raffinement de texture, le décodeur peut déterminer cette différence et la mettre en oeuvre sur l'image de référence reconstruite au niveau de qualité initial pour déterminer l'image courante reconstruite au niveau 25 de qualité visé. Ainsi, le décodeur est immédiatement synchronisé avec le codeur pour les images à reconstruire suivantes. En d'autres termes, l'invention propose une solution permettant de décoder une image P à un niveau de qualité FGS donné en ne disposant que de l'image de base de l'image courante, de l'image de référence reconstruite à un niveau de qualité inférieur 30 au niveau de qualité FGS désiré et d'un raffinement de texture additionnel. Selon des caractéristiques particulières, l'étape de détermination du raffinement de texture différentiel comporte - une étape de reconstruction d'un résidu de prédiction de l'image courante jusqu'au niveau de qualité initial et - une étape de détermination de différence entre, d'une part, l'image courante reconstruite au niveau de qualité visé et, d'autre part, la somme de l'image de prédiction au niveau de qualité initial et dudit résidu. Selon des caractéristiques particulières, l'étape de détermination du raffinement de texture différentiel comporte : - une étape de reconstruction de l'image courante en mettant en oeuvre ladite image courante codée et chaque image de prédiction pour le niveau de qualité initial, pour fournir une image courante reconstruite hybride et - une étape de détermination de différence entre l'image courante reconstruite au niveau de qualité visé et l'image courante reconstruite hybride, pour déterminer un raffinement de texture différentiel. Selon des caractéristiques particulières, l'étape de reconstruction d'une image courante reconstruite hybride comporte une étape de reconstruction d'une image d'erreur de prédiction temporelle pour l'image courante jusqu'au niveau de qualité initial en mettant en oeuvre l'image de référence de l'image courante au niveau de qualité initial. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de prédiction temporelle, au cours de l'étape de codage de l'image courante, au cours de l'étape de reconstruction et au cours de l'étape d'obtention. Selon des caractéristiques particulières, ladite étape de prédiction temporelle inclut une étape d'obtention de vecteurs de mouvement associés à des macroblocs de l'image et une étape de compensation en mouvement des macroblocs de référence associés. Selon des caractéristiques particulières, l'étape d'obtention de l'image de prédiction comporte une étape d'obtention de vecteurs de mouvement associés à des macroblocs de l'image courante et une étape de compensation en mouvement des macroblocs de chaque image de prédiction au niveau de qualité initial. Selon des caractéristiques particulières, au cours de l'étape de codage du raffinement de texture, on code un signal de raffinement de texture avec un codage compatible avec la syntaxe de codage FGS spécifiée dans le projet de standard SVC.
Selon des caractéristiques particulières, au cours de l'étape de codage du raffinement de texture, le code de raffinement de texture comporte des coefficients de transformation cosinus discrète représentatifs dudit raffinement de texture.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de transmission, depuis un codeur à un décodeur, du code de raffinement de texture, ladite étape de transmission n'étant effectuée que lors d'une augmentation ou d'une baisse du nombre de niveaux de qualité transmis.
Selon un deuxième aspect, la présente invention vise un dispositif de codage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à coder, qui comporte : - un moyen de codage d'une image dite courante , à partir de laquelle on passe d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial, adapté à coder l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée, - un moyen de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre l'image courante codée et au moins une image de référence pour le niveau de qualité visé, pour fournir une image courante reconstruite de niveau de qualité visé, - un moyen d'obtention d'au moins une image de référence de l'image courante au niveau de qualité initial, pour fournir une image de prédiction pour le niveau de qualité initial, - un moyen de détermination d'un raffinement de texture différentiel 25 fonction de l'image de prédiction pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé et - un moyen de codage du raffinement de texture différentiel. Selon des caractéristiques particulières, le moyen de codage est adapté à coder une séquence vidéo avec plusieurs couches de qualité, et en ce 30 que le moyen de raffinement comporte : - un premier moyen de quantification inverse de l'image courante à chaque niveau de qualité qui serait décodée si le décodeur était synchronisé avec le codeur dans ce niveau de qualité, - un deuxième moyen de quantification inverse adapté à effectuer une quantification inverse de l'image de référence à un deuxième niveau de qualité différent du niveau de qualité utilisé par le premier moyen de quantification inverse et à effectuer une quantification inverse du signal résiduel pour l'image courante jusqu'au deuxième niveau de qualité, - un moyen de soustraction entre, d'une part, la version de l'image courante après quantification inverse par le premier moyen de quantification inverse et, d'autre part, la somme de l'image de référence après quantification inverse au deuxième niveau de qualité et du signal résiduel après quantification inverse jusqu'au deuxième niveau de qualité et - un moyen de quantification et codage de données issues de la première quantification inverse effectuée par le premier moyen de quantification inverse et d'insertion dans le code des dites données d'un signal résiduel issu de la soustraction effectuée par le moyen de soustraction. Selon un troisième aspect, la présente invention vise un procédé de décodage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à décoder, caractérisé en ce qu'il comporte, au moins lors du passage, à partir d'une image dite courante , d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial : - une étape de décodage d'un raffinement de texture différentiel représentatif d'une différence entre une image de prédiction pour le niveau de qualité initial et l'image courante reconstruite de niveau de qualité visé et - une étape de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre au moins une image de référence pour le niveau de qualité initial et le raffinement de texture différentiel. Selon des caractéristiques particulières, l'étape de reconstruction de l'image courante comporte une étape de décodage et de quantification inverse d'un résidu de prédiction temporelle jusqu'au niveau de qualité initial. Selon des caractéristiques particulières, l'étape de reconstruction de l'image courante comporte une étape de décodage et de quantification inverse du raffinement de texture différentiel. Selon des caractéristiques particulières, l'étape de reconstruction de l'image courante comporte une étape d'addition du résidu de prédiction temporelle et du signal différentiel décodé.
Selon des caractéristiques particulières, l'étape de reconstruction de l'image courante comporte une étape de transformation inverse du résultat de ladite étape d'addition pour fournir un résidu temporel décodé. Selon des caractéristiques particulières, l'étape de reconstruction de 5 l'image courante comporte une étape d'addition du résidu temporel décodé et du bloc de référence correspondant. Selon un quatrième aspect, la présente invention vise un dispositif de décodage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à décoder, caractérisé en ce qu'il 10 comporte : - un moyen de décodage adapté à décoder un raffinement de texture différentiel représentatif d'une différence entre une image courante reconstruite de niveau de qualité visé et d'une image de prédiction pour le niveau de qualité initial, ladite image courante étant une image à partir de laquelle on passe d'un 15 niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial, et - un moyen de reconstruction de l'image courante au niveau de qualité visé adapté à mettre en oeuvre au moins une image de référence pour le niveau de qualité initial et le raffinement de texture différentiel. 20 Selon un cinquième aspect, la présente invention vise un système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de codage tel que succinctement exposé ci-dessus et au moins un dispositif terminal équipé d'un 25 dispositif de décodage tel que succinctement exposé ci-dessus. Selon un sixième aspect, la présente invention vise un programme informatique contenant des instructions permettant la mise en oeuvre du procédé de codage tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique. 30 Selon un septième aspect, la présente invention vise un programme informatique contenant des instructions permettant la mise en oeuvre du procédé de décodage tel que succinctement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique. Les avantages, buts et caractéristiques particulières de ce procédé de décodage, de ces dispositifs de codage et de décodage, de ce système de télécommunication et de ces programmes d'ordinateur étant similaires à ceux du procédé de codage, tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif, en regard des dessins annexés dans lesquels : - la figure 1 représente, schématiquement, un mode de réalisation particulier d'un dispositif de codage objet de la présente invention, - la figure 2 représente, schématiquement, une organisation multicouche possible avec SVC, - la figure 3 illustre la représentation SVC hiérarchique de la figure 2, dans laquelle ont été ajoutées des couches de raffinement de type FGS, - la figure 4 représente, schématiquement, un décodeur vidéo classique, typiquement représentatif du standard de compression vidéo H264/AVC, - la figure 5 représente, schématiquement, l'insertion de l'étape de décodage des couches de raffinement FGS dans le décodeur illustré en figure 4, - la figure 6 représente, schématiquement, des niveaux de qualité d'affichage liés au codage et au décodage d'une séquence d'images avec incrémentation du niveau de qualité, - la figure 7 représente, sous forme de logigramme, des étapes mises en oeuvre dans un mode de réalisation particulier du procédé de codage 25 objet de la présente invention, - la figure 8 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans l'une des étapes illustrées en figure 7 et - la figure 9 représente, sous forme d'un logigramme, des étapes mises en oeuvre dans un mode de réalisation particulier du procédé de 30 décodage objet de la présente invention. Avant de décrire la présente invention, on rappelle, ci-dessous, en regard des figures 2 à 6, les principes des représentations multicouches d'une séquence vidéo avec codage vidéo à échelle variable (SVC). Dans toute la description, les termes résidu et erreur de codage désignent, indifféremment, le même objet. De même, les termes de formation , codage , et compression désignent les mêmes fonctions qui s'appliquent à une image. Les termes décodage , reconstruction et décompression sont équivalents.
Le système de compression vidéo SVC prévoit des scalabilités dans les dimensions temporelle, spatiale et SNR (en qualité). La scalabilité temporelle est obtenue via les images B hiérarchiques dans la couche de base, ou bien grâce à la MCTF (acronyme de Motion Compensated Temporal Filtering pour filtrage temporel compensé en mouvement), non développée ici, dans les couches de raffinement. La scalabilité SNR existe sous deux formes. La scalabilité SNR fine, notée FGS, est obtenue par quantification progressive de tranches (connues sous le vocable "slices'), qui forment chacune un ensemble de macroblocs codés (et décodés) indépendamment des macroblocs des autres tranches.
La scalabilité SNR grossière ou CGS est fournie par le codage d'une couche (connue sous le nom de "layer' dans laquelle une décomposition temporelle en images de type B hiérarchique ou bien une MCTF est effectuée indépendamment de la couche inférieure, et qui est prédite depuis la couche directement inférieure. Enfin, la scalabilité spatiale est obtenue par codage prédictif d'une couche dans laquelle une décomposition temporelle en images B hiérarchiques ou une MCTF est effectuée indépendamment de la couche inférieure. Le codage d'une couche de raffinement spatial est similaire à celui d'une couche CGS, à ceci près qu'il sert à compresser la séquence vidéo à un niveau de résolution supérieur par rapport à la couche inférieure. Il inclue notamment une étape de sur-échantillonnage spatial dans les deux dimensions spatiales (largeur et hauteur) dans le processus de prédiction inter couches. La figure 2 illustre un exemple d'organisation multicouche possible avec SVC. La couche de base 200 représente la séquence d'images à son plus bas niveau de résolution spatiale, compressée de façon compatible à la norme H264/AVC. Comme illustré en figure 2, la couche de base 200 est composée d'images de type 1, P et B hiérarchiques, notations couvrant leurs versions améliorées El, EP et E8. Les images B hiérarchiques constituent un moyen de générer une couche de base scalable dans la dimension temporelle. Elles sont notées B;, i > 1, et suivent la règle suivante : une image de type B; peut être prédite temporellement à partir des images d'ancrage, images de références de type I ou P qui apparaissent en frontières du groupe d'images traité (en anglais Group of Pictures ), l'entourant, ainsi que des images Bi, j < i, localisées dans le même intervalle d'images d'ancrage i ou P. On observe qu'entre les images d'ancrage, se trouvent des images de type B. On observe aussi qu'une image B,, c'est-à-dire la première image d'une séquence, ne peut être prédite qu'à partir des images d'ancrage l'entourant puisqu'il n'y a pas d'image Bj avec j<i.
Dans toute la suite de la description, on se limite au cas où l'image de référence est constituée de l'image reconstruite précédente de même niveau de qualité. Cependant, sur la base de la description qui va suivre, l'homme du métier sait mettre en oeuvre la présente invention dans d'autres cas dans lesquels la ou les images de références sont différentes de l'image reconstruite précédente de même qualité. La portée de la présente invention n'est donc pas limitée à ce dernier cas. En figure 2, deux couches de raffinement spatial, 205 et 210, sont illustrées. La première couche de raffinement spatial 205 est codée de façon prédictive par rapport à la couche de base 200, et la deuxième couche de raffinement spatial 210 est prédite depuis la première couche de raffinement spatial 205. Une étape de sur-échantillonnage spatial qui sur-échantillonne avec un coefficient double intervient au cours de ces prédictions entre couches, aussi nommée prédiction inter layer , si bien qu'une couche supérieur contient des images dont les définitions sont, dans chaque dimension, doubles de celles de la couche immédiatement inférieure. La figure 3 illustre la représentation SVC hiérarchique de la figure 2, dans laquelle ont été ajoutées des couches 300 et 305 de raffinement de type FGS. Une couche de raffinement FGS consiste en le raffinement en qualité de l'information de texture. Cette information de texture correspond soit à une erreur, ou résidu, de prédiction temporelle, soit une erreur, ou résidu, de prédiction spatiale, soit une texture codée en Intra sans prédiction. Une couche de scalabilité de type FGS fournit un raffinement en qualité des informations de textures concernées, par rapport à la couche inférieure. Ce raffinement en qualité est progressif, c'est à dire que le segment de train binaire issu du codage FGS peut être tronqué en un point quelconque. Le résultat de cette troncature demeure décodable et fournit une représentation de l'ensemble de l'image considérée à un niveau de qualité augmentant avec la longueur du train binaire décodé. On dit également que le train binaire généré par le codage FGS est progressifen qualité ou encore emboîté . Ces deux propriétés intéressantes du codage FGS (raffinement en qualité et progressivité du train binaire) sont obtenues grâce aux deux outils de codage suivants: - la quantification progressive : le paramètre de quantification attribué à une couche de raffinement FGS donnée est tel que le pas de quantification appliqué sur les coefficients DCT est divisé par eux par rapport à la couche inférieure ; - le codage cyclique des coefficients DCT des différents blocs d'une image : l'ordre de codage des coefficients DCT d'une image est fonction de l'amplitude des différents coefficients DCT. Les coefficients de plus grande amplitude apparaissent en premier dans le train binaire. En effet, une "passe de signifiance" signale des coefficients signifiants par rapport à un seuil d'amplitude. Ensuite, une passe de raffinement d'amplitude permet de coder des raffinements de valeurs d'amplitude des coefficients déjà codés comme signifiants. Les macroblocs n'apparaissent donc plus dans le train binaire selon leur ordre de parcours naturel, comme dans le codage des autres couches SVC. Au contraire, les coefficients DCT des différents blocs sont entrelacés et leur ordonnancement est fonction de leur amplitude respective. Ce codage cyclique, désigné sous le terme de raffinement progressif dans le projet de standard SVC, assure la propriété d'emboîtement du train binaire FGS, c'est à dire la possibilité de le tronquer à n'importe quel point, tout en le laissant capable d'être décodé, chaque couche de qualité supplémentaire fournissant un incrément de qualité couvrant spatialement l'ensemble de l'image considérée.
Les figures 4 et 5 illustrent comment se situe le traitement des couches de raffinement SVC au sein d'un algorithme de décodage vidéo. La figure 4 illustre un décodeur vidéo classique 400, typiquement représentatif du standard de compression vidéo H264/AVC. Un tel décodeur inclut, de façon connue, l'application sur chaque macrobloc des fonctions successives de décodage entropique, bloc fonctionnel 405, de quantification inverse, bloc fonctionnel 410, de transformation inverse, bloc fonctionnel 415. L'information résiduelle issue des ces trois premières opérations est ensuite ajoutée à un macrobloc de référence pour sa prédiction spatiale ou temporelle. L'image issue de cette prédiction passe enfin un filtre de réduction des effets de bloc (en anglais "deblocking filter") 420 réduisant les effets de blocs. L'image ainsi reconstruite est apte à être affichée, d'une part, et à être stockée dans une liste 450 d'images de référence, d'autre part. Elle est, en effet, amenée à servir d'image de référence pour la prédiction temporelle, bloc fonctionnel 425, pour des prochaines images à décoder du train binaire compressé, l'image résultant de la prédiction temporelle 425 étant ajoutée à l'image issue de la transformation inverse 415 par le biais d'un additionneur 435. La figure 5 illustre l'insertion des fonctions de décodage des couches de raffinement FGS dans un décodeur 500 comportant toutes les fonctions du décodeur 400 illustré en figure 4. Comme illustré en figure 5, le décodage de couches de raffinement progressif de type FGS, blocs fonctionnels 505, 510 et 515, est postérieur à la fonction de quantification inverse 410, successivement appliquée à tous les macroblocs de l'image courante. Le décodage FGS apporte, sur l'ensemble de l'image, un raffinement des valeurs des échantillons après quantification inverse. Par conséquent, comme illustré en figure 5, le décodage FGS fournit un raffinement progressif de l'erreur de prédiction spatiale ou temporelle. Cette erreur de prédiction raffinée passe ensuite par les mêmes fonctions que dans le décodeur 400 de la figure 4. Un raffinement progressif de type FGS apporte donc un raffinement des valeurs des échantillons de texture représentant une erreur de prédiction spatiale ou temporelle. On observe qu'aucun raffinement des informations de mouvement n'est transporté par une couche de qualité FGS. Les vecteurs de mouvement associés à chaque macrobloc prédit temporellement sont transportés par la couche de base au dessus de laquelle sont ajoutées les couches FGS.
Autrement dit, pour reconstruire un macrobloc prédit temporellement, le vecteur de mouvement utilisé lors de la compensation en mouvement par le décodeur est inchangé quelque soit le niveau de qualité auquel le décodeur considéré opère. Par conséquent, du côté codeur, le codeur est en charge de générer un champ de mouvement unique qui sera ensuite utilisé pour la compensation en mouvement dans la couche de base (couche de base H264, spatiale, ou CGS), ainsi que dans toutes les couches FGS au-dessus de cette couche de base.
La figure 6 illustre des images dans un flux vidéo SVC. On observe, en figure 6, une couche de base 600, qui représente une couche SVC de scalabilité spatiale, CGS ou la couche de base compatible H264/AVC. Les images de cette couche de base 600 sont notées Inbase et pnbase où l'indice n représente l'indice, ou numéro, de l'image, l'exposant base indique que l'image appartient à la couche de base 600, et i ou P représente le type de l'image. Notons que des images B peuvent être insérées entre les images i et les images P mais ont été omises sur la figure 6 car la présente invention concerne plus aisément le codage des images P. Par ailleurs, des couches de raffinement FGSi-1 605 et FGSi 610 sont également illustrées en figure 6.
Une image d'une couche de raffinement est notée Iä ou Pä suivant son type i ou P, l'indice n représentant l'indice, ou numéro, de l'image considérée et l'exposant i représentant l'indice, ou numéro, de la couche FGS considérée. Comme mentionné ci-dessus, lors du processus de prédiction temporelle des macroblocs d'une image P, le codeur doit réaliser une estimation de mouvement. Prenons l'exemple du codage de l'image Pn_1base illustrée en figure 6. L'estimation de mouvement fournit, pour chaque macrobloc de l'image Pn_1base un vecteur de mouvement le liant à un macrobloc de référence appartenant à l'image In_2base Ce vecteur de mouvement est ensuite utilisé dans l'étape de compensation en mouvement afin de générer un macrobloc d'erreur de prédiction, également appelé résidu ou macrobloc résiduel. Ce macrobloc résiduel est ensuite codé par quantification, transformation et codage entropique. De plus, l'image Pn_1' est codée par raffinement de la quantification appliquée sur les macroblocs résiduels de l'image Pn_1base puis codage cyclique.
Plusieurs stratégies peuvent être employées par le codeur pour l'estimation de mouvement utilisée, sans pour autant modifier l'algorithme de décodage. Les stratégies suivantes ont été explorées au sein du comité de standardisation SVC. - l'estimation de mouvement en boucle ouverte, qui consiste à estimer, pour chaque macrobloc d'une image originale à coder, un vecteur de mouvement entre ce macrobloc et un macrobloc d'une image de référence dans sa version originale. L'estimation de mouvement en boucle ouverte travaille donc entre images originales de la séquence à compresser ; - l'estimation de mouvement en boucle fermée, qui consiste à estimer des vecteurs de mouvement entre une image originale et une version reconstruite de l'image de référence utilisée. Dans des contributions techniques au comité SVC, il a été proposé d'utiliser l'image de référence reconstruite au plus haut niveau de qualité FGS 10 pour réaliser l'estimation de mouvement en boucle fermée. Des études montrent que des meilleures performances sont obtenues en réalisant l'estimation de mouvement en boucle fermée, entre l'image originale à coder et la ou les image(s) de référence(s) décodée(s) au plus haut niveau de débit FGS. En effet, le fait de travailler en boucle fermée permet de prendre en 15 compte les distorsions introduites lors de la quantification des images de références. Notons que l'une de ces études conduit aussi à la conclusion que les meilleures performances de compression sont obtenues en réalisant, de plus, la compensation en mouvement également en boucle fermée au niveau du codeur. La compensation en mouvement en boucle fermée consiste à calculer les 20 macroblocs d'erreur de prédiction temporelle en calculant la différence entre un macrobloc original à coder et le macrobloc de référence reconstruit au même niveau de qualité FGS. Cette configuration du codeur FGS conduit aux meilleures performances pour l'ensemble des niveaux de qualité FGS. Réciproquement, côté décodeur, supposons que l'on souhaite 25 décoder la séquence au niveau de qualité correspondant à la couche FGS1. Dans ce cas, le décodeur décode tout d'abord l'image 1n_2b"e Il décode ensuite le raffinement de texture contenu dans la couche FGS1 pour reconstruire l'image Ii_21. Ensuite, le décodeur décode l'image Pä_11. Comme exposé en regard de la figure 5, ce décodage comprend la reconstruction d'un 30 signal d'erreur de prédiction temporelle qui est ajouté aux blocs de référence du macrobloc courant préalablement compensés en mouvement. En effet, pour chaque macrobloc de l'image Pn_11, des blocs d'erreur de prédiction sont progressivement reconstruits, d'abord en décodant le signal de texture contenu dans l'image compressée Pn_lbase puis en raffinant ce signal de texture en décodant le signal de raffinement compressé P,_11. Un signal d'erreur de prédiction reconstruit est donc fourni par ce décodage scalable. Ensuite, il est ajouté aux blocs de référence compensés en mouvement calculés grâce aux vecteurs de mouvement contenus dans l'image compressée Pn-1base et en appliquant ces vecteurs de mouvement à l'image de référence reconstruite In-21. Ceci fournit la version reconstruite côté décodeur de l'image 13n_11. On observe que, lorsque le codeur effectue l'étape de compensation en mouvement en boucle fermée, l'image reconstruite Pn_11 est identique au niveau du codeur et au niveau du décodeur. Par conséquent, le décodeur dispose d'une image de référence identique à celle employée par le codeur pour la prédiction temporelle des images suivantes dans la séquence vidéo au niveau de qualité correspondant à la couche FGS1. On dit aussi que le décodeur est parfaitement synchronisé avec le codeur. La qualité des images reconstruites obtenues par le décodeur est la même que celle obtenue par le codeur.
Cependant, la figure 6 illustre aussi le problème de rupture de la synchronisation entre le décodeur et le codeur qui peut survenir lorsque, par exemple, le décodeur augmente le nombre de couches de raffinement FGS à décoder en cours de séquence vidéo, ici pour l'image d'indice n. Bien que, en regard des figures 6 à 8, on décrive le cas de l'augmentation du nombre de niveaux de qualité, la présente invention s'applique aussi bien au cas de la réduction du nombre de niveaux de qualité utilisés. Cette modification du nombre de niveaux de qualité survient, par exemple, dans le cas d'une application de transmission avec régulation de débit en temps-réel d'un flux SVC qui avait été compressé de façon scalable préalablement à toute transmission effective. La figure 6 illustre l'exemple où le décodeur commence par décoder la séquence vidéo jusqu'au niveau de qualité FGSi-1 puis, à partir de l'image n, décode la séquence au niveau de qualité FGSi. Le problème rencontré par le décodeur est alors le suivant : il ne dispose pas des données compressées nécessaires pour reconstruire l'image de référence de l'image n jusqu'au niveau de qualité visé i correspondant à la couche FGSi. Par conséquent, le décodeur ne dispose pas d'une image de référence qui soit identique à celle, Pn_11, utilisée au moment du codage de la séquence vidéo, pour prédire l'image P,;. Il en résulte une perte de la synchronisation entre le décodeur et le codeur, qui entraîne une baisse de la qualité, non seulement de l'image d'indice n, mais aussi des images suivantes reconstruites sur un intervalle de plusieurs images, du fait de la boucle de prédiction temporelle mise en oeuvre puisque la qualité des images reconstruites par le décodeur après l'augmentation du nombre de couches FGS; transmises est inférieure à la qualité des images reconstruites par le codeur au niveau de qualité FSGi. Dans le cas de l'utilisation de la méthode "leaky prediction", cette dérive est moindre, mais toujours présente.
La présente invention vise à traiter ce problème de dérive, notamment dans le cas du codage FGS et de la compensation en mouvement en boucle fermée. L'invention est typiquement appliquée aux images de type P du système de compression SVC. Cependant, la présente invention ne se limite pas à ce type d'images. Elle s'étend, notamment au codage des images de type B, moyennant une mise en oeuvre plus complexe. On rappelle que les images de type SP, spécifiées dans le standard de compression vidéo H264/AVC, permettent de "sauter" d'une image P à une autre image P d'un même flux vidéo ou d'un autre flux vidéo. Ceci est destiné notamment à des fonctionnalités comme l'avance et le retour rapide dans une séquence vidéo, la résistance aux erreurs, etc. Ces images de type SP peuvent être vues comme un moyen de passer d'une image P d'un flux vidéo à un niveau de qualité donné à une image P de la même séquence à un autre niveau de qualité. Cependant, leur syntaxe et donc leur décodage ne sont pas compatibles avec la spécification actuelle de la technologie FGS du nouveau standard SVC. On observe, en figure 1, un dispositif objet de la présente invention, ou codeur, 100 et différents périphériques adaptés à implémenter la présente invention. Dans le mode de réalisation illustré en figure 1, le dispositif 100 est un micro-ordinateur de type connu connecté, par le biais d'une carte graphique 104, à un moyen d'acquisition ou de stockage d'images 101, par exemple une caméra numérique ou un scanner, adapté à fournir des informations d'images animées à compresser. Le dispositif 100 comporte une interface de communication 118 reliée à un réseau 134 apte à transmettre, en entrée, des données numériques à compresser ou, en sortie, des données compressées par le dispositif. Le dispositif 100 comporte également un moyen de stockage 112, par exemple un disque dur, et un lecteur 114 de disquette 116. La disquette 116 et le moyen de stockage 112 peuvent contenir des données à compresser, des données compressées et un programme informatique adapté à implémenter le procédé objet de la présente invention. Selon une variante, le programme permettant au dispositif de mettre en oeuvre la présente invention est stocké en mémoire morte ROM (acronyme de read only memory pour mémoire non réinscriptible) 106. Selon une autre variante, le programme est reçu par l'intermédiaire du réseau de communication 134 avant d'être stocké. Le dispositif 100 est relié à un microphone 124 par l'intermédiaire d'une carte d'entré/sortie 122. Les données à coder prennent, dans ce cas, la forme d'un signal audio. Ce même dispositif 100 possède un écran 108 permettant de visualiser les données à décompresser (cas du client) ou de servir d'interface avec l'utilisateur pour paramétrer certains modes d'exécution du dispositif 100, à l'aide d'un clavier 110 et/ou d'une souris par exemple.
Une unité centrale CPU (acronyme de central processing unit ) 103 exécute les instructions du programme informatique et de programmes nécessaires à son fonctionnement, par exemple un système d'exploitation. Lors de la mise sous tension du dispositif 100, les programmes stockés dans une mémoire non volatile, par exemple la mémoire morte 106, le disque dur 112 ou la disquette 116, sont transférés dans une mémoire vive RAM (acronyme de random access memory pour mémoire à accès aléatoire) 108 qui contiendra alors le code exécutable du programme implémentant le procédé objet de la présente invention ainsi que des registres pour mémoriser les variables nécessaires à sa mise en oeuvre.
Bien entendu, la disquette 116 peut être remplacée par tout support d'information amovible, tel que disque compact, clé 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 au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de codage objet de la présente invention. Un bus de communication 102 permet la communication entre les différents éléments inclus dans le dispositif 100 ou reliés à lui. La représentation, en figure 1, du bus 102 n'est pas limitative et notamment l'unité centrale 103 est susceptible de communiquer des instructions à tout élément du dispositif 100 directement ou par l'intermédiaire d'un autre élément du dispositif 100. Par l'exécution du programme implémentant le procédé objet de la présente invention, l'unité centrale 103 constitue les moyens suivants: - un moyen 150 de codage d'une séquence vidéo SVC avec plusieurs couches de qualité de type FGSj au-dessus d'une couche SVC de base (compatible H264), ou bien de raffinement spatial ou CGS. Ce premier moyen est appliqué sur la séquence vidéo originale, c'est-à-dire non comprimée. La fonction de ce moyen de codage est de générer des images compressées avec une couche de base (couche de base SVC compatible H264, ou bien couche de raffinement spatial ou CGS) et plusieurs couches de raffinement FGSj comme spécifié dans le système SVC en cours de standardisation ; - un premier moyen 155 de quantification inverse de l'image courante à chaque niveau de qualité FGSj qui serait décodée si le décodeur était synchronisé avec le codeur dans ce niveau de qualité. Ce moyen de quantification est appliqué sur l'image de type P courante après qu'elle ait été complètement codée (couches de base et couches FGSj au-dessus). La fonction de ce moyen de quantification est de fournir une version de l'image de type P en cours de traitement après quantification inverse au niveau de qualité FGSj visé ; -un deuxième moyen 160 de quantification inverse, d'une part, de l'image de référence à un deuxième niveau de qualité FGSj différent du niveau de qualité FGSj utilisé par le premier moyen de quantification inverse et, d'autre part, du signal résiduel pour l'image courante jusqu'au deuxième niveau de qualité FGSj. Ce deuxième moyen de quantification inverse est appliqué sur la version compressée de l'image de référence de l'image courante. Il fournit les coefficients DCT de l'image de référence après quantification inverse au deuxième niveau de qualité FGSj ainsi que les coefficients DCT du signal d'erreur de prédiction temporelle reconstruit jusqu'au deuxième niveau de qualité FGSj et - un moyen 165 de soustraction entre, d'une part, la version de l'image courante après quantification inverse dans le domaine DCT et, d'autre part, la somme de l'image de référence après quantification inverse au deuxième niveau de qualité FGSj et du signal résiduel après quantification inverse jusqu'au deuxième niveau de qualité FGSj. Ce moyen de soustraction est appliqué sur les versions après quantification inverse des signaux résultants des premier et deuxième moyens de quantification inverse. Le moyen de soustraction génère les coefficients de transformation cosinus discrète représentant le signal de raffinement de texture qui permettra de décoder, à partir de l'image de référence reconstruite au deuxième niveau de qualité FGSj, l'image P courante au premier niveau de qualité FGSj ; - un moyen 170 de quantification et codage cyclique des coefficients DCT et d'insertion dans le train binaire SVC du signal résiduel issu de la soustraction effectuée par le moyen de soustraction. Ce moyen finalise le codage des coefficients DCT du signal de raffinement de texture calculés par le moyen de soustraction. Ainsi, des signaux de raffinement de texture sont insérés dans le flux compressé SVC et permettent, une fois transmis et décodés, d'augmenter ou de diminuer le nombre de couches de qualité FGS décodées par le décodeur en cours de séquence vidéo, tout en assurant des images reconstruites identiques, côté codeur et côté décodeur, au cours de la séquence vidéo. La mise en oeuvre de la présente invention fournit une meilleure qualité visuelle des images décodées dans le cas pratique d'une transmission d'un flux SVC pré-encodé présentant des fluctuations de la bande passante lors de la transmission de la séquence vidéo. La présente invention est mise en oeuvre uniquement par le codeur 100, tandis que l'algorithme de décodage vidéo associé demeure inchangé. La présente invention consiste à générer un signal de raffinement de texture conforme à la spécification de la technologie FGS dans SVC, mais permettant de reconstruire une image P à un niveau de qualité FGS donné, à partir d'une image de référence reconstruite à un niveau de qualité inférieur.
Pour ce faire, le signal de raffinement de texture est calculé par le codeur de façon à permettre de reconstruire une image d'erreur de prédiction temporelle qui, une fois ajoutée à l'image de référence reconstruite au niveau inférieur, restitue une image reconstruite Pni égale à celle qui serait reconstruite si la prédiction temporelle était effectué avec l'image de référence Pn_1'reconstruite au niveau FGS courant. A cet effet, le codeur 100 code puis décode l'image courante (Pr?, sur la figure 6) au niveau de qualité i visé, en utilisant l'image de référence normalement destinée à cet effet, notée qui n'apparaît pas sur la figure 6 mais est supposée non disponible côté décodeur. Ensuite, le codeur 100 reconstruit le résidu de prédiction temporelle en décodant les données de texture de l'image d'indice temporelle n jusqu'au niveau de qualité FGSi-1. Le signal d'erreur de prédiction issue de ce dernier décodage est noté Eni-1. De plus, le codeur 100 reconstruit l'image de référence Pn_1', jusqu'au niveau de qualité FGSi. Le codeur 100 calcule, ensuite, la différence entre l'image reconstruite Pni et la somme de l'image de référence reconstruite Pn_1' et du signal d'erreur de prédiction Eni-1 pour déterminer le raffinement de texture qui doit être codé dans le signal de raffinement FGSi.
Le signal différentiel correspondant à la différence calculée ci-dessus, permet au décodeur de reconstruire un signal d'erreur de prédiction temporelle qui, ajouté à l'image de référence reconstruite Pn_1' 1, permet de reconstruire l'image Pni identique a sa version reconstruite côté codeur 100. Ainsi, la synchronisation entre le décodeur et le codeur est maintenue en dépit de l'augmentation du nombre de couches de raffinement FGS décodée en cours de séquence. Le signal différentiel ainsi codé est noté : S(n-1,i-l)-(n,i) illustrant, par ses deux couples d'indices, qu'il permet de passer de l'image de référence reconstruite Pn_1i-1 à l'image courante reconstruite P,;.
En variante, la détermination du raffinement de texture différentiel comporte une reconstruction de l'image courante en mettant en oeuvre l'image courante codée et chaque image de référence reconstruite pour le niveau de qualité initial pour fournir une image courante reconstruite hybride, et une détermination de différence entre l'image courante reconstruite au niveau de qualité visé et l'image courante reconstruite hybride, pour déterminer le raffinement de texture différentiel. Préférentiellement, la reconstruction d'une image courante reconstruite hybride comporte une reconstruction d'une image d'erreur de prédiction temporelle pour l'image courante, jusqu'au niveau de qualité initial, en mettant en oeuvre l'image de référence de l'image courante au niveau de qualité initial. La figure 7 représente, sous forme de logigramme, des étapes mises en oeuvre dans un mode de réalisation particulier de la présente invention pour coder un signal de raffinement de texture pour une image Pn, donnée à un niveau de qualité FGSi donné. Les données en entrée d'une première étape 705 sont les suivantes : - l'image courante Pn, en cours de codage, ou compression ; - l'indice i de la couche de qualité FGS pour laquelle un signal de passage depuis la couche de qualité inférieure i-1 est requis.
La sortie de la dernière étape 730 est la portion de train binaire compressé correspondant au signal de passage depuis l'image de référence reconstruite Pn_1i-1 vers l'image courante au niveau de qualité i : P,;. Au cours de l'étape 705, on code l'image courante Pn jusqu'au niveau de qualité FGSi, c'est à dire le niveau de qualité visé pour lequel on cherche à générer un signal de passage, pour fournir une image courante codée. Ce codage est réalisé conformément au codage classique d'une image P avec des couches de qualité FGS. Ensuite au cours d'une étape 710, l'image courante Pn est reconstruite au niveau de qualité visé i, en fonction de l'image courante codée, pour fournir l'image courante reconstruite de niveau de qualité visé i, que le décodeur reconstruira à l'aide de l'image de référence Pn_1' 1 et du signal différentiel de passage S(n_1,i-1)-(n,i). On notera que l'on décrit ici un exemple de réalisation dans lequel on utilise une image de référence mais que l'invention s'applique également lorsque plusieurs images de référence sont utilisées.
Au cours d'une étape 715, on décode l'image de référence de l'image courante au niveau de qualité i-1, notée Pn_1' 1 pour fournir une image de référence reconstruite pour le niveau de qualité initial. Puis, au cours d'une étape 720, on reconstruit le signal d'erreur de prédiction temporelle pour l'image courante d'indice n jusqu'au niveau de qualité FGSi-1, pour fournir le signal noté Eä''. Au cours d'une étape 725, on calcule les valeurs des coefficients de raffinement de texture FGS dont le décodage permettra de passer de l'image de référence Pä_,'' à l'image reconstruite désirée Pä'. Cette étape est détaillée en figure 8, décrite ci-dessous. Le résultat de l'étape 725 est un ensemble de coefficients de raffinement de texture différentiel fonction de l'image de référence reconstruite pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé. Ces coefficients sont ensuite codés conformément à la syntaxe de la spécification FGS, au cours d'une étape 730. Par exemple, ces coefficients comportent des coefficients DCT, comme exposé en regard de la figure 8. En variante, on peut coder plusieurs signaux différentiels de raffinement de texture successifs permettant de passer d'un niveau de qualité à un autre sur un intervalle de plusieurs images. Dans ce cas, pour le codage d'un raffinement de texture différentiel complémentaire par rapport au premier, on utilise comme image de référence (au lieu de l'image de référence Pä_,'' de l'étape 715) l'image reconstruite en utilisant le raffinement de texture différentiel précédent. La figure 8 représente, sous forme d'un logigramme, des étapes mises en oeuvre pour réaliser l'étape 725 illustrée en figure 7, pour obtenir les valeurs des coefficients constituant le signal de passage désiré qui sont codés au cours de l'étape 730. Les données en entrées d'une première étape 805 sont les suivantes : - la version reconstruite de l'image courante P,;, - l'image de référence reconstruite Pä_,'-' et - l'ensemble des coefficients déjà codés dans les couches 0 à i-1 pour l'image courante P,?, fournissant le signal En i-1. Dans ce mode de réalisation, le procédé objet de la présente invention consiste à parcourir chaque macrobloc d'adresse CurrMbAddr de l'image. Au cours de l'étape 805, on prend en considération le premier macrobloc en attribuant la valeur 0 à l'indice CurrMbAddr. Pour chaque macrobloc CurrMbAddr dans l'image courante, au cours d'une étape 810, on effectueune prédiction temporelle, incluant le décodage ou l'obtention des vecteurs de mouvements associés à ce macrobloc puis la reconstruction d'un signal de prédiction du macrobloc courant CurrMbAddr. Ce signal de prédiction prend la forme de trois tableaux predL, predcb et predcr d'échantillons de référence pour la prédiction temporelle du macrobloc CurrMbAddr. Ensuite, à partir d'une étape 815, on parcourt les partitions de macrobloc et éventuellement les partitions en sous-macroblocs des macroblocs.
En effet, le bloc peut-être codé en un seul bloc 16x16 (cas du mode de codage INTRA 16x16) ou bien peut-être découpé en partitions de macrobloc 8x8, puis éventuellement en partitions de sous-macrobloc, menant à des blocs de pixels 4x4. Par souci de simplicité et de clarté, la figure 8 ne représente que le cas du parcours de blocs 4x4 de luminance au sein de chacun des macroblocs de l'image considérée. Par conséquent, l'étape 815 consiste à initialiser l'indice Iuma4x4Blkldxdu bloc de luminance 4x4 courant à 0. Au cours d'une étape 820, on calcule les valeurs des coefficients reconstruits du bloc 4x4 résiduel permettant de passer de son bloc de référence dans l'image Pr,_,'' au bloc courant Iuma4x4Blkldx dans le macrobloc CurrMbAddr de l'image courante. Ce bloc d'erreur de prédiction temporelle est tel que l'on a la relation (1) suivante, pour tout couple d'entiers k et I entre 0 et 3 inclus : Pä[xP+xO+k, yP+yO+I]= Clip1 (predL [xO+k, yO+I]+rk,) (1) relation dans laquelle : - predL [ ] représente le bloc de référence du bloc courant, auquel on a appliqué un processus de compensation en mouvement à l'étape 810 pour générer le signal prédicteur predL. L'indice L indique que l'on traite couramment dans la composante de luminosité (ou luma) du macroblock courant ; - xP et yP représentent les coordonnées du coin haut-gauche du macrobloc courant CurrMbAddr; - xO et yO représentent les coordonnées du coin haut gauche du bloc courant Iuma4x4Blkldxau sein du macrobloc courant CurrMbAddr; -l'opération Clip/1(x) consiste à ramener, par écrêtage, la valeur x entre les bornes 0 et (28itDepthy ù 1). La grandeur BitDepthy est égale au nombre de bits utilisés pour représenter les valeurs de coefficients de luminance. Par exemple, si BitDepthy vaut 8, alors on a (28,tDepthy ù 1) = 255, donc l'opération Clip/1(x) consiste à ramener la valeur x dans l'intervalle [0, 255]. On trouve donc une valeur reconstruite rk,de coefficient de résidu de prédiction temporelle qui satisfait la relation (1) ci-dessus. Le jeu de coefficients ri,/ calculés par la relation (2) ci-dessous convient, pour tout couple d'entiers k et l entre 0 et 3 : rk,=Pä[xP+xO+k, yP+yO+I]-predL[xO+k, yO+l] (2) Au cours d'une étape 825, on détermine les valeurs de coefficients transformés déquantifiés hk, qui correspondent aux valeurs rk,trouvées ci-dessus. En effet, conformément à la section G.8.5.10 de la spécification SVC en cours de standardisation, les coefficients hk,respectent la relation suivante : rk/ = (hk1 + 25) 6. (3) La relation (3) est respectée à condition que la grandeur hk, + 25 soit comprise entre les valeurs (rkl 6) et rk, x (2' - 1) incluses. Autrement dit, on doit avoir : (rk, 6)-25<hk,<rk,x(27-1)-25 (4) Pour ce faire, il suffit de choisir des valeurs des coefficients 15 transformés déquantifiés hk,respectant l'inégalité (4) ci-dessus. Ensuite, au cours d'une étape 830, on recherche les coefficients transformés inversement quantifiés notés dk, qui correspondent aux coefficients hk,. En effet, les coefficients hk, sont le résultat d'une transformée inverse qui sera appliquée par le décodeur sur le signal de passage en cours de 20 construction. Comme la transformée utilisée dans H264/AVC et SVC est réversible, il suffit d'appliquer sur les coefficients hk, une transformation directe. Ceci prend par exemple la forme d'une DCT à coefficients entiers dans le cas de coefficient d'un bloc luma 4x4 (cas de la figure 8), pour tout couple d'entiers k et I compris entre 0 et 3 inclus : 25 1 1 1 1 1 2 1 1 2 1 -1 -2 1 1 -1 -2 (dk/) = 1 -1 -1 1 x hk/x 1 -1 -1 2 (5) 1 -2 2 -1 1 -2 1 -1 Au cours d'une étape 835, on calcule le coefficient quantifié à coder 30 dans le signal de passage en cours de construction, en appliquant une opération de quantification telle que spécifiée dans le document J. Reichel, H. Schwarz, and M. Wien. Joint Scalable Video Mode/ JSVM 0. Joint Video Team of ISO/IEC MPEG and ITU-T VCEG, Hong Kong, China, January 2005, document JVT-NO20 sur la différence entre les coefficients dk, et les valeurs du signal résiduel de prédiction temporelle calculé précédemment, pour tout couple d'entiers k et I entre 0 et 3 inclus : Cid = Quantization (dk/ - Eä"' [xP + xO + k, yP + yO + ID (6) Cette fonction quantization est mise en oeuvre au cours d'une étape 5 de quantification, connue de l'homme du métier. Selon un mode de réalisation particulier de l'invention, l'étape de quantification n'est pas effectuée par l'algorithme de la figure 8, afin de coder le signal différentiel de passage désiré sans la moindre distorsion. Pour ce faire, les coefficients DCT issus de la soustraction dki - [xP + xO + k, yP + yO + I] sont 10 fournis tels quels à l'étape de codage entropique qui suit normalement l'étape de quantification dans le schéma de codage illustré figure 7. Ce codage sans perte, réalisé en omettant la phase de quantification, permet de resynchroniser exactement le décodeur avec le codeur lors du passage de l'image de référence reconstruite Pä_,'-' à l'image courante reconstruire P,;. 15 L'opération effectuée selon l'équation (6) fournit les coefficients transformées et quantifiés de raffinement de texture à coder dans le signal de passage ciblé. Puis, au cours d'une étape 840, on détermine si le dernier sousmacrobloc du macrobloc a été traité. Sinon, au cours d'une étape 845, on passe 20 au sous-macrobloc suivant et on réitère les étapes 820 à 835 jusqu'à ce que l'ensemble des partitions de sous-macrobloc de la partition de macrobloc courante aient été traitées. Lorsque toutes les partitions de macrobloc du macrobloc courant CurrMbAddr ont été traitées, au cours d'une étape 850, on détermine si le 25 dernier macrobloc a été traité. Sinon, au cours d'une étape 855, on passe au macrobloc suivant et on réitère les étapes 810 à 845 sur les autres macroblocs de l'image courante Pä jusqu'à ce que tous les macroblocs de l'image courante aient été traités, auquel cas la succession d'étapes est terminée. 30 Pour implémenter la présente invention, on met préférentiellement en oeuvre un programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de codage tel que décrit ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique.
La figure 9 illustre le procédé de décodage objet de la présente invention, utilisant, s'il est disponible, le signal différentiel de raffinement de texture introduit dans le train binaire compressé par la mise en oeuvre du procédé de codage illustré en figures 7 et 8.
Les entrées de l'algorithme de la figure 9 sont les suivantes : - l'image Pä courante à décoder et - le niveau de qualité visé i auquel on souhaite décoder l'image courante Pn. Afin de pouvoir décoder l'image Pä au niveau de qualité visé d'indice i, le décodeur doit normalement disposer de l'image de référence reconstruite au niveau de qualité visé i afin de pouvoir réaliser l'étape de compensation en mouvement en boucle fermée au niveau de qualité visé i. Au cours d'une étape 905, on détermine si l'image de référence Pä_,' est disponible. Si oui, on procède, au cours d'une étape 910, au décodage de l'image Pä conformément au décodage FGS en boucle fermée connu de l'homme du métier. Si non, au cours d'une étape 915, on détermine si un signal différentiel de raffinement de texture S(ä-1,i-1)(n,;) permettant le passage de l'image de référence précédente reconstruite au niveau de qualité inférieur i-1 à l'image courante reconstruite au niveau de qualité visé est disponible, ce signal différentiel pouvant être présent dans le train binaire à décoder ou reçu par le décodeur. Si non, au cours de l'étape 910, on réalise le décodage de l'image Pä en utilisant une image de référence provenant du niveau de qualité FGS inférieur, ce qui entraîne un perte de synchronisation du décodeur par rapport au codeur, et donc une perte de qualité par rapport au niveau de qualité visé i. Si oui, à partir d'une étape 920, le décodeur effectue le décodage de l'image Pä en mettant en oeuvre le signal différentiel de raffinement de texture. Par soucis de concision et simplicité, la figure 9 illustre de façon non limitative le cas où les macroblocs de l'image courante sont partitionnés en partitions de sous-macrobloc de taille 4x4, et l'on ne représente que le traitement de la composante de luminance. D'une manière générale, le décodage de l'image Pä consiste alors, pour chaque partition 4x4 de sous-macrobloc, à réaliser une prédiction du bloc 4x4 courant, étape 935. Cette prédiction (temporelle ou spatiale) consiste à former un bloc de prédiction, noté predL, du bloc 4x4 courant. Ensuite, on calcule le résidu de prédiction destiné à être sommé au bloc de prédiction predL. Ce calcul consiste en deux étapes : - le décodage et la quantification inverse progressive du bloc 4x4 courant jusqu'au niveau de qualité i-1, étape 935 et - le décodage et la quantification inverse du signal différentiel de raffinement de texture, étape 940. Les signaux ainsi décodés sont ensuite sommés, étape 945, puis une transformation (DCT à coefficients entiers) est appliquée sur le bloc résultat de cette somme, étape 950. Cette transformation inverse fournit le résidu temporel progressivement décodé qui est ensuite sommé au bloc de prédiction predL précédemment calculé, étape 955. Le bloc ainsi obtenu correspond alors à un bloc reconstruit de l'image reconstruite désirée au niveau de qualité visé. Pour traiter successivement les différents macroblocs et blocs de l'image courante, au cours d'une étape 920, on prend en compte le premier macrobloc, qui devient le macrobloc courant. Puis, au cours d'une étape 925, on prend en compte le premier bloc 4x4 du macrobloc courant pour former le bloc courant. Après l'étape 955 décrite ci-dessus, pour chaque bloc, au cours d'une étape 960, on détermine si le bloc courant est le dernier bloc du macrobloc courant. Si non, on prend comme bloc courant le bloc courant suivant dans le macrobloc courant, étape 965 et on retourne à l'étape 930. Si oui, au cours d'une étape 970, on détermine si le macrobloc courant est le dernier macrobloc de l'image courante. Si non, au cours d'une étape 975, on prend le macrobloc suivant de l'image courante comme macrobloc courant et on retourne à l'tape 925. Si oui, le décodage de l'image courante est achevé.
Ainsi, le procédé de décodage hiérarchique d'images animées, mettant en oeuvre au moins une image de référence pour chaque image à décoder et pour chaque niveau de qualité, comporte, au moins lors du passage, à partir de l'image courante , d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial : - une étape de décodage du raffinement de texture différentiel représentatif d'une différence entre une image de référence reconstruite pour le niveau de qualité initial et l'image courante reconstruite de niveau de qualité visé et - une étape de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre chaque image de référence pour le niveau de qualité initial et le raffinement de texture différentiel. On observe que le dispositif de décodage hiérarchique d'images animées (non représenté), par exemple un ordinateur personnel muni d'un programme implémentant le procédé de décodage illustré en regard de la figure 9 et mettant en oeuvre au moins une image de référence pour chaque image à décoder et pour chaque niveau de qualité, comporte un moyen de décodage, par exemple l'unité centrale et le programme, qui décode le raffinement de texture différentiel représentatif d'une différence entre l'image courante reconstruite de niveau de qualité visé et l'image de référence reconstruite pour le niveau de qualité initial. Le dispositif de décodage comporte aussi un moyen de reconstruction de l'image courante au niveau de qualité visé, qui met en oeuvre chaque image de référence pour le niveau de qualité initial et le raffinement de texture différentiel, par exemple l'unité centrale du dispositif munie du programme d'ordinateur mentionné ci-dessus. Un système de télécommunications entre des dispositifs terminaux reliés à travers un réseau de télécommunications comprend, selon la présente invention, au moins un dispositif terminal équipé d'un dispositif de codage tel que décrit ci-dessus et au moins un dispositif terminal équipé d'un dispositif de décodage tel que décrit ci-dessus. 31

Claims (22)

REVENDICATIONS
1. Procédé de codage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à coder, caractérisé en ce qu'il comporte, au moins lors du passage, à partir d'une image dite courante , d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial : - une étape (705) de codage de l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée, - une étape (710) de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre l'image courante codée et au moins une image de référence pour le niveau de qualité visé, pour fournir une image courante reconstruite de niveau de qualité visé, - une étape (715) d'obtention d'au moins une image de référence de 15 l'image courante au niveau de qualité initial, pour fournir une image de prédiction pour le niveau de qualité initial, - une étape (720, 725) de détermination d'un raffinement de texture différentiel fonction de l'image de prédiction pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé et 20 - une étape (730) de codage du raffinement de texture différentiel.
2. Procédé de codage selon la revendication 1, caractérisé en ce que l'étape de détermination du raffinement de texture différentiel comporte : - une étape (720) de reconstruction d'un résidu de prédiction de 25 l'image courante jusqu'au niveau de qualité initial et - une étape (725) de détermination de différence entre, d'une part, l'image courante reconstruite au niveau de qualité visé et, d'autre part, la somme de l'image de prédiction au niveau de qualité initial et dudit résidu. 30
3. Procédé de codage selon la revendication 1, caractérisé en ce que l'étape de détermination du raffinement de texture différentiel comporte : - une étape de reconstruction de l'image courante en mettant en oeuvre ladite image courante codée et chaque image de prédiction pour le niveau de qualité initial, pour fournir une image courante reconstruite hybride 32 2899053 et - une étape de détermination de différence entre l'image courante reconstruite au niveau de qualité visé et l'image courante reconstruite hybride, pour déterminer un raffinement de texture différentiel. 5
4. Procédé selon la revendication 3, caractérisé en ce que l'étape de reconstruction d'une image courante reconstruite hybride comporte une étape de reconstruction d'une image d'erreur de prédiction temporelle pour l'image courante jusqu'au niveau de qualité initial en mettant en oeuvre l'image de 10 référence de l'image courante au niveau de qualité initial.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte une étape de prédiction temporelle, au cours de l'étape (705) de codage de l'image courante, au cours de l'étape (710) de reconstruction et au cours de l'étape (715) d'obtention.
6. Procédé selon la revendication 5, caractérisé en ce que ladite étape de prédiction temporelle inclut une étape d'obtention de vecteurs de mouvement associés à des macroblocs de l'image et une étape de compensation en mouvement des macroblocs de référence associés.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que l'étape (715) d'obtention de l'image de prédiction comporte une étape d'obtention de vecteurs de mouvement associés à des macroblocs de l'image courante et une étape de compensation en mouvement des macroblocs de chaque image de prédiction au niveau de qualité initial.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que, au cours de l'étape (730) de codage du raffinement de texture, on code un signal de raffinement de texture avec un codage compatible avec la syntaxe de codage FGS spécifiée dans le projet de standard SVC.
9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que, au cours de l'étape (730) de codage du raffinement detexture, le code de raffinement de texture comporte des coefficients de transformation cosinus discrète représentatifs dudit raffinement de texture.
10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il comporte une étape de transmission, depuis un codeur à un décodeur, du code de raffinement de texture, ladite étape de transmission n'étant effectuée que lors d'une augmentation ou d'une baisse du nombre de niveaux de qualité transmis.
11. Dispositif de codage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à coder, qui comporte : - un moyen de codage d'une image dite courante , à partir de laquelle on passe d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité initial, adapté à coder l'image courante jusqu'au niveau de qualité visé pour fournir une image courante codée, - un moyen de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre l'image courante codée et au moins une image de référence pour le niveau de qualité visé, pour fournir une image courante reconstruite de niveau de qualité visé, - un moyen d'obtention d'au moins une image de référence de l'image courante au niveau de qualité initial, pour fournir une image de prédiction pour le niveau de qualité initial, - un moyen de détermination d'un raffinement de texture différentiel 25 fonction de l'image de prédiction pour le niveau de qualité initial et de l'image courante reconstruite de niveau de qualité visé et - un moyen de codage du raffinement de texture différentiel.
12. Dispositif selon la revendication 11, caractérisé en ce que le 30 moyen de codage est adapté à coder une séquence vidéo avec plusieurs couches de qualité, et en ce que le moyen de raffinement comporte : - un premier moyen de quantification inverse de l'image courante à chaque niveau de qualité qui serait décodée si le décodeur était synchronisé avec le codeur dans ce niveau de qualité, 34 2899053 - un deuxième moyen de quantification inverse adapté à effectuer une quantification inverse de l'image de référence à un deuxième niveau de qualité différent du niveau de qualité utilisé par le premier moyen de quantification inverse et à effectuer une quantification inverse du signal résiduel 5 pour l'image courante jusqu'au deuxième niveau de qualité, - un moyen de soustraction entre, d'une part, la version de l'image courante après quantification inverse par le premier moyen de quantification inverse et, d'autre part, la somme de l'image de référence après quantification inverse au deuxième niveau de qualité et du signal 10 résiduel après quantification inverse jusqu'au deuxième niveau de qualité et - un moyen de quantification et codage de données issues de la première quantification inverse effectuée par le premier moyen de quantification inverse et d'insertion dans le code des dites données d'un signal résiduel issu de la soustraction effectuée par le moyen de soustraction. 15
13. Procédé de décodage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à décoder, caractérisé en ce qu'il comporte, au moins lors du passage, à partir d'une image dite courante , d'un niveau de qualité initial à un niveau de qualité visé 20 différent du niveau de qualité initial : - une étape de décodage d'un raffinement de texture différentiel représentatif d'une différence entre une image de prédiction pour le niveau de qualité initial et l'image courante reconstruite de niveau de qualité visé et - une étape de reconstruction de l'image courante au niveau de qualité visé en mettant en oeuvre au moins une image de référence pour le niveau de qualité initial et le raffinement de texture différentiel.
14. Procédé selon la revendication 13, caractérisé en ce que l'étape de reconstruction de l'image courante comporte une étape de décodage et de quantification inverse d'un résidu de prédiction temporelle jusqu'au niveau de qualité initial.
15. Procédé selon l'une quelconque des revendications 13 ou 14, caractérisé en ce que l'étape de reconstruction de l'image courante comporte uneétape de décodage et de quantification inverse du raffinement de texture différentiel.
16. Procédé selon les revendications 14 et 15, caractérisé en ce que 5 l'étape de reconstruction de l'image courante comporte une étape d'addition du résidu de prédiction temporelle et du signal différentiel décodé.
17. Procédé selon la revendication 16, caractérisé en ce que l'étape de reconstruction de l'image courante comporte une étape de transformation 10 inverse du résultat de ladite étape d'addition pour fournir un résidu temporel décodé.
18. Procédé selon la revendication 17, caractérisé en ce que l'étape de reconstruction de l'image courante comporte une étape d'addition du résidu 15 temporel décodé et du bloc de référence correspondant.
19. Dispositif de décodage hiérarchique d'images animées mettant en oeuvre au moins une image de référence pour au moins une image à décoder, caractérisé en ce qu'il comporte :
20 - un moyen de décodage adapté à décoder un raffinement de texture différentiel représentatif d'une différence entre une image courante reconstruite de niveau de qualité visé et d'une image de prédiction pour le niveau de qualité initial, ladite image courante étant une image à partir de laquelle on passe d'un niveau de qualité initial à un niveau de qualité visé différent du niveau de qualité 25 initial, et - un moyen de reconstruction de l'image courante au niveau de qualité visé adapté à mettre en oeuvre au moins une image de référence pour le niveau de qualité initial et le raffinement de texture différentiel. 30 20. Système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de codage selon l'une quelconque des revendications 11 ou 12 et au moins un dispositif terminal équipé d'un dispositif de décodage selon la 36 2899053 revendication 19.
21. Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de codage selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par un système informatique.
22. Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de décodage selon l'une quelconque des revendications 13 à 18, lorsque ce programme est chargé et exécuté par un système informatique.
FR0650974A 2006-03-21 2006-03-21 Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede Expired - Fee Related FR2899053B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0650974A FR2899053B1 (fr) 2006-03-21 2006-03-21 Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
US11/688,679 US8340179B2 (en) 2006-03-21 2007-03-20 Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0650974A FR2899053B1 (fr) 2006-03-21 2006-03-21 Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede

Publications (2)

Publication Number Publication Date
FR2899053A1 true FR2899053A1 (fr) 2007-09-28
FR2899053B1 FR2899053B1 (fr) 2008-05-16

Family

ID=37546730

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0650974A Expired - Fee Related FR2899053B1 (fr) 2006-03-21 2006-03-21 Procedes et dispositifs de codage et de decodage d'images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede

Country Status (1)

Country Link
FR (1) FR2899053B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054776A1 (fr) * 2001-01-03 2002-07-11 Nokia Corporation Commutation entre des trains de bits en transmission video
US6480541B1 (en) * 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480541B1 (en) * 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
WO2002054776A1 (fr) * 2001-01-03 2002-07-11 Nokia Corporation Commutation entre des trains de bits en transmission video

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CE ZHU ET AL: "Reducing drift for FGS coding based on multiframe motion compensation", ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 2004. PROCEEDINGS. (ICASSP '04). IEEE INTERNATIONAL CONFERENCE ON MONTREAL, QUEBEC, CANADA 17-21 MAY 2004, PISCATAWAY, NJ, USA,IEEE, vol. 3, 17 May 2004 (2004-05-17), pages 253 - 256, XP010718174, ISBN: 0-7803-8484-9 *
FENG WU ET AL: "Efficient and universal scalable video coding", PROCEEDINGS 2002 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. ICIP 2002. ROCHESTER, NY, SEPT. 22 - 25, 2002, INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, NEW YORK, NY : IEEE, US, vol. VOL. 2 OF 3, 22 September 2002 (2002-09-22), pages 37 - 40, XP010607902, ISBN: 0-7803-7622-6 *
XIAOYAN SUN ET AL: "Efficient and flexible drift-free video bitstream switching at predictive frames", MULTIMEDIA AND EXPO, 2002. ICME '02. PROCEEDINGS. 2002 IEEE INTERNATIONAL CONFERENCE ON LAUSANNE, SWITZERLAND 26-29 AUG. 2002, PISCATAWAY, NJ, USA,IEEE, US, vol. 1, 26 August 2002 (2002-08-26), pages 541 - 544, XP010604425, ISBN: 0-7803-7304-9 *
YILIANG BAO ET AL.: "Improvements to fine granularity scalability for low-delay applications", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6), 15TH MEETING: BUSAN, KOREA, 18-22 APRIL, 2005 JVT-O054, 13 April 2005 (2005-04-13), BUSAN, Korea, pages 1 - 8, XP002415221, Retrieved from the Internet <URL:http://ftp3.itu.ch/av-arch/jvt-site/2005_04_Busan> [retrieved on 20070117] *

Also Published As

Publication number Publication date
FR2899053B1 (fr) 2008-05-16

Similar Documents

Publication Publication Date Title
FR2904494A1 (fr) Procede et dispositif de compression d&#39;image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
FR2906433A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;images, programme d&#39;ordinateur les mettant en oeuvre et support d&#39;informaton permettant de les mettre en oeuvre
FR2894421A1 (fr) Procede et dispositif de decodage d&#39;un flux video code suivant un codage hierarchique
FR2932637A1 (fr) Procede et dispositif de codage d&#39;une sequence d&#39;images
FR2889004A1 (fr) Procede et dispositif de traitement d&#39;une sequence d&#39;images numeriques a scalabilite spatiale ou en qualite
FR2939593A1 (fr) Procede et dispositif de codage video
FR2951345A1 (fr) Procede et dispositif de traitement d&#39;une sequence video
WO2017001793A1 (fr) Procede d&#39;encodage d&#39;image et equipement pour la mise en oeuvre du procede
FR3008840A1 (fr) Procede et dispositif de decodage d&#39;un train scalable representatif d&#39;une sequence d&#39;images et procede et dispositif de codage correspondants
FR2895172A1 (fr) Procede et dispositif de codage d&#39;un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
EP2633686B1 (fr) Codage video echelonnable a partir d&#39;un epitome hierarchique
EP2761871B1 (fr) Estimation de mouvement au niveau du décodeur par mise en correspondance de modèles
FR3026261A1 (fr) Procede de codage et de decodage d&#39;images integrales, dispositif de codage et de decodage d&#39;images integrales et programmes d&#39;ordinateur correspondants
EP3972247A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
FR2899053A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;images animees, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
EP3918798A1 (fr) Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
EP2227908B1 (fr) Procede de decodage a complexite variable d&#39;un signal d&#39;images, terminal de decodage, procede de codage, dispositif de codage, signal et programmes d&#39;ordinateur correspondants
EP2633687B1 (fr) Codage et décodage vidéo a partir d&#39;un épitome
FR2957744A1 (fr) Procede de traitement d&#39;une sequence video et dispositif associe
FR2959093A1 (fr) Procede et dispositif de prediction d&#39;une information de complexite de texture contenue dans une image
EP2494782A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;images, et programmes d&#39;ordinateur correspondants
FR3041851A1 (fr) Procede d&#39;allocation de debit, dispositif, codeur et programme d&#39;ordinateur associes
FR2913844A1 (fr) Procede et dispositif d&#39;allocation de debit dans une sequence video
FR2910773A1 (fr) Procede et dispositif de codage de donnees video.
EP3854088A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128