在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于TMS320C6416芯片實現ASP視頻編碼器的設計及應用

電子設計 ? 來源:電力系統(tǒng)通信 ? 作者:陳勇 ? 2021-03-16 15:48 ? 次閱讀

MPEG-4SP ( Simple Profile)編碼器以其出眾的壓縮效率和圖像質量受到了廣泛關注,并隨之誕生了很多基于PC平臺的編解碼器(如Divx、Xvid等) ,在遠程教育和高清晰度電影等方面得到了廣泛應用。而2001年發(fā)布的MPEG-4標準V2. 0 中包含的ASP編碼器,則在SP的基礎上增加了一些新的工具,進一步提高了壓縮效率,因此更適合在無線視頻通信數碼攝像機等嵌入式系統(tǒng)中應用。

1 硬件平臺TMS320C6416介紹

選用的實驗硬件平臺是TMS320C6416 DSK(DSP Starter Kit) 。其核心處理器為美國TI公司的高性能定點32位DSP C6416,基于第2代高性能Ve2lociTI. 2 VLIW結構,帶有64個32位字長的寄存器,8個高度獨立的功能單元( 2個乘法單元, 6個算術邏輯單元) ,工作時鐘頻率為600MHz,峰值處理速度可達4800Mbit/s。C6416 DSP具有1MB 的片上存儲空間,采用兩級緩存結構。其中同CPU直接相連的L1P和L1D能以CPU相同的速度運行, 而L2CACHE有5 種配置模式,可根據實際需要來設定L2CACHE的大小。同時C6416還具有64個獨立的EDMA通道,可在CPU 后臺進行大量的數據搬移,并集成了16MB的SDRAM,可配置為高速緩存 ,提高訪問效率。

2 MPEG-4ASP視頻編碼

運動圖像專家組MPEG于2001年在其新發(fā)布的V2. 0版本中增加了一些新的工具和框架,其中包括了ASP 。ASP 在SP的基礎上增加了對B-VOP、1/4像素精度的運動矢量、可選量化器 、全局運動補償GMC等的支持,進一步提高了壓縮效率。

(1)B-VOP使用雙向預測來提高運動補償的效率,也即每個block塊或者macroblock宏塊都可由前向和后向預測加權得到。

(2) 1/4像素運動矢量 : 在進行運動估計和補償之前, 參考VOP先在1/2像素位置處,進而在1/4處進行插值,盡管這樣增加了運動估計、運動補償和圖像重建的復雜度,但編碼效率相比SP編碼器得到了提高。

(3)可選量化器:在ASP中提供了一種可選的反量化方式。在這種方式中,量化系數FQ ( u, v)按照下面的方式進行反量化來生成系數F (u, v) : if (FQ = 0) F = 0; elseF = [ (2 ×Fc( u, v) + k) ×WW ( u, v) ×QP ] /16。其中WW 是8 ×8的加權因子矩陣,這種反量化方式使得編碼器可根據量化系數在塊中的位置,使用WW 改變步長。

(4)全局運動補償(GMC) :同一視頻對象(VO)中的宏塊可能經歷相似的運動,如攝像機鏡頭的縮放和旋轉等造成的線性移動,其中的一些宏塊可能向同一方向運動。帶GMC的編碼器只需發(fā)送少量的運動參數就能為整個VOP描述這個“全局”運動。因此,當VOP中相當數量的宏塊擁有相同運動特性時, GMC就可以顯著的提高壓縮效率。

3 軟件移植及優(yōu)化

由于DSP不同于普通的PC環(huán)境,因此簡單的將代碼放到DSP上去編譯,運行效率低甚至不能運行,必須進行適合DSP特點的代碼移植、改寫和優(yōu)化工作,才能達到實時性要求。

3. 1 軟件移植

為使代碼適合在DSP平臺上運行,首先刪除程序代碼中大量的printf等調試信息,對必要的信息輸出改用puts,以減少函數開銷;對double類型數據改用long類型定義;刪除不必要的浮點運算(如PSNR的計算) ,必要的浮點運算通過定標來實現。

3. 2 存儲器優(yōu)化

C6416DSP有1MB 的片上存儲空間,最大能以CPU時鐘頻率進行訪問。在DSK上集成了16Mb/s的SDRAM,可通過EM IFA以100MHz的頻率進行訪問。訪問速度上存在的差異以及CPU尋址外部存儲空間將導致流水線停止數個周期,因此,如何合理利用C6416的片上存儲空間和二級緩存結構成了非常關鍵的因素。將1MB的存儲空間分為256k的L2CACHE和768 k的L2SRAM,代碼段、全局數據等放在片內存儲器L2SRAM 上, 外部SDRAM 設定為可高速緩存(Cacheable)以提高訪問效率。這些設置可以通過調用CSL (Chip Support Library)庫函數來完成:

