Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ENCODING AND DECODING IMAGES, DEVICE FOR ENCODING AND DECODING IMAGES, AND CORRESPONDING COMPUTER PROGRAMMES
Document Type and Number:
WIPO Patent Application WO/2015/055937
Kind Code:
A1
Abstract:
The invention concerns the encoding of at least one image (ICj) divided into blocks, characterised in that it comprises, for a current block (Bu) to be encoded, the steps of: - determining (C3) a set of candidate predictive blocks (BP1 1; BP12,..., BP1 V,..., BP1 Q), - for at least one candidate predictive block (BP1 V) from said set: obtaining (C4) a residual bloc representative of the difference between the candidate predictive block and the current block (Bu), identifying (C10), in said set of candidate predictive blocks, a candidate predictive block, said identification being a function of said obtained current residual block, selecting (C12a)) said at least one candidate predictive block if it is equal to the identified predictive block, - determining (C13), from the candidate predictive blocks likely to have been selected at the end of the selection step, a candidate predictive block (BP1 opt), by means of a predefined criterion (J), - encoding (C15-C17) the residual block representative of the difference between the determined candidate predictive block and the current block (Bu).

Inventors:
HENRY FÉLIX (FR)
HUANG BIHONG (FR)
Application Number:
PCT/FR2014/052605
Publication Date:
April 23, 2015
Filing Date:
October 13, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ORANGE (FR)
International Classes:
H04N19/51; H04N19/55; H04N19/567; H04N19/625; H04N19/86
Domestic Patent References:
WO2008103348A22008-08-28
WO2011054879A22011-05-12
Foreign References:
US20040247029A12004-12-09
Other References:
LAM W M ET AL: "Recovery of lost or erroneously received motion vectors", 1993 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 1993. ICASSP-93; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING (ICASSP)], PISCATAWAY, NJ, USA, vol. 5, 27 April 1993 (1993-04-27), pages 417 - 420, XP010110891, ISBN: 978-0-7803-0946-3, DOI: 10.1109/ICASSP.1993.319836
TOURAPIS: "Direct Prediction in P and B frames", 3. JVT MEETING; 60. MPEG MEETING; 06-05-2002 - 10-05-2002; FAIRFAX,US; (JOINT VIDEO TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ),, no. JVT-C128, 10 May 2002 (2002-05-10), XP030005240, ISSN: 0000-0442
TIANMI CHEN ET AL: "Predictive patch matching for inter-frame coding", VISUAL COMMUNICATIONS AND IMAGE PROCESSING; 11-7-2010 - 14-7-2010; HUANG SHAN, AN HUI, CHINA,, 11 July 2010 (2010-07-11), XP030082187
B. BROSS; W.-J. HAN; J.-R. OHM; G. J. SULLIVAN; T. WIEGAND: "High efficiency video coding (HEVC) text specification draft 10", JCTVC-L1003 OF JCT-VC, 14 January 2013 (2013-01-14)
Attorney, Agent or Firm:
DAUDE, Delphine (FR)
Download PDF:
Claims:
REVENDICATIONS

1 . Procédé de codage d'au moins une image (ICj) découpée en blocs, caractérisé en ce qu'il comprend, pour un bloc courant (Bu) à coder, les étapes de :

- détermination (C3), d'un ensemble de blocs prédicteurs candidats (BP1 i , BP12, ..., BP1 V, ..., BP1 Q),

- pour un premier bloc prédicteur candidat (BP1 V) considéré dudit ensemble :

• obtention (C4) d'un bloc résiduel représentatif de la différence entre le premier bloc prédicteur candidat considéré et le bloc courant (Bu),

• identification (C10), dans ledit ensemble de blocs prédicteurs candidats, d'un deuxième bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant obtenu et dudit deuxième bloc prédicteur candidat,

• sélection (C12a)) dudit premier bloc prédicteur candidat considéré s'il est égal audit deuxième bloc prédicteur identifié,

- pour chacun des blocs prédicteurs candidats dudit ensemble, autres que ledit premier bloc prédicteur candidat considéré, mise en œuvre des étapes d'obtention, d'identification et de sélection,

- détermination (C13), parmi les blocs prédicteurs candidats ayant été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat (BP1 opt), à l'aide d'un critère prédéterminé (J),

- codage (C15-C17) du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant (Bu).

2. Procédé de codage selon la revendication 1 , dans lequel, lesdits blocs de l'image précédant le bloc courant étant codés dans un ordre déterminé, ladite identification est fonction des pixels de l'image précédemment codés.

3. Procédé de codage selon la revendication 2, dans lequel lesdits pixels précédemment codés puis décodés de l'image sont situés le long du bloc courant.

4. Procédé de codage selon l'une quelconque des revendications 1 à

3, dans lequel ledit critère prédéterminé est la minimisation du coût débit- distorsion de l'image.

5. Procédé de codage selon l'une quelconque des revendications 1 à

4, dans lequel le bloc courant est un bloc (Br1 u) qui a été préalablement obtenu à la suite d'une prédiction.

6. Dispositif (D01 ) de codage d'au moins une image (ICj) découpée en blocs, caractérisé en ce qu'il comprend, pour un bloc courant (Bu) à coder :

- des moyens (DET_C01 ) de détermination d'un ensemble de blocs prédicteurs candidats,

- pour un premier bloc prédicteur candidat considéré dudit ensemble :

• des moyens (PRED_C01 ) d'obtention d'un bloc résiduel représentatif de la différence entre le premier bloc prédicteur candidat considéré et le bloc courant (Bu),

• des moyens (CAL1_C01 ) d'identification, dans ledit ensemble de blocs prédicteurs candidats, d'un deuxième bloc prédicteur candidat, en fonction dudit bloc résiduel courant obtenu et dudit deuxième bloc prédicteur candidat,

• des moyens (CAL2_C01 ) de sélection dudit premier bloc prédicteur candidat considéré s'il est égal audit deuxième bloc prédicteur identifié, - lesdits moyens d'obtention, d'identification et de sélection étant activés pour chacun des blocs prédicteurs candidats dudit ensemble, autres que ledit premier bloc prédicteur candidat considéré,

- des moyens (CAL3_C01 ) de détermination, parmi les blocs prédicteurs candidats ayant été sélectionnés par lesdits moyens de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,

- des moyens (MCE1 ) de codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant (Bu).

7. 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 à 5, lorsque ledit programme est exécuté sur un ordinateur.

8. Procédé de décodage d'un signal de données (φ) représentatif d'au moins une image (ICj) découpée en blocs, ledit procédé comprenant les étapes de :

- détermination (D1 ), dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,

- décodage (D3-D5) dudit bloc résiduel courant,

ledit procédé de décodage étant caractérisé en ce qu'il comprend, pour un bloc courant à reconstruire, les étapes de :

