FR2999760A1 - METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS - Google Patents

METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS Download PDF

Info

Publication number
FR2999760A1
FR2999760A1 FR1262119A FR1262119A FR2999760A1 FR 2999760 A1 FR2999760 A1 FR 2999760A1 FR 1262119 A FR1262119 A FR 1262119A FR 1262119 A FR1262119 A FR 1262119A FR 2999760 A1 FR2999760 A1 FR 2999760A1
Authority
FR
France
Prior art keywords
block
blocks
decoding
coding
compression parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1262119A
Other languages
French (fr)
Inventor
Felix Henry
Gordon Clare
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR1262119A priority Critical patent/FR2999760A1/en
Priority to US14/649,868 priority patent/US10165296B2/en
Priority to PCT/FR2013/053062 priority patent/WO2014096637A1/en
Priority to EP13815087.5A priority patent/EP2932714B1/en
Publication of FR2999760A1 publication Critical patent/FR2999760A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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 codage d'au moins une image comprenant les étapes de partitionnement (C1, C2) de l'image en une pluralité de blocs (CTU1, CTU2, CTUi,..., CTUs) aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, de codage entropique d'un bloc courant à partir d'au moins une probabilité d'apparition de symbole et de codage prédictif d'un paramètre de compression (QP) associé audit bloc courant. Dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder, il est procédé aux étapes suivantes : • détermination (C40a)), lors de ladite étape de codage entropique, de probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du codage puis du décodage du dernier bloc d'un autre ensemble considéré de blocs, ledit autre ensemble précédant immédiatement, dans l'ordre de codage des blocs, ledit ensemble considéré, • affectation (C41a)), lors de ladite étape de codage prédictif d'un paramètre de compression associé audit premier bloc courant, d'une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé audit dernier bloc.The invention relates to a method for encoding at least one image comprising the steps of partitioning (C1, C2) the image into a plurality of blocks (CTU1, CTU2, CTUi, ..., CTUs) able to contain symbols belonging to a predetermined set of symbols, entropic coding of a current block from at least one symbol occurrence probability and predictive coding of a compression parameter (QP) associated with said current block. In the case where the current block is the first block to be encoded of a considered set of consecutive blocks to be encoded, the following steps are performed: • determination (C40a)), during said entropy coding step, probabilities of symbol appearance for said first current block, said probabilities being those which are determined at the end of the coding then decoding of the last block of another considered set of blocks, said other set immediately preceding, in the coding order blocks, said set considered, • assignment (C41a)), during said predictive coding step of a compression parameter associated with said first current block, a compression parameter prediction value which is independent of the value of the compression parameter associated with said last block.

Description

PROCÉDÉ DE CODAGE ET DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DÉCODAGE ET PROGRAMMES D'ORDINATEUR CORRESPONDANTS Domaine de l'invention La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage d'images numériques et de séquences d'images numériques. L'invention peut ainsi notamment s'appliquer au codage vidéo mis en oeuvre dans les codeurs vidéo actuels (MPEG, H.264, etc) ou à venir ITU- T/VCEG (HEVC) ou ISO/MPEG (HVC). Arrière-plan de l'invention La norme HEVC actuellement en cours d'élaboration et décrite dans le document « B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 9," document JCTVC-K1003 of JCT-VC, Shangaï, ON, 10-19 October 2012» est similaire à la norme précédente H.264, en ce sens qu'elle utilise un partitionnement par blocs de la séquence vidéo. La norme HEVC se distingue toutefois de la norme H.264 par le fait que le partitionnement mis en oeuvre respecte une structure arborescente appelée « quadtree ». A cet effet, comme représenté sur la figure 1, une image courante IN est partitionnée une première fois en une pluralité de blocs carrés CTBi, CTB2, CTBi,..., CTBL, par exemple de taille 64x64 pixels fflL). Pour un bloc OT13; donné, il est considéré que ce bloc constitue la racine d'un arbre de codage dans lequel : - un premier niveau de feuilles sous la racine correspond à un premier niveau de profondeur de partitionnement du bloc CTI3; pour lequel le bloc CTI3; a été partitionné une première fois en une pluralité de blocs de codage, - un deuxième niveau de feuilles sous le premier niveau de feuilles correspond à un deuxième niveau de profondeur de partitionnement de bloc CTI3; pour lequel certains blocs de ladite pluralité de blocs de codage du bloc OT13; partitionné une première fois sont partitionnés en une pluralité de blocs de codage,... - ... un kième niveau de feuilles sous le k-1 ième niveau de feuilles qui correspond à un kième niveau de profondeur de partitionnement de bloc CTI3; pour lequel certains blocs de ladite pluralité de blocs de codage du bloc OT13; partitionné k-1 fois sont partitionnés une dernière fois en une pluralité de blocs de codage. Dans un codeur compatible HEVC, l'itération du partitionnement du bloc CTI3; est effectuée jusqu'à un niveau de profondeur de partitionnement prédéterminé. A l'issue des partitionnements successifs précités du bloc CTI3i, comme représenté à la figure 1, ce dernier est partitionné au final en une pluralité de blocs de codage notés C131, CB2,..., CBj,..., CBm avec En référence à la figure 1, pour un bloc CBj donné, il est considéré que ce bloc constitue la racine d'un arbre de prédiction et de transformation dudit bloc, par exemple de type transformée en cosinus discrète (DOT). L'arbre de prédiction d'un bloc CBj donné est représentatif de la manière dont est partitionné le bloc CBj en une pluralité de blocs lesquels sont appelés blocs de prédiction. Pour un bloc de prédiction considéré et comme dans la norme H.264, la norme HEVC précitée met en oeuvre une prédiction de pixels dudit bloc par rapport à des pixels d'au moins un autre bloc qui appartient soit à la même image (prédiction intra), soit à une ou plusieurs images précédentes de la séquence (prédiction inter) qui ont déjà été décodées. De telles images précédentes sont appelées classiquement images de référence et sont conservées en mémoire aussi bien au codeur qu'au décodeur. La prédiction Inter est appelée couramment prédiction à compensation de mouvement. A l'issue de la prédiction d'un bloc considéré est délivré un bloc prédit. Conformément à la norme HEVC, lors de l'opération de transformation d'un bloc de codage CBj considéré, ce dernier peut être à nouveau partitionné en une pluralité de blocs plus petits TBi, TB2,..., TB,,..., TBQ (1v<)) qui sont appelés blocs de transformée ou sous-blocs. Un tel partitionnement respecte une arborescence de type « quadtree >>, appelée « residual quadtree >>, dans laquelle les feuilles de cette dernière représentent respectivement les blocs de transformée TBi, TB2,..., TI3,,..., TBQ obtenus sur différents niveaux de profondeur de partitionnement. Chaque sous-bloc TBi, TB2,..., TB,,..., TBQ contient les pixels de résidu représentatif de la différence entre les pixels du bloc de prédiction considéré et les pixels du bloc de codage courant CBi. Dans l'exemple représenté sur la figure 1, le résidu de prédiction du bloc de codage CBi est par exemple partitionné en dix sous-blocs carrés de taille variable TBi, TB2, TB3, TB4, TB5, TB8, TB7, TB8, TB9, TB10. Un tel partitionnement est représenté en pointillé sur la figure 1.FIELD OF THE INVENTION The present invention relates generally to the field of image processing, and more specifically to the coding and decoding of images. digital images and digital image sequences. The invention can thus notably apply to video coding implemented in current video encoders (MPEG, H.264, etc.) or future ITU-T / VCEG (HEVC) or ISO / MPEG (HVC) encoders. BACKGROUND OF THE INVENTION The HEVC standard currently being developed and described in the document "B. Bross, W.-J. Han, J.-R. Ohm, GJ Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 9," document JCTVC-K1003 of JCT-VC, Shanghai, ON, October 10-19, 2012 "is similar to the previous standard H .264, in that it uses block partitioning of the video sequence. However, the HEVC standard differs from the H.264 standard in that the partitioning implemented respects a tree structure called "quadtree". For this purpose, as shown in FIG. 1, a current image IN is partitioned a first time into a plurality of square blocks CTBi, CTB2, CTBi,..., CTBL, for example of size 64x64 pixels fflL). For an OT13 block; Given, it is considered that this block constitutes the root of a coding tree in which: a first level of leaves under the root corresponds to a first level of depth of partitioning of the block CTI3; for which block CTI3; has been partitioned a first time into a plurality of coding blocks, - a second level of sheets under the first level of sheets corresponds to a second level of block partitioning depth CTI3; for which some blocks of said plurality of coding blocks of the block OT13; partitioned a first time are partitioned into a plurality of coding blocks, ... - ... a kth level of sheets under the k-1th level of sheets which corresponds to a kth level of block partitioning depth CTI3; for which some blocks of said plurality of coding blocks of the block OT13; Partitioned k-1 times are partitioned one last time into a plurality of coding blocks. In a HEVC-compatible encoder, the iteration of the partitioning of the CTI3 block; is performed to a predetermined level of partitioning depth. At the end of the aforementioned successive partitioning of the block CTI3i, as represented in FIG. 1, the latter is finally partitioned into a plurality of coding blocks denoted C131, CB2, ..., CBj,..., CBm with En Referring to FIG. 1, for a given block CB j, it is considered that this block constitutes the root of a prediction and transformation tree of said block, for example of the discrete cosine transform (DOT) type. The prediction tree of a given block CBj is representative of how the block CBj is partitioned into a plurality of blocks which are called prediction blocks. For a prediction block considered and as in the H.264 standard, the aforementioned HEVC standard implements a prediction of pixels of said block with respect to pixels of at least one other block which belongs either to the same image (intra prediction ), or to one or more previous images of the sequence (inter prediction) that have already been decoded. Such prior images are conventionally referred to as reference images and are stored in memory at both the encoder and the decoder. Inter prediction is commonly referred to as motion-compensated prediction. At the end of the prediction of a block considered is delivered a predicted block. In accordance with the HEVC standard, during the transformation operation of a CBj coding block considered, the latter can be partitioned again into a plurality of smaller blocks TBi, TB2, ..., TB ,, ... , TBQ (1v <)) which are called transform blocks or sub-blocks. Such partitioning respects a "quadtree" type tree, called "residual quadtree", in which the leaves of the latter represent the transform blocks TBi, TB2,..., TI3,..., TBQ respectively. on different levels of partitioning depth. Each sub-block TB i, TB 2,..., TB i, TBQ contains the residue pixels representative of the difference between the pixels of the prediction block considered and the pixels of the current coding block CB i. In the example shown in FIG. 1, the prediction residue of the CBi coding block is for example partitioned into ten square sub-blocks of variable size TBi, TB2, TB3, TB4, TB5, TB8, TB7, TB8, TB9. TB10. Such partitioning is shown in dotted line in FIG.

