FR2894421A1 - Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique - Google Patents

Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique Download PDF

Info

Publication number
FR2894421A1
FR2894421A1 FR0512434A FR0512434A FR2894421A1 FR 2894421 A1 FR2894421 A1 FR 2894421A1 FR 0512434 A FR0512434 A FR 0512434A FR 0512434 A FR0512434 A FR 0512434A FR 2894421 A1 FR2894421 A1 FR 2894421A1
Authority
FR
France
Prior art keywords
images
image
level
decoding
temporal
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
FR0512434A
Other languages
English (en)
Other versions
FR2894421B1 (fr
Inventor
Xavier Henocq
Leannec Fabrice Le
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 FR0512434A priority Critical patent/FR2894421B1/fr
Priority to US11/564,596 priority patent/US8135065B2/en
Publication of FR2894421A1 publication Critical patent/FR2894421A1/fr
Application granted granted Critical
Publication of FR2894421B1 publication Critical patent/FR2894421B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

Pour décoder un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle : lors du décodage d'au moins un niveau de hiérarchie temporelle, on obtient au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et on définit (E905) un ordre dans le décodage des images de chaque groupe d'images en fonction de ladite information obtenue.

Description

PROCEDE ET DISPOSITIF DE DECODAGE D'UN FLUX VIDEO CODE SUIVANT UN CODAGE
HIERARCHIQUE La présente invention se rapporte à un procédé et à un dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique (en anglais "scalable video stream"). Elle appartient au domaine de la transmission vidéo sur un réseau. Le développement des réseaux de communication mobiles et fixes devrait permettre l'apparition de nombreuses applications de transmission vidéo. Ces applications sont envisagées pour une grande diversité d'unités de réception allant du PC au téléphone portable, aux agendas électroniques, au téléviseur, etc. Des réseaux filaires et sans fils aux capacités hétérogènes pourront être utilisés. Un même flux vidéo pourra être transmis vers cet ensemble hétérogène en termes de récepteur aussi bien qu'en termes de réseau. Un format vidéo appelé SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding"), actuellement en cours de normalisation, sera particulièrement adapté à ce type d'environnement. Ce format, dans lequel la taille du flux vidéo peut être réglée finement, sera constitué de plusieurs versions d'un même flux vidéo imbriquées dans un même train binaire. On pourra transmettre un sous-ensemble de ce train binaire à un récepteur de telle sorte que ce sous-ensemble soit adapté aux capacités de calcul de ce récepteur. Toutefois, malgré cette adaptation, il arrivera que, lors de régimes transitoires, un train binaire ne soit plus adapté aux capacités de calcul du récepteur. L'invention a vocation à être appliquée dans une telle situation, c'est-à-dire où le train binaire n'est plus adapté aux capacités de calcul du récepteur. Ainsi, à titre d'exemple nullement limitatif, l'invention vise des applications domestiques de transmission d'un émetteur vers un récepteur. Les unités émettrices et réceptrices seront des systèmes embarqués potentiellement mobiles. L'unité émettrice aura des capacités de stockage qui lui permettront de stocker des vidéos après leur acquisition et leur compression et des capacités de codage en temps réel. Un utilisateur pourra demander la visualisation de vidéos sur une unité réceptrice de visualisation. Pour cela, une connexion sera créée entre l'émetteur et le récepteur. Un premier échange d'informations entre l'émetteur et le récepteur permettra à l'émetteur de connaître la nature du récepteur, ses capacités et les souhaits de l'utilisateur. Ces premières informations pourront décrire le récepteur en termes de capacité de calcul globale, d'affichage et de décodage. D'autres informations seront échangées durant la transmission.
A la différence des informations transmises à I'initialisation, ces informations seront remises à jour régulièrement. Elles décriront l'évolution des capacités du récepteur aussi bien en termes de réception qu'en termes de capacité de calcul réelle. L'analyse de ces informations pourra inciter l'émetteur à adapter la vidéo.
L'adaptation de la vidéo n'est efficace qu'en cas d'état stable. Celleci ne permet pas de traiter les périodes de transition entre deux états. Lorsque par exemple les capacités de calcul diminuent, des pertes risquent de se produire tant que l'émetteur n'aura pas été averti du changement. L'invention vise à réduire l'impact visuel de telles baisses transitoires des capacités de calcul du récepteur et plus particulièrement, lorsque la vidéo est compressée au format SVC. On donne ci-dessous une description rapide de la norme SVC, qui est définie dans la partie 10, amendement 1 de la norme MPEG-4. Pour une description plus approfondie, on se reportera utilement au document de J.
REUCHEL, H. SCHWARTZ et M. WIEN intitulé "Joint Scalable Video Model JSVM-3", Poznan, juillet 2005, disponible par exemple sur Internet à l'adresse suivante : http://ftp3.itu.int/av-arch/jvt-site/2005_07_Poznan/JVT-P202r1.zip. La norme SVC est depuis quelques mois traitée comme une extension de la norme H264, dont on pourra trouver une description dans le document de G.
SULLIVAN, T. WIEGAND, D. MARPE et A. LUTHRA intitulé "Text of lSO/lEC 14496-10 Advanced Video Coding", Sème édition. La norme SVC complète la norme H264 en introduisant des outils de codage hiérarchique (en anglais "scalability") spatial, temporel et en qualité. Ces niveaux de codage hiérarchique seront imbriqués dans un même flux, le niveau de base étant en général compatible avec la norme H264. Deux technologies sont envisagées pour le codage des flux SVC, chaque technologie s'appuyant sur des blocs de pixels comme unité de base de codage : le codage en boucle ouverte et le codage en boucle fermée. La technique de codage en boucle ouverte est fondée sur un filtrage temporel compensé en mouvement (en anglais "Motion Compensated Temporal Filtering" ou MCTF).
Coder en boucle ouverte signifie que ce sont les images de la séquence d'origine qui sont utilisées comme références pour la prédiction de mouvement dans le codeur. Cette technique est illustrée sur l'organigramme de la figure 1. Elle débute à l'étape E100 par la création d'un groupe d'images successives (en anglais "Group Of Pictures", GOP). Ces groupes peuvent être de tailles variables. Cette étape est suivie de l'étape E101 au cours de laquelle on procède à une estimation de mouvement. On poursuit par un filtrage temporel compensé en mouvement (étapes E103, E105) basé sur un schéma de filtrage par augmentation (en anglais "lifting") illustré sur la figure 2.
Ce filtrage débute par une transformée polyphase représentée par les étapes E201, E203a et E203b. Ces étapes séparent les échantillons (pixels) pairs S2k et impairs S2k+,. Ces étapes sont suivies de l'étape E205 qui consiste à procéder à la prédiction des échantillons impairs par les échantillons pairs. Cette prédiction est représentée par l'équation (2.2), dans laquelle s[x,k] est l'échantillon à la position spatiale x dans l'image k du GOP et mi et m2 sont les vecteurs de mouvement obtenus lors de l'étape E101 d'estimation de mouvement de la figure 1. L'étape E205 est suivie de l'étape E207 au cours de laquelle on soustrait la prédiction de l'échantillon impair à la valeur de cet échantillon (équation (2.1), dans laquelle P désigne la prédiction). Notons que les échantillons issus de cette étape sont des échantillons de hautes fréquences. L'étape E207 est suivie de l'étape E209 au cours de laquelle on procède à la mise à jour des échantillons pairs. Pour cela, on applique l'équation (2.4) aux échantillons de hautes fréquences issus de l'étape E207. On ajoute le résultat aux échantillons pairs à l'étape E211 (équation (2.3)). Notons que les échantillons obtenus à l'étape E211 sont des échantillons de basses fréquences.
En référence à la figure 1, le codage SVC se poursuit par l'étape E107 au cours de laquelle une transformation spatiale de type en cosinus discret (en anglais "Discrete Cosine Transform", DCT) entière est appliquée aux images hautes fréquences. Cette étape est suivie de l'étape E109 qui consiste à tester le nombre d'images basses fréquences restantes.
Si ce nombre est différent de 1, on retourne à l'étape E101 pour traiter les images basses fréquences restantes. Cette étape est suivie par les étapes E103, E105 et E107 déjà décrites. S'il ne reste qu'une image basse fréquence, on applique la transformée spatiale sur toutes les images restantes (basses et hautes fréquences) et le codage se termine à l'étape El11 avant de passer au GOP suivant. Il est à noter que dans le codage en boucle ouverte, le décodeur n'aura pas les mêmes images de référence que le codeur lors de la compensation en mouvement. La technique de codage en boucle fermée est illustrée par l'organigramme de la figure 3. En vidéo, on appelle codage en boucle fermée un système de codage dans lequel les images utilisées comme références pour la prédiction de mouvement sont des images codées et décodées. Ainsi, le décodeur pourra avoir la même référence que le codeur. Le codage en boucle fermée de la norme SVC utilise une transformation du GOP en images dites B- hiérarchiques, bien connues de l'homme du métier. Comme le montre la figure 3, on commence par créer un GOP de N = 2n"l images (étape E301). Cette étape est suivie de l'étape E303 consistant à classer les images en n niveaux de hiérarchie. Lors de cette étape, la première image du GOP est affectée au niveau de hiérarchie 1. On monte ensuite en hiérarchie en multipliant la fréquence temporelle des images (c'est-à-dire le nombre d'images par intervalle de temps) par deux à chaque niveau de hiérarchie, chaque image d'un niveau de hiérarchie x étant à égale distance des deux images les plus proches du niveau x-1. L'étape E303 est suivie de l'étape E305 au cours de laquelle on initialise une variable entière k à la valeur 1. On vérifie ensuite que k n'a pas atteint le nombre de niveaux de hiérarchie n (test E307). Si ce n'est pas le cas, on procède à l'estimation de mouvement/compensation de mouvement pour chaque image du niveau k (étape E309). Lorsque k=1, la seconde image du niveau est prédite à partir de la première image de ce niveau. Lorsque k est supérieur à 1, chaque image du niveau est prédite à partir des deux images l'encadrant prises dans le niveau k-1. L'étape E309 est suivie de l'étape E311 qui consiste à procéder au calcul du résidu (différence entre l'image d'origine et sa prédiction), puis de l'étape E313 qui consiste à appliquer une transformation spatiale de type DCT sur chaque bloc de pixels de l'image de résidu. Cette étape est suivie de l'étape E315 qui consiste à incrémenter k de 1.
L'étape E307 est suivie de l'étape de fin E317 si k atteint n. L'algorithme de codage s'arrête en effet lors de cette étape et passe au codage du GOP suivant. La norme SVC a été définie pour coder un flux vidéo sous la forme de plusieurs niveaux de hiérarchie. En général, le niveau de base du flux SVC est codé en boucle fermée afin de rester compatible avec la norme H264. Les niveaux d'amélioration sont quant à eux soit codés en boucle ouverte, soit codés en boucle fermée comme la base. Les niveaux d'amélioration peuvent augmenter la fréquence temporelle, la résolution spatiale et la qualité des niveaux de base. On ne s'intéresse pas ici aux niveaux d'amélioration en qualité. Afin d'augmenter les performances en compression, la norme SVC prévoit de prédire un niveau de hiérarchie spatiale k à partir d'un niveau spatial de hiérarchie inférieure. On pourra ainsi prédire la texture et le mouvement d'un niveau k à partir d'informations d'un niveau inférieur. On parle de prédiction de texture inter-niveaux (en anglais "inter-layer texture prediction") et de prédiction de mouvement inter-niveaux (en anglais "inter-layer motion prediction").
Afin d'augmenter le gain en compression, une contribution récente à la norme a proposé un schéma permettant la prédiction inter-niveaux lorsque les niveaux ont des fréquences temporelles différentes. En effet, dans ce cas, les images d'un niveau de hiérarchie k peuvent ne pas avoir de correspondant ayant la même référence temporelle dans les niveaux inférieurs. Lorsque c'est le cas, on crée une image virtuelle à partir des images présentes dans le niveau inférieur. Les images du niveau k n'ayant pas de correspondant sont alors prédites à partir des images virtuelles. Les figures 4 et 5 représentent deux flux SVC constitués de deux niveaux de hiérarchie spatio-temporelle. Dans les deux cas, le niveau de base est codé avec des images B-hiérarchiques (notées "B" sur les figures 4 et 5). Le niveau d'amélioration double la résolution spatiale et la fréquence temporelle. Sur la figure 4, le niveau d'amélioration est codé en boucle ouverte avec un filtrage temporel compensé en mouvement (MCTF) avec étape de mise à jour.
Par ailleurs, pour mémoire, trois types d'images vidéo sont définis par la norme MPEG : les images intra (type I), n'ayant pas de référence dans une image précédente ou suivante ; les images obtenues par prédiction avant (type P), codées par rapport à une image de référence précédente ; et les images biprédites (type B), codées par rapport à une image de référence précédente et à une image de référence suivante. Sur la figure 4, les images L3, H3, H2, H1 et HO ainsi que les images Bx (x = 1, 2, 3) sont les images codées dans le train binaire du flux SVC. Les images L0, L1 et L2 sont générées lors du codage mais ne sont pas conservées dans le train binaire final. La figure 5 représente un niveau d'amélioration codé avec des images B-hiérarchiques. Les images El A E17 et I, P, BI, B2 et B3 sont toutes conservées dans le train binaire final. Les images virtuelles sont illustrées en pointillés et ne sont pas codées. Sur les deux figures, les flèches représentent le sens de prédiction. Par exemple, sur la figure 4, l'image 1 est prédite à partir des images 2, 3 et 4.
L'image 6 est mise à jour grâce aux images 1, 2 et 5. L'image B1 est prédite à partir des images 1 et P, etc.
Il existe peu d'études portant sur les mécanismes de rejet d'images en cas de surcharge d'une unité de calcul lors d'un décodage. La raison en est que dans le cas des normes vidéo antérieures, le décodeur n'avait guère le choix de l'ordre du décodage. En effet, l'ordre du décodage était généralement défini en fonction des dépendances inter-images et ne pouvait pas varier. On pouvait rejeter les images en fonction de leur type (I, P ou B) mais rarement en fonction de leur contenu. On ne disposait en effet pas d'informations suffisantes pour décrire ce contenu sans effectuer un décodage préalable des images. Dans la réalisation actuelle du décodeur, lors du décodage d'un niveau de codage hiérarchique (en anglais "scalability level'), excepté en ce qui concerne les niveaux de codage hiérarchique en qualité, le décodeur décode dans l'ordre croissant des niveaux de codage hiérarchique temporel, puis, dans chaque niveau temporel, il décode les images dans leur ordre d'affichage. La figure 6 représente le décodage d'un niveau de codage hiérarchique spatio-temporel codé avec une MCTF, c'est-à-dire avec un codage en boucle ouverte. La figure 7 représente le décodage d'un niveau de codage hiérarchique spatio-temporel codé avec des images B-hiérarchiques. Sur les figures 6 et 7, l'ordre du décodage est indiqué par les flèches sensiblement horizontales constituées de tirets. En cas de surcharge de l'unité de calcul du récepteur, celui-ci réussit tout de même à assurer un décodage en temps réel, mais en ne décodant pas toutes les images d'un GOP. Le document US-A-5 724 446 propose une réalisation particulière d'un décodeur vidéo. Pendant le décodage, le décodeur crée une mémoire d'images. Avant le décodage d'une image, ce décodeur initialise la mémoire d'images avec les valeurs de pixels de l'image précédente. Un descripteur est calculé pour chaque macrobloc (désigné dans toute la suite par le sigle MB) de chaque image. Avant de décoder un MB, le décodeur compare la valeur du descripteur du MB à décoder avec celle du MB co-localisé dans l'image précédente. Si les descripteurs sont similaires, alors le décodeur ne décodera pas le MB courant et conservera la valeur d'initialisation. Sinon, il décodera le MB. Cela permet de réduire au maximum le coût d'un décodage complet d'une séquence. Cependant, lorsque la réduction maximale est atteinte, ce procédé ne permet pas de fixer un ordre de décodage des images prenant en compte le contenu de celles-ci. Il n'empêche donc pas le rejet systématique de certains groupes d'images. L'inconvénient de l'ordre de décodage actuel d'un flux vidéo SVC est qu'en cas de surcharge de l'unité de calcul du récepteur, ce sont systématiquement les dernières images d'un GOP qui sont rejetées. Or, le rejet systématique de ces images est injustifié car il ne prend pas en compte leur contenu informatif. En d'autres termes, on pourrait obtenir une qualité d'affichage supérieure en rejetant d'autres images dans le GOP.
L'invention vise à remédier à cet inconvénient, en fixant un ordre de décodage des images prenant en compte le contenu de celles-ci. Dans ce but, la présente invention propose un procédé de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ce procédé étant remarquable en ce que : - lors du décodage d'au moins un niveau de hiérarchie temporelle, on obtient au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - on définit un ordre dans le décodage des images de chaque groupe d'images en fonction de l'information obtenue. Ainsi, la présente invention permet d'éviter de rejeter systématiquement un groupe d'images spécifiques en cas de surcharge de l'unité de calcul du récepteur, car l'ordre de décodage tient compte du contenu des images. L'invention permet donc d'améliorer la qualité de l'affichage des images d'un flux vidéo.
En outre, le procédé proposé n'implique aucun surcoût en termes de complexité de calcul lors du décodage et aucun surcoût en termes de place mémoire, par rapport à un décodage classique. Dans un mode de réalisation particulier, l'information précitée est représentative du mouvement dans les images du flux vidéo sur l'intervalle de temps précité du niveau de hiérarchie temporelle précité. On pourra décider par exemple de fixer un ordre de décodage privilégiant les parties les plus actives d'un groupe d'images (GOP, an anglais "Group Of Pictures"), c'est-à-dire où il y a le plus de mouvement. Les images éventuellement rejetées seront ainsi les moins intéressantes au sens du mouvement. Ainsi, dans un mode particulier de réalisation, on décode les images dans l'ordre décroissant de la valeur de l'information représentative du mouvement.
Dans un mode particulier de réalisation, l'information précitée est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné. Cette quantité est économique en termes d'emplacement mémoire utilisé lors de son stockage.
Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc ne possède pas de vecteur de mouvement, on affecte à ce macrobloc un vecteur de mouvement d'amplitude maximale. Ainsi, tous les macroblocs participent au calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo. Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur, on affecte à ce macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur.
De même que précédemment, cela permet de prendre en compte tous les macroblocs clans le calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo.
Dans un mode particulier de réalisation, dans lequel une image est constituée d'une pluralité de macroblocs, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partir d'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante.
De même que précédemment, cela permet de prendre en compte tous les macroblocs clans le calcul de l'information représentative du mouvement, ce qui permet de comparer facilement l'activité, en termes de mouvement, de toutes les images du flux vidéo. Selon une caractéristique particulière, on mémorise dans un tableau de taille 2n 1, où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n. Dans un mode particulier de réalisation, le flux vidéo est codé suivant le format SVC.
Dans le même but que celui indiqué plus haut, la présente invention propose également un dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ce dispositif étant remarquable en ce qu'il comporte : - des moyens pour obtenir, lors du décodage d'au moins un niveau 5 de hiérarchie temporelle, au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - des moyens pour définir un ordre dans le décodage des images de chaque groupe d'images en fonction de l'information obtenue. 10 La présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé tel que ci-dessus. La présente invention vise aussi un moyen de stockage 15 d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé tel que ci-dessus. La présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, comportant des 20 séquences d'instructions pour mettre en oeuvre un procédé tel que ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif, des moyens de stockage et du produit programme d'ordinateur étant similaires à ceux du procédé, ils ne sont pas répétés ici. 25 D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit d'un mode particulier de réalisation, donné à titre d'exemple non limitatif. La description se réfère aux dessins qui l'accompagnent, dans lesquels : - la figure 1, déjà décrite, est un organigramme illustrant les 30 principales étapes d'un processus de codage en boucle ouverte connu en soi ; - la figure 2, déjà décrite, représente de façon schématique l'étape de filtrage temporel compensé en mouvement comprise dans le processus de codage de la figure 1 ; - la figure 3, déjà décrite, est un organigramme illustrant les principales étapes d'un processus de codage en boucle fermée connu en soi ; - la figure 4, déjà décrite, représente de façon schématique un exemple de codage en boucle ouverte d'un flux vidéo conforme à la norme SVC, connu en soi ; - la figure 5, déjà décrite, représente de façon schématique un 10 exemple de codage en boucle fermée d'un flux vidéo conforme à la norme SVC, connu en soi ; - la figure 6, déjà décrite, représente de façon schématique l'ordre de décodage d'un flux vidéo SVC conformément à l'art antérieur dans le cas d'un codage en boucle ouverte tel que celui de la figure 4 ; 15 - la figure 7, déjà décrite, représente de façon schématique l'ordre de décodage d'un flux vidéo SVC conformément à l'art antérieur dans le cas d'un codage en boucle fermée tel que celui de la figure 5 ; - la figure 8 est un organigramme illustrant les principales étapes d'un procédé de décodage d'un flux vidéo conforme à la présente invention, 20 dans un mode particulier de réalisation ; - la figure 9 est un organigramme illustrant plus en détail l'étape E831 de décodage des images d'un intervalle de temps, illustrée sur la figure 8; - la figure 10 représente de façon schématique un exemple non 25 limitatif d'ordre de décodage d'un flux vidéo SVC conformément à la présente invention, dans le cas d'un codage en boucle ouverte tel que celui de la figure 4; - la figure 11 représente de façon schématique un exemple non limitatif d'ordre de décodage d'un flux vidéo SVC conformément à la présente 30 invention, dans le cas d'un codage en boucle fermée tel que celui de la figure 5;et - la figure 12 représente de façon schématique une unité multimédia susceptible de mettre en oeuvre la présente invention, dans un mode particulier de réalisation. En référence à la figure 8, dans un mode particulier de réalisation, le procédé de décodage conforme à l'invention débute à l'étape E801 par la réception d'un GOP. On identifie ensuite lors de l'étape E803 le nombre de niveaux de codage hiérarchique spatial S. S est une valeur entière supérieure ou égale à 1. Cette étape est suivie de l'étape E805, qui consiste à initialiser une variable entière s à la valeur O. Cette variable permet de parcourir l'ensemble des niveaux de codage hiérarchique spatial. On passe ensuite à l'étape E807, au cours de laquelle on teste si tous les niveaux de codage hiérarchique spatial ont été décodés. Si c'est le cas, on retourne à l'étape E801 pour recevoir un nouveau GOP. Sinon, on passe à l'étape E809, qui consiste à identifier le nombre N de hiérarchies temporelles présentes dans le niveau de codage hiérarchique spatial s. L'étape E809 est suivie de l'étape E811, lors de laquelle on teste la valeur de N. Si celle-ci est inférieure à 3, on entreprend un décodage classique du type de celui illustré sur la figure 6 ou sur la figure 7. Sinon, on passe à l'étape E813, au cours de laquelle on initialise une variable entière n à la valeur 1. Cette étape est suivie de l'étape E821 qui consiste à tester si n est inférieur ou égal à 2. Si c'est le cas, cette étape est suivie de l'étape E815 qui consiste à créer un tableau TAB" de taille 2""1 en mémoire. Chaque élément TAB'' du tableau TAB" recevra une valeur représentative du mouvement dans l'intervalle de temps k du niveau de 25 hiérarchie temporelle n. Cette étape est suivie de l'étape E817, au cours de laquelle on procède au décodage du niveau de hiérarchie temporelle n. Au cours de ce décodage, on collecte les vecteurs de mouvement de chaque MB de chaque image décodée. Lors de l'étape suivante E819, on stocke pour chaque 30 intervalle inter-images k du niveau n des informations représentatives du mouvement entre les deux images formant l'intervalle, l'une de ces images étant une image de référence et l'autre, une image prédite. Dans le mode préféré de réalisation de l'invention, cesinformations pourront être la somme de la norme de tous les vecteurs de mouvement de l'image prédite. On notera en outre les caractéristiques particulières suivantes du procédé de décodage conforme à l'invention.
D'une part, une image prédite peut contenir des MB prédits à partir des images du même niveau de codage hiérarchique spatial (tels que les MB de type B), des MB prédits à partir de l'image ayant la même référence temporelle dans le niveau de codage hiérarchique spatial précédent et des MB intra, c'est-à-dire des MB non prédits. Un MB intra n'a pas de vecteurs de mouvement, ce qui n'indique pas que le mouvement a été nul, mais qu'aucun MB similaire n'a été trouvé dans l'image de référence. On donnera donc à un MB intra un vecteur de mouvement d'amplitude maximale dans la fenêtre de recherche utilisée par l'algorithme de mise en correspondance de blocs (en anglais "block matching"). Les MB prédits à partir du niveau inférieur utilisent les informations de mouvement d'un MB de l'image de même référence temporelle du niveau inférieur. On affectera la valeur du vecteur de mouvement des MB du niveau inférieur aux MB les utilisant comme références dans le niveau supérieur. D'autre part, la norme SVC utilise des images dites bi-prédites, c'est- à-dire qu'un MB peut également être prédit à partir d'une image précédente et d'une image suivante. Un MB peut donc avoir deux vecteurs de mouvement. Les vecteurs servant à la prédiction de l'image précédente vers l'image courante (ce type de prédiction est appelé "prédiction avant", en anglais "forward prediction") seront comptabilisés dans la norme représentant le mouvement dans cet intervalle de temps. Les vecteurs servant à la prédiction de l'image suivante vers l'image courante ("prédiction arrière", en anglais "backward prediction") seront comptabilisés dans la norme représentant le mouvement dans ce deuxième intervalle. Si un MB ne possède qu'un vecteur de mouvement (dans le cas d'une prédiction avant ou arrière) ou n'en possède pas (cas d'un MB intra), cela indique qu'on n'a pas trouvé de MB similaires dans au moins une des images de référence. On affectera alors au(x) vecteur(s) manquant(s) l'amplitude maximale de mouvement.
L'étape E819 est suivie de l'étape E823 qui consiste à incrémenter n de 1. On retourne ensuite à l'étape E821 déjà décrite. Si lors de cette étape, n est supérieur à 2, on poursuit avec l'étape E827, qui consiste à créer des tableaux de taille 2n-' pour n allant de 3 jusqu'à N-1 par incrément de 1. Ces tableaux sont créés de façon similaire aux tableaux créés à l'étape E815 décrite plus haut. L'étape E827 est suivie de l'étape E829, au cours de laquelle on procède à l'identification de l'intervalle à décoder. Pour cela, on parcourt tous les éléments TAB'n présents en mémoire en recherchant celui ayant la valeur maximale. Les indices n et k indiquent le niveau et l'intervalle suivant à décoder. Dès qu'un intervalle a été traité, la valeur de TAB'n qui le représentait est supprimée de la mémoire. Ainsi, conformément à la présente invention, on décode les groupes d'images dans l'ordre décroissant de la valeur représentant le mouvement au sein des images.
L'étape E829 est suivie de l'étape E831 qui consiste à procéder au décodage des images de l'intervalle qui ne sont pas encore décodées. Il est à noter que le décodage d'un intervalle peut engendrer le décodage d'une image n'appartenant pas à cet intervalle, mais dont au moins une image de l'intervalle dépend. Les références des images utilisées pour la prédiction d'une image courante sont inscrites dans les en-têtes de "tranches" (en anglais "slices") comme décrit dans la section G.7.3.3.1 du document de travail de J. REICHEL, H. SCHWARTZ et M. WIEN intitulé "Draft of Scalable Video coding - Working draft 4", Nice, octobre 2005 et disponible sur Internet à l'adresse suivante : http://ftp3.itu.int/av-arch/jvt-site/2005_10_Nice/JVT-Q202d1.zip. On rappelle qu'une tranche est un groupe de MB d'une image regroupés derrière un en-tête et décodables indépendamment des autres MB de l'image. Une image peut contenir plusieurs tranches. Une solution possible consiste donc à décoder les en-têtes des tranches de chaque image de l'intervalle. L'organigramme de la figure 9 détaille l'étape E831 de décodage d'un intervalle. Celle-ci débute par une étape E901 consistant à décoder les en-têtes de chaque tranche de chaque image comprise dans l'intervalle.
L'étape suivante E903 consiste à procéder au stockage des références des images concernées par le décodage de l'intervalle, que ces images soient comprises dans cet intervalle ou qu'elles soient externes à l'intervalle.
Lors de l'étape suivante E904, on élimine de la liste des images concernées par l'intervalle, les images déjà décodées. Conformément à l'invention, l'étape suivante E905 consiste à définir un ordre de décodage en prenant en compte les dépendances inter-images. Ainsi, on considère les intervalles de temps dans un ordre déduit des informations de mouvement puis on décode dans un premier temps les images nécessaires au décodage des images de l'intervalle considéré, avant de décoder les images de l'intervalle dans leur ordre d'affichage. Cette étape est suivie du décodage effectif de toutes les images concernées par l'intervalle (étape E907) puis du stockage des informations de mouvement dans les éléments TABn du tableau TABn (étape E908) et du stockage des références des images déjà décodées (étape E909). Dès qu'un intervalle a été décodé, on recherche l'intervalle à décoder suivant (étape E829 de la figure 8). S'il n'y a plus aucun intervalle à traiter, l'étape E829 est suivie de l'étape E833 qui consiste à incrémenter la variable s de 1. On retourne ensuite à l'étape E807 déjà décrite. Les figures 10 et 11 présentent des exemples de mise en oeuvre de l'invention. Pour chacune des figures, le niveau de base est codé avec des images B-hiérarchiques. Le niveau d'amélioration double la fréquence temporelle et augmente la résolution spatiale. Toutefois, cet exemple n'est nullement limitatif. On pourrait tout aussi bien envisager un niveau d'amélioration ayant une fréquence temporelle F fois supérieure à celle du niveau de base, F étant un entier supérieur à 2. Dans l'exemple de la figure 10, le niveau d'amélioration est codé avec une MCTF. Les images Hx sont des images hautes fréquences et les images Lx sont des images basses fréquences. Les images illustrées en lignes continues sont écrites dans le train binaire. Les autres images sont des images temporaires engendrées lors du décodage. Les flèches continues représentent les dépendances inter-images, soit créées par la MCTF, soit créées par la prédiction inter-niveaux de codage hiérarchique. Les flèches en tirets représentent un parcours de décodage, c'est-à-dire l'ordre de décodage obtenu en appliquant le procédé conforme à l'invention. Ainsi, comme le montre la figure 10, on décode dans un premier temps les images 1 à 6. Une analyse du mouvement est alors réalisée. Cette analyse indique qu'il est préférable de poursuivre le décodage par les images 9, 10 et 11. Il est alors nécessaire de décoder les images 7 et 8. Une seconde analyse du mouvement est alors réalisée, elle indique qu'il est préférable de décoder les images 14, 15 et 16. II est alors nécessaire de décoder les images 12 et 13. L'analyse d'image suivante incite à reprendre le décodage sur les images 17 et 18, et ainsi de suite. La figure 11 représente un exemple de mise en oeuvre de l'invention pour un niveau d'amélioration codé en images B-hiérarchiques. Les images Ex sont des images d'amélioration codées en B-hiérarchiques. Comme le montrent les flèches en tirets, qui indiquent également le parcours de décodage, le décodage débute par les images 1, 2 et 3. Des analyses d'images successives indiquent que le décodage doit se poursuivre par les images 4, puis 5 et 6, et 7, 8 et 9. On reprend ensuite le décodage sur la partie gauche du GOP avec l'image 10, et ainsi de suite. Un dispositif susceptible de mettre en oeuvre la présente invention est illustré sur la figure 12 sous la forme d'une unité multimédia 200. L'unité multimédia peut être par exemple un micro-ordinateur ou une station de travail. Ce dispositif est connecté à différents périphériques tels que, par exemple, tout moyen de stockage d'image relié à une carte graphique et fournissant au dispositif 200 des données multimédia. Le dispositif 200 comporte un bus de communication 202 auquel sont reliés : une unité de calcul 203, - une mémoire morte 204, pouvant contenir un ou plusieurs programmes "Prog" exécutant le procédé de décodage conforme à l'invention, - une mémoire vive 206, comportant des registres adaptés à enregistrer des variables et des paramètres créés et modifiés au cours de l'exécution des programmes précités, et notamment les tableaux TAB, décrits plus haut, - une unité d'affichage tel qu'un écran 208, permettant de visualiser des données et/ou de servir d'interface graphique avec un administrateur réseau qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 210 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 211 ou un crayon optique, - une interface de communication 218 reliée à un réseau de communication 220, par exemple le réseau Internet, l'interface étant notamment apte à recevoir des données, en l'occurrence, un flux vidéo et en particulier, un flux vidéo au format SVC. Le dispositif 200 peut également comporter, en option : - un disque dur 212 pouvant contenir les programmes "Prog" précités, - un lecteur de disquettes 214 adapté à recevoir une disquette 216 et à y lire ou à y écrire des données traitées ou à traiter conformément à la présente invention.
Le bus de communication 202 permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 200 ou reliés à lui. La représentation du bus n'est pas limitative et notamment, l'unité de calcul 203 est susceptible de communiquer des instructions à tout élément du dispositif 200 directement ou par l'intermédiaire d'un autre élément du dispositif 200. Le code exécutable de chaque programme permettant au dispositif 200 de mettre en oeuvre le procédé de décodage selon l'invention peut être stocké, par exemple, dans le disque dur 212 ou en mémoire morte 204. En variante, la disquette 216 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 200, sera stocké dans le disque dur 212.
Dans une autre variante, le code exécutable des programmes peut être reçu par l'intermédiaire du réseau de communication 220, via l'interface 218, pour être stocké de façon identique à celle décrite précédemment. Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De façon générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif 200, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé conforme à la présente invention. De façon plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 200 avant d'être exécutés. L'unité de calcul 203 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes conformes à l'invention, instructions qui sont stockées dans le disque dur 212 ou dans la mémoire morte 204 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple, le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive (RAM) 206, qui contient alors le code exécutable du ou des programmes conformes à l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention.

Claims (21)

REVENDICATIONS
1. Procédé de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux images dans ce niveau de hiérarchie temporelle, ledit procédé étant caractérisé en ce que: - lors du décodage d'au moins un niveau de hiérarchie temporelle, on obtient (E817) au moins une information représentative d'un paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - on définit (E905) un ordre dans le décodage des images de chaque groupe d'images en fonction de ladite information obtenue.
2. Procédé selon la revendication 1, caractérisé en ce que ladite information est représentative du mouvement dans les images du flux vidéo sur ledit intervalle de temps dudit niveau de hiérarchie temporelle.
3. Procédé selon la revendication précédente, caractérisé en ce qu'on décode les images dans l'ordre décroissant de la valeur de ladite information représentative du mouvement.
4. Procédé selon la revendication 2 ou 3, caractérisé en ce que ladite 25 information est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné.
5. Procédé selon la revendication précédente, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc ne possède pas de vecteur de mouvement, on affecte à ce 30 macrobloc un vecteur de mouvement d'amplitude maximale.
6. Procédé selon la revendication 4, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si unmacrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur, on affecte à ce macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur.
7. Procédé selon la revendication 4, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partir d'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante.
8. Procédé selon l'une quelconque des revendications 4 à 7, caractérisé en ce qu'on mémorise dans un tableau (TABn) de taille 2''"', où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n.
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le flux vidéo est codé suivant le format SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding").
10. Dispositif de décodage d'un flux vidéo codé suivant un codage hiérarchique, dans lequel les images peuvent être décodées par groupes de plusieurs images, chaque groupe étant constitué d'au moins trois niveaux de hiérarchies temporelles d'images, les images du niveau le plus bas ayant la fréquence temporelle la plus basse et les images de chaque niveau suivant ayant une fréquence temporelle au moins double par rapport aux images du niveau précédent, un niveau de hiérarchie temporelle étant formé d'au moins un intervalle de temps prédéterminé, un intervalle de temps séparant deux imagesdans ce niveau de hiérarchie temporelle, ledit dispositif étant caractérisé en ce qu'il comporte : - des moyens pour obtenir, lors du décodage d'au moins un niveau de hiérarchie temporelle, au moins une information représentative d'un 5 paramètre relatif au contenu du flux vidéo sur au moins un intervalle de temps, et - des moyens pour définir un ordre dans le décodage des images de chaque groupe d'images en fonction de ladite information obtenue.
11. Dispositif selon la revendication précédente, caractérisé en ce 10 que ladite information est représentative du mouvement dans les images du flux vidéo sur ledit intervalle de temps dudit niveau de hiérarchie temporelle.
12. Dispositif selon la revendication 10 ou 11, caractérisé en ce qu'il comporte des moyens adaptés à décoder les images dans l'ordre décroissant de la valeur de ladite information représentative du mouvement. 15
13. Dispositif selon la revendication 11 ou 12, caractérisé en ce que ladite information est la somme de la norme de tous les vecteurs de mouvement d'une image relatifs à un intervalle de temps donné.
14. Dispositif selon la revendication précédente, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce qu'il 20 comporte des moyens pour affecter à un macrobloc un vecteur de mouvement d'amplitude maximale, si ce macrobloc ne possède pas de vecteur de mouvement.
15. Dispositif selon la revendication 13, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce qu'il comporte des 25 moyens pour affecter à un macrobloc le vecteur de mouvement associé au macrobloc de référence dans l'image de même référence temporelle du niveau de codage hiérarchique spatial inférieur, si ce macrobloc est prédit à partir de l'image ayant la même référence temporelle dans un niveau de codage hiérarchique spatial inférieur. 30
16. Dispositif selon la revendication 13, dans lequel une image est constituée d'une pluralité de macroblocs, caractérisé en ce que, si un macrobloc possède deux vecteurs de mouvement parce qu'il est prédit à partird'une image précédente et d'une image suivante, les vecteurs de mouvement servant à la prédiction de l'image précédente vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image précédente et l'image courante, et les vecteurs de mouvement servant à la prédiction de l'image suivante vers l'image courante entrent dans le calcul de la norme représentant le mouvement dans l'intervalle de temps entre l'image courante et l'image suivante.
17. Dispositif selon l'une quelconque des revendications 13 à 16, caractérisé en ce qu'il comporte des moyens (206) pour mémoriser dans un tableau (TAB") de taille 2"-I, où n est un entier strictement positif, toutes les sommes des normes des vecteurs de mouvement relatifs à un intervalle de temps donné dans le niveau de hiérarchie temporelle n.
18. Dispositif selon l'une quelconque des revendications 10 à 17, caractérisé en ce que le flux vidéo est codé suivant le format SVC (codage vidéo hiérarchique, en anglais "Scalable Video Coding").
19. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9.
20. Moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9.
21. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 9, lorsque ce programme est chargé et exécuté par l'appareil programmable.
FR0512434A 2005-12-07 2005-12-07 Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique Expired - Fee Related FR2894421B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0512434A FR2894421B1 (fr) 2005-12-07 2005-12-07 Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
US11/564,596 US8135065B2 (en) 2005-12-07 2006-11-29 Method and device for decoding a scalable video stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0512434A FR2894421B1 (fr) 2005-12-07 2005-12-07 Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique

Publications (2)

Publication Number Publication Date
FR2894421A1 true FR2894421A1 (fr) 2007-06-08
FR2894421B1 FR2894421B1 (fr) 2008-01-18

Family

ID=36848380

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0512434A Expired - Fee Related FR2894421B1 (fr) 2005-12-07 2005-12-07 Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique

Country Status (2)

Country Link
US (1) US8135065B2 (fr)
FR (1) FR2894421B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2953675A1 (fr) * 2009-12-08 2011-06-10 Canon Kk Procede de controle par un dispositif client du transfert d'une sequence video

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2348640B1 (fr) 2002-10-05 2020-07-15 QUALCOMM Incorporated Codage systematique de codes de reaction en chaine
EP1743431A4 (fr) 2004-05-07 2007-05-02 Digital Fountain Inc Systeme de telechargement et d'enregistrement et lecture en continu de fichiers
FR2889017A1 (fr) * 2005-07-19 2007-01-26 France Telecom Procedes de filtrage, de transmission et de reception de flux video scalables, signal, programmes, serveur, noeud intermediaire et terminal correspondants
FR2889004B1 (fr) * 2005-07-22 2007-08-24 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
FR2897741B1 (fr) * 2006-02-17 2008-11-07 Canon Kk Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US8340179B2 (en) * 2006-03-21 2012-12-25 Canon Kabushiki Kaisha Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method
WO2007134196A2 (fr) 2006-05-10 2007-11-22 Digital Fountain, Inc. Générateur de code et décodeur pour des systèmes de communication fonctionnant en utilisant des codes hybrides pour permettre plusieurs utilisations efficaces des systèmes de communication
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
FR2907575B1 (fr) * 2006-10-18 2009-02-13 Canon Res Ct France Soc Par Ac Procede et dispositif de codage d'images representant des vues d'une meme scene
FR2909474B1 (fr) * 2006-12-04 2009-05-15 Canon Kk Procede et dispositif de codage d'images numeriques et procede et dispositif de decodage d'images numeriques codees
FR2910211A1 (fr) * 2006-12-19 2008-06-20 Canon Kk Procedes et dispositifs pour re-synchroniser un flux video endommage.
JP4375442B2 (ja) * 2007-06-04 2009-12-02 ソニー株式会社 画像管理装置、画像管理方法および画像管理プログラム
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
EP2223530A2 (fr) 2007-11-30 2010-09-01 Dolby Laboratories Licensing Corp. Prédiction d'image temporelle
FR2931025B1 (fr) * 2008-05-07 2010-05-21 Canon Kk Procede de determination d'attributs de priorite associes a des conteneurs de donnees, par exemple dans un flux video, procede de codage, programme d'ordinateur et dispositifs associes
FR2932637B1 (fr) * 2008-06-17 2010-08-20 Canon Kk Procede et dispositif de codage d'une sequence d'images
FR2939593B1 (fr) * 2008-12-09 2010-12-31 Canon Kk Procede et dispositif de codage video
EP2257073A1 (fr) * 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Procédé et dispositif pour transmettre des données vidéo
EP2265026A1 (fr) * 2009-06-16 2010-12-22 Canon Kabushiki Kaisha Procédé et dispositif pour débloquer le filtrage de flux vidéo de type SVC pendant le décodage
EP2285122B1 (fr) * 2009-07-17 2013-11-13 Canon Kabushiki Kaisha Procédé et dispositif pour reconstruire une séquence de données vidéo après la transmission dans un réseau
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN102860008B (zh) * 2010-01-06 2016-05-11 杜比实验室特许公司 用于多层视频系统的复杂度自适应可伸缩解码及流处理
FR2955995B1 (fr) * 2010-02-04 2012-02-17 Canon Kk Procede et dispositif de traitement d'une sequence video
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US8930562B2 (en) 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
KR20140016823A (ko) * 2012-07-24 2014-02-10 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
CN108401157B (zh) * 2012-10-01 2022-06-24 Ge视频压缩有限责任公司 可伸缩视频解码器、编码器及可伸缩视频解码、编码方法
TWI625955B (zh) * 2016-10-12 2018-06-01 國立清華大學 合作式多媒體通訊方法及其系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724446A (en) * 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
US20020172284A1 (en) * 2001-03-29 2002-11-21 Koninklijke Philips Electronics N. V. Scalable MPEG-2 video decoder with selective motion compensation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001881A2 (fr) * 2000-06-30 2002-01-03 Koninklijke Philips Electronics N.V. Procede de codage destine a la compression d'une sequence video
AU2002366825A1 (en) * 2001-12-20 2003-07-09 Koninklijke Philips Electronics N.V. Video encoding and decoding method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724446A (en) * 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
US20020172284A1 (en) * 2001-03-29 2002-11-21 Koninklijke Philips Electronics N. V. Scalable MPEG-2 video decoder with selective motion compensation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JENQ-NENG HWANG ET AL: "Motion vector re-estimation and dynamic frame-skipping for video transcoding", SIGNALS, SYSTEMS & COMPUTERS, 1998. CONFERENCE RECORD OF THE THIRTY-SECOND ASILOMAR CONFERENCE ON PACIFIC GROVE, CA, USA 1-4 NOV. 1998, PISCATAWAY, NJ, USA,IEEE, US, vol. 2, 1 November 1998 (1998-11-01), pages 1606 - 1610, XP010324470, ISBN: 0-7803-5148-7 *
REICHEL J ET AL: "Joint Scalable Video Model JSVM-3", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q6), XX, XX, 29 July 2005 (2005-07-29), pages 1 - 34, XP002384686 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2953675A1 (fr) * 2009-12-08 2011-06-10 Canon Kk Procede de controle par un dispositif client du transfert d'une sequence video

Also Published As

Publication number Publication date
US8135065B2 (en) 2012-03-13
US20070127576A1 (en) 2007-06-07
FR2894421B1 (fr) 2008-01-18

Similar Documents

Publication Publication Date Title
FR2894421A1 (fr) Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
FR2840495A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2837330A1 (fr) Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
FR2904494A1 (fr) Procede et dispositif de compression d'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'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
EP2777270A1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
FR2931610A1 (fr) Procede et un dispositif de transmission de donnees d'images
EP3707900B1 (fr) Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés
FR2895172A1 (fr) Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
WO2010146314A1 (fr) Codage de vecteurs mouvement par competition de predicteurs
EP2761871B1 (fr) Estimation de mouvement au niveau du décodeur par mise en correspondance de modèles
EP2633686B1 (fr) Codage video echelonnable a partir d'un epitome hierarchique
WO2018002474A1 (fr) Procédé de codage intra d'une image numérique et procédé de décodage correspondant
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
EP3409016A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d'ordinateur correspondants
EP3491825B1 (fr) Procédé de décodage d'une image, procédé de codage, dispositifs, équipement terminal et programmes d'ordinateurs associés
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'un signal d'images, terminal de decodage, procede de codage, dispositif de codage, signal et programmes d'ordinateur correspondants
FR3042368A1 (fr) Procede de codage et de decodage multi-vues, dispositif de codage et de decodage multi-vues et programmes d'ordinateur correspondants
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
EP3542533A1 (fr) Procédé et dispositif de codage et de décodage d'une séquence multi-vues
WO2020002795A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
FR2851109A1 (fr) Procede et dispositif de determination de parametres d'un modele d'estimation de la distorsion d'une sequence d'images
FR2832582A1 (fr) Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140829