Abstract

An optical parallel array logic system—OPALS—is a new type of optical parallel digital computing system. The OPALS optically implements array logic in parallel using techniques of image coding and 2-D correlation for the coded image with a pointwise function called an operation kernel. The OPALS can execute any logical neighborhood operation for binary images in parallel. In this paper we present a new version of the OPALS that needs no memory elements. To construct this OPALS, we consider two useful techniques, i.e., an optical sequential logic technique and multiplex correlation based on wavelength multiplexing. Use of pipelined processing together with the wavelength multiplexing technique gives the promise of eliminating memory devices from the system. Consequently, the new version of the OPALS can be systematized with simpler architecture compared with that of the OPALS presented in the previous paper. Computer simulation verifies the appropriateness of operations of the new version of the OPALS.

© 1986 Optical Society of America

Full Article  |  PDF Article

References

  • View by:
  • |
  • |
  • |

  1. J. W. Goodman, Introduction to Fourier Optics (McGraw-Hill, New York, 1968).
  2. A. Huang, “Design for an Optical General Purpose Digital Computer,” Proc. Soc. Photo-Opt. Instrum. Eng. 232, 119 (1980).
  3. M. T. Fatehi, K. C. Wasmundt, S. A. Collins, “Optical Logic Gates Using Liquid Crystal Light Valve: Implementation and Application Example,” Appl. Opt. 20, 2250 (1981).
    [CrossRef] [PubMed]
  4. B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
    [CrossRef] [PubMed]
  5. J. Tanida, Y. Ichioka, “Optical Logic Array Processor Using Shadowgrams,” J. Opt. Soc. Am. 73, 800 (1983).
    [CrossRef]
  6. Y. Ichioka, J. Tanida, “Optical Parallel Logic Gates Using a Shadow-Casting System for Optical Digital Computing,” Proc. IEEE 72, 787 (1984).
    [CrossRef]
  7. H. O. Bartelt, A. W. Lohmann, E. E. Sicre, “Optical Logical Processing in Parallel with Theta Modulation,” J. Opt. Soc. Am. A 1, 944 (1984).
    [CrossRef]
  8. B. K. Jenkins, P. Chavel, R. Forchheimer, A. A. Sawchuk, T. C. Strand, “Architectural Implications of a Digital Optical Processor,” Appl. Opt. 23, 3465 (1984).
    [CrossRef] [PubMed]
  9. D. Psaltis, N. Farhat, “Optical Information Processing Based on an Associative-Memory Model of Neural Nets with Thresholding and Feedback,” Opt. Lett. 10, 98 (1985).
    [CrossRef] [PubMed]
  10. J. Tanida, Y. Ichioka, “Optical-Logic-Array Processor Using Shadowgrams. III. Parallel Neighborhood Operations and an Architecture of an Optical Digital-Computing System,” J. Opt. Soc. Am. A 2, 1245 (1985).
    [CrossRef]
  11. J. Tanida, Y. Ichioka, “OPALS: Optical Parallel Array Logic System,” Appl. Opt. 25, 1565 (1986).
    [CrossRef] [PubMed]
  12. H. Fleisher, L. I. Maissel, “An Introduction to Array Logic,” IBM J. Res. Dev. 19, 98 (1975).
    [CrossRef]
  13. A. B. Marcovitz, J. H. Pugsley, An Introduction to Switching System Design (Wiley, New York, 1971).
  14. S. Kozaitis, R. Arrathoon, “Shadow Casting for Direct Table Look-Up and Multiple-Valued Logic,” Appl. Opt. 24, 3312 (1985).
    [CrossRef] [PubMed]
  15. K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
    [CrossRef]

1986 (1)

1985 (3)

1984 (3)

1983 (1)

1982 (1)

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

1981 (1)

1980 (1)

A. Huang, “Design for an Optical General Purpose Digital Computer,” Proc. Soc. Photo-Opt. Instrum. Eng. 232, 119 (1980).

1979 (1)

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

1975 (1)

H. Fleisher, L. I. Maissel, “An Introduction to Array Logic,” IBM J. Res. Dev. 19, 98 (1975).
[CrossRef]