- détermination (D'323) d'un ensemble de blocs prédicteurs candidats,

- identification (D'324), dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé et dudit bloc prédicteur candidat,

- reconstruction (D8) du bloc courant (Bu) à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé.

9. Procédé de décodage selon la revendication 8, dans lequel lesdits blocs de l'image précédant le bloc courant étant décodés dans un ordre déterminé, ladite identification est fonction des pixels de l'image précédemment décodés.

10. Procédé de décodage selon la revendication 9, dans lequel lesdits pixels précédemment décodés de l'image sont situés le long du bloc courant.

1 1 . Procédé de décodage selon l'une quelconque des revendications 8 à 10, comprenant en outre une étape (D'3) de détermination, dans le signal de données, d'une information (Id) associée à une prédiction préalable du bloc courant, ladite étape de reconstruction du bloc courant étant mise en œuvre à partir de ladite prédiction préalable, dudit bloc prédicteur identifié et du bloc résiduel courant déterminé.

12. Dispositif (D01 ) de décodage d'un signal de données représentatif d'au moins une image (ICj) découpée en blocs, ledit dispositif comprenant :

- des moyens (MI_D01 ) de détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,

- des moyens (MDE1 ) de décodage dudit bloc résiduel courant, ledit dispositif de décodage étant caractérisé en ce qu'il comprend, pour un bloc courant à reconstruire :

- des moyens (DET_D01 ) de détermination d'un ensemble de blocs prédicteurs candidats,

- des moyens (CAL1_D01 ) d'identification, dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé et dudit bloc prédicteur candidat,

- des moyens (CAL2_D01 ) de reconstruction du bloc courant (Bu) à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé. 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 à 1 1 , lorsque ledit programme est exécuté sur un ordinateur.

Description:
PROCÉDÉ DE CODAGE ET DE DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DE DÉCODAGE D'IMAGES 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 d'images numériques et de séquences d'images numériques.

Le codage/décodage d'images numériques 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),

- etc ..

La présente invention s'applique de manière similaire au codage/décodage 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. 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, lorsqu'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau de communication utilisé pour cette transmission, le débit utilisable sur celui-ci étant généralement limité. Cette compression est également souhaitable en vue du stockage de ces données.

On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi celles-ci, de nombreuses techniques de codages vidéo, notamment la technique HEVC, utilisent des techniques de prédiction spatiale ou temporelle de groupes de blocs de pixels d'une image courante par rapport à d'autres groupes de blocs de pixels appartenant à la même image ou à une image précédente ou suivante.

Plus précisément, selon la technique HEVC, des images I sont codées par prédiction spatiale (prédiction intra), et des images P et B sont codées par prédiction temporelle (prédiction inter) par rapport à d'autres images I, P ou B codées/décodées à l'aide d'une compensation en mouvement.

A cet effet, les images sont découpées une première fois en blocs de pixels appelés CTU (abréviation anglaise de « Coded Treeblocks Unit ») qui sont similaires aux macroblocs de la norme H.264. Ces blocs peuvent être ensuite subdivisés en blocs plus petits, chacun de ces blocs plus petits ou chaque bloc CTU étant codé par prédiction intra ou inter images.

Selon la technique HEVC, lorsqu'un bloc CTU est subdivisé en blocs plus petits, un signal de données, correspondant à chaque bloc, est transmis au décodeur. Un tel signal comprend :

- des données résiduelles qui sont les coefficients des blocs résiduels quantifiés,

- des paramètres de codage qui sont représentatifs du mode de codage utilisé, en particulier:

• le mode de prédiction (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

(orientation, image de référence, ...) ;

• le type de subdivision ;

• le type de transformée, par exemple DCT 4x4, DCT 8x8, etc ..

· les informations de mouvement si nécessaire ;

• etc.

Le décodage est fait image par image, et pour chaque image, bloc CTU par bloc CTU. Pour chaque bloc plus petit d'un bloc CTU, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients des blocs plus petits sont effectuées. Puis, la prédiction de chaque bloc CTU est calculée et chaque bloc CTU est reconstruit en ajoutant la prédiction au résidu de prédiction décodé.

Le codage intra ou inter par compétition, tel que mis en œuvre dans la norme HEVC, repose ainsi sur la mise en compétition de différents paramètres de codage, tels que ceux précités, dans le but de sélectionner le meilleur mode de codage, c'est-à-dire celui qui optimisera le codage du bloc considéré selon un critère de performance prédéterminé, par exemple le coût débit/distorsion bien connu de l'homme du métier.

Les paramètres de codage relatifs au mode de codage sélectionné sont contenus dans le flux de données transmis par le codeur au décodeur, sous la forme d'identifiants appelés généralement indices de compétition. Le décodeur est ainsi capable d'identifier le mode de codage sélectionné au codeur, puis d'appliquer la prédiction conforme à ce mode.

La bande passante allouée à ces indices de compétition n'est pas négligeable, puisqu'elle atteint environ 30%. Elle tend par ailleurs à augmenter en raison de l'apport toujours grandissant de nouveaux paramètres de codage tels que de nouvelles dimensions et/ou formes de blocs de pixels, de nouveaux paramètres de prédiction Intra, Inter, etc....

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.

Un tel procédé de codage est remarquable en ce qu'il comprend, pour un bloc courant à coder, les étapes de :

- détermination, d'un ensemble de blocs prédicteurs candidats, - pour au moins un bloc prédicteur candidat de l'ensemble précité:

• obtention d'un bloc résiduel représentatif de la différence entre le bloc prédicteur candidat et le bloc courant, identification, dans l'ensemble de blocs prédicteurs candidats, d'un bloc prédicteur candidat, une telle identification étant fonction du bloc résiduel courant obtenu,

• sélection dudit au moins un bloc prédicteur candidat s'il est égal au bloc prédicteur identifié,

- détermination, parmi les blocs prédicteurs candidats susceptibles d'avoir été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,

- codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant.

Une telle disposition permet, lors du codage d'une image, d'éviter d'inclure dans le signal à transmettre au décodeur les indices des blocs prédicteurs qui sont utilisés pour prédire respectivement les blocs de l'image. II en résulte ainsi une diminution non négligeable du coût de signalisation, dans la mesure où une telle disposition est reproductible au décodeur.

En outre, l'identification de blocs prédicteurs candidats en vue de la prédiction du bloc courant est particulièrement fiable. Elle résulte du fait que pour un bloc résiduel courant considéré, les caractéristiques des blocs prédicteurs candidats sont très différentes les unes des autres, ce qui facilite la sélection finale du bloc prédicteur candidat le plus adapté lors de l'étape de détermination selon un critère prédéterminé.

Selon un mode de réalisation particulier, les blocs de l'image précédant le bloc courant étant codés dans un ordre déterminé, l'identification précitée est fonction des pixels de l'image précédemment codés.

Une telle disposition permet ainsi de tenir compte d'informations de l'image qui sont déjà disponibles au moment du codage du bloc courant, augmentant ainsi les performances de l'identification des blocs prédicteurs candidats.

Selon un mode de réalisation préféré de l'invention, les pixels précédemment codés de l'image sont situés le long du bloc courant. Une telle disposition permet ainsi de minimiser les discontinuités susceptibles d'apparaître le long des frontières du bloc courant, tout en correspondant mieux à la réalité de l'image.

Selon un mode de réalisation particulier, le critère prédéterminé est la minimisation du coût débit-distorsion de l'image.

Le choix d'un tel critère optimise la prédiction effectuée au codage.

Selon un mode de réalisation particulier, le bloc courant est un bloc qui a été préalablement obtenu à la suite d'une prédiction.

Une telle disposition a pour but d'affiner davantage la prédiction du bloc courant de façon à obtenir des performances de codage optimisées.

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 étapes du procédé de codage tel que défini ci-dessus.

L'invention concerne également un dispositif de codage d'au moins une image découpée en blocs, un tel dispositif étant remarquable en ce qu'il comprend, pour un bloc courant à coder :

- un module de détermination, d'un ensemble de blocs prédicteurs candidats,

- pour au moins un bloc prédicteur candidat de l'ensemble :

· un module d'obtention d'un bloc résiduel représentatif de la différence entre le bloc prédicteur candidat et le bloc courant,

• un module d'identification, dans l'ensemble de blocs prédicteurs candidats, d'un bloc prédicteur candidat, en fonction du bloc résiduel courant obtenu,

• un module de sélection dudit au moins un bloc prédicteur candidat s'il est égal au bloc prédicteur identifié,

- un module de détermination, parmi les blocs prédicteurs candidats susceptibles d'avoir été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,

- un module de codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant. Un tel dispositif de codage est apte à mettre en œuvre le procédé de codage précité.

L'invention concerne également un procédé de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, un tel procédé comprenant les étapes de :

- détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,

- décodage du bloc résiduel courant.

Le procédé de décodage selon l'invention est remarquable en ce qu'il comprend, pour un bloc courant à reconstruire, les étapes de :

- détermination d'un ensemble de blocs prédicteurs candidats,

- identification, dans l'ensemble précité, d'un bloc prédicteur candidat, une telle identification étant fonction dudit bloc résiduel courant décodé,

- reconstruction du bloc courant à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé.

Un avantage d'un tel procédé de décodage réside dans le fait que l'étape d'identification du bloc prédicteur apte à reconstruire le bloc courant est reproductible au décodage. Le signal de données reçu au décodeur ne contient avantageusement pas d'informations associées à ce bloc prédicteur identifié, ce qui réduit notablement le coût de signalisation de ces informations.

En outre, le fait que l'identification du bloc prédicteur soit fonction du bloc résiduel courant décodé permet une reconstruction fiable du bloc courant. Les caractéristiques des blocs prédicteurs candidats de l'ensemble déterminé étant très différentes les unes des autres, l'identification du bloc prédicteur retenu pour la reconstruction du bloc courant s'en trouve facilitée. Il en résulte un décodage de l'image de meilleure qualité.

Selon un mode de réalisation particulier, les blocs de l'image précédant le bloc courant étant décodés dans un ordre déterminé, l'identification d'un bloc prédicteur est fonction des pixels de l'image précédemment décodés.

Selon un autre mode de réalisation particulier, les pixels précédemment décodés de l'image sont situés le long du bloc courant. Selon un autre mode de réalisation particulier, le procédé de décodage comprend en outre une étape de détermination, dans le signal de données, d'une information associée à une prédiction préalable du bloc courant, ladite étape de reconstruction du bloc courant étant mise en œuvre à partir d'une telle prédiction préalable, du bloc prédicteur identifié et du bloc résiduel courant déterminé.

Une telle disposition permet d'affiner davantage la prédiction de façon à obtenir des performances de décodage optimisées.

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 étapes du procédé de décodage tel que défini ci-dessus.

De façon correspondante, l'invention concerne aussi un dispositif de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, un tel dispositif comprenant :

- un module de détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,

- un module de décodage dudit bloc résiduel courant.

Un tel dispositif de décodage est remarquable en ce qu'il comprend, pour un bloc courant à reconstruire :

- un module de détermination d'un ensemble de blocs prédicteurs candidats,

- un module d'identification, dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé,

- un module de reconstruction du bloc courant à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé.

Un tel dispositif de décodage est apte à mettre en œuvre le procédé de décodage précité.

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.

Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.

L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre de l'un des procédés selon l'invention, tels que décrits ci-dessus.

L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre du procédé de codage ou de décodage selon l'invention, tels que décrits ci- dessus.

Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.

D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.

Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de codage ou de décodage précité.

Le procédé de décodage, le dispositif de codage, le dispositif de décodage, les programmes d'ordinateur et les supports d'enregistrement correspondants précités présentent au moins les mêmes avantages que ceux conférés par le procédé de codage et de décodage selon la présente invention. 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:

- les figures 1 A et 1 B représentent des étapes du procédé de codage selon un mode de réalisation de l'invention,

- la figure 2 représente un mode de réalisation d'un dispositif de codage selon l'invention apte à mettre en œuvre le procédé de codage des figures 1 A et 1 B,

- la figure 3 représente un exemple de partitionnement de l'image courante en plusieurs blocs de pixels,

- la figure 4 représente un mode de réalisation selon l'invention de l'étape d'identification d'un bloc prédicteur candidat en fonction du bloc résidu décodé courant obtenu,

- la figure 5 représente des étapes du procédé de codage selon un autre mode de réalisation de l'invention,

- la figure 6 représente un mode de réalisation d'un dispositif de codage selon l'invention apte à mettre en œuvre le procédé de codage de la figure 5,

- la figure 7 représente des étapes du procédé de décodage selon un mode de réalisation de l'invention,

- la figure 8 représente un mode de réalisation d'un dispositif de décodage selon l'invention apte à mettre en œuvre le procédé de décodage de la figure 7,

- la figure 9 représente des étapes du procédé de décodage selon un autre mode de réalisation de l'invention,

- la figure 10 représente un mode de réalisation d'un dispositif de décodage selon l'invention apte à mettre en œuvre le procédé de décodage de la figure 9.

Description détaillée d'un mode de réalisation 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 conforme par exemple à la norme HEVC.

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 codeur initialement conforme à la norme HEVC. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes C1 à C22 telles que représentées aux figures 1 A et 1 B.

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 C01 représenté à la figure 2.

Comme illustré en figure 2, un tel dispositif de codage comprend une mémoire MEM_C01 comprenant une mémoire tampon MT_C01 , une unité de traitement UT_C01 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_C01 qui met en œuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_C01 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur de l'unité de traitement UT_C01 .

Le procédé de codage représenté sur les figures 1 A et 1 B s'applique à toute image courante d'une séquence SQ d'images à coder.

Au cours d'une première étape C1 représentée à la figure 1 A, il est procédé, de façon connue en soi, au partitionnement d'une image courante ICj appartenant à la séquence SQ d'images ld , ICj, ... , I CM (1≤j≤M), en une pluralité de blocs B-i , B 2 , B u , ... , B s (1 <u≤S), par exemple de taille 64x64 pixels. Une telle étape de partitionnement est mise en œuvre par un module logiciel de partitionnement MP1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 .

L'image ICj ainsi partitionnée est représentée à la figure 3. Dans l'exemple représenté, l'image ICj est partitionnée en quatre blocs B-i , B 2 , B 3 et B 4 .

Il 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, par exemple dans le document « B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text spécification draft 10," document JCTVC-L1003 of JCT-VC, Genève, CH, 14-23 January 2013».

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 B-i, B 2 , B u , ..., B s sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type raster scan. 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 IC j en plusieurs sous-images appelées slices et d'appliquer indépendamment un découpage de ce type sur chaque sous- image. Il est également possible de coder non pas une succession de lignes, comme expliqué ci-dessus, mais une succession de colonnes. Il est également possible de parcourir les lignes ou colonnes dans un sens ou dans l'autre.

Au cours d'une étape C2 représentée à la figure 1A, le codeur CO1 sélectionne comme bloc courant un premier bloc à coder B u de l'image IC j , tel que par exemple le premier bloc B-,.

Au cours d'une étape C3 représentée à la figure 1A, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP1 1 ; BP1 2 , ..., BP1 V , ...,BP1 Q (1 <v≤Q). De tels blocs prédicteurs candidats sont par exemple des blocs de pixels qui ont été déjà codés ou non. De tels blocs sont préalablement stockés dans la mémoire tampon MT_CO1 du codeur telle que représentée à la figure 2. Dans l'exemple représenté, il s'agit en particulier d'un nombre prédéterminé de blocs qui ont été codés juste avant le bloc courant considéré.

Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_CO1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_CO1 . Au cours d'une étape C4 représentée à la figure 1A, pour un bloc prédicteur candidat BP1 V considéré, il est procédé à la soustraction du bloc prédicteur candidat BP1 v du bloc courant B u pour produire un bloc résidu Br v .

Au cours d'une étape C5 représentée à la figure 1A, il est procédé à la transformation du bloc résidu Br v selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt v .

Au cours d'une étape C6 représentée à la figure 1A, il est procédé à la quantification du bloc transformé Bt v selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq v est alors obtenu.

Les étapes C4 à C6 sont mises en œuvre par un module logiciel de codage prédictif PRED_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Le module de codage prédictif PRED_C01 est apte à effectuer un codage prédictif du bloc courant, selon les techniques de prédiction classiques, telles que par exemple en mode Intra et/ou Inter.

Au cours d'une étape C7 représentée à la figure 1 A, il est procédé au codage entropique du bloc de coefficients quantifiés Bq v . Dans le mode préféré de réalisation, il s'agit d'un codage entropique CABAC. Une telle étape consiste à : a) lire le ou les symboles de l'ensemble prédéterminé de symboles qui sont associés audit bloc courant,

b) associer des informations numériques, telles que des bits, au(x) symbole(s) lu(s).

Une telle étape de codage entropique est mise en œuvre par un module logiciel de codage entropique MCE1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Le module de codage entropique MCE1 est par exemple de type CABAC. Il peut également s'agir d'un codeur de Huffman connu en tant que tel.

Au cours d'une étape C8 représentée à la figure 1A, il est procédé à la déquantification du bloc Bq v selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C6. Un bloc de coefficients déquantifiés BDq v est alors obtenu.

Au cours d'une étape C9 représentée à la figure 1A, il est procédé à la transformation inverse du bloc de coefficients déquantifiés BDq v qui est l'opération inverse de la transformation directe effectuée à l'étape C5 ci- dessus. Un bloc résidu décodé BDr v est alors obtenu.

Les étapes C8 et C9 sont mises en œuvre par un module logiciel de codage prédictif inverse PRED "1 _C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 .

Du fait que pour le bloc courant B u considéré, les étapes C4 à C9 sont réitérées pour chaque bloc prédicteur de l'ensemble de blocs prédicteurs BP1 1 ; BP1 2 , ..., BP1 V , ...,BP1 Q , Q blocs résidus décodés BDr 1 ; BDr 2 ,..., BDr v , ...,BDr Q sont obtenus à l'issue de l'étape C9.

Au cours d'une étape C10 représentée à la figure 1A, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP1 -I , BP1 2 , ..., BP1 V ,...,BP1 Q , d'au moins un bloc prédicteur capable d'être retrouvé au décodage du bloc courant B u . Selon l'invention, une telle étape d'identification est fonction du bloc résidu décodé courant BDr v obtenu.

Une telle étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 .

Selon un mode particulier de réalisation représenté sur la figure 4, une telle identification consiste, pour un bloc résidu décodé courant BDr v , à construire un bloc décodé courant BD V,W en ajoutant au bloc résidu décodé courant BDr v un bloc prédicteur candidat BP1 w (1≤w≤Q).

Dans ce mode particulier, est appliqué un critère de minimisation de la différence entre les pixels décodés de l'image courante IC j , qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BD V,W le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BD v ,w, IC j ). L'opérateur SM(BD V , W , IC j ) est en fait représentatif de l'erreur quadratique le long de la frontière F du bloc résiduel décodé BDr v avec l'image IC j .

Il s'écrit de la façon suivante : SM(BD ViW , lC j )

N-1

= ^ BD V w (0, a)— lC j (lin— 1, col + α)

α=0

N-1

+ ^ ( 3D v w (a, 0) — IC j lin + a, col — 1)

a=Q

OU

- BD v ,w est le bloc décodé considéré de taille NxN pixels,

- BD v ,w(n,m) est la valeur du pixel du bloc résidu décodé BD V , W situé sur la nième ligne et la mième colonne de ce bloc,

- IC j est l'image courante,

- IC j (k,l) est la valeur du pixel de l'image IC j situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc décodé BD v,w dans l'image IC j .

A titre d'alternative, on peut utiliser un critère simplifié, où l'on vient comparer la moyenne des pixels de l'image IC j le long de la frontière F et la moyenne des pixels du bloc décodé BD V , W - L'opérateur SM(BD V , W , ICj) s'écrit alors :

SM(BD ViW , lC j )

N-1

abs ( C j (lin— 1, col + a)

(2N - 11))

a=0

N-1 N-1

+ IC j Çlin + a, col - 1)) - ^ ^ BD V

