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