Arrathoon, R.

Bartelt, H. O.

Chavel, P.

Collins, S. A.

Duff, M. J. B.

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Farhat, N.

Fatehi, M. T.

Fleisher, H.

H. Fleisher, L. I. Maissel, “An Introduction to Array Logic,” IBM J. Res. Dev. 19, 98 (1975).
[CrossRef]

Forchheimer, R.

Goodman, J. W.

J. W. Goodman, Introduction to Fourier Optics (McGraw-Hill, New York, 1968).

Huang, A.

A. Huang, “Design for an Optical General Purpose Digital Computer,” Proc. Soc. Photo-Opt. Instrum. Eng. 232, 119 (1980).

Ichioka, Y.

Jenkins, B. K.

B. K. Jenkins, P. Chavel, R. Forchheimer, A. A. Sawchuk, T. C. Strand, “Architectural Implications of a Digital Optical Processor,” Appl. Opt. 23, 3465 (1984).
[CrossRef] [PubMed]

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

Kozaitis, S.

Levialdi, S.

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Lohmann, A. W.

Maissel, L. I.

H. Fleisher, L. I. Maissel, “An Introduction to Array Logic,” IBM J. Res. Dev. 19, 98 (1975).
[CrossRef]

Marcovitz, A. B.

A. B. Marcovitz, J. H. Pugsley, An Introduction to Switching System Design (Wiley, New York, 1971).

Norgren, P. E.

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Preston, K.

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Psaltis, D.

Pugsley, J. H.

A. B. Marcovitz, J. H. Pugsley, An Introduction to Switching System Design (Wiley, New York, 1971).

Sawchuk, A. A.

B. K. Jenkins, P. Chavel, R. Forchheimer, A. A. Sawchuk, T. C. Strand, “Architectural Implications of a Digital Optical Processor,” Appl. Opt. 23, 3465 (1984).
[CrossRef] [PubMed]

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

Sicre, E. E.

Soffer, B. H.

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

Strand, T. C.

B. K. Jenkins, P. Chavel, R. Forchheimer, A. A. Sawchuk, T. C. Strand, “Architectural Implications of a Digital Optical Processor,” Appl. Opt. 23, 3465 (1984).
[CrossRef] [PubMed]

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

Tanida, J.

Toriwaki, J.

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Wasmundt, K. C.

Appl. Opt. (4)

IBM J. Res. Dev. (1)

H. Fleisher, L. I. Maissel, “An Introduction to Array Logic,” IBM J. Res. Dev. 19, 98 (1975).
[CrossRef]

J. Opt. Soc. Am. (2)

B. K. Jenkins, A. A. Sawchuk, T. C. Strand, B. H. Soffer, “Sequential Optical Logic Implementation,” J. Opt. Soc. Am. 72, 1721A (1982); B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, B. H. Soffer, “Sequential Optical Logic Implementation,” Appl. Opt. 23, 3455 (1984).
[CrossRef] [PubMed]

J. Tanida, Y. Ichioka, “Optical Logic Array Processor Using Shadowgrams,” J. Opt. Soc. Am. 73, 800 (1983).
[CrossRef]

J. Opt. Soc. Am. A (2)

Opt. Lett. (1)

Proc. IEEE (2)

Y. Ichioka, J. Tanida, “Optical Parallel Logic Gates Using a Shadow-Casting System for Optical Digital Computing,” Proc. IEEE 72, 787 (1984).
[CrossRef]

K. Preston, M. J. B. Duff, S. Levialdi, P. E. Norgren, J. Toriwaki, “Basics of Cellular Logic with Some Applications in Medical Image Processing,” Proc. IEEE 67, 826 (1979).
[CrossRef]

Proc. Soc. Photo-Opt. Instrum. Eng. (1)

A. Huang, “Design for an Optical General Purpose Digital Computer,” Proc. Soc. Photo-Opt. Instrum. Eng. 232, 119 (1980).

Other (2)

J. W. Goodman, Introduction to Fourier Optics (McGraw-Hill, New York, 1968).