Les pixels du résidu de prédiction correspondant à chaque bloc de transformée TBi, TB2,..., TBQ peuvent être signalés au décodeur comme étant tous à zéro par un indicateur spécifique appelé CBF (Abréviation anglaise de « Coded Block Flag Dans le cas où cet indicateur vaut 0, le résidu est interprété comme étant nul dans le bloc de prédiction considéré. Dans l'exemple représenté sur la figure 1, les blocs de prédiction pour lesquels cet indicateur vaut 0 sont les sous-blocs TBi et TBio. Dans le cas où cet indicateur vaut 1, les blocs résiduels obtenus sont alors transformés, par exemple en utilisant une transformée de type DCT (transformée en cosinus discrète). Dans l'exemple représenté sur la figure 1, les blocs de prédiction pour lesquels cet indicateur vaut 1 sont les blocs TB2 à TB9. Les coefficients de chacun des blocs résiduels transformés sont ensuite quantifiés, par exemple en utilisant une quantification scalaire uniforme, puis codés par un codage entropique. De telles étapes sont bien connues en tant que telles. Plus particulièrement, l'étape de quantification utilise un pas de quantification qui est déterminé à partir d'un paramètre appelé QP (abréviation anglaise de « Quantization Parameter »). Dans la norme HEVC, il est possible d'avoir un paramètre QP qui est le même pour tous les blocs de transformée d'une image. Afin de mieux s'adapter aux caractéristiques locales de l'image, il est également possible de modifier le paramètre QP pour chaque bloc de codage considéré. Cette modification est effectuée de la façon suivante. Pour un bloc courant, on considère le premier bloc de transformée qui contient effectivement un résidu (CBF=1). En référence à la figure 1, un tel bloc de transformée est le bloc TB2. Une information de modification du paramètre QP est alors transmise au décodeur. Dans la norme HEVC, cette information consiste en un élément de syntaxe noté QPdelta qui est représentatif de la différence entre le paramètre QP du bloc précédemment codé puis décodé, appelé « QP prédit », et le paramètre QP du bloc courant. Il convient de noter que le paramètre QP d'un bloc de transformée courant est également utilisé pour déterminer la force de filtrage d'un filtre anti- blocs ou d'atténuation d'effet de blocs (« deblocking filter » en anglais). De façon connue en soi, un tel filtrage est appliqué au bord des blocs de transformée de façon à diminuer les effets de blocs qui apparaissent dans une image, à la frontière des blocs de transformée et des blocs de codage. En particulier dans la norme HEVC, différents types de filtrages peuvent être considérés, et le paramètre QP est utilisé pour déterminer quel type de filtrage sera sélectionné. L'avantage d'une telle disposition est par exemple d'appliquer un filtrage plus puissant lorsque le paramètre QP est élevé (ce qui correspond à une forte compression du bloc). Il est à noter que même un bloc dont tous les coefficients sont nuls (CBF=0), par exemple le bloc P131 sur la figure 1, possède quand même une valeur de paramètre QP qui est prédite à partir de la valeur de paramètre QP du bloc précédemment codé puis décodé, un tel paramètre pouvant être utilisé en cas de filtrage anti-blocs. Plus particulièrement, le codage entropique peut être mis en oeuvre dans un codeur arithmétique appelé « CABAC » ("Context Adaptive Binary Arithmetic Coder" en anglais), introduit dans le standard de compression AVC (aussi connu sous le nom de ISO-MPEG4 partie 10 et ITU-T H.264). Ce codeur entropique met en oeuvre différents concepts : - le codage arithmétique : le codeur, tel que décrit initialement dans le document J. Rissanen and G. G. Langdon Jr, "Universal modeling and coding," IEEE Trans. lnform. Theory, vol. IT-27, pp. 12-23, Jan. 1981, utilise, pour coder un symbole, une probabilité d'apparition de ce symbole ; - l'adaptation au contexte : il s'agit ici d'adapter la probabilité d'apparition des symboles à coder. D'une part, un apprentissage à la volée est réalisé. D'autre part, suivant l'état des informations préalablement codées, un contexte spécifique est utilisé pour le codage. A chaque contexte correspond une probabilité d'apparition propre du symbole. Par exemple un contexte correspond à un type de symbole codé (la représentation d'un coefficient d'un résidu, signalisation de mode de codage, ...) suivant une configuration donnée, ou un état du voisinage (par exemple le nombre de modes « intra » sélectionnés dans le voisinage, ...) ; - la binarisation : une mise sous la forme d'une suite de bits des symboles à coder est réalisée. Par la suite, ces différents bits sont envoyés successivement au codeur entropique binaire. Ainsi, ce codeur entropique met en oeuvre, pour chaque contexte utilisé, un système d'apprentissage des probabilités à la volée par rapport aux symboles précédemment codés pour le contexte considéré. Par ailleurs, on distingue dans la norme HEVC plusieurs techniques de codage. Selon une première technique de codage, les blocs d'une image courante sont codés puis décodés séquentiellement selon un ordre lexicographique, par exemple selon un parcours ligne par ligne des blocs, de type « raster-scan », en partant du bloc situé en haut à gauche de l'image jusqu'au bloc situé en bas à droite de l'image. Dans l'exemple représenté sur la figure 1, les blocs CTBi à CTBL sont codés puis décodés successivement. Dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder, par exemple une ligne de blocs, il est procédé : - à la détermination, lors du codage entropique de ce premier bloc courant, de probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées pour le dernier bloc codé puis décodé de la ligne de blocs précédente, - à la détermination de l'élément de syntaxe noté QPdelta qui est représentatif de la différence entre une valeur prédite de paramètre QP, qui est celle du dernier bloc codé puis décodé de la ligne de blocs précédente, et une valeur prédéterminée de paramètre QP que le codeur souhaite associer au premier bloc courant. Une telle technique procure des performances de compression de l'image qui sont élevées. Toutefois, le codage et le décodage entropique d'un symbole étant dépendants de l'état de la probabilité apprise jusque-là, le décodage des symboles ne peut se faire que dans le même ordre que celui utilisé lors du codage. Typiquement, le décodage ne peut alors être que séquentiel, empêchant ainsi un décodage en parallèle de plusieurs symboles (par exemple pour profiter des architectures multi-coeur).The pixels of the prediction residue corresponding to each transform block TBi, TB2,..., TBQ can be signaled to the decoder as being all zero by a specific indicator called CBF (English abbreviation for "Coded Block Flag"). indicator is 0, the residue is interpreted as being zero in the prediction block considered, In the example represented in FIG. 1, the prediction blocks for which this indicator is equal to 0 are the sub-blocks TB 1 and TB 10. where this indicator is equal to 1, the residual blocks obtained are then transformed, for example using a DCT transform (discrete cosine transform) .In the example represented in FIG. 1, the prediction blocks for which this indicator is equal to 1 are the blocks TB2 to TB9, the coefficients of each of the transformed residual blocks are then quantized, for example using uniform scalar quantization, then coded by entropy coding Such steps are well known as such. More particularly, the quantization step uses a quantization step which is determined from a parameter called QP (abbreviation of "Quantization Parameter"). In the HEVC standard, it is possible to have a QP parameter that is the same for all the transform blocks of an image. In order to better adapt to the local characteristics of the image, it is also possible to modify the parameter QP for each coding block considered. This change is made as follows. For a current block, consider the first transform block that actually contains a residue (CBF = 1). With reference to FIG. 1, such a transform block is the block TB2. Modification information of the parameter QP is then transmitted to the decoder. In the HEVC standard, this information consists of a syntax element denoted QPdelta which is representative of the difference between the parameter QP of the previously coded then decoded block, called "predicted QP", and the parameter QP of the current block. It should be noted that the QP parameter of a current transform block is also used to determine the filtering strength of an anti-block or block effect filter (deblocking filter). In a manner known per se, such a filtering is applied to the edge of the transform blocks so as to reduce the effects of blocks which appear in an image, at the boundary of the transform blocks and the coding blocks. Particularly in the HEVC standard, different types of filtering can be considered, and the QP parameter is used to determine which type of filtering will be selected. The advantage of such an arrangement is, for example, to apply a more powerful filtering when the parameter QP is high (which corresponds to a strong compression of the block). It should be noted that even a block whose coefficients are zero (CBF = 0), for example the block P131 in FIG. 1, nevertheless has a parameter value QP which is predicted from the parameter value QP of FIG. previously encoded block then decoded, such a parameter that can be used in case of anti-block filtering. More particularly, the entropic coding can be implemented in an arithmetic coder called "CABAC" (Context Adaptive Binary Arithmetic Coder), introduced in the AVC compression standard (also known as ISO-MPEG4 part 10). and ITU-T H.264). This entropic coder implements different concepts: arithmetic coding: the coder, as initially described in the document J. Rissanen and G. G. Langdon, "Universal modeling and coding," IEEE Trans. lnform. Theory, vol. IT-27, pp. 12-23, Jan. 1981, uses, to encode a symbol, a probability of appearance of this symbol; - Adaptation to the context: it is a question of adapting the probability of appearance of the symbols to be coded. On the one hand, an on-the-fly learning is done. On the other hand, depending on the state of the previously coded information, a specific context is used for the coding. Each context corresponds to a probability of appearance of the symbol itself. For example, a context corresponds to a type of coded symbol (the representation of a coefficient of a residue, coding mode signaling, etc.) according to a given configuration, or a neighborhood state (for example the number of modes). "Intra" selected in the neighborhood, ...); binarization: a setting in the form of a sequence of bits of the symbols to be encoded is performed. Subsequently, these different bits are successively sent to the binary entropic coder. Thus, this entropic coder implements, for each context used, a system for learning on-the-fly probabilities with respect to the symbols previously coded for the context in question. In addition, the HEVC standard distinguishes several coding techniques. According to a first coding technique, the blocks of a current image are coded and then decoded sequentially according to a lexicographic order, for example according to a row-by-row path of the blocks, of the "raster-scan" type, starting from the block situated at the top left of the image to the block at the bottom right of the image. In the example shown in FIG. 1, the blocks CTBi to CTBL are coded and then decoded successively. In the case where the current block is the first block to be encoded of a considered set of consecutive blocks to be encoded, for example a line of blocks, it is proceeded to: - the determination, during the entropy coding of this first current block, symbol occurrence probabilities for said first current block, said probabilities being those determined for the last coded and decoded block of the preceding block line, - determining the QPdelta syntax element which is representative the difference between a predicted parameter value QP, which is that of the last coded and decoded block of the preceding block line, and a predetermined value of parameter QP that the coder wishes to associate with the first current block. Such a technique provides high image compression performance. However, the coding and the entropy decoding of a symbol being dependent on the state of the probability learned so far, the decoding of the symbols can be done in the same order as that used during the coding. Typically, the decoding can then be only sequential, thus preventing a parallel decoding of several symbols (for example to take advantage of multi-core architectures).

Selon une deuxième technique de codage appelée WPP (abréviation anglaise de « Wavefront Parallel Processing »), les blocs d'une image courante sont regroupés en un nombre prédéterminé d'ensembles de blocs voisins deux à deux. Dans l'exemple représenté sur la figure 1, lesdits ensembles de blocs sont constitués par exemple par chacune des lignes L1 à L6 de l'image IN. Les ensembles de blocs ainsi constitués sont codés ou décodés en parallèle. Bien entendu, un tel codage nécessite que les blocs situés respectivement au-dessus et à au-dessus à droite du bloc courant soient disponibles, de façon à pourvoir en extraire les données nécessaires à la prédiction dudit bloc courant (valeurs de pixels décodés permettant de prédire les pixels du bloc courant dans le mode intra, valeur des vecteurs de mouvement dans le mode inter). Selon cette deuxième technique de codage, dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder, par exemple une ligne de blocs, il est procédé: - à la détermination, lors du codage entropique de ce premier bloc courant, de probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du codage et du décodage du deuxième bloc de la ligne de blocs précédente, - à la détermination de l'élément de syntaxe noté QPdelta qui est représentatif de la différence entre une valeur prédite de paramètre QP, qui est une valeur prédéterminée appelée QPslice, et une valeur prédéterminée de paramètre QP que le codeur est destiné à associer au premier bloc courant.According to a second coding technique called Wavefront Parallel Processing (WPP), the blocks of a current image are grouped into a predetermined number of neighboring sets of blocks two by two. In the example shown in FIG. 1, said sets of blocks consist for example of each of the lines L1 to L6 of the image IN. The sets of blocks thus formed are encoded or decoded in parallel. Of course, such an encoding requires that the blocks located respectively above and above the right of the current block are available, so as to extract the data necessary for the prediction of said current block (decoded pixel values allowing predict the pixels of the current block in the intra mode, value of the motion vectors in the inter mode). According to this second coding technique, in the case where the current block is the first block to be encoded of a considered set of consecutive blocks to be coded, for example a block line, it is proceeded to: - the determination, during the coding entropic of this first current block, probabilities of appearance of symbol for said first current block, said probabilities being those which were determined at the end of the coding and decoding of the second block of the previous block line, - at the determining the syntax element denoted QPdelta which is representative of the difference between a predicted value of parameter QP, which is a predetermined value called QPslice, and a predetermined value of parameter QP that the encoder is intended to associate with the first current block.

De cette façon, il est possible de démarrer le codage d'une ligne de blocs courante sans attendre que le dernier bloc de la ligne précédente soit codé puis décodé. Une telle disposition a pour avantage d'accélérer le temps de traitement du codeur/décodeur et de bénéficier d'une architecture multiplateforme pour le codage/décodage d'une image. Toutefois, les performances de compression obtenues selon cette deuxième technique ne sont pas optimales compte tenu du fait que l'apprentissage des probabilités du codeur entropique CABAC est rendu plus lent à cause de l'initialisation des probabilités en début de ligne.In this way, it is possible to start the coding of a current block line without waiting for the last block of the previous line to be coded and then decoded. Such an arrangement has the advantage of accelerating the processing time of the coder / decoder and benefiting from a multiplatform architecture for the coding / decoding of an image. However, the compression performances obtained according to this second technique are not optimal considering the fact that the learning of the entropic coder CABAC probabilities is made slower because of the initialization of the probabilities at the beginning of the line.

En outre, dans les documents mentionnés à l'adresse http://phenix.int- evry.frict/doc end user/documents/10 Stockholm/wg11/JCTVC-J0032-v3.zip, il est proposé soit de convertir une image dans laquelle les blocs ont été codés en mode WPP en une image dans laquelle les blocs ont été codés en mode séquentiel, soit à l'inverse de convertir une image dans laquelle les blocs ont été codés en mode séquentiel en une image dans laquelle les blocs ont été codés en mode WPP. La conversion du mode WPP vers le mode séquentiel peut permettre d'améliorer les performances de compression au détriment de la perte de la capacité à coder/décoder les lignes en parallèle. La conversion du mode séquentiel vers le mode WPP peut permettre de rendre «parallélisable » un flux de blocs codés qui aurait été reçu mais qui n'aurait pas été encodé en mode WPP, tout ceci au détriment d'une légère perte en efficacité de compression. Dans le cas par exemple d'une conversion du mode WPP vers le mode séquentiel, il est d'abord procédé à un décodage entropique des blocs de l'image qui ont été codés en mode WPP. Il est ensuite procédé à un ré- encodage entropique desdits blocs décodés entropiquement, conformément au mode séquentiel. L'inconvénient d'une conversion du type précité est qu'elle fonctionne uniquement lorsque le paramètre QP est constant dans l'image, c'est-à-dire que la valeur du paramètre QP est identique pour chaque bloc de l'image. En effet, lorsque le paramètre QP varie d'un bloc à l'autre dans un flux considéré de blocs codés, il est nécessaire, en plus des étapes de décodage entropique et de ré-encodage entropique précitées, de décoder les éléments de syntaxe QPdelta représentatifs des variations du paramètre QP, puis de modifier la valeur de ces éléments de syntaxe de façon à ce que le paramètre QP de chaque bloc soit identique en mode WPP et en mode séquentiel. Une telle disposition s'avère nécessaire en particulier par le fait que le premier bloc d'une ligne hérite d'un paramètre QP qui n'est pas le même selon que le codeur fonctionne en mode séquentiel ou en mode WPP, comme cela a été décrit plus haut. En outre, en supposant que le premier bloc d'une ligne ne comporte pas de résidu (CBP=0), le décodage de l'élément de syntaxe QPdelta ne pourra pas être effectué puisque cet élément de syntaxe n'aura pas été transmis. Ainsi, il peut donc arriver que le paramètre QP du premier bloc d'une ligne soit différent en mode WPP et non-WPP, ce qui induit un filtrage anti-blocs le long de la frontière de ce premier bloc qui est différent selon que le codeur fonctionne en mode séquentiel ou en mode WPP. Par conséquent, ledit premier bloc sera décodé différemment en mode séquentiel et en mode WPP, ce qui rendra l'image impossible à décoder, puisque le premier bloc codé d'une ligne ne sera pas celui attendu. Les valeurs des pixels dudit premier bloc codé étant susceptibles d'être réutilisées pour la prédiction intra des blocs suivants, mais étant différentes des valeurs attendues, c'est donc tout le processus de décodage de l'image qui sera erroné. 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é.In addition, in the documents mentioned at http: //phenix.int- evry.frict / doc end user / documents / 10 Stockholm / wg11 / JCTVC-J0032-v3.zip, it is proposed to either convert an image in which the blocks have been coded in WPP mode into an image in which the blocks have been coded in sequential mode, or conversely to convert an image in which the blocks have been coded in sequential mode into an image in which the blocks were coded in WPP mode. Converting WPP mode to sequential mode can improve compression performance at the expense of losing the ability to code / decode parallel lines. The conversion of the sequential mode to the WPP mode can make it possible to "parallelize" a stream of coded blocks which would have been received but which would not have been encoded in WPP mode, all this to the detriment of a slight loss in compression efficiency. . In the case, for example, of a conversion from the WPP mode to the sequential mode, it is first carried out with an entropy decoding of the blocks of the image which have been coded in WPP mode. The entropy decoded blocks are then entropically recoded in accordance with the sequential mode. The disadvantage of a conversion of the aforementioned type is that it operates only when the parameter QP is constant in the image, that is to say that the value of the parameter QP is identical for each block of the image. Indeed, when the QP parameter varies from one block to the other in a given stream of coded blocks, it is necessary, in addition to the aforementioned entropy decoding and entropic re-encoding steps, to decode the QPdelta syntax elements. represent the variations of the parameter QP, then modify the value of these syntax elements so that the QP parameter of each block is identical in WPP mode and in sequential mode. Such an arrangement is necessary in particular because the first block of a line inherits a QP parameter which is not the same depending on whether the encoder operates in sequential mode or in WPP mode, as has been the case. described above. In addition, assuming that the first block of a line does not contain any residue (CBP = 0), the decoding of the QPdelta syntax element can not be performed since this syntax element has not been transmitted. Thus, it may happen that the QP parameter of the first block of a line is different in WPP and non-WPP mode, which induces an anti-block filtering along the boundary of this first block which is different depending on whether the encoder operates in sequential mode or WPP mode. Consequently, said first block will be decoded differently in sequential mode and in WPP mode, which will make the image impossible to decode, since the first coded block of a line will not be the one expected. The values of the pixels of said first coded block being able to be reused for the intra prediction of the following blocks, but being different from the expected values, it is therefore the entire decoding process of the image that will be erroneous. OBJECT AND SUMMARY OF THE INVENTION One of the aims of the invention is to overcome disadvantages of the state of the art mentioned above.

A cet effet, un objet de la présente invention concerne un procédé de codage d'au moins une image comprenant les étapes de : - partitionnement de l'image en une pluralité de blocs aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - codage entropique d'un bloc courant à partir d'au moins une probabilité d'apparition de symbole, - codage prédictif d'un paramètre de compression associé au bloc courant.For this purpose, an object of the present invention relates to a method of coding at least one image comprising the steps of: partitioning the image into a plurality of blocks able to contain symbols belonging to a predetermined set of symbols, entropy coding of a current block from at least one probability of appearance of a symbol; predictive coding of a compression parameter associated with the current block.

Le procédé de codage selon l'invention est remarquable en ce que dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder, il est procédé aux étapes de : - détermination, lors de l'étape de codage entropique, de probabilités d'apparition de symbole pour le premier bloc courant, les probabilités précitées étant celles qui ont été déterminées à l'issue du codage puis du décodage du dernier bloc d'un autre ensemble considéré de blocs, l'autre ensemble précédant immédiatement, dans l'ordre de codage des blocs, l'ensemble considéré, - affectation, lors de l'étape de codage prédictif d'un paramètre de compression associé au premier bloc courant, d'une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé au dernier bloc précité. Une telle disposition permet de produire une image codée sur laquelle il est possible d'effectuer un transcodage sans erreur d'ensembles de blocs qui ont été codés séquentiellement en des ensembles de blocs qui ont été codés en parallèle et inversement, en particulier dans le cas où un paramètre de compression, tel que par exemple le paramètre de quantification, varie d'un bloc à l'autre dans une image considérée. Une telle disposition permet également de bénéficier non seulement des performances de compression propre au mode séquentiel mais aussi de la rapidité de temps de traitement du codeur/décodeur, une fois l'image convertie en mode WPP. Des paramètres de compression, autres que le paramètre de quantification précité, peuvent être considérés, tels que par exemple un paramètre déterminant le nombre de mode intra disponible, un paramètre décrivant la taille maximale des vecteurs de mouvement, etc....The coding method according to the invention is remarkable in that in the case where the current block is the first block to be encoded of a considered set of consecutive blocks to be coded, the following steps are carried out: entropy coding step, symbol appearance probabilities for the first current block, the aforementioned probabilities being those determined at the end of the coding then the decoding of the last block of another considered set of blocks, another set immediately preceding, in the coding order of the blocks, the set considered, - assigning, during the predictive coding step of a compression parameter associated with the first current block, a prediction value of compression parameter that is independent of the value of the compression parameter associated with the last aforementioned block. Such an arrangement makes it possible to produce an encoded image on which it is possible to carry out an error-free transcoding of sets of blocks which have been coded sequentially into sets of blocks which have been coded in parallel and vice versa, in particular in the case where a compression parameter, such as for example the quantization parameter, varies from one block to another in a considered image. Such an arrangement also makes it possible to benefit not only from the specific compression performance of the sequential mode but also from the speed of processing time of the encoder / decoder, once the image has been converted into WPP mode. Compression parameters, other than the aforementioned quantization parameter, may be considered, such as for example a parameter determining the number of intra-available mode, a parameter describing the maximum size of the motion vectors, etc.

Dans un mode de réalisation particulier, les blocs ayant été préalablement partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du premier bloc de l'autre ensemble qui précède immédiatement, dans l'ordre de codage des blocs, l'ensemble considéré. Une telle disposition a pour avantage de permettre de déterminer la valeur de prédiction du paramètre de compression dès le début du traitement de l'ensemble de blocs précédent (par exemple, ligne de blocs supérieure à la ligne de blocs courante), ce qui minimise ainsi le délai d'attente pour coder l'ensemble de blocs courant (ligne de blocs courante). Dans un autre mode de réalisation particulier, les blocs ayant été préalablement partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du deuxième bloc de l'autre ensemble qui précède immédiatement, dans l'ordre de codage des blocs, l'ensemble considéré. Une telle disposition a pour avantage de permettre un certain apprentissage statistique de la valeur du paramètre de compression sur les données de l'ensemble de blocs précédant le bloc courant. L'efficacité de la prédiction est ainsi rendu plus élevée. Dans encore un autre mode de réalisation particulier, les blocs ayant été préalablement partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au premier sous-bloc du premier bloc de l'image. Une telle disposition a pour avantage de réaliser un compromis entre la le délai d'attente pour coder l'ensemble de blocs courant et l'apprentissage statistique précédemment cités. Dans encore un autre mode de réalisation particulier, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé à l'image. Dans le cas où l'image est codée conformément à la norme HEVC, un bloc est un bloc de codage et un sous-bloc est un bloc de transformée. Dans encore un autre mode de réalisation particulier, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé à un ensemble de blocs aptes à être codés indépendamment d'autres blocs de l'image. Un tel ensemble de blocs aptes à être codés indépendamment d'autres blocs de l'image est appelé « slice )>. Le paramètre de compression associé à un slice est par exemple le paramètre de valeur QPslice qui est utilisé dans la norme HEVC lorsque l'image est divisée en « slices )>. De façon générale, un slice est un groupe de blocs consécutifs qui sont codés puis décodés de façon indépendante, c'est-à-dire qu'ils n'utilisent aucune information provenant de blocs situés en dehors du slice (par exemple, ils ne peuvent pas utiliser les pixels qui sont en dehors du slice pour effectuer une prédiction intra). Il est connu dans la norme HEVC que chaque slice comporte une valeur transmise dite QPslice. Pour un slice considéré, le premier bloc du slice prend la valeur QPslice comme valeur de prédiction de paramètre de compression.In a particular embodiment, the blocks having previously been partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the first block of the other set which immediately precedes , in the block coding order, the set considered. Such an arrangement has the advantage of making it possible to determine the prediction value of the compression parameter from the beginning of the processing of the previous set of blocks (for example, line of blocks greater than the current block line), which thus minimizes the timeout period to code the current block set (current block line). In another particular embodiment, the blocks having been previously partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the second block of the other set that precedes immediately, in the block coding order, the set considered. Such an arrangement has the advantage of allowing some statistical learning of the value of the compression parameter on the data of the set of blocks preceding the current block. The efficiency of the prediction is thus made higher. In yet another particular embodiment, the blocks having been previously partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the first sub-block of the first block of the image. Such an arrangement has the advantage of making a compromise between the waiting time for coding the set of current blocks and the statistical training mentioned above. In yet another particular embodiment, the assigned compression parameter prediction value is that of the compression parameter associated with the image. In the case where the image is encoded in accordance with HEVC, a block is a coding block and a subblock is a transform block. In yet another particular embodiment, the assigned compression parameter prediction value is that of the compression parameter associated with a set of blocks able to be encoded independently of other blocks of the image. Such a set of blocks able to be coded independently of other blocks of the image is called "slice". The compression parameter associated with a slice is, for example, the QPslice value parameter that is used in the HEVC standard when the image is divided into "slices". In general, a slice is a group of consecutive blocks that are encoded and then decoded independently, that is, they do not use any information from blocks outside the slice (for example, they do not can not use pixels that are outside the slice to make an intra prediction). It is known in the HEVC standard that each slice has a transmitted value called QPslice. For a slice considered, the first slice block takes the value QPslice as a compression parameter prediction value.

