The invention relates to the general domain of image coding.
The invention relates to a method for coding a block of a sequence of images and a corresponding method for reconstructing such a block.
In reference to
During a step 12, the residue block Br is determined by extracting from the current block Bc, the prediction block Bp.
During a step 14, the residue block is coded in a stream F. This step of coding generally comprises, the transformation of the residue block into a block of coefficients, the quantizing of these coefficients and their entropy coding in a stream F.
To determine the prediction block Bp, it is known in the art to apply an iterative method of atomic decomposition such as “matching pursuit” to a vector of data comprising at least reconstructed image data of blocks neighbouring said current block. The atomic decomposition comprises the selection, in an iterative way, of atoms in a dictionary of atoms. Typically the dictionary comprises atoms called analytical or theoretical atoms, i.e. corresponding to basic functions of a transform, for example DCT (Discrete Cosine Transform) or DFT (Discrete Fourier Transform). The analytical or theoretical atoms are perfectly described by their mathematical formulations. In
This increase in the size of the dictionary induces an increase in the calculation cost. In fact, during the atomic decomposition, more atoms must be tested.
The purpose of the invention is to overcome at least one of the disadvantages of the prior art. For this purpose, the invention relates to a method for coding a current block of a sequence of images comprising the following steps for:
At each iteration the step of decomposition into atoms comprises the following steps for:
Advantageously, the coding method according to the invention enables a great number of atoms to be tested due to the use of patches. These patches enable, for a first selected textured atom, to test numerous re-phased atoms with respect to this textured atom due particularly to the step of phase correlation.
To test the same number of atoms with one of the methods of the prior art, it would be necessary to increase the size of the first dictionary inserting re-phased atoms for each textured atom. However, the decomposition into atoms from such an enlarged dictionary is a lot more costly. For example, in the case of a decomposition based on a matching pursuit type algorithm, this approach requires at least one scalar product to be carried out for each atom of the first dictionary which is a lot more costly than to do the scalar products on a first dictionary of reduced size and to test several re-phased atoms by a simple phase correlation using a second dictionary as is done in the coding method of the invention.
In addition, the fact of testing numerous re-phased atoms using the second dictionary enables the number of iterations to be reduced.
According to a particular characteristic of the invention, the patches of the second dictionary are of circular symmetry.
According to another particular characteristic of the invention, the patches of the second dictionary have a form that depends on their content.
According to a particular characteristic, the second dictionary comprises at least two patches of different sizes.
According to an embodiment variant, the step of extraction comprises the extraction of the N parts most correlated with the residue vector, each part extracted forming a re-phased atom and the step of selection comprises the selection, from among the first atom and the re-phased atoms, of the atom most correlated with the current residue vector.
The invention also relates to a method for reconstruction of a current block of a sequence of images in the form of a stream comprising the following steps for:
At each iteration, the step of decomposition into atoms comprises the following steps for:
The same advantages as those mentioned in reference to the coding method apply to the method for reconstruction.
According to a particular characteristic of the invention, the patches of the second dictionary are of circular symmetry.
According to another particular characteristic of the invention, the patches of the second dictionary have a form that depends on their content.
According to a particular characteristic, the second dictionary comprises at least two patches of different sizes.
According to an embodiment variant, the step of extraction comprises the extraction of the N parts most correlated with the residue vector, each part extracted forming a re-phased atom and the step of selection comprises the selection, from among the first atom and the re-phased atoms, of the atom most correlated with the current residue vector.
The invention will be better understood and illustrated by means of embodiments and advantageous implementations, by no means limiting, with reference to the figures in the appendix, wherein:
An image comprises pixels or image points with each of which is associated at least one item of image data. An item of image data is for example an item of luminance data or an item of chrominance data.
The term “residue” designates the data obtained after extraction of other data. The extraction is generally a subtraction of prediction pixels from source pixels. However, the extraction is more general and comprises notably a weighted subtraction.
The term “reconstructs” designates data (for example pixels, blocks) obtained after merging of residues with prediction data. The merge is generally a sum of residue prediction pixels. However, the merging is more general and comprises notably the weighted sum. A reconstructed block is a block of reconstructed pixels.
In reference to image decoding, the terms “reconstruction” and “decoding” are very often used as being synonymous. Thus, a “reconstructed block” is also designated under the terminology of “decoded block”.
The method for coding according to the invention is based on a method for atomic decomposition. Various methods exist enabling an atomic decomposition to be obtained from a signal Y. Among them, one of the most well known is identified under the term “matching pursuit”. Note that variants of “matching pursuit” can be used such as “orthogonal matching pursuit” or “Global Matched Filter”.
The general principle of atomic decomposition and of “matching pursuit” is described hereafter. Let Y be a source vector of dimensions N and A a matrix of dimensions N×M with M>>N. The columns aj of A are the
atoms, analytical or textured, of a dictionary that are used to represent the source vector Y. The purpose of the atomic decomposition of the source signal Y is to determine the vector X of dimension M such that Y=AX. There are an infinity of solutions for the vector X. The purpose of parsimonious representations is to search among all the solutions of Y=AX, for those that are parsimonious, i.e. those for which the vector X has only a low number of non-null coefficients. The search for the exact solution is too complex in practice as it requires a very costly combinatory approach. In general, a parsimonious representation is sought instead that verifies N(Y−AX)≦ρ, where ρ is a tolerance threshold that controls the parsimony of the representation and where N(•) is for example the squared norm L2. Naturally, N(•) can be a norm other than the norm L2.
The method of “Matching Pursuit” (MP) enables such a sub-optimal, i.e. non-exact solution to be obtained, using an iterative method. The method generates at each iteration k, a representation Xk, dimension vector M, having a number of non-null coefficients that increases in general (except if the same atom is selected during several iterations) at each new iteration k. The MP method is described in detail in reference to
The known data are the source signal Y, the dictionary A and the threshold p. During an initialisation step 20 (iteration k=0), the data X0 and R0 are initialised, where R0 is an initial vector of residual error or residue vector. For example, X0=0 and the initial vector of residual error or residue vector R0 is initialised as follows: R0=Y−AX0=Y.
During a step 22, corresponding to the kth iteration, the base function aj
where <•> is the scalar product operator.
During a step 24, the vector Xk and the residue vector Rk are updated.
The coefficient xj
The residue vector Rk is updated according to the following formula:
The coefficient xj
During a step 26, there is a check to see if the stopping criterion is satisfied. If N(Y−AXk)≦ρ then the procedure is terminated if not k is incremented by 1 during a step 28 and the procedure resumes at step 22. The final vector AXK is an approximation of the source signal Y, where K is the index of the last iteration.
In
The dictionary A is completed by textured atoms of the same size as the analytical atoms. The dictionary A must comprise at minimum 9n2 atoms to represent the zone L. In order to be able to contain 9n2 two-dimensional atoms for which the size of each is 3n×3n in a 2D matrix, the atoms are vectored. Thus, the dictionary A is constituted of a minimum of 9n2 columns each of which represents an analytical or textured atom, of size 9n2×1. A designates both the dictionary and the corresponding matrix.
The choice of DCT and DFT atoms is not a limitation. In fact, the dictionary can be enriched from any base functions able to represent any pattern type in an image (Gabor atoms, anisotropic atoms, etc.) The number of atoms or again, the number of columns in the matrix A has as a minimum value, the size of the vectored zone L (i.e. 9n2) but does not have a theoretical maximum value. The more the quantity of atoms is great, the more chance there is of recovering the signal.
The second dictionary is formed of patches that are bigger than the atoms of the first dictionary. These patches like the textured atoms come from natural images. More specifically, with each textured atom of the first dictionary or with each textured atom of a part only of the first dictionary is associated a patch of the second dictionary. The patches of the second dictionary are for example extracted from natural or synthetic images. The patches can be of rectangular form. According to a variant, the form of the patch depends on the content. For example, if the patch comprises essentially vertical structures, it will be rectangular preferably wider than it is high. In the contrary case, i.e. if it comprises essentially horizontal structures, it will be rectangular preferably higher than it is wide. Likewise, the patches can be of circular symmetry. Advantageously, the textured atoms of the first dictionary are obtained by extracting a textured atom from each patch of the second dictionary, for example the textured atom is centred in the patch. The size of patches of the second dictionary can also vary from one patch to another. However the fact that the textured atom is centred in the patch has no mandatory character. Likewise, the invention is in no way limited by the way in which the textured atoms are generated from patches, or by the way the patches are determined from natural images. Like the MP method described previously in reference to
During a step 32, a first atom aj
During a step 34, a second atom pj
During a step 340, the residue vector Rk-1 used to determine aj
During a step 342, the part of the patch most correlated in terms of phase correlation with the residue vector Rk-1 is extracted from the patch. This extracted part is called the re-phased atom and noted as pi
According to a variant, the phase correlation provides N displacements (dx, dy) between the residue Rk-1 and the content of the patch Pj
During a step 36, the atom most correlated with Rk-1 is selected from among aj
During a step 38, the vector Xk and the residue vector Rk are updated according to the atom selected. The coefficient xi
The method for refined atomic decomposition described in reference to
During a step 52, an atomic decomposition is applied as described in reference to
In order to be able to represent the data of Yp that is of dimensions 4n2×1 (and not those of Y), the matrix A is modified by removing its lines corresponding to all the pixels outside the zone C. In fact, all these pixels are unknown and have a value of zero. A matrix is thus obtained, noted as Ac, compacted in the sense of the height, of size 4n2×9n2. The steps 32 to 40 described in reference to
During a step 54, the vector Ŷp of size n2 that corresponds to the zone P is extracted from Ŷ as shown in
During a step 56, the residue block Br is determined by extracting from the current block Bc, the prediction block Bp.
During a step 58, the residue block is coded. This coding step generally comprises, the transformation of the residue block into a block of coefficients, the quantizing of these coefficients and their entropy coding in a stream F. According to a variant, it can comprise the quantizing of residues and their entropy coding in a stream F.
According to a variant, the set of sequences Xk determined during the iterations are stored in the memory. According to this variant, Xopt is not equal to XK, K being the index of the last iteration but Xopt=Xk
where:
During a step 60, a residue block Br is decoded for the current block. For example, a part of the stream F is decoded into coefficients. The coefficients are de-quantized then if necessary transformed by an inverse transform to that used by the coding method in step 58. A residue block is thus obtained. According to a variant, the inverse transformation step is omitted notably if no transformation step has been applied on the coder side in step 58.
During a step 62, an atomic decomposition is applied. This step is identical to step 52 of the coding method. This step enables an approximation to be determined Ŷ=AXopt of the vector Y.
During a step 64, the vector Ŷp of size n2 that corresponds to the zone P is extracted from Ŷ as shown in
During a step 66, the current block Bc is reconstructed by merging the prediction block Bp determined in step 64 and the residue block decoded in step 60, for example by addition pixel by pixel.
A prediction module 1216 determines a prediction block. The prediction module 1216 is able to implement steps 52 and 54 of the coding method according to the invention.
Step 58 of the coding method is implemented in the modules 1202 and 1204.
Naturally, the invention is not limited to the embodiment examples mentioned above.
In particular, those skilled in the art may apply any variant to the stated embodiments and combine them to benefit from their various advantages. In fact, other methods than the MP method can be used to determine the vector Xopt. Likewise the form of the causal zone can vary as shown in
The form and size of patches can vary. Likewise the second dictionary can contain fewer patches than there are textured atoms in the first dictionary.
Number | Date | Country | Kind |
---|---|---|---|
10 52517 | Apr 2010 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2011/054682 | 3/28/2011 | WO | 00 | 12/17/2012 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2011/120894 | 10/6/2011 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5581638 | Givens et al. | Dec 1996 | A |
7602864 | Hu et al. | Oct 2009 | B1 |
8233730 | Namboodiri et al. | Jul 2012 | B1 |
8340189 | Krupiczka et al. | Dec 2012 | B1 |
20130136372 | Thoreau et al. | May 2013 | A1 |
Entry |
---|
Martin etal: “Phase refinement for image prediction based on sparse representation”, Proceedings of the SPIE, vol. 7543, Jan. 19, 2010, pp. 75430H-1. |
Jost etal: “Tree-Based Pursuit: Algorithm and Properties”, IEEE, vol. 54, No. 12, Dec. 1, 2006, pp. 4685-4697. |
Peyre: “Sparse Modeling of Textures”, Journal of Mathematical Imaging and Vision, vol. 34, No. 1, Nov. 6, 2008, pp. 17-31. |
Search Report Dated May 5, 2011. |
Number | Date | Country | |
---|---|---|---|
20130136372 A1 | May 2013 | US |