EP2392141A1 - Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants - Google Patents

Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants

Info

Publication number
EP2392141A1
EP2392141A1 EP10707587A EP10707587A EP2392141A1 EP 2392141 A1 EP2392141 A1 EP 2392141A1 EP 10707587 A EP10707587 A EP 10707587A EP 10707587 A EP10707587 A EP 10707587A EP 2392141 A1 EP2392141 A1 EP 2392141A1
Authority
EP
European Patent Office
Prior art keywords
pixels
predicted
pixel
macroblock
coding
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.)
Ceased
Application number
EP10707587A
Other languages
German (de)
English (en)
Inventor
Isabelle Amonou
Matthieu Moinard
Nathalie Cammas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of EP2392141A1 publication Critical patent/EP2392141A1/fr
Ceased 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the field of the invention is that of encoding and decoding of images, and in particular of a video stream consisting of a series of successive images. More specifically, the invention applies to the compression of images or image sequences using block transforms.
  • the invention can notably apply to video coding implemented in current (MPEG, H.264, etc.) or future (ITU-T / VCEG (H.265) or ISO / MPEG (HVC) video encoders) .
  • each image can be sliced (in English "slice"), themselves cut into macroblocks, which are then subdivided into blocks.
  • a block consists of a set of pixels.
  • a macroblock is a square block of size equal to 16x16 pixels, which can be split into blocks of 8x8, 16x8 or 8x16 size, the 8x8 blocks can then be cut into sub-blocks of size 4x4, 8x4 or 4x8.
  • the macroblocks or the blocks can be coded by intra-image prediction or inter-image prediction.
  • a macroblock or block may be encoded by: a temporal prediction, that is, with reference to a reference block or macroblock belonging to one or more other images; and / or - a spatial prediction, depending on the blocks or macroblocks of the current image.
  • the prediction of a current block can only be made from blocks that have been previously coded, using a directional extrapolation technique of the coded texture values. decoded on the neighboring blocks. These blocks are said to belong to the "causal neighborhood" of the current block, comprising blocks located before the current block in a predetermined direction of travel of the blocks in the image.
  • nine intra prediction modes are used according to the ITU-T H.264 standard. These prediction modes comprise eight modes corresponding to a given orientation for copying the pixels from the previously coded-decoded neighboring blocks (vertical, horizontal, diagonal down left, diagonal down right, vertical right, vertical left, horizontal amount, horizontal descending), and a mode corresponding to the average of the pixels adjacent to the block from the neighboring blocks.
  • a residual block also called prediction residue
  • the coefficients of this block are quantized, after a possible transformation (for example the DCT transform - in English "Discrtica cosine transform", in French “transformed in discrete cosine"), then coded by an entropic coder.
  • the prediction mode chosen is that which makes it possible to obtain the best rate-distortion compromise.
  • a prediction of the texture values of the current block is established from the coded-decoded texture values of the neighboring blocks, and then a prediction residue is added to this prediction.
  • the ITU-T H.264 standard uses motion-displacement to predict a block or macroblock from its time neighborhood. The motion vector is then encoded and transmitted.
  • Alternative methods of intra prediction have recently been proposed, based in particular on the correlations between neighboring pixels.
  • This technique makes it possible to synthesize a pixel p (or a group of pixels) in a target area C of the image, taking into account a source area S of the same image. It is based on correlations between neighboring pixels.
  • the value of each pixel p of the target area C is determined by comparing (11) the pixels N (p) belonging to the causal neighborhood of the pixel p, defining a "template” or "mask” of the pixel p, with all the neighbors of the source area S.
  • the mask N (p) is made up of previously coded / decoded pixels, which avoids the propagation of errors. If we find a region of the source zone S similar to the mask defined by N (p), then we assign (12) to the pixel p of the target zone C, the pixel (or group of pixels) of the source zone S presenting the most similar neighborhood.
  • the pixels are synthesized in a fixed and predetermined order, generally from top to bottom and from left to right (in English "raster scan order").
  • the "template matching” technique has also been extended to the block coding of an H.264 encoder by Wang et al., As described in the document “Priority-based template matching intra prediction. It is thus possible to code / decode a macroblock using blocks (composed of 4x4 pixels according to the H.264 standard) reconstructed by the "template matching" technique.
  • the blocks are conventionally processed in a left-to-right and top-to-bottom ("raster scan") order of the blocks in the macroblock. Therefore, the macroblock is encoded / decoded (or rebuilt) block by block. Processing the blocks one after the other makes it possible to use the pixels of a previously coded / decoded block as "source zone" for a current block, according to the order of travel.
  • the invention proposes a new solution which does not have all of these disadvantages of the prior art, in the form of a method of encoding at least one image, divided into zones of standard size, called macroblocks, a macroblock comprising a set of blocks of pixels.
  • such a method implements, for at least one current macroblock of a current image: at least two iterations of the following steps:
  • a coding priority level to at least one pixel of the current macroblock, adjacent to at least one previously predicted pixel, according to a predetermined priority determination criterion; - selection of a pixel with the highest priority level, says priority pixel;
  • the coding step is implemented as soon as the predicted region complies with a predetermined coding criterion.
  • the invention thus proposes to improve the existing "template matching" techniques by working directly on a macroblock, and by adapting the order of the macroblock pixels for the prediction of the macroblock.
  • the efficiency of a template matching technique applied to an entire macroblock is limited because the further one moves towards the end of the macroblock, the more predicted pixels used for the prediction are away from the pixels to predict. Indeed, the pixels predicted at the beginning of the macroblock have not yet been coded / decoded (the prediction error has not yet been coded), the predicted pixels do not provide a sufficiently good prediction, and may propagate errors. errors towards the end of the macroblock and to increase by the same amount the cost of coding the residue. It is thus possible to signal once, for the entire macroblock, that a template matching technique is used, without having to report it for each block.
  • the pixels are synthesized in a fixed and predetermined order
  • the prediction residue corresponding to the difference between the predicted pixels of the predicted region and the original pixels belonging to the current image, can be practically nil. This means that the prediction is sufficient (for example for a targeted application: low speed, low quality, etc.). In this case, the obtained prediction residue is small and can be canceled during the quantization of the residue.
  • the coding criterion belongs to the group comprising: a predicted number of pixels greater than a predetermined threshold; a predetermined configuration of the predicted pixels.
  • Such a configuration is in agreement with the transforms used by the encoder, and corresponds to a 4x4 block in the case of an H.264-AVC encoder.
  • Such a configuration can also be processed by a transform implemented in the encoder / decoder, and corresponds to a 2x8, or 8x2, or 16x1, or 1x16 block, or any region of 16 pixels in the case of a transform.
  • SA-DCT type in English "Shape Adaptive DCT", in French “Adaptive form discrete cosine transform”).
  • Pixels thus encoded / decoded (or reconstructed) can then be used for the prediction of following regions of the macroblock It is considered that these coded / decoded pixels now belong to a "source" zone as defined in relation with the prior art
  • the predicted region comprises sixteen predicted pixels.
  • sixteen pixels are predicted (forming a region of 4x4 pixels, 2x8 pixels, 8x2 pixels, 16x1 pixels or 1x16 pixels), the residue associated with this region, and we code / decode this region
  • the priority determination criterion takes account of at least one parameter belonging to the group comprising.
  • a statistical parameter representative of an activity of the vicinity of said pixel a number of candidates similar to said mask, defined for example by the sum of the absolute differences, as described in relation with the prior art
  • the direction of travel of the pixels inside a macroblock takes into account parameters making it possible to optimize the coding by improving the efficiency of the prediction and therefore the quality of the reconstruction of the pixels.
  • one of the parameters taken into account to assign a priority to a pixel corresponds to the number of available pixels already coded-decoded (or reconstructed) that can be used for coding this pixel.
  • This parameter can have for example a value corresponding directly to the number of pixels available
  • Another parameter takes into account the presence of an incident contour in a pixel, that is to say a contour that is also present in an already coded-decoded adjacent pixel.
  • the technique according to one embodiment of the invention adapts the order of travel according to the direction of the contour, and the order of travel. obtained diagonal improves the quality of the prediction and thus the speed and quality of the decoding.
  • This parameter indicating the presence of an incident contour in a pixel also noted as a contour parameter, may have for example a value of 1.
  • Yet another parameter takes into account the number of previously predicted or coded pixels present in the mask defined near the pixel. This gives preference to the prediction of a target set for which the corresponding mask comprises the largest number of pixels already predicted. Then, the values of the parameters described above can be added, or multiplied, to obtain a priority level assigned to each pixel adjacent to a previously predicted pixel.
  • At least one of the iterations is a refinement iteration, in which the assignment step assigns a coding priority level to at least one pixel of the current macroblock adjacent to at least one previously coded pixel.
  • coded / decoded pixels are considered, and not only predicted. Indeed, coded / decoded pixels can be given greater confidence than only predicted pixels. It is recalled to this effect that if the predicted pixels do not provide a sufficiently good prediction, they may propagate errors towards the end of the macroblock and increase the coding cost of the residue. Pixels already coded / decoded are therefore used to refine the prediction.
  • the invention also relates to a computer program comprising instructions for implementing the encoding method described above when the program is executed by a processor.
  • the coding method according to the invention can be implemented in various ways, in particular in hard-wired form or in software form.
  • the invention in another embodiment, relates to a device for encoding at least one image, divided into standard size areas, called macroblocks, a macroblock comprising a set of blocks of pixels.
  • such a device comprises the following means, activated for at least one current macroblock of a current image and for at least two iterations:
  • Such a signal comprises at least one piece of information representative of the coding criterion, such as a threshold corresponding to the minimum number of pixels that must be predicted to reconstruct a predicted region.
  • This signal may of course include the various characteristics relating to the coding method according to the invention.
  • the invention also relates to a method for decoding a signal representative of at least one image, divided into zones of standard size, called macroblocks, a macroblock comprising a set of blocks of pixels. According to the invention, such a method implements at least two iterations of the following steps, for at least one current macroblock of a current image:
  • Such a decoding method is able to decode a signal as described above.
  • such a method comprises a step of receiving at least one piece of information representative of the coding criterion.
  • the invention also relates to a computer program comprising instructions for implementing the decoding method described above, when the program is executed by a processor.
  • the decoding method according to the invention can be implemented in various ways, in particular in hard-wired form or in software form.
  • the invention in another embodiment, relates to a device for decoding a signal representative of at least one image, divided into zones of standard size, called macroblocks, a macroblock comprising a set of blocks of pixels.
  • such a device comprises the following means, activated for at least one current macroblock of a current image and for at least two iterations:
  • FIG. 1 commented on in relation to the prior art, presents a simplified diagram of the so-called "template matching"technique;
  • FIG. 2 illustrates an example of direction of travel for the coding of the blocks of a macroblock;
  • - Figure 3 shows the main steps implemented in the coding according to a particular embodiment of the invention;
  • FIGS. 4A to 4G illustrate the application of the coding method of FIG. 3 to a macroblock;
  • Figure 5 shows the main steps implemented in the decoding according to a particular embodiment of the invention;
  • Figures 6 and 7 respectively show the structure of a coding device and a decoding device according to a particular embodiment of the invention.
  • the general principle of the invention is based on the adaptive coding / decoding of a macroblock, making it possible to predict pixels, and then to code / decode predicted pixel regions, as soon as there is a sufficient number of predicted pixels for each pixel. the transformation and coding of the residue.
  • the coding / decoding of the macroblock does not require the coding / decoding of the different blocks of the macroblock, one after the other, according to a predefined order of travel.
  • FIG. 3 illustrates the main steps implemented on the coding side, for at least one current macroblock of a current image.
  • the line dividing the previously predicted pixels from the not yet predicted pixels is called the "prediction boundary", and the "coding boundary” is a line separating the already coded / decoded pixels from the pixels not yet coded / decoded.
  • the coding method implements a step of coding a prediction residue for the predicted region of the macroblock, by determining a difference between the predicted pixels. of the predicted region and original pixels belonging to the current image. It is recalled that the prediction residue can be virtually zero. In this case, the prediction residue obtained is canceled during the quantization step.
  • the predicted region is coded / decoded.
  • the coding boundary is shifted to encompass the new coded / decoded pixels.
  • These new coded / decoded pixels are now considered as pixels belonging to the source zone of the image, which can be used for the prediction of unpredicted pixels, or the refinement of previously predicted pixels.
  • FIGS. 4A to 4G illustrate the application of a particular embodiment of the coding method to the case of intra prediction in an H.264 coder for example, using macroblocks of size 16 ⁇ 16. cut into blocks of 4x4 size.
  • this is just an example.
  • the invention also applies to an image encoder using regions of arbitrary size and shape, in the context of intra or interimage prediction.
  • the current macroblock MB is composed of sixteen blocks each comprising 4x4 pixels.
  • This macroblock MB is adjacent, in the image, to three already encoded-decoded macroblocks (located above the current macroblock - MBj, to the left of the current macroblock - MBL, and above to the left and the current macroblock - MBJL). .
  • adjacent is meant here a macroblock that touches the boundary of the current macroblock.
  • Macroblocks MBj, MBL and MBJL- previously coded / decoded are considered to belong to a source area of the image, which can be used for the prediction of regions not yet predicted.
  • FIGS. 4B to 4G each illustrate the result obtained after a prediction iteration as described with reference to FIG. 3, for the coding of the current macroblock MB.
  • the previously coded / decoded macroblocks MBj, MBL and MBJL define, with the current macroblock MB, a coding boundary FR.
  • This FR coding boundary (illustrated in the other figures 4C to 4G in short dotted lines) is superimposed with a prediction boundary Fp (illustrated in long dashed lines) during the first iteration.
  • a coding priority level is assigned to the unpredicted pixels of the macroblock MB located at the prediction boundary Fp.
  • a priority level is assigned to all the pixels of the MB macroblock adjacent to a previously predicted pixel MBJ, MBL and MBJL macroblocks previously coded / decoded.
  • the pixel p located in the top left corner of macroblock MB, has the highest priority level. Indeed, this pixel is adjacent to five pixels previously coded / decoded (and therefore predicted). This pixel is called "priority pixel".
  • a mask Tp is identified, such that the mask Tp and the target set P form a block (see FIG. 4A for the sake of clarity).
  • a source block comprising a similar zone Tn in the mask is then searched. Tp.
  • This search region comprising a set of previously coded / decoded (or reconstructed) blocks, also called source zone, is delimited by the coding boundary.
  • Tn previously coded / decoded (or reconstructed) blocks
  • Tp we look in the source area for a "template” Tn (or mask) closest to the mask Tp, and then we build the target set P from the source block thus identified. To do this, it is possible to copy in the target set P the pixels of the source block identified that do not belong to the similar zone Tn.
  • This "template matching" technique is more precisely described in relation to the prior art. In this way, a prediction of the target set P, delivering predicted pixels, is obtained.
  • a new coding priority level is assigned to the unpredicted pixels of the MB macroblock adjacent to a previously predicted pixel. These non-predicted pixels correspond to the pixels located at the prediction boundary Fp.
  • the pixel p corresponding to the pixel located on the fourth line, fourth column of the macroblock MB, has the highest priority level.
  • this priority pixel p is located on a contour crossing the target set defined at the first iteration.
  • the shape of the target set P and the mask Tp (that is to say the number of pixels and the configuration of the pixels) does not change during the different iterations.
  • the pixels present in the target set P and in the mask Tp differ from one iteration to the other.
  • a source block comprising a similar zone Tn to the mask Tp is then searched in the source zone.
  • This research area is the same as for the first iteration, since the FR coding boundary has not evolved.
  • the number of predicted pixels is not sufficient to code / decode a region of the macroblock MB.
  • the FR encoding boundary has not changed.
  • the prediction boundary Fp has shifted to encompass the new predicted pixels.
  • the number of predicted pixels is sufficient to code / decode (or reconstruct) a predicted region of the macroblock MB, by coding a prediction residue associated with this region.
  • a sufficient number of pixels has been predicted for these predicted pixels to be used for transformation and coding of the residue.
  • the first block B 1 located at the top left of the macroblock MB
  • this residue coding step can be implemented to code / decode (or reconstruct) a predicted region of different size, such as a region consisting of 2x2 predicted pixels, 4x4 predicted pixels, 8x8 predicted pixels, 2x8 predicted pixels, 8x2 predicted pixels, 16x1 predicted pixels, 1x16 predicted pixels, etc.
  • One could therefore reconstruct a block of data as soon as 16 pixels have been predicted for example 16 pixels of the same line, or of the same column, ).
  • this step of coding the residue is implemented as soon as the predicted region respects a predetermined coding criterion, such as a predicted number of pixels greater than a predetermined threshold, or a specific configuration of the predicted pixels.
  • a predetermined coding criterion such as a predicted number of pixels greater than a predetermined threshold, or a specific configuration of the predicted pixels.
  • the first block B1 of the macroblock MB is reconstructed (that is to say encoded and decoded with its residue). Therefore, the FR encoding boundary is shifted to encompass this new encoded / decoded B block, which is now part of the source area of the image, and can serve as a reliable source for predicting the remaining regions to be restored from the macroblock. MB. It is recalled that it is however not possible to use, for the prediction, predicted but not reconstructed pixels.
  • the invention proposes to code / decode
  • the algorithm can progress freely in the macroblock by restoring / predicting image regions "on horseback" over several blocks; the reconstruction of the blocks (4x4 size according to the H.264 standard) is not imposed according to a predetermined order.
  • the proposed solution can be integrated without difficulty in a video coder based macroblock type H.264, without substantially changing its operation. For that, it is enough for example to add a new mode of spatial prediction of the macroblocks, or to replace several existing modes little used in the context of the present invention. In particular, the rate-distortion optimization process remains unchanged.
  • the signal representative of the encoded image (s) according to the coding method described above can be transmitted to a decoder and / or stored on a recording medium.
  • This signal can carry particular information.
  • this signal may carry at least one piece of information representative of the coding criterion, such as a threshold corresponding to the minimum number of pixels that must be predicted to reconstruct a predicted region.
  • This signal can also transmit information representative of the priority determination criterion. Indeed, the priority of the pixels to be predicted, located at the level of the prediction boundary, can be calculated at the encoder and transmitted to the decoder, or alternatively recalculated to the decoder. This signal can also transport the prediction residue (s) obtained by comparing the current image and the predicted image.
  • Such a decoder implements the following steps, for at least one current image:
  • At least one piece of information representative of this coding criterion may be conveyed by the signal.
  • the decoding method comprises an additional step of receiving the information representative of this coding criterion.
  • the decoding method may implement an additional step of receiving information representative of the priority determination criterion.
  • the iterations 51 are similar to those described in the coding, and are not described in more detail here.
  • the decoding algorithm repeats the following steps until the macroblock is completely reconstructed:
  • a coding device as illustrated in FIG. 6 comprises a memory 61 comprising a buffer memory, a processing unit 62, equipped for example with a microprocessor ⁇ P, and driven by the computer program 63, implementing the method coding according to the invention.
  • the code instructions of the computer program 63 are for example loaded into a RAM before being executed by the processor of the processing unit 62.
  • the processing unit 62 receives a current image at code.
  • the microprocessor of the processing unit 62 implements the steps of the coding method described above, according to the instructions of the computer program 63, for coding the current image.
  • the coding device comprises, in addition to the buffer memory 61, means for assigning a coding priority level to at least one pixel of a current macroblock, means for selecting a pixel presenting the level of highest priority, means for predicting a set of pixels comprising the priority pixel and means for coding a prediction residue for a region formed of predicted pixels of the macroblock.
  • a decoding device as illustrated in FIG. 7 comprises a memory 71 comprising a buffer memory, a processing unit 72, equipped for example with a microprocessor ⁇ P, and controlled by the computer program 73, implementing the decoding method according to the invention.
  • the code instructions of the computer program 73 are for example loaded into a RAM memory before being executed by the processor of the processing unit 72.
  • the processing unit 72 receives as input a signal representative of at least one coded picture.
  • the microprocessor of the processing unit 72 implements the steps of the decoding method described above, according to the instructions of the computer program 73, to determine reconstructing the current image.
  • the decoding device comprises, in addition to the buffer memory 71, means for assigning a coding priority level to at least one pixel of a current macroblock, means for selecting a pixel having the highest priority level, means for predicting a set of pixels comprising the priority pixel, means for receiving at least one prediction residue and means for reconstructing a region formed of predicted pixels of the macroblock.

