Optical cellular processor architecture. 1: Principles

8
Optical cellular processor architecture. 1: Principles Jean Taboury, J. M. Wang, Pierre Chavel, F. Devos, and Patrick Garda General characteristics and advantages of 2-D optical cellular processors are listed and discussed, with reference to the concepts of cellular automata, symbolic substitution, and neural nets. The role of optical interconnections and of quasilinear processing combining linear array operations and pointwise nonlineari- ties is highlighted. An architecture for optical implementation of cellular automata is introduced; it features high density 3-D optical shift-invariant interconnections and programmability of the interconnection pattern through adequate use of holographic connectors. 1. Introduction An important evolution in the last few years in the domain of optical computing has been triggered by the improvements and the hope for yet considerable fur- ther improvements in 2-D light modulators capable of locally modifying their transmission or reflection coef- ficients as a response to a local incoming light beam. The idea of combining these new generations of com- ponents with the principles of linear Fourier optics to devise new, powerful architectural concepts for com- puting has attracted considerable attention. Some of the potentially most practical setups pro- posed to date elaborate on concepts like cellular pro- cessors, symbolic substitution, neural networks, and Boolean logic on 2-D arrays. When compared with existing electronic computing hardware and architec- tures, these systems seem to offer promise not solely for the massive parallelism they offer, but also and perhaps more importantly for the high connectivity involved. Three-dimensional optical interconnec- tions through free space, such as can be made with holograms, lenses, gratings, and prisms, may therefore be a major asset for the future success of such proces- sors. In this paper we first analyze the above different approaches in terms of the common, central concept of All authors are with University Paris Sud, B.P. 43, 91406 Orsay CEDEX, France; F. Devos and P. Garda are in the Institute of Fundamental Electronics, the other authors are in the Institute of Optics. Received 7 August 1987. 0003-6935/88/091643-08$02.00/0. ©1988 Optical Society of America. an optical cellular processor (OCP). We propose a definition of an OCP and examine the respective fea- tures of various classes of OCP. The analysis leads us to the conclusion that programmability of the inter- connection network is one of the important issues in OCP architecture. In Sec. III, we propose a program- mable OCP concept more particularly adapted to the implementation of cellular automata and describe the use of holographic connectors in its design. A second paper 1 will be devoted to practical implementation issues and to some experimental results. II. Optical Cellular Processors A. Definition We define an optical cellular processor (OCP) as a 2- D array of individual processors or cells in C = Cij). Although the dimensionality does not need to be 2, this corresponds to the most common situation and we shall restrict ourselves to it. Each cell Cj is defined at each time t by the following three elements (see Fig. 1): a state variable cij, a neighborhood Vij, and an equation of evolution. The state variable cij may a priori assume continu- *ous or discrete values. However, optical cellular pro- cessors arise mainly in the realm of digital optics and we shall restrict ourselves here to binary state vari- ables. Of course, the OCP deserves to be called optical only if the state variable is physically encoded by some optical quantity; this will be considered in Sec. III. When referring to the state of the whole array, we will use boldface letters without indices: c. The neighborhood Vij is the set of all cells which are at time t connected to Cij; by connected we mean here that the temporal evolution of state cij depends on the state Ckl of all Cil belonging to Vij;in other words, the neighbors of cell Ci 1 are all cells Ckl which send infor- 1 May 1988 / Vol. 27, No. 9 / APPLIED OPTICS 1643

Transcript of Optical cellular processor architecture. 1: Principles

Optical cellular processor architecture. 1: Principles

Jean Taboury, J. M. Wang, Pierre Chavel, F. Devos, and Patrick Garda

General characteristics and advantages of 2-D optical cellular processors are listed and discussed, withreference to the concepts of cellular automata, symbolic substitution, and neural nets. The role of opticalinterconnections and of quasilinear processing combining linear array operations and pointwise nonlineari-ties is highlighted. An architecture for optical implementation of cellular automata is introduced; it featureshigh density 3-D optical shift-invariant interconnections and programmability of the interconnection patternthrough adequate use of holographic connectors.

1. Introduction

An important evolution in the last few years in thedomain of optical computing has been triggered by theimprovements and the hope for yet considerable fur-ther improvements in 2-D light modulators capable oflocally modifying their transmission or reflection coef-ficients as a response to a local incoming light beam.The idea of combining these new generations of com-ponents with the principles of linear Fourier optics todevise new, powerful architectural concepts for com-puting has attracted considerable attention.

Some of the potentially most practical setups pro-posed to date elaborate on concepts like cellular pro-cessors, symbolic substitution, neural networks, andBoolean logic on 2-D arrays. When compared withexisting electronic computing hardware and architec-tures, these systems seem to offer promise not solelyfor the massive parallelism they offer, but also andperhaps more importantly for the high connectivityinvolved. Three-dimensional optical interconnec-tions through free space, such as can be made withholograms, lenses, gratings, and prisms, may thereforebe a major asset for the future success of such proces-sors.

