FR2889004A1 - Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite - Google Patents
Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite Download PDFInfo
- Publication number
- FR2889004A1 FR2889004A1 FR0507853A FR0507853A FR2889004A1 FR 2889004 A1 FR2889004 A1 FR 2889004A1 FR 0507853 A FR0507853 A FR 0507853A FR 0507853 A FR0507853 A FR 0507853A FR 2889004 A1 FR2889004 A1 FR 2889004A1
- Authority
- FR
- France
- Prior art keywords
- layer
- image
- prediction
- current
- cri
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 title claims description 7
- 230000033001 locomotion Effects 0.000 claims abstract description 100
- 230000002123 temporal effect Effects 0.000 claims abstract description 64
- 239000013598 vector Substances 0.000 claims abstract description 45
- 238000010276 construction Methods 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003287 optical effect Effects 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 116
- 238000005192 partition Methods 0.000 description 38
- 238000004422 calculation algorithm Methods 0.000 description 21
- 238000001914 filtration Methods 0.000 description 14
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 239000011229 interlayer Substances 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 239000004179 indigotine Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004177 patent blue V Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000004176 azorubin Substances 0.000 description 1
- 239000001654 beetroot red Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004126 brilliant black BN Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000001679 citrus red 2 Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000004121 copper complexes of chlorophylls and chlorophyllins Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004120 green S Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
- H04N19/615—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Le procédé de prédiction temporelle à estimation de mouvement est mis en oeuvre dans une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant au moins des première (idxLayer) et deuxième (idxCurrLayer) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie. On prévoit de construire au moins un ensemble de pixels de référence pour la prédiction temporelle (Erefldx) à partir d'informations provenant d'une image de prédiction de la deuxième couche (idxCurrLayer) et d'informations complémentaires provenant d'une image de la première couche (idxLayer) correspondant temporellement à ladite image de prédiction ; et pour chaque bloc du groupe courant (sgldx) de l'image de la deuxième couche courante (idxCurrLayer), on recherche au moins un bloc de l'ensemble de pixels de référence ainsi construit approprié pour la prédiction temporelle; et on détermine au moins un vecteur de mouvement correspondant.
Description
La présente invention concerne le traitement d'une séquence d'images
numériques à scalabilité spatiale ou en qualité.
Elle trouve une application dans le système de compression vidéo scalable SVC (Scalable Video Coding), extension du standard de compression vidéo H264/AVC, décrit notamment dans le document G. Sullivan, T. Wiegand, 10 and A. Luthra. Text of ISOIIEC 14496 10 Advanced Video Coding 3rd Edition.
ISOIIEC JTC 11SC 29/WG 11, Redmond, WA, USA, July 2004.
Elle trouve aussi une application dans les standards vidéo de compression vidéo scalable dans la dimension spatiale et de qualité et offrant la fonctionnalité d'accès aléatoire spatial, c'est-à-dire la possibilité d'extraire et de 15 décoder une portion du train binaire compressé représentant une zone spatiale particulière, tels que H263+ et H263++.
La norme SVC fournit une représentation compressée scalable ou hiérarchique d'une séquence vidéo numérique. Elle prévoit de supporter une scalabilité selon les trois axes suivants: scalabilité temporelle, spatiale et en qualité. L'ensemble des fonctionnalités de la norme SVC prévoit également d'inclure l'accès aléatoire spatial.
Le système de compression SVC, dont la version courante est décrite notamment dans le document J. Reichel, H. Schwarz, and M. Wien.
Scalable Video Coding - Working Draft 1. Joint Video Team (JVT) of ISOIIEC MPEG & ITU-T VCEG, Hong Kong, China, January 2005, et constitue une extension compatible de H264/AVC, assure la fonctionnalité d'accès aléatoire spatial via l'utilisation de groupes de macroblocs de pixels, appelés encore slice groups en langue anglais. La norme H264/AVC définit plusieurs types de groupes de macroblocs de pixels et permet de signaler l'appartenance de chaque macrobloc 16x16 à un groupe de macroblocs de pixels d'un type donné. En particulier, les groupes de macroblocs de pixels de type 2 sont définis dans le but d'effectuer un codage vidéo par régions d'intérêt. Les groupes de macroblocs de pixels de type 2 désignent des groupes de macroblocs de pixels d'avant-plan, c'est-à-dire des ensembles rectangulaires de macroblocs, et un groupe de macroblocs de pixels d'arrière plan. Par conséquent, une division des images de la séquence vidéo selon une grille de groupes de macroblocs de pixels rectangulaires permet de réaliser la fonction d'accès aléatoire spatial dans une séquence vidéo compressée.
Cependant, l'accès aléatoire spatial n'est rendu possible qu'en contraignant les processus d'estimation et de compensation en mouvement. En effet, l'objectif est de pouvoir extraire un sous-ensemble du flux vidéo compressé qui corresponde à la zone spatiale que l'on souhaite décoder et afficher. Cette contrainte sur la prédiction temporelle à travers des frontières de groupes de macroblocs de pixels est signalée dans un message d'amélioration supplémentaire de type SEI (Supplemental Enhancement Information). Cette contrainte consiste à limiter la taille de la fenêtre spatiale autorisée pour les vecteurs de mouvements des partitions de macrobloc d'un groupe de macroblocs de pixels donné. En effet, étant donné un macrobloc à coder, l'estimation de mouvement consiste, pour chaque partition de macrobloc, à rechercher, parmi une liste d'images de référence possibles, le macrobloc (ou partition de macrobloc) qui soit le plus similaire à la partition courante au sens de la différence SAD (Sum of Absolute Differences). Puisque cette recherche est restreinte à une zone spatiale délimitée par un ou plusieurs groupes de macroblocs de pixels rectangulaires, la recherche est contrainte et conduit potentiellement à un codage sous-optimal au sens débit-distorsion.
La présente invention remédie à cet inconvénient.
Elle porte sur un procédé de prédiction temporelle à estimation de mouvement dans une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, ledit codage permettant l'accès à des parties spatiales des images, le procédé de prédiction temporelle étant appliqué à au moins un groupe courant d'une image de la deuxième couche courante de la séquence.
Selon une définition générale de l'invention, le procédé comprend les étapes suivantes: - construction d'au moins un ensemble de pixels de référence pour la prédiction temporelle à partir d'informations provenant d'une image de prédiction de la deuxième couche et d'informations complémentaires provenant d'une image de la première couche correspondant temporellement à ladite image de prédiction; et - pour chaque bloc du groupe courant de l'image de la deuxième couche courante, recherche d'au moins un bloc de l'ensemble de pixels de référence ainsi construit approprié pour la prédiction temporelle; et détermination d'au moins un vecteur de mouvement correspondant.
Le procédé de prédiction temporelle selon l'invention consiste ainsi à étendre la prédiction temporelle en effectuant, dans l'étape d'estimation de mouvement, la recherche d'un ensemble de pixels de référence non seulement dans les groupes de macroblocs de pixels autorisés pour cela, mais aussi dans d'autres parties de l'image de prédiction considérée, en utilisant la connaissance de la scène issue de l'image de base correspondant temporellement à l'image de prédiction considérée.
Grâce au procédé selon l'invention, les partitions de macroblocs (ou sousmacroblocs) dans un groupe de macroblocs de pixels donné peuvent utiliser des données d'image de prédiction en dehors de l'ensemble de groupes de macroblocs de pixels de restriction du champ de mouvement du groupe de macroblocs de pixels courant. La fonctionnalité d'accès aléatoire spatial est toujours remplie, et l'efficacité de compression et/ou la qualité de reconstruction de la couche de raffinement spatial est améliorée par rapport à l'art antérieur.
En pratique, le codage de train binaire est du type SVC.
Selon une réalisation, les informations de la deuxième couche contenues dans l'ensemble de pixels de référence sont des données du groupe courant de l'image de prédiction de la deuxième couche. Ainsi, l'ensemble de pixels de référence contient des données du groupe de blocs considéré d'au moins une image de prédiction de la même couche du train binaire.
Selon une caractéristique préférée, les informations complémentaires sont des données appartenant au groupe correspondant spatialement au groupe courant dans la première couche et entourant spatialement les données de l'ensemble de pixels de référence. Ainsi, l'ensemble de pixels de référence est augmenté de données d'au moins une image d'une autre couche du train binaire, de façon à couvrir une zone spatiale de prédiction plus vaste.
Selon une réalisation préférée, les images de la première couche comprennent chacune un unique groupe de blocs de pixels. Grâce à cette caractéristique, tous les pixels de l'image temporellement correspondante à l'image de prédiction de la deuxième couche sont utilisables en tant qu'informations complémentaires de l'ensemble de référence, ce qui permet d'obtenir un ensemble de pixels de référence maximal.
En pratique, la configuration des groupes de blocs de la deuxième couche est rectangulaire. Ainsi, l'accès aléatoire spatial à une zone particulière des images de la séquence est facilité.
Selon un mode de réalisation préféré de l'invention, la deuxième couche est une couche de raffinement de scalabilité spatiale. Dans ce cas, les données complémentaires sont suréchantillonnées à la résolution spatiale de l'ensemble des pixels de référence.
Selon un autre mode préféré de l'invention, la deuxième couche est une couche de raffinement de scalabilité en qualité.
En pratique, l'image de prédiction appartient à au moins une liste d'images de prédiction.
Selon encore un autre mode de réalisation préféré de l'invention, le train binaire comprend en outre une troisième couche et l'étape de construction d'au moins un ensemble de pixels de référence comprend une étape d'augmentation du nombre de pixels de référence pour la prédiction temporelle à partir d'informations complémentaires provenant d'une image de la troisième couche correspondant temporellement à ladite image de prédiction.
L'avantage du procédé de prédiction temporelle selon l'invention dans le mode de compression scalable spatialement est une meilleure efficacité de compression et/ou une amélioration de la qualité de la vidéo reconstruite dans certaines scènes vidéo, notamment des scènes comprenant des mouvements de translation. Aucun ajout à la syntaxe du train binaire SVC n'est nécessaire pour signaler ce nouveau mode de codage, car il est automatiquement détectable par le décodeur vidéo scalable.
La présente invention introduit un mode de prédiction temporelle supplémentaire par rapport aux modes de prédiction déjà disponibles dans le contexte de codage vidéo scalable SVC, et lorsque des groupes de macroblocs de pixels rectangulaires sont codés dans une couche de raffinement pour permettre l'accès aléatoire spatial.
La présente invention a également pour objet un procédé de codage d'une séquence d'images numériques selon un train binaire comportant au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, ledit codage permettant l'accès à des parties spatiales des images.
Selon cet autre aspect de l'invention, pour au moins un groupe 20 courant d'une image de la deuxième couche de la séquence, le procédé comprend les étapes de: - prédiction temporelle à estimation de mouvement selon le procédé mentionné ci-avant, fournissant, pour chaque bloc du groupe courant au moins un indice d'image de prédiction et au moins un vecteur de mouvement associé ; et - pour chaque bloc du groupe courant, codage du au moins un indice d'image de prédiction et du au moins un vecteur de mouvement associé ainsi obtenus.
Le procédé de codage selon l'invention a l'avantage de permettre 30 l'amélioration de l'efficacité de codage et/ou de la qualité de reconstruction, tout en préservant la possibilité d'accès aléatoire spatial, sans avoir d'informations supplémentaires à coder et à transmettre.
L'invention est particulièrement avantageuse dans le contexte du codage vidéo scalable SVC.
La présente invention a également pour objet un procédé de décodage d'une séquence d'images numériques codées selon un train binaire comportant au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, comprenant une prédiction temporelle à compensation de mouvement pour au moins un groupe courant.
Selon cet autre aspect de l'invention, le décodage d'au moins un bloc courant dudit groupe d'une image de la deuxième couche comprend les étapes suivantes: - décodage d'au moins un indice d'image de prédiction et d'au moins un vecteur de mouvement associé audit bloc; - vérification si le vecteur de mouvement ainsi décodé sort du groupe courant dans l'image de prédiction; - en cas de vérification positive, extraction à partir de l'image de la première couche temporellement correspondante à l'image de prédiction, des données correspondant spatialement à la position indiquée par le vecteur de mouvement et complémentaires par rapport au groupe courant; - utilisation des données ainsi obtenues pour la compensation en mouvement.
Le procédé de décodage selon l'invention permet ainsi de retrouver aisément les données ayant servi à la prédiction des blocs et provenant de la première couche de prédiction. Comme dans le cas du procédé de codage exposé ci-dessus, le procédé de décodage s'avère particulièrement efficace en pratique lorsque le codage de train binaire est de type SVC.
La présente invention a ainsi également pour objet un dispositif de prédiction temporelle à estimation de mouvement dans une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, ledit codage permettant l'accès à des parties spatiales des images, la prédiction temporelle étant appliquée à au moins un groupe courant d'une image de la deuxième couche courante de la séquence.
Selon un aspect de l'invention, le dispositif de prédiction temporelle comprend: - des moyens de construction d'au moins un ensemble de pixels de référence pour la prédiction temporelle à partir d'informations provenant d'une image de prédiction de la deuxième couche et d'informations complémentaires provenant d'une image de la première couche correspondant temporellement à ladite image de prédiction; et - des moyens de traitement aptes, pour chaque bloc du groupe courant de l'image de la deuxième couche courante, à rechercher au moins un bloc de l'ensemble de pixels de référence ainsi construit approprié pour la prédiction temporelle; et à déterminer au moins un vecteur de mouvement correspondant.
La présente invention a également pour objet un dispositif de codage d'une séquence d'images numériques selon un train binaire comportant au moins au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, ledit codage permettant l'accès à des parties spatiales des images.
Selon cet autre aspect de l'invention, pour au moins un groupe courant d'une image de la deuxième couche de la séquence, le dispositif 25 comprend: - des moyens de prédiction à estimation de mouvement conformes aux moyens du dispositif de prédiction mentionnée ci-avant, fournissant, pour chaque bloc du groupe courant au moins un indice d'image de prédiction et au moins un vecteur de mouvement associé, et - des moyens de codage aptes, pour chaque bloc du groupe courant, à coder au moins un indice d'image de prédiction et au moins un vecteur de mouvement associé ainsi obtenus.
La présente invention a également pour objet un dispositif de décodage d'une séquence d'images numériques codées selon un train binaire comportant au moins des première et deuxième couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche comprenant une pluralité de groupes de blocs de pixels, comprenant une prédiction temporelle à compensation de mouvement pour au moins un groupe courant.
Selon cet autre aspect de l'invention, le dispositif de décodage comprend, pour le décodage d'au moins un bloc courant dudit groupe d'une 10 image de la deuxième couche: - des moyens de décodage d'au moins un indice d'image de prédiction et d'au moins un vecteur de mouvement associé audit bloc; des moyens de vérification pour vérifier si le vecteur de mouvement ainsi décodé sort du groupe courant dans l'image de prédiction; - des moyens de traitement aptes, en cas de vérification positive, à extraire à partir de l'image de la première couche temporellement correspondante à l'image de prédiction, des données correspondant spatialement à la position indiquée par le vecteur de mouvement et complémentaires par rapport au groupe courant; et à utiliser des données ainsi obtenues pour la compensation en mouvement.
Les dispositifs de prédiction, de codage et de décodage présentent des avantages analogues aux avantages des procédés associés.
La présente invention a également pour objet un support d'information lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme ordinateur permettant la mise en oeuvre du procédé conforme à l'invention, lorsque ce programme est chargé et exécuté par un système informatique.
La présente invention a enfin pour objet un programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre du procédé conforme à l'invention, lorsque ce programme est chargé et exécuté par un système informatique.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels: - la figure 1 représente un dispositif apte à mettre en oeuvre le procédé selon l'invention; - la figure 2 est une représentation multicouche d'une séquence vidéo dans SVC selon l'art antérieur; - la figure 3 représente le filtrage temporel compensé en 10 mouvement du type MCTF (Motion Compensated Temporal Filtering) selon l'art antérieur; - la figure 4 représente la restriction des champs de mouvement à des groupes de macroblocs de pixels, appelée encore motion-constrained suce-group sets selon l'art antérieur; - la figure 5 représente une prédiction temporelle à travers des frontières de groupes de macroblocs de pixels selon l'invention; - la figure 6 représente une construction de l'image de l'ensemble de pixels de référence pour la prédiction inter temporelle selon l'invention; - la figure 7 est un algorithme d'estimation de mouvement selon l'invention; - la figure 8 est une construction de l'ensemble de pixels de référence étendu pour l'estimation de mouvement selon l'invention; - la figure 9 est un algorithme de décodage d'une image passe- haut selon l'invention; et - la figure 10 représente la détection du mode de prédiction selon l'invention et construction du bloc de référence.
La présente invention trouve une application particulière dans le format SVC, et la description qui suit se base sur ce format. Néanmoins, l'invention peut trouver une application dans d'autres formats de codage vidéo multicouches, où chaque couche est divisée en au moins un groupe de blocs (groupes de macroblocs de pixels), et qui permettent l'accès aléatoire spatial grâce au partage en groupes de blocs.
Dans le cadre de SVC, l'invention apporte un avantage notable lorsque la couche de base est codée avec un seul groupe de macroblocs de pixels, ce qui implique que l'ensemble des pixels de cette couche sont contenus dans ce groupe de blocs et disponibles au codeur et au décodeur, pour tout accès aléatoire spatial demandé.
En référence à la figure 1, un dispositif, tel un micro-ordinateur et ses différents périphériques, peut mettre en oeuvre les procédés de prédiction temporelle, de codage et de décodage selon l'invention. Le dispositif est par exemple un micro-ordinateur 100 connecté à différents périphériques, par exemple une caméra numérique 101 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à compresser selon l'invention. Le dispositif 100 comporte une interface de communication 118 reliée à un réseau 34 apte à transmettre des données numériques à compresser ou à transmettre des données compressées par le dispositif. Le dispositif 100 comporte également un moyen de stockage 112 tel que par exemple un disque dur. Il comporte aussi un lecteur de disquette 114. La disquette 116 comme le disque 112 peuvent contenir des données compressées selon l'invention ainsi que le code de l'invention qui, une fois lu par le dispositif 100, sera stocké dans le disque dur 112.
Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention pourra être stocké en mémoire morte 104 (appelée ROM sur le dessin).
En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 34. Le dispositif 100 est relié à un microphone 124 par l'intermédiaire de la carte d'entré/sortie 122. Les données à transmettre selon l'invention seront dans ce cas du signal audio. Ce même dispositif possède un écran 108 permettant de visualiser les données à compresser ou à décompresser ou de servir d'interface avec l'utilisateur qui pourra paramétrer certaines options du format de compression par exemple, à l'aide du clavier 110 ou de tout autre moyen (souris par exemple). L'unité centrale 103 (appelée CPU sur le dessin) va exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 104 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de décompression stockés dans une mémoire non volatile, par exemple la ROM 104, sont transférés dans la mémoire vive RAM 106 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. Bien entendu, les disquettes peuvent être remplacées par tout support d'information tel que CD-ROM ou carte mémoire. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé d'exécution du noeud intermédiaire. Le bus de communication 102 permet la communication entre les différents éléments inclus dans le micro-ordinateur 100 ou reliés à lui.
La représentation du bus 102 n'est pas limitative et notamment l'unité centrale 103 est susceptible de communiquer des instructions à tout élément du micro-ordinateur 100 directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 100.
La figure 2 est une représentation multicouche d'une séquence 20 vidéo dans le format SVC.
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 (décrites en détail ci-dessous) dans la couche de base CB, et grâce au filtrage temporel compensé en mouvement MCTF (Motion Compensated Temporal Filtering, décrit en référence à la figure 3) dans les couches de raffinement CR. Comme l'indique la figure 2, le filtrage temporel compensé en mouvement MCTF fournit un ensemble d'images d'approximation temporelle appelée images passe-bas et notée L sur la figure 2, ainsi qu'un ensemble d'images de détail temporel appelées images passe-haut et notées H. La scalabilité SNR existe sous deux formes. La scalabilité SNR fine, notée FGS (Fine Granular Scalability) est obtenue par quantification progressive des suces. La scalabilité SNR grossière ou CGS (Coarse Grain SNR scalability) est fournie par le codage prédictif d'une couche (ou layer) dans laquelle 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 compensation de mouvement 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 spatiale supérieur par rapport à la couche inférieure. Il inclut notamment une étape de suréchantillonage spatial ES par 2 dans les deux dimensions spatiales (largeur et hauteur) dans le processus de prédiction inter couches.
La présente invention s'applique dans le cadre du codage des couches de raffinement CGS et spatial, et concerne, au niveau du codeur, l'estimation de mouvement lors de l'étape de prédiction dans le processus de filtrage temporel compensé en mouvement MCTF. Côté décodeur, l'invention concerne la compensation en mouvement dans la prédiction inverse du processus de reconstruction MCTF inverse.
La figure 2 illustre un exemple d'organisation multicouche possible avec SVC, organisées hiérarchiquement dans un ordre de raffinement spatial croissant. La couche de base CB représente la séquence à son plus bas niveau de résolution spatiale et est compressée de façon compatible à la norme H264/AVC. Comme l'indique la figure, elle est composée d'images de type I, P et B hiérarchique. 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 Bi, i 1, et suivent la règle suivante: une image de type Bi peut être prédite temporellement à partir des images d'ancrage I ou P l'entourant, ainsi que des image Bj, j < i, localisées dans le même intervalle d'images d'ancrage I ou P. Les images BI ne peuvent être prédites qu'à partir des images d'ancrage l'entourant.
De plus, deux couches de raffinement spatial, individualisées en CRI et CR2, sont illustrées. La première CRI d'entre elles est codée de façon prédictive par rapport à la couche de base CB, et la deuxième couche de raffinement CR2 est prédite depuis la première CRI. Une étape de suréchantillonage spatial ES par 2 intervient au cours de ces prédictions entre couche, aussi nommée prédiction inter layer I LP.
La figure 3 représente le filtrage temporel compensé en mouvement du type MCTF.
Un tel filtrage fournit une représentation multi-résolution dans la dimension temporelle d'un groupe d'images, appelé GOP (Group of Pictures en anglais).
Une transformation en ondelettes dans la direction temporelle est effectuée. Chaque étage de décomposition consiste en un filtrage passebas suivi d'une décimation par 2 ainsi qu'un filtrage passe-haut suivi d'une décimation par 2 d'un groupe d'images. Elle fournit donc un ensemble d'images d'approximation passe-bas et un ensemble d'images de détail temporel passe- haut issu des images passe-bas du niveau de décomposition précédent.
La succession de ces étapes de décomposition fournit donc une représentation multirésolution au sens temporel du groupe d'images considéré. La figure 3 illustre les niveaux de représentation temporels du groupe d'images individualisés de 0 à 4. Les images issues d'un filtrage de type passe-bas sont notées L sur la figure, et les images issues d'un filtrage passe-haut sont notées H. Comme indiqué par la figure 3, l'étape de génération des images passe-haut PH est appelée prédiction (prediction step en anglais), et l'étape de génération des images passe-bas PB est appelée mise à jour (update step en anglais). Le prediction step est un filtrage passe-haut PH compensé en mouvement. Plus précisément, étant donnée une image originale ou bien une image passe-bas intermédiaire, un processus d'estimation de mouvement et de décision détermine pour chaque macrobloc ses paramètres de prédiction temporelle: vecteur(s) de mouvement, image(s) de référence servant à la prédiction, modes de prédiction des partitions du macrobloc ou de ses sousmacroblocs.
Une fois la prédiction unidirectionnelle ou bidirectionnelle choisie pour chaque partition de macroblocs ou de sous-macroblocs du macrobloc courant, l'étape de filtrage passe-haut génère le macrobloc correspondant dans l'image passe-haut en cours de construction.
Réciproquement, la figure 3 illustre également les étapes constituant le processus de transformation MCTF inverse. En effet, le décodage et lareconstruction de la séquence vidéo à un niveau de résolution temporelle cible consiste à appliquer, sur les groupes d'images GOP successifs de la séquence une succession d'opérations appelées inverse update step et inverse prediction step . L'étape de prédiction inverse ou inverse prediction step PI, illustré sur la figure 3, vise à transformer une image passe-haut H d'un niveau de résolution temporelle donné en une image passe-bas L du niveau de résolution temporelle directement supérieur. De plus, l'étape inverse update step transforme une image passe-bas L d'un niveau de résolution temporelle donné en l'image passe- bas L correspondante temporellement dans le niveau de résolution temporelle directement supérieur. La succession ordonnée de ces étapes sur les images d'un groupe d'images GOP permet donc d'opérer le processus de transformation MCTF inverse, et restituer ainsi la séquence au niveau de résolution temporelle désiré.
Les mécanismes proposés dans la présente invention interviennent dans les étapes de prédiction PH (prediction step) lors du filtrage temporel compensé en mouvement MCTF et de prédiction inverse PI (inverse prediction step) de la transformation MCTF inverse. Ils s'appliquent donc dans les codage et décodage des couches de raffinement spatial et CGS. La figure 4 représente la restriction des champs de mouvement à des groupes de macroblocs de pixels ou motion-constrained slice-group sets , mise en oeuvre pour permettre l'accès aléatoire spatial selon le format SVC. L'invention s'applique dans ce contexte Plus précisément, la figure 4 illustre l'étape d'estimation de mouvement entre images passe-bas L au cours de la transformation MCTF.
Les images de la couche de raffinement (CRI) du groupe d'images GOP considéré sont divisées en groupes de macroblocs de pixels SG rectangulaires (traits interrompus), qui sont des groupes de macroblocs, les macroblocs étant des groupes de blocs. Les groupes de macroblocs de pixels seront également appelés groupes de blocs . La figure 4 illustre également la partition de macroblocs MB courante en cours de traitement, ainsi que des vecteurs de mouvement VM candidats pour la prédiction temporelle.
L'objectif de l'invention étant d'assurer la fonctionnalité d'accès aléatoire spatial, le champ de mouvement VM pour la partition de macrobloc courante MB est contraint par les frontières du groupe de macroblocs de pixels rectangulaire contenant la partition de macrobloc MB courante. Par conséquent, le vecteur de mouvement VM1 vers l'arrière dessiné sur la figure 4 n'est pas permis.
Par ailleurs, la norme H264/AVC prévoit, de façon optionnelle, la définition de motion-constrained slice-group sets (voir G. Sullivan, T. Wiegand, and A. Luthra. Te)t of ISOIIEC 14496 10 Advanced Video Coding 3rd Edition. ISOIIEC JTC 1/SC 29/WG 11, Redmond, WA, USA, July 2004, sections D.1.19 et D.2.19). Cette information est transportée dans un message de type SEI (Supplemental Enhancement Information) et est actif pour un groupe d'images allant de la dernière image IDR codée (Instantaneous Decoding Refresh) jusqu'à la prochaine image IDR codée. Un tel message définit un ensemble de groupes de macroblocs de pixels SG de restriction du champ de mouvement et signifie qu'aucun échantillon en dehors de cet ensemble de groupes de macroblocs de pixels ne doit servir à la prédiction temporelle d'un échantillon appartenant à cet ensemble de groupes de macroblocs de pixels.
Par conséquent, un tel message peut être utilisé pour indiquer explicitement les zones d'images qui doivent être maintenues indépendamment décodables de leurs voisines au cours d'une séquence ou segment de séquence vidéo, et est utilisable pour la génération d'un flux SVC avec accès aléatoire spatial possible dans les couches spatiales de grande résolution. Dans ce cas, le problème de contrainte sur les vecteurs de mouvements VM n'est plus considéré au niveau des frontières de groupes de macroblocs de pixels mais est reporté aux frontières des ensembles de groupes de macroblocs de pixels indiqués par le message de type SEI ci-dessus.
Par conséquent, l'illustration de la figure 4 demeure valide si les portions rectangulaires délimitées par des traits interrompus représentent graphiquement les ensembles de groupes de macroblocs de pixels de restriction du champ de mouvement. Le vecteur de mouvement VM1 dessiné vers l'arrière est donc interdit dans ce cas.
La présente invention s'applique à la fois dans les deux cas introduits ci-dessus, c'est-à-dire: 1. le cas où on organise les images en groupes de macroblocs de pixels SG rectangulaires et on veut rendre chaque groupe de macroblocs de pixels indépendamment décodable de ses voisins pour permettre l'accès aléatoire spatial; 2. le cas où on regroupe les groupes de macroblocs de pixels rectangulaires dans des motion-constrained slice-group sets et on veut donc que chaque motion-constrained slicegroup set soit décodable indépendamment des autres.
La contrainte sur le champ de mouvement dans les images divisées en groupes de blocs SG présente l'inconvénient de diminuer l'efficacité de compression du codeur vidéo par rapport à une configuration où chaque image contiendrait un seul bloc. En effet, il se peut très bien que, pour des macroblocs MB situés en bordure des groupes de blocs (groupes de macroblocs de pixels ou motion-constrained slice-group set ), la meilleure portion d'image de prédiction pour sa prédiction temporelle soit située en dehors du groupe de blocs qui le contient. Ceci peut notamment subvenir dans le cas de mouvements de translation dans la séquence d'images originale.
La présente invention permet de diminuer la baisse de performance due à cette contrainte sur le champ de mouvement dans le processus de prédiction temporelle. Pour cela, elle se base sur l'observation suivante. La contrainte imposée sur le champ de mouvement prive l'estimateur de mouvement d'une certaine connaissance sur le contenu des images de référence servant à la prédiction, qu'on appellera images de prédiction par la suite. Plus précisément, la portion spatiale située autour du groupe de blocs considéré n'est pas utilisable en tant que donnée d'image de référence, dans la mesure où le décodeur peut ne pas disposer de cette donnée, lors d'une transmission et décodage sélectifs d'un sous-ensemble de groupes de blocs d'intérêt.
En revanche, il se peut très bien que les couches spatiales inférieures du flux SVC soient constituées de groupes de blocs qui couvrent spatialement les groupes de blocs de la couche courante. Dans ce cas, les versions passe-bas (côté codage) et reconstruite (côté décodage) de portions d'images de la couche de base entourant spatialement le groupe de blocs considéré peuvent être utilisées comme référence de prédiction temporelle dans la couche courante. En effet, comme la couche spatiale courante est prédite depuis la couche inférieure, le décodeur doit décoder la couche inférieure pour pouvoir décoder la couche courante. Ainsi, il dispose des informations d'images reconstruites de la couche inférieure. Par conséquent, on dispose bien d'une information de contenu de la scène vidéo autour du groupe de blocs considéré dans la couche courante.
Sur l'exemple de la figure 4, le flux SVC est composé de deux couches, une couche de base CB et une couche de raffinement spatial CRI. Les images de la couche de base CB comprennent chacune un unique groupe de blocs SG1 et la couche de raffinement CRI contient plusieurs groupes de blocs. Par conséquent, si l'image de base correspondant temporellement à l'image de prédiction envisagée est disponible, alors le codeur et le décodeur disposent d'une information sur le contenu de toute la scène, et peuvent donc utiliser cette connaissance dans la prédiction temporelle.
La présente invention permet d'autoriser les vecteurs de mouvements VM à travers des frontières de groupes de blocs, mais en utilisant des échantillons de référence issus d'images d'une couche inférieure CB à la couche courante CRI dans la représentation hiérarchique SVC. Notons que dans le mode de mise en oeuvre préféré de l'invention, on choisit des groupes de blocs rectangulaires, permettant ainsi l'accès aléatoire spatial à des portions des images de la séquence d'images.
La figure 5 représente une prédiction temporelle à travers des frontières de groupes de blocs selon l'invention.
Le schéma de la figure 5 illustre le mécanisme de prédiction temporelle à compensation de mouvement proposé dans cette invention, effectuée au décodeur. Étant donnée une partition de macrobloc de la couche de raffinement courante CRI, supposons que le codeur ait décidé de la prédire temporellement à partir d'un bloc (appelé aussi partition de macrobloc ou partition de sous-macrobloc) situé en dehors du groupe de blocs SG1 contenant le macrobloc à prédire. Puisque les données d'images reconstruites de la couche courante CRI en dehors du groupe de blocs courant ne peuvent pas être utilisées, le bloc de pixels reconstruits spatialement correspondant à la partition de référence dans la couche inférieure CB est suréchantillonné SEC (cas d'une couche de raffinement spatial). Le résultat de ce suréchantillonnage SEC est utilisé comme bloc de référence pour la prédiction temporelle de la partition de macrobloc courante.
Enfin, la figure 5 illustre également les vecteurs de mouvement utilisés pour la partition de macrobloc courante MBC et la partition de macrobloc MBB correspondante dans la couche de base. La prédiction inter couche de l'information de mouvement PICM est illustrée, montrant que sur cet exemple, le meilleur vecteur de mouvement pour la partition de macrobloc courante MBC est similaire (au facteur d'échantillonnage près) à celui de la partition correspondante dans la couche de base CB.
La figure 6 représente une construction d'un ensemble de pixels de référence pour l'estimation de mouvement lors de la prédiction inter temporelle effectuée au codeur selon l'invention. Dans cet exemple, l'ensemble de référence est représenté sous la forme d'une image de référence.
Plus précisément, la figure 6 illustre la construction d'une image de référence (IR) pour la prédiction temporelle des macroblocs du groupe de blocs courant (SG) à coder. Cette étape consiste en la composition, dans l'image de référence, de l'ensemble des macroblocs du même groupe de blocs SGR provenant d'une image de prédiction IP1 de la couche CRI et des blocs localisés autour de ce groupe de blocs (représentés par des hachures sur la figure) et provenant de l'image IPo de la couche inférieure CB et correspondant temporellement à l'image de prédiction IP. On appelle aussi IPo l'image de base de l'image de prédiction IPI considérée. On note que sur l'exemple de la figure 6, la couche courante CRI correspond à une couche de raffinement spatial. Par conséquent, les macroblocs provenant de la couche inférieure CB subissent une étape de suréchantillonnage spatial SEC.
De plus, il se peut qu'il existe plusieurs couches inférieures à la couche courante, et que seule une portion de l'image de base de l'image de référence ait été utilisée (si l'image de base de l'image de référence est elle-même composée de groupes de blocs). On peut alors réitérer le processus de composition en combinant le résultat de la première composition et des macroblocs localisés spatialement autour de ce résultat provenant de couches encore inférieures. Ceci étend encore l'image de référence composée en cours de construction. Cet algorithme itératif est explicité en référence à la figure 8.
La figure 7 est un algorithme de prédiction à estimation de mouvement selon l'invention.
Plus précisément, la figure 7 décrit l'algorithme d'estimation de mouvement modifié conformément à l'invention, au sein de l'étape de prédiction (prediction step) effectuée par le codeur vidéo lors du filtrage temporel compensé en mouvement.
Les entrées de l'algorithme sont: - l'image passe-bas courante à traiter, d'indice idxLP (étape E1) ; - les listes d'indices d'images de prédiction pour l'image courante: refldxListO et refldxListl, qui correspondent à des ensembles d'images situées temporellement avant et après l'image courante, dans le cas général de la prédiction bidirectionnelle (respectivement étape E121 et E122).
L'algorithme consiste, pour chaque groupe de blocs d'indice sgldx constituant l'image courante (étapes E8 et E9), à parcourir chacune des images de prédiction des listes refldxListO puis refldxListl. Soit refldx l'indice de l'image de prédiction couramment considérée, au cours de l'une des deux boucles successives sur les listes refidxListO puis refldxListl.
Selon l'étape E131 pour la liste 0 et l'étape E132 pour la liste 1, on construit un ensemble de référence Erefldx (qui est une image de référence étendue dans cet exemple de mise en oeuvre) utile à l'estimation de mouvement pour les macroblocs du groupe de blocs courant sgldx. Cette image de référence construite inclut des données de l'image de prédiction initiale d'indice refldx, ainsi que des échantillons reconstruits, provenant d'images des couches inférieures, et localisés autour du groupe de blocs sgldx.
L'algorithme de construction de cet ensemble de référence Erefldx est détaillé en référence à la figure 8.
Selon l'étape E141 (respectivement E142), une fois l'image de référence refldx construite pour le groupe de blocs courant sgldx, l'estimation de mouvement est effectuée pour chaque macrobloc de ce groupe de blocs.
Elle fournit un vecteur de mouvement et une mesure de distorsion entre le macrobloc traité et le macrobloc de référence calculé. Cette estimation de mouvement est répétée pour le groupe de blocs courant sgldx, en utilisant successivement chaque image de référence enrichie Erefldx (étapes E151 à E162).
Une fois les estimations de mouvement successives achevées, une étape de décision (étape E7) détermine le choix optimal (au sens débit distorsion par exemple) du mode de prédiction, unidirectionnel ou bidirectionnel, ainsi que la ou les images de prédiction utilisées. Cette détermination, par exemple basée sur une optimisation lagrangienne, est connue de l'homme du métier et n'est pas détaillée ici. L'indice de la ou les images de prédiction appropriées refldx ainsi que les coordonnées du ou des vecteur(s) de mouvement correspondant(s) sont encodés et ajoutés au train binaire compressé, ces informations étant bien sûr indispensables au décodeur.
L'utilisation de ces informations pour effectuer le codage vidéo complet, incluant le calcul du signal résiduel d'erreur de prédiction et sa compression et son codage, est effectuée de manière connue selon le format SVC et n'est pas décrite ici.
Le procédé est répété pour chaque groupe de blocs rectangulaire d'indice sgldx constituant l'image courante (étapes E8 et E9), La figure 8 est une construction de l'ensemble de référence pour l'estimation de mouvement.
Plus précisément, la figure 8 fournit l'algorithme de construction d'une image de référence enrichie pour l'estimation de mouvement, effectuée par le codeur lors de l'étape E131 ou E132 de la figure 7.
Les entrées de cet algorithme sont les suivantes: - le groupe de blocs courant sgldx; - l'indice de l'image de prédiction considérée pour l'estimation de mouvement refldx; - l'indice de la couche de raffinement (spatial ou CGS) courante idxCurrLayer.
Comme expliqué en référence à la figure 7, l'image de référence Erefldx est d'abord initialisée à l'étape El0 avec les pixels du groupe de blocs courant sgldx de l'image de prédiction refldx de la couche courante.
Au début de l'algorithme (étape E11), un indice de couche de la hiérarchie SVC idxLayer est initialisé à l'indice de la couche directement inférieure à la couche courante d'indice idxCurrLayer. On considère alors, dans cette couche inférieure idxLayer, l'image qui correspond temporellement à l'image de prédiction courante d'indice refldx de la couche idxCurrLayer. Dans cette image correspondant temporellement, on recherche (étape E12) le groupe de blocs qui correspond spatialement au groupe de blocs sgldx de l'image de prédiction refldx. Le groupe de blocs trouvé est noté idxBaseSg. Si ce groupe de blocs trouvé entoure spatialement le groupe de blocs de la couche haute sgidx (étape E13), alors il est utilisable pour enrichir l'image de référence Erefldx. On modifie (étape E14) alors l'image de référence Erefldx en la composant avec la portion spatiale du groupe de blocs idxBaseSg qui entoure spatialement le contenu courant de l'image Erefldx, comme cela a été illustré à la figure 6 décrite précédemment. Dans le cas où la couche d'indice idxLayer est une couche de résolution spatiale inférieure par rapport à la couche courante, cette opération de composition implique un suréchantillonnage (notée upsample sur la figure) de la portion spatiale de idxBaseSg avant son ajout dans l'image de référence Erefldx.
On boucle (étape E15) ensuite sur l'indice de couche pour passer à la couche directement inférieure à celle d'indice idxLayer (étape E16), et on répète les étapes de test et de composition de l'image de référence en cours de modification avec des nouvelles portions d'image l'entourant. L'algorithme prend fin lorsqu'on a atteint la plus basse couche.
La figure 9 fournit un algorithme de décodage et de prédiction 5 inverse (inverse prediction step) selon l'invention dans le schéma MCTF inverse d'une image passe-haut d'une couche de raffinement CGS ou spatial.
Les entrées de l'algorithme sont les suivantes: - indice de l'image passe haut courante idxHP; indice de la couche de raffinement courante idxLayer.
L'algorithme traite (étape E20) successivement les groupes de blocs constituant l'image d'indice idxHP dans la couche de raffinement idxLayer. Pour chaque groupe de blocs sgldx, une boucle (étape E21) parcourant les macroblocs le constituant est effectuée. Pour chaque macrobloc mbldx, on décode (étape E22) du train binaire le mode de codage et le type de prédiction employés pour mbldx. Dans le cas où mbldx est prédit temporellement (étape E23), les paramètres de prédiction temporelle (indice d'image de prédiction, vecteurs de mouvement) de ce macrobloc sont décodés (étape E24). L'étape suivante (E25) consiste à former la portion d'image reconstruite utile à effectuer l'étape de compensation en mouvement. Cette étape est modifiée conformément à la présente invention par rapport au système SVC en place, et est détaillée par l'algorithme de la figure 10. La suite (étape E26) du traitement du macrobloc courant prévoit de décoder le signal résiduel associé à ce macrobloc prédit temporellement, et à ajouter (étape E27) l'erreur de prédiction ainsi décodée aux blocs d'échantillons de référence fournis par l'algorithme de la figure 10.
On boucle (étapes E28 et E29) alors sur les prochains macroblocs du groupe de blocs courant. Lorsque tous ses macroblocs sont traités, on boucle (étapes E30 et E31) alors sur le groupe de blocs suivant dans l'image passe-haut en cours de prédiction inverse dans la MCTF inverse.
On note enfin qu'une étape de deblocking filter, utile à diminuer les effets de blocs inhérents au codage vidéo basé macroblocs, peut éventuellement être exécutée une fois tous les macroblocs de l'image courante reconstruits. L'activation de ce deblocking filter est décidée comme spécifié dans l'art antérieur et n'est pas détaillée ici.
La figure 10 représente la détection du mode de prédiction selon l'invention et construction du bloc de référence servant de référence temporelle pour la prédiction d'un macrobloc mbldx d'une image idxHP en cours de prédiction inverse au sein de la MCTF inverse.
Les entrées (étape E50) de cet algorithme sont les suivantes: -indice de l'image passe-haut courante en cours de prédiction inverse: idxHP; indice du macrobloc courant dans idxHP: mbldx; indice du groupe de blocs rectangulaire courant sgldx; indices des images de prédiction pour les partitions du macrobloc courant: refldxLOf et refldxL10.
L'algorithme consiste à parcourir chaque bloc (partition de macrobloc 15 ou de sous-macrobloc) suivant le mode de codage utilisé pour le macrobloc courant mbldx.
Pour chaque partition mbPartldx du macrobloc courant, un test (étape E51) est mené pour déterminer si des partitions de sous-macrobloc existent dans ce macrobloc.
Dans la négative, pour la partition mbPartldx et pour chaque vecteur de mouvement mvLX (X prend successivement les valeurs 0 puis 1) associé à cette partition, les coordonnées du vecteur de mouvement sont testées (étape E52). Si elles sont telles que le vecteur de mouvement sort du groupe de blocs courant sgldx dans l'image de prédiction refldxLX[mbPartldx], alors cela signifie que le mode de prédiction conforme à la présente invention est utilisé pour la partition de macrobloc mbPartldx. Dans ce cas, une étape de formation (étape E53) du bloc d'échantillons reconstruits de référence pour la prédiction de mbPartldx a lieu. Cette construction, illustrée précédemment en référence à la figure 5, consiste à extraire d'une image de base de refldxLX[mpPartldx] le bloc de pixel correspondant, en terme de localisation spatiale, à la partition de macrobloc indiquée par le vecteur de mouvement mvLX dans l'image de prédiction refldxLX[mpPartldx]. Dans le cas où la couche de raffinement courante constitue un raffinement spatial par rapport à la couche de base considérée, un suréchantillonnage spatial est appliqué sur le bloc d'échantillons reconstruits extrait.
Si le test à l'étape E51 sur la présence de partitions de sous-macroblocs est positif, alors une boucle sur les indices de partitions de sousmacroblocs, notés subMbPartldx, est lancée (étape E60). Pour chaque partition de sous-macrobloc subMbPartldx, un test (étape E61) sur son vecteur de mouvement mvLX, analogue à celui précédemment décrit, est mené pour déterminer si son vecteur de mouvement sort du groupe de blocs sgldx dans l'image de prédiction refldxLX[mbPartlx]. Si c'est le cas, une construction d'un bloc de référence (étape E62), analogue à celle (étape E53) appliquée pour les partitions de macrobloc, est effectuée pour la partition de sous-macrobloc courante. On boucle (étapes E63 et E64) ainsi sur toutes les partitions de sousmacrobloc du macrobloc courant mbldx: on boucle (étapes E54 et 55) enfin sur l'indice de partition de macrobloc mbPartldx: on passe à la prochaine partition de mbldx et on répète ensuite toutes les étapes ci-dessus depuis le test (étape E51) pour évaluer si le macrobloc courant est divisé en partitions de sousmacrobloc. L'algorithme prend fin (étape E70) lorsque toutes les partitions du macrobloc mbldx ont été traitées.
Il convient de remarquer que, dans les étapes décrites ci-dessus, l'indice X prend successivement les valeurs 0 puis 1. En effet, la prédiction temporelle des partitions de macrobloc et sous-macrobloc étant uni- ou bidirectionnelle, deux listes d'images de prédiction refldxLO et refldxLl, utiles respectivement à la prédiction avant et la prédiction arrière, sont gérées par le codeur et le décodeur. Par souci de compacité, l'algorithme figure 10 est décrit avec le terme générique X, qui prend successivement les valeurs 0 et 1. Autrement dit, les suites d'étapes faisant intervenir une image de prédiction ou un vecteur de mouvement sont donc répétées pour chaque valeur de X.
Claims (23)
1. Procédé de prédiction temporelle à estimation de mouvement dans une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), ledit codage permettant l'accès à des parties spatiales des images, le procédé de prédiction temporelle étant appliqué à au moins un groupe courant d'une image de la deuxième couche courante de la séquence, caractérisé en ce qu'il comprend les étapes suivantes: - construction d'au moins un ensemble de pixels de référence pour la prédiction temporelle (Erefldx) à partir d'informations provenant d'une image de prédiction de la deuxième couche (CRI) et d'informations complémentaires provenant d'une image de la première couche (CB) correspondant temporellement à ladite image de prédiction; et - pour chaque bloc du groupe courant (sgldx) de l'image de la deuxième couche courante, recherche d'au moins un bloc de l'ensemble de pixels de référence ainsi construit approprié pour la prédiction temporelle; et détermination d'au moins un vecteur de mouvement correspondant.
2. Procédé selon la revendication 1, dans lequel le codage de train 25 binaire est du type SVC.
3. Procédé selon la revendication 1, dans lequel les informations de la deuxième couche contenues dans l'ensemble de pixels de référence sont des données du groupe courant de l'image de prédiction de la deuxième couche.
4. Procédé selon la revendication 3, dans lequel les informations complémentaires sont des données appartenant au groupe correspondant spatialement au groupe courant dans la première couche (CB) et entourant spatialement les données de l'ensemble de pixels de référence.
5. Procédé selon la revendication 1, dans lequel les images de la première couche (CB) comprennent chacune un unique groupe de blocs de pixels.
6. Procédé selon la revendication 1, dans lequel la configuration des groupes de blocs de la deuxième couche est rectangulaire.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la deuxième couche (CRI) est une couche de raffinement de 15 scalabilité spatiale.
8. Procédé selon la revendication 7, dans lequel lesdites données complémentaires sont suréchantillonnées à la résolution spatiale de l'ensemble des pixels de référence.
9. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la deuxième couche (CRI) est une couche de raffinement de scalabilité en qualité (CGS).
10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'image de prédiction appartient à au moins une liste d'images de prédiction (refldxListO, refldxListl).
11. Procédé selon l'une quelconque des précédentes revendications, dans lequel le train binaire comprend en outre une troisième couche et l'étape de construction d'au moins un ensemble de pixels de référence comprend une étape d'augmentation du nombre de pixels de référence pour la prédiction temporelle à partir d'informations complémentaires provenant d'une image de la troisième couche correspondant temporellement à ladite image de prédiction.
12. Procédé de codage d'une séquence d'images numériques selon un train binaire comportant au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), ledit codage permettant l'accès à des parties spatiales des images, caractérisé en ce que, pour au moins un groupe courant d'une image de la deuxième couche de la séquence, le procédé comprend les étapes de: - prédiction temporelle à estimation de mouvement selon l'une des revendications de 1 à 11, fournissant, pour chaque bloc du groupe courant au moins un indice d'image de prédiction dans et au moins un vecteur de mouvement associé ; et - pour chaque bloc du groupe courant, codage du au moins un indice d'image de prédiction et du au moins un vecteur de mouvement associé ainsi obtenus.
13. Procédé de décodage d'une séquence d'images numériques codées selon un train binaire comportant au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), comprenant une prédiction temporelle à compensation de mouvement pour au moins un groupe courant, caractérisé en ce que le décodage d'au moins un bloc courant (mbPartldx) dudit groupe d'une image (idxHP) de la deuxième couche comprend les étapes suivantes: décodage d'au moins un indice d'image de prédiction 30 (refldxLx[mbPartldx]) et d'au moins un vecteur de mouvement (mvLX) associé audit bloc; - vérification si le vecteur de mouvement (mvLX) ainsi décodé sort du groupe courant (sgldx) dans l'image de prédiction (refldxLX[mbPartldx]) ; - en cas de vérification positive, extraction à partir de l'image de la première couche temporellement correspondante à l'image de prédiction (refldxLX[mbPartldx]), des données correspondant spatialement à la position indiquée par le vecteur de mouvement (mvLX) et complémentaires par rapport au groupe courant; utilisation des données ainsi obtenues pour la compensation en mouvement.
14. Procédé selon la revendication 13, dans lequel la deuxième couche (CRI) est une couche de raffinement de scalabilité spatiale.
15. Procédé selon la revendication 14, dans lequel les données 15 obtenues à partir de la première couche (CB) sont suréchantillonnées à la résolution du au moins un bloc courant.
16. Procédé selon la revendication 13, dans lequel la deuxième couche (CRI) est une couche de raffinement de scalabilité en qualité (CGS). 20
17. Procédé selon l'une quelconque des revendications 13 à 16, dans lequel le train binaire comprend en outre une troisième couche et l'étape d'extraction en cas de vérification positive comprend l'extraction à partir d'une image de la troisième couche, temporellement correspondante à l'image de prédiction, de données correspondant spatialement à la position indiquée par le vecteur de mouvement.
18. Procédé selon l'une quelconque des revendications 13 à 17, dans lequel le codage de train binaire est de type SVC.
19. Dispositif de prédiction temporelle à estimation de mouvement dans une séquence d'images numériques, dans le cadre d'un codage selon un train binaire comportant au moins au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), ledit codage permettant l'accès à des parties spatiales des images, la prédiction temporelle étant appliquée à au moins un groupe courant d'une image de la deuxième couche courante de la séquence, caractérisé en ce que le dispositif de prédiction temporelle comprend: - des moyens de construction d'au moins un ensemble de pixels de référence pour la prédiction temporelle (Erefldx) à partir d'informations provenant d'une image de prédiction de la deuxième couche (CRI) et d'informations complémentaires provenant d'une image de la première couche (CB) correspondant temporellement à ladite image de prédiction; et - des moyens de traitement aptes, pour chaque bloc du groupe courant (sgldx) de l'image de la deuxième couche courante, à rechercher au moins un bloc de l'ensemble de pixels de référence ainsi construit approprié pour la prédiction temporelle; et à déterminer au moins un vecteur de mouvement correspondant.
20. Dispositif de codage d'une séquence d'images numériques selon un train binaire comportant au moins au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), ledit codage permettant l'accès à des parties spatiales des images, caractérisé en ce que, pour au moins un groupe courant d'une image de la deuxième couche de la séquence, le dispositif comprend: - des moyens de prédiction à estimation de mouvement conformes à la revendication 19, fournissant, pour chaque bloc du groupe courant au moins un indice d'image de prédiction et au moins un vecteur de mouvement associé, et - des moyens de codage aptes, pour chaque bloc du groupe courant, à coder le au moins un indice d'image de prédiction et le au moins un vecteur de mouvement associé ainsi obtenus.
21. Dispositif de décodage d'une séquence d'images numériques codées selon un train binaire comportant au moins des première (CB) et deuxième (CRI) couches reliées l'une à l'autre selon une relation hiérarchique de scalabilité choisie, chaque image de la deuxième couche (CRI) comprenant une pluralité de groupes de blocs de pixels (sgldx), comprenant une compensation temporelle à estimation de mouvement pour au moins un groupe courant, caractérisé en ce qu'il comprend, pour le décodage d'au moins un bloc courant mbPartldx dudit groupe d'une image (idxHP) de la deuxième couche: - des moyens de décodage d'au moins un indice d'image de prédiction (refldxLx[mbPartldx]) et d'au moins un vecteur de mouvement (mvLX) associé audit bloc; - des moyens de vérification pour vérifier si le vecteur de mouvement (mvLX) ainsi décodé sort du groupe courant (sgldx) dans l'image de prédiction (refldxLX[mbPartldx]) ; - des moyens de traitement aptes, en cas de vérification positive, à extraire à partir de l'image de la première couche temporellement correspondante à l'image de prédiction (refldxLX[mbPartldx]), des données correspondant spatialement à la position indiquée par le vecteur de mouvement (mvLX) et complémentaires par rapport au groupe courant; et à utiliser des données ainsi obtenues pour la compensation en mouvement.
22. Support d'informations lisible par un système informatique, éventuellement amovible, totalement ou partiellement, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme ordinateur permettant la mise en oeuvre d'un procédé selon l'une quelconques des revendications 1 à 18, lorsque ce programme est chargé et exécuté par un système informatique. É
23. Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 18, lorsque ce 5 programme est chargé et exécuté par un système informatique.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0507853A FR2889004B1 (fr) | 2005-07-22 | 2005-07-22 | Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite |
| US11/489,588 US8897362B2 (en) | 2005-07-22 | 2006-07-20 | Method and device for processing a sequence of digital images with spatial or quality scalability |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0507853A FR2889004B1 (fr) | 2005-07-22 | 2005-07-22 | Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2889004A1 true FR2889004A1 (fr) | 2007-01-26 |
| FR2889004B1 FR2889004B1 (fr) | 2007-08-24 |
Family
ID=36143298
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR0507853A Expired - Fee Related FR2889004B1 (fr) | 2005-07-22 | 2005-07-22 | Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8897362B2 (fr) |
| FR (1) | FR2889004B1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2912276A1 (fr) * | 2007-02-07 | 2008-08-08 | Thomson Licensing Sas | Procede et dispositif de decodage spatialement scalable |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| FR2896371B1 (fr) | 2006-01-19 | 2008-11-07 | Canon Kk | Procede et dispositif de traitement d'une sequence d'images numeriques au format extensible |
| US8270490B2 (en) | 2006-07-06 | 2012-09-18 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program |
| 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 |
| KR101072341B1 (ko) * | 2007-01-18 | 2011-10-11 | 노키아 코포레이션 | Rtp 페이로드 포맷에서의 sei 메시지들의 전송 |
| 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 |
| JP5141633B2 (ja) * | 2009-04-24 | 2013-02-13 | ソニー株式会社 | 画像処理方法及びそれを用いた画像情報符号化装置 |
| 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 |
| EP2285112A1 (fr) * | 2009-08-07 | 2011-02-16 | Canon Kabushiki Kaisha | Procédé pour l'envoi de données compressées représentant une image numérique et dispositif correspondant |
| FR2951345B1 (fr) | 2009-10-13 | 2013-11-22 | Canon Kk | Procede et dispositif de traitement d'une sequence video |
| FR2955995B1 (fr) * | 2010-02-04 | 2012-02-17 | Canon Kk | Procede et dispositif de traitement d'une sequence video |
| US9392268B2 (en) * | 2012-09-28 | 2016-07-12 | Qualcomm Incorporated | Using base layer motion information |
| KR20140122673A (ko) * | 2013-04-05 | 2014-10-20 | 삼성전자주식회사 | 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
| US9456213B2 (en) * | 2013-07-17 | 2016-09-27 | Hangzhou Danghong Technology Co., Ltd. | Method for simultaneously encoding macroblock groups of frame |
| EP3499886B1 (fr) | 2017-12-18 | 2025-02-12 | Canon Kabushiki Kaisha | Procédé et dispositif de codage de données vidéo |
| EP3499885B1 (fr) | 2017-12-18 | 2024-07-17 | Canon Kabushiki Kaisha | Procédé et dispositif de codage de données vidéo |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6501860B1 (en) * | 1998-01-19 | 2002-12-31 | Canon Kabushiki Kaisha | Digital signal coding and decoding based on subbands |
| FR2792433A1 (fr) * | 1999-04-15 | 2000-10-20 | Canon Kk | Dispositif et procede de transformation de signal numerique |
| FR2815748B1 (fr) * | 2000-10-20 | 2003-01-24 | Canon Kk | Procede et dispositif de traitement et de decodage d'un signal numerique code |
| AUPR110400A0 (en) * | 2000-10-30 | 2000-11-23 | Canon Kabushiki Kaisha | Image transfer optimisation |
| FR2816154A1 (fr) * | 2000-10-31 | 2002-05-03 | Canon Kk | Insertion d'information supplementaire dans des donnees numeriques |
| US6961383B1 (en) * | 2000-11-22 | 2005-11-01 | At&T Corp. | Scalable video encoder/decoder with drift control |
| US6907070B2 (en) * | 2000-12-15 | 2005-06-14 | Microsoft Corporation | Drifting reduction and macroblock-based control in progressive fine granularity scalable video coding |
| FR2826227B1 (fr) * | 2001-06-13 | 2003-11-28 | Canon Kk | Procede et dispositif de traitement d'un signal numerique code |
| FR2826823B1 (fr) * | 2001-06-27 | 2003-10-10 | Canon Kk | Procede et dispositif de traitement d'un signal numerique code |
| FR2831728B1 (fr) * | 2001-10-25 | 2004-03-12 | Canon Kk | Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse |
| FR2835366B1 (fr) * | 2002-01-29 | 2004-06-18 | Canon Kk | Procede et dispositif de formation d'un signal numerique compresse reduit |
| FR2842378B1 (fr) * | 2002-07-15 | 2005-02-04 | Canon Kk | Procede et dispositif de traitement d'une requete ou de donnees numeriques compressees |
| FR2842691B1 (fr) * | 2002-07-18 | 2005-01-14 | Canon Kk | Procede et dispositif de transformation d'un signal numerique |
| FR2842983B1 (fr) * | 2002-07-24 | 2004-10-15 | Canon Kk | Transcodage de donnees |
| FR2869442A1 (fr) * | 2004-04-23 | 2005-10-28 | Canon Kk | Procede et dispositif de decodage d'une image. |
| US20060153300A1 (en) * | 2005-01-12 | 2006-07-13 | Nokia Corporation | Method and system for motion vector prediction in scalable video coding |
| KR100703748B1 (ko) * | 2005-01-25 | 2007-04-05 | 삼성전자주식회사 | 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치 |
| KR20080006609A (ko) * | 2005-04-13 | 2008-01-16 | 노키아 코포레이션 | 스케일링가능성 정보의 코딩, 저장, 및 시그널링 |
| US20070012576A1 (en) * | 2005-07-13 | 2007-01-18 | Rohm And Haas Electronic Materials Llc | Plating method |
| FR2894421B1 (fr) * | 2005-12-07 | 2008-01-18 | Canon Kk | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique |
| FR2896371B1 (fr) * | 2006-01-19 | 2008-11-07 | Canon Kk | Procede et dispositif de traitement d'une sequence d'images numeriques au format extensible |
| 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 |
| FR2903556B1 (fr) * | 2006-07-04 | 2008-10-03 | Canon Kk | Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes |
| FR2904494B1 (fr) * | 2006-07-26 | 2008-12-19 | Canon Kk | Procede et dispositif de compression d'image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede |
-
2005
- 2005-07-22 FR FR0507853A patent/FR2889004B1/fr not_active Expired - Fee Related
-
2006
- 2006-07-20 US US11/489,588 patent/US8897362B2/en not_active Expired - Fee Related
Non-Patent Citations (2)
| Title |
|---|
| SCHWARZ H ET AL: "Scalable Extension of H.264/AVC", ISO/IEC JTC1/CS29/WG11 MPEG04/M10569/S03, XX, XX, March 2004 (2004-03-01), pages 1 - 39, XP002340402 * |
| TRUONG CONG THANG ET AL.: "Spatial Scalability of Multiple ROIs in Surveillance Video", 16 April 2005 (2005-04-16) - 22 April 2005 (2005-04-22), BUsan, KR, pages 1 - 13, XP002377618, Retrieved from the Internet <URL:http://ftp3.itu.int/av-arch/jvt-site/2005_04_Busan/JVT-O037.doc> [retrieved on 20060420] * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2912276A1 (fr) * | 2007-02-07 | 2008-08-08 | Thomson Licensing Sas | Procede et dispositif de decodage spatialement scalable |
Also Published As
| Publication number | Publication date |
|---|---|
| US8897362B2 (en) | 2014-11-25 |
| FR2889004B1 (fr) | 2007-08-24 |
| US20070019721A1 (en) | 2007-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR2889004A1 (fr) | Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite | |
| FR2904494A1 (fr) | Procede et dispositif de compression d'image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede | |
| FR2932637A1 (fr) | Procede et dispositif de codage d'une sequence d'images | |
| FR2939593A1 (fr) | Procede et dispositif de codage video | |
| 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 | |
| FR2951345A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
| EP2052545B1 (fr) | Dispositif et procede de codage et de decodage echelonnables de flux de donnees d'images, signal et programme d'ordinateur correspondants | |
| EP2443835B1 (fr) | Codage de vecteurs mouvement par compétition de prédicteurs | |
| FR3008840A1 (fr) | Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants | |
| EP3972247B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
| EP2633686B1 (fr) | Codage video echelonnable a partir d'un epitome hierarchique | |
| 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 | |
| FR2872972A1 (fr) | Procede et dispositif de transmission video entre un serveur et un client | |
| WO2016102804A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes | |
| FR2955995A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
| WO2015090682A1 (fr) | Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants | |
| WO2024042286A1 (fr) | Lissage hors boucle de codage d'une frontière entre deux zones d'image | |
| WO2010086562A1 (fr) | Procede et dispositif de codage d'images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d'ordinateur correspondants | |
| WO2018091812A1 (fr) | Procédé et dispositif de codage et de décodage d'une séquence multi-vues | |
| EP2633687B1 (fr) | Codage et décodage vidéo a partir d'un épitome | |
| FR3042368A1 (fr) | Procede de codage et de decodage multi-vues, dispositif de codage et de decodage multi-vues et programmes d'ordinateur correspondants | |
| FR3072850A1 (fr) | Procedes de codage et de decodage d'un flux de donnees representatif d'une video omnidirectionnelle | |
| FR2910773A1 (fr) | Procede et dispositif de codage de donnees video. | |
| FR2899053A1 (fr) | 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 | |
| FR3057131A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |
Effective date: 20140331 |