Improved associative recall of binary data in volume holographic memories

Improved associative recall of binary data in volume holographic memories

15 November 1999 Optics Communications 171 Ž1999. 37–44 www.elsevier.comrlocateroptcom Improved associative recall of binary data in volume holograp...

771KB Sizes 0 Downloads 27 Views

15 November 1999

Optics Communications 171 Ž1999. 37–44 www.elsevier.comrlocateroptcom

Improved associative recall of binary data in volume holographic memories George A. Betzos ) , Alexandre Laisne, ´ Pericles A. Mitkas Department of Electrical and Computer Engineering and the Optoelectronic Computing Systems Center, Colorado State UniÕersity, Fort Collins, CO 80523-1373, USA Received 11 February 1999; received in revised form 31 August 1999; accepted 3 September 1999

Abstract A new technique is presented that improves the results of associative recall in a volume holographic memory system. A background is added to the normal search argument to increase the amount of optical power that is used to reconstruct the reference beams in the crystal. This is combined with post-processing of the captured image of the reference beams. The use of both the background and post-processing greatly improves the results by allowing associative recall using small arguments. In addition, the number of false hits is reduced and misses are virtually eliminated. q 1999 Elsevier Science B.V. All rights reserved. PACS: 42.30.y d; 42.40.Ht; 42.40.My; 42.40.Pa Keywords: Volume holographic memories; Associative recall; Content-based search; Optical data storage; Data encoding

Page-oriented volume holographic memories have the potential to provide tremendous amounts of data storage capacity coupled with high data transfer rates, because they can be accessed in terms of two-dimensional Ž2-D. arrays of data w1x. This 2-D format naturally matches the format of several database objects, such as tables of records in a relational database, images and video frames in a multimedia database, etc. In addition, volume holographic memories allow searching of all their contents in a single step w2,3x. If an angularly multiplexed memory containing N pages is illuminated by a stored data page or a portion of it, called the search argument, S, a

) Corresponding author. Tel.: q1-970-491-6015; fax: q1-970491-2249; e-mail: [email protected]

reference beam profile is reconstructed as an array P of N values. Each value P Ž i . is proportional to the correlation between the search argument and the contents of page i. The values in P that exceed a certain threshold point to the locations of pages that contain data matching the search argument. This type of content-based search, which is also known as associative recall, is an important and frequent operation in a database environment but it cannot be provided by current data storage technologies. We have conducted a series of experiments to demonstrate and characterize the associative recall capabilities of our volume holographic database system ŽVHDS. w4,5x. We have shown that we can store binary or grayscale data, as well as combinations of them, and search for data in either form. Some of the data types we have recorded include database records,

0030-4018r99r$ - see front matter q 1999 Elsevier Science B.V. All rights reserved. PII: S 0 0 3 0 - 4 0 1 8 Ž 9 9 . 0 0 4 9 5 - 2

38

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

images, video frames, codebooks, and text. Although results of associative recall have been very promising, the occasional presence of false hits Ži.e. pages that generate values in P above the threshold despite not matching the search argument. in the reference beam profile suggests that further improvements are necessary to compensate for variations in the diffraction efficiency of the stored pages and the low intensity response when the size of the search argument is small. In this paper we describe a new technique for associative recall of binary encoded data in a volume holographic memory that both increases the amount of optical power Žand therefore the level of response from the crystal. and corrects the effect of varying diffraction efficiency between pages. A similar technique, which compensates for the variation in diffraction efficiency between pages, and which may be considered a special case of the technique we present here, has also been used by Burr et al. w3x. Fig. 1 shows the laboratory setup of VHDS. The optical power source is a 150 mW Nd:YAG laser, whose beam is split into an image beam and a reference beam. The spatial light modulator ŽSLM. is a VGA resolution Ž640 = 480. ferroelectric liquid crystal display driven by the VGA output of a PC. It modulates the image beam according to the 8-bit grayscale image loaded on it. We use a digital 1024 = 1024 CCD array as CCDi and CCDr and the

