EP1354482A1 - Procede de codage et de decodage d'images, dispositifs, et applications correspondants - Google Patents

Procede de codage et de decodage d'images, dispositifs, et applications correspondants

Info

Publication number
EP1354482A1
EP1354482A1 EP02701323A EP02701323A EP1354482A1 EP 1354482 A1 EP1354482 A1 EP 1354482A1 EP 02701323 A EP02701323 A EP 02701323A EP 02701323 A EP02701323 A EP 02701323A EP 1354482 A1 EP1354482 A1 EP 1354482A1
Authority
EP
European Patent Office
Prior art keywords
coding
image
coded
coding method
mesh
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02701323A
Other languages
German (de)
English (en)
Inventor
Henri Sanson
Nathalie Laurent-Chatenet
Alexandre Résidence "Ondine" BUISSON
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 EP1354482A1 publication Critical patent/EP1354482A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/553Motion estimation dealing with occlusions

Definitions

  • the technical field of the invention is that of bit rate reduction coding of moving image sequences, particularly video.
  • Video coding applications are particularly numerous.
  • IP Internet Protocol
  • mobile (“IP Streaming”
  • Computer storage of videos
  • the invention is particularly applicable in the context of systems implementing an MPEG type coding.
  • MPEG type coding is understood a coding based on a temporal prediction and a discrete cosine transformation based on a rigid block structure, often of fixed size, but possibly of variable size.
  • the 2 representative standards for this coding family are the MPEG-4 standards from version 1 to 4 and ITU-T / H.263 up to version 2.
  • the invention can also be applied in the context of the recommendation CCITT H26L (see for example the corresponding document VCEG-N83dl).
  • MPEG-4 encoding is considered to be the state of the art not only of standardized encodings, but also of all published encodings.
  • MPEG-4 or ITU-T / H.263 ++ encodings are considered to have reached their limits, in particular because of the rigid block structure of fixed size used to support all the calculations and coding operations. In particular, the temporal prediction of images within a sequence is insufficiently exploited.
  • coders In order to obtain coded video sequences at low bit rate, coders generally reduce the size of the images and time sub-sample the original video sequence.
  • the second technique has the drawback of restoring jerky movements which are more or less annoying for the user depending on the level of subsampling.
  • an objective of the invention is precisely to overcome the limitations of the prior techniques. More specifically, an objective of the invention is to provide a technique for coding, and decoding, image data, which makes it possible to obtain a reduced bit rate and / or a better quality of reconstructed image, compared with the techniques. known.
  • This objective is achieved, according to the invention, using an image coding method, selectively implementing at least two image coding modes, each optimizing the compression of at least one image. a video sequence based on different optimization criteria.
  • information on the choice of one of said coding modes can be known to a decoder according to at least one of the techniques belonging to the group comprising: predefined choice, known during coding and decoding; information representative of the choice included in a data stream comprising at least some of the coded image data; - information representative of the choice included in a data stream independent of the coded image data; determination of the choice intrinsically, by the decoder.
  • the method comprises a step of selecting a coding mode to be applied to said image, among at least: - a first coding optimizing a photometric representation of an image; a second coding optimizing a representation of the movement between at least two images.
  • the present invention relates to a new video coding method by hybridization of a coding in particular of the MPEG type and of a coding by temporal interpolation based on a representation by meshes, as well as the decoding method and the structure of the binary representation. associated.
  • said second coding takes account of at least one previous image and / or at least one following image coded using said first coding.
  • said second coding takes account of a motion vector field calculated from the immediately preceding image coded using said first coding and / or a motion vector field calculated from the image immediately following coded using said first coding.
  • these vector fields are applied to a mesh.
  • said motion vector fields can be used to determine a deduced motion vector field, associated with an image coded using said second coding.
  • said selection step is based on the implementation of a subsampling of fixed factor N, an image on N being coded using said first coding.
  • this value N is variable, as a function of at least one predetermined criterion.
  • said first coding implements a transformation on blocks of images and a temporal prediction by blocks.
  • This transformation is for example of the DCT type, Hadamard transformation, wavelet transformation, ...
  • This first coding can in particular be an MPEG-4 or H26L coding.
  • type I (intra) and / or type P (predictive) images are preferably used (and not, preferably, type B images).
  • said second coding advantageously rests on the implementation of a hierarchical mesh of M levels
  • M being greater than or equal to 1, and for example a triangular mesh.
  • the method preferably comprises a step for managing the occlusion zones.
  • the data produced can be gathered in a single flow.
  • Said data flows advantageously belong to the group comprising: a global header; - image data coded according to said first coding; image data coded according to said second coding.
  • the transmission of flows can therefore take place independently. This allows in particular a progressive and / or partial decoding of the images, according to the means and the needs.
  • the mesh-based approach avoids the usual block effects thanks to the use of continuous motion fields.
  • the mesh technique makes it possible to detect occultations of “objects”, as well as an error coding well suited to these areas.
  • MPEG type error coding By further combining an MPEG type error coding around these zones, it is possible to significantly improve the efficiency of the interpolation at a cost much lower than the bidirectional images (type B images) proposed by MPEG.
  • the invention also relates, of course, to: the methods of decoding an image signal coded using the coding method described above; - the devices for coding an image signal coded using the coding method described above; the devices for decoding an image signal coded using the coding method described above (advantageously comprising means for determining at least part of a vector field and / or at least part of the occlusion zones, similar to those used during coding); devices for storing at least one image signal coded using the coding method described above; systems for coding, transmitting and / or decoding an image signal coded using the coding method described above (the choice of one of said coding modes can advantageously be known to a decoder according to at least one of the techniques belonging to the group comprising: predefined choice, known for coding and decoding; - information representative of the choice included in a data stream comprising at least some of the coded image data; information representative of the choice included in a data stream independent of the coded image data; - determination of the choice intrinsically, by
  • this signal comprises at least one indicator indicating whether or not the process is activated.
  • the signal comprises data specifying the structure of the frames, at the start of the video sequence and / or in each signal frame.
  • a sequence coded using said second coding begins with a header specifying the number of frames coded according to this second coding.
  • the signal comprises at least two data streams, which can be transmitted over independent transmission channels.
  • said data streams advantageously belong to the group comprising: a global header; - image data coded according to said first coding; image data coded according to said second coding.
  • the invention finds applications in numerous fields, and in particular in the fields belonging to the group comprising: digital television; - real-time video on network D? ; network real-time video to mobiles; storage of image data.
  • Figure 1 is a block diagram of the coding of the invention
  • FIG. 2 presents an example of a hierarchical mesh structure for the movement
  • FIG. 3 illustrates the principle of the affine interpolation on a triangular mesh
  • Figure 4 is an example of occultation detected by overlapping of triangles
  • FIG. 5 illustrates the process of transformation of any triangle of the image into a symmetrical square matrix
  • FIG. 6 illustrates the transformation of any triangle into a right isosceles triangle
  • FIG. 7 illustrates a hierarchical mesh and the representation by associated quaternary tree
  • - Figure 8 is an example of coding decision for the hierarchical mesh
  • FIG. 9 shows an overall structure of a binary train according to the invention
  • FIG. 10 presents a block diagram of a decoder according to the invention.
  • the embodiment of the invention described below essentially consists in the hybridization of an MPEG type coding, for example MPEG-4 with a mesh coding operating in interpolated mode, also called B mode or B images in the MPEG standards.
  • MPEG-4 coding mentioned here can be replaced by any coder based on equivalent techniques, i.e. using a temporal prediction and a discrete cosine transformation based on a block structure, and the quantifications and codings entropy for the information generated.
  • ITU-T / H.263 ++ coding can be substituted for MPEG-4 coding.
  • the latter decides according to a certain decision process (for example, a temporal subsampling of a fixed factor) to code it with the MPEG-4 encoding module, or well with the mesh-based encoding module.
  • a certain decision process for example, a temporal subsampling of a fixed factor
  • the coded images in mesh mode use as references for their temporal prediction the coded images in MPEG-4 mode located immediately before or immediately after the group of coded images in mesh mode to which they belong.
  • the key point of the compression efficiency of the invention is that the mesh-based motion compensation leads to a very powerful time prediction, for a very low associated coding cost.
  • Figure 1 gives a general view of the principle of the coder.
  • the incoming images are routed either to the MPEG encoding module, or to the mesh-based encoding module, according to a given decision mode, for example according to a predefined rhythm: 1 image on N is coded in MPEG, the others in interpolated mesh mode.
  • N k the numbers of the images coded in MPEG mode.
  • All the other images I RheinN k ⁇ l ⁇ N k + 1 are encoded by an encoder based on a mesh, for example triangular, operating in interpolated mode called mode B.
  • the general principle of this encoder is as follows:
  • motion compensation can be performed according to three approaches: with a forward estimate, with a back estimate or with a front estimate and a back estimate.
  • 1) with an estimation before: • During the interpolation, the motion between I ⁇ and I t 2 is estimated. If the application of the motion vectors does not lead to any reversal (which corresponds to the predictable areas) then we perform motion compensation by weighting the vectors with a scalar k m / (tl + t2) (0 ⁇ k ⁇ l) so as to interpolate Im with m belonging to [tl, t2].
  • the estimated image E2 is obtained. 3) the two together:
  • Fields of forward and backward motion between the images N k and N k + 1 are calculated, in the form of hierarchical meshes, for example triangular, T b k and T f k + 1 , as indicated in FIG. 2.
  • Such meshes are obtained by dividing certain meshes, for example, the triangular meshes are divided into 4 sub-triangles, according to a certain criterion during the process of estimation of the movement. At each level of the hierarchy, the decisions of division or not are taken for each mesh. Once these divisions have been decided, the adjacent meshes of the divided meshes are then divided so as to maintain a conforming mesh structure.
  • the initial mesh, before division (top of the hierarchy), can be arbitrary.
  • the motion estimator decides to divide triangles 3 and 8. this results in the division of triangles 2, 4, 7 and 9. the process is iterated up to a predefined level of hierarchy.
  • • - ⁇ er (e) ⁇ denotes the set of its three nodes or vertices, numbered i, j, k with positions p ⁇ , p and p k ,
  • Such a model defines an everywhere continuous field. In addition, it allows fine control of the representation accuracy, an essential characteristic for compression.
  • the nodal motion vectors are calculated so as to minimize a prediction error.
  • Different mesh-based motion estimators can be used, for example the one described in patent FR No. 98 11227, or FR No. 99 15568.
  • the important point is that the final mesh results from a hierarchical process starting from an initial mesh by divisions.
  • This hierarchical character is in fact used for the differential coding of the nodal motion vectors between a node and its parent nodes (the ends of the arc on which it has been inserted).
  • the structure of the mesh is recalculated at the decoder on the basis of the knowledge of the initial mesh, and of the mesh division indicators.
  • the occultation zones that is to say not predictable in the image N k from the image N k +! or vice versa, due to the recovery or the discovery of objects, are detected.
  • the figure illustrates the occultation detection based on the overlapping of triangles after displacement.
  • the coder can continue the motion estimation by deactivating the triangles of the occultation zones, so as to obtain less biased displacement vectors.
  • the reference image for a possible prediction is selected from I Nk , I N (k + 1) , but also I c Uberwhich is the image obtained at time 1 by motion compensation with the mesh T b k or T f k + 1 at a level where there is not yet an overlap of mesh. More precisely, the choice between I Nk and I N (k + 1) simply depends on the mesh T b k or T f k + 1 having generated the current occultation zone. Then, this mesh is used to predict the image and give I e,. The choice between I ° ⁇ and I Nk or + ⁇ se ⁇ based on prediction error criteria: the image giving the lowest error is retained. Thus, it suffices to insert 1 bit in the bit stream, per zone, to code the choice of the prediction retained.
  • a motion estimate is then made between 1, (the image to be coded) and Ii (the result of the prediction of mode 1) on the occultation area.
  • the residual prediction error is coded according to a procedure defined below. Mode 3; No prediction is made and the original values of the pixels of the area are coded.
  • the texture is then approximated on each mesh according to a choice: -
  • the meshes rich in high frequencies are coded based on transform in discrete cosine, known as DCT -
  • DCT discrete cosine
  • the smoother meshes are coded by a model of finite elements, affine .
  • the approach adopted makes it possible to conserve the low coding cost associated with a regular hierarchy of meshes while allowing local adaptation to the content of the images made possible by the irregular decomposition of meshes.
  • the meshes are subdivided into 4 triangular sub-meshes up to a given level.
  • an optional permutation of the diagonals of the quadrilaterals generated by 2 adjacent triangles can be implemented, if this induces a reduction in the approximation error.
  • the nodes of the triangular mesh carry the photometric information (color, error) and the interpolation for the points inside the triangle is carried out by a finite element of Lagrange, also called affine interpolation.
  • v (J3) can be one of the photometric components Y, U or N of the point, or even the prediction error for these components.
  • Figure 4 describes the different stages of the process: selection of the triangle T, affine transformation of this into a right isosceles triangle T '. Due to the affine transformation, the pixels of the triangle are no longer located on a regular orthogonal grid, and the photometric values of the interior of the reference triangle should be resampled. For this, we use a process analogous to that of motion compensation in the image (in this case the affine transformation), using an interpolator, for example bilinear.
  • the affine transformation F and its inverse F 1 are defined by the following equations:
  • the photometric values M (i, j) an triangle T '(therefore of block M, symmetrized of T') are obtained by inverse transformation F "1 then interpolation F of the texture of the image to be coded: where the coefficient M (i ⁇ , j x ) is the value at point Q (X, Y) whose transform P (x, y) is F ⁇ Q)
  • I v denotes the interpolator used to calculate the value of the image at the point, with potentially non-integer coordinates.
  • the reconstruction f of the texture F is given by: or /. denotes the interpolated texture from the values of block M ', quantified version of M.
  • a scale factor ⁇ is introduced for the calculation of block M; (of size N, XN ( ) for each triangle i: or :
  • a nested hierarchical mesh is defined on the area to be coded, by creating a regular initial mesh then iterative sub-di vision of the triangles into 4 sub-triangles by insertion of new nodes in the middle of the arcs.
  • the values with the nodes are calculated to minimize the error of approximation of the zone by the mesh; ⁇ the pixel values are approximated by an affine interpolation on the triangle containing them from its values at the nodes.
  • the different information is coded as follows.
  • the YUN nodal values are first predicted from the values of the parent nodes (ends of the arc where the current node is inserted) .
  • the difference between the value of the node and its predicted value is then quantified.
  • the structure of the quaternary tree (including the indicators of division or not of the triangles), the indicators of permutation of diagonals, the nodal differential values of YUN and the quantized DCT coefficients are coded by an arithmetic coder and inserted in the train binary.
  • Each group of frames encoded in mesh mode between ⁇ k +1 and N k + 1 -1 (where N k N k + 1 are respectively the previous frame and the next frame encoded in MPEG mode) is represented as a whole in the stream binary.
  • the information conveyed includes, in coded form:
  • a header for the entire group of frames including among other things the actual number of encoded frames.
  • the global bit stream consists of a succession of frames encoded in MPEG mode, and groups of frames encoded in mesh mode, as shown in Figure 8.
  • the global header of the bit stream representative of the coded sequence contains inter alia the indication of hybrid coding.
  • the part of the bit stream corresponding to a group of frames coded in mesh mode begins with a header indicating inter alia the number of frames actually coded, possibly zero.
  • the different data streams (bit streams) corresponding respectively to the global header of the coded sequence, to the MPEG encoded images and to the groups of i images encoded in interpolated mesh mode can be sent on different independent channels if necessary.
  • the coding method allows hierarchical (or scalable) decoding of the sequence, that is to say a decoding using only part of the total bit rate.
  • Decoding process Figure 9 gives a general view of the principle of decoding.
  • the decoding of the header makes it possible to activate the hybrid decoding.
  • the decoder recognizes for each part of the bit stream corresponding to an autonomous entity whether it is an MPEG-4 encoded frame or a group of frames encoded by mesh.
  • the MPEG-4 frames are supplied to the MPEG-4 decoding module, and the groups of coded frames in mesh mode are supplied to the mesh decoding module.
  • the pixels outside the occultation zones are simply interpolated from the I Nk images and and fields of motion T b k and T f k + 1 .
  • the coarsest texture mesh top of the hierarchy is found for each occultation zone according to a process identical to that of the coder.
  • the information associated with the corresponding hierarchical mesh (triangle division indicator, affine interpolation or DCT coding decisions, differential nodal YUV value and quantized DCT coefficients) is then decoded and the YUy values of the pixels of these reconstructed areas.

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'images mettant en oeuvre sélectivement au moins deux modes de codage d'images, optimisant chacun la compression d'au moins une image d'une séquence vidéo en fonction de critères d'optimisation différents.

Description

PROCEDE DE ET DE DECODAGE D ' IMAGES , DISPOSITIFS , ET APPLICATIONS CORRESPONDANTS
Le domaine technique de l'invention est celui du codage à réduction de débit des séquences d'images animées, vidéo notamment. Les applications du codage vidéo sont particulièrement nombreuses.
Citons de manière non exclusive :
- La transmission de la TV numérique ;
- La transmission vidéo en temps réel sur différents types de réseaux : IP, mobiles, ("Streaming IP") ; - Le stockage informatique de vidéos.
L'invention s'applique notamment dans le cadre de systèmes mettant en œuvre un codage de type MPEG.Par codage de type MPEG, on entend un codage basé sur une prédiction temporelle et une transformation en cosinus discrète basée sur une structure de blocs rigides, souvent de taille fixe, mais éventuellement de taille variable. Les 2 standards représentatifs pour cette famille de codages sont les normes MPEG-4 de la version 1 à 4 et ITU-T/H.263 jusqu'à la version 2. L'invention peut également s'appliquer dans le cadre de la recommandation du CCITT H26L (voir par exemple le document VCEG-N83dl correspondant).
Les schémas de codage et décodage vidéo proposés à ce jour se répartissent en 2 catégories :
- Les codages normalisés, soit par l'ISO MPEG, soit par l'ITU-T, tous basés sur le même type de techniques (prédiction temporelle et une transformation en cosinus discrète basées sur une structure de blocs)
- Les codages en cours de développement proposés par des laboratoires de recherche, qui font appel à un large panel de techniques : Codage par Ondelettes, par Régions, par Fractales, par Maillages, etc. .. Actuellement, le codage MPEG-4 est considéré comme l'état de l'art non seulement des codages normalisés, mais aussi de l'ensemble des codages publiés. Les codages de type MPEG-4 ou ITU-T/H.263++ sont considérés comme ayant atteint leurs limites, notamment à cause de la structure de blocs rigides de taille fixe utilisée comme support de l'ensemble des calculs et opérations de codage. En particulier, la prédiction temporelle des images au sein d'une séquence est insuffisamment exploitée.
Par ailleurs, les codages alternatifs publiés n'ont pas encore atteint un degré suffisant d'optimisation.
Ainsi, pour permettre d'obtenir des séquences vidéos codées à bas débit, les codeurs procèdent en général à une réduction de la taille des images et au sous- échantillonnage temporel de la séquence vidéo originale. Toutefois, la seconde technique a pour inconvénient de restituer des mouvements saccadés plus ou moins gênants pour l'utilisateur en fonction du niveau de sous-échantillonnage.
Pour éviter de telles saccades, il importe de reconstruire les images manquantes (non codées) au décodeur par interpolation temporelle.
Cependant, les techniques actuelles d'interpolation temporelle d'images ne permettent pas d'obtenir de résultats satisfaisants, surtout lorsqu'elles sont mises en œuvre au seul décodeur. En effet, ces techniques sont la source d'artefacts visuels liés aux techniques de compensation de mouvement basées blocs qui ne définissent qu'un seul vecteur mouvement pour l'ensemble des pixels d'un bloc.
L'objectif de l'invention est précisément de pallier les limitations des techniques antérieures. Plus précisément, un objectif de l'invention est de fournir une technique de codage, et de décodage, de données d'images, qui permette d'obtenir un débit réduit et/ou une meilleure qualité d'image reconstruite, par rapport aux techniques connues.
Cet objectif est atteint, selon l'invention, à l'aide d'un procédé de codage d'images, mettant en œuvre sélectivement au moins deux modes de codage d'images, optimisant chacun la compression d'au moins une image d'une séquence vidéo en fonction de critères d'optimisation différents.
Selon plusieurs modes de réalisation avantageux, une information sur le choix d'un desdits modes de codage peut être connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; - information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; détermination du choix de façon intrinsèque, par le décodeur. Avantageusement, le procédé comprend une étape de sélection d'un mode de codage à appliquer à ladite image, parmi au moins : - un premier codage optimisant une représentation photométrique d'une image ; un second codage optimisant une représentation du mouvement entre au moins deux images.
Ainsi, la présente invention concerne un nouveau procédé de codage vidéo par hybridation d'un codage notamment de type MPEG et d'un codage par interpolation temporelle basée sur une représentation par maillages, ainsi que le procédé de décodage et la structure de la représentation binaire associée.
Préférentiellement, ledit second codage tient compte d'au moins une image précédente et/ou au moins une image suivante codée à l'aide dudit premier codage.
De façon avantageuse, ledit second codage tient compte d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement précédente codée à l'aide dudit premier codage et/ou d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement suivante codée à l'aide dudit premier codage. Avantageusement, ces champs de vecteurs sont appliqués à un maillage.
Dans ce cas, lesdits champs de vecteurs mouvement peuvent être utilisés pour déterminer un champ de vecteurs mouvement déduit, associé à une image codée à l'aide dudit second codage.
Selon un mode de réalisation préférentiel de l'invention, ladite étape de sélection repose sur la mise en œuvre d'un sous-échantillonnage de facteur fixé N, une image sur N étant codée à l'aide dudit premier codage.
Avantageusement, cette valeur N est variable, en fonction d'au moins un critère prédéterminé.
Selon un mode de réalisation particulier, ledit premier codage met en œuvre une transformation sur des blocs d'images et une prédiction temporelle par blocs. Cette transformation est par exemple du type DCT, transformation de Hadamard, transformation en ondelettes,...
On notera que les blocs d'images ne sont pas forcément carrés, mais peuvent prendre toute forme adaptée aux besoins et aux moyens disponibles. Ce premier codage peut notamment être d'un codage MPEG-4 ou H26L.
Dans ce dernier cas, on utilisera préférentiellement des images de type I (intra) et/ou de type P (prédictif) (et non, préférentiellement, des images de type B).
Selon un autre aspect particulier de l'invention, ledit second codage repose avantageusement sur la mise en œuvre d'un maillage hiérarchique de M niveaux,
M étant supérieur ou égal à 1, et par exemple un maillage triangulaire.
Dans ce cas, le procédé comprend préférentiellement une étape de gestion des zones d'occlusions.
Les données produites peuvent être regroupées dans un flux unique. Avantageusement, on peut prévoir au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes.
Lesdits flux de données appartiennent avantageusement au groupe comprenant : une entête globale ; - des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. La transmission des flux peut donc avoir lieu de façon indépendante. Cela permet notamment un décodage progressif et/ou partiel des images, en fonction des moyens et des besoins. Ainsi, selon un mode de réalisation particulier de l'invention, on exploite notamment les aspects suivants :
Optimisation poussée des modules constitutifs des codages normalisés de type MPEG ou ITU-T/H.263 Prédiction temporelle et codage d'erreur associé performants pour les techniques basées maillage.
En effet, l'approche basée maillage permet d'éviter les effets de bloc habituels grâce à l'utilisation de champs de mouvement continus. De plus, la technique des maillages permet de détecter les occultations « d'objets », ainsi qu'un codage de l'erreur bien adapté à ces zones. En combinant de plus un codage d'erreur de type MPEG autour de ces zones, il est possible d'améliorer sensiblement l'efficacité de l'interpolation à un coût largement inférieur aux images bidirectionnelles (images de type B) proposées par MPEG.
Ainsi, on peut coder efficacement l'information de base à une faible résolution temporelle grâce au codage de type MPEG, avec une bonne qualité, puis restituer la pleine fluidité de la séquence grâce au codage en mode interpolé par maillage.
L'invention concerne également, bien sûr : les procédés de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; - les dispositifs de codage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; les dispositifs de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus (comprenant avantageusement des moyens de détermination d'au moins une partie d'un champ de vecteurs et/ou d'au moins une partie des zones d'occlusion, similaires à ceux mis en œuvre lors du codage) ; les dispositifs de stockage d'au moins un signal d'images codé à l'aide du procédé de codage décrit ci-dessus ; les systèmes de codage, de transmission et/ou de décodage d'un signal d'images codé à l'aide du procédé de codage décrit ci-dessus (le choix d'un desdits modes de codage pouvant avantageusement être connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; - information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; information représentative du choix incluse dans un flux de données indépendant des données d'imagés codées ; - détermination du choix de façon intrinsèque, par le décodeur) ; les produits programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage ; les supports de données d'un tel programme. L'invention concerne également les signaux de données d'images comprenant des données codées selon le procédé décrit ci-dessus.
Avantageusement, ce signal comprend au moins un indicateur indiquant si le procédé est ou non activé.
De façon préférentielle, le signal comprend une donnée précisant la structure des trames, en début de séquence vidéo et/ou dans chaque trame de signal.
Avantageusement, une séquence codée à l'aide dudit second codage débute par une entête précisant le nombre de trames codées selon ce second codage.
Selon un mode de réalisation particulier, le signal comprend au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes.
Dans ce cas, lesdits flux de données appartiennent avantageusement au groupe comprenant : une entête globale ; - des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage. L'invention trouve des applications dans de nombreux domaines, et notamment dans les domaines appartenant au groupe comprenant : la télévision numérique ; - la vidéo temps réel sur réseau D? ; la vidéo temps réel sur réseau vers les mobiles ; le stockage de données d'images. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description d'un mode de réalisation préférentiel de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés parmi lesquels : la figure 1 est un schéma de principe du codage de l'invention ; la figure 2 présente un exemple de structure de maillage hiérarchique pour le mouvement ; la figure 3 illustre le principe de l'interpolation affine sur une maille triangulaire ; la figure 4 est un exemple d'occultation détectée par recouvrement de triangles ; la figure 5 illustre le processus de transformation d'un triangle quelconque de l'image en une matrice carrée symétrique ; la figure 6 illustre la transformation d'un triangle quelconque en un triangle isocèle rectangle ; la figure 7 illustre un maillage hiérarchique et la représentation par arbre quaternaire associée ; - la figure 8 est un exemple de décision de codage pour le maillage hiérarchique ; la figure 9 présente une structure globale d'un train binaire selon l'invention ; la figure 10 présente un diagramme bloc d'un décodeur selon l'invention. Le mode de réalisation de l'invention décrit ci-après consiste essentiellement en l'hybridation d'un codage de type MPEG, par exemple MPEG- 4 avec un codage par maillage fonctionnant en mode interpolé, appelé également mode B ou images B dans les normes MPEG. Notons que le codage MPEG-4 mentionné ici peut être remplacé par tout codeur basé sur des techniques équivalentes, c'est-à-dire utilisant une prédiction temporelle et une transformation en cosinus discrète basées sur une structure de blocs, et les quantifications et codages entropiques pour les informations générées. En particulier, un codage ITU-T/H.263++ peut être substitué au codage MPEG-4. Pour chaque image de la séquence entrant dans le codeur, ce dernier décide en fonction d'un certain processus de décision (par exemple, un sous- échantillonnage temporel de facteur fixé) de la coder avec le module d'encodage MPEG-4, ou bien avec le module d'encodage basé maillage.
Les images codées en mode maillage utilisent comme références pour leur prédiction temporelle les images codées en mode MPEG-4 située immédiatement avant ou immédiatement après le groupe d'images codées en mode maillage auquel elles appartiennent.
Le point clé de l'efficacité en compression de l'invention est que la compensation de mouvement basée maillage conduit à une prédiction temporelle très performante, pour un coût de codage associée très faible.
En effet, cette technique :
- Prend en compte différents types de mouvements dans les images
- Traite proprement les recouvrements et découvrements de zones dus aux mouvements d'objets. La figure 1 donne une vue générale du principe du codeur.
Tout d'abord, les images entrantes sont aiguillées soit vers le module d'encodage MPEG, soit vers le module d'encodage base maillage, selon un mode de décision donné, par exemple selon un rythme prédéfini : 1 image sur N est codée en MPEG, les autres en mode interpolé maillage. On note Nk les numéros des images codées en mode MPEG. Toutes les autres images I„ Nk<l<Nk+1, sont encodées par un encodeur basé sur un maillage, par exemple triangulaire, fonctionnant en mode interpolé dit mode B. le principe général de cet encodeur est le suivant :
1. Calcul des champs de mouvement avant et arrière entre les images Nk et Nk+1. Ces champs sont modélisés sous forme de maillages, triangulaires.
2a. Estimation des zones prédictibles : lors de l'interpolation, on estime le mouvement entre It et If. Si l'application des vecteurs mouvements ne conduit à aucun retournement (ce qui signifie que l'on est en présence d'une zone prédictible), on réalise une compensation de mouvement en pondérant les vecteurs par un scalaire k (0 < k < 1) de manière à interpoler It+ avec t+k appartenant à ]t, t'[. Trois approches sont envisageables pour la compensation de mouvement. Elles sont décrites par la suite ; 2b. Estimation des zones non prédictibles :Détection des zones d'occultation, non prédictibles, dans les images II à coder, à partir de la connaissance de ces champs de mouvement 3. Codage spécifique de ces zones d'occultation selon l'un des trois modes possibles suivants : - Prédiction avec l'une des images de référence (Nk, Nk+1, ou ces images compensées en mouvement avec leurs champs de mouvement) sans compensation de mouvement, puis codage de l'erreur de prédiction avec une technique basée maillage triangulaire - Prédiction avec l'une des images de référence (Nk, Nk+1, ou ces images compensées en mouvement avec leurs champs de mouvement) avec compensation de mouvement intra- image, puis codage de l'erreur de prédiction avec une technique basée maillage triangulaire - Codage intra-image basé avec une technique basée maillage triangulaire. 4. Optionnellement, codage de type MPEG mode P de l'erreur résiduelle de prédiction ou de codage, limité à une zone autour de la zone d'occultation. Comme mentionné plus haut, la compensation de mouvement peut être effectuée selon trois approches : avec une estimation avant, avec une estimation arrière ou avec une estimation avant et une estimation arrière. 1) avec une estimation avant : • Lors de l'interpolation, on estime le mouvement entre Iα et It 2. Si l'application des vecteurs mouvement ne conduit à aucun retournement (ce qui correspond aux zones prédictibles) alors on réalise une compensation de mouvement en pondérant les vecteurs par un scalaire k = m/(tl+t2) (0<k<l) de manière à interpoler Im avec m appartenant à [tl, t2]. On obtient l'image estimée El. 2) avec une estimation arrière :
Lors de l'interpolation, on estime le mouvement entre It2 et In. Si l'application des vecteurs mouvements ne conduit à aucun ce qui correspond aux zones prédictibles) alors on réalise une compensation de mouvement en pondérant les vecteurs par un scalaire k' = l-m/(tl+t2) (o<=k'<=l) de manière à interpoler Im avec m appartenant à [tl, t2]. On obtient l'image estimée E2. 3) les deux ensemble :
Lors de l'interpolation, on estime le mouvement In et Iβ et entre lt2 et Itl. Si l'application des vecteurs mouvements ne conduit à aucun retournement (ce qui correspond aux zones prédictibles), alors on réalise une compensation de mouvement en pondérant les vecteurs "avant" par un scalaire k (0<=k<=l) et l'on obtient El. On fait de même avec les vecteurs "arrière" par un scalaire k' (0<=k'<=l) et on obtient E2. L'image estimée est alors E=aEl+(l-a) E2 avec 0<=a<=l. On prend à chaque fois moyennant 2 bits la meilleure des solutions après calcul du PSNR entre la solution estimée et l'image source associée.
1. Calcul des champs de mouvement avant et arrière entre les images
Nb β ^bt!
Des champs de mouvement avant et arrière entre les images Nk et Nk+1 sont calculés, sous la forme de maillages hiérarchiques, par exemple triangulaires, Tb k et Tf k+1, comme indiqué figure 2.
De tels maillages sont obtenus par division de certaines mailles, par exemple, les mailles triangulaires sont divisées en 4 sous-triangles, en fonction d'un certain critère au cours du processus d'estimation du mouvement. À chaque niveau de la hiérarchie, les décisions de division ou non sont prises pour chaque maille. Une fois ces divisions décidées, les mailles adjacentes des mailles divisées sont alors divisées de sorte à conserver une structure de maillage conforme. Le maillage initial, avant division (sommet de la hiérarchie), peut être quelconque.
Dans l'exemple de la figure 2, l'estimateur de mouvement décide de diviser les triangles 3 et 8. ceci entraîne la division des triangles 2, 4, 7 et 9. le processus est itéré jusqu'à un niveau prédéfini de hiérarchie.
Dans le cas de maillages triangulaire, l'expression du champ de mouvement défini par un maillage triangulaire T est donné sur chaque triangle e par :
où :
• e dénote l'élément triangulaire de T contenant le point courant de coordonnées x et y,
• -{ er(e)} dénote l'ensemble de ses trois nœuds ou sommets, numérotés i, j, k de positions pι , p et pk ,
• Ψ7 (/ = i,j,k) représente les coordonnées barycentriques du point p(x,y) dans l'élément triangulaire e, J k avec :
Un tel modèle définit un champ partout continu. De plus, il permet un contrôle fin de la précision de représentation, caractéristique essentielle pour la compression.
À chaque niveau de la hiérarchie de maillages, les vecteurs nodaux de mouvement sont calculés de sorte à minimiser une erreur de prédiction. Différents estimateurs de mouvement basés maillages peuvent être utilisés, par exemple celui décrit dans le brevet FR n° 98 11227, ou FR n° 99 15568.
Le point important est que le maillage final résulte d'un processus hiérarchique à partir d'un maillage initial par divisions. Ce caractère hiérarchique est en effet mis à profit pour le codage différentiel des vecteurs nodaux de mouvement entre un nœud et ses nœuds parents (les extrémités de l'arc sur lequel il a été inséré). La structure du maillage est recalculée au décodeur à partir de la connaissance du maillage initial, et des indicateurs de division de mailles.
Ainsi, en fin de processus, 2 maillages de mouvement sont obtenus pour chaque groupe d'images comprises entre les images Nk et Nk+J, utilisés pour reconstruire l'ensemble des images du groupe.
2. Détection des zones d'occultation
À partir de ces 2 maillages, les zones d'occultation, c'est-à-dire non prédictibles dans l'image Nk à partir de l'image Nk+! ou vice-versa, du fait du recouvrement ou du découvrement d'objets, sont détectées.
Ces zones sont simplement définies par les triangles se recouvrant, une fois déplacés par leurs vecteurs nodaux.
La figure illustre la détection d'occultation base sur le recouvrement de triangles après déplacement. Le codeur peut poursuivre l'estimation de mouvement en désactivant les triangles des zones d'occultation, de manière à obtenir des vecteurs déplacement moins biaises.
Ceci est cependant strictement interne à la stratégie du codeur, et au final, c'est 2 maillages de mouvement complets Tb k et Tf k+1 qui sont codés et insérés dans le train binaire. Le décodeur est alors capable de retrouver les zones d'occultation à partir de ces 2 maillages.
Ces zones d'occultation sont définies sur les images Nk et Nk+1 et une fois détectés, les triangles leur appartenant sont étiquetés en conséquence, au codeur comme au décodeur. Cependant, le codeur a besoin de connaître ces zones sur les images Nk+1 a Nk+1-1. Celles-ci sont simplement obtenues par projection des maillages Tb k et Tf k+ι sur l'image à coder, par application des vecteurs mouvement nodaux, renormalisés pour tenir compte de la distance temporelle entre l'image courante et l'image de référence Nk ou Nk+1. 3. Codage des zones d'occultation :
Pour chaque zone d'occultation, l'image de référence pour une éventuelle prédiction est sélectionnée parmi INk, IN(k+1), mais aussi Ic„ qui est l'image obtenue à l'instant 1 par compensation de mouvement avec le maillage Tb k ou Tf k+1 à un niveau où il n'y a pas encore de recouvrement de maille. Plus précisément, le choix entre INk et IN(k+1) dépend simplement du maillage Tb k ou Tf k+1 ayant engendré la zone courante d'occultation. Ensuite, ce maillage est utilisé pour prédire l'image et donner Ie,. Le choix entre I°ι et INk ou +υ se ^ sur critère d'erreur de prédiction : l'image donnant l'erreur la plus faible est retenue. Ainsi, il suffit d'insérer 1 bit dans le flux binaire, par zone, pour coder le choix de la prédiction retenue.
Notons Ir l'image de référence sélectionnée.
Le reste du codage de ces zones consiste en 2 étapes :
- Une étape de prédiction
- Une étape de codage de l'erreur de prédiction ou de la texture originale en cas de mauvaise prédiction
3.1 Prédiction résiduelle de la texture des zones d'occlusion 3 modes peuvent être utilisés, de manière exclusive. La décision est prise sur critère de moindre erreur. Mode 1: Les valeurs Y, U et V d'un pixel de la zone sont simplement celle du pixel de même localisation de l'image de référence L. Soit î, l'image résultante. On code alors l'erreur de prédiction entre î, et II. Mode 2:
Une estimation de mouvement est alors réalisée entre 1, (l'image à coder) et Ii (le résultat de la prédiction du mode 1) sur la zone d'occultation. Le maillage résultant, issu du dernier niveau du maillage Tr, r=k ou k+1, avant les recouvrements de mailles, est alors codé ainsi que ses mouvements nodaux. Enfin, l'erreur résiduelle de prédiction est codée selon une procédure définie plus loin. Mode 3; On n'effectue aucune prédiction et on code les valeurs originales des pixels de la zone.
4. Codage de la texture ou de l'erreur de prédiction sur les zones d'occultation.
La texture originale et l'erreur de prédiction subissent le même codage, dont le principe est le suivant :
On suppose qu'un maillage triangulaire initial a pu être défini à partir du maillage de mouvement Tr retenu pour la prédiction de la zone à coder. La façon de dériver ce maillage initial sera décrit plus loin.
La texture est alors approximée sur chaque maille en fonction d'un choix: - Les mailles riches en hautes fréquences sont codées à base de transformée en cosinus discrète, dite DCT - Les mailles plus lisses sont codées par un modèle d'éléments finis, affine. Là encore, on va tirer parti d'une approche hiérarchique pour diminuer le coût de codage de la représentation par maillage.
L'approche retenue permet de conserver le faible coût de codage associé à une hiérarchie régulière de mailles tout en permettant l'adaptation locale au contenu des images permise par la décomposition irrégulière de mailles.
À partir du maillage initial grossier de la zone, les mailles sont subdivisées en 4 sous-mailles triangulaires jusqu'à un niveau donné. Sur le dernier niveau, une permutation optionnelle des diagonales des quadrilatères engendrés par 2 triangles adjacents peut être mise en œuvre, si cela induit une baisse de l'erreur d'approximation.
4.1 Initialisation du maillage de texture sur les zones d'occultation Ce maillage est simplement donné par le dernier niveau de Tr (maillage résultant du déplacement de Tk ou Tk+1 selon le sens retenu) avant apparition des retournements sur la zone considérée. Ainsi, on a un maillage de texture qui s'insère de manière naturelle dans le maillage mouvement, puisque extrait de ce dernier. 4.2 Représentations utilisées pour la texture sur les triangles
2 représentations sont combinées : l'interpolation affine et la DCT
4tri angulaire.
Interpolation affine
Les nœuds du maillage triangulaire portent l'information photométrique (couleur, erreur) et l'interpolation pour les points à l'intérieur du triangle est effectuée par un élément fini de Lagrange, également appelé interpolation affine. La valeur v(j?)du point p(x,y) intérieur au triangle ei J k défini par les 3 nœuds pt,l = i,J,k est donnée par l'équation suivante :
où Ψ, (/ = /', j, k) représente les coordonnées barycentriques du point. v(J3)peut être l'une des composantes photométriques Y, U ou N du point, ou encore l'erreur de prédiction pour ces composantes.
Plusieurs méthodes peuvent être employées pour le calcul des valeurs nodales, en particulier la méthode des moindres carrés.
Transformation en cosinus discrète (DCT) sur les triangles Le principe de la méthode consiste à transformer un triangle quelconque en un triangle de référence isocèle rectangle. Le contenu de ce triangle est alors symétrisé par rapport à l'hypoténuse pour donner une matrice carrée symétrique (figure 4).
Une DCT classique (carrée) est alors appliquée à cette matrice. On peut montrer que la matrice transformée est aussi symétrique. Seuls les coefficients de son triangle inférieur sont alors quantifiés puis codés statistiquement (codage entropique).
La figure 4 décrit les différentes étapes du processus : sélection du triangle T, transformation affine de celui-ci en un triangle isocèle rectangle T'. Du fait de la transformation affine, les pixels du triangle ne sont plus situés sur une grille orthogonale régulière, et il convient de ré-échantillonner les valeurs photométriques de l'intérieur du triangle de référence. On utilise pour cela un processus analogue à celui d'une compensation de mouvement dans l'image (en l'occurrence la transformation affine), à l'aide d'un interpolateur, par exemple bilinéaire.
La transformation affine F et son inverse F1 sont définies par les équations suivantes :
[x - (*3 ~ l ) 1 ~ y) + (y1 " yg) (Xi ~ x) N
(χ 3 - χ^ + (y2 -y^) + (y1 -y3) (*2 - ι)
F : (x1 - x3) + (y1 - y) + (y3 - y ) (x1 - x) N
3 - χι) (κ2 - yi) + ( ι - y3) (^2 - ^1) x = x, + (x3 -xx) — + (x2 _ Λι)-^
F"
Les valeurs photométriques M (i, j) an triangle T' (donc du bloc M, symétrisé de T') sont obtenues par transformation inverse F"1 puis interpolation F de la texture de l'image à coder : ou le coefficient M(iγ,jx) est la valeur au point Q(X,Y) dont le transformé P(x,y) est F~ Q)
Iv dénote l'interpolateur utilisé pour calculer la valeur de l'image au point, de coordonnées potentiellement non entières.
La reconstruction f de la texture F est donnée par : où /. dénote la texture interpolée à partir des valeurs du bloc M' , version quantifiée de M.
Cette technique ne peut être appliquée qu'aux seuls triangles d'aire non nulle. Mais de tels triangles ne nécessitent pas de codage de texture par définition. Contrairement à la SADCT (DCT adaptée à une forme), cette transformation ne garantit pas la reconstruction parfaite après transformation inverse, même en l'absence de quantification.
Afin de réduire l'erreur de reconstruction, un facteur d'échelleα est introduit pour le calcul du bloc M; (de taille N, XN() pour chaque triangle i : où :
• E est la partie entière par excès,
• A, est l'aire du triangle i.
En fait, c = 1 réalise un compromis intéressant, qui est plus efficace pour les triangles proche d'un isocèle. Le casa < 1 est utilisé conjointement au pas de quantification pour comprimer le volume d'information.
Une fois le bloc Mi défini pour chaque triangle, une transformation DCT classique leur est appliquée, et les coefficients transformés sont quantifiés selon plusieurs procédés possibles, par exemple une quantification scalaire uniforme, ou encore une quantification incrémentale avec la fréquence du coefficient transformée. L'emploi des matrices de quantification MPEG ou JPEG bien connues est également possible.
On a la relation F(u,v) ≈ F(v,u) car : K j) = /CAO (V«,v,i, = 0,-,N-l) p r définition. Par conséquent, on peut se contenter de ne calculer que les coefficients de la partie inférieure de la matrice transformée. 4.3 codages global de texture
Comme indiqué précédemment, on utilise un maillage hiérarchique uniforme obtenu par division de chaque triangle d'un niveau donné de la hiérarchie en 4 sous-triangles, par insertion de nœuds au milieu des arcs. Le processus est répété iterativement jusqu'à un niveau maximal. Cette hiérarchie de triangles est également représentée et gérée par le codeur sous forme d'un arbre quaternaire (figure 5). Notons que seuls. les triangles inclus dans la zone à coder sont pris en compte. Le procédé de construction du maillage initial de base garanti que tout triangle de la hiérarchie de maillage appartient à la zone à coder.
Le processus de codage par maillage d'une zone d'occultation peut être résumé de la manière suivante :
© un maillage hiérarchique imbriqué est défini sur la zone à coder, par création d'un maillage initial régulier puis sub-di vision itérative des triangles en 4 sous-triangles par insertion de nouveaux nœuds au milieu des arcs. Les valeurs aux nœuds sont calculées pour minimiser l'erreur d'approximation de la zone par le maillage ; © les valeurs des pixels sont approchées par une interpolation affine sur le triangle les contenant à partir de ses valeurs aux nœuds.
Pour chaque triangle de la hiérarchie, on évalue alors l'erreur d'approximation E puis on décide des différents mode de représentation et codage en fonction de 2 seuils : σx et σ2 : φ si E < σx , l'interpolation affine est suffisante sur le triangle ; © si σχ σ2 , il faut utiliser une décomposition plus fine du triangle pour obtenir une bonne approximation, toujours par interpolation affine. © si E>σ , le triangle est texture et on code l'erreur d'interpolation affine en utilisant la DCT. Enfin, sur le maillage le plus fin, on teste la diminution d'erreur apportée par la permutation de diagonale des quadrilatères formés par 2 triangles adjacents. En cas de résultat positif, on valide cette permutation.
Selon les modes de codage choisis pour les différents triangles, on code les différentes informations de la manière suivantes Les valeurs nodales YUN sont d'abord prédites à partir des valeurs des nœuds parents (extrémités de l'arc où on a inséré le nœud courant). La différence entre la valeur du nœud et sa valeur prédite est alors quantifiée.
Enfin, la structure de l'arbre quaternaire (incluant les indicateurs de division ou non des triangles), les indicateurs de permutation de diagonales, les valeurs différentielles nodales de YUN et les coefficients DCT quantifiées sont codés par un codeur arithmétique et insérés dans le train binaire.
5. Résumé des informations codées dans le flux binaire des trames codées par maillage
Chaque groupe de trames encodées en mode maillage entre Νk+1 et Nk+1-1 (où Nk Nk+1 sont respectivement la trame précédente et la trame suivante encodée en mode MPEG) est représenté comme un tout dans le flux binaire.
L'information véhiculée comprend, sous forme codée :
Une entête pour l'ensemble du groupe de trames, incluant entre autres le nombre réel de trames encodées. Les maillages de mouvement (structure et vecteurs déplacement des nœuds) T et Tf k+1.
La texture d'erreur de prédiction ou originale, pour chaque image du groupe.
6. Structure globale du train binaire Le train binaire global consiste en une succession de trames encodées en mode MPEG, et de groupes de trames encodés en mode maillage, comme indiqué figure 8.
L'entête globale du train binaire représentatif de la séquence codée contient entre autres l'indication de codage hybride. La partie du train binaire correspondant à un groupe de trames codées en mode maillage débute par une entête indiquant entre autres le nombre de trame effectivement codées, éventuellement nul.
Les différents flux de données (trains binaires) correspondant respectivement à l'entête globale de la séquence codée, aux images encodées MPEG et aux groupes d'i images encodées en mode interpolé par maillage peuvent être envoyés sur différentes voies indépendantes si besoin. En particulier, le procédé de codage permet le décodage hiérarchique (ou scalable) de la séquence, c'est-à-dire un décodage n'utilisant qu'une partie du débit total.
7. Processus de décodage La figure 9 donne une vue générale du principe du décodage.
Tout d'abord, le décodage de l'entête permet d'activer le décodage hybride.
Ensuite, le décodeur reconnaît pour chaque partie du train binaire correspondant à une entité autonome s'il s'agit d'une trame encodée MPEG-4 ou d'un groupe de trames encodées par maillage. Les trames MPEG-4 sont fournies au module de décodage MPEG-4, et les groupes de trames codées en mode maillage sont fournies au module de décodage par maillage.
7.1 Décodage basé maillage
Tout d'abord, les maillages de mouvement Tb k et Tf (k+ι} pour le groupe d'images I„ Nk<l<Nk+1 sont décodés.
Ensuite, les zones d'occultation pour ces images sont retrouvées selon le même procédé qu'au codeur.
Les pixels en dehors des zones d'occultation sont simplement interpolés à partir des images INk et et des champs de mouvement Tb k et Tf k+1. Le maillage de texture le plus grossier (sommet de la hiérarchie) est retrouvé pour chaque zone d'occultation selon un procédé identique à celui du codeur.
L'information associée au maillage hiérarchique correspondant (indicateur de division de triangles, décisions d'interpolation affine ou de codage DCT, valeur YUV nodale différentielles et coefficients DCT quantifiés) est alors décodée et les valeurs YUy des pixels de ces zones reconstruits.

Claims

REVENDICATIONS
1. Procédé de codage d'images, caractérisé en ce qu'il met en œuvre sélectivement au moins deux modes de codage d'images, optimisant chacun la compression d'au moins une image d'une séquence vidéo en fonction de critères d'optimisation différents.
2. Procédé de codage selon la revendication 1, caractérisé en ce qu'une information sur le choix d'un desdits modes de codage est connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; - information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; - détermination du choix de façon intrinsèque, par le décodeur.
3. Procédé de codage selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape de sélection d'un mode de codage à appliquer à ladite image, parmi au moins : - un premier codage optimisant sensiblement une représentation photométrique d'une image ; un second codage optimisant sensiblement une représentation du mouvement entre au moins deux images.
4. Procédé de codage selon la revendication 3, caractérisé en ce que ledit second codage tient compte d'au moins une image précédente et/ou au moins une image suivante codée à l'aide dudit premier codage.
5. Procédé de codage selon la revendication 4, caractérisé en ce que ledit second codage tient compte d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement précédente codée à l'aide dudit premier codage et/ou d'un champ de vecteurs mouvement calculé à partir de l'image immédiatement suivante codée à l'aide dudit premier codage.
6. Procédé de codage selon la revendication 5, caractérisé en ce que ledit champ de vecteurs mouvement est appliqué à un maillage.
7. Procédé de codage selon l'une quelconque des revendications 5 et 6, caractérisé en ce que lesdits champs de vecteurs mouvement sont utilisés pour déterminer un champ de vecteurs mouvement déduit, associé à une image codée à l'aide dudit second codage.
8. Procédé de codage selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ledit second codage met en œuvre une estimation de mouvement avant, entre une image Itι et une image suivante It2, et une étape de compensation de mouvement dans laquelle les vecteurs mouvement obtenus lors de ladite estimation de mouvement et ne conduisant à aucun retournement sont pondérés par un scalaire k = m/(tl + t2), 0<k<l, de façon à interpoler au moins une image Iml, m appartenant à [tl, t2].
9. Procédé de codage selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ledit second codage met en œuvre une estimation de mouvement arrière, entre une image Iβ et une image précédente Itl, et une étape de compensation de mouvement dans laquelle les vecteurs mouvement obtenus lors de ladite estimation de mouvement et ne conduisant à aucun retournement sont pondérés par un scalaire k' = l-m/(tl + t2), O≤k'≤l, de façon à interpoler au moins une image Im2, m appartenant à [tl, t2].
10. Procédé de codage selon les revendications 8 et 9, caractérisé en ce qu'il met en œuvre une estimation arrière et une estimation avant, de façon à obtenir une image estimée Im valant Im = aEl+(l-a)E2 avec O≤a≤l.
11. Procédé de codage selon l'une quelconque des revendications 3 à
10, caractérisé en ce que ladite étape de sélection repose sur la mise en œuvre d'un sous-échantillonnage de facteur fixé N, une image sur N étant codée à l'aide dudit premier codage.
12. Procédé de codage selon la revendication 11, caractérisé en ce que N est supérieur à 2.
13. Procédé de codage selon l'une quelconque des revendications 11 et 12, caractérisé en ce que N est variable.
14. Procédé de codage selon l'une quelconque des revendications 3 à 11, caractérisé en ce que ledit premier codage met en œuvre une transformation sur des blocs d'images et une prédiction temporelle par blocs.
15. Procédé de codage selon la revendication 14, caractérisé en ce que ledit premier codage est un codage MPEG-4 ou H26L.
16. Procédé de codage selon la revendication 115, caractérisé en ce que les images délivrées par ledit codage MPEG-4 ou H26L comprennent des images de type I (intra) et ou de type P (prédictif).
17. Procédé de codage selon l'une quelconque des revendications 3 à 16, caractérisé en ce que ledit second codage repose sur la mise en œuvre d'un maillage hiérarchique de M niveaux, M étant supérieur ou égal à 1.
18. Procédé de codage selon la revendication 17, caractérisé en ce que ledit maillage est triangulaire.
19. Procédé de codage selon l'une quelconque des revendications 17 et
18, caractérisé en ce qu'il comprend une étape de gestion des zones d'occlusions.
20. Procédé de codage selon l'une quelconque des revendications 1 à
19, caractérisé en ce qu'il produit au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes.
21. Procédé de codage selon la revendication 20, caractérisé en ce que lesdits flux de données appartiennent au groupe comprenant : une entête globale ; des données d'image codées selon ledit premier codage ; - des données d'image codées selon ledit second codage.
22. Procédé de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
23. Dispositif de codage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
24. Dispositif de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
25. Dispositif de décodage selon la revendication 24, caractérisé en ce qu'il comprend des moyens de détermination d'au moins une partie d'un champ de vecteurs et/ou d'au moins une partie des zones d'occlusion, similaires à ceux mis en œuvre lors du codage.
26. Dispositif de stockage d'au moins un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
27. Système de codage, de transmission et/ou de décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 17.
28. Système selon la revendication 27, caractérisé en ce qu'une information sur le choix d'un desdits modes de codage est connue d'un décodeur selon au moins une des techniques appartenant au groupe comprenant : choix prédéfini, connu au codage et au décodage ; - information représentative du choix incluse dans un flux de données comprenant au moins certaines des données d'images codées ; information représentative du choix incluse dans un flux de données indépendant des données d'images codées ; ' - détermination du choix de façon intrinsèque, par le décodeur.
29. Produit programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
30. Support de données portant un programme d'ordinateur pour le codage et/ou le décodage d'un signal d'images codé à l'aide du procédé de codage de l'une quelconque des revendications 1 à 21.
31. Signal de données d'images, caractérisé en ce qu'il comprend des données codées selon le procédé de l'une quelconque des revendications 1 à 21.
32. Signal selon la revendication 31, caractérisé en ce qu'au moins un indicateur indiquant si le procédé selon l'une quelconque des revendications 1 à 21 est ou non activé.
33. Signal selon l'une quelconque des revendications 31 et 32, caractérisé en ce qu'il comprend une donnée précisant la structure des trames, en début de séquence vidéo et/ou dans chaque trame de signal.
34. Signal selon l'une quelconque des revendications 31 à 33, caractérisé en ce qu'une séquence codée à l'aide dudit second codage débute par une entête précisant le nombre de trames codées selon ce second codage.
35. Signal selon l'une quelconque des revendications 31 à 34, caractérisé en ce qu'il comprend au moins deux flux de données, pouvant être transmis sur des voies de transmission indépendantes.
36. Signal selon la revendication 35, caractérisé en ce que lesdits flux de données appartiennent au groupe comprenant : une entête globale ; - des données d'image codées selon ledit premier codage ; des données d'image codées selon ledit second codage.
37. Application du procédé de codage selon l'une quelconque des revendications 1 à 21 à au moins un des domaines appartenant au groupe comprenant : - la télévision numérique ; la vidéo temps réel sur réseau IP ; la vidéo temps réel sur réseau vers les mobiles ; le stockage de données d'images.
EP02701323A 2001-01-26 2002-01-25 Procede de codage et de decodage d'images, dispositifs, et applications correspondants Withdrawn EP1354482A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0101174 2001-01-26
FR0101174A FR2820255A1 (fr) 2001-01-26 2001-01-26 Procedes de codage et de decodage d'images, dispositifs, systemes, signaux et applications correspondants
PCT/FR2002/000322 WO2002060184A1 (fr) 2001-01-26 2002-01-25 Procede de codage et de decodage d'images, dispositifs et applications correspondants

Publications (1)

Publication Number Publication Date
EP1354482A1 true EP1354482A1 (fr) 2003-10-22

Family

ID=8859354

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02701323A Withdrawn EP1354482A1 (fr) 2001-01-26 2002-01-25 Procede de codage et de decodage d'images, dispositifs, et applications correspondants

Country Status (8)

Country Link
US (1) US7512179B2 (fr)
EP (1) EP1354482A1 (fr)
JP (1) JP2004520744A (fr)
KR (1) KR100922510B1 (fr)
CN (1) CN1288914C (fr)
BR (1) BR0206798A (fr)
FR (1) FR2820255A1 (fr)
WO (1) WO2002060184A1 (fr)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8421804B2 (en) 2005-02-16 2013-04-16 At&T Intellectual Property Ii, L.P. System and method of streaming 3-D wireframe animations
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
FR2849329A1 (fr) * 2002-12-20 2004-06-25 France Telecom Procede de codage d'une image par ondelettes, procede de decodage, dispositifs, signal et applications correspondantes
FR2852773A1 (fr) * 2003-03-20 2004-09-24 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images par decomposition mouvement/texture et codage par ondelettes
ATE376699T1 (de) * 2004-01-06 2007-11-15 Nxp Bv Verfahren zur wiedergabe graphischer objekte
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
CN101036390B (zh) * 2004-09-15 2010-06-16 法国电信公司 一种利用可变形网格进行运动估计的方法
US7606303B2 (en) * 2004-09-28 2009-10-20 General Instrument Corporation Method and apparatus to detect anchor frames from digital video streams
ITMI20041971A1 (it) * 2004-10-15 2005-01-15 Uni Degli Studi Brescia Metodo di codifica video scalabile
KR100813963B1 (ko) * 2005-09-16 2008-03-14 세종대학교산학협력단 동영상의 무손실 부호화, 복호화 방법 및 장치
WO2009032255A2 (fr) * 2007-09-04 2009-03-12 The Regents Of The University Of California Procédé, logiciel et dispositifs de traitement de vecteur de mouvement hiérarchique
FR2933565A1 (fr) * 2008-07-01 2010-01-08 France Telecom 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
JP5080406B2 (ja) * 2008-09-05 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 配信装置、端末装置及びシステム並びに方法
JP5112229B2 (ja) * 2008-09-05 2013-01-09 株式会社エヌ・ティ・ティ・ドコモ 配信装置、端末装置及びシステム並びに方法
WO2011126283A2 (fr) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Procédé et appareil destinés à coder une vidéo sur la base d'un incrément de profondeur de bit interne et procédé et appareil destinés à décoder une vidéo de décodage sur la base d'un incrément de profondeur de bit interne
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
KR101750046B1 (ko) * 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
CN106131549B (zh) 2010-04-13 2019-04-05 三星电子株式会社 执行去块滤波的对视频进行解码的设备
WO2019124191A1 (fr) * 2017-12-18 2019-06-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Dispositif de codage, dispositif de décodage, procédé de codage, et procédé de décodage
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
CN109816611B (zh) * 2019-01-31 2021-02-12 北京市商汤科技开发有限公司 视频修复方法及装置、电子设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4383272A (en) 1981-04-13 1983-05-10 Bell Telephone Laboratories, Incorporated Video signal interpolation using motion estimation
GB2279531B (en) * 1993-06-24 1997-07-16 Sony Uk Ltd Motion compensated image interpolation
JP3089165B2 (ja) 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
TW257924B (en) * 1995-03-18 1995-09-21 Daewoo Electronics Co Ltd Method and apparatus for encoding a video signal using feature point based motion estimation
US5654771A (en) * 1995-05-23 1997-08-05 The University Of Rochester Video compression system using a dense motion vector field and a triangular patch mesh overlay model
KR100209793B1 (ko) 1995-10-28 1999-07-15 전주범 특징점 기반 움직임 추정을 이용하여 비디오 신호를 부호화 및 복호화하는 장치
GB9607645D0 (en) * 1996-04-12 1996-06-12 Snell & Wilcox Ltd Processing of video signals prior to compression
JPH11509709A (ja) * 1996-05-06 1999-08-24 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ビデオ画像を分割符号化及び復号する方法とシステム
US6078619A (en) 1996-09-12 2000-06-20 University Of Bath Object-oriented video system
US6668091B1 (en) * 1998-10-02 2003-12-23 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method
FR2794269B1 (fr) * 1999-05-26 2001-08-17 France Telecom Procede de codage d'images, a partition triangulaire et transformation reversible, et procede de decodage correspondant
FR2802377B1 (fr) * 1999-12-09 2002-03-08 France Telecom Procede d'estimation de mouvement entre deux images avec gestion des retournements de mailles et procede de codage correspondant
EP1134702A3 (fr) * 2000-03-14 2003-10-29 Samsung Electronics Co., Ltd. Méthode de traitement de noeuds d'une scène tridimensionnelle et appareil associé
FR2813485B1 (fr) * 2000-08-24 2003-12-26 France Telecom Procede de construction d'au moins une image interpolee entre deux images d'une sequence animee, procedes de codage et de decodage, signal et support de donnees correspondant

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO02060184A1 *

Also Published As

Publication number Publication date
BR0206798A (pt) 2004-02-03
JP2004520744A (ja) 2004-07-08
US20040151247A1 (en) 2004-08-05
KR100922510B1 (ko) 2009-10-20
WO2002060184A1 (fr) 2002-08-01
CN1288914C (zh) 2006-12-06
KR20030081403A (ko) 2003-10-17
FR2820255A1 (fr) 2002-08-02
CN1531824A (zh) 2004-09-22
US7512179B2 (en) 2009-03-31

Similar Documents

Publication Publication Date Title
WO2002060184A1 (fr) Procede de codage et de decodage d&#39;images, dispositifs et applications correspondants
US7733956B1 (en) Method and apparatus for storing base and additive streams of video
FR2764156A1 (fr) Dispositif de pretraitement pour codage mpeg ii
FR2894421A1 (fr) Procede et dispositif de decodage d&#39;un flux video code suivant un codage hierarchique
WO2006074855A1 (fr) Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d&#39;images, signal, programme d&#39;ordinateur et module d&#39;adaptation de qualite d&#39;image correspondants
WO2009006056A2 (fr) Représentation efficace d&#39;une image par des bords et un signal basse résolution
Lee et al. DPICT: Deep progressive image compression using trit-planes
EP1568233A2 (fr) Procedes et appareil de codage de vecteurs de mouvement
EP1969854A1 (fr) Procede de codage et de decodage d&#39;une image ou d&#39;une sequence d&#39;images, dispositifs, programmes d&#39;ordinateur, et signal correspondants
EP0892557A1 (fr) Compression d&#39;images
EP1312221A1 (fr) Procede de calcul d&#39;au moins une image interpolee entre deux images d&#39;une sequence video
WO2002100111A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;images mettant en oeuvre des maillages emboites, programme, signal et applications correspondantes
EP1600003B1 (fr) Procede de codage d&#39;une image video prenant en compte la parite relative a une composante du vecteur de mouvement
EP2368367A1 (fr) Système et procédé interactif pour la transmission sur un réseau bas débit d&#39;images clefs sélectionnées dans un flux video
EP1574068B1 (fr) Procede de codage d&#39;une image par ondelettes et procede de decodage correspondant
EP1181668B1 (fr) Procede de codage/decodage d&#39;images
FR2820256A1 (fr) Procedes de codage et de decodage d&#39;images, dispositifs, systemes signaux et applications correspondantes
EP2160837B1 (fr) Sélection de fonctions de décodage distribuée au décodeur
Meessen et al. WCAM: smart encoding for wireless surveillance
Martinez et al. DVC using a half-feedback based approach
Asbun Improvements in wavelet-based rate scalable video compression
WO2007042539A1 (fr) Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d&#39;images, signal, programme d&#39;ordinateur et module d&#39;adaptation de qualite d&#39;image correspondants
Devaux et al. A flexible video server based on a low complex post-compression rate allocation
Kim et al. Content-based transcoding for dynamic video transmission
Frajka Image coding subject to constraints

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

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1060007

Country of ref document: HK

17Q First examination report despatched

Effective date: 20050316

17Q First examination report despatched

Effective date: 20050316

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

Ref legal event code: WD

Ref document number: 1060007

Country of ref document: HK

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

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

18D Application deemed to be withdrawn

Effective date: 20170801