新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 數字圖像倍焦系統設計與實現綜合實例之:系統工作原理分析

        數字圖像倍焦系統設計與實現綜合實例之:系統工作原理分析

        作者: 時間:2017-06-05 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201706/348794.htm

        12.2 系統工作原理分析

        如前所述,本系統主要完成對輸入視頻圖像的兩倍放大。圖像的放大主要是通過插值算法來實現的,下面詳細分析如何應用雙線性插值算法來實現倍焦功能。

        1.符號約定

        首先對系統工作原理分析中用到的符號做一個約定:

        表示像素點坐標,在本系統中。

        表示原始圖像,其寬度為,高度為。

        表示倍焦后圖像,其寬度為,高度為。

        通過雙線性插值完成數字倍焦功能,即將原始圖像插值為原來2倍大小,仍然以原來的分辨率輸出,即´x。

        2.雙線性插值原理描述

        對新圖像中每一點為,在本系統中,查找其在原圖像中的相鄰位置。

        點的灰度值的計算公式為(12-1)。

        (12.1)

        公式(12-1)中需要計算的數值為,如公式(12-2)~(12-5)所示。

        (12.2)

        (12.3)

        (12.4)

        (12.5)

        3.硬件實現的簡化

        為減少硬件計算的復雜性,對的算法做如下處理。

        (1)硬件是必須的,用以完成的計算,但由于:

        所以可以考慮只用8bit´8bit硬件(而不是16bit´8bit硬件),即如公式(12-6)所示。

        公式(12-6)

        (2)求權重的公式已經寫成關于、的函數的形式,該函數可以通過離線計算并存儲一張表格(“權重表”)的方法實現。該表的大小為256´8bit。注意求查詢的是同樣的表格。

        4.算法優化

        (1)乘法器設計的簡化。

        的計算過程中,需要一個常數乘法器(´181),通過查表完成。而也需要查表,查表也需要一個周期來完成。如果用同一個表,那么需要串行查出,速度太慢。如果要同時查出來,需要多個表,片內存儲器太大。

        因此,在計算過程中需要使用移位和加法進行配合,來提高運算速度。

        基于這個考慮,將放到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)

        這樣,不必查表產生,而是1/3和2/3交替。關于除3的操作,可以通過一個256´8bit的查找表來完成。

        需要說明的是,經過上面的調整,放大的倍數為2.25倍,而不是2倍。

        (2)行列的處理順序的優化。

        原算法中水平和垂直方向同時插值,需要4個像素類計算。但是,實際硬件實現過程中如果讀取4個數據來計算一個像素點,那么輸出很難保證連續,而且速度太慢。因此,實現過程中,對整場圖像先做行插值,再做列插值。即將二維線性插值轉為兩個一維線性插值,如公式(12-11)所示。

        公式(12-11)

        其中依次取1/3和2/3。這樣每次插值操作只與兩個像素值有關,一個是前一個像素(寄存器中),另一個是當前讀出的像素。

        當接收原始幀時,在裁剪后寫入SRAM過程中完成行插值;從SRAM讀出過程完成列插值,并輸出。

        考慮到視頻信號是按行掃描的,而且是隔行掃描,因此處理過程以場為單位。

        (3)硬件實現簡化前后的結果對比。

        從圖12.1和12.2的對比圖中可以看出,放大2.25倍的圖像視野上要比放大2倍的圖像小一些,但是圖像質量并沒有明顯降低。

        圖12.1 放大2倍后的圖像 圖12.2 放大2.25倍后的圖像



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普格县| 天台县| 措勤县| 北辰区| 禄丰县| 四会市| 桐梓县| 新龙县| 邹平县| 丰原市| 商洛市| 济南市| 甘谷县| 那曲县| 南宫市| 准格尔旗| 福鼎市| 台前县| 微山县| 保靖县| 望城县| 平顶山市| 星子县| 武川县| 忻州市| 建湖县| 顺义区| 永胜县| 岳阳县| 博湖县| 英山县| 阳高县| 阳东县| 观塘区| 齐齐哈尔市| 珲春市| 札达县| 嘉义县| 抚州市| 青神县| 昌吉市|