a=0 b=0

Où abs() représente la valeur absolue.

Au cours de l'étape C10, il est procédé à la détermination du bloc décodé BDv.wmin qui minimise l'un des deux critères précités choisis, tel que :

Kmin = argmin K 5 (BD uK , PDIC j )

Le bloc B Dv.wmin est égal à la somme du bloc prédicteur candidat BP1 wmin et du bloc résidu décodé courant BDr v .

Au cours d'une étape C1 1 représentée à la figure 1 A, il est procédé à la comparaison du bloc prédicteur candidat identifié BP1 wmin avec le bloc prédicteur candidat BP1 V associée au bloc résidu décodé BDr v . Une telle étape de comparaison est mise en œuvre par un module logiciel de calcul CAL2_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 .

Pour le bloc courant B u considéré, les étapes C4 à C1 1 sont réitérées pour chaque bloc prédicteur de l'ensemble de blocs prédicteurs BP1 i, BP1 2 , ..., BP1 V , ...,BP1 Q déterminé à l'étape C3.

Dans le cas où il y a identité entre le bloc BP1 W min et le bloc BP1 V , il est procédé, au cours d'une étape C12a) représentée à la figure 1A, à la sélection du bloc BP1 W min qui devient un bloc prédicteur identifié.

Dans le cas où il n'y a pas identité entre le bloc BP1 wmin et le bloc BP1 V , le bloc BPI wmin n'est pas sélectionné en tant que bloc prédicteur identifié.

