EP3058737A1 - Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes - Google Patents

Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes

Info

Publication number
EP3058737A1
EP3058737A1 EP14796227.8A EP14796227A EP3058737A1 EP 3058737 A1 EP3058737 A1 EP 3058737A1 EP 14796227 A EP14796227 A EP 14796227A EP 3058737 A1 EP3058737 A1 EP 3058737A1
Authority
EP
European Patent Office
Prior art keywords
block
current
blocks
decoded
candidate
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
EP14796227.8A
Other languages
German (de)
French (fr)
Inventor
Félix Henry
Bihong HUANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP3058737A1 publication Critical patent/EP3058737A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/567Motion estimation based on rate distortion criteria
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video

Definitions

  • the present invention relates generally to the field of image processing and more specifically to the coding and decoding of digital images and digital image sequences.
  • the encoding / decoding of digital images applies in particular to images from at least one video sequence comprising:
  • the present invention applies similarly to the coding / decoding of 2D or 3D type images.
  • the invention may especially, but not exclusively, apply to video coding implemented in current AVC and HEVC video encoders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), and to corresponding decoding.
  • MVC Motion Picture Codon Coding
  • 3D-AVC 3D-AVC
  • MV-HEVC 3D-HEVC
  • 3D-HEVC 3D-HEVC
  • the images and digital image sequences occupy a lot of space in terms of memory, which requires, when transmitting these images, to compress them in order to avoid congestion problems on the communication network used for this transmission. , the flow rate usable on it is generally limited. This compression is also desirable for storing these data.
  • Video data compression uses techniques for spatially or temporally prediction of groups of pixel blocks of a current image relative to other groups of blocks of pixels belonging to the same image or to a previous or next image.
  • I-images are coded by spatial prediction (intra prediction), and P and B-images are coded by temporal prediction (inter prediction) with respect to other I, P or B-encoded images. decoded using motion compensation.
  • the images are cut a first time in blocks of pixels called CTU (abbreviation of "Coded Treeblocks Unit") which are similar to the macroblocks of the H.264 standard. These blocks can then be subdivided into smaller blocks, each of these smaller blocks or each CTU block being coded by intra prediction or between images.
  • CTU abbreviation of "Coded Treeblocks Unit”
  • a data signal when a CTU block is subdivided into smaller blocks, a data signal, corresponding to each block, is transmitted to the decoder.
  • a signal includes:
  • coding parameters which are representative of the coding mode used, in particular:
  • the decoding is done image by image, and for each image, block CTU per block CTU.
  • the elements corresponding stream are read. Inverse quantization and inverse transformation of the coefficients of the smaller blocks are performed. Then, the prediction of each CTU block is calculated and each CTU block is reconstructed by adding the prediction to the decoded prediction residue.
  • Intra or inter-competition coding as implemented in the HEVC standard, thus relies on the putting into competition of different coding parameters, such as those mentioned above, in order to select the best mode of coding, which is that is to say, that which will optimize the coding of the block considered according to a predetermined performance criterion, for example the cost rate / distortion well known to those skilled in the art.
  • the coding parameters relating to the selected coding mode are contained in the data stream transmitted by the coder to the decoder, in the form of identifiers generally called competition indices.
  • the decoder is thus able to identify the coding mode selected to the encoder, then to apply the prediction according to this mode.
  • One of the aims of the invention is to overcome disadvantages of the state of the art mentioned above.
  • an object of the present invention relates to a method of coding at least one image cut into blocks.
  • Such a coding method is remarkable in that it comprises, for a current block to be coded, the steps of:
  • Such an arrangement makes it possible, during the coding of an image, to avoid including in the signal to be transmitted to the decoder the indices of the predictor blocks which are used to predict the blocks of the image respectively. This results in a significant decrease in the cost of signaling, insofar as such a provision is reproducible to the decoder.
  • the identification of candidate predictor blocks for the prediction of the current block is particularly reliable. It results from the fact that for a current residual block considered, the characteristics of the candidate predictor blocks are very different from each other, which facilitates the final selection of the most suitable candidate predictor block during the determination step according to a predetermined criterion. .
  • the blocks of the image preceding the current block being coded in a determined order is a function of the pixels of the previously coded image.
  • Such an arrangement thus makes it possible to take account of information of the image which is already available at the time of coding of the current block, thus increasing the performance of the identification of the candidate predictor blocks.
  • the previously coded pixels of the image are located along the current block.
  • Such an arrangement thus makes it possible to minimize the discontinuities likely to appear along the boundaries of the current block, while corresponding better to the reality of the image.
  • the predetermined criterion is the minimization of the bitrate-distortion cost of the image.
  • the current block is a block that has previously been obtained as a result of a prediction.
  • Such an arrangement is intended to further refine the prediction of the current block so as to obtain optimized coding performance.
  • the invention also relates to a device for encoding at least one image cut into blocks, such a device being remarkable in that it comprises, for a current block to be encoded:
  • a determination module a set of candidate predictor blocks
  • An identification module in the set of candidate predictor blocks, of a candidate predictor block, as a function of the current residual block obtained,
  • a determination module among the candidate predictor blocks that may have been selected at the end of the selection step, of a candidate predictor block, using a predetermined criterion
  • Such a coding device is able to implement the aforementioned coding method.
  • the invention also relates to a method of decoding a data signal representative of at least one image cut into blocks, such a method comprising the steps of:
  • the decoding method according to the invention is remarkable in that it comprises, for a current block to be reconstructed, the steps of:
  • identification in the aforementioned set, of a candidate predictor block, such identification being a function of said residual current decoded block
  • An advantage of such a decoding method lies in the fact that the step of identifying the predictor block capable of reconstructing the current block is reproducible at decoding.
  • the data signal received at the decoder advantageously contains no information associated with this identified predictor block, which significantly reduces the cost of signaling this information.
  • the fact that the identification of the predictor block is a function of the decoded current residual block allows a reliable reconstruction of the current block.
  • the characteristics of the candidate predictor blocks of the determined set being very different from each other, the identification of the predictor block used for the reconstruction of the current block is facilitated. This results in a decoding of the image of better quality.
  • the blocks of the image preceding the current block being decoded in a determined order, the identification of a predictor block is a function of the pixels of the previously decoded image.
  • the decoding method further comprises a step of determining, in the data signal, information associated with a prediction of the current block, said step of reconstructing the current block being implemented. from such prediction, the identified predictor block and the current residual block determined.
  • the invention also relates to a device for decoding a data signal representative of at least one image cut into blocks, such a device comprising:
  • Such a decoding device is remarkable in that it comprises, for a current block to be reconstructed:
  • an identification module in said set, of a candidate predictor block, said identification being a function of said decoded current residual block
  • Such a decoding device is able to implement the aforementioned decoding method.
  • the invention also relates to a computer program comprising instructions for implementing one of the coding and decoding methods according to the invention, when it is executed on a computer.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
  • the invention also relates to a computer-readable recording medium on which a computer program is recorded, this program including instructions adapted to the implementation of one of the methods according to the invention, as described herein. -above.
  • the invention also relates to a computer-readable recording medium on which a computer program is recorded, this program comprising instructions adapted to the implementation of the coding or decoding method according to the invention, as described. above.
  • the recording medium may be any entity or device capable of storing the program.
  • the medium may include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.
  • the recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned coding or decoding method.
  • the decoding method, the coding device, the decoding device, the computer programs and the corresponding recording media mentioned above have at least the same advantages as those conferred by the coding and decoding method according to the present invention. Brief description of the drawings
  • FIGS. 1A and 1B show steps of the coding method according to one embodiment of the invention
  • FIG. 2 represents an embodiment of a coding device according to the invention able to implement the coding method of FIGS. 1A and 1B,
  • FIG. 3 represents an example of partitioning the current image into several blocks of pixels
  • FIG. 4 represents an embodiment according to the invention of the step of identifying a candidate predictor block as a function of the current decoded residue block obtained
  • FIG. 5 represents steps of the coding method according to another embodiment of the invention.
  • FIG. 6 represents an embodiment of a coding device according to the invention able to implement the coding method of FIG. 5;
  • FIG. 7 represents steps of the decoding method according to one embodiment of the invention.
  • FIG. 8 represents an embodiment of a decoding device according to the invention able to implement the decoding method of FIG. 7,
  • FIG. 9 represents steps of the decoding method according to another embodiment of the invention.
  • FIG. 10 represents an embodiment of a decoding device according to the invention able to implement the decoding method of FIG. 9.
  • the coding method according to the invention is for example implemented in a software or hardware way by modifications of an encoder initially conforming to the HEVC standard.
  • the coding method according to the invention is represented in the form of an algorithm comprising steps C1 to C22 as represented in FIGS. 1A and 1B.
  • the coding method according to the invention is implemented in a coding device C01 represented in FIG.
  • such an encoding device comprises a memory MEM_C01 comprising a buffer memory MT_C01, a processing unit UT_C01 equipped for example with a microprocessor ⁇ and driven by a computer program PG_C01 which implements the method of coding according to the invention.
  • the code instructions of the computer program PG_C01 are for example loaded into a RAM memory (not shown) before being executed by the processor of the processing unit UT_C01.
  • the coding method shown in FIGS. 1A and 1B applies to any current image of an SQ sequence of images to be encoded.
  • a partitioning step is implemented by a partitioning software module MP1 shown in FIG. 2, which module is controlled by the microprocessor ⁇ of the processing unit UT_C01.
  • the image ICj thus partitioned is shown in FIG. 3.
  • the image ICj is partitioned into four blocks Bi, B 2 , B 3 and B 4 .
  • block means coding unit (coding unit).
  • coding unit coding unit
  • This last terminology is especially used in the HEVC standard, for example in the document "B. Bross, W.-J. Han, J.-R. Ohm, GJ Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 10," JCTVC-L1003 document of JCT-VC, Geneva, CH, 14-23 January 2013.
  • such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or sets of pixels having other geometrical shapes.
  • Said blocks Bi, B 2 , B u , ..., B s are intended to be coded according to a predetermined order of travel, which is for example of the raster scan type. This means that the blocks are coded one after the other, from left to right.
  • the coder CO1 selects, as current block, a first block to be encoded B u of the image IC j , such as, for example, the first block B-.
  • a set of Q candidate predictor blocks BP1 1 is determined according to the invention ; BP1 2, ..., V BP1, ..., Q BP1 (1 ⁇ v ⁇ Q).
  • Such candidate predictor blocks are for example blocks of pixels that have already been coded or not.
  • Such blocks are stored beforehand in the MT_CO1 buffer memory of the encoder as represented in FIG. 2. In the example represented, it is in particular a predetermined number of blocks which have been coded just before the current block considered. .
  • Such a determination step is implemented by a determination software module DET_CO1 shown in FIG. 2, which module is driven by the microprocessor ⁇ of the processing unit UT_CO1.
  • DET_CO1 determination software module
  • the candidate predictor block BP1 v is subtracted from the current block B u to produce a residue block Br v .
  • the residue block Br v is transformed according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed Bt block. v .
  • the transformed block Bt v is quantized according to a conventional quantization operation, such as, for example, a scalar quantization.
  • a conventional quantization operation such as, for example, a scalar quantization.
  • a block of quantized coefficients Bq v is then obtained.
  • the steps C4 to C6 are implemented by a predictive coding software module PRED_C01 shown in FIG. 2, which module is driven by the microprocessor ⁇ of the processing unit UT_C01.
  • the predictive coding module PRED_C01 is able to perform a predictive coding of the current block, according to conventional prediction techniques, such as for example in Intra and / or Inter mode.
  • the entropic coding of the quantized coefficient block Bq v is carried out .
  • it is a CABAC entropic coding.
  • Such a step consists in: a) reading the symbol (s) of the predetermined set of symbols which are associated with said current block,
  • Such an entropy coding step is implemented by an entropic coding software module MCE1 shown in FIG. 2, which module is driven by the microprocessor ⁇ of the processing unit UT_C01.
  • the entropic coding module MCE1 is for example of the CABAC type. It may also be a Huffman coder known as such.
  • step C8 shown in FIG. 1A the block Bq v is dequantized according to a conventional operation of FIG. dequantization, which is the inverse operation of the quantization performed in step C6.
  • a block of dequantized coefficients BDq v is then obtained.
  • step C9 it is proceeded to the inverse transformation of the dequantized coefficient block BDQ v which is the inverse operation of the direct conversion performed in step C5 above.
  • a decoded residue block BDr v is then obtained.
  • Steps C8 and C9 are implemented by a PRED "1 _C01 inverse predictive coding software module represented in FIG. 2, which module is driven by the microprocessor ⁇ of the processing unit UT_C01.
  • steps C4 to C9 are repeated for each predictor block of the set of predictor blocks BP1 1; BP1 2 , ..., BP1 V , ..., BP1 Q , Q decoded residue blocks BDr 1; BDr 2 ,..., BDr v ,..., BDr Q are obtained at the end of step C9.
  • the method according to the invention is used to identify, among all the Q predictor blocks BP1-I, BP1 2 ,..., BP1 V ,. , BP1 Q , at least one predictor block capable of being found at the decoding of the current block B u .
  • an identification step is a function of the current decoded residue block BDr v obtained.
  • Such an identification step is implemented by a calculation software module CAL1_C01 shown in FIG. 2, which module is controlled by the microprocessor ⁇ of the processing unit UT_C01.
  • such an identification consists, for a current decoded residue block BDr v , in building a current decoded block BD V, W by adding to the decoded current block BDr v a candidate predictor block BP1 w (1 ⁇ w ⁇ Q).
  • a criterion is applied for minimizing the difference between the decoded pixels of the current image IC j , which are represented by dots in FIG. 4, and the pixels of the decoded block BD V, W along its boundary F.
  • This criterion is a mathematical operator denoted SM (BD v , w, IC j ).
  • the operator SM (BD V , W , IC j ) is in fact representative of the quadratic error along the boundary F of the decoded residual block BDr v with the image IC j .
  • w is the decoded block considered of size NxN pixels
  • - BD v , w (n, m) is the value of the pixel of the decoded residue block BD V , W located on the nth row and the mth column of this block,
  • IC j (k, l) is the value of the pixel of the image IC j located on the k th line and the I th column of this image, and (lin, col) are the coordinates of the decoded block BD v, w in the image IC j .
  • a simplified criterion in which the average of the pixels of the image IC j along the boundary F and the average of the pixels of the decoded block BD V , W - L 'are compared.
  • SM operator (BD V , W , ICj) is then written:
  • step C10 the decoded block BDv.wmin is determined, which minimizes one of the two aforementioned criteria, such as:
  • Kmin argmin K 5 (BD uK, PAC j)
  • the block B Dv.wmin is equal to the sum of the candidate predictor block BP1 wmin and the current decoded residue block BDr v .
  • the candidate candidate block BP1 wmin is compared with the candidate predictor block BP1 V associated with the decoded residue block BDr v .
  • Such a comparison step is implemented by a calculation software module CAL2_C01 shown in FIG. 2, which module is controlled by the microprocessor ⁇ of the processing unit UT_C01.
  • the steps C4 to C1 1 are repeated for each predictor block of the set of predictor blocks BP1 i, BP1 2 ,..., BP1 V ,..., BP1 Q determined in FIG. step C3.
  • the BPI block wmin is not selected as the identified predictor block.
  • a plurality T of identified predictor blocks BP1 i, BP1 2 , BP1 Z , BP1 T is obtained, where 1 ⁇ z ⁇ T ⁇ Q.
  • D represents the distortion between the original current block Bi and the reconstructed block Bi
  • R represents the bit cost of the coding of the coding parameters used to code the block Bi
  • represents a Lagrange multiplier whose value is fixed to the coder.
  • the predetermined performance criterion only depends on the distortion and is expressed by equation (2) below:
  • the criteria J and J ' are calculated conventionally by simulation by a calculation module CAL3_C01 represented in FIG. 2, which module is driven by the microprocessor ⁇ of the processing unit UT_C01.
  • the predictive module PRED_C01 of FIG. 2 subtracts the preferential candidate predictor block BP1 op t from the current block B u to produce a residue block Br op t u - Au during a step C15 shown in FIG. 1B, the module
  • PRED_C01 of FIG. 2 carries out the transformation of the residue block Br op t u according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed block Bt op tu- During a step C16 shown in FIG. 1B, the module
  • PRED_C01 of FIG. 2 proceeds to the quantization of the transformed block Bt op tu according to a conventional quantization operation, such as, for example, a scalar quantization.
  • a block of quantized coefficients Bq op t u is then obtained.
  • the entropic coding module MCE1 of FIG. 2 proceeds with the entropic coding of the quantized coefficient block Bq op t u -
  • a data flow ⁇ which contains the encoded data of the quantized coefficient block Bq op t u is then delivered at the end of step C17.
  • Such a stream is then transmitted by a communication network (not shown) to a remote terminal.
  • This comprises the decoder D01 represented in FIG. 7.
  • the stream ⁇ furthermore comprises certain information encoded by the coder C01, such as the type of prediction (inter or intra), and, if appropriate, the prediction mode, the partition partitioning type if the block has been partitioned, the reference image index and the displacement vector used in the inter prediction mode.
  • the PRED module " 1_C01 of FIG. 2 dequantizes the block Bq op t u according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C16 A block of dequantized coefficients BDq op tu is then obtained.
  • the PRED module " 1_C01 of FIG. 2 carries out the inverse transformation of the block of dequantized coefficients BDq op t u which is the reverse operation of the direct transformation performed in step C15 above.
  • a decoded residue block BDr op tu is then obtained.
  • the decoded block BD U is constructed by adding to the preferential candidate predictor block BP1 op t the decoded residue block BDr op t u - H is noted that this last block is the same as the decoded block obtained at the end of the image decoding process IC j which will be described later in the description.
  • the decoded block BD U is then stored in the buffer memory MT_C01 of FIG. 2, in order to be used by the coder C01 as a candidate predictor block of a next block to be encoded.
  • the coder C01 tests whether the current block B u that has just been coded is the last block of the image. If the current block is the last block of the image.
  • IC j during a next step C22 shown in Figure 1 B, it ends the coding process.
  • This alternative embodiment differs from the previous embodiment in that it implements two types of prediction which will be described below with reference to FIG.
  • the coding method according to this other embodiment is represented in the form of an algorithm comprising steps C'1 to C'9 as represented in FIG.
  • the coding method according to this other embodiment of the invention is implemented in a coding device C02 shown in FIG. 6.
  • such a coding device C02 comprises a memory MEM_C02 comprising a buffer memory MT_C02, a processing unit UT_CO2 equipped for example with a microprocessor ⁇ and driven by a computer program PG_C02 which implements the method coding according to this other embodiment.
  • the code instructions of the computer program PG_C02 are for example loaded into a RAM (not shown) before being executed by the processor of the processing unit UT_C02.
  • the coding method shown in FIG. 5 applies to any current image of an image SQ sequence to be encoded.
  • a current image ICj belonging to the image sequence SQ ld, ICj, ..., I CM (1 ⁇ j ⁇ M) is partitioned. ), in a plurality of blocks Bi, B 2 , B u , ..., B s (1 ⁇ u S S), for example of size 64 ⁇ 64 pixels.
  • Such a partitioning step is implemented by a partitioning software module MP2 shown in FIG. 6, which module is controlled by the microprocessor ⁇ of the processing unit UT_C02. Since step C'1 is identical to step C1 of FIG. 1A, it will not be described further.
  • said blocks Bi, B 2 , B u ,..., B s are intended to be coded according to a predetermined order of travel, which is for example of the raster scan type. . This means that the blocks are coded one after the other, from left to right.
  • the coder C02 selects as the current block a first block to be encoded B u of the image ICj, such as, for example, the first block Bi.
  • the current block B u is predicted by conventional intra and / or inter prediction techniques using a predictor block BP1 is i - Such a prediction will be called "primary prediction" in the remainder of the description.
  • the aforementioned prediction step makes it possible to construct a residue block Br1 u which is obtained by calculating the difference between the current block B u and the predictor block BP1 se .
  • the step C'3 is implemented by a predictive coding software module PRED1_C02 shown in FIG. 6, which module is driven by the microprocessor ⁇ of the processing unit UT_C02.
  • a set of Q candidate predictor blocks BP2 1 is determined; BP2 2, ..., V BP2, ..., BP2 Q (1 ⁇ V ⁇ Q). Since such a step is identical to the determination step C3 of FIG. 1A, it will not be described further.
  • Such a determination step C'4 is implemented by a determination software module DET_CO2 shown in FIG. 6, which module is controlled by the microprocessor ⁇ of the processing unit UT_CO2.
  • a prediction of the residue block Br1 u is carried out by implementing the steps C4 to C13 described above in connection with the figures 1 A and 1 B. Such a prediction will be called “secondary prediction" in the remainder of the description.
  • a preferential candidate predictor block BP2 op t is selected.
  • step C'5 is implemented using:
  • a calculation software module CAL2_C02 which is identical to the module CAL2_C01 of FIG. 2.
  • the effectiveness of the preferred candidate predictor block BP2 op t which has been selected is carried out.
  • test step C'6 is implemented by a calculation software module CAL4_C02 shown in FIG. 6, which module is driven by the microprocessor ⁇ of the processing unit UT_C02.
  • such a test consists in verifying whether the energy of the block Br1 u -BP2 op t is lower than a threshold which corresponds to the value of the energy of the block Br 1 u .
  • the test is positive, it means that the preferential candidate predictor block BP2 opt is close to the current original block B u . Therefore, the secondary prediction is applied to the current block B u.
  • step C'6 the residue block Br1 u is transformed according to a conventional direct transformation operation.
  • a conventional direct transformation operation such as for example a discrete cosine transformation of DCT type, to produce a transformed block Bt1 u .
  • the transformed block Bt1 u is quantized according to a conventional quantization operation, such as, for example, scalar quantization.
  • a block of quantized coefficients Bq1 u is then obtained.
  • the steps C'610 and C'61 1 are implemented by the predictive coding software module PRED1_C02 shown in FIG. 6.
  • the entropic coding of the quantized coefficient block Bq1 u is carried out by an entropic coding software module MCE1_CO2 identical to the entropic coding software module MCE_C01 of FIG. furthermore, an indicator Id associated with the preferential candidate predictor block BP2 op t is coded according to a first predetermined value (bit at 0 for example) to indicate that the secondary prediction has not been applied.
  • a data flow ⁇ 1 which contains the encoded data of the quantized coefficient block Bq1 i as well as the bit at 0 of the indicator Id, is then output at the end of the step C'612.
  • Such a stream is then transmitted by a communication network (not shown) to a remote terminal.
  • a communication network (not shown) to a remote terminal.
  • This comprises the decoder D02 shown in FIG. 10.
  • the stream ⁇ 1 contains information encoded by the coder C02, such as the type of prediction (inter or intra), and if appropriate, the mode prediction, the type of partitioning of a block or macroblock if the latter has been partitioned, the reference image index and the displacement vector used in the inter prediction mode.
  • step C'613 the block Bq1 u is dequantized according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C'61. .
  • a block of dequantized coefficients BDq1 u is then obtained.
  • step C'614 represented in FIG. 5 the inverse transformation of the dequantized coefficient block BDq1 u is carried out which is the inverse operation of the direct transformation carried out in step C'610 above. .
  • a decoded residue block BDr1 u is then obtained.
  • steps C'613 and C'614 are implemented by an inverse predictive coding software module PRED1 "1 _C02 shown in FIG. 6, which module is driven by the microprocessor ⁇ of the processing unit UT_C02. is identical to the software module PRED "1 _C01 of Figure 2.
  • the coder C02 tests whether the current block B u that has just been coded is the last block of the image ICj.
  • the coding method is terminated. If this is not the case, it is proceeded again to the selection step C'2 of the next block to be coded according to the above-mentioned raster scan order, then the steps C'3 to C'6 are reiterated for that next block selected.
  • step C'6 If the test performed in step C'6 is positive, during a step C'620 shown in FIG. 5, the module PRED2_C02 of FIG. 6 subtracts the preferential candidate predictor block BP2 opt from the residual block Br1 u to produce a residue block Br2 op t u - During a step C'621 represented in FIG. 5, the module
  • PRED2_C02 of FIG. 6 transforms the residue block Br2 op t u according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed block Bt2 op t u -
  • a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type
  • PRED2_C02 of FIG. 6 proceeds to the quantization of the transformed block Bt2 op tu according to a conventional quantization operation, such as, for example, a scalar quantization.
  • a block of quantized coefficients Bq2 op t u is then obtained.
  • the entropic coding module MCE2_CO2 of FIG. 6 proceeds with the entropic coding of the quantized coefficient block Bq2 op t u.
  • the indicator Id associated with the predictor block preferential candidate BP2 opt is coded according to a second predetermined value (1-bit, for example) to signal that the secondary prediction has been applied.
  • a data stream ⁇ 2 which contains the encoded data of the quantized coefficient block Bq2 op t u and the bit at 1 of the indicator Id, is then output at the end of the step C'623. Such a stream is then transmitted by a communication network (not shown) to the decoder D02 shown in FIG.
  • the module PRED2 "1 _C02 of FIG. 6 carries out the dequantization of the block Bq2 op t u according to a conventional operation of dequantization, which is the inverse operation the quantification performed in step C'622.
  • a block of dequantized coefficients BDq2 op t u is then obtained.
  • the module PRED2 "1 _C02 of FIG. 6 carries out the inverse transformation of the dequantized coefficient block BDq2 op t u which is the inverse operation of the direct transformation carried out in step C'621 above A decoded residue block BDr2 op tu is then obtained.
  • the decoded block BD U is constructed by adding to the preferential candidate predictor block BP2 opt the decoded residual block BDr2 op t u.
  • the decoded block BD U thus constructed is then stored. in the MT_C02 buffer memory of FIG. 6, for use by the CO 2 coder as a predictor block candidate for a secondary prediction of a next decoded residue block.
  • the coder C02 tests whether the current block B u which has just been coded is the last block of the image IC j .
  • the coding method is terminated.
  • a decoder D01 comprises a memory MEM_D01 comprising a buffer memory MT_D01, a processing unit UT_D01 equipped for example with a microprocessor ⁇ and driven by a computer program PG_D01 which implements the decoding method according to the invention.
  • the code instructions of the computer program PG_D01 are for example loaded into a RAM before being executed by the processor of the processing unit UT_D01.
  • the decoding method shown in FIG. 8 applies to any current image of an SQ sequence of images to be decoded.
  • information representative of the current image IC j to be decoded is identified in the stream ⁇ received at the decoder.
  • the first decoding step D1 is the identification in said stream ⁇ of the encoded data Bq ; Bq 2 , ..., Bq u , ... Bq s respectively associated with the residual blocks Bn, Br 2 , Br u , ..., Br s coded previously according to the above-mentioned raster scan path, according to the coding method shown in FIG. Figures 1A and 1B.
  • Such an identification step is implemented by an identification module MI_D01 as shown in FIG. 8, said module being driven by the microprocessor ⁇ of the processing unit UT_D01.
  • Said blocks Bq ; Bq 2 , Bq u , ..., Bq s are intended to be decoded according to a predetermined order of travel, which is for example of the sequential type, that is to say that they are intended to be decoded one after the other. other in the raster scan order where they were encoded.
  • the decoder D01 selects as the current block a first block to be encoded Bq u of the image IC j , such as, for example, the first block Bq-,.
  • the entropy decoding of the block Bq u is carried out .
  • it is a CABAC entropic decoding.
  • Such a step consists of: a) reading the symbol (s) of the predetermined set of symbols which are associated with said current residual block,
  • Such an entropy decoding step is implemented by an entropy decoding software module MDE1 shown in FIG. 7, which module is controlled by the microprocessor ⁇ of the processing unit UT_D01.
  • the entropy coding module MDE1 is for example of the CABAC type. It can also be a Huffman decoder known as such.
  • dequantization of the block BDq u is carried out according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C16 of FIG. 1B.
  • a decoded dequantized block BDt u is then obtained.
  • step D5 the inverse transformation of the decoded dequantized block BDt u is carried out which is the inverse operation of the direct transformation performed in step C15 of FIG. decoded residue BDr u is then obtained.
  • the steps D4 and D5 are implemented by a PRED "1 _D01 inverse predictive decoding software module represented in FIG. 7, which module is driven by the microprocessor ⁇ of the processing unit UT_D01.
  • a set of Q candidate predictor blocks BP1 i, BP1 2 ,..., BP1 V ,..., BP1 is determined according to the invention.
  • Q (1 ⁇ V ⁇ Q) Such candidate predictor blocks are, for example, blocks of pixels that have already been decoded or not. Such blocks are stored beforehand in the buffer MT_D01 of the decoder as shown in FIG. 7. In the example shown, it is in particular a predetermined number of blocks that have been decoded just before the current block. decode considered.
  • Such a determination step is implemented by a DET_D01 determination software module shown in FIG. 7, which module is driven by the ⁇ microprocessor of the processing unit UT_D01.
  • the identification method is carried out according to the invention, among all the Q predictor blocks BP1 ; BP1 2 , ..., BP1 v , ..., BP1 Q, of a preferential candidate predictor block BP1 op t.
  • such an identification step is a function of the decoded residue block BDr u obtained.
  • Said identification step is implemented by a calculation software module CAL1_D01 shown in FIG. 7, which module is controlled by the microprocessor ⁇ of the processing unit UT_D01.
  • such an identification consists, for a current decoded residue block BDr u , of constructing a current decoded block BD U> W by adding to the residual block decoded current BDr u a candidate predictor block BP1 W (1 ⁇ w ⁇ Q).
  • This criterion is a mathematical operator noted SM (BD UiW , IC j ).
  • the operator SM (BD UiW , IC j ) is in fact representative of the quadratic error along the boundary F of the decoded residual block BDr u with the image IC j .
  • W is the decoded block considered of size NxN pixels
  • IC j (k, l) is the value of the pixel of the image IC j located on the k th line and the I th column of this image, and (lin, col) are the coordinates of the decoded block BD u> w in the image IC j .
  • a simplified criterion can be used, in which the average of the pixels of the image ICj along the border F is compared with the average of the pixels of the decoded block BD U> W.
  • the operator SM (BD UiW , ICj) is written then:
  • step D7 the decoded block BDv.wmin is identified, which minimizes one of the two aforementioned criteria, such as:
  • the block BDv.wmin is equal to the sum of the candidate predictor block BP1 wmin and the current decoded residue block BDr v .
  • the candidate predictor block BP1 W min is considered as the preferential candidate predictor block BP1 op t for the inverse prediction of the current decoded residue block BDr u .
  • the current block B u is reconstructed by adding to the decoded current residual block BDr u the preferential candidate predictor block BP1 op t identified in step D7.
  • Said step D8 is implemented by a calculation software module CAL2_DO1 represented in FIG. 7, which module is driven by the microprocessor ⁇ of the processing unit UT_DO1.
  • a decoded block BD U is then obtained and stored in the buffer memory MT_DO1 of FIG. 7, in order to be used by the decoder DO1 as a candidate predictor block of a next block to be decoded.
  • step D9 said decoded block BD U is written in a decoded picture I Dj.
  • a step is implemented by an image reconstruction software module URI1 as shown in FIG. 7, said module being driven by the microprocessor ⁇ of the processing module UT DO1.
  • the decoder D01 tests whether the current block BD U that has just been decoded is the last block contained in the stream ⁇ .
  • step D2 it is proceeded, in step D2, to the selection of the next residual block to be decoded according to the above-mentioned raster scan order.
  • decoding method is implemented in a software or hardware way by modifying a decoder initially conforming to the HEVC standard.
  • the decoding method according to the invention is represented in the form of an algorithm comprising steps D 1 to D 7 as represented in FIG. 9.
  • a decoder D02 comprises a memory MEM_D02 comprising a buffer memory MT_D02, a processing unit UT_D02 equipped for example with a microprocessor ⁇ and controlled by a computer program PG_D02 which implements the decoding method according to the invention.
  • the code instructions of the computer program PG_D02 are for example loaded into a RAM memory before being executed by the processor of the processing unit UT_D02.
  • the decoding method shown in FIG. 9 applies to any current image of an SQ sequence of images to be decoded.
  • the first decoding step D'1 is the identification:
  • Such an identification step is implemented by an identification module MI_D02 as shown in FIG. 10, said module being controlled by the microprocessor ⁇ of the processing unit UT_D02.
  • Said blocks Bq1 1; Bq1 2 , Bq1 u , ..., Bq1 s or Bq2 opt i, Bq2 opt 2,. . . , Bq2 op tu, ... Bq2 op ts are intended to be decoded according to a predetermined order of travel, which is for example sequential, ie the blocks are intended to be decoded one after the other in accordance with to the raster scan order where they were encoded.
  • the decoder D 02 selects as a current block a first block to be coded B 1 u or B q 2 op t u of the image IC j , such as for example the first block B q 1 u or Bq2 op t u -
  • the index Id associated with the selected block Bq u is read in the stream ⁇ 1 or ⁇ 2.
  • Such a reading step is implemented by a reader software module ML_D02 as shown in FIG. 10, said module being driven by the microprocessor ⁇ of the processing unit UT_D02.
  • index Id is equal to zero, it means that the current block to be decoded has undergone a primary prediction according to the steps C'610 to C'614 of the encoding method shown in Figure 5. It is therefore the flow ⁇ 1 that the decoder D02 is intended to treat.
  • index Id Q
  • step D 310 the entropic decoding of the block B q 1 u is carried out .
  • step D3 Such a step being identical to the aforementioned step D3, it will not be described further.
  • Such an entropy decoding step is implemented by an entropic decoding software module MDE1_D02 shown in FIG. 10, which module is controlled by the microprocessor ⁇ of the processing unit UT_D02.
  • the entropy coding module MDE1_D02 is for example of CABAC type. It can also be a Huffman decoder known as such.
  • step D 31 1 the dequantization of the block BDq1 u is carried out .
  • Such a step being identical to the above-mentioned step D4, it will not be described further.
  • a decoded dequantized block BDt1 u is then obtained.
  • step D 312 the inverse transformation of the decoded dequantized block BD t 1 u is carried out .
  • Such a step being identical to the aforementioned step D5, it will not be described further.
  • a decoded residue block BDr1 u is then obtained.
  • a predictor block BP1 is i- Such a step consists in adding to the residual decoded current block BDr1 u that the predictor block BP1 is classically selected.
  • a decoded block BD U is then obtained following the step D4 and stored in the buffer memory MT_D02 of FIG. 10, in order to be used by the decoder D02 as a candidate predictor block of a next block to be decoded.
  • the steps D 31 1 to D 4 are implemented by an inverse predictive decoding software module PRED1 "1 _D02 shown in FIG. 10, which module is driven by the microprocessor ⁇ of the processing unit UT_D02.
  • step D shown in FIG. 9 said decoded block BD U is written in a decoded picture ID j .
  • Such a step is implemented by an image reconstruction software module URI2 as represented in FIG. 10, said module being controlled by the microprocessor ⁇ of the processing module UT_D02.
  • the decoder D02 tests whether the current block BD U that has just been decoded is the last block contained in the stream ⁇ 1.
  • step D 2 it is proceeded, in step D 2, to the selection of the residual block according to Bq1 u to be decoded according to the aforementioned sequential order.
  • the decoding method described above is then iterated for all the S blocks to be decoded.
  • step D'320 the entropy decoding of the block Bq2 op t u is performed.
  • Such a step being identical to the aforementioned step D3, it will not be described further.
  • a decoded quantized block BDq2 op tu is then obtained at the end of this step.
  • Such an entropy decoding step is implemented by an entropic decoding software module MDE2_D02 shown in FIG.
  • step D 321 shown in FIG. 9 dequantization of the block BD q 2 op t u is performed. Such a step being identical to the aforementioned step D 4, it will not be described further. A decoded dequantized block BDt2 op t u is then obtained.
  • step D 322 shown in FIG. 9 the reverse transformation of the decoded dequantized block BD t 2 op t u is carried out. - Such a step being identical to the aforementioned step D 5, it will not be described any further. .
  • a decoded residue block BDr2 op t u is then obtained. Said block The decoded residual BDr2 op t u is then stored in the buffer memory MT_D02 of FIG. 10, in order to be used by the decoder D02 as a candidate predictor block of a next block to be decoded.
  • the steps 321 and 322 are D'implemented by a predictive decoding software module inverse Pred2 "1 _D02 shown in Figure 10, which module is controlled by the microprocessor of the ⁇ UT_D02 processing unit.
  • a set of Q candidate predictor blocks BP2 1 is determined according to the invention ; BP2 2, ..., V BP2, ..., BP2 Q (1 ⁇ v ⁇ Q). Since such a step is identical to step D6 of FIG. 8, it will not be described further.
  • Such a determination step is implemented by a DET_D02 determination software module shown in FIG. 10, which module is driven by the microprocessor ⁇ of the processing unit UT_D02.
  • the method according to the invention is used to identify, among the set of Q predictor blocks BP 2 1; BP2 2 ,..., BP2 V ,..., BP2 Q , of a preferential candidate predictor block BP2 op t.
  • an identification step is a function of the decoded residue block BDr2 op t z obtained.
  • Said identification step is implemented by a calculation software module CAL1_D02 shown in FIG. 10, which module is controlled by the microprocessor ⁇ of the processing unit UT_D02.
  • the decoding method uses a criterion for minimizing the difference between the decoded pixels of the current image IC j , which are represented by dots in FIG. 4, and the pixels of decoded block BDr1 u> w located along its border F.
  • This criterion is a mathematical operator denoted SM (BDr1 UiW , ICj).
  • BDr1 u is the decoded block considered of size NxN pixels
  • BDr1 UiW (n, m) is the value of the pixel of the decoded block BDr1 u> w located on the nth row and the mth column of this block,
  • ICj is the current image
  • ICj (k, l) is the value of the pixel of the image ICj located on the kth row and the ith column of this image, and (lin, col) are the coordinates of the decoded residue block BDr1 u> w in the image ICj.
  • a simplified criterion can be used in which the average of the pixels of the image ICj along the boundary F is compared with the average of the pixels of the decoded block BDr1 u> w .
  • the operator SM (BDr1 UiW , ICj) is written then:
  • the decoded block BDr1 v , wmin is identified which minimizes one of the two aforementioned criteria, such as:
  • the block BDr1 v , wmin is equal to the sum of the candidate predictor block BP2 wmin and the current decoded residue block BDr2 op t u -
  • the candidate predictor block BP2wmin is considered as the preferential candidate predictor block BP2 opt for the inverse prediction of the current decoded residue block BDr2 op t u -
  • the residual current block BD r u is reconstructed by adding to the residual decoded current block BD R 2 op t u the preferential candidate predictor block BP 2 opt identified in step On 324.
  • Said step D'325 is implemented by a calculation software module CAL2_D02 shown in FIG. 10, which module is driven by the microprocessor ⁇ of the processing unit UT_D02.
  • step D 4 and D 5 are then repeated to deliver a current block BD U.
  • step D6 is again implemented to test if the current block BD U is the last block of the image.