Les slices considérés sont chacun représentatifs d'une zone de l'image présentant une certaine homogénéité en termes de texture. De ce fait, pour chaque bloc de transformée du slice contenant un résidu, l'élément de syntaxe QPdelta sera moins élevé que dans le cas d'une zone de l'image à fort contraste. Il en résulte que l'élément de syntaxe QPdelta est moins coûteux à signaler au décodeur. Corrélativement, l'invention concerne encore un dispositif de codage d'au moins une image, destiné à mettre en oeuvre le procédé de codage précité, un tel dispositif comprenant : - des moyens de partitionnement de l'image en une pluralité de blocs aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - des moyens de codage entropique d'un bloc courant à partir d'au moins une probabilité d'apparition de symbole, - des moyens de codage prédictif d'un paramètre de compression associé au bloc courant. Un tel dispositif de codage est remarquable en ce que dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder : - les moyens de codage entropique déterminent des probabilités d'apparition de symbole pour le premier bloc courant, les probabilités précitées étant celles qui ont été déterminées à l'issue du codage puis du décodage du dernier bloc d'un autre ensemble considéré de blocs, cet autre ensemble précédant immédiatement, dans l'ordre de codage des blocs, l'ensemble considéré, - les moyens de codage prédictif d'un paramètre de compression associé au premier bloc courant affectent une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé au dernier bloc. De façon correspondante, l'invention concerne aussi un procédé de décodage d'un flux représentatif d'au moins une image codée, comprenant les étapes de : - identification dans le flux d'une pluralité de blocs codés, les blocs précités étant aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - décodage entropique d'un bloc codé courant à partir d'au moins une probabilité d'apparition de symbole, - décodage prédictif d'un paramètre de compression associé au bloc codé courant. Un tel procédé de décodage est remarquable en ce que dans le cas où le bloc courant est le premier bloc à décoder d'un ensemble considéré de blocs consécutifs à décoder, il est procédé aux étapes de : - détermination, lors de l'étape de décodage entropique, de probabilités d'apparition de symbole pour le premier bloc courant, les probabilités étant celles qui ont été déterminées à l'issue du décodage du dernier bloc d'un autre ensemble considéré de blocs, cet autre ensemble précédant immédiatement, dans l'ordre de décodage des blocs, l'ensemble considéré, - affectation, lors de l'étape de décodage prédictif d'un paramètre de compression associé au premier bloc courant, d'une valeur de prédiction de paramètre de compression qui est indépendante de celle du paramètre de compression associé au dernier bloc précité. Dans un mode de réalisation particulier, les blocs ayant été partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du premier bloc de l'autre ensemble qui précède immédiatement, dans l'ordre de décodage des blocs, l'ensemble considéré. Dans un autre mode de réalisation particulier, les blocs ayant été partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du deuxième bloc de l'autre ensemble qui précède immédiatement, dans l'ordre de décodage des blocs, l'ensemble considéré. Dans encore un autre mode de réalisation particulier, les blocs ayant été préalablement partitionnés en sous-blocs, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au premier sous-bloc du premier bloc de l'image. Dans encore un autre mode de réalisation particulier, la valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé à un ensemble de blocs aptes à être décodés indépendamment d'autres blocs de l'image. Corrélativement, l'invention concerne un dispositif de décodage d'un flux représentatif d'au moins une image codée, destiné à mettre en oeuvre le procédé de décodage précité, un tel dispositif comprenant : - des moyens d'identification dans le flux d'une pluralité de blocs codés, les blocs précités étant aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - des moyens de décodage entropique d'un bloc codé courant à partir d'au moins une probabilité d'apparition de symbole, - des moyens de décodage prédictif d'un paramètre de compression associé au bloc codé courant. Un tel dispositif de décodage est remarquable en ce que dans le cas où le bloc courant est le premier bloc à décoder d'un ensemble considéré de blocs consécutifs à décoder, - les moyens de décodage entropique déterminent des probabilités d'apparition de symbole pour le premier bloc courant, les probabilités précitées étant celles qui ont été déterminées à l'issue du décodage du dernier bloc d'un autre ensemble considéré de blocs, cet autre ensemble précédant immédiatement, dans l'ordre de décodage des blocs, l'ensemble considéré, - les moyens de décodage prédictif d'un paramètre de compression associé au premier bloc courant affectent une valeur de prédiction de paramètre de compression qui est indépendante de celle du paramètre de compression associé au dernier bloc précité. L'invention vise également un programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de codage ou de décodage ci-dessus, lorsque le programme est exécuté par un ordinateur.The slices considered are each representative of an area of the image having a certain homogeneity in terms of texture. Therefore, for each slice transform block containing a residue, the QPdelta syntax element will be lower than in the case of a high contrast image area. As a result, the QPdelta syntax element is less expensive to report to the decoder. Correlatively, the invention also relates to a coding device for at least one image, intended to implement the aforementioned coding method, such a device comprising: image partitioning means in a plurality of blocks able to contain symbols belonging to a predetermined set of symbols, - entropy coding means of a current block from at least one symbol appearance probability, - predictive coding means of a compression parameter associated with the current block. Such a coding device is remarkable in that in the case where the current block is the first block to be encoded of a considered set of consecutive blocks to be encoded: the entropy coding means determine the symbol appearance probabilities for the first current block, the aforementioned probabilities being those which were determined at the end of the coding then decoding of the last block of another considered set of blocks, this other set immediately preceding, in the coding order of the blocks, the considered set, - the predictive coding means of a compression parameter associated with the first current block affect a compression parameter prediction value which is independent of the value of the compression parameter associated with the last block. Correspondingly, the invention also relates to a method for decoding a representative stream of at least one coded picture, comprising the steps of: identifying in the stream a plurality of coded blocks, the aforementioned blocks being able to contain symbols belonging to a predetermined set of symbols, - entropy decoding of a current coded block from at least one probability of occurrence of symbol, - predictive decoding of a compression parameter associated with the current coded block. Such a decoding method is remarkable in that in the case where the current block is the first block to be decoded from a considered set of consecutive blocks to be decoded, the steps of: - determination, at the step of entropy decoding, probabilities of symbol occurrence for the first current block, the probabilities being those determined after the decoding of the last block of another considered set of blocks, this other set immediately preceding, in the the decoding order of the blocks, the set considered, - assigning, during the predictive decoding step of a compression parameter associated with the first current block, a compression parameter prediction value that is independent of that the compression parameter associated with the last aforementioned block. In a particular embodiment, the blocks having been partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the first block of the other set immediately preceding, in the decoding order of the blocks, the set considered. In another particular embodiment, the blocks having been partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the second block of the other set which immediately precedes , in the decoding order of the blocks, the set considered. In yet another particular embodiment, the blocks having been previously partitioned into sub-blocks, the assigned compression parameter prediction value is that of the compression parameter associated with the first sub-block of the first block of the image. In yet another particular embodiment, the assigned compression parameter prediction value is that of the compression parameter associated with a set of blocks able to be decoded independently of other blocks of the image. Correlatively, the invention relates to a device for decoding a stream representative of at least one coded picture, intended to implement the aforementioned decoding method, such a device comprising: identification means in the stream of a plurality of coded blocks, the aforementioned blocks being able to contain symbols belonging to a predetermined set of symbols; entropic decoding means of a current coded block from at least one probability of appearance of a symbol; predictive decoding means of a compression parameter associated with the current coded block. Such a decoding device is remarkable in that in the case where the current block is the first block to be decoded from a considered set of consecutive blocks to be decoded, the entropy decoding means determine probabilities of appearance of a symbol for the first current block, the aforementioned probabilities being those which were determined at the end of the decoding of the last block of another considered set of blocks, this other set immediately preceding, in the decoding order of the blocks, the set considered the predictive decoding means of a compression parameter associated with the first current block affect a compression parameter prediction value which is independent of that of the compression parameter associated with the last aforementioned block. The invention also relates to a computer program comprising instructions for executing the steps of the above coding or decoding method, when the program is executed by a computer.

