新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于TMS320C64x 的MPEG-4實時編碼器設計與實現

        基于TMS320C64x 的MPEG-4實時編碼器設計與實現

        作者: 時間:2012-11-01 來源:網絡 收藏

        表1 預測技術對運動搜索性能的提高
        采用預測平均每個宏塊所需的
        SAD值計算次數
        峰值信噪比PSNR(dB)平均幀率(fps)
        533.16120
        1533.2395

        3 基于C64x CPU的軟件優化技術

          為了提高代碼的執行效率,必須充分利用C64x CPU的VLIW和流水線結構對其進行優化,使程序無沖突地并行執行。編碼程序中包含大量的循環體,例如計算SAD值、量化、DCT、半像素插值、運動補償和構建重建幀等。這些循環體代碼并不復雜,但執行次數頻繁,占據了編碼的絕大部分時間,因此循環體的優化是重點。本文所采取的代碼優化分為C語言優化和編寫線性匯編兩個步驟,主要從消除數據相關性、數據打包和循環體的軟件流水三個方面進行優化。

        3.1 針對C語言的優化

          C代碼的優化主要依靠開發環境CCS的編譯器完成,編程者需要合理選擇編譯選項,并利用特定的關鍵字和指令向編譯器提供優化信息。例如關鍵字restrict用來消除數據間的相關性,編譯器從而可以安排語句的并行執行;內聯函數_nassert有助于數據的打包處理;宏指令#pragma MUST_ITERATE告訴編譯器有關循環迭代次數的信息,編譯器會根據這一信息進行軟件流水。

        3.2 用線性匯編改寫關鍵代碼

          線性匯編是TMS320C6000特有的一種編程語言,介于高級語言和匯編語言之間。它可以指定指令用到的寄存器和功能單元,更易于對數據的打包處理。

          線性匯編代碼的并行處理和軟件流水由匯編優化器完成,編程者需要熟悉C64x DSP的CPU結構和指令集,認真設計代碼并充分利用編譯器的反饋信息合理修改代碼,才能寫出高質量的線性匯編。本設計中程序主框架采用C語言編寫,其它各關鍵部分的代碼采用線性匯編實現。表2是代碼優化前后的效率對比,表2中所列各代碼段均針對8×8宏塊進行處理。
        表2 各關鍵代碼優化前后消耗指令周期數對比
        代碼段未優化C優化后線性匯編優化后
        SAD值計算14005534
        量化1250238108
        逆量化1200291170
        FDCT136029296
        IDCT1600373102
        半像素插值2800466246
        運動補償、做差195016059
        重建宏塊100089088

        4 結果分析

          對各標準視頻序列進行編碼,測得表3所示數據。實時采集D1(720×576)分辨率的視頻進行編碼,測得碼率為850kbps時,編碼速率達25fps以上,峰值信噪比(PSNR)高于31dB,實現了高分辨率的實時編碼。
        表3 標準視頻序列的編碼結果
        視頻序列分辨率碼率(bps)PSNR(dB)平均幀率(fps)
        NewsQCIF100k36.23480
        SilentQCIF100k35.66485
        ForemanQCIF100k32.04465
        ForemanCIF300k33.16120

          表3中各視頻序列的編碼均采用了8×8半像素精度的運動估計,解碼圖像的視覺效果較好。對于較低分辨率的視頻(QCIF、CIF),其編碼速率已遠遠高于實時的要求,因此可以考慮添加新的算法以提高壓縮效率并增強碼流的抗差錯性能。

          本文以DM642芯片為例詳述了基于C64x DSPs的設計。編碼器采用MPEG-4 Simple Profile算法,在算法和代碼優化方面還有一定的研究空間。本文給出的設計方法可以進一步推廣到H.264或者其他視頻編碼系統。

        參考文獻

        1 Prasad RSV, Ramkishor korada. Efficient implementation of MPEG-4 video encoder on RISC
        core[J].IEEE Transactions on Consumer Electronics, 2003;47(1):1~6
        2 A. Dasu, S. Panchanathan. A Survey of Media Processing Approaches[J]. IEEE Trans.on
        Circuit and System for Video Technology, 2002;12(8):1~13
        3 Tihao Chiang, Hung_Ju Lee, Huifang Sun. An overview of the encoding tools in the
        MPEG-4 reference software[J].In-ternational Symposium on Circuits and Systems,
        2000; May 28-31:1~4

        霍爾傳感器相關文章:霍爾傳感器工作原理


        霍爾傳感器相關文章:霍爾傳感器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 客服| 收藏| 西城区| SHOW| 公主岭市| 稻城县| 荔波县| 佛学| 襄垣县| 辽阳县| 金坛市| 三原县| 凭祥市| 左云县| 建平县| 民乐县| 台中县| 江达县| 饶河县| 棋牌| 祁阳县| 阿合奇县| 榆林市| 勃利县| 西充县| 新竹县| 黄大仙区| 兖州市| 澄迈县| 始兴县| 亚东县| 华阴市| 扶风县| 惠州市| 五华县| 伊川县| 怀仁县| 桐梓县| 扬中市| 玉门市| 颍上县|