FR3064145A1 - Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants - Google Patents

Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants Download PDF

Info

Publication number
FR3064145A1
FR3064145A1 FR1752143A FR1752143A FR3064145A1 FR 3064145 A1 FR3064145 A1 FR 3064145A1 FR 1752143 A FR1752143 A FR 1752143A FR 1752143 A FR1752143 A FR 1752143A FR 3064145 A1 FR3064145 A1 FR 3064145A1
Authority
FR
France
Prior art keywords
image
coding
current block
value
syntax element
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
FR1752143A
Other languages
English (en)
Inventor
Felix Henry
Joel Jung
Bappaditya Ray
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 FR1752143A priority Critical patent/FR3064145A1/fr
Priority to CN201880018074.4A priority patent/CN110431844B/zh
Priority to JP2019550137A priority patent/JP7096263B2/ja
Priority to BR112019018901A priority patent/BR112019018901A2/pt
Priority to US16/493,624 priority patent/US11159826B2/en
Priority to EP18713333.5A priority patent/EP3596923A1/fr
Priority to PCT/FR2018/050579 priority patent/WO2018167419A1/fr
Priority to KR1020197028743A priority patent/KR102498157B1/ko
Publication of FR3064145A1 publication Critical patent/FR3064145A1/fr
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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne le codage d'au moins une image (ICj) découpée en blocs, mettant en œuvre ce qui suit : - coder (C2) un premier élément de syntaxe (ES1) associé à une caractéristique de ladite au moins une image, - pour un bloc courant à coder associé à au moins un paramètre de codage, coder (C8) les données du bloc courant, ledit procédé de codage étant caractérisé en ce que: - si le premier élément de syntaxe (ES1) est codé selon une première valeur prédéfinie (VCES11) représentative de la caractéristique de l'image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est codé (C7) uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image, - si le premier élément de syntaxe (ES1) est codé selon une deuxième valeur prédéfinie (VCES1 2) représentative de la caractéristique de l'image, le deuxième élément de syntaxe (ES2) est codé (C7), que le bloc courant appartienne ou non à la zone prédéfinie.

Description