#include

#include

CSL_init ( ) ;

CSL_enableCaching(CACHE_EM IFA_CE00) ;

CACHE_setL2Mode (CACHE_256 k CACHE) 。

3. 3 項目級優(yōu)化

TI為其集成編譯環(huán)境CCS提供了一系列的編譯優(yōu)化參數,可根據代碼性能要求進行選取。因此可以通過不斷對各個參數( - mw, - pm, - o3, - mt等)進行組合、優(yōu)選,這可以通過CCS 2. 20的PBC選項來完成。同時在代碼鏈接過程中,對代碼段鏈接順序進行一定的安排,可以減少程序執(zhí)行時代碼調用帶來的緩存缺失,提高程序的執(zhí)行效率。

3. 4 代碼優(yōu)化

代碼優(yōu)化是MPEG-4 ASP視頻編碼器軟件開發(fā)中的一個重要環(huán)節(jié),未經過優(yōu)化的代碼在DSK平臺上的執(zhí)行效率很低,平均約25s才進行一幀編碼,而實時性的指標為每秒25幀以上。

(1)使用TI庫函數

TI提供了圖像處理函數庫IMGL IB,可以調用其中的函數進行FDCT和IDCT變換。

(2)對C代碼進行改寫

首先對程序中的循環(huán)操作進行分解展開,對不能展開的循環(huán)則合理安排循環(huán)內外層,以更大程度地提高流水效率。C6000的編譯器還提供了許多內聯函數( intrinsics) ,這些內聯函數能直接映射到對應的匯編指令,提高程序的效率。同時可利用編譯指示偽語句( Pragma Directive)向編譯器提供一些先驗知識,以提高編譯效率。如用#p ragma (minimum value, maximumvalue, factor)向編譯器指出循環(huán)執(zhí)行的信息,這樣便于編譯器利用數據打包等技術進行優(yōu)化。以計算宏塊中像素同均值偏差的dev16函數為例,采用了以上方法改寫后,函數執(zhí)行周期數由277 個cycles變?yōu)?30個cycles (同在o3條件下) ,性能提升超過50%。

(3)進行線性匯編改寫

線性匯編是針對C6000 的結構特點優(yōu)化設計的介于C和匯編語言之間的一種編程語言,其編譯效率能達到匯編代碼的90%以上。同時C64x系列DSP針對圖像和視頻應用增加了許多特有的指令,使得這些應用的代碼編寫效率得到了提高。如在ASP視頻編碼器中,半像素插值使用的avgu4、shrmb、unpklu4 和unpkhu4指令,計算SAD 時用到的dotpu4、subabs4 指令,圖像重建時用到的SPACK2指令等等。也方便了代碼的編寫,如ME (Motion Estimation運動估計)時在參考圖像幀中進行像素值讀取的LDNDW 指令,解決了參考圖像中數據不滿足雙字對齊的問題。下面給出了將函數transfer_16 to8copy( )通過線性匯編改寫后的代碼,同在o3選項下,線性匯編代碼只需C代碼15. 8%的指令周期。表1給出了部分代碼改寫前后的性能對比(同在o3優(yōu)化選項下) 。

。 global _transfer_16 to8copy

_transfer_16 to8copy: 。 cp roc dst, src, stride

。 reg pdst, p src, count

。 reg ahi: alo, bhi: blo, chi: clo

mvk 8, count

mv dst, pdst

mv src, p src

loop: 。 trip 8, 8

lddw 3 *psrc, ahi: alo

spacku4 ahi, alo, blo; keep the value

in the range 0 - 255

lddw 3 *+psrc (8) , chi: clo

spacku4 chi, clo, bhi

stdw bhi: blo, 3 pdst

add pdst, stride, pdst

add p src, 16, p src

[count ] sub count, 1, count

[ count ] b loop

。 endp roc

3. 5 數據搬移優(yōu)化

由于片上存儲空間有限,因此只能將參考圖像及重建圖像等數據放在外部SDRAM中,但也導致了訪問外部存儲器時帶來的巨大開銷。而C64x具有的EDMA和QDMA只需花費數個時鐘周期進行參數初始化后,就可以在CPU 后臺進行高速的數據搬移操作,提高了程序執(zhí)行效率。針對簡單的數據搬移,可以利用CSL庫提供的DAT函數進行。以一段簡單的2D數據搬移為例,給出利用QDMA后的實現代碼:

