OPTICAL SEPARATION PROCESSING

Abstract: A method of data processing, comprising: providing a data set to be processed by applying a transform thereto; decomposing said data set into a plurality of data sets, wherein at least one data element of said data set is represented by a linear combination of respective elements of at least two of said plurality of data sets; applying at least one secondary optical transform to said plurality of data sets using one or more optical components to manipulate light encoding said data sets; reconstructing the transform of said data set by combining said transformed light from a plurality of data sets. In an exemplary embodiment of the invention, the decomposition is into bit-planes.

Description: OPTICAL SEPARATION PROCESSING RELATED APPLICATIONS This application is a continuation in part of PCT application PCT/IL99/00479, filed September 5, 1999, by applicant Lenslet Ltd. in the IL receiving office and designating the US, the disclosure of which is incorporated herein by reference. FIELD OF THE INVENTION The present mvention relates to the field of signal processing by basis vectors, for example using optical components. BACKGROUND OF THE INVENTION In a typical optical processing system, a gray-level SLM (spatial light modulator) is used to modulate light beams to have, for example, 256 light levels. These modulated light beams are then used as an input to a processing element, which processes the multi-level beams. SUMMARY OF THE INVENTION An aspect of some embodiments of the invention relates to using a discrete level SLM, which modulates light in discrete steps, for performing transforms and/or other processing, rather than using a continuous level SLM, which modulate slight in a continuous manner for each pixel. In one embodiment, a binary level SLM is used. In one exemplary embodiment of the invention, data is encoded using a set of basis vectors, e.g., in bits, using a spatial and/or temporal encoding scheme. Thus, a plurality of bit planes are generated from a single set of data. A binary SLM (or other SLM type driven as a binary) is driven using the encoding information. Each such bit plane is then transformed individually and the result of the transform of the original data is determined by weighted summing of the transformed bits. It should be noted that bases other than two may be used, for example base three, in which a different tradeoff between SLM speed and system complexity may be achieved. Alternatively or additionally, other numbers of discrete gray levels may be utilized in an SLM, for example to trade off speed and component complexity. Alternatively or additionally to representing numbers using radix decomposition, other ways schemes of representing data as a combination of other data can be used. In one example the original data is separated into a plurality of channels using a plurality of basis vectors (not 1, 2, 4...256, which are the basis vectors for binary representation, described above), each channel being processed and then combined after the processing. In some embodiments of the mvention, the combination (and/or decomposition) is linear. In other embodiments of the invention the combination is non-linear, for example utilizing non-linear optical elements to perform non-linear processing of the individual channels. Alternatively or additionally, a piece-wise linear approximation of a nonlinear transform is used, with data from the linear channels being combined optically or electronically, for example. Alternatively or additionally, the non-linear processing is performed electronically. An aspect of some embodiments of the invention relates to a method of correcting for imperfections in a binary SLM, for example spatial amplitude and/or phase variability and imperfect light intensity or phase control. Optionally, a lower quality SLM may be selected, or an existing SLM driven at a greater rate, using such correction. In one exemplary embodiment of the invention the compensation is calculated once for each transform for which the SLM is used. This compensation is applied, optionally on a per- pixel basis, from a transform result. In an SLM in which each pixel has both a phase and an amplitude difference, two corrections may be used, for example for both phase and amplitude. An aspect of some embodiments of the invention relates to trading off spatial, temporal and/or calculation resolution between themselves and/or trading off one or more of them with speed, system complexity and/or type of processing performed. In some embodiments, the trading off is between channels. Alternatively or additionally, the trading off is within a given channel. In some embodiments, the channels are all optical. In other embodiments, at least some of the channels are non-optical, for example electronic. An aspect of some embodiments of the invention relates to using feedback or feedforward mechanisms to set up processor parameters in an optical processor. Exemplary parameters include SLM driving, data separation, trade-off of channels, processor speed and detector parameters and/or matching of discrete to continuous elements. Optionally, the setting up is dynamic, for example per data set, transform type or system usage, rather than for processor design. In one embodiment of the invention, a simulation, a processing of a partial data set and/or a low quality processing are performed to determine more effective optical processor parameters. In some embodiments, a processing is repeated based on the feedback, for example until a desired accuracy is achieved or until a time out occurs. In other embodiments, a setup for a processing or for processor trade-offs, such as processing channel allocation, is determined based on the feedforward information. Optionally, such determination of optical processor parameters takes into account the entire processing cycle and/or the required results. Thus, in one example, lower quality processing is provided for high frequency DCT coefficients in a JPEG image compression method, than for low frequency coefficients. An aspect of some preferred embodiments of the invention relates to a setting up of optimal sampling parameters for an optical processor. These processor parameters may be setup responsive to a desired accuracy or a desired available number of accuracy bits. Alternatively or additionally, the processor parameters are set up in anticipation of repeated sampling of resuhs and averaging or other combination of the repeated sampling. In one particular example, the detector is driven as a low bandwidth detector, for example a binary detector and the measurements are multiple settings are added, for example electronically, to yield a higher bandwidths result. There is thus provided in accordance with an exemplary embodiment of the invention, a method of data processing, comprising: providing a data set to be processed by applying a transform thereto; decomposing said data set into a plurality of data sets, wherein at least one data element of said data set is represented by a linear combination of respective elements of at least two of said plurality of data sets; applying at least one secondary optical transform to said plurality of data sets using one or more optical components to manipulate light encoding said data sets; reconstructing the transform of said data set by combining said transformed light from a plurality of data sets. Optionally, providing a data set comprises providing optically encoded data. Alternatively or additionally, providing a data set comprises providing electronically encoded data. Alternatively or additionally, said at least one secondary transform comprises a same transform to all the data sets. Optionally, said at least one secondary transform comprises a continuous version of said transform to be performed. In an exemplary embodiment of the mvention, said at least one secondary transform comprises a different transform for different ones of the data sets. In an exemplary embodiment of the invention, said encoding light is generated using an SLM. Optionally, said SLM is driven as a binary SLM. In an exemplary embodiment of the invention, said decomposition is a radix two decomposition. Alternatively or additionally, said decomposition is a Lloyd-Max optimal decomposition. In an exemplary embodiment of the invention, said plurality of data sets are encoded using a phase encoding. Alternatively or additionally, said plurality of data sets are encoded using an amplitude encoding. In an exemplary embodiment of the invention, at least two data sets are processed in parallel using a same optical element. Alternatively or additionally, at least two data sets are processed in parallel using different optical elements. Alternatively or additionally, at least two data sets are processed in series using a same optical element. In an exemplary embodiment of the mvention, said combining is optical. Alternatively or additionally, said combining is electrical. In an exemplary embodiment of the invention, said reconstructing comprises correcting said detected light using at least one calibration parameter. Optionally, said calibration parameter comprises a matrix of different values for different transform elements. Alternatively or additionally, the method comprises predetermining at least part of said calibration parameter for said transform. Alternatively or additionally, said calibration parameter corrects for an imperfection in representing a zero amplitude. In an exemplary embodiment of the invention, said transform comprises a block transform. Alternatively or additionally, said transform comprises a discrete transform. Alternatively, said transform comprises a continuous transform. In an exemplary embodiment of the invention, said transform comprises a DCT transform. Alternatively, said transform comprises a Fourier transform. Alternatively, said transform comprises another linear transform. Alternatively, said transform comprises a nonlinear transform. Optionally, said non-linear transform is approximated by a plurality of linear transforms. In an exemplary embodiment of the invention, the method comprises detecting said secondary transformed light using an array detector. Alternatively, the method comprises detecting said transformed light using an array detector after further processing of said transformed light. In an exemplary embodiment of the invention, the method comprises dynamically selecting detection parameters for said detection, responsive to at least one of said data set and said linear transform. Optionally, dynamically selecting detection parameters comprises selecting sampling intervals responsive to a system noise level. Alternatively, dynamically selecting detection parameters for at least a first portion of said detector comprises selecting detection parameters responsive to a selection of at least one high accuracy pixel not to be calculated using said at least a first portion of said detector. There is also provided in accordance with an exemplary embodiment of the invention, a method of performing a transform, comprising: generating a spatially modulated beam of light, wherein spatial modulations said spatial modulations represent data element values; transforming said beam of light to effect a linear transform of said data element values; detecting an amplitude related indication of said transformed values; and applying at least one correction value to said linear transformed values, to reconstruct a representation of said transformed values. Optionally, said spatial modulations comprise spatial phase modulations. Alternatively or additionally, said spatial modulations comprise spatial amplitude modulations. In an exemplary embodiment of the invention, applying comprises further applying a second correction value, after taking a square root of a result of said first correction. There is also provided in accordance with an exemplary embodiment of the invention, a method of performing a non-linear transform, comprising: approximating said non-linear transform by a combination of a plurality of linear transforms; optically applying said plurality of linear transforms to a data set; and combining the results of said linear transforms to yield an approximation of said nonlinear transform. Optionally, said combining comprises optically combining. Alternatively, said combining comprises electronically combining. In an exemplary embodiment of the invention, said applying comprises assigning different channels of an optical processor to different ones of said linear transforms. Optionally, the method comprises dynamically setting at least one of (a) said assignment and (b) parameters for said applying, responsive to at least one of said non-linear transform and said data set. There is also provided in accordance with an exemplary embodiment of the invention, a method of performing optical processing, comprising: providing a processor having a plurality of at least partially independent processing segments, at least one of which is an optical processing segment; setting up different processor parameters for different segments; and applying a transform by combining the results of optical processing from said plurality of segments. There is also provided in accordance with an exemplary embodiment of the invention, a method of performing optical processing, comprising: providing a processor having a plurality of at least partially independent processing segments, at least one of which is an optical processing segment; transforming at least a part of a data set using a first one of said plurality of segments; setting up processor parameters for at least one of said plurality of segments responsive to said transforming; and applying a transform to said data set using at least said at least one of said segments.. In an exemplary embodiment of the invention, said plurality of segments comprises a plurality of optical processing modules. Alternatively or additionally, at least some of said plurality of segments are comprised in a plurality of parts of a single optical processing module. In an exemplary embodiment of the invention, said plurality of segments comprise a plurality of temporally separated uses of at least one single optical processing module. Optionally, at least one of said segments comprises an electronic segment. BRIEF DESCRIPTION OF THE DRAWINGS Some embodiments of the present invention will now be described in the following detailed description and with reference to the attached drawings, in which: Fig. 1 is a schematic diagram of an optical processing system, in accordance with one embodiment of the invention; Fig. 2 is a schematic flowchart of a feedback based optical processing method, in accordance with an exemplary embodiment of the invention; Fig. 3 is a schematic block diagram of a segmented optical processor, in accordance with an exemplary embodiment of the invention; and Fig. 4 is a flowchart of an iterative method of optical processing, in accordance with an exemplary embodiment of the invention. DETAILED DESCRIPTION OF SOME EMBODIMENTS Fig. 1 is a schematic diagram of an optical processing system 100, in accordance with one embodiment of the invention. -An SLM 104 generates a beam of modulated light, for example by modulating the light from a light source 102. SLM 104, may be, for example a one- or two-dimensional array of light valves, a one- or two- dimensional LED array, a one- or two dimensional NCSEL array or an acusto-optic modulator. The light from source 102 may be collimated, for example using a lens (not shown). Alternatively or additionally, a homogenizer, for example an SLM or a spatially varying neutral density filter, not shown, may be provided to make the light more uniform. Alternatively, for example as described below, SLM 104 may be replaced by a spatial light source. A driver 106 may be provided to drive SLM 104 to have a desired spatial modulation effect, for example to represent input data. In an exemplary embodiment of the invention, driver 106 converts a set of data into a plurality of planes, for example as will be described below. Alternatively or additionally an optical analog to digital converter may be used, to separate bit planes in even a digital optical signal. An exemplary optical analog to digital converter is described, for example in A. Armand et al., "Real Time Parallel Optical Analog-to-Digital Conversion", Optic Letters Vol. 5 No. 3 March 1980, the disclosure of which is incorporated herein by reference. The combination of source 102 and SLM 104 may be termed a spatially modulated light source. The spatially modulated light is then processed by an optical processing unit 108, which may include, for example, one or more lens, lenslet arrays, SLMs, masks and/or holograms. The processed light is then detected by a detector 110, for example a CCD array. Alternatively, the light may be further processed by other optical elements. Alternatively or additionally, the light may be provided from a result of previous optical processing. In an exemplary embodiment of the invention, a combiner 112 collects the signals from detector 110 and converts the read signals into processed data. System 100 can be of many types, for example, processor 108 may be programmable or not, system 100 may be coherent or not, and/or system 100 may be temporally encoding, for example, being a mutual intensity based processor. A controller 109 may be provided (optionally integrated with other of the system components), for receiving input from and/or driving various components of the system, for example as described below with reference to Figs. 2 and 3. In an exemplary embodiment of the invention, SLM 104 is a discrete SLM, having a small number of gray levels, for example, 10, 4 or, especially, 2. In the example of a binary driven SLM, the data is separated into-bit planes and each bit-plane is processed separately. Then the bit-planes are combined (for example using combiner 112) to yield the processed result. The following equation describes the relationship between the linear transforming of bit-plane separated and unseparated data: where F is any linear transform, for example DCT, DST, DFT, discrete wavelet transform, or a Hadamard transform, i is the number of bit-planes and a[ is a bit value vector (of 0 or 1) for bit-plane i. As described below, a similar approach may also be used for non-linear transforms. One potential advantage of binary SLMs is that they are often much faster than gray- level SLMs. Another possible advantage is that there are no phase differences between pixels, in some implementations. -Another possible advantage is that a smaller dynamic range CCD can be used for detecting the results of processing. -Another possible advantage is that lower cost driving circuitry and/or SLMs may be used, as a linear response is not usually a requirement in a binary SLMs. Another possible advantage is that absolute uniformity of output is not as strictly required in binary SLMs as in gray-level SLMs. Some of these advantages may also hold for continuous gray-level SLMs driven as binary SLMs. In one embodiment of the invention, the data is separated into bit-planes using an electronic circuit, for example driver 106, however, also optical means can be used, for example using well known digital to analog optical converters. The data may be represented in several different ways, depending on the specific application, including, for example, spatial encoding where pixels (e.g., adjacent pixels) represent different bits and temporal encoding, where the different bits are temporally separated. Combinations of temporal and spatial separations may also be used. In spatial separations, the bits may be arranged so that the MSB (most significant bit) is suπounded by lesser significant bits, so that cross-talk between pixels (groups of bits) will be less likely to cause a modification of the MSB. An alternative binary representation uses separate optical channels (or channel portions) for the different bit planes. -Another alternative representation randomly distributes the bits while the optical transformer design takes into account the random distribution. The considerations of the bit distribution may be, for example, accuracy, importance of the result, cross-talk minimization and driver design convenience. After processing, the processed bit planes may be combined using optical or electronic means. The optical means may be analog or digital. One example of an optical combining means is using a weighted mask which reduces the intensity of light from each bit plane result responsive to the bit position. Then, all the light (from a plurality of bit-planes for a single pixel) is directed to a single CCD pixel. An optional optical element 114, such as a mask or an SLM, may be provided to perform such processing. Alternatively or additionally, element 114 may be used to correct for various fixed and varying errors, as will be described below. Another example of combining is having each bit illuminate a different CCD pixel and then performing weighted addition on the pixels. Such addition may be performed on the CCD plane or in separate circuitry, such as combiner 112. Alternatively or additionally, different bit planes may be generated with different intensity values and/or different phase values depending on the bit position. In some embodiments, the bit-plane results are combined optically or electronically and used for further optical processing. In one exemplary embodiment, all the bit plane results are optically combined and then split up again into bit-planes (using the same or a different separation scheme), for further processing. In another exemplary embodiment, the result for each bit-plane is itself decomposed into bit-planes, each of which bit-planes is further processed. Optionally, corresponding bit planes from the decomposition of different bit-plane results are added together prior to the further processing. SLM 104 may be a binary SLM or it may be a gray-level SLM driven as a binary SLM. Often, in system design, an optical designer is required to trade-off cost and SLM quality, with binary SLMs (or their driving circuitry) typically being faster and/or cheaper than gray level SLMs, for example because binary SLMs do not require linear (or other) distribution of gray levels. Different types of SLMs modulate the light in different ways, for example, the light may be phase-modulated, amplitude modulated or both, with different modulations representing different bit values. In addition, some embodiments of the invention may provide temporal optical signal processing. In these embodiments, the modulator might be an electro- optical temporal modulator. It is expected that for some embodiments of the invention, the SLM may not provide exact light values for each pixel. For example, the modulation of a same- value pixel may vary between different parts of the SLM. In another example, the modulation may not be perfect, for example, a zero intensity value will still allow some light leakage. In another example, the input light may be non-uniform. In one embodiment of the invention, a correct value of a transformed pixel value is estimated or reconstructed by correcting a measured value with a calibration value. This correction may be applied in various ways, for example by suitable weighing of the results in combiner 112, using optical element 114 configured for example as a half-tone mask and/or by setting signal translation properties of the individual CCD elements. An advantage of an active correction, such as element 114 being an SLM is that a variety of different calibration values can be used for different pixels in a single system 100. In a first example, an amplitude only SLM is provided. In a binary driving scheme, an amplitude value C may be selected to represent a 0 value and a value D selected to represent a 1 value. As noted above, C and D may vary spatially. Typically, C and D are selected to match the SLM's characteristics and/or the speed at which the system is driven. In one embodiment, C and D are selected to be as close as possible to each other, to minimize SLM switching time. In this example, an image I is represented as: I Bιj = 2 " a . „ while each nώ sub-image pixel is binary and can be represented as « y „ e {C, D}. Representing the transform of an array of values selected from the set {x,y} by £ x y, it is noted that for any linear transform £Q D = £Q D-C + ^C G e -S-' me e ff ect of adding the value C to all p xels of the input can be corrected for by su tract ng the trans orm o t e va ue from the transform of the result. In effect, this is equivalent to replacing C by C and D by D- C+C, and then separating out the effect on the "C" from both representations. This equivalence is also used in the complex modulation representation case, below. Thus, SLM 104 is driven using value C for 0 and D for 1 and the transform result matrix £(( c) is subtracted from the measured transform matrix to yield a correct transform matrix. This correct transform matrix may then be normalized by the value D-C, to yield results in the range of between 0 and 1. A sample calibration sequence is first transforming an all zero data set and then using the results of the transformation to correct a real transformation. Different calibration values may be required for different times, for different light amplitudes (e.g., if the SLM is nonlinear) and/or for different linear transforms. Optionally, the calibration is estimated by calculating the expected values of transform £Q Q. Alternatively or additionally, a real measurement is used to correct for other, unknown variations. In an exemplary embodiment, a data transform is preceded by a blank field transform, with the results of the blank field transform being stored on the detector, for subtraction form the data transform. The subtraction may be electrical, for example on a pixel by pixel basis or after reading out from the detector. Alternatively or additionally, the subtraction may be physical, for example by reversing a bias voltage of the detector (e.g., a CCD or a CMOS device) between the first detection (of the calibration transform) and the second detection (of the data transform). In a second example, system 100 is a coherent system and SLM 104 generates both a phase modulation and an amplitude modulation. It is noted that one of the modulation types may be secondary to a desired modulation. The phase modulation may be corrected by a polarizer, which converts the phase information into an amplitude effect, however, this may not be desirable, even though as the resulting secondary amplitude modulation may be corrected for as noted above. The modulation values of a pixel may be selected as a ijn e { R + * M ,R + i * M } ={C, D) where R].- and M\ (k, 1 are integers) are respectively the amplitude and phase of a signal, we may designate: {R, + i * M l ,(R2 - R\ + R,) + i * (M 2 - M + , )} = {R 1 + i * M i ,R, + i *M l + (R2 - Rl 1 ) + i * (M 2 -M 1 )} In analogy to the amplitude modulation case described above, a desired representation "v" has a calibration value "u" added to it by the design of system 100, e.g., α, 7 = u + v . The following is the treatment of a single bit plane. What is measured by a power detecting sensor is |£( Ω ,)| 2 = £(u) + £(v)| 2 letting £(u) = l u e"" u} and £(v) = l v e """ we have £( + /.. e"' 1 " (l u e iAΘ + l v )\ = (l v A- l u c s(AΘ)f + (/„ sin(Δ<9) 2 where Aθ = θ(u) - θ(v) Thus, a desired value l v is estimated by applying two calibration coπections: 1/2 lv £(I Bij )\ 2 -l u 2 sin 2 (Ac?) /„ cos( Aθ) where l u is an estimated value. Again, the calibration values may be determined by transforming a null data set. In a third example, phase only SLM modulation is used and the transform values are determined from the amplitude (or power) detector measurements. Thus, for example, {0, 1} can be represented by {0,1} = — 1 + — 1(e o,e '- 2 * ) where — 1 is an arbitrary offset. If the nώ sub-image pixel a^ n is represented as a ijn e {i*M i*M 2 } = {i*M x ,i*(M 2 -M x + ,)} ={C, D) where Mj is a real number, the equivalence to the first, amplitude example of subtracting an offset i*M^ is the value set {0,i*(M 2 -M,)}. A single bit value can be represented by i-M x and q = i ■ (M 2 - M x ) . The result of transformation and measurement gives: \£(i * (M 2 - M,)f = |t • [£(M 2 ) - £(M,)] 2 = £(M 2 ) 2 + £(M,) 2 - 2 ■ £(M,) ■ £(M 2 ) £((M, ) ± λ /4£(M,) 2 -4£(M 1 )-|t[£(M 2 )-£(M 1 )] 2 or£((M 2 ) Although the above methods may be used to compensate for spatial variations and/or other imperfections in an SLM, in some embodiments, the spatial variation are self imposed, for example, the distribution of the values of C and D may be intentionally varied over the SLM, for example if extremely fast process ng s desired. Alternatively to a two-level SLM, three-or higher numbers of discrete levels may be provided at the SLM. Multiple input pixel values may require the ability to apply a varying correction to the transform, for example using a programmable combiner 112 or optical element 114. Alternatively or additionally, although a radix based separation and combination of data is described, other methods can be used to separate the data and recombine it. In one example, a set of optionally orthogonal basis vectors are used to separate the data and recombine it. Such a set of basis vectors may be arbitrary. Alternatively, the set may be designed for other reasons, for example, for noise reduction, for distributing noise evenly between bits and/or for matching the basis vector set to a system characteristic, such as a system MTF. The original data set is thus decomposed into a plurality of data sets, which are then transformed and the transforms combined linearly (with weighted addition) to reconstruct the transform of the original data set. The weights may be fixed, or they may vary, for example based on the data set. Also, each of the plurality of data sets does not necessarily span the entire original data set, for example, if different decompositions are more efficient for different parts of the original data set. In a particular example, a Lloyd-Max optimization is used to select a limited number of bit planes which have the property of best (minimal square error) representing the input data. This decomposition results in a non-uniform log distribution of the bit planes. Optionally, several statistical features of the expected data to be processed are provided. Alternatively or additionally, the decomposition may be decided ad-hoc when the data is provided to system 100. A description of the Lloyd-Max procedure can be found, for example, in A.K. Jain, Fundamentals of digital image processing, 1989, Prentice-Hall, p. 101. In the following development, R and I, either as superscripts or subscripts, denote, respectively, the real and imaginary parts of the relevant variable or properties of such parts, all according to the context; and f denotes distribution density. Assuming an input data set described by a function Y(x) = R(x) • e lφ(x) and the distribution density of R(x) and of φ(x) , where X is a spatial coordinate, are known; First the distribution density fy of Y(x) as a function of the distribution densities of the real and imaginary parts of Y(x), i.e., f γ (y) = f R γ + f Υ , should be derived As Y(x) = Rcosφ + iRsinφ , by definition, what is desirable in some embodiments of the invention is to find an optimal (or sub-optimal) quantization for Y(x) such that the quantization error will be minimal. In a first step, the distribution densities of the real and the imaginary parts of Y(x) using the distribution density of φ : f φ , are found. The distribution of Ψ = cosφ and of Ω = sinφ are first derived: dφ f Ψ = N(arcos(Ψ)) = fJarcos(Ψ)) dΨ| >/I-Ψ 2 and, in a similar way, Next, the distribution density of two independent variables g and h such that z = g ■ h , is calculated. The mutual distribution density of (g, h) is f h =f -f h/g . Since g and h are independent we have f h =f -f h . This can be directly applied to Y(x) = R Ψ + iR-Ω resulting with the mutual distribution densities f R ψ = f R • f ψ and f R Ω = f R • f Ω . Since z = g • h , for a variable Z the probability that Z < z is dF z (z) The distribution density f z (z) = can be derived. These expressions can be applied to dz derive the distribution densities f R γ and f Υ by substituting g = R ; h = Ψ and g = R ;h = Ω , respectively. The Lloyd-Max optimization is now applied to Y(x) for the purpose of calculating the error [ε] between Y and its quantized value Y k as follows: Y-Y- = E N κ -Y . R + E Y'-Y'i = ε 2 (Y R ) + ε 2 (Y') where E is the expectancy. It follows that Y ---! Y'k+i ε2= ∑ Jε 2 (Y R )N R ydY R + jε 2 (N)-r y -dr Y'k from Thus: vR _ Y\-YVι where Y R k and Y R k are, respectively, the decision and reconstruction levels for an L-level quantizer, such that if y lies in the interval (Y R k,Y R k+ι j then it is mapped to Y\ , the kώ reconstruction level. The same equations can be obtained for Y'k and Y by replacing the index R with i. In applying the Lloyd-Max process to the bit plane technique, we represent Y R k as a R k.n - Δ R n and Y'k as - Δ'n where a R k,n e {θ,l} and Δ R „ is the quantization level to n n be found (the same applies for the index i). For values of k such that k = 2 n , one may obtain = Δ R „ and = Δ' n , since the bit plane is represented by binary base. For example, the a k n coefficient matrix may be written as: for the kin rows such that only "1" appears, e.g., = Δ R „ . Thus, when we substitute • Δ R „ in equation (A) the result is γ\ Jγ R NVdY R Δ iog 2 k JfVdY R Y B k a similar equation can be obtained for Ai og2 k . It should be noted that these results can be obtained as well if step 2 is directly applied on the representation Y = ^ k n -Δ n for k=2 n . n In some cases, the SLM is faster than the propagation time in the optical processor as a whole. Optionally, the processor is treated as a pipe-line in which the SLM and detector are not processing the same data, but rather there is a delay between the SLM and the CCD. Multiple data streams may also be processed using different frequencies of light. In some cases, either the SLM or the CCD will be faster. Optionally, several instances of the slower element (e.g., parallel paths) are provided in order not to slow the pipeline. Light from a plurality of SLMs can be collimated to a single optical path and, conversely, light from a single optical path can be projected or copied to a plurality of CCDs. Such mixing and copying is especially useful when different data streams are implemented using different frequencies of light. However, such frequencies may also be differentiated using an active optical filter such as an LCD-color filter-polarizer combination. It is noted that a CCD detector integrates the square of the amplitude, so even after taking a square root the result may not be precise. This is not true for all systems and even when true, is not always a consideration. For example in an optical image compressor, the effect of the error is negligible and usually smaller than that allowed by the JPEG standard. This eπor is especially small if most of the CCD area (for each pixel) is ignored, by providing a pin-hole masking array before the CCD. Ignoring most of the CCD area is also useful in that it reduces noise, albeit usually requiring more signal strength. Alternatively, an amplitude (rather than power) detector is used, for example using a detector with a gamma of 0.5. The bit plane separation/processing method described above gives coπect results for all linear transforms. It is contemplated that the use of a binary SLM may be advantageous in many applications using optical processing, for example radar signal processing and communications signal processing. By using high speed modulation of parallel data beams, a higher system thru-put can be provided, possibly even providing a better throughput than electronic processors of a similar size, cost and/or heat dissipation and computation accuracy. The above description has focused on SLMs, however, any spatially modulated light source can be used, for example NCSEL arrays or LED arrays. Also various types of SLMs may be used, for example, reflective, transmissive, Liquid crystals of various types, acusto- optic, deformable minor device, magneto optics and/or electro-optic modulator. Fig. 2 is a schematic flowchart of a feedback based optical processing method 200, in accordance with an exemplary embodiment of the invention. At 202 the electronic data is optionally preprocessed in preparation for optical processing. At 204, the data is converted from an electronic representation to an optical representation, for example using SLM 104 (Fig. 1). Alternatively, the light is provided in an optical representation, for example from a previous optical processing step, so no conversion is required. At 206, the data carrying light is optically processed. This light is detected at 208 and then optionally electronically post- processed. In an optional step 212, various parameters for system 100 are determined (e.g., by controller 109), for example responsive to results of the electronic pre-processing (202), the detected signals (208) and/or electronic post processing (210). One potential advantage of using such feedback is that a more effective use of available hardware and/or other resources, such as time, can be achieved, at least in some cases. In some embodiments, coπection is feedforward, for example if the results of a cuπent processing is used to adjust parameters for a later processing, rather than a repeat of the ci-urent processing. Alternatively or additionally, a simulation is performed or a system model is applied to estimate desirable system settings. The following is a list of exemplary parameters of an optical processor, one or more of which may be set up prior to or after processing has begun. It should be noted that any of the following parameters may be fixed for an entire processor or segment (described below) thereof. Alternatively, these parameters, for example spatial resolution, may vary for different pixels (input and/or output) of the processor. (a) spatial resolution and separation, for example in a DCT transform, the input may be dithered or some of the output coefficients may be ignored; (b) temporal resolution and separation, e.g., how long between consecutive processing steps; (c) gray-scale resolution, e.g., what accuracy is used for each pixel of input or result, noting that different pixels may have different accuracies associated with them or that pixels with better accuracies may be used for the more important data elements, the accuracy may be set by selecting a number and/or set of bit-planes to be used or by suitable driving or sensing; (d) allowed noise level, which may be, for example, a parameter or a variable that is measured and used to determine the values of other parameters; (e) system speed, which generally controls degradation, for example, caused by limited switching speeds; (f) illumination level and contrast; (g) uniformity level, for example of illumination or of control of various optical elements and which may be, for example, controlled by the type and settings of the driving signals used for active electro-optical elements; (h) system stability, e.g., to what extent is the system behavior stable and/or reproducible; (i) detector parameters, such as detector integration time, gain, level and integration method, which may be different for different parts of the detector or over time; (j) processing parameters, such as the mask settings; (k) post-processing parameters, such as smoothing functions to be applied; (1) pre-processing parameters, such as pre-distorting the data to match an expected distortion of the SLM caused by the system speed and exhibited in the results of a previous processing step; (m) degree of application of calibration parameters; (n) matching of discrete and continuous optical components, for example, defining sizes of pinholes (e.g., in an active mask, such as an LCD) for the SLM or CCD, or selecting which ones of a plurality of CCD elements 111 (Fig. 1) to read and which ones to ignore, so that a desired transform is achieved; (o) trading off of any of the above and/or of workload between multiple segments and/or channels of system 100. In an exemplary embodiment of the invention, the required accuracy of the system is not obtained by the system's output A/D dynamic range for various reasons, for example, a suitable A/D converter may be too expensive and/or require too much power for its operation. In an exemplary embodiment of the invention, improvement of the system's output accuracy is achieved by an artificial increase of the system's bandwidth. This is may be performed by successive captures of the same image followed by some averaging. Assuming that the system noise can be modeled as having a Gaussian distribution with a standard deviation of σ, we denote by I a and by Ij-, two quantization levels between which the true readout I is obtained (I a <I<Ib). In an exemplary embodiment of the invention, the quantization levels interval Ij-,-I a is chosen such that is will be smaller than σ. The probability of an output readout of 1^ is: where L, is the threshold value for which I> , is chosen to be Ij-, and for I< Iγ to be I a and In a similar manner, the probability of obtaining an output readout of I a : Pa = l - Pb It should be noted that in the above-mentioned computation the probability of obtaining other output levels above Ij, or below I a is neglected. This neglecting does not substantially affect the derivation and a same derivation process can be used without this neglecting. Assume that the output result is obtained after multiple exposures, i.e., system 100 can be operated N times. In this case the probability of obtaining readout of Itø M times out of the N exposures is: Assuming a satisfactory probability P(M) one may obtain the M which is the number of times for which the output readout was h j (M). N-M is the number of times for which the output readout is I a . In an exemplary embodiment of the invention, applying a weighting algorithm to extract a more accurate output readout yields: MI b + (N - M)I a N The precision of the obtained result may be, for example, on the order of assuming the various output readouts are statistically independent. Thus, by having N exposures the accuracy of an n bits systems is improved by log 2 (VN) bits. As an example, if the required intensity accuracy of the application is 14 bits and the capability of the detection system is 11 bits. Then Ν=[2(14"Ll)]2---64 exposures may be used to achieve the desired accuracy. The standard deviation of the noise σ may be a system artifact. Nevertheless, in an optical system, the noise is provided at least by the particle nature of light. Such a noise is called a quantization noise or a shot noise. Its standard deviation is proportional to the root of the number of photons arriving to the output plane. Assuming that P 0 is the output power then the shot noise standard deviation is: where h is Plank's constant, c is light velocity, λ is the wavelength and Δt is the integration time of the detector. Due to the above-mentioned relation the optimal quantization of the output plane optionally has a root relation so that it will match the standard deviation of the light. Alternatively, a Lloyd-Max derivation as described above may be applied to a test transform to estimate optimal quantization (or other signal decomposition scheme) levels for a part cular transform an or ata set. It s ou e note t at t e s ot no se eve s not sufficient an artificial noise level may be created, for example, by directing each exposure in a multiple exposure sequence into a slightly different pixel. Such a spatial shifting effect may be generated, for example, by slight vibrating the output plane for example with a piezoelectric crystal. Such spatial shifts can create a noise with a constant standard deviation for al the elements. After adapting the output-required quantization and given the desired output accuracy ε a desired number of the exposures N can be determined: Fig. 3 is a schematic block diagram of a segmented optical processor 300, in accordance with an exemplary embodiment of the invention. An optical processor in accordance with an exemplary embodiment of the invention includes at least one optical processing module, e.g., an 8x8 array. Each such module is a channel. In addition, each temporal instance of a use of such a module is also a channel. The tradeoffs described above may be used to determine the parameters and/or the use to which each such channel is put. In system 300. An additional feature is that different parts of a single channel may be used for different uses (and/or have different parameters) and/or that a plurality of different types of channels are provided, for example both optical and electronic channels or two types of optical channels, e.g., some that are limited to Fourier transforms and some that are programmable to do any linear transform. Each of these separately controllable portions of processor 300 is termed herein a segment. System 300 is shown schematically as comprising a data distributor 310 that distributes data to a plurality of modules, here shown as 302, 304 and 306. However, in some embodiments, all the segments are implemented in a single module, such as by using one or both of time multiplexing and spatial multiplexing (of different parts of the SLM). A data combiner 308 combines the processing results. An optional synchronizer 309 which may both drive and receive information from combiner 308 and/or data distributor 310, synchronizes the channels. Synchronizer 309 may be implemented as controller 109 in Fig. 1. Fig. 4 is a flowchart 400 of an exemplary method of iteratively processing data. In a step 402, a pilot, optionally low quality, optical transform is applied, for example, using a short exposure time, non-optimal SLM settings or no calibration. At 404, the X most energetic pixels are detected, for example by analyzing a histogram of all the pixels or by analyzing only a statistical sample of the pixels (e.g., to find exemplary energetic pixels). In an exemplary embodiment, X may be a constant or a threshold of energy level may be defined. At 406, these pixels are determined at a high quality, for example using suitable optical settings. Alternatively, in an exemplary embodiment, at least one of the segments is an electronic module. In this embodiment, the electronic module is used to calculate a high quality transform value for a small number of pixels that need high precision results, while allowing a lower precision system setting to be used for the other results. At 408, the rest of the pixels are calculated using one or more transforms that yield an intermediate quality level of determination. Preferably, but not necessarily, however, the optical system settings are optimized for the remaining pixels. It should be noted that in some applications, for example Fourier transforms, the zero order pixel is known to be the most energetic and, in general, it is possible to estimate which pixels are more likely to need a greater bandwidth, so steps 402 may be avoided. In other applications, such as DCT for JPEG compression, some of the coefficients are not important, so they may be ignored or calculated at a lower quality level. At 410, the variously calculated pixels are optionally combined into a single set of results. In another exemplary embodiment, an input image is divided into blocks and for each block a determination is made if a higher quality or low quality transform needs to be applied. Steps 406 and 408 have been couched in terms of quality levels of the transform. However, different transform application methods may be used that yield a same quality for the two (or more) sets of pixels. In one example, removing the X energetic pixels and processing them electronically, allows the rest of the pixels to be calculated to the desired accuracy level with the existing optical hardware. In another example, positive valued pixels are processed optically and negative valued pixels are processed electronically, at a same quality level. Further, in some cases, the original poor quality transform may yield suitable results for at least some of the pixels. Alternatively or additionally, the trade off is between optical segments. In a particular example, different parts of an image may receive different optimal bit plane representations (optimal with respect to a limited bandwidth). Thus, the decomposition of a data set into a plurality of data sets may be into sub-groups of data elements, Alternatively or additionally, to decomposition into bit planes. In some cases, two data sets may relate to different sets of pixels, with only partial or no overlap between the pixels in the two sets. In another example embodiment, different segments are used to generate a non-linear transform. The different segments may be used for different bit planes or for different pixels or they may repeat certain pixels, with the calculation for the certain pixels being performed in more than one segment at a time. Many transforms may be modeled or approximated by a piece-wise linear transform, with a different linear transform governing different parts of the input data range. In an exemplary embodiment of the invention, different segments or different channels of processor 300 are used for different parts of the non-linear transform. The results of the application of the different parts of the transform are added together, for example optically or electronically, to yield an approximation of the desired channel. Optionally, a programmable processor, such as one in which element 108 comprises an SLM, is used, to allow flexible re-division of an available module, for example to dynamically assign precision to those parts of the processing that require it. Following is an analysis of an exemplary application of the bit-plane approach to a non-linear transform approximated by two linear segments, that have a same multiplication factor between input and output, but a different offset, with the offset changing at a point k of the input data range. If k is a power of 2, or a max-Lloyd bit bit-plane value, a simpler application can be achieved, since the higher intensity pixels can be more easily identified. A general formulation of the bit plane transform modeling technique is: θ ∑2 n ι„ = R(Q„(io)-QN-ι(iN-ι)) where Q, R and Q n are operators. For the linear case: / N-I Λ N-1 Q ∑ = ∑Q„(i » )2" V n=0 ) n=0 In the two part non-linear transform: The present application is related to the following four PCT applications filed on same date as the instant application in the IL receiving office, by applicant JTC2000 development (Delaware), inc.: attorney docket 141/01540 which especially describes various optical processor designs, attorney docket 141/01541 which especially describes reflective and incoherent optical processor designs, attorney docket 141/01581 which especially describes a method of optical sign extraction and representation, and attorney docket 141/01582 which especially describes a method of matching of discrete an continuous optical components. The disclosures of all of these applications are incorporated herein by reference. It will be appreciated that the above described methods of signal processing may be varied in many ways, including, changing the order of steps, which steps are performed using electrical components and which steps are performed using optical components, the representation of the data and/or the hardware design. In addition, various distributed and/or centralized hardware configurations may be used to implement the above invention. Where a method is described, also an apparatus programmed or designed to carry out the method is contemplated. Where a device is described, a method of using the device is contemplated. In addition, a multiplicity of various features, both of methods and of devices, have been described. It should be appreciated that different features may be combined in different ways. In particular, not all the features shown above in a particular embodiment are necessary in every similar embodiment of the invention. Further, combinations of the above features are also considered to be within the scope of some embodiments of the invention. In addition, the scope of the invention includes methods of using, constructing, calibrating and/or maintaining the apparatus described herein. When used in the following claims, the terms "comprises", "comprising", "includes", "including" or the like mean "including but not limited to".

Claims: CLAIMS 1. A method of data processing, comprising: providing a data set to be processed by applying a transform thereto; decomposing said data set into a plurality of data sets, wherein at least one data element of said data set is represented by a linear combination of respective elements of at least two of said plurality of data sets; applying at least one secondary optical transform to said plurality of data sets using one or more optical components to manipulate light encoding said data sets; reconstructing the transform of said data set by combining said transformed light from a plurality of data sets. 2. A method according to claim 1, wherein providing a data set comprises providing optically encoded data. 3. A method according to claim 1, wherein providing a data set comprises providing electronically encoded data. 4. A method according to any of claims 1-3, wherein said at least one secondary transform comprises a same transform to all the data sets. 5. A method according to claim 4, wherein said at least one secondary transform comprises a continuous version of said transform to be performed. 6. A method according to any of claims 1-3, wherein said at least one secondary transform comprises a different transform for different ones of the data sets. 7. A method according to any of claims 1-6, wherein said encoding light is generated using an SLM. 8. A method according to claim 7, wherein said SLM is driven as a binary SLM. 9. A method according to any of claims 1-8, wherein said decomposition is a radix two decomposition. 10. A method according to any of claims 1-8, wherein said decomposition is a Lloyd-Max optimal decomposition. 11. A method according to any of claims 1-10, wherein said plurality of data sets are encoded using a phase encoding. 12. A method according to any of claims 1-10, wherein said plurality of data sets are encoded using an amplitude encoding. 13. A method according to any of claims 1-10, wherein said plurality of data sets are encoded using a phase and amplitude encoding. 14. A method according to any of claims 1-13, wherein at least two data sets are processed in parallel using a same optical element. 15. A method according to any of claims 1-13, wherein at least two data sets are processed in parallel using different optical elements. 16. A method according to any of claims 1-13, wherein at least two data sets are processed in series using a same optical element. 17. A method according to any of claims 1-16, wherein said combining is optical. 18. A method according to any of claims 1-16, wherein said combining is electrical. 19. A method according to any of claims 1-18, wherein said reconstructing comprises coπecting said detected light using at least one calibration parameter. 20. A method according to claim 19, wherein said calibration parameter comprises a matrix of different values for different transform elements. 21. A method according to claim 19 or claim 20, comprising predetermining at least part of said calibration parameter for said transform. 22. A method according to any of claims 19-21, wherein said calibration parameter corrects for an imperfection in representing a zero amplitude. 23. A method according to any of claims 1-22, wherein said transform comprises a DCT transform. 24. A method according to any of claims 1-22, wherein said transform comprises a discrete transform. 25. A method according to any of claims 1-22, wherein said transform comprises a continuous transform. 26. A method according to any of claims 1-22, wherein said transform comprises a block transform. 27. A method according to any of claims 1-22, wherein said transform comprises a Fourier transform. 28. A method according to any of claims 1-22, wherein said transform comprises a linear transform. 29. A method according to any of claims 1-22, wherein said transform comprises a non- linear transform. 30. A method according to claim 29, wherein said non-linear transform is approximated by a plurality of linear transforms. 31. A method according to any of claims 1-30, comprising detecting said secondary transformed light using an array detector. 32. A method according to any of claims 1-30, comprising detecting said transformed light using an aπay detector after further processing of said transformed light. 33. A method according to any of claims 1-32, comprising dynamically selecting detection parameters for said detection, responsive to at least one of said data set and said linear transform. 34. A method according to claim 33, wherein dynamically selecting detection parameters comprises selecting sampling intervals responsive to a system noise level. 35. A method according to claim 33, wherein dynamically selecting detection parameters for at least a first portion of said detector comprises selecting detection parameters responsive to a selection of at least one high accuracy pixel not to be calculated using said at least a first portion of said detector. 36. A method of performing a transform, comprising: generating a spatially modulated beam of light, wherein spatial modulations said spatial modulations represent data element values; transforming said beam of light to effect a linear transform of said data element values; detecting an amplitude related indication of said transformed values; and applying at least one correction value to said linear transformed values, to reconstruct a representation of said transformed values. 37. A method according to claim 36, wherein said spatial modulations comprise spatial phase modulations. 38. A method according to claim 36, wherein said spatial modulations comprise spatial amplitude modulations. 39. A method according to claim 36, wherein said spatial modulations comprise both spatial phase and spatial amplitude modulations. 40. A method according to claim 39, wherein applying comprises further applying a second correction value, after taking a square root of a result of said first coπection. 41. A method of performing a non-linear transform, comprising : approximating said non-linear transform by a combination of a plurality of linear transforms; optically applying said plurality of linear transforms to a data set; and combining the results of said linear transforms to yield an approximation of said non- linear transform. 42. A method according to claim 41, wherein said combining comprises optically combining. 43. A method according to claim 41, wherein said combining comprises electronically combining. 44. A method according to any of claims 41-43, wherein said applying comprises assigning different channels of an optical processor to different ones of said linear transforms. 45. A method according to claim 44, comprising dynamically setting at least one of (a) said assignment and (b) parameters for said applying, responsive to at least one of said non-linear transform and said data set. 46. A method of performing optical processing, comprising: providing a processor having a plurality of at least partially independent processing segments, at least one of which is an optical processing segment; setting up different processor parameters for different segments; and applying a transform by combining the results of optical processing from said plurality of segments. 47. A method of performing optical processing, comprising: providing a processor having a plurality of at least partially independent processing segments, at least one of which is an optical processing segment; transforming at least a part of a data set using a first one of said plurality of segments; setting up processor parameters for at least one of said plurality of segments responsive to said transforming; and applying a transform to said data set using at least said at least one of said segments.. 48. A method according to claim 46 or claim 47, wherein said plurality of segments comprises a plurality of optical processing modules. 49. A method according to any of claims 46-48, wherein at least some of said plurality of segments are comprised in a plurality of parts of a single optical processing module. 50. A method according to any of claims 46-49, wherein said plurality of segments comprise a plurality of temporally separated uses of at least one single optical processing module. 51. A method according to any of claims 46-50, wherein at least one of said segments comprises an electronic segment.

Inventors: MENDLOVIC DAVID, SARIEL AVIRAM, SHABTAY GAL, ZALEVSKY ZEEV, MENDLOVIC, DAVID, SARIEL, AVIRAM, SHABTAY, GAL, ZALEVSKY, ZEEV
Applicants: JTC 2000 DEV DELAWARE INC, MENDLOVIC DAVID, SARIEL AVIRAM, SHABTAY GAL, ZALEVSKY ZEEV, JTC 2000 DEVELOPMENT (DELAWARE), INC., MENDLOVIC, DAVID, SARIEL, AVIRAM, SHABTAY, GAL, ZALEVSKY, ZEEV
Application year: 2000
Main classification: G06E3
IPC codes: G06E1, G06E3