Un tel programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. Encore un autre objet de l'invention vise aussi un support d'enregistrement lisible par un ordinateur, et comportant des instructions de programme d'ordinateur tel que mentionné ci-dessus. Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur. D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, un tel support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter le procédé en question ou pour être utilisé dans l'exécution de ce dernier. Le dispositif de codage, le procédé de décodage, le dispositif de décodage et les programmes d'ordinateur précités présentent au moins les mêmes avantages que ceux conférés par le procédé de codage selon la présente invention. Brève description des dessins D'autres caractéristiques et avantages apparaîtront à la lecture de deux modes de réalisation préférés décrits en référence aux figures dans lesquelles: - la figure 1 représente un schéma de codage d'image de l'art antérieur, - la figure 2A représente les principales étapes du procédé de codage selon l'invention, - la figure 2B représente en détail le codage mis en oeuvre dans le procédé de codage de la figure 2A, - la figure 3A représente un mode de réalisation d'un dispositif de codage selon l'invention, - la figure 3B représente un module de codage du dispositif de codage de la figure 3A, - la figure 4 représente un schéma de codage/décodage d'image selon de type séquentiel, - la figure 5 représente un exemple de partitionnement d'un bloc de l'image courante en sous-blocs, - la figure 6A représente les principales étapes du procédé de décodage selon l'invention, - la figure 6B représente en détail le décodage mis en oeuvre dans le procédé de décodage de la figure 6A, - la figure 7A représente un mode de réalisation d'un dispositif de décodage selon l'invention, - la figure 7B représente un module de décodage du dispositif de décodage de la figure 7A.Such a program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any another desirable form. Still another object of the invention is directed to a computer readable recording medium, and including computer program instructions as mentioned above. The recording medium may be any entity or device capable of storing the program. For example, the medium may include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk. On the other hand, such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network. Alternatively, such a recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute the method in question or to be used in the execution of the latter. The coding device, the decoding method, the decoding device and the aforementioned computer programs have at least the same advantages as those conferred by the coding method according to the present invention. BRIEF DESCRIPTION OF THE DRAWINGS Other features and advantages will appear on reading two preferred embodiments described with reference to the figures in which: FIG. 1 represents an image coding scheme of the prior art, FIG. 2A represents the main steps of the coding method according to the invention, - Figure 2B shows in detail the coding implemented in the coding method of Figure 2A, - Figure 3A shows an embodiment of a coding device according to the invention, FIG. 3B represents a coding module of the coding device of FIG. 3A; FIG. 4 represents an image coding / decoding scheme according to sequential type; FIG. partitioning a block of the current image into sub-blocks, - Figure 6A represents the main steps of the decoding method according to the invention, - Figure 6B shows in detail the decoding implemented. In the decoding method of FIG. 6A, FIG. 7A represents an embodiment of a decoding device according to the invention, FIG. 7B represents a decoding module of the decoding device of FIG. 7A.

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 en cours d'élaboration 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 Cl à 04 telles que représentées à la figure 2A. 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 CO représenté à la figure 3A. Comme illustré en figure 3A, un tel dispositif de codage comprend une mémoire MEM CO comprenant une mémoire tampon MT CO, une unité de traitement UT CO équipée par exemple d'un microprocesseur pl' et pilotée par un programme d'ordinateur PG CO qui met en oeuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG CO 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 CO. Le procédé de codage représenté sur la figure 2A s'applique à toute image courante d'une séquence SQ d'images à coder.Detailed Description of an Embodiment of the Encoding Part An embodiment of the invention will now be described, in which the encoding method according to the invention is used to encode an image or sequence of images according to a flow. binary close to that obtained by an encoding conforming for example to the standard being developed HEVC. In this embodiment, the coding method according to the invention is for example implemented in a software or hardware way by modifications of an encoder initially conforming to the HEVC standard. The coding method according to the invention is represented in the form of an algorithm comprising steps C1 to 04 as represented in FIG. 2A. According to the embodiment of the invention, the coding method according to the invention is implemented in a coding device CO represented in FIG. 3A. As illustrated in FIG. 3A, such a coding device comprises an MEM memory CO comprising a buffer memory MT CO, a processing unit UT CO equipped for example with a microprocessor pl 'and driven by a computer program PG CO which sets implementing the coding method according to the invention. At initialization, the code instructions of the computer program PG CO are for example loaded into a RAM memory before being executed by the processor of the processing unit UT CO. The coding method shown in FIG. 2A applies to any current image of an SQ sequence of images to be encoded.

Au cours d'une première étape Cl représentée à la figure 2A, il est procédé, de façon connue en soi, au partitionnement d'une image courante loi appartenant à la séquence SQ d'images ICi, ICi,..., ICm, en une pluralité de blocs CTUi, CTU2, CTUs par exemple de taille 64x64 pixels (1S). Une telle étape de partitionnement est mise en oeuvre par un module logiciel de partitionnement MP représenté sur la figure 3A, lequel module est piloté par le microprocesseur pl' de l'unité de traitement UT CO. L'image ICi ainsi partitionnée est représentée à la figure 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 specification draft 6," document JCTVC-H1003 of JCT-VC, San Jose CA, USA, February 2012».During a first step C1 shown in FIG. 2A, in a manner known per se, a partition is made of a current image belonging to the image sequence SQ IC1, IC1,. in a plurality of blocks CTUi, CTU2, CTUs for example of size 64x64 pixels (1S). Such a partitioning step is implemented by a partitioning software module MP shown in FIG. 3A, which module is driven by the microprocessor pl 'of the processing unit UT CO. The ICi image thus partitioned is shown in FIG. 4. It should be noted that for the purposes of the invention, the term "block" means coding unit (coding unit). This last terminology is notably used in the HEVC standard, for example in the document "B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, and T. Wiegand, "High Efficiency Video Coding (HEVC) Text Specification Draft 6," JCTVC-H1003 of JCT-VC, San Jose CA, USA, February 2012.

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 CTUi, CTU2, CTUi,..., CTUs sont aptes à contenir un ou plusieurs symboles, lesdits symboles faisant partie d'un ensemble prédéterminé de symboles. Au cours d'une étape 02 représentée à la figure 2A, pour un bloc courant CTU; préalablement sélectionné, le module de partitionnement MP partitionne ledit bloc en une pluralité de blocs plus petits appelés blocs de codage OUI, CU2,..., CUf,..., CUG avec Un tel partitionnement respecte une arborescence de type « quadtree », telle que décrite plus haut dans la description. D'autres types d'arborescence peuvent bien sûr être envisagés. L'étape 02 est réitérée pour l'ensemble des blocs CTUi, CTU2,..., CTUs. Un exemple de partitionnement du bloc CTU; est représenté sur la figure 5. Dans cet exemple, le bloc CTU; est partitionné selon une arborescence de type « quadtree » en quatre blocs CUi à CUio. En référence à la figure 2A, il est procédé, au cours d'une étape 03, au codage des blocs CTUi, CTU2, CTUi,..., CTUs selon un ordre de parcours prédéterminé, qui est par exemple du type raster scan précité. Dans l'exemple représenté sur la figure 4, les blocs CTUi, CTU2, CTUi,..., CTUs sont codés les uns après les autres, de la gauche vers la droite, comme indiqué par la flèche PRS. Un tel codage est du type séquentiel et est mis en oeuvre par un module de codage UCO telle que représenté sur la figure 3A, lequel module est piloté par le microprocesseur pl' de l'unité de traitement UT CO. De façon connue en tant que telle, la mémoire tampon MT CO du codeur CO est adaptée pour contenir les probabilités d'apparition de symboles telles que progressivement remises à jour au fur et à mesure du codage d'un bloc courant. Comme représenté plus en détail sur la figure 3B, le module de codage UCO comprend : - un module de codage prédictif d'un bloc courant par rapport à au moins un bloc précédemment codé et décodé, notée MCP; - un module de codage entropique dudit bloc courant par utilisation d'au moins une probabilité d'apparition de symbole calculée pour ledit bloc précédemment codé et décodé, notée MCE. Le module de codage prédictif MCP est un module logiciel qui est apte à effectuer un codage prédictif du bloc courant, selon les techniques de prédiction classiques, telles que par exemple en mode lntra et/ou Inter. Le module de codage entropique MCE est quant à lui de type CABAC, mais modifié selon la présente invention comme cela sera décrit plus loin dans la description.In particular, such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or sets of pixels having other geometrical shapes. Said blocks CTUi, CTU2, CTUi, ..., CTUs are able to contain one or more symbols, said symbols forming part of a predetermined set of symbols. During a step 02 shown in FIG. 2A, for a CTU current block; previously selected, the partitioning module MP partitions said block into a plurality of smaller blocks called encoding blocks YES, CU2, ..., CUf, ..., CUG with Such partitioning respects a tree of type "quadtree", as described above in the description. Other types of tree can of course be considered. Step 02 is reiterated for all the blocks CTUi, CTU2, ..., CTUs. An example of partitioning the CTU block; is shown in Figure 5. In this example, the CTU block; is partitioned according to a tree structure of "quadtree" type in four CUi CUio blocks. With reference to FIG. 2A, during a step 03, the blocks CTUi, CTU2, CTUi, ..., CTUs are coded according to a predetermined order of travel, which is for example of the raster scan type mentioned above. . In the example shown in FIG. 4, the blocks CTU1, CTU2, CTUi,..., CTUs are coded one after the other, from the left to the right, as indicated by the arrow PRS. Such an encoding is of the sequential type and is implemented by a UCO coding module as shown in FIG. 3A, which module is controlled by the microprocessor pl 'of the processing unit UT CO. In a manner known per se, the buffer memory MT CO of the coder CO is adapted to contain the symbol appearance probabilities such as progressively updated as the coding of a current block progresses. As shown in more detail in FIG. 3B, the UCO coding module comprises: a coding module predictive of a current block with respect to at least one previously coded and decoded block, denoted MCP; an entropy coding module of said current block by using at least one symbol appearance probability calculated for said previously coded and decoded block, denoted ECM. The predictive coding module MCP is a software module that is able to carry out a predictive coding of the current block, according to conventional prediction techniques, such as for example in the Intra mode and / or Inter mode. The entropic coding module MCE is CABAC type, but modified according to the present invention as will be described later in the description.

En variante, le module de codage entropique MCE pourrait être un codeur de Huffman connu en tant que tel. Dans l'exemple représenté sur la figure 4, le module UCO code les blocs de la première ligne LEi, de gauche à droite. Lorsqu'il parvient au dernier bloc de la première ligne LEi, il passe au premier bloc de la deuxième ligne LE2. Lorsqu'il parvient au dernier bloc de la deuxième ligne LE2, il passe au premier bloc de la troisième ligne LE3. Lorsqu'il parvient au dernier bloc de la troisième ligne LE3, il passe au premier bloc de la quatrième ligne LE4, et ainsi de suite jusqu'à ce que le dernier bloc de l'image courante ICi soit codé. D'autres types de parcours que celui qui vient d'être décrit ci-dessus sont bien sûr possibles. Ainsi, il est possible de découper l'image ICi 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 pour le module de codage UCO de traiter 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. En référence à la figure 2A, au cours d'une étape 04, il est procédé à la construction un flux F qui est apte à être converti en mode WPP. Le flux F est ensuite transmis par un réseau de communication (non représenté), à un terminal distant. Celui-ci comporte le décodeur DO représenté à la figure 7A.Alternatively, the entropic coding module MCE could be a Huffman coder known as such. In the example shown in FIG. 4, the UCO module codes the blocks of the first line LEi, from left to right. When it reaches the last block of the first line LEi, it goes to the first block of the second line LE2. When it reaches the last block of the second line LE2, it goes to the first block of the third line LE3. When it reaches the last block of the third line LE3, it goes to the first block of the fourth line LE4, and so on until the last block of the current picture IC1 is coded. Other types of course than the one just described above are of course possible. Thus, it is possible to cut the image ICi into several subimages called slices and to independently apply a division of this type on each sub-image. It is also possible for the UCO coding module to process not a succession of lines, as explained above, but a succession of columns. It is also possible to browse the rows or columns in one direction or the other. With reference to FIG. 2A, during a step 04, a flow F is constructed which is capable of being converted into WPP mode. The stream F is then transmitted by a communication network (not shown) to a remote terminal. This includes the decoder DO shown in FIG. 7A.

On va maintenant décrire, en référence à la figure 2B, les différentes sous-étapes spécifiques de l'invention, telles que mises en oeuvre lors de l'étape 03 de codage précitée, dans le module de codage UCO représenté sur les figures 3A et 3B. Au cours d'une étape 031 représentée à la figure 2B, le module de codage UCO sélectionne comme bloc courant le premier sous-bloc à coder d'un bloc CTU; d'une ligne LE,-, courante représentée à la figure 4, telle que par exemple la première ligne LEi. Dans la suite de la description, ce sous-bloc sera appelé bloc. Au cours d'une étape 032 représentée à la figure 2B, le module de codage UCO teste si le bloc courant est le premier bloc (situé en haut et à gauche) de l'image ICi qui a été découpée en blocs, puis en sous-blocs à l'étape Cl précitée. Si tel est le cas, au cours d'une étape 033 représentée à la figure 2B, le module de codage entropique MCE procède à une initialisation des probabilités d'apparition de symboles.With reference to FIG. 2B, the different specific sub-steps of the invention, as implemented during the aforementioned coding step 03, will now be described in the UCO coding module represented in FIGS. 3B. During a step 031 represented in FIG. 2B, the coding module UCO selects as the current block the first sub-block to be coded from a block CTU; a line LE, - current shown in Figure 4, such as for example the first line LEi. In the following description, this sub-block will be called block. During a step 032 shown in FIG. 2B, the UCO coding module tests whether the current block is the first block (located at the top left of the image) ICi which has been cut into blocks, then under blocks in the aforementioned step C1. If this is the case, during a step 033 represented in FIG. 2B, the entropic coding module MCE initializes the symbol appearance probabilities.

