FR3086831A1 - Codage et decodage d'une video omnidirectionnelle - Google Patents

Codage et decodage d'une video omnidirectionnelle Download PDF

Info

Publication number
FR3086831A1
FR3086831A1 FR1859067A FR1859067A FR3086831A1 FR 3086831 A1 FR3086831 A1 FR 3086831A1 FR 1859067 A FR1859067 A FR 1859067A FR 1859067 A FR1859067 A FR 1859067A FR 3086831 A1 FR3086831 A1 FR 3086831A1
Authority
FR
France
Prior art keywords
image
view
data
coded
coding
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.)
Withdrawn
Application number
FR1859067A
Other languages
English (en)
Inventor
Joel Jung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR1859067A priority Critical patent/FR3086831A1/fr
Priority to US17/281,463 priority patent/US11653025B2/en
Priority to BR112021005927-0A priority patent/BR112021005927A2/pt
Priority to CN202410246938.5A priority patent/CN118317113A/zh
Priority to JP2021517806A priority patent/JP7520823B2/ja
Priority to PCT/FR2019/052254 priority patent/WO2020070409A1/fr
Priority to CN201980064753.XA priority patent/CN112806015B/zh
Priority to EP19795265.8A priority patent/EP3861751A1/fr
Priority to KR1020217009472A priority patent/KR20210066825A/ko
Publication of FR3086831A1 publication Critical patent/FR3086831A1/fr
Priority to US18/296,073 priority patent/US11973981B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

L'invention concerne un procédé de codage d'une image d'une vue (IVk) faisant partie d'une pluralité de vues, comprenant ce qui suit : - sélectionner (C1) une première ou une deuxième méthode de codage pour coder les données de ladite image, - générer (C10, C12a ; C10, C12b ; C10, C12c) un signal de données contenant une information (flag_proc) indiquant si c'est la première ou la deuxième méthode de codage qui est sélectionnée, - si c'est la première méthode de codage, coder (C11a) les données originales de ladite image, fournissant des données originales codées, - si c'est la deuxième méthode de codage : • coder (C11b) des données traitées de ladite image, lesdites données ayant été obtenues à l'aide d'un traitement d'image appliqué aux données originales de ladite image, fournissant des données traitées codées, • coder (C11b) des informations de description dudit traitement d'image qui a été appliqué.

Description

