機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
媒體處理器的視頻濾波考慮
媒體處理器的視頻濾波考慮
 更新時(shí)間:2008-8-18 10:25:25  點(diǎn)擊數(shù):18
【字體: 字體顏色

媒體處理器的視頻濾波考慮
Video Filtering Considerations for Media Processors


ADI公司Blackfin處理器應(yīng)用開(kāi)發(fā)部 David Katz Rick Gentile
<!--
摘 要:主要論述了自動(dòng)化過(guò)程控制技術(shù)在BGA封裝中的應(yīng)用、BGA封裝技術(shù)所面臨的困難、合適的BGA封裝的選擇以及生產(chǎn)技術(shù)中存在的各種問(wèn)題,說(shuō)明自動(dòng)化過(guò)程控制技術(shù)在節(jié)省成本、減少返修和提高產(chǎn)品可靠性方面的重要性。
關(guān)鍵詞:BGA封裝;自動(dòng)化過(guò)程控制;選擇合適的BGA;生產(chǎn)技術(shù)問(wèn)題
-->

---以往,在醫(yī)用、工業(yè)和軍事系統(tǒng)中進(jìn)行實(shí)時(shí)視頻或圖像分析時(shí),設(shè)計(jì)師通常需要采用昂貴的專用處理器。但隨著定點(diǎn)、高性能嵌入式媒體處理器的出現(xiàn),使低成本的實(shí)時(shí)圖像處理成為可能。為了開(kāi)發(fā)高效的算法,產(chǎn)品設(shè)計(jì)工程師需要充分利用這些處理器所提供的體系結(jié)構(gòu)特點(diǎn)。本文討論了數(shù)字圖像濾波算法能夠如何利用嵌入式媒體處理器體系結(jié)構(gòu)的多媒體特性。該Blackfin處理器的特點(diǎn)和指令集可用作一個(gè)參照,但是同樣的概念通常也適用于其他高性能媒體處理器。
---雖然現(xiàn)在的定點(diǎn)處理器的時(shí)鐘速率已超過(guò)300MHz,但是僅靠增加時(shí)鐘速率并不能確保實(shí)時(shí)視頻濾波的功能,同樣重要的是針對(duì)多媒體應(yīng)用的體系結(jié)構(gòu)特性和專用視頻指令。
---大多數(shù)視頻應(yīng)用需要處理8bit數(shù)據(jù),因?yàn)閱蝹(gè)像素分量(無(wú)論是RGB還是YUV)通常以字節(jié)為單位的。因此,8bit視頻算術(shù)邏輯單元(ALU)和基于字節(jié)的地址數(shù)據(jù)在像素處理中會(huì)有很大不同。這一點(diǎn)非常重要,因?yàn)閿?shù)字信號(hào)處理器(DSP)通常采用16bit或32bit數(shù)據(jù)工作。
---另一特點(diǎn)是具有一個(gè)靈活的數(shù)據(jù)寄存器文件。在傳統(tǒng)的定點(diǎn)DSP中,字長(zhǎng)通常是固定的。然而,數(shù)據(jù)寄存器的優(yōu)點(diǎn)是能以1個(gè)32bit字(例如R0)或者2個(gè)16bit字(例如,R0.L和R0.H分別代表低16位和高16位)來(lái)處理數(shù)據(jù)。這種結(jié)構(gòu)的應(yīng)用將在下面介紹。
---專用的單周期指令可以非常方便地提供高效的多媒體編碼算法。這種應(yīng)用的一個(gè)很好的范例是“絕對(duì)差的和”指令能同時(shí)將幾個(gè)像素集之間的差值相加,從而表明在兩幀之間的場(chǎng)景變化有多大。