data pages or reference beam profiles are imaged onto the CCD array through a Nikon 35-70 zoom lens. The recording medium is a 1 cm3 crystal of iron-doped Ž0.02% or 0.015%. lithium niobate and it is placed just past the focal plane of the last lens along the path of the image beam. VHDS has three modes of operation: data recording, addressed recall and associative recall ŽFig. 2.. During data recording mode an image encoding page i is loaded on the SLM and the reference beam is set at some angle ai with respect to the image beam. Since the two beams enter the crystal from two adjoining facets, a 908 geometry arrangement is implemented. Then the image and the reference beam of the laser are both turned on and the page i on the SLM is recorded into the crystal by the interference of the two beams ŽFig. 2Ža... In this case, the power of the reference beam is 90 mW and the power of the image beam is about 0.8 nWrpixel, for an average data page. In a classic angular multiplexing scheme, pages are recorded at D a s aiq1 y ai intervals of the reference beam angle, where usually 0.048 F D a F 0.18. During addressed recall mode, in order to retrieve the data stored in page i, the reference beam is set at angle ai with respect to the image beam, the same angle that was used to record page i, and is turned on Žthe image beam is turned off.. A relatively weak reconstruction of page i is generated past the crystal, along the direction of the image beam and is cap-

Fig. 1. Laboratory setup of VHDS.

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

Fig. 2. VHDS: Ža. recording of a data page; Žb. addressed recall of a data page; and Žc. associative recall of all the data pages Žassociative search of the stored data pages..

tured by CCDi ŽFig. 2Žb... In this case, the power of the reference beam is usually between 70 and 100 mW. During associative recall mode, an image encoding a search argument Že.g. like Fig. 5Ža.. is loaded on the SLM and the image beam is turned on, while the reference beam is turned off. A rather weak reconstruction of all the reference beams used to record the data pages is generated at a direction perpendicular to the image beam and is captured by CCDr ŽFig. 2Žc... In this case, the intensity of each spot on the image captured by CCDr is proportional to the correlation between the search argument and the corresponding data page. However, the intensity

39

of each spot also varies according to the diffraction efficiency of each page. Also, because each reference beam spot may be sampled by several CCDr pixels, we use an oversampling correction technique to find the appropriate intensity value for each spot, and therefore P Ž i . w6x. During associative recall mode, the power of the image beam is usually also 0.8 nWrpixel. Let us then consider a binary data encoding scheme Že.g. as in Ref. w7x. that satisfies two rather general requirements: Ža. the number of ON data bits per page must not vary greatly between pages, to ensure a uniform diffraction efficiency across pages; and Žb. parity bits for error control are stored at predetermined positions in every page Že.g. Fig. 3.. Such an encoding scheme is required for storing and reliably retrieving data form the memory during addressed recall w5x. Assuming no changes in the hardware, such as using a more powerful laser, the optical power reaching the crystal during associative recall can be increased by modifying the search argument to allow more light to pass through the SLM. The modification must not affect the results of the search in any way other than producing an increase in the signal to noise ratio ŽSNR. in the reference beam profile. There are two ways to achieve this goal and they can be used independently or together. First, we can add a uniform grayscale background to the data bit area of the search argument. Let Id be the intensity level of this background, where 0 F Id F Imax . Then

Fig. 3. Sample data page containing one record from the membership database.

40

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

each 0-bit in the search argument will be represented as an Id level in the 2-D array describing the modified search argument while a 1-bit will be mapped to the Imax level. The first requirement of the encoding scheme will ensure that no particular page will benefit more than the others to produce a false hit. Second, we can turn all parity bits ON to let more optical power through the SLM. Parity bits are used for detecting and correcting errors when data pages are retrieved from the memory during addressed recall. However, they do not serve any purpose during content-based searches and therefore the pixels they occupy in the SLM can be exploited to increase the optical power through the SLM without decreasing the storage capacity of the memory Žalternatively, special columns or blocks of pixels may be used, instead of the parity columns, if storage capacity is not an issue.. In general, any intensity level Ip F Imax can be chosen for the parity bits but, in practice, Ip will be set equal to Imax . Since the percentage of ON parity bits in the stored data pages is approximately 50% with little variation across pages, no particular page will generate a stronger correlation. This modification also alleviates the problem of incorporating parity bits in search arguments. Combining both schemes will yield a search argument array with data bits mapped to either Id or

Imax and parity bits mapped to Ip . The result will clearly be more light on the crystal and an increase in the intensity level of the reconstructed beams well above the noise level. In addition to the search argument preprocessing techniques described above, further improvement can be achieved by postprocessing the reference beam profile captured by the photodetector. Variations in the reconstruction efficiency of the reference beams for different pages can be compensated for if a base profile, PB , of the response of each page is available. Such a profile can be obtained by searching the memory with just the background that is added to the search arguments as described above Žall data bits assume the value Id and all parity bits are set to Ip .. PB will indicate which pages produce stronger or weaker responses than average and provide an array of factors, one per page, that can be used to correct the responses obtained in subsequent associative recalls. Indeed, the values PS Ž i . of the reference beam profile PS generated while searching for S can be adjusted to PS_corrected Ž i . according to the following equation: PS_corrected Ž i . s PS Ž i .

