CODING METHOD FOR COMPRESSING COMPLEX HOLOGRAM
20230168627 · 2023-06-01
Inventors
Cpc classification
G03H1/0841
PHYSICS
G03H1/08
PHYSICS
G03H1/0808
PHYSICS
International classification
Abstract
Provided is a coding method for compressing a complex hologram, in which the coding method includes: (b) creating a complex vector plane divided into unit regions, and giving an index to each unit region of the complex vector plane; (c) projecting the complex hologram to the complex vector plane by regarding the complex hologram as a complex vector, and assigning the index given to the unit region of the projected complex vector plane as a complex index of the complex hologram; and (f) encoding the complex hologram assigned with the complex index. According to the method described above, the full-complex hologram is reconstructed into one piece of index information using the complex vector plane to code the full-complex hologram, such that the hologram can be efficiently compressed while preserving a relationship between a real hologram and an imaginary hologram.
Claims
1. A coding method for compressing a complex hologram, the coding method comprising: (b) creating a complex vector plane divided into unit regions, and giving an index to each unit region of the complex vector plane; (c) projecting the complex hologram to the complex vector plane by regarding the complex hologram as a complex vector, and assigning the index given to the unit region of the projected complex vector plane as a complex index of the complex hologram; and (f) encoding the complex hologram assigned with the complex index.
2. The coding method of claim 1, further comprising: (a) performing the steps from step (b) after normalizing the complex hologram, in which the complex hologram is normalized by clipping a predetermined region and projecting the clipped region into a range having a predetermined size.
3. The coding method of claim 2, wherein in step (a), when the clipped region is projected into the range having the predetermined size, a scaling operation is further performed for adjusting a distribution of a hologram.
4. The coding method of claim 1, wherein in step (b), the index is given to each unit region of the complex vector plane as numbers that are distinguished from each other.
5. The coding method of claim 4, wherein in step (b), the index is given to each unit region of the complex vector plane as a series of numbers in each unit region.
6. The coding method of claim 1, further comprising: (d) repeating steps (b) and (c) by recovering the complex hologram from the assigned complex index of the complex hologram in step (c) and adjusting a hyper parameter to minimize a difference (hereinafter, a loss) between an original complex hologram and the recovered complex hologram, wherein the hyper parameter is a variable that adjusts at least one of a size and a shape of the unit region of the complex vector plane.
7. The coding method of claim 3, further comprising: (d) repeating steps (a) to (c) by recovering the assigned complex hologram from the complex index of the complex hologram in step (c) and adjusting a hyper parameter to minimize a difference (hereinafter, a loss) between an original complex hologram and the recovered complex hologram, wherein the hyper parameter is a variable that adjusts at least one of a size and a shape of the unit region of the complex vector plane, and scaling for adjusting the distribution of the hologram.
8. The coding method of claim 6, wherein in step (d), the assigned complex index of the complex hologram is inversely re-projected to the unit region of the complex vector plane, a complex vector representing the re-projected unit region is extracted, and the complex hologram is recovered with the extracted complex vector.
9. The coding method of claim 8, wherein in step (d), a complex vector having a representative value is extracted from a range of the complex vector representing the re-projected unit region, and the complex hologram is recovered with the extracted complex vector.
10. The coding method of claim 1, further comprising: (e) before step (f), collecting indexes (hereinafter, first indexes) of the unit region actually used when the projecting is performed in the complex vector plane to generate second indexes mapped one-to-one with the first indexes, wherein the second indexes include a series of numbers, have a same number as the first indexes, and are reassigned by mapping the indexes of the complex index plane according to a corresponding mapping relationship.
11. The coding method of according to claim 1, wherein the complex hologram includes a real part and an imaginary part, and the complex vector is a two-dimensional vector consisting of a real part and an imaginary part of a hologram.
12. The coding method of according to claim 1, wherein the complex hologram includes an amplitude and a phase, and the complex vector is a two-dimensional vector consisting of an amplitude and a phase of a hologram.
13. A coding method for compressing a complex hologram, the coding method comprising: (g) receiving a complex index of the complex hologram encoded by the method of claim 1; (h) decoding the complex index of the encoded complex hologram; and (i) inversely re-projecting the assigned complex index of the complex hologram to the unit region of the complex vector plane, extracting a complex vector representing the re-projected unit region, and recovering the complex hologram with the extracted complex vector.
14. A computer-readable recording medium on which a program for performing the coding method for compressing a complex hologram of claim 1 is recorded.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
DETAILED DESCRIPTION OF THE INVENTION
[0051] Hereinafter, embodiments of the invention will be described below in detail with reference to the accompanying drawings.
[0052] In the description of the embodiments, the same elements are denoted by the same reference numerals and will not be repeatedly described.
[0053] First, examples of a configuration of the entire system for carrying out the present invention will be described with reference to
[0054] As shown in
[0055] Meanwhile, as another embodiment, the coding method for compressing a complex hologram may be implemented by including one electronic circuit such as an application-specific integrated circuit (ASIC), in addition to including a program and operating in a general-purpose computer. Alternatively, the coding method may be developed as a dedicated computer terminal that exclusively processes only the compression of the hologram components. This will be referred to as the coding system 300. The coding method may be implemented in other possible forms.
[0056] Meanwhile, the hologram data 100 is data of the hologram components.
[0057] Next, a full-complex hologram used in the present invention will be described.
[0058] The full-complex hologram is mathematically expressed as Equation 1. On a hologram plane, interference between a reference wave and a reflected wave is calculated from object points, and interference patterns for all the object points are then accumulated. Equation 1 shows a CGH equation for generating a full-complex hologram. I(u,v) is an intensity at a coordinate (u,v) of a hologram plane, and A(x, y, z) is an intensity of the object point at an (x, y, z) coordinate. N is a number of object points, λ is a wavelength of a reference wave used for generating a hologram, and p is a size of the hologram and an object point, which are treated as the same value for convenience.
[0059] The hologram in Equation 1 includes a real part and an imaginary part as shown in Equation 2 below.
I(u,v)=I.sub.Re(u,v)+I.sub.Im(u,v) [Equation 2]
[0060] In addition, the complex hologram may be transformed into a complex form having an amplitude and a phase in Equations 3 and 4. That is, the complex holograms in Equations 1 and 2 may be transformed into an amplitude Am(u,v) and a phase Ph(u,v) using Equations 3 and 4.
Am(u,v)=√{square root over (I.sub.re.sup.2(u,v)+I.sub.Im.sup.2(u,v))} [Equation 3]
Ph(u,v)=tan√{square root over (I.sub.re(u,v))} [Equation 4]
[0061] Next, the coding method for compressing a complex hologram according to an embodiment of the present invention will be described with reference to
[0062] The coding method according to an embodiment of the present invention largely includes an encoding process for compressing the hologram and a decoding process for decoding the compressed hologram.
[0063] As shown in
[0064] In this case, the steps of the complex plane projection (S13a) and the complex index assignment (S13b) constitute a hologram quantization step (S13), and the steps of the complex plane re-projection (S14a) and the complex hologram assignment (S14b) constitute a hologram de-quantization step (S14).
[0065] In addition, the encoding process finally further includes an image/video encoding step (S17), and a standard codec or a dedicated codec may be used.
[0066] Further, as shown in
[0067] That is, the decoding process of a decoder 340 according to the present invention is included in the encoding process of an encoder 330.
[0068] First, the full-complex hologram having various distributions is adjusted to have the same distribution through the normalization process (S11). The distribution of the complex hologram is analyzed to generate a complex plane (S12). The full-complex hologram is transformed into a complex index plane including a quantization index value by using the complex plane (S13). This process is defined as a complex hologram quantization step (S13).
[0069] The quantized complex hologram is recovered again through the de-quantization step (S14). After similarity between the original hologram and the recovered hologram is analyzed through the distortion optimization step (S15), a complex plane is regenerated based on the similarity and the subsequent process is repeated. When the similarly between the original hologram and the recovered hologram becomes very high, the repetition is stopped and the complex index re-assignment step (S16) is performed to leave only the minimized complex index and optimize the complex index plane. The resulting complex index plane is compressed using image and video compression codecs (anchor codec, JPEG2000, HEVC, VVC, dedicated codec, etc.) (S17) to generate a compressed bit stream.
[0070] Next, a recovering process is an inverse process of the compression process. First, the compressed bit stream is recovered using the image and video compression codecs (S21), and the complex hologram is then recovered through the complex hologram de-quantization step (S22). Finally, the complex hologram is re-normalized (S23) to finally recover a hologram having an original distribution.
[0071] Next, a main operation of the coding method for compressing a complex hologram of the present invention will be described with reference to
[0072] The point of the present invention is to form a full-complex hologram including two frames of the real and imaginary parts (or amplitude and phase) as a complex plane of one frame having the same size. The most important operation in this case is re-projecting the hologram of the real and imaginary parts (or amplitude and phase) to one complex plane. The operation of re-projecting the hologram to the complex plane has three main effects.
[0073] First, a resolution of the input full-complex hologram may be reduced by half.
[0074] Second, a correlation between the real and imaginary parts (or amplitude and phase) of a full-complex hologram may be preserved.
[0075] Third, various region-based quantizations may be applied.
[0076]
[0077] In
[0078] In
[0079] That is, a two-dimensional vector may be created using two pixel values, and a position indicated by the vector is an index value created by the two pixels. In this way, the index created by a pair of pixels of the real and imaginary parts (or amplitude and phase) becomes one pixel in a complex index map. A rightmost rectangle in
[0080] Next, the complex hologram normalization step (S11) and the de-normalization step (S23) will be described in more detail with reference to
[0081] Unlike the two-dimensional image having only a specific fixed number of bits, the hologram may have a wide range of values (32-bit floating point, 64-bit floating point, 16-bit floating point, integer, etc.) depending on a method of generating the hologram. It is very difficult to process data having a wide range of values using a fixed algorithm. Therefore, a process for normalizing the input hologram into a data format having a predetermined range is essential.
[0082] The hologram normalization process largely includes two processes. The first process is a clipping process and the second process is a normalization process. When the distribution of the hologram is very wide, a predetermined region is clipped starting from a maximum value and a minimum value. Next, the entire data is projected into a range that the clipped region has a predetermined size (in
[0083] In addition, preferably, a scaling operation is performed to adjust the distribution of the hologram in the normalization process (process for projecting the clipped region into a predetermined range). For example, the relative distribution of the hologram is adjusted to have a good compression efficiency by performing the scaling so that a range with high hologram distribution is widened and a range with low hologram distribution is narrowed.
[0084] The real and imaginary parts use the normalized value as it is, and the amplitude and the phase use the normalized amplitude and phase on the complex plane.
[0085] The hologram de-normalization process performs the same process in reverse. However, the clipped region may not be recovered to the same value.
[0086] Next, the complex vector plane generation step (S12) will be described in more detail with reference to
[0087] After the complex hologram is projected to the complex plane, the projected distribution is analyzed to generate a complex vector plane that may best represent the complex hologram.
[0088] The complex vector plane may have various shapes. The complex vector plane may have a shape of a rectangle, a circle, or any other shape.
[0089] The complex vector plane is divided into sub-regions, and one small unit region thereof is a spatial quantization unit of the hologram. The small region may be defined to have the same shape or area as in
[0090] Preferably, the small region is divided by a unit of the corresponding shape depending on the shape of the complex hologram. That is, when the complex hologram includes the real and imaginary parts, the complex vector plane is divided by units of x and y. The unit regions are set by ranges of the x-axis and the y-axis, respectively. Further, when the complex hologram includes the amplitude and the phase, the complex vector plane is divided into unit regions based on a size and an angle. That is, the unit regions are set by ranges of the size and the angle, respectively. For example, any one unit region is divided by defining a size of 0.5 to 0.6 and an angle of 0.36 to 0.40.
[0091] Further, indexes (e.g., a series of numbers) that are distinguished from each other are given to each unit region of the complex vector plane. In particular, the indexes are preferably given as a series of numbers (e.g., a series of integers). For example, the index may be given by numbering each unit region with a serial number as shown in
[0092] Next, the complex hologram quantization step (S13) will be described in more detail with reference to
[0093] The distribution of the complex hologram is analyzed to generate a complex vector plane, and then the quantization of the complex hologram is performed using the complex vector plane.
[0094] The complex hologram quantization step (S13) using the complex vector plane largely includes the complex vector plane projection step (S13a) and the complex index assignment step (S13b).
[0095] These two processes simultaneously shown in
[0096] As shown in
[0097] Further, as shown in
[0098] Next, the hologram de-quantization steps (S14 and S22) will be described in more detail with reference to
[0099] The hologram de-quantization process is the same as an inverse process of the hologram quantization process. The complex index planes are processed one by one in the order of two dimensional coordinates.
[0100]
[0101] As shown in
[0102] That is, in
[0103] Preferably, in case of
[0104] Next, the distortion optimization step (S15) will be described in more detail with reference to
[0105] The hologram recovered through the hologram quantization and the de-quantization is compared with the original hologram to minimize the influence of the complex index plane on the quantization and recovery of the hologram. That is, it is to repeatedly find a complex vector plane that may best represent the original hologram and minimize a loss of information on the original hologram through the quantization and de-quantization processes.
[0106] A process of the distortion optimization step (S15) is summarized in
[0107] In a pseudo code of
[0108] In a pseudo code of
[0109] Preferably, θ is a hyper parameter defining a unit region of the complex vector plane. That is, the hyper parameter is a parameter for adjusting the size and the shape of the unit region of the complex plane. For example, the size and the shape of the unit region of the vector plane may be adjusted by creating complex functions or selected by setting the size and the shape to plural types in advance. Alternatively, the size and the shape of the unit region of the vector plane may be used by mixing these methods.
[0110] More preferably, the hyper parameter θ may further include a scaling variable for adjusting the distribution of the hologram. In this case, the process is performed again from the complex hologram normalization step (S11).
[0111] As shown in
[0112] Next, the complex index re-assignment step (S16) will be described in more detail with reference to
[0113] All regions of the complex vector plane may not be used. The complex vector plane may be partially used depending on the distribution of the complex hologram. In
[0114] As the region actually used in the complex vector plane is reduced as shown in
[0115] That is, preferably, only indexes (hereinafter, first indexes) of the region actually used in the complex vector plane are collected to generate second indexes mapped one-to-one with the first indexes. The second indexes are indexes having the same type of index system as the first indexes, but only having the reduced number. That is, preferably, the second indexes include a series of numbers and are generated with the same number as the number of the first indexes. In addition, the index of the complex index plane is re-assigned according to such a mapping relationship (re-assignment mapping relationship). That is, the index of the complex index plane is re-assigned by mapping the index to an index of the second indexes.
[0116] For example, 100 (index: 0 to 99) unit regions of the complex vector plane are created, and 80 unit regions are actually used. In this case, it means that 80 indexes used are re-assigned by mapping the indexes to new indexes (0 to 79) again except for 20 unit areas that are not used. Because a range of data is reduced, a compression ratio of frequency transformation is better. That is, a rate of change of the data is lowered on average, such that a coefficient resulting from the frequency transformation is simplified.
[0117] Although the present invention invented by the present inventor has been described in detail with reference to the embodiments, the present invention is not limited to the above embodiments, and various modifications are possible without departing from the scope and spirit of the present invention.