A l'issue de l'étape de sélection C12a), une pluralité T de blocs prédicteurs identifiés BP1 i , BP1 2 , BP1 Z , BP1 T est obtenue, où 1 <z≤T≤Q.

Au cours d'une étape C13 représentée à la figure 1 B, il est procédé à la détermination, parmi tous les blocs prédicteurs BP1 -, , BP1 2 , BP1 Z , BP1 T qui ont été obtenus à l'étape C12a), d'un bloc prédicteur candidat préférentiel BP1 opt , à l'aide de la minimisation d'un critère prédéterminé. Un tel critère s'exprime par l'équation (1 ) ci-dessous:

(1 ) J=D+AR où

D représente la distorsion entre le bloc courant Bi original et le bloc Bi reconstruit, R représente le coût en bits du codage des paramètres de codage utilisés pour coder le bloc Bi et λ représente un multiplicateur de Lagrange dont la valeur est fixée au codeur.

Selon une variante particulièrement avantageuse d'un point de vue réduction du temps de calcul au codeur, le critère de performance prédéterminé ne dépend que de la distorsion et s'exprime par l'équation (2) ci- dessous :

(2) J'=D.

Les critères J et J' sont calculés classiquement par simulation par un module de calcul CAL3_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Au cours d'une étape C14 représentée à la figure 1 B, le module prédictif PRED_C01 de la figure 2 procède à la soustraction du bloc prédicteur candidat préférentiel BP1 op t du bloc courant B u pour produire un bloc résidu Br op t u - Au cours d'une étape C15 représentée à la figure 1 B, le module

PRED_C01 de la figure 2 procède à la transformation du bloc résidu Br op t u selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt op tu- Au cours d'une étape C16 représentée à la figure 1 B, le module

PRED_C01 de la figure 2 procède à la quantification du bloc transformé Bt op tu selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq op t u est alors obtenu.

Au cours d'une étape C17 représentée à la figure 1 B, le module de codage entropique MCE1 de la figure 2 procède au codage entropique du bloc de coefficients quantifiés Bq op t u -

Un flux de données φ qui contient les données encodées du bloc de coefficients quantifiés Bq op t u est alors délivré à l'issue de l'étape C17. Un tel flux est ensuite transmis par un réseau de communication (non représenté), à un terminal distant. Celui-ci comporte le décodeur D01 représenté à la figure 7. De façon connue en soi, le flux φ comprend en outre certaines informations encodées par le codeur C01 , telles que le type de prédiction (inter ou intra), et le cas échéant, le mode de prédiction, le type de partitionnement du bloc si ce dernier a été partitionné, l'indice d'image de référence et le vecteur de déplacement utilisés dans le mode de prédiction inter.

Au cours d'une étape C18 représentée à la figure 1 B, le module PRED "1 _C01 de la figure 2 procède à la déquantification du bloc Bq op t u selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C16. Un bloc de coefficients déquantifiés BDq op tu est alors obtenu.

Au cours d'une étape C19 représentée à la figure 1 B, le module PRED "1 _C01 de la figure 2 procède à la transformation inverse du bloc de coefficients déquantifiés BDq op t u qui est l'opération inverse de la transformation directe effectuée à l'étape C15 ci-dessus. Un bloc résidu décodé BDr op tu est alors obtenu.