Landscapes

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

Abstract

The invention concerns the encoding of at least one image (ICj) divided into blocks, characterised in that it comprises, for a current block (Bu) to be encoded, the steps of: - determining (C3) a set of candidate predictive blocks (BP1 1; BP12,..., BP1 V,..., BP1 Q), - for at least one candidate predictive block (BP1 V) from said set: obtaining (C4) a residual bloc representative of the difference between the candidate predictive block and the current block (Bu), identifying (C10), in said set of candidate predictive blocks, a candidate predictive block, said identification being a function of said obtained current residual block, selecting (C12a)) said at least one candidate predictive block if it is equal to the identified predictive block, - determining (C13), from the candidate predictive blocks likely to have been selected at the end of the selection step, a candidate predictive block (BP1 opt), by means of a predefined criterion (J), - encoding (C15-C17) the residual block representative of the difference between the determined candidate predictive block and the current block (Bu).

Description

PROCÉDÉ DE CODAGE ET DE DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DE DÉCODAGE D'IMAGES ET PROGRAMMES  METHOD FOR ENCODING AND DECODING IMAGES, DEVICE FOR ENCODING AND DECODING IMAGES AND PROGRAMS
D'ORDINATEUR CORRESPONDANTS Domaine de l'invention  CORRESPONDING COMPUTER FIELD OF THE INVENTION
La présente invention se rapporte de manière générale au domaine du traitement d'images et plus précisément au codage et au décodage d'images numériques et de séquences d'images numériques.  The present invention relates generally to the field of image processing and more specifically to the coding and decoding of digital images and digital image sequences.
Le codage/décodage d'images numériques s'applique notamment à des images issues d'au moins une séquence vidéo comprenant :  The encoding / decoding of digital images applies in particular to images from at least one video sequence comprising:
- des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D),  images coming from the same camera and succeeding each other temporally (coding / decoding of 2D type),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),  images from different cameras oriented according to different views (coding / decoding of 3D type),
- des composantes de texture et de profondeur correspondantes - corresponding texture and depth components
(codage/décodage de type 3D), (3D type encoding / decoding),
- etc ..  - etc.
La présente invention s'applique de manière similaire au codage/décodage d'images de type 2D ou 3D.  The present invention applies similarly to the coding / decoding of 2D or 3D type images.
L'invention peut notamment, mais non exclusivement, s'appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), et au décodage correspondant. Art antérieur  The invention may especially, but not exclusively, apply to video coding implemented in current AVC and HEVC video encoders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), and to corresponding decoding. Prior art
Les images et séquences d'images numériques occupent beaucoup d'espace en termes de mémoire, ce qui nécessite, lorsqu'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau de communication utilisé pour cette transmission, le débit utilisable sur celui-ci étant généralement limité. Cette compression est également souhaitable en vue du stockage de ces données.  The images and digital image sequences occupy a lot of space in terms of memory, which requires, when transmitting these images, to compress them in order to avoid congestion problems on the communication network used for this transmission. , the flow rate usable on it is generally limited. This compression is also desirable for storing these data.
On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi celles-ci, de nombreuses techniques de codages vidéo, notamment la technique HEVC, utilisent des techniques de prédiction spatiale ou temporelle de groupes de blocs de pixels d'une image courante par rapport à d'autres groupes de blocs de pixels appartenant à la même image ou à une image précédente ou suivante. Many techniques of video data compression are already known. Among these, many video coding techniques, in particular the HEVC technique, use techniques for spatially or temporally prediction of groups of pixel blocks of a current image relative to other groups of blocks of pixels belonging to the same image or to a previous or next image.
Plus précisément, selon la technique HEVC, des images I sont codées par prédiction spatiale (prédiction intra), et des images P et B sont codées par prédiction temporelle (prédiction inter) par rapport à d'autres images I, P ou B codées/décodées à l'aide d'une compensation en mouvement.  More precisely, according to the HEVC technique, I-images are coded by spatial prediction (intra prediction), and P and B-images are coded by temporal prediction (inter prediction) with respect to other I, P or B-encoded images. decoded using motion compensation.
A cet effet, les images sont découpées une première fois en blocs de pixels appelés CTU (abréviation anglaise de « Coded Treeblocks Unit ») qui sont similaires aux macroblocs de la norme H.264. Ces blocs peuvent être ensuite subdivisés en blocs plus petits, chacun de ces blocs plus petits ou chaque bloc CTU étant codé par prédiction intra ou inter images.  For this purpose, the images are cut a first time in blocks of pixels called CTU (abbreviation of "Coded Treeblocks Unit") which are similar to the macroblocks of the H.264 standard. These blocks can then be subdivided into smaller blocks, each of these smaller blocks or each CTU block being coded by intra prediction or between images.
Selon la technique HEVC, lorsqu'un bloc CTU est subdivisé en blocs plus petits, un signal de données, correspondant à chaque bloc, est transmis au décodeur. Un tel signal comprend :  According to the HEVC technique, when a CTU block is subdivided into smaller blocks, a data signal, corresponding to each block, is transmitted to the decoder. Such a signal includes:
- des données résiduelles qui sont les coefficients des blocs résiduels quantifiés,  residual data which are the coefficients of the quantized residual blocks,
- des paramètres de codage qui sont représentatifs du mode de codage utilisé, en particulier:  coding parameters which are representative of the coding mode used, in particular:
• le mode de prédiction (prédiction intra, prédiction inter, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au décodeur (« en anglais « skip »)) ;  • the prediction mode (intra prediction, inter prediction, prediction by default carrying out a prediction for which no information is transmitted to the decoder ("in English" skip "));
· des informations précisant le type de prédiction · Information specifying the type of prediction
(orientation, image de référence, ...) ; (orientation, reference image, ...);
• le type de subdivision ;  • the type of subdivision;
• le type de transformée, par exemple DCT 4x4, DCT 8x8, etc ..  • the type of transform, for example DCT 4x4, DCT 8x8, etc.
· les informations de mouvement si nécessaire ; · Movement information if necessary
• etc. • etc.
Le décodage est fait image par image, et pour chaque image, bloc CTU par bloc CTU. Pour chaque bloc plus petit d'un bloc CTU, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients des blocs plus petits sont effectuées. Puis, la prédiction de chaque bloc CTU est calculée et chaque bloc CTU est reconstruit en ajoutant la prédiction au résidu de prédiction décodé. The decoding is done image by image, and for each image, block CTU per block CTU. For each smaller block of a CTU block, the elements corresponding stream are read. Inverse quantization and inverse transformation of the coefficients of the smaller blocks are performed. Then, the prediction of each CTU block is calculated and each CTU block is reconstructed by adding the prediction to the decoded prediction residue.
Le codage intra ou inter par compétition, tel que mis en œuvre dans la norme HEVC, repose ainsi sur la mise en compétition de différents paramètres de codage, tels que ceux précités, dans le but de sélectionner le meilleur mode de codage, c'est-à-dire celui qui optimisera le codage du bloc considéré selon un critère de performance prédéterminé, par exemple le coût débit/distorsion bien connu de l'homme du métier.  Intra or inter-competition coding, as implemented in the HEVC standard, thus relies on the putting into competition of different coding parameters, such as those mentioned above, in order to select the best mode of coding, which is that is to say, that which will optimize the coding of the block considered according to a predetermined performance criterion, for example the cost rate / distortion well known to those skilled in the art.
Les paramètres de codage relatifs au mode de codage sélectionné sont contenus dans le flux de données transmis par le codeur au décodeur, sous la forme d'identifiants appelés généralement indices de compétition. Le décodeur est ainsi capable d'identifier le mode de codage sélectionné au codeur, puis d'appliquer la prédiction conforme à ce mode.  The coding parameters relating to the selected coding mode are contained in the data stream transmitted by the coder to the decoder, in the form of identifiers generally called competition indices. The decoder is thus able to identify the coding mode selected to the encoder, then to apply the prediction according to this mode.
La bande passante allouée à ces indices de compétition n'est pas négligeable, puisqu'elle atteint environ 30%. Elle tend par ailleurs à augmenter en raison de l'apport toujours grandissant de nouveaux paramètres de codage tels que de nouvelles dimensions et/ou formes de blocs de pixels, de nouveaux paramètres de prédiction Intra, Inter, etc....  The bandwidth allocated to these competition indices is not negligible, since it reaches around 30%. It also tends to increase due to the ever-increasing contribution of new coding parameters such as new dimensions and / or pixel block shapes, new Intra, Inter, etc., prediction parameters.
Objet et résumé de l'invention Object and summary of the invention
Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité.  One of the aims of the invention is to overcome disadvantages of the state of the art mentioned above.
A cet effet, un objet de la présente invention concerne un procédé de codage d'au moins une image découpée en blocs.  For this purpose, an object of the present invention relates to a method of coding at least one image cut into blocks.
Un tel procédé de codage est remarquable en ce qu'il comprend, pour un bloc courant à coder, les étapes de :  Such a coding method is remarkable in that it comprises, for a current block to be coded, the steps of:
- détermination, d'un ensemble de blocs prédicteurs candidats, - pour au moins un bloc prédicteur candidat de l'ensemble précité:  determination, of a set of candidate predictor blocks, for at least one candidate predictor block of the aforementioned set:
• obtention d'un bloc résiduel représentatif de la différence entre le bloc prédicteur candidat et le bloc courant, identification, dans l'ensemble de blocs prédicteurs candidats, d'un bloc prédicteur candidat, une telle identification étant fonction du bloc résiduel courant obtenu, Obtaining a residual block representative of the difference between the candidate predictor block and the current block, identifying, in the set of candidate predictor blocks, a candidate predictor block, such identification being a function of the current residual block obtained,
• sélection dudit au moins un bloc prédicteur candidat s'il est égal au bloc prédicteur identifié,  Selecting said at least one candidate predictor block if it is equal to the identified predictor block,
- détermination, parmi les blocs prédicteurs candidats susceptibles d'avoir été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,  determining, among the candidate predictor blocks that may have been selected at the end of the selection step, a candidate predictor block, using a predetermined criterion,
- codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant.  coding of the residual block representative of the difference between the determined candidate predictor block and the current block.
Une telle disposition permet, lors du codage d'une image, d'éviter d'inclure dans le signal à transmettre au décodeur les indices des blocs prédicteurs qui sont utilisés pour prédire respectivement les blocs de l'image. II en résulte ainsi une diminution non négligeable du coût de signalisation, dans la mesure où une telle disposition est reproductible au décodeur.  Such an arrangement makes it possible, during the coding of an image, to avoid including in the signal to be transmitted to the decoder the indices of the predictor blocks which are used to predict the blocks of the image respectively. This results in a significant decrease in the cost of signaling, insofar as such a provision is reproducible to the decoder.
En outre, l'identification de blocs prédicteurs candidats en vue de la prédiction du bloc courant est particulièrement fiable. Elle résulte du fait que pour un bloc résiduel courant considéré, les caractéristiques des blocs prédicteurs candidats sont très différentes les unes des autres, ce qui facilite la sélection finale du bloc prédicteur candidat le plus adapté lors de l'étape de détermination selon un critère prédéterminé.  In addition, the identification of candidate predictor blocks for the prediction of the current block is particularly reliable. It results from the fact that for a current residual block considered, the characteristics of the candidate predictor blocks are very different from each other, which facilitates the final selection of the most suitable candidate predictor block during the determination step according to a predetermined criterion. .
Selon un mode de réalisation particulier, les blocs de l'image précédant le bloc courant étant codés dans un ordre déterminé, l'identification précitée est fonction des pixels de l'image précédemment codés.  According to a particular embodiment, the blocks of the image preceding the current block being coded in a determined order, the aforementioned identification is a function of the pixels of the previously coded image.
Une telle disposition permet ainsi de tenir compte d'informations de l'image qui sont déjà disponibles au moment du codage du bloc courant, augmentant ainsi les performances de l'identification des blocs prédicteurs candidats.  Such an arrangement thus makes it possible to take account of information of the image which is already available at the time of coding of the current block, thus increasing the performance of the identification of the candidate predictor blocks.
Selon un mode de réalisation préféré de l'invention, les pixels précédemment codés de l'image sont situés le long du bloc courant. Une telle disposition permet ainsi de minimiser les discontinuités susceptibles d'apparaître le long des frontières du bloc courant, tout en correspondant mieux à la réalité de l'image. According to a preferred embodiment of the invention, the previously coded pixels of the image are located along the current block. Such an arrangement thus makes it possible to minimize the discontinuities likely to appear along the boundaries of the current block, while corresponding better to the reality of the image.
Selon un mode de réalisation particulier, le critère prédéterminé est la minimisation du coût débit-distorsion de l'image.  According to a particular embodiment, the predetermined criterion is the minimization of the bitrate-distortion cost of the image.
Le choix d'un tel critère optimise la prédiction effectuée au codage. The choice of such a criterion optimizes the prediction made to the coding.
Selon un mode de réalisation particulier, le bloc courant est un bloc qui a été préalablement obtenu à la suite d'une prédiction. According to a particular embodiment, the current block is a block that has previously been obtained as a result of a prediction.
Une telle disposition a pour but d'affiner davantage la prédiction du bloc courant de façon à obtenir des performances de codage optimisées.  Such an arrangement is intended to further refine the prediction of the current block so as to obtain optimized coding performance.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de codage tel que défini ci-dessus.  The various embodiments or aforementioned embodiments can be added independently or in combination with each other, to the steps of the coding method as defined above.
L'invention concerne également un dispositif de codage d'au moins une image découpée en blocs, un tel dispositif étant remarquable en ce qu'il comprend, pour un bloc courant à coder :  The invention also relates to a device for encoding at least one image cut into blocks, such a device being remarkable in that it comprises, for a current block to be encoded:
- un module de détermination, d'un ensemble de blocs prédicteurs candidats,  a determination module, a set of candidate predictor blocks,
- pour au moins un bloc prédicteur candidat de l'ensemble :  for at least one candidate predictor block of the set:
· un module d'obtention d'un bloc résiduel représentatif de la différence entre le bloc prédicteur candidat et le bloc courant,  A module for obtaining a residual block representative of the difference between the candidate predictor block and the current block,
• un module d'identification, dans l'ensemble de blocs prédicteurs candidats, d'un bloc prédicteur candidat, en fonction du bloc résiduel courant obtenu,  An identification module, in the set of candidate predictor blocks, of a candidate predictor block, as a function of the current residual block obtained,
• un module de sélection dudit au moins un bloc prédicteur candidat s'il est égal au bloc prédicteur identifié,  A module for selecting said at least one candidate predictor block if it is equal to the identified predictor block,
- un module de détermination, parmi les blocs prédicteurs candidats susceptibles d'avoir été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,  a determination module, among the candidate predictor blocks that may have been selected at the end of the selection step, of a candidate predictor block, using a predetermined criterion,
- un module de codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant. Un tel dispositif de codage est apte à mettre en œuvre le procédé de codage précité. a module for coding the residual block representative of the difference between the determined candidate predictor block and the current block. Such a coding device is able to implement the aforementioned coding method.
L'invention concerne également un procédé de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, un tel procédé comprenant les étapes de :  The invention also relates to a method of decoding a data signal representative of at least one image cut into blocks, such a method comprising the steps of:
- détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,  determination, in the data signal, of data representative of a current residual block associated with a current block to be decoded,
- décodage du bloc résiduel courant.  - decoding of the current residual block.
Le procédé de décodage selon l'invention est remarquable en ce qu'il comprend, pour un bloc courant à reconstruire, les étapes de :  The decoding method according to the invention is remarkable in that it comprises, for a current block to be reconstructed, the steps of:
- détermination d'un ensemble de blocs prédicteurs candidats, determining a set of candidate predictor blocks,
- identification, dans l'ensemble précité, d'un bloc prédicteur candidat, une telle identification étant fonction dudit bloc résiduel courant décodé, identification, in the aforementioned set, of a candidate predictor block, such identification being a function of said residual current decoded block,
- reconstruction du bloc courant à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé.  reconstruction of the current block using the identified predictor block and the decoded current residual block.
Un avantage d'un tel procédé de décodage réside dans le fait que l'étape d'identification du bloc prédicteur apte à reconstruire le bloc courant est reproductible au décodage. Le signal de données reçu au décodeur ne contient avantageusement pas d'informations associées à ce bloc prédicteur identifié, ce qui réduit notablement le coût de signalisation de ces informations.  An advantage of such a decoding method lies in the fact that the step of identifying the predictor block capable of reconstructing the current block is reproducible at decoding. The data signal received at the decoder advantageously contains no information associated with this identified predictor block, which significantly reduces the cost of signaling this information.
En outre, le fait que l'identification du bloc prédicteur soit fonction du bloc résiduel courant décodé permet une reconstruction fiable du bloc courant. Les caractéristiques des blocs prédicteurs candidats de l'ensemble déterminé étant très différentes les unes des autres, l'identification du bloc prédicteur retenu pour la reconstruction du bloc courant s'en trouve facilitée. Il en résulte un décodage de l'image de meilleure qualité.  In addition, the fact that the identification of the predictor block is a function of the decoded current residual block allows a reliable reconstruction of the current block. The characteristics of the candidate predictor blocks of the determined set being very different from each other, the identification of the predictor block used for the reconstruction of the current block is facilitated. This results in a decoding of the image of better quality.
Selon un mode de réalisation particulier, les blocs de l'image précédant le bloc courant étant décodés dans un ordre déterminé, l'identification d'un bloc prédicteur est fonction des pixels de l'image précédemment décodés.  According to a particular embodiment, the blocks of the image preceding the current block being decoded in a determined order, the identification of a predictor block is a function of the pixels of the previously decoded image.
Selon un autre mode de réalisation particulier, les pixels précédemment décodés de l'image sont situés le long du bloc courant. Selon un autre mode de réalisation particulier, le procédé de décodage comprend en outre une étape de détermination, dans le signal de données, d'une information associée à une prédiction préalable du bloc courant, ladite étape de reconstruction du bloc courant étant mise en œuvre à partir d'une telle prédiction préalable, du bloc prédicteur identifié et du bloc résiduel courant déterminé. According to another particular embodiment, the previously decoded pixels of the image are located along the current block. According to another particular embodiment, the decoding method further comprises a step of determining, in the data signal, information associated with a prediction of the current block, said step of reconstructing the current block being implemented. from such prediction, the identified predictor block and the current residual block determined.
Une telle disposition permet d'affiner davantage la prédiction de façon à obtenir des performances de décodage optimisées.  Such an arrangement makes it possible to further refine the prediction so as to obtain optimized decoding performances.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé de décodage tel que défini ci-dessus.  The various embodiments or aforementioned embodiments can be added independently or in combination with each other, to the steps of the decoding method as defined above.
De façon correspondante, l'invention concerne aussi un dispositif de décodage d'un signal de données représentatif d'au moins une image découpée en blocs, un tel dispositif comprenant :  Correspondingly, the invention also relates to a device for decoding a data signal representative of at least one image cut into blocks, such a device comprising:
- un module de détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,  a module for determining, in the data signal, data representative of a current residual block associated with a current block to be decoded,
- un module de décodage dudit bloc résiduel courant. a module for decoding said current residual block.
Un tel dispositif de décodage est remarquable en ce qu'il comprend, pour un bloc courant à reconstruire : Such a decoding device is remarkable in that it comprises, for a current block to be reconstructed:
- un module de détermination d'un ensemble de blocs prédicteurs candidats,  a module for determining a set of candidate predictor blocks,
- un module d'identification, dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé,  an identification module, in said set, of a candidate predictor block, said identification being a function of said decoded current residual block,
- un module de reconstruction du bloc courant à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé.  a module for reconstructing the current block using the identified predictor block and the decoded current residual block.
Un tel dispositif de décodage est apte à mettre en œuvre le procédé de décodage précité.  Such a decoding device is able to implement the aforementioned decoding method.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour mettre en œuvre l'un des procédés de codage et de décodage selon l'invention, lorsqu'il est exécuté sur un ordinateur.  The invention also relates to a computer program comprising instructions for implementing one of the coding and decoding methods according to the invention, when it is executed on a computer.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre de l'un des procédés selon l'invention, tels que décrits ci-dessus.  The invention also relates to a computer-readable recording medium on which a computer program is recorded, this program including instructions adapted to the implementation of one of the methods according to the invention, as described herein. -above.
L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre du procédé de codage ou de décodage selon l'invention, tels que décrits ci- dessus.  The invention also relates to a computer-readable recording medium on which a computer program is recorded, this program comprising instructions adapted to the implementation of the coding or decoding method according to the invention, as described. above.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.  The recording medium may be any entity or device capable of storing the program. For example, the medium may include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.  On the other hand, the recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de codage ou de décodage précité.  Alternatively, the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned coding or decoding method.
Le procédé de décodage, le dispositif de codage, le dispositif de décodage, les programmes d'ordinateur et les supports d'enregistrement correspondants précités présentent au moins les mêmes avantages que ceux conférés par le procédé de codage et de décodage selon la présente invention. Brève description des dessins The decoding method, the coding device, the decoding device, the computer programs and the corresponding recording media mentioned above have at least the same advantages as those conferred by the coding and decoding method according to the present invention. Brief description of the drawings
D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation préférés décrits en référence aux figures dans lesquelles:  Other features and advantages will appear on reading preferred embodiments described with reference to the figures in which:
- les figures 1 A et 1 B représentent des étapes du procédé de codage selon un mode de réalisation de l'invention,  FIGS. 1A and 1B show steps of the coding method according to one embodiment of the invention,
- la figure 2 représente un mode de réalisation d'un dispositif de codage selon l'invention apte à mettre en œuvre le procédé de codage des figures 1 A et 1 B,  FIG. 2 represents an embodiment of a coding device according to the invention able to implement the coding method of FIGS. 1A and 1B,
- la figure 3 représente un exemple de partitionnement de l'image courante en plusieurs blocs de pixels,  FIG. 3 represents an example of partitioning the current image into several blocks of pixels,
- la figure 4 représente un mode de réalisation selon l'invention de l'étape d'identification d'un bloc prédicteur candidat en fonction du bloc résidu décodé courant obtenu,  FIG. 4 represents an embodiment according to the invention of the step of identifying a candidate predictor block as a function of the current decoded residue block obtained,
- la figure 5 représente des étapes du procédé de codage selon un autre mode de réalisation de l'invention,  FIG. 5 represents steps of the coding method according to another embodiment of the invention,
- la figure 6 représente un mode de réalisation d'un dispositif de codage selon l'invention apte à mettre en œuvre le procédé de codage de la figure 5,  FIG. 6 represents an embodiment of a coding device according to the invention able to implement the coding method of FIG. 5;
- la figure 7 représente des étapes du procédé de décodage selon un mode de réalisation de l'invention,  FIG. 7 represents steps of the decoding method according to one embodiment of the invention,
- la figure 8 représente un mode de réalisation d'un dispositif de décodage selon l'invention apte à mettre en œuvre le procédé de décodage de la figure 7,  FIG. 8 represents an embodiment of a decoding device according to the invention able to implement the decoding method of FIG. 7,
- la figure 9 représente des étapes du procédé de décodage selon un autre mode de réalisation de l'invention,  FIG. 9 represents steps of the decoding method according to another embodiment of the invention,
- la figure 10 représente un mode de réalisation d'un dispositif de décodage selon l'invention apte à mettre en œuvre le procédé de décodage de la figure 9.  FIG. 10 represents an embodiment of a decoding device according to the invention able to implement the decoding method of FIG. 9.
Description détaillée d'un mode de réalisation de la partie codage Detailed description of an embodiment of the coding part
Un mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de codage selon l'invention est utilisé pour coder une image ou une séquence d'images selon un flux binaire proche de celui qu'on obtient par un codage conforme par exemple à la norme HEVC. An embodiment of the invention will now be described, in which the coding method according to the invention is used to code an image. or a sequence of images according to a bit stream close to that obtained by an encoding conforming for example to the HEVC standard.
Dans ce mode de réalisation, le procédé de codage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un codeur initialement conforme à la norme HEVC. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes C1 à C22 telles que représentées aux figures 1 A et 1 B.  In this embodiment, the coding method according to the invention is for example implemented in a software or hardware way by modifications of an encoder initially conforming to the HEVC standard. The coding method according to the invention is represented in the form of an algorithm comprising steps C1 to C22 as represented in FIGS. 1A and 1B.
Selon le mode de réalisation de l'invention, le procédé de codage selon l'invention est implémenté dans un dispositif de codage C01 représenté à la figure 2.  According to the embodiment of the invention, the coding method according to the invention is implemented in a coding device C01 represented in FIG.
Comme illustré en figure 2, un tel dispositif de codage comprend une mémoire MEM_C01 comprenant une mémoire tampon MT_C01 , une unité de traitement UT_C01 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_C01 qui met en œuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_C01 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur de l'unité de traitement UT_C01 .  As illustrated in FIG. 2, such an encoding device comprises a memory MEM_C01 comprising a buffer memory MT_C01, a processing unit UT_C01 equipped for example with a microprocessor μΡ and driven by a computer program PG_C01 which implements the method of coding according to the invention. At initialization, the code instructions of the computer program PG_C01 are for example loaded into a RAM memory (not shown) before being executed by the processor of the processing unit UT_C01.
Le procédé de codage représenté sur les figures 1 A et 1 B s'applique à toute image courante d'une séquence SQ d'images à coder.  The coding method shown in FIGS. 1A and 1B applies to any current image of an SQ sequence of images to be encoded.
Au cours d'une première étape C1 représentée à la figure 1 A, il est procédé, de façon connue en soi, au partitionnement d'une image courante ICj appartenant à la séquence SQ d'images ld , ICj, ... , I CM (1≤j≤M), en une pluralité de blocs B-i , B2, Bu, ... , Bs (1 <u≤S), par exemple de taille 64x64 pixels. Une telle étape de partitionnement est mise en œuvre par un module logiciel de partitionnement MP1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . During a first step C1 represented in FIG. 1A, in a manner known per se, a current image ICj belonging to the image sequence SQ 1d, ICj,. CM (1≤j≤M), in a plurality of blocks Bi, B 2 , B u ,..., B s (1 < u S S), for example of size 64 × 64 pixels. Such a partitioning step is implemented by a partitioning software module MP1 shown in FIG. 2, which module is controlled by the microprocessor μΡ of the processing unit UT_C01.
L'image ICj ainsi partitionnée est représentée à la figure 3. Dans l'exemple représenté, l'image ICj est partitionnée en quatre blocs B-i , B2, B3 et B4. The image ICj thus partitioned is shown in FIG. 3. In the example shown, the image ICj is partitioned into four blocks Bi, B 2 , B 3 and B 4 .
Il convient de noter qu'au sens de l'invention, le terme « bloc » signifie unité de codage (de l'anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC, par exemple dans le document « B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text spécification draft 10," document JCTVC-L1003 of JCT-VC, Genève, CH, 14-23 January 2013». It should be noted that for the purposes of the invention, the term "block" means coding unit (coding unit). This last terminology is especially used in the HEVC standard, for example in the document "B. Bross, W.-J. Han, J.-R. Ohm, GJ Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 10," JCTVC-L1003 document of JCT-VC, Geneva, CH, 14-23 January 2013.
En particulier, une telle unité de codage regroupe des ensembles de pixels de forme rectangulaire ou carrée, encore appelés blocs, macroblocs, ou bien des ensembles de pixels présentant d'autres formes géométriques.  In particular, such a coding unit groups together sets of pixels of rectangular or square shape, also called blocks, macroblocks, or sets of pixels having other geometrical shapes.
Lesdits blocs B-i, B2, Bu, ..., Bs sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type raster scan. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite. Said blocks Bi, B 2 , B u , ..., B s are intended to be coded according to a predetermined order of travel, which is for example of the raster scan type. This means that the blocks are coded one after the other, from left to right.
D'autres types de parcours sont bien sûr possibles. Ainsi, il est possible de découper l'image ICj en plusieurs sous-images appelées slices et d'appliquer indépendamment un découpage de ce type sur chaque sous- image. Il est également possible de coder non pas une succession de lignes, comme expliqué ci-dessus, mais une succession de colonnes. Il est également possible de parcourir les lignes ou colonnes dans un sens ou dans l'autre. Other types of course are of course possible. Thus, it is possible to cut the image IC j into several sub-images called slices and to independently apply a division of this type on each sub-image. It is also possible to code not a succession of lines, as explained above, but a succession of columns. It is also possible to browse the rows or columns in one direction or the other.
Au cours d'une étape C2 représentée à la figure 1A, le codeur CO1 sélectionne comme bloc courant un premier bloc à coder Bu de l'image ICj, tel que par exemple le premier bloc B-,. During a step C2 represented in FIG. 1A, the coder CO1 selects, as current block, a first block to be encoded B u of the image IC j , such as, for example, the first block B-.
Au cours d'une étape C3 représentée à la figure 1A, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP1 1 ; BP12, ..., BP1 V, ...,BP1 Q (1 <v≤Q). De tels blocs prédicteurs candidats sont par exemple des blocs de pixels qui ont été déjà codés ou non. De tels blocs sont préalablement stockés dans la mémoire tampon MT_CO1 du codeur telle que représentée à la figure 2. Dans l'exemple représenté, il s'agit en particulier d'un nombre prédéterminé de blocs qui ont été codés juste avant le bloc courant considéré. During a step C3 represented in FIG. 1A, a set of Q candidate predictor blocks BP1 1 is determined according to the invention ; BP1 2, ..., V BP1, ..., Q BP1 (1 <v≤Q). Such candidate predictor blocks are for example blocks of pixels that have already been coded or not. Such blocks are stored beforehand in the MT_CO1 buffer memory of the encoder as represented in FIG. 2. In the example represented, it is in particular a predetermined number of blocks which have been coded just before the current block considered. .
Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_CO1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_CO1 . Au cours d'une étape C4 représentée à la figure 1A, pour un bloc prédicteur candidat BP1 V considéré, il est procédé à la soustraction du bloc prédicteur candidat BP1 v du bloc courant Bu pour produire un bloc résidu Brv. Such a determination step is implemented by a determination software module DET_CO1 shown in FIG. 2, which module is driven by the microprocessor μΡ of the processing unit UT_CO1. During a step C4 shown in FIG. 1A, for a candidate predictor block BP1 V considered, the candidate predictor block BP1 v is subtracted from the current block B u to produce a residue block Br v .
Au cours d'une étape C5 représentée à la figure 1A, il est procédé à la transformation du bloc résidu Brv selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Btv. During a step C5 represented in FIG. 1A, the residue block Br v is transformed according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed Bt block. v .
Au cours d'une étape C6 représentée à la figure 1A, il est procédé à la quantification du bloc transformé Btv selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bqv est alors obtenu. During a step C6 represented in FIG. 1A, the transformed block Bt v is quantized according to a conventional quantization operation, such as, for example, a scalar quantization. A block of quantized coefficients Bq v is then obtained.
Les étapes C4 à C6 sont mises en œuvre par un module logiciel de codage prédictif PRED_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Le module de codage prédictif PRED_C01 est apte à effectuer un codage prédictif du bloc courant, selon les techniques de prédiction classiques, telles que par exemple en mode Intra et/ou Inter.  The steps C4 to C6 are implemented by a predictive coding software module PRED_C01 shown in FIG. 2, which module is driven by the microprocessor μΡ of the processing unit UT_C01. The predictive coding module PRED_C01 is able to perform a predictive coding of the current block, according to conventional prediction techniques, such as for example in Intra and / or Inter mode.
Au cours d'une étape C7 représentée à la figure 1 A, il est procédé au codage entropique du bloc de coefficients quantifiés Bqv. Dans le mode préféré de réalisation, il s'agit d'un codage entropique CABAC. Une telle étape consiste à : a) lire le ou les symboles de l'ensemble prédéterminé de symboles qui sont associés audit bloc courant, During a step C7 represented in FIG. 1A, the entropic coding of the quantized coefficient block Bq v is carried out . In the preferred embodiment, it is a CABAC entropic coding. Such a step consists in: a) reading the symbol (s) of the predetermined set of symbols which are associated with said current block,
b) associer des informations numériques, telles que des bits, au(x) symbole(s) lu(s).  b) associating digital information, such as bits, with the read symbol (s).
Une telle étape de codage entropique est mise en œuvre par un module logiciel de codage entropique MCE1 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Le module de codage entropique MCE1 est par exemple de type CABAC. Il peut également s'agir d'un codeur de Huffman connu en tant que tel.  Such an entropy coding step is implemented by an entropic coding software module MCE1 shown in FIG. 2, which module is driven by the microprocessor μΡ of the processing unit UT_C01. The entropic coding module MCE1 is for example of the CABAC type. It may also be a Huffman coder known as such.
Au cours d'une étape C8 représentée à la figure 1A, il est procédé à la déquantification du bloc Bqv selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C6. Un bloc de coefficients déquantifiés BDqv est alors obtenu. During a step C8 shown in FIG. 1A, the block Bq v is dequantized according to a conventional operation of FIG. dequantization, which is the inverse operation of the quantization performed in step C6. A block of dequantized coefficients BDq v is then obtained.
Au cours d'une étape C9 représentée à la figure 1A, il est procédé à la transformation inverse du bloc de coefficients déquantifiés BDqv qui est l'opération inverse de la transformation directe effectuée à l'étape C5 ci- dessus. Un bloc résidu décodé BDrv est alors obtenu. During a step C9 shown in FIG 1A, it is proceeded to the inverse transformation of the dequantized coefficient block BDQ v which is the inverse operation of the direct conversion performed in step C5 above. A decoded residue block BDr v is then obtained.
Les étapes C8 et C9 sont mises en œuvre par un module logiciel de codage prédictif inverse PRED"1_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Steps C8 and C9 are implemented by a PRED "1 _C01 inverse predictive coding software module represented in FIG. 2, which module is driven by the microprocessor μΡ of the processing unit UT_C01.
Du fait que pour le bloc courant Bu considéré, les étapes C4 à C9 sont réitérées pour chaque bloc prédicteur de l'ensemble de blocs prédicteurs BP1 1 ; BP12, ..., BP1 V, ...,BP1 Q, Q blocs résidus décodés BDr1 ; BDr2,..., BDrv, ...,BDrQ sont obtenus à l'issue de l'étape C9. Since for the current block B u considered, steps C4 to C9 are repeated for each predictor block of the set of predictor blocks BP1 1; BP1 2 , ..., BP1 V , ..., BP1 Q , Q decoded residue blocks BDr 1; BDr 2 ,..., BDr v ,..., BDr Q are obtained at the end of step C9.
Au cours d'une étape C10 représentée à la figure 1A, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP1 -I , BP12, ..., BP1 V,...,BP1 Q, d'au moins un bloc prédicteur capable d'être retrouvé au décodage du bloc courant Bu. Selon l'invention, une telle étape d'identification est fonction du bloc résidu décodé courant BDrv obtenu. During a step C10 shown in FIG. 1A, the method according to the invention is used to identify, among all the Q predictor blocks BP1-I, BP1 2 ,..., BP1 V ,. , BP1 Q , at least one predictor block capable of being found at the decoding of the current block B u . According to the invention, such an identification step is a function of the current decoded residue block BDr v obtained.
Une telle étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 .  Such an identification step is implemented by a calculation software module CAL1_C01 shown in FIG. 2, which module is controlled by the microprocessor μΡ of the processing unit UT_C01.
Selon un mode particulier de réalisation représenté sur la figure 4, une telle identification consiste, pour un bloc résidu décodé courant BDrv, à construire un bloc décodé courant BDV,W en ajoutant au bloc résidu décodé courant BDrv un bloc prédicteur candidat BP1 w (1≤w≤Q). According to a particular embodiment shown in FIG. 4, such an identification consists, for a current decoded residue block BDr v , in building a current decoded block BD V, W by adding to the decoded current block BDr v a candidate predictor block BP1 w (1≤w≤Q).
Dans ce mode particulier, est appliqué un critère de minimisation de la différence entre les pixels décodés de l'image courante ICj, qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BDV,W le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BDv,w, ICj). L'opérateur SM(BDV,W, ICj) est en fait représentatif de l'erreur quadratique le long de la frontière F du bloc résiduel décodé BDrv avec l'image ICj. In this particular mode, a criterion is applied for minimizing the difference between the decoded pixels of the current image IC j , which are represented by dots in FIG. 4, and the pixels of the decoded block BD V, W along its boundary F. This criterion is a mathematical operator denoted SM (BD v , w, IC j ). The operator SM (BD V , W , IC j ) is in fact representative of the quadratic error along the boundary F of the decoded residual block BDr v with the image IC j .
Il s'écrit de la façon suivante : SM(BDViW, lCj) It is written as follows: MS (BD ViW , lC j )
N-1  N-1
= ^ BDV w(0, a)— lCj(lin— 1, col + α) = ^ BD V w (0, a) - lC j (lin-1, col + α)
α=0  α = 0
N-1  N-1
+ ^ ( 3Dv w(a, 0) — ICj lin + a, col — 1) + ^ (3D vw (a, 0) - IC j lin + a, col - 1)
a=Q  a = Q
OU  OR
- BDv,w est le bloc décodé considéré de taille NxN pixels, - BD v , w is the decoded block considered of size NxN pixels,
- BDv,w(n,m) est la valeur du pixel du bloc résidu décodé BDV,W situé sur la nième ligne et la mième colonne de ce bloc, - BD v , w (n, m) is the value of the pixel of the decoded residue block BD V , W located on the nth row and the mth column of this block,
- ICj est l'image courante, - IC j is the current image,
- ICj(k,l) est la valeur du pixel de l'image ICj situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc décodé BDv,wdans l'image ICj. - IC j (k, l) is the value of the pixel of the image IC j located on the k th line and the I th column of this image, and (lin, col) are the coordinates of the decoded block BD v, w in the image IC j .
A titre d'alternative, on peut utiliser un critère simplifié, où l'on vient comparer la moyenne des pixels de l'image ICj le long de la frontière F et la moyenne des pixels du bloc décodé BDV,W- L'opérateur SM(BDV,W, ICj) s'écrit alors : As an alternative, a simplified criterion can be used, in which the average of the pixels of the image IC j along the boundary F and the average of the pixels of the decoded block BD V , W - L 'are compared. SM operator (BD V , W , ICj) is then written:
SM(BDViW, lCj) MS (BD ViW , lC j )
N-1  N-1
abs ( Cj(lin— 1, col + a) abs (C j (lin-1, col + a)
(2N - 11))  (2N - 11)
a=0  a = 0
N-1 N-1  N-1 N-1
+ ICjÇlin + a, col - 1)) - ^ ^ BDV + IC j Çlin + a, col - 1)) - ^ ^ BD V
a=0 b=0  a = 0 b = 0
Où abs() représente la valeur absolue. Where abs () represents the absolute value.
Au cours de l'étape C10, il est procédé à la détermination du bloc décodé BDv.wmin qui minimise l'un des deux critères précités choisis, tel que : During step C10, the decoded block BDv.wmin is determined, which minimizes one of the two aforementioned criteria, such as:
Kmin = argminK 5 (BDuK, PDICj) Kmin = argmin K 5 (BD uK, PAC j)
Le bloc B Dv.wmin est égal à la somme du bloc prédicteur candidat BP1 wmin et du bloc résidu décodé courant BDrv. The block B Dv.wmin is equal to the sum of the candidate predictor block BP1 wmin and the current decoded residue block BDr v .
Au cours d'une étape C1 1 représentée à la figure 1 A, il est procédé à la comparaison du bloc prédicteur candidat identifié BP1 wmin avec le bloc prédicteur candidat BP1 V associée au bloc résidu décodé BDrv. Une telle étape de comparaison est mise en œuvre par un module logiciel de calcul CAL2_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . During a step C1 1 represented in FIG. 1A, the candidate candidate block BP1 wmin is compared with the candidate predictor block BP1 V associated with the decoded residue block BDr v . Such a comparison step is implemented by a calculation software module CAL2_C01 shown in FIG. 2, which module is controlled by the microprocessor μΡ of the processing unit UT_C01.
Pour le bloc courant Bu considéré, les étapes C4 à C1 1 sont réitérées pour chaque bloc prédicteur de l'ensemble de blocs prédicteurs BP1 i, BP12, ..., BP1 V, ...,BP1 Q déterminé à l'étape C3. For the current block B u considered, the steps C4 to C1 1 are repeated for each predictor block of the set of predictor blocks BP1 i, BP1 2 ,..., BP1 V ,..., BP1 Q determined in FIG. step C3.
Dans le cas où il y a identité entre le bloc BP1 Wmin et le bloc BP1 V, il est procédé, au cours d'une étape C12a) représentée à la figure 1A, à la sélection du bloc BP1 Wmin qui devient un bloc prédicteur identifié. In the case where there is identity between the block BP1 W min and the block BP1 V , it is proceeded, during a step C12a) shown in FIG. 1A, to the selection of the block BP1 W min which becomes a block identified predictor.
Dans le cas où il n'y a pas identité entre le bloc BP1 wmin et le bloc BP1 V, le bloc BPI wmin n'est pas sélectionné en tant que bloc prédicteur identifié. In the case where there is no identity between the block BP1 wmin and the block BP1 V , the BPI block wmin is not selected as the identified predictor block.
A l'issue de l'étape de sélection C12a), une pluralité T de blocs prédicteurs identifiés BP1 i , BP12, BP1 Z, BP1 T est obtenue, où 1 <z≤T≤Q. At the end of the selection step C12a), a plurality T of identified predictor blocks BP1 i, BP1 2 , BP1 Z , BP1 T is obtained, where 1 <z≤T≤Q.
Au cours d'une étape C13 représentée à la figure 1 B, il est procédé à la détermination, parmi tous les blocs prédicteurs BP1 -, , BP12, BP1 Z, BP1 T qui ont été obtenus à l'étape C12a), d'un bloc prédicteur candidat préférentiel BP1 opt, à l'aide de la minimisation d'un critère prédéterminé. Un tel critère s'exprime par l'équation (1 ) ci-dessous: During a step C13 shown in FIG. 1B, determination is made, among all the predictor blocks BP1 -, BP1 2 , BP1 Z , BP1 T which have been obtained in step C12a), of a preferential candidate predictor block BP1 opt , using the minimization of a predetermined criterion. Such a criterion is expressed by equation (1) below:
(1 ) J=D+AR où  (1) J = D + AR where
D représente la distorsion entre le bloc courant Bi original et le bloc Bi reconstruit, R représente le coût en bits du codage des paramètres de codage utilisés pour coder le bloc Bi et λ représente un multiplicateur de Lagrange dont la valeur est fixée au codeur.  D represents the distortion between the original current block Bi and the reconstructed block Bi, R represents the bit cost of the coding of the coding parameters used to code the block Bi and λ represents a Lagrange multiplier whose value is fixed to the coder.
Selon une variante particulièrement avantageuse d'un point de vue réduction du temps de calcul au codeur, le critère de performance prédéterminé ne dépend que de la distorsion et s'exprime par l'équation (2) ci- dessous :  According to a particularly advantageous variant from a point of view of reducing the computation time to the encoder, the predetermined performance criterion only depends on the distortion and is expressed by equation (2) below:
(2) J'=D.  (2) J '= D.
Les critères J et J' sont calculés classiquement par simulation par un module de calcul CAL3_C01 représenté sur la figure 2, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C01 . Au cours d'une étape C14 représentée à la figure 1 B, le module prédictif PRED_C01 de la figure 2 procède à la soustraction du bloc prédicteur candidat préférentiel BP1 opt du bloc courant Bu pour produire un bloc résidu Broptu- Au cours d'une étape C15 représentée à la figure 1 B, le moduleThe criteria J and J 'are calculated conventionally by simulation by a calculation module CAL3_C01 represented in FIG. 2, which module is driven by the microprocessor μΡ of the processing unit UT_C01. During a step C14 represented in FIG. 1B, the predictive module PRED_C01 of FIG. 2 subtracts the preferential candidate predictor block BP1 op t from the current block B u to produce a residue block Br op t u - Au during a step C15 shown in FIG. 1B, the module
PRED_C01 de la figure 2 procède à la transformation du bloc résidu Broptu selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Btoptu- Au cours d'une étape C16 représentée à la figure 1 B, le modulePRED_C01 of FIG. 2 carries out the transformation of the residue block Br op t u according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed block Bt op tu- During a step C16 shown in FIG. 1B, the module
PRED_C01 de la figure 2 procède à la quantification du bloc transformé Btoptu selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bqoptu est alors obtenu. PRED_C01 of FIG. 2 proceeds to the quantization of the transformed block Bt op tu according to a conventional quantization operation, such as, for example, a scalar quantization. A block of quantized coefficients Bq op t u is then obtained.
Au cours d'une étape C17 représentée à la figure 1 B, le module de codage entropique MCE1 de la figure 2 procède au codage entropique du bloc de coefficients quantifiés Bqoptu-During a step C17 represented in FIG. 1B, the entropic coding module MCE1 of FIG. 2 proceeds with the entropic coding of the quantized coefficient block Bq op t u -
Un flux de données φ qui contient les données encodées du bloc de coefficients quantifiés Bqoptu est alors délivré à l'issue de l'étape C17. Un tel flux est ensuite transmis par un réseau de communication (non représenté), à un terminal distant. Celui-ci comporte le décodeur D01 représenté à la figure 7. De façon connue en soi, le flux φ comprend en outre certaines informations encodées par le codeur C01 , telles que le type de prédiction (inter ou intra), et le cas échéant, le mode de prédiction, le type de partitionnement du bloc si ce dernier a été partitionné, l'indice d'image de référence et le vecteur de déplacement utilisés dans le mode de prédiction inter. A data flow φ which contains the encoded data of the quantized coefficient block Bq op t u is then delivered at the end of step C17. Such a stream is then transmitted by a communication network (not shown) to a remote terminal. This comprises the decoder D01 represented in FIG. 7. In a manner known per se, the stream φ furthermore comprises certain information encoded by the coder C01, such as the type of prediction (inter or intra), and, if appropriate, the prediction mode, the partition partitioning type if the block has been partitioned, the reference image index and the displacement vector used in the inter prediction mode.
Au cours d'une étape C18 représentée à la figure 1 B, le module PRED"1_C01 de la figure 2 procède à la déquantification du bloc Bqoptu selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C16. Un bloc de coefficients déquantifiés BDqoptu est alors obtenu. During a step C18 shown in FIG. 1B, the PRED module " 1_C01 of FIG. 2 dequantizes the block Bq op t u according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C16 A block of dequantized coefficients BDq op tu is then obtained.
Au cours d'une étape C19 représentée à la figure 1 B, le module PRED"1_C01 de la figure 2 procède à la transformation inverse du bloc de coefficients déquantifiés BDqoptu qui est l'opération inverse de la transformation directe effectuée à l'étape C15 ci-dessus. Un bloc résidu décodé BDroptu est alors obtenu. During a step C19 represented in FIG. 1B, the PRED module " 1_C01 of FIG. 2 carries out the inverse transformation of the block of dequantized coefficients BDq op t u which is the reverse operation of the direct transformation performed in step C15 above. A decoded residue block BDr op tu is then obtained.
Au cours d'une étape C20 représentée à la figure 1 B, il est procédé à la construction du bloc décodé BDU en ajoutant au bloc prédicteur candidat préférentiel BP1 opt le bloc résidu décodé BDroptu- H est à noter que ce dernier bloc est le même que le bloc décodé obtenu à l'issue du procédé de décodage de l'image ICj qui sera décrit plus loin dans la description. Le bloc décodé BDU est alors stocké dans la mémoire tampon MT_C01 de la figure 2, afin d'être utilisé par le codeur C01 comme bloc prédicteur candidat d'un bloc suivant à coder. During a step C20 shown in FIG. 1B, the decoded block BD U is constructed by adding to the preferential candidate predictor block BP1 op t the decoded residue block BDr op t u - H is noted that this last block is the same as the decoded block obtained at the end of the image decoding process IC j which will be described later in the description. The decoded block BD U is then stored in the buffer memory MT_C01 of FIG. 2, in order to be used by the coder C01 as a candidate predictor block of a next block to be encoded.
Au cours d'une étape C21 représentée à la figure 1 B, le codeur C01 teste si le bloc courant Bu qui vient d'être codé est le dernier bloc de l'image Si le bloc courant est le dernier bloc de l'image ICj, au cours d'une étape suivante C22 représentée à la figure 1 B, il est mis fin au procédé de codage. During a step C21 shown in FIG. 1B, the coder C01 tests whether the current block B u that has just been coded is the last block of the image. If the current block is the last block of the image. IC j , during a next step C22 shown in Figure 1 B, it ends the coding process.
Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C3 à C21 sont réitérées pour ce bloc suivant sélectionné.  If this is not the case, it is proceeded again to the selection step C2 of the next block to be coded according to the above-mentioned raster scan order, then the steps C3 to C21 are repeated for this next block selected .
Les étapes de codage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs B-i , B2, Bu, ..., Bs à coder de l'image courante ICj considérée. The coding steps which have just been described above are implemented for all the blocks Bi, B 2 , B u ,..., B s to be encoded of the current image IC j considered.
Description détaillée d'un autre mode de réalisation de la partie codage Cet autre mode de réalisation se distingue du mode de réalisation précédent en ce qu'il met en œuvre deux types de prédiction qui vont être décrites ci-dessous en référence à la figure 5. Le procédé de codage selon cet autre mode de réalisation est représenté sous la forme d'un algorithme comportant des étapes C'1 à C'9 telles que représentées à la figure 5. Le procédé de codage selon cet autre mode de réalisation de l'invention est implémenté dans un dispositif de codage C02 représenté à la figure 6. DETAILED DESCRIPTION OF ANOTHER EMBODIMENT OF THE CODING PART This alternative embodiment differs from the previous embodiment in that it implements two types of prediction which will be described below with reference to FIG. The coding method according to this other embodiment is represented in the form of an algorithm comprising steps C'1 to C'9 as represented in FIG. The coding method according to this other embodiment of the invention is implemented in a coding device C02 shown in FIG. 6.
Comme illustré en figure 6, un tel dispositif de codage C02 comprend une mémoire MEM_C02 comprenant une mémoire tampon MT_C02, une unité de traitement UT_C02 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_C02 qui met en œuvre le procédé de codage selon cet autre mode de réalisation. A l'initialisation, les instructions de code du programme d'ordinateur PG_C02 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur de l'unité de traitement UT_C02.  As illustrated in FIG. 6, such a coding device C02 comprises a memory MEM_C02 comprising a buffer memory MT_C02, a processing unit UT_CO2 equipped for example with a microprocessor μΡ and driven by a computer program PG_C02 which implements the method coding according to this other embodiment. At initialization, the code instructions of the computer program PG_C02 are for example loaded into a RAM (not shown) before being executed by the processor of the processing unit UT_C02.
Le procédé de codage représenté sur la figure 5 s'applique à toute image courante d'une séquence SQ d'images à coder.  The coding method shown in FIG. 5 applies to any current image of an image SQ sequence to be encoded.
Au cours d'une étape C'1 représentée à la figure 5, il est procédé au partitionnement d'une image courante ICj appartenant à la séquence SQ d'images ld , ICj, ..., I CM (1≤j≤M), en une pluralité de blocs B-i , B2, Bu, ..., Bs (1 <u≤S), par exemple de taille 64x64 pixels. Une telle étape de partitionnement est mise en œuvre par un module logiciel de partitionnement MP2 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02. L'étape C'1 étant identique à l'étape C1 de la figure 1 A, elle ne sera pas décrite plus longuement. During a step C'1 represented in FIG. 5, a current image ICj belonging to the image sequence SQ ld, ICj, ..., I CM (1≤j≤M) is partitioned. ), in a plurality of blocks Bi, B 2 , B u , ..., B s (1 < u S S), for example of size 64 × 64 pixels. Such a partitioning step is implemented by a partitioning software module MP2 shown in FIG. 6, which module is controlled by the microprocessor μΡ of the processing unit UT_C02. Since step C'1 is identical to step C1 of FIG. 1A, it will not be described further.
Comme dans le mode de réalisation des figures 1 A et 1 B, lesdits blocs B-i , B2, Bu, ... , Bs sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type raster scan. Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite. As in the embodiment of FIGS. 1A and 1B, said blocks Bi, B 2 , B u ,..., B s are intended to be coded according to a predetermined order of travel, which is for example of the raster scan type. . This means that the blocks are coded one after the other, from left to right.
Au cours d'une étape C'2 représentée à la figure 5, le codeur C02 sélectionne comme bloc courant un premier bloc à coder Bu de l'image ICj, tel que par exemple le premier bloc B-i . During a step C'2 shown in FIG. 5, the coder C02 selects as the current block a first block to be encoded B u of the image ICj, such as, for example, the first block Bi.
Au cours d'une étape C'3 représentée à la figure 5, il est procédé, de façon connue en soi, à la prédiction du bloc courant Bu par des techniques classiques de prédiction intra et/ou inter à l'aide d'un bloc prédicteur BP1 sei - Une telle prédiction sera appelée « prédiction primaire » dans la suite de la description. During a step C'3 shown in FIG. 5, in a manner known per se, the current block B u is predicted by conventional intra and / or inter prediction techniques using a predictor block BP1 is i - Such a prediction will be called "primary prediction" in the remainder of the description.
L'étape de prédiction précitée permet de construire un bloc résidu Br1 u qui est obtenu par calcul de la différence entre le bloc courant Bu et le bloc prédicteur BP1 se|. The aforementioned prediction step makes it possible to construct a residue block Br1 u which is obtained by calculating the difference between the current block B u and the predictor block BP1 se .
L'étape C'3 est mise en œuvre par un module logiciel de codage prédictif PRED1_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.  The step C'3 is implemented by a predictive coding software module PRED1_C02 shown in FIG. 6, which module is driven by the microprocessor μΡ of the processing unit UT_C02.
Au cours d'une étape C'4 représentée à la figure 5, conformément à l'invention, il est procédé à la détermination d'un ensemble de Q blocs prédicteurs candidats BP21 ; BP22, ..., BP2V,...,BP2Q (1 <V≤Q). Une telle étape étant identique à l'étape de détermination C3 de la figure 1 A, elle ne sera pas décrite plus longuement. During a step C'4 represented in FIG. 5, in accordance with the invention, a set of Q candidate predictor blocks BP2 1 is determined; BP2 2, ..., V BP2, ..., BP2 Q (1 <V≤Q). Since such a step is identical to the determination step C3 of FIG. 1A, it will not be described further.
Une telle étape de détermination C'4 est mise en œuvre par un module logiciel de détermination DET_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.  Such a determination step C'4 is implemented by a determination software module DET_CO2 shown in FIG. 6, which module is controlled by the microprocessor μΡ of the processing unit UT_CO2.
Au cours d'une étape C'5 représentée à la figure 5, conformément à l'invention, il est procédé à une prédiction du bloc résidu Br1 u en mettant en œuvre les étapes C4 à C13 décrites ci-dessus en liaison avec les figures 1 A et 1 B. Une telle prédiction sera appelée « prédiction secondaire » dans la suite de la description. During a step C'5 represented in FIG. 5, in accordance with the invention, a prediction of the residue block Br1 u is carried out by implementing the steps C4 to C13 described above in connection with the figures 1 A and 1 B. Such a prediction will be called "secondary prediction" in the remainder of the description.
Au cours de cette prédiction secondaire, un bloc prédicteur candidat préférentiel BP2opt est sélectionné. During this secondary prediction, a preferential candidate predictor block BP2 op t is selected.
En référence à la figure 6, l'étape C'5 est mise en œuvre à l'aide :  With reference to FIG. 6, step C'5 is implemented using:
- d'un module logiciel de prédiction PRED2_C02 qui est identique au module PRED_CO de la figure 2,  a prediction software module PRED2_C02 which is identical to the module PRED_CO of FIG. 2,
- d'un module logiciel de codage entropique MCE2_C02 qui est identique au module MCE1 de la figure 2,  an entropic coding software module MCE2_C02 which is identical to the module MCE1 of FIG. 2,
- d'un module logiciel de prédiction inverse PRED2"1_C02 qui est identique au module PRED"1_C01 de la figure 2, an inverse prediction software module PRED2 "1 _C02 which is identical to the module PRED " 1 _C01 of FIG. 2,
- d'un module logiciel de calcul CAL1_C02 qui est identique au module CAL1_C01 de la figure 2,  a calculation software module CAL1_C02 which is identical to the module CAL1_C01 of FIG. 2,
- d'un module logiciel de calcul CAL2_C02 qui est identique au module CAL2_C01 de la figure 2. Au cours d'une étape C'6 représentée à la figure 5, conformément à l'invention, il est procédé au test de l'efficacité du bloc prédicteur candidat préférentiel BP2opt qui a été sélectionné. a calculation software module CAL2_C02 which is identical to the module CAL2_C01 of FIG. 2. During a step C'6 represented in FIG. 5, in accordance with the invention, the effectiveness of the preferred candidate predictor block BP2 op t which has been selected is carried out.
L'étape de test C'6 est mise en œuvre par un module logiciel de calcul CAL4_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02.  The test step C'6 is implemented by a calculation software module CAL4_C02 shown in FIG. 6, which module is driven by the microprocessor μΡ of the processing unit UT_C02.
Dans un mode préféré de réalisation, un tel test consiste à vérifier si l'énergie du bloc Br1 u-BP2opt est inférieure à un seuil qui correspond à la valeur de l'énergie du bloc Br1 u. In a preferred embodiment, such a test consists in verifying whether the energy of the block Br1 u -BP2 op t is lower than a threshold which corresponds to the value of the energy of the block Br 1 u .
Si le test négatif, le codage du bloc courant Bu se poursuit de manière classique. If the negative test, the coding of the current block B u continues in a conventional manner.
Si le test est positif, cela signifie que le bloc prédicteur candidat préférentiel BP2opt est proche du bloc original courant Bu. Par conséquent, la prédiction secondaire est appliquée au bloc courant Bu. If the test is positive, it means that the preferential candidate predictor block BP2 opt is close to the current original block B u . Therefore, the secondary prediction is applied to the current block B u.
Test négatif  Negative test
Dans le cas où le test effectué à l'étape C'6 est négatif, au cours d'une étape C'610 représentée à la figure 5, il est procédé à la transformation du bloc résidu Br1 u selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt1 u. In the case where the test carried out in step C'6 is negative, during a step C'610 shown in FIG. 5, the residue block Br1 u is transformed according to a conventional direct transformation operation. such as for example a discrete cosine transformation of DCT type, to produce a transformed block Bt1 u .
Au cours d'une étape C'61 1 représentée à la figure 5, il est procédé à la quantification du bloc transformé Bt1 u selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq1 u est alors obtenu. During a step C'61 1 shown in FIG. 5, the transformed block Bt1 u is quantized according to a conventional quantization operation, such as, for example, scalar quantization. A block of quantized coefficients Bq1 u is then obtained.
Les étapes C'610 et C'61 1 sont mises en œuvre par le module logiciel de codage prédictif PRED1_C02 représenté sur la figure 6.  The steps C'610 and C'61 1 are implemented by the predictive coding software module PRED1_C02 shown in FIG. 6.
Au cours d'une étape C'612 représentée à la figure 5, il est procédé au codage entropique du bloc de coefficients quantifiés Bq1 u par un module logiciel de codage entropique MCE1_C02 identique au module logiciel de codage entropique MCE_C01 de la figure 2. En outre, un indicateur Id associé au bloc prédicteur candidat préférentiel BP2opt est codé selon une première valeur prédéterminée (bit à 0 par exemple) pour signaler que la prédiction secondaire n'a pas été appliquée. Un flux de données φ1 , qui contient les données encodées du bloc de coefficients quantifiés Bq1 i ainsi que le bit à 0 de l'indicateur Id, est alors délivré à l'issue de l'étape C'612. Un tel flux est ensuite transmis par un réseau de communication (non représenté), à un terminal distant. Celui-ci comporte le décodeur D02 représenté à la figure 10. De façon connue en soi, le flux φ1 contient des informations encodées par le codeur C02, telles que le type de prédiction (inter ou intra), et le cas échéant, le mode de prédiction, le type de partitionnement d'un bloc ou macrobloc si ce dernier a été partitionné, l'indice d'image de référence et le vecteur de déplacement utilisés dans le mode de prédiction inter. During a step C'612 represented in FIG. 5, the entropic coding of the quantized coefficient block Bq1 u is carried out by an entropic coding software module MCE1_CO2 identical to the entropic coding software module MCE_C01 of FIG. furthermore, an indicator Id associated with the preferential candidate predictor block BP2 op t is coded according to a first predetermined value (bit at 0 for example) to indicate that the secondary prediction has not been applied. A data flow φ1, which contains the encoded data of the quantized coefficient block Bq1 i as well as the bit at 0 of the indicator Id, is then output at the end of the step C'612. Such a stream is then transmitted by a communication network (not shown) to a remote terminal. This comprises the decoder D02 shown in FIG. 10. In a manner known per se, the stream φ1 contains information encoded by the coder C02, such as the type of prediction (inter or intra), and if appropriate, the mode prediction, the type of partitioning of a block or macroblock if the latter has been partitioned, the reference image index and the displacement vector used in the inter prediction mode.
Au cours d'une étape C'613 représentée à la figure 5, il est procédé à la déquantification du bloc Bq1 u selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C'61 1 . Un bloc de coefficients déquantifiés BDq1 u est alors obtenu. Au cours d'une étape C'614 représentée à la figure 5, il est procédé à la transformation inverse du bloc de coefficients déquantifiés BDq1 u qui est l'opération inverse de la transformation directe effectuée à l'étape C'610 ci- dessus. Un bloc résidu décodé BDr1 u est alors obtenu. During a step C'613 shown in FIG. 5, the block Bq1 u is dequantized according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C'61. . A block of dequantized coefficients BDq1 u is then obtained. During a step C'614 represented in FIG. 5, the inverse transformation of the dequantized coefficient block BDq1 u is carried out which is the inverse operation of the direct transformation carried out in step C'610 above. . A decoded residue block BDr1 u is then obtained.
Les étapes C'613 et C'614 sont mises en œuvre par un module logiciel de codage prédictif inverse PRED1 "1_C02 représenté sur la figure 6, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_C02. Un tel module est identique au module logiciel PRED"1_C01 de la figure 2. The steps C'613 and C'614 are implemented by an inverse predictive coding software module PRED1 "1 _C02 shown in FIG. 6, which module is driven by the microprocessor μΡ of the processing unit UT_C02. is identical to the software module PRED "1 _C01 of Figure 2.
Au cours d'une étape C7 représentée à la figure 5, il est procédé à la construction du bloc décodé BDU en ajoutant au bloc prédicteur BP1 sei le bloc résidu décodé BDr1 u. Le bloc décodé BDU est alors stocké dans la mémoire tampon MT_C02 de la figure 6, afin d'être utilisé par le codeur C02 comme bloc prédicteur candidat à une prédiction secondaire d'un bloc résidu décodé suivant. C7 during a step shown in Figure 5, requires the construction of the decoded block by adding the U BD BP1 predictor block i block decoded residue BDr1 u. The decoded block BD U is then stored in the buffer MT_C02 of FIG. 6, in order to be used by the coder C02 as a predictor block that is candidate for a secondary prediction of a next decoded residue block.
Au cours d'une étape C'8 représentée à la figure 5, le codeur C02 teste si le bloc courant Bu qui vient d'être codé est le dernier bloc de l'image ICj. During a step C'8 represented in FIG. 5, the coder C02 tests whether the current block B u that has just been coded is the last block of the image ICj.
Si le bloc courant Bu est le dernier bloc de l'image ICj, au cours d'une étape C'9 représentée à la figure 5, il est mis fin au procédé de codage. Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C'2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C'3 à C'6 sont réitérées pour ce bloc suivant sélectionné. If the current block B u is the last block of the image IC j , during a step C'9 represented in FIG. 5, the coding method is terminated. If this is not the case, it is proceeded again to the selection step C'2 of the next block to be coded according to the above-mentioned raster scan order, then the steps C'3 to C'6 are reiterated for that next block selected.
Test positif  Positive test
Si le test effectué à l'étape C'6 est positif, au cours d'une étape C'620 représentée à la figure 5, le module PRED2_C02 de la figure 6 procède à la soustraction du bloc prédicteur candidat préférentiel BP2opt du bloc résidu Br1 u pour produire un bloc résidu Br2optu- Au cours d'une étape C'621 représentée à la figure 5, le moduleIf the test performed in step C'6 is positive, during a step C'620 shown in FIG. 5, the module PRED2_C02 of FIG. 6 subtracts the preferential candidate predictor block BP2 opt from the residual block Br1 u to produce a residue block Br2 op t u - During a step C'621 represented in FIG. 5, the module
PRED2_C02 de la figure 6 procède à la transformation du bloc résidu Br2optu selon une opération classique de transformation directe telle que par exemple une transformation en cosinus discrètes de type DCT, pour produire un bloc transformé Bt2optu- Au cours d'une étape C'622 représentée à la figure 5, le modulePRED2_C02 of FIG. 6 transforms the residue block Br2 op t u according to a conventional direct transformation operation such as, for example, a discrete cosine transformation of the DCT type, to produce a transformed block Bt2 op t u - During a step C'622 represented in FIG. 5, the module
PRED2_C02 de la figure 6 procède à la quantification du bloc transformé Bt2optu selon une opération classique de quantification, telle que par exemple une quantification scalaire. Un bloc de coefficients quantifiés Bq2optu est alors obtenu. PRED2_C02 of FIG. 6 proceeds to the quantization of the transformed block Bt2 op tu according to a conventional quantization operation, such as, for example, a scalar quantization. A block of quantized coefficients Bq2 op t u is then obtained.
Au cours d'une étape C'623 représentée à la figure 5, le module de codage entropique MCE2_C02 de la figure 6 procède au codage entropique du bloc de coefficients quantifiés Bq2optu- En outre, l'indicateur Id associé au bloc prédicteur candidat préférentiel BP2opt est codé selon une seconde valeur prédéterminée (bit à 1 par exemple) pour signaler que la prédiction secondaire a été appliquée. During a step C'623 represented in FIG. 5, the entropic coding module MCE2_CO2 of FIG. 6 proceeds with the entropic coding of the quantized coefficient block Bq2 op t u. In addition, the indicator Id associated with the predictor block preferential candidate BP2 opt is coded according to a second predetermined value (1-bit, for example) to signal that the secondary prediction has been applied.
Un flux de données φ2, qui contient les données encodées du bloc de coefficients quantifiés Bq2optu ainsi que le bit à 1 de l'indicateur Id, est alors délivré à l'issue de l'étape C'623. Un tel flux est ensuite transmis par un réseau de communication (non représenté) au décodeur D02 représenté à la figure 10. A data stream φ2, which contains the encoded data of the quantized coefficient block Bq2 op t u and the bit at 1 of the indicator Id, is then output at the end of the step C'623. Such a stream is then transmitted by a communication network (not shown) to the decoder D02 shown in FIG.
Au cours d'une étape C'624 représentée à la figure 5, le module PRED2"1_C02 de la figure 6 procède à la déquantification du bloc Bq2optu selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C'622. Un bloc de coefficients déquantifiés BDq2optu est alors obtenu. During a step C'624 shown in FIG. 5, the module PRED2 "1 _C02 of FIG. 6 carries out the dequantization of the block Bq2 op t u according to a conventional operation of dequantization, which is the inverse operation the quantification performed in step C'622. A block of dequantized coefficients BDq2 op t u is then obtained.
Au cours d'une étape C'625 représentée à la figure 5, le module PRED2"1_C02 de la figure 6 procède à la transformation inverse du bloc de coefficients déquantifiés BDq2optu qui est l'opération inverse de la transformation directe effectuée à l'étape C'621 ci-dessus. Un bloc résidu décodé BDr2optu est alors obtenu. During a step C'625 shown in FIG. 5, the module PRED2 "1 _C02 of FIG. 6 carries out the inverse transformation of the dequantized coefficient block BDq2 op t u which is the inverse operation of the direct transformation carried out in step C'621 above A decoded residue block BDr2 op tu is then obtained.
Au cours de l'étape C7 mentionnée plus haut, il est procédé à la construction du bloc décodé BDU en ajoutant au bloc prédicteur candidat préférentiel BP2opt le bloc résidu décodé BDr2optu- Le bloc décodé BDU ainsi construit est alors stocké dans la mémoire tampon MT_C02 de la figure 6, afin d'être utilisé par le codeur C02 comme bloc prédicteur candidat à une prédiction secondaire d'un bloc résidu décodé suivant. During the step C7 mentioned above, the decoded block BD U is constructed by adding to the preferential candidate predictor block BP2 opt the decoded residual block BDr2 op t u. The decoded block BD U thus constructed is then stored. in the MT_C02 buffer memory of FIG. 6, for use by the CO 2 coder as a predictor block candidate for a secondary prediction of a next decoded residue block.
Au cours de l'étape C'8 représentée à la figure 5, le codeur C02 teste si le bloc courant Bu qui vient d'être codé est le dernier bloc de l'image ICj. During the step C'8 represented in FIG. 5, the coder C02 tests whether the current block B u which has just been coded is the last block of the image IC j .
Si le bloc courant est le dernier bloc de l'image ICj, au cours de l'étape C'9 représentée à la figure 5, il est mis fin au procédé de codage. If the current block is the last block of the image IC j , during the step C'9 represented in FIG. 5, the coding method is terminated.
Si tel n'est pas le cas, il est procédé à nouveau à l'étape de sélection C'2 du bloc suivant à coder conformément à l'ordre de parcours raster scan précité, puis les étapes C'3 à C'6 sont réitérées pour ce bloc suivant sélectionné.  If this is not the case, it is proceeded again to the selection step C'2 of the next block to be coded according to the above-mentioned raster scan order, then the steps C'3 to C'6 are reiterated for that next block selected.
Les étapes de codage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs B-i , B2, Bu, ..., Bs à coder de l'image courante ICj considérée. The coding steps which have just been described above are implemented for all the blocks Bi, B 2 , B u ,..., B s to be encoded of the current image IC j considered.
Description détaillée d'un mode de réalisation de la partie décodage Detailed description of an embodiment of the decoding part
Un mode de réalisation du procédé de décodage selon l'invention va maintenant être décrit, dans lequel le procédé de décodage est implémenté de manière logicielle ou matérielle par modifications d'un décodeur initialement conforme à la norme HEVC. Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes D1 à D1 1 telles que représentées à la figure 8. Comme illustré en figure 7, un décodeur D01 selon l'invention comprend une mémoire MEM_D01 comprenant une mémoire tampon MT_D01 , une unité de traitement UT_D01 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_D01 qui met en œuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_D01 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement UT_D01 . An embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware way by modifying a decoder initially conforming to the HEVC standard. The decoding method according to the invention is represented in the form of an algorithm comprising steps D1 to D1 1 as represented in FIG. 8. As illustrated in FIG. 7, a decoder D01 according to the invention comprises a memory MEM_D01 comprising a buffer memory MT_D01, a processing unit UT_D01 equipped for example with a microprocessor μΡ and driven by a computer program PG_D01 which implements the decoding method according to the invention. At initialization, the code instructions of the computer program PG_D01 are for example loaded into a RAM before being executed by the processor of the processing unit UT_D01.
Le procédé de décodage représenté sur la figure 8 s'applique à toute image courante d'une séquence SQ d'images à décoder.  The decoding method shown in FIG. 8 applies to any current image of an SQ sequence of images to be decoded.
A cet effet, des informations représentatives de l'image courante ICj à décoder sont identifiées dans le flux φ reçu au décodeur. For this purpose, information representative of the current image IC j to be decoded is identified in the stream φ received at the decoder.
En référence à la figure 8, la première étape de décodage D1 est l'identification dans ledit flux φ des données encodées Bq ; Bq2, ..., Bqu, ...Bqs associées respectivement aux blocs résiduels Bn, Br2, Bru,..., Brs codés précédemment conformément au parcours raster scan précité, selon le procédé de codage représenté sur les figures 1A et 1 B. With reference to FIG. 8, the first decoding step D1 is the identification in said stream φ of the encoded data Bq ; Bq 2 , ..., Bq u , ... Bq s respectively associated with the residual blocks Bn, Br 2 , Br u , ..., Br s coded previously according to the above-mentioned raster scan path, according to the coding method shown in FIG. Figures 1A and 1B.
Une telle étape d'identification est mise en œuvre par un module d'identification MI_D01 telle que représenté à la figure 8, ledit module étant pilotée par le microprocesseur μΡ de l'unité de traitement UT_D01 .  Such an identification step is implemented by an identification module MI_D01 as shown in FIG. 8, said module being driven by the microprocessor μΡ of the processing unit UT_D01.
Lesdits blocs Bq ; Bq2, Bqu, ..., Bqs sont destinés à être décodés selon un ordre de parcours prédéterminé, qui est par exemple du type séquentiel, c'est à dire qu'ils sont destinés à être décodés l'un après l'autre dans l'ordre raster scan où ils ont été codés. Said blocks Bq ; Bq 2 , Bq u , ..., Bq s are intended to be decoded according to a predetermined order of travel, which is for example of the sequential type, that is to say that they are intended to be decoded one after the other. other in the raster scan order where they were encoded.
D'autres types de parcours que celui qui vient d'être décrit ci-dessus sont bien sûr possibles et dépendent de l'ordre de parcours choisi au codage, dont des exemples ont été mentionnés plus haut.  Other types of course than the one just described above are of course possible and depend on the order of course chosen coding, examples of which were mentioned above.
Au cours d'une étape D2 représentée à la figure 8, le décodeur D01 sélectionne comme bloc courant un premier bloc à coder Bqu de l'image ICj, tel que par exemple le premier bloc Bq-, . During a step D2 shown in FIG. 8, the decoder D01 selects as the current block a first block to be encoded Bq u of the image IC j , such as, for example, the first block Bq-,.
Au cours d'une étape D3 représentée à la figure 8, il est procédé au décodage entropique du bloc Bqu. Dans le mode préféré de réalisation, il s'agit d'un décodage entropique CABAC. Une telle étape consiste à : a) lire le ou les symboles de l'ensemble prédéterminé de symboles qui sont associés audit bloc résiduel courant, During a step D3 shown in FIG. 8, the entropy decoding of the block Bq u is carried out . In the preferred embodiment, it is a CABAC entropic decoding. Such a step consists of: a) reading the symbol (s) of the predetermined set of symbols which are associated with said current residual block,
b) associer des informations numériques, telles que des bits, au(x) symbole(s) lu(s).  b) associating digital information, such as bits, with the read symbol (s).
Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE1 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 . Le module de codage entropique MDE1 est par exemple de type CABAC. Il peut également s'agir d'un décodeur de Huffman connu en tant que tel.  Such an entropy decoding step is implemented by an entropy decoding software module MDE1 shown in FIG. 7, which module is controlled by the microprocessor μΡ of the processing unit UT_D01. The entropy coding module MDE1 is for example of the CABAC type. It can also be a Huffman decoder known as such.
Au cours d'une étape D4 représentée à la figure 8, il est procédé à la déquantification du bloc BDqu selon une opération classique de déquantification, qui est l'opération inverse de la quantification effectuée à l'étape C16 de la figure 1 B. Un bloc déquantifié décodé BDtu est alors obtenu. During a step D4 shown in FIG. 8, dequantization of the block BDq u is carried out according to a conventional dequantization operation, which is the inverse operation of the quantization performed in step C16 of FIG. 1B. A decoded dequantized block BDt u is then obtained.
Au cours d'une étape D5 représentée à la figure 8, il est procédé à la transformation inverse du bloc déquantifié décodé BDtu qui est l'opération inverse de la transformation directe effectuée à l'étape C15 de la figure 1 B. Un bloc résidu décodé BDru est alors obtenu. During a step D5 shown in FIG. 8, the inverse transformation of the decoded dequantized block BDt u is carried out which is the inverse operation of the direct transformation performed in step C15 of FIG. decoded residue BDr u is then obtained.
Les étapes D4 et D5 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED"1_D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 . The steps D4 and D5 are implemented by a PRED "1 _D01 inverse predictive decoding software module represented in FIG. 7, which module is driven by the microprocessor μΡ of the processing unit UT_D01.
Au cours d'une étape D6 représentée à la figure 8, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP1 i, BP12, ..., BP1 V,...,BP1 Q (1 <V≤Q). De tels blocs prédicteurs candidats sont par exemple des blocs de pixels qui ont été déjà décodés ou non. De tels blocs sont préalablement stockés dans la mémoire tampon MT_D01 du décodeur telle que représentée à la figure 7. Dans l'exemple représenté, il s'agit en particulier d'un nombre prédéterminé de blocs qui ont été décodés juste avant le bloc courant à décoder considéré. During a step D6 shown in FIG. 8, a set of Q candidate predictor blocks BP1 i, BP1 2 ,..., BP1 V ,..., BP1 is determined according to the invention. Q (1 <V≤Q). Such candidate predictor blocks are, for example, blocks of pixels that have already been decoded or not. Such blocks are stored beforehand in the buffer MT_D01 of the decoder as shown in FIG. 7. In the example shown, it is in particular a predetermined number of blocks that have been decoded just before the current block. decode considered.
Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 . Au cours d'une étape D7 représentée à la figure 8, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP1 ; BP12, ..., BP1 v, ...,BP1 Q, d'un bloc prédicteur candidat préférentiel BP1 opt. Selon l'invention, de la même façon qu'au codage précité, une telle étape d'identification est fonction du bloc résidu décodé BDru obtenu. Such a determination step is implemented by a DET_D01 determination software module shown in FIG. 7, which module is driven by the μΡ microprocessor of the processing unit UT_D01. During a step D7 represented in FIG. 8, the identification method is carried out according to the invention, among all the Q predictor blocks BP1 ; BP1 2 , ..., BP1 v , ..., BP1 Q, of a preferential candidate predictor block BP1 op t. According to the invention, in the same way as in the aforementioned coding, such an identification step is a function of the decoded residue block BDr u obtained.
Ladite étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_D01 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D01 .  Said identification step is implemented by a calculation software module CAL1_D01 shown in FIG. 7, which module is controlled by the microprocessor μΡ of the processing unit UT_D01.
De la même façon qu'au procédé de codage décrit en référence aux figures 1 A et 1 B, une telle identification consiste, pour un bloc résidu décodé courant BDru, à construire un bloc décodé courant BDU>W en ajoutant au bloc résidu décodé courant BDru un bloc prédicteur candidat BP1 W (1 <w≤Q). In the same way as for the coding method described with reference to FIGS. 1A and 1B, such an identification consists, for a current decoded residue block BDr u , of constructing a current decoded block BD U> W by adding to the residual block decoded current BDr u a candidate predictor block BP1 W (1 <w≤Q).
Dans ce mode particulier, et de façon correspondante au codage, est appliqué un critère de minimisation de la différence entre les pixels décodés de l'image courante ICj, qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BDU>W situés le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BDUiW, ICj). L'opérateur SM(BDUiW, ICj) est en fait représentatif de l'erreur quadratique le long de la frontière F du bloc résiduel décodé BDru avec l'image ICj. In this particular mode, and correspondingly to the coding, is applied a criterion for minimizing the difference between the decoded pixels of the current image IC j , which are represented by dots in FIG. 4, and the pixels of the decoded block BD U> W located along its border F. This criterion is a mathematical operator noted SM (BD UiW , IC j ). The operator SM (BD UiW , IC j ) is in fact representative of the quadratic error along the boundary F of the decoded residual block BDr u with the image IC j .
II s'écrit de la façon suivante :  It is written as follows:
SM(BDu>w, ICj) MS (BD u> w , IC j )
N-l  N-l
= ^ (BDUiW(0, a) — ICj lin— 1, col + a)) = ^ (BD UiW (0, a) - IC j lin-1, col + a))
a=0  a = 0
N-l  N-l
+ ^ (BDu w(CL, 0) - ICj (lin + a, col - 1)) + ^ (BD uw (CL, 0) - IC j (lin + a, col - 1))
a=0  a = 0
où : or :
- BDU>W est le bloc décodé considéré de taille NxN pixels, - BD U> W is the decoded block considered of size NxN pixels,
- BDu,w(n,m) est la valeur du pixel du bloc résidu décodé BDU>W situé sur la nième ligne et la mième colonne de ce bloc, - BD u , w (n, m) is the value of the decoded residue block BD U> W located on the nth row and the mth column of this block,
- ICj est l'image courante, - IC j is the current image,
- ICj(k,l) est la valeur du pixel de l'image ICj situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc décodé BDu>wdans l'image ICj. A titre d'alternative, on peut utiliser un critère simplifié, où l'on vient comparer la moyenne des pixels de l'image ICj le long de la frontière F et la moyenne des pixels du bloc décodé BDU>W. L'opérateur SM(BDUiW, ICj) s'écrit alors : - IC j (k, l) is the value of the pixel of the image IC j located on the k th line and the I th column of this image, and (lin, col) are the coordinates of the decoded block BD u> w in the image IC j . As an alternative, a simplified criterion can be used, in which the average of the pixels of the image ICj along the border F is compared with the average of the pixels of the decoded block BD U> W. The operator SM (BD UiW , ICj) is written then:
SM(BDu>w, ICj) MS (BD u> w , IC j )
N-1  N-1
(2N _ ^ ^ {iCj Çlin - 1, col + a) (2N _ ^ ^ {iCj Çlin - 1, col + a)
a=Q  a = Q
N-1 N-1  N-1 N-1
+ iq (lin + a, col - ï)) -— ^ ^ (BDUIW (a, b)) + iq (lin + a, col - ï)) - ^ ^ (BD UIW (a, b))
a=0 b=0  a = 0 b = 0
Où abs() représente la valeur absolue. Where abs () represents the absolute value.
Au cours de l'étape D7, il est procédé à l'identification du bloc décodé BDv.wmin qui minimise l'un des deux critères précités choisis, tel que :  During step D7, the decoded block BDv.wmin is identified, which minimizes one of the two aforementioned criteria, such as:
wmin = argminw SM{BDu w, lCj) wmin = argmin w MS {BD uw , lC j )
Le bloc BDv.wmin est égal à la somme du bloc prédicteur candidat BP1 wmin et du bloc résidu décodé courant BDrv. The block BDv.wmin is equal to the sum of the candidate predictor block BP1 wmin and the current decoded residue block BDr v .
A l'issue de l'étape D7, le bloc prédicteur candidat BP1 Wmin est considéré comme le bloc prédicteur préférentiel candidat BP1 opt en vue de la prédiction inverse du bloc résidu décodé courant BDru. At the end of step D7, the candidate predictor block BP1 W min is considered as the preferential candidate predictor block BP1 op t for the inverse prediction of the current decoded residue block BDr u .
Au cours d'une étape D8 représentée à la figure 8, il est procédé à la reconstruction du bloc courant Bu en ajoutant au bloc résiduel courant décodé BDru le bloc prédicteur candidat préférentiel BP1 opt identifié à l'étape D7. During a step D8 shown in FIG. 8, the current block B u is reconstructed by adding to the decoded current residual block BDr u the preferential candidate predictor block BP1 op t identified in step D7.
Ladite étape D8 est mise en œuvre par un module logiciel de calcul CAL2_DO1 représenté sur la figure 7, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_DO1 .  Said step D8 is implemented by a calculation software module CAL2_DO1 represented in FIG. 7, which module is driven by the microprocessor μΡ of the processing unit UT_DO1.
Un bloc décodé BDU est alors obtenu et stocké dans la mémoire tampon MT_DO1 de la figure 7, afin d'être utilisé par le décodeur DO1 comme bloc prédicteur candidat d'un bloc suivant à décoder. A decoded block BD U is then obtained and stored in the buffer memory MT_DO1 of FIG. 7, in order to be used by the decoder DO1 as a candidate predictor block of a next block to be decoded.
Au cours d'une étape D9 représentée à la figure 8, ledit bloc décodé BDU est écrit dans une image décodée I Dj. Une telle étape est mise en œuvre par un module logiciel URI1 de reconstruction d'image tel que représenté sur la figure 7, ledit module étant piloté par le microprocesseur μΡ du module de traitement UT DO1 . Au cours d'une étape suivante D10 représentée à la figure 8, le décodeur D01 teste si le bloc courant BDU qui vient d'être décodé est le dernier bloc contenu dans le flux φ. During a step D9 shown in FIG. 8, said decoded block BD U is written in a decoded picture I Dj. Such a step is implemented by an image reconstruction software module URI1 as shown in FIG. 7, said module being driven by the microprocessor μΡ of the processing module UT DO1. During a next step D10 shown in FIG. 8, the decoder D01 tests whether the current block BD U that has just been decoded is the last block contained in the stream φ.
Si tel est le cas, au cours d'une étape D1 1 représentée à la figure 8, il est mis fin au procédé de décodage.  If this is the case, during a step D1 1 shown in FIG. 8, the decoding method is terminated.
Si tel n'est pas le cas, il est procédé, au cours de l'étape D2, à la sélection du bloc résiduel suivant à décoder conformément à l'ordre de parcours raster scan précité.  If this is not the case, it is proceeded, in step D2, to the selection of the next residual block to be decoded according to the above-mentioned raster scan order.
Les étapes de décodage qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs Bq ; Bq2, Bqu, ..., Bqs à décoder de l'image courante ICj considérée. The decoding steps that have just been described above are implemented for all the Bq blocks ; Bq 2 , Bq u , ..., Bq s to decode from the current image IC j considered.
Description détaillée d'un autre mode de réalisation de la partie décodageDETAILED DESCRIPTION OF ANOTHER EMBODIMENT OF THE DECODING PART
Un autre mode de réalisation du procédé de décodage selon l'invention va maintenant être décrit, dans lequel le procédé de décodage est implémenté de manière logicielle ou matérielle par modifications d'un décodeur initialement conforme à la norme HEVC. Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes D'1 à D7 telles que représentées à la figure 9. Another embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware way by modifying a decoder initially conforming to the HEVC standard. The decoding method according to the invention is represented in the form of an algorithm comprising steps D 1 to D 7 as represented in FIG. 9.
Comme illustré en figure 10, un décodeur D02 selon cet autre mode de réalisation de l'invention comprend une mémoire MEM_D02 comprenant une mémoire tampon MT_D02, une unité de traitement UT_D02 équipée par exemple d'un microprocesseur μΡ et pilotée par un programme d'ordinateur PG_D02 qui met en œuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_D02 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement UT_D02.  As illustrated in FIG. 10, a decoder D02 according to this other embodiment of the invention comprises a memory MEM_D02 comprising a buffer memory MT_D02, a processing unit UT_D02 equipped for example with a microprocessor μΡ and controlled by a computer program PG_D02 which implements the decoding method according to the invention. At initialization, the code instructions of the computer program PG_D02 are for example loaded into a RAM memory before being executed by the processor of the processing unit UT_D02.
Le procédé de décodage représenté sur la figure 9 s'applique à toute image courante d'une séquence SQ d'images à décoder.  The decoding method shown in FIG. 9 applies to any current image of an SQ sequence of images to be decoded.
A cet effet, des informations représentatives de l'image courante ICj à décoder sont identifiées dans un flux de données φ1 ou φ2 reçu au décodeur, tel que délivré à la suite du procédé de codage de la figure 5. En référence à la figure 9, la première étape de décodage D'1 est l'identification : For this purpose, information representative of the current image IC j to be decoded is identified in a data stream φ1 or φ2 received at the decoder, as delivered following the coding method of FIG. 5. With reference to FIG. 9, the first decoding step D'1 is the identification:
- dans ledit flux φ1 des données encodées Bq1 1 , Bq12,..., Bq1 u, ...Bq1 s (1≤u≤S) associées respectivement aux blocs résiduels Br , Br12, Br1 u, ..., Br1 s codés précédemment conformément au parcours raster scan précité, dans le cas où a été mise en œuvre la prédiction primaire du procédé de codage de la figure 5, in said stream φ1, encoded data Bq1 1, Bq1 2 ,..., Bq1 u ,... Bq1 s (1≤u≤S) respectively associated with the residual blocks Br, Br1 2 , Br1 u , ..., Br1 s previously coded according to the above raster scan path, in the case where the primary prediction of the coding method of FIG. 5 has been implemented,
- dans ledit flux φ2 des données encodées Bq2opti , Bq2opt2, - - - , Bq2optu, ...Bq2opts (1≤u≤S) associées respectivement aux blocs résiduels Br2opti , Br2opt2,■ Br2optu, - - - , Br2opts codés précédemment conformément au parcours raster scan précité, dans le cas où a été mise en œuvre la prédiction secondaire du procédé de codage représenté sur la figure 5. in said stream φ2, encoded data Bq2 op ti, Bq2 op t2, - - -, Bq2 op tu, ... Bq2 op ts (1 u u S S) respectively associated with the residual blocks Br2 op ti, Br2 opt 2, Br 2 op t u , - - -, Br 2 opt s coded previously according to the above raster scan path, in the case where the secondary prediction of the coding method shown in FIG. 5 has been implemented.
Une telle étape d'identification est mise en œuvre par un module d'identification MI_D02 telle que représenté à la figure 10, ledit module étant piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.  Such an identification step is implemented by an identification module MI_D02 as shown in FIG. 10, said module being controlled by the microprocessor μΡ of the processing unit UT_D02.
Lesdits blocs Bq1 1 ; Bq12, Bq1 u, ..., Bq1 s ou Bq2opti , Bq2opt2, . . . , Bq2optu, ...Bq2opts sont destinés à être décodés selon un ordre de parcours prédéterminé, qui est par exemple séquentiel, c'est à dire que les blocs sont destinés à être décodés l'un après l'autre conformément à l'ordre raster scan où ils ont été codés. Said blocks Bq1 1; Bq1 2 , Bq1 u , ..., Bq1 s or Bq2 opt i, Bq2 opt 2,. . . , Bq2 op tu, ... Bq2 op ts are intended to be decoded according to a predetermined order of travel, which is for example sequential, ie the blocks are intended to be decoded one after the other in accordance with to the raster scan order where they were encoded.
D'autres types de parcours que celui qui vient d'être décrit ci-dessus sont bien sûr possibles et dépendent de l'ordre de parcours choisi au codage, dont des exemples ont été mentionnés plus haut.  Other types of course than the one just described above are of course possible and depend on the order of course chosen coding, examples of which were mentioned above.
Au cours d'une étape D'2 représentée à la figure 9, le décodeur D02 sélectionne comme bloc courant un premier bloc à coder Bq1 u ou Bq2optu de l'image ICj, tel que par exemple le premier bloc Bq1 u ou Bq2optu-During a step D 2 shown in FIG. 9, the decoder D 02 selects as a current block a first block to be coded B 1 u or B q 2 op t u of the image IC j , such as for example the first block B q 1 u or Bq2 op t u -
Au cours d'une étape D'3 représentée à la figure 9, il est procédé à la lecture, dans le flux φ1 ou φ2, de l'indice Id associé au bloc Bqu sélectionné. During a step D'3 shown in FIG. 9, the index Id associated with the selected block Bq u is read in the stream φ1 or φ2.
Une telle étape de lecture est mise en œuvre par un module logiciel de lecture ML_D02 telle que représenté à la figure 10, ledit module étant piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.  Such a reading step is implemented by a reader software module ML_D02 as shown in FIG. 10, said module being driven by the microprocessor μΡ of the processing unit UT_D02.
Si l'indice Id est égal à zéro, cela signifie que le bloc courant à décoder a subi une prédiction primaire conformément aux étapes C'610 à C'614 du procédé de codage représenté sur la figure 5. C'est donc le flux φ1 que le décodeur D02 est destiné à traiter. If the index Id is equal to zero, it means that the current block to be decoded has undergone a primary prediction according to the steps C'610 to C'614 of the encoding method shown in Figure 5. It is therefore the flow φ1 that the decoder D02 is intended to treat.
Si l'indice Id est égal à un, cela signifie que le bloc courant à décoder a subi une prédiction secondaire conformément aux étapes C'5 à C'625 du procédé de codage représenté sur la figure 5. C'est donc le flux φ2 que le décodeur D02 est destiné à traiter. cas où ld=Q  If the index Id is equal to one, it means that the current block to be decoded has undergone a secondary prediction according to the steps C'5 to C'625 of the coding method shown in FIG. 5. It is therefore the flow φ2 that the decoder D02 is intended to process. where ld = Q
Au cours d'une étape D'310 représentée à la figure 9, il est procédé au décodage entropique du bloc Bq1 u. Une telle étape étant identique à l'étape D3 précitée, elle ne sera pas décrite plus longuement. During a step D 310 shown in FIG. 9, the entropic decoding of the block B q 1 u is carried out . Such a step being identical to the aforementioned step D3, it will not be described further.
Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02. Le module de codage entropique MDE1_D02 est par exemple de type CABAC. Il peut également s'agir d'un décodeur de Huffman connu en tant que tel.  Such an entropy decoding step is implemented by an entropic decoding software module MDE1_D02 shown in FIG. 10, which module is controlled by the microprocessor μΡ of the processing unit UT_D02. The entropy coding module MDE1_D02 is for example of CABAC type. It can also be a Huffman decoder known as such.
Au cours d'une étape D'31 1 représentée à la figure 9, il est procédé à la déquantification du bloc BDq1 u. Une telle étape étant identique à l'étape D4 précitée, elle ne sera pas décrite plus longuement. Un bloc déquantifié décodé BDt1 u est alors obtenu. During a step D 31 1 shown in Figure 9, the dequantization of the block BDq1 u is carried out . Such a step being identical to the above-mentioned step D4, it will not be described further. A decoded dequantized block BDt1 u is then obtained.
Au cours d'une étape D'312 représentée à la figure 9, il est procédé à la transformation inverse du bloc déquantifié décodé BDt1 u. Une telle étape étant identique à l'étape D5 précitée, elle ne sera pas décrite plus longuement. Un bloc résidu décodé BDr1 u est alors obtenu. During a step D 312 shown in FIG. 9, the inverse transformation of the decoded dequantized block BD t 1 u is carried out . Such a step being identical to the aforementioned step D5, it will not be described further. A decoded residue block BDr1 u is then obtained.
Au cours d'une étape D'4 représentée à la figure 9, il est procédé, de façon connue en soi, à la reconstruction du bloc courant Bu par des techniques classiques de prédiction intra et/ou inter à l'aide d'un bloc prédicteur BP1 sei- Une telle étape consiste à ajouter au bloc résiduel courant décodé BDr1 u le bloc prédicteur BP1 sei sélectionné classiquement. During a step D'4 shown in FIG. 9, in a manner known per se, the current block B u is reconstructed by conventional intra and / or inter prediction techniques with the aid of FIG. a predictor block BP1 is i- Such a step consists in adding to the residual decoded current block BDr1 u that the predictor block BP1 is classically selected.
Un bloc décodé BDU est alors obtenu à la suite de l'étape D'4 et stocké dans la mémoire tampon MT_D02 de la figure 10, afin d'être utilisé par le décodeur D02 comme bloc prédicteur candidat d'un bloc suivant à décoder. Les étapes D'31 1 à D'4 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED1 "1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02. A decoded block BD U is then obtained following the step D4 and stored in the buffer memory MT_D02 of FIG. 10, in order to be used by the decoder D02 as a candidate predictor block of a next block to be decoded. . The steps D 31 1 to D 4 are implemented by an inverse predictive decoding software module PRED1 "1 _D02 shown in FIG. 10, which module is driven by the microprocessor μΡ of the processing unit UT_D02.
Au cours d'une étape D'5 représentée à la figure 9, ledit bloc décodé BDU est écrit dans une image décodée IDj. Une telle étape est mise en œuvre par un module logiciel URI2 de reconstruction d'image tel que représenté sur la figure 10, ledit module étant piloté par le microprocesseur μΡ du module de traitement UT_D02. During a step D shown in FIG. 9, said decoded block BD U is written in a decoded picture ID j . Such a step is implemented by an image reconstruction software module URI2 as represented in FIG. 10, said module being controlled by the microprocessor μΡ of the processing module UT_D02.
Au cours d'une étape suivante D'6 représentée à la figure 9, le décodeur D02 teste si le bloc courant BDU qui vient d'être décodé est le dernier bloc contenu dans le flux φ1 . During a next step D 6 shown in FIG. 9, the decoder D02 tests whether the current block BD U that has just been decoded is the last block contained in the stream φ1.
Si tel est le cas, au cours d'une étape D7 représentée à la figure 9, il est mis fin au procédé de décodage.  If this is the case, during a step D7 shown in FIG. 9, the decoding method is terminated.
Si tel n'est pas le cas, il est procédé, au cours de l'étape D'2, à la sélection du bloc résiduel suivant Bq1 u à décoder conformément à l'ordre séquentiel précité. Le procédé de décodage décrit ci-dessus est alors itéré pour l'ensemble des S blocs à décoder. If this is not the case, it is proceeded, in step D 2, to the selection of the residual block according to Bq1 u to be decoded according to the aforementioned sequential order. The decoding method described above is then iterated for all the S blocks to be decoded.
Cas où ld=1 Case where ld = 1
Au cours d'une étape D'320 représentée à la figure 9, il est procédé au décodage entropique du bloc Bq2optu- Une telle étape étant identique à l'étape D3 précitée, elle ne sera pas décrite plus longuement. Un bloc quantifié décodé BDq2optu est alors obtenu à l'issue de cette étape. During a step D'320 shown in FIG. 9, the entropy decoding of the block Bq2 op t u is performed. Such a step being identical to the aforementioned step D3, it will not be described further. A decoded quantized block BDq2 op tu is then obtained at the end of this step.
Une telle étape de décodage entropique est mise en œuvre par un module logiciel de décodage entropique MDE2_D02 représenté sur la figure 10.  Such an entropy decoding step is implemented by an entropic decoding software module MDE2_D02 shown in FIG.
Au cours d'une étape D'321 représentée à la figure 9, il est procédé à la déquantification du bloc BDq2optu- Une telle étape étant identique à l'étape D4 précitée, elle ne sera pas décrite plus longuement. Un bloc déquantifié décodé BDt2optu est alors obtenu. During a step D 321 shown in FIG. 9, dequantization of the block BD q 2 op t u is performed. Such a step being identical to the aforementioned step D 4, it will not be described further. A decoded dequantized block BDt2 op t u is then obtained.
Au cours d'une étape D'322 représentée à la figure 9, il est procédé à la transformation inverse du bloc déquantifié décodé BDt2optu- Une telle étape étant identique à l'étape D5 précitée, elle ne sera pas décrite plus longuement. Un bloc résidu décodé BDr2optu est alors obtenu. Ledit bloc résiduel décodé BDr2optu est alors stocké dans la mémoire tampon MT_D02 de la figure 10, afin d'être utilisé par le décodeur D02 comme bloc prédicteur candidat d'un bloc suivant à décoder. During a step D 322 shown in FIG. 9, the reverse transformation of the decoded dequantized block BD t 2 op t u is carried out. - Such a step being identical to the aforementioned step D 5, it will not be described any further. . A decoded residue block BDr2 op t u is then obtained. Said block The decoded residual BDr2 op t u is then stored in the buffer memory MT_D02 of FIG. 10, in order to be used by the decoder D02 as a candidate predictor block of a next block to be decoded.
Les étapes D'321 et D'322 sont mises en œuvre par un module logiciel de décodage prédictif inverse PRED2"1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02. The steps 321 and 322 are D'implemented by a predictive decoding software module inverse Pred2 "1 _D02 shown in Figure 10, which module is controlled by the microprocessor of the μΡ UT_D02 processing unit.
Au cours d'une étape D'323 représentée à la figure 9, il est procédé selon l'invention à la détermination d'un ensemble de Q blocs prédicteurs candidats BP21 ; BP22, ..., BP2V, ...,BP2Q (1 <v≤Q). Une telle étape étant identique à l'étape D6 de la figure 8, elle ne sera pas décrite plus longuement. During a step D 323 shown in FIG. 9, a set of Q candidate predictor blocks BP2 1 is determined according to the invention ; BP2 2, ..., V BP2, ..., BP2 Q (1 <v≤Q). Since such a step is identical to step D6 of FIG. 8, it will not be described further.
Une telle étape de détermination est mise en œuvre par un module logiciel de détermination DET_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.  Such a determination step is implemented by a DET_D02 determination software module shown in FIG. 10, which module is driven by the microprocessor μΡ of the processing unit UT_D02.
Au cours d'une étape D'324 représentée à la figure 9, il est procédé selon l'invention à l'identification, parmi l'ensemble des Q blocs prédicteurs BP21 ; BP22, ..., BP2V, ...,BP2Q, d'un bloc prédicteur candidat préférentiel BP2opt. Selon l'invention, de la même façon qu'au codage précité, une telle étape d'identification est fonction du bloc résidu décodé BDr2optz obtenu. During a step D 324 shown in FIG. 9, the method according to the invention is used to identify, among the set of Q predictor blocks BP 2 1; BP2 2 ,..., BP2 V ,..., BP2 Q , of a preferential candidate predictor block BP2 op t. According to the invention, in the same way as in the aforementioned coding, such an identification step is a function of the decoded residue block BDr2 op t z obtained.
Ladite étape d'identification est mise en œuvre par un module logiciel de calcul CAL1_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02. Said identification step is implemented by a calculation software module CAL1_D02 shown in FIG. 10, which module is controlled by the microprocessor μΡ of the processing unit UT_D02.
De la même façon qu'a l'étape D6 de la figure 8, le procédé de décodage selon cet autre mode de réalisation utilise un critère de minimisation de la différence entre les pixels décodés de l'image courante ICj, qui sont représentés par des points sur la figure 4, et les pixels du bloc décodé BDr1 u>w situés le long de sa frontière F. Ce critère est un opérateur mathématique noté SM(BDr1 UiW, ICj). In the same way as in step D6 of FIG. 8, the decoding method according to this other embodiment uses a criterion for minimizing the difference between the decoded pixels of the current image IC j , which are represented by dots in FIG. 4, and the pixels of decoded block BDr1 u> w located along its border F. This criterion is a mathematical operator denoted SM (BDr1 UiW , ICj).
II s'écrit de la façon suivante : SM(BDrlz>w, ICj) It is written as follows: SM (BDrl z> w , IC j )
N-1  N-1
= ^ (sDrlz w(0, o) - ICj(lin - 1, col + α)) = ^ (sDrl zw (0, o) - IC j (lin - 1, col + α))
α=0  α = 0
N-1  N-1
+ ^ (sDrlz w(a, 0) - ICj (lin + a, col - 1)J + ^ (sDrl zw (a, 0) - IC j (lin + a, col - 1) J
a=Q  a = Q
ou : or :
BDr1 u est le bloc décodé considéré de taille NxN pixels,  BDr1 u is the decoded block considered of size NxN pixels,
- BDr1 UiW(n,m) est la valeur du pixel du bloc décodé BDr1 u>w situé sur la nième ligne et la mième colonne de ce bloc, - BDr1 UiW (n, m) is the value of the pixel of the decoded block BDr1 u> w located on the nth row and the mth column of this block,
- ICj est l'image courante,  ICj is the current image,
- ICj(k,l) est la valeur du pixel de l'image ICj situé sur la k ième ligne et la I ième colonne de cette image, et (lin, col) sont les coordonnées du bloc résidu décodé BDr1 u>wdans l'image ICj. ICj (k, l) is the value of the pixel of the image ICj located on the kth row and the ith column of this image, and (lin, col) are the coordinates of the decoded residue block BDr1 u> w in the image ICj.
A titre d'alternative, on peut utiliser un critère simplifié où l'on vient comparer la moyenne des pixels de l'image ICj le long de la frontière F et la moyenne des pixels du bloc décodé BDr1 u>w. L'opérateur SM(BDr1 UiW, ICj) s'écrit alors : As an alternative, a simplified criterion can be used in which the average of the pixels of the image ICj along the boundary F is compared with the average of the pixels of the decoded block BDr1 u> w . The operator SM (BDr1 UiW , ICj) is written then:
SM(BDrlUiW, ICj) SM (BDrl UiW , IC j )
= abs (lCj(lin - 1, col + a)= abs (lC j (lin - 1, col + a)
N-1 N-1  N-1 N-1
+ ICj (lin + a, col - li) - ^ ^ (BDrlu>w (a, 6)) + IC j (lin + a, col - li) - ^ ^ (BDrl u> w (a, 6))
a=0 b=0  a = 0 b = 0
Où abs() représente la valeur absolue.  Where abs () represents the absolute value.
Au cours de l'étape D'324, il est procédé à l'identification du bloc décodé BDr1 v,wmin qui minimise l'un des deux critères précités choisis, tel que : During the step D-324, the decoded block BDr1 v , wmin is identified which minimizes one of the two aforementioned criteria, such as:
wmin = argminw SM{BDrlu w, lCj) wmin = argmin w MS {BDrl uw , lC j )
Le bloc BDr1 v,wmin est égal à la somme du bloc prédicteur candidat BP2wmin et du bloc résidu décodé courant BDr2optu-The block BDr1 v , wmin is equal to the sum of the candidate predictor block BP2 wmin and the current decoded residue block BDr2 op t u -
A l'issue de l'étape D'324, le bloc prédicteur candidat BP2wmin est considéré comme le bloc prédicteur préférentiel candidat BP2opt en vue de la prédiction inverse du bloc résidu décodé courant BDr2optu- Au cours d'une étape D'325 représentée à la figure 9, il est procédé à la reconstruction du bloc résiduel courant BDru en ajoutant au bloc résiduel courant décodé BDr2optu le bloc prédicteur candidat préférentiel BP2opt identifié à l'étape D'324. At the end of the step D 324, the candidate predictor block BP2wmin is considered as the preferential candidate predictor block BP2 opt for the inverse prediction of the current decoded residue block BDr2 op t u - During a step D 325 shown in FIG. 9, the residual current block BD r u is reconstructed by adding to the residual decoded current block BD R 2 op t u the preferential candidate predictor block BP 2 opt identified in step On 324.
Ladite étape D'325 est mise en œuvre par un module logiciel de calcul CAL2_D02 représenté sur la figure 10, lequel module est piloté par le microprocesseur μΡ de l'unité de traitement UT_D02.  Said step D'325 is implemented by a calculation software module CAL2_D02 shown in FIG. 10, which module is driven by the microprocessor μΡ of the processing unit UT_D02.
Les étapes D'4 et D'5 précitées sont ensuite réitérées pour délivrer un bloc courant BDU. Puis l'étape D'6 est à nouveau mise en œuvre pour tester si le bloc courant BDU est le dernier bloc de l'image. The aforementioned steps D 4 and D 5 are then repeated to deliver a current block BD U. Then step D6 is again implemented to test if the current block BD U is the last block of the image.
Les étapes de décodage du flux q>i (respectivement φ2) qui viennent d'être décrites ci-dessus sont mises en œuvre pour tous les blocs Bq1 -i , Bq12, Bq1 u, ..., Bqs (respectivement Bq2opti , Bq2opt2, . . . , Bq2optu, ...Bq2opts) à décoder de l'image courante ICj considérée. The decoding steps of the stream q> i (respectively φ 2 ) which have just been described above are implemented for all the blocks Bq1 -i, Bq1 2 , Bq1 u , ..., Bq s (respectively Bq2 opt i, Bq2 opt 2, ..., Bq2 opt u, ... Bq2 opt s) to be decoded from the current image IC j considered.
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention.  It goes without saying that the embodiments which have been described above have been given for purely indicative and non-limiting purposes, and that many modifications can easily be made by those skilled in the art without departing from the scope. of the invention.

Claims

REVENDICATIONS
1 . Procédé de codage d'au moins une image (ICj) découpée en blocs, caractérisé en ce qu'il comprend, pour un bloc courant (Bu) à coder, les étapes de : 1. Method for coding at least one image (IC j ) cut into blocks, characterized in that it comprises, for a current block (B u ) to be coded, the steps of:
- détermination (C3), d'un ensemble de blocs prédicteurs candidats (BP1 i , BP12, ..., BP1 V, ..., BP1 Q), determination (C3) of a set of candidate predictor blocks (BP1 i, BP1 2 , ..., BP1 V , ..., BP1 Q ),
- pour un premier bloc prédicteur candidat (BP1 V) considéré dudit ensemble : for a first candidate predictor block (BP1 V ) considered of said set:
• obtention (C4) d'un bloc résiduel représentatif de la différence entre le premier bloc prédicteur candidat considéré et le bloc courant (Bu), Obtaining (C4) a residual block representative of the difference between the first candidate predictor block considered and the current block (B u ),
• identification (C10), dans ledit ensemble de blocs prédicteurs candidats, d'un deuxième bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant obtenu et dudit deuxième bloc prédicteur candidat,  Identification (C10), in said set of candidate predictor blocks, of a second candidate predictor block, said identification being a function of said obtained residual current block and said second candidate predictor block,
• sélection (C12a)) dudit premier bloc prédicteur candidat considéré s'il est égal audit deuxième bloc prédicteur identifié,  Selecting (C12a)) of said first candidate predictor block considered if it is equal to said identified second predictor block,
- pour chacun des blocs prédicteurs candidats dudit ensemble, autres que ledit premier bloc prédicteur candidat considéré, mise en œuvre des étapes d'obtention, d'identification et de sélection,  for each of the candidate predictor blocks of said set, other than said candidate candidate first predictor block, implementing the steps of obtaining, identifying and selecting,
- détermination (C13), parmi les blocs prédicteurs candidats ayant été sélectionnés à l'issue de l'étape de sélection, d'un bloc prédicteur candidat (BP1 opt), à l'aide d'un critère prédéterminé (J), determination (C13), among the candidate predictor blocks selected at the end of the selection step, of a candidate predictor block (BP1 op t), using a predetermined criterion (J),
- codage (C15-C17) du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant (Bu). coding (C15-C17) of the residual block representative of the difference between the determined candidate predictor block and the current block (B u ).
2. Procédé de codage selon la revendication 1 , dans lequel, lesdits blocs de l'image précédant le bloc courant étant codés dans un ordre déterminé, ladite identification est fonction des pixels de l'image précédemment codés. The coding method according to claim 1, wherein said blocks of the image preceding the current block are coded in a sequence. determined, said identification is a function of the pixels of the previously coded image.
3. Procédé de codage selon la revendication 2, dans lequel lesdits pixels précédemment codés puis décodés de l'image sont situés le long du bloc courant. The coding method according to claim 2, wherein said previously coded pixels then decoded from the image are located along the current block.
4. Procédé de codage selon l'une quelconque des revendications 1 à4. Encoding method according to any one of claims 1 to
3, dans lequel ledit critère prédéterminé est la minimisation du coût débit- distorsion de l'image. 3, wherein said predetermined criterion is the minimization of the bit rate-distortion cost of the image.
5. Procédé de codage selon l'une quelconque des revendications 1 àCoding method according to any one of claims 1 to
4, dans lequel le bloc courant est un bloc (Br1 u) qui a été préalablement obtenu à la suite d'une prédiction. 4, in which the current block is a block (Br1 u ) which has previously been obtained as a result of a prediction.
6. Dispositif (D01 ) de codage d'au moins une image (ICj) découpée en blocs, caractérisé en ce qu'il comprend, pour un bloc courant (Bu) à coder : 6. Device (D01) for encoding at least one image (IC j ) cut into blocks, characterized in that it comprises, for a current block (B u ) to be encoded:
- des moyens (DET_C01 ) de détermination d'un ensemble de blocs prédicteurs candidats,  means (DET_C01) for determining a set of candidate predictor blocks,
- pour un premier bloc prédicteur candidat considéré dudit ensemble :  for a first candidate predictor block considered of said set:
• des moyens (PRED_C01 ) d'obtention d'un bloc résiduel représentatif de la différence entre le premier bloc prédicteur candidat considéré et le bloc courant (Bu), Means (PRED_C01) for obtaining a residual block representative of the difference between the first candidate predictor block considered and the current block (B u ),
• des moyens (CAL1_C01 ) d'identification, dans ledit ensemble de blocs prédicteurs candidats, d'un deuxième bloc prédicteur candidat, en fonction dudit bloc résiduel courant obtenu et dudit deuxième bloc prédicteur candidat,  Means (CAL1_C01) identifying, in said set of candidate predictor blocks, a second candidate predictor block, as a function of said current residual block obtained and said second candidate predictor block,
• des moyens (CAL2_C01 ) de sélection dudit premier bloc prédicteur candidat considéré s'il est égal audit deuxième bloc prédicteur identifié, - lesdits moyens d'obtention, d'identification et de sélection étant activés pour chacun des blocs prédicteurs candidats dudit ensemble, autres que ledit premier bloc prédicteur candidat considéré, Means (CAL2_C01) for selecting said first candidate predictor block considered if it is equal to said identified second predictor block, said acquisition, identification and selection means being activated for each of the candidate predictor blocks of said set, other than said candidate candidate first predictor block,
- des moyens (CAL3_C01 ) de détermination, parmi les blocs prédicteurs candidats ayant été sélectionnés par lesdits moyens de sélection, d'un bloc prédicteur candidat, à l'aide d'un critère prédéterminé,  means (CAL3_C01) for determining, from among the candidate predictor blocks that have been selected by said selection means, a candidate predictor block, using a predetermined criterion,
- des moyens (MCE1 ) de codage du bloc résiduel représentatif de la différence entre le bloc prédicteur candidat déterminé et le bloc courant (Bu). means (MCE1) for encoding the residual block representative of the difference between the determined candidate predictor block and the current block (B u ).
7. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 5, lorsque ledit programme est exécuté sur un ordinateur. A computer program comprising program code instructions for performing the steps of the encoding method according to any one of claims 1 to 5, when said program is executed on a computer.
8. Procédé de décodage d'un signal de données (φ) représentatif d'au moins une image (ICj) découpée en blocs, ledit procédé comprenant les étapes de : 8. A method for decoding a data signal (φ) representative of at least one image (IC j ) cut into blocks, said method comprising the steps of:
- détermination (D1 ), dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,  determination (D1) in the data signal of data representative of a current residual block associated with a current block to be decoded,
- décodage (D3-D5) dudit bloc résiduel courant,  decoding (D3-D5) of said current residual block,
ledit procédé de décodage étant caractérisé en ce qu'il comprend, pour un bloc courant à reconstruire, les étapes de : said decoding method being characterized in that it comprises, for a current block to be reconstructed, the steps of:
- détermination (D'323) d'un ensemble de blocs prédicteurs candidats,  determination (D'323) of a set of candidate predictor blocks,
- identification (D'324), dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé et dudit bloc prédicteur candidat,  identification (D'324), in said set, of a candidate predictor block, said identification being a function of said residual current decoded block and said candidate predictor block,
- reconstruction (D8) du bloc courant (Bu) à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé. reconstruction (D8) of the current block (B u ) using the identified predictor block and the decoded current residual block.
9. Procédé de décodage selon la revendication 8, dans lequel lesdits blocs de l'image précédant le bloc courant étant décodés dans un ordre déterminé, ladite identification est fonction des pixels de l'image précédemment décodés. 9. Decoding method according to claim 8, wherein said blocks of the image preceding the current block being decoded in a sequence. determined, said identification is a function of the pixels of the previously decoded image.
10. Procédé de décodage selon la revendication 9, dans lequel lesdits pixels précédemment décodés de l'image sont situés le long du bloc courant. The decoding method of claim 9, wherein said previously decoded pixels of the image are located along the current block.
1 1 . Procédé de décodage selon l'une quelconque des revendications 8 à 10, comprenant en outre une étape (D'3) de détermination, dans le signal de données, d'une information (Id) associée à une prédiction préalable du bloc courant, ladite étape de reconstruction du bloc courant étant mise en œuvre à partir de ladite prédiction préalable, dudit bloc prédicteur identifié et du bloc résiduel courant déterminé. 1 1. A decoding method according to any one of claims 8 to 10, further comprising a step (D'3) of determining, in the data signal, information (Id) associated with a prediction of the current block, said step of rebuilding the current block being implemented from said prediction, said identified predictor block and the current residual block determined.
12. Dispositif (D01 ) de décodage d'un signal de données représentatif d'au moins une image (ICj) découpée en blocs, ledit dispositif comprenant : 12. Device (D01) for decoding a data signal representative of at least one image (IC j ) cut into blocks, said device comprising:
- des moyens (MI_D01 ) de détermination, dans le signal de données, de données représentatives d'un bloc résiduel courant associé à un bloc courant à décoder,  means (MI_D01) for determining, in the data signal, data representative of a current residual block associated with a current block to be decoded,
- des moyens (MDE1 ) de décodage dudit bloc résiduel courant, ledit dispositif de décodage étant caractérisé en ce qu'il comprend, pour un bloc courant à reconstruire :  means (MDE1) for decoding said current residual block, said decoding device being characterized in that it comprises, for a current block to be reconstructed:
- des moyens (DET_D01 ) de détermination d'un ensemble de blocs prédicteurs candidats,  means (DET_D01) for determining a set of candidate predictor blocks,
- des moyens (CAL1_D01 ) d'identification, dans ledit ensemble, d'un bloc prédicteur candidat, ladite identification étant fonction dudit bloc résiduel courant décodé et dudit bloc prédicteur candidat,  means (CAL1_D01) for identifying, in said set, a candidate predictor block, said identification being a function of said residual current decoded block and said candidate predictor block,
- des moyens (CAL2_D01 ) de reconstruction du bloc courant (Bu) à l'aide du bloc prédicteur identifié et du bloc résiduel courant décodé. means (CAL2_D01) for reconstructing the current block (B u ) using the identified predictor block and the decoded current residual block.
13. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 8 à 1 1 , lorsque ledit programme est exécuté sur un ordinateur. Computer program comprising program code instructions for performing the steps of the decoding method according to any one of claims 8 to 11, when said program is executed on a computer.
EP14796227.8A 2013-10-15 2014-10-13 Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes Withdrawn EP3058737A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1360033A FR3012004A1 (en) 2013-10-15 2013-10-15 IMAGE ENCODING AND DECODING METHOD, IMAGE ENCODING AND DECODING DEVICE AND CORRESPONDING COMPUTER PROGRAMS
PCT/FR2014/052605 WO2015055937A1 (en) 2013-10-15 2014-10-13 Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes

Publications (1)

Publication Number Publication Date
EP3058737A1 true EP3058737A1 (en) 2016-08-24

Family

ID=50231278

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14796227.8A Withdrawn EP3058737A1 (en) 2013-10-15 2014-10-13 Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes

Country Status (5)

Country Link
US (1) US20160269738A1 (en)
EP (1) EP3058737A1 (en)
CN (1) CN105745928A (en)
FR (1) FR3012004A1 (en)
WO (1) WO2015055937A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044507A1 (en) * 2015-11-30 2017-06-02 Orange IMAGE ENCODING AND DECODING METHOD, IMAGE ENCODING AND DECODING DEVICE AND CORRESPONDING COMPUTER PROGRAMS
CN108111833A (en) * 2016-11-24 2018-06-01 阿里巴巴集团控股有限公司 For the method, apparatus and system of stereo video coding-decoding
FR3064145A1 (en) * 2017-03-16 2018-09-21 Orange METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
FR3068558A1 (en) * 2017-07-05 2019-01-04 Orange METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
EP3843405A4 (en) * 2018-10-05 2021-10-27 LG Electronics Inc. Image coding method using history-based motion information, and device therefor
CN113382251B (en) * 2019-06-21 2022-04-08 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device, equipment and storage medium
CN113382260B (en) * 2019-06-21 2022-03-29 杭州海康威视数字技术股份有限公司 Method and device for decoding and encoding prediction mode

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660182B2 (en) * 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
CN103281542B (en) * 2007-06-29 2017-07-14 夏普株式会社 Picture coding device, method for encoding images, image decoder, image decoding method
EP2497271B1 (en) * 2009-11-06 2020-08-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Hybrid video coding
GB2491589B (en) * 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
CN103096053B (en) * 2011-11-04 2015-10-07 华为技术有限公司 A kind of decoding method of pattern conversion and device

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
CN105745928A (en) 2016-07-06
FR3012004A1 (en) 2015-04-17
US20160269738A1 (en) 2016-09-15
WO2015055937A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
EP2991351B1 (en) Procedure for decoding of images
EP3061246B1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
EP3058737A1 (en) Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes
EP3209021B1 (en) Recording medium storing coded image data
EP3075155B1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
EP3198876B1 (en) Generation and encoding of residual integral images
WO2017037368A2 (en) Method of coding and decoding images, device for coding and decoding images and computer programmes corresponding thereto
WO2019008254A1 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
WO2016024067A1 (en) Image encoding and decoding method, image encoding and decoding device, and corresponding computer programs
EP2761871B1 (en) Decoder side motion estimation based on template matching
EP2716045B1 (en) Method, apparatus and computer programs for encoding and decoding of images
EP3259909B1 (en) Image encoding and decoding method, encoding and decoding device, and corresponding computer programs
WO2019008253A1 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
EP3272122A1 (en) Encoding of images by vector quantization
FR3064145A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS

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: 20160510

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: HUANG, BIHONG

Inventor name: HENRY, FELIX

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20170707

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: 20180118