數(shù)字圖像倍焦系統(tǒng)設(shè)計與實現(xiàn)綜合實例之:系統(tǒng)工作原理分析
12.2 系統(tǒng)工作原理分析
如前所述,本系統(tǒng)主要完成對輸入視頻圖像的兩倍放大。圖像的放大主要是通過插值算法來實現(xiàn)的,下面詳細(xì)分析如何應(yīng)用雙線性插值算法來實現(xiàn)倍焦功能。
1.符號約定
首先對系統(tǒng)工作原理分析中用到的符號做一個約定:
表示像素點(diǎn)坐標(biāo),在本系統(tǒng)中。
表示原始圖像,其寬度為,高度為。
表示倍焦后圖像,其寬度為,高度為。
通過雙線性插值完成數(shù)字倍焦功能,即將原始圖像插值為原來2倍大小,仍然以原來的分辨率輸出,即´x。
2.雙線性插值原理描述
對新圖像中每一點(diǎn)為,在本系統(tǒng)中,查找其在原圖像中的相鄰位置。
點(diǎn)的灰度值的計算公式為(12-1)。
(12.1)
公式(12-1)中需要計算的數(shù)值為,如公式(12-2)~(12-5)所示。
(12.2)
(12.3)
(12.4)
(12.5)
3.硬件實現(xiàn)的簡化
為減少硬件計算的復(fù)雜性,對的算法做如下處理。
(1)硬件乘法器是必須的,用以完成和的計算,但由于:
所以可以考慮只用8bit´8bit硬件乘法器(而不是16bit´8bit硬件乘法器),即如公式(12-6)所示。
公式(12-6)
(2)求權(quán)重的公式已經(jīng)寫成關(guān)于、的函數(shù)的形式,該函數(shù)可以通過離線計算并存儲一張表格(“權(quán)重表”)的方法實現(xiàn)。該表的大小為256´8bit。注意求查詢的是同樣的表格。
4.算法優(yōu)化
(1)乘法器設(shè)計的簡化。
在的計算過程中,需要一個常數(shù)乘法器(´181),通過查表完成。而也需要查表,查表也需要一個周期來完成。如果用同一個表,那么需要串行查出,速度太慢。如果要同時查出來,需要多個表,片內(nèi)存儲器太大。
因此,在計算過程中需要使用移位和加法進(jìn)行配合,來提高運(yùn)算速度。
基于這個考慮,將放到2倍的條件放寬到2.25倍,即用1.5´1.5來替代1.414´1.414。這樣,公式(12-2)~(12-5)就簡化為公式(12-7)~(12-10)的形式。
公式(12-7)
公式(12-8)
公式(12-9)
公式(12-10)
這樣,不必查表產(chǎn)生,而是1/3和2/3交替。關(guān)于除3的操作,可以通過一個256´8bit的查找表來完成。
需要說明的是,經(jīng)過上面的調(diào)整,放大的倍數(shù)為2.25倍,而不是2倍。
(2)行列的處理順序的優(yōu)化。
原算法中水平和垂直方向同時插值,需要4個像素類計算。但是,實際硬件實現(xiàn)過程中如果讀取4個數(shù)據(jù)來計算一個像素點(diǎn),那么輸出很難保證連續(xù),而且速度太慢。因此,實現(xiàn)過程中,對整場圖像先做行插值,再做列插值。即將二維線性插值轉(zhuǎn)為兩個一維線性插值,如公式(12-11)所示。
公式(12-11)
其中依次取1/3和2/3。這樣每次插值操作只與兩個像素值有關(guān),一個是前一個像素(寄存器中),另一個是當(dāng)前讀出的像素。
當(dāng)接收原始幀時,在裁剪后寫入SRAM過程中完成行插值;從SRAM讀出過程完成列插值,并輸出。
考慮到視頻信號是按行掃描的,而且是隔行掃描,因此處理過程以場為單位。
(3)硬件實現(xiàn)簡化前后的結(jié)果對比。
從圖12.1和12.2的對比圖中可以看出,放大2.25倍的圖像視野上要比放大2倍的圖像小一些,但是圖像質(zhì)量并沒有明顯降低。
圖12.1 放大2倍后的圖像 圖12.2 放大2.25倍后的圖像
評論