二維圖像卷積
---由于一個(gè)視頻流實(shí)際上是一個(gè)以一定速率運(yùn)動(dòng)的圖像序列,所以圖像濾波器需要足夠快的工作速率才能跟上輸入的圖像序列。因此,必須優(yōu)化圖像濾波器內(nèi)核以便占用盡可能最小的處理器周期。這可以通過(guò)分析基于二維卷積的一個(gè)簡(jiǎn)單的圖像濾波器組來(lái)說(shuō)明。
---卷積是圖像處理中的一個(gè)基本運(yùn)算。一個(gè)給定像素的二維卷積計(jì)算是將其直接的鄰域像素的亮度按權(quán)值相加。由于一個(gè)掩碼的鄰域集中在一個(gè)給定的像素中心,所以該掩碼通常具有奇數(shù)維數(shù)。該掩碼的大小通常比圖像小,并且經(jīng)常選用一種3×3的掩碼,因?yàn)樗诿總(gè)像素基礎(chǔ)上的計(jì)算是合理的,但是足夠大才可以檢測(cè)出一幅圖像的邊界。
---3×3內(nèi)核的基本結(jié)構(gòu)如圖1a所示。例如,位于一幅圖像第20行第10列的像素卷積過(guò)程的輸出應(yīng)該是:
---Out(20,10)=A*(19,9)+B*(19,10)+C*(19,11)+D*(20,9)+E*(20,10)+F*(20,11)+G*(21,9)+H*(21,10)+I*(21,11)
---重要的是按照一種輔助計(jì)算方法來(lái)選擇系數(shù)。例如,比例系數(shù)首選是冪指數(shù)2(包括小數(shù)),因?yàn)槌朔ǹ梢酝ㄟ^(guò)簡(jiǎn)單的移位操作來(lái)替換。
---圖1b~1e示出了幾種有用的3×3內(nèi)核,每一種內(nèi)核簡(jiǎn)述如下。
---圖1b示出的Δ函數(shù)是最簡(jiǎn)單的圖像處理函數(shù),當(dāng)前像素不經(jīng)修改直接輸出。
---圖1c示出了邊界檢測(cè)掩碼的兩種常用形式,第一種檢測(cè)垂直邊界,而第二種檢測(cè)水平邊界,高輸出值對(duì)應(yīng)較高的邊界出現(xiàn)。
---圖1d的內(nèi)核是一個(gè)平滑濾波器,它計(jì)算當(dāng)前像素周?chē)?個(gè)像素的平均值,并且把結(jié)果放在當(dāng)前像素的位置上。它具有“平滑”或者“低通濾波”圖像的作用。
---圖1e中的濾波器稱為“模糊掩碼”操作,它可認(rèn)為通過(guò)從當(dāng)前像素中減去一個(gè)平滑的當(dāng)前象素(通過(guò)取其相鄰的8個(gè)像素平均值得到)產(chǎn)生一個(gè)邊界增強(qiáng)的圖像。

用嵌入式媒體處理器實(shí)現(xiàn)的圖像卷積
---進(jìn)一步討論二維卷積過(guò)程,其高階算法可按下述步驟。
---(1)將掩碼的中心放在輸入矩陣上的一個(gè)元素上。
---(2)位于該掩碼鄰域內(nèi)的每個(gè)像素乘以相對(duì)應(yīng)的濾波器掩碼元素。
---(3)將每次乘法結(jié)果相加得到一個(gè)結(jié)果。
---(4)將每次相加后的結(jié)果放在輸出矩陣中掩碼中心對(duì)應(yīng)的位置上。
---圖2示出了3個(gè)矩陣:一個(gè)輸入矩陣f(x,y),一個(gè)3×3掩碼矩陣h(x,y)和一個(gè)輸出矩陣g(x,y)。
---對(duì)每個(gè)的輸出點(diǎn)計(jì)算后,該掩碼被向右移一個(gè)元素。在圖像的邊界,該算法繞回下一行的第一個(gè)元素上。例如,當(dāng)將掩碼集中在以元素F2m為中心時(shí),該掩碼矩陣的H23元素乘以輸入矩陣的F31元素。結(jié)果使輸出矩陣的可用部分在圖像的每個(gè)邊界都減少了1個(gè)元素。下面考慮將這樣一個(gè)濾波器放到一個(gè)處理器上的要求。
---對(duì)于一個(gè)30幀/秒幀速率的視頻圖形陣列(VGA)(640×480像素/幀),其像素速率達(dá)到每秒920萬(wàn)像素,F(xiàn)在考慮如果9次乘法和8次加法需要串行實(shí)現(xiàn),運(yùn)算速度將是(9+8)×9.2 = 156MIPS!如果加法和乘法并行執(zhí)行,那么運(yùn)算速度降低為9×9.2=83MIPS。下面的例子將說(shuō)明如何節(jié)省2倍的運(yùn)算周期。



