EP1790169A1 - Method for estimating motion using deformable meshes - Google Patents

Method for estimating motion using deformable meshes

Info

Publication number
EP1790169A1
EP1790169A1 EP05805589A EP05805589A EP1790169A1 EP 1790169 A1 EP1790169 A1 EP 1790169A1 EP 05805589 A EP05805589 A EP 05805589A EP 05805589 A EP05805589 A EP 05805589A EP 1790169 A1 EP1790169 A1 EP 1790169A1
Authority
EP
European Patent Office
Prior art keywords
mesh
nodes
meshes
sub
discontinuity
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
EP05805589A
Other languages
German (de)
French (fr)
Inventor
Nathalie Cammas
Stéphane PATEUX
Nathalie Laurent-Chatenet
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 EP1790169A1 publication Critical patent/EP1790169A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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 present invention relates to digital processing of moving images, and more particularly to motion estimation techniques between successive images of a sequence.
  • the motion is represented by means of a set of values defined on the nodes of a mesh positioned on an image.
  • An interpolation technique is used to deduce from the values stored at the nodes of this mesh, a motion vector at any point of the image. Typically, it can be a type interpolation
  • Lagrange that is to say that the movement vector assigned to a point of the image is an affine function of the vectors calculated for the neighboring nodes.
  • the meshes can also be used to decorrelate the motion and texture information of a video sequence in order to perform an analysis-synthesis coding scheme.
  • Deformable meshes define a continuous representation of a motion field, while the actual motion of a video sequence is usually of a discontinuous nature. Thus, when different planes and objects overlap in a scene, areas of occultation and discoveries appear, generating lines of discontinuities.
  • the challenge is to eliminate this visual degradation and the limit in terms of analysis, by determining the zones in discontinuity.
  • a post-processing technique can be implemented to solve this problem.
  • One of these techniques proceeds by a posteriori correction, and consists of applying the motion vectors such as calculating the products, detecting those in default and then correcting their value.
  • Another of these techniques proceeds iteratively, adding a portion of the expected displacement to the nodes at each iteration so that there is no reversal, and continuing the iterations until the process converges.
  • the post-processing techniques act once the motion estimation has been performed. As a result, the result is suboptimal because the motion vectors are corrected independently of their contribution to the minimization of the prediction error.
  • An improvement consists in optimizing the motion field by taking into account non-inversion constraints during the optimization process. To do this, we adapt the motion estimation by adding to the quadratic error of prediction an augmented Lagrangian allowing to correct the deformation of the meshes as their area approaches from scratch. This last technique makes it possible to determine the optimal solution, but provided that it represents a continuous field. However, the nature of a video sequence is most often discontinuous.
  • Another technique consists in identifying the discontinuity zones in order to restore them, by monitoring the appearance or disappearance of objects.
  • a first estimation of movement is made between two successive instants t, and t 2 without preventing the reversals of meshes.
  • the discontinuity zones are detected.
  • the process then consists in realizing a new movement estimate between I 1 and t 2 , excluding from the optimization criterion the contributions of the faulty zones, containing at least one upturn, in order to minimize the error of prediction between the two images. considered.
  • This reoptimization makes it possible to determine the optimal motion vectors for the continuous zone (admitting a bijection between t 1 and t 2 ) and thus to avoid the disturbance of the values of the motion vectors obtained in the previous optimization, generated by the zones of discontinuities.
  • the faulty areas are subject to a frequency or spatial approximation in image compression, and they are excluded from the video object tracking optimization method.
  • the various known techniques strive to make continuous a field of discontinuous movement, by imposing a movement calculated from the continuous areas in the discontinuous areas. This results in a false movement and a poor temporal prediction of the texture in the discontinuous zones, and therefore an additional cost of coding.
  • An object of the invention is to estimate the motion of a video sequence - AT -
  • the invention thus proposes a motion estimation method in a sequence of animated digital images, comprising the following steps:
  • estimating a first displacement field in a group of images including the reference image by assigning to each point of an image a displacement value calculated from values assigned to the nodes delimiting a mesh of the first mesh at which belongs to that point;
  • each discontinuity zone including at least one mesh fulfilling a mesh deformation criterion in the group of images
  • a second mesh to be applied to the reference image comprising a regular part composed of meshes of the first mesh that do not belong to any discontinuity zone and, for at least one detected discontinuity zone, at least two sub-meshes overlapping in a region including the break line determined in said discontinuity zone, each of the two sub-meshes including respective meshs delimited by nodes including nodes shared with the regular part, located at the edge of the discontinuity zone, and additional nodes not belonging to the regular part, the breaking line being located between the respective nodes of the two sub-meshes shared with the regular part; and estimating a second displacement field in the group of images, assigning to each point in a detected discontinuity zone a displacement value calculated from values assigned to nodes delimiting a selected mesh of the second mesh to which said point belongs, the selected mesh depending on the position of said point with respect to the predetermined break line in said discontinuity zone.
  • the method performs global optimization to determine motion. It is not imposed a priori constraints on the criteria to be optimized, and one also avoids to exclude from the calculation the zones of discontinuity frequently present in the animated images.
  • the motion estimation performed can therefore be optimal, even in the discontinuity zones, provided that the rupture lines are reliably identified.
  • the estimated movement can then be used by a video coder. In this context, it will allow a good prediction of the images of the sequence even in the discontinuity areas of the mesh and will allow the improvement of the coding cost of the video sequence. Parameters representing the estimated motion will then be transmitted to a decoder, or stored in memory for later decoding.
  • the motion estimation method is compatible with the use of hierarchical meshes, with which the displacement field estimates are made ranging from the coarsest hierarchical level (1) to the finest hierarchical level (nivFin) of the meshes .
  • the discontinuity zone is preferably detected as a connected set of meshes of the finest hierarchical level fulfilling the mesh deformation criterion. It is then defined at the higher hierarchical levels as being composed of at least one mesh including at least one mesh respectively of the finest hierarchical level fulfilling the criterion of mesh deformation.
  • the two sub-meshes of the second mesh are generated starting at the level of nivFin, and the meshes of the higher levels are then generated during a progressive recovery in the hierarchy.
  • Raising from a hierarchical level n to an immediately higher hierarchical level n-1 includes the following steps for each of the sub-meshes and for 1 ⁇ n ⁇ nivFin: / a / integrating each mesh of said sub-mesh previously defined at level n into a new mesh of said sub-mesh generated at level n-1;
  • n 1 n;
  • said new mesh of the level ne-1 can not be completed with meshes of said sub-mesh already generated at level n 1 , generating at level n 1 at least one new mesh of said sub-mesh to complete said new mesh of level no-1; and he if n 1 ⁇ nivFin, increase n 1 by one unit and repeat from the step here.
  • respective depth values are assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh.
  • the value assigned to the additional nodes of a sub-mesh generated for a detected discontinuity zone is a function of the position of said sub-mesh with respect to the breaking line determined in said zone.
  • the step of estimating the second displacement field comprises for each point of an image belonging to a mesh of the regular part of the second mesh and to at least one mesh of a sub-mesh, the calculation for each mesh including this point of a weighted sum of the depth values respectively assigned to the nodes delimiting said mesh, and the selection, for the assignment of a displacement value to said point, of the mesh for which the calculated weighted sum is maximum.
  • a motion estimation device in an animated digital image sequence comprising means adapted to the implementation of a method as defined above, as well as to a computer program to be installed in a moving image processing apparatus, including instructions for implementing the steps of a motion estimation method as defined above during execution of the program by a computing unit of said apparatus.
  • the invention also proposes a video encoder, comprising motion estimation means in a sequence of animated digital images and means for constructing an output stream including motion parameters produced by the motion estimation means, in wherein the motion estimation means is arranged to operate according to a method as defined above.
  • Still another aspect of the invention relates to a signal representative of a sequence of animated digital images, comprising a representation of motion parameters obtained by executing a method as defined above, as well as to a support of recording, on which is recorded such a signal.
  • Motion parameters include, for a group of images including a reference image:
  • First motion parameters indicating, in a first mesh to be applied to the reference image, meshes of which at least one discontinuity zone is composed in the group of images;
  • Second motion parameters for positioning at least one break line in each discontinuity zone.
  • the motion parameters represented in the signal can be supplemented by parameters indicating depth values respectively assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh.
  • the invention is also apparent on the motion decoding side realized in a video decoder or other moving image processing apparatus.
  • the invention thus proposes a motion decoding method in a sequence of animated digital images, using image meshes comprising meshs delimited by nodes. This process comprises the following steps:
  • a motion decoding device in a sequence of animated digital images, comprising means adapted to the implementation of a motion decoding method as defined above, as well as a computer program to be installed in a moving image processing apparatus, comprising instructions for implementing the steps of a motion decoding method as defined above during execution of the program by a computing unit of said apparatus.
  • the invention also proposes a video decoder, comprising motion decoding means and synthesis means for constructing a sequence of animated digital images by taking into account a displacement field generated by the motion decoding means, which are arranged to operate according to a motion decoding method as defined above.
  • FIG. 1 is a diagram illustrating the hierarchical mesh of an image
  • FIG. 2 is a diagram illustrating the phenomenon of cell reversal
  • FIG. 3 is a flowchart of a motion estimation method according to the invention.
  • FIGS. 4 to 7 are diagrams illustrating a remeshing process used in one embodiment of the invention
  • FIG. 8 is a diagram illustrating the definition of a discontinuity zone in higher levels of a hierarchical mesh once it has been determined at the finest level
  • FIGS. 9a-d, 10a-d, 11a-d and 12a-c are diagrams illustrating the generation of the mesh in higher levels of a hierarchical mesh in one embodiment of the invention.
  • FIGS. 13 and 14 are simplified block diagrams of a video encoder and a video decoder according to the invention.
  • the values l (x, y, t) associated with the pixels are typically values of luminance.
  • the calculation is performed on an estimation support ⁇ . It consists in determining the displacement field D (x, y, t) which minimizes a functional ⁇ (t) of the form:
  • ⁇ (t) ⁇ p (l (xd x , yd yi t-1), l (x, y, t)) (1)
  • weights W 1 (X, y, t) represent coordinates of the point (x, y) expressed with respect to the position of the nodes i in the image at time t.
  • a convenient mesh is the triangular mesh, in which each point (x, y) is considered to belong to a triangle whose vertices are nodes i, j, k of the respective coordinate mesh (X j [t], y, [ t]),
  • ⁇ ⁇ Jik [t] xj [t] .y k [t] - x k [t] .yj [t] + x k [t] .y, [t] - X
  • [t] is a vector product associated with the triangle at time t.
  • the calculation is conducted on a group of consecutive images of the sequence, typically of the order of a dozen images.
  • the displacement vectors D (X i [I], y f [1], 1) are estimated by minimizing the functional ⁇ (1), for example by applying a Gauss-Seidel gradient descent method or the like.
  • Y j [I]) (X j [O], Y j [O]) + D (X 1 [I ] 1 y, [1], 1).
  • the estimation of the movement is advantageously carried out using a hierarchical mesh, which, in a manner known per se, ensures a better convergence of the system.
  • a certain fineness of mesh is necessary to represent faithfully the movement within the image. But in case of strong movement, the previous minimization technique may not converge if it is applied directly to a fine mesh. In addition, the use of very fine meshes can cause instability of the system due to too many parameters.
  • Figure 1 shows an example of hierarchical mesh.
  • the hierarchical representation consists of several levels of representation.
  • the lowest level 30 (level 0 in the figure) has a coarse field, with only three nodes to define the mesh. Going towards the finer levels 32, 33, 35, the field becomes denser and the number of nodes of the mesh grows.
  • the quality of movement varies with the levels, the low level 30 representing the dominant movement of the scene, and the fine levels refining the dominant movement to represent the local movements.
  • the number of levels of the hierarchical mesh is an adjustable parameter of the estimation phase, it can vary according to the sequence to be estimated.
  • the hierarchical mesh motion estimation technique we generate several levels of hierarchical mesh on the images, we start by estimating the movement on the coarser level 30, then we go to the next level by starting the gradient descent to from displacement values to the nodes deduced from those estimated at the previous level: the nodes common to the two levels receive initial displacement vectors equal to those which have just been estimated, and the nodes added at the finer level receive calculated initial displacement vectors by spatial interpolation. At the end of the iterations, it is the displacement vectors estimated at the finest level that are quantized to be transmitted to the decoder.
  • the hierarchical mesh motion estimation technique is combinable with a multi-resolution estimation technique, in which we work on a pyramid of filtered and decimated images constructed from the original images. Motion estimation in a hierarchical mesh level is then performed based on sampled images at a suitable resolution level.
  • a general problem of meshing motion estimation techniques is that of mesh reversals. This problem is illustrated in FIG. 2, where we see the mesh of an image at two successive instants with, on the left part of the figure, an example of displacement vectors estimated between these two instants at the nodes i, j, k forming the vertices of a triangle elementary of the mesh.
  • the reversal of this triangle results from the fact that the node k crosses the line passing through the nodes i and j.
  • the inversion of a triangle i, j, k corresponds to a change of sign of the vector product% - x j k [t].
  • Such artifacts greatly disrupt motion estimation. They are usually due to relative movements of objects in different shots of the filmed scene.
  • the illustration in Figure 2 is very simplified because only one triangle turns over (passing through a triangle of zero area). In practice, the overlays most often occur on discontinuity areas having a certain extent in the image.
  • the mesh With a hierarchical mesh, the mesh reversals naturally have a greater probability of occurring in the fine levels than in the coarse levels.
  • the invention uses a tracking of the discontinuity zones and the rupture lines that they contain.
  • a remeshing of the image is done in the discontinuity zones, using multiple sub-meshes, anchored to the initial mesh on both sides of the break lines.
  • the multiple sub-meshes generated in a discontinuity zone extend beyond the break line, out of which they overlap each other. They may even overflow outside the discontinuity area.
  • an interpolation formula such as (2) reference is made to the nodes of one of the sub-meshes, selected depending on the position of the point with respect to the break line or lines.
  • the sub-meshes make it possible to account for different planes present in the sequence of images, their use depending on the objects which appear or disappear in the scene.
  • the invention makes it possible to manage the zones of discontinuity of movement without putting them in default or rejecting them at the time of the coding.
  • the principle is to cut the mesh locally where the discontinuity is created, and transform the mesh into a so-called "non-manifold" mesh.
  • a non-manifold mesh is a mesh whose edges can be shared by more than two meshes. It allows to estimate the motion in the video sequence and to model a discontinuous motion field.
  • One advantage is that it is thus possible to take into account the discontinuity zones at the time of coding in the same way as the continuous zones.
  • Figure 3 shows a flowchart of a motion estimation method according to the invention.
  • the first step 9 consists in defining the initial mesh on an image of a video sequence to be encoded. Then in step 10, we make a first estimation of the motion field in a group of T consecutive images. This estimation is performed conventionally using a preferably hierarchical mesh, for example according to the method explained above. During this calculation, some triangular meshes can turn over or deform too strongly.
  • the method comprises a step 11 of detecting the discontinuity zones in the initial mesh.
  • the discontinuity zones each consist of a connected set of degenerate meshes defined at the finest hierarchical level.
  • the detection can be generalized to include in a discontinuity zone a triangular mesh i, j, k whose area (equal to half of the absolute value of the vector product 71 M kM) becomes close to zero, that is to say say less than a predefined threshold, for at least one moment t.
  • the detection of degenerate triangles, to be included in a discontinuity zone may more generally comprise a study of the deformation of the triangles between the image at time 0 and the image at time T. If the deformation of a mesh exceeds a certain threshold, this mesh is considered degenerate.
  • a related set of degenerate meshes forms an area of discontinuity. This is the area where a discontinuity appeared in the movement. It is defined at the finest hierarchical level, and the triangular meshes that compose it (or the nodes that border it) are part of the parameters that will be transmitted to the decoder.
  • the contour of the discontinuity zone can also be represented by splines.
  • step 11 If no discontinuity zone is detected in step 11 (test 12), the motion estimation method ends in step 20 where the motion parameters are output which will be quantized to be transmitted to the video decoder.
  • these parameters are those obtained in step 10, to which is added an indicator signaling that no discontinuity zone has been detected (continuous movement).
  • a break line determination is first made in each detected discontinuity area (step 13).
  • a break line is positioned on the edge of an object that caused a discontinuity in the area. The following is the case of a single break line in a discontinuity zone. It will be observed that the process is generalizable to several fault lines within the same zone.
  • the outline of the object is oriented to define an inner region (foreground region) and an outer region (background region).
  • Several methods known in themselves, are applicable to find this contour in step 13. If we already have segmentation masks of the images of the sequence, the contour is extracted from these masks. However, for most sequences, masks are not available. segmentation.
  • the image can be pre-segmented by a "mean shift” technique such as that described by Dorin Comaniciu and Peter Meer in “Mean Shift: A Robust Approach Toward Feature Space Analysis", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 5, May 2002, pp. 603-619. Then, a succession of dilations and morphological erosions make it possible to eliminate the small segmented regions. The outline of the object is finally extracted from the segmented images.
  • the salient point detection technique can also be applied in step 13.
  • the salient points are essentially positioned on the contours of the objects. Since the list of highlights does not define a complete contour, it is necessary to add a contour refinement step from a chaining of these points.
  • the highlights of an image I correspond to the pixels of I belonging to high frequency regions. To detect them, we can use wavelet theory.
  • the wavelet transform is a multi-resolution representation of the image that allows it to be expressed at different resolutions 1/2, 1/4, etc.
  • This tree is based on the so-called "Zerotree” approach, known in the field of image coding. It allows to set up a saliency map of size 2 k + r x 2 l + r reflecting the importance of each coefficient of wavelets at resolution 2 r .
  • a coefficient having a high saliency corresponds to a region of Im having high frequencies.
  • an important module wavelet coefficient at resolution 2 r corresponds to a contour of the image A r + 1 .lm in a particular direction (horizontal, vertical or
  • each of the wavelet coefficients at resolution 2 r corresponds to a spatial area of size 2 ⁇ "r * 2 ⁇ r in the image Im, from the constructed saliency map choose from the 2 ⁇ r * 2 ⁇ r pixels Im, the most representative pixel of this area.
  • step 13 the break lines are determined in each of the images of the group of images. The positions of these lines will be part of the movement parameters delivered in step 13 to be communicated to the decoder.
  • step 14 of the method the discontinuity areas that were detected in step 11 are subject to non-manifold remeshing. This remeshing is done first at the finest hierarchical level.
  • Figure 4 shows an example of discontinuity zone Z, here composed of eight adjacent meshes of the initial triangular mesh. This mesh consists of equilateral triangles when it is defined on the first image of the group. Fig. 4 shows an L-shaped break line which was determined in zone Z at step 13.
  • the new mesh adopted in step 14 includes a regular part composed of the triangles of the initial mesh which do not belong to any zone of discontinuity.
  • each zone of discontinuity Z containing a break line L two sub-meshes are generated attached to the regular part along the edges of the zone of discontinuity Z.
  • Each of these two sub-meshes is assigned to one side of the line. L, and it includes the nodes of the initial mesh located on this side along the edges of the zone of discontinuity Z.
  • the triangles in broken lines in FIGS. 5 and 6 thus represent, respectively, two sub-meshes that can be generated in the discontinuity zone Z of FIG. 4.
  • the nodes of the initial mesh denoted a, b, c , d, e, f in Fig. 4 belong to the "left" sub-mesh (i.e., attached to the initial mesh on the left side of the break line L, the left and right sides being defined relative to the orientation determined for the break line L) shown in FIG. 5, and the nodes of the initial mesh denoted a, f, g, h, i, j in FIG. 4 belong to the "right" sub-mesh shown in FIG. 6.
  • nodes a and f Some of the nodes of the initial mesh that border the zone of discontinuity are common to the two sub-meshes (here the nodes a and f).
  • the left sub-mesh has eight new nodes a'-h 1 and sixteen new triangles (a.a'.h 1 ), (a, b, a '), (b, b ', a'), Ob 1 Cb 1 ), (c, d, b '), (d.c'.b 1 ), (dec 1 ), (e.d'.c 1 ), (efd 1 ) , (f'e'.d 1 ), (d ⁇ e ⁇ f), (c'.d'f), (Cf, g '), (b'.c'.g 1 ), (a') .b'.g 1 ) and (a'.g'.h 1 ).
  • the right sub-mesh has eight new nodes "-h” and sixteen new triangles (a, h ", a"), (j a > a ") > (i, j , a "), (i.a '-. b"), (i, b “, c"), (hic “), (h, c", d “), (ghd"), (fgd "), (f, d ", e"), (c “, e", d “), (c", f, e "), (b'T, c"), (b-.g'T), (a ", g", b ") and (a", h ", g").
  • the additional nodes generated in the new sub-meshes may have positions in the first image merged with those of nodes of the initial mesh. They have been shown offset in Figures 5 and 6 to facilitate the reading of the drawing.
  • border nodes which can move only with the initial mesh.
  • These border nodes can be of three types:
  • - left border nodes serving as a basis for the only left sub-mesh; these are the nodes b, c, d and e in figures 4-6;
  • the break line L passes through a triangle having at least one vertex edge node, this node is identified as being left or right border depending on its position relative to the oriented line.
  • the nodes on the edge traversed by the line L can be identified as left and right edge nodes and the third node as shared edge node (as in the figures 4-6).
  • Another possibility is to extend the break line by extrapolation until it encounters an edge of the triangle, and identify the nodes on that edge as shared border nodes and the third node as the left border node or right according to its position relative to the oriented line.
  • the new meshes extend beyond the zone of discontinuity Z as shown in FIGS. 5 and 6. Meshes of the regular part and meshes of the sub -maillages overlap then.
  • the adaptation to non-manifold meshes used here is done by assigning new nodes of each sub-mesh a value of depth z, positive or negative, assigned to this sub-mesh.
  • a value z> 0 generally corresponds to an object in the foreground, and a value z ⁇ 0 to an object in the background.
  • the sign of z is given by the orientation of the rupture line L.
  • the object in the foreground, whose contour corresponds to the rupture line, is positioned relative to the orientation of the line L (for example to right of the line if we move in the direction of its orientation).
  • the hatched portion in FIG. 7 belongs to the object whose break line L constitutes the contour.
  • This value z at the nodes makes it possible to calculate at each point of a mesh a value of z by an interpolation technique (affine for example).
  • an interpolation technique affine for example.
  • a value z is calculated at this point for these different meshes, and these values are compared to retain the mesh giving the largest value z. This helps to promote objects in the foreground relative to the background.
  • break lines When several break lines appear in a discontinuity area, there are more than two planes in the corresponding portion of the image sequence.
  • the detection of break lines makes it possible to position the different planes, and they are assigned differentiated z values.
  • the preceding method then makes it possible to select the relevant mesh for the reconstruction of each point of the image.
  • the z-values at the nodes are positioned so as to reconstruct at best the image for which the meshes were introduced.
  • the positioning can be done using an iterative Condition Mode (ICM) algorithm, seeking to minimize the mean squared error between the initial image and the reconstructed image.
  • ICM iterative Condition Mode
  • the z values that have been determined for the corresponding sub-meshes are part of the parameters of the movement to be transmitted to the decoder.
  • the discontinuity that represents a line of rupture L is raised in the higher levels until its disappearance at a certain level.
  • the zone of discontinuity defined on this level is remailled taking into account the remaillage of the lower level to preserve the hierarchy of the mesh.
  • the rise of the discontinuity in the hierarchy comprises two steps: determining the discontinuity zone for each level, and determining the constraints imposed on the nodes at the edge of the zone.
  • nivFin be the finest level of the mesh to which remeshing was originally done. If, for a level n less than or equal to nivFin, the zone of discontinuity has been detected, the discontinuity zone at level n-1 is defined by the set of parent meshes of the meshes of the zone of occlusion of level n, as shown in Figure 8.
  • the constraint of the border nodes shared by the two sub-meshes is raised in the hierarchy, for example according to the following algorithm. For a node m constituting a shared border node at level n,
  • the creation of a new mesh for a level of hierarchy n-1 lower than a level n which has already been re-worked can be of three types:
  • a 1 is created at level n-1.
  • the new mesh A 1 BC of the level n-1 takes for meshes girls the meshes A'E'D ', E 1 CF, D'FB and E'D'F of the level n, where
  • This case is similar to case 1 /, except that node C becomes a shared border node.
  • C and B for example
  • node A ' is created.
  • the new mesh A 1 BC of the level n-1 has for meshes girls the meshes A'E'D ', E 1 CF, D'FB and E 1 D 1 F of the level n, whose mesh A ⁇ 'D 1 added during remeshing at level n.
  • C and A are border nodes, and node B 1 is created.
  • the new mesh AB'C of level n-1 has for meshes girls AED, ECF 1 , EF 1 D and DF 1 B 'at level n. / Figures 1 1a-d: the break line L does not completely cross the mesh ABC level n-1.
  • n it is artificially extended either to the node C opposite to the edge EF that it passes through entering the mesh, which brings to the case of Figures 10a-d, or up to an edge (EF on Figure 1 1a) opposite to the incoming edge.
  • E and F are then edge nodes shared at level n.
  • the line of rupture L is prolonged towards a node or edge (case similar to what one has just seen for the finer level n).
  • the contour has been extended on the node C.
  • C and B are edge nodes, and the node A 1 is created.
  • the mesh A 1 BC of the level n-1 has for meshes girls
  • a 1 ED ', ED'F, EFC and D'FB at level n The mesh A 1 ED 'falls under level n even if it was not generated during the remeshing at level n, but it must be at the top level n-1.
  • the border nodes are C and A, and the B 'node is created.
  • the ACB 'mesh of level n-1 has for meshes girls AED 1 ECF, EDF and DFB 1 at level n. Note that in this case, the ECF mesh of the level n is shared by the meshs A 1 BC and ACB 1 .
  • Figures 12a-c show the case of the disappearance of the break line.
  • the break line was extended to nodes B and C, which became shared edge nodes.
  • the remeshing introduced for the right side the nodes E 'and D', and for the high side the node F 1 .
  • the contour is entirely contained in the mesh ABC.
  • the node A ' is introduced to form the mesh A'BC.
  • no knot is introduced, the remeshing producing the initial mesh ABC.
  • the mesh A 1 BC is forced to move with the initial mesh ABC, so that the points A and A 'at the level n-1 are virtually the same.
  • a ' exists and is defined by its barycentric coordinates in ABC of level n-1.
  • the remeshing process is compatible with a geometric multigrid approach, sometimes used for motion estimation in order to obtain a weighting between successive hierarchical level nodes that takes into account the deformation of the lower mesh.
  • the weighting of the nodes can be done as follows: (i) if the end node is a direct child of a coarse node, the weighting is 1; (ii) if the end node is derived from several coarse nodes, the weighting is the average of the barycentric weights of the end node relative to the coarse nodes.
  • the motion is reestimated on the group of images in step 15.
  • This reestimation can be performed as in step 10, for example using the formulas (1) to (6) above, with a precaution for the pixels likely to be reconstructed by several triangles of the new mesh. This ambiguity exists because some triangular meshes of the new mesh overlap.
  • a visibility mask is defined at each time t.
  • this mask corresponds to the hatched portion in FIG. 7. It consists of the points which, at time t, are inside the discontinuity zone (that is to say do not belong to any mesh of the initial mesh resumed in the new mesh) and are, for example, to the right of the L-oriented break line determined for this time t.
  • the points inside the discontinuity zone are likely to be reconstructed either by a triangle of the right sub-mesh or by a triangle of the left sub-mesh.
  • the triangle i, j, k retained for the application of formulas (3) - (5) at such a point is that of the right sub-mesh if the point belongs to the mask and that of the left sub-mesh if not.
  • the gradient descent can be started by initializing the displacement vectors at the retained nodes of the initial mesh to the values that were obtained during the first estimation 10.
  • the minimization of the functional (1) does not provide a displacement vector for such a node.
  • the displacement vector is then regenerated by interpolation of those obtained for neighboring nodes of the same sub-mesh.
  • the motion parameters delivered in step 20 when the image group includes at least one discontinuity zone include:
  • FIG. 13 A simplified block diagram of an encoder embodying the invention is presented in FIG. 13. Such an encoder carries out a motion estimation on a digital image sequence of a video stream (module 36), and of on the other hand, to a texture coding (module 37) which can be implemented according to various techniques known in the field of video coding.
  • the module 36 operates according to the method described with reference to FIG. 3.
  • the parameters of movement (a) - (d) that it delivers are coded by the module 38. before being inserted into the digital output stream of the encoder by the module 39, with the texture encoding information.
  • a signal carrying this output stream can be transmitted or broadcast over a communication channel. It can also be recorded on a recording medium such as an optical disc, a magnetic tape, etc.
  • a video decoder compatible with such encoder receives an input stream similar to the output stream of the encoder, and separates in this stream the motion parameters and the texture information (module 40).
  • Modules 41 and 42 respectively process this information to decode motion and texture in the successive image groups of the encoded video sequence.
  • the decoded movement and texture are processed by a synthesis module 43 to reconstruct the video images.
  • the operation of the motion decoding module 41 is as follows. Groups of images are first identified in the sequence, as in a conventional decoder. From the initial mesh fixed by convention, the module 41 locates the discontinuity zones according to the information (a) above. He then places the break lines in these discontinuity zones according to their location in the first image of the group (b). The module 41 then regenerates the non-manifold mesh by remeshing the discontinuity zones in accordance with the step 14 previously described with reference to FIGS. 3 to 12. The quantized displacement vectors assigned to the nodes of the non-manifold mesh are indicated in FIG. the coded stream.
  • the module 41 identifies the triangular mesh used to synthesize the displacement vector of each point according to the same process as that used by the encoder in step 15 described above, from the position of the point with respect to the break line (b) (if this point is in a discontinuity zone) and from the z-values indicative of depth (c).
  • the encoder according to FIG. 13, or the decoder according to FIG. 14, can be made in the form of a specific electronic circuit. However, it will often be done as software.
  • the steps of the methods described above are then controlled by instructions of a program executed by a processor of the video encoding or decoding apparatus.
  • this apparatus may for example be a computer, a video camera, a workstation of a television relay, a recording apparatus, etc.
  • a recording apparatus it may for example be a computer, a recording medium reader, a television signal receiver, an image display, etc.

Abstract

The invention concerns a method which consists in analyzing a field of motion of images, estimated by using a first mesh, to detect a faulty area in the first mesh, and in locating a rupture line in said area; then generating a second mesh including a faultless part consisting of meshes of the first mesh outside the faulty area and two sub-meshes which overlap in a region including the rupture line. Each of the two sub-meshes includes respective meshes delimited by nodes including nodes shared with the faultless part, located at the boundary of the faulty area, and additional nodes not belonging to the faultless part, the rupture line being located between the respective nodes of the two sub-meshes shared with the faultless part. Said second mesh is used to finally estimate the field of motion in the group of images concerned.

Description

PROCEDE D'ESTIMATION PE MOUVEMENT DANS DES SEQUENCES PE MOTION ESTIMATION METHOD IN SEQUENCES
D'IMAGES ANIMEES A L'AIDE DE MAILLAGES DEFORMABLES, CODEURIMAGES ANIMATED USING DEFORMABLE MESHING, ENCODER
ET DECODEUR VIDEO METTANT EN ŒUVRE LE PROCEDEAND VIDEO DECODER IMPLEMENTING THE METHOD
La présente invention concerne le traitement numérique des images animées, et plus particulièrement les techniques d'estimation de mouvement entre images successives d'une séquence.The present invention relates to digital processing of moving images, and more particularly to motion estimation techniques between successive images of a sequence.
La plupart des schémas de codage vidéo (notamment MPEG-1 ,2,4 et ITU-T H26x) utilisent une représentation du mouvement à l'aide de translations sur un partitionnement en blocs des images. Ce modèle de mouvement génère de nombreux problèmes. Il est en grande partie à la source de l'effet de bloc souvent visible au décodage avec les schémas de codage vidéo actuels, et il offre un modèle de représentation peu adapté à certains types de mouvement (mouvements de zoom, de rotation, ...).Most video coding schemes (notably MPEG-1, 2,4 and ITU-T H26x) use a representation of the movement using translations on block partitioning of the images. This model of movement generates many problems. It is largely the source of the blocking effect often seen in decoding with current video coding schemes, and it offers a model of representation that is not well adapted to certain types of movement (zoom, rotation, etc.). .).
D'autres modes de représentation du mouvement ont été proposés afin de pallier ces défauts. Parmi ceux-ci, on trouve notamment les maillages actifs.Other modes of representation of the movement have been proposed in order to overcome these defects. These include active meshes.
Dans ce mode de représentation, le mouvement est représenté au moyen d'un ensemble de valeurs définies sur les nœuds d'un maillage positionné sur une image. Une technique d'interpolation est utilisée afin de déduire à partir des valeurs stockées aux nœuds de ce maillage, un vecteur mouvement en tout point de l'image. Typiquement, il peut s'agir d'une interpolation de typeIn this representation mode, the motion is represented by means of a set of values defined on the nodes of a mesh positioned on an image. An interpolation technique is used to deduce from the values stored at the nodes of this mesh, a motion vector at any point of the image. Typically, it can be a type interpolation
Lagrange, c'est-à-dire que le vecteur mouvement affecté à un point de l'image est une fonction affine des vecteurs calculés pour les nœuds avoisinants.Lagrange, that is to say that the movement vector assigned to a point of the image is an affine function of the vectors calculated for the neighboring nodes.
On peut ainsi substituer le mode de compensation en mouvement d'un codeur vidéo type MPEG ou autre par un mode de compensation en mouvement par maillages. On peut également utiliser les maillages afin de décorréler les informations de mouvement et de texture d'une séquence vidéo afin de réaliser un schéma de codage de type analyse-synthèse.It is thus possible to substitute the mode of motion compensation of an MPEG or other type of video encoder with a compensation mode in motion by meshes. The meshes can also be used to decorrelate the motion and texture information of a video sequence in order to perform an analysis-synthesis coding scheme.
Ces maillages actifs offrent à la fois des modèles de mouvement plus riches et la possibilité de gagner en efficacité de codage grâce à un codage plus efficace de l'information de mouvement, notamment lorsque des maillages hiérarchiques sont utilisés (voir par exemple WO 00/14969).These active meshes offer both richer motion models and the possibility of gaining coding efficiency through more efficient coding of motion information, especially when meshes hierarchical are used (see for example WO 00/14969).
Les maillages déformables définissent une représentation continue d'un champ de mouvement, alors que le mouvement réel d'une séquence vidéo est généralement de nature discontinue. Ainsi, lorsque différents plans et objets se recouvrent dans une scène, des zones d'occultation et de découvrements apparaissent, générant des lignes de discontinuités.Deformable meshes define a continuous representation of a motion field, while the actual motion of a video sequence is usually of a discontinuous nature. Thus, when different planes and objects overlap in a scene, areas of occultation and discoveries appear, generating lines of discontinuities.
Modéliser de tels artefacts par un maillage global, par opposition aux maillages segmentés selon les objets vidéo constitutifs de la scène, constitue une difficulté qui ne peut pas être résolue sans modification du modèle de représentation. L'enjeu est d'éliminer cette dégradation visuelle et la limite en termes d'analyse, en déterminant les zones en discontinuité.Modeling such artefacts by a global mesh, as opposed to segmented meshes according to the video objects constituting the scene, constitutes a difficulty that can not be solved without modifying the representation model. The challenge is to eliminate this visual degradation and the limit in terms of analysis, by determining the zones in discontinuity.
Classiquement, ce type de perturbation du champ réel de mouvement entraîne des retournements de mailles dans sa représentation maillée.Classically, this type of disturbance of the real field of movement results in reversals of meshes in its mesh representation.
Une technique de post-traitement peut être mise en œuvre pour résoudre ce problème. L'une de ces techniques procède par correction a posteriori, et consiste à appliquer les vecteurs de mouvement tels que le calcul les produit, à détecter ceux en défaut puis à corriger leur valeur. Une autre de ces techniques procède itérativement, en ajoutant une partie du déplacement escompté aux nœuds à chaque itération de façon qu'il n'y ait pas de retournement, et en poursuivant les itérations jusqu'à convergence du processus.A post-processing technique can be implemented to solve this problem. One of these techniques proceeds by a posteriori correction, and consists of applying the motion vectors such as calculating the products, detecting those in default and then correcting their value. Another of these techniques proceeds iteratively, adding a portion of the expected displacement to the nodes at each iteration so that there is no reversal, and continuing the iterations until the process converges.
Les techniques de post-traitement agissent une fois que l'estimation de mouvement a été réalisée. En conséquence, le résultat est sous-optimal car les vecteurs de mouvement sont corrigés indépendamment de leur contribution à la minimisation de l'erreur de prédiction.The post-processing techniques act once the motion estimation has been performed. As a result, the result is suboptimal because the motion vectors are corrected independently of their contribution to the minimization of the prediction error.
Une amélioration consiste à optimiser le champ de mouvement en prenant en compte des contraintes de non-retournement au cours du processus d'optimisation. Pour cela, on adapte l'estimation de mouvement en ajoutant à l'erreur quadratique de prédiction un lagrangien augmenté permettant de corriger la déformation des mailles lorsque leur aire s'approche de zéro. Cette dernière technique permet effectivement de déterminer la solution optimale, mais à condition que celle-ci représente un champ continu. Cependant, la nature d'une séquence vidéo est le plus souvent discontinue.An improvement consists in optimizing the motion field by taking into account non-inversion constraints during the optimization process. To do this, we adapt the motion estimation by adding to the quadratic error of prediction an augmented Lagrangian allowing to correct the deformation of the meshes as their area approaches from scratch. This last technique makes it possible to determine the optimal solution, but provided that it represents a continuous field. However, the nature of a video sequence is most often discontinuous.
Une autre technique, introduite dans WO 01/43446, consiste à identifier les zones de discontinuité afin de les restaurer, en surveillant l'apparition ou disparition d'objets. Une première estimation de mouvement est effectuée entre deux instants successifs t., et t2 sans empêcher les retournements de mailles. En repérant les retournements à l'issue de ce premier calcul à l'aide de critères géométriques, les zones de discontinuité sont détectées. Le processus consiste alors à réaliser une nouvelle estimation de mouvement entre I1 et t2, en excluant du critère d'optimisation les contributions des zones en défaut, contenant au moins un retournement, afin de minimiser l'erreur de prédiction entre les deux images considérées. Cette réoptimisation permet de déterminer les vecteurs de mouvement optimaux pour la zone continue (admettant une bijection entre t., et t2) et d'éviter ainsi la perturbation des valeurs des vecteurs mouvements obtenues dans l'optimisation précédente, générée par les zones de discontinuités. Les zones en défaut font l'objet d'une approximation fréquentielle ou spatiale en compression d'images, et elles sont exclues du procédé d'optimisation en suivi d'objets vidéo.Another technique, introduced in WO 01/43446, consists in identifying the discontinuity zones in order to restore them, by monitoring the appearance or disappearance of objects. A first estimation of movement is made between two successive instants t, and t 2 without preventing the reversals of meshes. By identifying the reversals at the end of this first calculation using geometric criteria, the discontinuity zones are detected. The process then consists in realizing a new movement estimate between I 1 and t 2 , excluding from the optimization criterion the contributions of the faulty zones, containing at least one upturn, in order to minimize the error of prediction between the two images. considered. This reoptimization makes it possible to determine the optimal motion vectors for the continuous zone (admitting a bijection between t 1 and t 2 ) and thus to avoid the disturbance of the values of the motion vectors obtained in the previous optimization, generated by the zones of discontinuities. The faulty areas are subject to a frequency or spatial approximation in image compression, and they are excluded from the video object tracking optimization method.
Les différentes techniques connues s'efforcent de rendre continu un champ de mouvement discontinu, en imposant un mouvement calculé à partir des zones continues dans les zones discontinues. Il en résulte un mouvement faux et une mauvaise prédiction temporelle de la texture dans les zones discontinues, et donc un surcoût de codage.The various known techniques strive to make continuous a field of discontinuous movement, by imposing a movement calculated from the continuous areas in the discontinuous areas. This results in a false movement and a poor temporal prediction of the texture in the discontinuous zones, and therefore an additional cost of coding.
La technique qui vise à exclure les zones discontinues n'impose pas de mouvement dans ces zones et les code différemment. Cependant, dans le cas d'un nombre important de zones discontinues, ce sont autant de zones à coder différemment, impliquant un surcoût de codage des en-têtes de ces flux. De plus, dans le cadre d'un codage échelonnable (scalable) cette technique est relativement coûteuse.The technique that aims to exclude discontinuous areas does not impose movement in these areas and code them differently. However, in the case of a large number of discontinuous areas, there are as many zones to be coded differently, implying an overhead of encoding the headers of these flows. In addition, in the context of a scalable coding (scalable) this technique is relatively expensive.
Un but de l'invention est d'estimer le mouvement d'une séquence vidéo - A -An object of the invention is to estimate the motion of a video sequence - AT -
à l'aide d'un maillage 2D et de représenter ce mouvement de manière discontinue afin de représenter au mieux le champ de mouvement réel.using a 2D mesh and to represent this movement in a discontinuous way in order to better represent the real motion field.
L'invention propose ainsi un procédé d'estimation de mouvement dans une séquence d'images numériques animées, comprenant les étapes suivantes:The invention thus proposes a motion estimation method in a sequence of animated digital images, comprising the following steps:
- générer un premier maillage, comprenant des mailles délimitées par des nœuds, à appliquer sur une image de référence de la séquence;generating a first mesh, comprising meshs delimited by nodes, to be applied to a reference image of the sequence;
- estimer un premier champ de déplacement dans un groupe d'images incluant l'image de référence, en affectant à chaque point d'une image une valeur de déplacement calculée d'après des valeurs affectées aux nœuds délimitant une maille du premier maillage à laquelle appartient ledit point;estimating a first displacement field in a group of images including the reference image, by assigning to each point of an image a displacement value calculated from values assigned to the nodes delimiting a mesh of the first mesh at which belongs to that point;
- détecter au moins une zone de discontinuité dans le premier maillage par analyse du premier champ de déplacement, chaque zone de discontinuité incluant au moins une maille remplissant un critère de déformation de maille dans le groupe d'images;detecting at least one discontinuity zone in the first mesh by analyzing the first displacement field, each discontinuity zone including at least one mesh fulfilling a mesh deformation criterion in the group of images;
- dans chaque zone de discontinuité détectée, déterminer au moins une ligne de rupture apparaissant dans le groupe d'images;in each detected discontinuity zone, determining at least one break line appearing in the group of images;
- générer un second maillage à appliquer sur l'image de référence, comprenant une partie régulière composée de mailles du premier maillage qui n'appartiennent à aucune zone de discontinuité et, pour au moins une zone de discontinuité détectée, au moins deux sous-maillages qui se chevauchent dans une région incluant la ligne de rupture déterminée dans ladite zone de discontinuité, chacun des deux sous- maillages comprenant des mailles respectives délimitées par des nœuds incluant des nœuds partagés avec la partie régulière, situés en bordure de la zone de discontinuité, et des nœuds additionnels n'appartenant pas à la partie régulière, la ligne de rupture étant située entre les nœuds respectifs des deux sous-maillages partagés avec la partie régulière; et - estimer un second champ de déplacement dans le groupe d'images, en affectant à chaque point situé dans une zone de discontinuité détectée une valeur de déplacement calculée d'après des valeurs affectées aux nœuds délimitant une maille sélectionnée du second maillage à laquelle appartient ledit point, la maille sélectionnée dépendant de la position dudit point par rapport à la ligne de rupture déterminée dans ladite zone de discontinuité.generating a second mesh to be applied to the reference image, comprising a regular part composed of meshes of the first mesh that do not belong to any discontinuity zone and, for at least one detected discontinuity zone, at least two sub-meshes overlapping in a region including the break line determined in said discontinuity zone, each of the two sub-meshes including respective meshs delimited by nodes including nodes shared with the regular part, located at the edge of the discontinuity zone, and additional nodes not belonging to the regular part, the breaking line being located between the respective nodes of the two sub-meshes shared with the regular part; and estimating a second displacement field in the group of images, assigning to each point in a detected discontinuity zone a displacement value calculated from values assigned to nodes delimiting a selected mesh of the second mesh to which said point belongs, the selected mesh depending on the position of said point with respect to the predetermined break line in said discontinuity zone.
Le procédé effectue un optimisation globale pour déterminer le mouvement. Il n'est pas imposé de contraintes a priori sur les critères à optimiser, et on évite aussi d'exclure du calcul les zones de discontinuité fréquemment présentes dans les images animées. L'estimation de mouvement réalisée pourra donc être optimale, y compris dans les zones de discontinuité, pour autant qu'on repère de façon fiable les lignes de rupture. Le mouvement estimé pourra ensuite être utilisé par un codeur vidéo.. Dans ce cadre, il permettra une bonne prédiction des images de la séquence même dans les zones de discontinuité du maillage et permettra l'amélioration du coût de codage de la séquence vidéo. Des paramètres représentant le mouvement estimé seront alors transmis à un décodeur, ou enregistrés en mémoire en vue d'un décodage ultérieur.The method performs global optimization to determine motion. It is not imposed a priori constraints on the criteria to be optimized, and one also avoids to exclude from the calculation the zones of discontinuity frequently present in the animated images. The motion estimation performed can therefore be optimal, even in the discontinuity zones, provided that the rupture lines are reliably identified. The estimated movement can then be used by a video coder. In this context, it will allow a good prediction of the images of the sequence even in the discontinuity areas of the mesh and will allow the improvement of the coding cost of the video sequence. Parameters representing the estimated motion will then be transmitted to a decoder, or stored in memory for later decoding.
Le procédé d'estimation de mouvement est compatible avec l'utilisation de maillages hiérarchiques, avec lesquels les estimations de champs de déplacement sont opérées en allant du niveau hiérarchique le plus grossier (1) vers le niveau hiérarchique le plus fin (nivFin) des maillages. La zone de discontinuité est de préférence détectée comme un ensemble connexe de mailles du niveau hiérarchique le plus fin remplissant le critère de déformation de maille. Elle est ensuite définie aux niveaux hiérarchiques supérieurs comme étant composée d'au moins une maille incluant au moins une maille respective du niveau hiérarchique le plus fin remplissant le critère de déformation de maille.The motion estimation method is compatible with the use of hierarchical meshes, with which the displacement field estimates are made ranging from the coarsest hierarchical level (1) to the finest hierarchical level (nivFin) of the meshes . The discontinuity zone is preferably detected as a connected set of meshes of the finest hierarchical level fulfilling the mesh deformation criterion. It is then defined at the higher hierarchical levels as being composed of at least one mesh including at least one mesh respectively of the finest hierarchical level fulfilling the criterion of mesh deformation.
Avantageusement, les deux sous-maillages du second maillage sont générés en commençant au niveau nivFin, et les mailles des niveaux supérieurs sont ensuite générées lors d'une remontée progressive dans la hiérarchie. La remontée d'un niveau hiérarchique n à un niveau hiérarchique immédiatement supérieur n-1 comprend les étapes suivantes pour chacun des sous-maillages et pour 1 < n ≤nivFin: /a/ intégrer chaque maille dudit sous-maillage précédemment définie au niveau n à une nouvelle maille dudit sous-maillage générée au niveau n-1 ;Advantageously, the two sub-meshes of the second mesh are generated starting at the level of nivFin, and the meshes of the higher levels are then generated during a progressive recovery in the hierarchy. Raising from a hierarchical level n to an immediately higher hierarchical level n-1 includes the following steps for each of the sub-meshes and for 1 <n ≤nivFin: / a / integrating each mesh of said sub-mesh previously defined at level n into a new mesh of said sub-mesh generated at level n-1;
IbI prendre n1 = n; Ici si ladite nouvelle maille du niveau n'-1 ne peut pas être complétée avec des mailles dudit sous-maillage déjà générées au niveau n1, générer au niveau n1 au moins une nouvelle maille dudit sous-maillage pour compléter ladite nouvelle maille du niveau n'-1 ; et lui si n1 < nivFin, augmenter n1 d'une unité et répéter à partir de l'étape Ici.IbI take n 1 = n; Here, if said new mesh of the level ne-1 can not be completed with meshes of said sub-mesh already generated at level n 1 , generating at level n 1 at least one new mesh of said sub-mesh to complete said new mesh of level no-1; and he if n 1 <nivFin, increase n 1 by one unit and repeat from the step here.
Dans un mode de réalisation préféré du procédé, on affecte des valeurs de profondeur respectives aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous-maillage du second maillage. La valeur affectée aux nœuds additionnels d'un sous-maillage généré pour une zone de discontinuité détectée est fonction de la position dudit sous-maillage par rapport à la ligne de rupture déterminée dans ladite zone. L'étape d'estimation du second champ de déplacement comprend pour chaque point d'une image appartenant à une maille de la partie régulière du second maillage et à au moins une maille d'un sous-maillage, le calcul pour chaque maille incluant ce point d'une somme pondérée des valeurs de profondeur respectivement affectées aux nœuds délimitant ladite maille, et la sélection, pour l'affectation d'une valeur de déplacement audit point, de la maille pour laquelle la somme pondérée calculée est maximale.In a preferred embodiment of the method, respective depth values are assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh. The value assigned to the additional nodes of a sub-mesh generated for a detected discontinuity zone is a function of the position of said sub-mesh with respect to the breaking line determined in said zone. The step of estimating the second displacement field comprises for each point of an image belonging to a mesh of the regular part of the second mesh and to at least one mesh of a sub-mesh, the calculation for each mesh including this point of a weighted sum of the depth values respectively assigned to the nodes delimiting said mesh, and the selection, for the assignment of a displacement value to said point, of the mesh for which the calculated weighted sum is maximum.
L'utilisation de ces valeurs de profondeur permet de rendre compte de l'existence de plusieurs plans coexistant dans le groupe d'images. Lorsqu'il y a plus de deux plans, les valeurs de profondeur relatives seront à communiquer au décodeur pour la synthèse du mouvement.The use of these depth values makes it possible to account for the existence of several coexisting planes in the group of images. When there are more than two planes, the relative depth values will be communicated to the decoder for the motion synthesis.
D'autres aspects de l'invention se rapportent à un dispositif d'estimation de mouvement dans une séquence d'images numériques animées, comprenant des moyens adaptés à la mise en œuvre d'un procédé tel que défini ci-dessus, ainsi qu'à un programme d'ordinateur à installer dans un appareil de traitement d'images animées, comprenant des instructions pour mettre en œuvre les étapes d'un procédé d'estimation de mouvement tel que défini ci-dessus lors d'une exécution du programme par une unité de calcul dudit appareil.Other aspects of the invention relate to a motion estimation device in an animated digital image sequence, comprising means adapted to the implementation of a method as defined above, as well as to a computer program to be installed in a moving image processing apparatus, including instructions for implementing the steps of a motion estimation method as defined above during execution of the program by a computing unit of said apparatus.
L'invention propose également un codeur vidéo, comprenant des moyens d'estimation de mouvement dans une séquence d'images numériques animées et des moyens pour construire un flux de sortie incluant des paramètres de mouvement produits par les moyens d'estimation de mouvement, dans lequel les moyens d'estimation de mouvement sont agencés pour opérer conformément à un procédé tel que défini ci-dessus.The invention also proposes a video encoder, comprising motion estimation means in a sequence of animated digital images and means for constructing an output stream including motion parameters produced by the motion estimation means, in wherein the motion estimation means is arranged to operate according to a method as defined above.
Un autre aspect encore de l'invention se rapporte à un signal représentatif d'une séquence d'images numériques animées, comportant une représentation de paramètres de mouvement obtenus en exécutant un procédé tel que défini ci-dessus, ainsi qu'à un support d'enregistrement, sur lequel est enregistré un tel signal. Les paramètres de mouvement comprennent, pour un groupe d'images incluant une image de référence:Still another aspect of the invention relates to a signal representative of a sequence of animated digital images, comprising a representation of motion parameters obtained by executing a method as defined above, as well as to a support of recording, on which is recorded such a signal. Motion parameters include, for a group of images including a reference image:
• des premiers paramètres de mouvement indiquant, dans un premier maillage à appliquer sur l'image de référence, des mailles dont est composée au moins une zone de discontinuité dans le groupe d'images;First motion parameters indicating, in a first mesh to be applied to the reference image, meshes of which at least one discontinuity zone is composed in the group of images;
• des seconds paramètres de mouvement pour positionner au moins une ligne de rupture dans chaque zone de discontinuité; etSecond motion parameters for positioning at least one break line in each discontinuity zone; and
• des troisièmes paramètres de mouvement décrivant des valeurs de déplacement affectées aux nœuds d'un second maillage à appliquer sur l'image de référence, le second maillage comprenant une partie régulière composée de mailles du premier maillage qui n'appartiennent à aucune zone de discontinuité et, pour au moins une zone de discontinuité, au moins deux sous-maillages qui se chevauchent dans une région incluant la ligne de rupture positionnée dans ladite zone de discontinuité, chacun des deux sous-maillages comprenant des mailles respectives délimitées par des nœuds incluant des nœuds partagés avec la partie régulière, situés en bordure de la zone de discontinuité, et des nœuds additionnels n'appartenant pas à la partie régulière, la ligne de rupture étant située entre les nœuds respectifs des deux sous-maillages partagés avec la partie régulière.Third movement parameters describing displacement values assigned to the nodes of a second mesh to be applied to the reference image, the second mesh comprising a regular part composed of meshes of the first mesh that do not belong to any discontinuity zone. and, for at least one discontinuity zone, at least two overlapping sub-meshes in a region including the break line positioned in said discontinuity zone, each of the two sub-meshes comprising respective grids delimited by nodes including nodes shared with the regular part, located at the edge of the discontinuity zone, and additional nodes not belonging to the regular part, the breaking line being located between the respective nodes of the two sub-meshes shared with the regular part.
Les paramètres de mouvement représentés dans le signal peuvent être complétés par des paramètres indiquant des valeurs de profondeur respectivement affectées aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous-maillage du second maillage.The motion parameters represented in the signal can be supplemented by parameters indicating depth values respectively assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh.
L'invention se manifeste également du côté du décodage de mouvement réalisé dans un décodeur vidéo ou autre appareil de traitement d'images animées.The invention is also apparent on the motion decoding side realized in a video decoder or other moving image processing apparatus.
L'invention propose ainsi un procédé de décodage de mouvement dans une séquence d'images numériques animées, à l'aide de maillages d'image comprenant des mailles délimitées par des nœuds. Ce procédé comprend les étapes suivantes:The invention thus proposes a motion decoding method in a sequence of animated digital images, using image meshes comprising meshs delimited by nodes. This process comprises the following steps:
- recevoir un flux d'entrée incluant des paramètres de mouvement tel que définis ci-dessus;receiving an input stream including motion parameters as defined above;
- générer le second maillage sur la base des premiers et seconds paramètres de mouvement; etgenerating the second mesh based on the first and second motion parameters; and
- générer un champ de déplacement dans le groupe d'images, en affectant à chaque nœud du second maillage des valeurs de déplacement obtenues à partir des troisièmes paramètres de mouvement et en affectant à chaque point situé dans une zone de discontinuité détectée une valeur de déplacement calculée d'après les valeurs affectées aux nœuds délimitant une maille sélectionnée du second maillage à laquelle appartient ledit point, la maille sélectionnée dépendant de la position dudit point par rapport à la ligne de rupture déterminée dans ladite zone de discontinuité.generating a displacement field in the group of images, assigning to each node of the second mesh displacement values obtained from the third motion parameters and assigning to each point situated in a detected discontinuity zone a displacement value calculated from the values assigned to the nodes delimiting a selected mesh of the second mesh to which said point belongs, the selected mesh depending on the position of said point relative to the breaking line determined in said discontinuity zone.
D'autres aspects de l'invention se rapportent à un dispositif de décodage de mouvement dans une séquence d'images numériques animées, comprenant des moyens adaptés à la mise en œuvre d'un procédé de décodage de mouvement tel que défini ci-dessus, ainsi qu'à un programme d'ordinateur à installer dans un appareil de traitement d'images animées, comprenant des instructions pour mettre en œuvre les étapes d'un procédé de décodage de mouvement tel que défini ci-dessus lors d'une exécution du programme par une unité de calcul dudit appareil.Other aspects of the invention relate to a motion decoding device in a sequence of animated digital images, comprising means adapted to the implementation of a motion decoding method as defined above, as well as a computer program to be installed in a moving image processing apparatus, comprising instructions for implementing the steps of a motion decoding method as defined above during execution of the program by a computing unit of said apparatus.
L'invention propose encore un décodeur vidéo, comprenant des moyens de décodage de mouvement et des moyens de synthèse pour construire une séquence d'images numériques animées en prenant en compte un champ de déplacement généré par les moyens de décodage de mouvement, lesquels sont agencés pour opérer conformément à un procédé de décodage de mouvement tel que défini ci-dessus.The invention also proposes a video decoder, comprising motion decoding means and synthesis means for constructing a sequence of animated digital images by taking into account a displacement field generated by the motion decoding means, which are arranged to operate according to a motion decoding method as defined above.
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels :Other features and advantages of the present invention will become apparent in the following description of nonlimiting exemplary embodiments, with reference to the appended drawings, in which:
- la figure 1 est un schéma illustrant le maillage hiérarchique d'une image;FIG. 1 is a diagram illustrating the hierarchical mesh of an image;
- la figure 2 est un diagramme illustrant le phénomène de retournement de maille;FIG. 2 is a diagram illustrating the phenomenon of cell reversal;
- la figure 3 est un organigramme d'un procédé d'estimation de mouvement selon l'invention;FIG. 3 is a flowchart of a motion estimation method according to the invention;
- les figures 4 à 7 sont des diagrammes illustrant un processus de remaillage utilisé dans un mode de réalisation de l'invention; - la figure 8 est un diagramme illustrant la définition d'une zone de discontinuité dans des niveaux supérieurs d'un maillage hiérarchique une fois qu'elle a été déterminée au niveau le plus fin;FIGS. 4 to 7 are diagrams illustrating a remeshing process used in one embodiment of the invention; FIG. 8 is a diagram illustrating the definition of a discontinuity zone in higher levels of a hierarchical mesh once it has been determined at the finest level;
- les figures 9a-d, 10a-d, 11a-d et 12a-c sont des diagrammes illustrant la génération du maillage dans des niveaux supérieurs d'un maillage hiérarchique dans un mode de réalisation de l'invention; etFIGS. 9a-d, 10a-d, 11a-d and 12a-c are diagrams illustrating the generation of the mesh in higher levels of a hierarchical mesh in one embodiment of the invention; and
- les figures 13 et 14 sont des schémas synoptiques simplifiés d'un codeur vidéo et d'un décodeur vidéo selon l'invention.- Figures 13 and 14 are simplified block diagrams of a video encoder and a video decoder according to the invention.
On considère une séquence d'images numériques l(x, y, t), où x, y désignent les coordonnées des pixels dans le champ de l'image et t le temps discrétisé, supposé ici croissant de 1 à chaque nouvelle image de la séquence.We consider a sequence of digital images l (x, y, t), where x, y denote the coordinates of the pixels in the field of the image and t the discretized time, assumed here increasing from 1 to each new image of the image. sequence.
Les valeurs l(x, y, t) associées aux pixels sont typiquement des valeurs de luminance.The values l (x, y, t) associated with the pixels are typically values of luminance.
L'estimation de mouvement consiste à générer, pour chaque point de coordonnées (x, y) dans l'image l(x, y, t), un vecteur déplacement D(x, y, t) = (dx, dy) permettant de construire, à partir de l'image l(x, y, t-1), une image déplacée l'(x, y, t) = l(x-dx, y-dy, t-1) qui soit une bonne approximation de l(x, y, t).Motion estimation consists in generating, for each coordinate point (x, y) in the image l (x, y, t), a displacement vector D (x, y, t) = (d x , d y ) making it possible to construct, from the image l (x, y, t-1), an image displaced the (x, y, t) = 1 (xd x , yd y , t-1) which is a good approximation of l (x, y, t).
Le calcul est effectué sur un support d'estimation Ω. Il consiste à déterminer le champ de déplacement D(x, y, t) qui minimise une fonctionnelle Φ(t) de la forme:The calculation is performed on an estimation support Ω. It consists in determining the displacement field D (x, y, t) which minimizes a functional Φ (t) of the form:
Φ(t) = ∑ p(l(x-dx, y-dy i t-1), l(x,y,t)) (1 )Φ (t) = Σ p (l (xd x , yd yi t-1), l (x, y, t)) (1)
(χ,y)εΩ(Χ, y) εΩ
où p(A, B) est une métrique dont la forme la plus courante est p(A, B) = (A-B)2.where p (A, B) is a metric whose most common form is p (A, B) = (AB) 2 .
L'utilisation d'un maillage des images permet de réduire le nombre d'inconnues. Seuls sont recherchés les vecteurs déplacement D(Xj[t], yj[t], t) des points situés aux nœuds i du maillage. En dehors de ces nœuds, le champ de déplacement D(x, y, t) est interpolé, par exemple selon une méthode affine:Using a mesh of images reduces the number of unknowns. Only the displacement vectors D (X j [t], y j [t], t) are located at the nodes i of the mesh. Outside these nodes, the displacement field D (x, y, t) is interpolated, for example according to an affine method:
D(X, y.t) = ∑w,(x, y,t).D(Xj[t], y,[tlt) (2) iD (X, y.t) = Σw, (x, y, t) .D (Xj [t], y, [tlt) (2) i
où les poids W1(X, y, t) représentent des coordonnées du point (x, y) exprimées par rapport à la position des nœuds i dans l'image au temps t.where the weights W 1 (X, y, t) represent coordinates of the point (x, y) expressed with respect to the position of the nodes i in the image at time t.
Un maillage commode est le maillage triangulaire, dans lequel chaque point (x, y) est considéré comme appartenant à un triangle dont les sommets sont des nœuds i, j, k du maillage de coordonnées respectives (Xj[t], y,[t]),A convenient mesh is the triangular mesh, in which each point (x, y) is considered to belong to a triangle whose vertices are nodes i, j, k of the respective coordinate mesh (X j [t], y, [ t]),
(Xj[t], yj[t]) et (xk[t], yk[t]) au temps t. Les poids d'interpolation associés au point(Xj [t], yj [t]) and (x k [t], y k [t]) at time t. The interpolation weights associated with the point
(x, y) au temps t sont ses coordonnées barycentriques dans le triangle, données par:(x, y) at time t are its barycentric coordinates in the triangle, given by:
Wj.(x, y, t) = 0 si \'≠\, j, k (3) W j (x, y, t) = 0 if \ '≠ \, j, k (3)
w.(Xιyit) - Xk[t1-yι[t]-χi[t].yk[t3+(yk[t1- yι[t])χ"(χk[t]-χι[t])y (5) w . (Xιy it) - X k [t1-yι [t] - χ i [t] .yk [t3 + (yk [t1-yι [t]) χ "( χ k [t] - χ ι [t]) y (5)
J ' ' πiijik[t] J '' π iijik [t]
Wk (. y>t) _ χιW-yjW-χjW-yιW+ (y»w-yjW)χ-(χιra-χjW)y (6) πijjik[t] Wk ( . Y> t) _ χ ιW-yjW- χ jW-yιW + (y »w-yjW) χ - ( χ ιra- χ jW) y (6) π ijjik [t]
où πιJik [t] = xj[t].yk [t] - xk [t].yj[t] + xk [t].y,[t] - X|[t].yk [t] + X|[t].yj [t] - xj[t].y|[t] est un produit vectoriel associé au triangle au temps t.where π ιJik [t] = xj [t] .y k [t] - x k [t] .yj [t] + x k [t] .y, [t] - X | [t] .y k [ t] + X | [t] .yj [t] - xj [t] .y | [t] is a vector product associated with the triangle at time t.
Le calcul est conduit sur un groupe d'images consécutives de la séquence, typiquement de l'ordre d'une dizaine d'images. Le maillage est défini sur la première image du groupe (t = 0), habituellement par un réseau de triangles équilatéraux. Les vecteurs déplacement D(Xj[I], yf[1], 1 ) sont estimés par minimisation de la fonctionnelle Φ(1 ), par exemple en appliquant une méthode de descente de gradient de type Gauss-Seidel ou analogue. On en déduit les positions des nœuds i du maillage au temps 1 par la formule (Xj[I]. Yj[I]) = (Xj[O], Yj[O]) + D(X1[I]1 y,[1], 1). Ce processus est répété jusqu'à la dernière image du groupe (t = 2, 3, 4, etc.): estimation des vecteurs déplacement D(x,[t], y{[t], t) par minimisation de Φ(t), puis calcul des positions des nœuds du maillage au temps t: (Xj[t], yj[t]) = (Xj[t-1], Vj[M]) + D(Xj[t], Vj[t], t).The calculation is conducted on a group of consecutive images of the sequence, typically of the order of a dozen images. The mesh is defined on the first image of the group (t = 0), usually by a network of equilateral triangles. The displacement vectors D (X i [I], y f [1], 1) are estimated by minimizing the functional Φ (1), for example by applying a Gauss-Seidel gradient descent method or the like. We deduce the positions of the nodes i of the mesh at time 1 by the formula (X j [I]. Y j [I]) = (X j [O], Y j [O]) + D (X 1 [I ] 1 y, [1], 1). This process is repeated until the last image of the group (t = 2, 3, 4, etc.): estimation of the displacement vectors D (x, [t], y { [t], t) by minimization of Φ ( t), then calculating the positions of the nodes of the mesh at time t: (X j [t], y j [t]) = (X j [t-1], V j [M]) + D (X j [ t], V j [t], t).
L'estimation du mouvement est avantageusement réalisée à l'aide d'un maillage hiérarchique, ce qui, de façon connue en soi, assure une meilleure convergence du système. Une certaine finesse de maillage est nécessaire pour représenter fidèlement le mouvement au sein de l'image. Mais en cas de fort mouvement, la technique de minimisation précédente peut ne pas converger si on l'applique directement sur un maillage fin. De plus, l'utilisation de maillages très fins peut provoquer une instabilité du système due au trop grand nombre de paramètres.The estimation of the movement is advantageously carried out using a hierarchical mesh, which, in a manner known per se, ensures a better convergence of the system. A certain fineness of mesh is necessary to represent faithfully the movement within the image. But in case of strong movement, the previous minimization technique may not converge if it is applied directly to a fine mesh. In addition, the use of very fine meshes can cause instability of the system due to too many parameters.
La figure 1 montre un exemple de maillage hiérarchique. La représentation hiérarchique est constituée de plusieurs niveaux de représentation. Le niveau le plus bas 30 (niveau 0 sur la figure) possède un champ grossier, avec trois nœuds seulement pour définir le maillage. En allant vers les niveaux plus fins 32, 33, 35, le champ se densifie progressivement et, le nombre de nœuds du maillage croît. La qualité du mouvement varie avec les niveaux, le niveau bas 30 représentant le mouvement dominant de la scène, et les niveaux fins affinant le mouvement dominant pour représenter les mouvements locaux. Le nombre de niveaux du maillage hiérarchique est un paramètre réglable de la phase d'estimation, il peut varier selon la séquence à estimer.Figure 1 shows an example of hierarchical mesh. The hierarchical representation consists of several levels of representation. The lowest level 30 (level 0 in the figure) has a coarse field, with only three nodes to define the mesh. Going towards the finer levels 32, 33, 35, the field becomes denser and the number of nodes of the mesh grows. The quality of movement varies with the levels, the low level 30 representing the dominant movement of the scene, and the fine levels refining the dominant movement to represent the local movements. The number of levels of the hierarchical mesh is an adjustable parameter of the estimation phase, it can vary according to the sequence to be estimated.
Dans la technique d'estimation de mouvement par maillage hiérarchique, on génère plusieurs niveaux de maillage hiérarchique sur les images, on commence par estimer le mouvement sur le niveau le plus grossier 30, puis on passe au niveau suivant en commençant la descente de gradient à partir de valeurs de déplacement aux nœuds déduites de celles estimées au niveau précédent: les nœuds communs aux deux niveaux reçoivent des vecteurs déplacement initiaux égaux à ceux qui viennent d'être estimés, et les nœuds ajoutés au niveau plus fin reçoivent des vecteurs déplacement initiaux calculés par interpolation spatiale. A la fin des itérations, ce sont les vecteurs déplacement estimés au niveau le plus fin qui sont quantifiés pour être transmis au décodeur.In the hierarchical mesh motion estimation technique, we generate several levels of hierarchical mesh on the images, we start by estimating the movement on the coarser level 30, then we go to the next level by starting the gradient descent to from displacement values to the nodes deduced from those estimated at the previous level: the nodes common to the two levels receive initial displacement vectors equal to those which have just been estimated, and the nodes added at the finer level receive calculated initial displacement vectors by spatial interpolation. At the end of the iterations, it is the displacement vectors estimated at the finest level that are quantized to be transmitted to the decoder.
La technique d'estimation de mouvement par maillage hiérarchique est combinable avec une technique d'estimation multi-résolution, dans laquelle on travaille sur une pyramide d'images filtrées et décimées construites à partir des images de départ. L'estimation de mouvement dans un niveau du maillage hiérarchique est alors effectuée sur la base d'images échantillonnées à un niveau de résolution adapté.The hierarchical mesh motion estimation technique is combinable with a multi-resolution estimation technique, in which we work on a pyramid of filtered and decimated images constructed from the original images. Motion estimation in a hierarchical mesh level is then performed based on sampled images at a suitable resolution level.
Un problème général des techniques d'estimation de mouvement par maillage est celui des retournements de maille. Ce problème est illustré par la figure 2, où on voit le maillage d'une image à deux instants successifs avec, sur la partie gauche de la figure, un exemple de vecteurs déplacement estimés entre ces deux instants aux nœuds i, j, k formant les sommets d'un triangle élémentaire du maillagθ. Le retournement de ce triangle résulte de ce que le nœud k traverse la droite passant par les nœuds i et j. De façon générale, le retournement d'un triangle i, j, k correspond à un changement de signe du produit vectoriel %-x j k[t]. De tels artefacts perturbent fortement l'estimation de mouvement. Ils sont généralement dus à des mouvements relatifs d'objets dans différents plans de la scène filmée. L'illustration de la figure 2 est très simplifiée car un seul triangle se retourne (en passant par un triangle d'aire nulle). Dans la pratique, les recouvrements se produisent le plus souvent sur des zones de discontinuité ayant une certaine étendue dans l'image.A general problem of meshing motion estimation techniques is that of mesh reversals. This problem is illustrated in FIG. 2, where we see the mesh of an image at two successive instants with, on the left part of the figure, an example of displacement vectors estimated between these two instants at the nodes i, j, k forming the vertices of a triangle elementary of the mesh. The reversal of this triangle results from the fact that the node k crosses the line passing through the nodes i and j. In general, the inversion of a triangle i, j, k corresponds to a change of sign of the vector product% - x j k [t]. Such artifacts greatly disrupt motion estimation. They are usually due to relative movements of objects in different shots of the filmed scene. The illustration in Figure 2 is very simplified because only one triangle turns over (passing through a triangle of zero area). In practice, the overlays most often occur on discontinuity areas having a certain extent in the image.
Avec un maillage hiérarchique, les retournements de maille ont naturellement une plus grande probabilité de se produire dans les niveaux fins que dans les niveaux grossiers.With a hierarchical mesh, the mesh reversals naturally have a greater probability of occurring in the fine levels than in the coarse levels.
Pour traiter le problème des retournements de maille, l'invention utilise un repérage des zones de discontinuité et des lignes de rupture qu'elles contiennent. Un remaillage de l'image est opéré dans les zones de discontinuité, à l'aide de sous-maillages multiples, ancrés au maillage initial de part et d'autre des lignes de rupture. Les sous-maillages multiples générés dans une zone de discontinuité s'étendent au-delà de la ligne de rupture, de sortent qu'ils se chevauchent mutuellement. Ils peuvent même déborder sur l'extérieur de la zone de discontinuité. Pour estimer le déplacement d'un point de l'image situé dans la zone de discontinuité à l'aide d'une formule d'interpolation telle que (2), on fait référence aux nœuds de l'un des sous- maillages, sélectionné en fonction de la position du point par rapport à la ou les lignes de rupture. Ainsi, les sous-maillages permettent de rendre compte de différents plans présents dans la séquence d'images, leur utilisation dépendant des objets qui apparaissent ou disparaissent dans la scène.To deal with the problem of mesh reversals, the invention uses a tracking of the discontinuity zones and the rupture lines that they contain. A remeshing of the image is done in the discontinuity zones, using multiple sub-meshes, anchored to the initial mesh on both sides of the break lines. The multiple sub-meshes generated in a discontinuity zone extend beyond the break line, out of which they overlap each other. They may even overflow outside the discontinuity area. To estimate the displacement of a point of the image located in the discontinuity zone using an interpolation formula such as (2), reference is made to the nodes of one of the sub-meshes, selected depending on the position of the point with respect to the break line or lines. Thus, the sub-meshes make it possible to account for different planes present in the sequence of images, their use depending on the objects which appear or disappear in the scene.
L'invention permet de gérer les zones de discontinuité de mouvement sans les mettre en défaut ou les rejeter au moment du codage. Lorsqu'un recouvrement ou découvrement est détecté, le principe est de couper le maillage localement là où se crée la discontinuité, et de transformer le maillage en un maillage dit "non-manifold". Un maillage non-manifold est un maillage dont les arêtes peuvent être partagées par plus de deux mailles. Il permet d'estimer le mouvement dans la séquence vidéo et de modéliser un champ de mouvement discontinu. Un avantage est qu'on peut ainsi prendre en compte les zones de discontinuité au moment du codage de la même manière que les zones continues.The invention makes it possible to manage the zones of discontinuity of movement without putting them in default or rejecting them at the time of the coding. When an overlap or discovery is detected, the principle is to cut the mesh locally where the discontinuity is created, and transform the mesh into a so-called "non-manifold" mesh. A non-manifold mesh is a mesh whose edges can be shared by more than two meshes. It allows to estimate the motion in the video sequence and to model a discontinuous motion field. One advantage is that it is thus possible to take into account the discontinuity zones at the time of coding in the same way as the continuous zones.
La figure 3 montre un organigramme d'un procédé d'estimation de mouvement selon l'invention.Figure 3 shows a flowchart of a motion estimation method according to the invention.
La première étape 9 consiste à définir le maillage initial sur une image d'une séquence vidéo à coder. Puis à l'étape 10, on procède à une première estimation du champ de mouvement dans un groupe de T images consécutives. Cette estimation est opérée de façon classique à l'aide d'un maillage de préférence hiérarchique, par exemple selon la méthode expliquée ci-dessus. Au cours de ce calcul, certaines mailles triangulaires peuvent se retourner ou se déformer trop fortement.The first step 9 consists in defining the initial mesh on an image of a video sequence to be encoded. Then in step 10, we make a first estimation of the motion field in a group of T consecutive images. This estimation is performed conventionally using a preferably hierarchical mesh, for example according to the method explained above. During this calculation, some triangular meshes can turn over or deform too strongly.
Ensuite, le procédé comporte une étape 11 de détection des zones de discontinuité dans le maillage initial.Then, the method comprises a step 11 of detecting the discontinuity zones in the initial mesh.
Les zones de discontinuité consistent chacune en un ensemble connexe de mailles dégénérées définies au niveau hiérarchique le plus fin.The discontinuity zones each consist of a connected set of degenerate meshes defined at the finest hierarchical level.
Elles incluent au moins les triangles qui se retournent au cours de l'estimation de mouvement 10. Ces triangles sont aisément détectables d'après les produits vectoriels TCJ : k[t] qui ont été calculés à l'étape 10 (pour l'interpolation des déplacements dans la fonctionnelle à minimiser) relativement aux différents triangles du maillage au niveau hiérarchique le plus fin et aux instants successifs t = 0, 1, 2 T-1, T. On peut orienter initialement les triangles de façon que les produits vectoriels π,j k[t] soient tous positifs. Un retournement de maille se manifeste alors par un produit vectoriel négatif. La détection peut être généralisée pour inclure dans une zone de discontinuité une maille triangulaire i, j, k dont l'aire (égale à la moitié de la valeur absolue du produit vectoriel 71 M kM) devient proche de zéro, c'est-à-dire inférieure à un seuil prédéfini, pour au moins un instant t. La détection des triangles dégénérés, à inclure dans une zone de discontinuité, peut plus généralement comporter une étude de la déformation des triangles entre l'image au temps 0 et l'image au temps T. Si la déformation d'une maille dépasse un certain seuil, cette maille est considérée comme dégénérée.They include at least the triangles that turn during motion estimation 10. These triangles are easily detectable from the TCJ vector products: k [t] that were calculated in step 10 (for interpolation displacements in the functional to be minimized) relative to the different triangles of the mesh at the finest hierarchical level and at the successive instants t = 0, 1, 2 T-1, T. We can initially orient the triangles so that the π vector products , j k [t] are all positive. A reversal of mesh then manifests itself by a negative vector product. The detection can be generalized to include in a discontinuity zone a triangular mesh i, j, k whose area (equal to half of the absolute value of the vector product 71 M kM) becomes close to zero, that is to say say less than a predefined threshold, for at least one moment t. The detection of degenerate triangles, to be included in a discontinuity zone, may more generally comprise a study of the deformation of the triangles between the image at time 0 and the image at time T. If the deformation of a mesh exceeds a certain threshold, this mesh is considered degenerate.
Un ensemble connexe de mailles dégénérées forme une zone de discontinuité. C'est la zone où une discontinuité est apparue dans le mouvement. Elle est définie au niveau hiérarchique le plus fin, et les mailles triangulaires qui la composent (ou les nœuds qui la bordent) font partie des paramètres qui seront transmis au décodeur. Le contour de la zone de discontinuité peut aussi être représenté par des splines.A related set of degenerate meshes forms an area of discontinuity. This is the area where a discontinuity appeared in the movement. It is defined at the finest hierarchical level, and the triangular meshes that compose it (or the nodes that border it) are part of the parameters that will be transmitted to the decoder. The contour of the discontinuity zone can also be represented by splines.
Si aucune zone de discontinuité n'est détectée à l'étape 11 (test 12), le procédé d'estimation de mouvement se termine à l'étape 20 où sont délivrés les paramètres du mouvement qui seront quantifiés pour être transmis au décodeur vidéo. Dans ce cas, ces paramètres sont ceux obtenus à l'étape 10, auxquels s'ajoute un indicateur signalant qu'aucune zone de discontinuité n'a été détectée (mouvement continu).If no discontinuity zone is detected in step 11 (test 12), the motion estimation method ends in step 20 where the motion parameters are output which will be quantized to be transmitted to the video decoder. In this case, these parameters are those obtained in step 10, to which is added an indicator signaling that no discontinuity zone has been detected (continuous movement).
Si une ou plusieurs zones de discontinuité est détectée dans le groupe d'images, on procède d'abord à une détermination de ligne de rupture dans chaque zone de discontinuité détectée (étape 13).If one or more discontinuity areas are detected in the group of images, a break line determination is first made in each detected discontinuity area (step 13).
Une ligne de rupture est positionnée sur le contour d'un objet qui a engendré une discontinuité dans la zone. On détaillera ci-après le cas d'une seule ligne de rupture dans une zone de discontinuité. On observera que le processus est généralisable à plusieurs lignes de rupture au sein d'une même zone.A break line is positioned on the edge of an object that caused a discontinuity in the area. The following is the case of a single break line in a discontinuity zone. It will be observed that the process is generalizable to several fault lines within the same zone.
Le contour de l'objet est orienté afin de définir une région intérieure (région en avant-plan) et une région extérieure (région en arrière-plan). Plusieurs méthodes, connues en elles-mêmes, sont applicables pour trouver ce contour à l'étape 13. Si on dispose déjà de masques de segmentation des images de la séquence, le contour est extrait à partir de ces masques. Cependant, pour la plupart des séquences, on ne dispose pas des masques de segmentation.The outline of the object is oriented to define an inner region (foreground region) and an outer region (background region). Several methods, known in themselves, are applicable to find this contour in step 13. If we already have segmentation masks of the images of the sequence, the contour is extracted from these masks. However, for most sequences, masks are not available. segmentation.
Dans ce cas, l'image peut être pré-segmentée par une technique de "mean shift" telle que celle décrite par Dorin Comaniciu et Peter Meer dans "Mean Shift: A Robust Approach Toward Feature Space Analysis", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24 , No. 5, mai 2002, pp. 603-619. Ensuite, une succession de dilatations et d'érosions morphologiques permettent d'éliminer les petites régions segmentées. Le contour de l'objet est finalement extrait des images segmentées.In this case, the image can be pre-segmented by a "mean shift" technique such as that described by Dorin Comaniciu and Peter Meer in "Mean Shift: A Robust Approach Toward Feature Space Analysis", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 5, May 2002, pp. 603-619. Then, a succession of dilations and morphological erosions make it possible to eliminate the small segmented regions. The outline of the object is finally extracted from the segmented images.
La technique de détection des points saillants peut aussi être appliquée à l'étape 13. Les points saillants se positionnent essentiellement sur les contours des objets. La liste des points saillants ne définissant pas un contour complet, il convient d'ajouter une étape d'affinage du contour à partir d'un chaînage de ces points. Les points saillants d'une image I correspondent aux pixels de I appartenant à des régions de haute fréquence. Pour les détecter, on peut utiliser la théorie des ondelettes. La transformée en ondelettes est une représentation multi-résolution de l'image qui permet de l'exprimer aux différentes résolutions 1/2, 1/4, etc. Ainsi, à chaque niveau de résolution 2J (j <-1), la transformée en ondelettes représente l'image Im de taille n x m = 2k x 21 (k,l e Z) , sous forme d'un groupe d'images de taille 2k+J * 2I+J, à savoir: une image grossière A i .Im ; une image D1 ^Im de détailsThe salient point detection technique can also be applied in step 13. The salient points are essentially positioned on the contours of the objects. Since the list of highlights does not define a complete contour, it is necessary to add a contour refinement step from a chaining of these points. The highlights of an image I correspond to the pixels of I belonging to high frequency regions. To detect them, we can use wavelet theory. The wavelet transform is a multi-resolution representation of the image that allows it to be expressed at different resolutions 1/2, 1/4, etc. Thus, at each level of resolution 2J (j <-1), the wavelet transform represents the image Im of size nxm = 2 k X 2 1 (k, Z), as a group of pictures size 2 k + J * 2 I + J, namely: a coarse image A i .Im; an image D 1 ^ Im details
représentant les hautes fréquences verticales, c'est-à-dire les contours horizontaux; une image D2, . Im de détails représentant les hautes fréquencesrepresenting vertical high frequencies, that is, horizontal contours; an image D 2 ,. Im details representing the high frequencies
horizontales, c'est-à-dire les contours verticaux; et une image D3..Im dehorizontal, that is to say the vertical contours; and an image D 3 ..Im of
détails représentant les hautes fréquences diagonales, c'est-à-dire les coins.details representing the diagonal high frequencies, that is to say the corners.
Chacune des trois images de détails est obtenue à partir A .+1 .Im parEach of the three detail images is obtained from A. +1. Im per
un filtrage suivi d'un sous-échantillonnage d'un facteur deux dans chaque direction (avec A o .lm = Im). Afin de détecter les points saillants d'une image,a filtering followed by a subsampling of a factor two in each direction (with A o .lm = Im). In order to detect the highlights of an image,
on utilise en premier lieu une base d'ondelettes et un niveau de résolution minimal 2r (r ≤-1). Une fois la transformation en ondelettes effectuée, on parcourt chacune des trois images de détails D1 . Im , D2..Im , D3, . Im afin dewe first use a wavelet base and a resolution level minimal 2 r (r ≤-1). Once the wavelet transformation is done, we go through each of the three detail images D 1 . Im, D 2 ..Im, D 3 ,. Im in order to
construire une arborescence de coefficients d'ondelettes. Cette arborescence est basée sur l'approche dite "Zerotree", connue dans le domaine du codage d'image. Elle permet de mettre en place une carte de saillance de taille 2k+r x 2l+r reflétant l'importance de chaque coefficient d'ondelettes à la résolution 2r. Ainsi, un coefficient ayant une saillance importante correspond à une région de Im présentant des hautes fréquences. En effet, un coefficient d'ondelettes de module important à la résolution 2r correspond à un contour de l'image A r+1.lm suivant une direction particulière (horizontale, verticale oubuild a tree of wavelet coefficients. This tree is based on the so-called "Zerotree" approach, known in the field of image coding. It allows to set up a saliency map of size 2 k + r x 2 l + r reflecting the importance of each coefficient of wavelets at resolution 2 r . Thus, a coefficient having a high saliency corresponds to a region of Im having high frequencies. Indeed, an important module wavelet coefficient at resolution 2 r corresponds to a contour of the image A r + 1 .lm in a particular direction (horizontal, vertical or
oblique). L'approche Zerotree indique que chacun des coefficients d'ondelettes à la résolution 2r correspond à une zone spatiale de taille 2~"r * 2~r dans l'image Im. A partir de la carte de saillance construite, on peut ainsi choisir parmi les 2~r * 2~r pixels de Im, le pixel le plus représentatif de cette zone.oblique). The Zerotree approach indicates that each of the wavelet coefficients at resolution 2 r corresponds to a spatial area of size 2 ~ "r * 2 ~ r in the image Im, from the constructed saliency map choose from the 2 ~ r * 2 ~ r pixels Im, the most representative pixel of this area.
Une fois que ces points saillants ont été déterminés dans la zone de discontinuité, on les relie entre eux afin de disposer d'une ligne de rupture. Pour cela, on peut utiliser une technique connue de chaînage de points ou d'interpolation ou approximation polynomiale (Newton, splines, Tchebicheff, moindres carrés, etc.).Once these salient points have been determined in the discontinuity zone, they are connected together to provide a break line. For this, one can use a known technique of chaining points or interpolation or polynomial approximation (Newton, splines, Chebicheff, least squares, etc.).
II est à noter qu'à l'étape 13, les lignes de rupture sont déterminées dans chacune des images du groupe d'images. Les positions de ces lignes feront partie des paramètres du mouvement délivrés à l'étape 13 en vue d'être communiqués au décodeur.It should be noted that in step 13, the break lines are determined in each of the images of the group of images. The positions of these lines will be part of the movement parameters delivered in step 13 to be communicated to the decoder.
A l'étape 14 du procédé, les zones de discontinuité qui ont été détectées à l'étape 11 font l'objet d'un remaillage non-manifold. Ce remaillage est effectué en premier lieu au niveau hiérarchique le plus fin.In step 14 of the method, the discontinuity areas that were detected in step 11 are subject to non-manifold remeshing. This remeshing is done first at the finest hierarchical level.
La figure 4 montre un exemple de zone de discontinuité Z, composée ici de huit mailles adjacentes du maillage triangulaire initial. Ce maillage est constitué de triangles équilatéraux lors de sa définition sur la première image du groupe. La figure 4 montre une ligne de rupture orientée L qui a été déterminée dans la zone Z à l'étape 13.Figure 4 shows an example of discontinuity zone Z, here composed of eight adjacent meshes of the initial triangular mesh. This mesh consists of equilateral triangles when it is defined on the first image of the group. Fig. 4 shows an L-shaped break line which was determined in zone Z at step 13.
Le nouveau maillage adopté à l'étape 14 inclut une partie régulière composée des triangles du maillage initial qui n'appartiennent à aucune zone de discontinuité. Dans chaque zone de discontinuité Z contenant une ligne de rupture L, on génère deux sous-maillages attachés à la partie régulière le long des bords de la zone de discontinuité Z. Chacun de ces deux sous-maillages est affecté à un côté de la ligne de rupture L, et il inclut les nœuds du maillage initial situés de ce côté le long des bords de la zone de discontinuité Z.The new mesh adopted in step 14 includes a regular part composed of the triangles of the initial mesh which do not belong to any zone of discontinuity. In each zone of discontinuity Z containing a break line L, two sub-meshes are generated attached to the regular part along the edges of the zone of discontinuity Z. Each of these two sub-meshes is assigned to one side of the line. L, and it includes the nodes of the initial mesh located on this side along the edges of the zone of discontinuity Z.
Les triangles en traits interrompus sur les figures 5 et 6 représentent ainsi, respectivement, deux sous-maillages qui peuvent être générés dans la zone de discontinuité Z de la figure 4. Dans cet exemple, les nœuds du maillage initial notés a, b, c, d, e, f sur la figure 4 appartiennent au sous- maillage "gauche" (c'est-à-dire attaché au maillage initial du côté gauche de la ligne de rupture L, les côtés gauche et droit étant définis relativement à l'orientation déterminée pour la ligne de rupture L) montré sur la figure 5, et les nœuds du maillage initial notés a, f, g, h, i, j sur la figure 4 appartiennent au sous-maillage "droit" montré sur la figure 6.The triangles in broken lines in FIGS. 5 and 6 thus represent, respectively, two sub-meshes that can be generated in the discontinuity zone Z of FIG. 4. In this example, the nodes of the initial mesh denoted a, b, c , d, e, f in Fig. 4 belong to the "left" sub-mesh (i.e., attached to the initial mesh on the left side of the break line L, the left and right sides being defined relative to the orientation determined for the break line L) shown in FIG. 5, and the nodes of the initial mesh denoted a, f, g, h, i, j in FIG. 4 belong to the "right" sub-mesh shown in FIG. 6.
Certains des nœuds du maillage initial qui bordent la zone de discontinuité sont communs aux deux sous-maillages (ici les nœuds a et f).Some of the nodes of the initial mesh that border the zone of discontinuity are common to the two sub-meshes (here the nodes a and f).
Dans l'exemple de la figure 5, le sous-maillage gauche comporte huit nouveaux nœuds a'-h1 et seize nouveaux triangles (a.a'.h1), (a,b,a'), (b,b',a'), Ob1Cb1), (c,d,b'), (d.c'.b1), (d.e.c1), (e.d'.c1), (e.f.d1), (f.e'.d1), (d\e\f), (c'.d'.f), (Cf ,g'), (b'.c'.g1), (a'.b'.g1) et (a'.g'.h1).In the example of FIG. 5, the left sub-mesh has eight new nodes a'-h 1 and sixteen new triangles (a.a'.h 1 ), (a, b, a '), (b, b ', a'), Ob 1 Cb 1 ), (c, d, b '), (d.c'.b 1 ), (dec 1 ), (e.d'.c 1 ), (efd 1 ) , (f'e'.d 1 ), (d \ e \ f), (c'.d'f), (Cf, g '), (b'.c'.g 1 ), (a') .b'.g 1 ) and (a'.g'.h 1 ).
Dans l'exemple de la figure 6, le sous-maillage droit comporte huit nouveaux nœuds a"-h" et seize nouveaux triangles (a,h",a"), (j.a > a")> (i,j,a"), (i.a'-.b"), (i,b",c"), (h.i.c"), (h,c",d"), (g.h.d"), (f.g.d"), (f,d",e"), (c",e",d"), (c",f ,e"), (b'T ,c"), (b-.g'T), (a",g",b") et (a",h",g").In the example of Figure 6, the right sub-mesh has eight new nodes "-h" and sixteen new triangles (a, h ", a"), (j a > a ") > (i, j , a "), (i.a '-. b"), (i, b ", c"), (hic "), (h, c", d "), (ghd"), (fgd ") , (f, d ", e"), (c ", e", d "), (c", f, e "), (b'T, c"), (b-.g'T), (a ", g", b ") and (a", h ", g").
Les nœuds additionnels générés dans les nouveaux sous-maillages peuvent avoir des positions dans la première image confondues avec celles de nœuds du maillage initial. Ils ont été représentés décalés sur les figures 5 et 6 pour faciliter la lecture du dessin.The additional nodes generated in the new sub-meshes may have positions in the first image merged with those of nodes of the initial mesh. They have been shown offset in Figures 5 and 6 to facilitate the reading of the drawing.
Les nœuds des arêtes aux bords de la zone de discontinuité Z traversée par la ligne de discontinuité L sont des nœuds de bordure qui ne peuvent bouger qu'avec le maillage initial. Ces nœuds de bordure peuvent être de trois types:The nodes of the edges at the edges of the zone of discontinuity Z crossed by the line of discontinuity L are border nodes which can move only with the initial mesh. These border nodes can be of three types:
- nœuds de bordure gauche, servant de base pour le seul sous-maillage gauche; ce sont les nœuds b, c, d et e sur les figures 4-6;- left border nodes, serving as a basis for the only left sub-mesh; these are the nodes b, c, d and e in figures 4-6;
- nœuds de bordure droite, servant de base pour le seul sous-maillage droite); ce sont les nœuds g, h, i et j sur les figures 4-6; et- right border nodes, serving as a basis for the only right sub-mesh); these are the nodes g, h, i and j in Figures 4-6; and
- nœuds de bordure partagés, servant de base pour les deux sous- maillages; ce sont les nœuds a et f sur les figures 4-6.shared edge nodes, serving as a basis for both sub-meshes; these are the nodes a and f in Figures 4-6.
Lorsque la ligne de rupture L traverse un triangle ayant au moins un nœud de bordure pour sommet, ce nœud est identifié comme étant de bordure gauche ou droite en fonction de sa position par rapport à la ligne orientée. Pour un triangle où se termine la ligne de rupture L1 on peut par exemple identifier les nœuds situés sur l'arête traversée par la ligne L comme nœuds de bordures gauche et droite et le troisième nœud comme nœud de bordure partagé (comme sur les figures 4-6). Une autre possibilité est de prolonger la ligne de rupture par extrapolation jusqu'à ce qu'elle rencontre une arête du triangle, et d'identifier les nœuds situés sur cette arête comme nœuds de bordure partagés et le troisième nœud comme nœud de bordure gauche ou droit en fonction de sa position par rapport à la ligne orientée.When the break line L passes through a triangle having at least one vertex edge node, this node is identified as being left or right border depending on its position relative to the oriented line. For a triangle where the break line L 1 ends, for example, the nodes on the edge traversed by the line L can be identified as left and right edge nodes and the third node as shared edge node (as in the figures 4-6). Another possibility is to extend the break line by extrapolation until it encounters an edge of the triangle, and identify the nodes on that edge as shared border nodes and the third node as the left border node or right according to its position relative to the oriented line.
Afin de prendre en compte les éventuels découvrements pouvant intervenir dans la séquence vidéo, les nouvelles mailles s'étendent au-delà de la zone de discontinuité Z comme le montrent les figures 5 et 6. Des mailles de la partie régulière et de mailles des sous-maillages se chevauchent alors.In order to take into account any discoveries that may occur in the video sequence, the new meshes extend beyond the zone of discontinuity Z as shown in FIGS. 5 and 6. Meshes of the regular part and meshes of the sub -maillages overlap then.
Pour éviter les conflits lors de la reconstruction d'une image on utilise une méthode de "z-order" aux nœuds, inspirée du "z-buffer" dont l'usage est bien connu dans le domaine de la synthèse d'images tridimensionnelles.To avoid conflicts during the reconstruction of an image, we use a "z-order" method at the nodes, inspired by the "z-buffer" whose use is well known in the field of the synthesis of three-dimensional images.
L'adaptation aux maillages non-manifold utilisés ici se fait en affectant aux nouveaux nœuds de chaque sous-maillage une valeur de profondeur z, positive ou négative, affectée à ce sous-maillage.The adaptation to non-manifold meshes used here is done by assigning new nodes of each sub-mesh a value of depth z, positive or negative, assigned to this sub-mesh.
Les nœuds du maillage initial qui sont conservés reçoivent la valeur de profondeur z = 0. Une valeur z > 0 correspond généralement à un objet en avant-plan, et une valeur z < 0 à un objet en arrière-plan. Le signe de z est donné par l'orientation de la ligne de rupture L. L'objet en avant-plan, dont le contour correspond à la ligne de rupture, est positionné relativement à l'orientation de la ligne L (par exemple à droite de la ligne si on se déplace dans le sens de son orientation). Ainsi, dans le cas des figures 4-7, la portion hachurée sur la figure 7 appartient à l'objet dont la ligne de rupture L constitue le contour.The nodes of the initial mesh that are preserved receive the value of depth z = 0. A value z> 0 generally corresponds to an object in the foreground, and a value z <0 to an object in the background. The sign of z is given by the orientation of the rupture line L. The object in the foreground, whose contour corresponds to the rupture line, is positioned relative to the orientation of the line L (for example to right of the line if we move in the direction of its orientation). Thus, in the case of FIGS. 4-7, the hatched portion in FIG. 7 belongs to the object whose break line L constitutes the contour.
Cette valeur z aux nœuds permet de calculer en chaque point d'une maille une valeur de z par une technique d'interpolation (affine par exemple). Lors de la reconstruction d'un point susceptible d'être reconstruit par plusieurs mailles, on calcule une valeur z en ce point pour ces différentes mailles, et on compare ces valeurs pour retenir la maille donnant la plus grande valeur z. Ceci permet de favoriser les objets en avant-plan par rapport à l'arrière-plan.This value z at the nodes makes it possible to calculate at each point of a mesh a value of z by an interpolation technique (affine for example). When reconstructing a point that can be reconstructed by several meshes, a value z is calculated at this point for these different meshes, and these values are compared to retain the mesh giving the largest value z. This helps to promote objects in the foreground relative to the background.
Lorsque plusieurs lignes de rupture apparaissent dans une zone de discontinuité, il y a plus de deux plans dans la portion correspondante de la séquence d'images. La détection des lignes de rupture permet de positionner les différents plans, et on leur affecte des valeurs z différenciées. La méthode précédente permet alors de sélectionner la maille pertinente pour la reconstruction de chaque point de l'image. Les valeurs z aux nœuds sont positionnées de manière à reconstruire au mieux l'image pour laquelle les mailles ont été introduites. Le positionnement peut se faire à l'aide d'un algorithme itératif de type ICM ("Itérative Condition Mode"), cherchant à minimiser l'erreur quadratique moyenne entre l'image initiale et l'image reconstruite. Lorsqu'il y a plusieurs lignes de rupture dans une zone de discontinuité, les valeurs z qui ont été déterminées pour les sous-maillages correspondants font partie des paramètres du mouvement à transmettre au décodeur. Une fois que le remaillage a été opéré au niveau le plus fin, la discontinuité que représente une ligne de rupture L est remontée dans les niveaux supérieurs jusqu'à sa disparition à un certain niveau. Tant que la discontinuité existe sur un niveau de maillage, la zone de discontinuité définie sur ce niveau est remaillée en tenant compte du remaillage du niveau inférieur pour conserver la hiérarchie du maillage.When several break lines appear in a discontinuity area, there are more than two planes in the corresponding portion of the image sequence. The detection of break lines makes it possible to position the different planes, and they are assigned differentiated z values. The preceding method then makes it possible to select the relevant mesh for the reconstruction of each point of the image. The z-values at the nodes are positioned so as to reconstruct at best the image for which the meshes were introduced. The positioning can be done using an iterative Condition Mode (ICM) algorithm, seeking to minimize the mean squared error between the initial image and the reconstructed image. When there are several break lines in a discontinuity zone, the z values that have been determined for the corresponding sub-meshes are part of the parameters of the movement to be transmitted to the decoder. Once the remaillage has been operated at the finest level, the discontinuity that represents a line of rupture L is raised in the higher levels until its disappearance at a certain level. As long as the discontinuity exists on a mesh level, the zone of discontinuity defined on this level is remailled taking into account the remaillage of the lower level to preserve the hierarchy of the mesh.
La remontée de la discontinuité dans la hiérarchie comprend deux étapes: déterminer la zone de discontinuité pour chaque niveau, et déterminer les contraintes imposées aux nœuds au bord de la zone. Soit nivFin le niveau le plus fin du maillage auquel le remaillage a été fait initialement. Si, pour un niveau n inférieur ou égal à nivFin, la zone de discontinuité a été détectée, la zone de discontinuité au niveau n-1 est définie par l'ensemble des mailles pères des mailles de la zone d'occlusion du niveau n, comme le montre la figure 8.The rise of the discontinuity in the hierarchy comprises two steps: determining the discontinuity zone for each level, and determining the constraints imposed on the nodes at the edge of the zone. Let nivFin be the finest level of the mesh to which remeshing was originally done. If, for a level n less than or equal to nivFin, the zone of discontinuity has been detected, the discontinuity zone at level n-1 is defined by the set of parent meshes of the meshes of the zone of occlusion of level n, as shown in Figure 8.
La contrainte des nœuds de bordure partagés par les deux sous- maillages est remontée dans la hiérarchie, par exemple selon l'algorithme suivant. Pour un nœud m constituant un nœud de bordure partagé au niveau n,The constraint of the border nodes shared by the two sub-meshes is raised in the hierarchy, for example according to the following algorithm. For a node m constituting a shared border node at level n,
si m a un père p au niveau n-1 , p devient nœud de bordure partagé au niveau n-1 ; sinon, soit A l'arête par laquelle la ligne de rupture L pénètre dans le triangle du niveau n-1 , q le nœud de la maille situé face à cette arête. On prolonge artificiellement la ligne de rupture L jusqu'à q, et ce nœud q devient nœud de bordure partagé pour le niveau n-1. if my father is p at level n-1, p becomes shared border node at level n-1; otherwise, let A be the edge by which the break line L enters the triangle of level n-1, q is the node of the mesh located in front of that edge. The breaking line L is artificially extended to q, and this node q becomes a shared border node for the n-1 level.
La création d'une nouvelle maille pour un niveau de hiérarchie n-1 inférieur à un niveau n qui a déjà été remaillé, peut être de trois types:The creation of a new mesh for a level of hierarchy n-1 lower than a level n which has already been re-worked, can be of three types:
1/ Figures 9a-d: la ligne de rupture L traverse entièrement la maille ABC appartenant à la zone de discontinuité au niveau n-1.1 / Figures 9a-d: the breaking line L passes entirely through the ABC mesh belonging to the discontinuity zone at level n-1.
Les nœuds de bordure pour le côté droit étant C et B, un nouveau nœudBorder nodes for the right side being C and B, a new node
A1 est créé au niveau n-1. La nouvelle maille A1BC du niveau n-1 prend pour mailles filles les mailles A'E'D', E1CF, D'FB et E'D'F du niveau n, oùA 1 is created at level n-1. The new mesh A 1 BC of the level n-1 takes for meshes girls the meshes A'E'D ', E 1 CF, D'FB and E'D'F of the level n, where
F est le milieu de l'arête B-C et D1 et E' sont les noeuds qui ont été créés par le remaillage du côté droit au niveau n. La maille A1E1D1 relève du niveau n même si elle n'a pas été générée lors du remaillage au niveau n, mais elle doit l'être au niveau supérieur n-1. De même, pour le dédoublement du côté gauche, le nœud de bordure est A, les nœuds B', C et F' ayant été créés par le remaillage du niveau n-1. La nouvelle maille AB1C du niveau n-1 a pour mailles filles AED, EC1F, EDF1 et DF1B' au niveau n, où D et E sont respectivement les milieux des arêtes A-B et A-C. / Figures 10a-d: la ligne de rupture L traverse la maille ABC appartenant à la zone de discontinuité au niveau n-1 en se terminant sur le nœud C.F is the middle of the edge BC and D 1 and E 'are the nodes that were created by remeshing the right side at level n. The mesh A 1 E 1 D 1 is of the level n even if it has not been generated during the remeshing at the level n, but it must be at the higher level n-1. Similarly, for the doubling of the left side, the edge node is A, the nodes B ', C and F' having been created by the remeshing of the level n-1. The new mesh AB 1 C of the level n-1 has for meshes girls AED, EC 1 F, EDF 1 and DF 1 B 'at level n, where D and E are respectively the midpoints of the edges AB and AC. / Figures 10a-d: the break line L crosses the mesh ABC belonging to the discontinuity zone at level n-1 ending at node C.
Ce cas ressemble au cas 1/, à la différence que le nœud C devient nœud de bordure partagé. Pour le remaillage du côté droit au niveau n-1 , C et B (par exemple) sont nœuds de bordure, et le nœud A' est créé. La nouvelle maille A1BC du niveau n-1 a pour mailles filles les mailles A'E'D', E1CF, D'FB et E1D1F du niveau n, dont la maille AΕ'D1 ajoutée lors du remaillage au niveau n. Pour le dédoublement du côté gauche, C et A sont nœuds de bordure, et le nœud B1 est créé. La nouvelle maille AB'C du niveau n-1 a pour mailles filles AED, ECF1, EF1D et DF1B' au niveau n. / Figures 1 1a-d: la ligne de rupture L ne traverse pas entièrement la maille ABC du niveau n-1.This case is similar to case 1 /, except that node C becomes a shared border node. For remeshing on the right side at level n-1, C and B (for example) are border nodes, and node A 'is created. The new mesh A 1 BC of the level n-1 has for meshes girls the meshes A'E'D ', E 1 CF, D'FB and E 1 D 1 F of the level n, whose mesh AΕ'D 1 added during remeshing at level n. For split on the left side, C and A are border nodes, and node B 1 is created. The new mesh AB'C of level n-1 has for meshes girls AED, ECF 1 , EF 1 D and DF 1 B 'at level n. / Figures 1 1a-d: the break line L does not completely cross the mesh ABC level n-1.
Au niveau n, elle est prolongée artificiellement soit jusqu'au nœud C opposé à l'arête E-F qu'elle traverse en entrant dans la maille, ce qui ramène au cas des figures 10a-d, soit jusqu'à une arête (E-F sur la figure 1 1a) opposée à l'arête entrante. E et F sont alors des nœuds bordure partagés au niveau n. Lorsqu'on considère le niveau supérieur hiérarchique du maillage (n-1 ), la ligne de rupture L est prolongée vers un nœud ou arête (cas similaire à ce que l'on vient de voir pour le niveau plus fin n). Sur la figure 1 1d, le contour a été prolongé sur le nœud C. Pour le remaillage du côté droit, C et B sont nœuds de bordure, et le nœud A1 est créé. La maille A1BC du niveau n-1 a pour mailles fillesAt level n, it is artificially extended either to the node C opposite to the edge EF that it passes through entering the mesh, which brings to the case of Figures 10a-d, or up to an edge (EF on Figure 1 1a) opposite to the incoming edge. E and F are then edge nodes shared at level n. When one considers the hierarchical superior level of the mesh (n-1), the line of rupture L is prolonged towards a node or edge (case similar to what one has just seen for the finer level n). In FIG. 11d, the contour has been extended on the node C. For remeshing on the right side, C and B are edge nodes, and the node A 1 is created. The mesh A 1 BC of the level n-1 has for meshes girls
A1ED', ED'F, EFC et D'FB au niveau n. La maille A1ED' relève du niveau n même si elle n'a pas été générée lors du remaillage au niveau n, mais elle doit l'être au niveau supérieur n-1. Pour le remaillage du côté gauche, les nœuds de bordure sont C et A, et le nœud B' est créé. La maille ACB' du niveau n-1 a pour mailles filles AED1 ECF, EDF et DFB1 au niveau n. On remarque que dans ce cas, la maille ECF du niveau n est partagée par les mailles A1BC et ACB1.A 1 ED ', ED'F, EFC and D'FB at level n. The mesh A 1 ED 'falls under level n even if it was not generated during the remeshing at level n, but it must be at the top level n-1. For remeshing on the left side, the border nodes are C and A, and the B 'node is created. The ACB 'mesh of level n-1 has for meshes girls AED 1 ECF, EDF and DFB 1 at level n. Note that in this case, the ECF mesh of the level n is shared by the meshs A 1 BC and ACB 1 .
Lorsque la ligne de rupture est entièrement contenue dans une maille, elle disparaît au niveau supérieur. Les nouveaux nœuds introduits au niveau courant pour la création de la nouvelle maille sont définis par leurs coordonnées barycentriques dans la maille parente du niveau supérieur. Ces nœuds auront ainsi un mouvement global influencé par les nœuds de la maille du niveau supérieur.When the line of rupture is entirely contained in a mesh, it disappears at the higher level. The new nodes introduced at the current level for the creation of the new mesh are defined by their barycentric coordinates in the parent mesh of the higher level. These nodes will thus have a global movement influenced by the nodes of the mesh of the higher level.
Les figures 12a-c montrent le cas de la disparition de la ligne de rupture. Au niveau n, la ligne de rupture a été prolongée jusqu'aux nœuds B et C, lesquels sont ainsi devenus des nœuds de bordure partagés. Le remaillage a introduit pour le côté droit les nœuds E' et D', et pour le côté haut le nœud F1. Au niveau n-1 , le contour est entièrement contenu dans la maille ABC. Pour le côté droit, le nœud A' est introduit pour former la maille A'BC. Pour le côté gauche, aucun nœud n'est introduit, le remaillage produisant la maille ABC initiale. La maille A1BC est contrainte à bouger avec le maillage initial ABC, de sorte que les points A et A' au niveau n-1 sont virtuellement les mêmes. Au niveau n, A' existe et est défini par ses coordonnées barycentriques dans ABC du niveau n-1.Figures 12a-c show the case of the disappearance of the break line. At level n, the break line was extended to nodes B and C, which became shared edge nodes. The remeshing introduced for the right side the nodes E 'and D', and for the high side the node F 1 . At the level n-1, the contour is entirely contained in the mesh ABC. For the right side, the node A 'is introduced to form the mesh A'BC. For the left side, no knot is introduced, the remeshing producing the initial mesh ABC. The mesh A 1 BC is forced to move with the initial mesh ABC, so that the points A and A 'at the level n-1 are virtually the same. At level n, A 'exists and is defined by its barycentric coordinates in ABC of level n-1.
Le processus de remaillage est compatible avec une approche multi- grille géométrique, parfois utilisée pour l'estimation de mouvement afin d'obtenir une pondération entre les nœuds de niveaux hiérarchiques successifs qui tient compte de la déformation du maillage inférieur. Dans ce cas, la pondération des nœuds peut se fait comme suit: (i) si le nœud fin est fils direct d'un nœud grossier, la pondération est de 1 ; (ii) si le nœud fin est issu de plusieurs nœuds grossiers, la pondération correspond à la moyenne des poids barycentriques du nœud fin par rapport aux nœuds grossiers.The remeshing process is compatible with a geometric multigrid approach, sometimes used for motion estimation in order to obtain a weighting between successive hierarchical level nodes that takes into account the deformation of the lower mesh. In this case, the weighting of the nodes can be done as follows: (i) if the end node is a direct child of a coarse node, the weighting is 1; (ii) if the end node is derived from several coarse nodes, the weighting is the average of the barycentric weights of the end node relative to the coarse nodes.
Une fois que le nouveau maillage a été complété à tous les niveaux hiérarchiques, le mouvement est réestimé sur le groupe d'images à l'étape 15. Cette réestimation peut être effectuée comme à l'étape 10, par exemple à l'aide des formules (1) à (6) ci-dessus, avec une précaution pour les pixels susceptibles d'être reconstruits par plusieurs triangles du nouveau maillage. Cette ambiguïté existe du fait que certaines mailles triangulaires du nouveau maillage se recouvrent.Once the new mesh has been completed at all levels hierarchical, the motion is reestimated on the group of images in step 15. This reestimation can be performed as in step 10, for example using the formulas (1) to (6) above, with a precaution for the pixels likely to be reconstructed by several triangles of the new mesh. This ambiguity exists because some triangular meshes of the new mesh overlap.
Pour la lever dans la zone de discontinuité, on définit un masque de visibilité à chaque temps t. Dans l'exemple illustré précédemment, ce masque correspond à la portion hachurée sur la figure 7. Il se compose des points qui, à l'instant t, sont à l'intérieur de la zone de discontinuité (c'est-à-dire n'appartiennent à aucune maille du maillage initial reprise dans le nouveau maillage) et se trouvent, par exemple, à droite de la ligne de rupture orientée L déterminée pour ce temps t. Les points intérieurs à la zone de discontinuité sont susceptibles d'être reconstruits soit par un triangle du sous-maillage droit, soit par un triangle du sous-maillage gauche. Le triangle i, j, k retenu pour l'application des formules (3)-(5) à un tel point est celui du sous-maillage droit si le point appartient au masque et celui du sous-maillage gauche sinon.To lift it in the discontinuity zone, a visibility mask is defined at each time t. In the example illustrated above, this mask corresponds to the hatched portion in FIG. 7. It consists of the points which, at time t, are inside the discontinuity zone (that is to say do not belong to any mesh of the initial mesh resumed in the new mesh) and are, for example, to the right of the L-oriented break line determined for this time t. The points inside the discontinuity zone are likely to be reconstructed either by a triangle of the right sub-mesh or by a triangle of the left sub-mesh. The triangle i, j, k retained for the application of formulas (3) - (5) at such a point is that of the right sub-mesh if the point belongs to the mask and that of the left sub-mesh if not.
L'ambiguïté existe aussi pour certains points extérieurs à la zone de discontinuité du fait du débordement des sous-maillages. Pour la lever, on utilise les valeurs z comme indiqué précédemment afin de décider si le sous- maillage qui déborde en dehors de la zone de discontinuité se trouve en avant- plan ou en arrière-plan. Ainsi, pour un point extérieur à la zone de discontinuité et appartenant à un triangle d'un sous-maillage, on calcule la valeur z relative à chaque triangle du maillage incluant ce point et on sélectionne celui qui donne la plus grande valeur z pour l'application des formules (3)-(5).The ambiguity also exists for certain points outside the discontinuity zone due to the overflow of the sub-meshes. To lift it, we use the z-values as indicated above to decide whether the sub-mesh that overflows outside the discontinuity zone is in the foreground or in the background. Thus, for a point outside the zone of discontinuity and belonging to a triangle of a sub-mesh, we calculate the value z relative to each triangle of the mesh including this point and we select the one which gives the greatest value z for application of formulas (3) - (5).
Pour améliorer la convergence de l'algorithme de minimisation à l'étape 15, on peut commencer la descente de gradient en initialisant les vecteurs de déplacement aux nœuds conservés du maillage initial aux valeurs qui ont été obtenues lors de la première estimation 10.To improve the convergence of the minimization algorithm in step 15, the gradient descent can be started by initializing the displacement vectors at the retained nodes of the initial mesh to the values that were obtained during the first estimation 10.
Au cours de la réestimation du mouvement 15, il se peut qu'à un instant t, un des nœuds ajoutés à l'étape de remaillage 14 ne reconstruise aucun point de l'image. Dans ce cas, la minimisation de la fonctionnelle (1) ne procure pas de vecteur de déplacement pour un tel nœud. Le vecteur de déplacement est alors régénéré par interpolation de ceux obtenus pour des nœuds voisins du même sous-maillage.During the reestimation of the movement 15, it is possible that at one instant t, one of the nodes added to the remeshing step 14 does not reconstruct no point of the image. In this case, the minimization of the functional (1) does not provide a displacement vector for such a node. The displacement vector is then regenerated by interpolation of those obtained for neighboring nodes of the same sub-mesh.
Finalement, les paramètres de mouvement délivrés à l'étape 20 lorsque le groupe d'image comporte au moins une zone de discontinuité comprennent:Finally, the motion parameters delivered in step 20 when the image group includes at least one discontinuity zone include:
(a) l'indication des mailles du maillage initial qui appartiennent à une zone de discontinuité; (b) pour chaque zone de discontinuité, la localisation d'au moins une ligne de rupture dans chaque image du groupe;(a) the indication of the meshes of the initial mesh which belong to a zone of discontinuity; (b) for each discontinuity zone, locating at least one break line in each image of the group;
(c) si une zone de discontinuité contient plus d'une ligne de rupture, une indication des valeurs z associées aux différents sous-maillages générés dans la zone, pour désigner la profondeur relative des objets; (d) les vecteurs de déplacement aux nœuds du maillage, calculés à l'étape 15.(c) if a discontinuity zone contains more than one break line, an indication of the z values associated with the different sub-meshes generated in the zone, to designate the relative depth of the objects; (d) the vectors of displacement at the nodes of the mesh, computed in step 15.
L'estimation de mouvement telle que décrite ci-dessus est notamment utilisable dans des applications de codage vidéo. Un schéma synoptique simplifié d'un codeur mettant en œuvre l'invention est présenté sur la figure 13. Un tel codeur procède à une estimation de mouvement sur une séquence d'images numérique d'un flux vidéo (module 36), et d'autre part à un codage de la texture (module 37) qui peut être réalisé selon diverses techniques connues dans le domaine du codage vidéo. Dans un codeur selon l'invention, le module 36 fonctionne selon le procédé décrit en référence à la figure 3. Les paramètres de mouvement (a)-(d) qu'il délivre font l'objet d'un codage par le module 38 avant d'être insérés dans le flux numérique de sortie du codeur par le module 39, avec les informations de codage de la texture.The motion estimation as described above is particularly usable in video coding applications. A simplified block diagram of an encoder embodying the invention is presented in FIG. 13. Such an encoder carries out a motion estimation on a digital image sequence of a video stream (module 36), and of on the other hand, to a texture coding (module 37) which can be implemented according to various techniques known in the field of video coding. In an encoder according to the invention, the module 36 operates according to the method described with reference to FIG. 3. The parameters of movement (a) - (d) that it delivers are coded by the module 38. before being inserted into the digital output stream of the encoder by the module 39, with the texture encoding information.
Un signal portant ce flux de sortie peut être transmis ou diffusé sur un canal de communication. Il peut aussi faire l'objet d'un enregistrement sur un support d'enregistrement tel qu'un disque optique, une bande magnétique, etc.A signal carrying this output stream can be transmitted or broadcast over a communication channel. It can also be recorded on a recording medium such as an optical disc, a magnetic tape, etc.
En référence à la figure 14, un décodeur vidéo compatible avec un tel codeur reçoit un flux d'entrée semblable au flux de sortie du codeur, et sépare dans ce flux les paramètres de mouvement et les informations de texture (module 40). Des modules 41 et 42 traitent respectivement ces informations pour décoder le mouvement et la texture dans les groupes d'images successifs de la séquence vidéo codée. Le mouvement et la texture décodés sont traités par un module de synthèse 43 pour reconstruire les images vidéo.With reference to FIG. 14, a video decoder compatible with such encoder receives an input stream similar to the output stream of the encoder, and separates in this stream the motion parameters and the texture information (module 40). Modules 41 and 42 respectively process this information to decode motion and texture in the successive image groups of the encoded video sequence. The decoded movement and texture are processed by a synthesis module 43 to reconstruct the video images.
Le fonctionnement du module 41 de décodage de mouvement est le suivant. Les groupes d'images sont d'abord repérés dans la séquence, comme dans un décodeur classique. A partir du maillage initial fixé par convention, le module 41 localise les zones de discontinuité d'après les informations (a) ci- dessus. Il place ensuite les lignes de rupture dans ces zones de discontinuité d'après leur localisation dans la première image du groupe (b). Le module 41 régénère alors le maillage non-manifold en procédant au remaillage des zones de discontinuité conformément à l'étape 14 précédemment décrite en référence aux figures 3 à 12. Les vecteurs de déplacement quantifiés affectés aux nœuds du maillage non-manifold sont indiqués dans le flux codé. Pour connaître le champ de déplacement de l'image à chaque temps t, le module 41 identifie la maille triangulaire servant à synthétiser le vecteur de déplacement de chaque point selon le même processus que celui utilisé par le codeur à l'étape 15 décrite précédemment, d'après la position du point par rapport à la ligne de rupture (b) (si ce point se trouve dans une zone de discontinuité) et d'après les valeurs z indicatives de la profondeur (c).The operation of the motion decoding module 41 is as follows. Groups of images are first identified in the sequence, as in a conventional decoder. From the initial mesh fixed by convention, the module 41 locates the discontinuity zones according to the information (a) above. He then places the break lines in these discontinuity zones according to their location in the first image of the group (b). The module 41 then regenerates the non-manifold mesh by remeshing the discontinuity zones in accordance with the step 14 previously described with reference to FIGS. 3 to 12. The quantized displacement vectors assigned to the nodes of the non-manifold mesh are indicated in FIG. the coded stream. To know the field of displacement of the image at each time t, the module 41 identifies the triangular mesh used to synthesize the displacement vector of each point according to the same process as that used by the encoder in step 15 described above, from the position of the point with respect to the break line (b) (if this point is in a discontinuity zone) and from the z-values indicative of depth (c).
Le codeur selon la figure 13, ou le décodeur selon la figure 14, peut être réalisé sous la forme d'un circuit électronique spécifique. Toutefois, il sera bien souvent réalisé sous forme de logiciel. Les étapes des procédés décrits ci- dessus sont alors contrôlées par des instructions d'un programme exécuté par un processeur de l'appareil de codage ou décodage vidéo. Pour le codage, cet appareil peut par exemple être un ordinateur, une caméra vidéo, une station de travail d'un relais de télévision, un appareil d'enregistrement, etc. Pour le décodage, il peut par exemple être un ordinateur, un lecteur de support d'enregistrement, un récepteur de signal de télévision, un afficheur d'images, etc. The encoder according to FIG. 13, or the decoder according to FIG. 14, can be made in the form of a specific electronic circuit. However, it will often be done as software. The steps of the methods described above are then controlled by instructions of a program executed by a processor of the video encoding or decoding apparatus. For coding, this apparatus may for example be a computer, a video camera, a workstation of a television relay, a recording apparatus, etc. For decoding, it may for example be a computer, a recording medium reader, a television signal receiver, an image display, etc.

Claims

R E V E N D I C A T I O N S
1. Procédé d'estimation de mouvement dans une séquence d'images numériques animées, comprenant les étapes suivantes:A motion estimation method in a sequence of moving digital images, comprising the steps of:
- générer un premier maillage, comprenant des mailles délimitées par des nœuds, à appliquer sur une image de référence de la séquence;generating a first mesh, comprising meshs delimited by nodes, to be applied to a reference image of the sequence;
- estimer un premier champ de déplacement dans un groupe d'images incluant l'image de référence, en affectant à chaque point d'une image une valeur de déplacement calculée d'après des valeurs affectées aux nœuds délimitant une maille du premier maillage à laquelle appartient ledit point;estimating a first displacement field in a group of images including the reference image, by assigning to each point of an image a displacement value calculated from values assigned to the nodes delimiting a mesh of the first mesh at which belongs to that point;
- détecter au moins une zone de discontinuité dans le premier maillage par analyse du premier champ de déplacement, chaque zone de discontinuité incluant au moins une maille remplissant un critère de déformation de maille dans le groupe d'images; - dans chaque zone de discontinuité détectée, déterminer au moins une ligne de rupture apparaissant dans le groupe d'images;detecting at least one discontinuity zone in the first mesh by analyzing the first displacement field, each discontinuity zone including at least one mesh fulfilling a mesh deformation criterion in the group of images; in each detected discontinuity zone, determining at least one break line appearing in the group of images;
- générer un second maillage à appliquer sur l'image de référence, comprenant une partie régulière composée de mailles du premier maillage qui n'appartiennent à aucune zone de discontinuité et, pour au moins une zone de discontinuité détectée, au moins deux sous-maillages qui se chevauchent dans une région incluant la ligne de rupture déterminée dans ladite zone de discontinuité, chacun des deux sous- maillages comprenant des mailles respectives délimitées par des nœuds incluant des nœuds partagés avec la partie régulière, situés en bordure de la zone de discontinuité, et des nœuds additionnels n'appartenant pas à la partie régulière, la ligne de rupture étant située entre les nœuds respectifs des deux sous-maillages partagés avec la partie régulière; etgenerating a second mesh to be applied to the reference image, comprising a regular part composed of meshes of the first mesh that do not belong to any discontinuity zone and, for at least one detected discontinuity zone, at least two sub-meshes overlapping in a region including the break line determined in said discontinuity zone, each of the two sub-meshes including respective meshs delimited by nodes including nodes shared with the regular portion, located at the edge of the discontinuity zone, and additional nodes not belonging to the regular part, the breaking line being located between the respective nodes of the two sub-meshes shared with the regular part; and
- estimer un second champ de déplacement dans le groupe d'images, en affectant à chaque point situé dans une zone de discontinuité détectée une valeur de déplacement calculée d'après des valeurs affectées aux nœuds délimitant une maille sélectionnée du second maillage à laquelle appartient ledit point, Ia maille sélectionnée dépendant de la position dudit point par rapport à la ligne de rupture déterminée dans ladite zone de discontinuité.estimating a second displacement field in the group of images, by assigning to each point situated in a detected discontinuity zone a displacement value calculated from values assigned to nodes defining a selected mesh of the second mesh to which said point belongs, the selected mesh depending on the position of said point with respect to the predetermined break line in said discontinuity zone.
2. Procédé selon la revendication 1 , dans lequel la zone de discontinuité est séparée par la ligne de rupture en deux parties respectivement associées aux deux sous-maillages, et dans lequel pour un point situé dans ladite zone de discontinuité et appartenant à plusieurs mailles, on sélectionne une maille du sous-maillage associé à la partie de la zone de discontinuité où se trouve ce point.2. The method of claim 1, wherein the discontinuity zone is separated by the break line into two parts respectively associated with the two sub-meshes, and wherein for a point in said discontinuity zone and belonging to several meshes, we select a mesh of the sub-mesh associated with the part of the zone of discontinuity where is this point.
3. Procédé selon la revendication 1 ou 2, dans lequel les premier et second maillages sont des maillages hiérarchiques, les estimations de champs de déplacement étant opérées en allant d'un niveau hiérarchique le plus grossier vers un niveau hiérarchique le plus fin des maillages, dans lequel la zone de discontinuité est détectée comme un ensemble connexe de mailles du niveau hiérarchique le plus fin remplissant le critère de déformation de maille, et dans lequel la zone de discontinuité est définie aux niveaux hiérarchiques supérieurs comme étant composée d'au moins une maille incluant au moins une maille respective du niveau hiérarchique le plus fin remplissant le critère de déformation de maille.The method of claim 1 or 2, wherein the first and second meshes are hierarchical meshes, the displacement field estimates being operated by going from a coarser hierarchical level to a finer hierarchical level of the meshes, wherein the discontinuity zone is detected as a connected set of meshes of the finest hierarchical level fulfilling the mesh deformation criterion, and wherein the discontinuity zone is defined at the higher hierarchical levels as being composed of at least one mesh including at least one respective mesh of the finest hierarchical level fulfilling the mesh deformation criterion.
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel les deux sous-maillages du second maillage sont générés en commençant au niveau hiérarchique le plus fin nivFin, les mailles des niveaux supérieurs étant ensuite générées lors d'une remontée progressive dans la hiérarchie, la remontée d'un niveau hiérarchique n à un niveau hiérarchique immédiatement supérieur n-1 comprenant les étapes suivantes pour chacun des sous-maillages et pour 1 < n ≤nivFin:4. The method as claimed in claim 1, in which the two sub-meshes of the second mesh are generated starting at the finest hierarchical level nivFin, the meshes of the higher levels being then generated during a progressive reassembly. in the hierarchy, the rise from a hierarchical level n to an immediately higher hierarchical level n-1 comprising the following steps for each of the sub-meshes and for 1 <n ≤nivFin:
/a/ intégrer chaque maille dudit sous-maillage précédemment définie au niveau n à une nouvelle maille dudit sous-maillage générée au niveau n-1 ; IbI prendre n' = n;/ a / integrating each mesh of said sub-mesh previously defined at level n into a new mesh of said sub-mesh generated at level n-1; IbI take n '= n;
/c/ si ladite nouvelle maille du niveau rï-1 ne peut pas être complétée avec des mailles dudit sous-maillage déjà générées au niveau n', générer au niveau n1 au moins une nouvelle maille dudit sous-maillage pour compléter ladite nouvelle maille du niveau n'-1 ; et lui si n1 < nivFin, augmenter n1 d'une unité et répéter à partir de l'étape Ici./ c / if said new mesh of level ri-1 can not be completed with meshes of said sub-mesh already generated at level n ', generating at level n 1 at least one new mesh of said sub-mesh to complete said new mesh level n-1; and he if n 1 <nivFin, increase n 1 by one unit and repeat from the step here.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel on affecte des valeurs de profondeur respectives aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous-maillage du second maillage, la valeur affectée aux nœuds additionnels d'un sous-maillage généré pour une zone de discontinuité détectée étant fonction de la position dudit sous-maillage par rapport à la ligne de rupture déterminée dans ladite zone, et dans lequel l'étape d'estimation du second champ de déplacement comprend pour chaque point d'une image appartenant à une maille de la partie régulière du second maillage et à au moins une maille d'un sous-maillage, le calcul pour chaque maille incluant ce point d'une somme pondérée des valeurs de profondeur respectivement affectées aux nœuds délimitant ladite maille, et la sélection, pour l'affectation d'une valeur de déplacement audit point, de la maille pour laquelle la somme pondérée calculée est maximale.5. Method according to any one of claims 1 to 4, in which respective depth values are assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh, the value assigned to the additional nodes of a sub-mesh generated for a detected discontinuity zone being a function of the position of said sub-mesh relative to the breaking line determined in said zone, and wherein the step of estimating the second displacement field comprises for each point an image belonging to a mesh of the regular part of the second mesh and at least one mesh of a sub-mesh, the calculation for each mesh including this point of a weighted sum of the depth values respectively assigned to the nodes delimiting said mesh, and the selection, for the assignment of a displacement value to said point, of the mesh for which the calculated weighted sum is maximum.
6. Dispositif d'estimation de mouvement dans une séquence d'images numériques animées, comprenant des moyens (36) adaptés à la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 5.A motion estimation device in an animated digital image sequence, comprising means (36) suitable for carrying out a method according to any one of claims 1 to 5.
7. Programme d'ordinateur à installer dans un appareil de traitement d'images animées, comprenant des instructions pour mettre en œuvre les étapes d'un procédé d'estimation de mouvement selon l'une quelconque des revendications 1 à 5 lors d'une exécution du programme par une unité de calcul dudit appareil.A computer program to be installed in a moving image processing apparatus, comprising instructions for carrying out the steps of a motion estimation method according to any one of claims 1 to 5 in a execution of the program by a computing unit of said apparatus.
8. Codeur vidéo, comprenant des moyens (36) d'estimation de mouvement dans une séquence d'images numériques animées et des moyens (38-39) pour construire un flux de sortie incluant des paramètres de mouvement produits par les moyens d'estimation de mouvement, dans lequel les moyens d'estimation de mouvement sont agencés pour opérer conformément à un procédé selon l'une quelconque des revendications 1 à 5.A video encoder comprising motion estimating means (36) in an animated digital image sequence and means (38-39) for constructing an output stream including motion parameters produced by the motion estimation means, wherein the motion estimation means is arranged to operate according to a method according to any one of the claims 1 to 5.
9. Codeur vidéo selon la revendication 8, dans lequel les paramètres de mouvement inclus dans le flux de sortie comprennent:The video encoder of claim 8, wherein the motion parameters included in the output stream comprise:
- des paramètres indiquant les mailles du premier maillage dont est composée chaque zone de discontinuité détectée;parameters indicating the meshes of the first mesh of which each zone of detected discontinuity is composed;
- des paramètres de positionnement d'une ligne de rupture déterminée dans chaque zone de discontinuité détectée; etpositioning parameters of a determined breaking line in each zone of discontinuity detected; and
- des paramètres décrivant des valeurs de déplacement affectées aux nœuds du second maillage, obtenues dans l'estimation du second champ de déplacement.parameters describing displacement values assigned to the nodes of the second grid, obtained in the estimation of the second displacement field.
10. Codeur vidéo selon la revendication 9, dans lequel les paramètres de mouvement inclus dans le flux de sortie comprennent en outre des paramètres indiquant des valeurs de profondeur respectivement affectées aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous- maillage du second maillage généré par les moyens d'estimation de mouvement.The video encoder according to claim 9, wherein the motion parameters included in the output stream further comprise parameters indicating depth values respectively assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second. mesh generated by the motion estimation means.
1 1. Signal représentatif d'une séquence d'images numériques animées, comportant une représentation de paramètres de mouvement comprenant, pour un groupe d'images incluant une image de référence:1 1. Signal representative of a sequence of animated digital images, comprising a representation of motion parameters comprising, for a group of images including a reference image:
- des premiers paramètres de mouvement indiquant, dans un premier maillage à appliquer sur l'image de référence, des mailles dont est composée au moins une zone de discontinuité dans le groupe d'images;first motion parameters indicating, in a first mesh to be applied to the reference image, meshes of which at least one discontinuity zone is composed in the group of images;
- des seconds paramètres de mouvement pour positionner au moins une ligne de rupture dans chaque zone de discontinuité; etsecond movement parameters for positioning at least one break line in each discontinuity zone; and
- des troisièmes paramètres de mouvement décrivant des valeurs de déplacement affectées aux nœuds d'un second maillage à appliquer sur rimage de référence, le second maillage comprenant une partie régulière composée de mailles du premier maillage qui n'appartiennent à aucune zone de discontinuité et, pour au moins une zone de discontinuité, au moins deux sous-maillages qui se chevauchent dans une région incluant la ligne de rupture positionnée dans ladite zone de discontinuité, chacun des deux sous-maillages comprenant des mailles respectives délimitées par des nœuds incluant des nœuds partagés avec la partie régulière, situés en bordure de la zone de discontinuité, et des nœuds additionnels n'appartenant pas à la partie régulière, la ligne de rupture étant située entre les nœuds respectifs des deux sous-maillages partagés avec la partie régulière.third movement parameters describing displacement values assigned to the nodes of a second mesh to be applied to a reference image, the second mesh comprising a regular part composed of meshes of the first mesh that do not belong to any discontinuity zone and, for at least one discontinuity zone, at least two sub-meshes that overlap in a region including the breaking line positioned in said discontinuity zone, each of the two sub-meshes comprising respective meshes delimited by nodes including nodes shared with the regular part, situated at the edge of the discontinuity zone, and additional nodes not belonging to to the regular part, the breaking line being located between the respective nodes of the two sub-meshes shared with the regular part.
12. Signal selon la revendication 1 1 , dans lequel les paramètres de mouvement comprennent en outre des paramètres indiquant des valeurs de profondeur respectivement affectées aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous-maillage du second maillage.The signal according to claim 11, wherein the motion parameters further comprise parameters indicating depth values respectively assigned to the nodes of the regular part and the additional nodes of each sub-mesh of the second mesh.
13. Support d'enregistrement, sur lequel est enregistré un signal conforme à la revendication 1 1 ou 12.13. Recording medium, on which is recorded a signal according to claim 1 1 or 12.
14. Procédé de décodage de mouvement dans une séquence d'images numériques animées, à l'aide de maillages d'image comprenant des mailles délimitées par des nœuds, le procédé comprenant les étapes suivantes:A method of motion decoding in a sequence of animated digital images, using image meshes comprising meshs delimited by nodes, the method comprising the following steps:
- recevoir un flux d'entrée incluant des paramètres de mouvement comprenant, pour un groupe d'images incluant une image de référence:receiving an input stream including motion parameters comprising, for a group of images including a reference image:
• des premiers paramètres de mouvement indiquant, dans un premier maillage à appliquer sur l'image de référence, des mailles dont est composée au moins une zone de discontinuité dans le groupe d'images;First motion parameters indicating, in a first mesh to be applied to the reference image, meshes of which at least one discontinuity zone is composed in the group of images;
• des seconds paramètres de mouvement pour positionner au moins une ligne de rupture dans chaque zone de discontinuité; etSecond motion parameters for positioning at least one break line in each discontinuity zone; and
• des troisièmes paramètres de mouvement décrivant des valeurs de déplacement affectées aux nœuds d'un second maillage à appliquer sur l'image de référence, le second maillage comprenant une partie régulière composée de mailles du premier maillage qui n'appartiennent à aucune zone de discontinuité et, pour au moins une zone de discontinuité, au moins deux sous-maillages qui se chevauchent dans une région incluant la ligne de rupture positionnée dans ladite zone de discontinuité, chacun des deux sous-maillages comprenant des mailles respectives délimitées par des nœuds incluant des nœuds partagés avec la partie régulière, situés en bordure de la zone de discontinuité, et des nœuds additionnels n'appartenant pas à la partie régulière, la ligne de rupture étant située entre les nœuds respectifs des deux sous- maillages partagés avec la partie régulière;Third movement parameters describing displacement values assigned to the nodes of a second mesh to be applied on the reference image, the second mesh comprising a regular part composed of meshes of the first mesh which do not belong to any discontinuity zone and, for at least one discontinuity zone, at least two sub-meshes which overlap in a a region including the break line positioned in said discontinuity zone, each of the two sub-meshes comprising respective meshs delimited by nodes including nodes shared with the regular part, located at the edge of the discontinuity zone, and additional nodes n not belonging to the regular part, the breaking line being situated between the respective nodes of the two sub-meshes shared with the regular part;
- générer le second maillage sur la base des premiers et seconds paramètres de mouvement; et - générer un champ de déplacement dans le groupe d'images, en affectant à chaque nœud du second maillage des valeurs de déplacement obtenues à partir des troisièmes paramètres de mouvement et en affectant à chaque point situé dans une zone de discontinuité détectée une valeur de déplacement calculée d'après les valeurs affectées aux nœuds délimitant une maille sélectionnée du second maillage à laquelle appartient ledit point, la maille sélectionnée dépendant de la position dudit point par rapport à la ligne de rupture déterminée dans ladite zone de discontinuité.generating the second mesh based on the first and second motion parameters; and - generating a displacement field in the group of images, assigning to each node of the second mesh displacement values obtained from the third motion parameters and assigning to each point in a detected discontinuity zone a value of displacement calculated from the values assigned to the nodes delimiting a selected mesh of the second mesh to which said point belongs, the selected mesh depending on the position of said point with respect to the break line determined in said discontinuity zone.
15. Procédé selon la revendication 14, dans lequel la zone de discontinuité est séparée par la ligne de rupture en deux parties respectivement associées aux deux sous-maillages, et dans lequel pour un point situé dans ladite zone de discontinuité et appartenant à plusieurs mailles, on sélectionne une maille du sous-maillage associé à la partie de la zone de discontinuité où se trouve ce point.15. The method of claim 14, wherein the discontinuity zone is separated by the break line into two parts respectively associated with the two sub-meshes, and wherein for a point in said discontinuity zone and belonging to several meshes, we select a mesh of the sub-mesh associated with the part of the zone of discontinuity where is this point.
16. Procédé selon la revendication 14 ou 15, dans lequel les paramètres de mouvement du flux d'entrée comprennent en outre des valeurs de profondθur respectivement affectées aux nœuds de la partie régulière et aux nœuds additionnels de chaque sous-maillage du second maillage, la valeur affectée aux nœuds additionnels d'un sous-maillage correspondant à une zone de discontinuité étant fonction de la position dudit sous-maillage par rapport à la ligne de rupture positionnée dans ladite zone, et dans lequel l'étape de génération du champ de déplacement comprend pour chaque point d'une image appartenant à une maille de la partie régulière du second maillage et à au moins une maille d'un sous-maillage, le calcul pour chaque maille incluant ce point d'une somme pondérée des valeurs de profondeur respectivement affectées aux nœuds délimitant ladite maille, et la sélection, pour l'affectation d'une valeur de déplacement audit point, de la maille pour laquelle la somme pondérée calculée est maximale.The method of claim 14 or 15, wherein the motion parameters of the input stream further comprise values of depths respectively assigned to the nodes of the regular part and to the additional nodes of each sub-mesh of the second mesh, the value assigned to the additional nodes of a sub-mesh corresponding to a discontinuity zone being a function of the position of said sub-mesh by relative to the break line positioned in said zone, and wherein the step of generating the displacement field comprises for each point of an image belonging to a mesh of the regular part of the second mesh and to at least one mesh of a sub-mesh, the calculation for each mesh including this point of a weighted sum of the depth values respectively assigned to the nodes defining said mesh, and the selection, for the assignment of a displacement value to said point, of the mesh for which the calculated weighted sum is maximum.
17. Dispositif de décodage de mouvement dans une séquence d'images numériques animées, comprenant des moyens (41) adaptés à la mise en œuvre d'un procédé selon l'une quelconque des revendications 14 à 16.17. A motion decoding device in a sequence of animated digital images, comprising means (41) adapted to the implementation of a method according to any one of claims 14 to 16.
18. Programme d'ordinateur à installer dans un appareil de traitement d'images animées, comprenant des instructions pour mettre en œuvre les étapes d'un procédé de décodage de mouvement selon l'une quelconque des revendications 14 à 16 lors d'une exécution du programme par une unité de calcul dudit appareil.A computer program to be installed in a moving image processing apparatus, comprising instructions for implementing the steps of a motion decoding method according to any one of claims 14 to 16 during execution. of the program by a computing unit of said apparatus.
19. Décodeur vidéo, comprenant des moyens (41) de décodage de mouvement et des moyens de synthèse (43) pour construire une séquence d'images numériques animées en prenant en compte un champ de déplacement généré par les moyens de synthèse de mouvement, dans lequel les moyens de décodage de mouvement sont agencés pour opérer conformément à un procédé selon l'une quelconque des revendications 14 à 16. 19. A video decoder, comprising means (41) for motion decoding and synthesis means (43) for constructing a sequence of animated digital images by taking into account a displacement field generated by the motion synthesis means, in wherein the motion decoding means is arranged to operate according to a method according to any one of claims 14 to 16.
EP05805589A 2004-09-15 2005-09-06 Method for estimating motion using deformable meshes Ceased EP1790169A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0409778 2004-09-15
PCT/FR2005/002216 WO2006030103A1 (en) 2004-09-15 2005-09-06 Method for estimating motion using deformable meshes

Publications (1)

Publication Number Publication Date
EP1790169A1 true EP1790169A1 (en) 2007-05-30

Family

ID=34950345

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05805589A Ceased EP1790169A1 (en) 2004-09-15 2005-09-06 Method for estimating motion using deformable meshes

Country Status (5)

Country Link
US (1) US8761250B2 (en)
EP (1) EP1790169A1 (en)
JP (1) JP4870081B2 (en)
CN (1) CN101036390B (en)
WO (1) WO2006030103A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8400472B2 (en) * 2009-02-25 2013-03-19 Technion Research & Development Foundation Limited Method and system of geometric deformation
US8295364B2 (en) * 2009-04-02 2012-10-23 Sony Corporation System and method of video data encoding with minimum baseband data transmission
JP2010258739A (en) * 2009-04-24 2010-11-11 Sony Corp Image processing apparatus, method and program
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
EP2582134A1 (en) * 2011-10-12 2013-04-17 Thomson Licensing Saliency value determination of predictively encoded video streams
EP3516872A4 (en) * 2016-09-21 2020-04-15 Kakadu R & D Pty Ltd Base anchored models and inference for the compression and upsampling of video and multiview imagery
CN107621403B (en) * 2017-10-24 2019-10-08 岭东核电有限公司 A method of acquisition buried concrete true mechanical property and this structure after by sulfate attack
KR102167071B1 (en) * 2019-11-29 2020-10-16 한길씨앤씨 주식회사 System and method for recognizing image using descriptor matching pair analysis technology

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06339136A (en) * 1993-03-31 1994-12-06 Toshiba Corp Motion picture processing method and device
JP2798120B2 (en) * 1995-08-04 1998-09-17 日本電気株式会社 Motion compensated interframe prediction method and motion compensated interframe prediction device
JP3700230B2 (en) * 1996-01-12 2005-09-28 株式会社日立製作所 Motion compensation method in video coding
US5999651A (en) * 1997-06-06 1999-12-07 Matsushita Electric Industrial Co., Ltd. Apparatus and method for tracking deformable objects
FR2783123B1 (en) 1998-09-04 2000-11-24 France Telecom METHOD FOR ESTIMATING MOTION BETWEEN TWO IMAGES
JP3414683B2 (en) * 1999-11-16 2003-06-09 株式会社国際電気通信基礎技術研究所 METHOD AND APPARATUS FOR MEASURING SURFACE MOTION OF OBJECT
FR2802377B1 (en) 1999-12-09 2002-03-08 France Telecom METHOD FOR ESTIMATING MOTION BETWEEN TWO IMAGES WITH MANAGEMENT OF MESH RETURNS AND CORRESPONDING CODING METHOD
FR2820255A1 (en) * 2001-01-26 2002-08-02 France Telecom METHODS FOR ENCODING AND DECODING IMAGES, DEVICES, SYSTEMS, SIGNALS AND APPLICATIONS THEREOF
US7221366B2 (en) * 2004-08-03 2007-05-22 Microsoft Corporation Real-time rendering system and process for interactive viewpoint video

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN101036390A (en) 2007-09-12
CN101036390B (en) 2010-06-16
WO2006030103A1 (en) 2006-03-23
JP4870081B2 (en) 2012-02-08
JP2008514073A (en) 2008-05-01
WO2006030103A8 (en) 2007-05-03
US8761250B2 (en) 2014-06-24
US20070291845A1 (en) 2007-12-20

Similar Documents

Publication Publication Date Title
Zhang et al. Multi-scale single image dehazing using perceptual pyramid deep network
EP1604529B1 (en) Methods and devices for encoding and decoding a sequence of images by means of motion/texture decomposition and wavelet encoding
EP1790169A1 (en) Method for estimating motion using deformable meshes
Alsaiari et al. Image denoising using a generative adversarial network
EP2481023B1 (en) 2d to 3d video conversion
US20030081836A1 (en) Automatic object extraction
EP1299859A1 (en) Motion estimator for coding and decoding image sequences
TW202037169A (en) Method and apparatus of patch segmentation for video-based point cloud coding
Jantet Layered depth images for multi-view coding
EP1413140B1 (en) Method for estimating the motion between two images with management of mesh overturning, and corresponding coding method
FR2813485A1 (en) METHOD FOR CONSTRUCTING AT LEAST ONE INTERPRETED IMAGE BETWEEN TWO IMAGES OF AN ANIMATED SEQUENCE, METHODS OF ENCODING AND DECODING, SIGNAL AND CORRESPONDING DATA CARRIER
EP0961227B1 (en) Method of detecting the relative depth between two objects in a scene from a pair of images taken at different views
FR2742901A1 (en) METHOD FOR CORRECTING MOTION ESTIMATION IN PICTURES WITH PERIODIC STRUCTURES
CN111681192B (en) Bit depth enhancement method for generating countermeasure network based on residual image condition
Panda et al. An efficient image interpolation using edge-error based sharpening
WO2004114669A2 (en) Method of representing a sequence of pictures using 3d models, and corresponding devices and signal
EP2737452B1 (en) Method for encoding an image after resizing by deleting pixels and image transmission method between a transmitter and receiver
Corrigan et al. Pathological motion detection for robust missing data treatment
Rane et al. Image Denoising using Adaptive Patch Clustering with Suboptimal Wiener Filter in PCA Domain
Kokaram et al. Twenty years of Frame Interpolation for Retiming in the Movies
EP0771115A1 (en) Method and apparatus for region based motion estimation between images and moving image coding apparatus using segmented images therefor
Laccetti et al. P-LSR: a parallel algorithm for line scratch restoration
CN117853340A (en) Remote sensing video super-resolution reconstruction method based on unidirectional convolution network and degradation modeling
Maalouf et al. Bandelet-based video inpainting
Medeiros et al. Iterative disparity estimation for multiview video applications

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

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 HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20070814

DAX Request for extension of the european patent (deleted)
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: 20160926