機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
利用DSP實(shí)現(xiàn)圖像的二維DCT變換及優(yōu)化
利用DSP實(shí)現(xiàn)圖像的二維DCT變換及優(yōu)化
 更新時(shí)間:2008-8-3 15:59:07  點(diǎn)擊數(shù):6
【字體: 字體顏色


    
Implementation and Optimization of Two-dimensional DCT Based on DSP

 


摘  要:介紹了圖像的二維DCT變換原理,分析了Loeffler的DCT變換算法。根據(jù)DSP處理器BF533的結(jié)構(gòu)和指令特點(diǎn),使用匯編語言對(duì)DCT算法程序進(jìn)行優(yōu)化,并且在 BF533實(shí)驗(yàn)平臺(tái)上進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的代碼無論在空間還是在時(shí)間上運(yùn)算效率都得到很大提高。

關(guān)鍵詞:DCT;   DSP ; 代碼優(yōu)化

 


Abstract: The principle of two dimensional Discrete Cosine Transform(DCT) is introduced in this paper. The algorithm of Loeffler’s DCT is analyzed. The algorithm of DCT is performed in assembly according to the structure and characteristics of BF533. The codes mentioned above are run on ADSP-BF533 platform successfully. Experiment results show that optimized codes are more efficiency than before in whatever code store space and code execution time.

Keywords: DCT; DSP;Code optimization

 

 


1 引言

現(xiàn)今的圖像編碼標(biāo)準(zhǔn),一般采用紋理編碼方式對(duì)圖像進(jìn)行壓縮。這種方式極大的利用了圖像數(shù)據(jù)的空間相關(guān)性,使圖像數(shù)據(jù)的壓縮能夠達(dá)到很高的比率。它主要是利用數(shù)學(xué)變換的方法,使用極少量的離散信號(hào)來表示大量的時(shí)域連續(xù)信號(hào)[1]。常用的數(shù)學(xué)變換有很多種,比如離散傅立葉變換DFT、沃爾什變換、哈爾變換、斜變換、離散余弦變換DCT、離散正弦變換DST 、K-L變換等。其中,K-L變換為理想狀態(tài)下的最佳變換方法,但是,由于K-L變換沒有快速的變換算法,而DCT、DFT和DST都具有與K-L變換近似的良好性質(zhì),尤其是當(dāng)一階馬爾可夫過程相鄰元素相關(guān)系數(shù)ρ逼近1時(shí),DCT的近似性能遠(yuǎn)遠(yuǎn)優(yōu)于其它兩者,并且DCT變換有具體的快速算法。因此,圖像壓縮標(biāo)準(zhǔn)中,使用DCT變換來實(shí)現(xiàn)紋理編碼。

由于DCT變換在各種編碼標(biāo)準(zhǔn)中要被反復(fù)調(diào)用,因此,其代碼執(zhí)行效率對(duì)實(shí)時(shí)視頻壓縮起著至關(guān)重要的作用[2]。實(shí)際應(yīng)用中,如何實(shí)現(xiàn)DCT變換的編碼及如何用硬件電路實(shí)現(xiàn)這種編碼變換是使用者關(guān)心的問題[3]。本文將利用DSP實(shí)現(xiàn)圖像的二維DCT變換并對(duì)其實(shí)行優(yōu)化。

2 DCT 變換

1974年Ahmed和Rao首先給出二維DCT 變換的數(shù)學(xué)表達(dá)式。該表達(dá)式適用于N點(diǎn)的DCT定義,但是,由于MPEG編碼一般是把視頻圖像幀或圖片分為場、片、宏塊的結(jié)構(gòu),一幀圖像一般包括1-2場,每場包括若干片,每片包括若干宏塊,為了方便處理,把每個(gè)宏快分成8×8的子塊,即DCT處理的基本單元是8×8的子塊。因此,直接定義實(shí)用8點(diǎn)二維DCT變換:

 


 

 


因此,可以使用2次一維DCT變換來實(shí)現(xiàn)二維DCT變換。

在該定義被提出以后,很多優(yōu)秀的算法也被提了出來。如Chen,Lee的快速DCT算法等,Loeffler 在1989年提出的實(shí)用快速DCT算法共使用11次乘法和29次加法,該算法比起Chen的算法快而且不會(huì)發(fā)生Lee算法中的上溢問題,并且該算法被證明已經(jīng)達(dá)到了算法極限,是最優(yōu)秀的算法[4]。該算法如圖1,它把整個(gè)DCT過程分成了四級(jí),第一級(jí)只有8次加法,第二級(jí)分為上下兩塊,上面是偶?jí)K,下面是奇塊,偶?jí)K有4次加法,奇塊有6次乘法和6次加法,第三級(jí)上面有5次加法3次乘法,下面有4次加法,第四級(jí)僅奇塊有2次乘法和2次加法。由圖1可見,奇數(shù)部分的第四級(jí)與第二級(jí)的計(jì)算構(gòu)成了連續(xù)的乘法,這種運(yùn)算實(shí)現(xiàn)的時(shí)間將增加實(shí)際的計(jì)算時(shí)間。故Loeffler 提出了無乘法串行的并行計(jì)算方法,該方法使用了12次乘法和32次加法,這在具有并行的MAC處理器的運(yùn)算中,并不增加實(shí)際的計(jì)算時(shí)間[1]。本文即采用這種DCT算法實(shí)現(xiàn)圖像的壓縮與處理。

[1] [2]  下一頁



[1] [2]  下一頁
  • 上一篇: 基于HPI的應(yīng)用實(shí)現(xiàn)雙DSP的圖像處理系統(tǒng)
  • 下一篇: 用NiosII搭建的固態(tài)盤設(shè)備系統(tǒng)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(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ì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

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