基于块的计算全息图二值化算法
为了提高计算全息图传统二值化方法的计算速度,本文提出了一种基于块的计算全息图二值化方法。从数值重现和光电重现两个方面验证了这种二值化方法的可行性,并与罗曼Ⅲ型编码重现结果进行比较,比较结果表明对相同尺寸原图计算其二值化全息图,本算法耗时仅为罗曼III 型编码的1/36。然后分析两种方法各自的优缺点,从理论上解释了影响重现图像质量的原因。结果表明,与罗曼编码相比,本文中提出的二值化方法具有运算快速、准确的优点。
全息技术被认为是最终的三维显示技术,因为它记录了三维物体所有的视差信息,三维视觉效果逼真。但是由于记录方法和记录材质的限制,传统光学全息并不能实现实时、动态的显示。上世纪末随着计算机技术、数字多媒体技术以及显示技术的发展,计算全息术与空间光调制器(Spatial Light Modulator ,SLM)的结合让全息视频成为可能,从而日渐成为研究热点。
计算全息术根据全息的原理,通过编码方法将物体的衍射光波记录在一个二维的矩阵中。根据物光波衍射距离的长短和编码方法的不同,计算全息图有不同分类。由于物光波只是一个数学上的存在,这个三维物体可以是真实的也可以是虚拟的,因此计算全息术具有独特的优点和极大的灵活性。但是全息图巨大的计算容量和空间光调制器分辨率的不足限基金项目:国家高技术研究发展计划(863 计划)资助项目(2007AA01Z303);高等学校学科创新引智计划基金资助项目(B07027)限制了计算全息技术的发展。目前,针对实时动态全息显示,一些快速算法被提出。例如麻省理工学院空间成像小组的M. Lucente, 提出的特殊衍射算法(diffraction specific),省略了传统全息图计算方法中首先对物光波衍射的计算,运用逆向思维,提出了基本条纹的新概念,大大提高了计算速度。日本千叶大学为了提高运算速度,开发了专用集成电路,让实时全息距离现实更进了一步。一般情况下计算全息图可以用三种方式重现:光学重现,数值重现以及光电重现。数值重现和光电重现是本文中实验的主要方法和手段。光电重现结合了现代显示技术和计算机技术,将计算得到的二维矩阵转换为电压信号,施加在空间光调制器上,达到对参考光进行调制的目的, LCOS 由于其越来越小的像素尺寸和高衍射效率而成为光电重现中光调制器的首选。
LCOS 显示器件通过对入射光偏正方向的调制来达到调制入射光强度的目的,在调制过程中相位并不是一个常数,它随着输出灰度级的变化而变化。这就给光电重现带来制约因素,因为全息图通常仅仅对入射光振幅或相位进行调制。目前为了解决液晶空间光调制器的相位问题,一般都是将计算得到的全息图二值化,即处理成灰度等级只有0 和255 的图片。这样得到的全息图因为只有简单的两个灰度,因此不存在灰度不同引起的相位差,提高了全息图的抗干扰能力。
为了实现全息图的二值化,早在1965年罗曼就相继提出了罗曼Ⅰ,Ⅱ,Ⅲ型编码,这种编码方式得到的全息图本身就是二值化的。罗曼编码用待记录的物光波调制全息图中光栅的形状和位置而不是全息图的灰度分布,因此它对像素总数的要求很高,一般空间光调制器1024*768的像素数很难满足。还有其他的一些编码,例如Burch编码中待记录的物光波调制的是全息图的灰度分布,直接计算得到的是灰度全息图,为了能对这样的全息图进行光电重现,必须采用专用的二值化方法。目前将灰度全息图二值化的方法众多,主要分成两种:一种是非迭代算法,例如Floyd and Steinberg首先提出而后被Hauck and Bryngdah用于计算全息的误差扩散算法(error diffusion),每个像素的灰度值二值后产生的误差需要逐个计算,对计算机的计算速度要求很高。另一种是迭代算法,根据迭代中约束条件的不同,又有很多分类,例如逐步迭代法(interative stepwise)和直接二值搜索法(directbinary search)以及梯度随机二值法[16](gradual and random binariation )。逐步迭代法选择两个不同的阈值,每迭代一次按照一定的步长改变阈值,当两个阈值正好相等时,退出迭代。直接二值搜索法则在每次迭代中只有一个阈值。梯度随机二值法每次迭代的过程中被二值化的像素是随机的,而且经过二值处理的像素数目是梯度增加的。迭代法能够最大限度限制重现图信息丢失,但是不利于实时显示。为了降低二值化过程的运算量,本文提出一种非迭代的二值化算法。
本文由三部分组成。第一部分介绍罗曼编码的原理,提出本文的二值化算法。第二部分给出经这种算法二值化后得到的全息图的数字重现结果以及与罗曼编码数值重现结果的比较。第三部分给出经这种算法二值化后得到的全息图的光电重现结果与罗曼Ⅲ型编码光电重现结果的比较。最后是本文的结论。
1、二值化方法的提出
1.1、罗曼Ⅲ型编码的二值化原理
罗曼根据不规则光栅的衍射效应,提出了迂回位相编码技术,根据通光孔的形状不同产生了3 种罗曼型编码,即罗曼Ⅰ,Ⅱ,Ⅲ编码。罗曼Ⅲ编码相比与其它两种罗曼型编码具有精度高的优点,因此本文中选用罗曼Ⅲ型编码。图1是罗曼Ⅲ型编码的示意图。虚拟全息底片可以视作正方形小单元的组合,每个正方形单元中有一个矩形通光孔,通光孔的宽度一定,一般选择为L/2。通光孔高度Amn 由待记录衍射光波Xm,Yn 处的幅值调制,最大为L。因此L 的大小决定可被调制振幅的级数。通光孔的中心到正方形单元中心的偏移量Pmn 由待记录衍射物光波Xm,Yn 处的相位所调制,L 大小也决定可被调制相位的级数。L越大,振幅和相位可被调制的级数越多,得到的全息图越精确。在计算中,L 一般取2的整数次方。计算出所有通光孔的位置和大小,进而得到全息图。这种编码方式下得到的全息图采样点数是物的采样点数的L*L 倍。罗曼编码的优点在于能直接得到二值化的全息图,缺点在于计算量巨大,不能实现实时显。
1.2、基于块的二值化方法
根据罗曼编码的编码原理,计算得到的全息图的像素数大小将会是物的像素数大小的数倍,要得到计算精确的全息图对计算机计算容量和计算速度的要求很高,加上空间光调制器像素数目的限制,罗曼编码在现阶段并不适合于三维实时显示。Burch 编码虽然计算得到的是灰度全息图,但是全息图的像素数目并未增加,因此耗时相对于罗曼编码大大减少 。因此,先通过Burch 编码计算灰度全息图,再用专门的二值化算法进行二值化的方法是可行的。