Au cours d'une étape C20 représentée à la figure 1 B, il est procédé à la construction du bloc décodé BD U en ajoutant au bloc prédicteur candidat préférentiel BP1 op t le bloc résidu décodé BDr op t u - H est à noter que ce dernier bloc est le même que le bloc décodé obtenu à l'issue du procédé de décodage de l'image IC j qui sera décrit plus loin dans la description. Le bloc décodé BD U est alors stocké dans la mémoire tampon MT_C01 de la figure 2, afin d'être utilisé par le codeur C01 comme bloc prédicteur candidat d'un bloc suivant à coder.

Au cours d'une étape C21 représentée à la figure 1 B, le codeur C01 teste si le bloc courant B u qui vient d'être codé est le dernier bloc de l'image Si le bloc courant est le dernier bloc de l'image IC j , au cours d'une étape suivante C22 représentée à la figure 1 B, il est mis fin au procédé de codage.

Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C3 à C21 sont réitérées pour ce bloc suivant sélectionné.

Les étapes de codage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs B-i , B 2 , B u , ..., B s à coder de l'image courante IC j considérée.

Description détaillée d'un autre mode de réalisation de la partie codage Cet autre mode de réalisation se distingue du mode de réalisation précédent en ce qu'il met en œuvre deux types de prédiction qui vont être décrites ci-dessous en référence à la figure 5. Le procédé de codage selon cet autre mode de réalisation est représenté sous la forme d'un algorithme comportant des étapes C'1 à C'9 telles que représentées à la figure 5. Le procédé de codage selon cet autre mode de réalisation de l'invention est implémenté dans un dispositif de codage C02 représenté à la figure 6.

Comme illustré en figure 6, un tel dispositif de codage C02 comprend une mémoire MEM_C02 comprenant une mémoire tampon MT_C02, une unité de traitement UT_C02 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_C02 qui met en œuvre le procédé de codage selon cet autre mode de réalisation. A l'initialisation, les instructions de code du programme d'ordinateur PG_C02 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur de l'unité de traitement UT_C02.

Le procédé de codage représenté sur la figure 5 s'applique à toute image courante d'une séquence SQ d'images à coder.

Au cours d'une étape C'1 représentée à la figure 5, il est procédé au partitionnement d'une image courante ICj appartenant à la séquence SQ d'images ld , ICj, ..., I CM (1≤j≤M), en une pluralité de blocs B-i , B 2 , B u , ..., B s (1 <u≤S), par exemple de taille 64x64 pixels. Une telle étape de partitionnement est mise en œuvre par un module logiciel de partitionnement MP2 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02. L'étape C'1 étant identique à l'étape C1 de la figure 1 A, elle ne sera pas décrite plus longuement.

Comme dans le mode de réalisation des figures 1 A et 1 B, lesdits blocs B-i , B 2 , B u , ... , B s sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type raster scan. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite.

Au cours d'une étape C'2 représentée à la figure 5, le codeur C02 sélectionne comme bloc courant un premier bloc à coder B u de l'image ICj, tel que par exemple le premier bloc B-i .

Au cours d'une étape C'3 représentée à la figure 5, il est procédé, de façon connue en soi, à la prédiction du bloc courant B u par des techniques classiques de prédiction intra et/ou inter à l'aide d'un bloc prédicteur BP1 se i - Une telle prédiction sera appelée « prédiction primaire » dans la suite de la description.

L'étape de prédiction précitée permet de construire un bloc résidu Br1 u qui est obtenu par calcul de la différence entre le bloc courant B u et le bloc prédicteur BP1 se |.

L'étape C'3 est mise en œuvre par un module logiciel de codage prédictif PRED1_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.

Au cours d'une étape C'4 représentée à la figure 5, conformément à l'invention, il est procédé à la détermination d'un ensemble de Q blocs prédicteurs candidats BP2 1 ; BP2 2 , ..., BP2 V ,...,BP2 Q (1 <V≤Q). Une telle étape étant identique à l'étape de détermination C3 de la figure 1 A, elle ne sera pas décrite plus longuement.

Une telle étape de détermination C'4 est mise en œuvre par un module logiciel de détermination DET_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.

Au cours d'une étape C'5 représentée à la figure 5, conformément à l'invention, il est procédé à une prédiction du bloc résidu Br1 u en mettant en œuvre les étapes C4 à C13 décrites ci-dessus en liaison avec les figures 1 A et 1 B. Une telle prédiction sera appelée « prédiction secondaire » dans la suite de la description.

Au cours de cette prédiction secondaire, un bloc prédicteur candidat préférentiel BP2 op t est sélectionné.

En référence à la figure 6, l'étape C'5 est mise en œuvre à l'aide :

- d'un module logiciel de prédiction PRED2_C02 qui est identique au module PRED_CO de la figure 2,

- d'un module logiciel de codage entropique MCE2_C02 qui est identique au module MCE1 de la figure 2,

- d'un module logiciel de prédiction inverse PRED2 "1 _C02 qui est identique au module PRED "1 _C01 de la figure 2,

- d'un module logiciel de calcul CAL1_C02 qui est identique au module CAL1_C01 de la figure 2,

- d'un module logiciel de calcul CAL2_C02 qui est identique au module CAL2_C01 de la figure 2. Au cours d'une étape C'6 représentée à la figure 5, conformément à l'invention, il est procédé au test de l'efficacité du bloc prédicteur candidat préférentiel BP2 op t qui a été sélectionné.

L'étape de test C'6 est mise en œuvre par un module logiciel de calcul CAL4_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.

Dans un mode préféré de réalisation, un tel test consiste à vérifier si l'énergie du bloc Br1 u -BP2 op t est inférieure à un seuil qui correspond à la valeur de l'énergie du bloc Br1 u .

Si le test négatif, le codage du bloc courant B u se poursuit de manière classique.

Si le test est positif, cela signifie que le bloc prédicteur candidat préférentiel BP2 opt est proche du bloc original courant B u . Par conséquent, la prédiction secondaire est appliquée au bloc courant B u.

Test négatif

Dans le cas où le test effectué à l'étape C'6 est négatif, au cours d'une étape C'610 représentée à la figure 5, il est procédé à la transformation du bloc résidu Br1 u selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt1 u .

Au cours d'une étape C'61 1 représentée à la figure 5, il est procédé à la quantification du bloc transformé Bt1 u selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq1 u est alors obtenu.

Les étapes C'610 et C'61 1 sont mises en œuvre par le module logiciel de codage prédictif PRED1_C02 représenté sur la figure 6.

Au cours d'une étape C'612 représentée à la figure 5, il est procédé au codage entropique du bloc de coefficients quantifiés Bq1 u par un module logiciel de codage entropique MCE1_C02 identique au module logiciel de codage entropique MCE_C01 de la figure 2. En outre, un indicateur Id associé au bloc prédicteur candidat préférentiel BP2 op t est codé selon une première valeur prédéterminée (bit à 0 par exemple) pour signaler que la prédiction secondaire n'a pas été appliquée. Un flux de données φ1 , qui contient les données encodées du bloc de coefficients quantifiés Bq1 i ainsi que le bit à 0 de l'indicateur Id, est alors délivré à l'issue de l'étape C'612. Un tel flux est ensuite transmis par un réseau de communication (non représenté), à un terminal distant. Celui-ci comporte le décodeur D02 représenté à la figure 10. De façon connue en soi, le flux φ1 contient des informations encodées par le codeur C02, telles que le type de prédiction (inter ou intra), et le cas échéant, le mode de prédiction, le type de partitionnement d'un bloc ou macrobloc si ce dernier a été partitionné, l'indice d'image de référence et le vecteur de déplacement utilisés dans le mode de prédiction inter.

