電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>H.264解碼器算法的DSP實現(xiàn)

H.264解碼器算法的DSP實現(xiàn)

2017-10-20 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

多媒體通信終端設備具有廣泛的應用前景,可以應用于視頻會議、可視電話、PDA、數(shù)字電視等各個領域,所以高效、實用的多媒體終端設備一直是通信領域研究的主要方向之一。
  多媒體通信終端的實現(xiàn)主要有兩點:一方面需要快速、穩(wěn)定的處理器作為多媒體信號處理的平臺,另一方面需要適合多媒體通信的協(xié)議標準和軟件算法,尤其是對音視頻信號的壓縮處理算法。兩者的結合才能產(chǎn)生高效的多媒體通信設備。目前,隨著數(shù)字信號處理器(DSP)的高速發(fā)展,為實現(xiàn)高效的音視頻信號處理提供了可能性;另一方面,最新的低碼率視頻壓縮標準H.264的出臺,提供了適合通信的視頻標準和算法指導。因此,將兩者結合,把H.264算法在DSP上實現(xiàn),對于多媒體通信的研究具有一定的意義和價值。
  本文介紹了H.264解碼器算法的DSP實現(xiàn)。在設計中,采用了ATEME公司網(wǎng)絡視頻開發(fā)平臺(NVDK C6416)作為DSP處理平臺,實現(xiàn)了H.264的優(yōu)化解碼算法。對于QCIF視頻序列,解碼速度達50~60幀/秒。
  1 網(wǎng)絡視頻開發(fā)平臺NVDK簡介
  NVDK是TI的第三方ATEME公司推出的基于TI C6400系列DSP評估開發(fā)套件,是一款適用于圖像、視頻信號處理的高速DSP開發(fā)平臺[1]。該套件為諸如視頻基礎設施及網(wǎng)絡化視頻設備等高級視頻應用制造商提供了方便,提高了數(shù)字視頻應用項目的開發(fā)速度。
  1.1 NVDK C6416體系結構
  NVDK C6416由TMS320C6416 DSP內核、10/100 Mbps 的以太網(wǎng)子卡、音頻視頻接口盒、PCI總線、存儲器單元、擴展接口及獨立電源等構成。其功能結構框圖如圖1所示。
  H.264解碼器算法的DSP實現(xiàn)
  1.2 NVDK C6416的主要特點
  NVDK作為網(wǎng)絡及視頻開發(fā)套件,把很多音視頻接口及網(wǎng)絡接口直接做在板卡上,給采用TI C6000系列DSP芯片作為處理單元的開發(fā)用戶提供了便利的前端平臺。它為項目演示、算法實現(xiàn)、原型制作、數(shù)據(jù)仿真、FPGA開發(fā)和軟件優(yōu)化提供了完整的DSP開發(fā)平臺。其主要特點如下:
  ·C6416 DSP內核:600MHz時鐘頻率及8指令并行結構,最高可以達到4800MIPS的處理能力。
  ·視頻特點:在輸入端,NVDK能夠捕獲PAL制或NTSC制的模擬視頻信號,可以采用復合視頻(CVBS)或者S-video視頻信號輸入,輸入模擬視頻信號被數(shù)字化為YUV422數(shù)字視頻格式。在輸出端,NVDK在支持復合視頻(CVBS)以及S-Video輸出的同時,還提供了SVGA輸出模式,可以直接將信號輸出到顯示器上。就圖像尺寸而言,視頻采集提供FULL、CIF和QCIF三種圖像格式,視頻輸出提供FULL和CIF兩種圖像格式。
  ·音頻特點:提供兩路雙聲道音頻輸出,CD音質的輸入輸出立體聲接口,另外還提供一路單聲道的麥克風輸入。
  ·主接口:提供了PCI接口,允許與PC機相連。該板既可以以PCI模式運行,也可以單獨脫機工作。
  ·網(wǎng)絡接口:以太網(wǎng)接口為視頻碼流的網(wǎng)絡傳輸帶來了方便。
  ·外部擴展存儲器:256M 64位寬擴展內存SDRAMA和8M 32位寬擴展內存SDRAMB及4MB FLASH ROM提供了足夠的內存空間和靈活的內存分配方案。
  2 H.264視頻壓縮標準
  H.264是由ITU-T 視頻編碼專家組(VCEG)和ISO/IEC移動圖像專家組(MPEG)共同提出的最新國際視頻編碼標準。它在H.261、H.263視頻壓縮標準的基礎上,進行了進一步的改進和擴展。其目的是為了進一步降低編碼碼率,提高壓縮效率,同時提供一個友好的網(wǎng)絡接口,使得視頻碼流更適合在網(wǎng)絡上傳送[2]。由于該標準可以提供更低的碼率,所以更適合應用于多媒體通信領域。
  H.264主要有以下新特點:
  ·網(wǎng)絡適配層NAL(Network Abstraction Layer)。
  傳統(tǒng)的視頻編碼編完的視頻碼流在任何應用領域下(無論用于存儲、傳輸?shù)龋┒际墙y(tǒng)一的碼流模式,視頻碼流僅有視頻編碼層(Video Coding Layer)。而H.264根據(jù)不同應用增加不同的NAL片頭,以適應不同的網(wǎng)絡應用環(huán)境,減少碼流的傳輸差錯。
  ·幀內預測編碼模式(Intra Prediction Coding)。
  幀內預測編碼合理地利用了I幀的空間冗余度,從而大大降低了I幀的編碼碼流。
  ·自適應塊大小編碼模式(Adaptive Block Size Coding)。
  H.264允許使用16×16、16×8、8×16、8×8、8×4、4×8、4×4等子塊預測和編碼模式,采用更小的塊和自適應編碼的方式,使得預測殘差的數(shù)據(jù)量減少,進一步降低了碼率。
  ·高精度亞像素運動估計(High precision sub-pel Motion Estimation)。
  H.264中明確提出了運動估計采用亞像素運動估計的方法,并制定1/4像素和1/8像素可選的運動估計方法。亞像素運動估計,提高了預測精度,同時降低了殘差的編碼碼率。
  ·多幀運動補償技術(Multi-frame Motion Compensation)。
  傳統(tǒng)的視頻壓縮編碼采用一個(P幀)或兩個(B幀)解碼幀作為當前幀預測的參考幀。在H.264中,最多允許5個參考幀,通過在更多的參考幀里進行運動估計和補償,找到殘差更小的預測塊,降低編碼碼率。
  ·整形變換編碼(Inter Transform Coding)。
  H.264采用整形變換代替DCT變換,整形變換采用定點運算代替浮點運算。采用這種變換,不僅可以降低編解碼的時間,而且,為該算法在多媒體處理平臺上實現(xiàn)帶來了方便。在這一點上,H.264視頻編碼標準更適合作為多媒體終端的編解碼標準。
  ·兩種可選擇熵編碼CAVLC和CABAC。
  CAVLC(Context-based Adaptive Variable Length Coding):基于內容的自適應變長編碼。
  CABAC(Context-based Adaptive Binary Arithmetic Coding):自適應二進制算術編碼。
  以往的視頻壓縮標準中,都采用Huffman編碼與變長編碼相結合的方法進行熵編碼。Huffman編碼雖然是一種很好用的熵編碼方法,但是其編碼效率并不是最高的,而且,Huffman編碼的抗差錯性能很低。H.264中采用了兩種可以選擇的熵編碼方法:CAVLC編碼抗差錯能力比較高,但是編碼效率不是很高;CABAC編碼是一種高效率的熵編碼方法,但是計算復雜度很高。兩者各有優(yōu)缺點,所以針對不同的應用,選擇不同的編碼方法。
  3 H.264解碼器算法的DSP實現(xiàn)和優(yōu)化
  3.1 在PC機上實現(xiàn)H.264算法并進行優(yōu)化
  ITU-T官方提供的H.264的核心算法不僅在代碼結構上需要改進,而且在具體的核心算法上也需要做大的改動,才能達到實時的要求。這一步需要做的具體工作包括:去處冗余代碼、規(guī)范程序結構、全局和局部變量的調整和重新定義、結構體的調整等。
  3.2 PC機H.264代碼的DSP化
  C6000開發(fā)工具Code Composer Studio有自己的ANSI C編譯器和優(yōu)化器,并有自己的語法規(guī)則和定義,所以在DSP上實現(xiàn)H.264的算法要把PC機上C語言編寫的H.264代碼進行改動,使其完全符合DSP中C的規(guī)則。
  這些改動包括:去除所有的文件操作;去除可視化界面的操作;合理安排內存空間的預留和分配;規(guī)范數(shù)據(jù)類型——因為C6416是定點DSP芯片,只支持四種數(shù)據(jù)類型:short型(16 bit)、int(32bits)、long型(40bits)和double型(64bits),因此必須對數(shù)據(jù)進行重新規(guī)范,把浮點數(shù)的運算部分近似用定點表示,或用定點實現(xiàn)浮點運算;根據(jù)內存的分配定義遠近程常量和變量;把常用的數(shù)據(jù)在數(shù)據(jù)結構中提取出來,以near型數(shù)據(jù)定義在DSP內部存儲空間,以減少對EMIF端口的讀取,從而提高速度。
  3.3 H.264的DSP算法優(yōu)化[3]
  通過把PC機H.264代碼DSP化,可以在DSP上實現(xiàn)H.264的編解碼算法,但是,這樣實現(xiàn)的算法運行效率很低,因為所有的代碼都是由C語言編寫,并沒有完全利用DSP的各種性能。所以必須結合DSP本身的特點,對其進一步優(yōu)化,才能實現(xiàn)H.264視頻解碼器算法對視頻圖像的實時處理。
  對DSP代碼的優(yōu)化共分為三個層次:項目級優(yōu)化、C程序級優(yōu)化、匯編程序級優(yōu)化。
 ?。?)項目級優(yōu)化:主要是通過選擇CCS提供的編譯優(yōu)化參數(shù),根據(jù)H.264系統(tǒng)的要求進行優(yōu)化,通過不斷地對各個參數(shù)( -mw -pm -o3 -mt等)的選擇、搭配、調整,改善循環(huán)、多重循環(huán)體的性能,進行軟件流水,從而提高軟件的并行性。
  (2)C程序級優(yōu)化:主要是針對采用的DSP的具體特點進行代碼的功能精簡、數(shù)據(jù)結構的優(yōu)化、循環(huán)的優(yōu)化、代碼的并行化處理。在這里主要工作包括以下部分:去除掉SNR計算、幀率及其他輔助信息的程序模塊。函數(shù)及數(shù)據(jù)映射區(qū)域的調整,把經(jīng)常用的數(shù)據(jù)存儲在片內存儲器中,頻繁調用的程序盡可能映射在相鄰或相近的存儲區(qū)域。C函數(shù)的并行化處理,針對并行化效果差的函數(shù),尤其是多重循環(huán)體,要進行循環(huán)拆解,將多重循環(huán)拆解為單重循環(huán)。減少存儲區(qū)數(shù)據(jù)的讀取和存儲,尤其是片外存儲區(qū)域數(shù)據(jù)的調用,以減少時間。數(shù)據(jù)結構的重定義和調整。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1489次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  3次下載  |  免費
  15. 8基于單片機的紅外風扇遙控
  16. 0.23 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費