FR3053555A1 - Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes - Google Patents
Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes Download PDFInfo
- Publication number
- FR3053555A1 FR3053555A1 FR1656137A FR1656137A FR3053555A1 FR 3053555 A1 FR3053555 A1 FR 3053555A1 FR 1656137 A FR1656137 A FR 1656137A FR 1656137 A FR1656137 A FR 1656137A FR 3053555 A1 FR3053555 A1 FR 3053555A1
- Authority
- FR
- France
- Prior art keywords
- category
- categories
- prediction modes
- modes
- prediction
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes : Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble ; Elimination (E11) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
Description
® RÉPUBLIQUE FRANÇAISE
INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE © N° de publication :
(à n’utiliser que pour les commandes de reproduction)
©) N° d’enregistrement national
053 555
56137
COURBEVOIE © Int Cl8 : H 04 N 19/50 (2017.01)
DEMANDE DE BREVET D'INVENTION
A1
©) Date de dépôt : 29.06.16. | (© Demandeur(s) : BoCOM— FR et ORANGE Société |
(30) Priorité : | anonyme— FR. |
@ Inventeur(s) : JUNG JOËL, HENRY FELIX et MOU- | |
TON CHARLENE. | |
(43) Date de mise à la disposition du public de la | |
demande : 05.01.18 Bulletin 18/01. | |
©) Liste des documents cités dans le rapport de | |
recherche préliminaire : Se reporter à la fin du | |
présent fascicule | |
(© Références à d’autres documents nationaux | ©) Titulaire(s) : BoCOM, ORANGE Société anonyme. |
apparentés : | |
©) Demande(s) d’extension : | (© Mandataire(s) : AVOXA. |
PROCEDE DE CODAGE D'UNE IMAGE NUMERIQUE, PROCEDE DE DECODAGE, DISPOSITIFS, TERMINAL ET PROGRAMMES D'ORDINATEURS ASSOCIES.
FR 3 053 555 - A1
L'invention concerne un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes:
Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble; Elimination (E11) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé;
Mise à jour (E 12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée;
Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
i
Procédé de codage d'une image numérique, procédé de décodage, dispositifs, terminal et programmes d'ordinateurs associés
1. Domaine de l'invention
Le domaine de l'invention est celui du codage et du décodage d'images ou de séquences d'images, et notamment de flux vidéo.
Plus précisément, l'invention concerne la compression d'images ou de séquences d'images utilisant une représentation par blocs des images.
L'invention peut notamment s'appliquer au codage image ou vidéo mis en œuvre dans les codeurs actuels (JPEG, MPEG, H.264, HEVC, etc et leurs amendements) ou à venir, et au décodage correspondant.
2. Présentation de l'art antérieur
Les images et séquences d'images numériques occupent beaucoup d'espace en termes de mémoire, ce qui nécessite, lorsque l'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau utilisé pour cette transmission. En effet, le débit utilisable sur ce réseau est généralement limité.
On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi cellesci, le standard de compression HEVC (High Efficiency Video Coding, Coding Tools and Spécification, Matthias Wien, Signais and Communication Technology, 2015) propose de mettre en œuvre une prédiction de pixels d'une image courante par rapport à d'autres pixels appartenant à la même image (prédiction intra) ou à une image précédente ou suivante (prédiction inter).
Plus précisément, la prédiction intra exploite les redondances spatiales au sein d'une image. Pour ce faire, les images sont découpées en blocs de pixels. Les blocs de pixels sont alors prédits à l'aide d'informations déjà reconstruites, correspondant aux blocs précédemment codés/décodés dans l'image courante selon l'ordre de parcours des blocs dans l'image.
Par ailleurs, de manière classique, le codage d'un bloc courant est réalisé à l'aide d'une prédiction du bloc courant, dit bloc prédit, et d'un résidu de prédiction ou « bloc résiduel », correspondant à une différence entre le bloc courant et le bloc prédit. Le bloc résiduel obtenu est alors transformé, par exemple en utilisant une transformée de type DCT (transformée en cosinus discrète). Les coefficients du bloc résiduel transformé sont ensuite quantifiés, puis codés par un codage entropique et transmis au décodeur, qui peut reconstruire le bloc courant en ajoutant ce bloc résiduel au bloc prédit.
Le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients du bloc résiduel sont effectuées. Puis, la prédiction du bloc est calculée pour obtenir le bloc prédit et le bloc courant est reconstruit en ajoutant la prédiction (le bloc prédit) au bloc résiduel décodé.
Dans le standard HEVC, il est possible d'effectuer une prédiction intra d'un bloc courant selon 35 modes de prédiction intra. Pour coder le mode de prédiction intra sélectionné pour prédire un bloc courant, le standard HEVC définit deux listes de modes de prédiction:
- une première liste dite liste MPM (pour « Most Probable Mode », en anglais) comprenant les 3 modes de prédiction intra les plus probables pour le bloc courant, une telle liste MPM est définie à partir des modes de prédiction préalablement sélectionnés lors du codage des blocs voisins du bloc courant,
- une deuxième liste dite liste non-MPM comprenant les 32 autres modes de prédiction intra restants, i.e. les modes de prédiction intra non compris dans la liste MPM.
Un index est transmis au décodeur pour indiquer quelle liste MPM ou non-MPM est utilisée pour prédire le bloc courant. Lorsque le bloc courant est codé par un mode de prédiction intra de la liste MPM, l'index du mode de prédiction sélectionné dans la liste MPM est transmis au décodeur par un codage entropique. Lorsque le bloc courant est codé par un mode de prédiction intra de la liste non-MPM, l'index du mode de prédiction intra sélectionné dans la liste non-MPM est codé par un code de longueur fixe sur 5 bits.
La liste non-MPM comprend un grand nombre de modes de prédiction intra, le coût de codage d'un index d'un mode de prédiction de cette liste est donc élevé.
Le document Novel Adaptive Algorithm for Intra Prédiction with Compromised Modes Skipping and Signaling Processes in HEVC, L-L. Wang, W-C Siu, IEEE, 2013, décrit une méthode de codage permettant de réduire le nombre de modes de prédiction intra utilisé pour prédire un bloc courant afin d'une part de réduire le coût de signalisation d'un mode de prédiction intra et d'autre part de réduire la complexité de sélection d'un mode de prédiction. Une telle méthode crée trois catégories à partir des 35 modes de prédiction intra disponibles, une première comprenant un mode, une deuxième comprenant 19 modes et une troisième comprenant les 35 modes. Elle choisit pour chaque bloc courant la catégorie adaptée en fonction de la valeur de la variance des pixels de référence du bloc courant. Les pixels de référence du bloc courant correspondent aux pixels de la ligne située au-dessus du bloc courant et de la colonne située à droite du bloc courant. Un bloc courant est ensuite prédit par un des modes de prédiction de la liste. Dans la catégorie sélectionnée, le meilleur mode de prédiction est choisi en fonction d'un critère débit-distorsion. Il est signalé à l'aide d'une information identifiant la catégorie, puis le mode dans cette catégorie.
Une telle méthode permet de réduire le temps de calcul de la prédiction d'un bloc courant, car dans certains cas tous les modes de prédictions intra ne sont pas testés. Elle peut aussi permettre dans certains cas de réduire le débit. En effet, si la catégorie choisie est celle qui n'a qu'un prédicteur, il n'y a rien à signaler.
3. Inconvénients de l'art antérieur
Quand la deuxième ou la troisième catégorie est choisie, le débit n'est pas réduit, du fait que la signalisation est prévue sur la base de l'ensemble de modes de prédiction initialement disponibles.
4. Objectifs de l'invention
L'invention vient améliorer la situation.
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de proposer une solution qui contribue à diminuer le coût de signalisation d'un mode de prédiction sélectionné pour un bloc courant parmi une pluralité de modes candidats, sans nuire à la qualité de la prédiction.
5. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes :
Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;
Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
Mise à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
Décodage à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
Avec l'invention, le décodeur élimine les catégories de modes de prédiction non adaptées au bloc courant et il supprime des catégories restantes les modes de prédiction communs avec les catégories éliminées. Il utilise sa connaissance des catégories non éliminées et mises à jour pour interpréter dans le flux de données les données codées signalant le mode de prédiction choisi par l'encodeur pour le bloc courant.
Contrairement à l'art antérieur, qui signale le mode de prédiction sélectionné sur la base des catégories initiales, la signalisation du mode de prédiction sélectionné pour le bloc courant est spécifique et adaptée aux catégories de modes de prédiction mises à jour. Ainsi, le coût de la signalisation du mode de prédiction est optimisé.
L'invention concerne aussi un procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes :
Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;
Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;
Mise à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
Sélection d'un mode de prédiction dans une des catégories mises à jour ; et
Codage en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insertion de l'information codées dans le flux de données codées.
Les différents modes ou caractéristiques de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux caractéristiques du procédé de décodage et/ou du procédé de codage défini ci-dessus.
Selon un aspect de l'invention, l'étape d'obtention comprend la lecture d'informations d'identification desdites catégories dans une mémoire.
Les catégories de modes de prédiction sont prédéterminées. Un avantage est la simplicité de mise en œuvre et des besoins limités en ressources de calcul.
Selon un autre aspect de l'invention, l'étape d'obtention comprend une analyse d'au moins une caractéristique d'un contenu de blocs déjà traités et une création des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée.
Les catégories sont créées dynamiquement, en fonction du contenu déjà traité. Un avantage est que les catégories obtenues sont adaptées au contenu de l'image.
Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, une étape de détermination d'un mode de prédiction représentant cette catégorie et l'étape d'élimination de la catégorie comprend une élimination du mode de prédiction représentant, l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représentant.
Un avantage est qu'on élimine la catégorie tout entière en une seule opération.
Selon encore un autre aspect de l'invention, pour une catégorie obtenue, l'étape d'élimination de la catégorie comprend l'élimination successive de ses modes de prédiction, la comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil.
Un avantage est qu'on teste individuellement les modes de la catégorie avant de prendre une décision d'élimination.
Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux.
Un avantage est qu'on élimine la catégorie tout entière dès lors qu'on peut établir qu'elle n'est pas adaptée au contenu à traiter.
L'invention concerne également un dispositif de décodage adapté pour mettre en œuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif de décodage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de décodage sont les mêmes que ceux du procédé de décodage, et ne sont pas détaillés plus amplement.
Selon un mode particulier de réalisation de l'invention, un tel dispositif de décodage est compris dans un terminal.
L'invention concerne également un dispositif de codage adapté pour mettre en œuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif de codage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de codage sont les mêmes que ceux du procédé de codage, et ne sont pas détaillés plus amplement.
Selon un mode particulier de réalisation de l'invention, un tel dispositif de codage est compris dans un terminal ou un serveur. Un tel équipement terminal ou serveur peut comprendre un dispositif de codage et un dispositif de décodage selon l'invention.
Le procédé de décodage, respectivement le procédé de codage selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
Selon un mode particulier de réalisation de l'invention, le procédé de décodage, respectivement le procédé de codage, est mis en œuvre par un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes d'un procédé tel que décrit précédemment, lorsque ce programme est exécuté par un processeur.
Ces programmes peuvent utiliser n'importe quel langage de programmation. Ils peuvent être téléchargés depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur.
L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif de codage d'une image numérique et au dispositif de décodage d'une image numérique selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en œuvre un procédé de codage et un programme d'ordinateur mettant en œuvre un procédé de décodage, tels que décrits précédemment.
6. Liste des figures
D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
la figure 1 présente de façon schématique les étapes d'obtention, d'élimination et de mise à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ;
la figure 2 présente de façon schématique les étapes d'obtention, d'élimination et de mise à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ;
la figure 3 présente de façon schématique des catégories de modes de prédiction comprenant des modes communs ;
les figures 4A à 4G illustrent des exemples de catégories de modes de prédiction mis en œuvre par l'invention ;
la figure 5 illustre un exemple de catégories mises en œuvre dans un mode de réalisation de l'invention ;
la figure 6 présente de façon schématique les étapes d'un procédé de codage d'une image selon l'invention ;
la figure 7 illustre de façon schématique les étapes d'un procédé de décodage d'une image selon l'invention ;
la figure 8 présente de façon schématique un exemple de structure matérielle d'un dispositif de codage selon l'invention ; et la figure 9 présente de façon schématique un exemple de structure matérielle d'un dispositif de décodage selon l'invention.
7. Description d'un mode de réalisation particulier de l'invention
7.1 Principe général
L'invention vise à améliorer le coût de la signalisation d'un mode de prédiction utilisé pour prédire un bloc de pixels d'une image à coder.
Les standards de compression actuels proposent un grand nombre de modes de prédiction pour coder un bloc afin de fournir une prédiction la plus proche possible des pixels du bloc à coder. Ainsi, le résidu de prédiction quantifié est faible, voire nul, ce qui permet de réduire le coût de codage du résidu de prédiction. Cependant, le coût de la signalisation d'un mode de prédiction augmente avec le nombre de modes de prédiction possibles.
Or, il apparaît possible de regrouper les modes de prédiction en catégories sur la base d'une ou plusieurs caractéristiques du contenu de l'image qu'ils ont en commun et de prévoir le fait que les modes de prédiction d'une même catégorie ne soient pas adaptés pour prédire le bloc courant.
Le principe général de l'invention repose sur l'établissement de catégories de modes de prédiction dans l'ensemble initial des modes de prédiction en compétition pour le codage ou le décodage d'un bloc courant d'une image numérique et sur l'élimination de catégories entières. Les modes d'une catégorie non éliminée et communs à des catégories éliminées sont supprimés. Ce principe s'applique au codeur comme au décodeur.
De cette manière, le nombre de modes de prédiction disponibles pour le codage d'un bloc est réduit et, du fait que le décodeur sait construire à l'identique les mêmes catégories, la signalisation peut se faire sur la base du nombre réduit de modes disponibles pour la prédiction du bloc courant.
L'invention est ici décrite dans le cadre d'une application aux modes de prédiction intra définis dans le standard HEVC. L'invention s'applique aisément à d'autres standards de compression et d'autres modes de prédiction.
On rappelle que le standard HEVC définit 35 modes de prédiction intra:
- un mode PLANAR (mode 0), ce mode consiste à interpoler de façon linéaire les pixels du bloc prédicteur (ou bloc prédit) à partir des pixels de référence; les pixels de référence étant construits à partir des blocs voisins précédemment reconstruits,
- un mode DC (mode 1), ce mode consiste à affecter aux pixels du bloc prédicteur la même valeur correspondant à une moyenne des pixels de référence,
- 33 modes angulaires A2-A34 illustrés par la figure 4A. De tels modes forment un bloc prédicteur par la prolongation des pixels de référence du bloc courant dans l'une des 33 directions associées.
En relation avec la Figure 1, on décrit les étapes d'obtention E10 de catégories, d'élimination Eli de catégories et de mise à jour E12 de catégories selon l'invention, mises en œuvre dans le procédé de codage selon l'invention décrit en relation avec la figure 6 et dans le procédé de décodage selon l'invention décrit en relation avec la figure 7.
7.2 Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble initial
Au cours de l'étape E10, le codeur ou le décodeur obtiennent des catégories de modes de prédiction formées à partir de l'ensemble initial de modes de prédiction disponibles. Comme illustré par la figure 3, les catégories peuvent avoir des modes de prédiction communs.
Ces catégories ont été formées à l'aide d'un ou plusieurs critères de regroupement CR des modes de prédiction. Un critère de regroupement est avantageusement associé à une valeur ou une plage de valeurs d'une caractéristique du contenu d'un bloc. Autrement dit, les modes de prédiction sont regroupés sur la base d'au moins une caractéristique commune, de façon à ce que les modes de prédiction d'une même catégorie puissent être considérés comme les plus adaptés à prédire un bloc présentant la valeur de caractéristique qui leur est associée.
Des catégories peuvent avoir été constituées dans une phase préalable au codage et au décodage et être figées. Dans ce cas, l'étape E10 d'obtention de catégories comprend une sous-étape E101 de lecture d'une information représentative de ces catégories dans une mémoire MEM, MEMO. Par exemple, cette information est un mot qui concatène les identifiants des catégories et un identifiant de catégorie est associé à un espace mémoire stockant les identifiants des modes de prédiction qu'elle contient.
En l'absence d'analyse de caractéristique du contenu de l'image déjà traité, le codeur et par symétrie le décodeur, obtiennent systématiquement les catégories prédéterminées correspondant à un premier profil de catégorisation associé par exemple à un profil de codage.
Lorsqu'il dispose des résultats d'une analyse du contenu des blocs déjà traités, qui lui fournit au fil de l'eau des caractéristiques du contenu de l'image, le codeur et par symétrie le décodeur peuvent créer dynamiquement des catégories à l'aide de critères de regroupement associés à des valeurs particulières ou à des plages de valeurs des caractéristiques issues de cette analyse.
Dans ce cas, l'étape E10 comprend une sous-étape E102 d'obtention de caractéristiques CC du contenu des blocs déjà traités et une sous-étape E103 de création d'au moins une catégorie sur la base d'au moins un critère de regroupement CR fonction d'au moins une de ces caractéristiques.
On comprend que l'étape E10 peut mettre en œuvre la sous-étape E101 seule, les sous-étapes E102, E103 seules, ou bien toutes les sous-étapes, les catégories constituées dynamiquement venant compléter celle préalablement créées.
Par exemple, les modes de prédiction sont regroupés selon un critère associé à une caractéristique physique du contenu de l'image. En relation avec la figure 4B, la caractéristique physique ίο considérée est l'orientation du mode de prédiction et les modes de prédiction présentant des orientations proches les unes des autres sont regroupés dans une première catégorie CV, dite verticale, comprenant le mode angulaire vertical A26 (V) et ses voisins et une deuxième catégorie CH, dite horizontale, comprenant le mode angulaire horizontal A10 (H) et ses voisins.
Ces catégories sont pertinentes pour prédire un bloc d'une image présente des directions franches, qui sont plutôt horizontales pour la catégorie CH ou plutôt verticales pour la catégorie CV. C'est le cas par exemple d'une image représentant une scène urbaine avec de hauts immeubles.
Avantageusement, pour un bloc courant, l'étape d'élimination Eli éliminera une des deux catégories sur la base d'un critère d'élimination basé sur une orientation principale du bloc.
On considère en relation avec la figure 4C, un autre exemple de caractéristique physique prise en compte pour la création d'une catégorie. On suppose que le codeur a détecté dans le contenu la présence de contours francs et contrastés par rapport au fond, souvent dans les directions horizontales ou verticales, séparées par des zones très homogènes, ce qui correspond à une incrustation de texte ou de logo sur une scène réelle. Le contenu de l'image en cours de codage comprend donc une superposition d'éléments virtuels sur une scène réelle. Il crée une première catégorie regroupant des modes adaptés à ce type de scène dite « screen content ». Par exemple, dans cette catégorie CSC, il inclut les modes DMM (pour « Depth Modeling Mode », en anglais), IBC (pour « Intra Block Copy », en anglais), le mode angulaire horizontal A10 (H), le mode angulaire vertical A26 (V). Il crée une deuxième catégorie CA comprenant l'ensemble des modes angulaires précédemment évoqués, dont le mode horizontal et le mode vertical.
En relation avec la figure 4D, le codeur obtient en E10 trois catégories à partir des modes de prédiction angulaires. La catégorie CAI comprend les modes A26(V) et A10(H), la catégorie CA2 les modes A2, A6, A14, A22 et la catégorie CA3 tous les autres. La catégorie CAI autorise très peu de finesse pour le codage d'une direction, la catégorie CA2 en permet un peu plus et la catégorie CA3 est la plus précise. On comprend que ces trois catégories permettent de s'adapter à la finesse requise pour représenter la direction du contenu d'un bloc.
Ces catégories ont été créées dans une phase préalable et sont figées. Elles n'ont pas de mode commun.
Une application privilégiée de cet ensemble de catégories est de l'utiliser comme un outil de codage mis en compétition avec d'autres. Cet ensemble de catégories sera donc choisi quand il donnera les meilleurs résultats, par exemple selon un critère débit-distorsion. On peut notamment s'attendre à ce qu'il fonctionne bien pour une image dont une zone donnée contiendrait des directions simples (verticales et horizontales), et dont une autre zone aurait des directions beaucoup plus fines (finesse dans les diagonales).
Selon un mode de réalisation de l'invention, la sous-étape E103 de création de catégories prend en compte un critère de regroupement basé sur une analyse statistique (E102) des modes de prédiction utilisés pour les blocs voisins déjà traités (contexte causal). Avantageusement, les modes les plus fréquemment utilisés sont placés dans une première catégorie. Une deuxième catégorie comprend tous les modes de l'ensemble initial.
Selon un autre mode de réalisation, illustré par la figure 4E, D'autres catégories sont créées dynamiquement par apprentissage, de type « Machine Learning » sur les modes prédits pour des blocs déjà traités de l'image courante, par rapport à des descripteurs causaux, de préférence les plus probables. La technique de « machine learning » ou ML, connue de l'homme de métier et par exemple décrite dans l'ouvrage intitulé « Machine Learning », par Tom Mitchell, publié par McGraw Hill en 1997.
Cette technique permet, suite à une phase d'apprentissage, d'émettre des probabilités concernant la sélection des modes pour la zone courante. Le ML est un procédé connu, complexe, que nous ne détaillons pas. On peut donc imaginer de créer 3 autres catégories, en fonction du degré de probabilité d'apparition de chaque mode. Par exemple, on peut comparer les probabilités d'apparition obtenues à un ou plusieurs seuils et regrouper dans une première catégorie ceux qui ont une probabilité d'apparition supérieur à un premier seuil, puis dans une deuxième catégorie ceux qui ont une probabilité d'apparition supérieure à un deuxième seuil inférieur au premier et dans une troisième catégorie ceux qui ont une probabilité d'apparition supérieure à un troisième seuil inférieur au deuxième.
On crée ainsi les catégories suivantes, telles que représentées en relation avec la figure 4E :
• Catégorie 1 Cl': A2 A8 A9 A10 Ail • Catégorie 2 C2': A10 A3 A4 Ail A12 A16 • Catégorie 3 C3' : l'ensemble des autres modes angulaires An.
L'apprentissage est répété régulièrement, avec une fréquence qui peut varier. Par exemple, à chaque unité de codage (pour « coding unit », en anglais) ou à chaque image ou à chaque groupe d'images de type GoP (pour « Group of Pictures » en anglais).
Avantageusement, on ajoute à ces trois catégories créées dynamiquement, une première catégorie prédéterminée CO', dite par défaut, qui comprend les modes de prédiction DC, A10 (H), A26 (V) et PL. Cette catégorie est obtenue par le codeur et le décodeur en E10. Ceci permet de pallier une mauvaise prédiction issue de l'apprentissage ML.
En relation avec les figures 4F et 4G, les catégories peuvent aussi être construites de manière hiérarchique.
Une structure quelconque d'arbre peut être adoptée (binaire, ternaire, irrégulier, etc). Cette structure simule une sorte de MPM par niveaux hiérarchiques.
Par exemple, on construit les catégories par dichotomie. On définit le mode horizontal A10 et le mode vertical A26 comme les deux modes les plus probables MPM1 et MPM2. Ils forment la catégorie de premier niveau hiérarchique CH1. On dérive la deuxième catégorie hiérarchique CH2 en prenant leurs voisins à deux sauts MPM1-2, MPM1 + 2, MPM2-2 et MPM2-2. On crée la catégorie CH3 de niveau 3 en prenant les voisins à un saut des modes de la catégorie précédente : MPM1-1, MPM1 + 1, MPM2-1, MPM2+1. La catégorie CH1 comprend peu de modes de prédiction et apporte une précision faible en termes de direction angulaire, alors que la catégorie CH3 offre une plus grande finesse d'orientation.
7.3 Elimination de catégories
L'invention couvre différentes manières d'éliminer une catégorie.
Selon un mode de réalisation de l'invention, décrit en relation avec la figure 1, l'étape Eli d'élimination comprend une sous-étape Elll de détermination d'un mode représentant une catégorie.
Dans le cas d'un ensemble de modes angulaires, le représentant peut par exemple être le médian ou la moyenne. Les prédicteurs angulaires sont donc ordonnés, et ont un numéro qui les désigne. La moyenne désigne donc l'angle central de la catégorie.
Selon une variante, le mode de prédiction représentant une catégorie est un mode de prédiction supplémentaire, au sens où il ne fait pas partie de l'ensemble de modes de prédictions initial. Il peut être par exemple obtenu en calculant une moyenne cette fois sur les prédicteurs eux-mêmes, c'est-à-dire la valeur des pixels utilisés pour faire la prédiction, ou toute autre fonction de ces valeurs. Par exemple, en relation avec la Figure 4B, on choisit le mode vertical comme représentant RV pour la catégorie CV et le mode horizontal comme représentant RH pour la catégorie CH.
L'étape Eli comprend en outre une sous-étape E112 d'élimination du représentant selon un critère d'élimination. Le représentant est testé, éliminé ou non en fonction d'au moins un critère d'élimination de prédicteurs.
L'étape E113 consiste à éliminer la catégorie tout entière dès lors que son représentant a été éliminé.
Selon une variante illustrée par la figure 2, on ne désigne pas de représentant, mais on examine un par un les modes de prédiction d'une catégorie au cours d'une sous-étape E114 et on les élimine par un critère standard d'élimination de mode.
Dans l'exemple de la Figure 4E, les catégories CAO à CA3 sont hétérogènes. On ne définit donc pas de représentant pour ces catégories. Les modes sont passés en revue individuellement pour décider de leur élimination éventuelle. Le critère d'élimination du mode correspond par exemple à la règle suivante : « An est éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou An+1. ».
Par conséquent, un certain nombre de modes de chaque catégorie est supposé être éliminé. Un critère d'élimination de la catégorie entière s'applique alors, si par exemple 50% des modes de la catégorie sont supposés être éliminés. Dans ce cas, tous les modes de la catégorie sont éliminés. En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents. Dans le cas inverse (moins de 50%), la catégorie est conservée, et tous les modes de la catégorie le sont aussi (même ceux supposés être éliminés).
En E115, la catégorie est éliminée si le taux des modes éliminés dans la catégorie est supérieur à un seuil prédéterminé TH.
Selon encore un autre mode de réalisation, une catégorie est éliminée globalement si le critère de regroupement CR qui a servi à la constituer est incompatible avec au moins une caractéristique physique du contenu des blocs voisins déjà traités. Par exemple, la catégorie CSC de la figure 4C regroupe des modes de prédiction qui ont une forte probabilité d'être utilisés pour des blocs issus d'images de profondeur ou comprenant du contenu non naturel par exemple de type écran d'ordinateur(pour « « screen content», en anglais) ou comprenant des incrustations (pour « overlay », en anglais). En revanche, elle n'est pas adaptée au bloc courant appartenant à une zone de l'image pour laquelle une analyse des blocs voisins déjà traités indique que le contenu présente des caractéristiques angulaires marquées ainsi que des zones texturées. La catégorie CSC est alors éliminée avec tous ses modes de prédiction.
On reprend maintenant l'exemple de la Figure 4D, qui représente des catégories CAI à CA3 basées sur une caractéristique physique d'orientation du contenu du bloc courant. Lorsque l'analyse du contenu des blocs voisins déjà traités indique qu'on est dans une zone très homogène, alors une grande finesse angulaire n'est pas requise. On peut donc éliminer la catégorie CA3.
De même si une technique de gradient par exemple de type Sobel appliquée aux blocs voisins déjà traités ne fait apparaitre aucune direction horizontale ou verticale nette, on peut éliminer la catégorie CAI dont le critère de regroupement des modes est incompatible avec le contenu à traiter.7.4 Mise à jour des catégories non éliminées
On a vu que les catégories créées peuvent avoir des modes de prédiction communs.
On notera que, selon l'invention, si un mode de prédiction donné appartient à une première et à une deuxième catégorie, l'élimination de ce mode dans une première catégorie implique son élimination de la deuxième catégorie en E12.
En relation avec la figure 3, l'élimination de la catégorie Cl implique que la deuxième catégorie C2 ne contient plus que deux modes de prédiction.
7.5 Description d'un premier mode de mise en œuvre
Dans cet exemple, illustré par la Figure 5, les catégories de modes de prédiction sont prédéterminées. Autrement dit, leur création a été réalisée dans une phase préalable à l'encodage. L'étape E10 consiste donc à aller lire une information représentative de ces catégories en vue d'accéder aux modes de prédiction, qui sont par exemple stockés dans une mémoire accessible au codeur.
On considère cinq catégories qui sont constituées de la manière suivante, illustrée par la figure 5 : la catégorie Cli comprend les modes de prédiction DMM, IBC, H (A10), H-l (A9), H+l (Ail), V (A26), V-l (A25), V+l (A27) ;
la catégorie C2i comprend les modes de prédiction angulaires A34 ... A27 ; la catégorie C3i comprend les modes de prédiction angulaire A25 ... Ail ; la catégorie C4i comprend les modes de prédiction angulaires A9 ... A2 ; la catégorie C5i comprend DC, H, V, PL.
On constate que certains modes de prédiction, comme certains modes angulaires sont communs à plusieurs catégories.
Ces catégories, déterminées à l'avance et figées, sont connues par le codeur et par le décodeur. Pour les catégories 2, 3 et 4, composées uniquement de modes angulaires, on détermine en T12 un représentant, qui correspond au mode angulaire médian de chacune d'entre elles. Par exemple, le médian de la catégorie C2 est le mode A30.5. On notera qu'il s'agit d'un mode angulaire supplémentaire, qui ne fait pas partie de la catégorie C2.
On ne détermine pas de représentant pour les autres catégories Cli et C5i, constituées de modes de prédiction de types hétérogènes.
En Eli, on cherche à éliminer un ou plusieurs catégories. Dans cet exemple de réalisation, la stratégie adoptée consiste à éliminer les modes de prédiction angulaires qui ont une forte probabilité d'être inutiles. On recourt à un critère d'élimination dit statistique, basé sur une analyse statistique des modes de prédiction utilisés par les blocs déjà traités dans un voisinage à la fois spatial et temporel.
Par exemple, pour les catégories C2i, C3i et C4i, on teste le représentant à l'aide d'un critère d'élimination qui s'exprime sous la forme de la règle suivante : « Le mode An est éliminé si aucun des blocs déjà traités de son voisinage n'a sélectionné un des modes du groupe comprenant An, An-1 et An+1 ».
On suppose que ce critère conduit à l'élimination des représentants des catégories C2 et C3, donc à l'élimination de ces catégories.
En E12, on met à jour les catégories non éliminées en supprimant les modes de prédiction qu'elles ont en commun avec les catégories éliminées. Cela nous amène à supprimer les modes angulaires Ail (H+l), A25 (V-l), A26 (V) et A27 (V+l) de la catégorie 1.
Les catégories mises à jour sont les suivantes
- Catégorie Cli : DMM, IBC, H (A10), H-l (A9), V (A26) ;
Catégorie C4i : A9 ... A2 ; et Catégorie C5i : DC, H, V, PL
On observe qu'il ne reste plus que 15 modes en tout contre 38 initialement.
On notera que dans cet exemple que seules les catégories C2i, C3i, C4i ont des représentants, et sont potentiellement éliminables. Ceci correspond à un cas concret où l'on souhaite éliminer le maximum de modes angulaires inutiles, sans toutefois éliminer les autres modes.
Le codeur choisit ensuite un mode de prédiction est choisi de manière classique parmi les 15 restants. Classiquement, ce choix est fait sur la base d'un critère débit-distorsion ou RDO (pour Rate Distorsion O en anglais) qui conduit à retenir le mode qui optimise le débit et la qualité de codage.
Le mode sélectionné est signalé dans le train binaire. Ce mode est ensuite signalé.
Il existe plusieurs manières connues de signaler le mode de prédiction sélectionné. Selon une première option, il est indexé par rapport aux 15 modes et son index est signalé. Selon une deuxième option, on signale la catégorie à laquelle il appartient parmi les trois restantes, puis sa position ou index dans la catégorie.
7.3 Description d'un deuxième mode de mise en œuvre
On considère les mêmes catégories prédéterminées que dans le premier mode de mise en œuvre.
La catégorie Cl regroupe des modes de prédictions supposés pertinents pour prédire des blocs comprenant des contenus artificiels de type incrustation ou screen content.
Au cours de l'étape Eli d'élimination de catégorie, on cherche à éliminer cette catégorie 1 lorsqu'elle n'est pas adaptée au contenu du bloc à traiter.
Pour cette catégorie, on utilise un critère d'élimination basé sur une analyse structurelle du voisinage déjà traité du bloc courant. Par exemple, on réalise une détection de contours, par filtrage de type Sobel, puis on détermine les directions de ces contours, comme décrit dans les chapitres 4 et 5 de l'ouvrage de AK Jain, intitulé « Fundamentals of Digital Image Processing », publié par Prentice Hall en 1989. Si les blocs voisins s'avèrent ne pas inclure de contenu des types visés par cette catégorie, elle est éliminée.
On remarque qu'un un fonctionnement similaire pourrait être appliqué à la catégorie C5, qui est quant à elle plus adaptée aux zones homogènes ou dégradés légers.
7.6 Description d'un troisième mode de mise en œuvre
Dans cet exemple (non illustré), on fige une première catégorie par défaut CI2, qui contient les modes de prédiction DC, H, V, PL.
L'étape E10 comprend la création E103 dynamique de trois catégories. Pour ce faire, elle met œuvre une technique de machine learning (ML) en E102. Les trois catégories sont créées en prenant en compte une probabilité d'apparition de chaque mode.
Les catégories peuvent être, par exemple :
Catégorie CI2 : DC, H, V, PL ;
Catégorie C22 : A2 A8 A9 ;
- Catégorie C32: A10 A3 A4 Ail A12 A16 ;
Catégorie C42: l'ensemble des autres An
Ainsi formées, les catégories sont hétérogènes. On ne définit donc pas de représentant.
En Eli, on passe en revue chaque mode de chaque catégorie pour décider si ce mode doit être éliminé. Un premier critère d'élimination du mode s'exprime par exemple sous la forme de la règle suivante : An sera éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou
An+1.
Un deuxième critère d'élimination de la catégorie entière s'applique ensuite, si par exemple 50% des modes de la catégorie sont éliminés par le premier critère. Dans ce cas, tous les modes de la catégorie sont éliminés.
En E12, les modes éliminés sont supprimés des catégories restantes.
En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents.
Dans le cas inverse (moins de 50%), la catégorie est conservée, et l'ensemble des modes de la catégorie le sont aussi (même ceux supposés être éliminés).
Par exemple, si 50% des modes des catégories 4 et 2 sont éliminés, seuls les 3 modes de la catégorie 1 et les 5 modes de la catégorie 3 subsistent dans l'ensemble utilisable. Ceci permet de pallier une éventuelle mauvaise prédiction issue du ML.
7.7 Description d'un exemple de mise en œuvre d'un procédé de codage selon l'invention
La figure 6 présente les étapes du procédé de codage d'une séquence d'images Ii, I2, ..., In à coder sous la forme d'un flux de données codées STR selon un mode particulier de réalisation de l'invention. Par exemple, un tel procédé de codage est mis en œuvre par un dispositif de codage tel que décrit en relation avec la figure 8. Une séquence d'images Ii, I2, ..., In à coder est fournie en entrée du procédé de codage. Le procédé de codage délivre en sortie un flux de données codées STR ou train binaire, représentatif de la séquence d'images fournie en entrée.
De manière connue, le codage de la séquence d'images Ii, I2, ..., In est fait image par image selon un ordre de codage préalablement établi et connu du décodeur. Par exemple, les images peuvent être codées dans l'ordre temporel Ii, I2, ..., In ou selon un autre ordre, par exemple Ii, I3, I2, , In.
Lors d'une étape E0, une image Ik à coder de la séquence d'images Ii, I2, ..., In est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 15x15, 8x8, 4x4, 15x8, 8x15, .... Puis, lors de l'étape E0, un bloc bc à coder d'une image Ik est sélectionné selon un sens de parcours de l'image Ik prédéterminé.
Lors d'une étape E10, au moins deux catégories de modes de prédiction pour coder le bloc courant bc sont obtenues. Au cours de l'étape Eli, on élimine des catégories selon au moins un critère d'élimination et en E12, les catégories non éliminées sont mises à jour en supprimant les modes communs avec les catégories éliminées.
Ces étapes ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 4A à 4G.
Lors d'une étape E13, un mode de prédiction pour coder le bloc courant bc est sélectionné parmi les modes de prédictions des catégories mises à jour, par exemple le mode de prédiction fournissant le meilleur compromis débit/distorsion pour le bloc courant est sélectionné.
Lors d'une étape E14, une information identifiant le mode de prédiction sélectionné est codée dans un flux de données codées STR pour le bloc courant bc. Par exemple, une telle information est codée dans le flux sous la forme d'un index idx codé par un code à longueur fixe ou variable.
Selon une variante, on code une information représentative de la catégorie à laquelle appartient le mode de prédiction sélectionné, puis une information représentative d'une position du mode de prédiction dans cette catégorie.
On note qu'avec l'invention, les catégories étant obtenues, éliminées et mises à jour de façon symétrique par le codeur et le décodeur, le codeur peut avantageusement choisir les codes pour signaliser le mode de prédiction sélectionné en fonction du nombre de modes de prédiction des catégories mises à jour plutôt qu'en fonction du nombre de modes de prédiction de l'ensemble initial. La signalisation est donc rendue moins coûteuse.
Lors d'une étape E15, un résidu de prédiction RES est calculé à partir du bloc courant bc et du bloc prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13. Le résidu de prédiction RES est obtenu par la différence entre le bloc courant à coder bcet le bloc prédicteur P.
Lors d'une étape E16, de manière connue, le résidu de prédiction RES est ensuite transformé, par exemple par une transformée DCT, et quantifié. Des coefficients de résidus transformés quantifiés sont alors obtenus.
Lors d'une étape E17, les coefficients de résidus transformés quantifiés sont ensuite codés par un module de codage entropique, par exemple un codeur CABAC, décrit dans D. Marpe, H. Schwarz, T. Wiegand, « Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard » IEEE Transactions on Circuits and Systems for Video Technology (Volume: 13 , Issue: 7 ), pages 620 - 636, July 2003 , sous la forme d'un flux de données codées STR. Lors d'une étape E18, un résidu de prédiction RES' est reconstruit en appliquant aux coefficients transformés quantifiés une quantification inverse et une transformation inverse. Lors d'une étape E19, un bloc de pixels REC est reconstruit en ajoutant le résidu de prédiction reconstruit RES' au bloc prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13.
Lors d'une étape E20, il est vérifié si tous les blocs de l'image à coder ont été codés. Dans le cas négatif, le procédé de codage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à coder.
Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape E21, une image Ikrec est reconstruite à partir des blocs reconstruits REC de l'image et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du codage des images suivantes de la séquence d'images.
7.8 Procédé de décodage
La figure 7 présente des étapes d'un procédé de décodage d'un flux STR de données codées représentatif d'une séquence d'images Ii, h, In à décoder selon un mode particulier de réalisation de l'invention.
Par exemple, le flux de données STR a été généré via le procédé de codage présenté en relation avec la figure 1. Le flux de données STR est fourni en entrée d'un dispositif de décodage DEC, par tel que décrit en relation avec la figure 9.
Le procédé de décodage procède au décodage du flux image par image. Pour chaque image à décoder, le procédé de décodage procède au décodage de l'image bloc par bloc.
Lors d'une étape DO, une image Ik à décoder de la séquence d'images Ii, I2, In est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, .... Puis, un bloc bc à décoder d'une image Ik est sélectionné selon un sens de parcours de l'image Ik prédéterminé.
Pour un bloc bc d'une image à reconstruire, lors de l'étape E10, des catégories de modes de prédiction sont obtenues. En Eli, on élimine des catégories sur la base d'au moins un critère d'élimination et on met à jour en E12 les catégories non éliminées en supprimant les modes de prédiction communs avec les catégories éliminées. Ces étapes E10 à E12 sont réalisées selon un mode particulier de réalisation identique au mode de réalisation utilisé lors du codage du flux de données STR. Elles comprennent un ensemble de sous-étapes qui ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 1 et 2.
Lors d'une étape D20, les données du flux de données STR correspondant au bloc bc sont décodées par un module de décodage entropique pour fournir d'une part des éléments de syntaxe relatifs au mode de codage (ou mode de prédiction) du bloc courant bc et d'autre part un groupe de coefficients de résidus de prédiction du bloc courant bc. Les éléments de syntaxe décodés comprennent notamment une information de mode de prédiction identifiant pour le bloc courant bc un mode de prédiction parmi les modes de prédiction des catégories de modes de prédiction mises à jour selon l'invention. Par exemple, si on suppose que les catégories mises à jour sont ordonnées, ainsi que les modes de prédiction qui les constituent, une telle information est codée dans le flux sous la forme d'un index idx de la liste ordonnée formée par les modes de prédiction restants. Selon une variante, l'information de mode de prédiction est codée sous la forme d'un identifiant de catégorie et d'un index idx de position dans la catégorie identifiée.
Lors d'une étape D21, les coefficients de résidus de prédiction du bloc bc subissent une quantification inverse, puis une transformation inverse pour délivrer un résidu de prédiction décodé RES'.
Lors d'une étape D22, le bloc courant bc est reconstruit à partir du bloc prédicteur P associé au mode de prédiction décodé et du résidu de prédiction RES' associé au bloc courant bc qui a été décodé à partir du flux de données codées STR. Le bloc prédicteur P a été calculé précédemment lors de l'étape E10. Un bloc reconstruit REC pour le bloc courant bc est donc obtenu en ajoutant le bloc prédicteur P au résidu de prédiction décodé RES'.
Lors d'une étape D23, il est vérifié si tous les blocs de l'image à décoder ont été décodés et reconstruits. Dans le cas négatif, le procédé de décodage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à décoder.
Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape D24, une image Ikrec est reconstruite à partir des blocs reconstruits REC et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du décodage des images suivantes de la séquence d'images.
Les procédés de codage et de décodage décrits précédemment peuvent être intégrés dans des codeurs/décodeurs vidéo standards tels que H.266, HEVC/H.265, AVC/H.264 ou tout type de codeurs/décodeurs vidéo propriétaires. Les procédés de codage et de décodage selon l'invention s'appliquent également à tous types de codeurs/décodeurs d'images fixes et plus généralement de signaux utilisant un codage prédictif à l'aide de plusieurs modes de prédiction disponibles.
Les procédés de codage et de décodage ont été décrits précédemment dans le cas du codage spatial de bloc (codage intra). Ces procédés s'appliquent aisément au cas du codage d'un bloc selon d'autres types de modes de codage, inter par exemple. La liste des modes de prédiction construite peut ainsi comprendre différents types de modes de codage (intra, inter, inter-couches, ...).
7.9 Dispositif de codage
La figure 8 présente la structure simplifiée d'un dispositif de codage 100 adapté pour mettre en œuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de codage 100 est adapté pour coder au moins une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc de ladite image, dit bloc courant.
Le dispositif de codage 100 est notamment configuré pour :
obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant,
- coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à jour.
Selon un mode particulier de réalisation de l'invention, les étapes du procédé de codage sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de codage 100 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM, une unité de traitement UT, équipée par exemple d'un microprocesseur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM. Le programme d'ordinateur PG comprend des instructions pour mettre en œuvre les étapes du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC.
A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur PROC. Le processeur PROC de l'unité de traitement UT met notamment en œuvre les étapes du procédé de codage décrit cidessus, selon les instructions du programme d'ordinateur PG.
Selon un autre mode particulier de réalisation de l'invention, le procédé de codage est mis en œuvre par des modules fonctionnels. Pour cela, le dispositif de codage COD comprend en outre:
- un module d'obtention OBT pour obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- un module d'élimination ELIM pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- un module de mise à jour MAJ pour mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- un module de sélection SEL pour sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant,
- un module de codage COD pour coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à jour.
L'unité de traitement UT coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEM afin de mettre en œuvre les étapes du procédé de codage.
Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en œuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par un le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en œuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour Application Spécifie Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gâte Arrays en anglais, un câblage d'unités logiques.
De façon avantageuse, un tel dispositif 100 peut être intégré à un équipement terminal d'utilisateur ET. Le dispositif 100 est alors agencé pour coopérer au moins avec le module suivant du terminal ET :
une mémoire MEM1 dans laquelle sont stockées notamment les catégories de modes de prédiction ;
un module E/Rl d'émission/réception de données, par l'intermédiaire duquel le flux de données codées STR est transmis dans un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien à destination d'un ou plusieurs décodeurs.
7.10 Dispositif de décodage
La figure 9 présente la structure simplifiée d'un dispositif de décodage 200 adapté pour mettre en œuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de décodage 200 est adapté pour décoder un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc, dit bloc courant, de l'image. Le dispositif de décodage 200 est notamment configuré pour:
- obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant,
-décoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour,
- reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié.
Selon un mode particulier de réalisation de l'invention, le dispositif de décodage 200 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEMO, une unité de traitement UT0, équipée par exemple d'un microprocesseur PROCO, et pilotée par le programme d'ordinateur PGO stocké en mémoire MEMO. Le programme d'ordinateur PGO comprend des instructions pour mettre en œuvre les étapes du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROCO.
A l'initialisation, les instructions de code du programme d'ordinateur PGO sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur PROCO. Le processeur PROCO de l'unité de traitement UT0 met notamment en œuvre les étapes du procédé de décodage décrit ci-dessus, selon les instructions du programme d'ordinateur PGO.
Selon un autre mode particulier de réalisation de l'invention, le procédé de décodage est mis en œuvre par des modules fonctionnels. Pour cela, le dispositif de décodage 200 comprend en outre :
- un module d'obtention OBTO pour obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible,
- un module d'élimination ELIMO pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination,
- un module de mise à jour MAJO pour mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées,
- un module de décodage DC pour décoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour,
- un module de reconstruction RC pour reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié.
L'unité de traitement UT0 coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEMO afin de mettre en œuvre les étapes du procédé de décodage.
Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en œuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en œuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour Application Spécifie Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gâte Arrays en anglais, un câblage d'unités logiques.
De façon avantageuse, un tel dispositif 200 peut être intégré à un équipement terminal ET. Le dispositif 200 est alors agencé pour coopérer au moins avec le module suivant du terminal ET :
une mémoire MEM2 dans laquelle sont stockées notamment les catégories de modes de prédiction ;
un module E/R2 d'émission/réception de données, par l'intermédiaire duquel le train binaire STR est reçu d'un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien en provenance d'un codeur.
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 (11)
- REVENDICATIONS1. Procédé de décodage d'un flux de données codées (STR) représentatif d'au moins une image (Ik), ladite image étant découpée en blocs (bc), un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes :- Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;- Elimination (Eli) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;- Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;- Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
- 2. Procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes :- Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble ;- Elimination (Eli) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;- Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;- Sélection (E13) d'un mode de prédiction dans une des catégories mises à jour ;- Codage (E14) en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insertion de l'information codées dans le flux de données codées.
- 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape d'obtention comprend une lecture (E101) d'informations d'identification desdites catégories dans une mémoire.
- 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape d'obtention comprend une analyse (E102) d'au moins une caractéristique d'un contenu de blocs déjà traités et une création (E103) des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée.
- 5. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, pour une catégorie obtenue, une étape de détermination (E121) d'un mode de prédiction représentant cette catégorie et en ce que l'étape d'élimination de la catégorie comprend une élimination (E122) du mode de prédiction représentant, l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représentant.
- 6. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que, pour une catégorie obtenue, l'étape d'élimination (Eli) de la catégorie comprend l'élimination successive de ses modes de prédiction et la comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil.
- 7. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et en ce que l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux.
- 8. Dispositif (200) de décodage d'un flux de données codées (STR) représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit dispositif est configuré pour :- Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble ;- Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;- Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; et- Décoder à partir du flux de données une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour.
- 9. Dispositif (100) de codage d'une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que le dispositif est configuré pour :5 - Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble ;- Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ;- Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ;
- 10 - Sélectionner un mode de prédiction dans une des catégories mises à jour ;- Coder en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insérer l'information codée dans le flux de données codées.10. Equipement terminal (ET) comprenant un dispositif (100) de codage d'au moins une image en un flux de données codées selon la revendication 9 et un dispositif (200) de décodage d'un15 flux de données codées selon la revendication 8.
- 11. Programme d'ordinateur comprenant des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 7, lorsqu'il est exécuté par un processeur.30531/9E10MEM,MEMOEliCE
Elll E112 E113 E12
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1656137A FR3053555A1 (fr) | 2016-06-29 | 2016-06-29 | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes |
CN201780040372.9A CN109417618A (zh) | 2016-06-29 | 2017-06-19 | 用于数字图像的帧内编码方法和对应的解码方法 |
EP17742476.9A EP3479572A1 (fr) | 2016-06-29 | 2017-06-19 | Procédé de codage intra d'une image numérique et procédé de décodage correspondant |
JP2018568769A JP7059207B2 (ja) | 2016-06-29 | 2017-06-19 | デジタル画像のイントラコーディング方法および対応するデコーディング方法 |
KR1020187034557A KR102415261B1 (ko) | 2016-06-29 | 2017-06-19 | 디지털 이미지의 인트라―코딩을 위한 방법 및 대응하는 디코딩 방법 |
PCT/FR2017/051608 WO2018002474A1 (fr) | 2016-06-29 | 2017-06-19 | Procédé de codage intra d'une image numérique et procédé de décodage correspondant |
US16/092,962 US10812814B2 (en) | 2016-06-29 | 2017-06-19 | Method for intra-coding of a digital image and corresponding decoding method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1656137 | 2016-06-29 | ||
FR1656137A FR3053555A1 (fr) | 2016-06-29 | 2016-06-29 | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3053555A1 true FR3053555A1 (fr) | 2018-01-05 |
Family
ID=56842910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1656137A Pending FR3053555A1 (fr) | 2016-06-29 | 2016-06-29 | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes |
Country Status (7)
Country | Link |
---|---|
US (1) | US10812814B2 (fr) |
EP (1) | EP3479572A1 (fr) |
JP (1) | JP7059207B2 (fr) |
KR (1) | KR102415261B1 (fr) |
CN (1) | CN109417618A (fr) |
FR (1) | FR3053555A1 (fr) |
WO (1) | WO2018002474A1 (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019245551A1 (fr) * | 2018-06-20 | 2019-12-26 | Realnetworks, Inc. | Prédiction intra-image dans des systèmes et des procédés de codage vidéo |
FR3098073B1 (fr) | 2019-06-25 | 2021-09-24 | Fond B Com | Procédé de codage et de décodage d’une image d’une séquence vidéo et dispositif associé |
CN111614960B (zh) * | 2020-05-25 | 2022-09-02 | 绍兴文理学院 | 按图像内容特征进行帧级划分的快速编解码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2063644A2 (fr) * | 2007-10-30 | 2009-05-27 | Hitachi Ltd. | Dispositif de codage d'image et procédé de codage, dispositif de décodage d'image, procédé de décodage |
EP2391130A2 (fr) * | 2010-05-30 | 2011-11-30 | LG Electronics Inc. | Signalisation améliorée du mode de prédiction intra |
WO2012038938A1 (fr) * | 2010-09-24 | 2012-03-29 | Nokia Corporation | Procédés, appareils et programmes informatiques pour le codage vidéo |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4142563B2 (ja) | 2003-12-12 | 2008-09-03 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
JP4763422B2 (ja) | 2004-12-03 | 2011-08-31 | パナソニック株式会社 | イントラ予測装置 |
JP2007189276A (ja) | 2006-01-11 | 2007-07-26 | Victor Co Of Japan Ltd | 画像圧縮装置及び画像圧縮プログラム |
RU2496252C2 (ru) | 2007-06-29 | 2013-10-20 | Шарп Кабусики Кайся | Устройство кодирования изображения, способ кодирования изображения, устройство декодирования изображения, способ декодирования изображения, программа и запоминающий носитель |
WO2010001045A1 (fr) * | 2008-07-01 | 2010-01-07 | France Telecom | Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants |
EP2351373B1 (fr) * | 2008-10-14 | 2018-07-04 | Orange | Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines |
CN105049865B (zh) * | 2009-10-01 | 2018-01-05 | Sk电信有限公司 | 视频解码装置 |
US9148667B2 (en) | 2013-02-06 | 2015-09-29 | Qualcomm Incorporated | Intra prediction mode decision with reduced storage |
JP6212890B2 (ja) | 2013-03-22 | 2017-10-18 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
WO2017192995A1 (fr) * | 2016-05-06 | 2017-11-09 | Vid Scale, Inc. | Procédé et système de dérivation intra-mode côté décodeur pour codage vidéo basé sur des blocs |
-
2016
- 2016-06-29 FR FR1656137A patent/FR3053555A1/fr active Pending
-
2017
- 2017-06-19 US US16/092,962 patent/US10812814B2/en active Active
- 2017-06-19 CN CN201780040372.9A patent/CN109417618A/zh active Pending
- 2017-06-19 WO PCT/FR2017/051608 patent/WO2018002474A1/fr unknown
- 2017-06-19 KR KR1020187034557A patent/KR102415261B1/ko active IP Right Grant
- 2017-06-19 EP EP17742476.9A patent/EP3479572A1/fr not_active Ceased
- 2017-06-19 JP JP2018568769A patent/JP7059207B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2063644A2 (fr) * | 2007-10-30 | 2009-05-27 | Hitachi Ltd. | Dispositif de codage d'image et procédé de codage, dispositif de décodage d'image, procédé de décodage |
EP2391130A2 (fr) * | 2010-05-30 | 2011-11-30 | LG Electronics Inc. | Signalisation améliorée du mode de prédiction intra |
WO2012038938A1 (fr) * | 2010-09-24 | 2012-03-29 | Nokia Corporation | Procédés, appareils et programmes informatiques pour le codage vidéo |
Non-Patent Citations (4)
Title |
---|
DING WENPENG ET AL: "A Fast Intra-mode Decision Scheme for HEVC", 2014 5TH INTERNATIONAL CONFERENCE ON DIGITAL HOME, IEEE, 28 November 2014 (2014-11-28), pages 70 - 73, XP032715347, DOI: 10.1109/ICDH.2014.21 * |
JABALLAH SAMI ET AL: "Clustering-based fast intra prediction mode algorithm for HEVC", 2015 23RD EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), EURASIP, 31 August 2015 (2015-08-31), pages 1850 - 1854, XP032836694, DOI: 10.1109/EUSIPCO.2015.7362704 * |
LONGFEI GAO ET AL: "Fast intra mode decision algorithm based on refinement in HEVC", 2015 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 1 May 2015 (2015-05-01), pages 517 - 520, XP055354967, ISBN: 978-1-4799-8391-9, DOI: 10.1109/ISCAS.2015.7168684 * |
ZHAO WENJUN ET AL: "Hardware-oriented fast mode decision algorithm for intra prediction in HEVC", 2013 PICTURE CODING SYMPOSIUM (PCS), IEEE, 8 December 2013 (2013-12-08), pages 109 - 112, XP032566980, DOI: 10.1109/PCS.2013.6737695 * |
Also Published As
Publication number | Publication date |
---|---|
US10812814B2 (en) | 2020-10-20 |
KR102415261B1 (ko) | 2022-06-30 |
EP3479572A1 (fr) | 2019-05-08 |
KR20190022495A (ko) | 2019-03-06 |
US20190174138A1 (en) | 2019-06-06 |
JP7059207B2 (ja) | 2022-04-25 |
JP2019520005A (ja) | 2019-07-11 |
WO2018002474A1 (fr) | 2018-01-04 |
CN109417618A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3314897B1 (fr) | Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés | |
FR2894421A1 (fr) | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique | |
FR2947134A1 (fr) | Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants. | |
FR3012714A1 (fr) | Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants | |
EP2279621B1 (fr) | Procédé de codage, de décodage, codeur et décodeur | |
FR3053555A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes | |
FR2906093A1 (fr) | Procedes et dispositifs de codage et de decodage, systeme de telecommunication et programme d'ordinateur les mettant en oeuvre | |
WO2012080631A1 (fr) | Procedes et dispositifs de codage et de decodage d'au moins une image mettant en oeuvre une selection de pixels a predire, programme d'ordinateur correspondant | |
FR3050598A1 (fr) | Procede de decodage d'une image numerique, procede de codage, dispositifs, et programmes d'ordinateurs associes | |
EP1702473B1 (fr) | Procede de codage d une sequence d images | |
EP3854090A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
WO2016051083A1 (fr) | Procédé de transcodage de données vidéo à fusion d'unités de codage, programme informatique, module de transcodage et équipement de télécommunications associés | |
EP3632103A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
FR3030976A1 (fr) | Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes | |
FR3071690A1 (fr) | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes | |
FR3058019A1 (fr) | Procede de codage et de decodage de parametres d'image, dispositif de codage et de decodage de parametres d'image et programmes d'ordinateur correspondants | |
WO2020002796A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
WO2019180350A1 (fr) | Procédé d'encodage et de décodage vidéo faible latence | |
EP3456045B1 (fr) | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image | |
FR2916931A1 (fr) | Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede | |
FR2957744A1 (fr) | Procede de traitement d'une sequence video et dispositif associe | |
FR2939264A1 (fr) | Dispositif d'encodage d'un flux d'images numeriques et dispositif de decodage correspondant | |
WO2020161413A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
EP3854085A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
EP3815366A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180105 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
RX | Complete rejection |
Effective date: 20200128 |