FR3092459A1 - Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo - Google Patents
Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo Download PDFInfo
- Publication number
- FR3092459A1 FR3092459A1 FR1900950A FR1900950A FR3092459A1 FR 3092459 A1 FR3092459 A1 FR 3092459A1 FR 1900950 A FR1900950 A FR 1900950A FR 1900950 A FR1900950 A FR 1900950A FR 3092459 A1 FR3092459 A1 FR 3092459A1
- Authority
- FR
- France
- Prior art keywords
- block
- spatial resolution
- image
- coding
- decoded
- 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 58
- 230000006872 improvement Effects 0.000 claims abstract description 30
- 238000000638 solvent extraction Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 26
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 239000004255 Butylated hydroxyanisole Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000004220 glutamic acid Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000473 propyl gallate Substances 0.000 description 4
- 239000004291 sulphur dioxide Substances 0.000 description 4
- 239000011668 ascorbic acid Substances 0.000 description 3
- 238000012550 audit Methods 0.000 description 3
- 239000004245 inosinic acid Substances 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- DNIAPMSPPWPWGF-UHFFFAOYSA-N Propylene glycol Chemical compound CC(O)CO DNIAPMSPPWPWGF-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000005711 Benzoic acid Substances 0.000 description 1
- 239000004285 Potassium sulphite Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000004305 biphenyl Substances 0.000 description 1
- KRKNYBCHXYNGOX-UHFFFAOYSA-N citric acid Substances OC(=O)CC(O)(C(O)=O)CC(O)=O KRKNYBCHXYNGOX-UHFFFAOYSA-N 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- WSFSSNUMVMOOMR-UHFFFAOYSA-N formaldehyde Substances O=C WSFSSNUMVMOOMR-UHFFFAOYSA-N 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004334 sorbic acid Substances 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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
- H04N19/176—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 the region being a block, e.g. a macroblock
-
- 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/187—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 a scalable video layer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L’invention porte sur un procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration. Le procédé comprend pour au moins une image de la séquence vidéo, une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base, une obtention à partir de ladite image, d’une deuxième image, le procédé comprenant en outre un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale, une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble comprenant au moins une résolution spatiale prédéterminée, et un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration. Figure pour l’abrégé : Figure 7
Description
Domaine technique de l'invention
La présente invention concerne de manière générale le domaine technique de la compression du débit de données pour la transmission du contenu vidéo de ces données.
Elle concerne en particulier la compression dite « scalable » consistant à utiliser une couche de base et une ou plusieurs couches d’amélioration pour compresser les données.
Etat de la technique
Les données représentatives d’un contenu vidéo peuvent être compressées en une couche de base et une ou plusieurs couches d’amélioration. Une norme de compression scalable comme SHVC peut être utilisée. Cette dernière se base sur le principe d’une adaptation d’une grandeur d’une couche à l’autre. Par exemple cette grandeur peut être la résolution spatiale où chaque couche d’amélioration possède une résolution supérieure à celle de la précédente. Cette structure couche de base/couches d’amélioration permet d’adapter la résolution spatiale, par exemple en fonction des conditions de transmission du flux.
Les normes de compression scalables telles que SHVC tel que défini dans le document de l’ITU-T, H.265,High efficiency video coding, 04/2015, mettent en œuvre une architecture de codage complexe entrainant des temps de traitement très élevés et une latence accrue.
L’invention propose notamment de résoudre les problèmes précités.
Présentation de l'invention
Dans ce contexte l’invention propose un procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration. Le procédé comprend pour au moins une image de la séquence vidéo,
- une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le procédé comprenant en outre
- un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble comprenant au moins une résolution spatiale prédéterminée, et
- un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration.
L’invention permet dans un schéma de compression scalable, une adaptation de la résolution spatiale au niveau du bloc de l’image. Les blocs partitionnant des contenus hétérogènes d’une image (par exemple des contenus naturels) peuvent alors être codés en utilisant pour chacun une résolution spatiale de codage adaptée. Cela offre une meilleure restitution de l’image lorsque celle-ci est décodée. Par ailleurs, en réutilisant des décisions prises lors de l’encodage de la couche de base, et en utilisant au moins une résolution spatiale prédéterminée, on obtient un procédé d’encodage à très faible complexité avec peu de calculs. En d’autres termes, l’invention n’est pas un procédé de codage standard coûteux en termes de puissance de calcul mais un procédé ayant une complexité très basse ainsi qu’une latence réduite.
D’autres caractéristiques non limitatives et avantageuses du produit/procédé conforme à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes.
De préférence ledit ensemble de résolutions spatiales prédéterminées peut comprendre au moins ladite résolution spatiale initiale.
Ainsi, si la résolution spatiale de codage correspond à la résolution spatiale initiale, le traitement du bloc et donc le nombre de calculs lors de son encodage, est limité.
Dans un premier mode de mise en œuvre, la détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre
- une évaluation du coût de débit-distorsion pour ledit bloc pour au moins deux résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage du bloc de la deuxième image en fonction des coûts de débit-distorsion évalués.
Ce mode de mise en œuvre présente une faible complexité et permet que plusieurs résolutions spatiales possibles soient testées, afin de pouvoir choisir celle offrant le meilleur compromis entre le débit nécessaire et la distorsion résultant du codage. La limitation du nombre de résolutions spatiales à tester permet de maitriser le nombre de calculs.
La résolution spatiale de codage déterminée peut être associée au coût de débit-distorsion évalué le plus bas. Ce mode de mise en œuvre offre l’avantage d’être particulièrement simple à mettre en œuvre.
Le procédé peut comprendre en outre :
- une analyse du contenu dudit bloc de la deuxième image, et
- une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé, et si l’une des résolutions spatiales sélectionnées est adaptée au contenu analysé dudit bloc, la résolution spatiale de codage est déterminée à partir de ladite résolution spatiale adaptée, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
Par ailleurs, la détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre en outre
- une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé,
- une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé appartenant au voisinage dudit bloc de la deuxième image, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage déterminée pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
La détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre en outre, si aucune résolution spatiale n’est adaptée au contenu analysé dudit bloc, une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé du voisinage, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
Les trois exemples précités permettent que les blocs appartenant à des zones de l’image ayant un contenu homogène en termes de détails ou de contours, se voient attribuer la même résolution spatiale de codage. Ainsi, les changements trop fréquents de résolution spatiale de codage, qui peuvent nuire à la qualité visuelle, sont évités.
Selon un autre mode de mise en œuvre, le codage d’au moins un bloc de la première image peut comprendre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une détermination dans la première image de référence, d’un premier bloc dit de prédiction et d’un premier vecteur de mouvement pointant sur le premier bloc de prédiction,
et dans lequel la détermination de la résolution spatiale de codage dudit bloc de la deuxième image comprend
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence, ledit deuxième bloc de référence étant associé une ou plusieurs résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage dudit bloc de la deuxième image à partir des une ou plusieurs résolutions spatiales prédéterminées du deuxième bloc de référence.
Cet autre mode de mise en œuvre présente notamment deux avantages, à savoir la cohérence temporelle des choix de résolution et un coût en signalisation nul, car le décodeur peut mettre en œuvre des étapes identiques.
Ledit deuxième bloc de référence ayant une résolution spatiale prédéterminée, la résolution spatiale de codage du bloc de la deuxième image peut être inférée à partir de ladite résolution spatiale prédéterminée du deuxième bloc de référence.
Par exemple, la résolution spatiale de codage dudit bloc de la deuxième image peut être déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
Dans un autre exemple, si la proportion d’une résolution spatiale prédéterminée associée au deuxième bloc de référence est supérieure à un seuil prédéterminé, la résolution spatiale de codage dudit bloc de la deuxième image peut être déterminée à partir de ladite résolution spatiale prédéterminée, sinon la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
La mise en place de ce seuil prédéterminé associé à une résolution spatiale prédéterminée (par exemple la résolution spatiale initiale), permet de limiter les risques de pertes de détails importants de l’image.
Le codage desdites informations représentatives dudit au moins un bloc de la deuxième image peut comprendre
- un sous-échantillonnage dudit au moins un bloc de la deuxième image pour obtenir un bloc intermédiaire à une résolution spatiale de codage, si la résolution spatiale de codage est inférieure à la résolution spatiale initiale,
- un sur-échantillonnage à ladite résolution spatiale de codage, du bloc de la première image correspondant audit bloc de la deuxième image, si la résolution spatiale dudit bloc de la couche de base est inférieure à ladite résolution spatiale de codage dudit deuxième bloc de la deuxième image,
- la détermination des données représentatives dudit au moins un bloc de la deuxième image en fonction du bloc de la première image sur-échantillonné et dudit au moins un bloc sous-échantillonné de la deuxième image, et
- le codage desdites informations représentatives dudit au moins un bloc de la deuxième image.
L’invention propose également un procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit décodage comprenant en outre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un dispositif de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, le dispositif étant configuré pour mettre en œuvre pour au moins une image de la séquence vidéo,
- une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le dispositif étant en outre configuré pour mettre en œuvre
- un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble comprenant au moins une résolution spatiale prédéterminée, et
- un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration.
L’invention propose également un dispositif de décodage d’un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un dispositif de décodage d’un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit dispositif de décodage étant en outre configuré pour mettre en œuvre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres.
Description détaillée de l'invention
De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où :
Bien entendu, diverses autres modifications peuvent être apportées à l’invention dans le cadre des revendications annexées.
Lafigure 1représente un système formé d’un encodeur 100 et d’un décodeur 150 adapté à la compression vidéo en une couche de base et une ou plusieurs couches d’amélioration. On considère ici qu’une couche d’amélioration possède une résolution spatiale supérieure à la couche de base et à la couche d’amélioration précédente. L’encodeur 100 reçoit en entrée des images 105 formant une séquence vidéo. Par exemple ces images ont une résolution élevée UHD pour « Ultra High Definition » en anglais, correspondant à 3840 pixels par 2160 pixels.
Une image UHD est fournie à l’entrée d’un module 110 qui permet de la sous-échantillonner et de délivrer une image 115 avec une résolution inférieure à l’image d’entrée (ici HD pour « High Definition » en anglais, correspondant à 1920 pixels par 1080 pixels).
En variante, les images 105 peuvent être par exemple au format dit 8k (7680 pixels par 4320 pixels) et sous-échantillonnée au format UHD.
Le codage de l’image sous-échantillonnée 115 permet d’obtenir des données codées pour la couche de base. Pour ce faire, l’image 115 est partitionnée en blocs, chaque bloc étant codé par un module de codage 120 (par exemple correspondant à un module de codage de type HEVC), selon une norme de codage connu de l’homme du métier, par exemple HEVC. La référence 125 symbolise un bloc codé pour la couche de base, délivré par le module de codage120.
L’image UHD est également fournie en entrée d’un autre module de codage 130 pour le codage des données formant une couche d’amélioration. On considère dans cet exemple une seule couche d’amélioration, un dispositif de codage pour plusieurs couches d’amélioration étant facilement déductible de cet exemple, en démultipliant les modules de codage pour les différentes couches d’amélioration.
Cet autre module de codage 130 reçoit en entrée des informations de codage 117 du module de codage 120 pour la couche de base. Ces informations de codage 117 comme expliqué plus en détail ci-après, comprennent notamment une taille d’un bloc de la couche de base. L’autre module de codage 130 peut partitionner l’image UHD en différentes blocs dont la taille initiale est inférée de la taille du bloc de la couche de base.
Si la couche de base comprend des blocs de différentes tailles, la taille initiale d’un bloc pour la couche d’amélioration est inférée de la taille du bloc correspondant pour la couche de base.
Comme illustré sur lafigure 4, un bloc correspondant 415 pour une couche de base 405 a une même position spatiale qu’un bloc considéré 435 d’une couche d’amélioration 425.
L’autre module de codage 130 comprend des moyens pour déterminer une résolution spatiale pour les blocs de la couche d’amélioration. Ces moyens sont aptes à déterminer la résolution spatiale d’un bloc à partir d’un ensemble de résolutions spatiales, comprenant au moins une résolution spatiale prédéterminée.
La résolution spatiale d’un bloc représente un nombre de pixels dans le bloc. Elle s’exprime généralement comme étant le produit entre le nombre de pixels selon une première direction (horizontale par exemple) et le nombre de pixels selon une deuxième direction (verticale par exemple). La résolution spatiale initiale d’un bloc correspond au nombre de pixels dans un bloc, à l’issue du partitionnement de l’image en blocs. La résolution spatiale du bloc peut être modifiée en le sous ou sur-échantillonnant selon une ou deux directions. Par exemple, la résolution spatiale initiale d’un bloc pour la couche d’amélioration peut être de 2N pixels par 2N pixels (où N=8 par exemple). Si le bloc est sous-échantillonné dans la direction verticale, on obtient une résolution spatiale 2N*N pour le bloc.
Lafigure 5illustre des exemples de résolutions spatiales pouvant appartenir à l’ensemble de résolutions spatiales précité. Sont représentées quatre exemples de résolutions spatiales différentes pour un bloc (N*N, 2N*N, N*2N et 2N*2N), où N est un entier qui représente un nombre de pixels.
On se réfère à nouveau à la figure 1. L’autre module de codage 130 est configuré pour déterminer un résidu se rapportant à une différence entre le bloc pour la couche d’amélioration considéré et un bloc correspondant reconstruit (c’est-à-dire codé puis décodé selon un procédé bien connu de l’homme du métier) 116 fourni par le module de codage 120 pour la couche de base. Ce résidu est codé et délivré en sortie de l’encodeur 135.
Le décodeur 150 reçoit en entrée un flux binaire comprenant des données encodées représentatives des images UHD 105. Un module de décodage 160 apte à décoder des données codées selon la norme utilisée par l’encodeur 100, décode des blocs codés 125 pour la couche de base, et délivre des blocs décodés 165 à la résolution HD. Le bloc décodé 165 correspond ici au bloc 116 reconstruit après encodage pour la couche de base.
Un autre module de décodage 170 est apte à décoder un flux binaire comprenant des données codées correspondant aux résidus 135 pour la couche d’amélioration. Le module de décodage 170 fournit un bloc décodé 175 à la résolution UHD, à partir du bloc correspondant décodé 165 pour la couche de base, et aux données décodées se rapportant au résidu 135.
Pour fournir le bloc décodé 175, l’autre module de décodage 170 peut également recevoir en entrée des informations de codage 167 du module de décodage 160 pour la couche de base. Alternativement, ces informations de codage 167 peuvent être obtenues du flux binaire fourni en entrée de l’autre module de décodage 170.
En fonction du niveau de résolution spatiale souhaité par un utilisateur final, le décodeur 150 fournit un bloc décodé 176 correspondant au bloc ayant une résolution spatiale supérieure (UHD) 175 ou inférieure (HD) 165.
Lafigure 2illustre un exemple de procédé de codage selon l’invention, mis en œuvre par l’encodeur 100 de la figure 1.
Une première étape E200 comprend une réception d’images ayant une résolution spatiale supérieure (par exemple UHD). Dans une étape E210, ces images UHD R205 sont sous-échantillonnées de façon à obtenir des images R215 ayant une résolution spatiale inférieure (par exemple HD). Le mot image est à interpréter ici dans un sens large. Il peut désigner une image avec plusieurs composantes dans le cas d’une image au format YCbCr par exemple, ou une seule de ces composantes, ou encore une sous-partie spatiale (ou portion) d’une image à plusieurs composantes ou de l’une de ses composantes.
Au moins une image sous-échantillonnée R215 est partitionnée en blocs puis codée bloc par bloc dans une étape E230 pour générer la couche de base R235.
Les images (au moins une) ayant la résolution spatiale supérieure R205 sont également partitionnées en blocs et codée bloc par bloc lors d’une étape de codage E220 pour générer les données de la couche d’amélioration. Cette étape E220 utilise également des informations d’encodage R236 qui comprennent des informations de taille de blocs pour la couche de base. Ces informations d’encodage R236 sont utilisées pour le partitionnement en blocs lors de l’étape de codage E220 pour la couche d’amélioration, la taille initiale d’un bloc pour la couche d’amélioration étant inférée de la taille du bloc correspondant pour la couche de base.
Le codage d’un bloc pour la couche d’amélioration comprend également la détermination de la résolution spatiale du bloc comme expliqué plus en détail en référence à la figure 6.
Pour chaque bloc de la couche d’amélioration codé, un résidu est obtenu, à partir de la différence entre le bloc pour la couche d’amélioration et d’un bloc correspondant pour la couche de base R235. Ce résidu est encodé et fourni en sortie de l’étape de codage E225.
Les résidus codés pour la couche d’amélioration R225 et les blocs de la couche de base codés sont ensuite transmis vers un récepteur couplé au décodeur dans une étape E240. Les données pour la couche de base et la couche d’amélioration peuvent être transportées conjointement sur un même réseau de distribution ou bien sur deux réseaux distincts qui pourraient être de nature différente. Par exemple, les données codées relatives à la couche de base peuvent être transportées en diffusion numérique terrestre alors que les données codées relatives à la ou les couches d’amélioration seraient transmises via une connexion internet à des récepteurs capables de fonctionner à des résolutions spatiales plus élevées.
Lafigure 3illustre un exemple de procédé de décodage d’un flux binaire comprenant des données codées représentatives d’une séquence vidéo selon l’invention. Ce procédé peut être mis en œuvre par le décodeur 150 de la figure 1.
Dans une première étape E300, des données codées R305 sont obtenues, par exemple via un récepteur apte à recevoir un flux binaire scalable en résolution spatiale. Une étape E320 permet un décodage des données représentatives de la couche de base pour délivrer des images R325 de la séquence vidéo à la résolution spatiale inférieure HD.
Dans une autre étape E310, les données représentatives de la couche d’amélioration parmi les données obtenues R305 sont décodées à l’aide des images HD décodées R325, comme expliqué plus en détail ci-après.
A l’issue de cette étape de décodage E310 sont délivrées des images R315 de la séquence vidéo à la résolution spatiale supérieure UHD.
Finalement une sélection E330 est effectuée pour choisir une séquence vidéo R335 en fonction des contraintes de l’utilisateur.
Lafigure 6détaille l’étape de codage d’un bloc pour la couche d’amélioration E220. On considère une image de résolution spatiale supérieure (UHD dans cet exemple) R205. Celle-ci est partitionnée en blocs dans une étape E610, où la taille initiale des blocs est inférée depuis la taille des blocs correspondants dans la couche de base R236. Chaque bloc issu du partitionnement a une résolution spatiale initiale.
Pour au moins un bloc E615 résultant de l’étape de partitionnement E610, on détermine alors une résolution spatiale de codage dans une étape E620. Cette résolution spatiale de codage R625 est déterminée à partir d’un ensemble de résolutions spatiales de codage comprenant au moins une résolution spatiale prédéterminée comme détaillée sur les figures 8 et 10 ci-après, décrivant chacune un mode de mise en œuvre de cette étape de détermination E620.
La résolution spatiale de codage peut être différente de la résolution initiale d’un bloc, car plus adaptée au contenu du bloc et/ou plus proche des résolutions spatiales des blocs voisins impliquant une plus grande homogénéité dans le rendu de l’image et/ou ayant un coût débit et de distorsion plus faible.
Un résidu représentatif du bloc pour la couche d’amélioration et une information représentative de la résolution spatiale de codage sont ensuite codés dans une étape E630 comme expliqué en référence à la figure 2. On obtient un résidu et une information de résolution spatiale de codage encodé R225 pour le bloc concerné. Les étapes E620 et E630 peuvent être répétées pour chaque bloc résultant du partitionnement (ou seulement une partie) de chaque image de la séquence vidéo.
On se réfère à présent à lafigure 7qui illustre un premier mode de réalisation du module de décodage 130 pour la couche d’amélioration des images. La figure 8 décrite ci-après décrit un premier mode pouvant être mis en œuvre par ce module de décodage.
Une image à résolution spatiale supérieure 105 est délivrée en entrée d’un module de partitionnement en blocs 710. Ce partitionnement est réalisé en fonction de la taille 117 des blocs correspondant dans la couche de base.
Un bloc 106 est délivré à un moyen de détermination 720 de la résolution spatiale de codage du bloc.
Le bloc 106 a une résolution spatiale initiale résultant du partitionnement. Par exemple, cette résolution spatiale initiale est de 2N*2N.
Le moyen de détermination 720 reçoit en entrée une consigne d’une résolution spatiale de codage à tester 745 d’un module de décision 740. Ce module fonctionnel a pour rôle de choisir la résolution spatiale offrant le meilleur compromis débit-distorsion. Dans un premier temps, le module de décision 740 envoie successivement la consigne de coder le bloc considéré 106, choisie parmi l’ensemble contenant les résolutions spatiales possibles prédéterminées. Dans la suite de la description, il est considéré que les résolutions spatiales à tester sont les quatre résolutions représentées sur la figure 5. Cela permet d’avoir suffisamment de possibilités pour pouvoir adapter la résolution spatiale du bloc pour la couche d’amélioration au plus près du contenu de l’image, tout en limitant le nombre de calculs à effectuer par le module de codage pour la couche d’amélioration 130. En fonction des contraintes de codage et/ou des d’images à encoder, il est possible de réduire ou d’augmenter le nombre de résolutions spatiales à tester.
Le module de décision 740 est apte à estimer le coût en débit et la distorsion associés à chacune de ces résolutions spatiales testées. Pour ce faire, la résolution spatiale à tester 725 est transmise à la chaîne de codage 730 - 780.
Un premier module 730 est un module de sous-échantillonnage qui sous-échantillonne le bloc 106 si la résolution spatiale à tester 725 est inférieure à une résolution spatiale initiale qui est ici la résolution spatiale maximale possible pour le bloc 106. Un bloc possiblement sous-échantillonné 735 est délivré en sortie.
Un résidu 755 est généré par un module de soustraction 750 à partir du bloc sous-échantillonné 735 et d’un bloc à soustraire 705 obtenu à partir du bloc de la couche de base correspondant au bloc 106 considéré pour la couche d’amélioration. Le bloc à soustraire 705 est délivré par un module de sur-échantillonnage 700 apte à sur-échantillonner le bloc correspondant de la couche de base 116 si la résolution spatiale à tester 725 est supérieure à la résolution spatiale du bloc correspondant 116. Le module de soustraction 750 délivre un résidu 755.
Les modules fonctionnels 760, 770 et 780 peuvent être identiques à des modules que l’on peut trouver dans le module de codage pour la couche de base 120. Ils ont pour but de traiter et d’encoder, dans la résolution spatiale à tester choisie, les résidus résultant de la différence entre le bloc source venant de la couche d’amélioration et du bloc décodé venant de la couche de base.
Un module de transformation 760 est configuré pour délivrer un bloc 765 de coefficients en appliquant sur le résidu 755, une transformation, par exemple DCT (« Discrete Cosinus Transform » en anglais) bien connue de l’homme du métier.
Un module de quantification 770 est apte à quantifier ici uniformément, les coefficients. Le résultat 775 est ensuite codé par un module de codage entropique 780 pour délivrer le résidu codé 135.
Le module de codage entropique 780 est dans ce mode de réalisation, couplé au module de décision 740 de façon à lui fournir des informations de codage pour la résolution spatiale testée. Le module de décision peut ainsi calculer le coût de débit et la distorsion pour la résolution spatiale testée.
Ainsi dans un second temps, une fois toutes les résolutions spatiales testées, le module de décision 740 est apte à déterminer la résolution optimale en termes de coût débit-distorsion qui est la résolution spatiale de codage pour le bloc 106 considéré. Cette résolution de codage (par exemple 2N*N) est transmise au module de détermination 720 afin qu’il initie la boucle d’encodage finale avec la résolution spatiale de codage permettant d’obtenir le flux binaire de sortie représentant le bloc considéré de l’image à coder. Le module de codage entropique 780 fourni le résidu encodé 135 et une information codée 136 représentative de la résolution spatiale de codage.
En variante, le module de détermination 720 peut également être configuré pour affiner la décision prise par le module de décision 740 lors de l’étude du coût débit-distorsion. Pour ce faire, ce module 740 est configuré pour analyser à la fois des données représentatives du contenu du bloc considéré 106 (par exemple à l’aide d’une analyse des gradients au sein du bloc) et/ou par exemple la résolution choisie lors du précédent codage des blocs voisins au bloc considéré. En fonction de cette analyse, la consigne de résolution spatiale de codage 725 transmise à la boucle de codage pour le codage final peut être différente de celle obtenue par le module de décision 720 suite à l’évaluation de coût débit-distorsion. En effet, pour le bloc considéré, si le coût associé à la résolution choisie pour un bloc voisin est proche du coût optimal trouvé, celle-ci sera préférée à celle ayant le coût optimal. De cette manière, les blocs appartenant à des zones de l’image ayant un contenu homogène en termes de détails ou de contours se verront attribuer la même résolution spatiale de codage. Ainsi, les changements trop fréquents de résolution de codage, qui peuvent nuire à la qualité visuelle, sont évités.
Lafigure 8représente un organigramme pour un premier mode de mise en œuvre d’un procédé de codage selon l’invention, en particulier pour générer la couche d’amélioration.
Comme déjà présenté en référence à la figure 6, une image de résolution supérieure est reçue, R205, celle-ci est partitionnée en blocs, étape E610, la taille initiale d’au moins un bloc étant inférée de la taille du bloc correspondant dans la couche de base R236.
Pour au moins un bloc résultant R615, la détermination de sa résolution spatiale de codage, étape E620, comprend une étape E821 de choix d’une première résolution spatiale de codage à tester. Ce choix est effectué parmi un ensemble de résolutions spatiales prédéterminées R827. Par exemple ces résolutions spatiales prédéterminées peuvent comprendre les quatre résolutions spatiales représentées sur la figure 5. Pour une résolution spatiale choisie à tester R822, un codage du bloc pour la couche d’amélioration est effectué dans une étape E823. Un résidu encodé R824 est obtenu pour la résolution spatiale choisie testée. Si d’autres résolutions spatiales doivent encore être testées, étape E825, les étapes E821, E823 et E825 sont répétées jusqu’à ce que toutes les résolutions spatiales à tester l’ait été.
Puis, dans une étape E826, une résolution spatiale de codage pour le bloc de la couche d’amélioration est sélectionnée. La sélection peut être effectuée sur un critère de coût du débit et de distorsion associé au codage pour une résolution spatiale choisie. La résolution spatiale de codage peut être celle générant un coût de débit et de distorsion le plus faible. Mais la sélection peut être faite en se basant sur des critères supplémentaires comme décrit ci-avant. Par exemple, une analyse du contenu du bloc considéré peut être faite (en détectant des frontières dans le bloc d’image). Une résolution spatiale mieux adaptée à ce contenu (par exemple une résolution spatiale dite « horizontale » 2N*N pour se superposer à une frontière verticale détectée dans le bloc d’image) peut être déterminée. Dans ce cas, si la différence de coût de débit et de distorsion entre la résolution spatiale adaptée et la résolution spatiale testée ayant le coût débit distorsion le plus bas pour le bloc considéré est inférieure à un seuil prédéterminé, la résolution spatiale adaptée au contenu sera privilégiée pour être la résolution spatiale de codage du bloc considéré pour la couche d’amélioration.
Selon un autre exemple, la résolution spatiale d’un ou de plusieurs blocs voisins peut être obtenue (par exemple le voisin adjacent haut et/ou gauche), et si la différence de coût de débit et de distorsion entre cette résolution spatiale du bloc voisin et la résolution spatiale testée ayant le coût débit distorsion le plus bas pour le bloc considéré est inférieure à un seuil prédéterminé et si par exemple une analyse de contenu (détection de contours et de textures) révèle une similarité entre le bloc voisin et le bloc considéré, la résolution spatiale du voisin va être privilégiée pour être la résolution spatiale de codage du bloc considéré. Cet exemple permet d’améliorer l’homogénéité au sein d’une image, en privilégiant les mêmes résolutions spatiales pour des blocs voisins.
Selon un dernier exemple, les différents critères peuvent être étudiés successivement, afin de privilégier pour le bloc considéré, d’abord une résolution spatiale de codage adaptée au contenu, puis si ce n’est pas opportun, une résolution spatiale de codage homogène à celle de ses voisins, puis si le critère de seuil et/ou un critère de similarité de contenu n’est pas rempli, la résolution spatiale ayant le coût de débit et de distorsion le plus bas. L’enchaînement des deux premiers critères respectivement lié au contenu et au voisinage du bloc considéré, peut être interchangé.
Finalement une résolution spatiale de codage R625 est obtenue. Le bloc considéré pour la couche d’amélioration est codé en fonction de cette résolution spatiale de codage durant l’étape E630 pour délivrer le résidu encodé R225.
Les figures 9 et 10 suivantes se rapportent respectivement à un deuxième mode de réalisation d’un module de codage 130 et un deuxième mode de mise en œuvre d’un procédé de codage pouvant être implémenté dans le module de la figure 9.
On se réfère donc à présent à lafigure 9qui illustre le deuxième mode de réalisation du module de codage 130 pour la couche d’amélioration des images.
De même que pour le premier mode de réalisation, un module de partitionnement 910 découpe une image 105 à la résolution spatiale supérieure en blocs, en inférant une taille initiale des blocs à partir de la taille des blocs correspondant pour la couche de base 117.
Un module de détermination 900 reçoit du module 120 pour le codage de la couche de base un vecteur de mouvement 117 pointant sur un premier bloc de référence dans une première image de référence, ce premier bloc de référence étant utilisé pour le codage du bloc correspondant 116. Plus précisément, le codage du bloc correspondant peut intégrer une prédiction pour prédire tout ou partie des données de ce bloc 116 à partir du bloc de référence, selon des modes de prédiction dits INTER bien connu de l’homme du métier. Par exemple, l’image de référence peut être la couche de base d’une autre image précédant temporellement l’image 105 considérée.
Le vecteur de mouvement provient des informations 117 transmises par le module pour le codage de la couche de base 120 au module pour le codage de la couche d’amélioration 130. Il est mis à l’échelle de façon à pointer vers un deuxième bloc de référence dans une deuxième image de référence correspondant à une couche d’amélioration de la première image de référence. Le vecteur de mouvement mis à l’échelle pointe alors sur un deuxième bloc de référence dans la deuxième image de référence.
Ce principe est illustré sur lafigure 11. On considère une image à un instant T représentée par une couche de base 1120 et une couche d’amélioration 1130. La couche de base 1120 comprend un bloc 1121 (correspondant par exemple au bloc 116 de la figure 9) correspondant à un bloc 1122 dans la couche d’amélioration 1130. L’image de référence pour coder cette image à l’instant T est l’image de la même séquence vidéo à T-1.
Cette image de référence comprend une couche de base 1100 et une couche d’amélioration 1110. La couche de base 1100 comprend un bloc de référence source 1102 utilisé pour prédire le bloc 1121 de l’image à l’instant T. Le vecteur de mouvement est un vecteur 1103 pointant sur le bloc de référence source 1102 depuis un bloc 1101 à la même position spatiale que le bloc à prédire 1121 mais dans la couche de base 1100 de l’image de référence. Ce premier vecteur de mouvement 1103 mis à l’échelle donne un deuxième vecteur de mouvement 1113 pointant depuis un bloc 1111 correspondant au bloc 1101, vers un deuxième bloc de référence 1112 pour la couche d’amélioration.
A noter que l’image de référence peut être une portion de l’image déjà codée à l’instant T, par exemple lorsque le codage inclut un mode de prédiction dit « INTRA Block Copy ».
On se rapporte à nouveau à la figure 9. Le module de détermination 900 est configuré pour obtenir depuis les informations 117, la résolution spatiale du deuxième bloc de référence sur lequel pointe le vecteur de mouvement mis à l’échelle, selon le principe explicité en référence à la figure 11. Cette résolution spatiale du deuxième bloc constitue une résolution spatiale prédéterminée.
Par exemple, si le deuxième bloc de référence se superpose à plusieurs blocs dans la deuxième image de référence, définis lors du précédent codage de la deuxième image de référence, ces blocs ayant des résolutions spatiales différentes (formant un ensemble de résolutions spatiales prédéterminés), dans ce cas la résolution spatiale de codage du bloc considéré 106 peut être inférée à partir de la résolution spatiale qui est majoritaire.
Par exemple, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée pour inférer la résolution spatiale du bloc considéré 106.
Une fois une résolution spatiale de codage 905 obtenue par le module de détermination 900, elle est utilisée pour coder le bloc considéré 106, à l’aide de la boucle de codage 940-970 qui peut être semblable à celle utilisée pour coder un bloc d’une couche de base.
Un premier module 930 est un module de sous-échantillonnage qui sous-échantillonne le bloc 106 si la résolution spatiale de codage 905 est inférieure à une résolution spatiale initiale qui est ici la résolution spatiale maximale possible pour le bloc 106. Un bloc possiblement sous-échantillonné 935 est délivré en sortie.
Un résidu 945 est généré par un module de soustraction 940 à partir du bloc sous-échantillonné 935 et d’un bloc à soustraire 925 obtenu à partir du bloc de la couche de base correspondant au bloc 106 considéré pour la couche d’amélioration. Le bloc à soustraire 925 est délivré par un module de sur-échantillonnage 920 apte à sur-échantillonner le bloc correspondant de la couche de base 116 si la résolution spatiale de codage 905 est supérieure à la résolution spatiale du bloc correspondant 116. Le module de soustraction 940 délivre un résidu 945.
Les modules fonctionnels 950, 960 et 970 peuvent être identiques à des modules que l’on peut trouver dans le module de codage pour la couche de base 120. Ils ont pour but de traiter et d’encoder, dans la résolution spatiale de codage, les résidus résultant de la différence entre le bloc source venant de la couche d’amélioration et du bloc décodé venant de la couche de base.
Un module de transformation 950 est configuré pour délivrer un bloc 955 de coefficients DCT en appliquant sur le résidu 945, une transformation dite DCT (« Discrete Cosinus Transform » en anglais) bien connue de l’homme du métier.
Un module de quantification 960 est apte à quantifier ici uniformément, les coefficients. Le résultat 965 est ensuite codé par un module de codage entropique 970 pour délivrer le résidu codé 135.
A noter que le premier ou le deuxième mode de mise en œuvre du procédé de codage peut être utilisé pour coder une séquence vidéo complète. Ils peuvent également être utilisés tous les deux pour une même séquence vidéo, le premier mode étant privilégié pour les images dites INTRA et le deuxième pour les images dites INTER, mettant en œuvre de la prédiction temporelle entre deux images successives. Pour mettre en œuvre cette dernière solution, le dispositif résultant devra implémenter en série les deux structures représentées sur les figures 7 et 9.
En variante le deuxième mode de mise en œuvre du procédé (figure 8) peut être couplé à un autre mode de compression pour les couches d’amélioration comme SHVC, l’un ou l’autre mode pouvant être sélectionné selon le type d’image considérée.
On se réfère à lafigure 10qui décrit les étapes d’un deuxième mode de mise en œuvre de codage d’un bloc pour la couche d’amélioration.
Comme déjà décrit précédemment, une image R605 à une résolution spatiale supérieure est partitionnée, étape E610, à l’aide de la taille des blocs correspondant pour la couche de base R236. Pour au moins un bloc R615 résultant, une étape de codage E620 comprend une étape E1033 de détermination de la résolution spatiale de codage du bloc.
La détermination de la résolution spatiale de codage reçoit en entrée une ou plusieurs résolutions spatiales prédéterminées R1032, déterminées à partir d’une première image de référence R1022 obtenue au cours d’une étape E1021. Cette première image de référence peut être la couche de base de l’image de la séquence vidéo considérée à l’instant précédent (T-1). Un premier vecteur de mouvement R1024 est obtenu à l’étape E1023, ce premier vecteur de mouvement pointant vers un premier bloc de référence servant à la prédiction du bloc de la couche de base correspondant au bloc considéré R615.
Ce premier vecteur de mouvement est mis à l’échelle, étape E1025, de façon à avoir un deuxième vecteur de mouvement R1026 pointant sur un deuxième bloc de référence dans une deuxième image de référence R1029 obtenue au cours d’une étape E1028. Cette deuxième image de référence correspond dans cet exemple à la couche d’amélioration de l’image de la séquence vidéo considérée à l’instant précédent (T-1). On a donc un deuxième bloc de référence R1030, à l’étape E1027, dans la deuxième image de référence R1029.
A partir de ce deuxième bloc de référence R1030, on obtient une ou plusieurs résolutions spatiales R1032 associées à ce deuxième bloc de référence à l’étape E1030, comme expliqué ci-avant, en référence à la figure 9.
La résolution spatiale de codage est déterminée à l’étape E1033 à partir de la ou des résolutions spatiales reçues R1032.
Ainsi, comme expliqué ci-avant, si plusieurs résolutions spatiales R1032 sont reçues car le deuxième bloc de référence contient plusieurs résolutions spatiales différentes, la résolution spatiale de codage déterminée pour le bloc considéré R615 peut être inférée à partir de la résolution spatiale qui est majoritaire à l’étape E1033.
Par ailleurs, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée à l’étape E1033 pour inférer la résolution spatiale du bloc considéré R615.
La résolution spatiale de codage R615 déterminée est utilisée pour coder le bloc pour la couche d’amélioration à l’étape E1033. Finalement, le résidu codé R225 est délivré.
Les figures 12 et 13 se rapportent respectivement à un premier mode de réalisation d’un module de décodage pour une couche d’amélioration et d’un procédé de décodage pouvant être mis en œuvre par le premier mode de réalisation du module de décodage.
Lafigure 12représente un module de décodage 170 d’un décodeur 150, selon un premier mode de réalisation de l’invention. Ce premier mode de réalisation correspond au cas où l’encodeur correspondant 100 comprend un module de décodage entropique 780 apte à générer une information codée représentative d’une résolution spatiale de codage pour au moins un bloc, comme illustré sur la figure 7.
Le module de décodage 150 reçoit en entrée un résidu 135 représentatif d’un bloc pour la couche d’amélioration et l’information codée 136 représentative de la résolution spatiale de codage pour ce bloc. Un module de décodage 1210 réalise un décodage entropique du résidu 135 pour délivrer un résidu décodé 1215 ainsi qu’une information décodée 1216 comportant l’information de résolution spatiale de codage associée au bloc associé au résidu 135.
Un module de quantification inverse 1220 est apte à opérer une quantification inverse sur le résidu décodé 1215, afin de délivrer un résidu déquantifié 1225. Un module de transformation inverse 1230 est apte à appliquer une transformée inverse (par exemple une DCT inverse si une DCT a été appliquée à l’encodeur 100) sur le résidu déquantifié pour générer un bloc résiduel 1235 transmis en entrée d’un additionneur 1240. Cet additionneur 1240 reçoit également en entrée un bloc 1205 délivré par un module de sur-échantillonnage 1200.
Ce module 1200 reçoit en entrée la résolution spatiale de codage 1216. Il sur-échantillonne un bloc 165 décodé pour la couche de base correspondant au bloc considéré pour la couche d’amélioration, à cette résolution spatiale de codage 1216.
L’additionneur 1240 peut délivrer un bloc intermédiaire 1245 décodé, à la résolution spatiale de codage.
Un autre module de sur-échantillonnage 1250 est configuré pour sur-échantillonner le bloc intermédiaire à une résolution spatiale finale, si elle est différente de la résolution spatiale de codage 1216, afin d’obtenir un bloc décodé final 175 pour la couche d’amélioration à la résolution spatiale finale correspondant à la résolution spatiale initiale à l’encodeur (2N*2N dans notre exemple).
Lafigure 13représente un organigramme d’un premier mode de mise en œuvre du décodage E310 d’un bloc pour la couche d’amélioration, pouvant être implémenté dans un module de décodage 170 tel qu’illustré sur la figure 12.
Comme déjà mentionné en référence à la figure 3, sont reçues à l’étape E300, des données codées R305. Puis pour au moins un bloc de la couche de base, les données codées représentatives de ce bloc sont décodées à l’étape E320 pour obtenir un bloc décodé R325 pour la couche de base.
L’étape E310 concerne le décodage des données représentatives du bloc correspondant pour la couche d’amélioration.
Une étape E1310 comprend un décodage des informations contenant la résolution spatiale de codage R1315 associée au bloc considéré. Une étape E1320 comprend le décodage des données représentatives du bloc considéré pour la couche d’amélioration. Ces données décodées R1325 sont additionnées à l’étape E1350 avec les données d’un bloc décodé sur-échantillonné R1345 pour la couche de base obtenu lors d’une étape de sur-échantillonnage E1340 du bloc décodé pour la couche de base R325.
Un bloc intermédiaire R1355 à la résolution spatiale de codage est obtenu. Il est sur-échantillonné à l’étape E1360 si la résolution spatiale de codage est différente de la résolution spatiale finale du bloc pour la couche d’amélioration.
On obtient un bloc décodé final pour la couche d’amélioration à la résolution spatiale finale.
Les figures 14 et 15 se rapportent respectivement à un deuxième mode de réalisation du module de décodage pour la couche d’amélioration 170 et un exemple d’un procédé de décodage pour cette couche d’amélioration pouvant être mis en œuvre par le module représenté sur la figure 14. Ce deuxième mode de réalisation correspond au cas où l’encodeur correspondant 100 n’envoie pas au décodeur une information représentative d’une résolution spatiale de codage pour au moins un bloc.
Comme illustré sur lafigure 14le module de décodage 170 reçoit en entrée un résidu 135 représentatif d’un bloc pour la couche d’amélioration. Un module de décodage entropique 1410 est configuré pour mettre en œuvre un décodage entropique du résidu 135. Un résidu décodé 1415 est délivré en sortie du module de décodage entropique 1410. Ce dernier effectue un décodage en fonction d’une information de résolution spatiale de décodage 1445, relative au bloc pour la couche d’amélioration.
Un module de quantification inverse 1420 est apte à opérer une quantification inverse sur le résidu décodé, afin de délivrer un résidu déquantifié 1425. Un module de transformation inverse 1430 est apte à appliquer une transformée inverse (par exemple un DCT inverse) sur le résidu déquantifié pour générer un bloc résiduel 1435 transmis en entrée d’un additionneur 1460. Cet additionneur 1460 reçoit également en entrée un bloc 1455 délivré par un module de sur-échantillonnage 1450.
Ce module 1450 sur-échantillonne un bloc 165 décodé pour la couche de base correspondant au bloc considéré pour la couche d’amélioration, à la résolution spatiale de codage 1445 qu’il reçoit également en entrée.
L’additionneur 1460 peut délivrer un bloc intermédiaire 1435 décodé, à la résolution spatiale de codage 1445.
Un autre module de sur-échantillonnage 1470 est configuré pour sur-échantillonner le bloc intermédiaire à une résolution spatiale finale, si elle est différente de la résolution spatiale de codage 1445, afin d’obtenir un bloc décodé final 175 pour la couche d’amélioration à la résolution spatiale finale correspondant à la résolution spatiale initiale à l’encodeur (2N*2N dans notre exemple).
Pour ce mode de réalisation, l’information de résolution spatiale de codage pour le bloc est déterminée par un module de détermination 1440 en fonction d’un vecteur de mouvement 167 fourni par le module de décodage pour la couche de base 160.
Ce vecteur de mouvement pointe vers un premier bloc de référence dans une première image de référence (par exemple, couche de base d’une image préalablement décodée), ce premier bloc de référence étant utilisé pour prédire le bloc pour la couche de base 165. Le module de détermination est apte à mettre à l’échelle le vecteur de mouvement 167 de façon qu’il pointe vers un deuxième bloc de référence dans une deuxième image de référence (par exemple la couche d’amélioration correspondant à la couche de base formant la première image de référence). Le moyen de détermination 1440 est alors configuré pour inférer la résolution spatiale de codage à partir du deuxième bloc de référence de la même façon que le module 900 du module de codage de la figure 9.
Lafigure 15représente un organigramme d’un mode de mise en œuvre d’un procédé de décodage pouvant être mis en œuvre par le module de la figure 14.
Comme déjà mentionné en référence à la figure 3, le décodeur reçoit à l’étape E300, des données codées R305. Puis pour au moins un bloc de la couche de base, les données codées représentatives de ce bloc sont décodées à l’étape E320 pour obtenir un bloc décodé R325 pour la couche de base.
A l’étape E1530 une première image de référence R1535 (par exemple, couche de base d’une image préalablement décodée) est obtenue. Cette première image de référence est utilisée pour le décodage E320 des données du bloc de la couche de base. A l’étape E1540, est obtenu une deuxième image de référence R1545 à partir de cette première image de référence (par exemple la couche d’amélioration correspondant à la couche de base formant la première image de référence).
A l’étape E1550 un deuxième vecteur de mouvement est obtenu à partir d’un premier vecteur de mouvement R1511 utilisé pour le décodage des données du bloc correspondant pour la couche de base. Ce deuxième vecteur de mouvement pointe vers un bloc de référence R1555 dans la deuxième image de référence.
Une résolution spatiale de codage R1565 est déterminée à l’étape E1560 à partir de la ou des résolutions spatiales inférées depuis le bloc de référence R1555. Comme expliqué en référence à la figure 9, si le bloc de référence se superpose à plusieurs blocs dans la deuxième image de référence, ces blocs ayant des résolutions spatiales différentes (formant un ensemble de résolutions spatiales prédéterminés), dans ce cas la résolution spatiale de codage peut être inférée à partir de la résolution spatiale qui est majoritaire. Dans un autre exemple, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée pour inférer la résolution spatiale du bloc considéré.
A l’étape E1520 les données représentatives d’un bloc pour la couche d’amélioration correspondant au bloc décodé à l’étape E320 sont décodées. Sont obtenues des données représentatives (résidu) du bloc pour la couche d’amélioration R1525. A partir de ces données R1580 est généré un bloc intermédiaire R1585 à l’étape E1580. Ce bloc intermédiaire est sur-échantillonné à l’étape E1590 si sa résolution est différente de la résolution de codage R1565. Le bloc décodé final R315 est obtenu en sortie.
On se réfère à présent à lafigure 16qui illustre une manière particulière, parmi plusieurs possibles, de réaliser un moyen de traitement 1600 (pour un codeur ou un décodeur) configuré pour mettre en œuvre un mode de réalisation d’un procédé selon l’invention. Le moyen de traitement 1600 comprend une mémoire vive 1630 (par exemple une mémoire RAM), une unité de traitement 1610 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte 1620 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 1630 avant d'être exécutées par le processeur de l'unité de traitement 1610. Autrement dit, le programme d’ordinateur exécuté par le processeur, peut comporter des instructions pour la mise en œuvre d’un mode de mise en œuvre d’un procédé de codage ou de décodage, tel que décrit ci-avant.
La figure 16 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le moyen de traitement 1600 afin qu’il effectue certaines étapes du procédé selon l’invention. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le moyen de traitement est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur. Autrement dit, un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un mode de mise en œuvre d’un procédé de codage ou de décodage tel que décrit ci-avant, peuvent être enregistrées sur un support d’enregistrement lisible par un ordinateur.
Il va de soi que les modes de mise en œuvre et de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention.
Claims (17)
- Procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, le procédé comprenant pour au moins une image de la séquence vidéo,
- une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le procédé comprenant en outre
- un partitionnement (610) de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination (620) d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble comprenant au moins une résolution spatiale prédéterminée, et
- un codage de données (630) représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration. - Procédé selon la revendication 1, dans lequel ledit ensemble de résolutions spatiales prédéterminées comprend au moins ladite résolution spatiale initiale.
- Procédé de codage selon la revendication précédente, dans lequel la détermination de la résolution spatiale de codage du bloc de la deuxième image comprend
- une évaluation du coût de débit-distorsion pour ledit bloc pour au moins deux résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage du bloc de la deuxième image en fonction des coûts de débit-distorsion évalués. - Procédé de codage selon la revendication précédente, dans lequel la résolution spatiale de codage déterminée est associée au coût de débit-distorsion évalué le plus bas.
- Procédé selon la revendication 3, comprenant en outre
- une analyse du contenu dudit bloc de la deuxième image, et
- une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé, et si l’une des résolutions spatiales sélectionnées est adaptée au contenu analysé dudit bloc, la résolution spatiale de codage est déterminée à partir de ladite résolution spatiale adaptée, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas. - Procédé de codage selon la revendication 3, dans lequel la détermination de la résolution spatiale de codage du bloc de la deuxième image comprend en outre
- une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé,
- une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé appartenant au voisinage dudit bloc de la deuxième image, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage déterminée pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas. - Procédé de codage selon la revendication 5, dans lequel la détermination de la résolution spatiale de codage du bloc de la deuxième image comprend en outre, si aucune résolution spatiale n’est adaptée au contenu analysé dudit bloc, une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé du voisinage, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
- Procédé de codage selon la revendication 1, dans lequel le codage d’au moins un bloc de la première image comprend
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une détermination dans la première image de référence, d’un premier bloc dit de prédiction et d’un premier vecteur de mouvement pointant sur le premier bloc de prédiction,
et dans lequel la détermination de la résolution spatiale de codage dudit bloc de la deuxième image comprend
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence, ledit deuxième bloc de référence étant associé une ou plusieurs résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage dudit bloc de la deuxième image à partir des une ou plusieurs résolutions spatiales prédéterminées du deuxième bloc de référence. - Procédé de codage selon la revendication 8, dans lequel ledit deuxième bloc de référence a une résolution spatiale prédéterminée, la résolution spatiale de codage du bloc de la deuxième image est inférée à partir de ladite résolution spatiale prédéterminée du deuxième bloc de référence.
- Procédé de codage selon la revendication 8, dans lequel la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
- Procédé de codage selon la revendication 8, dans lequel si la proportion d’une résolution spatiale prédéterminée associée au deuxième bloc de référence est supérieure à un seuil prédéterminé, la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de ladite résolution spatiale prédéterminée, sinon la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
- Procédé selon l’une quelconque des revendications précédentes dans lequel le codage desdites informations représentatives dudit au moins un bloc de la deuxième image comprend
- un sous-échantillonnage dudit au moins un bloc de la deuxième image pour obtenir un bloc intermédiaire à une résolution spatiale de codage, si la résolution spatiale de codage est inférieure à la résolution spatiale initiale,
- un sur-échantillonnage à ladite résolution spatiale de codage, du bloc de la première image correspondant audit bloc de la deuxième image, si la résolution spatiale dudit bloc de la couche de base est inférieure à ladite résolution spatiale de codage dudit deuxième bloc de la deuxième image,
- la détermination des données représentatives dudit au moins un bloc de la deuxième image en fonction du bloc de la première image sur-échantillonné et dudit au moins un bloc sous-échantillonné de la deuxième image, et
- le codage desdites informations représentatives dudit au moins un bloc de la deuxième image. - Procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage (1320) des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
- un décodage (320) des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage (1340) du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage (1360) du bloc décodé intermédiaire pour la couche d’amélioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration. - Procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage (320) des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données (1520) correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit décodage comprenant en outre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration. - Dispositif de codage (100) de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, le dispositif étant configuré pour mettre en œuvre pour au moins une image de la séquence vidéo,
- une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le dispositif étant en outre configuré pour mettre en œuvre
- un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble comprenant au moins une résolution spatiale prédéterminée, et
- un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration. - Dispositif de décodage (150) d’un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration. - Dispositif de décodage (150) d’un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit dispositif de décodage étant en outre configuré pour mettre en œuvre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1900950A FR3092459B1 (fr) | 2019-01-31 | 2019-01-31 | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo |
EP20705242.4A EP3918798A1 (fr) | 2019-01-31 | 2020-01-24 | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo |
US17/427,526 US12022097B2 (en) | 2019-01-31 | 2020-01-24 | Method and device for coding and decoding data corresponding to a video sequence |
PCT/FR2020/050101 WO2020157413A1 (fr) | 2019-01-31 | 2020-01-24 | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1900950A FR3092459B1 (fr) | 2019-01-31 | 2019-01-31 | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo |
FR1900950 | 2019-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3092459A1 true FR3092459A1 (fr) | 2020-08-07 |
FR3092459B1 FR3092459B1 (fr) | 2022-03-18 |
Family
ID=66867458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1900950A Active FR3092459B1 (fr) | 2019-01-31 | 2019-01-31 | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo |
Country Status (4)
Country | Link |
---|---|
US (1) | US12022097B2 (fr) |
EP (1) | EP3918798A1 (fr) |
FR (1) | FR3092459B1 (fr) |
WO (1) | WO2020157413A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11863786B2 (en) * | 2021-05-21 | 2024-01-02 | Varjo Technologies Oy | Method of transporting a framebuffer |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140044168A1 (en) | 2012-08-13 | 2014-02-13 | Qualcomm Incorporated | Device and method for scalable coding of video information |
US12022059B2 (en) * | 2018-12-07 | 2024-06-25 | Beijing Dajia Internet Information Technology Co., Ltd. | Video coding using multi-resolution reference picture management |
-
2019
- 2019-01-31 FR FR1900950A patent/FR3092459B1/fr active Active
-
2020
- 2020-01-24 WO PCT/FR2020/050101 patent/WO2020157413A1/fr unknown
- 2020-01-24 US US17/427,526 patent/US12022097B2/en active Active
- 2020-01-24 EP EP20705242.4A patent/EP3918798A1/fr active Pending
Non-Patent Citations (5)
Title |
---|
"Scalable HEVC (SHVC) Test Model 10 (SHM 10)", 112. MPEG MEETING;22-6-2015 - 26-6-2015; WARSAW; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. N15439, 18 October 2015 (2015-10-18), XP030022159 * |
AUYEUNG C ET AL: "A Use Case and High Level Syntax of SHVC: Scalability Based Region of Interest", 104. MPEG MEETING; 22-4-2013 - 26-4-2013; INCHEON; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m28740, 20 April 2013 (2013-04-20), XP030057273 * |
JILL BOYCE ET AL: "Overview of SHVC: Scalable Extensions of the High Efficiency Video Coding (HEVC) Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 1 January 2015 (2015-01-01), pages 1 - 1, XP055210971, ISSN: 1051-8215, DOI: 10.1109/TCSVT.2015.2461951 * |
JUNG-HWAN LEE ET AL: "Scalable roi algorithm for H.264/SVC-based video streaming", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 57, no. 2, 1 May 2011 (2011-05-01), pages 882 - 887, XP011335728, ISSN: 0098-3063, DOI: 10.1109/TCE.2011.5955236 * |
TRUONG CONG THANG ET AL: "SVC CE8: Spatial scalability of multiple ROIs", 73. MPEG MEETING; 25-07-2005 - 29-07-2005; POZNAN; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. M12321, 20 July 2005 (2005-07-20), XP030041005 * |
Also Published As
Publication number | Publication date |
---|---|
FR3092459B1 (fr) | 2022-03-18 |
EP3918798A1 (fr) | 2021-12-08 |
US20220141475A1 (en) | 2022-05-05 |
US12022097B2 (en) | 2024-06-25 |
WO2020157413A1 (fr) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2991351B1 (fr) | Procédé de décodage d'images | |
FR2894421A1 (fr) | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique | |
EP3183879A1 (fr) | Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés | |
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 | |
FR2932637A1 (fr) | Procede et dispositif de codage d'une sequence d'images | |
EP3318061B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
EP3694209A1 (fr) | Procédé de décodage d'images, dispositif de décodage d'images, et programme d'ordinateur correspondant | |
FR3008840A1 (fr) | Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants | |
EP3198876B1 (fr) | Génération et codage d'images intégrales résiduelles | |
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 | |
EP2633686B1 (fr) | Codage video echelonnable a partir d'un epitome hierarchique | |
WO2020157413A1 (fr) | Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo | |
EP2761871B1 (fr) | Estimation de mouvement au niveau du décodeur par mise en correspondance de modèles | |
EP3479572A1 (fr) | Procédé de codage intra d'une image numérique et procédé de décodage correspondant | |
FR2913163A1 (fr) | Procede et dispositif de transmission de donnees video | |
EP3529987A1 (fr) | Procédé de codage et de décodage de paramètres d'image, dispositif de codage et de décodage de paramètres d'image et programmes d'ordinateur correspondants | |
FR2957744A1 (fr) | Procede de traitement d'une sequence video et dispositif associe | |
FR3143245A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
WO2020058593A1 (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 | |
FR3143247A1 (fr) | Procédé et dispositif de codage et décodage de séquences d’images. | |
FR2978005A1 (fr) | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants | |
FR3098070A1 (fr) | Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat | |
WO2007042539A1 (fr) | Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants | |
FR2920940A1 (fr) | Procede et dispositif de generation d'un flux video | |
FR2931609A1 (fr) | Procedes de codage et de decodage pseudo-hierarchiques et systemes associes. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200807 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
TP | Transmission of property |
Owner name: FONDATION B-COM, FR Effective date: 20220209 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |