趙德亮,余建華,張翼楊
(深圳大學 電子科學與技術學院,深圳518060)
目前,3D顯示已逐漸融入到人們的生活當中,因其能再現真實的三維場景,受到了人們的青睞,紅藍3D圖像獲取的基本原理如圖1所示。攝像頭采集同一場景的兩路視頻圖像信號,對其中一路信號只提取圖像信號的紅色分量;另一路提取圖像信號的藍、綠色合成的青色分量。將兩路信號采用同步色差合成算法合成紅藍3D視頻圖像。

圖1 紅藍3D圖像獲取基本原理
目前國內3D電視產業面臨的主要問題在于:①3D電視芯片的缺少而導致3D片源的短缺;②視頻處理的復雜度較高;③顯示與觀看效果不佳。為此本文對傳統的視頻處理過程中色度分量的提取、亮度的增強、紅藍3D眼鏡的設計等方面進行了改進,并采用LCOS作為微顯示器件,投影出紅藍3D視頻圖像。
傳統的方法只采用紅加藍、紅加綠色度分量合成3D視頻,這樣會使畫面的損傷較大,丟失33%以上的顏色分量,觀看起來顏色失真較大,亮度也大大降低,增加了眼睛的負擔,易產生疲勞。針對顏色失真問題,本文采用紅加青的方法以減少色度的丟失,這樣可使畫面色度飽和度還原到原始畫面的90%以上。
針對亮度降低提出了基于亮度的圖像增強方法。傳統的基于Retinex理論的演變法存在一定的不足,如將RGB空間轉換到HSI空間需要大量的三角函數運算,并采用傅里葉變換處理Retinex理論部分的高斯函數,大大影響了處理速度。本文提出了基于YCbCr顏色空間的亮度分量處理法,同時采用無限脈沖響應數字濾波器(IIR)實現高斯函數運算。實驗證明,該算法不但能增強圖像的質量,而且還能有效避免Retinex算法中帶來的光環效應,同時大大加快算法處理速度。基于亮度Y分量的Retinex處理過程可表示為:

式中,Y(x,y)為亮度分量函數,F(x,y)被稱為環境函數,一般用高斯函數表達式為:

式中,σ為高斯函數的標準偏差,k表示環境函數的個數。環境函數Fk用于選取不同的標準偏差σk;Wk用來控制環境函數范圍的尺度,它表示與Fk相關的權重系數。
Retinex處理算法的主要步驟就是高斯濾波,其運算速度直接決定了算法運行效率。為避免傅里葉變換的復雜運算和不足,對高斯濾波器進行了IIR實現,把高斯濾波器分解為正向濾波器和反向濾波器的組合,如下面的差分方程。
正向濾波器:

反向濾波器:

式中,C、d′i是濾波器系數,I[n]是輸入數據,w1[n]和w2[n]分別是正向和反向濾波器的中間狀態,O1[n]、O2[n]為其處理結果。正向和反向濾波器就構成了高斯濾波器的IIR實現過程。可以利用高斯函數的可分離性:

對圖像先逐行后逐列進行處理,最終就可以實現二維高斯數字濾波。圖2展示了原圖,以及采用傳統Retinex算法、基于Y分量Retinex算法處理后的對比圖。可以看出,傳統算法可以增強圖像亮度,但灰度化也很明顯;而本文采用的方法不僅可以增強亮度,還可以保持原有圖像的整體鮮艷效果。

圖2 基于Y分量Retinex算法與傳統Retinex算法的對比效果圖
另外,傳統的3D眼鏡僅采用紅色或藍色塑料或玻璃鏡片作為濾光片,濾光效果大打折扣,觀眾佩戴觀看影片時,會出現不同程度的重影現象,影響觀看效果。為此本文采用反射率和透過率都達到90%以上的反青透紅和反紅透青的濾光片作為3D眼鏡的鏡片,這樣可以使紅色鏡片僅通過紅色畫面、青色鏡片通過藍、綠色畫面,消除了重影現象,使觀看效果更加鮮活、逼真。圖3為濾光片及制作的紅藍3D眼鏡。