Landscapes

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

Abstract

L'invention concerne un procédé de codage d'au moins une image, découpée en macroblocs, un macrobloc comprenant un ensemble de blocs de pixels. Selon l'invention, un tel procédé met en œuvre, pour au moins un macrobloc courant d'une image courante : au moins deux itérations des étapes suivantes : - affectation (31) d'un niveau de priorité de codage à au moins un pixel dudit macrobloc courant; - sélection (32) d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire; - prédiction (33) d'un ensemble de pixels comprenant ledit pixel prioritaire; et une étape de codage (35) d'un résidu de prédiction pour une région formée de pixels prédits dudit macrobloc, dite région prédite, ladite étape de codage étant mise en œuvre dès que ladite région prédite respecte un critère de codage prédéterminé.

Description

Procédé et dispositif de codage d'une image utilisant un masque de prédiction, procédé et dispositif de décodage, signal et programmes d'ordinateur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage d'images, et notamment d'un flux vidéo constitué d'une série d'images successives. Plus précisément, l'invention s'applique à la compression d'images ou de séquences d'images utilisant des transformées par bloc.
L'invention peut notamment s'appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels (MPEG, H.264, etc) ou à venir (ITU-T/VCEG (H.265) ou ISO/MPEG (HVC)). 2. Art antérieur
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 utilisent une représentation par bloc de la séquence vidéo, comme par exemple celles mettant en œuvre les standards de compression vidéo issus de l'organisation MPEG (MPEG-I, MPEG-2, MPEG-4 partie 2, ...) ou de ITTU-T (H.261, ..., H.264/AVC). Ainsi, selon la technique H.264, chaque image peut être découpée en tranches (en anglais « slice »), elles-mêmes découpées en macroblocs, qui sont ensuite subdivisés en blocs. Un bloc est constitué d'un ensemble de pixels. Selon le standard H.264, un macrobloc est un bloc carré de taille égale à 16x16 pixels, qui peut être redécoupé en blocs de taille 8x8, 16x8 ou 8x16, les blocs 8x8 pouvant ensuite être redécoupés en sous-blocs de taille 4x4, 8x4 ou 4x8.
Selon les techniques connues, les macroblocs ou les blocs peuvent être codés par prédiction intra-images ou inter-images. En d'autres termes, un macrobloc ou bloc peut être codé par : une prédiction temporelle, c'est-à-dire en référence à un bloc ou macrobloc de référence appartenant à une ou plusieurs autres images ; et/ou - une prédiction spatiale, en fonction des blocs ou macroblocs de l'image courante.
Dans le cas d'une prédiction spatiale, la prédiction d'un bloc courant ne peut être effectuée qu'à partir des blocs qui ont été précédemment codés, à l'aide d'une technique d'extrapolation directionnelle des valeurs de texture codées- décodées sur les blocs voisins. On dit que ces blocs appartiennent au « voisinage causal » du bloc courant, comprenant les blocs situés avant le bloc courant selon un sens de parcours prédéterminé des blocs dans l'image.
Ainsi, pour prédire un macrobloc ou un bloc à partir de son voisinage causal, neuf modes de prédiction intra sont utilisés selon le standard ITU-T H.264. Ces modes de prédiction comprennent huit modes correspondant à une orientation donnée pour la recopie des pixels à partir des blocs voisins précédemment codés- décodés (orientation verticale, horizontale, diagonale vers le bas gauche, diagonale vers le bas droite, verticale droit, verticale gauche, horizontal montant, horizontal descendant), et un mode correspondant à la moyenne des pixels adjacents au bloc à partir des blocs voisins.
Malheureusement, la prédiction spatiale est insuffisante à elle seule, d'où la nécessité de coder une erreur de prédiction. Ainsi, pour chaque bloc est codé un bloc résiduel, encore appelé résidu de prédiction, correspondant au bloc original diminué d'une prédiction. Pour cela, les coefficients de ce bloc sont quantifiés, après une éventuelle transformation (par exemple la transformée DCT - en anglais « Discrète cosine transform », en français « transformée en cosinus discrète »), puis codés par un codeur entropique. Au codeur, le mode de prédiction choisi est celui permettant d'obtenir le meilleur compromis débit-distorsion.
Ainsi, en mode de codage intra, une prédiction des valeurs de texture du bloc courant est établie à partir des valeurs de texture codées-décodées des blocs voisins, puis un résidu de prédiction vient s'ajouter à cette prédiction.
Dans le cas d'une prédiction temporelle, le standard ITU-T H.264 utilise un déplacement au sens du mouvement pour prédire un bloc ou un macrobloc à partir de son voisinage temporel. Le vecteur de mouvement est alors codé et transmis. Des méthodes alternatives de prédiction intra ont été proposées récemment, basées notamment sur les corrélations entre pixels voisins.
Par exemple, l'article « Intra prédiction by template matching » de Tan et al. présente une telle technique de synthèse de texture basée sur une prédiction intra, encore appelée « template matching ». Un schéma simplifié de cette technique est illustré en figure 1.
Cette technique permet de synthétiser un pixel p (ou un groupe de pixels) dans une zone cible C de l'image, en tenant compte d'une zone source S de la même image. Elle est basée sur les corrélations entre pixels voisins. Ainsi, la valeur de chaque pixel p de la zone cible C est déterminée en comparant (11) les pixels N(p) appartenant au voisinage causal du pixel p, définissant un « template » ou « masque » du pixel p, avec tous les voisins de la zone source S. Le masque N(p) est donc constitué de pixels préalablement codés/décodés, ce qui évite la propagation d'erreurs. Si l'on trouve une région de la zone source S similaire au masque défini par N(p), alors on affecte (12) au pixel p de la zone cible C, le pixel (ou groupe de pixels) de la zone source S présentant le voisinage le plus similaire.
Classiquement, la région la plus proche du masque dans l'image source, correspondant à une région similaire au masque, est choisie sur des critères de minimisation de l'erreur quadratique ou absolue selon la formule suivante : N(q') = aτg min d(N(p),N(q))
N(q)≡S avec :
- q un pixel de la zone source S ;
- d une fonction mesurant la distance entre deux masques selon le critère de minimisation retenu.
Selon cette technique, les pixels sont synthétisés dans un ordre fixe et prédéterminé, généralement de haut en bas et de gauche à droite (en anglais « raster scan order »).
La technique classique de « template matching » permet de synthétiser des textures constituées de structures aléatoires. En revanche, elle n'est pas très efficace lorsqu'elle est appliquée sur des images naturelles, composées de textures mixtes et de contours.
La technique de « template matching » a également été étendue au codage des blocs d'un codeur H.264 par Wang et al., comme décrit dans le document « Priority-based template matching intra prédiction. On peut ainsi coder/décoder un macrobloc à l'aide de blocs (composés de 4x4 pixels selon le standard H.264) reconstruits par la technique de « template matching ».
Comme illustré en figure 2, dans l'application de Wang et al., les blocs sont classiquement traités selon un ordre de parcours de gauche à droite et de haut en bas (« raster scan ») des blocs dans le macrobloc. Par conséquent, le macrobloc est codé/décodé (ou reconstruit) bloc par bloc. Le traitement des blocs l'un à la suite de l'autre permet d'utiliser les pixels d'un bloc précédemment codé/décodé comme « zone source » pour un bloc courant, suivant l'ordre de parcours.
Malheureusement, cette technique n'est pas optimale car elle contraint la reconstruction du macrobloc à suivre les blocs de 4x4 pixels.
Il existe donc un besoin pour de nouvelles techniques de codage/décodage d'images mettant en œuvre une technique de synthèse de type « template matching », permettant d'améliorer ces techniques de l'art antérieur.
3. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de codage d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels.
Selon l'invention, un tel procédé met en œuvre, pour au moins un macrobloc courant d'une image courante : au moins deux itérations des étapes suivantes :
- affectation d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ; - sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
— prédiction d'un ensemble de pixels comprenant le pixel prioritaire, dit ensemble cible, mettant en œuvre les sous-étapes suivantes :
" identification d'un masque correspondant à une région modèle prédéterminée, le masque et l'ensemble cible formant un bloc ;
• recherche dans les blocs précédemment codés de l'image courante ou d'une image de référence d'un bloc source comprenant une zone similaire au masque ; " construction de l'ensemble cible à partir du bloc source, délivrant des pixels prédits ; et une étape de codage d'un résidu de prédiction pour une région formée de pixels prédits du macrobloc, dite région prédite, par détermination d'une différence entre les pixels prédits de la région prédite et des pixels d'origine appartenant à l'image courante (non codée).
Selon l'invention, l'étape de codage est mise en œuvre dès que la région prédite respecte un critère de codage prédéterminé.
L'invention propose ainsi d'améliorer les techniques de type « template matching » existantes, en travaillant directement sur un macrobloc, et en adaptant l'ordre de parcours des pixels du macrobloc pour la prédiction du macrobloc.
On optimise de cette façon la qualité de la prédiction et donc la qualité du codage et du décodage d'images, tout en réduisant le débit nécessaire au codage.
On rappelle que selon l'Homme du Métier, l'efficacité d'une technique de type « template matching » appliquée à un macrobloc entier est limitée, car plus on avance vers la fin du macrobloc, plus les pixels prédits utilisés pour la prédiction sont éloignés des pixels à prédire. En effet, les pixels prédits au début du macrobloc n'ayant pas encore été codés/décodés (l'erreur de prédiction n'a pas encore été codée), les pixels prédits ne fournissent pas une prédiction suffisamment bonne, et risquent de propager des erreurs vers la fin du macrobloc et d'augmenter d'autant le coût de codage du résidu. II est ainsi possible de signaler une seule fois, pour l'ensemble du macrobloc, qu'une technique de type « template matching » est utilisée, sans avoir à le signaler pour chaque bloc.
De plus, alors que selon la technique de « template matching » classique les pixels sont synthétisés dans un ordre fixe et prédéterminé, on propose selon l'invention d'adapter cet ordre de parcours en fonction d'un niveau de priorité affecté aux pixels, et de recalculer cet ordre de parcours lorsqu'un ensemble cible de pixels est prédit.
Le sens de parcours des pixels à l'intérieur d'un macrobloc est donc adaptatif, alors que selon les techniques de l'art antérieur, cet ordre de parcours était prédéfini et figé.
Finalement, on note que le résidu de prédiction, correspondant à la différence entre les pixels prédits de la région prédite et les pixels d'origine appartenant à l'image courante, peut être quasiment nul. Cela signifie que la prédiction est suffisante (par exemple pour une application visée : bas débit, basse qualité, etc). Dans ce cas, le résidu de prédiction obtenu est faible et peut être annulé lors de la quantification du résidu.
Par exemple, le critère de codage appartient au groupe comprenant : - un nombre de pixels prédits supérieur à un seuil prédéterminé ; - une configuration prédéterminée des pixels prédits.
Par exemple, une telle configuration est en accord avec les transformées utilisées par le codeur, et correspond à un bloc 4x4 dans le cas d'un codeur H.264- AVC. Une telle configuration peut également être traitée par une transformée implémentée dans le codeur/décodeur, et correspond à un bloc 2x8, ou 8x2, ou 16x1, ou 1x16, ou n'importe quelle région de 16 pixels dans le cas d'une transformée de type SA-DCT (en anglais « Shape Adaptive DCT », en français « Transformée en cosinus discret à forme adaptative »).
Ainsi, dès que suffisamment de pixels sont prédits (ou restaurés), on peut coder puis décoder la région prédite correspondante. Les pixels ainsi codés/décodés (ou reconstruits) peuvent alors être utilisés pour la prédiction des régions suivantes du macrobloc On considère que ces pixels codés/décodés appartiennent désormais à une zone « source » telle que définie en relation avec l'art antérieur
Par exemple, la région prédite comprend seize pixels prédits En d'autres termes, dès que seize pixels sont prédits (formant une région de 4x4 pixels, 2x8 pixels, 8x2 pixels, 16x1 pixels ou encore 1x16 pixels), on détermine le résidu associé à cette région, et on code/décode cette région
Selon un mode de réalisation particulier de l'invention, le critère de détermination de priorité tient compte d'au moins un paramètre appartenant au groupe comprenant .
— un nombre de pixels précédemment prédits ou codés, dits pixels disponibles, adjacents audit au moins un pixel ,
- une présence d'un contour qui poursuit un contour provenant d'un ensemble de pixels précédemment prédits ou codés, dont un pixel au moins dudit ensemble est adjacent audit au moins un pixel ,
- un nombre de pixels précédemment prédits ou codés appartenant audit masque ,
— un paramètre statistique représentatif d'une activité du voisinage dudit pixel , — un nombre de candidats similaires audit masque, définis par exemple par la somme des différences absolues, comme décrit en relation avec l'art antérieur
Ainsi, le sens de parcours des pixels à l'intérieur d'un macrobloc tient compte de paramètres permettant d'optimiser le codage en améliorant l'efficacité de la prédiction et donc la qualité de la reconstruction des pixels
Par exemple, l'un des paramètres pris en compte pour affecter une priorité à un pixel correspond au nombre de pixels disponibles déjà codés-décodés (ou reconstruit) pouvant être utilisés pour le codage de ce pixel
Ce paramètre peut avoir par exemple une valeur correspondant directement au nombre de pixels disponibles Un autre paramètre tient compte de la présence d'un contour incident dans un pixel, c'est-à-dire d'un contour qui est également présent dans un pixel adjacent déjà codé-décodé.
Ainsi, si un contour diagonal traverse un macrobloc, en provenance d'un macrobloc déjà codé-décodé, la technique selon un mode de réalisation de l'invention adapte l'ordre de parcours suivant le sens du contour, et l'ordre de parcours diagonal obtenu permet d'améliorer la qualité de la prédiction et ainsi la vitesse et la qualité du décodage. Ce paramètre indiquant la présence d'un contour incident dans un pixel (le pixel appartenant au contour), noté également paramètre de contour, peut avoir par exemple la valeur 1.
Encore un autre paramètre tient compte du nombre de pixels précédemment prédits ou codés présents dans le masque défini à proximité du pixel. On privilégie ainsi la prédiction d'un ensemble cible pour lequel le masque correspondant comprend le plus grand nombre de pixels déjà prédits. Ensuite, les valeurs des paramètres décrits ci-dessus peuvent être additionnées, ou multipliées, pour obtenir un niveau de priorité affecté à chaque pixel adjacent à un pixel précédemment prédit.
Selon un autre aspect de l'invention, au moins une des itérations est une itération de raffinement, au cours de laquelle l'étape d'affectation affecte un niveau de priorité de codage à au moins un pixel du macrobloc courant adjacent à au moins un pixel précédemment codé.
On tient compte ici des pixels codés/décodés, et non uniquement prédits. En effet, on peut accorder une plus grande confiance aux pixels codés/décodés qu'aux pixels uniquement prédits. On rappelle à cet effet que si les pixels prédits ne fournissent pas une prédiction suffisamment bonne, ils risquent de propager des erreurs vers la fin du macrobloc et d'augmenter le coût de codage du résidu. On utilise donc des pixels déjà codés/décodés pour raffiner la prédiction.
L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de codage décrit précédemment lorsque le programme est exécuté par un processeur. Ainsi, le procédé de codage selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
Dans un autre mode de réalisation, l'invention concerne un dispositif de codage d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels.
Selon l'invention, un tel dispositif comprend les moyens suivants, activés pour au moins un macrobloc courant d'une image courante et pour au moins deux itérations :
- des moyens d'affectation d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ;
- des moyens de sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ; - des moyens de prédiction d'un ensemble de pixels comprenant le pixel prioritaire, dit ensemble cible, comprenant :
" des moyens d'identification d'un masque correspondant à une région modèle prédéterminée, le masque et l'ensemble cible formant un bloc ; " des moyens de recherche dans les blocs précédemment codés de l'image courante ou d'une image de référence d'un bloc source comprenant une zone similaire au masque ;
" des moyens de construction de l'ensemble cible à partir du bloc source, délivrant des pixels prédits ; et des moyens de codage d'un résidu de prédiction pour une région formée de pixels prédits du macrobloc, dite région prédite, par détermination d'une différence entre les pixels prédits de la région prédite et des pixels d'origine appartenant à l'image courante (non codée), les moyens de codage étant activés dès que la région prédite respecte un critère de codage prédéterminé. Un tel dispositif de codage est notamment adapté à mettre en œuvre le procédé de codage décrit précédemment. Il s'agit par exemple d'un codeur vidéo de type MPEG ou H.264, ou selon une future norme de compression vidéo, par exemple H.265. L'invention concerne également un signal représentatif d'au moins une image codée selon le procédé de codage décrit précédemment.
Un tel signal comprend au moins une information représentative du critère de codage, comme un seuil correspondant au nombre minimum de pixels que l'on doit prédire pour reconstruire une région prédite. Ce signal pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention.
L'invention concerne également un procédé de décodage d'un signal représentatif d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels. Selon l'invention, un tel procédé met en œuvre au moins deux itérations des étapes suivantes, pour au moins un macrobloc courant d'une image courante :
- affectation d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ; - sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
- prédiction d'un ensemble de pixels comprenant le pixel prioritaire, dit ensemble cible, mettant en œuvre les sous-étapes suivantes :
" identification d'un masque correspondant à une région modèle prédéterminée, le masque et l'ensemble cible formant un bloc ;
" recherche dans les blocs précédemment codés de l'image courante ou d'une image de référence d'un bloc source comprenant une zone similaire au masque ; " construction de l'ensemble cible à partir du bloc source, délivrant des pixels prédits ; et en ce que ledit procédé comprend également :
- une étape de réception d'au moins un résidu de prédiction ;
- une étape de reconstruction d'une région formée de pixels prédits du macrobloc, dite région prédite, par ajout d'un résidu de prédiction correspondant à la région prédite, l'étape de reconstruction étant mise en œuvre dès que la région prédite respecte un critère de codage prédéterminé.
Les caractéristiques et avantages relatifs à ce procédé de décodage sont les mêmes que ceux du procédé de codage. Par conséquent, ils ne sont pas détaillés plus amplement.
Un tel procédé de décodage est apte à décoder un signal tel que décrit précédemment.
Ainsi, selon une caractéristique particulière, un tel procédé comprend une étape de réception d'au moins une information représentative du critère de codage.
L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de décodage décrit ci-dessus, lorsque le programme est exécuté par un processeur. Ainsi, le procédé de décodage selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.
Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'un signal représentatif d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels.
Selon l'invention, un tel dispositif comprend les moyens suivants, activés pour au moins un macrobloc courant d'une image courante et pour au moins deux itérations :
- des moyens d'affectation d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ;
- des moyens de sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ; - des moyens de prédiction d'un ensemble de pixels comprenant le pixel prioritaire, dit ensemble cible, comprenant :
" des moyens d'identification d'un masque correspondant à une région modèle prédéterminée, le masque et l'ensemble cible formant un bloc ; • des moyens de recherche dans les blocs précédemment codés de l'image courante ou d'une image de référence d'un bloc source comprenant une zone similaire au masque ;
" des moyens de construction de l'ensemble cible à partir du bloc source, délivrant des pixels prédits ; ainsi que :
- des moyens de réception d'au moins un résidu de prédiction ;
- des moyens de reconstruction d'une région formée de pixels prédits du macrobloc, dite région prédite, par ajout d'un résidu de prédiction correspondant à la région prédite, activés dès que la région prédite respecte un critère de codage prédéterminé.
Un tel dispositif de décodage est notamment adapté à mettre en œuvre le procédé de décodage décrit précédemment. Il s'agit par exemple d'un décodeur vidéo de type MPEG ou H.264, ou selon une future norme de compression vidéo, par exemple H.265.
4. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1, commentée en relation avec l'art antérieur, présente un schéma simplifié de la technique dite de « template matching » ; la figure 2 illustre un exemple de sens de parcours pour le codage des blocs d'un macrobloc ; - la figure 3 présente les principales étapes mises en œuvre au codage selon un mode de réalisation particulier de l'invention ; les figures 4 A à 4G illustrent l'application du procédé de codage de la figure 3 à un macrobloc ; la figure 5 montre les principales étapes mises en œuvre au décodage selon un mode de réalisation particulier de l'invention ; les figures 6 et 7 présentent respectivement la structure d'un dispositif de codage et d'un dispositif de décodage selon un mode de réalisation particulier de l'invention.
5. Description d'un mode de réalisation de l'invention 5.7 Principe général
Le principe général de l'invention repose sur le codage/décodage adaptatif d'un macrobloc, permettant de prédire des pixels, puis de coder/décoder des régions de pixels prédits, dès qu'on dispose d'un nombre suffisant de pixels prédits pour la transformation et le codage du résidu. Ainsi, le codage/décodage du macrobloc ne nécessite pas le codage/décodage des différents blocs du macrobloc, les uns à la suite des autres, selon un ordre de parcours prédéfini.
La figure 3 illustre les principales étapes mises en œuvre côté codage, pour au moins un macrobloc courant d'une image courante. On nomme « frontière de prédiction » la ligne séparant les pixels déjà prédits des pixels non encore prédits, et « frontière de codage » une ligne séparant les pixels déjà codés/décodés des pixels non encore codés/décodés.
Ainsi, le procédé de codage met en œuvre au moins deux itérations des étapes suivantes : - affectation 31 d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé. En d'autres termes, on affecte un niveau de priorité aux pixels non encore prédits localisés au niveau de la frontière de prédiction. Lors de la première itération de codage d'un macrobloc, les frontières de prédiction et de codage sont superposées ;
- sélection 32 d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire p, parmi les pixels localisés au niveau de la frontière de prédiction ; - prédiction 33 d'un ensemble de pixels comprenant le pixel prioritaire, dit ensemble cible P, mettant en œuvre les sous-étapes suivantes :
" identification 331 d'un masque Tp correspondant à une région modèle prédéterminée, le masque Tp et l'ensemble cible P formant un bloc ; " recherche 332 dans les blocs précédemment codés de l'image courante ou d'une image de référence d'un bloc source comprenant une zone similaire au masque Tp ; • construction 333 de l'ensemble cible P à partir du bloc source, délivrant des pixels prédits. La frontière de prédiction se trouve donc déplacée pour englober les nouveaux pixels prédits.
On teste alors (34) si une région formée de pixels prédits du macrobloc, dite région prédite, respecte un critère de codage prédéterminé.
Si ce n'est pas le cas (341), alors on réitère les étapes précédentes en revenant à l'étape 31 d'affectation d'un niveau de priorité de codage.
Si la région prédite respecte (342) le critère de codage prédéterminé, alors le procédé de codage met en œuvre une étape de codage 35 d'un résidu de prédiction pour la région prédite du macrobloc, par détermination d'une différence entre les pixels prédits de la région prédite et des pixels d'origine appartenant à l'image courante. On rappelle que le résidu de prédiction peut être quasiment nul. Dans ce cas, le résidu de prédiction obtenu est annulé lors de l'étape de quantification.
A l'issue de l'étape de codage, on considère que la région prédite est codée/décodée. Par conséquent, la frontière de codage se trouve déplacée pour englober les nouveaux pixels codés/décodés. Ces nouveaux pixels codés/décodés sont désormais considérés comme des pixels appartenant à la zone source de l'image, pouvant être utilisés pour la prédiction de pixels non prédits, ou le raffinement de pixels déjà prédits.
5.2 Description d'un mode de réalisation particulier pour la mise en œuvre du codage
On illustre désormais, en relation avec les figures 4 A à 4G, l'application d'un mode de réalisation particulier du procédé de codage au cas de la prédiction intra dans un codeur H.264 par exemple, utilisant des macroblocs de taille 16x16, découpés en blocs de taille 4x4. Bien entendu, il ne s'agit que d'un exemple. En effet, l'invention s'applique également à un codeur d'images utilisant des régions de taille et de forme arbitraire, dans le contexte d'une prédiction intra ou interimages.
Selon cet exemple d'application, le macrobloc courant MB est composé de seize blocs comprenant chacun 4x4 pixels. Ce macrobloc MB est adjacent, dans l'image, à trois macroblocs déjà codés-décodés (localisés au-dessus du macrobloc courant - MBj, à gauche du macrobloc courant - MBL, et au-dessus à gauche et du macrobloc courant - MBJL). On entend ici par « adjacent » un macrobloc qui touche la frontière du macrobloc courant.
On cherche selon ce mode de réalisation, à restaurer le macrobloc courant MB de manière optimale, en respectant un ordre de priorité pour le codage/décodage (ou la reconstruction) des informations.
On considère que les macroblocs MBj, MBL et MBJL- précédemment codés/décodés (représentés par des hachures diagonales dans les deux sens), appartiennent à une zone source de l'image, que l'on peut utiliser pour la prédiction de régions non encore prédites. Les figures 4B à 4G illustrent chacune le résultat obtenu après une itération de prédiction telle que décrite en relation avec la figure 3, pour le codage du macrobloc courant MB.
Comme illustré en figure 4B, les macroblocs MBj, MBL et MBJL précédemment codés/décodés, définissent avec le macrobloc courant MB une frontière de codage FR. Cette frontière de codage FR (illustrée sur les autres figures 4C à 4G en traits pointillés courts) se superpose avec une frontière de prédiction Fp (illustrée en traits pointillés longs) au cours de la première itération.
Au cours d'une première itération selon l'algorithme décrit en figure 3, on affecte un niveau de priorité de codage aux pixels non prédits du macrobloc MB localisés au niveau de la frontière de prédiction Fp. Par exemple, on affecte un niveau de priorité à tous les pixels du macrobloc MB adjacents à un pixel précédemment prédit des macroblocs MBj, MBL et MBJL précédemment codés/décodés. On considère par exemple que le pixel p, situé dans le coin en haut à gauche du macrobloc MB, présente le niveau de priorité le plus élevé. En effet, ce pixel est adjacent à cinq pixels précédemment codés/décodés (et donc prédits). On nomme ce pixel « pixel prioritaire ». On cherche alors à prédire un ensemble cible P, représenté par des hachures horizontales sur la figure 4B, comprenant le pixel prioritaire p. Cet ensemble cible correspond par exemple aux trois premières lignes et trois premières colonnes du premier bloc du macrobloc MB.
Pour ce faire, on identifie un masque Tp, tel que le masque Tp et l'ensemble cible P forment un bloc (voir la figure 4A pour plus de clarté).
On cherche alors dans les blocs précédemment codés de l'image courante (dans le cas d'une prédiction intra) ou d'une image de référence (dans le cas d'une prédiction inter) un bloc source comprenant une zone similaire Tn au masque Tp. Cette région de recherche comprenant un ensemble de blocs précédemment codés/décodés (ou reconstruits), encore appelée zone source, est délimitée par la frontière de codage. En d'autres termes, on cherche dans la zone source un « template » Tn (ou masque) le plus proche du masque Tp, puis on construit l'ensemble cible P à partir du bloc source ainsi identifié. Pour ce faire, on peut recopier dans l'ensemble cible P les pixels du bloc source identifiés n'appartenant pas à la zone similaire Tn. Cette technique de « template matching » est plus précisément décrite en relation avec l'art antérieur. On obtient de cette façon une prédiction de l'ensemble cible P, délivrant des pixels prédits.
Comme le nombre de pixels prédits n'est pas suffisant pour coder/décoder une région du macrobloc MB, on recommence les étapes précédentes au cours d'une deuxième itération. Comme illustré en figure 4C, on voit que la frontière de prédiction Fp s'est déplacée, pour englober les nouveaux pixels prédits. En revanche, la frontière de codage FR n'a pas évolué.
Plus précisément, au cours d'une deuxième itération, on affecte un nouveau niveau de priorité de codage aux pixels non prédits du macrobloc MB adjacents à un pixel précédemment prédit. Ces pixels non prédits correspondent aux pixels localisés au niveau de la frontière de prédiction Fp.
On considère par exemple que le pixel p, correspondant au pixel localisé sur la quatrième ligne, quatrième colonne du macrobloc MB, présente le niveau de priorité le plus élevé. Par exemple, ce pixel prioritaire p est localisé sur un contour traversant l'ensemble cible défini à la première itération.
On cherche à prédire un nouvel ensemble cible P, représenté par des hachures horizontales sur la figure 4C, comprenant le pixel prioritaire p. Pour ce faire, on identifie un nouveau masque Tp, tel que le masque Tp et l'ensemble cible
P forment un bloc. On note que la forme de l'ensemble cible P et du masque Tp (c'est-à-dire le nombre de pixels et la configuration des pixels) n'évolue pas au cours des différentes itérations. En revanche, les pixels présents dans l'ensemble cible P et dans le masque Tp diffèrent d'une itération à l'autre.
On cherche alors dans la zone source un bloc source comprenant une zone similaire Tn au masque Tp. Cette région de recherche est la même que pour la première itération, puisque la frontière de codage FR n'a pas évolué.
On obtient de cette façon une prédiction de l'ensemble cible P, délivrant des pixels prédits.
Comme le nombre de pixels prédits n'est pas suffisant pour coder/décoder une région du macrobloc MB, on recommence les étapes précédentes au cours d'une troisième itération (dont le résultat est illustré en figure 4D), puis d'une quatrième itération (dont le résultat est illustré en figure 4E), puis d'une k-ième itération (dont le résultat est illustré en figure 4F).
A l'issue des troisième et quatrième itérations, le nombre de pixels prédits n'est pas suffisant pour coder/décoder une région du macrobloc MB. Par conséquent, la frontière de codage FR n'a pas évolué. En revanche, la frontière de prédiction Fp s'est déplacée, pour englober les nouveaux pixels prédits.
A l'issue de la k-ième itération, on considère que le nombre de pixels prédits est suffisant pour coder/décoder (ou reconstruire) une région prédite du macrobloc MB, en codant un résidu de prédiction associé à cette région. Par exemple, un nombre suffisant de pixels a été prédit pour que ces pixels prédits puissent être utilisés pour une transformation et un codage du résidu. Par exemple le premier bloc B l (localisé en haut à gauche du macrobloc MB) est totalement prédit. Bien entendu, cette étape de codage du résidu peut être mise en œuvre pour coder/décoder (ou reconstruire) une région prédite de taille différente, comme une région formée de 2x2 pixels prédits, 4x4 pixels prédits, 8x8 pixels prédits, 2x8 pixels prédits, 8x2 pixels prédits, 16x1 pixels prédits, 1x16 pixels prédits, etc. On pourrait donc reconstruire un bloc de données dès que 16 pixels ont été prédits (par exemple 16 pixels de la même ligne, ou de la même colonne, ...).
En d'autres termes, cette étape de codage du résidu est mise en œuvre dès que la région prédite respecte un critère de codage prédéterminé, comme un nombre de pixels prédits supérieur à un seuil prédéterminé, ou une configuration spécifique des pixels prédits. A l'issue de cette étape de codage, le premier bloc Bl du macrobloc MB est reconstruit (c'est-à-dire codé et décodé avec son résidu). Par conséquent, la frontière de codage FR se trouve déplacée pour englober ce nouveau bloc Bl codé/décodé, qui fait désormais partie de la zone source de l'image, et peut servir de source fiable pour la prédiction des régions restantes à restaurer du macrobloc MB. On rappelle qu'il n'est en revanche pas possible d'utiliser, pour la prédiction, des pixels prédits mais non reconstruits.
Au cours d'une itération k+1, dont le résultat est illustré en figure 4G, on peut donc prédire l'ensemble cible P en se servant du bloc Bl. De plus, il est également possible de raffiner la prédiction de certains pixels lorsqu'une région a été codée/décodée.
Par exemple, comme illustré en figure 4G, il est possible de raffiner la prédiction de la région prédite localisée entre les frontières de prédiction Fp et de codage FR en tenant compte de la nouvelle zone source. Ainsi, l'invention selon ce mode de réalisation propose de coder/décoder
(ou reconstruire) une région du macrobloc dès que suffisamment de pixels ont été prédits et peuvent être utilisés pour une transformation et codage du résidu. Ces pixels sont alors codés (pixels prédits auxquels on ajoute un résidu de prédiction) et peuvent servir à leur tour de prédiction. Ainsi l'invention propose plusieurs avantages découlant de la mise en œuvre d'au moins un mode de réalisation :
- l'algorithme peut progresser librement dans le macrobloc en restaurant/prédisant des régions d'image « à cheval » sur plusieurs blocs ; - la reconstruction des blocs (de taille 4x4 selon le standard H.264) n'est pas imposée selon un ordre prédéterminé.
On note également que la solution proposée peut s'intégrer sans difficulté dans un codeur vidéo basé macrobloc de type H.264, sans modifier en profondeur son fonctionnement. Pour cela, il suffit par exemple d'ajouter un nouveau mode de prédiction spatiale des macroblocs, ou de remplacer plusieurs modes existants peu utilisés dans le contexte de la présente invention. En particulier, le processus d'optimisation débit-distorsion reste inchangé.
5.3 Signal
Une fois l'image ou les images codées, le signal représentatif de la ou des images codées selon le procédé de codage décrit ci-dessus peut être transmis à un décodeur et/ou stocké sur un support d'enregistrement.
Ce signal peut transporter des informations particulières. Par exemple, ce signal peut transporter au moins une information représentative du critère de codage, comme un seuil correspondant au nombre minimum de pixels que l'on doit prédire pour reconstruire une région prédite.
Ce signal peut également transmettre une information représentative du critère de détermination de priorité. En effet, la priorité des pixels à prédire, localisés au niveau de la frontière de prédiction, peut être calculée au codeur et transmise au décodeur, ou alternativement recalculée au décodeur. Ce signal peut également transporter le ou les résidus de prédiction obtenus par comparaison de l'image courante et de l'image prédite.
5.4 Décodage
On présente désormais en relation avec la figure 5 les principales étapes de décodage d'un signal représentatif d'au moins une image codée tel que décrit précédemment, mises en œuvre dans un décodeur vidéo de type H.264 par exemple.
Un tel décodeur met en œuvre les étapes suivantes, pour au moins une image courante :
- au moins deux itérations It 51 des étapes suivantes, pour au moins un macrobloc courant d'une image courante : o affectation d'un niveau de priorité de codage à au moins un pixel du macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ; o sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ; o prédiction d'un ensemble de pixels comprenant ledit pixel prioritaire, dit ensemble cible ;
- une étape de réception 52 d'au moins un résidu de prédiction ;
- une étape de reconstruction 53 d'une région formée de pixels prédits du macrobloc, dite région prédite, par ajout d'un résidu de prédiction correspondant à la région prédite, l'étape de reconstruction étant mise en œuvre dès que ladite région prédite respecte un critère de codage prédéterminé.
Au moins une information représentative de ce critère de codage peut être véhiculée par le signal. Dans ce cas, le procédé de décodage comprend une étape supplémentaire de réception de l'information représentative de ce critère de codage. De même, le procédé de décodage peut mettre en œuvre une étape supplémentaire de réception d'une information représentative du critère de détermination de priorité. Les itérations 51 sont similaires à celles décrites au niveau du codage, et ne sont pas décrite plus en détail ici.
De manière simplifiée, l'algorithme de décodage répète les étapes suivantes jusqu'à ce que le macrobloc soit entièrement reconstruit :
- détermination d'un niveau de priorité pour les pixels adjacents à des pixels déjà prédits (localisés au niveau de la frontière d prédiction) ;
- prédiction d'un ensemble cible associé au pixel de plus haute priorité, en utilisant une technique de « template matching » ;
- dès qu'un nombre suffisant de nouveaux pixels sont restaurés, ajout d'un résidu de prédiction associé à la région ainsi prédite, permettant de reconstruire cette région. Les pixels de la région reconstruite deviennent alors des pixels source (appartenant à une zone source) qui peuvent être utilisés pour la prédiction des régions suivantes du macrobloc. 5.5 Structures du codeur et du décodeur
On présente finalement, en relation avec les figures 6 et 7, les structures simplifiées d'un dispositif de codage et d'un dispositif de décodage mettant respectivement en œuvre une technique de codage et une technique de décodage telles que décrites ci-dessus.
Un dispositif de codage tel qu'illustré en figure 6 comprend une mémoire 61 comprenant une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 63, mettant en œuvre le procédé de codage selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 63 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 62. L'unité de traitement 62 reçoit une image courante à coder. Le microprocesseur de l'unité de traitement 62 met en œuvre les étapes du procédé de codage décrit précédemment, selon les instructions du programme d'ordinateur 63, pour coder l'image courante. Pour cela, le dispositif de codage comprend, outre la mémoire tampon 61, des moyens d'affectation d'un niveau de priorité de codage à au moins un pixel d'un macrobloc courant, des moyens de sélection d'un pixel présentant le niveau de priorité le plus élevé, des moyens de prédiction d'un ensemble de pixels comprenant le pixel prioritaire et des moyens de codage d'un résidu de prédiction pour une région formée de pixels prédits du macrobloc.
Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 62. Un dispositif de décodage tel qu'illustré en figure 7 comprend une mémoire 71 comprenant une mémoire tampon, une unité de traitement 72, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 73, mettant en œuvre le procédé de décodage selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur 73 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 72. L'unité de traitement 72 reçoit en entrée un signal représentatif d'au moins une image codée. Le microprocesseur de l'unité de traitement 72 met en œuvre les étapes du procédé de décodage décrit précédemment, selon les instructions du programme d'ordinateur 73, pour déterminer reconstruire l'image courante. Pour cela, le dispositif de décodage comprend, outre la mémoire tampon 71, des moyens d'affectation d'un niveau de priorité de codage à au moins un pixel d'un macrobloc courant, des moyens de sélection d'un pixel présentant le niveau de priorité le plus élevé, des moyens de prédiction d'un ensemble de pixels comprenant le pixel prioritaire, des moyens de réception d'au moins un résidu de prédiction et des moyens de reconstruction d'une région formée de pixels prédits du macrobloc.
Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 72.

Claims

REVENDICATIONS
1. Procédé de codage d'au moins une image, découpée en macroblocs, un macrobloc comprenant un ensemble de blocs de pixels, caractérisé en ce que ledit procédé met en œuvre, pour au moins un macrobloc courant d'une image courante : au moins deux itérations des étapes suivantes :
- affectation (31) d'un niveau de priorité de codage à au moins un pixel dudit macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ; - sélection (32) d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
- prédiction (33) d'un ensemble de pixels comprenant ledit pixel prioritaire, dit ensemble cible, mettant en œuvre les sous-étapes suivantes : " identification (331) d'un masque correspondant à une région modèle prédéterminée adjacente audit ensemble cible, ledit masque et ledit ensemble cible formant un bloc ;
" recherche (332) dans les blocs précédemment codés de ladite image courante ou d'une image de référence d'un bloc source comprenant une zone similaire audit masque ;
" construction (333) dudit ensemble cible à partir dudit bloc source, délivrant des pixels prédits ; et une étape de codage (35) d'un résidu de prédiction pour une région formée de pixels prédits dudit macrobloc, dite région prédite, par détermination d'une différence entre les pixels prédits de ladite région prédite et des pixels d'origine correspondants, lesdits pixels d'origine appartenant à ladite image courante, ladite étape de codage étant mise en œuvre dès que ladite région prédite respecte un critère de codage prédéterminé, avant que la totalité des pixels dudit macrobloc ne soit prédite.
2. Procédé de codage selon la revendication 1, caractérisé en ce que ledit critère de codage appartient au groupe comprenant :
- un nombre de pixels prédits supérieur à un seuil prédéterminé ;
- une configuration prédéterminée des pixels prédits.
3. Procédé de codage selon la revendication 1, caractérisé en ce que ladite région prédite comprend seize pixels prédits.
4. Procédé de codage selon la revendication 1, caractérisé en ce que ledit critère de détermination de priorité tient compte d'au moins un paramètre appartenant au groupe comprenant :
- un nombre de pixels précédemment prédits ou codés, adjacents audit au moins un pixel ;
- une présence d'un contour qui poursuit un contour provenant d'un ensemble de pixels précédemment prédits ou codés, dont un pixel au moins dudit ensemble est adjacent audit au moins un pixel ;
- un nombre de pixels précédemment prédits ou codés appartenant audit masque ;
- un paramètre statistique représentatif d'une activité du voisinage dudit pixel ;
- un nombre de candidats similaires audit masque.
5. Procédé de codage selon la revendication 1, caractérisé en ce qu'au moins une desdites itérations est une itération de raffinement, au cours de laquelle ladite étape d'affectation affecte un niveau de priorité de codage à au moins un pixel dudit macrobloc courant adjacent à au moins un pixel précédemment codé.
6. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de codage selon la revendication 1 lorsque ledit programme est exécuté par un processeur.
7. Dispositif de codage d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels, caractérisé en ce que ledit dispositif comprend les moyens suivants, activés pour au moins un macrobloc courant d'une image courante et pour au moins deux itérations :
- des moyens d'affectation (31) d'un niveau de priorité de codage à au moins un pixel dudit macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ;
- des moyens de sélection (32) d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
- des moyens de prédiction (33) d'un ensemble de pixels comprenant ledit pixel prioritaire, dit ensemble cible, comprenant : " des moyens d'identification (331) d'un masque correspondant à une région modèle prédéterminée adjacente audit ensemble cible, ledit masque et ledit ensemble cible formant un bloc ;
• des moyens de recherche (332) dans les blocs précédemment codés de ladite image courante ou d'une image de référence d'un bloc source comprenant une zone similaire audit masque ;
• des moyens de construction (333) dudit ensemble cible à partir dudit bloc source, délivrant des pixels prédits ; et des moyens de codage (35) d'un résidu de prédiction pour une région formée de pixels prédits dudit macrobloc, dite région prédite, par détermination d'une différence entre les pixels prédits de ladite région prédite et des pixels d'origine correspondants, lesdits pixels d'origine appartenant à ladite image courante, lesdits moyens de codage étant activés dès que ladite région prédite respecte un critère de codage prédéterminé avant que la totalité des pixels dudit macrobloc ne soit prédite.
8. Signal représentatif d'au moins une image codée selon le procédé de codage de la revendication 1 , caractérisé en ce qu'il comprend au moins une information représentative dudit critère de codage.
9. Procédé de décodage d'un signal représentatif d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels, caractérisé en ce que ledit procédé met en œuvre au moins deux itérations (51) des étapes suivantes, pour au moins un macrobloc courant d'une image courante :
- affectation d'un niveau de priorité de codage à au moins un pixel dudit macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ;
- sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
- prédiction d'un ensemble de pixels comprenant ledit pixel prioritaire, dit ensemble cible, mettant en œuvre les sous-étapes suivantes :
" identification d'un masque correspondant à une région modèle prédéterminée adjacente audit ensemble cible, ledit masque et ledit ensemble cible formant un bloc ;
• recherche dans les blocs précédemment codés de ladite image courante ou d'une image de référence d'un bloc source comprenant une zone similaire audit masque ;
• construction dudit ensemble cible à partir dudit bloc source, délivrant des pixels prédits ; et en ce que ledit procédé comprend également :
- une étape de réception (52) d'au moins un résidu de prédiction ; une étape de reconstruction (53) d'une région formée de pixels prédits dudit macrobloc, dite région prédite, par ajout d'un résidu de prédiction correspondant à ladite région prédite, ladite étape de reconstruction étant mise en œuvre dès que ladite région prédite respecte un critère de codage prédéterminé avant que la totalité des pixels dudit macrobloc ne soit prédite.
10. Procédé de décodage selon la revendication 9, caractérisé en ce qu'il comprend une étape de réception d'au moins une information représentative dudit critère de codage.
11. Programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de décodage selon la revendication 9 lorsque ledit programme est exécuté par un processeur.
12. Dispositif de décodage d'un signal représentatif d'au moins une image, découpée en zones de taille standard, dites macroblocs, un macrobloc comprenant un ensemble de blocs de pixels, caractérisé en ce que ledit dispositif comprend les moyens suivants (51), activés pour au moins un macrobloc courant d'une image courante et pour au moins deux itérations : - des moyens d'affectation d'un niveau de priorité de codage à au moins un pixel dudit macrobloc courant, adjacent à au moins un pixel précédemment prédit, selon un critère de détermination de priorité prédéterminé ;
- des moyens de sélection d'un pixel présentant le niveau de priorité le plus élevé, dit pixel prioritaire ;
- des moyens de prédiction d'un ensemble de pixels comprenant ledit pixel prioritaire, dit ensemble cible, comprenant :
" des moyens d'identification d'un masque correspondant à une région modèle prédéterminée adjacente audit ensemble cible, ledit masque et ledit ensemble cible formant un bloc ;
" des moyens de recherche dans les blocs précédemment codés de ladite image courante ou d'une image de référence d'un bloc source comprenant une zone similaire audit masque ; " des moyens de construction dudit ensemble cible à partir dudit bloc source, délivrant des pixels prédits ; et en ce que ledit dispositif comprend également :
- des moyens de réception (52) d'au moins un résidu de prédiction ; des moyens de reconstruction (53) d'une région formée de pixels prédits dudit macrobloc, dite région prédite, par ajout d'un résidu de prédiction correspondant à ladite région prédite, activés dès que ladite région prédite respecte un critère de codage prédéterminé avant que la totalité des pixels dudit macrobloc ne soit prédite.
EP10707587A 2009-01-28 2010-01-26 Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants Ceased EP2392141A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0950511 2009-01-28
PCT/FR2010/050114 WO2010086544A1 (fr) 2009-01-28 2010-01-26 Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
EP2392141A1 true EP2392141A1 (fr) 2011-12-07

Family

ID=41211823

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10707587A Ceased EP2392141A1 (fr) 2009-01-28 2010-01-26 Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants

Country Status (4)

Country Link
US (1) US9055294B2 (fr)
EP (1) EP2392141A1 (fr)
CN (1) CN102301713B (fr)
WO (1) WO2010086544A1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002289B (zh) * 2013-01-08 2015-06-17 中国电子科技集团公司第三十八研究所 面向监控应用的视频恒定质量编码装置及其编码方法
EP2903276A1 (fr) * 2014-02-04 2015-08-05 Thomson Licensing Procédés de codage et de décodage d'une image comprenant la retouche de l'épitome de l'image et dispositifs correspondants
CN105338351B (zh) * 2014-05-28 2019-11-12 华为技术有限公司 基于模板匹配的帧内预测编、解码、阵列扫描方法及装置
FR3024933A1 (fr) * 2014-08-12 2016-02-19 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
EP3142365A1 (fr) * 2015-09-14 2017-03-15 Thomson Licensing Procédé et appareil de codage et de décodage d'une image basée sur un champ de lumière et produit programme d'ordinateur correspondant
EP3142366A1 (fr) * 2015-09-14 2017-03-15 Thomson Licensing Procédé et appareil de codage et de décodage d'une image basée sur un champ de lumière et produit programme d'ordinateur correspondant
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
EP3815359A1 (fr) * 2018-06-27 2021-05-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Prédiction de mode de contour
US11335034B2 (en) * 2019-01-16 2022-05-17 Disney Enterprises, Inc. Systems and methods for image compression at multiple, different bitrates

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0178198B1 (ko) 1995-03-28 1999-05-01 배순훈 영상 신호 부호화 장치
KR100694058B1 (ko) * 2004-09-30 2007-03-12 삼성전자주식회사 멀티 타임 스캔 방식에 기초한 인트라 모드 인코딩 및디코딩 방법 및 장치
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
KR100667808B1 (ko) * 2005-08-20 2007-01-11 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
PL1956847T3 (pl) * 2005-11-08 2018-06-29 Sun Patent Trust Sposób kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów oraz urządzenia służące do tego celu
JP5082548B2 (ja) 2007-03-30 2012-11-28 富士通株式会社 画像処理方法、符号化器および復号化器
KR101378338B1 (ko) * 2007-06-14 2014-03-28 삼성전자주식회사 영상 복구를 이용한 인트라 예측 부호화, 복호화 방법 및장치
US20090003443A1 (en) * 2007-06-26 2009-01-01 Nokia Corporation Priority-based template matching intra prediction video and image coding

Non-Patent Citations (2)

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

Also Published As

Publication number Publication date
US9055294B2 (en) 2015-06-09
CN102301713A (zh) 2011-12-28
WO2010086544A1 (fr) 2010-08-05
US20110286521A1 (en) 2011-11-24
CN102301713B (zh) 2014-10-29

Similar Documents

Publication Publication Date Title
EP2392141A1 (fr) Procede et dispositif de codage d'une image utilisant un masque de prediction, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants
EP2446628B1 (fr) Procédé de décodage d'images, dispositifs de décodage et programme d'ordinateur correspondants
WO2010086548A1 (fr) Procede et dispositif de codage d'une image, procede et dispositif de decodage, et programmes d'ordinateur correspondants
EP3183879A1 (fr) Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés
EP2304963B1 (fr) Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants
WO2010043811A1 (fr) Procede et dispositif de codage d'une sequence d'image mettant en oeuvre des blocs de taille differente, signal, support de donnees, procede et dispositif de decodage, et programmes d'ordinateur correspondants
FR2906433A1 (fr) Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
EP2277318B1 (fr) Codage et decodage d'une image ou d'une sequence d'images decoupees selon des partitions de pixels de forme lineaire
FR2933565A1 (fr) Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
EP2446630B1 (fr) Codage et décodage d'une séquence d'images vidéo par zones d'image
FR3008840A1 (fr) Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants
EP2392142A1 (fr) Procedes de codage et de decodage d'une sequence d'image mettant en oeuvre une compensation en mouvement, dispositifs de codage et de decodage, signal et programmes d'ordinateur correspondants
FR2941581A1 (fr) Codage et decodage d'une sequence d'images video par zones d'images
WO2010072946A2 (fr) Prediction d'images par repartionnement d'une portion de zone causale de reference, codage et decodage utilisant une telle prediction
EP2761871B1 (fr) Estimation de mouvement au niveau du décodeur par mise en correspondance de modèles
WO2018002474A1 (fr) Procédé de codage intra d'une image numérique et procédé de décodage correspondant
EP3238449A1 (fr) Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
FR3057130B1 (fr) Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
WO2010063898A1 (fr) Dispositif d'encodage d'un flux d'images numeriques et dispositif de decodage correspondant avec approximation du voisinage d'un bloc par le voisinage elargi du bloc
WO2019180350A1 (fr) Procédé d'encodage et de décodage vidéo faible latence
EP2633687B1 (fr) Codage et décodage vidéo a partir d'un épitome
FR3033115A1 (fr) Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2024042286A1 (fr) Lissage hors boucle de codage d'une frontière entre deux zones d'image
FR2956552A1 (fr) Procede de codage ou de decodage d'une sequence video, dispositifs associes
FR3098071A1 (fr) Procédé d’encodage et de décodage vidéo faible latence

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

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): 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 SE SI SK SM TR

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

Effective date: 20121122

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

Owner name: ORANGE

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20170911