以电子作为载体的计算机存在速度极限,且并行处理能力不足,国内外研究者普遍认为,光计算是突破上述瓶颈的有效途径。利用阿贝成像和口调制原理设计的8f系统,可以实现光的二进制和三进制逻辑计算,本实验同样采用8f系统,如图1所示,相邻透镜的前后焦点重合。
在输入面A和输入面B上分别放人由取向不同的光栅组成的光栅阵列,利用光栅的不同取向编码不同的数值作为输入,并且2组光栅阵列的空间频率不同(fA>fB)。根据卷积定理,滤波面2上的图像是前后2个光栅阵列频率图像的卷积,并呈现高度的几何对称性。如果在滤波面1和滤波面2上采用合适的方式进行滤波,则可以调控像屏上的图像输出,使不同的区域呈现出不同的颜色或灰度,用以表示不同的运算结果,这就实现了任意进制的逻辑计算。进而,这一方案还可以应用在光学加密上,用于加密彩色图像和灰度图像,本文利用电寻址液晶光阀系统,绘制光栅作为输入面A和输入面B,综合实验和计算机模拟的手段,研究证实了这一方案的可行性。
一、任意进制逻辑运算
1、基本思想
下面以四进制为例介绍光逻辑运算的方法,在输入面A上放置4种不同取向的光栅,用不同取向分别编码0,1,2,3四个数值,编码相邻数值的光栅取向相差π/4,如图2(a)所示。对于N进制的计算,则用来编码相邻数值的光栅取向相差π/N。
根据阿贝成像原理,滤波面1上呈现的图像将是输入面A上图像的傅里叶变换,应用Mathematica内嵌的函数Fourier[]以及InverseFourier[]对这一成像过程进行了模拟,得到的滤波面1上的图像如图3(a)所示,它是输入面A的频谱。观察该频谱,发现不同取向光栅对应的衍射点在空间位置上发生了分离,并且同级衍射点分布在同一圆上,对于N进制,圆上将有2N个点。此时在输入面B上同样放置4种不同取向的光栅,采用与输入面A相同的编码方式(N进制时类似),但是其空间频率要比输入面A上光栅空间频率小,如图2(b)所示。
则输入面B经过傅里叶变换后的频谱图像将如图3(b)所示。
根据傅里叶变换关系嘲,滤波面2上出现的图像将是A和B两个输入面图像傅里叶频谱的卷积,由卷积定理:
可知,滤波面2上的图像将是输入面B的频谱图像[图3(b)]在输入面A频谱图像[图3(a)]上的叠加,即在原来滤波面1的衍射点周围又分散出1圈衍射点,其半径小于滤波面1的大圆,如图3(c)所示,呈现“大圆套小圆”的形态。小圆上的各个衍射点代表了前后2次输入的不同运算组合,共有16种,如图4所示,其中标注“0+1"的衍射点代表输入面A输人数值为0,且输入面B输人数值为1的运算情况,其他各点以此类推。
如果在滤波面2上采用不同透光度的滤波片,调节小圆上不同衍射点所能透过的光强,使像屏上相应的区域呈现不同的亮度,以此来编码不同的输出数值,则可以实现任意进制逻辑计算。
2、实验实现
进行逻辑计算时,比如要计算2个矩阵A和B的各个矩阵元经过某种逻辑计算(实验中采用的是半加运算)后得到的矩阵,应该按照如下过程进行:
1)在输入面A和输入面B上分别根据矩阵A和矩阵B放置光栅阵列,不同取向的光栅对应矩阵元的不同取值,实验中要计算的矩阵为:
因而绘制的光栅如图2(a)和(b)所示。
2)按照逻辑运算方式进行滤波.在滤波面1上放过所有的1级衍射点,则在滤波面2上将出现“大圆套小圆”的模型。如前所述,小圆上的各个衍射点代表了输入面A和输入面B的光栅取向的不同组合,也就对应了前后2个矩阵不同取值的组合,如图4所示,对于滤波面2上不同的衍射点,根据逻辑计算的结果调节成相应的透光度,比如计算结果为0的所有点透光度被调节为级别0,计算结果为1,2,3的衍射点透光度被分别调节为级别1,2,3,而实验中采用的是四进制半加运算,对应相同运算组合的点正好有4个,如图5(a)标出的4个点都对应运算“0+0",于是其滤波方式就可以变得相对简单。将4个点全部遮住表示0,放过1个点表示1,放过3个点表示2,4个点全放过表示3,这样像屏上相应的区域同样会呈现不同程度的灰度。这是对于四进制所能采同透光度的滤波片调节小圆上不同亮点所能透过的光强。
3)观察像屏得到运算结果.按照如上所述方式进行滤波后,像屏上不同区域将呈现出4种不同的亮度级别,分别对应相应的运算结果。实验中计算的是矩阵A和B的半加运算,理论上结果应当为:
实验得到的像屏上的输出如图5(b)所示,与理论是相符合的。
为了更清楚地显示输出结果,绘制图5(b)中沿虚线A和虚线B所对应区域的亮度分布曲线如图5(c)和(d)所示,可以看出,虚线A上亮度由左到右依次递减,代表3,2,1,0,虚线B上由左到右为2,1,0,3,它们与理论预测都是相符的。
如果要计算另外2个矩阵的四进制半加运算结果,则可以根据新的矩阵A和矩阵B重现排布输入面A和输入面B上的光栅阵列,滤波方式不变,像屏上将输出新的运算结果。
如果将光源换成白光光源,则由于不同颜色光的波长不同,滤波面上的图像将发生色散,对于小圆上不同的点,放过不同颜色的光,则同样可以进行四进制逻辑计算,输出结果将不再用灰度表示,而是用不同的颜色来编码不同的数值输出,这将使实验结果更直观。实验中也观察到了有色散的滤波面2,如图6 (a)所示,但是由于白光光源条件的强度有限,滤波后最终像屏上的图像已经无法拍摄下来。因而改用Mathematlca模拟了这一过程,结果如图6(b)和(c)所示。输入面A和B上的光栅仍然采用图2(a)和(b)中的光栅图像,可以看到,像屏上运算结果不同的区域呈现出不同的颜色,表示了不同的运算结果。
3、关于光栅空间频率比的讨论
在上述“大圆套小圆”的模型中,大圆半径正比于输入A的光栅空间频率,小圆半径正比于输入B的光栅空间频率,如果搭配不合适,相邻2个小圆上的亮点会相互影响,甚至重叠,从而无法区分。为此,前后2次输入的光栅频率比必须满足一定的关系,在这里给出粗略的计算。
如图7,当小圆上恰好有点(A点)重叠时,
其中N表示N进制,当N1时,,即在N比较大时,这一函数有着8类似于线性的关系,不会产生像ex那样的指数爆炸,也就是说,该方案对于高进制同样是有效的。
对于四进制运算,最小频率比,采用光栅频率比fA:fB=3:1所拍到的滤波面2如图8(a)所示,由于接近最小频率比,小圆上的点已经开始重合,实际实验中采用fA=fB=4{1的光栅空间频率比,滤波面2如图5(a),相邻小圆上的点不会重合。
在进行二进制和三进制逻辑计算时,输入面A和输入面B采用的是空间频率相同的光栅,对于四进制逻辑计算,如果沿用这一方法,则滤波面2上的图像将如图8(b)所示,注意图中点A,B,C,D都是几个衍射点的重合,例如A点就是“1+3"和“3+1"的重合点,这就意味着这些点对应的不是一种运算结果,而是多种,于是就无法完成对其中某一种运算的空间滤波,进而也就无法实现四进制逻辑运算。因此在输入面A和B上采用空间频率不同的光栅作为输入是实现任意进制逻辑运算的基础,也是区别于以前二进制和三进制进制逻辑计算的不同之处。
三、任意进制光学加密
理论上这套光学系统不仅可以应用于二进制即单色图像的加密,还可以加密彩色图像和灰度图像。
光学加密的过程如下:
a、选定一种逻辑计算方式作为加密算法,然后随机制作解码板,也就是密钥。
b、根据要加密图像和解码板,按之前选定的逻辑运算方式计算出密码板的形式,制作密码板。
c、解密时,将密码板放入上述光学系统的输入面A,在滤波面1上放过所有一级衍射点,然后在输入面B上放人正确的解码板,并在滤波面2上采用正确的逻辑计算方式进行滤波,则在像屏
上能够重现出被加密的图像,解码成功,如果滤波方式错误或者在输入面B上放人错误的解码板,则像屏上不能重现被加密的图像。
1、二进制单色图像加密
首先进行的是二进制的光学加密,也就是单色图像的加密。由(2)式可知,输入面A与输入面B光栅空间频率比的极限值是cot f(π/2×2)=1,实验中在输入面A和B上使用了相同空间频率的光栅。
1)选定逻辑计算方式(实验中采用异或运算)制作解码板,解码板大小与要加密图像相同。首先将解码板划分成6×8=48个小方块,再随机产生6×8的矩阵B,矩阵元的取值为O或1。然后在矩阵元为O的小方块上放置水平光栅,矩阵元为1的小方块上放置竖直光栅,解码板即制作完毕,实验中的光栅都是利用电寻址液晶光阀绘制的,如图9(e)所示。
2)加密图像,要加密的图像如图9(c)所示,同样可以用6×8的矩阵来表示。w将图像上白色区域的矩阵元取值设为1,黑色区域的矩阵元取值设为O,于是得到加密图像所对应的矩阵J,根据事先选定的异或运算关系式AijxorBij=Iij,可以唯一确定出密码板所对应的矩阵A(也是6×8的矩阵),进而制作出密码板,如图9(d)所示。
3)解密过程,在输入面A上放置密码板,滤波面1采用如图9(a)的滤波方式,即放过所有一级衍射点,输入面B上放人正确的解码板,滤波面2采用异或运算对应的滤波方式,即保证前后2次输入相同时输出为1,前后2次输入不同时输出为O,因此放过O +0和1+1的点,遮住0+1和i+o的点,如图9(b)所示。于是,像屏上的输出图像重现了被加密的原图,如图9(f)所示,解码成功。如果在输入面B上放入的是错误解码板,如图9(g)所示,像屏上得到的图像如图9(h)所示,没有重现原图,解码失败。
2、灰度图像和彩色图像加密
二进制光学加密的输出只有0和1两种,因而只能加密单色图,图像没有颜色和灰度的区分,如果采用多进制逻辑运算,由于输出存在多种不同的取值方式,则可以加密彩色图像和灰度图像。
以四进制逻辑运算作为基础,采用Mathematica模拟了灰度图像的加密,过程如下:
1)首先选定一种逻辑计算方式i模拟中采用四进制半加运算,然后随机制作解码板作为密钥,将整个图像分为8×8个区域,随机产生8×8的矩阵B,矩阵元可以取O,1,2,3四种取值。根据矩阵元的不同取值在相应的区域放置不同取向的光栅,制成的解码板如图lO(d)所示。
2)加密图像,要加密的图像如图lO(a)所示,同样用8×8的矩阵I表示,根据图像上相应区域的灰度确定矩阵元的取值,亮度从大到小的区域矩阵元取值分别取为3,2,1,0。根据事先选定的加密算法(四进制半加计算)和解码矩阵B,可以计算得到密码板所对应矩阵A,A是8×8的矩阵,根据A矩阵元的取值放置不同取向的光栅,制成密码板,实验中密码板的形式如图10(b)所示。
3)解密过程,在输入面A和B上放置密码板和正确的解码板,采用四进制半加运算对应的滤波方式后,像屏上的输出如图10(d)所示,图像重现了被加密的原图,解码成功;当在输入面B上放人如图io (e)的错误解码板,像屏上输出图像如图10(f),没有重现原图,解码失败。
彩色图像加密的思想与灰度图像加密时类似。
采用多进制逻辑运算可以加密灰度图像和彩色图像,由此给出了真正意义上完整的光学加密方案。
小知识之光栅
光栅是结合数码科技与传统印刷的技术,能在特制的胶片上显现不同的特殊效果。在平面上展示栩栩如生的立体世界,电影般的流畅动画片段,匪夷所思的幻变效果。光栅是一张由条状透镜组成的薄片,当我们从镜头的一边看过去,将看到在薄片另一面上的一条很细的线条上的图像,而这条线的位置则由观察角度来决定。如果我们将这数幅在不同线条上的图像,对应于每个透镜的宽度,分别按顺序分行排列印刷在光栅薄片的背面上,当我们从不同角度通过透镜观察,将看到不同的图像。