高效二維卷積實(shí)例
---對(duì)于下面一節(jié)將描述的代碼,將主要討論完成所有乘法累加(MAC)運(yùn)算的“內(nèi)部”環(huán)路。這個(gè)示例將證明通過(guò)適當(dāng)?shù)貙?duì)齊輸入數(shù)據(jù),MAC單元能夠在一個(gè)處理器周期內(nèi)每次處理兩個(gè)輸出點(diǎn)。在同樣的周期內(nèi),讀取多個(gè)數(shù)據(jù)可與MAC運(yùn)算并行執(zhí)行。
---這個(gè)應(yīng)用的關(guān)鍵部分是內(nèi)部循環(huán),如圖3所示。內(nèi)部循環(huán)的每條線路都按照單周期指令執(zhí)行,輸入數(shù)據(jù)以16bit數(shù)表示。輸入矩陣的開(kāi)始必須對(duì)齊32bit邊界。這確保了輸入矩陣的兩個(gè)連續(xù)點(diǎn)可以在一個(gè)32bit讀操作中讀出來(lái)。在進(jìn)入此循環(huán)之前,該輸入矩陣的第一個(gè)值保存在R0.H中并且它的第二個(gè)值(F12)保存在R0.L中,正如圖3示出的第一周期的前2個(gè)運(yùn)算。寄存器R1.L也要在進(jìn)入內(nèi)部循環(huán)之前裝入。它包含掩碼矩陣(H11)第一個(gè)元素的值。每經(jīng)過(guò)這樣一個(gè)循環(huán),會(huì)產(chǎn)生兩個(gè)輸出點(diǎn)。每?jī)蓚(gè)像素所需的總處理周期為9個(gè),相當(dāng)于處理一個(gè)像素需要4.5個(gè)周期。
---正如前面所述,為了獲得該輸出矩陣的每個(gè)元素,需要9次乘法和8次加法運(yùn)算。但是,由于雙MAC運(yùn)算,2個(gè)輸出元素可以在每個(gè)內(nèi)部循環(huán)結(jié)束時(shí)獲得。因此,F11×H11和F12×H11可以在第一條指令結(jié)束時(shí)在加法器中獲得。內(nèi)部循環(huán)的每條指令都轉(zhuǎn)向下一個(gè)掩碼值,其結(jié)果將在單獨(dú)的累加法中累加。該內(nèi)部循環(huán)的最終輸出裝進(jìn)R6中。
---多個(gè)數(shù)學(xué)運(yùn)算不僅僅同時(shí)出現(xiàn)在每個(gè)周期中,而且裝入和保存還可并行操作,以便進(jìn)一步提高效率。還以第一周期為例,下一個(gè)輸入元素(F13)讀入R0.L中,并且在隨后的一個(gè)指令中用于一個(gè)MAC運(yùn)算。類似地,將下一批掩碼值裝入R2。這些值用于該內(nèi)部循環(huán)的后續(xù)MAC操作。



結(jié)論
---在進(jìn)行圖像濾波時(shí),3×3掩碼二維卷積是很容易實(shí)現(xiàn)的。上面介紹的研究結(jié)果示范了如何選擇一個(gè)適合實(shí)時(shí)圖像處理的處理器,并且了解其結(jié)構(gòu)組成,以便能夠提高算法效率并且減少執(zhí)行周期(這里為原來(lái)的1/4)。此外,還能為在同一個(gè)平臺(tái)實(shí)現(xiàn)更復(fù)雜的圖像處理功能提供堅(jiān)實(shí)的基礎(chǔ)。

  • 上一篇: 數(shù)字音頻網(wǎng)絡(luò)產(chǎn)品的進(jìn)化式飛躍
  • 下一篇: 從手機(jī)零部件展會(huì)看配套產(chǎn)業(yè)發(fā)展
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1