基于塊的計算全息圖二值化算法
為了提高計算全息圖傳統(tǒng)二值化方法的計算速度,本文提出了一種基于塊的計算全息圖二值化方法。從數(shù)值重現(xiàn)和光電重現(xiàn)兩個方面驗證了這種二值化方法的可行性,并與羅曼Ⅲ型編碼重現(xiàn)結(jié)果進(jìn)行比較,比較結(jié)果表明對相同尺寸原圖計算其二值化全息圖,本算法耗時僅為羅曼III 型編碼的1/36。然后分析兩種方法各自的優(yōu)缺點,從理論上解釋了影響重現(xiàn)圖像質(zhì)量的原因。結(jié)果表明,與羅曼編碼相比,本文中提出的二值化方法具有運算快速、準(zhǔn)確的優(yōu)點。
全息技術(shù)被認(rèn)為是最終的三維顯示技術(shù),因為它記錄了三維物體所有的視差信息,三維視覺效果逼真。但是由于記錄方法和記錄材質(zhì)的限制,傳統(tǒng)光學(xué)全息并不能實現(xiàn)實時、動態(tài)的顯示。上世紀(jì)末隨著計算機技術(shù)、數(shù)字多媒體技術(shù)以及顯示技術(shù)的發(fā)展,計算全息術(shù)與空間光調(diào)制器(Spatial Light Modulator ,SLM)的結(jié)合讓全息視頻成為可能,從而日漸成為研究熱點。
計算全息術(shù)根據(jù)全息的原理,通過編碼方法將物體的衍射光波記錄在一個二維的矩陣中。根據(jù)物光波衍射距離的長短和編碼方法的不同,計算全息圖有不同分類。由于物光波只是一個數(shù)學(xué)上的存在,這個三維物體可以是真實的也可以是虛擬的,因此計算全息術(shù)具有獨特的優(yōu)點和極大的靈活性。但是全息圖巨大的計算容量和空間光調(diào)制器分辨率的不足限基金項目:國家高技術(shù)研究發(fā)展計劃(863 計劃)資助項目(2007AA01Z303);高等學(xué)校學(xué)科創(chuàng)新引智計劃基金資助項目(B07027)限制了計算全息技術(shù)的發(fā)展。目前,針對實時動態(tài)全息顯示,一些快速算法被提出。例如麻省理工學(xué)院空間成像小組的M. Lucente, 提出的特殊衍射算法(diffraction specific),省略了傳統(tǒng)全息圖計算方法中首先對物光波衍射的計算,運用逆向思維,提出了基本條紋的新概念,大大提高了計算速度。日本千葉大學(xué)為了提高運算速度,開發(fā)了專用集成電路,讓實時全息距離現(xiàn)實更進(jìn)了一步。一般情況下計算全息圖可以用三種方式重現(xiàn):光學(xué)重現(xiàn),數(shù)值重現(xiàn)以及光電重現(xiàn)。數(shù)值重現(xiàn)和光電重現(xiàn)是本文中實驗的主要方法和手段。光電重現(xiàn)結(jié)合了現(xiàn)代顯示技術(shù)和計算機技術(shù),將計算得到的二維矩陣轉(zhuǎn)換為電壓信號,施加在空間光調(diào)制器上,達(dá)到對參考光進(jìn)行調(diào)制的目的, LCOS 由于其越來越小的像素尺寸和高衍射效率而成為光電重現(xiàn)中光調(diào)制器的首選。
LCOS 顯示器件通過對入射光偏正方向的調(diào)制來達(dá)到調(diào)制入射光強度的目的,在調(diào)制過程中相位并不是一個常數(shù),它隨著輸出灰度級的變化而變化。這就給光電重現(xiàn)帶來制約因素,因為全息圖通常僅僅對入射光振幅或相位進(jìn)行調(diào)制。目前為了解決液晶空間光調(diào)制器的相位問題,一般都是將計算得到的全息圖二值化,即處理成灰度等級只有0 和255 的圖片。這樣得到的全息圖因為只有簡單的兩個灰度,因此不存在灰度不同引起的相位差,提高了全息圖的抗干擾能力。
為了實現(xiàn)全息圖的二值化,早在1965年羅曼就相繼提出了羅曼Ⅰ,Ⅱ,Ⅲ型編碼,這種編碼方式得到的全息圖本身就是二值化的。羅曼編碼用待記錄的物光波調(diào)制全息圖中光柵的形狀和位置而不是全息圖的灰度分布,因此它對像素總數(shù)的要求很高,一般空間光調(diào)制器1024*768的像素數(shù)很難滿足。還有其他的一些編碼,例如Burch編碼中待記錄的物光波調(diào)制的是全息圖的灰度分布,直接計算得到的是灰度全息圖,為了能對這樣的全息圖進(jìn)行光電重現(xiàn),必須采用專用的二值化方法。目前將灰度全息圖二值化的方法眾多,主要分成兩種:一種是非迭代算法,例如Floyd and Steinberg首先提出而后被Hauck and Bryngdah用于計算全息的誤差擴散算法(error diffusion),每個像素的灰度值二值后產(chǎn)生的誤差需要逐個計算,對計算機的計算速度要求很高。另一種是迭代算法,根據(jù)迭代中約束條件的不同,又有很多分類,例如逐步迭代法(interative stepwise)和直接二值搜索法(directbinary search)以及梯度隨機二值法[16](gradual and random binariation )。逐步迭代法選擇兩個不同的閾值,每迭代一次按照一定的步長改變閾值,當(dāng)兩個閾值正好相等時,退出迭代。直接二值搜索法則在每次迭代中只有一個閾值。梯度隨機二值法每次迭代的過程中被二值化的像素是隨機的,而且經(jīng)過二值處理的像素數(shù)目是梯度增加的。迭代法能夠最大限度限制重現(xiàn)圖信息丟失,但是不利于實時顯示。為了降低二值化過程的運算量,本文提出一種非迭代的二值化算法。
本文由三部分組成。第一部分介紹羅曼編碼的原理,提出本文的二值化算法。第二部分給出經(jīng)這種算法二值化后得到的全息圖的數(shù)字重現(xiàn)結(jié)果以及與羅曼編碼數(shù)值重現(xiàn)結(jié)果的比較。第三部分給出經(jīng)這種算法二值化后得到的全息圖的光電重現(xiàn)結(jié)果與羅曼Ⅲ型編碼光電重現(xiàn)結(jié)果的比較。最后是本文的結(jié)論。
1、二值化方法的提出
1.1、羅曼Ⅲ型編碼的二值化原理
羅曼根據(jù)不規(guī)則光柵的衍射效應(yīng),提出了迂回位相編碼技術(shù),根據(jù)通光孔的形狀不同產(chǎn)生了3 種羅曼型編碼,即羅曼Ⅰ,Ⅱ,Ⅲ編碼。羅曼Ⅲ編碼相比與其它兩種羅曼型編碼具有精度高的優(yōu)點,因此本文中選用羅曼Ⅲ型編碼。圖1是羅曼Ⅲ型編碼的示意圖。虛擬全息底片可以視作正方形小單元的組合,每個正方形單元中有一個矩形通光孔,通光孔的寬度一定,一般選擇為L/2。通光孔高度Amn 由待記錄衍射光波Xm,Yn 處的幅值調(diào)制,最大為L。因此L 的大小決定可被調(diào)制振幅的級數(shù)。通光孔的中心到正方形單元中心的偏移量Pmn 由待記錄衍射物光波Xm,Yn 處的相位所調(diào)制,L 大小也決定可被調(diào)制相位的級數(shù)。L越大,振幅和相位可被調(diào)制的級數(shù)越多,得到的全息圖越精確。在計算中,L 一般取2的整數(shù)次方。計算出所有通光孔的位置和大小,進(jìn)而得到全息圖。這種編碼方式下得到的全息圖采樣點數(shù)是物的采樣點數(shù)的L*L 倍。羅曼編碼的優(yōu)點在于能直接得到二值化的全息圖,缺點在于計算量巨大,不能實現(xiàn)實時顯。
1.2、基于塊的二值化方法
根據(jù)羅曼編碼的編碼原理,計算得到的全息圖的像素數(shù)大小將會是物的像素數(shù)大小的數(shù)倍,要得到計算精確的全息圖對計算機計算容量和計算速度的要求很高,加上空間光調(diào)制器像素數(shù)目的限制,羅曼編碼在現(xiàn)階段并不適合于三維實時顯示。Burch 編碼雖然計算得到的是灰度全息圖,但是全息圖的像素數(shù)目并未增加,因此耗時相對于羅曼編碼大大減少 。因此,先通過Burch 編碼計算灰度全息圖,再用專門的二值化算法進(jìn)行二值化的方法是可行的。