(54) PROCEDE DE CODAGE ET DECODAGE D'IMAGES, PROGRAMMES D'ORDINATEUR CORRESPONDANTS.
DISPOSITIF DE CODAGE ET DECODAGE ET
FR 3 064 145 - A1 (57) L'invention concerne le codage d'au moins une image (ICj) découpée en blocs, mettant en oeuvre ce qui suit:
- coder (C2) un premier élément de syntaxe ( ES -, ) associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder (C8) les données du bloc courant, ledit procédé de codage étant caractérisé en ce que:
- si le premier élément de syntaxe (ES-|) est codé selon une première valeur prédéfinie (VCES1 -, ) représentative de la caractéristique de l'image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est codé (C7) uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l'image,
- si le premier élément de syntaxe (ES-|) est codé selon une deuxième valeur prédéfinie (VCES1 ?) représentative de la caractéristique de l'image, le deuxieme élément de syntaxe (ES2) est codé (C7), que le bloc courant appartienne ou non à la zone prédéfinie.
Figure FR3064145A1_D0001
Figure FR3064145A1_D0002
PROCÉDÉ DE CODAGE ET DÉCODAGE D’IMAGES, DISPOSITIF DE
CODAGE ET DÉCODAGE ET PROGRAMMES D’ORDINATEUR
CORRESPONDANTS
Domaine de l'invention
La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage de paramètres d'images numériques, que ces images numériques soient fixes ou fassent partie d’une séquence d'images numériques.
Le codage/décodage de tels paramètres d’image s’applique notamment à des images issues d’au moins une séquence vidéo comprenant :
- des images issues d’une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes (codage/décodage de type 3D),
- des images obtenues par projection d’une vidéo 360°,
- etc...
La présente invention s’applique de manière similaire au codage/décodage de paramètres d’images de type 2D ou 3D.
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 correspondant.
Arrière-plan de l’invention
Les codeurs vidéo actuels (MPEG, H.264, HEVC, ...) utilisent une représentation par blocs de la séquence vidéo. Les images sont découpées en blocs, lesquels sont susceptibles d’être redécoupés, par exemple de façon récursive comme dans la norme HEVC.
Pour un bloc courant à coder, les paramètres d’image associés à ce bloc sont codés sous forme de bits à l’aide d’une méthode de codage adaptée mise en œuvre par un codeur, tel que par exemple un codeur entropique dont le but est de coder ces paramètres sans perte.
De tels paramètres sont par exemple :
- les coefficients résiduels de prédiction des pixels du bloc courant,
- le mode de prédiction du bloc courant (prédiction Intra, prédiction Inter, prédiction par défaut réalisant une prédiction pour laquelle aucune information n’est transmise au décodeur (« en anglais « skip »)),
- des informations précisant le type de prédiction du bloc courant (orientation, image de référence, ...),
- le type de découpage du bloc courant,
- les informations de mouvement du bloc courant si nécessaire,
- etc.
Les bits obtenus après codage entropique sont inscrits dans un signal de données qui est destiné à être transmis au décodeur.
S’agissant par exemple des coefficients résiduels de prédiction, la norme HEVC propose un indicateur appelé « cbf » (abréviation anglaise de « Coded Block Flag ») pouvant prendre :
- soit la valeur 0 qui est représentative de coefficients résiduels nuis pour le bloc courant à coder,
- soit la valeur 1 qui est représentative d’au moins un coefficient résiduel non nul pour le bloc courant à coder.
Une fois que le signal de données codées a été reçu par le décodeur, le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les bits représentatifs des paramètres d’image associés au bloc sont lus, puis décodés à l’aide d’une méthode de décodage mise en œuvre par un décodeur.
L’inconvénient d’une telle technique de codage des paramètres d’image est que la séquence binaire qui en résulte reste coûteuse à signaler. Ainsi, elle ne permet pas d’optimiser la réduction du gain en compression des données codées. Il en résulte des performances de compression qui ne sont pas satisfaisantes.
Or, dans certains contextes de codage d’images, et pour certains types d’image considérés, il s’avère que le codage de tels paramètres ne s’avère pas toujours utile ou bien s’avère peu performant, entraînant de ce fait selon le contexte, soit une reconstruction de l’image de mauvaise qualité, soit une sollicitation importante des ressources en calculs aussi bien au codeur, qu’au décodeur, soit une limitation trop élevée du gain en débit. Par exemple, en imagerie médicale, il n’est pas forcément utile de coder un ou plusieurs paramètres de codage associés à des blocs de l’image situés en périphérie de cette dernière. Selon un autre exemple, dans le cas d’une image obtenue par projection en deux dimensions d’une vidéo 360°, que cette projection soit du type Mercator, equirectangulaire, du type CMP (abréviation anglaise de « Cube Map Projection »), etc..., il est connu de constater qu’une telle projection entraîne des déformations dans certaines zones bien particulière de l’image projetée. Par exemple, en ce qui concerne une image projetée sur un rectangle, on sait par avance que les zones supérieure et inférieure de cette image contiennent le plus de déformations que le reste de l’image. II en résulte que le codage des paramètres associés aux blocs contenus dans ces zones particulières n’est pas efficace, entraînant de surcroît une diminution inutile du gain en débit.
L’invention vise donc à optimiser le coût de signalisation des paramètres de codage d’image, en mettant en œuvre un codage sélectif de ces paramètres de codage qui tienne compte, à un premier niveau, de la caractéristique de l’image à coder, et à un second niveau, de la disposition du bloc courant à coder dans cette image.
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'au moins une image découpée en blocs, mettant en œuvre ce qui suit :
- coder un premier élément de syntaxe associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant.
Un tel procédé de codage est remarquable en ce que:
- si le premier élément de syntaxe est codé selon une première valeur prédéfinie représentative de la caractéristique de l’image, un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est codé uniquement si le bloc courant appartient à une zone prédéfinie de l’image,
- si le premier élément de syntaxe est codé selon une deuxième valeur prédéfinie représentative de la caractéristique de l’image, le deuxième élément de syntaxe est codé, que le bloc courant appartienne ou non à la zone prédéfinie.
Une telle disposition permet d’éviter de coder, puis de transmettre au décodeur, au moins un élément de syntaxe représentatif d’un paramètre de codage d’un bloc, en tenant compte non seulement du fait qu’un tel bloc est situé dans une zone spécifique de l’image, pour laquelle le codage de cet élément de syntaxe n’est pas utile compte tenu du contexte de codage d’image courant, mais également d’une caractéristique de l’image à coder dans laquelle est situé le bloc courant.
Il en résulte ainsi une diminution non négligeable du coût de signalisation, dans la mesure où une telle disposition est reproductible au niveau du décodeur.
Selon un mode de réalisation particulier, si le bloc courant appartient à la zone prédéfinie de l’image, le codage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction d’un critère dépendant des caractéristiques du bloc courant.
Une telle disposition permet en outre de mettre en œuvre un codage adaptatif d’au moins un élément de syntaxe représentatif d’un paramètre de codage d’un bloc, selon la valeur d’un critère dépendant des caractéristiques du bloc courant, tel que par exemple la taille, la valeur des pixels résiduels de ce bloc, le type de transformée appliquée aux pixels résiduels de ce bloc si ce dernier a subi une prédiction, etc....
Ainsi, en fonction de la valeur de ce critère, il est décidé de coder ou de ne pas coder cet élément de syntaxe.
Il en résulte une réduction du coût de signalisation optimisée, moyennant une meilleure adaptation du codage aux caractéristiques locales du signal vidéo.
Selon un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le type d’obtention de ladite au moins une image.
Une telle disposition permet de réduire le coût de signalisation de façon sélective selon la façon dont a été capturée initialement la scène que représente l’image.
Par exemple, si l’image courante est une image en deux dimensions, il est décidé :
- de ne pas coder un élément de syntaxe représentatif d’un paramètre de codage d’un bloc de cette image, dans le cas où cette dernière a été obtenue par projection d’une vidéo capturée selon une pluralité d’angles de vue couvrant par exemple un angle de 360° et comprend donc des zones où il est connu par avance que la densité d’informations par pixel est plus faible que dans d’autres zones de l’image,
- de coder systématiquement un élément de syntaxe représentatif d’un paramètre de codage d’un bloc de cette image, dans le cas où cette dernière provient d’une vidéo comprenant des images 2D se succédant temporellement.
Selon encore un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le contexte de codage courant de l’image.
Une telle disposition permet de réduire le coût de signalisation de façon sélective dans le cadre de certaines applications de codage d’image.
Selon un exemple de contexte de codage d’image, dans le cas d’un codage d’images appliqué à l’imagerie médicale, il est décidé d’appliquer à au moins deux zones différentes de l’image courante un niveau de codage de qualité différente de façon à:
- ne pas coder un élément de syntaxe représentatif d’un paramètre de codage d’un bloc de cette image, dans le cas où ce bloc est localisé en périphérie de l’image,
- de coder un élément de syntaxe représentatif d’un paramètre de codage d’un bloc de cette image, dans le cas où ce bloc est localisé au centre de l’image.
Selon un autre exemple de contexte de codage, dans le cas d’un codage d’images appliqué à un flux télévisuel, il est décidé d’appliquer à chaque zone de l’image courante un même niveau de qualité de codage.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en œuvre au cours du procédé de codage tel que défini cidessus.
Corrélativement, l'invention concerne un dispositif de codage d'au moins une image découpée en blocs, comprenant un circuit de traitement qui est agencé pour :
- coder un premier élément de syntaxe associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant.
Un tel dispositif de codage est caractérisé en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe est codé selon une première valeur prédéfinie représentative de la caractéristique de l’image, coder un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie de l’image,
- si le premier élément de syntaxe est codé selon une deuxième valeur prédéfinie représentative de la caractéristique de l’image, coder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie.
De façon correspondante, l'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'au moins une image codée ayant été découpée en blocs, mettant en œuvre ce qui suit :
- décoder un premier élément de syntaxe contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant.
Un tel procédé de décodage est remarquable en ce que:
- si le premier élément de syntaxe a une première valeur prédéfinie représentative de la caractéristique de l’image, un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est décodé uniquement si le bloc courant appartient à une zone prédéfinie de l’image,
- si le premier élément de syntaxe a une deuxième valeur prédéfinie représentative de la caractéristique de l’image, le deuxième élément de syntaxe est décodé, que le bloc courant appartienne ou non à la zone prédéfinie.
Selon un mode de réalisation particulier, si le bloc courant appartient à la zone prédéfinie de l’image, le décodage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction d’un critère dépendant des caractéristiques du bloc courant.
Selon un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le type d’obtention de ladite au moins une image.
Selon encore un autre mode de réalisation particulier, la caractéristique de ladite au moins une image est le contexte de décodage courant de l’image.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en œuvre au cours du procédé de décodage tel que défini cidessus.
Corrélativement, l'invention concerne un dispositif de décodage d'un signal de données représentatif d'au moins une image codée ayant été découpée en blocs, comprenant un circuit de traitement qui est agencé pour :
- décoder un premier élément de syntaxe contenu dans le signal de données, le premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
- pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant.
Un tel dispositif de décodage est remarquable en ce que le circuit de traitement est agencé pour :
- si le premier élément de syntaxe a une première valeur prédéfinie représentative de la caractéristique de l’image, décoder un deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie de l’image,
- si le premier élément de syntaxe a une deuxième valeur prédéfinie représentative de la caractéristique de l’image, décoder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en œuvre l'un des procédés de codage et de décodage selon l'invention, lorsqu'il est exécuté sur un ordinateur.
Un tel 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 n’importe quelle autre forme souhaitable.
Encore un autre objet de l’invention vise aussi un support d’enregistrement lisible par un ordinateur, et comportant des instructions de 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, une clé USB, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur.
D'autre part, un tel 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, un tel support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter le procédé en question ou pour être utilisé dans l'exécution de ce dernier.
Brève description des dessins
D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation préférés décrits en référence aux figures dans lesquelles:
- la figure 1A représente les étapes du procédé de codage selon un mode de réalisation de l’invention,
- la figure 1B représente une alternative du procédé de codage de la figure 1A,
- la figure 2 représente un dispositif de codage selon un mode de réalisation de l'invention,
- la figure 3A représente une image découpée en blocs selon un premier mode de réalisation,
- la figure 3B représente une image découpée en blocs selon un deuxième mode de réalisation,
- les figures 4A à 4D représentent chacune des exemples de zones prédéfinies dans l’image courante, dans le cas d’une obtention particulière de l’image courante,
- la figure 5A représente une image courante dans un contexte de codage/décodage où le codeur/décodeur choisit d’appliquer ou non un niveau de qualité de codage/décodage différent à au moins deux zones de l’image courante,
- la figure 5B représente un exemple de zone prédéfinie dans l’image courante, dans le cas où le codeur/décodeur choisit d’appliquer ou non un niveau de qualité de codage/décodage différent à au moins deux zones de l’image courante,
- la figure 6A représente les étapes du procédé de décodage selon un mode de réalisation de l’invention,
- la figure 6B représente une alternative du procédé de décodage de la figure 6A,
- la figure 7 représente un dispositif de décodage selon un mode de réalisation de l'invention.
Description détaillée de la partie codage
Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de codage selon l'invention est utilisé pour coder une image ou une séquence d'images selon un flux binaire proche de celui qu'on obtient par un codage mis en œuvre dans un codeur conforme à l’une quelconque des normes de codage vidéo actuelles ou à venir.
Dans ce mode de réalisation, le procédé de codage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel codeur. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des opérations C1 à C9 telles que représentées à la figure 1A.
Selon le mode de réalisation de l'invention, le procédé de codage selon l'invention est implémenté dans un dispositif de codage ou codeur CO représenté à la figure 2.
Comme illustré en figure 2, le codeur CO comprend une mémoire MEM_C comprenant une mémoire tampon MT_C, un processeur PROC_C piloté par un programme d'ordinateur PG_C qui met en œuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_C sont par exemple chargées dans une mémoire RAM, notée MR_C, avant d'être exécutées par le processeur PROC_C.
Le procédé de codage représenté sur la figure 1A s’applique à toute image courante ICj fixe ou bien faisant partie d’une séquence de L images ICi, ..., ICj,..., ICl(1 ^L) à coder.
L’image courante ICj est issue d’au moins une séquence vidéo comprenant, à titre d’exemples non exhaustifs :
- des images issues d’une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes, c'est-à-dire représentatives d’une même scène (codage/décodage de type 3D),
- des images obtenues par projection d’une vidéo 360°,
- etc...
En référence à la figure 1A, il est procédé en C1, de façon connue en soi, au découpage d’une image courante ICj en une pluralité de blocs ΒΊ, B2, Bu,..., Bs (1<u<S). Le partitionnement est mis en œuvre par un dispositif de partitionnement MP_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
II convient de noter qu’au sens de l’invention, le terme « bloc » signifie unité de codage (de l’anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC « ISO/IEC/23008-2 Recommandation ITU-T H.265 High Efficiency Video Coding (HEVC) ».
En particulier, une telle unité de codage regroupe des ensembles de pixels de forme rectangulaire ou carrée, encore appelés blocs, macroblocs, ou bien des ensembles de pixels présentant d'autres formes géométriques.
Lesdits blocs B1; B2, Bu,..., Bs sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type lexicographique. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite.
D’autres types de parcours sont bien sûr possibles. Ainsi, il est possible de découper l’image ICj en plusieurs sous-images appelées slices et d’appliquer indépendamment un découpage de ce type sur chaque sous-image. II est également possible de coder non pas une succession de lignes, comme expliqué ci-dessus, mais une succession de colonnes. II est également possible de parcourir les lignes ou colonnes dans un sens ou dans l’autre
Selon un exemple, les blocs ΒΊ, B2, ..., Bu,..., Bs ont une forme carrée et contiennent tous K pixels, avec K>1. Selon un premier mode de réalisation représenté sur la figure 3A, les blocs B1; B2, ..., Bu,..., Bs sont obtenus à l’issue d’une unique subdivision de l’image courante ICj en blocs de taille maximale. Selon ce premier mode de réalisation, les blocs ont une taille de par exemple 64x64 pixels. Selon un deuxième mode de réalisation représenté sur la figure3B, les blocs B1; B2, ..., Bu,..., Bs sont obtenus à l’issue d’une subdivision de l’image courante ICj en blocs de taille inférieure ou égale à la taille maximale précitée. Selon ce deuxième mode de réalisation, lesdits blocs sont par exemple de taille 64x64 et/ou 32x32 et/ou 16x16 et/ou 8x8 pixels.
En fonction de la taille de l’image qui n’est pas forcément un multiple de la taille des blocs, les derniers blocs à gauche et les derniers blocs en bas peuvent ne pas être carrés. Dans un mode alternatif de réalisation, les blocs peuvent être par exemple de taille rectangulaire et/ou non alignés les uns avec les autres.
En C2, il est procédé au codage d’un premier élément de syntaxe ESi qui est associé à une caractéristique de l’image courante ICj.
L’élément de syntaxe ESi est un élément de syntaxe haut niveau d’une séquence vidéo comprenant l’image courante ICj. A cet effet, en fonction du contexte de codage, cet élément peut être codé :
- au début du codage de chaque image de la séquence vidéo,
- ou une seule fois au début du codage d’une séquence d’images,
- ou une seule fois au début du codage de la séquence vidéo.
L’élément de syntaxe ESi est codé en C2 :
- par une première valeur prédéfinie VCESIi qui est représentative d’une caractéristique d’un premier type de l’image courante ICj,
- par une deuxième valeur prédéfinie VCES12 qui est représentative d’une caractéristique d’un deuxième type de l’image courante ICj. Selon un exemple, VCES1i=1 et VCES12=O.
Le codage C2 est par exemple un codage entropique de type CABAC (Context Adaptive Binary Arithmetic Coder en anglais) ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par un dispositif de codage MC_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Selon un premier mode de réalisation, la caractéristique de l’image ICj est le type d’obtention de cette dernière. A cet effet :
- si l’image ICj est par exemple une image 2D qui a été obtenue par projection en deux dimensions d’une vidéo 360° classique, VCES11=1,
- si l’image ICj est par exemple une image 2D classique de type fixe ou faisant partie d’une séquence d’images se succédant temporellement, VCES12=0.
Selon un deuxième mode de réalisation, la caractéristique de l’image ICj est le choix au codeur d’appliquer ou non un niveau de qualité de codage différent à au moins deux zones de l’image courante à coder. A cet effet :
- si l’image courante ICj est codée selon un premier contexte de codage, tel que par exemple un contexte d’imagerie médicale, VCES1i=1, ce qui indique que la zone centrale de l’image courante est codée selon un niveau de qualité supérieur à celui appliqué à la zone périphérique de l’image courante,
- si l’image courante ICj est codée selon un deuxième contexte de codage, tel que par exemple un contexte télévisuel, VCES12=0, ce qui indique qu’un même niveau de qualité de codage est appliqué à toute l’image courante.
En référence à la figure 1A, en C3, le codeur CO de la figure 2 sélectionne comme bloc courant un premier bloc à coder Bu de l’image ICj, tel que par exemple le premier bloc ΒΊ. Le bloc courant Bu est associé à au moins un paramètre de codage. A titre d’exemples non exhaustifs, un tel paramètre de codage est :
• le mode de prédiction (prédiction intra, prédiction inter, biprédiction, prédiction par défaut réalisant une prédiction pour laquelle aucune information n’est transmise au décodeur (en anglais « skip ») ;
• le type de prédiction (orientation, composante d’image de référence, ;
• le type de subdivision en sous-blocs ;
• le type de transformée, par exemple DCT 4x4, DCT 8x8, appliqué au bloc courant ou aux pixels résiduels du bloc courant si ce dernier a subi une prédiction ;
• les valeurs de pixels ;
• les valeurs de pixels résiduels résultant d’une prédiction ;
• un filtrage de l’image courante ICj une fois codée, tel que par exemple celui pratiqué par la technique « Sample Adaptive
Offset » de la norme HEVC (technique décrite dans le document Chih-Ming Fu ; E. Alshina ; A. Alshin ; Yu-Wen Huang ; Ching-Yeh Chen ; Chia-Yang Tsai ; Chih-Wei Hsu ; Shaw-Min Lei ; Jeong-Hoon Park ; Woo-Jin Han “Sample Adaptive Offset in the HEVC Standard’ Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, Dec. 2012 ) ;
• l’index du mode de prédiction intra parmi une liste construite pour le bloc courant ;
• l’index du vecteur de mouvement parmi une liste construite pour le bloc courant ;
• un indicateur de subdivision du bloc résidu obtenu en cas de prédiction du bloc courant ;
• un indicateur de filtrage des pixels de référence qui ont servi à prédire le bloc courant ;
• etc...
Un deuxième élément de syntaxe ES2 est représentatif de la valeur dudit au moins un paramètre de codage.
En C4, le codeur CO lit la valeur codée VCES11 ou VCES12 de l’élément de syntaxe ESi.
Si en C4, la valeur codée de l’élément de syntaxe ESi est VCESIi et si, en C5, le bloc courant Bu appartient à une zone prédéfinie de l’image courante ICj, il est décidé en C6 de ne pas coder l’élément de syntaxe ES2. A cet effet, l’élément de syntaxe ES2 est mis à une valeur prédéfinie. Une telle opération est particulièrement adaptée lorsque la densité d’informations de la zone prédéfinie de l’image est faible ou très faible.
Selon un premier mode de réalisation, si l’élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2i indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu, il est décidé en C6 d’assigner ES2 à, par exemple, la première valeur prédéfinie VES2i selon une convention prédéterminée au codeur CO.
Selon un deuxième mode de réalisation, si l’élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2i indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu, il est décidé en C6 d’assigner ES2 à, par exemple, la première valeur prédéfinie VES2! selon une convention prédéterminée au codeur CO.
Les valeurs prédéfinies VES2! et VES22 du deuxième élément de syntaxe ES2 sont stockées préalablement dans une liste LTSi qui est enregistrée dans la mémoire tampon MT_C du codeur CO de la figure 2.
Lors du codage du bloc courant Bu, seul le premier ou le deuxième mode de réalisation de l’élément de syntaxe ES2 est mis en œuvre. A titre d’alternative, les premier et deuxième modes de réalisation sont mis en œuvre.
Si en C4, la valeur codée de l’élément de syntaxe ESi est VCESIi et si, en C5, le bloc courant Bu n’appartient pas à la zone prédéfinie de l’image courante, la valeur prédéfinie VES2! ou VES22 prise par le deuxième élément de syntaxe ES2 est codée en C7. A l’issue de ce codage C7, en fonction du contexte de codage courant, une valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est obtenue. A titre d’exemple non exhaustif, VCES2i=0 et VCES22=1.
Selon un premier mode de réalisation, si l’élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2-I indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu, la valeur VES2! ou VES22 est codée en par exemple la valeur VCES21=0 ou VCES22=1, respectivement, en fonction du contexte de codage courant.
Selon un deuxième mode de réalisation, si l’élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2! indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu, la valeur VES2! ou VES22 de l’élément de syntaxe ES2 est systématiquement codée en C7, en par exemple la valeur VCES2i=0 ou VCES22=1, respectivement, en fonction du contexte de codage courant.
Un tel codage est par exemple un codage entropique de type CABAC (Context Adaptive Binary Arithmetic Coder en anglais) ou bien encore un codage entropique de type arithmétique ou de Huffman. Ce codage est mis en œuvre par un dispositif de codage MC_C représenté sur la figure 2.
Si en C4, la valeur codée de l’élément de syntaxe ES1 est VCES12, la valeur VES2! ou VES22 de l’élément de syntaxe ES2 est systématiquement codée en C7, en par exemple la valeur VCES2i=0 ou VCES22=1, respectivement, en fonction du contexte de codage courant.
Selon un mode de réalisation représenté sur la figure 4A, pour une image courante ICj de hauteur H, dans le cas où :
- l’image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d’une vidéo 180° ou 360°, l’élément de syntaxe ES1 est codé selon la valeur VCES11=1,
- l’image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d’une séquence d’images se succédant temporellement, l’élément de syntaxe ES1 est codé selon la valeur VCES12=0.
Sur la figure 4A, est représentée l’image courante ICj en tant qu’imagé 2D obtenue par projection en deux dimensions d’une vidéo 360°. Une première zone prédéfinie, notée Z1, de l’image courante ICj a une hauteur H1 telle que 0.2H<H1<0.8H. Les blocs contenus dans la zone Z1 contiennent les pixels résultant de la projection dans l’image courante ICj des pixels les plus proches de l’équateur de l’image capturée par une sphère de captation vidéo 360° et subissant ainsi peu de déformation. Les blocs contenus dans les zones restantes prédéfinies de l’image, notées Z2 sur la figure 4A, contiennent les pixels résultant de la projection dans l’image ICj des pixels situés près des pôles de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale.
Sur la figure 4B, est représentée l’image courante ICj en tant qu’imagé 2D obtenue par projection en deux dimensions d’une vidéo 180°. La zone prédéfinie Z1 de l’image courante ICj a une hauteur H1 telle que 0<H1<0.8H Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l’image courante ICj des pixels les plus proches de l’équateur de l’image capturée par une demi-sphère de captation vidéo 180° et subissant ainsi peu de déformation. Les blocs contenus dans la zone prédéfinie Z2 de l’image sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés près du pôle nord de la sphère de captation vidéo 180° et subissant ainsi une déformation maximale.
Sur la figure 4C, est représentée l’image courante ICj en tant qu’imagé 2D obtenue par projection en deux dimensions d’une vidéo 180°. Une première zone prédéfinie Z1 de l’image courante ICj a une hauteur H1 telle que 0.2H<H1<H. Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels les plus proches de l’équateur de l’image capturée par une demi-sphère de captation vidéo 180° et subissant ainsi peu de déformation. Les blocs contenus dans la zone restante prédéfinie Z2 de l’image courante ICj sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés près du pôle sud de la sphère de captation vidéo 180° et subissant ainsi une déformation maximale.
Sur la figure 4D, est représentée l’image courante ICj en tant qu’imagé 2D obtenue par projection en deux dimensions d’une vidéo 360°. Une zone prédéfinie, notée Z1, de l’image courante ICj a une hauteur H1 telle que 0.2H<H1<0.8H. Les blocs contenus dans la zone Z1 sont les blocs contenant les pixels résultant de la projection dans l’image courante ICj des pixels les plus proches de l’équateur de l’image capturée par une sphère de captation vidéo 360° et subissant ainsi peu de déformation. L’Image ICj contient en outre deux autres zones prédéfinies Z2 situées de part et d’autre de la zone Z1. Une première zone Z2i a une hauteur H2! telle que 0.1 H<H21<0.2H. Les blocs contenus dans la zone Z2i de l’image courante ICj sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés les plus près de la dernière ligne avant le pôle sud de la sphère de captation vidéo 360° et subissant ainsi une déformation modérée. Une deuxième zone Z22 a une hauteur H22 telle que 0.8H<H22<0.9H. Les blocs contenus dans la zone Z22 de l’image courante ICj sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés les plus près de la première ligne avant le pôle nord de la sphère de captation vidéo 360° et subissant ainsi une déformation modérée. L’Image ICj contient en outre encore deux autres zones prédéfinies situées respectivement de part et d’autre des zones Z2i et Z22. Une première zone Z3i a une hauteur H3i telle que 0<H3i<0.1H. Les blocs contenus dans la zone Z3i de l’image courante ICj sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés les plus près du pôle sud de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale. Une deuxième zone Z32 a une hauteur H32 telle que 0.9H<H32<H. Les blocs contenus dans la zone Z32 de l’image courante ICj sont les blocs contenant les pixels résultant de la projection dans l’image ICj des pixels situés les plus près du pôle nord de la sphère de captation vidéo 360° et subissant ainsi une déformation maximale.
II est bien entendu possible de définir des zones prédéfinies de l’image courante ICj de façon différente. Ainsi, dans le cas où l’image courante ICj est par exemple une image 2D obtenue par projection de type CMP d’une vidéo 180° ou 360°, une ou plusieurs zones spécifiques seront prédéfinies en fonction de la proximité des pixels par rapport aux arêtes des cubes ayant servi à la projection. Alternativement, les zones pourront être définies par la valeur d’une fonction dépendant des coordonnées du bloc dans l’image courante ICj, ou de son ordre de traitement parmi tous les blocs de l’image courante ICj. Ainsi par exemple, on peut définir une zone par la distance à partir du pixel situé au centre de l’image : les pixels dont la distance par rapport au centre de l’image est supérieure à un seuil définissent une première zone, les autres pixels définissant une seconde zone. Ainsi, dans le cas par exemple de la figure 4A, si (xc ; yc) sont les coordonnées du pixel PxC situé au centre de l’image courante ICj, et (xp ; yp) les coordonnées d’un pixel donné PxD du bloc courant Bu, le pixel donné PxD appartient à la première zone Z1 si et seulement si la racine carrée de la valeur (xc-xp)2+(yc-yp)2 est supérieur à un seuil T1. Alternativement, le pixel donné PxD appartient à la première zone Z1 si et seulement si l’une des valeurs |xc-xp| ou |yc-yp| est supérieur à un seuil T2.
La figure 5A représente un exemple d’image courante ICj, pour laquelle la caractéristique de l’image ICj est le choix au codeur d’appliquer ou non un niveau de qualité de codage différent à au moins deux zones de l’image courante.
A cet effet :
- si l’image courante ICj est codée selon un premier contexte de codage, tel que par exemple un contexte d’imagerie médicale, VCES1i=1 pour indiquer qu’une première zone de l’image courante est codée selon un niveau de qualité de codage NQ1 inférieur à un niveau de qualité de codage NQ2 appliqué à une deuxième zone de l’image courante,
- si l’image courante ICj est codée selon un deuxième contexte de codage, tel que par exemple un contexte télévisuel, VCES12=0 pour indiquer qu’un même niveau de qualité de codage NQ est appliqué à toute zone de l’image courante.
Sur la figure 5B est représenté un exemple de zones prédéfinies dans l’image courante ICj. Dans cet exemple, l’image courante ICj comprend :
- une première zone prédéfinie Z1, telle que par exemple la zone périphérique de l’image courante ICj, dont la densité d’informations est faible et pour laquelle le niveau de qualité de codage NQ1 est appliqué,
- au moins une deuxième zone prédéfinie Z2, telle que par exemple la zone centrale de l’image courante ICj, dont la densité d’informations est plus élevée et pour laquelle le niveau de qualité de codage NQ2 est appliqué.
D’une façon similaire aux exemples donnés en référence aux figures 4A à 4D, il est bien entendu possible de définir des zones prédéfinies de l’image courante ICj de manière différente. Ainsi, par exemple, si (xc ; yc) sont les coordonnées du pixel PxC situé au centre de l’image, et (xp ; yp) les coordonnées d’un pixel donné PxD du bloc courant Bu, le pixel donné appartient à la première zone Z1 si et seulement si l’une des valeurs |xc-xp| ou |yc-yp| est supérieur à un seuil T3, où T3 vaut un sixième de la largeur en nombre de pixels, de l’image courante ICj.
En référence à nouveau à la figure 1A, les données du bloc courant Bu sont codées en C8.
Selon un exemple de réalisation non limitatif, un tel codage C8 met en œuvre l’application C81 d’une transformée aux données du bloc courant Bu.
Dans l’exemple décrit ici, on entend par données, les pixels du bloc courant Bu.
II convient toutefois de noter qu’on entend également par données, les pixels d’un bloc prédit obtenu à l’aide d’une prédiction du bloc courant Bu par rapport à un bloc prédicteur qui est sélectionné suite à une mise en compétition de différents modes de prédiction inter, intra ou autres prédéterminés, par exemple par minimisation d’un critère débit distorsion bien connu de l'homme du métier.
De façon connue en soi, en fonction du contexte ou de la norme de codage utilisée, une telle transformée est par exemple une transformée de type DCT (abréviation anglaise de « Discrète Cosine Transform »), DST (abréviation anglaise de « Discrète Sine Transform »), de type DWT (abréviation anglaise de « Discrète Wavelet Transform ») ou encore de type LT (abréviation anglaise de « Lapped Transform »). Ces transformées sont stockées préalablement dans une liste LTS2, dans la mémoire tampon MT_C du codeur CO de la figure 2.
A l’issue de l’application de cette transformée, un bloc de données transformé courant Btu est obtenu.
Une telle opération est effectuée par un dispositif MTR_C de calcul de transformée, tel que représenté figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le codage C8 met en œuvre en outre une quantification C82 des données du bloc transformé Btu selon une opération classique de quantification, telle que par exemple une quantification scalaire ou vectorielle. Un bloc Bqu de coefficients quantifiés est alors obtenu.
La quantification C82 est mise en œuvre par un dispositif de quantification MQ_C tel que représenté à la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le dispositif MTR_C de calcul de transformée et le dispositif de quantification MQ_C sont contenus dans un dispositif de codage de blocs MCB_C représenté sur la figure 2, lequel dispositif est piloté par le processeur PROC_C.
Le codage C8 met en œuvre en outre un codage C83 des données du bloc Bqu de coefficients quantifiés. Le codage C83 est mis en œuvre par le dispositif de codage MC_C de la figure 2. A l’issue du codage C83 est obtenu un ensemble de données codées DCU du bloc courant Bu.
En référence à la figure 1A, il est procédé en C9 à la construction d’un signal ou flux de données F qui contient :
- les données codées DCU obtenues en C8,
- la valeur codée VCESIi ou VCES12 du premier élément de syntaxe ES1,
- éventuellement la valeur codée VCES2i ou VCES22 du/des deuxième(s) élément(s) de syntaxe ES2 selon la zone prédéfinie de l’image courante ICj dans laquelle est situé le bloc courant Bu.
La construction de flux C9 est mise en œuvre par un dispositif MCF de construction de signal de données, tel que représenté sur la figure 2.
Le signal de données F est ensuite transmis par un réseau de communication (non représenté) à un terminal distant. Celui-ci comporte le décodeur DO représenté à la figure 7.
De façon connue en soi, le signal de données F peut comprendre en outre certaines informations encodées par le codeur CO, telles que par exemple :
- le type de prédiction (Inter, Intra ou autres) si le bloc courant Bu a été prédit, et le cas échéant, le mode de prédiction sélectionné, l’indice du bloc prédicteur obtenu,
- le type de partitionnement du bloc courant Bu si ce dernier a été partitionné,
- le type de transformée appliquée aux données du bloc courant
Bu,
- etc....
A titre d’alternative, le choix de coder ou de ne pas coder lesdites certaines informations précitées est mis en œuvre selon l’invention, par application de l’opération C4 de la figure 1 A.
De façon connue en soi, il est ensuite procédé au décodage (non représenté) des données codées DCU obtenues en C8. Un bloc décodé courant BDU est alors reconstruit, un tel bloc reconstruit étant le même que le bloc décodé obtenu à l’issue du procédé de décodage de l’image ICj qui sera décrit plus loin dans la description. Le bloc décodé BDU est ainsi rendu disponible pour être utilisé par le codeur CO de la figure 2.
Les opérations de codage C1 à C9 qui viennent d’être décrites ci-dessus sont ensuite mises en œuvre pour chacun des blocs ΒΊ, B2, Bu,..., Bs à coder de l’image courante ICj considérée.
On va maintenant décrire, en référence à la figure 1B, une variante du procédé de codage de la figure 1 A.
Cette variante se différentie du procédé de codage de la figure 1A uniquement par le fait que :
- le codage C7 de la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 n’est pas systématiquement mis en œuvre,
- la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 peut être codée même si le bloc courant Bu appartient à la zone prédéfinie de l’image courante ICj.
A cet effet, comme représenté sur la figure 1 B, dans le cas où le bloc courant Bu appartient à la zone prédéfinie de l’image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en C50.
Si le critère est rempli, la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n’est pas rempli, il est décidé en C60 de ne pas coder la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2. Il est alors décidé en C60 d’assigner ES2 à la première valeur prédéfinie VES2) ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas où le bloc courant Bu n’appartient pas à la zone prédéfinie de l’image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en C51.
Si le critère est rempli, la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n’est pas rempli, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2. Il est alors décidé en C61 d’assigner ES2 à la première valeur prédéfinie VES2) ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas où la valeur codée du premier élément de syntaxe ESi est VCES12, un critère dépendant des caractéristiques du bloc courant est examiné en C52.
Si le critère est rempli, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 est codée en C7.
Si le critère n’est pas rempli, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2. Il est alors décidé en C62 d’assigner ES2 à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
En variante, seulement une ou bien deux des trois opérations C50, C51, C52 est mise en œuvre.
Selon un exemple de critère, dans le cas où le deuxième élément de syntaxe ES2 est représentatif de la taille du bloc courant Bu, la valeur VES2i ou VES22 de l’élément de syntaxe ES2 est comparée à une valeur de taille prédéterminée VTP.
Dans le cas par exemple des images courantes représentées sur les figures 4A à 4C, pour lesquelles la valeur codée VCESIi de l’élément de syntaxe ES1 indique par exemple que l’image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d’une vidéo 180° ou 360° :
- si en C5 (fig.1 B), le bloc courant Bu appartient à la zone prédéfinie Z1, et • si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur
VES2i ou VES22 du deuxième élément de syntaxe
ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1 B), le bloc courant Bu n’appartient pas à la zone prédéfinie Z1, autrement dit appartient à la zone prédéfinie Z2 de l’image courante ICj, et • si en C51, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple d’une image courante (non représentée), pour laquelle la valeur codée VCES12 de l’élément de syntaxe ESi indique par exemple que l’image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d’une séquence d’images se succédant temporellement :
• si en C52 (fig.1 B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant
Bu est codée en C7, • sinon, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas de l’image courante ICj représentée sur la figure 4D, pour laquelle la valeur codée VCESI1 de l’élément de syntaxe ES1 indique par exemple que l’image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d’une vidéo 360° :
- si en C5 (fig.1B), le bloc courant Bu appartient à la zone prédéfinie Z1, et • si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1B), le bloc courant Bu appartient à la zone prédéfinie Z2, et • si en C51, il est déterminé comme critère que la taille du bloc courant est bien supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2j ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1B), le bloc courant Bu appartient à la zone prédéfinie Z3, et • si en C51, il est déterminé comme critère que la taille du bloc courant est bien supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2j ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple de l’image courante ICj représentée sur la figure 5B, pour laquelle la valeur codée VCES11 de l’élément de syntaxe ESi indique par exemple qu’au moins deux zones de l’image courante ICj sont codées selon un niveau de qualité de codage différent :
- si en C5 (fig.1B), le bloc courant Bu appartient à la zone prédéfinie Z1, et • si en C50, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C60 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2j ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant,
- si en C5 (fig.1 B), le bloc courant Bu n’appartient pas à la zone prédéfinie Z1, autrement dit appartient à la zone prédéfinie Z2 de l’image courante ICj, et • si en C51, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VES2i ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C61 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Dans le cas par exemple de l’image courante ICj représentée en bas à droite sur la figure 5A, pour laquelle la valeur codée VCES12 de l’élément de syntaxe ESi indique par exemple que toute zone de l’image courante ICj est codée selon un même niveau de qualité de codage:
• si en C52 (fig.1 B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VES2) ou VES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est codée en C7, • sinon, il est décidé en C62 de ne pas coder le deuxième élément de syntaxe ES2, ce dernier étant assigné à la première valeur prédéfinie VES2i ou à la deuxième valeur prédéfinie VES22 selon le contexte de codage courant.
Description détaillée de la partie décodage
Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de décodage selon l'invention est utilisé pour décoder un signal ou flux de données représentatif d’une image ou d’une séquence d'images qui est apte à être décodé par un décodeur conforme à l’une quelconque des normes de décodage vidéo actuelles ou à venir.
Dans ce mode de réalisation, le procédé de décodage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel décodeur.
Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des opérations D1 à D10 telles que représentées à la figure 6A.
Selon ce mode de réalisation, le procédé de décodage selon l'invention est implémenté dans un dispositif de décodage ou décodeur DO représenté à la figure 7.
Comme illustré en figure 7, selon ce mode de réalisation de l’invention, le décodeur DO comprend une mémoire MEM_D qui comprend elle-même une mémoire tampon MT_D, un processeur PROC_D piloté par un programme d'ordinateur PG_D qui met en œuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_D sont par exemple chargées dans une mémoire RAM notée RAM_D, avant d'être exécutées par le processeur PROC_D.
Le procédé de décodage représenté sur la figure 6A s’applique à toute image courante ICj codée fixe ou bien faisant partie d’une séquence de L images ICi, ..., ICj,..., IC|_(1^L) à décoder.
L’image courante ICj à décoder est issue d’au moins une séquence vidéo comprenant, à titre d’exemples non exhaustifs :
- des images issues d’une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes, c'est-à-dire représentatives d’une même scène (codage/décodage de type 3D),
- des images obtenues par projection d’une vidéo 360°,
- etc...
En D1, il est procédé à l’identification, dans le signal F, de la valeur codée VCESIi ou VCES12 d’un premier élément de syntaxe ES1 qui est associé à une caractéristique de l’image courante ICj à décoder.
L’élément de syntaxe ES1 est un élément de syntaxe haut niveau d’une séquence vidéo comprenant l’image courante ICj à décoder. A cet effet, en fonction du contexte de décodage, cet élément peut être décodé :
- au début du décodage de chaque image de la séquence vidéo,
- ou une seule fois au début du décodage d’une séquence d’images,
- ou une seule fois au début du décodage de la séquence vidéo.
Une telle identification D1 est mise en œuvre par un dispositif PARS_D d’analyse de flux, tel que représenté à la figure 7, ledit dispositif étant piloté par le processeur PROC_D.
En D2, la valeur codée VCESI1 ou VCES12 prise par le premier élément de syntaxe ES1 est décodée.
Un tel décodage D2 est mis en œuvre par un dispositif de décodage MD_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage est par exemple un décodage entropique de type CABAC ou bien encore un décodage entropique de type arithmétique ou de Huffman.
Selon un premier mode de réalisation, la caractéristique de l’image ICj est le type d’obtention de cette dernière. A cet effet :
- si l’image ICj est par exemple une image 2D qui a été obtenue par projection en deux dimensions d’une vidéo 360° classique, c’est la valeur codée VCES11 de l’élément de syntaxe ES1 qui est décodée,
- si l’image ICj est par exemple une image 2D classique de type fixe ou faisant partie d’une séquence d’images se succédant temporellement, c’est la valeur codée VCES12de l’élément de syntaxe ES1 qui est décodée.
Selon un deuxième mode de réalisation, la caractéristique de l’image ICj est le choix au décodeur d’appliquer ou non un niveau de qualité de décodage différent à au moins deux zones de l’image courante.
A cet effet :
- si l’image courante ICj est décodée selon un premier contexte de décodage, tel que par exemple un contexte d’imagerie médicale, la valeur codée de l’élément de syntaxe ESi identifiée en D1 dans le signal F est VCES1i=1 pour indiquer qu’une première zone de l’image courante doit être décodée selon un niveau de qualité NQ1 inférieur à un niveau de qualité NQ2 appliqué à une deuxième zone de l’image courante,
- si l’image courante ICj est décodée selon un deuxième contexte de décodage, tel que par exemple un contexte télévisuel, la valeur codée de l’élément de syntaxe ESi identifiée en D1 dans le signal F est VCES12=O pour indiquer qu’un même niveau de qualité de décodage NQ est appliqué à toute zone de l’image courante ICj.
En référence à la figure 6A, il est procédé en D3 à l’identification, dans le signal F, des données codées DCi, DC2,..., DCU, ..., DCs (1^u<S) associées respectivement aux blocs B1; B2, ..., Bu,..., Bs codés précédemment conformément à l’ordre lexicographique précité, qui ont été obtenues à l’issue de l’opération de codage C8 de la figure 1A. Cela signifie que les blocs sont décodés les uns après les autres, de la gauche vers la droite.
Une telle identification D3 est mise en œuvre par le dispositif PARS_D d’analyse de flux de la figure 7.
D’autres types de parcours que celui qui vient d’être décrit ci-dessus sont bien sûr possibles et dépendent de l’ordre de parcours choisi au codage.
Selon un exemple, les blocs ΒΊ, B2, ..., Bu,..., Bs ont une forme carrée et contiennent tous K pixels, avec K>1. Selon un premier mode de réalisation représenté sur la figure 3A, les blocs B1; B2, ..., Bu,..., Bs sont obtenus à l’issue d’une unique subdivision de l’image courante ICj en blocs de taille maximale. Selon ce premier mode de réalisation, les blocs ont une taille de par exemple 64x64 pixels. Selon un deuxième mode de réalisation, les blocs B1; B2, ..., Bu,..., Bs sont obtenus à l’issue d’une subdivision de l’image courante ICj en blocs de taille inférieure ou égale à la taille maximale précitée. Selon ce deuxième mode de réalisation, lesdits blocs sont par exemple de taille 64x64, et/ou 32x32, et/ou 16x16, et/ou 8x8 pixels.
En fonction de la taille de l’image qui n’est pas forcément un multiple de la taille des blocs, les derniers blocs à gauche et les derniers blocs en bas peuvent ne pas être carrés. Dans un mode alternatif de réalisation, les blocs peuvent être par exemple de taille rectangulaire et/ou non alignés les uns avec les autres.
En référence à la figure 6A, en D4, le décodeur DO de la figure 7 sélectionne comme bloc courant à décoder un premier ensemble de données codées DCU de l’image ICj, tel que par exemple le premier ensemble de données codées DCi associé au premier bloc Bi à décoder. L’ensemble de données codées DCU du bloc courant Bu est associé à au moins un paramètre de codage. A titre d’exemples non exhaustifs, un tel paramètre de codage est :
• le mode de prédiction (prédiction intra, prédiction inter, biprédiction, prédiction par défaut réalisant une prédiction pour laquelle aucune information n’est transmise au décodeur (en anglais « skip ») ;
• le type de prédiction (orientation, composante d’image de référence, ...) ;
• le type de subdivision en sous-blocs ;
• le type de transformée, par exemple DCT 4x4, DCT 8x8, appliqué au bloc courant ou aux pixels résiduels du bloc courant si ce dernier a subi une prédiction ;
• les valeurs de pixels ;
• les valeurs de pixels résiduels résultant d’une prédiction ;
• un filtrage de l’image courante ICj une fois codée, tel que par exemple celui pratiqué par la technique « Sample Adaptive Offset » de la norme HEVC (technique décrite dans le document Chih-Ming Fu ; E. Alshina ; A. Alshin ; Yu-Wen Huang ; Ching-Yeh Chen ; Chia-Yang Tsai ; Chih-Wei Hsu ; Shaw-Min Lei ; Jeong-Hoon Park ; Woo-Jin Han “Sample Adaptive Offset in the HEVC Standard’ Published in: IEEE Transactions on Circuits and Systems for Video Technology (Volume: 22, Issue: 12, Dec. 2012 ) ;
• l’index du mode de prédiction intra parmi une liste construite pour le bloc courant ;
• l’index du vecteur de mouvement parmi une liste construite pour le bloc courant ;
• un indicateur de subdivision du bloc résidu obtenu en cas de prédiction du bloc courant ;
• un indicateur de filtrage des pixels de référence qui ont servi à prédire le bloc courant ;
• etc...
Un deuxième élément de syntaxe ES2 est représentatif de la valeur dudit au moins un paramètre de codage.
En D5, le décodeur DO lit s’il s’agit de la valeur codée VCESIi ou VCES12 de l’élément de syntaxe ES1 qui a été décodée en D2.
Si en D5, il s’agit de la valeur codée VCESI1 du premier élément de syntaxe ES1 et si, en D6, les données codées DCU sont associées à un bloc courant Bu qui appartient à une zone prédéfinie de l’image courante ICj, l’élément de syntaxe ES2 est mis à une valeur prédéfinie. Une telle opération est particulièrement adaptée lorsque la densité d’informations de la zone prédéfinie de l’image est faible ou très faible.
Des exemples de zones prédéfinies de l’image courante, selon un premier mode de réalisation, ont déjà été décrits en référence aux figures 4A à 4D et ne seront donc pas à nouveau décrits ici.
Des exemples de zones prédéfinies de l’image courante, selon un deuxième mode de réalisation, ont déjà été décrits en référence à la figure 5B et ne seront donc pas à nouveau décrits ici.
Selon un premier mode de réalisation, si l’élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu à décoder et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2-I indiquant une prédiction inter du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant une prédiction intra du bloc courant Bu, il est décidé en D7 d’assigner ES2 à, par exemple, la première valeur prédéfinie VES2i selon une convention prédéterminée au décodeur DO qui est la même qu’au codeur CO.
Selon un deuxième mode de réalisation, si l’élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 prend :
- une première valeur prédéfinie VES2! indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou une deuxième valeur prédéfinie VES22 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu à décoder, il est décidé en D7 d’assigner ES2, par exemple à la première valeur prédéfinie VES21; selon une convention prédéterminée au décodeur DO qui est la même qu’au codeur CO.
A cet effet, de façon correspondante au codeur CO de la figure 2, les valeurs prédéfinies VES2! et VES22 du deuxième élément de syntaxe ES2 sont stockées préalablement dans une liste LTSi, dans la mémoire tampon MT_D du décodeur DO de la figure 7.
Lors du décodage du bloc courant Bu, seul le premier ou le deuxième mode de réalisation de l’élément de syntaxe ES2 est mis en œuvre. A titre d’alternative, les premier et deuxième modes de réalisation sont mis en œuvre.
Si en D5, il s’agit de la valeur codée VCESIi du premier élément de syntaxe ES1 et si, en D6, les données codées DCU sont associées à un bloc courant Bu qui n’appartient pas à la zone prédéfinie de l’image courante, la valeur codée VCES2! ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8. Si VCES21=0, à l’issue de ce décodage D8, une valeur décodée VES2i du deuxième élément de syntaxe ES2 est obtenue. Si VCES22=1, à l’issue de ce décodage D8, une valeur décodée VES22 deuxième élément de syntaxe ES2 est obtenue.
Selon un premier mode de réalisation, si l’élément de syntaxe ES2 est représentatif du mode de prédiction du bloc courant Bu et que, par exemple, ES2 a été codé :
- selon une première valeur prédéfinie VCES21=0 indiquant une prédiction inter du bloc courant Bu,
- ou selon une deuxième valeur prédéfinie VCES22=1 indiquant une prédiction intra du bloc courant Bu, le décodage de νΟΕδΣ^Ο permet d’obtenir la valeur VES2) du deuxième élément de syntaxe ES2 ou le décodage de VCES22=1 permet d’obtenir la valeur VES22 du deuxième élément de syntaxe ES2.
Selon un deuxième mode de réalisation, si l’élément de syntaxe ES2 est représentatif de la valeur des pixels résiduels du bloc courant Bu et que, par exemple, ES2 a été codé :
- selon une première valeur prédéfinie VCES2i=0 indiquant des pixels résiduels de valeur nulle du bloc courant Bu,
- ou selon une deuxième valeur prédéfinie VCES22=1 indiquant des pixels résiduels de valeur non nulle du bloc courant Bu, le décodage de VCES2i=0 permet d’obtenir la valeur VES2i du deuxième élément de syntaxe ES2 ou le décodage de VCES22=1 permet d’obtenir la valeur VES22 du deuxième élément de syntaxe ES2.
Un tel décodage est par exemple un décodage entropique de type CABAC (Context Adaptive Binary Arithmetic Coder en anglais) ou bien encore un décodage entropique de type arithmétique ou de Huffman. Ce décodage est mis en œuvre par le dispositif de décodage MD_D représenté sur la figure 7.
Si en D5, c’est la valeur codée VCES12 du premier élément de syntaxe ESi qui a été décodée, la valeur codée VCES2) ou VCES22 de l’élément de syntaxe ES2 est systématiquement décodée en D8.
En référence à la figure 6A, les données du bloc courant Bu sont décodées en D9. Un tel décodage est mis en œuvre par un dispositif de décodage de blocs MDB_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D9 met en œuvre, en D91, un décodage des données DCU associées au bloc courant Bu à décoder et qui ont été codées en C8 sur la figure 1A. A l’issue d’un tel décodage, est obtenu un ensemble d’informations numériques associées au bloc de coefficients quantifiés Bqu qui a été obtenu en C52 sur la figure 1A.
Le décodage D91 est mise en œuvre par le dispositif de décodage MD_D représenté sur la figure 7.
Le décodage D9 met en œuvre en outre une déquantification D92 du bloc de coefficients quantifiés Bqu, selon une opération classique de déquantification qui est l’opération inverse de la quantification C82 de la figure 1A. Un ensemble de coefficients déquantifiés courant BDqu est alors obtenu. Une telle déquantification est par exemple de type scalaire ou vectorielle et est mise en œuvre au moyen d’un dispositif MQ'1_D de quantification inverse, tel que représenté à la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le décodage D9 met en œuvre en outre l’application D93 d’une transformée à l’ensemble de coefficients déquantifiés BDqu courant obtenu en D92. De façon connue en soi, une telle transformée est une transformée inverse de celle appliquée au codage en C81 sur la figure 1A, telle que par exemple une transformée DCT, DST, DWT, LT ou autres. De façon correspondante au codeur CO de la figure 2, ces transformées font partie d’une liste de transformées LTS2'1 qui est stockée préalablement dans la mémoire tampon MT_D du décodeur DO de la figure 7. Le type de transformée à appliquer peut être déterminé au décodeur classiquement, par lecture, dans le signal de données F, de l’index de la transformée appliquée au codage. Selon l’invention, le type de transformée à appliquer peut être déterminé par la mise en œuvre de l’opération D5 de la figure 6A.
L’application de transformée D93 est effectuée par un dispositif MTR'1_D de calcul de transformée, tel que représenté à la figure 7, lequel dispositif est piloté par le processeur PROC_D.
Le dispositif MQ'1_D de quantification inverse et le dispositif MTR'1_D de calcul de transformée sont contenus dans un dispositif de décodage de blocs MDB_D représenté sur la figure 7, lequel dispositif est piloté par le processeur PROC_D.
A l’issue du décodage des données du bloc courant, est obtenu un bloc décodé courant BDU.
Dans l’exemple décrit ici, on entend par données, les pixels du bloc décodé BDU.
II convient toutefois de noter qu’on entend également par données, les pixels d’un bloc résidu courant décodé dans le cas où une prédiction du bloc courant Bu a été mise en œuvre au codage et qu’une prédiction inverse est donc mise en œuvre au décodage.
En référence à la figure 6A, il est procédé en D10 à l’écriture du bloc décodé courant BDU dans une image décodée IDj
L’écriture D10 est mise en œuvre par un dispositif URI de reconstruction d’image tel que représenté sur la figure 7, le dispositif URI étant piloté par le processeur PROC_D.
Le procédé de décodage qui vient d’être décrit ci-dessus est mis en œuvre pour toutes les données codées de blocs DCi, DC2, DCU,..., DCs associées respectivement aux blocs ΒΊ, B2, Bs à décoder de l’image courante ICj considérée.
On va maintenant décrire, en référence à la figure 6B, une variante du procédé de décodage de la figure 6A.
Cette variante se différentie du procédé de décodage de la figure 6A uniquement par le fait que :
- le décodage D8 de la valeur VCES2) ou VCES22 du deuxième élément de syntaxe ES2 n’est pas systématiquement mis en œuvre,
- la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 peut être décodée même si le bloc courant Bu appartient à la zone prédéfinie de l’image courante ICj.
A cet effet, comme représenté sur la figure 6B, dans le cas où l’ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à la zone prédéfinie de l’image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en D50.
Si le critère est rempli, la valeur VCES2) ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n’est pas rempli, en D70, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2) ou VES22 telle que stockée dans la liste LTS1 du décodeur DO de la figure 7.
Dans le cas où l’ensemble de données codées DCU est associé à un bloc courant Bu qui n’appartient pas à la zone prédéfinie de l’image courante ICj, un critère dépendant des caractéristiques du bloc courant est examiné en D61.
Si le critère est rempli, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n’est pas rempli, en D71, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas où c’est la valeur codée VCES12 du premier élément de syntaxe ESi qui a été décodée en D2, un critère dépendant des caractéristiques du bloc courant est examiné en D62.
Si le critère est rempli, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 est décodée en D8.
Si le critère n’est pas rempli, en D72, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
En variante, seulement une ou bien deux des trois opérations D60, D61, D62 est mise en œuvre.
Selon un exemple de critère, dans le cas où le deuxième élément de syntaxe ES2 est représentatif de la taille du bloc courant Bu à décoder, la valeur VES2! ou VES22 de l’élément de syntaxe ES2 est comparée à une valeur de taille prédéterminée VTP.
Dans le cas par exemple des images courantes représentées sur les figures 4A à 4C, pour lesquelles est décodée en D2 la valeur codée VCES11 de l’élément de syntaxe ESi indiquant que l’image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d’une vidéo 180° ou 360° :
- si en D6 (fig.6B), l’ensemble de données codées DCU est associée à un bloc courant Bu qui appartient à une zone prédéfinie Z1, et • si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant
Bu est décodée en D8, • sinon, en D70, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu n’appartient pas à la zone prédéfinie Z1, autrement dit appartient à la zone prédéfinie Z2 de l’image courante ICj, et • si en D61, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D71, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple d’une image courante (non représentée), pour laquelle est décodée en D2 la valeur codée VCES12de l’élément de syntaxe ESi indiquant que l’image courante ICj est par exemple une image 2D classique de type fixe ou faisant partie d’une séquence d’images se succédant temporellement :
• si en D62 (fig.6B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur codée VCES2! ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D72, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas de l’image courante ICj représentée sur la figure 4D, pour laquelle est décodée en D2 la valeur codée VCES11 de l’élément de syntaxe ESi indiquant que l’image courante ICj est par exemple une image 2D obtenue par projection en deux dimensions d’une vidéo 360° :
- si en D6 (fig.6B), l’ensemble de données codées DCU est associé à un bloc courant Bu qui appartient à la zone prédéfinie Z1, et • si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D70, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu appartient à la zone prédéfinie Z2 de l’image courante ICj, et • si en D61, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D71, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2i ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu appartient à la zone prédéfinie Z3, et • si en D62, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D72, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2) ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple d’une image courante représentée sur la figure 5B, pour laquelle est décodée en D2 la valeur codée VCESIi de l’élément de syntaxe ES1 indiquant qu’au moins deux zones de l’image courante ICj sont décodées selon un niveau de qualité de décodage différent :
- si en D6 (fig.6B), l’ensemble de données codées DCU est associée à un bloc courant Bu qui appartient à une zone prédéfinie Z1, et • si en D60, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 32x32, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D70, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2) ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7,
- si en D6 (fig.6B), le bloc courant Bu n’appartient pas à la zone prédéfinie Z1, autrement dit appartient à la zone prédéfinie Z2 de l’image courante ICj, et • si en D61, il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 16x16, la valeur VCES2) ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D71, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2) ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
Dans le cas par exemple de l’image courante ICj représentée en bas à droite sur la figure 5A, pour laquelle est décodée en D2 la valeur codée VCES12 de l’élément de syntaxe ESi indiquant que chaque zone de l’image courante ICj est décodée selon un même niveau de qualité de décodage:
• si en D62 (fig.6B), il est déterminé comme critère que la taille du bloc courant est supérieure à une valeur prédéterminée VTP, par exemple 8x8, la valeur codée VCES2i ou VCES22 du deuxième élément de syntaxe ES2 représentatif de la taille du bloc courant Bu est décodée en D8, • sinon, en D72, l’élément de syntaxe ES2 est mis, en fonction du contexte de décodage courant, directement à la valeur prédéfinie VES2) ou VES22 telle que stockée dans la liste LTSi du décodeur DO de la figure 7.
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 autant sortir du cadre de l’invention.