Au cours d'une étape C'613 représentée à la figure 5, il est procédé à la déquantification du bloc Bq1 u selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C'61 1 . Un bloc de coefficients déquantifiés BDq1 u est alors obtenu. Au cours d'une étape C'614 représentée à la figure 5, il est procédé à la transformation inverse du bloc de coefficients déquantifiés BDq1 u qui est l'opération inverse de la transformation directe effectuée à l'étape C'610 ci- dessus. Un bloc résidu décodé BDr1 u est alors obtenu.

Les étapes C'613 et C'614 sont mises en œuvre par un module logiciel de codage prédictif inverse PRED1 "1 _C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02. Un tel module est identique au module logiciel PRED "1 _C01 de la figure 2.

Au cours d'une étape C7 représentée à la figure 5, il est procédé à la construction du bloc décodé BD U en ajoutant au bloc prédicteur BP1 se i le bloc résidu décodé BDr1 u . Le bloc décodé BD U est alors stocké dans la mémoire tampon MT_C02 de la figure 6, afin d'être utilisé par le codeur C02 comme bloc prédicteur candidat à une prédiction secondaire d'un bloc résidu décodé suivant.

Au cours d'une étape C'8 représentée à la figure 5, le codeur C02 teste si le bloc courant B u qui vient d'être codé est le dernier bloc de l'image ICj.

Si le bloc courant B u est le dernier bloc de l'image IC j , au cours d'une étape C'9 représentée à la figure 5, il est mis fin au procédé de codage. Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C'2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C'3 à C'6 sont réitérées pour ce bloc suivant sélectionné.

Test positif

Si le test effectué à l'étape C'6 est positif, au cours d'une étape C'620 représentée à la figure 5, le module PRED2_C02 de la figure 6 procède à la soustraction du bloc prédicteur candidat préférentiel BP2 opt du bloc résidu Br1 u pour produire un bloc résidu Br2 op t u - Au cours d'une étape C'621 représentée à la figure 5, le module

PRED2_C02 de la figure 6 procède à la transformation du bloc résidu Br2 op t u selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt2 op t u - Au cours d'une étape C'622 représentée à la figure 5, le module

PRED2_C02 de la figure 6 procède à la quantification du bloc transformé Bt2 op tu selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq2 op t u est alors obtenu.

Au cours d'une étape C'623 représentée à la figure 5, le module de codage entropique MCE2_C02 de la figure 6 procède au codage entropique du bloc de coefficients quantifiés Bq2 op t u - En outre, l'indicateur Id associé au bloc prédicteur candidat préférentiel BP2 opt est codé selon une seconde valeur prédéterminée (bit à 1 par exemple) pour signaler que la prédiction secondaire a été appliquée.

Un flux de données φ2, qui contient les données encodées du bloc de coefficients quantifiés Bq2 op t u ainsi que le bit à 1 de l'indicateur Id, est alors délivré à l'issue de l'étape C'623. Un tel flux est ensuite transmis par un réseau de communication (non représenté) au décodeur D02 représenté à la figure 10.

Au cours d'une étape C'624 représentée à la figure 5, le module PRED2 "1 _C02 de la figure 6 procède à la déquantification du bloc Bq2 op t u selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C'622. Un bloc de coefficients déquantifiés BDq2 op t u est alors obtenu.

Au cours d'une étape C'625 représentée à la figure 5, le module PRED2 "1 _C02 de la figure 6 procède à la transformation inverse du bloc de coefficients déquantifiés BDq2 op t u qui est l'opération inverse de la transformation directe effectuée à l'étape C'621 ci-dessus. Un bloc résidu décodé BDr2 op tu est alors obtenu.

Au cours de l'étape C7 mentionnée plus haut, il est procédé à la construction du bloc décodé BD U en ajoutant au bloc prédicteur candidat préférentiel BP2 opt le bloc résidu décodé BDr2 op t u - Le bloc décodé BD U ainsi construit est alors stocké dans la mémoire tampon MT_C02 de la figure 6, afin d'être utilisé par le codeur C02 comme bloc prédicteur candidat à une prédiction secondaire d'un bloc résidu décodé suivant.

Au cours de l'étape C'8 représentée à la figure 5, le codeur C02 teste si le bloc courant B u qui vient d'être codé est le dernier bloc de l'image IC j .

Si le bloc courant est le dernier bloc de l'image IC j , au cours de l'étape C'9 représentée à la figure 5, il est mis fin au procédé de codage.

Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C'2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C'3 à C'6 sont réitérées pour ce bloc suivant sélectionné.

Les étapes de codage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs B-i , B 2 , B u , ..., B s à coder de l'image courante IC j considérée.

Description détaillée d'un mode de réalisation de la partie décodage

Un mode de réalisation du procédé de décodage selon l'invention va maintenant être décrit, dans lequel le procédé de décodage est implémenté de manière logicielle ou matérielle par modifications d'un décodeur initialement conforme à la norme HEVC. Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes D1 à D1 1 telles que représentées à la figure 8. Comme illustré en figure 7, un décodeur D01 selon l'invention comprend une mémoire MEM_D01 comprenant une mémoire tampon MT_D01 , une unité de traitement UT_D01 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_D01 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_D01 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement UT_D01 .

Le procédé de décodage représenté sur la figure 8 s'applique à toute image courante d'une séquence SQ d'images à décoder.

A cet effet, des informations représentatives de l'image courante IC j à décoder sont identifiées dans le flux φ reçu au décodeur.

En référence à la figure 8, la première étape de décodage D1 est l'identification dans ledit flux φ des données encodées Bq ; Bq 2 , ..., Bq u , ...Bq s associées respectivement aux blocs résiduels Bn, Br 2 , Br u ,..., Br s codés précédemment conformément au parcours raster scan précité, selon le procédé de codage représenté sur les figures 1A et 1 B.

Une telle étape d'identification est mise en œuvre par un module d'identification MI_D01 telle que représenté à la figure 8, ledit module étant pilotée par le microprocesseur μΡ de l'unité de traitement UT_D01 .

Lesdits blocs Bq ; Bq 2 , Bq u , ..., Bq s sont destinés à être décodés selon un ordre de parcours prédéterminé, qui est par exemple du type séquentiel, c'est à dire qu'ils sont destinés à être décodés l'un après l'autre dans l'ordre raster scan où ils ont été codés.

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, dont des exemples ont été mentionnés plus haut.

Au cours d'une étape D2 représentée à la figure 8, le décodeur D01 sélectionne comme bloc courant un premier bloc à coder Bq u de l'image IC j , tel que par exemple le premier bloc Bq-, .

Au cours d'une étape D3 représentée à la figure 8, il est procédé au décodage entropique du bloc Bq u . Dans le mode préféré de réalisation, il s'agit d'un décodage entropique CABAC. Une telle étape consiste à : a) lire le ou les symboles de l'ensemble prédéterminé de symboles qui sont associés audit bloc résiduel courant,

b) associer des informations numériques, telles que des bits, au(x) symbole(s) lu(s).

Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE1 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 . Le module de codage entropique MDE1 est par exemple de type CABAC. Il peut également s'agir d'un décodeur de Huffman connu en tant que tel.

Au cours d'une étape D4 représentée à la figure 8, il est procédé à la déquantification du bloc BDq u selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C16 de la figure 1 B. Un bloc déquantifié décodé BDt u est alors obtenu.

Au cours d'une étape D5 représentée à la figure 8, il est procédé à la transformation inverse du bloc déquantifié décodé BDt u qui est l'opération inverse de la transformation directe effectuée à l'étape C15 de la figure 1 B. Un bloc résidu décodé BDr u est alors obtenu.

Les étapes D4 et D5 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED "1 _D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 .

