A METHOD FOR DIGITALLY GENERATING A HOLOGRAM, RELATED DEVICE AND COMPUTER PROGRAM

20180143589 ยท 2018-05-24

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for digitally generating a hologram plane from a three-dimensional scene, cut into a plurality of planes parallel to the hologram plane. The method includes for a current plane: counting a number of points of the non-zero amplitude scene; choosing a first or second technique for propagating a light wave emitted by the current plane as a function of a number of points of non-zero amplitude included in the current plane and with a preset threshold value, the first, point-based technique calculating the propagation of a sum of light waves emitted by point sources constituted by the points of the scene portion of a non-zero amplitude of the current plane on a following plane, and the second, field-based technique, globally calculating a light wave emitted by the scene portion situated in the current plane on a given plane; and processing the current plane according to the chosen propagation technique.

    Claims

    1. A method comprising: digitally generating a hologram in a hologram plane from a three-dimensional scene comprising the following steps performed by a digital processing device: a step of cutting said scene into a plurality of planes parallel to the hologram plane; performing the following steps, implemented for a current plane of the plurality of planes, the planes being browsed from a farthest to a nearest plane of the hologram: counting a number of points of non-zero amplitude of the scene in the current plane; choosing a first or a second technique for propagating a light wave emitted by the current plane as a function of a number of points of non-zero amplitude of the scene portion comprised in the current plane and with a preset threshold value, the first technique, called a point-based technique calculates propagation of a sum of light waves emitted by point sources constituted by the points of the scene portion of a non-zero amplitude of the current plane on a following plane, the second technique, called a field-based technique, calculates globally propagation of a light field emitted by the scene portion comprised in the current plane on a following plane, the first technique being chosen if the number of points is strictly lower than the preset threshold value and the second technique being chosen, otherwise; processing the current plane according to the chosen propagation technique, for calculating a light wave emitted by the current plane; and repeating said steps of counting, choosing and propagating for the plurality of planes; and a step of obtaining the hologram from light waves calculated for the plurality of planes.

    2. The method for digitally generating a hologram according to claim 1, wherein said processing step of the current plane comprises the following substeps: identifying the last plane processed according to the second technique, so-called last field-based plane; calculating the light wave emitted by the scene portion comprised in the current plane; when the second technique has been chosen for the current plane, so-called field-based plane, the processing step comprises the following substeps: calculating a propagation of the light wave emitted by at least the last field-based plane on the current plane, according to the technique chosen for said plane; calculating the light wave emitted by the current plane by summing the light wave emitted by the current plane and at least the propagation of the light wave emitted by at least the last field-based plane; and the step of obtaining the hologram comprises calculating the propagation of the light wave emitted by the field-based plane closest to the hologram on the plane of the hologram.

    3. The method for digitally generating a hologram according to claim 2, wherein, when said at least one previous plane further comprises at least one point-based intermediate plane, interposed between the last field-based plane and the current plane, calculating the propagation of the emitted light wave by at least the last field-based plane on the current plane further comprises calculating a propagation of the light wave emitted by the points of non-zero amplitude of the scene portion comprised in said at least one intermediate plane on the current plan according to the first technique.

    4. The method for digitally generating a hologram according to claim 2, wherein: the processing step of the current plane comprises a substep of managing an occultation of the light wave propagated through at least the last field-based plane in the current plane by applying a binary mask obscuring to said light wave, said mask assuming a zero value at the points of the scene portion included in the current plane and a non-zero value outside this portion; and the substep of calculating the light wave emitted by the current plane comprises a summation of the light wave emitted by the current plane to the light wave obtained after application of the occulting binary mask.

    5. The method for digitally generating a hologram according to claim 2, wherein when the first technique was chosen to process the current plane, so-called point-based plane, the processing step further comprises the following substeps of: calculating a light wave propagated by at least the last field-based plane according to the first technique and blocked by the points of non-zero amplitude of the scene portion comprised in the current plane; calculating the light wave emitted by the current plane by subtracting the light wave blocked by the points of non-zero amplitude of the scene portion comprised in the current plane at the light wave emitted by said points.

    6. The method for digitally generating a hologram according to claim 5, wherein the substep of calculating the blocked light wave comprises calculating the light waves propagated at least by the last field-based plane according to the first technique and applying an inverted occulting binary mask to the calculated light wave, said mask assuming a non-zero value at the points of the scene portion comprised in the current plane and a zero value outside this portion.

    7. The method for digitally generating a hologram according to claim 6, wherein the substep of calculating the blocked light wave comprises cutting into a plurality of zones of the current plane, determining the points of a previous plane from the last field-based plane, contributing to the propagation of a light wave in a zone of the plurality of zones comprising points of non-zero amplitude of the scene portion comprised in the current plane, the blocked light wave being calculated only for the points thus determined.

    8. The method for digitally generating a hologram according to claim 1, further comprising a step of evaluating the threshold at least as a function of an estimated processing time for the first propagation technique, of an estimated processing time for the second propagation technique for the current plane, and a number of non-zero amplitude points of the scene portions comprised in the previous planes.

    9. A device for digitally generating a hologram in a hologram plane from a three-dimensional scene, the device comprising: a processing unit; and a non-transitory computer-readable medium comprising instructions stored thereon, which when executed by the processing unit configure the processing unit to: cut said scene into a plurality of planes parallel to the hologram plane, perform the following for a plane of the plurality of planes, called a current plane, the planes being browsed from a farthest to a nearest plane of the hologram: counting a number of points of the non-zero amplitude scene in the current plane; choosing a first or a second technique for propagating a light wave emitted by the current plane as a function of a number of points of non-zero amplitude of the scene portion comprised in the current plane and with a preset threshold value, the first technique, called a point-based technique, calculates propagation of a sum of light waves emitted by point sources constituted by the points of the scene portion of a non-zero amplitude of the current plane on a following plane, the second technique, called a field-based technique, calculates globally the propagation of a light field emitted by the scene portion included in the current plane on a following plane, the first technique being chosen if the number of points is strictly lower than the preset threshold value and the second technique being chosen, otherwise; processing the current plane according to the chosen propagation technique, for calculating a light wave emitted by the current plane; repeating the counting, choosing and processing for the plurality of planes; and obtain the hologram from light waves calculated for the plurality of planes.

    10. A user terminal comprising a control module of a playback device of a hologram and the device for digitally generating said hologram according to claim 9.

    11. (canceled)

    12. A non-transitory processor-readable recording medium, comprising a computer program stored thereon, which comprises instructions for performing a method of digitally generating a hologram in a hologram plane from a three-dimensional scene, when the instructions are executed by a processor, wherein the method comprises: cutting said scene into a plurality of planes parallel to the hologram plane; performing the following steps, implemented for a current plane of the plurality of planes, the planes being browsed from a farthest to a nearest plane of the hologram: counting a number of points of non-zero amplitude of the scene in the current plane; choosing a first or a second technique for propagating a light wave emitted by the current plane as a function of a number of points of non-zero amplitude of the scene portion comprised in the current plane and with a preset threshold value, the first technique, called a point-based technique calculates propagation of a sum of light waves emitted by point sources constituted by the points of the scene portion of a non-zero amplitude of the current plane on a following plane, the second technique, called a field-based technique, calculates globally propagation of a light field emitted by the scene portion comprised in the current plane on a following plane, the first technique being chosen if the number of points is strictly lower than the preset threshold value and the second technique being chosen, otherwise; processing the current plane according to the chosen propagation technique, for calculating a light wave emitted by the current plane; and repeating said steps of counting, choosing and propagating for the plurality of planes; and obtaining the hologram from light waves calculated for the plurality of planes.

    Description

    6. LIST OF FIGURES

    [0048] Other features and advantages of the invention will become evident on reading the following description of one particular embodiment of the invention, given by way of illustrative and non-limiting example only, and with the appended drawings among which:

    [0049] FIG. 1 illustrates an exemplary three dimensional scene cut into a plurality of planes parallel to the hologram plane;

    [0050] FIG. 2 shows schematically the steps of a method for digitally generating a hologram according to an embodiment of the invention;

    [0051] FIG. 3 shows schematically the cutting of a three-dimensional scene in a plurality of planes parallel to the hologram plane and the propagation of light waves between two successive field-based planes according to an embodiment of the invention;

    [0052] FIG. 4 details the step of processing a current plane according to one embodiment of the invention;

    [0053] FIG. 5 schematically illustrates a contribution region of a light spot by taking into account the technique of propagation of a point-based light wave;

    [0054] FIG. 6 illustrates schematically the processing of the light waves propagated by the previous planes on a field-based plane according to the invention;

    [0055] FIG. 7 shows schematically an example of an occulting mask implemented by the invention for the portion of scene within a field-based plane;

    [0056] FIG. 8 shows schematically the inverted occulting mask implemented by the invention to a point-based plane, according to an embodiment of the invention;

    [0057] FIG. 9 illustrates schematically the principle of one embodiment of the invention to simplify the calculation of occulting light waves of the scene portion comprised in a point-based plane;

    [0058] FIG. 10 shows schematically the hardware structure of a digital device for generating a hologram field according to the invention; and

    [0059] FIG. 11 illustrates another example of use of the invention.

    7. DESCRIPTION OF A PARTICULAR EMBODIMENT OF THE INVENTION

    [0060] The general principle of the invention is based on the cutting of a three-dimensional scene into a plurality of planes parallel to the plane of the hologram and on a hybrid solution of digital hologram generation, implementing a first point-based technique for the planes comprising a limited number of points of the non-zero amplitude scene and a second field-based technique for the planes comprising a larger number of points of the scene. In connection with FIG. 1, the geometry of the three-dimensional scene Sc comprising a kettle, a plane P.sub.H, so-called hologram plane, on which a hologram representative of the scene Sc must be generated digitally and a plurality of planes P.sub.0, P.sub.1, . . . P.sub.N.sub.z.sub.1 with N.sub.z a non-zero integer, greater than or equal to 2, parallel to the hologram plane P.sub.H. A referential (O, x, y, z) is considered as well, so that the hologram is inscribed in the plane (O, x, y) and the axis Oz is perpendicular to P.sub.H and to the plurality of planes P.sub.i. For example, the planes P.sub.i are situated at equal distance d.sub.z from one another. P.sub.0 is the remotest plane from the hologram plane at the z.sub.max of P.sub.H and P.sub.N.sub.z.sub.1 is the closest plane to the hologram plane, at distance z.sub.min of P.sub.H, with z.sub.min<z.sub.max. The distance d.sub.z is thus given by:

    [00001] d z = z ma .Math. .Math. x - z m .Math. .Math. i .Math. .Math. n N z ( 1 )

    The planes P.sub.0, . . . P.sub.N.sub.z.sub.1 and the hologram point P.sub.H are samples on a regular grid of NN resolution with a sampling step p.
    In the following, the section of the three-dimensional scene Sc between the plane P.sub.i, with i an integer between 0 and N.sub.z1, shall be designated the section of the three-dimensional scene Sc between plane P.sub.i and plane P.sub.i+1. In connection with FIG. 2, the method for digitally generating a hologram in the plane P.sub.H for scene Sc is described according to an embodiment of the invention. The planes P.sub.0 t P.sub.N.sub.z.sub.1 are processed successively from the furthest to the closest to the hologram. The first plane P.sub.0 and the last plane P.sub.N.sub.z.sub.1 are processed according to the field-based method. For a plane P.sub.i, with i=1 . . . N.sub.z2, during a step E1, the number of points of the portion of scene included in this plane are counted, i.e. points whose coordinate z ranges between z.sub.maxid.sub.z and z.sub.max(i+1)d.sub.z, whose amplitude is different from zero. The result is a number M.sub.i.

    [0061] During a step E2, a threshold M.sub.i,max is evaluated on the basis of an estimate of a processing time of the current plane according to the first method and a time of calculation of the current plane according to the second method. An example of calculating the value of the threshold M.sub.i,max will be detailed in the following description.

    [0062] In E3, the number of points M.sub.i obtained is compared with the estimated threshold M.sub.i,max.

    [0063] If M.sub.iM.sub.i,max, it is decided to implement the second, so-called field-based method, to process the current plane P.sub.i. The plane P.sub.i is then designated field-based plane.

    [0064] In connection with FIG. 3, an example of cutting into successive planes P.sub.0 to P.sub.N.sub.z.sub.1 is shown. The planes P.sub.0, P.sub.3 and P.sub.7 are field-based planes. The planes P.sub.1, P.sub.2, P.sub.4, P.sub.5 and P.sub.6 are so-called point-based planes.

    [0065] In E4, the current plane P.sub.i is processed according to the propagation technique chosen. This step supplies the total light wave u.sub.i emitted by that plane. Advantageously, it is stored in a memory M1.

    [0066] In E5, it is tested whether the current plane is the last plane, i.e. whether i=N.sub.z1. If it is not so, i is incremented and the steps described previously for the following plane are repeated.

    [0067] If i=N.sub.z1, the system goes on to step E7. During that step, the propagation of the light wave u.sub.N.sub.z.sub.1 emitted by the last plane P.sub.N.sub.z.sub.1 on the hologram plan, is calculated according to the field-based propagation technique and the result is the hologram H.

    [0068] The E4 treatment step will now be detailed in conjunction with FIG. 4, for a field-based plane, for example the plane P.sub.3, then for a point-based plane, for example P.sub.2.

    [0069] In E41, among the previous, already processed planes, the nearest field-based plane or the last field-based plane is identified. In the example of FIG. 3, this is the plane P0. Thereunder, it will be allocated the index I, with I an integer between 0 and Nz1.

    [0070] In E42, the light wave emitted by the scene included in the portion plane P.sub.i is calculated.

    [0071] Each plane P.sub.i functions as a light source which emits a complex wave o.sub.i given by:


    o.sub.i(x,y)=a.sub.i(x,y)exp[j.sub.i(x,y)](2)

    where a.sub.i(x, y) is the amplitude of the point at coordinates (x, y) in the plane P and i(x, y) is its phase, randomly initialized to render a diffuse scene.

    [0072] The amplitude a.sub.i(x, y) is calculated by using an illumination model, for example the one described by Phong in the article Illumination for Computer Generated Pictures published in the volume 18, issue 6 of the journal entitled Communications of the ACM, pages 311-317, in 1975.

    In E44, the propagation of complex light waves emitted by the previous planes from the previous planes from the previous field-based plane PI on Pi1, is calculated, namely in the example of FIGS. 3 P0, P1 and P2, until the current plane Pi according to the propagation technique T1 or T2 chosen for each previous plane.

    [0073] For the field-based plane P.sub.I=P.sub.0, the propagation of light to the plane is calculated using the angular spectrum formula known to those ordinary skill in the art and described by Goodman in the book Introduction to Fourier Optics, pages 55 to 58 and published by Roberts and Company Publishers in 2005.

    [0074] The angular spectrum expresses the propagation of a light wave between two parallel planes separated by a distance z by:


    P.sub.z.sup.w{o}(x,y)=custom-character.sup.1{custom-character{o}exp(j2{square root over (.sup.2f.sub.X.sup.2f.sub.Y.sup.2)}z)}(x,y)(3)

    where is the wavelength of the light, f.sub.X and f.sub.Y are the spatial frequencies, and custom-character and custom-character.sup.1 are respectively the Fourier Transform and the Inverse Fourier Transform. These transforms may be calculated using a Fast Fourier Transform (FFT) algorithm. The algorithmic complexity of the operator P.sup.w is therefore O(N.sup.2 log(N)).

    [0075] In the following, the operator of propagation of a light wave according to field-based technique on a distance z will be designated by P.sub.z.sup.w.

    [0076] The propagation of the light wave u.sub.0=o.sub.0 of the plane P.sub.0 on the plane P.sub.i can be expressed as follows:


    u.sub.i.sup.w(x,y)=P.sub.z.sub.max.sub.id.sub.z.sup.w{u.sub.0}(x,y)=custom-character.sup.1{custom-character{u.sub.0}exp(j2{square root over (.sup.2f.sub.X.sup.2f.sub.Y.sup.2)}(z.sub.maxid.sub.z))}(x,y)(4)

    [0077] Considering now the propagation of light waves emitted by the intermediate planes P.sub.j with j an integer between l+1 and i1. In the example of FIG. 3, the planes P.sub.1 and P.sub.2 are point-based planes. The light wave emitted by the intermediate plane P.sub.j is designated by u.sub.j. The light wave u.sub.j, u.sub.2 is obtained by implementing the processing step E4 according to the invention in the case of a point-based plane. It will be detailed below.

    [0078] The propagation of the light wave u.sub.1 of the point-based plane P.sub.1 on the plane P.sub.i, i=3 is therefore calculated by using the first, so-called point-based technique.

    [0079] The propagation of the light wave u.sub.j of the point-based plane P.sub.j on the plane P.sub.i, i=3 is therefore calculated by using the first, so-called point-based technique.

    [0080] According to the point-based approach, the points of the scene located in each plane are considered as spherical light sources and the propagation of the light from this plane to the plane Pi is calculated as the sum of the spherical waves emitted by each of the planes points of the plane. The spherical wave emitted by a light point k with coordinates (x.sub.k, y.sub.k, z) is given by an angular spectrum formula known to those ordinary skill in the art and e.g. described in the book by Goodman, entitled Introduction to Fourier Optics, pages 57 to 61 and published by Roberts and Company Publishers in 2005, as follows:

    [00002] w k ( x , y ) = o ( x k , y k ) .Math. - 1 .Math. { e - j .Math. .Math. 2 .Math. .Math. - 2 - f X 2 - f Y 2 .Math. z } .Math. ( x - x k , y - y k ) ( 5 )

    where o(x.sub.k, y.sub.k) is the complex amplitude of the point and .Math. is the convolution operator. The convolution of a function with a Dirac impulse centers it around the impulse. So if we know the term of the Fourier transform of the equation (5) in advance, w.sub.k can be calculated simply by factoring this term with the amplitude of the point, then shifting it spatially. In order to speed up the calculation, it is possible to use a pre-calculated correspondence table T given by

    [00003] T ( x , y , z ) = - 1 .Math. { e - j .Math. .Math. 2 .Math. .Math. - 2 - f X 2 - f Y 2 .Math. z } .Math. h ( x , y , z ) ( 6 )

    h is a window function to restrict the contribution region of a given point equal to one in the contribution region of the point and to zero, elsewhere. This function limits the spatial frequencies of the complex wave to avoid overlapping the spectrum in the hologram. According to the Nyquist criterion, the maximum spatial frequency that can be represented with a step p of sampling is given by fmax=2p.sup.1.

    [0081] In connection with FIG. 5, we now consider the contribution region of a bright point (x, y, z) on a plane parallel to the plane of the hologram, for example the current plane P.sub.i.

    [0082] The equation of diffraction grids, known to those ordinary skill in the art, and stated for example in Goodman document already cited, gives the relationship between the maximum spatial frequency fmax and the maximum diffraction angle as sin()=fmax.

    [0083] Thus, as illustrated in FIG. 5, the input region of a bright point at depth z is given by the maximum radius R.sub.max as

    [00004] R m .Math. .Math. ax = z .Math. .Math. tan ( ) = z .Math. .Math. tan ( sin - 1 ( 2 .Math. p ) ) ( 7 )

    The window function h can thus be defined as

    [00005] h ( x , y ) = { 1 .Math. .Math. si .Math. .Math. x 2 + y 2 < R ma .Math. .Math. x 0 .Math. .Math. sinon ( 8 )

    [0084] To limit its number of pixels, the correspondence table is pre-calculated only in the square circumscribed about the disk defined by the window function h. Thus, the number of pixels N.sub.LUT, z of the correspondence table for the depth z is given by:

    [00006] N LUT , z = ( 2 .Math. R ma .Math. .Math. x p ) 2 = [ 2 .Math. z p .Math. tan ( sin - 1 ( 2 .Math. p ) ) ] 2 ( 9 )

    [0085] The propagation of light between two parallel planes separated by a distance z is calculated by simply addressing the correspondence table:


    P.sub.Z.sup.2{o}(x,y)=.sub.k=0.sup.M1o(x.sub.k,y.sub.k)T(xx.sub.k,yy.sub.k,z)(10)

    with M the number of light points in the plane. The algorithmic complexity of the operator P.sup.s is thus O(N.sup.2M).

    [0086] Thus, the propagation of the light wave u.sub.1 emitted by the plane P.sub.1 on the current plane P.sub.3 can be expressed as follows:


    u.sub.i.sup.s1(x,y)=P.sub.z.sub.max.sub.(i1)d.sub.z.sup.s{u.sub.1}(x,y)=.sub.k=0.sup.M.sup.1.sup.1u.sub.1(x.sub.k,y.sub.k)T(xx.sub.k,yy.sub.k,z)(11)

    [0087] Likewise, the light wave u.sub.2 emitted by the plane P.sub.2 on the current plane P.sub.3 can be expressed as follows:


    u.sub.i.sup.s2(x,y)=P.sub.z.sub.max.sub.(i2)d.sub.z.sup.s{u.sub.2}(x,y)=.sub.k=0.sup.M.sup.2.sup.1u.sub.1(x.sub.k,y.sub.k)T(xx.sub.k,yy.sub.k,z)(12)

    [0088] Thus, the light wave 14 propagated by the point-based intermediate planes P.sub.l+1 to P.sub.i1, on the field-based plane P.sub.i, in the example P.sub.1, P.sub.2, can be expressed as follows:


    u.sub.i.sup.s(x,y)=.sub.j=l.sup.i1P.sub.(ij)d.sub.z.sup.s{u.sub.j}(x,y)=.sub.j=l+1.sup.i1.sub.k=0.sup.M.sup.j.sup.1u.sub.1(x.sub.k,y.sub.k)T(xx.sub.k,yy.sub.k,z)(13)

    [0089] It is understood that according to this embodiment of the invention, the light waves o.sub.j emitted by all previous planes have been propagated from the field-based plane P.sub.i directly on the current field-based plane.

    [0090] An advantage of the proposed solution is that it deals only with the propagation of a light wave of a field-based plane to another field-based plane or a point-based plane on a field-based plane, which are relatively simple to calculate.

    [0091] In E45, occulting the light waves u.sub.j.sup.s is considered with j=l+1 to i1 and u.sub.l.sup.w propagated in the previous planes by the portion of scene comprised in the current plane p.sub.i.

    [0092] Within the framework of the processing of the field-based current, the suggested approach implements a binary mask. In connection with FIG. 6, by way of illustration we consider an occulting obstacle located in the current plane P.sub.d+1. A portion of the light wave u.sub.d from the plane P.sub.d, cannot go through the occulting obstacle. The amplitude of the light wave u.sub.d thus becomes zero in this region. This can advantageously be taken into account by multiplying the incident light wave by a binary mask m.sub.d+1, which takes the value zero within the obstacle and one outside. If the points situated in the plane P.sub.d+1 also emit a wave o.sub.d+1, the complex wave u.sub.d+2 incident on the plane P.sub.d+2 is given by


    u.sub.d+2(x,y)=P.sub.dz{o.sub.d+1+m.sub.d+1P.sub.dz{u.sub.d}}(x,y)(14)

    [0093] In connection with FIG. 7, the zones of the current plane P.sub.i for which the occulting binary mask m.sub.i equals 0, have been represented as widened line segments. For the points situated outside these zones, the occulting binary mask equals 1.

    [0094] In the case of the field-based plane Pi, this method is generalized and the occulting of the light waves propagated since the previous planes P.sub.l P.sub.i1 is calculated by multiplying those by the binary mask m.sub.i, according to the formula


    .sub.l(x,y)=m.sub.i(x,y)[u.sub.i.sup.w(x,y)+u.sub.i.sup.s(x,y)]=m.sub.i(x,y)[.sub.j=l+1.sup.i1P.sub.(ij)d.sub.z.sup.s{u.sub.j}(x,y)+P.sub.(il)d.sub.z.sup.w{u.sub.l}(x,y)](15)

    [0095] In E.sub.46, the total light wave emitted in the current field-based plane P.sub.i, in the example P.sub.3, is calculating by summing the light wave o.sub.i emitted by the portion of scene comprised in the plane P.sub.i and the light waves propagated since the previous planes P.sub.i to P.sub.i1, in the example P.sub.0, P.sub.1, P.sub.2, to which the occulting mask mi of the plane P.sub.i, has been applied to the following formula:


    u.sub.i(x,y)=o.sub.i(x,y)+m.sub.i(x,y)[u.sub.i.sup.w(x,y)+u.sub.i.sup.s(x,y)](16)

    [0096] We shall now consider the case of a current point-based plane P.sub.i. We understand that, according to the invention, this plane P.sub.i is a plane spaced between two successive field-based planes, a previous plane P.sub.l, with l<i and a following plane P.sub.d, with d>i, as illustrated by FIG. 8.

    [0097] The processing step E.sub.4 implements the substep E.sub.42 already described of calculating the light wave o.sub.i emitted by the points of the portion of scene comprised in the plane P.sub.i which have a non-zero amplitude according to the equation (2) already described.

    [0098] In E.sub.47, the amplitude of the light waves emitted by previous planes from the field-based plane P.sub.l up to the plane P.sub.i1, and blocked by occulting obstacles of the scene comprised in P.sub.i is calculated. This again points to the scene that have a non-zero amplitude.

    [0099] The aim is therefore to manage the occulting of the light waves from the previous planes, a point-based plane.

    [0100] The inventors have found that, while ideally suited for field-based planes, the light wave of which is calculated using the operator P.sup.w, the technique for managing occultations described in connection with FIGS. 6 and 7 for the field-based planes is not at all adapted to the point-based planes. Indeed, this technique requires previously calculating the propagation of light waves step by step, that is to say a previous plan of the current point-based plane. Or, at each diffraction step, the complex wave emitted by the scene extends gradually from one plane to another, and the incident wave on the plane P.sub.i can span a large number of samples. Thus, even if the plane Pi comprises only a small number of points of the scene for which the amplitude of the light wave o.sub.i is different from zero, the total light wave ui emitted by this plane may have a large number of non-zero values. Each non-zero value of the wave u; is then considered as a spherical light source by the propagation operator P.sup.s previously described. In other words, the incident wave will illuminate a certain number of additional points in the current point-based plane and complicate further processing of this plane. But as we have seen, the algorithmic complexity of P.sup.s depends on the number of spherical light sources in the source plane. The use of the previous technique for taking occultation into account might render completely the very principle of the invention ineffective, namely to choose the processing method suited to a plane based on the number of non-zero amplitude points in the portion of the scene it contains.

    [0101] The invention proposes a different approach, tailored to the point-based planes. It consists in calculating the amplitude of the light wave from the previous planes only for the non-zero-amplitude points of the scene of the current plane Pi. Advantageously, this calculation is based on an inverted binary mask. It provides the amplitude of the light wave blocked by the current plane. In connection with FIG. 8, it is considered an occulting obstacle situated in the plane P.sub.d+1 and an inverted binary mask is used, defined by


    a.sub.d+1(x,y)=1m.sub.d+1(x,y)(17)

    [0102] By substituting m.sub.d+1 in the equation (14) with the expression of a.sub.d+1 according to the equation (17), u.sub.d+2 becomes:


    u.sub.d+2(x,y)=P.sub.dz{o.sub.d+1+(1a.sub.d+1)P.sub.dz{u.sub.d}}(x,y)


    u.sub.d+2(x,y)=P.sub.2dz{u.sub.d}(x,y)+P.sub.dz{o.sub.d+1a.sub.d+1P.sub.dz{u.sub.d}}(x,y)


    u.sub.d+2(x,y)=P.sub.2dz{u.sub.d}(x,y)+P.sub.dz{.sub.d+1}(x,y)(18)

    [0103] Calculating u.sub.d+2 by using the inverted binary mask requires employing three times the propagation operator P, whereas it is necessary to use it only twice with the binary mask m. However, the digital propagation from plane P.sub.d to plane P.sub.d+1 only needs to be calculated in the region defined by the inverted binary mask a.sub.d+1, which corresponds to the coordinates of the points of the scene situated in the plane P.sub.d+1. The point-based propagation operation P.sup.s is therefore used, even for the previous field-based plane PI. Thus, the number of non-zero values of .sub.d+1 is the same as the number of points of the scene for which the amplitude of the wave o.sub.d+1 is different from zero. The use of the inverted binary mask does not, advantageously, increase the number of spherical light sources, the wave of which must be calculated at each diffraction pitch. This technique is thus extremely efficient for managing the occultations by the point-based planes.

    [0104] The management technique of the occultations is generalized for the current point-based plane P.sub.i by the following formula:


    ub.sub.i(x,y)=a.sub.i(x,y).sub.j=l.sup.i1P.sub.(ij)d.sub.z.sup.s{u.sub.j}(x,y)(19)

    where u.sub.bi is the light wave propagated from the previous planes and blocked by the points of the scene with non-zero amplitude of the point-based plane P.sub.i.

    [0105] In E48, the total light wave u; emitted from the plane Pi is calculated by subtracting the waveform o.sub.bi blocked at the light wave emitted by the scene portion lying in the plane P.sub.i.


    u.sub.i(x,y)=o.sub.i(x,y)ub.sub.i(x,y)=o.sub.i(x,y)a.sub.i(x,y).sub.j=l.sup.i1P.sub.(ij)d.sub.z.sup.s{u.sub.j}(x y)(20)

    [0106] It is understood that subtracting from the amplitude of the light wave emitted by the current point-based plane P.sub.i the amplitude of the light wave from the previous plans and blocked by the current plane enables to transmit to the field-based plane the next field information of what has been occulted in the intermediate plane P.sub.i.

    [0107] The value of the light wave u.sub.i obtained for the point-based plane P.sub.i contributes to the calculation of the light wave u.sub.d.sup.s emitted by the point-based intermediate planes P.sub.j, with j=l+1, . . . d1 and propagated on the plane Pd. It is then exploited to calculate the total light wave emitted ud by the next field-based plane Pd, according to the equation (16) described previously:


    u.sub.d(x,y)=o.sub.d(x,y)+m.sub.d(x,y)[u.sub.d.sup.w(x,y)+u.sub.d.sup.s(x,y)](16)

    [0108] In this manner, having propagated the light waves emitted by the previous planes without taking into account the occultations by the intermediate planes is compensated for at the field-based plane P.sub.d.

    [0109] In connection with FIG. 2, let us now return to step E.sub.2 for evaluating a threshold for the current plane P.sub.i according to an embodiment of the invention.

    [0110] In order to implement the proposed method, the threshold value M.sub.d,max must be determined experimentally. By T.sub.i.sup.s is designated the time necessary to calculate the propagation and the occultation of the light wave from the scene by the plane Pi comprising M.sub.i light points by using the point-based approach and T.sub.i.sup.w the time necessary to this calculation by using the field-based approach. T.sub.i.sup.s corresponds to the sum of the time necessary to calculate the occultation of the light wave by the plane Pi by using the technique of the inverted binary mask (step E47) and of the time necessary to the calculation of the propagation of the light wave emitted by the plane P.sub.i by using the operator P.sup.s (step E44):


    T.sub.d.sup.s=M.sub.dM+M.sub.dN.sup.2(21)

    where and are constant coefficients, M is the total number of points of the scene situated in the planes with index j ranging between l and i1 and N.sup.2 the total number of pixels of the hologram H:

    [00007] M = .Math. j = l i - 1 .Math. M j .Math. .Math. T i w .Math. .Math. is .Math. .Math. given .Math. .Math. by .Math. .Math. T i w = .Math. .Math. N 2 .Math. log ( N ) ( 22 )

    where is a constant coefficient. , and must be determined experimentally and depend on the capacities and performances of the system on which the method is carried out, especially in terms of calculation power.

    [0111] For example, we indicate below two values adapted to our system:

    [0112] =1, =2 and =5.35.Math.10.sup.8

    [0113] For maximized efficiency of our method, the threshold value M.sub.d,max is set as

    [00008] T d S = T d W M d , ma .Math. .Math. x = .Math. .Math. N 2 .Math. log ( N ) .Math. .Math. M + .Math. .Math. N .Math. .Math. 2 ( 23 )

    [0114] An advantage of this embodiment of the invention is that it allows to determine the most appropriate technique for processing the current plane on the basis of a realistic comparison of the calculation times associated with both competing methods.

    [0115] Note that the evaluation of the threshold may advantageously be implemented in a first pre-processing step of the plurality of planes. Indeed, according to the embodiment of the invention which has just been described, the number of point per point-based plane taken into account in the process remains unchanged and equals the number of non-zero-amplitude points of the original scene Sc.

    [0116] Note also that alternatively the threshold M.sub.d,max could just as well be assessed from estimates of computational complexity of the first and second method to the current plane rather than from estimated calculation times, in order to remain independent from possible optimized implementations of the method on a particular system.

    [0117] In connection with FIG. 9, an embodiment of the invention will now be described, to simplify the step S.sub.47 of calculating the amplitude o.sub.bi blocked by the points of the scene portion within a point-based intermediate plane P.sub.i.

    [0118] Let us consider a point-based plane P.sub.i and a previous plane P.sub.i1. The occulting plane P.sub.i is divided into zones A to H. For example, these zones have simple geometric shapes, typically rectangular and have all the same dimensions.

    [0119] In the example of FIG. 9, we consider the points q.sub.1, q.sub.2, q.sub.3 and q.sub.4 of the plane Pi, arranged so that: [0120] q.sub.2A; [0121] q.sub.1B;

    [0122] It can be noted that the zones D, E, F, G and H are empty.

    [0123] In the previous plane Pi1, we consider the points q.sub.k, with k an integer between 1 and 5. For each point p.sub.n, n is an integer between 1 and 4, the plane P.sub.i1 enables to calculate on which zones of the plane Pi its emitted light extends. This is done by exploiting the contribution zone of a spherical light wave described above in connection with FIG. 5. Advantageously, the zones of the plane Pi which have a non-zero intersection with the disk of radius Rmax projected from the previous plane Pi1 Pi on the current plane Pi. For example, it can be seen that the point p.sub.1 emits on the zones B and D.

    [0124] For each zone of the plane Pi, we define a list l including the points p.sub.k of the plane P.sub.i1 which light up: [0125] l(A)={p.sub.2}; [0126] l(B)={p.sub.1}; [0127] l(c)={p.sub.2, p.sub.4}; [0128] l(D)={p.sub.1, p.sub.2, p.sub.3} [0129] l(E)={p.sub.4, p.sub.5}; [0130] l(F)={p.sub.3, p.sub.5}; [0131] l(G)={p.sub.5}; [0132] l(H)={p.sub.5}.

    [0133] Each point q.sub.j of the plane Pi therefore only occults the light from the points p.sub.k of the plane P.sub.i1 which illuminate the zone in which it is situated. For example, the point q.sub.1B only occults the light from the points comprised in the list l(B), i.e. only the light from p.sub.1.

    [0134] In this way, we calculate the amplitude ob of the light wave blocked by the scene portion included in the plane P.sub.i only for the points P.sub.i1 that effectively contribute to illuminate the zones of P.sub.i including points of the non-zero amplitude scene. The computational complexity of step E47 is therefore reduced.

    [0135] It will be noted that the invention just described, can be implemented using software and/or hardware components. In this context, the terms module and entity used in this document, can be either a software component or a hardware component or even a set of hardware and/or software, capable of implementing the functions outlined for the module or entity concerned.

    [0136] In connection with FIG. 10, we now present an example of simplified structure of a device 100 for digitally generating a hologram from a three-dimensional scene according to the invention. The device 100 implements the method for digitally generating a hologram according to the invention which has just been described in connection with FIGS. 2 and 4.

    [0137] For example, the device 100 comprises a processing unit 110, equipped with a processor 1 and driven by a computer program Pg1, 120 stored in a memory 130 and implementing the method according to the invention.

    [0138] At initialization, the computer program code instructions Pg.sub.1 120 are for example loaded into a RAM before being executed by the processor of the processing unit 110. The processor of the processing unit 110 implements the steps of the method described previously, according to the instructions of the computer program 120.

    [0139] In this embodiment of the invention, the device 100 comprises at least one unit CARD for counting a number of points of the non-zero amplitude scene in the current plane, a unit DEC for choosing a first or a second technique for propagating a light wave emitted by the current plane as a function of a number of points of non-zero amplitude of the scene portion comprised in the current plane and with a preset threshold value, the first, so-called point-based technique for calculating the propagation of a sum of light waves emitted by point sources constituted by the points of the scene portion of a non-zero amplitude of the current plane on a following plane, the second, so-called field-based technique, adapted to globally calculate a light wave emitted by the scene portion situated in the current plane on a given plane, a processing unit of the current plane according to the propagation technique selected, adapted to calculate a light wave emitted by the current plane and a unit GET H for obtaining the hologram from light waves calculated for the plurality of planes.

    [0140] Advantageously, the unit PROC for processing the current plane includes identification subunits of the last processed field-based plane, calculating the light wave emitted by the scene portion comprised in the current plane and optionally, according to the technique selected, a sub-unit for calculating the propagated light wave of previous planes, a subunit for calculating the light wave occulted by the current plane and a sub-unit for calculating the total light wave u; emitted by the current plane.

    [0141] The device 100 further comprises a unit M.sub.1 for storing light waves calculated for the plurality of planes.

    [0142] These units are controlled by the processor 1 of the processing unit 110.

    [0143] Advantageously, such a device 100 can be integrated into a user terminal TU. For example, such a device can be a personal computer, a tablet, a smart phone or any hardware and/or software system including sufficient computational resources to implement the method according to the invention. Such terminal further comprises a control module through connection means, wired or not, a playback device DR, such as a 2D, 3D or 3D holographic television set, capable of reproducing the hologram generated by the method according to the invention. Of course, for a non-holographic playback device, it is necessary to provide, for example within the control module MC, an intermediate processing for adapting the generous light field to make it viewable on the playback device DR.

    [0144] The invention that has just been presented makes it possible to digitally generate a hologram of the light field from a three-dimensional scene. In connection with FIG. 11, we now present another example of a possible use of the invention. It is considered that a first hologram H has been generated using the method of the invention or another method. We do not know a priori the first scene at the origin of the hologram H. In the so-called enhanced holography scenario considered, a second scene is to be integrated with at least one additional item in front of the first scene. In the example of FIG. 11, the second scene is limited to an object, in this case a rabbit.

    [0145] To integrate properly in the scene, the rabbit must properly occult the elements of the first scene which are situated behind him. As we do not know the first scene corresponding to the hologram H, it is impossible to use visibility tests between the rabbit and the other elements of the scene.

    [0146] It is proposed to implement the method for generating a light field hologram according to the invention by cutting the second scene into a plurality of equidistant planes starting from the plane of the hologram H, such that P.sub.0=H. The plurality of planes comprises Nz planes which are processed according to the invention as field-based planes or point-based planes, the plane P.sub.0=H and the plane P.sub.Nz1 being field-based planes.

    [0147] The new hologram H is obtained by propagation of the light wave u.sub.Nz1 calculated for the last field-based plane P.sub.Nz1 on the plane of the hologram H.

    [0148] Then the light field H obtained in the plane H may optionally be propagated to maintain the position of the original hologram and cause the second scene to appear in front of the first scene.

    [0149] An exemplary embodiment of the present invention improves the situation discussed above with respect to the prior art.

    [0150] An exemplary embodiment overcomes the shortcomings of the prior art.

    [0151] An exemplary embodiment proposes a solution which enables a hologram to be generated from a real scene at a lower cost in terms of computational resources than the existing techniques.

    [0152] An exemplary embodiment proposes a solution that is also capable of effectively managing the occultations of the scene.

    [0153] It goes without saying that the embodiments which have been described above have been given by way of purely indicative and non-limiting example, and that many modifications can be easily made by those having ordinary skill in the art without departing from the scope of the invention.