Claims (14)

  1. REVENDICATIONS
    1. Procédé de codage d'au moins une image (ICj) découpée en blocs, mettant en œuvre ce qui suit :
    - coder (C2) un premier élément de syntaxe (ESi) associé à une caractéristique de ladite au moins une image,
    - pour un bloc courant à coder associé à au moins un paramètre de codage, coder (C8) les données du bloc courant, ledit procédé de codage étant caractérisé en ce que:
    - si le premier élément de syntaxe (ESi) est codé selon une première valeur prédéfinie (VCESIi) représentative de la caractéristique de l’image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est codé (C7) uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l’image,
    - si le premier élément de syntaxe (ES1) est codé selon une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l’image, le deuxième élément de syntaxe (ES2) est codé (C7), que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
  2. 2. Procédé de codage selon la revendication 1, dans lequel si le bloc courant appartient à ladite zone prédéfinie (Z2) de l’image, le codage du deuxième élément de syntaxe représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction (C51) d’un critère dépendant des caractéristiques du bloc courant.
  3. 3. Procédé de codage selon la revendication 1 ou 2, dans lequel la caractéristique de ladite au moins une image est le type d’obtention de ladite au moins une image.
  4. 4. Procédé de codage selon la revendication 1 ou 2, dans lequel la caractéristique de ladite au moins une image est le contexte de codage courant de l’image.
  5. 5. Dispositif de codage (CO) d'au moins une image (ICj) découpée en blocs, comprenant un circuit de traitement (CT_C) qui est agencé pour :
    - coder un premier élément de syntaxe (ES-i) associé à une caractéristique de ladite au moins une image,
    - pour un bloc courant à coder associé à au moins un paramètre de codage, coder les données du bloc courant, ledit dispositif de codage étant caractérisé en ce que le circuit de traitement est agencé pour :
    - si le premier élément de syntaxe (ESi) est codé selon une première valeur prédéfinie (VCESIi) représentative de la caractéristique de l’image, coder un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l’image,
    - si le premier élément de syntaxe (ES1) est codé selon une deuxième valeur prédéfinie représentative (VCES12) de la caractéristique de l’image, coder le deuxième élément de syntaxe, que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
  6. 6. Programme d'ordinateur comportant des instructions de code de programme pour l’exécution des étapes du procédé de codage selon l’une quelconque des revendications 1 à 4, lorsque ledit programme est exécuté sur un ordinateur.
  7. 7. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur 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 à 4, lorsque ledit programme est exécuté par un ordinateur.
  8. 8. Procédé de décodage d'un signal de données (F) représentatif d'au moins une image (ICj) codée ayant été découpée en blocs, mettant en œuvre ce qui suit :
    - décoder (D2) un premier élément de syntaxe (ES-ι) contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
    - pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder (D9) les données du bloc courant, ledit procédé de décodage étant caractérisé en ce que:
    - si le premier élément de syntaxe (ESi) a une première valeur prédéfinie (VCESIi) représentative de la caractéristique de l’image, un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est décodé uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l’image,
    - si le premier élément de syntaxe (ES-ι) a une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l’image, le deuxième élément de syntaxe (ES2) est décodé, que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
  9. 9. Procédé de décodage selon la revendication 8, dans lequel si le bloc courant appartient à ladite zone prédéfinie (Z2) de l’image, le décodage du deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage est mis en œuvre en fonction (D61) d’un critère dépendant des caractéristiques du bloc courant.
  10. 10. Procédé de décodage selon la revendication 8 ou la revendication 9, dans lequel la caractéristique de ladite au moins une image est le type d’obtention de ladite au moins une image.
  11. 11. Procédé de décodage selon la revendication 8 ou la revendication 9, dans lequel la caractéristique de ladite au moins une image est le contexte de décodage courant de l’image.
  12. 12. Dispositif de décodage d'un signal de données (F) représentatif d'au moins une image (ICj) codée ayant été découpée en blocs, comprenant un circuit de traitement (CT_D) qui est agencé pour :
    - décoder un premier élément de syntaxe (ES-ι) contenu dans ledit signal de données, ledit premier élément de syntaxe étant associé à une caractéristique de ladite au moins une image,
    - pour un bloc courant à décoder associé à au moins un paramètre de codage, décoder les données du bloc courant, ledit dispositif de décodage étant caractérisé en ce que le circuit de traitement est agencé pour :
    - si le premier élément de syntaxe (ES-ι) a une première valeur prédéfinie (VCESIi) représentative de la caractéristique de l’image, décoder un deuxième élément de syntaxe (ES2) représentatif de la valeur dudit au moins un paramètre de codage, uniquement si le bloc courant appartient à une zone prédéfinie (Z2) de l’image,
    - si le premier élément de syntaxe (ES-ι) a une deuxième valeur prédéfinie (VCES12) représentative de la caractéristique de l’image, décoder le deuxième élément de syntaxe (ES2), que le bloc courant appartienne ou non à la zone prédéfinie (Z2).
  13. 13. Programme d'ordinateur comportant des instructions de code de programme pour l’exécution des étapes du procédé de décodage selon l’une quelconque des revendications 8 à 11, lorsque ledit programme est exécuté sur un ordinateur.
  14. 14. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé de décodage selon l’une quelconque des revendications 8 à 11, lorsque ledit programme est exécuté par un ordinateur.
    1/10 <
    ό
    2/10