Au cours de cette même étape 033 représentée à la figure 2B, il est procédé à l'initialisation d'une valeur de paramètre de compression prédite. Dans l'exemple représenté, le paramètre de compression considéré est le paramètre de quantification QP. Selon la norme HEVC, la valeur de paramètre QP prédite est initialisée à la valeur QPslice.During this same step 033 shown in Figure 2B, it is proceeded to the initialization of a predicted compression parameter value. In the example shown, the compression parameter considered is the quantization parameter QP. According to HEVC, the predicted QP parameter value is initialized to the QPslice value.

Si à la suite de l'étape 032 précitée, le bloc courant n'est pas le premier bloc de l'image ICi, il est testé, au cours d'une étape 039 qui sera décrite ultérieurement dans la suite de la description, si le bloc courant est le premier bloc de la ligne LEn, considérée. Au cours d'une étape 034 représentée à la figure 2B, il est procédé au codage du premier bloc courant CUi de la première ligne LEi représenté sur la figure 4. Une telle étape 034 comprend une pluralité de sous-étapes 034a) à 034j) qui vont être décrites ci-dessous. Au cours d'une première sous-étape 034a) représentée à la figure 2B, le module prédictif MCP de la figure 3B procède au codage prédictif du bloc courant CUi par des techniques connues de prédiction intra et/ou inter, au cours duquel le bloc CUi est prédit par rapport à au moins un bloc précédemment codé puis décodé.If following the aforementioned step 032, the current block is not the first block of the image IC 1, it is tested, during a step 039 which will be described later in the following description, if the current block is the first block of the line LEn, considered. During a step 034 represented in FIG. 2B, the first current block CUi of the first line LE1 represented in FIG. 4 is coded. Such a step 034 comprises a plurality of sub-steps 034a) to 034j). which will be described below. During a first substep 034a) represented in FIG. 2B, the predictive module MCP of FIG. 3B proceeds to predictive coding of the current block CUi by known intra and / or inter prediction techniques, during which the block CUi is predicted with respect to at least one block previously coded and then decoded.

Il va de soi que d'autres modes de prédiction intra tels que proposé dans la norme HEVC sont possibles. Le bloc courant CUi peut être également soumis à un codage prédictif en mode inter, au cours duquel le bloc courant est prédit par rapport à un bloc issu d'une image précédemment codée puis décodée. D'autres types de prédiction sont bien entendu envisageables. Parmi les prédictions possibles pour un bloc courant, la prédiction optimale est choisie selon un critère débit distorsion bien connu de l'homme du métier. Ladite sous-étape de codage prédictif précitée permet de construire un bloc prédit CUpi qui est une approximation du bloc courant CUi. Les informations relatives à ce codage prédictif seront ultérieurement inscrites dans le flux F transmis au décodeur DO. De telles informations comprennent notamment le type de prédiction (inter ou intra), et le cas échéant, le mode de prédiction intra, 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. Ces informations sont compressées par le codeur CO. Au cours d'une sous-étape suivante C34b) représentée à la figure 2B, il est procédé à la soustraction du bloc prédit CUpi du bloc courant CUi pour produire un bloc résidu CUri. Au cours d'une sous-étape suivante C34c) représentée à la figure 2B, il est procédé au partitionnement du bloc résidu CUri en blocs de transformée TUi, TU2,..., TUA, ..., TUE, avec 1 1-KR. Dans l'exemple représenté sur la figure 5, le bloc résidu CUri a été partitionné en quatre blocs de transformée TUi, TU2, TU3, TU4. Au cours d'une sous-étape suivante 034d) représentée à la figure 2B, il est procédé à la transformation de chaque bloc de transformée du bloc résidu CUri selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DOT, pour produire un bloc transformé CUti. Au cours d'une sous-étape suivante 034e) représentée à la figure 2B, il est procédé à la quantification du bloc transformé CUti selon une opération classique de quantification, telle que par exemple une quantification scalaire qui utilise un paramètre de quantification QP, comme cela est le cas dans la norme HEVC. Un bloc de coefficients quantifiés CUqi est alors obtenu. Au cours d'une sous-étape suivante 034f) représentée à la figure 2B, si le bloc de transformée TUr, courant est le premier bloc de transformée du bloc courant CTU; qui contient un résidu (CBF=1), tel que le bloc TU1 sur la figure 5, il est procédé au codage de l'élément de syntaxe QPdelta qui est représentatif de la différence entre le paramètre QP du sous-bloc précédemment codé puis décodé, appelé « QP prédit >>, et le paramètre QP du sous-bloc courant.It goes without saying that other intra prediction modes as proposed in the HEVC standard are possible. The current block CUi may also be subjected to predictive coding in inter mode, during which the current block is predicted with respect to a block resulting from a previously coded picture then decoded. Other types of prediction are of course conceivable. Among the possible predictions for a current block, the optimal prediction is chosen according to a distortion flow criterion well known to those skilled in the art. Said aforementioned predictive coding sub-step makes it possible to construct a predicted CUpi block which is an approximation of the current block CUi. The information relating to this predictive coding will subsequently be written in the stream F transmitted to the decoder DO. Such information notably includes the type of prediction (inter or intra), and if appropriate, the intra prediction mode, the type of partitioning of a block or macroblock if the latter has been partitioned, the image index of reference and displacement vector used in the inter prediction mode. This information is compressed by the CO encoder. During a subsequent substep C34b) shown in FIG. 2B, the predicted block CUpi of the current block CUi is subtracted to produce a residue block CUri. During a subsequent substep C34c) shown in FIG. 2B, the residue block CUri is partitioned into transform blocks TUi, TU2, ..., TUA, ..., TUE, with 1 1 KR. In the example shown in FIG. 5, the residue block CUri has been partitioned into four transform blocks TUi, TU2, TU3, TU4. During a subsequent substep 034d) shown in FIG. 2B, each transform block of the residue block CUri is transformed according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the type DOT, to produce a transformed CUTI block. During a following sub-step 034e) represented in FIG. 2B, the transformed block CUti is quantized according to a conventional quantization operation, such as, for example, a scalar quantization which uses a quantization parameter QP, such as this is the case in the HEVC standard. A block of quantized coefficients CUqi is then obtained. During a subsequent substep 034f) shown in FIG. 2B, if the current transform block TUr is the first transform block of the CTU current block; which contains a residue (CBF = 1), such as the block TU1 in FIG. 5, the coding of the QPdelta syntax element which is representative of the difference between the parameter QP of the previously coded sub-block then decoded is carried out , called "predicted QP", and the QP parameter of the current sub-block.

Au cours d'une sous-étape suivante 034g) représentée à la figure 2B, il est procédé au codage entropique du bloc de coefficients quantifiés CUqi. 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). Au cours d'une sous-étape suivante 034h) représentée à la figure 2B, il est procédé à la déquantification du bloc CUqi selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape 034e). Un bloc de coefficients déquantifiés CUDqi est alors obtenu. Au cours d'une sous-étape suivante 034i) représentée à la figure 2B, il est procédé à la transformation inverse du bloc de coefficients déquantifiés CUDqi qui est l'opération inverse de la transformation directe effectuée à l'étape 034d) ci-dessus. Un bloc résidu décodé CUDri est alors obtenu. Au cours d'une sous-étape suivante 034j) représentée à la figure 2B, il est procédé à la construction du bloc décodé CUDi en ajoutant au bloc prédit CUpi le bloc résidu décodé CUDri. Il 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 ICi qui sera décrit plus loin dans la description. Le bloc décodé CUDi est ainsi rendu disponible pour être utilisé par le module de codage UCO représenté sur les figures 3A et 3B.During a subsequent substep 034g) shown in FIG. 2B, the entropic coding of the quantized coefficient block CUqi is carried out. In the preferred embodiment, it is a CABAC entropic coding. Such a step consists in: a) reading the symbol (s) of the predetermined set of symbols which are associated with said current block, b) associating digital information, such as bits, with the (x) symbol (s) read (s) ). During a subsequent substep 034h) shown in FIG. 2B, dequantization of the CUqi block is carried out according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step 034e). A block of dequantized coefficients CUDqi is then obtained. During a following substep 034i) shown in FIG. 2B, the inverse transformation of the dequantized coefficient block CUDqi is carried out which is the inverse operation of the direct transformation performed in step 034d) above. . A decoded residue block CUDri is then obtained. During a subsequent substep 034j) shown in FIG. 2B, the decoded block CUDi is constructed by adding to the predicted block CUpi the decoded residue block CUDri. It should be noted that this last block is the same as the decoded block obtained at the end of the image decoding process ICi which will be described later in the description. The decoded block CUDi is thus made available for use by the UCO coding module shown in FIGS. 3A and 3B.

A l'issue de l'étape de codage 034 précitée, le module de codage entropique MCE tel que représenté à la figure 3B contient toutes les probabilités telles que progressivement remises à jour au fur et à mesure du codage du premier bloc. Ces probabilités correspondent aux différents éléments de syntaxes possibles et aux différents contextes de codage associés. Au cours d'une étape suivante 035 représentée à la figure 2B, le bloc décodé CUDi est filtré au moyen d'un filtre anti-blocs conformément à la norme HEVC. En particulier, le filtre anti-blocs utilise le paramètre de quantification QP du bloc de transformée TUr, courant pour déterminer la force de filtrage qu'il convient d'appliquer. Au cours d'une étape suivante 036 représentée à la figure 2B, le module de codage UCO teste si le bloc courant de la ligne LEm qui vient d'être codé est le dernier bloc de l'image ICi.At the end of the aforementioned coding step 034, the entropic coding module MCE as represented in FIG. 3B contains all the probabilities such as progressively updated as the first block is coded. These probabilities correspond to the different elements of possible syntaxes and to the different coding contexts associated. During a next step 035 shown in FIG. 2B, the decoded block CUDi is filtered by means of an anti-block filter in accordance with the HEVC standard. In particular, the anti-block filter uses the quantization parameter QP of the transform block TUr, which is current to determine the filtering force to be applied. In a next step 036 shown in FIG. 2B, the UCO coding module tests whether the current block of the newly-coded line LEm is the last block of the IC1 image.

Si le bloc courant est le dernier bloc de l'image ICi, au cours d'une étape suivante 037 représentée à la figure 2B, il est mis fin au procédé de codage. Si tel n'est pas le cas, il est procédé, au cours d'une étape suivante 038 représentée à la figure 2B, à la sélection du bloc suivant CUf à coder conformément à l'ordre de parcours représenté par la flèche PRS sur la figure 4. Au cours d'une étape suivante 039 représentée à la figure 2B, il est testé si le bloc courant est le premier bloc de la ligne LEm considérée. Si tel est le cas, au cours d'une étape 040a) de codage entropique représentée à la figure 2B, le module de codage entropique MCE de la figure 3B commence à coder le premier bloc courant de la ligne LEm considérée avec les probabilités d'apparition de symboles calculées à l'issue du codage puis du décodage du dernier sous-bloc du dernier bloc CTUd (1 c:IS) de la ligne précédente LEm-i. En référence à la figure 2B, au cours d'une étape 041a) de codage prédictif d'un paramètre de compression associé audit premier bloc courant, tel que par exemple le paramètre de quantification QP, le module de codage prédictif MCP de la figure 3B procède à l'affectation d'une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé audit dernier sous-bloc du dernier bloc CTUd (1eS) de la ligne précédente LErn-i. Selon une première variante de l'étape 041a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du premier bloc CTU de la ligne précédente LErn-i. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc 0TU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du premier bloc CTU9 de la deuxième ligne LE2.If the current block is the last block of the image IC 1, during a subsequent step 037 shown in FIG. 2B, the coding method is terminated. If this is not the case, in the next step 038 shown in FIG. 2B, the next block CUf to be coded is selected according to the run command represented by the arrow PRS on FIG. FIG. 4. During a next step 039 represented in FIG. 2B, it is tested whether the current block is the first block of the line LEm considered. If this is the case, during an entropy coding step 040a) shown in FIG. 2B, the MCE entropy coding module of FIG. 3B starts coding the first current block of the line LEm considered with the probabilities of appearance of symbols calculated at the end of the coding and decoding of the last sub-block of the last block CTUd (1 c: IS) of the previous line LEm-i. With reference to FIG. 2B, during a step 041a) of predictive coding of a compression parameter associated with said first current block, such as, for example, the quantization parameter QP, the predictive coding module MCP of FIG. 3B assigns a compression parameter prediction value which is independent of the value of the compression parameter associated with said last sub-block of the last block CTUd (1eS) of the previous line LErn-i. According to a first variant of step 041a), the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the first block CTU of the preceding line LErn-i. With reference to FIG. 4, if the current block is, for example, the first sub-block of the block 0TU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the first block CTU9 of the second line LE2.

Selon une deuxième variante de l'étape 041a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du deuxième bloc CTU de la ligne précédente LEm_i. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc 0TU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du deuxième bloc CTUi, de la deuxième ligne LE2. Selon une troisième variante de l'étape C41a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au premier sous-bloc du premier bloc CTU de l'image ICi. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc 0TU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au premier sous-bloc du premier bloc CTUi de la première ligne LEi.According to a second variant of step 041a), the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the second block CTU of the preceding line LEm_i. With reference to FIG. 4, if the current block is, for example, the first sub-block of the block 0TU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block the second block CTUi, the second line LE2. According to a third variant of step C41a), the prediction value of the quantization parameter QP affected is that of the quantization parameter associated with the first sub-block of the first block CTU of the image ICi. With reference to FIG. 4, if the current block is for example the first sub-block of the block 0TU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the first sub-block of the first block CTUi of the first line LEi.