PB PB Ž i .

where P B is the average intensity in the base profile.

Fig. 4. The six different backgrounds that were evaluated with the corresponding data bit background Ž Id . and parity column Ž Ip . intensity settings: Ža. 0, 255; Žb. 34, 127; Žc. 34, 255; Žd. 68, 255; Že. 127, 255; and Žf. 127, 127.

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

41

Fig. 5. Sample search argument of 39 characters composed from the data in four fields Žexcluding padding spaces.: Ža. without a background; and Žb. with background c.

A number of experiments were performed to select the best background for the search arguments and to evaluate the correction techniques. Depending on the outcome of these experiments, a certain background may be suitable for any size of the search argument or we may need to use one background for large search arguments and another for small. Each data page holds one record from a membership database with such data attributes as name, address, phone number, affiliation, email, etc. The data encoding scheme maps each alphanumeric character to a column of 15 bits, only two of which are allowed to be ON at a time. Each group of 7 consecutive characters Ž7 = 15 bits. forms a block which is protected by a cross parity code. That is, a column of parity bits across the rows is computed and added to the block of 7 characters resulting in an 8 = 15 block Žthe parity is always even across the columns and is not needed.. A total of 210 characters is encoded in each page. A logical bit is represented in the SLM as a rectangular block of pixels, all ON or OFF Žpixel values 255 or 0, respectively., depending on the bit value. For the experiments we describe here the bit size is 8 = 8 SLM pixels. A sample data page is shown in Fig. 3. A set of six backgrounds Ža–f. was selected with different Id and Ip intensity levels that cover a wide range of possibilities. These backgrounds are shown in Fig. 4. For example, Fig. 4Ža. is a background where only the parity columns are set to ON Ž Ip s Imax s 255., Fig. 4Žc. is a background where all the data bits are set to intensity 34 and all the parity bits

to intensity 255 and Fig. 4Žf. is a background where both the data and parity bits are set to intensity 127. Next, a set of 100 pages was stored in the memory and the memory was searched first with a set of arguments encoded without using a background Ž Ip s Imax s 0, e.g. like the one shown in Fig. 5Ža.. and using a totally dark page to obtain a base profile. Then the memory was searched with a background to obtain a corresponding base profile. This was followed by a set of search arguments of decreasing size encoded using that background Že.g. like the one shown in Fig. 5Žb... This process was repeated for all six backgrounds. Page 40 was chosen at random to extract the search arguments from a subset of pages among the 100 which encode records with rather unique data. Also, we restricted the number of matching pages to a single one in order to remove one extra variable from these experiments Ži.e. multiple matching pages.. Fig. 6 shows the reconstructed reference beams, as captured by CCDr , for the case of a 39 character search argument. Fig. 6Ža. shows the result without

Fig. 6. Result of associative recall using: Ža. the argument in Fig. 5Ža.; and Žb. the argument in Fig. 5Žb.. Both CCD-captured images have been enhanced to show the signal.

42

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

Fig. 7. Page intensity profiles: Ža. as detected without using a background Žcorresponds to Fig. 6Ža..; Žb. as detected with background c added Žcorresponds to Fig. 6Žb..; and Žc. detected with background c added, then corrected by the base profile of background c ŽFig. 6Žb. corrected by Fig. 8..

Fig. 8. Page intensity profile of background c Žbase profile, i.e. detected using Fig. 4Žc. as the search argument..

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

Fig. 9. Results of associative recall and correction with the backgrounds in Fig. 4 and black background Ž‘no’.. The ratio of the peak produced by page 40 over the highest peak among the rest of the pages is plotted.

43

Fig. 11. Fitted search profiles. The profile of Fig. 7Žc. has been normalized Ždivision by maximum. and fitted with the corresponding computed profile.

using a background and Fig. 6Žb. the result when the argument is encoded using background c. Fig. 7Ža. and Fig. 7Žb. show the page intensity profiles for the images in Fig. 6. Both the enhanced image of the reconstructed beams and the intensity profiles of the pages indicate that when no background is used to encode the search argument the result is very close to the noise level. In fact, the expected peak at page 40, as shown in Fig. 7Ža., is unremarkable and at the level of noise. In contrast, the result of searching with the same argument encoded using the background c indicates considerable improvement. Both the enhanced image of the reconstructed beams ŽFig. 6Žb.. shows clearly a spot for every page and the