CODAGE ET DÉCODAGE D’UNE VIDÉO OMNIDIRECTIONNELLE
1. Domaine de l'invention
La présente invention se rapporte de manière générale au domaine des vidéos omnidirectionnelles, telles que notamment les vidéos 360°, 180°, etc. Plus particulièrement, l’invention concerne le codage et le décodage de vues 360°, 180°, etc... qui sont capturées pour générer de telles vidéos, ainsi que la synthèse de points de vue intermédiaires non capturés.
L’invention peut notamment, mais non exclusivement, s’appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), et au décodage vidéo correspondant.
2. Art antérieur
Pour générer une vidéo omnidirectionnelle, telle que par exemple une vidéo 360°, il est courant d’utiliser une caméra 360°. Une telle caméra 360° se compose de plusieurs caméras 2D (deux dimensions) installées sur une plateforme sphérique. Chaque caméra 2D capte un angle particulier d’une scène 3D (trois dimensions), l'ensemble des vues captées par les caméras permettant de générer une vidéo représentant la scène 3D selon un champ de vision à 360°x180°. Il est aussi possible d’utiliser une seule caméra 360° pour capturer la scène 3D selon un champ de vision 360°x180°. Un tel champ de vision peut bien sûr être moins grand, par exemple à 270°x135°.
De telles vidéos 360° permettent alors à l'utilisateur de regarder la scène comme s'il était placé au centre de celle-ci et de regarder tout autour de lui, à 360°, fournissant ainsi une nouvelle manière de regarder des vidéos. De telles vidéos sont en général restituées sur des casques de réalité virtuelle, aussi connus sous le nom anglais HMD pour « Head Mounted Devices ». Mais, elles peuvent également être affichées sur des écrans 2D équipés de moyens d'interactions utilisateur adaptés. Le nombre de caméras 2D pour capturer une scène à 360° varie en fonction des plateformes utilisées.
Pour générer une vidéo 360°, les vues divergentes captées par les différentes caméras 2D sont mises bout à bout en prenant en compte les chevauchements entre vues, pour créer une image 2D panoramique. Cette étape est aussi connue sous le nom de stitching en anglais. Par exemple, une projection EquiRectangulaire (ERP) est une projection possible pour obtenir une telle image panoramique. Selon cette projection, les vues captées par chacune des caméras 2D sont projetées sur une surface sphérique. D'autres types de projections sont également possibles, telle qu'une projection de type Cube Mapping (projection sur les faces d'un cube). Les vues projetées sur une surface sont ensuite projetées sur un plan 2D pour obtenir une image panoramique 2D comprenant à un instant donné toutes les vues de la scène qui ont été captées.
Afin d’augmenter la sensation d’immersion, plusieurs caméras 360° du type précité peuvent être utilisées simultanément pour capturer une scène, ces caméras étant positionnées dans la scène de façon arbitraire. Une caméra 360° peut être une caméra réelle c'est-à-dire un objet physique, ou bien une caméra virtuelle, auquel cas, la vue est obtenue par un logiciel de génération de vues. En particulier, une telle caméra virtuelle permet de générer des vues représentatives de points de vue de la scène 3D qui n’ont pas été capturés par des caméras réelles.
L’image de la vue 360° obtenue à l’aide d’une seule caméra 360° ou bien les images de vues 360° obtenues à l’aide de plusieurs caméras 360° (réelles et virtuelles) sont ensuite codées en utilisant par exemple :
- un codeur vidéo 2D classique, par exemple un codeur conforme au standard HEVC (abréviation anglaise de « High Efficiency Video Coding »),
- un codeur vidéo 3D classique, par exemple un codeur conforme aux standards MV-HEVC et 3D-HEVC.
De tels codeurs ne sont pas suffisamment efficaces en termes de compression, compte tenu du très grand nombre de données de l’image d’une vue 360° à coder, et de surcroît, des images de plusieurs vues 360° à coder, et de la géométrie particulière de la représentation 360° de la scène 3D à l’aide de telles vues 360°. Par ailleurs, les vues captées par les caméras 2D d’une caméra 360° étant divergentes, les codeurs précités ne sont pas suffisamment adaptés pour coder les différentes images de vues 360°, car la prédiction inter images sera peu, voire pas utilisée par ces codeurs. En effet, entre deux vues captées respectivement par deux caméras 2D, il y a peu de contenu similaire pouvant être prédit. De ce fait, toutes les images de vues 360° sont compressées de la même manière. En particulier, aucune analyse n’est faite dans ces codeurs pour déterminer, relativement à l’image d’une vue 360° courante à coder, s’il est pertinent de coder toutes les données de cette image, ou certaines données seulement de cette image, dans le cadre d’une synthèse d’images de vue intermédiaire non capturées qui utiliserait cette image de la vue codée, puis décodée.
3. Objet et résumé de l'invention
Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité.
A cet effet, un objet de la présente invention concerne un procédé de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en œuvre par un dispositif de codage, comprenant ce qui suit :
- sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder l’image de la vue,
- générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder les données originales de l’image de la vue, la première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder des données traitées de l’image de la vue, ces données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de la vue, le codage fournissant des données traitées codées, • coder des informations de description du traitement d’image qui a été appliqué,
- le signal de données généré contenant en outre :
• les données originales codées de l’image de la vue, si la première méthode de codage a été sélectionnée, • les données traitées codées de l’image de la vue, ainsi que les informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
Grâce à l’invention, parmi plusieurs images issues de vue courantes à coder du type précité, lesdites images représentant un très grand nombre de données à coder, et donc à signaler, il est possible de cumuler deux techniques de codage pour chaque image de chaque vue à coder :
- une première technique de codage, selon laquelle les images d’une ou de plusieurs vues sont codées classiquement (HEVC, MVC-HEVC, 3D-HEVC, par exemple), de façon à obtenir respectivement des images reconstruites formant des vues de très bonne qualité,
- une deuxième technique de codage innovante, selon laquelle sont codées des données traitées d’images d’une ou de plusieurs autres vues, de façon à obtenir au décodage des données d’image traitées qui ne correspondent donc pas aux données originales de ces images, mais au bénéfice d’une réduction non négligeable du coût de signalisation des données traitées codées de ces images.
Au décodage, seront alors retrouvées, pour chaque image de chaque autre vue, dont les données traitées ont été codées selon la deuxième méthode de codage, les données traitées correspondantes de l’image de la vue, ainsi que les informations de description du traitement d’image appliqué, au codage, aux données originales de l’image de la vue. De telles données traitées pourront alors être traitées à l’aide des informations de description de traitement d’image correspondantes, afin de constituer une image de la vue qui, utilisée avec au moins une des images d’une vue reconstruite selon la première méthode de décodage classique, permettront de synthétiser des images de vues intermédiaires non capturées, de façon particulièrement efficace et performante.
La présente invention concerne également un procédé de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en œuvre par un dispositif de décodage, comprenant ce qui suit :
- à partir du signal de données, lire une information indiquant si l’image de la vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant les données originales de l’image de la vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue, à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
Selon un mode de réalisation particulier :
- les données traitées de l’image de la vue sont des données de l’image de la vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de la vue,
- les informations de description du traitement d’image sont des informations de localisation, dans l’image de la vue, d’une ou de plusieurs zones rognées.
Un tel traitement de rognage appliqué à l’image de ladite vue permet de ne pas coder une partie des données originales de cette dernière, au bénéfice d’une réduction importante du débit de transmission des données codées associées à l’image de ladite vue, puisque les données appartenant à la ou aux zone(s) qui ont été rognées ne sont ni codées, ni signalées au décodeur. La réduction du débit dépendra de la taille de la ou des zones rognées. L’image de la vue qui sera reconstruite après décodage, puis éventuellement traitement de ses données traitées, à l’aide des informations de description de traitement d’image correspondantes, ne contiendra donc pas toutes ses données originales ou tout au moins sera différente par rapport à l’image de la vue originale. L’obtention d’une telle image de la vue ainsi rognée ne remet toutefois pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue rognée, une fois reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3DHEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à l’image de ladite vue et des images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont les données d’au moins une zone de l’image de la vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée,
- les informations de description du traitement d’image comprennent au moins une information de localisation, dans l’image de la vue, de la au moins une zone échantillonnée.
Un tel traitement privilégie une dégradation homogène de l’image de ladite vue, toujours dans le but d’optimiser la réduction du débit des données résultant de l’échantillonnage appliqué, puis codées. La reconstruction par la suite d’une telle image de la vue ainsi échantillonnée, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont les données originales ont été échantillonnées, puis codées, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue échantillonnée reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale correspondant à la zone filtrée de l’image de ladite vue, dans cette ou ces images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont les données d’au moins une zone de l’image de la vue qui a subi un filtrage,
- les informations de description du traitement d’image comprennent au moins une information de localisation, dans l’image de la vue, de la au moins une zone filtrée.
Un tel traitement privilégie la suppression des données de l’image de ladite vue qui sont considérées comme non utiles à coder, en vue d’optimiser la réduction en débit des données codées qui sont avantageusement constituées uniquement par les données filtrées de l’image.
La reconstruction par la suite d’une telle image de la vue ainsi filtrée, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont les données originales ont été filtrées, puis codées, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue filtrée reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à la zone filtrée de l’image de ladite vue, et les images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
- les informations de description du traitement d’image comprennent un indicateur des pixels de l’image de la vue qui se retrouvent dans l’image d’une autre vue.
De façon similaire au mode de réalisation précédent, un tel traitement privilégie la suppression des données de l’image de ladite vue qui sont considérées comme non utiles à coder, en vue d’optimiser la réduction en débit des données codées qui sont avantageusement constituées uniquement par les pixels de l’image de ladite vue, dont on a détecté l’absence dans une autre image d’une vue courante de ladite pluralité.
La reconstruction par la suite d’une telle image de la vue, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont seule la zone occluse a été codée, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à l’image de la vue courante et les images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue, qui ont été codées/décodées, sont des pixels qui sont calculés :
- à partir des données originales de l’image de la vue,
- à partir des données originales d’une image d’au moins une autre vue qui est codée/décodée à l’aide de la première méthode de codage/décodage,
- et éventuellement à partir des données originales d’une image d’au moins une autre vue, pour laquelle des données traitées sont codées/décodées à l’aide de la deuxième méthode de codage/décodage,
- les informations de description dudit traitement d’image comprennent :
- un indicateur des pixels de l’image de la vue qui ont été calculés,
- des informations de localisation, dans l’image d’au moins une autre vue qui a été codée/décodée à l’aide de la première méthode de codage/décodage, des données originales qui ont été utilisées pour calculer les pixels de l’image de la vue,
- et éventuellement, des informations de localisation, dans l’image d’au moins une autre vue, pour laquelle des données traitées ont été codées/décodées, des données originales qui ont été utilisées pour calculer les pixels de l’image de la vue.
Selon un autre mode de réalisation particulier, les données traitées d’une image d’une première vue et les données traitées d’une image d’au moins une deuxième vue sont rassemblées en une seule image.
De façon correspondante au mode de réalisation ci-dessus, les données traitées de l’image de la vue qui sont obtenues selon la deuxième méthode de décodage comprennent les données traitées d’une image d’une première vue et les données traitées d’une image d’au moins une deuxième vue.
Selon un mode de réalisation particulier :
- les données traitées codées/décodées de l’image de la vue sont des données de type image,
- les informations codées/décodées de description du traitement d’image sont des données de type image et/ou de type textuel.
L'invention concerne également un dispositif de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, le dispositif de codage comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit, à un instant courant :
- sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder l’image de la vue,
- générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder les données originales de l’image de la vue, la première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder des données traitées de l’image de la vue, les données traitées ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de la vue, le codage fournissant des données traitées codées, • coder des informations de description du traitement d’image qui a été appliqué,
- le signal de données généré contenant en outre :
• les données originales codées de l’image de la vue, si la première méthode de codage a été sélectionnée, • les données traitées codées de l’image de la vue, ainsi que les informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
Un tel dispositif de codage est notamment apte à mettre en œuvre le procédé de codage précité.
L'invention concerne également un dispositif de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, le dispositif de décodage comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit, à un instant courant :
- lire, dans le signal de données, une information indiquant si l’image de la vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant les données originales de l’image de la vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
Un tel dispositif de codage est notamment apte à mettre en œuvre le procédé de décodage précité.
L’invention concerne également un signal de données contenant des données codées selon le procédé de codage précité.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de codage ou du procédé de décodage selon l'invention, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur.
Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans rïimporte quelle autre forme souhaitable.
L’invention vise également un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de codage ou de décodage précité.
4. Brève description des dessins
D'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de plusieurs modes de réalisation préférés, donnés à titre de simples exemples illustratifs et non limitatifs, et décrits ci-dessous en référence aux dessins annexés, dans lesquels:
- la figure 1 représente les principales actions exécutées par le procédé de codage selon un mode de réalisation de l’invention,
- la figure 2A représente un premier type de signal de données susceptible d’être généré suite à la mise en œuvre du procédé de codage de la figure 1,
- la figure 2B représente un deuxième type de signal de données susceptible d’être généré suite à la mise en œuvre du procédé de codage de la figure 1,
- la figure 2C représente un troisième type de signal de données susceptible d’être généré suite à la mise en œuvre du procédé de codage de la figure 1,
- la figure 3A représente un premier mode de réalisation d’un procédé de codage de toutes les images de vues disponibles à un instant courant,
- la figure 3B représente un deuxième mode de réalisation d’un procédé de codage de toutes les images de vues disponibles à un instant courant,
- les figures 4A à 4E représentent chacune un exemple d’un traitement appliqué à l’image d’une vue, selon un premier mode de réalisation,
- les figures 5A à 5D représentent chacune un exemple d’un traitement appliqué à l’image d’une vue, selon un deuxième mode de réalisation,
- la figure 6 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un troisième mode de réalisation,
- la figure 7 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un quatrième mode de réalisation,
- la figure 8 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un cinquième mode de réalisation,
- la figure 9 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un sixième mode de réalisation,
- la figure 10 représente un dispositif de codage mettant en œuvre le procédé de codage de la figure 1,
- la figure 11 représente les principales actions exécutées par le procédé de décodage selon un mode de réalisation de l’invention,
- la figure 12A représente un premier mode de réalisation d’un procédé de décodage de toutes les images de vues disponibles à un instant courant,
- la figure 12B représente un deuxième mode de réalisation d’un procédé de décodage de toutes les images de vues disponibles à un instant courant,
- la figure 13 représente un dispositif de décodage mettant en œuvre le procédé de décodage de la figure 11,
- la figure 14 représente un mode de réalisation d’une synthèse d’images de vues, dans laquelle sont utilisées des images de vues reconstruites selon le procédé de décodage de la figure 11,
- les figures 15A à 15D représentent chacune un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un premier mode de réalisation,
- la figure 16 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un deuxième mode de réalisation,
- la figure 17 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un troisième mode de réalisation,
- la figure 18 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un quatrième mode de réalisation.
5. Description du principe général de l’invention
L’invention propose principalement un schéma de codage d’une pluralité d’images courantes de respectivement une pluralité de vues, la pluralité de vues représentant à l’instant courant une scène 3D selon une position donnée ou un angle de vue donné, dans lequel deux techniques de codage sont disponibles :
- une première technique de codage, selon laquelle au moins une image courante d’une vue est codée à l’aide d’un mode de codage classique, tel que par exemple HEVC, MV-HEVC, 3D-HEVC,
- une deuxième technique de codage innovante, selon laquelle des données de traitement d’au moins une image courante d’une vue, qui résultent de l’application d’un traitement des données originales de cette image, à l’aide d’un traitement d’image particulier, sont codées à l’aide d’un mode de codage classique du type précité et/ou de tout autre mode de codage adapté, de façon à réduire de façon non négligeable le coût de signalisation des données codées de cette image, résultant du traitement mis en œuvre avant l’étape de codage.
De façon correspondante, l’invention propose un schéma de décodage qui permet de cumuler deux techniques de décodage:
- une première technique de décodage, selon laquelle au moins une image courante d’une vue codée est reconstruite à l’aide d’un mode de décodage classique, tel que par exemple HEVC, MV-HEVC, 3D-HEVC, et correspondant à un mode de codage classique utilisé au codage et ayant été signalé au décodeur, de façon à obtenir au moins une image reconstruite d’une vue qui soit de très bonne qualité,
- une deuxième technique de décodage innovante selon laquelle les données de traitement codées d’au moins une image d’une vue sont décodées à l’aide d’un mode de décodage correspondant au mode de codage signalé au décodeur, à savoir soit le mode de codage classique et/ou l’autre mode de codage adapté, de façon à obtenir des données d’image traitées et des informations de description du traitement d’image dont sont issues les données traitées obtenues. Les données traitées obtenues au décodage pour cette image ne correspondent donc pas aux données originales de celle-ci, contrairement aux données d’image décodées selon la première technique de décodage.
L’image de la vue qui sera reconstruite par la suite à partir de telles données d’image traitées décodées et des informations de description de traitement d’image sera différente de l’image originale de la vue, c'est-à-dire avant traitement, puis codage de ses données originales. Toutefois, une telle image reconstruite de la vue constituera l’image d’une vue qui, utilisée avec des images d’autres vues reconstruites selon la première technique de décodage classique, permettront de synthétiser des images de vues intermédiaires, de façon particulièrement efficace et performante.
6. Exemples de mise en œuvre de schéma de codage
On décrit ci-après un procédé de codage de vidéos omnidirectionnelle 360°, 180°, ou autres qui peut utiliser tout type de codeurs vidéo multi-vues, par exemple conformes au standard 3D-HEVC ou MV-HEVC, ou autre.
En référence à la figure 1, un tel procédé de codage s’applique à une image courante d’une vue qui fait partie d’une pluralité de vues Vi,..., VN, la pluralité de vues représentant une scène 3D selon respectivement une pluralité d’angles de vue ou une pluralité de positions/ohentations.
Selon un exemple courant, dans le cas où trois caméras omnidirectionnelles sont utilisées pour générer une vidéo, par exemple 360°:
- une première caméra omnidirectionnelle peut par exemple être placée au centre de la scène 3D, selon un angle de vue 360°x180°,
- une deuxième caméra omnidirectionnelle peut par exemple être placée à gauche dans la scène 3D, selon un angle de vue 360°x180°,
- une troisième caméra omnidirectionnelle peut par exemple être placée à droite dans la scène 3D, selon un angle de vue 360°x180°.
Selon un autre exemple plus atypique, dans le cas où trois caméras omnidirectionnelles sont utilisées pour générer une vidéo a°, avec 0°<a<360° :
- une première caméra omnidirectionnelle peut par exemple être placée au centre de la scène 3D, selon un angle de vue 360°x180°,
- une deuxième caméra omnidirectionnelle peut par exemple être placée à gauche dans la scène 3D, selon un angle de vue 270°x135°,
- une troisième caméra omnidirectionnelle peut par exemple être placée à droite dans la scène 3D, selon un angle de vue, 180°x90°.
D’autres configurations sont bien sûr possibles.
Au moins deux vues de ladite pluralité de vues peuvent représenter la scène 3D selon un même angle de vue ou pas.
Le procédé de codage selon l’invention consiste à coder à un instant courant :
- une image IV! d’une vue V-i,
- une image IV2 d’une vue V2,
- une image IVk d’une vue Vk,
- une image IVN d’une vue VN,
Une image d’une vue considérée peut être aussi bien une image de texture qu’une image de profondeur. L’image d’une vue considérée, par exemple l’image IVk, contient un nombre Q (Q>1) de données originales (d1k,dQk), telles que par exemple Q pixels.
Le procédé de codage comprend alors ce qui suit, pour au moins une image IVk d’une vue Vk, à coder :
En C1, est sélectionnée une première méthode de codage MC1 ou une deuxième méthode de codage MC2 de l’image IVk.
Si la première méthode de codage MC1 est sélectionnée, en C10, une information flag_proc est codée, par exemple sur un bit positionné à 0, pour indiquer que la méthode de codage MC1 est sélectionnée.
En C11a, les Q données originales (pixels) d1k, dQk de l’image IVk sont codées à l’aide d’un codeur classique, tel que par exemple conforme au standard HEVC, MV-HEVC, 3D-HEVC, etc. A l’issue du codage C11a, une image codée IVCk de la vue Vk est obtenue. L’image codée IVCk contient alors Q données originales codées dc1k, dc2k,..., dcQk.
En C12a, un signal de données F1k est généré. Comme représenté sur la figure 2A, le signal de données F1k contient l’information flag_proc=0 relative à la sélection de la première méthode de codage MC1, ainsi que les données originales codées dc1k, dc2k,..., dcQk.
Si la deuxième méthode de codage MC2 est sélectionnée, en C10, une information flag_proc est codée, par exemple sur un bit positionné à 1, pour indiquer que la méthode de codage MC2 est sélectionnée.
En C11b, la méthode de codage MC2 est appliquée à des données DTk résultant d’un traitement de l’image IVk, réalisé avant l’étape de codage.
De telles données DTk comprennent :
- des données de type image (pixels) correspondant à tout ou partie des données originales de l’image IVk qui ont été traitées à l’aide d’un traitement d’image particulier, avant l’étape de codage, dont différents exemples détaillés seront décrits plus loin dans la description,
- des informations de description du traitement d’image ayant été appliqué à l’image IVk, avant l’étape de codage C11b, de telles informations de description étant par exemple de type textuel et/ou image.
A l’issue du codage C11 b, des données traitées codées DTCk sont obtenues. Elles sont représentatives d’une image traitée codée IVTCk.
Ainsi, les données traitées DTk ne correspondent pas aux données originales de l’image IVk.
Par exemple, ces données traitées DTk correspondent à une image dont la résolution est plus grande ou plus petite que celle de l’image IVk avant traitement. Ainsi, l’image IVk traitée pourra par exemple être plus grande, car obtenue à partir d’images d’autres vues, ou au contraire être plus petite, car résultant d’une suppression d’un ou de plusieurs pixels originaux de l’image IVk.
Selon un autre exemple, ces données traitées DTk correspondent à une image dont le format de représentation (YUV, RGB, etc) de l’image IVk traitée est différent du format original de l’image IVk avant traitement, ainsi que le nombre de bits pour représenter un pixel (16 bits, 10 bits, 8 bits, etc).
Selon encore un autre exemple, ces données traitées DTk correspondent à une composante de couleur ou de texture qui est dégradée par rapport à la composante de texture ou de couleur originale de l’image IVk avant traitement.
Selon encore un autre exemple, ces données traitées DTk correspondent à une représentation particulière du contenu original de l’image IVk avant traitement, par exemple une représentation du contenu original filtré de l’image IVk.
Dans le cas où les données traitées DTk sont uniquement des données d’image, c'est-à-dire se présentent par exemple sous la forme d’une grille de pixels, la méthode de codage MC2 peut être mise en œuvre par un codeur qui est similaire au codeur mettant en œuvre la première méthode de codage MC1. Il pourra s’agir d’un codeur avec perte ou sans perte. Dans le cas où les données traitées DTk sont différentes des données d’image, telles que par exemple des données de type textuel, ou bien comprennent à la fois des données d’image et des données d’un autre type que des données d’image, la méthode de codage MC2 peut être mise en œuvre :
- par un codeur sans perte pour coder spécifiquement les données de type textuel,
- par un codeur avec perte ou sans perte pour coder spécifiquement les données d’image, un tel codeur pouvant être identique au codeur mettant en œuvre la première méthode de codage MC1 ou bien différent.
En C12b, un signal de données F2k est généré. Comme représenté sur la figure 2B, le signal de données F2k contient l’information flag_proc=1 relative à la sélection de la deuxième méthode de codage MC2 et les données traitées codées DTCk, dans le cas où ces données sont toutes des données d’image.
A titre d’alternative, en C12c, dans le cas où les données traitées codées DTCk comprennent à la fois des données d’image et des données de type textuel, deux signaux F3ket F’3ksont générés.
Comme représenté sur la figure 2C :
- le signal de données F’3 contient l’information flag_proc=1 relative à la sélection de la deuxième méthode de codage MC2 et les données traitées codées DTCk de type image,
- le signal de données F’3k contient les données traitées codées DTCk de type textuel.
Le procédé de codage qui vient d’être décrit ci-dessus est ensuite mis en œuvre pour chaque image IV1, IV2, ..., IVN des N vues à coder disponibles.
Selon deux exemples de réalisation représentés sur les figures 3A et 3B, on suppose par exemple que parmi les N images IVi, ..., IVNàcoder:
- les n premières images IVi,..., IVn sont codées à l’aide de la première technique de codage MC1 : les n premières vues V! à Vn sont appelées vues maître car une fois reconstruites, les images des n vues maître contiendront la totalité de leurs données originales et seront pertinentes pour être utilisées avec une ou plusieurs des N-n autres vues afin de synthétiser les images de vues arbitraires requises par un utilisateur,
- les N-n autres images IVn+i, ..., IVN sont traitées avant d’être codées à l’aide de la deuxième méthode de codage MC2 : ces N-n autres images traitées appartiennent à des vues dites additionnelles.
Si n=0, toutes les images IV^ ..., IVN de toutes les vues sont traitées. Si n=N-1, l’image d’une seule vue parmi N est traitée.
A l’issue du traitement des N-n autres images IVn+i,..., IVN sont obtenues M-n données traitées. Si M=N, il y autant de données traitées que de vues à traiter. Si
M<N, au moins une des N-n vue a été supprimée lors du traitement. Dans ce cas, à l’issue du codage C11b selon la deuxième méthode de codage MC2, sont codées, à l’aide d’un codeur sans perte, des données traitées relatives à cette image de la vue supprimée qui comprennent uniquement une information indiquant l’absence de cette image et de cette vue. Aucun pixel ne sera alors codé, à l’aide de la deuxième méthode de codage MC2, à l’aide d’un codeur de type HEVC, MVC-HEVC, 3DHEVC, etc., pour cette image supprimée par le traitement.
Dans l’exemple de la figure 3A, en C11a, les n premières images IVi, ..., IVn sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres. A l’issue du codage C11a, sont obtenues respectivement n images codées IVCi, ..., IVCn. En C12a, respectivement n signaux de données F1i,..., F1n sont générés. En C13a, ces n signaux de données F1i, ..., F1n sont concaténés, générant un signal de données F1.
Comme représenté par les flèches en pointillés, les images IVt, ..., IVn peuvent être utilisées lors du traitement des N-n autres images IVn+i, ..., IVN.
Toujours en référence à la figure 3A, en C11 b, les M-n données traitées DTn+i, ..., DTm sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres, si ces M-n données traitées sont toutes de type image ou bien, si elles sont à la fois de type image et de type texte, sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres, pour les données traitées de type image, et sont codées par un codeur sans perte pour les données traitées de type texte. A l’issue du codage C11b, sont obtenues N-n données traitées codées DTCn+i, ..., DTCN en tant que respectivement N-n données codées associées respectivement aux N-n images IVn+i, ..., IVN. En C12b, dans le cas où les M-n données traitées sont toutes de type image, sont générés respectivement N-n signaux de données F2n+i, ..., F2N contenant respectivement les N-n données traitées codées DTCn+i, ..., DTCN. En C12c, dans le cas où les M-n données traitées sont à la fois de type image et de type texte :
- sont générés N-n signaux de données F3n+i, ..., F3N contenant respectivement les N-n données traitées codées de type image, et
- sont générés N-n signaux de données F’3n+1, ..., F’3N contenant respectivement les N-n données traitées codées de type texte.
En C13c, les signaux de données F3n+i, ..., F3N et F’3n+i, ..., F’3N sont concaténés, générant un signal de données F3.
En C14, soit les signaux F1 et F2sont concaténés, soit les signaux F1 et F3 sont concaténés, fournissant un signal de données F apte à être décodé par un procédé de décodage qui sera décrit plus loin dans la description.
Dans l’exemple de la figure 3B, en C11a, les n premières images IVi,..., IVn sont codées simultanément à l’aide d’un codeur classique de type MV-HEVC ou 3DHEVC. A l’issue du codage C11a, sont obtenues respectivement n images codées IVCi, ..., IVCn. En C12a, est généré un unique signal F1 qui contient les données originales codées associées à chacune de ces n images codées.
Comme représenté par les flèches en pointillés, les premières images IV-i, ..., IVn peuvent être utilisées lors du traitement des N-n autres images IVn+i, ..., IVN.
Toujours en référence à la figure 3B, en C11b, les M-n données traitées DTn+i,..., DTm de type image sont codées simultanément à l’aide d’un codeur classique de type MV-HEVC ou 3D-HEVC si ces M-n données traitées sont toutes de type image ou bien, si elles sont à la fois de type image et de type texte, sont codées simultanément à l’aide d’un codeur classique de type MV-HEVC ou 3D-HEVC pour les données traitées de type image, et sont codées par un codeur sans perte pour les données traitées de type texte. A l’issue du codage C11b, sont obtenues respectivement N-n données traitées codées DTCn+i, ..., DTCN en tant que respectivement N-n données traitées codées associées respectivement aux N-n images IVn+i, ..., IVN qui ont été traitées. En C12b, dans le cas où les M-n données traitées sont toutes de type image, est généré un unique signal F2 qui contient les Nn données traitées codées DTCn+i,..., DTCN de type image. En C12c, dans le cas où les M-n données traitées sont à la fois de type image et de type texte :
- est généré un signal F3 qui contient les données traitées codées de type image,
- est généré un signal F’3 qui contient les données traitées codées de type texte.
En C14, soit les signaux F1 et F2sont concaténés, soit les signaux F1, F3 et F’3 sont concaténés, fournissant un signal de données F apte à être décodé par un procédé de décodage qui sera décrit plus loin dans la description.
Bien entendu, d’autres combinaisons de méthodes de codage sont possibles.
Selon une variante possible de la figure 3A, le codeur mettant en œuvre la méthode de codage MC1 pourrait être un codeur de type HEVC et le codeur mettant en œuvre la méthode de codage MC2 pourrait être un codeur de type MV-HEVC ou 3D-HEVC ou bien encore comprendre un codeur de type MV-HEVC ou 3D-HEVC et un codeur dans perte.
Selon une variante possible de la figure 3B, le codeur mettant en œuvre la méthode de codage MC1 pourrait être un codeur de type MV-HEVC ou 3D-HEVC et le codeur mettant en œuvre la méthode de codage MC2 pourrait être un codeur de type HEVC ou bien comprendre un codeur de type HEVC et un codeur sans perte.
On va maintenant décrire, en référence aux figures 4A à 4E, un premier mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur ces figures, le traitement appliqué aux données originales de l’image IVk est un rognage d’une ou de plusieurs zones de cette image, selon une direction horizontale ou verticale ou bien selon les deux directions à la fois.
Dans l’exemple de la figure 4A, le bord gauche B1 et le bord droit B2 de l’image IVk sont rognés, ce qui signifie la suppression des pixels de la zone rectangulaire de l’image IVk formée par chacun des bords B1 et B2.
Dans l’exemple de la figure 4B, le bord supérieur B3 et le bord inférieur B4 de l’image IVk sont rognés, ce qui signifie la suppression des pixels de la zone rectangulaire de l’image IVk formée par chacun des bords B3 et B4.
Dans l’exemple de la figure 4C, le rognage est appliqué selon une direction verticale à une zone rectangulaire Z1 située dans l’image IVk.
Dans l’exemple de la figure 4D, le rognage est appliqué selon une direction horizontale à une zone rectangulaire Z2 située dans l’image IVk.
Dans l’exemple de la figure 4E, le rognage est appliqué à la fois selon une direction horizontale et verticale à une zone Z3 située dans l’image IVk.
Les données traitées DTk à coder comprennent alors :
- les pixels de la zone restante ZR de l’image IVk qui n’ont pas été supprimés suite au rognage (figs 4A, 4B, 4E), ou bien les pixels des zones restantes Z1R et Z2r (figs 4C, 4D) de l’image IVk qui n’ont pas été supprimés suite au rognage,
- des informations décrivant le rognage appliqué.
Dans le cas par exemple des figures 4A, 4B, 4E, les informations décrivant le rognage appliqué sont de type textuel et contiennent :
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante ZR de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante ZR de l’image IVk.
Dans le cas par exemple des figures 4C et 4D, les informations décrivant le rognage appliqué contiennent :
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante Z1R de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante Z1R de l’image IVk,
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante Z2R de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante Z2R de l’image IVk.
Les données (pixels) originales de la zone rectangulaire définie par les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante ZR (resp. Z1R et Z2r) et les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante ZR (resp. Z1R et Z2R) sont alors codées en C11b (figure 1) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du rognage appliqué sont quant à elles codées en C11b (figure 1) par un codeur sans perte.
En variante, les informations décrivant le rognage appliqué contiennent le nombre de lignes et/ou de colonnes de pixels à supprimer, ainsi que la position de ces lignes et/ou de ces colonnes dans l’image IVk.
Selon un mode de réalisation, le nombre de données à supprimer par rognage est fixe. Il peut par exemple être décidé de systématiquement supprimer X lignes et/ou Y colonnes de l’image d’une vue considérée. Dans ce cas, les informations de description contiennent uniquement l’information de rognage ou non pour chaque vue.
Selon un autre mode de réalisation, le nombre de données à supprimer par rognage est variable entre l’image IVk de la vue Vk et une image d’une autre vue disponible.
Le nombre de données à supprimer par rognage peut dépendre aussi par exemple de la position dans la scène 3D de la caméra qui a capturé l’image IVk. Ainsi, par exemple, si l’image d’une autre vue parmi lesdites N vues a été capturée par une caméra ayant une position/orientation dans la scène 3D différente de celle de la caméra qui a capturé l’image IVk, une quantité de données à supprimer différente de la quantité de données supprimées pour l’image IVk sera par exemple utilisée.
L’application d’un rognage peut par ailleurs dépendre de l’instant auquel est codée l’image IVk. A l’instant courant, il peut par exemple être décidé d’appliquer un rognage à l’image IVk, tandis qu’aux instants précédant ou suivant l’instant courant, il peut être décidé de ne pas appliquer un tel rognage, ni d’ailleurs aucun traitement, à l’image IVk.
Enfin, le rognage peut être appliqué aux images d’une ou plusieurs vues à l’instant courant. La zone rognée dans l’image IVk de la vue Vk peut être la même ou non que la zone rognée d’une image d’une autre vue à coder à l’instant courant.
On va maintenant décrire en référence aux figures 5A à 5D un deuxième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur ces figures, le traitement appliqué aux données originales de l’image IVkest un sous-échantillonnage d’une ou de plusieurs zones de cette image, selon une direction horizontale ou verticale.
Dans l’exemple de la figure 5A, un sous-échantillonnage est appliqué à une zone Z4 de l’image IVk, selon une direction verticale.
Dans l’exemple de la figure 5B, un sous-échantillonnage est appliqué à une zone Z5 de l’image IVk, selon une direction horizontale.
Dans l’exemple de la figure 5C, un sous-échantillonnage est appliqué à toute l’image IVk.
Dans l’exemple de la figure 5D, un sous-échantillonnage est appliqué à une zone Z6 de l’image IVk, selon à la fois une direction horizontale et une direction verticale.
Les données traitées DTk à coder comprennent alors :
- les données d’image (pixels) sous-échantillonnées,
- des informations décrivant le sous-échantillonnage appliqué, telles que par exemple :
- le facteur de sous-échantillonnage utilisé,
- la direction de sous-échantillonnage utilisée,
- dans le cas des figures 5A, 5B, 5D, la localisation de la zone filtrée Z4, Z5, Z6 dans l’image IVk ou bien,
- dans le cas de la figure 5C, les coordonnées du pixel situé en haut, le plus à gauche, dans l’image IVk, et les coordonnées du pixel situé en bas, le plus à droite, dans l’image IVk définissant ainsi la surface complète de cette image.
Les données d’image (pixels) sous-échantillonnées sont alors codées en C11b (figure 1) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du sous-échantillonnage appliqué sont quant à elles codées en C11 b (figure 1 ) par un codeur sans perte.
La valeur du facteur de sous-échantillonnage peut être fixe ou bien dépendre de la position dans la scène 3D de la caméra qui a capturé l’image IVk. Ainsi, par exemple, si l’image d’une autre vue parmi lesdites N vues a été capturée par une caméra ayant une position/ohentation dans la scène 3D différente de celle de la caméra qui a capturé l’image IVk, un autre facteur de sous-échantillonnage sera par exemple utilisé.
L’application d’un sous-échantillonnage peut par ailleurs dépendre de l’instant auquel est codée l’image de la vue Vk. A l’instant courant, il peut par exemple être décidé d’appliquer un sous-échantillonnage à l’image IVk, tandis qu’aux instants précédant ou suivant l’instant courant, il peut être décidé de ne pas appliquer un tel sous-échantillonnage, ni d’ailleurs aucun traitement, à l’image de la vue Vk.
Enfin, le sous-échantillonnage peut être appliqué aux images d’une ou plusieurs vues à l’instant courant. La zone sous-échantillonnée dans l’image IVk peut être la même ou non que la zone sous-échantillonnée d’une image d’une autre vue à coder à l’instant courant.
On va maintenant décrire en référence à la figure 6 un troisième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 6, le traitement appliqué aux données originales de l’image IVk est une détection de contours par filtrage de cette image. Deux contours ED1et ED2 sont par exemple présents dans une vue IVk. De façon connue en soi, un tel filtrage comprend par exemple ce qui suit :
- appliquer un filtre de détection de contour aux contours ED1 et ED2,
- appliquer une dilatation des contours ED1 et ED2 de façon à agrandir la zone entourant chaque contour ED1 et ED2, une telle zone étant représentée par des hachures sur la figure 6,
- supprimer toutes les données originales de l’image IVk qui ne font pas partie des zones hachurées et qui sont donc considérées comme inutiles à coder.
Les données traitées DTk à coder, dans le cas d’un tel filtrage, comprennent alors :
- les pixels originaux qui sont contenus dans les zones hachurées,
- des informations décrivant le filtrage appliqué, telle que par exemple une valeur prédéfinie pour chaque pixel non compris dans la zone hachurée, représentée par exemple par une valeur YUV=000 prédéfinie.
Les données d’image (pixels) correspondant aux zones hachurées sont alors codées en C11b (figure 1) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du filtrage appliqué sont quant à elles codées en C11 b (figure 1 ) par un codeur sans perte.
Le filtrage qui vient d’être décrit relativement à l’image IVk peut être appliqué à une ou plusieurs images d’autres vues parmi lesdites N vues, sur des zones de cette ou de ces images qui peuvent être différentes d’une image d’une vue à une autre image d’une vue.
On va maintenant décrire en référence à la figure 7 un quatrième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 7, le traitement appliqué aux données originales de l’image IVk est une détection d’occlusion d’au moins une zone ZOc de l’image IVk à l’aide d’au moins une image IVP d’une autre vue Vp parmi N vues (1<p<N).
De façon connue en soi, une telle détection d’occlusion consiste à chercher la zone Zoo de l’image IVk à partir de l’image IVP, à l’aide par exemple d’une estimation de disparité. La zone ZOc occluse est alors dilatée, à l’aide par exemple d’un algorithme de morphologie mathématique. La zone Zoc ainsi dilatée est représentée par des hachures sur la figure 7. Toutes les données originales de l’image IVk qui ne font pas partie de la zone Zoc hachurée et qui sont donc considérées comme inutiles à coder sont supprimées.
Les données traitées DTk à coder, dans le cas d’une telle détection d’occlusion, comprennent alors :
- les pixels originaux qui sont contenus dans la zone hachurée,
- des informations décrivant la détection d’occlusion appliquée, telles qu’une valeur prédéfinie pour chaque pixel non compris dans la zone hachurée, représentée par exemple par une valeur YUV=000 prédéfinie.
Les données d’image (pixels) correspondant à la zone hachurée sont alors codées en C11b (figure 1) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description de la détection d’occlusion appliquée sont quant à elles codées en C11b (figure 1) par un codeur sans perte.
On va maintenant décrire en référence à la figure 8 un cinquième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 8, le traitement appliqué aux données originales de l’image IVk consiste à calculer des pixels :
- à partir des pixels originaux de l’image IVk,
- à partir des pixels originaux d’une image IVj d’une ou plusieurs autres vues (1 <j<n) qui sont codées en C11a (figure 1) à l’aide de la première méthode de codage MC1,
- et éventuellement à partir des pixels originaux d’une image IV| (n+1 <I<N) d’au moins une autre vue, pour laquelle des pixels traités sont codés en C11 b (figure 1 ) à l’aide de la deuxième méthode de codage MC2.
Les données traitées DTk à coder, dans le cas d’un tel calcul, comprennent alors :
- un indicateur des pixels de l’image IVk de ladite vue qui ont été calculés,
- des informations de localisation, dans l’image IVj, des pixels originaux qui ont été utilisées pour calculer les pixels de l’image IVk,
- et éventuellement, des informations de localisation, dans l’image IV|, des pixels originaux qui ont été utilisées pour calculer les pixels de l’image IVk.
Le calcul précité consiste par exemple à soustraire les pixels originaux de l’image IVk d’une vue et éventuellement les pixels originaux de l’image IV|, des pixels originaux de l’image IVj.
On va maintenant décrire en référence à la figure 9 un sixième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C11b (figure 1) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 9, le traitement appliqué aux données originales de l’image IVk consiste :
- à traiter les pixels originaux de l’image IVk, fournissant des données traitées DT’k,
- à traiter les pixels originaux d’une image IVS d’une vue Vs (1<s<N), fournissant des données traitées DTS,
- à rassembler les données traitées DT’k de l’image IVk et les données traitées DTS de l’image IVS en une seule image IVone, dont les données originales traitées obtenues DTk sont codées en C11b (figure 1) à l’aide de la deuxième méthode de codage MC2.
La figure 10 présente la structure simplifiée d’un dispositif de codage COD adapté pour mettre en œuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention.
Selon un mode particulier de réalisation de l'invention, les actions exécutées par le procédé de codage sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de codage COD a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_C, une unité de traitement UT_C, équipée par exemple d'un processeur PROC_C, et pilotée par le programme d'ordinateur PG_C stocké en mémoire MEM_C. Le programme d'ordinateur PG_C comprend des instructions pour mettre en œuvre les actions du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_C.
A l'initialisation, les instructions de code du programme d'ordinateur PG_C sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_C. Le processeur PROC_C de l'unité de traitement UT_C met notamment en œuvre les actions du procédé de codage décrit ci-dessus, selon les instructions du programme d'ordinateur PG_C.
7. Exemples de mise en œuvre de schéma de décodage
On décrit ci-après un procédé de décodage d’une vidéo omnidirectionnelle 360°, 180°, ou autres qui peut utiliser tout type de décodeurs vidéo multi-vues, par exemple conformes au standard 3D-HEVC ou MV-HEVC, ou autre.
En référence à la figure 11, un tel procédé de décodage s’applique à un signal de données représentatif d’une image courante d’une vue qui fait partie de ladite pluralité de vues V-,,..., VN.
Le procédé de décodage selon l’invention consiste à décoder :
- un signal de données représentatif des données codées associées à l’image IVi d’une vue Vi,
- un signal de données représentatif des données codées associées à l’image IV2 d’une vue V2,
- un signal de données représentatif des données codées associées à l’image IVk d’une vue Vk,
- un signal de données représentatif des données codées associées à l’image IVN d’une vue VN.
Une image d’une vue considérée à reconstruire à l’aide du procédé de décodage précité peut être aussi bien une image de texture qu’une image de profondeur.
Le procédé de décodage comprend ce qui suit, pour un signal de données F1k, F2k ou F3k et F’3k représentatif d’au moins une image IVk d’une vue Vk, à reconstruire :
En D1, l’information flag_proc, indiquant si l’image IVk a été codée à l’aide de la première méthode de codage MC1 ou de la deuxième méthode de codage MC2, est lue dans le signal de données F1k, F2k ou F3k et F’3k, tels que représentés respectivement sur les figures 2A, 2B et 2C.
S’il s’agit du signal F1k, l’information flag_proc est à 0.
En D11a, les données codées dc1k, dc2k, dcQk associées à l’image codée IVCk sont lues dans le signal de données F1k.
En D12a, il est procédé à la reconstruction d’une image IVDk à partir des données codées dc1k, dc2k,..., dcQk lues en D11a, en utilisant une méthode de décodage MD1 correspondant à la méthode de codage MC1 appliquée au codage, en C11a sur la figure 1. A cet effet, l’image IVk est reconstruite à l’aide d’un décodeur classique, tel que par exemple conforme au standard HEVC, MVC-HEVC, 3D-HEVC, etc.
A l’issue du décodage D12a, l’image IVDk ainsi reconstruite contient les données originales d1k, d2k, ..., dQk de l’image IVk qui a été codée en C11a sur la figure 1.
L’image IVDk étant conforme à l’image IVk originale constitue ainsi une image maître qui est pertinente à utiliser, dans le cadre par exemple d’une synthèse de de vue intermédiaires.
En D1, s’il s’agit du signal F2k ou F3k, l’information flag_proc déterminée est à
1.
S’il s’agit du signal F2k, en D11b, les données traitées codées DTCk associées à l’image traitée codée IVTCk, telles qu’obtenues en C11b sur la figure 1, sont lues dans le signal de données F2k.
Ces données traitées codées DTCk lues ne sont que des données du type image.
En D12b, il est procédé à la reconstruction d’une image traitée IVTDk à partir des données codées DTCk lues en D11b, en utilisant une méthode de décodage MD2 correspondant à la méthode de codage MC2 appliquée au codage, en C11b sur la figure 1. A cet effet, des données codées DTCk sont décodées à l’aide d’un décodeur classique, tel que par exemple conforme au standard HEVC, MVC-HEVC, 3D-HEVC, etc.
A l’issue du décodage D12b, l’image traitée ainsi reconstruite IVTDk, correspondant aux données DTCk décodées, contient les données traitées DTk de l’image IVk avant leur codage en C11 b sur la figure 1.
L’image traitée IVTDk reconstruite contient des données d’images (pixels) correspondant à tout ou partie des données originales de l’image IVk qui ont été traitées à l’aide d’un traitement d’image particulier, dont différents exemples détaillés ont été décrits en référence aux figures 4 à 9.
S’il s’agit du signal F3k, les données traitées codées DTCk associées à l’image traitée codée IVTCk, sont lues en D11c.
A cet effet :
- des données traitées codées DTCk de type image sont lues dans le signal F3k,
- des données traitées codées DTCk, différentes des données d’image, telles que par exemple des données de type textuel, ou bien comprenant à la fois des données d’image et des données d’un autre type que des données d’image, sont lues dans le signal F’3k.
Les données traitées codées DTCk sont décodées en D12b, à l’aide de la méthode de décodage MD2, laquelle peut être mise en œuvre :
- par un décodeur avec perte ou sans perte pour décoder spécifiquement les données d’image, un tel décodeur pouvant être identique au décodeur mettant en œuvre la première méthode de décodage MD1 ou bien différent,
- par un décodeur sans perte pour décoder spécifiquement les données de type textuel.
A l’issue du décodage D12b, sont obtenues :
- l’image traitée ainsi reconstruite IVTDk, correspondant aux données DTCk de type image qui ont été décodées,
- des données traitées de type texte correspondant à des informations de description du traitement appliqué à l’image IVk avant le codage C11b (figure 1).
Une telle image traitée reconstruite IVTDk selon la deuxième méthode de décodage MD2 ne contient pas toutes les données originales de l’image IVk avant traitement puis codage en C11b. Une telle image reconstruite d’une vue selon la deuxième méthode de décodage MD2 pourra toutefois être utilisée en complément d’une image d’une vue maître qui aura été reconstruite à l’aide de la première méthode de décodage MD1, dans le cadre par exemple d’une synthèse d’images intermédiaires, afin d’obtenir des images de vues synthétisées qui sont de bonne qualité.
Le procédé de décodage qui vient d’être décrit ci-dessus est ensuite mis en œuvre à l’instant courant pour chacune des images codées IVCi IVC2, ..., IVCN à reconstruire disponibles.
Selon deux exemples de réalisation représentés sur les figures 12A et 12B, on suppose par exemple que parmi les N images codées IVCi, ..., IVCN à reconstruire :
- les n premières images codées IVCi, ..., IVCn sont reconstruites à l’aide de la première technique de décodage MD1 pour obtenir respectivement l’image de chacune des n vues maître,
- les N-n autres images codées IVCn+i, IVCn sont reconstruites à l’aide de la deuxième méthode de décodage MD2 pour obtenir respectivement l’image de chacune des N-n vues additionnelles.
Si n=0, les images IVCi, IVCn des vues de 1 à N sont reconstruites à l’aide de la deuxième méthode de décodage MD2. Si n=N-1, l’image d’une seule vue est reconstruite à l’aide de la deuxième méthode de décodage MD2.
Dans l’exemple de la figure 12A, en D100, le signal de données F, tel que généré en C14 sur la figure 3A est séparé:
- soit en deux signaux de données : le signal de données F1, tel que généré en C13a sur la figure 3A, et le signal de données F2, tel que généré en C13b sur la figure 3A,
- soit en trois signaux de données : le signal de données F1, tel que généré en C13a sur la figure 3A, et les signaux de données F3 et F’3, tel que générés en C13c sur la figure 3A.
S’il s’agit des signaux F1 et F2, en D110a, le signal de données F1 est séparé à son tour en n signaux de données F11,..., F1n représentatifs respectivement des n images de vue codées IVCi,..., IVCn.
En D11a, dans chacun des n signaux de données F1-i, ..., F1n sont déterminées respectivement les données originales codées dd-i, ..., dcQ-i, ..., dc1n, ..., dcQn qui sont associées à chacune de ces n images codées.
En D12a, les images IVDi,..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D11a, à l’aide d’un décodeur classique de type HEVC, indépendamment les unes des autres.
Toujours en référence à la figure 12A, en D110b, le signal de données F2 est séparé à son tour en N-n signaux de données F2n+i,..., F2N représentatifs respectivement des N-n données traitées codées DTCn+i,..., DTCn.
En D11 b, dans chacun des N-n signaux de données F2n+1..., F2N sont lues respectivement N-n données traitées codées DTCn+i,..., DTCn qui correspondent respectivement à chacune des N-n images IVn+i,..., IVN à reconstruire.
En D12b, les images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i: ..., DTCN lues en D11b, à l’aide d’un décodeur classique de type HEVC, indépendamment les unes des autres. Les images traitées reconstruites IVTDn+i, ..., IVTDN sont alors obtenues.
S’il s’agit des signaux F1, F3 et F’3, en D110a, le signal de données F1 est séparé à son tour en n signaux de données F1-i, ..., F1n représentatifs respectivement des n images codées IVCi, ..., IVCn.
En D11a, dans chacun des n signaux de données F1i, ..., F1n sont lues respectivement les données originales codées dc11, ..., dcQi, ..., dc1n, ..., dcQn qui sont associées à chacune de ces n images codées.
En D12a, les images IVDi,..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D11a, à l’aide d’un décodeur classique de type HEVC, indépendamment les unes des autres.
En D110c:
- le signal de données F3 est séparé à son tour en N-n signaux de données F3n+i, ..., F3N représentatifs respectivement des N-n données traitées codées DTCn+i, ..., DTCn de type image et,
- le signal de données F’3 est séparé à son tour en N-n signaux de données F’3n+i, ..., F’3N représentatifs respectivement des N-n données traitées codées DTCn+i, ..., DTCn de type texte ou autres.
En D11c:
- dans chacun des N-n signaux de données F3n+1: ..., F3N sont lues respectivement N-n données traitées codées DTCn+i, ..., DTCN de type image qui correspondent respectivement à chacune des N-n images IVn+i, ..., IVN à reconstruire,
- dans chacun des N-n signaux de données F’3n+i, .... F’3N sont lues respectivement N-n données traitées codées DTCn+i,..., DTCN de type texte ou autres qui correspondent respectivement aux informations de description du traitement pour chacune des N-n images IVn+i,..., IVN à reconstruire.
En D12b, les N-n images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i..., DTCN lues en D11b, à l’aide d’un décodeur classique de type HEVC, indépendamment les unes des autres. Les images traitées reconstruites IVTDn+i, ..., IVTDN sont alors obtenues.
Egalement en D12b, sont reconstruites des informations de description du traitement appliqué à chacune des images IVn+1..., IVN, avant leur codage C11b (figure 3A), à partir de N-n données traitées codées DTCn+i,..., DTCn de type texte ou autres lues en D11c, à l’aide d’un décodeur correspondant au codeur sans perte utilisé au codage.
Dans l’exemple de la figure 12B, en D100, le signal de données F, tel que généré en C14 sur la figure 3B est séparé:
- soit en deux signaux de données : le signal de données F1, tel que généré en C12a sur la figure 3B, et le signal de données F2, tel que généré en C12b sur la figure 3B,
- soit en trois signaux de données : le signal de données F1, tel que généré en C12a sur la figure 3B, les signaux de données F3 et F’3, tel que générés en C12c sur la figure 3B.
S’il s’agit des signaux F1 et F2, en D11a, dans le signal de données F1 sont lues les données originales codées dc1i, dcQ-i, dc1n, dcQn qui sont associées respectivement à chacune des images IVC-ij, IVCnj de n vue codées.
En D12a, les images IVD-ij, IVDnj sont reconstruites à partir de leurs données originales codées respectives, lues en D11a, de manière simultanée, à l’aide d’un décodeur classique de type MV-HEVC ou 3D-HEVC.
En D11 b, sur la figure 12B, dans le signal de données F2 sont lues les N-n données traitées codées DTCn+i, ..., DTCn qui sont associées respectivement à chacune des images IVn+1, ..., IVN des N-n vues à reconstruire.
En D12b, les N-n images traitées sont reconstruites respectivement à partir des N-n données traitées codées DTCn+i, ..., DTCn, lues en D11b, de manière simultanée, à l’aide d’un décodeur classique de type MV-HEVC ou 3D-HEVC. Les images IVTDn+i,..., IVTDN traitées reconstruites sont alors obtenues.
S’il s’agit des signaux F1, F3 et F’3, en D11a, dans le signal de données F1 sont lues les données originales codées dc11, dcQ-i. dc1n, dcQn qui sont associées respectivement à chacune des images IVCi, IVCn des n vues codées.
En D12a, les images IVDi, IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D11a, de manière simultanée, à l’aide d’un décodeur classique de type MV-HEVC ou 3D-HEVC.
En D11c, sur la figure 12B, dans le signal de données F3 sont lues les N-n données traitées codées DTCn+i, ..., DTCn de type image qui sont associées respectivement à chacune des N-n images IVn+1, IVN à reconstruire.
En D12b, les images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i, ..., DTCn, lues en D11c, de manière simultanée, à l’aide d’un décodeur classique de type MV-HEVC ou 3D-HEVC. Les images de vue traitées reconstruites IVTDn+1, IVTDN sont alors obtenues.
Egalement en D12b, sur la figure 12B, sont reconstruites des informations de description du traitement appliqué à chacune des images IVn+i..., IVN, avant leur codage C11b (figure 3B), à partir des N-n données traitées codées DTCn+i,DTCn de type texte ou autres, lues en D11c, et décodées à l’aide d’un décodeur correspondant au codeur sans perte utilisé au codage.
Bien entendu, d’autres combinaisons de méthodes de décodage sont possibles.
Selon une variante possible de la figure 12A, le décodeur mettant en œuvre la méthode de décodage MD1 pourrait être un décodeur de type HEVC et le décodeur mettant en œuvre la méthode de décodage MD2 pourrait être un décodeur de type MV-HEVC ou 3D-HEVC.
Selon une variante possible de la figure 12B, le décodeur mettant en œuvre la méthode de décodage MD1 pourrait être un décodeur de type MV-HEVC ou 3DHEVC et le décodeur mettant en œuvre la méthode de décodage MD2 pourrait être un codeur de type HEVC.
La figure 13 présente la structure simplifiée d’un dispositif de décodage DEC adapté pour mettre en œuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention.
Selon un mode particulier de réalisation de l'invention, les actions exécutées par le procédé de décodage sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de décodage DEC a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_D, une unité de traitement UT_D, équipée par exemple d'un processeur PROC_D, et pilotée par le programme d'ordinateur PG_D stocké en mémoire MEM_D. Le programme d'ordinateur PG_D comprend des instructions pour mettre en œuvre les actions du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_D.
A l'initialisation, les instructions de code du programme d'ordinateur PG_D sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_D. Le processeur PROC_D de l'unité de traitement UT_D met notamment en œuvre les actions du procédé de décodage décrit ci-dessus, selon les instructions du programme d'ordinateur PG_D.
Selon un mode de réalisation, le dispositif de décodage DEC est par exemple compris dans un terminal.
8. Exemples d’application de l’invention à un traitement d’image
Comme déjà expliqué ci-dessus, les N images reconstruites IVDy ..., IVDn et IVTDn+1, ..., IVTDn peuvent être utilisées pour synthétiser une image d’une vue intermédiaire requise par un utilisateur.
Comme représenté sur la figure 14, dans le cas où un utilisateur requiert la synthèse d’une image d’une vue arbitraire, les n premières images de vue reconstruites IVD1: ..., IVDn qui sont considérées comme des vues maître, sont transmises en S1 à un module de synthèse d’images.
Les N-n images de vues traitées reconstruites IVTDn+1, ..., IVTDN, afin de pouvoir être utilisées dans la synthèse d’images, en tant qu’imagés de vue additionnelles, peuvent avoir besoin d’être traitées en S2, à l’aide des informations de description de traitement d’image décodées, qui leur sont respectivement associées.
A l’issue du traitement S2, sont obtenues N-n images de vues reconstruites IVDn+i,..., IVDn.
Les N-n images reconstruites IVDn+i,..., IVDN sont alors transmises en S3 au module de synthèse d’images.
En S4, une image d’une vue est synthétisée en utilisant au moins une des images IVD1; ..., IVDn des n premières vues reconstruites et éventuellement au moins une des N-n images IVDn+i, ..., IVDN des N-n vues reconstruites.
Une image d’une vue synthétisée IVSy est alors obtenue à l’issue de la synthèse S4.
Il est à noter que les n images reconstruites IVD1; ..., IVDn peuvent faire aussi l’objet d’un traitement S2. Un tel traitement S2 peut s’avérer nécessaire, dans le cas où l’utilisateur UT requiert une image d’une vue dont l’angle de vue représenté ne correspond pas à l’angle de vue ou aux angles de vue des n images reconstruites IVD-i,..., IVDn. L’utilisateur UT pourrait par exemple requérir une image d’une vue représentant un champ de vison de 120x90, alors que les n images reconstruites IVD15 ..., IVDn représentent chacune un angle de vue de 360x180. Une telle possibilité de traitement pour les images reconstruites IVDy ..., IVDn est symbolisée par des flèches en pointillé sur la figure 14. Par ailleurs, en relation avec les types de traitement décrits en relation avec les figures 8 et 9, les images reconstruites IVD-i,..., IVDn peuvent être utilisées lors du traitement des N-n autres images IVn+1, ..., IVN.
On va maintenant décrire en référence aux figures 15A à 15C un premier mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à obtenir la résolution initiale de l’image IVk de la vue correspondante qui a été échantillonnée avant d’être codée en C11b sur la figure 1.
Dans l’exemple de la figure 15A, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z4 de l’image IVk, selon une direction verticale, tel que représenté à la figure 5A.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z4, correspondant au sous-échantillonnage appliqué à la figure 5A, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante,
- la localisation de la zone sous-échantillonnée Z4 dans l’image IVk.
Dans l’exemple de la figure 15B, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z5 de l’image IVk, selon une direction horizontale, tel que représenté à la figure 5B.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z5, correspondant au sous-échantillonnage appliqué à la figure 5B, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante,
- la localisation de la zone sous-échantillonnée Z5 dans l’image IVk.
Dans l’exemple de la figure 15C, on suppose que le traitement appliqué avant codage est un sous-échantillonnage de toute l’image IVk, tel que représenté à la figure 5C.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à toutes les données d’image de l’image IVTDk, correspondant au sous-échantillonnage appliqué à la figure 5C, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le souséchantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante.
Dans l’exemple de la figure 15D, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z6 de l’image IVk, selon à la fois une direction horizontale et une direction verticale, tel que représenté à la figure 5D.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z6, correspondant au sous-échantillonnage appliqué à la figure 5D, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante,
- la localisation de la zone sous-échantillonnée Z6 dans l’image IVk.
On va maintenant décrire en référence à la figure 16, un deuxième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à restituer un ou plusieurs contours de l’image IVk de la vue qui a été filtrée avant codage de cette dernière.
Dans l’exemple de la figure 16, on suppose que le traitement appliqué avant codage est un filtrage des contours ED1 et ED2 de l’image IVk, tel que représenté à la figure 6.
Le traitement appliqué à l’image de la vue traitée reconstruite IVTDk consiste alors à resituer les contours ED1 et ED2 de l’image IVk, à l’aide des informations décrivant le filtrage appliqué, telles que notamment la valeur prédéfinie pour chaque pixel non filtrés, en particulier la valeur prédéfinie YUV=000.
On va maintenant décrire en référence à la figure 17, un troisième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à reconstruire des pixels de l’image IVk de la vue qui, avant codage, ont été calculés conformément au mode de réalisation du traitement de la figure 8.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste alors :
- à retrouver des pixels de l’image IVk de la vue qui ont été calculés au codage, à l’aide d’un indicateur des pixels de l’image IVk de ladite vue qui ont été calculés, un tel indicateur étant lu dans le signal de données,
- à retrouver des pixels d’une image d’au moins une autre vue IVj (1 <j<n) qui a été reconstruite en utilisant la première méthode de décodage MD1, à l’aide des informations de localisation, dans l’image IVj, des pixels qui ont été utilisés pour calculer les pixels de l’image IVk,
- et éventuellement à retrouver des pixels d’une image IV| (n+1<l<N) d’au moins une autre vue, pour laquelle des pixels traités ont été décodés à l’aide de la deuxième méthode de décodage MD2.
Le décodage des données traitées DTk à consiste alors à calculer les pixels de l’image IVk :
- à partir des pixels de l’image d’au moins une autre vue IVj (1 <j<n),
- et éventuellement à partir des pixels de l’image IV| (n+1<l<N) d’au moins une autre vue.
Le calcul précité consiste par exemple à combiner les pixels de l’image IVk, aux pixels de l’image IVj reconstruite et éventuellement aux pixels de l’image IV| reconstruite.
On va maintenant décrire en référence à la figure 18, un quatrième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à reconstruire des pixels de l’image IVk de la vue qui, avant codage, ont été calculés conformément au mode de réalisation du traitement de la figure 9.
Un traitement est d’abord appliqué à l’image reconstruite IVDone selon la deuxième méthode de décodage MD2. Il consiste alors à reconstruire, à partir de l’image IVDone, les pixels de l’image IVk:
- à partir des données traitées DT’k de l’image IVk qui ont été décodées selon la deuxième méthode de décodage MD2,
- à partir des données traitées DTS d’une image IVDS d’une vue Vs (1<s<N), qui ont été décodées.
9. Exemples d’applications concrètes de l’invention
Selon un premier exemple, on considère que six images de vue de résolution 4096x2048 pixels sont capturées respectivement par six caméras de type 360°. Un procédé d’estimation de profondeur est appliqué de manière à fournir six cartes de profondeur 360° correspondantes.
L’image IV0, de la vue V0, est codée classiquement à l’aide de la première méthode de codage MC1, tandis que les cinq autres images IV1, IV2, IV3, IV4, IV5 des vues V1, V2, V3, V4, V5 subissent un rognage avant codage. Le traitement appliqué à chacune des images IV1, IV2, IV3, IV4, IV5 consiste à supprimer un nombre fixe de colonnes, par exemple 200, à droite et à gauche de chacune de ces images. Le nombre de colonnes à supprimer a été sélectionné de telle façon que l’angle de vue est réduit de 360° à 120°. De façon similaire, le traitement appliqué à chacune des images IV1, IV2, IV3, IV4, IV5 consiste à supprimer un nombre fixe de lignes, par exemple 100, en parties respectivement supérieure et inférieure de chacune de ces images. Le nombre de lignes à supprimer a été sélectionné de telle façon que l’angle de vue est réduit de 180° à 120°.
Une information flag_proc est mise à 0, en association avec l’image IV0, et une information flag_proc est mise à 1, en association avec les images IV1, IV2, IV3, IV4, IV5.
L’image de la vue IVO est codée à l’aide d’un codeur HEVC. Un unique signal de données F10 est généré, ledit signal de données contenant les données originales codées de l’image IVO, ainsi que l’information flag_proc=0.
Les données des zones restantes après rognage de chacune des images IV1, IV2, IV3, IV4, IV5 sont codées à l’aide d’un codeur HEVC. Cinq signaux de données F215 F22, F23i F24i F25i qui contiennent respectivement les données codées des zones restantes après rognage de chacune des images IV1, IV2, IV3, IV4, IV5, en association avec l’information flag_proc=1, sont générés. Les signaux de données F1 o, F2i, F22, F23i F24i F25 sont concaténés, puis transmis à un décodeur.
Les cinq signaux de données F21; F22, F23, F24, F25 peuvent comprendre en plus les coordonnées des zones rognées de la façon suivante :
IV1, IV2, IV3, IV4, IV5 : flag_proc=1, point sup_gauche (h,v)=(0+200, 0+100), point inf_droit (h,v)= (4096-200, 2048-100), avec « h » pour horizontal et « v » pour vertical.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image de la vue IVO est reconstruite à l’aide d’un décodeur HEVC.
Si flag_proc=1, les images IV1, IV2, IV3, IV4, IV5, correspondant aux données traitées codées, sont reconstruites à l’aide d’un décodeur HEVC. Aucun traitement n’est appliqué aux images IV1, IV2, IV3, IV4, IV5 qui ont été reconstruites car il n’est pas possible de reconstruire les données de ces images qui ont été supprimées par rognage. Toutefois, un algorithme de synthèse utilise les six images IVO, IV1, IV2, IV3, IV4, IV5 qui ont été reconstruites afin de générer une image d’une vue arbitraire requise par un utilisateur.
Dans le cas où les cinq signaux de données F2i, F22, F23, F24, F25 comprennent en plus les coordonnées des zones rognées, ces coordonnées sont exploitées par l’algorithme de synthèse pour générer une image d’une vue requise par un utilisateur.
Selon un deuxième exemple, on considère 10 images IVO, ..., IV9 de résolution respective 4096x2048 pixels qui sont générées par ordinateur afin de simuler 10 caméras de type 360°. Il est décidé de ne pas traiter les images IVO et IV9. Les composantes de texture des images IV1 à IV8 subissent quant à elles un sous-échantillonnage d’un facteur 2 dans la direction horizontale et d’un facteur 2 dans la direction verticale et les composantes de profondeur correspondantes subissent quant à elles un sous-échantillonnage d’un facteur 4 dans la direction horizontale et d’un facteur 4 dans la direction verticale. Il en résulte que la résolution des composantes de texture des images IV1 à IV8 devient 2048x1024 et que la résolution des composantes de profondeur des images IV1 à IV8 devient 1024x512.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV8 contiennent les 8 composantes de texture sous-échantillonnées de résolution 2048x1024 des images IV1 à IV8 et les 8 composantes de profondeur sous-échantillonnées de résolution 1025x512 des images IV1 à IV8.
De manière additionnelle, les données de traitement précitées contiennent des données de type textuel qui indiquent les facteurs de sous-échantillonnage pour chaque image IV1 à IV8 des vues 1 à 8. Elles s’écrivent de la façon suivante :
- IV1 à IV8 texture : se_h=2, se_v=2 (« se » pour sous-échantillonnage, « h » pour horizontal et « v » pour vertical),
- IV1 à IV8 profondeur : se_h=4, ss_v=4.
Une information flag_proc est mise à 0, en association avec les images IV0 et IV9, et une information flag_proc est mise à 1, en association avec les images IV1 à IV8.
Les images IV0 et IV9 sont codées simultanément à l’aide d’un codeur du type MV-HEVC, ce qui génère un unique signal de données F1 contenant l’information flag_proc=0 ainsi que les données originales codées des images IV0 et IV9.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV8, contenant les 8 composantes de texture sous-échantillonnées de résolution 2048x1024 des images IV1 à IV8 et les 8 composantes de profondeur sous-échantillonnées de résolution 1025x512 des images IV1 à IV8, sont codées également simultanément, à l’aide d’un codeur du type MV-HEVC, ce qui génère un unique signal de données F2 contenant l’information flag_proc=1, en association avec les données de texture et de profondeur sous-échantillonnées codées. Les données de type textuel qui indiquent les facteurs de sous-échantillonnage pour chaque image IV1 à IV8 des vues 1 à 8, sont quant à elles codées sans perte. Les signaux de données F1 et F2 sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, les images IVO et IV9 sont reconstruites simultanément à l’aide d’un décodeur MV-HEVC. Sont alors obtenues des images reconstruites IVDO et IVD9 qui sont à leur résolution initiale.
Si flag_proc=1, les images IV1 à IV8, correspondant à leurs données de texture et de profondeur sous-échantillonnées codées respectives, sont reconstruites simultanément à l’aide d’un décodeur MV-HEVC. Des images sous-échantillonnées reconstruites IVDT1 à IVDT8 sont alors obtenues. Les données de type textuel correspondant à chacune des 8 images IV1 à IV8 sont également décodées, fournissant les facteurs de sous-échantillonnage qui ont été utilisés pour chaque image IV1 à IV8.
Les images sous-échantillonnées reconstruites IVDT1 à IVDT8 sont alors traitées à l’aide de leurs facteurs de sous-échantillonnage correspondants. A l’issue du traitement, sont obtenues des images reconstruites IVD1 à IVD8, dont les 8 composantes de texture respectives sont à leur résolution initiale 4096x2048 et dont les 8 composantes de profondeur respectives sont à leur résolution initiale 4096x2048.
Un algorithme de synthèse utilise les images des 10 vues ainsi reconstruites à leur résolution initiale, afin de générer une image d’une vue requise par un utilisateur.
Selon un troisième exemple, on considère 3 images IVO à IV2 de résolution respective 4096x2048 pixels qui sont générées par ordinateur afin de simuler 4 caméras de type 360°. 3 composantes de texture et 3 composantes de profondeur correspondantes sont alors obtenues. Il est décidé de ne pas traiter l’image IVO et d’extraire des cartes d’occlusion pour respectivement les images IV1 et IV2. A cet effet, une estimation de disparité est réalisée entre l’image IV1 et l’image IVO de manière à générer le masque d’occlusion de l’image IV1, c'est-à-dire les pixels de l’image IV1 qui ne se retrouvent pas dans l’image IVO. Une estimation de disparité est également réalisée entre l’image IV2 et l’image IVO de manière à générer le masque d’occlusion de l’image IV2.
Les données de traitement, telles que les données d’image relatives aux images IV1 et IV2 contiennent les 2 composantes de texture des masques d’occlusion des images IV1 et IV2 et les 2 composantes de profondeur des masques d’occlusion des images IV1 et IV2.
Une information flag_proc est mise à 0, en association avec l’image IVO, et une information flag_proc est mise à 1, en association avec les images IV1 et IV2.
L’image IVO est codée à l’aide d’un codeur HEVC. Un unique signal de données F1o est généré, ledit signal de données contenant les données originales codées de l’image IVO, ainsi que l’information flag_proc=0.
Les données d’image (texture et profondeur) des masques d’occlusion de chacune des images IV1, IV2 sont codées à l’aide d’un codeur HEVC. Deux signaux de données F2i, F22, qui contiennent respectivement les données d’image codées des masques d’occlusion de chacune des images IV1, IV2, en association avec l’information flag_proc=1, sont générés. Les signaux de données F1o, F21; F22, sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IVO est reconstruite à l’aide d’un décodeur HEVC.
Si flag_proc=1, les images IV1, IV2, correspondant aux données d’image (texture et profondeur) codées des masques d’occlusion de chacune des images IV1, IV2, sont reconstruites à l’aide d’un décodeur HEVC. Aucun traitement n’est appliqué aux images IV1, IV2 qui ont été reconstruites car il n’est pas possible de reconstruire les données de ces images qui ont été supprimées à l’issue de la détection d’occlusion. Toutefois, un algorithme de synthèse peut utiliser les images IVO, IV1, IV2 qui ont été reconstruites afin de générer une image d’une vue requise par un utilisateur.
Selon un quatrième exemple, on considère que deux images IVO et IV1 de résolution 4096x2048 pixels sont capturées respectivement par deux caméras de type 360°. L’image IVO de la première vue est codée classiquement à l’aide de la première méthode de codage MC1, tandis que l’image IV1 de la deuxième vue est traitée avant d’être codée selon la deuxième méthode de codage MC2. Un tel traitement comprend ce qui suit :
- extraire les contours de l’image IV1, à l’aide d’un filtre, tel que par exemple un filtre de Sobel,
- appliquer une dilatation aux contours, par exemple à l’aide d’un opérateur de morphologie mathématique, afin d’augmenter la zone autour des contours.
Les données de traitement, telles que les données d’image relatives à l’image IV1, comprennent les pixels à l’intérieur de la zone autour des contours, ainsi que des pixels mis à 0 correspondant respectivement aux pixels situés en dehors de la zone autour des contours.
De manière additionnelle, des données de type textuel sont générées, par exemple sous la forme d’une information de marquage (ex :YUV=000) qui indique la mise à 0 des pixels situés en dehors de la zone autour des contours. Les pixels mis à 0 ne seront ni codés ni signalés au décodeur.
L’image IVO est codée à l’aide d’un codeur HEVC, ce qui génère un signal de données F1 contenant l’information flag_proc=0 ainsi que les données originales codées de l’image IVO.
Les données d’image de la zone autour des contours de l’image IV1 sont codées à l’aide d’un codeur HEVC, tandis que l’information de marquage est codée à l’aide d’un codeur sans perte. Un signal de données F2 est alors généré, ledit signal contenant l’information flag_proc=1, les pixels codés de la zone autour des contours de l’image IV1 et l’information de marquage codée.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IVO est reconstruite à l’aide d’un décodeur HEVC, à sa résolution originale.
Si flag_proc=1, l’image IV1, correspondant aux données d’image de la zone autour des contours de l’image IV1, est reconstruite au moyen d’un décodeur HEVC, à l’aide de l’information de marquage qui permet de restaurer la valeur mise à 0 des pixels entourant ladite zone.
Un algorithme de synthèse peut utiliser les deux images IVO et IV1 qui ont été reconstruites, afin de générer une image d’une vue requise par un utilisateur.
Selon un cinquième exemple, on considère que quatre images IVO à IV3, de résolution 4096x2048 pixels, sont capturées respectivement par quatre caméras de type 360°. L’image IVO est codée classiquement à l’aide de la première méthode de codage MC1, tandis que les images IV1 à IV3 sont traitées avant d’être codées selon la deuxième méthode de codage MC2. Un tel traitement est un filtrage des images IV1 à IV3, au cours duquel est calculée une région d’intérêt ROI. Une région d’intérêt contient la/les zone(s) de chaque image IV1 à IV3 qui sont considérées les plus pertinentes, par exemple parce qu’elles contiennent de nombreux détails.
Un tel filtrage est exécuté selon par exemple une des deux méthodes cidessous :
- calcul de cartes de saillance de chaque image IV1 à IV3, au moyen d’un filtrage,
- filtrage des cartes de profondeur de chaque image IV1 à IV3 : la carte de profondeur est caractérisée, pour chaque pixel de texture, par une valeur de profondeur proche ou éloignée dans la scène 3D. Un seuil est défini, de telle façon que chaque pixel d’une image IV1, IV2, IV3 qui est situé en dessous de ce seuil est associé à un objet dans la scène qui est proche de la caméra. L’ensemble des pixels situés en dessous de ce seuil sont alors considérés comme la région d’intérêt.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV3, comprennent les pixels à l’intérieur de leurs régions d’intérêt respectives, ainsi que des pixels mis à 0 correspondant respectivement aux pixels situés en dehors de ces régions d’intérêt.
De manière additionnelle, des données de type textuel sont générées, par exemple sous la forme d’une information de marquage qui indique la mise à 0 des pixels situés en dehors de la région d’intérêt. Les pixels mis à 0 ne seront ni codés ni signalés au décodeur.
L’image IVO est codée à l’aide d’un codeur HEVC, ce qui génère un signal de données F1o contenant l’information flag_proc=0 ainsi que les données originales codées de l’image IVO.
Les données d’image de la région d’intérêt de chaque image IV1, IV2, IV3 sont codées à l’aide d’un codeur HEVC, tandis que l’information de marquage est codée à l’aide d’un codeur sans perte. Trois signaux de données F2i, F22, F23 qui contiennent respectivement les données d’image codées des régions d’intérêt de chacune des images IV1, IV2, IV3 en association avec l’information flag_proc=1, et une information de marquage codée correspondante, sont générés. Les signaux de données F1o, F2i, F22, F23 sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IVO est reconstruite à l’aide d’un décodeur HEVC, à sa résolution originale.
Si flag_proc=1, chaque image IV1 à IV3, correspondant aux données d’image de sa région d’intérêt respective, est reconstruite au moyen d’un décodeur HEVC, à l’aide de l’information de marquage, ce qui permet de restaurer la valeur mise à 0 des pixels entourant ladite région.
Un algorithme de synthèse peut utiliser directement les quatre images IVO, IV1, IV2, IV3 qui ont été reconstruites, afin de générer une image d’une vue requise 5 par un utilisateur.
Il va de soi que les modes 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 10 autant sortir du cadre de l’invention

Claims (15)

  1. REVENDICATIONS
    1. Procédé de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en œuvre par un dispositif de codage, comprenant ce qui suit :
    - sélectionner (C1) une première méthode de codage ou une deuxième méthode de codage pour coder l’image de ladite vue,
    - générer (C10, C12a ; C10, C12b ; C10, C12c) un signal de données contenant une information (flag_proc) indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
    - si la première méthode de codage est sélectionnée, coder (C11a) les données originales de l’image de ladite vue, ladite première méthode de codage fournissant des données originales codées,
    - si la deuxième méthode de codage est sélectionnée :
    • coder (C11b) des données traitées de l’image de ladite vue, lesdites données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de ladite vue, ledit codage fournissant des données traitées codées, • coder (C11b) des informations de description dudit traitement d’image qui a été appliqué,
    - ledit signal de données généré contenant en outre :
    • lesdites données originales codées de l’image de ladite vue, si la première méthode de codage a été sélectionnée, • lesdites données traitées codées de l’image de ladite vue, ainsi que lesdites informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
  2. 2. Procédé de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en œuvre par un dispositif de décodage, comprenant ce qui suit :
    - lire (D1), dans le signal de données, une information (flag_proc) indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
    - s’il s’agit de la première méthode de décodage :
    • lire (D11a), dans le signal de données, des données codées associées à l’image de ladite vue, • reconstruire (D12a) une image de ladite vue à partir desdites données codées, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
    - s’il s’agit de la deuxième méthode de décodage :
    • lire (D11b; D11c), dans le signal de données, des données codées associées à l’image de ladite vue, • reconstruire (D12b), à partir desdites données codées lues, des données traitées de l’image de ladite vue et des informations de description d’un traitement d’image ayant été appliqué aux données originales de l’image de ladite vue.
  3. 3. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
    - les données traitées de l’image de ladite vue sont des données de l’image de ladite vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de ladite vue,
    - les informations de description dudit traitement d’image sont des informations de localisation, dans l’image de ladite vue, d’une ou de plusieurs zones rognées.
  4. 4. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
    - les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée,
    - les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone échantillonnée.
  5. 5. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
    - les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un filtrage,
    - les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone filtrée.
  6. 6. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
    - les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
    - les informations de description dudit traitement d’image comprennent un indicateur des pixels de l’image de ladite vue qui se retrouvent dans l’image d’une autre vue.
  7. 7. Dispositif de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit dispositif de codage comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit :
    - sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder les données de l’image de ladite vue,
    - générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
    - si la première méthode de codage est sélectionnée, coder les données originales de l’image de ladite vue, ladite première méthode de codage fournissant des données originales codées,
    - si la deuxième méthode de codage est sélectionnée :
    • coder des données traitées de l’image de ladite vue, lesdites données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de ladite vue, ledit codage fournissant des données traitées codées, • coder des informations de description dudit traitement d’image qui a été appliqué,
    - ledit signal de données généré contenant en outre :
    • lesdites données originales codées de l’image de ladite vue, si la première méthode de codage a été sélectionnée, • lesdites données traitées codées de l’image de ladite vue, ainsi que lesdites informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
  8. 8. Dispositif de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit dispositif de décodage comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit :
    - lire, dans le signal de données, une information (flag_proc) indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
    - s’il s’agit de la première méthode de décodage :
    • lire, dans le signal de données, des données codées associées à l’image de ladite vue, • reconstruire une image de ladite vue à partir desdites données codées lues, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
    - s’il s’agit de la deuxième méthode de décodage :
    • lire, dans le signal de données, des données codées associées à l’image de ladite vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
  9. 9. Programme d'ordinateur comportant des instructions comprenant des instructions de code de programme pour l’exécution des étapes du procédé de codage selon l’une quelconque des revendications 1, 3 à 6 ou du procédé de
    50 décodage selon l’une quelconque des revendications 2, 3 à 6, lorsqu'il est exécuté sur un ordinateur.
  10. 10. Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 9.
  11. 11. Signal de données codées représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit signal comprenant :
    - une information indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
    - s’il s’agit de la première méthode de décodage, des données codées associées à l’image de ladite vue pour reconstruire une image de ladite vue, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
    - s’il s’agit de la deuxième méthode de décodage, des données codées associées à l’image de ladite vue pour reconstruire une image de ladite vue, l’image de ladite vue reconstruite contenant des données traitées de l’image de ladite vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
  12. 12. Signal de données selon la revendication 11, dans lequel :
    - les données traitées de l’image de ladite vue sont des données de l’image de ladite vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de ladite vue,
    - les informations de description dudit traitement d’image sont des informations de localisation, dans l’image de ladite vue, d’une ou de plusieurs zones rognées.
  13. 13. Signal de données selon la revendication 11, dans lequel :
    - les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée,
    - les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone échantillonnée.
  14. 14. Signal de données selon la revendication 11, dans lequel :
    - les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un filtrage,
    - les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone filtrée.
  15. 15. Signal de données selon la revendication 11, dans lequel :
    - les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
    - les informations de description dudit traitement d’image comprennent un indicateur des pixels de l’image de ladite vue qui se retrouvent dans l’image d’une autre vue.
FR1859067A 2018-10-01 2018-10-01 Codage et decodage d'une video omnidirectionnelle Withdrawn FR3086831A1 (fr)

Priority Applications (10)

Application Number Priority Date Filing Date Title
FR1859067A FR3086831A1 (fr) 2018-10-01 2018-10-01 Codage et decodage d'une video omnidirectionnelle
PCT/FR2019/052254 WO2020070409A1 (fr) 2018-10-01 2019-09-25 Codage et décodage d'une vidéo omnidirectionnelle
BR112021005927-0A BR112021005927A2 (pt) 2018-10-01 2019-09-25 codificação e descodificação de um vídeo omnidirecional
CN202410246938.5A CN118317113A (zh) 2018-10-01 2019-09-25 全向视频的编码和解码
JP2021517806A JP7520823B2 (ja) 2018-10-01 2019-09-25 全方位映像の符号化及び復号
US17/281,463 US11653025B2 (en) 2018-10-01 2019-09-25 Coding and decoding of an omnidirectional video
CN201980064753.XA CN112806015B (zh) 2018-10-01 2019-09-25 全向视频的编码和解码
EP19795265.8A EP3861751A1 (fr) 2018-10-01 2019-09-25 Codage et décodage d'une vidéo omnidirectionnelle
KR1020217009472A KR20210066825A (ko) 2018-10-01 2019-09-25 전방향성 영상의 코딩 및 디코딩
US18/296,073 US11973981B2 (en) 2018-10-01 2023-04-05 Coding and decoding of an omnidirectional video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1859067A FR3086831A1 (fr) 2018-10-01 2018-10-01 Codage et decodage d'une video omnidirectionnelle

Publications (1)

Publication Number Publication Date
FR3086831A1 true FR3086831A1 (fr) 2020-04-03

Family

ID=65244050

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1859067A Withdrawn FR3086831A1 (fr) 2018-10-01 2018-10-01 Codage et decodage d'une video omnidirectionnelle

Country Status (8)

Country Link
US (2) US11653025B2 (fr)
EP (1) EP3861751A1 (fr)
JP (1) JP7520823B2 (fr)
KR (1) KR20210066825A (fr)
CN (2) CN118317113A (fr)
BR (1) BR112021005927A2 (fr)
FR (1) FR3086831A1 (fr)
WO (1) WO2020070409A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210236929A1 (en) * 2018-10-22 2021-08-05 Korea Electronics Technology Institute Apparatus and method for acquiring in-game 360 vr image by using plurality of virtual cameras

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100259595A1 (en) * 2009-04-10 2010-10-14 Nokia Corporation Methods and Apparatuses for Efficient Streaming of Free View Point Video

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739686B1 (ko) * 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
KR101385884B1 (ko) * 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
KR20110126518A (ko) * 2009-02-19 2011-11-23 파나소닉 주식회사 기록매체, 재생장치 및 집적회로
WO2010095440A1 (fr) * 2009-02-20 2010-08-26 パナソニック株式会社 Support d'enregistrement, dispositif de reproduction et circuit intégré
CN102450010A (zh) * 2009-04-20 2012-05-09 杜比实验室特许公司 定向内插和数据后处理
US8743178B2 (en) * 2010-01-05 2014-06-03 Dolby Laboratories Licensing Corporation Multi-view video format control
KR101545382B1 (ko) * 2010-01-08 2015-08-18 노키아 코포레이션 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
EP2670139A1 (fr) * 2012-06-01 2013-12-04 Alcatel Lucent Procédé et appareil permettant de coder un flux vidéo ayant un canal d'informations de transparence
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
EP2873241B1 (fr) * 2012-07-10 2016-01-06 Telefonaktiebolaget LM Ericsson (PUBL) Procédés et dispositifs pour permettre la synthèse de vues
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
JP6266761B2 (ja) * 2013-05-10 2018-01-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. マルチビューレンダリング装置とともに使用するためのビデオデータ信号の符号化方法
US10070125B2 (en) * 2013-07-31 2018-09-04 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9906804B2 (en) * 2014-01-16 2018-02-27 Qualcomm Incorporated Reference layer sample position derivation for scalable video coding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
FR3019384B1 (fr) * 2014-03-25 2018-01-12 Universite Grenoble Alpes Reacteur implantable biocompatible
US20170195677A1 (en) * 2014-05-22 2017-07-06 Mediatek Inc. Method of Intra Block Copy with Flipping for Image and Video Coding
US10075640B2 (en) * 2015-12-31 2018-09-11 Sony Corporation Motion compensation for image sensor with a block based analog-to-digital converter
JP6597385B2 (ja) * 2016-02-24 2019-10-30 沖電気工業株式会社 符号化装置及びプログラム、復号装置及びプログラム、並びに、配信システム
FR3058019A1 (fr) * 2016-10-21 2018-04-27 Orange Procede de codage et de decodage de parametres d'image, dispositif de codage et de decodage de parametres d'image et programmes d'ordinateur correspondants
US11200675B2 (en) * 2017-02-20 2021-12-14 Sony Corporation Image processing apparatus and image processing method
CN107371032B (zh) * 2017-07-10 2019-11-22 上海国茂数字技术有限公司 一种多视点立体视频分层编码方法和解码方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100259595A1 (en) * 2009-04-10 2010-10-14 Nokia Corporation Methods and Apparatuses for Efficient Streaming of Free View Point Video

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A VETRO ET AL: "Overview of the Stereo and Multiview Video Coding Extensions of the H.264/MPEG-4 AVC Standard", PROCEEDINGS OF THE IEEE, vol. 99, no. 4, 1 April 2011 (2011-04-01), pages 626 - 642, XP055132298, ISSN: 0018-9219, DOI: 10.1109/JPROC.2010.2098830 *
CHRISTOPH FEHN ET AL: "Asymmetric Coding of Stereoscopic Video for Transmission Over T-DMB", 3DTV CONFERENCE, 2007, IEEE, PI, 1 May 2007 (2007-05-01), pages 1 - 4, XP031158203, ISBN: 978-1-4244-0721-7 *
JONGBEOM JEONG ET AL: "3DoF+ 360 Video Location-Based Asymmetric Down-Sampling for View Synthesis to Immersive VR Video Streaming", SENSORS, vol. 18, no. 9, 18 September 2018 (2018-09-18), pages 3148, XP055591982, DOI: 10.3390/s18093148 *
MAREK DOMANSKI ET AL: "3D video compression by coding of disoccluded regions", IMAGE PROCESSING (ICIP), 2012 19TH IEEE INTERNATIONAL CONFERENCE ON, IEEE, 30 September 2012 (2012-09-30), pages 1317 - 1320, XP032333422, ISBN: 978-1-4673-2534-9, DOI: 10.1109/ICIP.2012.6467110 *
RAY BAPPADITYA ET AL: "On the possibility to achieve 6-DoF for 360 video using divergent multi- view content", 2018 26TH EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), EURASIP, 3 September 2018 (2018-09-03), pages 211 - 215, XP033461782, DOI: 10.23919/EUSIPCO.2018.8553397 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210236929A1 (en) * 2018-10-22 2021-08-05 Korea Electronics Technology Institute Apparatus and method for acquiring in-game 360 vr image by using plurality of virtual cameras
US11951394B2 (en) * 2018-10-22 2024-04-09 Korea Electronics Technology Institute Apparatus and method for acquiring in-game 360 VR image by using plurality of virtual cameras