In this paper we first analyze the above differentapproaches in terms of the common, central concept of

All authors are with University Paris Sud, B.P. 43, 91406 OrsayCEDEX, France; F. Devos and P. Garda are in the Institute ofFundamental Electronics, the other authors are in the Institute ofOptics.

Received 7 August 1987.0003-6935/88/091643-08$02.00/0.

© 1988 Optical Society of America.

an optical cellular processor (OCP). We propose adefinition of an OCP and examine the respective fea-tures of various classes of OCP. The analysis leads usto the conclusion that programmability of the inter-connection network is one of the important issues inOCP architecture. In Sec. III, we propose a program-mable OCP concept more particularly adapted to theimplementation of cellular automata and describe theuse of holographic connectors in its design. A secondpaper1 will be devoted to practical implementationissues and to some experimental results.

II. Optical Cellular Processors

A. Definition

We define an optical cellular processor (OCP) as a 2-D array of individual processors or cells in C = Cij).Although the dimensionality does not need to be 2, thiscorresponds to the most common situation and weshall restrict ourselves to it. Each cell Cj is defined ateach time t by the following three elements (see Fig. 1):a state variable cij, a neighborhood Vij, and an equationof evolution.

The state variable cij may a priori assume continu-*ous or discrete values. However, optical cellular pro-cessors arise mainly in the realm of digital optics andwe shall restrict ourselves here to binary state vari-ables. Of course, the OCP deserves to be called opticalonly if the state variable is physically encoded by someoptical quantity; this will be considered in Sec. III.When referring to the state of the whole array, we willuse boldface letters without indices: c.

The neighborhood V ij is the set of all cells which areat time t connected to Cij; by connected we mean herethat the temporal evolution of state cij depends on thestate Ckl of all Cil belonging to Vij; in other words, theneighbors of cell Ci1 are all cells Ckl which send infor-

1 May 1988 / Vol. 27, No. 9 / APPLIED OPTICS 1643

Input fromneighbours

cellular processor (OCP). Dottedof cell Cij; arrows indicate connec-tions.

mation about their state c to cell Cij. One cell maybelong to its own neighborhood.

The equation of evolution has the form

c, = Fjj(ckhI Ck, E Vij)e (1)

where Fij is a priori any function of the binary statevariables cki; it can be called the evolution function.

The above definition does not completely specify theOCP. In particular, two important points are leftopen:

input of data from the outside of the OCP and out-put to the outside of the OCP;

synchronism; the equation of evolution may be ap-plied synchronously to all cells Cij on reception of aglobal clock signal, or each cell may evolve at its ownpace governed by internal, possibly random, parame-ters and by the states of its neighbors; a continuousevolution in time is also possible.

As it is, our definition can nevertheless be a usefulframe for comparing various approaches to optical dig-ital processors.

B. Some interesting Cases of an OCP

1. Cellular automataA 2-D binary cellular automaton2 exactly complies

with the definition of an OCP and in addition obeys thefollowing restrictions:

(i) The operation is synchronous in the sense statedabove, i.e., all new states cij are determined simulta-neously at discrete clock times as a function of theappropriate old neighboring state variables Ckl.

(ii) The connection pattern is shift invariant, i.e., iffor given integers a and a and for some integers i and jcell Ci+,aj+ belongs to the neighborhood of cell Cij thesame is true for all ij. This property holds strictlyspeaking in an unbounded space (for example, infiniteor periodic); for any physically bounded implementa-tions, appropriate additional rules may be necessary atthe borders.

(iii) Similarly, the evolution function Fij is spaceinvariant: it is the same for all (ij); it can therefore bedenoted F.

(iv) Finally, the neighborhood pattern and theequation of evolution are independent of time, which isnot necessarily the case for all OCPs.

As mentioned by Packard and Wolfram,3 a binarycellular automaton with a neighborhood composed of vcells has 2^ possible states for the neighborhood of eachpixel; the evolution function F is completely specifiedby its response to these 2^ states which can be encodedin a binary word of length 2^ bits. Since the response isbinary there are 22v possible equations of evolution.

To illustrate the adequacy of optics to implementcellular automata, let us denote here by 0 and 1 the twobinary states of each cell; then one evolution function Fis completely specified by the set Sp of all neighbor-hood configurations for which F has a value of 1. Eachelement P, of this set, PneSpn = 1, . . no is onepattern of ones on a background of zeros in the neigh-borhood Vij of cell Cij. Since only one pattern can bepresent at any given time, F can be rewritten as

no