A. B. Marcovitz, J. H. Pugsley, An Introduction to Switching System Design (Wiley, New York, 1971).

Cited By

OSA participates in CrossRef's Cited-By Linking service. Citing articles from OSA journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (13)

Fig. 1
Fig. 1

Feedback system having memory function. Latching elements are used to hold data during one cycle of the logic unit.

Fig. 2
Fig. 2

Schematic diagram of the OPALS. An image to be processed is put into the input port of the system, coded by an encoder, processed by an optical array logic processor. The result is put and out from the output port of the system or fed back to the encoder.

Fig. 3
Fig. 3

Procedure of processing by optical array logic according to the expression (output) = PTO1[A,B] + PTO2[A,B] + … + PTOn[A,B], where PTO and + mean product term operation and an or operator, respectively.

Fig. 4
Fig. 4

Examples of operation kernels. a1a8 in the function column shows identifiers of eight neighboring pixels of the center pixel a0. They are numbered counterclockwise through a1a8.

Fig. 5
Fig. 5

Processing algorithm of the OPALS with the original architecture: (a) signal flow among registers; (b) status of the registers at individual steps of processing consisting of n product terms. In this case 2n steps are needed.

Fig. 6
Fig. 6

Processing algorithm of the OPALS when implementing or operation in pipelined fashion: (a) signal flow among registers; (b) status of the registers at individual steps of processing consisting of n product terms. n + 1 steps are needed for the processing.

Fig. 7
Fig. 7

Data arrangement on spatial light modulators used for multiplex correlation. This arrangement is obtained by interleaving corresponding pixels in four image registers, P, Q, R, and S.

Fig. 8
Fig. 8

Schematic diagram of a multiplex product term operation in a logic element. The upper part is the procedure of an actual operation, which can be divided into four independent product term operations as shown in the lower part.

Fig. 9
Fig. 9

An Optical setup executing multiplex logical operations. Each point source can emit light with four different wavelengths independently. Four kinds of bandpass filter transmitting light with any one of the four wavelengths are attached to the decoding mask.

Fig. 10
Fig. 10

Signal flow in a logic element at each step in actual processing: (a) step 1; (b) step 2; (c) step 4. Lowercases represent the pixels in the interleaved registers.

Fig. 11
Fig. 11

Example of the operating process of the OPALS simulated by a computer. Processing is to extract edge points in a given image. In pattern blocks of individual processing steps, the contents of two input interleaved registers (ILR.IN1 and ILR.IN2), that of an output interleaved register (ILR.OUT), and the multiplex operation kernel (MOK) are drawn. They indicate actual data arrangement in the OPALS. The contents of registers B, C, and D (REG.B, REG.C, and REG.D) are also shown. These separated data are element images forming the image in the output interleaved register.

Fig. 12
Fig. 12

System setup of the OPALS without memory elements. Two liquid crystal light valves (LCLVs) are used for coding images. A multifocus imaging lens is used for multiplex correlation.

Fig. 13
Fig. 13

Multifocus imaging lens used for multiplex correlation: (a) optical setup; (b) address map of the prism array, where the number on the top in each square cell shows the wavelength identifier to be passed and the 2-D vector on the bottom indicates amounts of shift of the focused image along the vertical and horizontal directions expressed by the unit equal to a half-amount of projected pixel size. The overbar attached to the element of the vector indicates a negative sign.

Equations (15)

Equations on this page are rendered with MathJax. Learn more.

P T O [ A , B ] C ,
C + D D ,
A A ,
B B .
P T O 1 [ P , Q , R , S , T , U , V , W ] X ,
P T O 2 [ P , Q , R , S , T , U , V , W ] Y ,
P T O 3 [ P , Q , R , S , T , U , V , W ] Z ,
P T O 4 [ P , Q , R , S , T , U , V , W ] Ω ,
A = P ,
B = T = X ,
C = U = Y ,
D = W = Ω .
C + D ¯ D ¯ ,
C ¯ D D .
d i j = b i j b ¯ i + 1 , j + b i j b ¯ i , j - 1 + b i j b ¯ i - 1 , j + b i j b ¯ i , j + 1 .

Metrics