Also Published As

Publication number Publication date
WO2020070409A1 (fr) 2020-04-09
KR20210066825A (ko) 2021-06-07
BR112021005927A2 (pt) 2021-06-29
US20230239503A1 (en) 2023-07-27
JP2022503963A (ja) 2022-01-12
JP7520823B2 (ja) 2024-07-23
US11973981B2 (en) 2024-04-30
EP3861751A1 (fr) 2021-08-11
CN112806015A (zh) 2021-05-14
CN112806015B (zh) 2024-03-26
US11653025B2 (en) 2023-05-16
US20210409766A1 (en) 2021-12-30
CN118317113A (zh) 2024-07-09

Similar Documents

Publication Publication Date Title
EP0547696B1 (fr) Système de transmission et/ou stockage de signaux correspondant à des images texturées
EP3878170B1 (fr) Synthèse de vues
EP3061246B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP2347590A1 (fr) Prediction d&#39;une image par compensation en mouvement en avant
US11973981B2 (en) Coding and decoding of an omnidirectional video
EP3649778A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3725080B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues représentative d&#39;une vidéo omnidirectionnelle
EP3158749B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
WO2020188172A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
WO2019008253A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP4085613A1 (fr) Synthese iterative de vues a partir de donnees d&#39;une video multi-vues
EP3991401A1 (fr) Procédé et dispositif de traitement de données de video multi-vues
WO2011131903A1 (fr) Procede de traitement d&#39;une information de mouvement et procedes de codage
WO2021160955A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
FR3036016A1 (fr) Codage/decodage predictif d&#39;images comportant un artefact, utilisant une extrapolation
FR3124301A1 (fr) Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants.
EP4222950A1 (fr) Codage et decodage d&#39;une video multi-vues
EP2839648A1 (fr) Procédé de codage et de décodage d&#39;images intégrales, dispositif de codage et de décodage d&#39;images intégrales et programmes d&#39;ordinateur correspondants
FR2811112A1 (fr) Procede de codage d&#39;une image source a visualisation adaptative, procede de decodage et decodeur correspondant

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200403

ST Notification of lapse

Effective date: 20210605