Selon une quatrième variante de l'étape 041a), dans le cas où l'image ICi a été découpée en plusieurs slices, la valeur de prédiction du paramètre de quantification QP affectée au premier bloc courant est la valeur QPslice du slice dans lequel se trouve ledit premier bloc courant. A la suite de l'étape 041a), le bloc courant est codé puis décodé par itération des étapes 034 à 037 décrites plus haut. Si à la suite de l'étape 039 précitée, le bloc courant n'est pas le premier bloc de la ligne LEm considérée, il est procédé, au cours d'une étape 040b) de codage entropique représentée à la figure 2B, à la lecture des probabilités issues du dernier sous-bloc précédemment codé et décodé qui se trouve sur la même ligne LEn, que le bloc courant à coder, c'est-à-dire le dernier sous-bloc codé puis décodé du bloc CTU qui est situé immédiatement à gauche du bloc courant. Une telle étape est effectuée par le module de codage entropique MCE représenté sur la figure 3B. En référence à la figure 2B, il est ensuite procédé, au cours d'une étape C41b) de codage prédictif d'un paramètre de compression associé audit bloc courant, tel que par exemple le paramètre de quantification QP, à l'affectation d'une valeur de prédiction de paramètre QP à la valeur du paramètre QP du dernier sous-bloc précédemment codé et décodé qui se trouve sur la même ligne LEn, que le bloc courant à coder, c'est-à-dire le dernier sous-bloc codé puis décodé du bloc CTU qui est situé immédiatement à gauche du bloc courant. Une telle étape est effectuée par le module de codage prédictif MCP représenté sur la figure 3B.According to a fourth variant of step 041a), in the case where the image ICi has been divided into several slices, the prediction value of the quantization parameter QP assigned to the first current block is the value QPslice of the slice in which it is located. said first current block. Following step 041a), the current block is coded and then decoded by iteration of the steps 034 to 037 described above. If following the step 039 above, the current block is not the first block of the line LEm considered, it is proceeded, during a step 040b) of entropy coding shown in Figure 2B, to the reading probabilities from the last previously coded and decoded sub-block that is on the same line LEn, as the current block to be encoded, that is to say the last coded and decoded sub-block of the block CTU which is located immediately to the left of the current block. Such a step is performed by the entropic coding module MCE shown in FIG. 3B. With reference to FIG. 2B, it is then proceeded during a step C41b) of predictive coding of a compression parameter associated with said current block, such as, for example, the quantization parameter QP, with the assignment of a parameter prediction value QP to the value of the parameter QP of the last previously coded and decoded sub-block which is on the same line LEn, as the current block to be encoded, that is to say the last sub-block coded then decoded CTU block which is located immediately to the left of the current block. Such a step is performed by the predictive coding module MCP shown in FIG. 3B.

A la suite de l'étape C41b), le bloc courant est codé puis décodé par itération des étapes 034 à 037 décrites plus haut. Les étapes de codage qui viennent d'être décrites ci-dessus sont mises en oeuvre pour tous les blocs CTUi, CTU2, CTU s à coder de l'image courante ICi considérée.Following step C41b), the current block is coded and then decoded by iteration of the steps 034 to 037 described above. The coding steps which have just been described above are implemented for all the blocks CTUi, CTU2, CTU s to be coded of the current image ICi considered.

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 à D4 telles que représentées à la figure 6A. Comme illustré en figure 7A, un décodeur selon l'invention comprend une mémoire MEM DO comprenant une mémoire tampon MT DO, une unité de traitement UT DO équipée par exemple d'un microprocesseur pl' et pilotée par un programme d'ordinateur PG DO qui met en oeuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG DO 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 DO. Le procédé de décodage représenté sur la figure 6A s'applique à toute image courante d'une séquence SQ d'images à décoder.DETAILED DESCRIPTION OF AN EMBODIMENT OF THE DECODING PART An embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware way by modifying an initially conforming decoder. to the HEVC standard. The decoding method according to the invention is represented in the form of an algorithm comprising steps D1 to D4 as represented in FIG. 6A. As illustrated in FIG. 7A, a decoder according to the invention comprises a memory MEM MEM comprising a buffer memory MT DO, a processing unit UT DO equipped for example with a microprocessor pl 'and driven by a computer program PG DO which implements the decoding method according to the invention. At initialization, the code instructions of the computer program PG DO are for example loaded into a RAM before being executed by the processor of the processing unit UT DO. The decoding method shown in FIG. 6A applies to any current image of an SQ sequence of images to be decoded.

A cet effet, des informations représentatives de l'image courante ICi à décoder sont identifiées dans le flux F reçu au décodeur. En référence à la figure 6A, la première étape de décodage D1 est l'identification dans ledit flux F des blocs CTUi , CTU2, CTUi,..., CTUs codés précédemment conformément au parcours PRS représenté sur la figure 4.For this purpose, information representative of the current image IC 1 to be decoded is identified in the stream F received at the decoder. With reference to FIG. 6A, the first decoding step D1 is the identification in said stream F of CTUi, CTU2, CTUi, ..., CTUs previously coded in accordance with the PRS path shown in FIG. 4.

En référence à la figure 6A, la deuxième étape de décodage D2 est le décodage de chacun desdits L sous-ensembles LEI, LE2,...,LE,,,..., LEL de blocs, les blocs d'un sous-ensemble considéré étant aptes à être décodés selon l'ordre de parcours séquentiel PRS prédéterminé, comme représenté sur la figure 4. Dans l'exemple représenté sur la figure 4, les blocs d'un sous- ensemble LEm courant sont décodés les uns après les autres, de la gauche vers la droite, comme indiqué par la flèche PRS. A l'issue de l'étape D2, les sous-ensembles de blocs décodés LEDi , LED2,..., LEDm,...,LEDL sont obtenus. Un tel décodage est de type séquentiel et, par conséquent, est effectué à l'aide d'un seul module de décodage UDO telle que représenté sur la figure 7A, ledit module étant piloté par le microprocesseur uP de l'unité de traitement UT DO. De façon connue en tant que telle, la mémoire tampon MT DO du décodeur DO est adaptée pour contenir les probabilités d'apparition de symboles telles que progressivement remises à jour au fur et à mesure du décodage d'un bloc courant. Comme représenté plus en détail sur la figure 7B, le module de décodage UDO comprend : - un module de décodage entropique dudit bloc courant par apprentissage d'au moins une probabilité d'apparition de symbole calculée pour au moins un bloc précédemment décodé, notée MDE, - un module de décodage prédictif d'un bloc courant par rapport audit bloc précédemment décodé, notée MDP.With reference to FIG. 6A, the second decoding step D2 is the decoding of each of said L subsets LE1, LE2,..., LE ,,,..., LEL of blocks, the blocks of a sub-set. considered together being able to be decoded according to the predetermined sequential order of PRS, as shown in FIG. 4. In the example shown in FIG. 4, the blocks of a current subset LEm are decoded one after the other. others, from left to right, as indicated by the PRS arrow. At the end of step D2, the decoded block subsets LEDi, LED2, ..., LEDm,..., LEDL are obtained. Such a decoding is of sequential type and, consequently, is carried out using a single UDO decoding module as shown in FIG. 7A, said module being driven by the microprocessor uP of the processing unit UT DO . In a manner known per se, the buffer memory MT DO of the decoder DO is adapted to contain the symbol appearance probabilities such as progressively updated as a current block is decoded. As shown in more detail in FIG. 7B, the decoding module UDO comprises: an entropy decoding module of said current block by learning at least one symbol appearance probability computed for at least one previously decoded block, denoted MDE a decoding module predictive of a current block with respect to said previously decoded block, denoted CDM.

Le module de décodage prédictif MDP est apte à effectuer un décodage prédictif du bloc courant, selon les techniques de prédiction classiques, telles que par exemple en mode lntra et/ou Inter. Le module de décodage entropique MDE est quant à lui de type CABAC, mais modifié selon la présente invention comme cela sera décrit plus loin dans la description. En variante, le module de décodage entropique MDE pourrait être un décodeur de Huffman connu en tant que tel. Dans l'exemple représenté sur la figure 4, le module UDO décode les blocs de la première ligne LEi, de gauche à droite. Lorsqu'il parvient au dernier bloc de la première ligne LEi, il passe au premier bloc de la deuxième ligne LE2. Lorsqu'il parvient au dernier bloc de la deuxième ligne LE2, il passe au premier bloc de la troisième ligne LE3. Lorsqu'il parvient au dernier bloc de la troisième ligne LE3, il passe au premier bloc de la quatrième ligne LE4, et ainsi de suite jusqu'à ce que le dernier bloc de l'image courante ICi soit décodé. D'autres types de parcours que celui qui vient d'être décrit ci-dessus sont bien sûr possibles. Ainsi, il est possible de découper l'image ICi 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 pour le module de décodage UDO de traiter 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. En référence à la figure 6A, la troisième étape de décodage D3 est la reconstruction d'une image décodée IDi à partir de chaque sous-ensemble décodé LEDi, LED2,..., LED,,,..., LEDL obtenu à l'étape de décodage D2. Plus précisément, les blocs décodés de chaque sous-ensemble décodé LEDi, LED2,..., LED,,,..., LEDL sont transmis à une unité URI de reconstruction d'image telle que représentée à la figure 7A, ladite unité étant pilotée par le microprocesseur pl' de l'unité de traitement UT DO. Au cours de cette étape D3, l'unité URI écrit les blocs décodés dans une image décodée au fur et à mesure que ces blocs deviennent disponibles.The predictive decoding module MDP is able to perform a predictive decoding of the current block, according to conventional prediction techniques, such as for example in lntra and / or Inter mode. The entropy decoding module MDE is CABAC type, but modified according to the present invention as will be described later in the description. Alternatively, the entropy decoding module MDE could be a Huffman decoder known as such. In the example shown in Figure 4, the UDO module decodes the blocks of the first line LEi, from left to right. When it reaches the last block of the first line LEi, it goes to the first block of the second line LE2. When it reaches the last block of the second line LE2, it goes to the first block of the third line LE3. When it reaches the last block of the third line LE3, it goes to the first block of the fourth line LE4, and so on until the last block of the current picture IC1 is decoded. Other types of course than the one just described above are of course possible. Thus, it is possible to cut the image ICi into several subimages called slices and to independently apply a division of this type on each sub-image. It is also possible for the UDO decoding module to process not a succession of lines, as explained above, but a succession of columns. It is also possible to browse the rows or columns in one direction or the other. Referring to FIG. 6A, the third decoding step D3 is the reconstruction of a decoded picture IDi from each decoded subset LEDi, LED2,..., LED,... decoding step D2. More specifically, the decoded blocks of each decoded subset LEDi, LED2,..., LED ,,..., LEDL are transmitted to an image reconstruction unit URI as represented in FIG. 7A, said unit being driven by the microprocessor pl 'of the processing unit UT DO. During this step D3, the URI unit writes the decoded blocks in a decoded image as these blocks become available.

Au cours d'une quatrième étape de décodage D4 représentée à la figure 6A, une image IDi entièrement décodée est délivrée par l'unité URI représentée figure 7A. On va maintenant décrire, en référence à la figure 6B, les différentes sous-étapes spécifiques de l'invention, telles que mises en oeuvre lors de l'étape D2 de décodage séquentiel précitée, dans le module de décodage UDO représenté sur les figures 7A et 7B. Au cours d'une étape D21 représentée à la figure 6B, le module de décodage UDO sélectionne comme bloc courant le premier sous-bloc à décoder d'un bloc CTU; d'une ligne LE,-, courante représentée à la figure 4, telle que par exemple la première ligne LEi. Dans la suite de la description, ce sous-bloc sera appelé bloc. Au cours d'une étape D22 représentée à la figure 6B, le module de décodage UDO teste si le bloc courant est le premier bloc (situé en haut et à gauche) de l'image ICi qui a été précédemment codée. Si tel est le cas, au cours d'une étape D23 représentée à la figure 6B, le module de décodage entropique MDE procède à une initialisation des probabilités d'apparition de symboles. Une telle initialisation est identique à celle effectuée au codage à l'étape 033 représentée sur la figure 2B.During a fourth decoding step D4 shown in FIG. 6A, a fully decoded IDi image is delivered by the URI unit shown in FIG. 7A. We will now describe, with reference to FIG. 6B, the different specific sub-steps of the invention, as implemented during the aforementioned sequential decoding step D2, in the UDO decoding module represented in FIGS. 7A. and 7B. During a step D21 represented in FIG. 6B, the decoding module UDO selects as the current block the first sub-block to be decoded from a block CTU; a line LE, - current shown in Figure 4, such as for example the first line LEi. In the following description, this sub-block will be called block. During a step D22 shown in FIG. 6B, the decoding module UDO tests whether the current block is the first block (located at the top left) of the image IC 1 that has been previously coded. If this is the case, during a step D23 shown in FIG. 6B, the entropy decoding module MDE initialises the symbol appearance probabilities. Such an initialization is identical to that performed at the coding in step 033 shown in FIG. 2B.

Au cours de cette même étape D23 représentée à la figure 6B, il est procédé à l'initialisation d'une valeur de paramètre de compression prédite. Dans l'exemple représenté, le paramètre de compression considéré est le paramètre de quantification QP. Selon la norme HEVC, la valeur de paramètre QP prédite est initialisée à la valeur QPslice.During this same step D23 shown in Figure 6B, it is proceeded to the initialization of a predicted compression parameter value. In the example shown, the compression parameter considered is the quantization parameter QP. According to HEVC, the predicted QP parameter value is initialized to the QPslice value.

Si à la suite de l'étape D22 précitée, le bloc courant n'est pas le premier bloc de l'image ICi, il est testé, au cours d'une étape D29 qui sera décrite ultérieurement dans la suite de la description, si le bloc courant est le premier bloc de la ligne LEn, considérée. Au cours d'une étape D24 représentée à la figure 6B, il est procédé au décodage du premier bloc courant CUi de la première ligne LEi représenté sur la figure 4. Une telle étape D24 comprend une pluralité de sous-étapes D24a) à D24f) qui vont être décrites ci-dessous.If following the aforesaid step D22, the current block is not the first block of the image ICi, it is tested, during a step D29 which will be described later in the following description, if the current block is the first block of the line LEn, considered. During a step D24 shown in FIG. 6B, the first current block CUi of the first line LE1 shown in FIG. 4 is decoded. Such a step D24 comprises a plurality of substeps D24a) to D24f). which will be described below.