Au cours d'une étape D6 représentée à la figure 8, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP1 i, BP1 2 , ..., BP1 V ,...,BP1 Q (1 <V≤Q). De tels blocs prédicteurs candidats sont par exemple des blocs de pixels qui ont été déjà décodés ou non. De tels blocs sont préalablement stockés dans la mémoire tampon MT_D01 du décodeur telle que représentée à la figure 7. Dans l'exemple représenté, il s'agit en particulier d'un nombre prédéterminé de blocs qui ont été décodés juste avant le bloc courant à décoder considéré.

Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 . Au cours d'une étape D7 représentée à la figure 8, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP1 ; BP1 2 , ..., BP1 v , ...,BP1 Q, d'un bloc prédicteur candidat préférentiel BP1 op t. Selon l'invention, de la même façon qu'au codage précité, une telle étape d'identification est fonction du bloc résidu décodé BDr u obtenu.

Ladite étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 .

De la même façon qu'au procédé de codage décrit en référence aux figures 1 A et 1 B, une telle identification consiste, pour un bloc résidu décodé courant BDr u , à construire un bloc décodé courant BD U>W en ajoutant au bloc résidu décodé courant BDr u un bloc prédicteur candidat BP1 W (1 <w≤Q).

Dans ce mode particulier, et de façon correspondante au codage, est appliqué un critère de minimisation de la différence entre les pixels décodés de l'image courante IC j , qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BD U>W situés le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BD UiW , IC j ). L'opérateur SM(BD UiW , IC j ) est en fait représentatif de l'erreur quadratique le long de la frontière F du bloc résiduel décodé BDr u avec l'image IC j .

II s'écrit de la façon suivante :

SM(BD u>w , IC j )

N-l

= ^ (BD UiW (0, a) — IC j lin— 1, col + a))

a=0

N-l

+ ^ (BD u w (CL, 0) - IC j (lin + a, col - 1))

a=0

où :

- BD U>W est le bloc décodé considéré de taille NxN pixels,

- BD u ,w(n,m) est la valeur du pixel du bloc résidu décodé BD U>W situé sur la nième ligne et la mième colonne de ce bloc,

- IC j est l'image courante,

- IC j (k,l) est la valeur du pixel de l'image IC j situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc décodé BD u>w dans l'image IC j . A titre d'alternative, on peut utiliser un critère simplifié, où l'on vient comparer la moyenne des pixels de l'image ICj le long de la frontière F et la moyenne des pixels du bloc décodé BD U>W . L'opérateur SM(BD UiW , ICj) s'écrit alors :

SM(BD u>w , IC j )

N-1

(2N _ ^ ^ {iCj Çlin - 1, col + a)

a=Q

N-1 N-1

+ iq (lin + a, col - ï)) -— ^ ^ (BD UIW (a, b))

a=0 b=0

Où abs() représente la valeur absolue.

Au cours de l'étape D7, il est procédé à l'identification du bloc décodé BDv.wmin qui minimise l'un des deux critères précités choisis, tel que :

wmin = argmin w SM{BD u w , lC j )

Le bloc BDv.wmin est égal à la somme du bloc prédicteur candidat BP1 wmin et du bloc résidu décodé courant BDr v .

A l'issue de l'étape D7, le bloc prédicteur candidat BP1 W min est considéré comme le bloc prédicteur préférentiel candidat BP1 op t en vue de la prédiction inverse du bloc résidu décodé courant BDr u .

Au cours d'une étape D8 représentée à la figure 8, il est procédé à la reconstruction du bloc courant B u en ajoutant au bloc résiduel courant décodé BDr u le bloc prédicteur candidat préférentiel BP1 op t identifié à l'étape D7.

Ladite étape D8 est mise en œuvre par un module logiciel de calcul CAL2_DO1 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_DO1 .

Un bloc décodé BD U est alors obtenu et stocké dans la mémoire tampon MT_DO1 de la figure 7, afin d'être utilisé par le décodeur DO1 comme bloc prédicteur candidat d'un bloc suivant à décoder.

Au cours d'une étape D9 représentée à la figure 8, ledit bloc décodé BD U est écrit dans une image décodée I Dj. Une telle étape est mise en œuvre par un module logiciel URI1 de reconstruction d'image tel que représenté sur la figure 7, ledit module étant piloté par le microprocesseur μΡ du module de traitement UT DO1 . Au cours d'une étape suivante D10 représentée à la figure 8, le décodeur D01 teste si le bloc courant BD U qui vient d'être décodé est le dernier bloc contenu dans le flux φ.

Si tel est le cas, au cours d'une étape D1 1 représentée à la figure 8, il est mis fin au procédé de décodage.

Si tel n'est pas le cas, il est procédé, au cours de l'étape D2, à la sélection du bloc résiduel suivant à décoder conformément à l'ordre de parcours raster scan précité.

Les étapes de décodage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs Bq ; Bq 2 , Bq u , ..., Bq s à décoder de l'image courante IC j considérée.

Description détaillée d'un autre mode de réalisation de la partie décodage

Un autre mode de réalisation du procédé de décodage selon l'invention va maintenant être décrit, dans lequel le procédé de décodage est implémenté de manière logicielle ou matérielle par modifications d'un décodeur initialement conforme à la norme HEVC. Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes D'1 à D7 telles que représentées à la figure 9.

Comme illustré en figure 10, un décodeur D02 selon cet autre mode de réalisation de l'invention comprend une mémoire MEM_D02 comprenant une mémoire tampon MT_D02, une unité de traitement UT_D02 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_D02 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_D02 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement UT_D02.

Le procédé de décodage représenté sur la figure 9 s'applique à toute image courante d'une séquence SQ d'images à décoder.

A cet effet, des informations représentatives de l'image courante IC j à décoder sont identifiées dans un flux de données φ1 ou φ2 reçu au décodeur, tel que délivré à la suite du procédé de codage de la figure 5. En référence à la figure 9, la première étape de décodage D'1 est l'identification :

- dans ledit flux φ1 des données encodées Bq1 1 , Bq1 2 ,..., Bq1 u , ...Bq1 s (1≤u≤S) associées respectivement aux blocs résiduels Br , Br1 2 , Br1 u , ..., Br1 s codés précédemment conformément au parcours raster scan précité, dans le cas où a été mise en œuvre la prédiction primaire du procédé de codage de la figure 5,

- dans ledit flux φ2 des données encodées Bq2 op ti , Bq2 op t2, - - - , Bq2 op tu, ...Bq2 op ts (1≤u≤S) associées respectivement aux blocs résiduels Br2 op ti , Br2 opt 2,■ Br2 op t u , - - - , Br2 opt s codés précédemment conformément au parcours raster scan précité, dans le cas où a été mise en œuvre la prédiction secondaire du procédé de codage représenté sur la figure 5.

Une telle étape d'identification est mise en œuvre par un module d'identification MI_D02 telle que représenté à la figure 10, ledit module étant piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Lesdits blocs Bq1 1 ; Bq1 2 , Bq1 u , ..., Bq1 s ou Bq2 opt i , Bq2 opt 2, . . . , Bq2 op tu, ...Bq2 op ts sont destinés à être décodés selon un ordre de parcours prédéterminé, qui est par exemple séquentiel, c'est à dire que les blocs sont destinés à être décodés l'un après l'autre conformément à l'ordre raster scan où ils ont été codés.

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, dont des exemples ont été mentionnés plus haut.

Au cours d'une étape D'2 représentée à la figure 9, le décodeur D02 sélectionne comme bloc courant un premier bloc à coder Bq1 u ou Bq2 op t u de l'image IC j , tel que par exemple le premier bloc Bq1 u ou Bq2 op t u -

Au cours d'une étape D'3 représentée à la figure 9, il est procédé à la lecture, dans le flux φ1 ou φ2, de l'indice Id associé au bloc Bq u sélectionné.

Une telle étape de lecture est mise en œuvre par un module logiciel de lecture ML_D02 telle que représenté à la figure 10, ledit module étant piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Si l'indice Id est égal à zéro, cela signifie que le bloc courant à décoder a subi une prédiction primaire conformément aux étapes C'610 à C'614 du procédé de codage représenté sur la figure 5. C'est donc le flux φ1 que le décodeur D02 est destiné à traiter.

