FR3012935A1 - METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM - Google Patents
METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM Download PDFInfo
- Publication number
- FR3012935A1 FR3012935A1 FR1454502A FR1454502A FR3012935A1 FR 3012935 A1 FR3012935 A1 FR 3012935A1 FR 1454502 A FR1454502 A FR 1454502A FR 1454502 A FR1454502 A FR 1454502A FR 3012935 A1 FR3012935 A1 FR 3012935A1
- Authority
- FR
- France
- Prior art keywords
- image
- block
- prediction
- coding
- current block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004590 computer program Methods 0.000 title claims description 11
- 230000001364 causal effect Effects 0.000 claims abstract description 19
- 230000008520 organization Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 10
- 101150077012 BEL1 gene Proteins 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 101100183412 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SIN4 gene Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 101150022111 bel2 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé de codage d'images vidéo, selon lequel une image vidéo est associée à une première image et une deuxième image. Selon l'invention, un tel procédé met en œuvre les étapes suivantes, pour au moins un bloc courant de ladite deuxième image : - prédiction dudit bloc courant, à partir du voisinage causal dudit bloc courant de la deuxième image, délivrant un bloc de prédiction ; - comparaison dudit bloc de prédiction à une version dudit bloc courant obtenue à partir de ladite première image ; - sélection d'un desdits modes de codage, dit mode de codage implicite.The invention relates to a method for coding video images, in which a video image is associated with a first image and a second image. According to the invention, such a method implements the following steps, for at least one current block of said second image: prediction of said current block, from the causal neighborhood of said current block of the second image, delivering a prediction block ; comparing said prediction block with a version of said current block obtained from said first image; selecting one of said coding modes, said implicit coding mode.
Description
Procédé et dispositif de codage d'images vidéo, procédé et dispositif de décodage d'un flux de données, programme d'ordinateur et support de stockage correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage d'images vidéo. Plus précisément, l'invention concerne le codage et le décodage d'un flux de données scalable, et propose une nouvelle technique de codage des couches d'amélioration (« enhancement layer ») à partir des couches de base (« base layer »).Method and apparatus for encoding video images, method and apparatus for decoding a data stream, computer program and corresponding storage medium. FIELD OF THE INVENTION The field of the invention is that of encoding and decoding video images. More specifically, the invention relates to the encoding and decoding of a scalable data stream, and proposes a new technique for coding enhancement layers from the base layers. .
L'invention trouve notamment des applications dans tout domaine mettant en oeuvre une compression vidéo. En particulier, l'invention peut être mise en oeuvre dans les codeurs/décodeurs vidéos actuels ou à venir. Par exemple, l'invention peut être mise en oeuvre : dans des codeurs homologues, utilisés à la fois pour le codage des couches de base et d'amélioration (MPEG4 SVC, SHEVC, etc), dans des codeurs hybrides de même « famille », utilisant des techniques différentes pour le codage des couches de base et d'amélioration (par exemple couche de base codée en AVC et couche d'amélioration en HEVC), dans des codeurs hybrides de familles différentes (par exemple couche de base codée en JPEG et couche d'amélioration en AVC ou HEVC), etc. L'invention trouve également des applications dans le domaine de l'imagerie à grande gamme dynamique (HDR pour « High Dynamic Range »), pour le codage d'images HDR à partir d'images à plus faible dynamique (LDR pour « Low Dynamic Range »). 2. Art antérieur Le principe de la « scalabilité », visant à fournir différents niveaux de reconstruction à partir d'un flux unique reçu par un décodeur, est bien connu. Un contenu ainsi encodé peut être adapté en fonction d'un débit disponible et/ou d'une résolution spatio-temporelle cible. Ainsi, un seul encodage est nécessaire pour servir des clients avec des ressources différentes. Par exemple, un flux de données de type SVC est organisé en couches de données, comprenant une couche de base, compatible avec la norme H.264/MPEG-4 AVC, qui fournit une qualité et une résolution minimales, et une ou plusieurs couches d'amélioration. Ces couches d'amélioration sont ajoutées successivement pour améliorer : soit la qualité, en ajoutant une couche d'amélioration en qualité ou SNR : dans ce cas, des images de même résolution spatiale sont encodées par prédiction par rapport aux images de la couche précédente au même instant ; soit la résolution spatiale, en ajoutant une couche d'amélioration spatiale : dans ce cas, des images de résolution spatiale supérieure sont codées par prédiction par rapport aux images de la couche précédente au même instant ; soit la résolution temporelle, en ajoutant une couche d'amélioration temporelle : dans ce cas, des images de même résolution spatiale que la couche précédente sont insérées entre les images de la couche précédente et sont codées par prédiction temporelle par rapport à ces images. Ainsi, dans les schémas de codage classiques de type SVC, en scalibilité SNR ou spatiale, si un bloc courant de la couche de base a été codé en intra image, on dispose du mode de codage intra de cette couche de base au niveau du bloc courant homologue de la couche d'amélioration. Le bloc courant homologue de la couche d'amélioration hérite donc et utilise le mode de codage de la couche de base, encore appelé « base mode ». De telles techniques d'héritage sont notamment décrites dans les documents "Overview of the Scalable Video Coding Extension of the H.264/AVC Standard" (Heiko Schwarz, Detlev Marpe, and Thomas Wiegand, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 17, NO. 9, SEPTEMBRE 2007, pp. 1103-1120) ou US 7,847,861 B2 (J.Zhai, Y.Chen "Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures'). A titre d'exemple, les figures 1A et 1B illustrent respectivement un bloc courant BBL d'une couche de base, et le bloc courant homologue BEL d'une couche d'amélioration, en scalabilité spatiale. Selon la technique d'héritage, chacun des sous-blocs BELO, BEL1, BEL2, BELS du bloc courant homologue BEL de la couche d'amélioration hérite du mode de codage du bloc courant BBL de la couche de base, par exemple le mode 6 (horizontal décalé vers le bas) si l'on considère les modes de codage disponibles pour la prédiction intra de blocs 4x4 ou 8x8 selon la norme AVC/H.264.The invention finds particular applications in any field using video compression. In particular, the invention can be implemented in current or future video encoders / decoders. For example, the invention can be implemented: in homologous coders, used both for the coding of the basic and improvement layers (MPEG4 SVC, SHEVC, etc.), in hybrid encoders of the same "family" , using different techniques for base layer coding and enhancement (eg, base layer encoded in AVC and enhancement layer in HEVC), in hybrid encoders of different families (eg JPEG coded base layer) and stroke enhancement layer or HEVC), etc. The invention also has applications in the field of high dynamic range (HDR) imaging, for coding HDR images from images with lower dynamic range (LDR for "Low Dynamic Range"). Tidy "). 2. Prior Art The principle of "scalability", aimed at providing different levels of reconstruction from a single stream received by a decoder, is well known. A content thus encoded can be adapted according to an available bit rate and / or a target spatio-temporal resolution. Thus, only one encoding is needed to serve clients with different resources. For example, an SVC data stream is organized into data layers, including a H.264 / MPEG-4 AVC compatible base layer, which provides minimal quality and resolution, and one or more layers. improvement. These enhancement layers are added successively to improve: either the quality, adding a quality improvement layer or SNR: in this case, images of the same spatial resolution are encoded by prediction with respect to the images of the previous layer. same moment; the spatial resolution, by adding a spatial enhancement layer: in this case, images of higher spatial resolution are coded by prediction with respect to the images of the previous layer at the same time; or the temporal resolution, by adding a temporal improvement layer: in this case, images of the same spatial resolution as the previous layer are inserted between the images of the previous layer and are coded by temporal prediction with respect to these images. Thus, in standard SVC-type coding schemes, in SNR or spatial scalability, if a current block of the base layer has been coded intra-frame, the intra-coding mode of this base layer at the block level is available. homologous current of the enhancement layer. The homologous current block of the enhancement layer thus inherits and uses the coding mode of the base layer, also called "base mode". Such inheritance techniques are notably described in the documents "Overview of the Scalable Video Coding Extension of the H.264 / AVC Standard" (Heiko Schwarz, Detlev Marpe, and Thomas Wiegand, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 17, 9, September 2007, pp. 1103-1120) or US Pat. By way of example, FIGS. 1A and 1B respectively illustrate a BBL current block of a base layer, and the current BEL homologous block of an enhancement layer, in spatial scalability. sub-blocks BELO, BEL1, BEL2, BELS of the homologous current block BEL of the enhancement layer inherit the encoding mode of the current block BBL of the base layer, for example the mode 6 (horizontal offset downwards) if the available coding modes for block intra prediction 4 are considered x4 or 8x8 according to the AVC / H.264 standard.
En d'autres termes, quelle que soit la qualité de reconstruction d'un bloc BL de la couche de base, l'approche classique propose d'utiliser pour un bloc EL homologue de la couche d'amélioration le mode intra issu de la couche de base, en tant que mode implicite. Or si la couche de base est de mauvaise qualité, le mode hérité n'est pas nécessairement le plus approprié pour la prédiction du bloc EL de la couche d'amélioration, surtout si ce bloc EL est encodé en haute qualité.In other words, whatever the quality of reconstruction of a BL block of the base layer, the conventional approach proposes to use for an EL block homologous to the enhancement layer the intra mode derived from the layer basic, as an implicit mode. However, if the base layer is of poor quality, the inherited mode is not necessarily the most appropriate for the prediction of the EL block of the enhancement layer, especially if this EL block is encoded in high quality.
Ce problème est d'autant plus important en scalabilité SNR, lorsque tous les sous-blocs du bloc EL héritent d'un mode d'un bloc de dimensions supérieures (par exemple si le bloc courant BL de la couche de base est de taille 16x16, et que le bloc homologue EL de la couche d'amélioration est de taille 16x16 et suréchantillonné sous la forme de quatre sous-blocs de taille 8x8 ou de seize sous-blocs de taille 4x4), ou en scalabilité spatiale, lorsque tous les sous-blocs du bloc EL héritent d'un mode d'un bloc de dimensions interpolées (par exemple si le bloc courant BL de la couche de base est de taille 8x8, et que le bloc homologue EL de la couche d'amélioration est de taille 16x16 et interpolé sous la forme de quatre sous-blocs de taille 8x8 ou seize sous-blocs de taille 4x4). Il existe donc un besoin pour une nouvelle technique permettant d'optimiser la détermination du mode de codage d'au moins un bloc de la couche d'amélioration. 3. Exposé de l'invention L'invention propose une nouvelle solution sous la forme d'un procédé de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel procédé met en oeuvre les étapes suivantes, pour au moins un bloc à coder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un codeur : prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite. Ainsi, l'invention repose sur une approche nouvelle et inventive du codage d'images, permettant de sélectionner un ou plusieurs modes de codage basés prédiction intra au niveau d'un bloc courant d'une deuxième image, qui ne soit pas nécessairement le mode de codage hérité du bloc homologue de la première image.This problem is all the more important in SNR scalability, when all the sub-blocks of the EL block inherit a mode of a block of higher dimensions (for example if the current block BL of the base layer is of size 16 × 16 , and that the homologous block EL of the enhancement layer is of size 16x16 and oversampled as four sub-blocks of size 8x8 or sixteen sub-blocks of size 4x4), or in spatial scalability, when all the sub-blocks -blocks of the EL block inherit a mode of a block of interpolated dimensions (for example if the current block BL of the base layer is of size 8x8, and that the homologous block EL of the improvement layer is of size 16x16 and interpolated as four sub-blocks of size 8x8 or sixteen sub-blocks of size 4x4). There is therefore a need for a new technique for optimizing the determination of the coding mode of at least one block of the enhancement layer. 3. DISCLOSURE OF THE INVENTION The invention proposes a new solution in the form of a method for coding video images, delivering a data stream, according to which a video image is associated with a first image and a second image. each block of the first image being associated with at least one corresponding block in the second image. According to the invention, such a method implements the following steps, for at least one block to be coded for the second image, called current block, and for at least two prediction based coding modes belonging to a set of coding modes. available candidates at an encoder: prediction of the current block of the second image, from the causal neighborhood of the current block of the second image, delivering a prediction block associated with one of the coding modes; comparing the prediction block with a version of the current block obtained from the first image, delivering a prediction error associated with the coding mode; selecting one of the coding modes, taking into account the prediction errors, says implicit coding mode. Thus, the invention is based on a new and inventive approach to image coding, making it possible to select one or more intra-prediction based coding modes at a current block of a second image, which is not necessarily the mode encoding inherited from the peer block of the first image.
En particulier, il est possible selon l'invention de sélectionner des modes de codage distincts pour les différents blocs de la deuxième image associés à un même bloc de la première image.In particular, it is possible according to the invention to select different coding modes for the different blocks of the second image associated with the same block of the first image.
De cette façon, il est possible de sélectionner un mode de codage optimal pour le codage d'un bloc courant de la deuxième image, notamment lorsque le mode de codage hérité du bloc homologue de la première image est sous-optimal pour la prédiction du bloc courant de la deuxième image. Le mode de codage utilisé pour le codage d'un bloc de la première image n'impacte donc pas le mode de codage sélectionné pour le codage d'un bloc correspondant de la deuxième image. Le mode de codage utilisé pour le codage d'un bloc de la première image peut donc être de type inter, intra, etc. On note que le voisinage causal du bloc courant est la zone de l'image comprenant les blocs situés avant le bloc courant, selon le sens de parcours de codage et de décodage des blocs dans l'image. En particulier, si le codeur choisit d'utiliser le mode de codage implicite pour coder le bloc courant, le procédé de codage met également en oeuvre des étapes de : détermination d'un résidu de prédiction, par comparaison du bloc courant de la deuxième image et du bloc de prédiction associé au mode de codage sélectionné, et - codage du résidu de prédiction selon le mode de codage. On note que le mode de codage basé prédiction intra sélectionné (mode de codage implicite) peut être mis en concurrence avec d'autres modes de codage, comme des modes de codage intra ou inter. Le codeur peut alors choisir de mettre en oeuvre un codage inter, selon un critère donné, par exemple si un résidu de prédiction obtenu en comparant le bloc courant de la deuxième image et un bloc de prédiction associé au mode de codage inter est inférieur au résidu de prédiction obtenu en comparant le bloc courant de la deuxième image et le bloc de prédiction associé au mode de codage sélectionné.In this way, it is possible to select an optimal coding mode for the coding of a current block of the second image, especially when the coding mode inherited from the homologous block of the first image is sub-optimal for the prediction of the block current of the second image. The coding mode used for the coding of a block of the first image does not therefore impact the coding mode selected for the coding of a corresponding block of the second image. The coding mode used for the coding of a block of the first image can therefore be of inter, intra, etc. type. Note that the causal neighborhood of the current block is the area of the image comprising the blocks located before the current block, according to the direction of coding and decoding of the blocks in the image. In particular, if the coder chooses to use the implicit coding mode to code the current block, the coding method also implements steps of: determining a prediction residue, by comparing the current block of the second image and the prediction block associated with the selected coding mode, and coding the prediction residue according to the coding mode. It is noted that the intra prediction based coding mode selected (implicit coding mode) may be in competition with other coding modes, such as intra or inter coding modes. The encoder can then choose to implement an inter coding, according to a given criterion, for example if a prediction residue obtained by comparing the current block of the second image and a prediction block associated with the inter coding mode is less than the residual prediction obtained by comparing the current block of the second frame and the prediction block associated with the selected coding mode.
En particulier, le flux de données présente une organisation en couches, et la première image appartient à une couche de base et la deuxième image appartient à au moins une couche d'amélioration scalable, où la scalabilité fait référence à une scalabilité SNR, une scalabilité spatiale, et/ou une scalabilité en profondeur de bits (en anglais « bit depth »).In particular, the data flow has a layered organization, and the first image belongs to a base layer and the second image belongs to at least one scalable enhancement layer, where the scalability refers to an SNR scalability, a scalability spatial, and / or bit depth scalability (in English "bit depth").
Ainsi, si l'on se place dans le contexte d'une scalabilité SNR, selon laquelle la première image et la deuxième image font la même taille, mais présentent un pas de quantification différent, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans la première image. Si l'on se place dans le contexte d'une scalabilité spatiale, selon laquelle la première image et la deuxième image présentent des tailles différentes, et des niveaux de résolution différents, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image). Si l'on se place dans le contexte d'une scalabilité en profondeur de bits, selon laquelle la première image et la deuxième image présentent des dynamiques différentes, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un bloc de la première image (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image). Si l'on se place dans le contexte de scalabilités spatiale et en profondeur de bits, selon lesquelles la première image et la deuxième image présentent des dynamiques différentes et des tailles différentes, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant : dans une image intermédiaire obtenue à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image) et d'une interpolation spatiale du sous-bloc obtenu (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image), si l'augmentation de dynamique est mise en oeuvre avant l'interpolation spatiale, ou bien dans une image intermédiaire obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image) et d'une augmentation en profondeur de bits du bloc obtenu (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image), si l'interpolation spatiale est mise en oeuvre avant l'augmentation de dynamique. Selon une caractéristique particulière de l'invention, le procédé de codage comprend une étape d'insertion d'un indicateur dans le flux de données, spécifiant que le mode de codage est implicite. De cette façon, il n'est pas nécessaire de transmettre au décodeur des informations relatives au(x) mode(s) de codage utilisé(s), ce qui évite la transmission d'informations complémentaires et la perte de débit utile. Le décodeur pourra retrouver le(s) mode(s) de codage utilisé(s) en mettant en oeuvre les mêmes étapes qu'au codage. Le mode de codage ainsi mis en oeuvre est un mode implicite, qui ne nécessite aucune information de signalisation. Ce mode de codage, testé côté codeur, est aussi testé côté décodeur. Le décodeur est alors lui-même capable, sans information de signalisation, de retrouver le mode de codage utilisé côté codeur pour coder un bloc courant. En variante, le procédé de codage comprend une étape d'insertion d'un indicateur dans le flux de données, spécifiant le mode de codage sélectionné pour le codage d'un bloc courant de la deuxième image. De cette façon, le décodeur n'a pas besoin de réitérer les étapes de prédiction, comparaison et sélection, ce qui permet de simplifier sa mise en oeuvre. Selon une autre caractéristique de l'invention, l'étape de comparaison détermine une distance entre les pixels du bloc de prédiction et les pixels de la version du bloc courant obtenue à partir de la première image, en utilisant une métrique appartenant au groupe comprenant : une métrique de type « somme du carré des erreurs », une métrique de type « somme des différences absolues » une métrique de type « somme des différences absolues transformées ». On utilise ainsi une telle métrique pour sélectionner le meilleur mode de codage basé prédiction, parmi les modes de codage disponibles au niveau du codeur. Cette sélection permet notamment d'optimiser le codage du résidu de prédiction. Dans un autre mode de réalisation, l'invention concerne un dispositif de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel dispositif de codage comprend les modules suivants, activés pour au moins un bloc à coder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un codeur : un module de prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; un module de comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; un module de sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite.Thus, if one places oneself in the context of an SNR scalability, according to which the first image and the second image have the same size, but have a different quantization step, the "version of the current block obtained from the first image "corresponds to a co-located version of the current block in the first image. If one places oneself in the context of a spatial scalability, according to which the first image and the second image have different sizes, and different levels of resolution, the "version of the current block obtained from the first image" corresponds to a co-located version of the current block in an interpolated image obtained from a spatial interpolation of a sub-block of the first image (according to a sampling ratio defined between the resolution level of the first image and the level of resolution of the second image). In the context of a bit depth scalability, in which the first image and the second image have different dynamics, the "current block version obtained from the first image" corresponds to a version co-located the current block in a larger dynamic image obtained from a depth increment of bits of a block of the first image (according to a ratio defined between the dynamics of the first image and the dynamics of the second image) picture). If one places oneself in the context of spatial scalabilities and bit depths, according to which the first image and the second image have different dynamics and different sizes, the "version of the current block obtained from the first image" corresponds to a co-localized version of the current block: in an intermediate image obtained from a depth increment of bits of a sub-block of the first image (according to a ratio defined between the dynamics of the first image and the dynamic of the second image) and a spatial interpolation of the obtained sub-block (according to a sampling ratio defined between the resolution level of the first image and the resolution level of the second image), if the increase in dynamic is implemented before the spatial interpolation, or in an intermediate image obtained from a spatial interpolation of a sub-block of the first image (according to a report defined between the resolution level of the first image and the resolution level of the second image) and an increase in bit depth of the obtained block (according to a ratio defined between the dynamics of the first image and the dynamics of the second image), if the spatial interpolation is implemented before the dynamic increase. According to a particular characteristic of the invention, the coding method comprises a step of insertion of an indicator in the data stream, specifying that the coding mode is implicit. In this way, it is not necessary to transmit to the decoder information on the mode (s) of coding used (s), which avoids the transmission of additional information and the loss of useful flow. The decoder can find the mode (s) of coding used (s) by implementing the same steps as coding. The encoding mode thus implemented is an implicit mode, which does not require any signaling information. This coding mode, tested on the encoder side, is also tested on the decoder side. The decoder is then itself capable, without signaling information, to find the coding mode used coder side to encode a current block. Alternatively, the encoding method includes a step of inserting an indicator into the data stream, specifying the encoding mode selected for encoding a current block of the second image. In this way, the decoder does not need to repeat the steps of prediction, comparison and selection, which simplifies its implementation. According to another characteristic of the invention, the comparison step determines a distance between the pixels of the prediction block and the pixels of the version of the current block obtained from the first image, by using a metric belonging to the group comprising: a metric of type "sum of the square of the errors", a metric of the type "sum of the absolute differences" a metric of the type "sum of the absolute differences transformed". Thus, such a metric is used to select the best prediction based coding mode, among the coding modes available at the coder. This selection makes it possible in particular to optimize the coding of the prediction residue. In another embodiment, the invention relates to a video image coding device, delivering a data stream, according to which a video image is associated with a first image and a second image, each block of the first image being associated. at least one corresponding block in the second image. According to the invention, such an encoding device comprises the following modules, activated for at least one block to be coded for the second image, called current block, and for at least two prediction based coding modes, belonging to a set of modes of encoding candidates available at an encoder: a prediction module of the current block of the second image, from the causal neighborhood of the current block of the second image, delivering a prediction block associated with one of the coding modes; a module for comparing the prediction block with a version of the current block obtained from the first image, delivering a prediction error associated with the coding mode; a module for selecting one of the coding modes, taking into account the prediction errors, said implicit coding mode.
Un tel dispositif de codage, ou codeur, est notamment adapté à mettre en oeuvre le procédé de codage décrit précédemment.Such a coding device, or coder, is particularly suitable for implementing the coding method described above.
Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de codage. Par conséquent, ils ne sont pas détaillés plus amplement.This device may of course include the various characteristics relating to the coding method according to the invention, which can be combined or taken in isolation. Thus, the features and advantages of this device are the same as those of the coding method. Therefore, they are not detailed further.
En particulier, un tel dispositif de codage comprend un module de détermination d'un résidu de prédiction, par comparaison du bloc courant de la deuxième image et d'un bloc de prédiction, et un module de codage du résidu de prédiction, utilisant le mode de codage implicite si le codeur choisit d'utiliser ce mode de codage. L'invention concerne également un procédé de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel procédé de décodage met en oeuvre les étapes suivantes, pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un décodeur : prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite.In particular, such a coding device comprises a module for determining a prediction residue, by comparing the current block of the second image and a prediction block, and a coding module for the prediction residue, using the prediction residue coding module. implicit encoding if the encoder chooses to use this encoding mode. The invention also relates to a method for decoding coded video images in a data stream, according to which a video image is associated with a first image and a second image, each block of the first image being associated with at least one corresponding block. in the second picture. According to the invention, such a decoding method implements the following steps, for at least one block to be decoded from the second image, called current block, and for at least two prediction based coding modes belonging to a set of modes of coding available candidates at a decoder: prediction of the current block of the second image, from the causal neighborhood of the current block of the second image, delivering a prediction block associated with one of the coding modes; comparing the prediction block with a version of the current block obtained from the first image, delivering a prediction error associated with the coding mode; selecting one of the coding modes, taking into account the prediction errors, says implicit coding mode.
Un tel procédé de décodage est notamment adapté à décoder un flux de données codées selon le procédé de codage décrit ci-dessus. Il présente donc les mêmes caractéristiques et avantages que ceux du procédé de codage présenté ci-dessus. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, si le codeur a choisi d'utiliser le mode de codage implicite pour coder le bloc courant, le procédé de décodage met également en oeuvre des étapes de : décodage d'un résidu de prédiction associé au bloc courant transmis dans le flux, selon le mode de codage sélectionné ; reconstruction du bloc courant, combinant le résidu de prédiction décodé au bloc de prédiction, selon le mode de codage sélectionné.Such a decoding method is particularly suitable for decoding a data stream coded according to the coding method described above. It therefore has the same characteristics and advantages as those of the coding method presented above. Therefore, they are not detailed further. In particular, if the encoder has chosen to use the implicit coding mode to code the current block, the decoding method also implements steps of: decoding a prediction residual associated with the current block transmitted in the stream, according to the selected coding mode; reconstruction of the current block, combining the decoded prediction residue with the prediction block, according to the selected coding mode.
Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel dispositif de décodage comprend les modules suivants, activés pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basé prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un décodeur : un module de prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; un module de comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; - un module de sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite.In another embodiment, the invention relates to a device for decoding video images coded in a data stream, according to which a video image is associated with a first image and a second image, each block of the first image being associated at least one corresponding block in the second image. According to the invention, such a decoding device comprises the following modules, activated for at least one block to be decoded from the second image, called current block, and for at least two prediction based coding modes belonging to a set of modes of coding available candidates at a decoder: a prediction module of the current block of the second image, from the causal neighborhood of the current block of the second image, delivering a prediction block associated with one of the coding modes; a module for comparing the prediction block with a version of the current block obtained from the first image, delivering a prediction error associated with the coding mode; a module for selecting one of the coding modes, taking into account the prediction errors, referred to as the implicit coding mode.
Un tel dispositif de décodage, ou décodeur, est notamment adapté à mettre en oeuvre le procédé de décodage décrit précédemment. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage décrit précédemment, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de décodage. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, un tel dispositif de décodage comprend un module de décodage d'un résidu de prédiction associé au bloc courant, transmis dans le flux, et un module de reconstruction du bloc courant, combinant le résidu de prédiction décodé au bloc de prédiction, utilisant le mode de codage implicite si le codeur a choisi ce mode de codage.Such a decoding device, or decoder, is particularly suitable for implementing the decoding method described above. This device may of course include the various features relating to the decoding method described above, which can be combined or taken in isolation. Thus, the features and advantages of this device are the same as those of the decoding method. Therefore, they are not detailed further. In particular, such a decoding device comprises a decoding module of a prediction residual associated with the current block, transmitted in the stream, and a reconstruction module of the current block, combining the decoded prediction residue with the prediction block, using the default encoding mode if the encoder has chosen this encoding mode.
Dans encore un autre mode de réalisation, l'invention concerne un ou plusieurs programmes d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de codage et/ou des instructions pour la mise en oeuvre d'un procédé de décodage tels que décrits ci-dessus, lorsque ce ou ces programmes sont exécutés par un processeur.In yet another embodiment, the invention relates to one or more computer programs comprising instructions for implementing an encoding method and / or instructions for implementing a decoding method such as: as described above, when this or these programs are executed by a processor.
Les différentes caractéristiques de la présente invention peuvent être mises en oeuvre sous la forme de système, dispositifs, procédés, ou supports lisibles par ordinateur. En conséquence, les différentes caractéristiques de la présente invention peuvent prendre la forme d'une réalisation entièrement matérielle (« hardware »), entièrement logicielle (« software »), ou combinant des aspects logiciels et matériels.The various features of the present invention may be implemented in the form of system, devices, methods, or computer readable media. Accordingly, the various features of the present invention may take the form of a fully hardware ("hardware"), software ("software"), or combination of software and hardware aspects.
Par ailleurs, certaines caractéristiques de la présente invention peuvent prendre la forme d'un support de stockage lisible par ordinateur. Toute combinaison d'un ou plusieurs supports de stockage lisibles par ordinateur peut être utilisée. 4. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : les figures 1A et 1B, décrites en relation avec l'art antérieur, illustrent la technique d'héritage selon l'art antérieur ; la figure 2 présente les principales étapes mises en oeuvre par un procédé de codage selon un mode de réalisation de l'invention ; les figures 3A à 3C illustrent un exemple de mise en oeuvre du procédé de codage selon l'invention ; la figure 4 présente les principales étapes mises en oeuvre par un procédé de décodage selon un mode de réalisation de l'invention ; les figures 5 et 6 illustrent respectivement la structure simplifiée d'un codeur et la structure simplifiée d'un décodeur selon un mode de réalisation particulier de l'invention. 5. Description d'un mode de réalisation de l'invention On cherche selon l'invention à coder un signal décomposé en entités de base. Par exemple, le signal est constitué d'une succession d'images d'une vidéo, ces images étant découpées en entités de codage correspondant à des blocs. On considère également selon l'invention qu'une image vidéo est associée à une première image et à une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant (encore appelé « homologue ») dans la deuxième image. En particulier, la première image appartient à une couche de base et la deuxième image à au moins une couche d'amélioration d'un flux de données scalable, par exemple au sens scalabilité spatiale, SNR, et/ou en profondeur de bits. On cherche notamment, selon l'invention, à améliorer les performances de codage en mode intra, en visant à améliorer la détermination du mode implicite intra du signal concernant la couche d'amélioration, et ainsi à réduire le coût de codage du résidu de prédiction. On considère, au niveau du bloc courant de cette couche d'amélioration, que plusieurs modes de codage sont disponibles, ces modes s'appuyant sur le signal reconstruit environnant (voisin spatialement du signal à coder). Le principe général de l'invention repose sur la détermination d'un mode de codage basé prédiction spécifique aux blocs d'une deuxième image, qui n'est pas nécessairement hérité de la première image. A cette fin, on utilise le voisinage causal reconstruit d'un bloc courant de la deuxième image et une version du bloc courant obtenue à partir de la première image. La figure 2 présente les principales étapes mises en oeuvre par un procédé de codage selon l'invention, pour le codage d'au moins un bloc à coder de la deuxième image, dit bloc courant. Au cours d'une première étape 21, on effectue une prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, i.e. des blocs précédemment codés-décodés de la deuxième image. On obtient, à l'issue de cette étape de prédiction, un bloc de prédiction associé à un mode de codage.In addition, certain features of the present invention may take the form of a computer readable storage medium. Any combination of one or more computer readable storage media may be used. 4. List of Figures Other features and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given as a simple illustrative and non-limiting example, and the accompanying drawings, among which: Figures 1A and 1B, described in relation to the prior art, illustrate the inheritance technique according to the prior art; Figure 2 shows the main steps implemented by a coding method according to one embodiment of the invention; FIGS. 3A to 3C illustrate an example of implementation of the coding method according to the invention; FIG. 4 presents the main steps implemented by a decoding method according to one embodiment of the invention; Figures 5 and 6 respectively illustrate the simplified structure of an encoder and the simplified structure of a decoder according to a particular embodiment of the invention. 5. Description of an Embodiment of the Invention It is sought according to the invention to encode a signal decomposed into basic entities. For example, the signal consists of a succession of images of a video, these images being divided into coding entities corresponding to blocks. It is also considered according to the invention that a video image is associated with a first image and a second image, each block of the first image being associated with at least one corresponding block (also called "homologue") in the second image. In particular, the first image belongs to a base layer and the second image to at least one enhancement layer of a scalable data stream, for example in the spatial scalability, SNR, and / or bit depth direction. In particular, it is sought, according to the invention, to improve the coding performance in intra mode, with a view to improving the determination of the implicit intra mode of the signal relating to the enhancement layer, and thus to reducing the coding cost of the prediction residue. . At the level of the current block of this improvement layer, it is considered that several coding modes are available, these modes being based on the surrounding reconstructed signal (spatially adjacent to the signal to be coded). The general principle of the invention relies on the determination of a prediction mode based on block-specific prediction of a second image, which is not necessarily inherited from the first image. For this purpose, the reconstructed causal neighborhood of a current block of the second image and a version of the current block obtained from the first image are used. FIG. 2 presents the main steps implemented by a coding method according to the invention, for the coding of at least one block to be coded of the second image, called current block. During a first step 21, the current block of the second image is predicted from the causal neighborhood of the current block of the second image, i.e. from the previously coded-decoded blocks of the second image. At the end of this prediction step, a prediction block associated with a coding mode is obtained.
Au cours d'une étape suivante 22, on compare le bloc de prédiction obtenu à une version du bloc courant obtenue à partir de la première image. Une telle « version du bloc courant obtenue à partir de la première image » peut être une version co-localisée du bloc courant dans la première image en scalabilité SNR, une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous- bloc de la première image en scalabilité spatiale, ou encore une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un bloc de la première image, ou encore une version co-localisée du bloc courant dans une image intermédiaire obtenue soit à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale et d'une augmentation en profondeur de bits du bloc obtenu, soit à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image et d'une interpolation spatiale du sous-bloc obtenu. On obtient, à l'issue de cette étape, une erreur de prédiction associée au mode de codage utilisé pour déterminer le bloc de prédiction. Ces différentes étapes de prédiction et comparaison peuvent être réitérées pour les différents modes de codage basé prédiction disponibles au niveau du codeur. On dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. Au cours d'une étape suivante 23, on sélectionne un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne le mode de codage offrant l'erreur de prédiction la plus faible. Si le codeur choisit d'utiliser le mode de codage implicite, on détermine ensuite, au cours d'une étape 24, un résidu de prédiction, par comparaison du bloc courant de la deuxième image et du bloc de prédiction associé au mode de codage sélectionné, et on code, au cours d'une étape 25, le résidu de prédiction selon le mode de codage sélectionné. On rappelle en effet que le mode de codage ainsi sélectionné peut être mis en concurrence avec d'autres modes de codage, comme les autres modes de codage intra ou inter. Le codeur peut alors choisir de mettre en oeuvre un autre mode de codage, et de déterminer et coder le résidu de prédiction en conséquence. Le résidu peut ainsi être transmis à un décodeur, et/ou stocké pour une transmission ultérieure.In a next step 22, the prediction block obtained is compared to a version of the current block obtained from the first image. Such "version of the current block obtained from the first image" may be a co-located version of the current block in the first scalability image SNR, a co-localized version of the current block in an interpolated image obtained from a spatial interpolation of a sub-block of the first spatial scalability image, or a co-localized version of the current block in a larger dynamic image obtained from a bit depth increase of a block of the first image, or a co-located version of the current block in an intermediate image obtained from a spatial interpolation of a sub-block of the first spatial scalability image and a bit depth increase of the block obtained, either from a depth increment of bits of a sub-block of the first image and a spatial interpolation of the sub-block obtained. At the end of this step, a prediction error associated with the coding mode used to determine the prediction block is obtained. These different stages of prediction and comparison can be repeated for the various coding modes based on prediction available at the coder. There is thus a set of prediction errors each associated with a separate coding mode. In a next step 23, one of the coding modes is selected, taking into account the prediction errors. For example, the coding mode with the lowest prediction error is selected. If the coder chooses to use the implicit coding mode, then during a step 24, a prediction residue is determined by comparing the current block of the second picture and the prediction block associated with the selected coding mode. , and during a step 25, the prediction residue is coded according to the selected coding mode. It is recalled that the encoding mode thus selected can be put in competition with other modes of coding, as other modes of intra or inter coding. The encoder can then choose to implement another mode of coding, and to determine and code the prediction residue accordingly. The residue can thus be transmitted to a decoder, and / or stored for subsequent transmission.
On illustre ci-après, en relation avec les figures 3A à 3C, les principales étapes du procédé de codage selon l'invention, dans un contexte de scalabilité spatiale. On se place à titre d'exemple dans le contexte du codage AVC/SVC, mais l'invention peut être généralisée à d'autres schémas de codage, comme par exemple H EVC. Dans AVC/H.264, en mode intra, la prédiction intra spatiale s'appuie sur les pixels voisins déjà codés de la même tranche (« slice »). Par exemple, pour la luminance, il existe huit modes de prédiction directionnelle plus un mode moyenné (DC) pour le codage des blocs 4x4 et 8x8. Ainsi dans AVC/H.264 la prédiction spatiale est réalisée dans le domaine pixel et consiste à prédire l'ensemble des pixels d'un bloc à l'aide d'une combinaison des pixels.The main steps of the coding method according to the invention are illustrated below, in relation to FIGS. 3A to 3C, in a context of spatial scalability. It is an example in the context of AVC / SVC coding, but the invention can be generalized to other coding schemes, such as H EVC. In AVC / H.264, in intra mode, the intra-spatial prediction is based on the already coded neighboring pixels of the same slice. For example, for luminance, there are eight directional prediction modes plus one averaged mode (DC) for encoding 4x4 and 8x8 blocks. Thus in AVC / H.264 spatial prediction is performed in the pixel domain and consists in predicting the set of pixels of a block using a combination of pixels.
On considère qu'une image vidéo est associée à une première image 11, de taille MxN, à une résolution BL, et à une deuxième image 12, de taille par exemple 2Mx2N, à une résolution EL. Un bloc de base BBL de taille 8x8 de la première image, illustré en figure 3A, est par exemple associé à un bloc amélioré BEL de taille 16x16 formé de quatre blocs BELO, BEL1, BEL2 et BELS de taille 8x8 de la deuxième image, illustrée en figure 3B. On cherche selon l'invention à coder le bloc BELO de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Les pixels reconstruits à la résolution BL sont illustrés en pointillés sur la figure 3A.It is considered that a video image is associated with a first image 11, of size MxN, at a resolution BL, and a second image 12, of size for example 2Mx2N, at a resolution EL. A BBL base block of size 8x8 of the first image, illustrated in FIG. 3A, is for example associated with an improved block BEL of size 16x16 formed of four BELO, BEL1, BEL2 and BELS blocks of size 8x8 of the second image, illustrated in Figure 3B. It is sought according to the invention to code the BELO block of the second image, also called current block. It is considered that the BBL base block of the first picture has been previously coded / decoded. Pixels reconstructed at BL resolution are shown in dashed lines in Figure 3A.
Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc courant BELO, à partir du voisinage causal du bloc courant BELO, en hachuré sur la figure 3B. Le voisinage causal correspond aux pixels reconstruits à la résolution EL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. Le bloc de base BBL de la première image est par ailleurs interpolé, en utilisant le même rapport d'échantillonnage qu'entre les première et deuxième images, de façon à obtenir un bloc interpolé BBLup de même taille que le bloc amélioré BEL de la deuxième image (ou, de façon similaire, on interpole un sous-bloc BBLO de taille 4x4 de la première image pour obtenir un bloc interpolé BBLup0 homologue au bloc courant BELO). Les pixels interpolés à la résolution EL issus du bloc interpolé BBLup sont illustrés en pointillés sur la figure 3B.To do this, as described in connection with FIG. 2, a prediction of the current block BELO is first made from the causal neighborhood of the current block BELO, hatched in FIG. 3B. The causal neighborhood corresponds to the pixels reconstructed at the EL resolution. The prediction block obtained by using the coding mode mj is written Pj. The BBL base block of the first image is also interpolated, using the same sampling ratio as between the first and second images, so as to obtain a BBLup interpolated block of the same size as the improved block BEL of the second image. image (or, similarly, a 4 × 4 BBLO sub-block of the first image is interpolated to obtain an interpolated block BBLup0 homologous to the current block BELO). The pixels interpolated at the EL resolution from the BBLup interpolated block are shown in dashed lines in FIG. 3B.
On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj à une version co-localisée du bloc BELO dans l'image interpolée, i.e. au bloc interpolé BBLupo, de façon à obtenir une erreur de prédiction ENj. Par exemple, pour chacun des modes de codage mj d'un ensemble S {mo, ...,m,i} de modes de codage disponibles au niveau du codeur, on détermine une énergie en utilisant une métrique de type « somme du carré des erreurs » (SSE), de type somme des différences absolues » (SAD), de type « somme des différences absolues transformées » (SATD), ou autre. A titre d'exemple, l'énergie du mode de codage mj est l'énergie de l'erreur de prédiction sur le bloc interpolé BBLupO, calculée par exemple selon la formule suivante : EN- = (Yup(p) - Pj (P)) 2 PEBBLup0 où : p représente la position d'un pixel contenu dans chacun des blocs interpolé BBLupo et de prédiction Pj, Yup(p) est la valeur de luminance du bloc interpolé BBLupo, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. On peut alors sélectionner un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne celui (Jmode) qui engendre l'énergie de l'erreur de prédiction minimum parmi un ensemble de N modes possibles, et qui permet donc de réduire le coût de codage du résidu de prédiction, de la façon suivante : imode = argminitENil Pour le meilleur mode de codage parmi ceux disponibles de l'ensemble S, on détermine un résidu de prédiction, en comparant le bloc courant BELO de la deuxième image et le bloc de prédiction associé au mode de codage sélectionné, et on code le résidu de prédiction selon le mode de codage sélectionné, si le codeur choisit ce mode de codage. Comme illustré en figure 3C, le bloc BELO de la deuxième image appartient alors au voisinage causal du bloc BEL1, et peut être utilisé pour la prédiction du bloc BEL1, en réitérant les étapes ci-dessus. On a présenté ci-dessus un exemple dans un contexte de scalabilité spatiale. L'invention peut également être mise en oeuvre dans un contexte de scalabilité SNR.It is then possible to compare, for each coding mode mj, the prediction block Pj with a co-located version of the block BELO in the interpolated image, i.e. at the interpolated block BBLupo, so as to obtain a prediction error ENj. For example, for each of the coding modes mj of a set S {mo, ..., m, i} of coding modes available at the coder, an energy is determined using a metric of "sum of the square" type. errors "(SSE), sum type of absolute differences" (SAD), type "sum of transformed absolute differences" (SATD), or other. By way of example, the energy of the coding mode mj is the energy of the prediction error on the interpolated block BBLupO, calculated for example according to the following formula: EN- = (Yup (p) - Pj (P )) 2 PEBBLup0 where: p represents the position of a pixel contained in each of the interpolated BBLupo blocks and prediction Pj, Yup (p) is the luminance value of the interpolated block BBLupo, Pj (p) is the value of the pixel of prediction belonging to the prediction block from the neighborhood EL reconstructed via the mode mj. By repeating these prediction and comparison steps, one thus has a set of prediction errors each associated with a distinct coding mode. One can then select one of the coding modes, taking into account the prediction errors. For example, one selects the one (Jmode) which generates the energy of the minimum prediction error among a set of N possible modes, and which thus makes it possible to reduce the coding cost of the prediction residue, in the following way: imode = argminitENil For the best coding mode among those available in the set S, a prediction residue is determined by comparing the current block BELO of the second image with the prediction block associated with the selected coding mode, and the prediction residual according to the encoding mode selected, if the encoder chooses this encoding mode. As illustrated in FIG. 3C, the block BELO of the second image then belongs to the causal neighborhood of the block BEL1, and can be used for the prediction of the block BEL1, by repeating the steps above. An example has been presented in a context of spatial scalability. The invention can also be implemented in an SNR scalability context.
Dans ce cas, un bloc de base BBL de taille 16x16 d'une première image est par exemple associé à un bloc amélioré BEL de taille 16x16, composé de quatre blocs de taille 8x8 d'une deuxième image. On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj.In this case, a BBL base block of size 16 × 16 of a first image is for example associated with an improved block BEL of size 16 × 16, composed of four blocks of size 8 × 8 of a second image. It is sought according to the invention to code the improved block BEL of the second image, also called current block. It is considered that the BBL base block of the first picture has been previously coded / decoded. To do this, as described with reference to FIG. 2, a prediction of the improved block BEL is first made from the causal neighborhood of the improved block BEL. The prediction block obtained by using the coding mode mj is written Pj.
On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc BBL de la première image, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : EN; = (Yup(p) - P (p)) 2 PEBBL où : p représente la position d'un pixel contenu dans chacun des blocs de base BBL et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de base BBL, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant, si le codeur choisit ce mode de codage.One can then compare, for each coding mode mj, the prediction block Pj BBL block of the first image, so as to obtain a prediction error ENj, for example using the above equation: EN; = (Yup (p) - P (p)) 2 PEBBL where: p represents the position of a pixel contained in each of the basic blocks BBL and prediction Pj, Yup (p) is the luminance value of the base block BBL, Pj (p) is the value of the prediction pixel belonging to the prediction block coming from the neighborhood EL reconstructed via the mode mj. By repeating these prediction and comparison steps, there is thus a set of prediction errors each associated with a distinct coding mode, and one of the coding modes can be selected, taking into account the prediction errors. as described above in a context of spatial scalability, then use this coding mode to code the prediction residue associated with this current improved BEL block, if the coder chooses this coding mode.
De la même façon, l'invention peut être mise en oeuvre dans un contexte de scalabilité en profondeur de bits. Dans ce cas, un bloc de base BBL à faible dynamique d'une première image (LDR par exemple) est par exemple associé à un bloc amélioré BEL à forte dynamique d'une deuxième image (HDR par exemple).In the same way, the invention can be implemented in a bit depth scalability context. In this case, a low-dynamic base BBL block of a first image (LDR for example) is for example associated with an improved block BEL with a high dynamic range of a second image (HDR for example).
On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj.It is sought according to the invention to code the improved block BEL of the second image, also called current block. It is considered that the BBL base block of the first picture has been previously coded / decoded. To do this, as described with reference to FIG. 2, a prediction of the improved block BEL is first made from the causal neighborhood of the improved block BEL. The prediction block obtained by using the coding mode mj is written Pj.
La profondeur binaire du bloc de base BBL de la première image est par ailleurs augmentée, en utilisant le même rapport de dynamique qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée BBLHDR, de même profondeur de bits que le bloc amélioré BEL. On utilise, par exemple, pour ce faire : un décalage par la gauche en bits (« shift » en anglais), correspondant à un facteur multiplicatif, dans le cadre de la scalabilté en profondeur de bits ; ce décalage étant de valeur égale à la différence de profondeur de bits entre la deuxième image et la première image, ou une technique de type « Tone mapping inverse», appliquée sur les blocs de la première image de façon à revenir dans le domaine de définition de la deuxième image comme cela est proposé par exemple dans l'article : A. Segall, « Scalable Coding of High Dynamic Range Video » Proc. ICI P, pp.1-4, Sept.-Oct. 2007. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc de profondeur de bits augmentée BBLHDR, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : ENS = (Yup (P) Pi (1)))Z PEBBLHDR où : p représente la position d'un pixel contenu dans chacun des blocs de profondeur de bits augmentée BBLHDR et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de profondeur de bits augmentée BBLHDR, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant, si le codeur choisit ce mode de codage. L'invention peut encore être mise en oeuvre dans un contexte de scalabilités spatiale et en profondeur de bits. Dans ce cas, un bloc de base BBL à faible dynamique d'une première image (LDR par exemple) de taille MxN est par exemple associé à un bloc amélioré BEL à forte dynamique d'une deuxième image (HDR par exemple) de taille par exemple 2Mx2N, à une résolution EL.The bit depth of the BBL base block of the first image is further increased, using the same dynamic ratio as between the first and second images, so as to obtain an increased bit depth block BBLHDR of the same depth of bits that the block improved BEL. One uses, for example, to do this: an offset by the left in bits ("shift" in English), corresponding to a multiplicative factor, in the context of scalability in bit depth; this offset being of equal value to the difference in bit depth between the second image and the first image, or a technique of the "reverse tone mapping" type, applied to the blocks of the first image so as to return to the definition domain of the second image as proposed for example in the article: A. Segall, "Scalable Coding of High Dynamic Range Video" Proc. ICI P, pp.1-4, Sept.-Oct. 2007. We can then compare, for each coding mode mj, the prediction block Pj to the increased bit depth block BBLHDR, so as to obtain a prediction error ENj, for example by using the preceding equation: ENS = ( Yup (P) Pi (1))) Z PEBBLHDR where: p represents the position of a pixel contained in each of the BBLHDR increased bit depth blocks and the prediction Pj, Yup (p) is the luminance value of the block of Increased bit depth BBLHDR, Pj (p) is the value of the prediction pixel belonging to the prediction block derived from the neighborhood EL reconstructed via the mode mj. By repeating these prediction and comparison steps, there is thus a set of prediction errors each associated with a distinct coding mode, and one of the coding modes can be selected, taking into account the prediction errors. as described above in a context of spatial scalability, then use this coding mode to code the prediction residue associated with this current improved BEL block, if the coder chooses this coding mode. The invention can also be implemented in a context of spatial scalability and bit depth. In this case, a low dynamic base BBL block of a first image (LDR for example) of size MxN is for example associated with an improved block BEL with high dynamics of a second image (HDR for example) of size by example 2Mx2N, at an EL resolution.
On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. La profondeur binaire du bloc de base BBL de la première image est par ailleurs augmentée, en utilisant le même rapport de dynamique qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée BBLHDR, de même profondeur de bits que le bloc amélioré BEL. On utilise par exemple, pour ce faire un décalage par la gauche en bits, ou une technique de type « Tone mapping inverse», comme décrit précédemment. Ce bloc de base BBLHDR est par ailleurs interpolé, en utilisant le même rapport d'échantillonnage qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée interpolé BBLHDRup de même taille que le bloc amélioré BEL de la deuxième image. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc de profondeur de bits augmentée et spatialement interpolé BBLHDRup, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : EN = (Y.,(p)-P,())) 2 PEBBLHDRup où : p représente la position d'un pixel contenu dans chacun des blocs de profondeur de bits augmentée interpolés BBLHDRup et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de profondeur de bits augmentée et spatialement interpolé BBLHDRup, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant si le codeur choisit ce mode de codage. On présente désormais, en relation avec la figure 4, les principales étapes mises en oeuvre par un procédé de décodage selon l'invention, pour le décodage d'au moins un bloc à décoder de la deuxième image, dit bloc courant.It is sought according to the invention to code the improved block BEL of the second image, also called current block. It is considered that the BBL base block of the first picture has been previously coded / decoded. To do this, as described with reference to FIG. 2, a prediction of the improved block BEL is first made from the causal neighborhood of the improved block BEL. The prediction block obtained by using the coding mode mj is written Pj. The bit depth of the BBL base block of the first image is further increased, using the same dynamic ratio as between the first and second images, so as to obtain an increased bit depth block BBLHDR of the same depth of bits that the block improved BEL. For example, an offset by the left in bits is used, for example, or a technique of the "reverse tone mapping" type, as previously described. This base block BBLHDR is also interpolated, using the same sampling ratio as between the first and second images, so as to obtain an interpolated BBLHDRup enhanced bit depth block of the same size as the improved block BEL of the second image. It is then possible to compare, for each coding mode mj, the prediction block Pj with the increased and spatially interpolated bit depth block BBLHDRup, so as to obtain a prediction error ENj, for example by using the preceding equation: (Y., (P) -P, ())) 2 PEBBLHDRup where: p represents the position of a pixel contained in each of the BBLHDRup interpolated enhanced bit depth blocks and the prediction Pj, Yup (p) is the value luminance of the augmented and spatially interpolated bit depth block BBLHDRup, Pj (p) is the value of the prediction pixel belonging to the prediction block derived from the neighborhood EL reconstructed via the mode mj. By repeating these prediction and comparison steps, there is thus a set of prediction errors each associated with a distinct coding mode, and one of the coding modes can be selected, taking into account the prediction errors. as described above in a context of spatial scalability, then use this coding mode to code the prediction residue associated with this current improved BEL block if the coder chooses this coding mode. The main steps implemented by a decoding method according to the invention, for the decoding of at least one block to be decoded from the second image, said current block, are now presented in relation with FIG.
On considère qu'un décodeur reçoit un flux de données, portant des données représentatives d'au moins une première image et une deuxième images associées à une même image vidéo. Au cours d'une première étape 41, on effectue une prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, i.e. des blocs précédemment codés-décodés de la deuxième image. On obtient, à l'issue de cette étape de prédiction, un bloc de prédiction associé à un mode de codage. Au cours d'une étape suivante 42, on compare le bloc de prédiction obtenu à une version du bloc courant obtenue à partir de la première image. Une telle « version du bloc courant obtenue à partir de la première image » peut être une version co-localisée du bloc courant dans la première image en scalabilité SNR, une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale, ou encore une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image, ou encore une version co-localisée du bloc courant dans une image intermédiaire obtenue soit à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale et d'une augmentation en profondeur de bits du bloc obtenu, soit à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image et d'une interpolation spatiale du sous-bloc obtenu. On obtient, à l'issue de cette étape, une erreur de prédiction associée au mode de codage utilisé pour déterminer le bloc de prédiction. Ces différentes étapes de prédiction et comparaison peuvent être réitérées pour les différents modes de codage basé prédiction disponibles au niveau du décodeur. On dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. Au cours d'une étape suivante 43, on sélectionne un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne le mode de codage offrant l'erreur de prédiction la plus faible. Le résidu de prédiction associé au bloc courant, transmis dans le flux F, peut alors être décodé, au cours d'une étape 44, en utilisant le mode de codage sélectionné, si le codeur a choisi d'utiliser le mode de codage sélectionné. Au cours d'une étape 45, le bloc courant peut être reconstruit en combinant le résidu de prédiction décodé au bloc de prédiction, selon le mode de codage sélectionné, sélectionné, si le codeur a choisi d'utiliser le mode de codage sélectionné.A decoder is considered to receive a data stream carrying data representative of at least a first image and a second image associated with the same video image. During a first step 41, the current block of the second image is predicted from the causal neighborhood of the current block of the second image, i.e. from the previously coded-decoded blocks of the second image. At the end of this prediction step, a prediction block associated with a coding mode is obtained. In a next step 42, the prediction block obtained is compared to a version of the current block obtained from the first image. Such "version of the current block obtained from the first image" may be a co-located version of the current block in the first scalability image SNR, a co-localized version of the current block in an interpolated image obtained from a spatial interpolation of a sub-block of the first spatial scalability image, or a co-located version of the current block in a larger dynamic image obtained from a bit depth increase of a sub-block block of the first image, or a co-localized version of the current block in an intermediate image obtained either from a spatial interpolation of a sub-block of the first image in spatial scalability and from a depth increase of bits of the block obtained, either from a depth increment of bits of a sub-block of the first image and a spatial interpolation of the sub-block obtained. At the end of this step, a prediction error associated with the coding mode used to determine the prediction block is obtained. These different stages of prediction and comparison can be repeated for the different prediction based coding modes available at the decoder. There is thus a set of prediction errors each associated with a separate coding mode. During a next step 43, one of the coding modes is selected, taking into account the prediction errors. For example, the coding mode with the lowest prediction error is selected. The prediction residue associated with the current block, transmitted in the stream F, can then be decoded, during a step 44, using the selected coding mode, if the coder has chosen to use the selected coding mode. During a step 45, the current block can be reconstructed by combining the decoded prediction residue with the prediction block, according to the selected selected coding mode, if the coder has chosen to use the selected coding mode.
On note que les étapes de prédiction, comparaison et sélection sont similaires à celles mises en oeuvre au codage. Elles ne sont donc pas décrites plus en détails.It should be noted that the steps of prediction, comparison and selection are similar to those implemented in the coding. They are therefore not described in more detail.
De cette façon, le codeur et le décodeur vont chacun déterminer le mode de codage à utiliser pour coder/décoder les différents blocs de la couche d'amélioration, et il n'est pas nécessaire de transmettre d'informations supplémentaires nécessaire à la description du ou des mode(s) de codage utilisé(s) pour les différents blocs, une fois que le décodeur est informé qu'il s'agit d'un mode implicite. On économise ainsi en syntaxe. Comme déjà indiqué, l'invention peut être utilisée dans des codeurs homologues, hybrides de même famille, ou hybride de familles différentes. L'invention s'applique également pour des blocs de la couche d'amélioration dont le bloc homologue de la couche de base a été codé en mode inter image, et qui ne propose donc pas de mode intra, ceci pour les standards autres que Mpeg 4 SVC. L'invention s'applique encore pour le codage HDR, via une couche de base ayant subi une opération de « Tone mapping ». On présente finalement, en relation avec les figures 5 et 6 respectivement, la structure simplifiée d'un codeur mettant en oeuvre une technique de codage selon un mode de réalisation particulier de l'invention et la structure d'un décodeur mettant en oeuvre une technique de décodage selon un mode de réalisation particulier de l'invention. Comme illustré en figure 5, un tel codeur comprend une mémoire 51 comprenant une mémoire tampon, une unité de traitement 52, équipée par exemple d'un microprocesseur ItP et pilotée par le programme d'ordinateur 53, mettant en oeuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 53 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 52. L'unité de traitement 52 reçoit en entrée au moins une première image 11 et au moins une deuxième image 12 correspondant à une même image vidéo. Le microprocesseur de l'unité de traitement 52 met en oeuvre les étapes du procédé de codage décrit précédemment, selon les instructions du programme d'ordinateur 53, pour sélectionner un mode de codage pour coder au moins un bloc courant de la deuxième image, et coder le résidu de prédiction associé. Pour cela, le codeur comprend en outre : un module de prédiction 54 du bloc courant, un module de comparaison 55 du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, un module de sélection 56 d'un mode de codage, un module de détermination 57 d'un résidu de prédiction, et un module de codage 58 du résidu de prédiction. Ces modules sont pilotés par le microprocesseur de l'unité de traitement 52. Comme illustré en figure 6, un décodeur selon un mode de réalisation particulier de l'invention comprend quant à lui une mémoire 61 comprenant une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur pP, et pilotée par le programme d'ordinateur 63, mettant en oeuvre le procédé de décodage décrit précédemment. A l'initialisation, les instructions de code du programme d'ordinateur 63 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 62. L'unité de traitement 62 reçoit en entrée un flux de données. Le microprocesseur de l'unité de traitement 62 met en oeuvre les étapes du procédé de décodage décrit précédemment, selon les instructions du programme d'ordinateur 63, pour sélectionner un mode de codage pour décoder au moins un bloc courant de la deuxième image, et décoder le résidu de prédiction associé. Pour cela, le décodeur comprend en outre : un module de prédiction 64 du bloc courant de la deuxième image, un module de comparaison 65 du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, un module de sélection 66 d'un mode de codage, un module de décodage 67 d'un résidu de prédiction associé au bloc courant et un module de reconstruction 68 du bloc courant. Ces modules sont pilotés par le microprocesseur de l'unité de traitement 62.15In this way, the coder and the decoder will each determine the coding mode to be used to code / decode the different blocks of the enhancement layer, and it is not necessary to transmit additional information necessary for the description of the enhancement layer. or encoding mode (s) used for the different blocks, once the decoder is informed that it is an implicit mode. This saves in syntax. As already indicated, the invention can be used in homologous, hybrid, family or hybrid encoders of different families. The invention also applies to blocks of the enhancement layer whose homologous block of the base layer has been coded in inter-image mode, and which therefore does not propose an intra mode, for standards other than Mpeg. 4 SVC. The invention is still applicable for HDR coding, via a base layer having undergone a "Tone mapping" operation. Finally, with reference to FIGS. 5 and 6 respectively, the simplified structure of an encoder implementing a coding technique according to a particular embodiment of the invention and the structure of a decoder implementing a technique are presented. decoding according to a particular embodiment of the invention. As illustrated in FIG. 5, such an encoder comprises a memory 51 comprising a buffer memory, a processing unit 52, equipped for example with an ItP microprocessor and controlled by the computer program 53, implementing the coding method according to FIG. the invention. At initialization, the code instructions of the computer program 53 are for example loaded into a RAM before being executed by the processor of the processing unit 52. The processing unit 52 receives as input at least a first image 11 and at least a second image 12 corresponding to the same video image. The microprocessor of the processing unit 52 implements the steps of the coding method described above, according to the instructions of the computer program 53, for selecting an encoding mode for coding at least one current block of the second image, and encode the associated prediction residue. For this purpose, the encoder further comprises: a prediction module 54 of the current block, a comparison module 55 of the prediction block with a version of the current block obtained from the first image, a selection module 56 of a mode coding, a determination module 57 of a prediction residue, and a coding module 58 of the prediction residue. These modules are controlled by the microprocessor of the processing unit 52. As illustrated in FIG. 6, a decoder according to one particular embodiment of the invention comprises a memory 61 comprising a buffer memory, a processing unit 62 , equipped for example with a microprocessor pP, and driven by the computer program 63, implementing the decoding method described above. At initialization, the code instructions of the computer program 63 are for example loaded into a RAM memory before being executed by the processor of the processing unit 62. The processing unit 62 receives as input a stream of data. The microprocessor of the processing unit 62 implements the steps of the decoding method described above, according to the instructions of the computer program 63, for selecting an encoding mode for decoding at least one current block of the second image, and decode the associated prediction residue. For this purpose, the decoder further comprises: a prediction module 64 of the current block of the second image, a comparison module 65 of the prediction block with a version of the current block obtained from the first image, a selection module 66 a coding mode, a decoding module 67 of a prediction residue associated with the current block and a reconstruction module 68 of the current block. These modules are controlled by the microprocessor of the 62.15 processing unit
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1454502A FR3012935A1 (en) | 2014-05-20 | 2014-05-20 | METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1454502A FR3012935A1 (en) | 2014-05-20 | 2014-05-20 | METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3012935A1 true FR3012935A1 (en) | 2015-05-08 |
Family
ID=51352607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1454502A Pending FR3012935A1 (en) | 2014-05-20 | 2014-05-20 | METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3012935A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006109985A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding |
WO2007008286A1 (en) * | 2005-07-11 | 2007-01-18 | Thomson Licensing | Method and apparatus for macroblock adaptive inter-layer intra texture prediction |
US20070025439A1 (en) * | 2005-07-21 | 2007-02-01 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signal according to directional intra-residual prediction |
US20100111167A1 (en) * | 2006-12-14 | 2010-05-06 | Yu Wen Wu | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction |
WO2013162249A1 (en) * | 2012-04-23 | 2013-10-31 | 엘지전자 주식회사 | Video-encoding method, video-decoding method, and apparatus implementing same |
US20140064360A1 (en) * | 2012-08-31 | 2014-03-06 | Qualcomm Incorporated | Intra prediction improvements for scalable video coding |
-
2014
- 2014-05-20 FR FR1454502A patent/FR3012935A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006109985A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding |
WO2007008286A1 (en) * | 2005-07-11 | 2007-01-18 | Thomson Licensing | Method and apparatus for macroblock adaptive inter-layer intra texture prediction |
US20070025439A1 (en) * | 2005-07-21 | 2007-02-01 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signal according to directional intra-residual prediction |
US20100111167A1 (en) * | 2006-12-14 | 2010-05-06 | Yu Wen Wu | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction |
WO2013162249A1 (en) * | 2012-04-23 | 2013-10-31 | 엘지전자 주식회사 | Video-encoding method, video-decoding method, and apparatus implementing same |
US20140064360A1 (en) * | 2012-08-31 | 2014-03-06 | Qualcomm Incorporated | Intra prediction improvements for scalable video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI615021B (en) | Optimizations on inter-layer prediction signaling for multi-layer video coding | |
FR2947134A1 (en) | METHODS OF ENCODING AND DECODING IMAGES, CODING AND DECODING DEVICES, DATA STREAMS AND CORRESPONDING COMPUTER PROGRAM. | |
WO2019184639A1 (en) | Bi-directional inter-frame prediction method and apparatus | |
WO2015197945A1 (en) | Method for encoding a digital image, and associated decoding method, devices and computer programmes | |
FR2894421A1 (en) | METHOD AND DEVICE FOR DECODING A VIDEO STREAM CODE FOLLOWING A HIERARCHICAL CODING | |
WO2010149914A1 (en) | Methods of coding and decoding images, corresponding devices for coding and decoding, and computer program | |
FR3008840A1 (en) | METHOD AND DEVICE FOR DECODING A SCALABLE TRAIN REPRESENTATIVE OF AN IMAGE SEQUENCE AND CORRESPONDING ENCODING METHOD AND DEVICE | |
FR3029333A1 (en) | METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS | |
EP2761871B1 (en) | Decoder side motion estimation based on template matching | |
EP3972247B1 (en) | Method for encoding and decoding of images, corresponding device for encoding and decoding of images and computer programs | |
EP2633686B1 (en) | Scalable video encoding using a hierarchical epitome | |
FR3012935A1 (en) | METHOD AND DEVICE FOR ENCODING VIDEO IMAGES, METHOD AND DEVICE FOR DECODING DATA STREAM, COMPUTER PROGRAM AND CORRESPONDING STORAGE MEDIUM | |
FR3086485A1 (en) | METHODS AND DEVICES FOR ENCODING AND DECODING A DATA FLOW REPRESENTATIVE OF AT LEAST ONE IMAGE. | |
FR3030976A1 (en) | METHOD FOR ENCODING A DIGITAL IMAGE, DECODING METHOD, DEVICES AND COMPUTER PROGRAMS | |
FR3062010A1 (en) | METHODS AND DEVICES FOR ENCODING AND DECODING A DATA STREAM REPRESENTATIVE OF AN IMAGE SEQUENCE | |
WO2020161413A1 (en) | Methods and devices for coding and decoding a data stream representing at least one image | |
WO2020058595A1 (en) | Methods and devices for encoding and decoding a data stream representing at least one image | |
FR3086486A1 (en) | METHODS AND DEVICES FOR ENCODING AND DECODING A DATA FLOW REPRESENTATIVE OF AT LEAST ONE IMAGE. | |
WO2018167419A1 (en) | Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs | |
FR3098070A1 (en) | Video encoding and decoding method by signaling a candidate subset | |
FR3010605A1 (en) | METHOD FOR ENCODING AND DECODING FLOATING DATA OF AN IMAGE BLOCK AND ASSOCIATED DEVICES |