METHOD AND DEVICE FOR CODING A DIGITAL HOLOGRAM SEQUENCE
20220272380 · 2022-08-25
Inventors
Cpc classification
G03H2226/02
PHYSICS
G03H1/0841
PHYSICS
H04N19/119
ELECTRICITY
H04N19/137
ELECTRICITY
G03H1/08
PHYSICS
International classification
H04N19/597
ELECTRICITY
G03H1/08
PHYSICS
H04N19/119
ELECTRICITY
H04N19/137
ELECTRICITY
Abstract
Disclosed is a method and a device for coding a sequence including first and second digital holograms representing respective scenes, the digital holograms being represented by a set of wavelets each defined by a multiplet of coordinates in multidimensional space. The first and second holograms are represented by first and second coefficients respectively associated with wavelets. The coding method includes the following steps: for each second coefficient, determining a remainder by a difference between the second coefficient concerned, associated with a first wavelet defined by a given multiplet, and the first coefficient) associated with a second wavelet defined by a multiplet having as its image the multiplet by a transform in the multidimenisonal space; coding the determined remainders. The transform is determined by analysis of variation between the first scene represented by the first digital hologram and the second scene represented by the second digital hologram.
Claims
1. A method for encoding a sequence comprising at least a first digital hologram representing a first scene and a second digital hologram representing a second scene, the first digital hologram and the second digital hologram being represented by a set of wavelets, each of the wavelets being defined by a multiplet of coordinates in a multidimensional space, the first hologram being represented by a set of first coefficients respectively associated with at least certain of the wavelets of said set of wavelets and the second hologram being represented by a set of second coefficients respectively associated with at least certain of the wavelets of said set of wavelets, the encoding method comprising the following steps: for each given one of a plurality of the second coefficients, determining a residual as a difference between the given second coefficient, associated with a first said wavelet defined by a given said multiplet, and the first coefficient associated with a second said wavelet defined by a said multiplet having for image the given said multiplet by a transform in the multidimensional space; and encoding the determined residuals, wherein the transform is determined by analysis of variation between the first scene represented by the first digital hologram and the second scene represented by the second digital hologram.
2. The method according to claim 1, wherein said variation corresponds to movement of an object between the first scene and the second scene.
3. The method according to claim 1, further comprising, for at least one given said second coefficient outside of said plurality of the second coefficients, a step of determining a residual as a difference between the given said second coefficient, associated with a third said wavelet defined by another given said multiplet, and the first coefficient associated with a fourth said wavelet defined by another said multiplet having for image said another given multiplet by another transform in the multidimensional space.
4. The method according to claim 3, wherein said another transform is determined by analysis of another variation between the first scene and the second scene.
5. The method according to claim 3, further comprising the following steps: distributing at least a part of the wavelets into different groups of said wavelets respectively associated with different parts of the first scene or the second scene; determining a transform of the multidimensional space for each said group of the wavelets; for each given one of the second coefficients of a given said group of the wavelets, determining a residual as a difference between the given said second coefficient, associated with a fifth said wavelet defined by a given said multiplet, and the first coefficient associated with a sixth said wavelet defined by a said multiplet having for image this given multiplet by the transform associated with the given group of the wavelets.
6. The method according to claim 1, wherein the transform is determined as a function of a movement, between the first scene and the second scene, of a set of connected points.
7. The method according to claim 1, wherein the transform is determined on the basis of three-dimensional representations of the first scene and the second scene.
8. The method according to claim 1, further comprising the following steps: constructing a first depth map by means of the first digital hologram; constructing a second depth map by means of the second digital hologram; determining the transform on the basis of the first depth map and the second depth map.
9. The method according to claim 8, wherein, depth being defined along a given direction, the step of constructing the first depth map comprises the following steps: reconstructing, by means of the first digital hologram, a light field at a plurality of points; for each given one of a plurality of depths, segmenting those of the plurality of points that are associated with the given depth into a plurality of segments, and determining values of a sharpness metric respectively associated with said segments on the basis of the light field reconstructed on a respective said segment; for each element of the first depth map, determining a depth for which the sharpness metric is maximum among a set of the segments aligned along said given direction and respectively associated with depths of the plurality of depths.
10. The method according to claim 1, wherein the coordinates of said multidimensional space represent respectively a parameter representative of a first spatial coordinate in a plane of the hologram, a parameter representative of a second spatial coordinate in the plane of the hologram, a spatial frequency dilation parameter (s) and an orientation parameter.
11. A device for encoding a sequence comprising at least a first digital hologram representing a first scene and a second digital hologram representing a second scene, the first digital hologram and the second digital hologram being represented by means of a set of wavelets, each of the wavelets being defined by a multiplet of coordinates in a multidimensional space, the encoding device comprising: a unit for storing a set of first coefficients, respectively associated with at least certain of the wavelets of said set of wavelets, and a set of second coefficients, respectively associated with at least certain of the wavelets of said set of wavelets, the set of first coefficients representing the first digital hologram and the set of second coefficients representing the second digital hologram; a unit for determining, for each given one of a plurality of the second coefficients, a residual as a difference between the given second coefficient, associated with a first said wavelet defined by a given said multiplet, and the first coefficient associated with a second said wavelet defined by a said multiplet having for image the given said multiplet by a transform in the multidimensional space; and a unit for encoding the determined residuals, wherein the unit for determining is designed to determine the transform by analysis of variation between the first scene represented by the first digital hologram and the second scene represented by the second digital hologram.
12. The device according to claim 11, wherein said variation corresponds to movement of an object between the first scene and the second scene.
13. The method according to claim 2, further comprising, for at least one given said second coefficient outside of said plurality of the second coefficients, a step of determining a residual as a difference between the given said second coefficient, associated with a third said wavelet defined by another given said multiplet, and the first coefficient associated with a fourth said wavelet defined by another said multiplet having for image said another given multiplet by another transform in the multidimensional space.
14. The method according to claim 4, further comprising the following steps: distributing at least a part of the wavelets into different groups of said wavelets respectively associated with different parts of the first scene or the second scene; determining a transform of the multidimensional space for each said group of the wavelets; for each given one of the second coefficients of a given said group of the wavelets, determining a residual as a difference between the given said second coefficient, associated with a fifth said wavelet defined by a given said multiplet, and the first coefficient associated with a sixth said wavelet defined by a said multiplet having for image this given multiplet by the transform associated with the given group of the wavelets.
15. The method according to claim 2, wherein the transform is determined as a function of a movement, between the first scene and the second scene, of a set of connected points.
16. The method according to claim 3, wherein the transform is determined as a function of a movement, between the first scene and the second scene, of a set of connected points.
17. The method according to claim 4, wherein the transform is determined as a function of a movement, between the first scene and the second scene, of a set of connected points.
18. The method according to claim 5, wherein the transform is determined as a function of a movement, between the first scene and the second scene, of a set of connected points.
19. The method according to claim 2, wherein the transform is determined on the basis of three-dimensional representations of the first scene and the second scene.
20. The method according to claim 3, wherein the transform is determined on the basis of three-dimensional representations of the first scene and the second scene.
Description
SUMMARY OF THE INVENTION
[0050] Moreover, various other features of the invention will be apparent from the appended description made with reference to the drawings that illustrate non-limitative embodiments of the invention, and wherein:
[0051]
[0052]
[0053]
[0054]
[0055]
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0056] The encoding device 1 of
[0057] The storage device 4 stores at least two digital holograms H.sub.1, H.sub.2 (each represented by a set of coefficients, as explained hereinafter) belonging to a digital hologram sequence (this sequence being intended to reproduce the evolution over time of a given three-dimensional scene).
[0058] In the example described herein, the storage device 4 further stores a three-dimensional representation S.sub.1; S.sub.2 of the three-dimensional scene represented by each of the digital holograms H.sub.1, H.sub.2. However, as an alternative, no three-dimensional representation of the scene could be present within the encoding device 1. This is in particular the case when the digital holograms H.sub.1, H.sub.2 are received by the encoding device 1, via the communication circuit 6.
[0059] Indeed, the digital holograms H.sub.1, H.sub.2 can in practice be constructed (previously to the encoding method described hereinafter) within the encoding device 1 on the basis of the three-dimensional representations S.sub.1, S.sub.2 (as described, for example, in the above-mentioned article “View-dependent compression of digital hologram based on matching pursuit”), or be received from an external electronic device.
[0060] The storage device 4 also stores computer program instructions designed to implement a method as described hereinafter with reference to
[0061] In the following of the description, the context considered is that shown in
[0062] The digital holograms H.sub.1, H.sub.2 are here respectively represented by two sets of real coefficients c.sub.1(k,s,X), c.sub.2(k,s,X), each coefficient c.sub.1(k,s,X), c.sub.2(k,s,X) being associated with a Gabor-Morlet wavelet Ψ.sub.k,s,X defined by the parameters k, s, X, where [0063] k is a parameter (integer) that defines the wavelet orientation θ.sub.k, with θ.sub.k=2πk/N (k varying between 0 and N−1); [0064] s is a parameter (integer) that defines the spatial frequency dilation (s varying between 1 and a); [0065] X is a couple of integers that define respectively the two-dimensional spatial coordinates in the plane of the digital hologram (that is to say the plane (O, x, y) in
[0066] The values N, a, N.sub.x and N.sub.y are fixed for the representation considered.
[0067] In other words, each Gabor-Morlet wavelet Ψ.sub.k,s,X is defined by a multiplet of coordinates k, s, X in a multidimensional space (here, four-dimensional).
[0068] Hereinafter, the coefficients c.sub.1(k,s,X) representing the digital hologram H.sub.1 will be called “first coefficients” and the coefficients c.sub.2(k,s,X) representing the digital hologram H.sub.2 will be called “second coefficients”.
[0069] The first and second component of X will be respectively denoted X.sub.x and X.sub.y.
[0070] The digital holograms H.sub.1, H.sub.2 could thus be reconstructed as follows:
[0071] (the summing being made for all the integers k between 0 and N−1, for all the integers s between 1 and a and for all the couples X of integers in [0,N.sub.x[x[0,N.sub.y[),
[0072] with Ψ.sub.k,s,X the function defined by Ψ.sub.k,s,Z(Y)=1/s.Math.Φ(R.sub.k.sup.−1[(Y−ηx)/(s.Math.Δ.sub.s)]) for Y∈R.sup.2,
[0073] where η.sub.x=(X.sub.X.Math.Δ.sub.x, X.sub.y.Math.Δ.sub.y), Δ.sub.x and Δ.sub.y and Δ.sub.s denote discretization pitches of, respectively, the first spatial component in the plane of the hologram, the second spatial component in the plane of the hologram and the spatial frequency dilation, Φ(A)=exp(|A|.sup.2/2).Math.exp(2iπA.sub.xf) for A∈R.sup.2,
[0074] where |A| and Δ.sub.x respectively denote the norm (or module) of A and the first component thereof, exp is the exponential function (exp(p)=e.sup.ρ), f is a parameter (predefined for the representation concerned) and
[0075] An example of encoding method in accordance with the invention will now be described with reference to
[0076] This method here starts by a step E2 of segmenting the coefficients into sets of coefficients E.sub.i respectively associated with parts P.sub.i of the scene (which amounts to grouping the wavelets Ψ.sub.k,s,X into groups of wavelets respectively associated with these parts P.sub.i of the scene).
[0077] Each part P.sub.i of the scene is formed by a set of points of a same region liable to have a similar movement. Such a part P.sub.i of the scene is hereinafter called “connected component”. In practice, it is for example an object of the scene.
[0078] In the example described herein, the connected components P.sub.i are for example identified on the basis of the three-dimensional representation S.sub.1 of the scene (three-dimensional representation corresponding to the digital hologram H.sub.1).
[0079] As an alternative, the connected components P.sub.i can be reconstructed from a digital hologram (here H.sub.1), for example by means of a depth map, as described hereinafter.
[0080] In step E2, for each coefficient c.sub.1(k,s,X) of the digital hologram H.sub.1, it is determined which part P.sub.i (or connected component) of the scene is passed through by a straight line Δ (representing a light ray associated with the wavelet Ψ.sub.k,s,X) passing through the point of coordinates X (in the plane of the digital hologram) and oriented along the direction vector V.sub.k,s of coordinates:
(cos[θ.sub.k].Math.sin[φs],sin[θ.sub.k].Math.sin[φ.sub.s],cos[φ.sub.s]),
[0081] with φ.sub.s=arcsin(λf/(s.Math.Δs)) (where λ is the reference wavelength of the digital hologram).
[0082] The coefficient c.sub.1(k,s,X) is then placed in the set E.sub.i associated with the part P.sub.i passed through by this straight line Δ.
[0083] Hence, a plurality of sets E.sub.i is constructed, each set E.sub.i comprising coefficients c.sub.1(k,s,X) associated with wavelets Ψ.sub.k,s,X that model light rays having an intersection with the part P.sub.i associated with the set E.sub.i concerned. In other words, each set E.sub.i corresponds to a group of wavelets Ψ.sub.k,s,X that model light rays having an intersection with the part P.sub.i associated with the set E.sub.i concerned.
[0084] In certain embodiments (for example, when the scene contains a single object, i.e. a single connected component P.sub.1), the segmentation step E2 could be omitted. It is considered in this case hereinafter that a single set E.sub.i of coefficients (herein the set E.sub.1) is processed.
[0085] The method of
[0086] This rigid transform F.sub.i is for example determined by analyzing the movement of the connected component P.sub.i between the scene represented by the hologram H.sub.1 and the scene represented by the hologram H.sub.2.
[0087] This movement analysis is for example made by comparing the three-dimensional representation S.sub.1 (scene represented by the digital hologram H.sub.1) and the three-dimensional representation S.sub.2 (scene represented by the digital hologram H.sub.2). On this subject, reference will be made for example to the article “A Hierarchical Method for 3D Rigid Motion Estimation”, by Srinark T., Kambhamettu C., Stone M. in Computer Vision—ACCV 2006. ACCV 2006 Lecture Notes in Computer Science, vol 3852. Springer, Berlin, Heidelberg.
[0088] As an alternative, this movement analysis could be made by comparing a first depth map derived (as explained hereinafter) from the digital hologram H.sub.1 and a second depth map derived (as explained hereinafter) from the digital hologram H.sub.2. Such depth maps allow coming down to the above-mentioned three-dimensional case.
[0089] For each connected component P.sub.i, the rigid transform F.sub.i is classically decomposed into a translation t.sup.i=(t.sup.i.sub.x, t.sup.i.sub.y, t.sup.i.sub.z) and a rotation r.sup.i that can be written (using the Euler angles) in matrix form, by means of the three following matrices:
[0090] The method of
[0091] In the example described herein, the linear transform T.sub.i is defined as follows (on the basis of the corresponding rigid transform F.sub.i):
[0092] where λ is the already mentioned reference wavelength and l.sub.2 the identity matrix with 2 rows and 2 columns.
[0093] The method of
[0094] For that purpose, for each coefficient c.sub.1(k,s,X) associated with a wavelet Ψ.sub.k,s,X defined by the multiplet (k,s,X) within the digital hologram H.sub.1, it is determined to which wavelet Ψ.sub.k′,s′,X′ applies this coefficient c.sub.1(k,s,X) within the predicted hologram H.sub.p by means of the transform T.sub.i associated with the set E.sub.i containing this coefficient c.sub.1(k,s,X):
[0095] Considering Σ.sub.1=f.Math.[cos(θ.sub.k)]/(s.Math.Δ.sub.s), ξ.sub.2=f.Math.[sin(θ.sub.k)]/(s.Math.Δ.sub.s) and η=(η.sub.x,η.sub.y)=(X.sub.x.Math.Δ.sub.x, X.sub.y.Math.Δ.sub.y), we calculate
[0096] and, considering θ′=atan 2(ξ.sub.1, ξ.sub.2), then:
[0097] k′=ent(Nθ′/2π), where ent is the function “integer part”, s′=ent(f/[SQRT(ξ′.sub.1.sup.2+ξ′.sub.2.sup.2).Math.Δ.sub.s)]) and X′=(ent(η′.sub.x/Δ.sub.x), ent(η′.sub.y/Δ.sub.y),
[0098] with η′=(η′.sub.x, η′.sub.y).
[0099] In other words, for each set E.sub.i of coefficients, it is defined (as just indicated), using the transform T.sub.i associated with this set E.sub.i, a transform G.sub.i in the multidimensional space (here four-dimensional) such that a coefficient c.sub.1(k,s,X) belonging to the set E.sub.i and applied to the wavelet Ψ.sub.k,s,X in the digital hologram H.sub.1 is applied to the wavelet Ψ.sub.Gi(k,s,X) in the predicted digital hologram H.sub.p, as schematically illustrated in
[0100] This transform G.sub.i is thus the transform that corresponds, in the multidimensional space of the wavelet definition coordinates, to the rigid transform F.sub.i of the connected component P.sub.i. This linear transform Gi is valid for the coefficients of the set E.sub.i associated with this connected component P.sub.i.
[0101] The predicted digital hologram H.sub.p can thus be written:
[0102] In this summing, no account will be taken of the coefficients c.sub.1(k,s,X) for which the image G.sub.i(k,s,X) is out of the domain of the values used in the representation concerned, that is to say, here, out of the following part of the multidimensional space: [0,N−1]x[1,a]x[O,N.sub.x[x[O,N.sub.y[. These coefficients indeed correspond to rays that exit from the digital hologram frame.
[0103] The method of
[0104] Precisely, for each coefficient c.sub.2(k′,s′,X′) of the digital hologram H.sub.2 (this coefficient being relative to a wavelet Ψ.sub.k′,s′,X′ defined by the multiplet (k′,s′,X′)), it is determined a residual I.sub.k′,s′,X′ by difference between this coefficient c.sub.2(k′,s′,X′) and the coefficient relative to the same wavelet Ψ.sub.k′,s′,X′ in the predicted digital hologram H.sub.p, i.e. c.sub.1(k,s,X), as illustrated in
[0105] Each residual is hence determined by difference between a coefficient c.sub.2(k′,s′,X′), associated (in the digital hologram H.sub.2) with the wavelet Ψ.sub.k′,s′,X′ defined by the multiplet (k′,s′,X′), and a coefficient c.sub.1(k,s,X) associated, in the digital hologram H.sub.1, to a wavelet Ψ.sub.k,s,X defined by a multiplet (k,s,X) having for image the multiplet (k′,s′,X′) by the transform G.sub.i associated with the set E.sub.i comprising the coefficient c.sub.1(k,s,X).
[0106] The method of
[0107] For example, this can be done as follows: [0108] ordering the residuals I.sub.k′,s′,X′ in a predetermined order of the multiplets (k′,s′,X′); [0109] entropy encoding to the ordered residuals using a method of the Huffman encoding or arithmetic encoding type.
[0110] In the just described example, the differential encoding of the digital hologram H.sub.2 is made with reference to a single digital hologram H.sub.1. As an alternative, it could be provided to encode the digital hologram H.sub.2 with reference to two digital holograms respectively located before and after the digital hologram H.sub.2 in the digital hologram sequence.
[0111] In this case, the value of the bidirectionally predicted coefficients can be equal to the mean of the coefficients predicted from said two digital holograms.
[0112] For example, if H.sub.3 denotes a digital hologram posterior to the digital hologram H.sub.2 in the digital hologram sequence and c.sub.3 the coefficients of this digital hologram H.sub.3, the residual will be defined by:
[0113] where, as previously, (k′,s′,X′)=G.sub.i(k,s,X) and where (k′,s′,X′)=G′.sub.i(k″,s″,X″), with G′.sub.i a transform defined similarly to the transform G.sub.i, but this time on the basis of a rigid transform F′.sub.i determined as a function of the evolution of a connected component P.sub.i of the scene represented by the digital hologram H.sub.3 to the scene represented by the digital hologram H.sub.2.
[0114]
[0115] The depth is here understood in the direction (Oz).
[0116] Let's denote M.sub.x and M.sub.y the horizontal and vertical resolutions desired for the depth map, and M.sub.z the number of levels of the depth map.
[0117] Let's finally denote z.sub.min and z.sub.max the minimum and maximum values of the z coordinate in the scene (these values being predefined).
[0118] The method of
[0119] The method then comprises a step E22 of reconstructing the light field U at the depth z.sub.d=d.Math.(z.sub.max−z.sub.min)/M.sub.z+z.sub.min, for example using the propagation of the angular spectrum:
[0120] where SQRT is the square root function, F and F.sup.−1 are respectively the direct and inverse Fourier transforms, and f.sub.x and f.sub.y are the frequency coordinates of the hologram in the Fourier domain.
[0121] The method then comprises a step E24 of segmenting the reconstructed field U into M.sub.x.Math.M.sub.y segments (rectangular), each segment having a horizontal resolution K.sub.x and a vertical resolution K.sub.y. (The field reconstructed thanks to the hologram H at a horizontal resolution N.sub.x and a vertical resolution N.sub.y, as already indicated, and we have thus: M.sub.x.Math.K.sub.x=N.sub.x et M.sub.y.Math.K.sub.y=N.sub.y.)
[0122] The method then comprises a step E26 of calculating a sharpness metric v for each of the segments obtained at step E24. If each segment is indexed by a horizontal index i and a vertical index j, the value v[i,j,d] of the sharpness metric is calculated for each segment of indices i, j, here by means of the normalized variance:
[0123] where is the mean intensity of the field of the segment concerned:
[0124] As an alternative, another sharpness metric can be used, for example one of the metrics mentioned in the article “Comparative analysis of autofocus functions in digital in-line phase-shifting holography”, by E. S. R. Fonseca, P. T. Fiadeiro, M. Pereira, and A. Pinheiro in Appl. Opt., AO, vol. 55, no. 27, pp. 7663-7674, Sep. 2016.
[0125] (Such a sharpness metric calculation is performed for all the segments, i.e. for any i between 0 et M.sub.x−1 and for any j between 0 and M.sub.y−1.)
[0126] The processing related to the depth z.sub.d associated with the current variable d is then finished.
[0127] The method then comprises a step E28 of incrementing the variable d and a step E30 of testing the equality between the current value of the variable d and the number M.sub.z of levels of the depth map.
[0128] In case of equality (arrow P), all the levels have been processed and the method continues at step E32 described hereinafter.
[0129] In the absence of equality, at step E30 (arrow N), the method loops to step E22 for processing the depth level z.sub.d corresponding to the (new) current value of the variable d.
[0130] The method can then construct, at step E32, the depth map D by choosing, for each element of the map (here indexed by the indices i, j), the depth (here denoted D[i,j]) for which the sharpness metric is maximum (among the different segments aligned along the axis Oz, here all of indices i, j, and respectively associated with the different depths for d varying from 0 to M.sub.z−1). With the notations already used, we have:
[0131] A depth value D[i,j] is hence obtained for all the elements of the depth map D, i.e. here for any i between 0 and M.sub.x−1 and for any j between 0 and M.sub.y−1.
[0132] The so-obtained depth map D can be used, as already mentioned, to determine the connected components (or parts) P.sub.i of the scene, for example by means of a partitioning algorithm (or “clustering algorithm”).
[0133] A k-means algorithm can be used for that purpose, as described for example in the article “Some methods for classification and analysis of multivariate observations”, by MacQueen, J. in Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Statistics, 281-297, University of California Press, Berkeley, Calif., 1967.
[0134] In this case, the partitioning algorithm makes it possible to group the connected segments (here of indices i, j) of close depth values (here D[i,j]), the so-produced groups forming the connected components P.sub.i.