Si l'indice Id est égal à un, cela signifie que le bloc courant à décoder a subi une prédiction secondaire conformément aux étapes C'5 à C'625 du procédé de codage représenté sur la figure 5. C'est donc le flux φ2 que le décodeur D02 est destiné à traiter. cas où ld=Q

Au cours d'une étape D'310 représentée à la figure 9, il est procédé au décodage entropique du bloc Bq1 u . Une telle étape étant identique à l'étape D3 précitée, elle ne sera pas décrite plus longuement.

Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02. Le module de codage entropique MDE1_D02 est par exemple de type CABAC. Il peut également s'agir d'un décodeur de Huffman connu en tant que tel.

Au cours d'une étape D'31 1 représentée à la figure 9, il est procédé à la déquantification du bloc BDq1 u . Une telle étape étant identique à l'étape D4 précitée, elle ne sera pas décrite plus longuement. Un bloc déquantifié décodé BDt1 u est alors obtenu.

Au cours d'une étape D'312 représentée à la figure 9, il est procédé à la transformation inverse du bloc déquantifié décodé BDt1 u . Une telle étape étant identique à l'étape D5 précitée, elle ne sera pas décrite plus longuement. Un bloc résidu décodé BDr1 u est alors obtenu.

Au cours d'une étape D'4 représentée à la figure 9, il est procédé, de façon connue en soi, à la reconstruction du bloc courant B u par des techniques classiques de prédiction intra et/ou inter à l'aide d'un bloc prédicteur BP1 se i- Une telle étape consiste à ajouter au bloc résiduel courant décodé BDr1 u le bloc prédicteur BP1 se i sélectionné classiquement.

Un bloc décodé BD U est alors obtenu à la suite de l'étape D'4 et stocké dans la mémoire tampon MT_D02 de la figure 10, afin d'être utilisé par le décodeur D02 comme bloc prédicteur candidat d'un bloc suivant à décoder. Les étapes D'31 1 à D'4 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED1 "1 _D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Au cours d'une étape D'5 représentée à la figure 9, ledit bloc décodé BD U est écrit dans une image décodée ID j . Une telle étape est mise en œuvre par un module logiciel URI2 de reconstruction d'image tel que représenté sur la figure 10, ledit module étant piloté par le microprocesseur μΡ du module de traitement UT_D02.

Au cours d'une étape suivante D'6 représentée à la figure 9, le décodeur D02 teste si le bloc courant BD U qui vient d'être décodé est le dernier bloc contenu dans le flux φ1 .

Si tel est le cas, au cours d'une étape D7 représentée à la figure 9, il est mis fin au procédé de décodage.

Si tel n'est pas le cas, il est procédé, au cours de l'étape D'2, à la sélection du bloc résiduel suivant Bq1 u à décoder conformément à l'ordre séquentiel précité. Le procédé de décodage décrit ci-dessus est alors itéré pour l'ensemble des S blocs à décoder.

Cas où ld=1

Au cours d'une étape D'320 représentée à la figure 9, il est procédé au décodage entropique du bloc Bq2 op t u - Une telle étape étant identique à l'étape D3 précitée, elle ne sera pas décrite plus longuement. Un bloc quantifié décodé BDq2 op tu est alors obtenu à l'issue de cette étape.

Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE2_D02 représenté sur la figure 10.

Au cours d'une étape D'321 représentée à la figure 9, il est procédé à la déquantification du bloc BDq2 op t u - Une telle étape étant identique à l'étape D4 précitée, elle ne sera pas décrite plus longuement. Un bloc déquantifié décodé BDt2 op t u est alors obtenu.

Au cours d'une étape D'322 représentée à la figure 9, il est procédé à la transformation inverse du bloc déquantifié décodé BDt2 op t u - Une telle étape étant identique à l'étape D5 précitée, elle ne sera pas décrite plus longuement. Un bloc résidu décodé BDr2 op t u est alors obtenu. Ledit bloc résiduel décodé BDr2 op t u est alors stocké dans la mémoire tampon MT_D02 de la figure 10, afin d'être utilisé par le décodeur D02 comme bloc prédicteur candidat d'un bloc suivant à décoder.

Les étapes D'321 et D'322 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED2 "1 _D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Au cours d'une étape D'323 représentée à la figure 9, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP2 1 ; BP2 2 , ..., BP2 V , ...,BP2 Q (1 <v≤Q). Une telle étape étant identique à l'étape D6 de la figure 8, elle ne sera pas décrite plus longuement.

Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Au cours d'une étape D'324 représentée à la figure 9, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP2 1 ; BP2 2 , ..., BP2 V , ...,BP2 Q , d'un bloc prédicteur candidat préférentiel BP2 op t. Selon l'invention, de la même façon qu'au codage précité, une telle étape d'identification est fonction du bloc résidu décodé BDr2 op t z obtenu.

Ladite étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

De la même façon qu'a l'étape D6 de la figure 8, le procédé de décodage selon cet autre mode de réalisation utilise un critère de minimisation de la différence entre les pixels décodés de l'image courante IC j , qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BDr1 u>w situés le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BDr1 UiW , ICj).

II s'écrit de la façon suivante : SM(BDrl z>w , IC j )

N-1

= ^ (sDrl z w (0, o) - IC j (lin - 1, col + α))

α=0

N-1

+ ^ (sDrl z w (a, 0) - IC j (lin + a, col - 1)J

a=Q

ou :

BDr1 u est le bloc décodé considéré de taille NxN pixels,

- BDr1 UiW (n,m) est la valeur du pixel du bloc décodé BDr1 u>w situé sur la nième ligne et la mième colonne de ce bloc,

- ICj est l'image courante,

- ICj(k,l) est la valeur du pixel de l'image ICj situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc résidu décodé BDr1 u>w dans l'image ICj.

A titre d'alternative, on peut utiliser un critère simplifié où l'on vient comparer la moyenne des pixels de l'image ICj le long de la frontière F et la moyenne des pixels du bloc décodé BDr1 u>w . L'opérateur SM(BDr1 UiW , ICj) s'écrit alors :

SM(BDrl UiW , IC j )

= abs (lC j (lin - 1, col + a)

N-1 N-1

+ IC j (lin + a, col - li) - ^ ^ (BDrl u>w (a, 6))

a=0 b=0

Où abs() représente la valeur absolue.

Au cours de l'étape D'324, il est procédé à l'identification du bloc décodé BDr1 v ,wmin qui minimise l'un des deux critères précités choisis, tel que :

wmin = argmin w SM{BDrl u w , lC j )

Le bloc BDr1 v ,wmin est égal à la somme du bloc prédicteur candidat BP2 wmin et du bloc résidu décodé courant BDr2 op t u -

A l'issue de l'étape D'324, le bloc prédicteur candidat BP2wmin est considéré comme le bloc prédicteur préférentiel candidat BP2 opt en vue de la prédiction inverse du bloc résidu décodé courant BDr2 op t u - Au cours d'une étape D'325 représentée à la figure 9, il est procédé à la reconstruction du bloc résiduel courant BDr u en ajoutant au bloc résiduel courant décodé BDr2 op t u le bloc prédicteur candidat préférentiel BP2 opt identifié à l'étape D'324.

Ladite étape D'325 est mise en œuvre par un module logiciel de calcul CAL2_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.

Les étapes D'4 et D'5 précitées sont ensuite réitérées pour délivrer un bloc courant BD U . Puis l'étape D'6 est à nouveau mise en œuvre pour tester si le bloc courant BD U est le dernier bloc de l'image.

Les étapes de décodage du flux q>i (respectivement φ 2 ) qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs Bq1 -i , Bq1 2 , Bq1 u , ..., Bq s (respectivement Bq2 opt i , Bq2 opt 2, . . . , Bq2 opt u, ...Bq2 opt s) à décoder de l'image courante IC j considérée.

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.