F(cklICkl E Vij) = E Fn(CklCkl E Vii),n=1

(2)

where Fn is the evolution function of the elementarycellular automaton which recognizes pattern Pn, i.e.,takes a value 1 if and only if the neighborhood configu-ration is Pn. Its code in the sense of Packard andWolfram is therefore a 2" bits word with only one 1.

The optical implementation of any 2-D binary cellu-lar automaton can therefore be thought of as a tempo-rally or spatially multiplexed recognition of no pat-terns by no elementary cellular automata. This is aworst-case analysis since it may lead to a sequentialsearch for up to 2P patterns and it therefore may not beby far the best approach for a given task. For example,it may be found by Boolean decomposition that se-quentially changing not only the pattern but also theneighborhood size and shape may save most of thesesteps. On the other hand, in some problems like cor-ner detection in noisy binary images for automatedvision, the straightforward decomposition alluded toabove may be efficient. In any case, the elementarycellular automata deserve further attention.

2. Elementary Cellular AutomataThe elementary cellular automaton is particularly

suited to optical implementation because it is a patternrecognition problem. However, straightforward cor-relation between the OCP plane and pattern Pn is notadequate for two reasons: the result should be binaryand false alarms caused by any pattern whose set of

1644 APPLIED OPTICS / Vol. 27, No. 9 / 1 May 1988

New state

0

Fig. 1. One cell of an opticallines outline the neighborhood

.......... ........... ..........

......... .... ............ ..................

---------------------------

- -I

H (x)

101

0 t 1 2

Fig. 2. Thresholding function H(x).

ones includes the ones in P, should be avoided. Thelatter can be obtained if not only the pattern of ones isrecognized, but also the background pattern of zeros.To take advantage of the privileged status of correla-tion in optical processing, it is then useful to expressthe operation of one elementary automaton as follows:

c'= H[c * P, + c * Pj,

1 1 0 1 1 1 o I 0o I 1 1 1 0 1 1 1 0 1

o I 0 I 1 1 11 1 01

1 I 1 1 11 0 11

C ^ P.,

(3)

where * denotes digital correlation; the + sign denotesaddition, not OR; boldface letters refer to binary ar-rays, as previously mentioned; function H denotes thethresholding functions:

HW) =l1 ifx>t0O ifx>t

C ^P.,

0O41 1 4

\ / MEE414 0

C Rn+ Pn

g 7 28 1

X4 6 2 8a

(function H)

Result

0 10 o 0 o

o o0 o o o0 0 0 0 1 oo o0 o o o

(4)

with 0 < t < 1 (see Fig. 2). When applied to an array ofpixels, the function operates independently on each ofthem. Since the argument is an array of non-negativeinteger numbers, the result is one if and only if theargument is zero; c is the binary complement of c overthe whole processor array, and P,, is the binary comple-ment of P, over the neighborhood V0,0 of pixel 0,0.The summation of the correlation is restricted in sucha way that only values of P, and P, in the neighbor-hood of each pixel are taken into account, namely,

pixel ij of (c * P,) = E [Pf]klCi+kj+l- (5)(k,)e VOO

The adequacy of Eq. (3) to describe the behavior ofan elementary cellular automaton is illustrated by anexample in Fig. 3.

The two correlations of Eq. (3) can be implementedoptically. The nonlinearity of function H(x) implies apointwise nonlinear optical component whose behav-ior can be described as a threshold logic implementa-tion of a multi-input NOR gate: it receives two inputsper neighbor, one for P, and one for Pn and its outputis one only if all inputs are zeros, and zero if one or moreof the 2v inputs are one. Let us note, however, that nomore than v inputs can be in state one simultaneously.What is therefore required is an optical NOR gate arraywith a fan-in of v.

It is worthwhile to note here that the NOR operationis probably preferable to any other form of threshold-ing nonlinearity, because it only requires distinguish-ing between the state where no light comes in and thestate where some light comes in. Many possiblesources of nonuniformity exist in practical setups andcomponents, so that a threshold and an input lightlevel may be defined only within 10-20% or even more.

Fig. 3. Example of operation of the elementary cellular automatonrecognizing pattern P,.

Among all thresholding nonlinearities, the NOR is themost tolerant to such problems.

It has been seen in this section that an elementarycellular automaton can be implemented by an OCPcapable of correlation and of a pointwise NOR opera-tion. It has been suggested4 that such an operation,combining linear operations with one pointwise non-linear operation on a 2-D data, be called quasilinear.Likewise, since the output of the general 2-D binarycellular automaton can be expressed as a sum of out-puts of elementary automata, quasilinear OCP can beused to implement any 2-D binary cellular automaton.

3. Symbolic SubstitutionThe concept of symbolic substitutions has been in-

troduced as an algorithm for digital optical computing;it can be applied, for example, to arithmetic operationsor to digital image processing.

Like 2-D binary cellular automata, symbolic substi-tution algorithms are OCPs which operate synchro-nously and show shift-invariance [properties (i)-(iii) inSec. II.B.1]. However, in the usual presentation, thesymbolic substitution process consists of two stepswhich do not correspond to the same equation of evolu-tion (Fig. 4):

In the first step, all occurrences of a given matchpattern Pn in the cell array are recognized.

In the second step, the cells where matches havebeen observed generate in their neighborhood a givensubstitution pattern P, This can create conflicts if

1 May 1988 / Vol. 27, No. 9 / APPLIED OPTICS 1645

t

P.

A

C match pattern"U"

Substitute pattern"X"

Recognized "u"s

Result

Fig. 4. Symbolic substitution of substitution pattern X for matchpattern u.

two match cells tend to impose different states to agiven cell and appropriate rules must be given to avoidor resolve conflicts.

Another possible way to consider symbolic substitu-tions is to take the two steps together as a whole. Thenew state of each cell is then uniquely determined bythe states of cells in a neighborhood which depends onboth P and P Symbolic substitution algorithmswould then appear as one class of cellular automata.Similarly, elementary cellular automata can straight-forwardly be regarded as particular cases of symbolicsubstitution where the substitution pattern reduces toa Dirac delta.

The description of symbolic substitution as a two-step process, nevertheless, is not only heuristically use-ful, but also adapted to its implementation by an OCP.Here again, only quasilinear operations on the cellulararrays are required. The various setups proposed5-7can be analyzed in the above terms.

4. Point Operations Involving Two Binary ArraysSome effort has been devoted to the optical imple-

mentation of operations on binary arrays involving two(or possibly more) arrays.8-10 In particular, severalapproaches to optical Boolean logic have been pro-posed and demonstrated, in which cell ij of array Aand cell ij of array B are the two operands, and theoperation is carried out in parallel for all ij. By con-sidering array C as the union of arrays A and B, it ispossible to include these cases in our definition of anOCP, with a globally space-variant evolution functionconsisting of two space-invariant blocks, one-for A andone for B. This interpretation, however, is ratherartificial for the following three reasons:

The connectivity is very small since each cell of A (orB) is connected only to itself and to its counterpart inB (or A), and all pairs of cells are independent fromeach other. In cellular processors, the concept of

neighborhood and the intricate interactions betweenmany cells is essential.

Implementations proposed so far mostly involve twoseparate 2-D arrays A and B in two different, parallelplanes rather than one larger plane array.

The potential interest of these setups lies more inthe parallelism than in the concept of semilinear pro-cessing; in fact, they mostly try to avoid all nonlinear-ity by suitable data encoding.

We shall therefore not consider this case further.For the same reason, architectures oriented towardcomputation, e.g., linear algebra or residue arithmetic,even though they may sometimes be analyzed in termsof OCPs, will not be considered (see, for example, Ref.11).

5. Neural NetworksThere also presently exists a considerable interest in

the optical implementation of the concepts of neuralprocessors, as originally suggested by Psaltis and Far-hat12 following the revival by Hopfield13 of attractiveparallel distributed processing concepts. In this casealso, our definition of an OCP applies. Each cell iscalled a neuron and is connected by synapses to ausually quite large neighborhood. Neural networks,however, differ from cellular processors in three re-spects: asynchronous and possibly time-continuousevolution; shift invariance in the connection pattern;and learning.

The main reason optical cellular automata and opti-cal neural networks differ is their status with respect toshift invariance in the interconnects. Because elec-tronics and the associated planar technology suffercommunication limitations, it may probably be safelypredicted that high connectivity is a major issue forpotential future optical computing implementation.While neurons require a higher connectivity, they arepresenting optics with a major challenge because ofspace variance and learning constraints; on the otherhand, optical cellular automata may provide a higherconnectivity than their electronic counterparts, but itremains to be seen if this advantage is sufficient tojustify the use of optics in practice. It is, in our opin-ion, too early to tell which of these two approaches toOCPs offers the brighter perspectives. In this paper,however, we concentrate our attention to the moreusual meaning of the expression cellular processor andrestrict ourselves to optical 2-D binary cellular autom-ata (OBCA).

6. More Complex OCPsOne last category of OCP should nevertheless be

mentioned before we proceed with OBCAs. Up to thispoint, one-to-one correspondence has been implicitlyassumed between individuals of a cellular processor,pixels of the data plane considered for the opticalimplementation, and gates of the NOR-gate array con-sidered in Sec. II.B.2. While the correspondence be-tween array pixels and gates is adequate in any quasi-linear processing scheme, it is not necessarily the casethat a cellular processor can be reduced to a binary 2-D

