Abstract

This work presents an algorithm to reduce the multiplicative computational complexity in the creation of digital holograms, where an object is considered as a set of point sources using mathematical symmetry properties of both the core in the Fresnel integral and the image. The image is modeled using group theory. This algorithm has multiplicative complexity equal to zero and an additive complexity for the case of sparse matrices or binary images, where is the number of pixels other than zero and is the total of points in the image.

1. Introduction

The problem of reducing the computational time in the creation of digital holograms is becoming a demanding research topic due to the growing range of applications in different areas [1] such as optical microscopy, interferometry, entertainment, security, medicine, and education. The creation time of holograms has been reduced by using increasingly faster algorithms and hardware such as FPGA (Field Programmable Gate Array) and parallel programming techniques [2] and precomputed lookup tables [3, 4]. Nevertheless, another challenging approach seeks to reduce the computational complexity since it also can reduce the processing time. This work only focuses on reducing the multiplicative computational complexity in the creation of digital holograms since the time depends on the hardware of the computer and the programming techniques used (parallel programming).

Related work exists that has proposed the use of symmetry for reducing computational complexity and/or processing time. For example, run-length coding is used in [5]. Nevertheless, mathematical symmetry of the image is used only partially, because only the redundant color of the image in adjacent pixels is used. In [6], Jiao et al. use radial symmetric interpolation to reduce the size of the precomputed lookup table by considering the redundancy in data; however they do not use the global mathematical symmetry to reduce the complexity in computing the hologram. This work considers the global mathematical symmetry to reduce such computational complexity.

Some authors use the symmetry of the principal fringe patterns [7], but the symmetry by reflection rather than the mathematical symmetry is considered. In [8], only a 45-degree diagonal of the zone plates is calculated, and the first quarter of the concentric circles quadrant of the zone plates is calculated from this diagonal using interpolation and data duplicity, and using the symmetry by reflection, the zone plates are fully calculated.

In this work, an algorithm using group theory is proposed, where MCC (multiplicative computational complexity) is zero in the generation of digital holograms for 2D images, two colors, and different sizes. Unlike other works, it successfully explores the use of the global mathematical symmetry, a key consideration which allows reducing the MCC, which in turn contributes to increasing the speed of digital hologram generation. The memory size used to generate the hologram is the same as that reported [9]. The time to generate a hologram point is 0.009 ms compared to the N-LUT algorithm which takes 0.0170 ms. By this method, the computational complexity is reduced by approximately the half with respect to the N-LUT method.

The rest of the paper is divided as follows. Section 2 presents the development of the algorithm. Section 3 provides the results of computational complexity reduction of digital Fresnel holograms. Finally, Section 4 presents the concluding remarks.

2. Development

Group theory to reduce the computational complexity in the creation of digital holograms is used, by considering an object as a set of point sources [6, 1012]. It is known that if the symmetry group of a problem is known, this can greatly simplify the process of creating digital holograms [1315]. The problem of creating digital holograms depends on three components, namely: the image, the transform, and the hologram. Each one of these components has its own symmetry properties, which can be helpful to reduce the computational complexity [15, 16].

If there exists redundancy in a digital image, particularly in the core of the transform or in the hologram itself, then it is possible to use mathematical symmetry to reduce the MCC of the digital hologram generation [5, 13, 14].

A mathematical symmetry group is a set of permutations such that when they are applied to an object, the object remains invariant. It is worth mentioning that mathematical symmetry includes axial symmetry. Thus, a 2D image can be represented as vector where the same permutations of the same color pixel are applied without changing the original image. The total number of gray levels of an image is 256, whereas the image size in pixels is usually greater than 256. Thus, for a gray scale image (where colors are codified from 0 to 255), there will be some repetition of colors of pixels, based on the principle of the Dirichlet [17]. Therefore, there will always be a group of permutations acting over the same color pixels of the image without changing it, due to the fact that, in any 2D or 3D images, there are pixels with the same color; with processing purposes the pixels can be permuted without any change in the image; the same can be made for the hologram generated. Here the application of the core of the transform to an object is analyzed, so that the mathematical symmetry can be obtained.

To use the symmetry of an image in the process of creating holograms to reduce the computational complexity, it is necessary to calculate the maximum symmetric group of the image. Mathematically, images can be two-dimensional, three-dimensional, or -dimensional. In fact, an -dimensional image with colors can be presented as a set of tuples .where are the pixel coordinates of an -dimensional image and are the components of the color vector for each pixel.

It is assumed that the image is transformed by an operator into a set of tuples and that the inverse transform is . The elements of the set are the tuples that represent all pixels of the image. The place of the tuple in a set represents the place of the corresponding pixel in the image.

The transforms used to generate holograms are linear, so the generation process for each color can be carried out separately, thus only one component in the color vector can be assumed without loss of generality, as follows:Also, the next properties can be assumed for the digital images.

Suppose that are the size of each dimension; thenThen, the set can be partitioned according to the color as follows:whereand is the operator for direct addition of groups.

Then factoring the color, can be represented as where is the multiplication operation for real numbers

Thus, in (6), the factor multiplies only the last element of the tuple, which is the color. The set can be considered as a vector whose dimension is . The set of values can be considered as a basis to represent the image as follows: is the set of pixels of the image with a gray level of zero; this is because the color component of its tuples does not need to be multiplied for some . This means less multiplication operations. Equation (8) allows defining a maximum symmetric group of the image:where is the total number of elements of . is a symmetric group (permutation group) defined over or .

