摘要:在圖像信號傳輸過程中,由于傳輸網(wǎng)絡以及各種數(shù)模轉(zhuǎn)換設備和數(shù)字處理設備的影響,可能會造成失真雜散信號的產(chǎn)生,其隨機不確定性將導致某些專業(yè)圖像檢測處理設備工作的異常。文中首先分析了圖像失真雜散信號產(chǎn)生的原因及其特征,然后針對此特征提出了一種FFT自適應閩值屏蔽算法,最后利用MATLAB仿真驗證了此算法且進行了實際的FPGA實驗。
關(guān)鍵詞:圖像失真;失真雜散信號;FFT;自適應閾值;隨機性
0 引言
圖像信號是個很廣泛的概念,本文以最典型和最常見的圖像信號——電視視頻信號——為例來進行探討。電視信號的發(fā)送和接收過程要經(jīng)歷多次轉(zhuǎn)換來滿足傳輸?shù)母鱾€環(huán)節(jié)。為了滿足衛(wèi)星傳輸、電纜傳輸、同時傳送多套節(jié)目等需求,電視信號在傳輸過程中,要經(jīng)過若干A/ D、D/A、調(diào)制解調(diào)和數(shù)據(jù)格式變換。另外,電視信號在信道傳播過程中,會受到信道中各種噪聲的影響,從而使得有用信號受到干擾,嚴重時可能完全丟失。傳輸網(wǎng)絡以及各種數(shù)模轉(zhuǎn)換設備和數(shù)字處理設備的影響還可能導致信號的失真,失真后的信號偏離原信號的部分稱為失真雜散信號,某些資料稱其為失真產(chǎn)物或雜散產(chǎn)物。
失真分為線性失真和非線性失真,其各自產(chǎn)生原因有所不同。
線性失真一般由兩方面因素造成:一是網(wǎng)絡對輸入信號中各頻率成分的傳遞函數(shù)不一致(放大或衰減即增益不等),致使各頻率分量相對幅度產(chǎn)生變化,造成選擇性幅度失真;另一個因素是網(wǎng)絡對輸入信號的各頻率成分產(chǎn)生的相移不與頻率成正比,致使各頻率分量相對相位發(fā)生變化,造成相位失真。這就是網(wǎng)絡的幅頻特性和相頻特性引起的相位變化和幅度變化的失真產(chǎn)物。
非線性失真的主要因素:一是網(wǎng)絡傳遞函數(shù)的非線性特性,諸如放大器的非線性、ADC/DAC的非線性、光或電發(fā)射機的非線性,致使輸出信號的頻率成分與輸入信號不相同,從而增加了新的頻率成分;二是前端設備對信號進行大量的變換和處理后,雖然是有目的地利用電路的非線性特性對信號進行調(diào)制、混頻、變頻,取其中需要的頻率而去掉那些不需要的頻率成分,但做得不徹底、不完善而產(chǎn)生少量不需要的新頻率成分的非線性交調(diào)產(chǎn)物;三是信號因素,例如輸入信號的電平過高產(chǎn)生的限幅削波、有線電視鄰頻干擾、本征頻率不純(相位噪聲)、有諧波在非線性狀態(tài)下產(chǎn)生差拍、疊加等寄生震蕩輸出,使信號頻率成分發(fā)生變化,致使產(chǎn)生失真產(chǎn)物。
正常情況下,圖像的失真表現(xiàn)為圖像拉絲、波浪型紋波、馬賽克等現(xiàn)象,嚴重時會出現(xiàn)圖像噪點、圖像停滯、圖像消失。雖然大部分情況下失真雜散信號并不造成人視覺上的差異,但是,對于某些圖像檢測處理設備,隨機的失真雜散信號將導致設備工作異常,使得這些設備發(fā)出錯誤報告,從而處理出錯誤結(jié)果。
1 圖像的YCBCR空間與RGB空間的互相轉(zhuǎn)變
目前,主流的數(shù)字電視視頻信號格式是656格式(對應于YCBCR空間),它與通常表示圖像的RGB方式(對應于RGB空間)不同。由于本文屏蔽算法基于656格式,所以,這里首先簡單介紹—下兩種空間的相互轉(zhuǎn)換關(guān)系。
RGB方式利用3個向量R,G,B來表示一幅圖像,紅色、綠色和藍色是數(shù)字圖像的三原色。656格式則用另外3個向量Y,CB,CR來表示一幅圖像。其中,Y表示圖像紋理特征,稱為灰度值;CB和CR則表示色差分量。其轉(zhuǎn)換關(guān)系為:
Y=0.299R+0.587G+0.114B
CB=0.564(B-Y)
CR=0.713(R-Y)
紋理特征包含了圖像的最主要信息,本文屏蔽算法主要針對灰度Y值來進行處理。
2 失真雜散信號的特征分析
為了反應真實的視頻信號失真情況,本文采用了Chipscope工具軟件。該工具軟件是Xilinx公司用于分析其FPGA內(nèi)部信號的一個窗口,以便于FPGA開發(fā)者能對其開發(fā)項目進行調(diào)試。Chipscope所反應的信號完全是客觀真實的信號,能發(fā)現(xiàn)很多僅憑肉眼無法發(fā)現(xiàn)的信號失真,圖1所示是紅場信號的實際Y值。
理論上,紅場的Y值應為70,并且作為一個平場信號,其Y值應一直維持70且不會改變,但實際的紅場Y值不僅等于70的點極少,而且很難找到大范圍Y值相同的區(qū)域,Y值在70附近波動幅度較大,且具有極大的隨機性。由于人眼分辨的顏色數(shù)量有限,Y值在細微情況下的波動是無法識別的,我們看到的依然是一片紅色,然而,此時對于視頻幀靜止檢測設備和視頻內(nèi)容檢測比對設備來說,可能就會使其產(chǎn)生錯誤的判斷結(jié)果。
由于失真雜散信號的隨機特性,僅僅從空域或時域上一般無法看出失真雜散信號的規(guī)律,而必須將其轉(zhuǎn)換到頻域上。這里,可以利用圖1的Y值進行FFT運算,以觀察其結(jié)果。圖2所示是圖1中Y值的FFT運算結(jié)果。
從圖2所示的運算結(jié)果可以看出,除了直流分量外,其余諧波分量的模都很小,這是由于理想的紅場信號只有直流分量,而失真雜散信號不可能產(chǎn)生能量成分很大的交流分量。
那么,對于原本既有直流分量,又有交流分量的視頻信號,又會是怎樣的情況呢?我們再舉一個例子:
假設有一個信號,它含有2 V的直流分量,頻率為50 Hz、相位為-30°、幅度為3 V的交流信號,以及一個頻率為75 Hz、相位為90°、幅度為1.5 V的交流信號。它們的合成信號可用數(shù)學表達式表述如下:
現(xiàn)以256 Hz的采樣率Fs對這個信號進行采樣,然后利用MATLAB進行FFT仿真的運算結(jié)果如下:
很明顯,1點、51點、76點的值都比較大,它附近的點值都很小,可以認為趨于0。
從上面的例子可以看出,無論原始信號有無交流分量,失真雜散信號均不會對原信號的幾根主要譜線造成影響,也不會產(chǎn)生新的主譜線,因此,我們可以設計一個算法屏蔽掉這些失真譜線,從而達到處理圖像失真的目的。
3 基于FFT的自適應閾值屏蔽算法
認識到失真雜散信號的特征后,就可以設計出下面的算法來屏蔽掉失真雜散信號的頻譜。其具體的方法如下:
(1)將一幅圖像從RGB空間轉(zhuǎn)換到Y(jié)CBCR空間,這個空間包含3個矩陣,Y,CB,CR;
(2)讀取Y矩陣的每一行進行FFT運算,產(chǎn)生Y的頻域矩陣FFTY,計算FFTY矩陣的模值;
(3)找出FFTY矩陣中模值明顯大于其周圍模值的點,記為主頻譜點;
(4)對于主頻譜點周圍的點,如果其模值小于主頻譜點的3 dB(即千分之一)以下,則記為0,否則保留原值,這個過程將改變原FFTY矩陣,記為FFTYNEW;
(5)將FFTYNEW矩陣經(jīng)過IFFT運算得到新的Y矩陣,記為YNEW;
(6)將YNEW,CB,CR矩陣構(gòu)成的YCBCR空間轉(zhuǎn)換為RGB空間,然后顯示圖像。
在算法的第(4)步,由于不同圖像主頻譜點的數(shù)量和模值各不相同,而且同一圖像的不同位置的模值也不一樣,所以,此算法是根據(jù)不同圖像的不同特征自適出不同的閥值來屏蔽掉失真雜散信號的。
4 MATLAB仿真實驗及實際FPGA得到的結(jié)果
利用MATLAB編程實現(xiàn)該算法后,即可對增加了失真雜散信號的圖像進行處理,而且得到了比較好的結(jié)果,圖3和圖4分別給出了平場信號和非平場信號的處理結(jié)果。
在這里要特別說明的是,本文介紹的處理失真雜散信號的方法并不是通常意義上的噪聲濾波,而是使原本隨機的失真雜散信號在經(jīng)過處理后變得更加固定。隨機的失真信號會導致本來靜止的圖像幀產(chǎn)生波動,產(chǎn)生“偽運動現(xiàn)象”。此外,同一視頻信號經(jīng)過不同的信道傳播之后,由于失真的隨機性,在接收端就可能收到并不相同的信號,從而導致視頻檢測比對設備判斷失誤。而通過此方法處理后,則可以有效地保證這些專業(yè)的視頻檢測處理設備保持正常工作。
圖5所示是運用chipscope觀察到的FPGA內(nèi)部來自不同路徑的兩路視頻信號的特征數(shù)據(jù)。經(jīng)過此方法處理后,可以明顯看到:兩路特征數(shù)據(jù)已經(jīng)幾乎一樣了。
圖5中的doutBsm和doutAs分別是來自衛(wèi)星接收器和有線電視的視頻信號的特征數(shù)據(jù)。
5 結(jié)語
本文的方法主要是為了解決筆者實習單位的某些設備工作異常問題,通過該方法的實際應用,該單位設備工作異常問題得到了有效解決。該方法的提出得到了小波濾波去噪的啟發(fā)。由于FFT計算可以利用Xinlix的DSP處理IP核,因此,該方法也能方便在FPGA上實現(xiàn)。