1646 APPLIED OPTICS / Vol. 27, No. 9 / 1 May 1988

cellular automaton. In fact, most existing cellularprocessors have considerably more complicated cells.An OCP design which also has cells consisting of morethan one pixel, the digital optical cellular image pro-cessor (DOCIP),'4 was recently proposed.

Ill. Optical Cellular Automaton Architecture

A. Holographic Interconnects

As stated in Sec. II, we propose an OBCA architec-ture, i.e., an architecture for an optical setup adaptedto the implementation of binary 2-D cellular automataand operating in a quasilinear mode. One major assetis the parallel implementation of all connections re-quired: if M and N are the number of rows and col-umns, respectively, in the array, and if v is the numberof cells in the neighborhood of each cell as introducedin Sec. II.B.1, the OBCA involves MNv interconnec-tions. As soon as the neighborhood patterns extendfurther than the 4 or 8 nearest neighbors, electronichardwired implementation becomes unappealing.For example, M = N = 128 and v = 5 X 5 = 25 leads to409,600 interconnections, most of which are not tonearest neighbors; presumably, optics could be usedfor still considerably larger neighborhoods. With upto 225 elementary cellular automata necessary to syn-thesize a random 5 X 5 cellular automaton, the ques-tion of optimizing the decomposition will obviously beof major importance, but this problem is not unique toan optical implementation and will therefore not bediscussed further here. Since the density of intercon-nections is an advantage of OBCAs, they should beimplemented using volume interconnects rather thanplanar or fiber-optics interconnects, the latter two notlikely to lead to similar interconnect densities. More-over, since OBCA interconnect patterns are shift in-variant, the principles of linear optical convolutionscan be used to advantage. In particular, holographicinterconnects have the advantage of flexibility becausea holographic connector can be thought of as a multiplelens or grating' 5 whose parameters are determined inthe holographic fabrication process. The holographicconnector can be either natural, using superimposedexposures of interference patterns on a holographicplate, or computer generated.

Figure 5(a) shows an example of a holographic lenswhose impulse response in diffraction order 1 consistsof v = 2 points. In Fig. 5(b), this hologram is used in acoherent spatial frequency filtering setup. Becauseoptical power is included in it, it is used simultaneouslyas the imaging lens and as the Fourier filter. Its imagein the useful first diffraction order consists of v = 2identical images shifted with respect to each other inaccordance with the shape of the impulse response.The input to the double diffraction setup, in the objectplane, is the optical output (or readout beam) of thecellular array plane, and the output of the doublediffraction setup, in the image plane, in the first orderof the hologram, is the optical input to the cellulararray. There is a one-to-one correspondence betweenthe cells in the output plane and the cells in the input

Sourcepoint

0

a)

Order 1

Cellular array(light out)

0Cellular array

(light in)

Hologram

Order 1

(b)

Fig. 5. (a) Impulse response of a holographic lens connector; (b)connection by the holographic lens in a double diffraction setup

(feedback loop of the cellular processor not figured).

plane; the setup implements one convolution of theargument in brackets in Eq. (3). The second convolu-tion will be considered in Sec. III.C, and the nonlinearoperation, together with the problem of feedback foriterative operation of the setup, will be considered inSec. III.D.

B. Programmable Interconnect

The setup of Fig. 5 has the drawback that the inter-connection pattern is fixed. It is therefore adapted toone elementary cellular automaton (see Sec. II.B.2)only. As has been seen, a general cellular automatoncan be implemented by decomposition into elemen-tary cellular automata. Spatial multiplexing of manycellular automata may be difficult to achieve becauseof hardware limitations, so that temporal multiplexingmay be desirable. In this case, some way to change theinterconnection pattern in the hologram of Fig. 5 isrequired. Moreover, it is also necessary to changeinterconnection patterns in some cellular algorithmswhere the evolution function F of Eq. (1) is not con-stant in time: this is in particular the case for suchsymbolic substitution operations as integer binarymultiplication by symbolic substitutions and commonbinary image processing operations like skeletoniza-tion.17

The first approach to programmable holographicinterconnections is dynamic holography such as can bemade with photorefractive crystals. With the thick-ness effect of the crystal, each hologram recorded isefficient over only a very limited angle and implement-

1 May 1988 / Vol. 27, No. 9 / APPLIED OPTICS 1647

ing a shift-invariant interconnect pattern over an im-age with a large space-bandwidth product is a prob-lem.

