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