<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于TMS320VC550的JPEG視頻壓縮系統(tǒng)的實(shí)現(xiàn)

          基于TMS320VC550的JPEG視頻壓縮系統(tǒng)的實(shí)現(xiàn)

          作者: 時(shí)間:2010-02-26 來源:網(wǎng)絡(luò) 收藏

          5 優(yōu)化

            算法在DSP上需要解決編碼速度問題。片上內(nèi)存資源的有限性使得大部分的程序代碼和數(shù)據(jù)不得不放在片外,大量的圖像數(shù)據(jù)在慢速的SDRAM存儲器中,對其訪問和算術(shù)運(yùn)算是影響性能的關(guān)鍵因素之一。因此,應(yīng)從內(nèi)存分配和代碼優(yōu)化兩個(gè)方面來優(yōu)化程序,提高編碼效率。

            5.1 數(shù)據(jù)內(nèi)存優(yōu)化

            由于VC5509A的片上存儲器包括32 Kx16位DARAM,96 Kx16位SARAM,共128 K位的存儲空間。其中DARAM為雙訪問內(nèi)存,即在一個(gè)周期內(nèi)可完成兩次數(shù)據(jù)訪問,SARAM為單訪問內(nèi)存,即在一個(gè)周期內(nèi)只能完成一次數(shù)據(jù)訪問,片外內(nèi)存為擴(kuò)展的SDRAM,訪問其需要額外的等待時(shí)間,執(zhí)行效率比較低。因此在算法設(shè)計(jì)中應(yīng)合理安排內(nèi)存分配,盡量將訪問頻繁的程序代碼和數(shù)據(jù)放在片內(nèi)內(nèi)存中,特別是DARAM中,可以提高編碼效率。

            5.2 C代碼優(yōu)化

            在的編碼中,根據(jù)VC5509A結(jié)構(gòu)特點(diǎn)及結(jié)合圖像數(shù)據(jù)量大的特點(diǎn),提高編碼效率,考慮程序編寫和優(yōu)化如下:

            (1)利用編譯器優(yōu)化,開啟編譯器的優(yōu)化選項(xiàng),包括基本優(yōu)化、文件級優(yōu)化和程序級優(yōu)化。

            (2)使用本征(intrinsics)函數(shù),C55x提供了一種特殊函數(shù)一本征函數(shù),可迅速優(yōu)化C代碼。本征甬?dāng)?shù)前有個(gè)下劃線“一”,調(diào)用方法和普通函數(shù)相同。

            (3)使用圖像庫,TI提供C55x的圖像庫IMGLIB,庫中都是圖像處理常用的函數(shù),而且可以用C語言調(diào)用,匯編優(yōu)化好,執(zhí)行效率高,因此盡量用庫函數(shù)。在JPEG編碼中比較關(guān)鍵的是DCT變換可調(diào)用庫函數(shù)中的IMG_sw_fdct_8x8(short*fdct_data,short, *inter_buffer),該函數(shù)完成一次DCT變換需用1 078個(gè)時(shí)鐘周期。大大提高JPEG的編碼效率。

            (4)高效使用MAC硬件,C55x有專門的硬件高效執(zhí)行MAC運(yùn)算。一個(gè)周期中可以執(zhí)行一個(gè)單乘加或一個(gè)雙乘加(dual-MAC)運(yùn)算。

            (5)使用特殊數(shù)據(jù)類型(register類型、volatile類型、const類型),對于需要多次重復(fù)訪問的變量,如for循環(huán)中的變量值,一般可設(shè)置為register型變量。聲明變量為register型能提高效率,但必須小心使用。在某些編譯器中,優(yōu)化器會自動分配一些變量為register 型。

            (6)減少判斷循環(huán),在使用判斷方式選取控制語句時(shí)應(yīng)盡量減少判斷轉(zhuǎn)移。DSP多采用流水線結(jié)構(gòu)。由于TMS320C55X采用7級流水線結(jié)構(gòu),頻繁的轉(zhuǎn)移指令使得流水線難以發(fā)揮作用。

            另外。DSP的大多數(shù)指令為單周期指令,但轉(zhuǎn)移類指令卻通常要耗費(fèi)較多的機(jī)器周期。因此,應(yīng)盡可能減少程序中的轉(zhuǎn)移分支,以提高程序的效率。

            6 實(shí)驗(yàn)結(jié)果

            6.1 效果實(shí)驗(yàn)結(jié)果

            通過改變量化因子Q,改變圖像的比。比越大,壓縮過程中的視覺損失越大,壓縮后的圖片越不清晰。圖6為采用不同的量化因子Q的壓縮前后效果比較圖。其中,圖6a為未壓縮,大小57.4 KB的原始BMP圖像,圖6b為壓縮后大小為5.18 KB的圖像,圖6c為壓縮后大小5.18 KB的圖像。由圖知,壓縮后的圖像與原始圖像在視覺效果上相差不大。當(dāng)Q=50時(shí),壓縮后圖像所需存儲空間僅為原圖像的1/14。

          采用不同的量化因子Q的壓縮前后效果比較圖


            6.2 壓縮耗時(shí)實(shí)驗(yàn)結(jié)果

            對于一個(gè)8x8數(shù)據(jù)塊,各步耗時(shí)如下:分塊:1.335μs;DCT變換:5. 39μs;量化:1.355μs;哈夫曼編碼:3.375μs。說明一個(gè)8x8數(shù)據(jù)塊總耗時(shí)為11.455μs,一幀720x576灰度圖像的壓縮總耗時(shí)為90x72x11.455=74 228.4μs,再加上其他輔助操作,實(shí)際耗時(shí)約75 ms。根據(jù)上述結(jié)果,在1 s內(nèi)向上位機(jī)發(fā)送13幀720x576的灰度圖像,基本滿足要求。

            7 結(jié)束語

            介紹9A DSP的JPEG壓縮的設(shè)計(jì)和方案,該系統(tǒng)硬件設(shè)計(jì)采用DSP+FPGA的方案,充分發(fā)揮了各自優(yōu)勢;而軟件設(shè)計(jì)針對C55x的結(jié)構(gòu)進(jìn)行程序結(jié)構(gòu)和算法優(yōu)化,經(jīng)過驗(yàn)證達(dá)到較好的實(shí)時(shí)效果。由于該系統(tǒng)體積小、功耗低,適用于一些野外圖像采集、遠(yuǎn)程監(jiān)控等需要連續(xù)傳輸圖像的場合。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();