We therefore propose an alternative approach,which consists of a programmable shutter array select-ing at each clock cycle the required subholograms outof a set of fixed subholograms. The setup is schemati-cally depicted in Fig. 6. Hologram H,, located in thecellular array plane, or preferably in an image of itthrough a lens (not depicted in Fig. 6), is an auxiliaryhologram necessary to split the illuminating beam intovo beams of equal power. Each of the v beams comesto a focus at the center of one of v subholograms ofhologram H2. Hologram H2 corresponds to hologramH in Fig. 5, but it is split into vo subholograms, each ofwhich has its own interconnect pattern (i.e., impulseresponse). For the sake of simplicity, we shall consid-er here only the case where each subhologram is notmultiplexed and therefore gives one single image of thecellular array output onto the cellular array input; inother words, the impulse response of each subholo-gram consists of one single point, and they all differfrom each other by the position of that point withrespect to some common origin. The number of sub-holograms vo has to be at least as large as the largestvalue of the neighborhood size v. A programmableshutter array is then placed in close contact with H2, orin an image of it, with one shutter per subhologram.An appropriate choice of v shutters out of vo allows oneto synthesize any of 2 interconnect patterns. Inpractice, the programmable shutter can be a liquidcrystal display; with the advent of ferroelectric liquidcrystal displays, the response time of the programma-ble shutter array can be in the microsecond range'8provided all v shutters are accessible in parallelthrough v command lines.

A two-hologram interconnection architecture wasproposed earlier by Jenkins et al.19 It is schematicallydepicted in Fig. 7. In that case, as opposed to what wepropose in this paper, H, is a set of subhologramsrather than one unique hologram, but the subholo-grams are not multiplexed as in our case. Each subho-logram of H, sends light from a given subset of pixelsonto one subhologram of H2, and the latter producesthe particular interconnection pattern required forthese pixels. In other words, the approach of Jenkinset al. is suitable for space-variant temporally constantconnections, while the approach in this paper is ade-quate for space-invariant temporally programmableconnections. Of course, it is easy to devise combina-tions of the two approaches, for example, with multi-plexed subholograms in H,. Practical issues related toholographic interconnects, including aberrations anddiffraction efficiency, will be examined in part 2 of thispaper.

C. Polarization Encoding

In this section, we have so far considered only theimplementation of one convolution of binary data byoptical interconnects. Optical cellular automata im-plemented on the basis of Eq. (3), however, require two

Image of cellular array(light out)

H, Images diffractedby holograms H2

Cellular array(light in)

Shutterarray

Fig. 6. Two-hologram setup for programmable interconnect pat-terns. Only the first diffracted order of each hologram is shown.

H1- cellular array output

cellular array input

H2

Fig. 7. Two-hologram interconnection architecture as proposed byJenkins et al.18 Only first diffracted orders are shown.

independent convolutions, one between the comple-ment of the elementary pattern P,, and the cellulararray state c, the other one between pattern Pr and thecomplement of the state, c. The necessity of keepingtrack of both the 1 pixels and the 0 pixels in arrays cand P,, suggests spatial multiplexing, whereby the op-tical code for state 1 and the one for state 0 bothinclude an active, i.e., bright, area. This is what hasbeen called double rail logic.20 A straightforward al-ternative is to just double the whole setup of Fig. 6 sothat one setup operates on c and Pn and the other oneon c and P,. In both cases, the space requirements aretwice the minimum imposed by the smallest pixel area.As suggested by Brenner,2 ' polarization can be used toget the two rails through the same spatial channel.

With this in mind, Eq. (3) describing OCA evolutioncan be reformulated more concisely.

Let us assume that in the object plane of Fig. 6 (lightout), the states 1 and 0 encoded by two orthogonalpolarizations x and y, respectively, the energy beingthe same in both cases. x and y can, for example, betwo perpendicular linear polarizations. Since the en-ergy is the same in both cases, we can take x and y asunit, possibly complex, vectors describing states ofpolarization.

Let us assume moreover that in the shutter arrayplane, each shutter is not a mobile opaque mask, but isa variable polarizer instead. For example, it can be alinear polarizer with either an electrooptic halfwaveplate in front of it, or an electrically addressed trans-

1648 APPLIED OPTICS / Vol. 27, No. 9 / 1 May 1988

mittive 900 twisted nematic liquid crystal cell. Eachshutter can select either the x or the y polarization.

Then, light from one given cell of the cellular arraypasses through one given shutter of the array if andonly if they are in the same polarization state. Afterthe shutter array data are no longer encoded by polar-ization, but rather by intensity, i.e., light for 1, no lightfor 0. Instead of a NOR gate as described in Sec. II.B.2above, what is needed to provide a polarization-en-coded output compatible with the input format istherefore a device capable of responding to a no lightinput by a y polarization and to a bright input (of anybrightness level between unity and vo) by an x polariza-tion. Equation (3) can now be rewritten as

c'= H[c * Pj. (6)