圖3 加濾光片的紅藍3D眼鏡
整個視頻處理系統結構如圖4所示。兩路攝像頭將采集到的信號送入TW2867進行A/D轉換,輸出的復用信號送入解復用(demux)模塊,分離出的兩路復合視頻數據分別送入BT656數據解碼模塊、幀緩存控制模塊、像素分辨率縮放模塊、YCbCr 4:2:2轉 YCbCr 4:4:4數據模塊、YCbCr亮度增強模塊、YCbCr 4:4:4轉 RGB數據模塊,最后將RGB數據送入LCOS時序控制模塊。以鎂光公司的CS-FLCOS作為微顯示器件,搭建光機系統,顯示出3D視頻畫面。分別要對TW2867和LCOS進行I2C總線配置和SPI總線配置,以配置其內部的相關寄存器參數。
(1)TW2867解碼
采用帶有LED夜視功能的Sony CCD感光芯片攝像頭,視頻輸出分辨率為720×576,為標準的PAL制式視頻格式。選用Techwell公司的TW2867 A/D轉換芯片,能自動識別PAL/NTSC/SECAM格式的2路復合視頻信號。通過I2C總線的配置,TW2867將兩路攝像頭信號轉換為符合BT656標準的8位YCbCr數字信號。TW2867每一路都含有10位ADC轉換器、高質量的鉗位和增益控制器以及梳狀濾波器,以濾除信號中的噪聲;同時采用了一些圖像增強技術,以獲得高質量的YCbCr數字信號。
(2)BT656數據解碼模塊
國際電信聯盟無線電通信組(ITU-CCIR)發布了ITU-BT656的視頻標準,其行數據結構如圖5所示。該模塊首先需要檢測數據流中是否按序出現了FF、00、00的幀頭SAV或幀尾EAV信息。如果出現則對后8位的XY值進行判斷,判斷是否出現SAV、EAV信號,將有效視頻信號的亮度分量(Y)作為高8位,色度分量(Cb或Cr)作為低8位合成16位的YCbCr數據,將BT656數據奇偶場的數據合并為一幀寫入幀緩存中。

圖4 3D顯示系統框圖

圖5 BT656行數據結構
(3)像素分辨率縮放模塊
幀緩存中裝載的是兩場視頻數據,在讀取的時候采用FIFO緩存并采用雙線性插值算法,將原來720×576的像素分辨率放大到852×480。雙線性插值算法將在水平和垂直兩個方向分別進行一次線性插值。其定量計算方法如下:空間坐標系下4個點為 A(x,y+1)、B(x,y)、C(x+1,y)、D(x+1,y+1),如圖6所示,其灰度值依次為 Ga、Gb、Gc、Gd,dx和dy分別表示目標點與點B在水平和垂直兩個方向上的增量。

圖6 雙線性插值法示意圖
其灰度值Gt可以由其余四點量化表示:

從電路實現方面而言,式(8)共需要8個乘法器、2個減法器和4個加法器,將會占用較多的邏輯資源。將公式變形為:

式(9)是一種簡化了電路的表示方法,僅需要4個乘法器、4個減法器和3個加法器。計算結果會有5個時鐘周期的延時,當像素時鐘為27 MHz時,計算的時鐘為一幀的數據轉換為852×480×(1/27 MHz)=15 ms,即可以實現實時的分辨率調整。
(4)YCbCr 4:2:2轉YCbCr 4:4:4數據模塊
將 YCbCr 4:4:4數據轉換到 YCbCr 4:2:2是數字視頻中的一個選通功能。而將YCbCr 4:2:2數據轉換到YCr Cb 4∶4∶4是重采樣的過程,采樣的數據格式轉換如圖7所示。