Au cours d'une première sous-étape D24a) représentée à la figure 6B, le module de décodage entropique MDE de la figure 7B procède au décodage entropique des éléments de syntaxe liés au bloc courant. Une telle étape consiste principalement à : a) lire les bits contenus dans le flux qui sont associés à ladite première ligne LEI, b) reconstruire les symboles à partir des bits lus. Plus précisément, les éléments de syntaxe liés au bloc courant sont décodés par le module MDE de décodage entropique CABAC tel que représentée à la figure 7B. Ce dernier décode le flux de bits F du fichier compressé pour produire les éléments de syntaxe, et, en même temps, remet à jour ses probabilités de façon à ce que, au moment où celui-ci décode un symbole, les probabilités d'apparition de ce symbole soient identiques à celles obtenues lors du codage de ce même symbole lors de l'étape de codage entropique précitée 034g) représentée à la figure 2B. Au cours d'une sous-étape suivante D24b) représentée à la figure 6B, le module de décodage prédictif MDP de la figure 7B procède au décodage prédictif du bloc courant CUi par des techniques connues de prédiction intra et/ou inter, au cours duquel le bloc CUi est prédit par rapport à au moins un bloc précédemment décodé. Il va de soi que d'autres modes de prédiction intra tels que proposé dans la norme HEVC sont possibles. Le bloc courant CUi peut être également soumis à un décodage prédictif en mode inter, au cours duquel le bloc courant est prédit par rapport à un bloc issu d'une image précédemment décodée. D'autres types de prédiction sont bien entendu envisageables. Parmi les prédictions possibles pour un bloc courant, la prédiction optimale est choisie selon un critère débit distorsion bien connu de l'homme du métier. Ladite sous-étape de décodage prédictif précitée permet de construire un bloc prédit CUpi qui est une approximation du bloc courant CUi. Au cours d'une sous-étape suivante D24c) représentée à la figure 6B, si le bloc de transformée TUr, courant est le premier bloc de transformée du bloc courant CTUi qui contient un résidu (CBF=1), tel que le bloc TU1 sur la figure 5, il est procédé au décodage de l'élément de syntaxe QPdelta et la valeur du paramètre QP du sous-bloc courant est calculée par ajout de l'élément de syntaxe QPdelta décodé à la valeur du paramètre QP du sous-bloc précédemment décodé, appelé « QP prédit )>. Au cours d'une sous-étape suivante D24d) représentée à la figure 6B, il est procédé à la déquantification du bloc quantifié CUqi selon une opération classique de déquantification qui est l'opération inverse de la quantification effectuée à l'étape 034e) précitée représentée à la figure 2B, pour produire un bloc déquantifié décodé CUDti. Au cours d'une sous-étape suivante D24e) représentée à la figure 6B, il est procédé à la transformation inverse du bloc déquantifié CUDti qui est l'opération inverse de la transformation directe effectuée à l'étape C34d) précitée représentée à la figure 2B. Un bloc résidu décodé CUDri est alors obtenu. Au cours d'une sous-étape suivante D24f) représentée à la figure 6B, il est procédé à la construction du bloc décodé CUDi en ajoutant ou bloc prédit CUpi le bloc résidu décodé CUDri. Le bloc décodé CUDi est ainsi rendu disponible pour être utilisé par le module de décodage UDO représenté sur les figures 7A et 7B. A l'issue de l'étape de décodage D24 précitée, le module de décodage entropique MDE tel que représenté à la figure 7B contient toutes les probabilités telles que progressivement remises à jour au fur et à mesure du décodage du premier bloc. Ces probabilités correspondent aux différents éléments de syntaxes possibles et aux différents contextes de décodage associés. Au cours d'une étape suivante D25 représentée à la figure 6B, le bloc décodé CUDi est filtré au moyen d'un filtre anti-blocs conformément à la norme HEVC. En particulier, le filtre anti-blocs utilise le paramètre de quantification QP du bloc de transformée TUr, courant pour déterminer la force de filtrage qu'il convient d'appliquer.During a first substep D24a) shown in FIG. 6B, the entropy decoding module MDE of FIG. 7B proceeds to the entropy decoding of the syntax elements linked to the current block. Such a step consists mainly of: a) reading the bits contained in the stream that are associated with said first line LEI, b) reconstructing the symbols from the read bits. More precisely, the syntax elements related to the current block are decoded by the entrapment decoding module MDE CABAC as represented in FIG. 7B. The latter decodes the bit stream F of the compressed file to produce the syntax elements, and at the same time updates its probabilities so that, at the moment when the latter decodes a symbol, the probabilities of appearance of this symbol are identical to those obtained during the coding of this same symbol during the aforementioned entropy coding step 034g) shown in Figure 2B. During a subsequent substep D24b) shown in FIG. 6B, the predictive decoding module MDP of FIG. 7B proceeds to the predictive decoding of the current block CUi by known intra and / or inter prediction techniques during which the CUi block is predicted with respect to at least one previously decoded block. It goes without saying that other intra prediction modes as proposed in the HEVC standard are possible. The current block CU i can also be subjected to predictive decoding in inter mode, during which the current block is predicted with respect to a block resulting from a previously decoded picture. Other types of prediction are of course conceivable. Among the possible predictions for a current block, the optimal prediction is chosen according to a distortion flow criterion well known to those skilled in the art. Said aforementioned predictive decoding sub-step makes it possible to construct a predicted CUpi block which is an approximation of the current block CUi. During a following substep D24c) shown in FIG. 6B, if the current transform block TUr is the first transform block of the current block CTUi that contains a residue (CBF = 1), such as block TU1 in FIG. 5, the QPdelta syntax element is decoded and the value of the QP parameter of the current sub-block is calculated by adding the decoded QPdelta syntax element to the value of the QP parameter of the sub-block previously decoded, called "QP predicts">. During a subsequent substep D24d) shown in FIG. 6B, dequantization of the quantized block CUqi is carried out according to a conventional dequantization operation which is the inverse operation of the quantization performed in the aforementioned step 034e) shown in Figure 2B, to produce a decoded dequantized block CUDti. During a subsequent substep D24e) shown in FIG. 6B, the inverse transformation of the dequantized block CUDti, which is the inverse operation of the direct transformation carried out in the above-mentioned step C34d) represented in FIG. 2B. A decoded residue block CUDri is then obtained. In the course of a subsequent substep D24f) shown in FIG. 6B, the decoded block CUDi is constructed by adding or block CUpi decoded the decoded residue block CUDri. The decoded block CUDi is thus made available for use by the UDO decoding module shown in FIGS. 7A and 7B. At the end of the aforementioned decoding step D24, the entropy decoding module MDE as represented in FIG. 7B contains all the probabilities such as progressively being updated as the first block is decoded. These probabilities correspond to the different possible syntax elements and the different decoding contexts associated with them. During a next step D25 shown in FIG. 6B, the decoded block CUDi is filtered by means of an anti-block filter in accordance with the HEVC standard. In particular, the anti-block filter uses the quantization parameter QP of the transform block TUr, which is current to determine the filtering force to be applied.

Au cours d'une étape suivante D26 représentée à la figure 6B, le module de décodage UDO teste si le bloc courant CUDi qui vient d'être décodé est le dernier bloc contenu dans le flux F. Si tel est le cas, au cours d'une étape D27 représentée à la figure 6B, 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 D28 représentée à la figure 6B, à la sélection du bloc suivant CUf à décoder conformément à l'ordre de parcours représenté par la flèche PRS sur la figure 4.During a next step D26 shown in FIG. 6B, the decoding module UDO tests whether the current block CUDi that has just been decoded is the last block contained in the stream F. If this is the case, during In a step D27 shown in FIG. 6B, the decoding method is terminated. If this is not the case, during step D28 shown in FIG. 6B, the next block CUf to be decoded is selected in accordance with the run command represented by the arrow PRS in FIG. 4.

Au cours d'une étape suivante D29 représentée à la figure 6B, il est testé si le bloc courant est le premier bloc de la ligne LEm considérée. Si tel est le cas, au cours d'une étape D30a) de décodage entropique, le module de décodage entropique MDE de la figure 7B commence à décoder le premier bloc courant de la ligne LEm considérée avec les probabilités d'apparition de symboles calculées à l'issue du décodage du dernier sous-bloc du dernier bloc CTUd (1*::IS) de la ligne précédente LErn-i. En référence à la figure 6B, au cours d'une étape D31a) de décodage prédictif d'un paramètre de compression associé audit premier bloc courant, tel que par exemple le paramètre de quantification QP, le module de décodage prédictif MDP de la figure 7B procède à l'affectation d'une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé audit dernier sous-bloc du dernier bloc CTUd (1eS) de la ligne précédente LErn-i. Selon une première variante de l'étape D31a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du premier bloc CTU de la ligne précédente LErn-i. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc 0TU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du premier bloc CTU9 de la deuxième ligne LE2. Selon une deuxième variante de l'étape D31a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du deuxième bloc CTU de la ligne précédente LE,,_1. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc CTU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au dernier sous-bloc du deuxième bloc CTU10 de la deuxième ligne LE2. Selon une troisième variante de l'étape D31a), la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au premier sous-bloc du premier bloc CTU de l'image ICi. En référence à la figure 4, si le bloc courant est par exemple le premier sous-bloc du bloc CTU17 de la troisième ligne LE3, la valeur de prédiction du paramètre de quantification QP affectée est celle du paramètre de quantification associé au premier sous-bloc du premier bloc CTUi de la première ligne LEi. Selon une quatrième variante de l'étape D31a), dans le cas où l'image ICi a été découpée en plusieurs slices, la valeur de prédiction du paramètre de quantification QP affectée au premier bloc courant est la valeur QPslice du slice dans lequel se trouve ledit premier bloc courant. A la suite de l'étape D31a), le bloc courant est décodé par itération des étapes D24 à D27 décrites plus haut. Si à la suite de l'étape D29 précitée, le bloc courant n'est pas le premier bloc de la ligne LEn, considérée, il est procédé, au cours d'une étape D30b) de décodage entropique représentée à la figure 6B, à la lecture des probabilités issues du dernier sous-bloc précédemment décodé qui se trouve sur la même ligne LEn, que le bloc courant à décoder, c'est-à-dire le dernier sous-bloc décodé du bloc CTU qui est situé immédiatement à gauche du bloc courant.During a next step D29 shown in FIG. 6B, it is tested if the current block is the first block of the line LEm considered. If this is the case, during an entropy decoding step D30a), the entropy decoding module MDE of FIG. 7B begins decoding the first current block of the line LEm considered with the probabilities of appearance of symbols calculated in FIG. the result of the decoding of the last sub-block of the last block CTUd (1 * :: IS) of the previous line LErn-i. With reference to FIG. 6B, during a predicative decoding step D31a) of a compression parameter associated with said first current block, such as, for example, the quantization parameter QP, the predictive decoding module MDP of FIG. 7B assigns a compression parameter prediction value which is independent of the value of the compression parameter associated with said last sub-block of the last block CTUd (1eS) of the previous line LErn-i. According to a first variant of step D31a), the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the first block CTU of the previous line LErn-i. With reference to FIG. 4, if the current block is, for example, the first sub-block of the block 0TU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the first block CTU9 of the second line LE2. According to a second variant of step D31a), the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block of the second block CTU of the preceding line LE ,, _ 1. With reference to FIG. 4, if the current block is for example the first sub-block of the block CTU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the last sub-block the second block CTU10 of the second line LE2. According to a third variant of step D31a), the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the first sub-block of the first block CTU of the image ICi. With reference to FIG. 4, if the current block is for example the first sub-block of the block CTU17 of the third line LE3, the prediction value of the quantization parameter QP assigned is that of the quantization parameter associated with the first sub-block of the first block CTUi of the first line LEi. According to a fourth variant of the step D31a), in the case where the image ICi has been split into several slices, the prediction value of the quantization parameter QP assigned to the first current block is the value QPslice of the slice in which it is located. said first current block. Following step D31a), the current block is decoded by iteration of the steps D24 to D27 described above. If following the aforementioned step D29, the current block is not the first block of the line LEn, considered, it is proceeded, during an entropy decoding step D30b) shown in FIG. the reading of the probabilities coming from the last previously decoded sub-block which is on the same line LEn, as the current block to be decoded, that is to say the last decoded sub-block of the block CTU which is situated immediately on the left of the current block.

Une telle étape est mise en oeuvre par le module de décodage entropique MDE représenté sur la figure 7B. En référence à la figure 6B, il est ensuite procédé, au cours d'une étape D31b) de décodage prédictif d'un paramètre de compression associé audit bloc courant, tel que par exemple le paramètre de quantification QP, à l'affectation d'une valeur de prédiction de paramètre QP à la valeur du paramètre QP du dernier sous-bloc précédemment décodé qui se trouve sur la même ligne LEn, que le bloc courant à décoder, c'est-à-dire le dernier sous-bloc décodé du bloc CTU qui est situé immédiatement à gauche du bloc courant. Une telle étape est mise en oeuvre par le module de décodage prédictif MDP représenté sur la figure 7B. A la suite de l'étape D31b), le bloc courant est décodé par itération des étapes D24 à D27 décrites plus haut.Such a step is implemented by the entropy decoding module MDE shown in FIG. 7B. With reference to FIG. 6B, a predictive decoding step of a compression parameter associated with said current block, such as, for example, the quantization parameter QP, is then carried out during a predefined step D31b). a parameter prediction value QP to the value of the parameter QP of the last previously decoded sub-block which is on the same line LEn, as the current block to be decoded, that is to say the last decoded sub-block of the CTU block that is located immediately to the left of the current block. Such a step is implemented by the predictive decoding module MDP shown in FIG. 7B. Following step D31b), the current block is decoded by iteration of the steps D24 to D27 described above.

Les étapes de décodage qui viennent d'être décrites ci-dessus sont mises en oeuvre pour tous les blocs CTUi, CTU2, CTUi,..., CTUs à décoder de l'image courante ICi 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.The decoding steps that have just been described above are implemented for all the blocks CTUi, CTU2, CTUi, ..., CTUs to be decoded of the current image ICi considered. It goes without saying that the embodiments which have been described above have been given for purely indicative and non-limiting purposes, and that many modifications can easily be made by those skilled in the art without departing from the scope. of the invention.

Claims (16)