unsigned int transferID = DAT_open (DAT_CHAA-NY,DAT_PR I_LOW,DAT_OPEN_2D) ;

DAT_copy2d (DAT_2D2D, con, ref, 16, 16,width) ;

DAT_wait ( transferID) 。

對復雜的數據搬移,可以采用多通道的EDMA來實現。EDMA提供了linking和chaining的機制,在部分數據搬移完成后,自動對EDMA鏈路或通道參數進行更新載入,無需CPU干預,特別適合進行大量的數據搬移。然而需要注意,由于SDRAM中的待搬移數據在L2CACHE中存在副本,因此在進行數據搬移前,需對L2CACHE和SDRAM中的待搬移數據進行一致性操作(Coherence Operations) ,否則將得不到正確的結果。

4 實驗結果與分析

通過上面提到的軟件優(yōu)化方法,在C6416 DSK上對MPEG - 4視頻編碼器進行了仿真。為了得到編碼信息,如峰值信噪比( PSNR) ,在代碼中臨時加入了calc_p snr ( )函數,以便于對ASP編碼器和SP編碼器進行性能比較。以352 ×288大小的CIF格式foreman視頻序列為例,在編碼碼率為256 K時,對分別支持GMC、QPEL和B - VOP以及同時支持上述3 個工具的ASP編碼器和SP編碼器進行了性能對比( SP編碼形式為“IPPPP.”, ASP使用B - VOP時為“ IBBPBB-

PBBP.”) 。

表2給出了得到的編碼文件長度,可以看出ASP編碼器相比SP編碼器其存儲空間要求更小,而圖像質量變化不大,因此更適合于數碼攝像等嵌入式場合的應用。

圖1 對ASP編碼器(支持B -VOP、GMC 及QPEL) 與SP 編碼器進行了比較, 可以看出前者在PSNR性能上較后者平坦,均方差較小,圖像質量更為穩(wěn)定。

圖1 foreman序列ASP和SP視頻編碼器PSNR性能比較

雖然壓縮效率提升,但導致計算量上升,并且由于編碼時采用了B-VOP增加了后向預測,編碼時延增大,圖像幀速率有所降低。

5 結束語

由于ASP視頻編碼器具有更高的壓縮效率,雖然在編碼速度上有所降低,時延增大,但仍能在DSP上進行實時編碼,因此適合在存儲容量受限的場合(如數碼攝像、視頻監(jiān)控網絡等領域)應用。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19657

    瀏覽量

    232457
  • 芯片
    +關注

    關注

    459

    文章

    51828

    瀏覽量

    432281
  • 編碼器
    +關注

    關注

    45

    文章

    3737

    瀏覽量

    136317