It is evident that applying the group to the sets or (considered as sets of pixels) modifies them, but it does not alter the corresponding images that are related to the set of tuples or . Applying group to the image does not produce any changes to it. Therefore,

According to (8), the image can be stated as the sum of the partial images . The values of the color of the pixels corresponding to the set of tuples are equal and have a value of 1. Hence, the multiplicative computational complexity of creating digital holograms from images corresponding to the sets is zero (there are no multiplications). On the other hand, it must be taken into account that images corresponding to the set of tuples are sparse and this can also minimize the additive computational complexity. Digital holograms of partial images corresponding to the set of tuples are named “partial holograms” and they are denoted by which can be obtained by (15) and the methodology of [9]. Since the transformed images to generate the corresponding holograms are linear, according to (8), the hologram corresponding to the set of tuples can be presented as follows:

From (11), the multiplicative computational complexity (MCC) of the hologram creation process from the set of tuples is given bywhere is the number of dimensions of the hologram and is the size of each dimension. For example, for images and two-dimensional holograms presented with size and , the multiplicative computational complexity has a value ofThis is so because each point in the hologram is obtained with 255 multiplications and the whole hologram has a total of points. In the extreme case that the image consists of two colors, for example, a blue cube with white background, the computational complexity isOn the other hand, the equation for obtaining a hologram is given by where is the complex amplitude of the hologram plane and is the reference beam defined as follows:where is the wave number, and is the wavelength.

The N-LUT method which is like a convolution [1821] can be applied only to the third element of (15) and the property of mathematical symmetry of the image; in this way the multiplicative computational complexity is reduced.

For example, a binary image (black and white) would make zero multiplications and sums, where is the number of pixels other than zero. For the case of sparse and binary images, where is a small number, the multiplicative complexity is kept at zero while the additive complexity decreases a lot.

To clarify the results above, let us consider the following example. For a hologram of one row 1 × 5 and one image of the same size, the distances from each image point to each hologram point depict a symmetry distance vector (d5, d4, d3, d2, d1, d2, d3, d4) as shown in Figure 1; each distance or its approximation obtained by using the MaClaurin polynomial is used in the core of the Fresnel integral.

Once the distances from the first point have been calculated, these can be used to calculate the distances of other points of the hologram, so it is no longer necessary to make redundant calculations of distances. This can be extended to two dimensions as shown from Figure 2 through Figure 5. Figure 2 shows the distance matrix from an image of 3 × 3 to the first point of the hologram.

Similarly, Figure 3 shows the distance matrix can be obtained for all points of the hologram.

Figure 4 shows how Figure 3 is obtained. The matrix of Figure 4(b) is obtained by reflecting to the left the last two columns of the matrix of Figure 4(a). The matrix of Figure 4(c) is obtained by reflecting the last two rows of the matrix of Figure 4(b) upwards.

The hologram can be obtained from Figure 4(c). To obtain the first point of the hologram, a submatrix is used; in this first case, a submatrix located in the lower right corner in Figure 4(c) is considered. The dimensions of this submatrix are the same as the dimensions of the original image. For the next point of the hologram, it is considered again a 3 × 3 submatrix but this time shifted one column to the left. This procedure is repeated until the row is completed (see Figure 5).

Each submatrix is applied to the image as a dot product between matrices so that all points of this row of the hologram are calculated.

To obtain the second row of the hologram, we use the 3 × 3 submatrix shown in the lower left corner of Figure 5; the same process is repeated as in the first row, and so on, until the whole hologram is generated.

Using this property of mathematical symmetry of the distances and image, the multiplicative computational complexity is reduced in the creation of digital holograms.

3. Results

Given a two-dimensional image, the hologram is created using the algorithm described in this work. It is worth mentioning that the algorithm does not improve the quality of the holograms of Fresnel using the N-LUT method and the peak signal-to-noise ratio (PSNR), and the structural similarity (SSIM) index is the same. This is because the methods of Ray-tracing, LUT, N-LUT, and the proposed method use the same equations to calculate the hologram. The difference is only the computational complexity of the algorithm.

Let us now analyze the computational complexity through the image of Figure 6(a) and its binary form of Figure 6(d). The hologram and reconstruction are shown in Figures 6(b) and 6(c) and Figures 6(e) and 6(f), respectively. The algorithm was programmed in Matlab and data from [22] was used.

The time used to obtain each point of the hologram as well as the amount of memory required is shown in Table 1. Table 2 shows the computational complexity of the N-LUT method and our method for obtaining the digital hologram of a grayscale image. The computational complexity of both methods for a digital hologram of a binary image is shown in Table 3.

Note in Table 4 that the computational complexity for a binary and sparse image is much lower than for a grayscale image.

4. Conclusions

The use of group theory and image symmetry properties allow the reduction of the computational complexity in the creation of digital holograms.

Our algorithm applied on two colors images has a positive impact on multiplicative computational complexity, which is reduced from to

It is relevant to mention that the algorithm for binary and sparse images has a very low or zero multiplicative computational complexity and it is independent of image size; however, the additive complexity has not been significantly reduced.

The computational complexity for a grayscale image is reduced approximately to the half with respect to N-LUT algorithm.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

The authors gratefully acknowledge the PRODEP (UNACAR) and the CONACyT FOMIX (CIMAT Yucatan 2014) for their support.