圖7 YCbCr 4∶2∶2轉YCbCr 4∶4∶4操作示意圖
可知,輸入16位YCbCr轉換成了相應各8位Y、Cb、Cr信號,且輸出像素采樣率比輸入采樣率快了一倍,由此可見YCbCr 4∶2∶2的數據格式壓縮了將近一半的數據帶寬。
(5)YCbCr4∶4∶4轉RGB模塊
將YCbCr數據轉換為RGB數據可由圖8所示的數據關系得到。
由于FPGA進行浮點運算較為復雜,且占用的時鐘周期較長(比如16位的浮點加法電路,一般多達十幾到二三十個時鐘周期),并不適合于實時視頻數據處理,所以先通過對上式左右兩端放大128倍化為整數運算,計算后再對結果除以128(右移7位),即可獲得正確的結果。

圖8 YCbCr 4∶4∶4轉RGB數據關系圖
(6)LCOS時序控制模塊
LCOS時序發生器主要用于產生微顯示器件所需的時序,包括提供像素時鐘(clk)、行同步信號(hsync)、場同步信號(vsync)、有效信號(valid),并輸出當前行、列像素坐標值,從幀緩沖區發出數據請求信號并讀出紅、綠、藍的視頻數據。LCOS的時序仿真圖如圖9所示。

圖9 Modelsim中LCOS時序仿真圖
FPGA選用的是Altera公司的Cyclone IV系列的EP4CE30F23C6N。FPGA和DDR2之間的時鐘頻率可以達到200 MHz,DDR2內部時鐘頻率達到400 MHz,充分滿足了兩路視頻處理的要求。
通過對視頻處理過程中模塊的編寫,編譯后其消耗的的邏輯單元數為13 615個,僅占總邏輯單元數的47%,使視頻處理過程更加簡便高效。視頻處理過程略——編者注。
將以上各模塊搭建、調試、下載到FPGA中,并采用鎂光公司的LCOS芯片作為微顯示器件,攝像頭采集到的《阿凡達》2D電影的一個畫面轉換為3D畫面效果圖略——編者注。
可以看到圖面中的人物具有視差的紅藍兩路圖像,佩戴上紅藍3D眼鏡,即可看到人物出屏的效果。
目前針對于3D顯示的評價方法主要是主觀的評價方法,按照2000年國際電信聯盟發布的ITU-R BT.1438立體電視圖像主觀評價標準,分為5級,即優秀、良好、一般、不好、壞5個級別。
以立體圖片上的一點為中心,單眼左右移動時,圖像會出現連續的跳躍,兩次跳躍之間眼睛移動的角度為立體圖像的視變角,視角越大,觀看越舒適,但視角變大意味著立體感減弱。通過多人觀看本文的3D視頻,本設計主觀評價在良好級別,達到了預期的設計效果。
本文實現了一種基于Altera公司的Cyclone IV系列FPGA的3D視頻前端處理與顯示系統,具有設計周期短、結構簡單、穩定可靠、實現效果逼真、節約設計成本的優點。
高速圖像采集系統采用FPGA作為采集控制部分,不僅可以提高系統處理的速度,而且可以提高系統的靈活性和適應性。該設計解決了當前3D電視芯片缺少的問題,對原有的視頻處理過程及顯示器件進行了改進,并提出了一種簡便性和普適性的圖像增強算法。該系統在安防監控、倒車影像、圖像分析、影視拍攝和投影顯示等方面都具有良好的應用前景。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1]祝長鋒,肖鐵軍.基于FPGA的視頻圖像采集系統的設計[J].計算機工程與設計,2008,29(17):4404-4407.
[2]藺志強,孟令軍,彭晴晴.基于FPGA的視頻圖像采集系統的設計與實現[J].電視技術,2011,35(17):36-38.
[3]董小龍,施建華,邵詩強.基于FPGA的VGA接口裸眼3D顯示系統設計.[C]//2012中國平板顯示學術會議.上海,2012:559-562.
[4]李克斌,李世奇.3D顯示技術的最新研究進展[J].計算機工程,2003,29(12):3-4.
[5]蔣艷紅.基于FPGA的VGA圖象信號發生器設計[J].電子測量技術,2008,31(3):78-81.
[6]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2008:15-17.