EP2901697A1 - Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants - Google Patents

Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants

Info

Publication number
EP2901697A1
EP2901697A1 EP13770443.3A EP13770443A EP2901697A1 EP 2901697 A1 EP2901697 A1 EP 2901697A1 EP 13770443 A EP13770443 A EP 13770443A EP 2901697 A1 EP2901697 A1 EP 2901697A1
Authority
EP
European Patent Office
Prior art keywords
block
patch
image
prediction
predicted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP13770443.3A
Other languages
German (de)
English (en)
Inventor
Dominique Thoreau
Safa Cherigui
Alain Martin
Philippe Guillotel
Christine Guillemot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital VC Holdings Inc
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR1261403A external-priority patent/FR2991843A1/fr
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of EP2901697A1 publication Critical patent/EP2901697A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the invention relates to the general field of image coding and more particularly to that of inter-image prediction.
  • Inter-image prediction is about taking advantage of the time redundancies that exist between consecutive frames of a video to achieve high compression rates of that video.
  • the principle of inter-image prediction is to divide a current image into a block or macroblock. Then, the coder finds a similar block in another image (previous or future) of the video. This other image is usually called a reference image. The encoder then encodes a motion vector that defines the position of the block found in said reference image (s) from the block to be predicted. The encoder then calculates the difference between these two blocks and codes the prediction error. The motion vector and the prediction error are then transmitted to the decoder which can thus reconstruct the block.
  • Video coding / decoding schemes that use this type of method. These include MPEG-2 standards (ISO / IEC JTC1 / SC29 / WG1 1 MPEG00 / October 2000, Coding of moving pictures and audio), MPEG-4 / AVC (T. Wiegand, GJ Sullivan, G. Bjontegaard , A. Luthra, "Overview of the H.264 / AVC” Circuits and Systems for Video Technology, IEEE Transactions, Vo 13.7, 560-576, July 2003, or HEVC (ITU-T Q.6 / SG and ISO / IEC Moving Picture Experts Group (ISO / IEC JTC 1 / SC 29 / WG 1 1).
  • MPEG-2 standards ISO / IEC JTC1 / SC29 / WG1 1 MPEG00 / October 2000, Coding of moving pictures and audio
  • MPEG-4 / AVC T. Wiegand, GJ Sullivan, G. Bjontegaard , A. Luthra, "Over
  • blocks or more generally zones
  • the definition of blocks (or more generally zones) for predicting a block is preponderant for the coding efficiency. Indeed, if the contents of the current block and the prediction block are very different, the prediction error will be significant which will induce a large number of bits to code this prediction error. It is therefore necessary to minimize the risks of choosing remote prediction zones in terms of the content of the block to be predicted.
  • the cost of coding the syntax elements required by the remote decoder to reconstruct a predicted image is relatively high.
  • the reference images are grouped into two lists: one grouping together images (decoded or reconstructed) temporally prior to an image to which the block to be predicted belongs and that grouping together images (decoded or reconstructed) posterior temporally. Subsequently, when we speak of images before and / or later temporally we will imply that these images are decoded and reconstructed.
  • the invention aims to overcome at least one of the disadvantages of the prior art and in particular to improve the efficiency of interimage coding processes.
  • the invention relates to a method for predicting a block of pixels of an image which comprises:
  • a step of defining a causal neighborhood of said block to be predicted a step of searching for candidate patches in the course of which a set of candidate patches is formed of at least one patch belonging to an image other than the image to be which belongs the block to predict, each patch being formed of a block and a neighborhood which is causal of this block and
  • the method reduces the elements of syntax that it is necessary to transmit to the decoder, such as those relating to the MPEG-4 / AVC standard.
  • the block is predicted from a block of a patch of said set of candidate patches, said block being close, in terms of content, of the block to to predict.
  • the block prediction step comprises
  • a block prediction step during which the block of pixels of the image is predicted by a weighted linear combination of the pixels of the blocks of the patches of a dictionary, the weighting parameters of said linear combination being the optimal ones which have determined during the neighborhood prediction step.
  • the prediction of the block is determined by a linear combination of blocks belonging to a dictionary.
  • the weighting parameters of this linear combination are those which make it possible to obtain the best prediction of the causal neighborhood of the block to be predicted in the sense of a distance.
  • the prediction error of the block is reduced because the weighting parameters are defined to minimize a prediction error of a zone (neighborhood) located around the block to be predicted and not directly a prediction error of this block thus favoring a continuity of the content of the images.
  • the present invention also relates to a coding / decoding method which implements this method as well as an image sequence coding / decoding device and apparatus which comprises means for implementing the method. It also relates to a signal whose frame is particular because it carries specific information that influences the operation of said device and / or coding device and / or decoding.
  • FIG. 1 shows a diagram of the steps of the method of predicting a block of pixels of an image according to the present invention
  • FIG. 3 illustrates an embodiment of the block prediction step of the method
  • FIG. 4 illustrates another embodiment of the block prediction step of the method
  • FIG. 5 illustrates the case where the patches of a dictionary belong to the same image
  • FIG. 6 illustrates the case where the patches of a dictionary do not all belong to the same image
  • FIG. 7 illustrates the case where dictionaries defined from the first patch
  • FIG. 8 illustrates the case where patches of a dictionary do not all belong to the same image
  • FIG. 9 schematically represents an exemplary architecture of a device embodying the invention. 5. Detailed description of the invention
  • Figure 1 shows a diagram of the steps of the method of predicting a block of pixels of an image according to the present invention.
  • the method comprises a step 1 of defining a neighborhood V causal of a block s to predict a current image l c .
  • Figure 2 gives an example of a definition of causal neighborhood.
  • the neighborhood V is formed, for example, of three blocks to the left and above the block to be predicted B.
  • a neighborhood is a vector of N values, each value corresponding to the value of a pixel belonging to this neighborhood.
  • the invention is in no way limited to this definition of neighborhood but on the contrary extends to any definition of causal neighborhood that is to say to any neighborhood that is available at a decoder before the decoding of the block current to predict.
  • patch denoted by X k
  • X k the term patch, denoted by X k
  • the neighborhood V k is causal of this block B k and has a shape identical to that of the neighborhood V situated around the block to be predicted B.
  • the causality of a neighborhood with respect to a block of pixels indicates that the pixel values are known. prior to the prediction of this block.
  • the patch X to designate the grouping of the pixels of the block to predict B and pixels of the neighborhood V.
  • the method also comprises a step 2 of searching for candidate patches during which a set of candidate patches PS is formed of at least one patch x k belonging to an image other than the image to which belongs the block to predict.
  • the method further includes a block prediction step 3 in which block B is predicted from, at least, the block of at least one patch of said PS set.
  • each patch x k of the set of candidate patches is such that its neighborhood V k is close, in terms of content, to the neighborhood V of the patch X.
  • a patch X k of the set of candidate patches is such that it verifies equation (1):
  • the set PS groups the N candidate patches that minimize the Euclidean norm given in equation (1). Distances other than Euclidean norm may be used without departing from the scope of the invention.
  • each said other image is considered a predetermined number of candidate patches.
  • This embodiment is advantageous because by limiting the number of candidate patches per image and the number of images, the computational complexity of the neighborhood (and block) prediction step is greatly reduced while preserving the homogeneity of the content often present in an image or in consecutive images.
  • only one candidate patch is thus chosen per image.
  • patches that belong to a predetermined zone SW defined on one or more images are considered as candidate patches.
  • the predetermined zone (or part of it called the sub-zone) is defined around a patch.
  • the predetermined zone SW can be defined on a single image in the form of a spatial region but can also have a temporal character, that is to say that this predetermined zone SW is defined on several images, images which can or not be temporally consecutive.
  • this zone is defined in FIG. 2, on the one hand, by a sub-area of an image / c-1 anterior temporally to the image 1c (to which the block to predicting), said sub-area being centered around the patch X (whose co-localized is represented on this dashed image) and, secondly, by a sub-zone of another image l c + 1 posterior temporally in the picture I c .
  • the predetermined zone SW can be composed of one or more sub-zone (s), each sub-zone can be defined around a co-localized of this patch X, possibly centered around it, and that these sub-areas may be located in different images prior to and / or subsequent to the image to which the block to be predicted belongs.
  • the block B is predicted from the block B opt of a patch of said set of candidate patches, said block being close, in terms of content, the block to predict.
  • this prediction of the block to be predicted B consists of determining a patch of the set PS which minimizes a distance between the values of the pixels of the block B k of this patch and the values of the pixels of the block B (mapping of block).
  • This embodiment is particularly advantageous because the coding cost of the index of the block B opt or the patch to which it belongs in the set PS is reduced compared to the coding cost of the syntax elements of the coding systems and / or usual decoding.
  • this distance is expressed in Euclidean space by minimization, in the least squares sense, expressed by equation (2):
  • an information (index) designating the patch to which belongs the prediction block B opt must be known from a remote decoder. Indeed, such a decoder can reconstruct all PS candidate patches and can, from this information, find what is the patch of this set to which this block B opt . For this purpose, a signal carrying this designation information of this patch is sent to a decoder intended to use this prediction block.
  • the block prediction step 3 comprises a dictionary definition sub-step 31 during which L D 1 dictionaries are formed (L is greater than or equal to 1).
  • Each dictionary consists of at least one patch of the set of PS candidate patches.
  • the number L of dictionaries and the number of patches per dictionary are known values a priori.
  • the number K of patches of each dictionary is common to all the dictionaries.
  • the number K is variable according to the block to be predicted.
  • this number K can be optimized for each block to be predicted. It is then necessary, in a transmission context between transmitter / receiver to transmit this number to the receiver for each block to be predicted.
  • a dictionary can group randomly selected patches from those in the PS candidate patch set.
  • the block prediction step also includes a substep 32 of neighborhood prediction. During this sub-step, for each dictionary D 1, a prediction of the causal neighborhood V of the block to be predicted B is determined by a weighted linear combination of the neighborhoods V k of the patches X k of this dictionary, weighting parameters that optimize the prediction are then retained.
  • the prediction of the causal neighborhood V of the block to predict B by a weighted linear combination of the neighborhoods V k of the patches X k of a dictionary Di consists in determining weighting parameters W m with m G ⁇ 0; K - 1 ⁇ which minimize a distance between the weighted values of the pixels of the neighborhoods V k of the patches of this dictionary D l and the values of the pixels of the neighborhood V.
  • this distance is expressed in Euclidean space by minimization, in the least squares sense, expressed by equation (3):
  • the weighting parameters W used to predict the block B are those which provide the closest prediction, in the sense of a criterion , said block to predict.
  • this criterion is a quadratic error between the reconstructed predicted block (after coding and decoding) and the block to be predicted.
  • the criterion used is a rate-distortion (Rate-distortion) criterion particularly adapted to the context of video compression.
  • SSE 1 a least squares measurement of the reconstruction error between the block to be predicted and the reconstructed predicted block (decoded block), R 1 the block coding cost (prediction error and other syntax elements), and ⁇ the Lagrangian.
  • the block prediction step includes a block prediction sub-step 33 during which the block B is predicted by a weighted linear combination of the pixels of the blocks B k of the patches X k of the dictionary D 1 , the weighting parameters (W if several dictionaries formed or w vt in the case of a single dictionary) being those which were determined during the step of predicting the causal neighborhood of the block to be predicted.
  • the prediction B of block B is given by equation (7):
  • A is a matrix of dimension PxK which group together the P values of the pixels of K blocks B k , and W the weighting parameters.
  • no particular information is to be transmitted to the receiver (decoder) to predict the block B in the case where the number of parameters to be used is previously known to the decoder and in the case of 'a single dictionary built on the basis of neighborhood only.
  • the prediction method can be implemented by the receiver without particular information because, on the one hand, the neighborhoods used by the prediction are causal, which allows the receiver to find the blocks of the patches to reconstruct the matrix A and, on the other hand, by implementing the prediction of the neighborhood V, the K weighting parameters then obtained are identical to those (W) obtained during the neighborhood prediction sub-step then implemented by the transmitter (encoder).
  • a coding method implementing this prediction method provides significant coding gains compared to traditional inter-picture coding techniques such as those used for example in H.264 / AVC.
  • the K patches X k with k G ⁇ 0; K-1 ⁇ of a dictionary D l are all located in the same image I f other than the current image I c .
  • the image I f may be anterior or posterior temporally to image 1c when these two images belong to the same sequence of images.
  • the K patches X k with ke ⁇ 0; K - l ⁇ of a dictionary D l are located in different images. According to the example of FIG.
  • the dictionary D 1 has (K-1) patches ⁇ ⁇ , ..., X K -i in an image l c _ x anterior temporally to the current image I c and a patch X 0 in an image I c + 1 posteriorly temporal to the current image l c .
  • This embodiment is advantageous because it makes it possible to multiply the possibilities of patches in the same dictionary which can thus belong to different images. This makes it possible to further reduce the prediction error of the block to be predicted because the method then takes advantage of temporal redundancies between images of the same video.
  • FIGS. 5 and 6 in no way limit the dictionary definition. They have been given to illustrate that a dictionary may be formed by patches located in one or more image other than that to which the block to be predicted belongs.
  • each dictionary D 1 it is determined, for each dictionary D 1 to be defined, firstly a first patch X 0 among the patches of the set PS, said first patch is close, in terms of content, patch X and, secondly, (K-1) patches X k among the patches of the set PS, each of them being close, in terms of content, of this first patch X 0 .
  • the dictionary D l then groups the first patch X 0 and the (K-1) patches X k .
  • the proximity of the contents of two patches is quantified by a calculated distance between the pixel values of the patches. This distance is, for example, the sum of the absolute differences between the pixels of these two patches.
  • the predetermined zone SW is defined by at least one sub-zone which is located around a first patch. It can, for example, be centered around this first patch.
  • the position of a first patch X 0 of a dictionary D 1 in an image is given by a displacement information d defined from the patch X.
  • the displacement information d can, according to one embodiment, be obtained by a block matching method which makes it possible to determine a displacement of each first patch with respect to the X patch.
  • block matching is similar to that described in relation to Figure 3 considering that the blocks are formed of all the pixels of the patches and not only the pixels of the blocks of these patches as described in the performing step 3 of block prediction.
  • the displacement information In a transmission context between transmitter and decoder, the displacement information must be transmitted to the decoder and this in order that this decoder can determine what was the first patch used. It is not necessary to transmit other information to determine the other (K-1) patches of the dictionary because the decoder is able to determine them by implementing operations similar to those described above.
  • FIG 7 illustrates the case where L dictionaries have been defined, each from a first patch.
  • Each displacement is expressed as a vector d.
  • FIG. 8 shows the case where dictionaries patches do not all belong to the same image. It may be noted that an image l c + 1 does not temporally precede the current image l c during the decoding of this current image. .
  • the dictionary D 0 is formed of a first patch X% belonging to the image l c + 1 and patches that do not all belong to the image I c + 1 .
  • a patch X ⁇ _ belongs to the image / c _ 2 .
  • the dictionary D L - 1 is formed of a first patch X ⁇ '1 belonging to the image / c _ 2 and patches that do not all belong to the image / c _ 2 .
  • a patch x ⁇ x belongs to the image / c - 1 .
  • the distance that quantifies the proximity of the contents of two patches is to be taken in the broad sense because it can be defined to quantify the similarity between patches that do not necessarily belong to the same image.
  • Figure 9 shows an exemplary architecture of a device comprising means configured to implement the invention described in relation to Figures 1 to 8.
  • the device 900 comprises the following elements, interconnected by a digital addressing and data bus 901:
  • a computing unit 903 also called Central Processing Unit in English
  • a memory 905 A memory 905;
  • the computing unit 903 can be implemented by a microprocessor, possibly dedicated, a microcontroller also possibly dedicated, etc.
  • the memory 905 can be implemented in a volatile and / or nonvolatile form such as a RAM (Random Access Memory), a hard disk, an EPROM (Erasable Programmable ROM), etc.
  • the means 903, 905 and possibly 904 cooperate with each other to define a causal neighborhood of a block to be predicted, to search for a set of candidate patches which is formed of at least one patch belonging to an image other than the image to which the block to be predicted, each patch being formed of a block and a neighborhood that is causal of that block.
  • the means 903, 905 and possibly 904 cooperate with one another to predict a block starting, at least, from the block of at least one patch of said set of candidate patches.
  • the means of the device are configured, according to one embodiment, to implement a method described in connection with Figures 1 to 8.
  • the means 904 are configured to transmit and / or receive a signal whose frame is particular.
  • the frame of this signal carries information which designates the patch to which the block of prediction of the block to be predicted belongs and, according to a variant which corresponds to the case where the means for predicting are configured to implement. implement a neighborhood prediction step as described in relation to Figure 4, the frame of this signal carries specific information that identifies the dictionary from which is derived the prediction of the block to predict.
  • the frame of this signal carries a displacement information relative to the position of this first patch in an image, said displacement information being defined from the patch formed by the block to be predicted and its neighborhood.
  • the invention also relates to a method for encoding and / or decoding an image sequence in which a prediction block is calculated from a reference image image block.
  • the method is characterized in that the prediction block is calculated according to a method described in connection with Figures 1 to 8.
  • the invention also relates to an apparatus for encoding and / or decoding an image sequence which is characterized in that it comprises a device described in relation with FIG. 9.
  • the represented modules are functional units, which may or may not correspond to physically distinguishable units.
  • these modules or some of them may be grouped into a single component or circuit, or constitute functionalities of the same software.
  • some modules may be composed of separate physical entities.
  • inter-image prediction devices compatible with the invention are implemented in a purely hardware ("hardware") embodiment, for example in the form of a dedicated component (for example in an ASIC or FPGA or VLSI) ( respectively "Application Specifies Integrated Circuit” in English, meaning “Integrated Circuit for a specific application”, “Field Programmable Gate Array” in English, meaning “In-Situ Programmable Gate Network”, “Very Large Scale Integration” in English, meaning “very large-scale integration") or several electronic components integrated in a device or in the form of a mixture of hardware and software elements ("software” in English).
  • a dedicated component for example in an ASIC or FPGA or VLSI

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Procédé et dispositif de prédiction d'un bloc de pixels d'une image pour son codage/décodage. Le procédé comprend une étape (1) de définition d'un voisinage causal dudit bloc à prédire, une étape (2) de recherche de patchs candidats au cours de laquelle un ensemble de patchs candidats est formé d'au moins un patch appartenant à une image autre que l'image à laquelle appartient le bloc à prédire, chaque patch étant formé d'un bloc et d'un voisinage qui est causal de ce bloc et une étape (3) de prédiction de bloc au cours de laquelle le bloc est prédit à partir, au moins, du bloc d'au moins un patch dudit ensemble de patchs candidats.

Description

PROCEDE ET DISPOSITIF DE PREDICTION INTER-IMAGE ET PROCEDE ET APPAREIL DE CODAGE CORRESPONDANTS
1. Domaine de l'invention
L'invention se rapporte au domaine général du codage d'images et plus particulièrement à celui de la prédiction inter-image.
2. Etat de l'art
La prédiction inter-image consiste à tirer avantage des redondances temporelles qui existent entre des images consécutives d'une vidéo pour obtenir des taux de compression élevés de cette vidéo.
Le principe de la prédiction inter-image consiste à diviser une image courante en bloc ou macrobloc. Ensuite, le codeur trouve un bloc similaire dans une autre image (précédente ou future) de la vidéo. Cette autre image est habituellement appelée image de référence. Le codeur encode alors un vecteur de mouvement qui définit la position du bloc trouvé dans ladite (lesdites) image(s) de référence à partir du bloc à prédire. Le codeur calcule alors la différence entre ces deux blocs et code l'erreur de prédiction. Le vecteur de mouvement et l'erreur de prédiction sont alors émis au décodeur qui peut ainsi reconstruire le bloc.
Il est connu de très nombreux schémas de codage/décodage vidéo qui utilisent ce type de méthode. On peut citer, notamment, les standards MPEG- 2 (ISO/IEC JTC1 /SC29/WG1 1 MPEG00/ October 2000, Coding of moving pictures and audio), MPEG-4/AVC (T. Wiegand, G.J. Sullivan, G. Bjontegaard, and A. Luthra, "Overview of the H.264/AVC" Circuits and Systems for Video Technology, IEEE Transactions, Vo 13,7, 560 - 576, July 2003, ou encore HEVC (ITU-T Q.6/SG et ISO/IEC Moving Picture Experts Group (ISO/IEC JTC 1/SC 29/WG 1 1 ).
La définition des blocs (ou plus généralement des zones) pour prédire un bloc sont prépondérantes pour l'efficacité de codage. En effet, si les contenus du bloc courant et du bloc de prédiction sont très différents, l'erreur de prédiction sera importante ce qui induira un nombre important de bits pour coder cette erreur de prédiction. Il est donc nécessaire de minimiser les risques de choisir des zones de prédiction éloignées en terme de contenu du bloc à prédire.
Par ailleurs, dans un contexte de transmission entre un émetteur et un récepteur, le coût de codage des éléments de syntaxe requis par le décodeur distant pour reconstruire une image prédite est relativement important. Par exemple, dans le cas de la norme MPEG-4/AVC, les images de référence sont regroupées dans deux listes : celle regroupant des images (décodées ou reconstruites) antérieures temporellement à une image à laquelle appartient le bloc à prédire et celle regroupant des images (décodées ou reconstruites) postérieures temporellement. Par la suite, lorsque l'on parlera d'images antérieures et/ou postérieures temporellement on sous-entendra que ces images sont décodées et reconstruites. Ainsi, pour désigner un bloc d'une image de référence, il est nécessaire de transmettre à un décodeur une information pour designer l'une des deux listes d'images, une information pour indiquer un index d'une image (de référence) dans cette liste et une dernière information pour indiquer les coordonnées du bloc dans l'image de référence.
3. Résumé de l'invention
L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur et notamment d'améliorer l'efficacité des procédés de codage interimage.
A cet effet, l'invention concerne un procédé de prédiction d'un bloc de pixels d'une image qui comprend :
- une étape de définition d'un voisinage causal dudit bloc à prédire, - une étape de recherche de patchs candidats au cours de laquelle un ensemble de patchs candidats est formé d'au moins un patch appartenant à une image autre que l'image à laquelle appartient le bloc à prédire, chaque patch étant formé d'un bloc et d'un voisinage qui est causal de ce bloc et
- une étape de prédiction de bloc au cours de laquelle le bloc est prédit à partir, au moins, du bloc d'au moins un patch dudit ensemble de patchs candidats. Ainsi, le procédé réduit les éléments de syntaxe qu'il est nécessaire de transmettre au décodeur tels que par exemple ceux relatifs à la norme MPEG- 4/AVC.
Selon un mode de réalisation, au cours de l'étape de prédiction de bloc, le bloc est prédit à partir d'un bloc d'un patch dudit ensemble de patchs candidats, ledit bloc étant proche, en terme de contenu, du bloc à prédire.
Selon un autre mode de réalisation, l'étape de prédiction de bloc comporte
- une sous-étape de définition de dictionnaire au cours de laquelle au moins un dictionnaire est formé d'au moins un patch dudit ensemble de patchs candidats,
- une sous-étape de prédiction de voisinage au cours de laquelle, pour chaque dictionnaire, il est déterminé une prédiction du voisinage causal du bloc à prédire par une combinaison linéaire pondérée de voisinages des patchs de ce dictionnaire, des paramètres de pondération qui optimisent la prédiction sont alors retenus, et
- une étape de prédiction de bloc au cours de laquelle le bloc de pixels de l'image est prédit par une combinaison linéaire pondérée des pixels des blocs des patchs d'un dictionnaire, les paramètres de pondération de ladite combinaison linéaire étant ceux optimaux qui ont été déterminés au cours de l'étape de prédiction de voisinage.
Selon ce mode de réalisation, la prédiction du bloc est déterminée par une combinaison linéaire de blocs appartenant à un dictionnaire. Les paramètres de pondération de cette combinaison linéaire sont ceux qui permettent d'obtenir la meilleure prédiction du voisinage causal du bloc à prédire au sens d'une distance. Ainsi, l'erreur de prédiction du bloc est réduite car les paramètres de pondération sont définis pour minimiser une erreur de prédiction d'une zone (voisinage) située autour du bloc à prédire et non directement une erreur de prédiction de ce bloc favorisant ainsi une continuité du contenu des images.
Par ailleurs, comme les voisinages sont causaux, le décodeur est en mesure de calculer les paramètres de pondération utilisés pour la prédiction du bloc côté codeur. Ceci évite la transmission de ces paramètres de pondération et ainsi favorise l'efficacité de codage. La présente invention concerne également un procédé de codage/décodage qui met en œuvre ce procédé ainsi qu'un dispositif et un appareil de codage/décodage de séquence d'images qui comportent des moyens pour mettre en œuvre le procédé. Elle concerne aussi un signal dont la trame est particulière car elle porte une information spécifique qui influence le fonctionnement dudit dispositif et/ou appareil de codage et/ou décodage.
4. Listes des figures
L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en œuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles :
- la Figure 1 présente un diagramme des étapes du procédé de prédiction d'un bloc de pixels d'une image selon la présente invention;
- la Figure 2 donne un exemple de définition de voisinage causal;
- la Figure 3 illustre un mode de réalisation de l'étape de prédiction de bloc du procédé;
- la Figure 4 illustre un autre mode de réalisation de l'étape de prédiction de bloc du procédé;
- la Figure 5 illustre le cas où les patchs d'un dictionnaire appartiennent à une même image ;
- la Figure 6 illustre le cas où les patchs d'un dictionnaire n'appartiennent pas tous à une même image ;
- la Figure 7 illustre le cas où de dictionnaires définis à partir de premier patch ;
- la Figure 8 illustre le cas où des patchs d'un dictionnaire n'appartiennent pas tous à une même image ;
- la Figure 9 représente schématiquement un exemple d'architecture d'un dispositif mettant en œuvre l'invention. 5. Description détaillée de l'invention
La Figure 1 présente un diagramme des étapes du procédé de prédiction d'un bloc de pixels d'une image selon la présente invention. Le procédé comporte une étape 1 de définition d'un voisinage V causal d'un bloc s à prédire d'une image courante lc.
La Figure 2 donne un exemple de définition de voisinage causal. Selon cet exemple, le voisinage V est formé, par exemple, de trois blocs situés à gauche et au-dessus du bloc à prédire B. Un voisinage est un vecteur de N valeurs, chaque valeur correspondant à la valeur d'un pixel appartenant à ce voisinage. L'invention n'est en rien limitée à cette définition de voisinage mais au contraire s'étend à toute définition de voisinage causal c'est-à-dire à tout voisinage qui est disponible au niveau d'un décodeur préalablement au décodage du bloc courant à prédire.
Par la suite, nous emploierons le terme patch, noté Xk , pour désigner un regroupement des pixels d'un bloc Bk et des pixels d'un voisinage Vk de ce bloc Bk. Le voisinage Vk est causal de ce bloc Bk et a une forme identique à celle du voisinage V situé autour du bloc à prédire B. La causalité d'un voisinage par rapport à un bloc de pixels indique que les valeurs de pixels sont connues préalablement à la prédiction de ce bloc. On note également par la suite, le patch X, pour désigner le regroupement des pixels du bloc à prédire B et des pixels du voisinage V.
De retour à la Figure 1 , le procédé comporte également une étape 2 de recherche de patchs candidats au cours de laquelle un ensemble de patchs candidats PS est formé d'au moins un patch xk appartenant à une image autre que l'image à laquelle appartient le bloc à prédire. Le procédé comporte, de plus, une étape 3 de prédiction de bloc au cours de laquelle le bloc B est prédit à partir, au moins, du bloc d'au moins un patch dudit ensemble PS.
Selon un mode de réalisation, chaque patch xk de l'ensemble de patchs candidats est tel que son voisinage Vk est proche, en terme de contenu, du voisinage V du patch X.
En termes mathématiques, un patch Xk de l'ensemble de patchs candidats est tel qu'il vérifie l'équation (1 ) :
Ainsi, l'ensemble PS regroupe les N patchs candidats qui minimisent la norme euclidienne donnée à l'équation (1 ). Des distances autres que la norme euclidienne peuvent être utilisées sans pour cela sortir de la portée de l'invention.
Selon un mode de réalisation, au cours de l'étape de recherche de patchs candidats, pour chaque dite autre image est considéré un nombre prédéterminé de patchs candidats.
Ce mode de réalisation est avantageux car en limitant le nombre de patchs candidats par image et le nombre d'images, la complexité de calcul de l'étape de prédiction de voisinage (et de bloc) est fortement réduite tout en préservant l'homogénéité du contenu souvent présente dans une image ou dans des images consécutives.
Selon une variante, un seul patch candidat est ainsi choisi par image. Selon un mode de réalisation, sont seuls considérés comme patchs candidats les patchs qui appartiennent à une zone prédéterminée SW définie sur une ou plusieurs images.
Selon une variante, la zone prédéterminée (ou une partie d'elle appelée sous-zone) est définie aux alentours d'un patch.
Ainsi, la zone prédéterminée SW peut-être définie sur une seule image sous la forme d'une région spatiale mais peut également avoir un caractère temporel c'est-à-dire que cette zone prédéterminée SW est définie sur plusieurs images, images qui peuvent ou non être temporellement consécutives.
Par exemple, cette zone, référencée SW, est définie sur la Figure 2, d'une part, par une sous-zone d'une image /c--1 antérieure temporellement à l'image lc (à laquelle appartient le bloc à prédire), ladite sous-zone étant centrée autour du patch X ( dont son co-localisé est représenté sur cette image en pointillé) et, d'autre part, par une sous-zone d'une autre image lc+1 postérieure temporellement à l'image Ic. Au travers de cet exemple, on comprend que la zone prédéterminée SW peut être composée d'une ou plusieurs sous-zone(s), chaque sous-zone peut-être définie autour d'un co- localisé de ce patch X, éventuellement centrée autour de lui, et que ces sous- zone peuvent être situées dans différentes images antérieures et/ou postérieures à l'image à laquelle appartient le bloc à prédire. Selon un mode de réalisation, illustré à la Figure 3, au cours de l'étape 3 de prédiction de bloc, le bloc B est prédit à partir du bloc Bopt d'un patch dudit ensemble de patchs candidats, ledit bloc étant proche, en terme de contenu, du bloc à prédire.
En termes mathématiques, cette prédiction du bloc à prédire B consiste à déterminer un patch de l'ensemble PS qui minimise une distance entre les valeurs des pixels du bloc Bk de ce patch et les valeurs des pixels du bloc B (mise en correspondance de bloc).
Ce mode de réalisation est particulièrement avantageux car le coût de codage de l'index du bloc Bopt ou du patch auquel il appartient dans l'ensemble PS est réduit par rapport au coût de codage des éléments de syntaxe des systèmes de codages et/ou décodage habituels.
Selon un mode de réalisation, cette distance est exprimée dans l'espace euclidien par une minimisation, au sens des moindres carrés, exprimée par l'équation (2) :
opt = argmink\\B - avec k G {0; K— 1} (2) Selon ce mode de réalisation, une information (index) désignant le patch auquel appartient le bloc de prédiction Bopt doit être connue d'un décodeur distant. En effet, un tel décodeur peut reconstruire l'ensemble des patchs candidats PS et peut, à partir de cette information, retrouver quel est le patch de cet ensemble auquel appartient ce bloc Bopt. A cet effet, un signal porteur de cette information de désignation de ce patch est émis à destination d'un décodeur destiné à utiliser ce bloc de prédiction.
Selon un mode de réalisation, illustrée à la Figure 4, l'étape 3 de prédiction de bloc comporte une sous-étape 31 de définition de dictionnaire au cours de laquelle L dictionnaires Dl sont formés (L est supérieur ou égal à 1 ). Chaque dictionnaire est formé d'au moins un patch de l'ensemble de patchs candidats PS.
Le nombre L de dictionnaires et le nombre de patchs par dictionnaire sont des valeurs connues a priori.
Selon une variante, le nombre K de patchs de chaque dictionnaire est commun à tous les dictionnaires.
Selon une variante, le nombre K est variable selon le block à prédire. Dans ce cas, ce nombre K peut-être optimisé pour chaque bloc à prédire. Il est alors nécessaire, dans un contexte de transmission entre émetteur/récepteur d'émettre ce nombre au récepteur pour chaque bloc à prédire.
Un dictionnaire peut regrouper des patchs choisis aléatoirement parmi ceux de l'ensemble de patch candidat PS.
L'étape de prédiction de bloc comporte également une sous-étape 32 de prédiction de voisinage. Au cours de cette sous-étape, pour chaque dictionnaire Dl il est déterminé une prédiction du voisinage causal V du bloc à prédire B par une combinaison linéaire pondérée des voisinages Vk des patchs Xk de ce dictionnaire, des paramètres de pondération qui optimisent la prédiction sont alors retenus.
En termes mathématiques, la prédiction du voisinage causal V du bloc à prédire B par une combinaison linéaire pondérée des voisinages Vk des patchs Xk d'un dictionnaire Di consiste à déterminer des paramètres de pondération Wm avec m G {0; K - 1} qui minimisent une distance entre les valeurs pondérées des pixels des voisinages Vk des patchs de ce dictionnaire Dl et les valeurs des pixels du voisinage V.
Selon un mode de réalisation, cette distance est exprimée dans l'espace euclidien par une minimisation, au sens des moindres carrés, exprimée par l'équation (3) :
opt = ar sous la contrainte∑m = 1 (3) avec A1 une matrice de dimension MxK qui regroupent les valeurs des pixels de K voisinages Vk des patchs du dictionnaire Dl, les M valeurs de pixels de chaque voisinage sont regroupées pour former une colonne de cette matrice.
K paramètres de pondération sont ainsi optimisés, en pratique par l'équation (4) :
avec COi une matrice de covariance locale (en référence avec le voisinage V) des valeurs des pixels de la matrice A1 et / est un vecteur colonne unité. Les K paramètres de pondération optimaux Wgpt sont donc obtenus pour prédire le voisinage V par une combinaison linéaire des K voisinages Vk du dictionnaire Dl.
Selon un mode de réalisation, au cours de l'étape de prédiction de voisinage, L dictionnaires Di avec l G {0; L - 1} ayant été considérés et des paramètres de pondération w vt ayant été déterminés pour chacun de ces dictionnaires, les paramètres de pondération W utilisés pour prédire le bloc B sont ceux qui procurent la prédiction la plus proche, au sens d'un critère, dudit bloc à prédire.
Selon un mode de réalisation, ce critère est une erreur quadratique entre le bloc prédit reconstruit (après codage et décodage) et le bloc à prédire.
En termes mathématiques, les paramètres de pondération optimaux W sont alors ceux donnés par l'équation (5) :
2
min^B - AlWopt \\ sous la contrainte∑m Wopt = 1 (5)
Selon un autre mode de réalisation, le critère utilisé est un critère débit- distorsion (Rate-Distorsion en anglais) particulièrement adapté au contexte de compression vidéo.
En termes mathématiques, les paramètres de pondération optimaux W sont alors ceux donnés par l'équation (6) :
min^SSE1 + ÀRl) (6)
avec SSE1 une mesure au sens des moindres carrés de l'erreur de reconstruction entre le bloc à prédire et le bloc prédit reconstruit (bloc décodé), Rl le coût de codage du bloc (erreur de prédiction et autres éléments de syntaxe), et λ le Lagrangien.
De plus, l'étape de prédiction de bloc comporte une sous-étape 33 de prédiction de bloc au cours de laquelle le bloc B est prédit par une combinaison linéaire pondérée des pixels des blocs Bk des patchs Xk du dictionnaire Dl , les paramètres de pondération (W si plusieurs dictionnaires formés ou w vt dans le cas d'un seul dictionnaire) étant ceux qui ont été déterminés au cours de l'étape de prédiction du voisinage causal du bloc à prédire. En termes mathématiques, la prédiction B du bloc B est donnée par l'équation (7) :
B = A * W (7)
avec A est une matrice de dimension PxK qui regroupent les P valeurs des pixels des K blocs Bk, et W les paramètres de pondération.
Dans un contexte de transmission entre un émetteur et un récepteur, aucune information particulière n'est à émettre au récepteur (décodeur) pour prédire le bloc B dans le cas où le nombre de paramètres à utiliser est préalablement connu du décodeur et dans le cas d'un seul dictionnaire construit sur la base uniquement de voisinage. En effet, le procédé de prédiction peut-être mis en œuvre par le récepteur sans information particulière car, d'une part, les voisinages utilisés par la prédiction sont causaux, ce qui permet au récepteur de retrouver les blocs des patchs pour reconstruire la matrice A et, d'autre part, en mettant en œuvre la prédiction du voisinage V, les K paramètres de pondération alors obtenus sont identiques à ceux (W ) obtenus lors de la sous-étape de prédiction de voisinage alors mise en œuvre par l'émetteur (codeur).
On comprend ainsi qu'un procédé de codage mettant en œuvre ce procédé de prédiction procure des gains de codage significatifs comparés aux techniques traditionnelles de codage inter-image telles que celles utilisées par exemple dans H.264/AVC.
Selon une variante de ce mode de réalisation qui correspond au cas de plusieurs dictionnaires, une information spécifique qui identifie le dictionnaire utilisé doit être connue d'un décodeur pour reconstruire le bloc à prédire. A cet effet, un signal porteur d'une information spécifique qui identifie le dictionnaire à partir duquel est issu la prédiction du bloc à prédire. Ce signal est destiné à être reçu par un décodeur configuré pour utiliser ce dictionnaire.
Selon un mode de réalisation, illustré par la Figure 5, les K patchs Xk avec k G {0; K— 1} d'un dictionnaire Dl sont tous situés dans une même image If autre que l'image courante Ic. L'image If peut-être antérieure ou postérieure temporellement à l'image lc lorsque ces deux images appartiennent à une même séquence d'images. Selon un mode de réalisation, illustré par la Figure 6, les K patchs Xk avec k e {0; K - l} d'un dictionnaire Dl sont situés dans différentes images. Selon l'exemple de la Figure 6, le dictionnaire Dl comporte (K-1 ) patchs Χί , ... , XK-i dans une image lc_x antérieure temporellement à l'image courante Ic et un patch X0 dans une image Ic+1 postérieure temporellement à l'image courante lc.
Ce mode de réalisation est avantageux car il permet de multiplier les possibilités de patchs dans un même dictionnaire qui peuvent ainsi appartenir à différentes images. Ceci permet de diminuer d'avantage l'erreur de prédiction du bloc à prédire car le procédé profite alors de redondances temporelles entre images d'une même vidéo.
Ces deux modes de réalisation, illustrés par les Figures 5 et 6, ne limitent en rien la définition de dictionnaire. Ils ont été donnés pour illustrer qu'un dictionnaire peut-être formé par des patchs situés dans une ou plusieurs image autre que celle à laquelle appartient le bloc à prédire.
Selon un mode de réalisation, au cours de l'étape de définition de dictionnaire, il est déterminé, pour chaque dictionnaire Dl à définir, d'une part un premier patch X0 parmi les patchs de l'ensemble PS, ledit premier patch est proche, en terme de contenu, du patch X et, d'autre part, (K-1 ) patchs Xk parmi les patchs de l'ensemble PS, chacun d'entre eux étant proche, en terme de contenu, de ce premier patch X0 . Le dictionnaire Dl regroupe alors le premier patch X0 et les (K-1 ) patchs Xk .
La proximité des contenus de deux patchs est quantifiée par une distance calculée entre les valeurs des pixels des patchs. Cette distance est, par exemple, la somme des différences absolues entre les pixels de ces deux patchs.
Selon un mode de réalisation, la zone prédéterminée SW est définie par au moins une sous-zone qui est localisée aux alentours d'un premier patch. Elle peut, par exemple, être centrée autour de ce premier patch.
Cette variante est avantageuse car elle permet de fortement limiter la complexité de calcul de l'étape de prédiction de voisinage tout en préservant l'homogénéité du contenu souvent présente dans une image. Selon un mode de réalisation, la position d'un premier patch X0 d'un dictionnaire Dl dans une image (autre que l'image à laquelle appartient le bloc à prédire) est donnée par une information de déplacement d définie à partir du patch X.
L'information de déplacement d peut, selon un mode de réalisation, être obtenue par une méthode de mise en correspondance de bloc {block matching en anglais) qui permet de déterminer un déplacement de chaque premier patch par rapport au patch X. Cette méthode de mise en correspondance de bloc est similaire à celle décrite en relation avec la Figure 3 en considérant que les blocs sont formés de l'ensemble des pixels des patchs et non plus seulement les pixels des blocs de ces patchs comme cela est décrit dans le mode de réalisation de l'étape 3 de prédiction de bloc.
Dans un contexte de transmission entre émetteur et décodeur, l'information de déplacement doit être transmise au décodeur et ce dans le but que ce décodeur puisse déterminer quel a été le premier patch utilisé. Il n'est pas nécessaire de transmettre d'autres informations pour déterminer les autres (K-1 ) patchs du dictionnaire car le décodeur est en mesure de les déterminer en mettant en œuvre des opérations similaires à celles décrites ci- dessus.
La Figure 7 illustre le cas où L dictionnaires ont été définis, chacun à partir d'un premier patch. On voit ainsi que chacun des L premiers patch X0 l avec / G {0; L - 1} sont obtenus à partir du déplacement du patch X (ou plus exactement, virtuellement de son co-localisé X' dans l'image / ).
Chaque déplacement est exprimé sous la forme d'un vecteur d .
Sur la Figure 8 est représenté le cas où des patchs de dictionnaires n'appartiennent pas tous à la même image On peut noter qu'une image lc+1 ne précède pas temporellement l'image courant lc lors du décodage de cette image courante. Selon cet exemple, le dictionnaire D0 est formé d'un premier patch X% appartenant à l'image lc+1 et de patchs qui n'appartiennent pas tous à l'image Ic+1. Par exemple, un patch X^_ appartient à l'image /c_2. De même, le dictionnaire DL--1 est formé d'un premier patch X^'1 appartenant à l'image /c_2 et de patchs qui n'appartiennent pas tous à l'image /c_2. Par exemple, un patch x ~x appartient à l'image /c--1. Au travers de ces exemples, on comprend que la distance qui quantifie la proximité des contenus de deux patchs est à prendre au sens large car elle peut être définie pour quantifier la ressemblance entre patchs qui n'appartiennent pas forcément à une même image.
La Figure 9 montre un exemple d'architecture d'un dispositif comprenant des moyens configurés pour mettre en œuvre l'invention décrite en relation avec les Figures 1 à 8.
Le dispositif 900 comprend les éléments suivants, interconnectés par un bus 901 numérique d'adressage et de données :
- Une unité de calcul 903 (encore appelé Central Processing Unit en anglais) ;
- Une mémoire 905 ;
- Une interface réseau 904, pour des interconnexions entre le dispositif 900 et d'autres dispositifs distants connectés via une connexion 902;
L'unité de calcul 903 peut être implémentée par un microprocesseur, éventuellement dédié, un microcontrôleur également éventuellement dédié, etc. La mémoire 905 peut être implémentée sous une forme volatile et/ou non volatile telle qu'une RAM (Random Access Memory en anglais), un disque dur, une EPROM (Erasable Programmable ROM), etc.
Les moyens 903, 905 et éventuellement 904 coopèrent entre eux pour définir un voisinage causal d'un bloc à prédire, pour rechercher un ensemble de patchs candidats qui est formé d'au moins un patch appartenant à une image autre que l'image à laquelle appartient le bloc à prédire, chaque patch étant formé d'un bloc et d'un voisinage qui est causal de ce bloc.
Les moyens 903, 905 et éventuellement 904 coopèrent entre eux pour prédire un bloc à partir, au moins, du bloc d'au moins un patch dudit ensemble de patchs candidats.
Les moyens du dispositif sont configurés, selon un mode de réalisation, pour mettre en œuvre un procédé décrit en relation avec les Figures 1 à 8.
Selon un mode de réalisation du dispositif 900, les moyens 904 sont configurés pour émettre et/ou recevoir un signal dont la trame est particulière. En effet, dans le cas où les moyens pour prédire du dispositif 900 sont configurés pour mettre en œuvre une étape de prédiction de voisinage telle que décrite en relation avec la Figure 3, la trame de ce signal porte une information qui désigne le patch auquel appartient le bloc de prédiction du bloc à prédire et, selon une variante qui correspond au cas où les moyens pour prédire sont configurés pour mettre en œuvre une étape de prédiction de voisinage telle que décrite en relation avec la Figure 4, la trame de ce signal porte une information spécifique qui identifie le dictionnaire à partir duquel est issu la prédiction du bloc à prédire. Selon une autre variante, qui correspond au cas où les moyens pour prédire sont configurés pour mettre en œuvre une sous-étape de définition de dictionnaire au cours de laquelle un dictionnaire est formé, entre autres, d'un premier patch, la trame de ce signal porte une information de déplacement relative à la position de ce premier patch dans une image, ladite information de déplacement étant définie à partir du patch formé du bloc à prédire et de son voisinage.
L'invention concerne également un procédé de codage et/ou de décodage d'une séquence d'images au cours duquel un bloc de prédiction est calculé à partir d'un bloc d'image image de référence. Le procédé est caractérisé en ce que le bloc de prédiction est calculé selon un procédé décrit en relation avec les Figures 1 à 8.
L'invention concerne aussi un appareil de codage et/ou de décodage d'une séquence d'images qui est caractérisé en ce qu'il comporte un dispositif décrit en relation avec la Figure 9.
Sur la Figure 9, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant ou circuit, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Les dispositifs de prédiction inter-image compatibles avec l'invention sont mis en œuvre selon une réalisation purement matérielle ("hardware" en anglais), par exemple sous forme d'un composant dédié (par exemple dans un ASIC ou FPGA ou VLSI) (respectivement « Application Spécifie Integrated Circuit » en anglais, signifiant « Circuit Intégré à vocation d'une application spécifique », « Field-Programmable Gâte Array » en anglais, signifiant « Réseau de Portes Programmable In-Situ », « Very Large Scale Intégration » en anglais, signifiant « Intégration à très grande échelle ») ou de plusieurs composants électroniques intégrés dans un appareil ou encore sous forme d'un mélange d'éléments matériels et d'éléments logiciels (« software » en anglais).

Claims

Revendications
1 . Procédé de prédiction d'un bloc de pixels d'une image qui comprend
- une étape de définition d'un voisinage causal dudit bloc à prédire, - une étape de recherche de patchs candidats au cours de laquelle un ensemble de patchs candidats est formé d'au moins un patch appartenant à une image autre que l'image à laquelle appartient le bloc à prédire, chaque patch étant formé d'un bloc et d'un voisinage qui est causal de ce bloc et
- une étape de prédiction de bloc au cours de laquelle le bloc est prédit à partir, au moins, du bloc d'au moins un patch dudit ensemble de patchs candidats.
2. Procédé selon la revendication 1 , dans lequel chaque patch dudit ensemble de patchs candidats est tel que son voisinage est proche, en terme de contenu, du voisinage du patch comportant le bloc à prédire.
3. Procédé selon l'une des revendications 1 ou 2, dans lequel au cours de l'étape de recherche de patchs candidats, pour chaque dite autre image est considéré un nombre prédéterminé de patchs candidats.
4. Procédé selon l'une des revendications 1 à 3, dans lequel sont seuls considérés comme patchs candidats les patchs qui appartiennent à une zone prédéterminée définie sur une ou plusieurs images.
5. Procédé selon l'une des revendications 1 à 4, dans lequel au cours de l'étape de prédiction de bloc, le bloc est prédit à partir du bloc d'un patch dudit ensemble de patchs candidats, ledit bloc étant proche, en terme de contenu, du bloc à prédire, le patch duquel est issu ladite prédiction est alors identifié par une information spécifique.
6. Procédé selon l'une des revendications 1 à 4, dans lequel l'étape de prédiction de bloc comporte - une sous-étape de définition de dictionnaire au cours de laquelle au moins un dictionnaire est formé d'au moins un patch dudit ensemble de patchs candidats,
- une sous-étape de prédiction de voisinage au cours de laquelle, pour chaque dictionnaire, il est déterminé une prédiction du voisinage causal du bloc à prédire par une combinaison linéaire pondérée de voisinages des patchs de ce dictionnaire, des paramètres de pondération qui optimisent la prédiction sont alors retenus, et
- une étape de prédiction de bloc au cours de laquelle le bloc de pixels de l'image est prédit par une combinaison linéaire pondérée des pixels des blocs des patchs d'un dictionnaire, les paramètres de pondération de ladite combinaison linéaire étant ceux optimaux qui ont été déterminés au cours de l'étape de prédiction de voisinage.
7. Procédé selon la revendication 6, dans lequel au cours de la sous- étape de définition de dictionnaire, il est déterminé, pour chaque dictionnaire,
- un premier patch parmi les patchs dudit ensemble de patchs candidats, ledit premier patch étant proche, en terme de contenu, du patch formé du bloc à prédire et de son voisinage, et
- d'autres patchs dudit ensemble de patchs candidats, chacun d'entre eux étant proche, en terme de contenu, de ce premier patch,
le dictionnaire regroupant alors ce premier patch et desdits autres patchs.
8. Procédé selon la revendication 7 et lorsque une zone est prédéterminée selon la revendication 4, dans lequel ladite zone prédéterminée est définie par au moins une sous-zone qui est située aux alentours d'un premier patch.
9. Procédé selon la revendication 7 ou 8, dans lequel la position d'un premier patch d'un dictionnaire dans une image est donnée par une information de déplacement définie à partir du patch formé du bloc à prédire et de son voisinage.
10. Procédé selon l'une des revendications 6 à 9, dans lequel au cours de l'étape de prédiction de voisinage, plusieurs dictionnaires ayant été considérés et des paramètres de pondération ayant été déterminés pour chacun de ces dictionnaires, les paramètres de pondération utilisés pour prédire le bloc sont ceux qui procurent la prédiction la plus proche, au sens d'un critère, dudit bloc à prédire, le dictionnaire à partir duquel est issu ladite prédiction est alors identifié par une information spécifique.
1 1 . Procédé de codage et/ou de décodage d'une séquence d'images au cours duquel un bloc de prédiction est calculé à partir d'un bloc d'image image de référence, caractérisé en ce que le bloc de prédiction est calculé selon un procédé conforme à l'une des revendications 1 à 10.
12. Dispositif de prédiction d'un bloc de pixels d'une image qui comprend
- des moyens pour définir un voisinage causal dudit bloc à prédire,
- des moyens pour recherche un ensemble de patchs candidats qui est formé d'au moins un patch appartenant à une image autre que l'image à laquelle appartient le bloc à prédire, chaque patch étant formé d'un bloc et d'un voisinage qui est causal de ce bloc et
- des moyens pour prédire le bloc à partir, au moins, du bloc d'au moins un patch dudit ensemble de patchs candidats,
lesdits moyens étant configurés pour mettre en œuvre un procédé conforme à l'une des revendications 1 à 1 1 .
13. Trame d'un signal destiné à être émis ou reçu par un dispositif conforme à la revendication 12 dans lequel les moyens pour prédire sont configurés pour mettre en œuvre une étape de prédiction de bloc conforme à la revendication 5, caractérisée en ce qu'elle porte une information qui désigne le patch auquel appartient le bloc de prédiction du bloc à prédire.
14. Trame d'un signal destiné à être émis ou reçu par un dispositif conforme à la revendication 12 dans lequel les moyens pour prédire sont configurés pour mettre en œuvre une étape de prédiction de voisinage conforme à la revendication 10, caractérisée en ce qu'elle porte une information spécifique qui identifie le dictionnaire à partir duquel est issu la prédiction du bloc à prédire.
15. Trame d'un signal destiné à être émis ou reçu par un dispositif conforme à la revendication 12 dans lequel les moyens pour prédire sont configurés pour mettre en œuvre une sous-étape de définition de dictionnaire conforme à la revendication 9, caractérisée en ce qu'elle porte une information de déplacement relative à la position d'un premier patch d'un dictionnaire dans une image, ladite information de déplacement étant définie à partir du patch formé du bloc à prédire et de son voisinage.
16. Dispositif selon la revendication 12, qui comporte également des moyens pour émettre et/ou recevoir un signal conforme à la revendication 13, 14 ou 15.
17. Appareil de codage et/ou de décodage d'une séquence d'images qui est caractérisé en ce qu'il comporte un dispositif conforme à la revendication 12 ou 16.
EP13770443.3A 2012-09-26 2013-09-25 Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants Withdrawn EP2901697A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1259011 2012-09-26
FR1261403A FR2991843A1 (fr) 2012-11-29 2012-11-29 Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants
PCT/EP2013/069903 WO2014048946A1 (fr) 2012-09-26 2013-09-25 Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants

Publications (1)

Publication Number Publication Date
EP2901697A1 true EP2901697A1 (fr) 2015-08-05

Family

ID=49261523

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13770443.3A Withdrawn EP2901697A1 (fr) 2012-09-26 2013-09-25 Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants

Country Status (6)

Country Link
US (1) US9374597B2 (fr)
EP (1) EP2901697A1 (fr)
JP (1) JP6309010B2 (fr)
KR (1) KR20150060730A (fr)
CN (1) CN104756496B (fr)
WO (1) WO2014048946A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729876B2 (en) 2012-11-29 2017-08-08 Thomson Licensing Method for predicting a block of pixels from at least one patch
US9547915B2 (en) * 2013-03-19 2017-01-17 Thomson Licensing Inter-image prediction method and device and corresponding coding method and apparatus
WO2019198522A1 (fr) * 2018-04-11 2019-10-17 ソニー株式会社 Dispositif et procédé de traitement d'image

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737022A (en) * 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
GB9316153D0 (en) * 1993-08-04 1993-09-22 Avt Communications Ltd Image processing
KR101000609B1 (ko) * 2002-08-08 2010-12-10 파나소닉 주식회사 동화상의 부호화 방법 및 복호화 방법
BRPI0810924A2 (pt) 2007-04-09 2019-09-24 Ntt Docomo Inc predição de imagem/dispositivo de codificação, predição de imagem/ método de codificação, predição de imagem/programa de codificação, predição de imagem/dispositivo de codificação, predição de imagem/método de codificação e predição de imagem/programa de codificação
JP5372341B2 (ja) * 2007-05-18 2013-12-18 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム
CN101415122B (zh) 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
US8228990B2 (en) * 2008-01-16 2012-07-24 Sony Corporation Template matching scheme using multiple predictors as candidates for intra-prediction
CN101557514B (zh) 2008-04-11 2011-02-09 华为技术有限公司 一种帧间预测编解码方法、装置及系统
EP2377323B1 (fr) * 2008-12-22 2019-09-25 Orange Prédiction d'images par repartionnement d'une portion de zone causale de référence, codage et decodage utilisant une telle prédiction
FR2941581A1 (fr) 2009-01-28 2010-07-30 France Telecom Codage et decodage d'une sequence d'images video par zones d'images
EP2446630B1 (fr) * 2009-06-23 2020-02-26 Orange Codage et décodage d'une séquence d'images vidéo par zones d'image
FR2948845A1 (fr) * 2009-07-30 2011-02-04 Thomson Licensing Procede de decodage d'un flux representatif d'une sequence d'images et procede de codage d'une sequence d'images
US20130163674A1 (en) 2010-09-10 2013-06-27 Thomson Licensing Encoding of the Link to a Reference Block in Video Compression by Image Content Based on Search and Ranking
US9729876B2 (en) * 2012-11-29 2017-08-08 Thomson Licensing Method for predicting a block of pixels from at least one patch
US9547915B2 (en) * 2013-03-19 2017-01-17 Thomson Licensing Inter-image prediction method and device and corresponding coding method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2014048946A1 *

Also Published As

Publication number Publication date
KR20150060730A (ko) 2015-06-03
WO2014048946A1 (fr) 2014-04-03
CN104756496A (zh) 2015-07-01
CN104756496B (zh) 2018-04-17
US9374597B2 (en) 2016-06-21
US20150264392A1 (en) 2015-09-17
JP2015530841A (ja) 2015-10-15
JP6309010B2 (ja) 2018-04-11

Similar Documents

Publication Publication Date Title
EP0248711B1 (fr) Procédé de codage par transformation pour la transmission de signaux d'image
US20020009143A1 (en) Bandwidth scaling of a compressed video stream
US8693547B2 (en) Apparatus and method for coding using motion vector segmentation
US9602819B2 (en) Display quality in a variable resolution video coder/decoder system
FR2947134A1 (fr) Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
US9547915B2 (en) Inter-image prediction method and device and corresponding coding method and apparatus
US20110222603A1 (en) Method and System Making It Possible to Protect A Compressed Video Stream Against Errors Arising During a Transmission
FR3008840A1 (fr) Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants
WO2023135518A1 (fr) Syntaxe de haut niveau de codage résiduel prédictif dans une compression de réseau neuronal
WO2014048946A1 (fr) Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants
WO2022238967A1 (fr) Procédé, appareil et produit programme d'ordinateur pour fournir un réseau neuronal réglé précisément
JP2023542029A (ja) 低ビット精度のニューラルネットワーク(nn)に基づくクロスコンポーネント予測のための方法、機器、及びコンピュータプログラム
US8989270B2 (en) Optimized search for reference frames in predictive video coding system
US20160065982A1 (en) Method for determining whether or not present image is reference image, and apparatus therefor
WO2018002474A1 (fr) Procédé de codage intra d'une image numérique et procédé de décodage correspondant
WO2016102804A1 (fr) Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US20230196072A1 (en) Iterative overfitting and freezing of decoder-side neural networks
FR2991843A1 (fr) Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants
KR20060043050A (ko) 영상 신호의 인코딩 및 디코딩 방법
EP4320861A1 (fr) Codage vidéo à groupes dynamiques d'images
Belyaev et al. Low-complexity compression of high dynamic range infrared images with JPEG compatibility
WO2005088979A1 (fr) Procede de recherche de la directon de prediction en codage video intra-image
EP3038366A1 (fr) Dispositifs et procédé de compression et de reconstruction vidéo
US20060120457A1 (en) Method and apparatus for encoding and decoding video signal for preventing decoding error propagation
EP2160837A1 (fr) Sélection de fonctions de décodage distribuée au décodeur

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150323

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: INTERDIGITAL VC HOLDINGS, INC.

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: INTERDIGITAL VC HOLDINGS, INC.

17Q First examination report despatched

Effective date: 20191210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20200603