profile of page intensities ŽFig. 7Žb.. shows a clear hit for page 40. Furthermore, if this profile is corrected according to the factors obtained from the base profile for background c, shown in Fig. 8, then the result is even more impressive, as Fig. 7Žc. indicates. The plot in Fig. 9 summarizes the results of this experiment for search arguments extracted from page 40. The ratio of the peak generated by page 40, over the highest peak among the rest of the pages, P Ž40.rmax P Ž i ., 1 F i F 100 n i / 404 , is plotted against the size of the search argument, for search arguments with backgrounds from Fig. 4 and the case of no background. Like the result in Fig. 7Žc., these results also incorporate postprocessing along with preprocessing. If the peak of page 40 is the highest peak, as it should be the case, then this ratio

Fig. 10. Contrast ratio: the ratio of peak 40 over the mean of the search profile is plotted.

Fig. 12. Mean square error of fitted profiles. Again, backgrounds a, b and c produce better results.

44

G.A. Betzos et al.r Optics Communications 171 (1999) 37–44

must be greater than 1. Therefore, if this ratio falls below 1 then the peak of page 40 is not prominent Ži.e. the highest peak in the profile. and false hits are present. Similar results were also obtained for search arguments extracted from other pages. The plot in Fig. 9 indicates that the backgrounds a, b and c produce good results for almost all the search arguments with the exception of the smallest argument Ž5 characters. where only background c produces a prominent hit. In the case of no background and background d, the results are not as good as in the previous cases because these backgrounds fail to produce a prominent hit in more cases. The backgrounds e and f did not produce any results, indicating that a very bright and a very uniform background raise the signal level for all the peaks enough so that the peak of page 40 cannot be distinguished among them. This must also be the reason why the results of background d are worse than those of a, b, and c. Consequently we do not consider these backgrounds in the rest of our analysis. Furthermore, the plot in Fig. 9 along with that of Fig. 10 indicate that background b performs better for large search arguments and background c for small. In Fig. 10, the ratio of the peak generated by page 40, over the mean of all the peaks is plotted against the size of the search argument. We call this ratio, the contrast ratio, and if it is greater than 1 we may consider that we have detected a hit at page 40. Again backgrounds a, b, and c perform better than the rest. To further evaluate our results, we compare the search profiles we obtained from these experiments with profiles we can obtain by computing the dot product of the search argument with each of the stored pages. After normalizing these profiles Ždivision by maximum., we fit the experimental and the computed profile and we calculate the error. Fig. 11 illustrates this fitting of profiles and Fig. 12 summarizes this analysis by plotting the mean square error between the experimental and the computed profile against the size of the search argument. Notice how well the experimental profile in Fig. 11 matches the computed profile. This is the same profile as in Fig. 7Žc.. Again, backgrounds a, b, and c seem to perform well, although background d does not perform much worse, in this case. Furthermore, it appears that the

error increases as the size of the search argument decreases, which is expected. In conclusion, two techniques which, when combined, significantly improve the results of associative recall in a volume holographic memory have been presented. Whereas the use of search arguments which are simply parts of a stored page frequently produces false hits or even misses, these techniques produce correct hits Žno false hits or misses. with search arguments down to the size of a string of 5 characters. In this particular experiment this corresponds to a size of about 0.2% of the SLM. This is a considerably small search argument. Further experiments with a greater number of pages stored in the memory, using search arguments that have multiple matches in the stored database, confirm and reinforce these results.

Acknowledgements This research has been supported in part by NSF, DARPA, Storage Technology, AFOSR, and the Colorado Advanced Technology Institute. Also, we thank the anonymous reviewer for valuable comments and suggestions.

References w1x J.H. Hong et al., Volume holographic memory systems: techniques and architectures, Opt. Eng. 34 Ž1995. . w2x E.G. Paek, D. Psaltis, Optical associative memory using Fourier-transform holograms, Opt. Eng. 26 Ž5. Ž1987. . w3x G.W. Burr, et al., Content-addressable holographic data storage, in 1998 OSA Annual Meeting, paper WAA7. w4x B.J. Goertzen, K.G. Richling, P.A. Mitkas, Implementation of a volume holographic database system, Opt. Rev. 3 Ž1996. . w5x G.A. Betzos, K.G. Richling, P.A. Mitkas, Optical associative processing for multimedia database applications, Proceedings of the 4th International Workshop on Multimedia Database Management Systems, Dayton, OH, August 5–7, 1998, IEEE Computer Society Press, Los Alamitos, CA, 1998, pp. 190– 197. w6x A. Laisne, ´ Associative search with a holographic memory, Technical Report OCL-1-98, Colorado State University, August 1998. w7x G.W. Burr et al., Modulation coding for pixel-matched holographic data storage, Opt. Lett. 22 Ž9. Ž1997. .