FR1752143A 2017-03-16 2017-03-16 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants Withdrawn FR3064145A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FR1752143A FR3064145A1 (fr) 2017-03-16 2017-03-16 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN201880018074.4A CN110431844B (zh) 2017-03-16 2018-03-12 用于对图像进行编码和解码的方法、编码和解码设备以及相应的计算机记录介质
JP2019550137A JP7096263B2 (ja) 2017-03-16 2018-03-12 画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラム
BR112019018901A BR112019018901A2 (pt) 2017-03-16 2018-03-12 método para codificação e decodificação de imagens, dispositivo de codificação e decodificação e programas de computador correspondentes
US16/493,624 US11159826B2 (en) 2017-03-16 2018-03-12 Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
EP18713333.5A EP3596923A1 (fr) 2017-03-16 2018-03-12 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
PCT/FR2018/050579 WO2018167419A1 (fr) 2017-03-16 2018-03-12 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
KR1020197028743A KR102498157B1 (ko) 2017-03-16 2018-03-12 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1752143A FR3064145A1 (fr) 2017-03-16 2017-03-16 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR1752143 2017-03-16

Publications (1)

Publication Number Publication Date
FR3064145A1 true FR3064145A1 (fr) 2018-09-21

Family

ID=58707849

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1752143A Withdrawn FR3064145A1 (fr) 2017-03-16 2017-03-16 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants

Country Status (8)

Country Link
US (1) US11159826B2 (fr)
EP (1) EP3596923A1 (fr)
JP (1) JP7096263B2 (fr)
KR (1) KR102498157B1 (fr)
CN (1) CN110431844B (fr)
BR (1) BR112019018901A2 (fr)
FR (1) FR3064145A1 (fr)
WO (1) WO2018167419A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006094035A1 (fr) * 2005-03-01 2006-09-08 Qualcomm Incorporated Saut d'arriere-plan adapte au contenu destine a un codage video de region etudiee
WO2007047077A2 (fr) * 2005-10-12 2007-04-26 Thomson Licensing Procede et appareil pour le codage et le decodage video a produit scalaire
WO2009102503A2 (fr) * 2008-02-14 2009-08-20 Cisco Technology, Inc. Procédés et systèmes de traitement optimisé dans un système de téléprésence pour le domaine technique de visioconférence à 360 degrés
US20160112704A1 (en) * 2014-10-20 2016-04-21 Google Inc. Continuous prediction domain
WO2017158236A2 (fr) * 2016-03-15 2017-09-21 Nokia Technologies Oy Procédé, appareil et produit programme d'ordinateur permettant de coder des images panoramiques à 360 degrés et une vidéo

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO472897A0 (en) * 1997-01-22 1997-02-20 Canon Information Systems Research Australia Pty Ltd A method for digital image compression
JP2009027493A (ja) * 2007-07-20 2009-02-05 Victor Co Of Japan Ltd 画像符号化装置および画像符号化方法
WO2010036772A2 (fr) * 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Affectation de complexités pour applications de codage de vidéo et d'images
US9237358B2 (en) * 2011-11-08 2016-01-12 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
KR102001415B1 (ko) * 2012-06-01 2019-07-18 삼성전자주식회사 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
FR3012004A1 (fr) * 2013-10-15 2015-04-17 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR3012714A1 (fr) * 2013-10-25 2015-05-01 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
EP3029937B1 (fr) * 2014-12-03 2016-11-16 Axis AB Procédé et codeur pour le codage vidéo d'une séquence de trames
CN115150618A (zh) * 2016-05-27 2022-10-04 松下电器(美国)知识产权公司 解码装置及系统
EP3301643A1 (fr) * 2016-09-30 2018-04-04 Thomson Licensing Procédé et appareil de compensation de mouvement rectifiée pour vidéos omnidirectionnelles
CN106412582B (zh) * 2016-10-21 2019-01-29 北京大学深圳研究生院 全景视频感兴趣区域的描述方法和编码方法
JP6660868B2 (ja) * 2016-11-15 2020-03-11 Kddi株式会社 動画像符号化装置及び動画像復号装置並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006094035A1 (fr) * 2005-03-01 2006-09-08 Qualcomm Incorporated Saut d'arriere-plan adapte au contenu destine a un codage video de region etudiee
WO2007047077A2 (fr) * 2005-10-12 2007-04-26 Thomson Licensing Procede et appareil pour le codage et le decodage video a produit scalaire
WO2009102503A2 (fr) * 2008-02-14 2009-08-20 Cisco Technology, Inc. Procédés et systèmes de traitement optimisé dans un système de téléprésence pour le domaine technique de visioconférence à 360 degrés
US20160112704A1 (en) * 2014-10-20 2016-04-21 Google Inc. Continuous prediction domain
WO2017158236A2 (fr) * 2016-03-15 2017-09-21 Nokia Technologies Oy Procédé, appareil et produit programme d'ordinateur permettant de coder des images panoramiques à 360 degrés et une vidéo

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LINO FERREIRA ET AL: "H.264/SVC ROI ENCODING WITH SPATIAL SCALABILITY", 26 July 2008 (2008-07-26), XP055115141, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.908.8971&rep=rep1&type=pdf> [retrieved on 20140424] *
SEJIN OH ET AL: "SEI message for signaling of 360-degree video information", 26. JCT-VC MEETING; 12-1-2017 - 20-1-2017; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-Z0026, 4 January 2017 (2017-01-04), XP030118132 *

