基于FPGA和LCOS技術的3D視頻前端處理與顯示系統(tǒng)設計
1 顏色分量的獲取與亮度的增強
傳統(tǒng)的方法只采用紅加藍、紅加綠色度分量合成3D視頻,這樣會使畫面的損傷較大,丟失33%以上的顏色分量,觀看起來顏色失真較大,亮度也大大降低,增加了眼睛的負擔,易產生疲勞。針對顏色失真本文采用紅加青的方法以減少色度的丟失,這樣可使畫面色度飽和度還原到原始畫面的90%以上。
針對亮度降低提出了基于亮度的圖像增強方法。傳統(tǒng)的基于Retinex理論的演變法存在一定的不足,如將RGB空間轉換到HSI空間需要大量的三角函數(shù)運算,并采用傅里葉變換處理Retinex理論部分的高斯函數(shù),大大影響處理速度。本文提出了基于YCbCr顏色空間的亮度分量處理法,同時采用無限脈沖響應數(shù)字濾波器(IIR)實現(xiàn)高斯函數(shù)運算。實驗證明,該算法不但能增強圖像的質量,還能有效避免Retinex算法中帶來的光環(huán)效應,同時大大加快算法處理速度。基于亮度Y分量的Retinex 處理過程可表示為:
式中Y( x , y)為亮度分量函數(shù),F(xiàn)( x , y) 被稱為環(huán)境函數(shù),一般用高斯函數(shù)表達式為:
σ為高斯函數(shù)的標準偏差,k 表示環(huán)境函數(shù)的個數(shù)。環(huán)境函數(shù)Fk用于選取不同的標準偏差σk,Wk用來控制環(huán)境函數(shù)范圍的尺度,它表示與Fk相關的權重系數(shù)。
Retinex 處理算法的主要步驟就是高斯濾波,其運算速度直接決定了算法運行效率。為避免傅立葉變換的復雜的運算和不足,對高斯濾波器進行了IIR實現(xiàn),把高斯濾波器分解為正向濾波器和反向濾波器的組合,如下面的差分方程。
正向濾波器:
其中,C、di’是濾波器系數(shù),I [n]是輸入數(shù)據,w1 [n]和w2 [n] 分別是正向和反向濾波器的中間狀態(tài),O1[n]、O2 [n]為其處理結果。正向和反向濾波器就構成了高斯濾波器的IIR實現(xiàn)過程??梢岳酶咚购瘮?shù)的可分離性:
對圖像先逐行后逐列進行處理,最終就可以實現(xiàn)二維高斯數(shù)字濾波。下圖2為原圖、傳統(tǒng)Retinex算法、基于Y分量Retinex算法處理后的對比圖。圖中可以看出,傳統(tǒng)算法可以增強圖像亮度,但灰度化也很明顯。而本文采用的方法不僅可以增強亮度,也可以保持原有圖像的整體鮮艷效果。
另外,傳統(tǒng)的3D眼鏡僅采用紅色或藍色塑料或玻璃鏡片作為濾光片,使濾光效果大打折扣,觀眾佩戴觀看影片時,會出現(xiàn)不同程度的重影現(xiàn)象,影響觀看效果。為此本文采用反射率和透過率都達到90%以上的反青透紅和反紅透青的濾光片作為3D眼鏡的鏡片,這樣可以使紅色鏡片僅通過紅色畫面,青色鏡片透過藍、綠色畫面,消除了重影現(xiàn)象,使觀看效果更加鮮活、逼真,下圖3為濾光片及制作的紅藍3D眼鏡。
2 視頻處理系統(tǒng)基本結構與簡化
整個視頻處理系統(tǒng)結構如圖4所示。兩路攝像頭將采集到的信號送入TW2867進行A/D轉換,輸出的復用信號送入解復用(demux)模塊,分離出的兩路復合視頻數(shù)據分別送入BT656數(shù)據解碼模塊、幀緩存控制模塊、像素分辨率縮放模塊、YCbCr 4:2:2轉YCbCr 4:4:4數(shù)據模塊、YCbCr亮度增強模塊、YCbCr 4:4:4轉RGB數(shù)據模塊,最后將RGB數(shù)據送入LCOS時序控制模塊,以鎂光公司的CS-FLCOS作為微顯示器件,搭建光機系統(tǒng),顯示出3D視頻畫面。對其中的TW2867芯片和LCOS芯片分別要進行I2C總線配置和SPI總線配置其內部的相關寄存器參數(shù)。
(1)TW2867解碼
采用帶有LED夜視功能的Sony CCD 感光芯片攝像頭,視頻輸出分辨率為720*576,為標準的PAL制式視頻格式。選用Techwell公司的TW2867 A/D轉換芯片,能自動識別PAL/NTSC/SECAM格式的2路復合視頻信號,通過I2C總線的配置,TW2867將兩路攝像頭信號轉換為符合BT656標準的8位YCbCr數(shù)字信號。TW2867每一路都含有10位的ADC轉換器、高質量的鉗位和增益控制器和梳狀濾波器,以濾除信號中的噪聲,同時采用了一些圖像增強技術,以獲得高質量的YCbCr數(shù)字信號。
(2)BT656數(shù)據解碼模塊
國際電信聯(lián)盟無線電通信組(ITU-CCIR)發(fā)布了ITU-BT656的視頻標準,其行數(shù)據結構如圖5所示。該模塊首先需要檢測數(shù)據流中是否按序出現(xiàn)了FF、00、00的幀頭SAV或幀尾EAV信息。如果出現(xiàn)則對后8位的XY值進行判斷,判斷是否出現(xiàn)SAV、EAV信號,將有效視頻信號的以亮度分量(Y)作為高8位,以色度分量(Cb或Cr)作為低8位合成16位的YCbCr數(shù)據,將BT656數(shù)據奇偶場的數(shù)據合并為一幀寫入幀緩存中。
幀緩存中裝載的是兩場視頻數(shù)據,在讀取的時候采用FIFO緩存并采用雙線性插值算法,將原來720*576的像素分辨率放大到852*480。雙線性插值算法將在水平和垂直兩個方向分別進行一次線性插值。其定量計算方法如下:空間坐標系下四個點:A(x,y+1)、B(x,y)、C(x+1,y)、D(x+1,y+1),如圖6所示,其灰度值依次為Ga、Gb、Gc、Gd,dx和dy分別表示目標點與點B在水平和垂直兩個方向上的增量,其灰度值Gt可以由其余四點量化表示,如式2-1。
Gt = (1 - dx)(1 - dy)Gb + dx(1 - dy)Gc + (1 - dx)dyGa + dxdyGd (2-1)
從電路實現(xiàn)方面而言,公式(2-1)共需要8個乘法器、2 個減法器和4 個加法器,將會占用較多的邏輯資源。將公式變形為:
Gt = Gb+dx(Gc-Gb)+dy(Ga-Gb)+dxdy(Gb-Ga-Gc+Gd)
= Gb+dx(Gc-Gb)+dy(Ga-Gb)+dxdy[(Gb-Ga)+(Gd-Gc)](2-2)
公式(2-2)是另一種簡化了電路的表示方法,僅需要4個乘法器、4 個減法器和3 個加法器。計算結果會有5個時鐘周期的延時,當像素時鐘為27Mhz,計算的時鐘為一幀的數(shù)據轉換為852*480*(1/27Mhz)=15ms,即可以實現(xiàn)實時的分辨率調整。
(4)YCbCr 4:2:2轉YCbCr 4:4:4數(shù)據模塊
將YCbCr4:4:4數(shù)據轉換到YCbCr4:2:2是數(shù)字視頻中的一個選通功能。而將YCbCr4:2:2數(shù)據轉換到YCrCb4:4:4即是重采樣的過程,采樣的數(shù)據格式轉變如圖7所示。
可知,輸入16位YCbCr轉換成了相應各8位Y、Cb、Cr信號,且輸出像素采樣率比輸入采樣率快了一倍,由此可見YCbCr4:2:2的數(shù)據格式壓縮了將近一半的數(shù)據帶寬。
(5)YCbCr444-RGB模塊
將YCbCr數(shù)據轉換為RGB數(shù)據可由下圖8所示數(shù)據關系得到。由于FPGA進行浮點運算較為復雜,且占用的時鐘周期較長(比如16位的浮點加法電路,一般多達十幾到二三十個時鐘周期),并不適合于實時視頻數(shù)據處理,所以先通過對上式左右二端放大128倍化為整數(shù)運算,計算后再對結果除以128(右移7位),即可獲得正確的結果。
(6)LCOS時序控制模塊
LCOS時序發(fā)生器主要用于產生微顯示器件所需的時序,包括提供像素時鐘(clk)、行同步信號(hsync)、場同步信號(vsync)、有效信號(valid),并輸出當前行、列像素坐標值,從幀緩沖區(qū)發(fā)出數(shù)據請求信號并讀出紅、綠、藍的視頻數(shù)據。LCOS的時序仿真圖如下圖9所示。
3 FPGA紅藍3D視頻獲取及主觀評價
FPGA選用的是Altera公司的Cyclone IV系列的EP4CE30F23C6N這款高速FPGA芯片,F(xiàn)PGA和DDR2之間的時鐘頻率可以達到200M,DDR2內部時鐘頻率達到400M,充分滿足了兩路視頻處理的要求。通過對視頻處理過程中模塊的編寫,編譯后其消耗的的邏輯單元數(shù)為13615個,僅占總邏輯單元數(shù)的47%,如下圖11所示,使視頻處理過程更加簡便高效。將以上各模塊搭建、調試、下載到FPGA中,并采用鎂光公司的LCOS芯片作為微顯示器件,攝像頭采集到的《阿凡達》2D電影的一個畫面轉換為3D換面效果如下圖12所示,可以看到圖面中的人物具有視差的紅藍兩路圖像,佩戴上紅藍3D眼鏡,即可看到人物出屏的效果。
目前針對于3D顯示的評價的方法主要還是主觀的評價方法,按照2000年國際電信聯(lián)盟發(fā)布的ITU-R BT.1438立體電視圖像主觀評價標準,分為5級,即優(yōu)秀、良好、一般、不好、壞五個級別。以立體圖片上的一點為中心,單眼左右移動時,圖像會出現(xiàn)連續(xù)的跳躍,兩次跳躍之間眼睛移動的角度為立體圖像的視變角,視角越大,觀看越舒適,但視角變大意味著立體感減弱。通過多人觀看本文的3D視頻,本設計主觀評價在良好級別,達到了預期的設計效果。
4 結束語
本文實現(xiàn)了一種結合Altera公司生產的Cyclone IV系列FPGA的3D視頻前端處理與顯示系統(tǒng),具有設計周期短、結構簡單、穩(wěn)定可靠、實現(xiàn)效果逼真、節(jié)約設計成本的優(yōu)點。高速圖像采集系統(tǒng)中采用FPGA作為采集控制部分,不僅可以提高系統(tǒng)處理的速度,還可以提高系統(tǒng)的靈活性和適應性。彌補了當前3D電視芯片缺少的問題,對原有的視頻處理過程及顯示器件進行了改進,并提出了一種簡便性和普適性的圖像增強算法。該系統(tǒng)在安防監(jiān)控、倒車影像、圖像分析、影視拍攝和投影顯示等方面都具有廣泛的應用前景。
評論