REVENDICATIONS1. Procédé de codage d'au moins une image (ICi) comprenant les étapes de : - partitionnement (Cl, 02) de l'image en une pluralité de blocs (CTUi, CTU2, CTUi,..., CTUs) aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - codage entropique d'un bloc courant à partir d'au moins une probabilité d'apparition de symbole, - codage prédictif d'un paramètre de compression (QP) associé audit bloc courant, ledit procédé de codage étant caractérisé en ce que dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré (LE,-,) de blocs consécutifs à coder, il est procédé aux étapes de : - détermination (C40a)), lors de ladite étape de codage entropique, de probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du codage puis du décodage du dernier bloc d'un autre ensemble (LE,-,_i) considéré de blocs, ledit autre ensemble précédant immédiatement, dans l'ordre de codage des blocs, ledit ensemble considéré, - affectation (C41a)), lors de ladite étape de codage prédictif d'un paramètre de compression associé audit premier bloc courant, d'une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé audit dernier bloc.REVENDICATIONS1. A method for encoding at least one image (ICi) comprising the steps of: - partitioning (Cl, 02) of the image into a plurality of blocks (CTUi, CTU2, CTUi, ..., CTUs) able to contain symbols belonging to a predetermined set of symbols, - entropy coding of a current block from at least one symbol occurrence probability, - predictive coding of a compression parameter (QP) associated with said current block, said method coding method being characterized in that in the case where the current block is the first block to be coded of a considered set (LE, -,) of consecutive blocks to be coded, the steps of: - determination (C40a) are carried out) during said entropy encoding step, symbol occurrence probabilities for said first current block, said probabilities being those determined after coding and then decoding the last block of another set (LE, -, _ i) considered blocks, said other set pr immediately yielding, in the coding order of the blocks, said considered set, - assignment (C41a)), during said step of predictive coding of a compression parameter associated with said first current block, with a parameter prediction value compression which is independent of the value of the compression parameter associated with said last block. 2. Procédé de codage selon la revendication 1, au cours duquel lesdits blocs ayant été préalablement partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du premier bloc dudit autreensemble (LE,,_1) qui précède immédiatement, dans l'ordre de codage des blocs, ledit ensemble considéré.2. A coding method according to claim 1, in which said blocks having been partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the first block of said other set. (LE ,, _ 1) immediately preceding, in the order of coding blocks, said set considered. 3. Procédé de codage selon la revendication 1, au cours duquel lesdits blocs ayant été préalablement partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du deuxième bloc dudit autre ensemble (LE,,_1) qui précède immédiatement, dans l'ordre de codage des blocs, ledit ensemble considéré.3. coding method according to claim 1, wherein said blocks having been previously partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the second block of said other together (LE ,, _ 1) immediately preceding, in the block coding order, said set considered. 4. Procédé de codage selon la revendication 1, au cours duquel lesdits blocs ayant été préalablement partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au premier sous-bloc du premier bloc de l'image.4. Encoding method according to claim 1, wherein said blocks having been previously partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the first sub-block of the first block of the block. 'picture. 5. Procédé de codage selon la revendication 1, au cours duquel ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression (QPslice) associé à un ensemble de blocs aptes à être codés indépendamment d'autres blocs de l'image.The coding method as claimed in claim 1, in which said assigned compression parameter prediction value is that of the compression parameter (QPslice) associated with a set of blocks able to be coded independently of other blocks of the image. . 6. Dispositif de codage (CO) d'au moins une image, destiné à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 5, ledit dispositif comprenant : - des moyens (MP) de partitionnement de l'image en une pluralité de blocs (CTU) aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - des moyens (MCE) de codage entropique d'un bloc courant à partir d'au moins une probabilité d'apparition de symbole, - des moyens (MCP) de codage prédictif d'un paramètre de compression (QP) associé audit bloc courant, ledit dispositif de codage étant caractérisé en ce que, dans le cas où le bloc courant est le premier bloc à coder d'un ensemble considéré de blocs consécutifs à coder :- les moyens de codage entropique déterminent des probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du codage puis du décodage du dernier bloc d'un autre ensemble considéré de blocs, ledit autre ensemble précédant immédiatement, dans l'ordre de codage des blocs, ledit ensemble considéré, - les moyens de codage prédictif d'un paramètre de compression associé audit premier bloc courant affectent une valeur de prédiction de paramètre de compression qui est indépendante de la valeur du paramètre de compression associé audit dernier bloc.6. Device coding (CO) of at least one image, intended to implement the coding method according to any one of claims 1 to 5, said device comprising: - means (MP) partitioning the image in a plurality of blocks (CTU) able to contain symbols belonging to a predetermined set of symbols, - entropy coding means (MCE) of a current block from at least one probability of appearance of a symbol, means (MCP) for predictive coding of a compression parameter (QP) associated with said current block, said coding device being characterized in that, in the case where the current block is the first block to be coded of a set considered of consecutive blocks to be encoded: the entropy coding means determine symbol appearance probabilities for said first current block, said probabilities being those which were determined at the end of the coding then decoding of the last block of u n another considered set of blocks, said other set immediately preceding, in the coding order of the blocks, said set considered, - the predictive coding means of a compression parameter associated with said first current block affect a parameter prediction value compression which is independent of the value of the compression parameter associated with said last block. 7. Programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 5, lorsqu'il est exécuté sur un ordinateur.A computer program comprising instructions for implementing the encoding method according to any one of claims 1 to 5, when executed on a computer. 8. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions 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é par un ordinateur.A computer-readable recording medium on which is recorded a computer program comprising instructions for performing the steps of the encoding method according to any one of claims 1 to 5, when said program is executed by a computer. 9. Procédé de décodage d'un flux (F) représentatif d'au moins une image codée, comprenant les étapes de : - identification (D1) dans ledit flux d'une pluralité de blocs codés, lesdits blocs étant aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - décodage entropique d'un bloc codé courant à partir d'au moins une probabilité d'apparition de symbole, - décodage prédictif d'un paramètre de compression (QP) associé audit bloc codé courant, ledit procédé de décodage étant caractérisé en ce que dans le cas où le bloc courant est le premier bloc à décoder d'un ensemble considéré de blocs consécutifs à décoder, il est procédé aux étapes de :- détermination (D30a)), lors de ladite étape de décodage entropique, de probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du décodage du dernier bloc d'un autre ensemble considéré de blocs, ledit autre ensemble précédant immédiatement, dans l'ordre de décodage des blocs, ledit ensemble considéré, - affectation (D31a)), lors de ladite étape de décodage prédictif d'un paramètre de compression associé audit premier bloc courant, d'une valeur de prédiction de paramètre de compression qui est indépendante de celle du paramètre de compression associé audit dernier bloc.9. A method for decoding a stream (F) representative of at least one coded picture, comprising the steps of: - identifying (D1) in said stream of a plurality of coded blocks, said blocks being able to contain symbols belonging to a predetermined set of symbols, - entropy decoding of a current coded block from at least one symbol occurrence probability, - predictive decoding of a compression parameter (QP) associated with said current coded block, said decoding method being characterized in that in the case where the current block is the first block to be decoded from a considered set of consecutive blocks to be decoded, the steps of: - determination (D30a)) are carried out during said step entropy decoding method, probabilities of symbol occurrence for said first current block, said probabilities being those determined after the decoding of the last block of another set considered blocks, said other set immediately preceding, in the decoding order of the blocks, said considered set, - assignment (D31a)), during said predictive decoding step of a compression parameter associated with said first current block, by a a compression parameter prediction value which is independent of that of the compression parameter associated with said last block. 10. Procédé de décodage selon la revendication 9, au cours duquel lesdits blocs ayant été partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du premier bloc dudit autre ensemble qui précède immédiatement, dans l'ordre de décodage des blocs, ledit ensemble considéré.The decoding method according to claim 9, wherein said blocks having been partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the first block of said other set. immediately preceding, in the decoding order of the blocks, said set considered. 11. Procédé de décodage selon la revendication 9, au cours duquel lesdits blocs ayant été partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au dernier sous-bloc du deuxième bloc dudit autre ensemble qui précède immédiatement, dans l'ordre de décodage des blocs, ledit ensemble considéré.11. A decoding method according to claim 9, wherein said blocks having been partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the last sub-block of the second block of said other set. immediately preceding, in the decoding order of the blocks, said set considered. 12. Procédé de décodage selon la revendication 9, au cours duquel lesdits blocs ayant été préalablement partitionnés en sous-blocs, ladite valeur de prédiction de paramètre de compression affectée est celle du paramètre de compression associé au premier sous-bloc du premier bloc de l'image.12. Decoding method according to claim 9, wherein said blocks having been previously partitioned into sub-blocks, said assigned compression parameter prediction value is that of the compression parameter associated with the first sub-block of the first block of the block. 'picture. 13. Procédé de décodage selon la revendication 9, au cours duquel ladite valeur de prédiction de paramètre de compression affectée est celle duparamètre de compression (QPslice) associé à un ensemble de blocs aptes à être décodés indépendamment d'autres blocs de l'image.13. Decoding method according to claim 9, wherein said assigned compression parameter prediction value is that of the compression parameter (QPslice) associated with a set of blocks able to be decoded independently of other blocks of the image. 14. Dispositif de décodage d'un flux (F) représentatif d'au moins une image codée, destiné à mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 9 à 13, ledit dispositif comprenant : - des moyens (EX DO) d'identification dans ledit flux d'une pluralité de blocs codés, lesdits blocs étant aptes à contenir des symboles appartenant à un ensemble prédéterminé de symboles, - des moyens de décodage entropique d'un bloc codé courant à partir d'au moins une probabilité d'apparition de symbole, - des moyens de décodage prédictif d'un paramètre de compression (QP) associé audit bloc codé courant, ledit dispositif de décodage étant caractérisé en ce que dans le cas où le bloc courant est le premier bloc à décoder d'un ensemble considéré de blocs consécutifs à décoder, - les moyens (MDE) de décodage entropique déterminent des probabilités d'apparition de symbole pour ledit premier bloc courant, lesdites probabilités étant celles qui ont été déterminées à l'issue du décodage du dernier bloc d'un autre ensemble considéré de blocs, ledit autre ensemble précédant immédiatement, dans l'ordre de décodage des blocs, ledit ensemble considéré, - les moyens (MDP) de décodage prédictif d'un paramètre de compression associé audit premier bloc courant affectent une valeur de prédiction de paramètre de compression qui est indépendante de celle du paramètre de compression associé audit dernier bloc.14. Device for decoding a stream (F) representative of at least one coded picture, intended to implement the decoding method according to any one of claims 9 to 13, said device comprising: - means (EX ID) in said flow of a plurality of coded blocks, said blocks being able to contain symbols belonging to a predetermined set of symbols, - entropic decoding means of a coded block current from at least a symbol appearance probability, - predictive decoding means of a compression parameter (QP) associated with said current coded block, said decoding device being characterized in that in the case where the current block is the first block to decoding from a considered set of consecutive blocks to be decoded, - the entropy decoding means (MDE) determines symbol occurrence probabilities for said first current block, said probabilities being those which were determined at the end of the decoding of the last block of another considered set of blocks, said other set immediately preceding, in the decoding order of the blocks, said set considered, - the means (MDP) of decoding prediction of a compression parameter associated with said first current block assigns a compression parameter prediction value which is independent of that of the compression parameter associated with said last block. 15. Programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de décodage selon l'une quelconque des revendications 9 à 13, lorsqu'il est exécuté sur un ordinateur.15. Computer program comprising instructions for implementing the decoding method according to any one of claims 9 to 13, when executed on a computer. 16. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 9 à 13, lorsque ledit programme est exécuté par un ordinateur. 10 15 20 25 30A computer-readable recording medium on which a computer program is recorded including instructions for performing the steps of the decoding method according to any one of claims 9 to 13, when said program is executed by a computer. 10 15 20 25 30
FR1262119A 2012-12-17 2012-12-17 METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS Withdrawn FR2999760A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1262119A FR2999760A1 (en) 2012-12-17 2012-12-17 METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
US14/649,868 US10165296B2 (en) 2012-12-17 2013-12-13 Method of coding and decoding images, device for coding and decoding computer programs corresponding thereto
PCT/FR2013/053062 WO2014096637A1 (en) 2012-12-17 2013-12-13 Method of coding and decoding images, device for coding and decoding and computer programs corresponding thereto
EP13815087.5A EP2932714B1 (en) 2012-12-17 2013-12-13 Method of coding and decoding images, device for coding and decoding and computer programs corresponding thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1262119A FR2999760A1 (en) 2012-12-17 2012-12-17 METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS

Publications (1)

Publication Number Publication Date
FR2999760A1 true FR2999760A1 (en) 2014-06-20

Family

ID=48237044

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1262119A Withdrawn FR2999760A1 (en) 2012-12-17 2012-12-17 METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS

Country Status (4)

Country Link
US (1) US10165296B2 (en)
EP (1) EP2932714B1 (en)
FR (1) FR2999760A1 (en)
WO (1) WO2014096637A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3029333A1 (en) * 2014-11-27 2016-06-03 Orange METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
JP6648701B2 (en) 2015-02-06 2020-02-14 ソニー株式会社 Image encoding apparatus and method
US11095909B2 (en) * 2018-06-25 2021-08-17 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11197009B2 (en) 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels
US11202070B2 (en) * 2019-05-30 2021-12-14 Hulu, LLC Parallel bi-directional intra-coding of sub-partitions
CN113949868B (en) * 2020-07-17 2023-07-07 武汉Tcl集团工业研究院有限公司 Entropy coding method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CLARE G ET AL: "An HEVC transcoder converting non-parallel bitstreams to/from WPP", 10. JCT-VC MEETING; 101. MPEG MEETING; 11-7-2012 - 20-7-2012; STOCKHOLM; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-J0032, 22 June 2012 (2012-06-22), XP030112394 *
GORDON C ET AL: "Wavefront Parallel Processing for HEVC Encoding and Decoding", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-F274, 16 July 2011 (2011-07-16), XP030009297 *
MUHAMMED COBAN ET AL: "CU-Level QP Prediction", 5. JCT-VC MEETING; 96. MPEG MEETING; 16-3-2011 - 23-3-2011; GENEVA;(JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-E391, 11 March 2011 (2011-03-11), XP030008897, ISSN: 0000-0005 *
SATO (SONY) K ET AL: "Description of Core Experiment 4 (CE4): Quantization", 96. MPEG MEETING; 21-3-2011 - 25-3-2011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m20249, 15 April 2011 (2011-04-15), XP030048816 *

Also Published As

Publication number Publication date
EP2932714A1 (en) 2015-10-21
US20150319451A1 (en) 2015-11-05
EP2932714B1 (en) 2024-04-03
WO2014096637A1 (en) 2014-06-26
US10165296B2 (en) 2018-12-25

Similar Documents

Publication Publication Date Title
EP3490258B1 (en) Method and recording medium storing coded image data
EP3675491B1 (en) Method for image decoding
FR2977111A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
EP2932714B1 (en) Method of coding and decoding images, device for coding and decoding and computer programs corresponding thereto
EP2684366A1 (en) Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
EP3058737A1 (en) Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes
WO2015079179A1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
FR3029333A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
EP3409016A1 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
EP3259909B1 (en) Image encoding and decoding method, encoding and decoding device, and corresponding computer programs
EP3272122A1 (en) Encoding of images by vector quantization
FR2978005A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
EP2832093A1 (en) Method and device for coding and decoding images

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20150831