收藏 人收藏

    評論

    相關推薦

    急需TMS320C6416的板級支持包bsp/bsl,求助

    急需TMS320C6416的板級支持包bsp/bsl,求助我做了塊使用TMS320C6416的板子,現在做DSP開發(fā),沒有dsp包啊,要自己寫嗎?大家有沒有現成的,我可以借鑒借鑒。求幫助啊~~~謝謝,謝謝!
    發(fā)表于 03-22 22:33

    請問有TMS320C6416TMS320C6747的對比表嗎?原來用的TMS320C6416,現在想換TMS320C6747 或TMS320C6747

    我是用于圖像處理方面,看到TMS320C6416、TMS320C6747(TMS320C6748)的主頻、指令集長度都不同,感覺不太好比較,能否給個46系列和67系列的對比表?
    發(fā)表于 08-02 07:02

    請問如何學習TMS320C6416?

    研二,硬件小白,請問如何學習TMS320C6416?
    發(fā)表于 01-24 10:16

    TMS320C6416 pdf datasheet

    The TMS320C64x™ DSPs (including the TMS320C6414, TMS320C6415, and TMS320C6416 devices
    發(fā)表于 08-07 22:21 ?89次下載

    TMS320C6416 的軟件編程優(yōu)化

    TI 公司開發(fā)的TMS320C6416 是目前業(yè)界性能最強的芯片之一,目前,它的最高頻率為1GHz,指令執(zhí)行的并行度最高達到8,最大運行處理能力為8000MIPS。本文就基于TMS320C6416
    發(fā)表于 05-18 13:35 ?21次下載

    MPEG-4 ASP視頻編碼器的軟件優(yōu)化設計

    本文介紹了 TMS320C6416 DSP 和MPEG-4ASP (Advanced Simple Profile )視頻編碼器在SP基礎上新增的工具,詳細闡述了基于該平臺
    發(fā)表于 12-02 17:07 ?15次下載

    基于DSP TMS320C6416的實時圖像處理系統(tǒng)

    基于DSP TMS320C6416的實時圖像處理系統(tǒng)    本文設計了基于TMS320C6000系列DSP的MPEG-4編碼器。將攝像頭獲取的圖像以MPEG-4標準進行實時壓縮并通過VGA實時顯示,
    發(fā)表于 11-25 10:00 ?2782次閱讀
    基于DSP <b class='flag-5'>TMS320C6416</b>的實時圖像處理系統(tǒng)

    基于DSP TMS320C6416的數字下變頻技術

    本文以某雷達對抗偵察數字接收機為例,介紹一種基于TI公司的DSP TMS320C6416的數字下變頻
    發(fā)表于 08-09 11:15 ?3039次閱讀
    基于DSP <b class='flag-5'>TMS320C6416</b>的數字下變頻技術

    TMS320C6416 DSK原理圖

    TMS320C6416 DSK原理圖,下來看看
    發(fā)表于 08-05 18:37 ?48次下載

    TMS320C6416 DSK原理圖

    TMS320C6416 DSK原理圖,下來看看
    發(fā)表于 08-19 17:04 ?61次下載

    TMS320C6416 DSK技術參考詳細資料免費下載

    該文檔描述了TMS320C6416 16 DSPStarter Kit(DSK)模塊的板級操作。DSK是基于德克薩斯儀器TMS320C6416 數字信號處理。
    發(fā)表于 08-28 16:12 ?49次下載
    <b class='flag-5'>TMS320C6416</b> DSK技術參考詳細資料免費下載

    TMS320C6414/TMS320C6415/TMS320C6416定點數字信號處理數據表

    電子發(fā)燒友網站提供《TMS320C6414/TMS320C6415/TMS320C6416定點數字信號處理數據表.pdf》資料免費下載
    發(fā)表于 08-02 13:05 ?0次下載
    <b class='flag-5'>TMS320C</b>6414/<b class='flag-5'>TMS320C</b>6415/<b class='flag-5'>TMS320C6416</b>定點數字信號處理<b class='flag-5'>器</b>數據表

    TMS320C6416開機自檢

    電子發(fā)燒友網站提供《TMS320C6416開機自檢.pdf》資料免費下載
    發(fā)表于 10-18 11:14 ?0次下載
    <b class='flag-5'>TMS320C6416</b>開機自檢

    使用TMS320C6416協處理:Viterbi協處理(VCP)

    電子發(fā)燒友網站提供《使用TMS320C6416協處理:Viterbi協處理(VCP).pdf》資料免費下載
    發(fā)表于 10-21 09:36 ?0次下載
    使用<b class='flag-5'>TMS320C6416</b>協處理<b class='flag-5'>器</b>:Viterbi協處理<b class='flag-5'>器</b>(VCP)

    使用TMS320C6416協處理:Turbo協處理(TCP)

    電子發(fā)燒友網站提供《使用TMS320C6416協處理:Turbo協處理(TCP).pdf》資料免費下載
    發(fā)表于 10-23 10:16 ?0次下載
    使用<b class='flag-5'>TMS320C6416</b>協處理<b class='flag-5'>器</b>:Turbo協處理<b class='flag-5'>器</b>(TCP)
    主站蜘蛛池模板: 国产伦精品一区二区三区免费 | 美女被免费视频的网站 | 九九热精品在线 | 天天干国产| 99久久免费精品国产免费高清 | 躁天天躁中文字幕在线 | 婷婷在线观看网站 | 日本成人黄色网址 | 欧美日剧在线免费 | 四虎永久精品免费网址大全 | 亚洲婷婷综合中文字幕第一页 | 一级毛片一级毛片一级毛片aa | 你懂的在线观看网站 | 国产精品igao在线观看樱花日本 | 97久久综合九色综合 | 国内精品第一页 | 国内精品免费视频精选在线观看 | 超色视频 | 天天舔天天干 | 精品伊人久久大线蕉地址 | 色四虎| 中国黄色一级毛片 | 一级特黄色毛片免费看 | 在线capcom超级碰碰 | 美女牲交毛片一级视频 | 五月综合激情久久婷婷 | 99pao在线视频精品免费 | 河南毛片 | 欧美四虎影院 | 欧美爱爱网址 | 久久影视免费观看网址 | 中国美女毛片 | 日本国产在线 | 亚洲羞羞裸色私人影院 | 手机在线黄色网址 | 天天干天天干天天色 | 色婷婷激婷婷深爱五月老司机 | 欧美一区二区三区影院 | 一级片免费在线观看视频 | 国产深夜福利在线观看网站 | 国产一区国产二区国产三区 |