Also Published As

Publication number Publication date
KR102498157B1 (ko) 2023-02-08
WO2018167419A1 (fr) 2018-09-20
CN110431844B (zh) 2023-07-28
KR20190126348A (ko) 2019-11-11
US20200084477A1 (en) 2020-03-12
CN110431844A (zh) 2019-11-08
JP7096263B2 (ja) 2022-07-05
US11159826B2 (en) 2021-10-26
EP3596923A1 (fr) 2020-01-22
BR112019018901A2 (pt) 2020-04-14
JP2020511082A (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
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
EP2991351B1 (fr) Procédé de décodage d&#39;images
EP2777269B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
WO2010149900A1 (fr) Procédé de codage et de décodage d&#39;images, dispositifs de codage et de décodage, flux de données et programme d&#39;ordinateur correspondants
EP2870761A1 (fr) Procédé de codage video par prediction du partitionnement d&#39;un bloc courant, procédé de décodage, dispositifs de codage et de décodage et programmes d&#39;ordinateur correspondants
WO2015055937A1 (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
EP2932714B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP4344203A2 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d ordinateur correspondants
EP3180914B1 (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
FR3029333A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
EP3075155A1 (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
WO2017037368A2 (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
FR3030976A1 (fr) Procede de codage d&#39;une image numerique, procede de decodage, dispositifs et programmes d&#39;ordinateurs associes
WO2018073523A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
WO2017129880A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d&#39;ordinateur correspondants
FR3064145A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
WO2019008253A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR3033115A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
FR3033114A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
FR3086486A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;un flux de donnees representatif d&#39;au moins une image.
EP3854085A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20180921

ST Notification of lapse

Effective date: 20191106