In Eq. (6), the state array c and the pattern array Pnare denoted as vector arrays. Each component ofthese arrays has two possible vector values: x and y,i.e., in Cartesian coordinates (1,0) and (0,1). The over-bar denotes interchange of x and y rather than Booleancomplementation. The extension of the convolutionof Eq. (5) to vectors using the scalar product of vectorsinstead of the usual product of real numbers isstraightforward:

SelectionA

: 3 ~ ~ ~~~~ ~Interconnect Opraio

OpticalBinary Image

Memory

Fig. 8. Block diagram of the complete optical binary cellular auto-maton (OBCA).

OUT IN

CLOCK

Fig. 9. Boolean description of memory behavior. Each cell of the

memory array is equivalent to this circuit and is independent of allothers.

(7)pixel ij of (c * P = E Pnkl Ci+k j+1

(kl),V00

In Eq. (6), function H is a vector function of a scalarvariable, which is equal to x if the variable is less thansome threshold t smaller than unity [see Eq. (4)] and toy otherwise.

With reference to Fig. 3, the three binary arrays c,Pn, and the results are modified by polarization encod-ing in that their values are x and y instead of 0 and 1.The three nonbinary arrays, c * Pn, C * Pn and c * Pn +-c * Pn are unchanged and their values are still intensityvalues. However, only the last one is physically avail-able as input to the nonlinear device. Using polariza-tion encoding, OCAs are therefore implemented moreeasily.

D. Description of the Complete Setup

Figure 8 shows a complete block diagram of theprinciples proposed for OBCA implementation.Here, only a general description will be presented, andthe detailed description will be deferred to part 2 ofthis paper, where a discussion of practical implemen-tation issues will also be given, along with a number ofexperimental results.

Data are input by polarization encoding using anadequate mask, e.g., an electrooptic crystal array orliquid crystal matrix as already described. The pat-tern selector is the programmable shutter array men-tioned in Secs. III.B and C. The result of the opticalinterconnection performed on these data by the setupof Fig. 6 according to Eq. (6) reaches a 2-D pointwisenonlinear device. A liquid crystal light valve is a typi-cal example of such a device. Although it is often usedto control intensity with a polarizer on the readout

side, it can be used to control polarization as well.However, here, its output is directed to an opticalimage memory, so that it is in fact used to controlintensityand not polarization. Of course, ultimately, afaster device, presenting good uniformity, high con-trast, and a large fan-in as a NOR gate is desired.

An optical binary image memory with intensity en-coded input and polarization encoded output is re-quired to hold the intermediate result. A switch al-lows selection of either external input or feedback ofthe optical memory output onto the input. Finally, aglobal external clock, which may be optically generat-ed22 or not, controls the switch, the optical memory,and the pattern selector.

To implement a cellular automaton, according toEq. (2), the switch should first select the data inputwhile the outputs of all the elementary cellular autom-ata corresponding to all patterns Pn, n = 1 to no, areintegrated sequentially in time in the optical memory.Since only one of the no patterns Pn can be recognizedat each cell ij, the result of the integration can beeither state 0 or state 1. Then, the switch should selectthe memory output and the sequence can be restartedfrom the beginning for the next iteration of the cellularautomaton, assuming that the memory can still displaythe previous array state at its output while integratingthe new array state at its input. Figure 9 shows theoperation needed for each cell of the memory in termsof Boolean operators.

It is not difficult to adapt the operation to othercellular processors. In particular, it can be useful tochange the interconnection pattern set at each itera-tion. Also symbolic substitution can be performed intwo ways. In either case, the pattern selector first

1 May 1988 / Vol. 27, No. 9 / APPLIED OPTICS 1649

selects the match pattern. The first possibility re-quires only one step, but the diagram of Fig. 8 is modi-fied to incorporate a pattern substitution unit similarto the holographic interconnection unit of Fig. 6. Thesecond possibility uses the diagram of Fig. 8 as it is, butrequires two steps, one for pattern matching, and onefor pattern substitution; in the latter, the pattern se-lector selects successively each pixel of the substitutepattern: each pattern P is composed of only onepixel, offset from the origin by the required amount.

IV. Conclusion

After a general discussion of the properties of opticalcellular processors, we have presented the principles ofan optical setup suitable for the implementation ofcellular automata. The architecture is aimed at anefficient combination of high density 3-D optical shift-invariant interconnections and point nonlinear opera-tion on a 2-D array of binary data; programmability ofthe interconnection pattern is obtained by adequateuse of holograms.

The second paper in this series will be devoted topractical implementation issues, including in particu-lar recording of holograms, hologram diffraction effi-ciency, holographic aberrations, and presentation ofexperimental results.

We have benefited from discussions with A. A. Saw-chuk, B. K. Jenkins, and K.S. Huang, and from thepractical help of Diana Lerner, all of the Signal &Image Processing Institute, University of SouthernCalifornia, Los Angeles. Their contribution is grate-fully acknowledged.

This work was supported by the French Ministry ofResearch & Higher Education, MRES.

References

1. J. Taboury, J. M. Wang, Pierre Chavel, F. Devos, and PatrickGarda, "Optical Cellular Processor Architecture. 2: Experi-ments," to be submitted to Applied Optics.

2. S. Wolfram, Theory and Application of Cellular Automata,(World Scientific, Singapore, 1986).

3. N. H. Packard and S. Wolfram, "Two-Dimensional CellularAutomata," J. Stat. Phys. 38, 901 (1985).

4. R. A. Athale, BDM Corp., McLean, VA; private communication.

5. A. Huang, "Parallel Algorithms for Optical Digital Computers,"in Technical Digest, IEEE Tenth International Optical Com-puting Conference (1983), pp. 13-17.

6. K. H. Brenner, A. Huang, and N. Streibl, "Digital Optical Com-puting with Symbolic Substitution," Appl. Opt. 25, 3054 (1986).

7. J. N. Mait and K. H. Brenner, "Optical Systems for SymbolicSubstitution," in Technical Digest of Topical Meeting on Opti-cal Computing (Optical Society of America, Washington, DC,1987), pp. 12-15.

8. Y. Ichioka and J. Tanida, "Optical Parallel Logic Gaes Using aShadowcasting System for Optical Digital Computing," Proc.IEEE 72, 787 (1984).

9. H. 0. Bartelt, A. W. Lohmann, and E. E. Sicre, "Optical LogicalProcessing in Parallel with Theta Modulation,' J. Opt. Soc. Am.A 1, 944 (1984).

10. A. W. Lohmann and J. W. Weigelt, "Spatial Filtering LogicBased on Polarization," Appl. Opt. 26, 131 (1987).

11. G. Eichmann, Y. Li, P. P. Ho, and R. R. Alfano, "Digital OpticalIsochronous Assay Processing," Appl. Opt. 26, 2726 (1987).

12. D. Psaltis and N. Farhat, "Optical Information ProcessingBased on an Associative-Memory Model of Neural Nets withThresholding and Feedback," Opt. Lett. 10, 98 (1985).

13. J. J. Hopfield, "Neural Networks and Physical Systems withEmergent Collective Computational Abilities," Proc. Natl.Acad. Sci. U.S.A. 79, 2554 (1982).

14. K. S. Huang, B. K. Jenkins, and A. A. Sawchuk, "Binary ImageAlgebra and Digital Optical Cellular Image Processors," inTechnical Digest of Topical Meeting on Optical Computing(Optical Society of America, Washington, DC, 1987), pp. 20-23.

15. J. R. Fienup and C. D. Leonard, "Holographic Optics for aMethod-Filter Optical Processor," Appl. Opt. 18, 631 (1979).

16. M. J. Murdocca, "Techniques for Parallel Numeric and Non-Numeric Algorithm Design in Digital Optics," M.Sc. Thesis,Rutgers U. (1985).

17. S. Levialdi, "On Shrinking of Binary Patterns," Commun. ACM15, 7 (1972).

18. A 6 X 6-ferroelectric liquid crystal shutter array, for example, iscommercially available (Displaytech, Boulder, CO).

19. B. K. Jenkins, P. Chavel, R. Forchheimer, A. A. Sawchuk, and T.C. Strand, "Architectural Implications of a Digital OpticalProcessor," Appl. Opt. 23, 3465 (1984).

20. A. Huang, "Architectural Considerations Involved in the Designof an Optical Digital Computer," Proc. IEEE 72, 780 (1984).

21. K. H. Brenner, "New Implementation of Symbolic SubstitutionLogic," Appl. Opt. 25, 3061 (1986).

22. B. K. Jenkins, A. A. Sawchuk, T. C. Strand, R. Forchheimer, andB. H. Soffer, "Sequential Optical Logic Implementation," Appl.Opt. 23, 3455 (1984).

NBS, AT&T TO ANALYZE GAS LOSS IN SUPERCONDUCTORSAT&T Bell Laboratories, Murray Hill, N.J., hasestablished a research associate program with NBS to studythe precise nature of the solid-liquid-gas interactions inthe entire system of barium, yttrium, copper, and oxygen(Ba-Y-Cu-O) oxides. AT&T research chemist PatrickGallagher will use thermogravimetric analysis (TGA) tomeasure the amount and types of gases lost during theheating of the superconducting material. NBS and AT&T willuse the data to correlate the superconducting properties ofvarious phases in the oxide system. The NBS ResearchAssociate Program provides an opportunity for people fromindustry and other organizations to conduct cooperativeresearch with the bureau.

1650 APPLIED OPTICS / Vol. 27, No. 9 / 1 May 1988