《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > H.264高清視頻編碼器的設計與實現
H.264高清視頻編碼器的設計與實現
2015年微型機與應用第6期
李 飛,卿粼波,滕奇志,何小海
(四川大學 電子信息學院,四川 成都 610065)
摘要: 針對高清視頻龐大的數據量以及H.264編碼器復雜的編碼結構引起的低編碼速率的問題,對影響算法編碼速率的原因進行了深入分析,并設計了高效的多核并行方案,進而充分利用TMS320C6678的多核性能,并結合TMS320C6678的運算存儲特性,對H.264編碼器進行了多方面的優化,最終使H.264編碼器對720P高清視頻序列編碼速率從1.2 fps增加到27.2 fps,更加貼近于實際應用。
Abstract:
Key words :

  摘  要: 針對高清視頻龐大的數據量以及H.264編碼器復雜的編碼結構引起的低編碼速率的問題,對影響算法編碼速率的原因進行了深入分析,并設計了高效的多核并行方案,進而充分利用TMS320C6678的多核性能,并結合TMS320C6678的運算存儲特性,對H.264編碼器進行了多方面的優化,最終使H.264編碼器對720P高清視頻序列編碼速率從1.2 fps增加到27.2 fps,更加貼近于實際應用。

  關鍵詞: H.264編碼器;TMS320C6678;高清視頻

0 引言

  H.264標準吸取以往標準中的優點,編碼效率與H.263+以及MPEG-4 SP相比最多可節省50%的碼率,存儲需求大大降低。正是由于H.264強大的功能及其巨大的市場潛力,國內外不少公司開始對H.264的編解碼應用進行研究并有產品紛紛面世。目前國內也紛紛對   H.264標準進行研究,使用專用H.264編解碼芯片推出了許多產品。編碼芯片速度很快,但是性能固定,無法根據需求進行性能的改進,另一方面新一代的HEVC編碼算法性能更為優越,但是由于其技術應用尚不成熟,H.264仍然擁有巨大的應用潛力,因而在DSP上實現H.264編碼器具有重大意義。

1 H.264復雜度分析

  H.264標準相比于以往壓縮標準有以下主要優點[1]:

  (1)在相同重建圖像質量下,H.264相比H.263+和MPEG-4節約50%的碼率;

  (2)H.264具有較強的抗誤碼能力,可以在惡劣的無線環境中運用;

  (3)H.264采用簡潔的分層模式,具有更友好的特性。

  本文采用H.264編碼器的可靠性能測試結果如表1所示。

004.jpg

  為了對編碼器進行更具針對性的優化,本文對編碼器內部主要算法部分進行了時間統計,結果如圖1所示。

001.jpg

2 編碼器在DSP上的實現

  2.1 DSP的多核并行處理方案

  為了充分發揮TMS320C6678的性能,需要設計一個高效的多核并行處理方案[2]。核間通信(IPC)的方式一般有兩種:MessageQ消息機制和Notify中斷機制。其中中斷機制是一種不可屏蔽的中斷通信機制,通信快速便捷,因而本文采用Notify中斷方式進行核間通信。多核之間實現可靠通信后,就需要為8個核的并行運算設計一種高效的拓撲結構,通常有Data-Flow模式和Master-Slave模式兩種常用的核間通信拓撲結構。

  (1)Data-Flow模式:通信控制邏輯簡單,適合單向通信,多核利用率不穩定,取決于各個核流水工作量均衡度,適用于能將算法分成多個獨立的相等工作量任務的情況。

  (2)Master-Slave模式:通信控制邏輯相對復雜,多核利用率較高,程序開發相對簡單[3]。

  根據圖1中時間測試可知,H.264編碼器中各任務工作時間很不均衡,因此本文采用Master-Slave模式。

001.jpg

  2.2 多核算法流程

  在Master-Slave模式下,核0充當邏輯控制器及數據流收發器,其他核則專于壓縮算法處理。當核0接收到視頻幀時,將720P視頻幀盡可能均勻地分成7個視頻片分配到各核的接收緩沖區中,核1~5的視頻片為106×1 280,核6~7的視頻片為90×1 280,各核在編碼完后將數據流存放在發送緩沖區中。為充分利用、提高多核并行效率,本文為每個運算核提供了兩組數據緩沖區,形成一個乒乓緩沖存儲結構,用以節約運算核對核0的等待時間,使各個核運算基本保持全速運行狀態,從而充分地利用多核并行處理能力。

3 H.264編碼器的DSP優化

  編碼器在DSP上的優化依據是基于DSP硬件結構上的特有操作,分為傳輸與運算兩種操作。傳輸優化是DSP核、EDMA控制器等主動模塊對不同存儲類型訪問性能優化配置過程。本文采用的傳輸方面優化有緩存優化、EDMA優化、數據存儲優化;在運算方面主要是針對C66x核的單指令多數據操作(SIMD)以及并行操作特性,在編譯器、C語言以及匯編語言層面上對編碼器進行優化。

  3.1 緩存(Cache)優化

  C6678擁有兩級緩存結構,SYS/BIOS默認將一級數據存儲(L1D)32 KB、一級程序存儲(L1P)32 KB全部設置為緩存,而本地二級存儲(LL2)則默認全部為普通存儲,可用于存放一些關鍵數據。圖2是在一級緩存為32 KB大小的情況下通過測試得到二級存儲不同緩存化程度與平均編碼時間的關系圖[4]。

002.jpg

  由圖2可以看出,當二級緩存大小超過1/8Cache程度時,編碼時間基本保持不變。考慮到資源寶貴,LL2用來存放一些高速運行的算法數據會表現出更好的性能,本文將二級緩存設置為1/8Cache模式。

  3.2 數據存儲優化

  數據存儲優化是根據C6678對不同存儲資源訪問的不同速度而確定數據分配,表2是DSP多核共享訪問DDR3和SL2的實驗統計對比。

005.jpg

  編碼過程中,全局變量所在的數據段為bss,動態開辟的空間、臨時變量以及中間保存結果所在的數據段為stack,還有全局數組所在的段為far,這部分訪問頻繁的數據則放在LL2上;其他訪問較少的段,如text、sysmem、cio則統一放在DDR3上。

  3.3 EDMA優化

  TMS320C6678共有3個EDMA管理器,10個通道。本文待壓縮視頻序列為720P,YUV420格式,一幅圖像的大小為1.32 MB,在任務分配過程中需要對圖像進行拷貝。對于這種大數據量的復制過程,EDMA比通過DSP核進行復制具有相當大的優勢,并且EDMA還可以完成非連續數據段的復制[5]。EDMA和DSP核的復制性能與復制數據量的關系測試對比如圖3所示。

003.jpg

  3.4 匯編優化

  匯編優化是一種運算型的優化,通過充分利用C66x核的SIMD特性以及運算單元并行特性,從而減少運算過程中所消耗的時間[6]。

  根據圖1中所示,編碼時間主要集中在預測、運動估計、DCT、量化等部分,選擇各部分算法中的關鍵函數進行匯編優化[7],優化結果如表3所示。

006.jpg

  3.5 其他優化

  除上述4種基于TMS320C6678特性的獨特優化,還可以進行一些DSP中常用的普適優化,這里只做簡單描述。

  (1)-O優化:-O優化是編譯器對代碼優化的級別,其中-O2深度優化速度和減少代碼體積,一般為推薦等級,故本文選擇-O2優化級別。

  (2)去雙重循環優化:在文件級優化的過程中,編譯器對于單重循環可以進行Pipeline優化,當遇到雙重循環時,通過解開一層循環,優化效率會得到很大提升[8]。

  (3)內聯函數優化:內聯函數在調用處直接插入,而不是調用,因而可以省略掉函數的調用開銷,適合對頻繁調用的簡單函數如T264_sad_u_c()等進行優化。

4 測試結果

  4.1 測試環境

  本文編碼器測試環境如下:調試軟件環境CCS5.2.1,測試用到的DSP硬件平臺為TMS320C6678,編碼算法為H.264,量化參數Qp=30,編碼結構GOP為I幀:P幀=1:5,測試視頻序列為官方KristenAndSara.yuv、shields_ter.yuv兩個序列,分辨率為720P,為更方便準確地計算平均編碼速率,測試幀數設定為300幀。

  4.2 測試結果

  以KristenAndSara.yuv的測試為記錄,編碼器在優化過程中的各項指標整體記錄如表4所示。

007.jpg

  由表4可以看出,表中一系列優化以后,編碼圖像質量并沒有什么影響,編碼速度得到了極大的提升,其中多核優化的作用非常明顯,說明本文的多核結構效率是很高的。

5 結論

  H.264具有相當優越的壓縮性能,面對其運算復雜性與龐大運算量的難題,本文結合硬件特點,對編碼器進行一系列優化,從而使編碼器實現對高清視頻序列實時編碼。目前對DSP編碼器的研究很熱,本文提供的C6678多核方案、基于C6678硬件特點的優化以及720P實時高清視頻H.264編碼器都是很有意義的。

參考文獻

  [1] 梁佩珊.H.264編碼器算法優化與設計[D].杭州:浙江大學,2006.

  [2] 曹折波,李青.多核處理器并行編程模型的研究與設計[J].計算機工程與設計,2010,31(13):2999-3002.

  [3] 吳灝,肖吉陽,范紅旗,等.TMS320C6678多核DSP的核間通信方法[J].電子技術應用,2012,38(9):2-3.

  [4] 王熹微,唐昆,崔慧娟.基于DM642的視頻編碼Cache優化策略[J].微計算機信息,2005,21(09Z):84-86.

  [5] PESCADOR F, MATURANA G, GARRIDO M J, et al. An H. 264 video decoder based on a latest generation DSP[J].  IEEE Transactions on Consumer Electronics, 2009,55(1):205-212.

  [6] 鄭回青,林嘉宇,張鑌.基于TMS320C64xDSP的匯編優化方法[J].微處理機,2010,31(1):105-108.

  [7] 黃國玉,廖湘柏.基于DM642的x264源代碼的匯編優化[J].南華大學學報(自然科學版),2014,28(1):74-76.

  [8] Su Bogong, Wang Jian, ESGUERRA A. Source-level loop optimization for DSP code generation[C]. 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing, 1999. Proceedings. 1999,4:2155-2158.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜在线a亚洲v天堂网2018| 亚洲免费精品| 亚洲欧洲日韩女同| 国内精品免费在线观看| 国产日韩欧美在线播放| 国产精品免费区二区三区观看| 欧美日本网站| 欧美另类综合| 欧美日韩大陆在线| 欧美日韩裸体免费视频| 欧美日本中文字幕| 欧美日韩岛国| 国产精品theporn88| 欧美午夜精品理论片a级按摩| 欧美午夜精品理论片a级按摩| 欧美三日本三级三级在线播放| 欧美日韩国产精品自在自线| 欧美日韩国产黄| 欧美性猛交一区二区三区精品| 国产精品vvv| 国产精品亚洲一区| 国产欧美一区二区三区国产幕精品| 国产农村妇女精品| 国产一区在线观看视频| 黄色精品一区| 91久久香蕉国产日韩欧美9色| 亚洲精品在线观| 中国av一区| 亚洲女同在线| 久久精品国产第一区二区三区最新章节 | 久久蜜桃精品| 久久久欧美一区二区| 六月婷婷一区| 欧美精品乱人伦久久久久久| 欧美日韩在线播放| 国产精品亚洲美女av网站| 国内伊人久久久久久网站视频 | 一色屋精品视频在线看| 亚洲第一在线综合网站| 亚洲伦理久久| 午夜精品久久久久久久99樱桃| 欧美自拍偷拍午夜视频| 亚洲伦伦在线| 久久精品国产亚洲a| 亚洲韩国一区二区三区| 日韩一级成人av| 亚洲欧美国产三级| 久久夜色撩人精品| 欧美精品免费播放| 国产精品入口尤物| 18成人免费观看视频| 日韩亚洲欧美高清| 欧美一区二区三区婷婷月色 | 极品少妇一区二区三区精品视频| 亚洲国产经典视频| 一区二区三区精品视频| 欧美伊人久久久久久久久影院| 亚洲欧洲精品一区二区| 一本色道久久综合亚洲精品小说 | 日韩亚洲国产欧美| 欧美一区二区网站| 亚洲视频第一页| 久久手机免费观看| 欧美色中文字幕| 狠狠操狠狠色综合网| 亚洲调教视频在线观看| 亚洲精品1234| 欧美亚洲免费高清在线观看| 欧美激情精品久久久| 国产日韩一区二区| 99香蕉国产精品偷在线观看| 久久精品九九| 亚洲欧美综合网| 欧美激情一区二区三区在线视频观看 | 日韩亚洲欧美成人| 亚洲高清不卡一区| 欧美一级淫片播放口| 欧美人与性禽动交情品| 狠狠做深爱婷婷久久综合一区| 中文av一区二区| 亚洲裸体视频| 巨胸喷奶水www久久久免费动漫| 国产精品嫩草99a| 亚洲美女在线看| 亚洲激情网址| 久久蜜臀精品av| 国产精品美女主播| 99re66热这里只有精品4| 亚洲激情视频在线| 久久免费的精品国产v∧| 国产精品中文字幕欧美| 99精品国产在热久久婷婷| 亚洲国产综合91精品麻豆| 久久精品一区二区国产| 国产精品毛片a∨一区二区三区|国 | 久久久女女女女999久久| 国产精品私拍pans大尺度在线| 亚洲精品中文字幕有码专区| 亚洲人成7777| 免费不卡中文字幕视频| 国产自产在线视频一区| 午夜精彩视频在线观看不卡 | 久久国产福利| 国产欧美日韩不卡免费| 亚洲视频精品| 亚洲综合不卡| 欧美日韩中字| av成人动漫| 亚洲亚洲精品三区日韩精品在线视频| 欧美国产亚洲精品久久久8v| 亚洲成色精品| 亚洲黄色av| 美女图片一区二区| 永久免费精品影视网站| 亚洲观看高清完整版在线观看| 久久国产精品毛片| 国产视频亚洲精品| 欧美在线91| 久久久噜噜噜久噜久久 | 欧美11—12娇小xxxx| 伊人久久亚洲热| 最新69国产成人精品视频免费| 久久久久欧美精品| 国产中文一区二区| 久久电影一区| 久久综合久久综合久久| 精品av久久707| 亚洲欧洲精品成人久久奇米网| 欧美成人亚洲| 亚洲另类在线视频| 亚洲一区二区三区国产| 欧美午夜精彩| 亚洲欧美电影在线观看| 欧美在线观看网站| 国产亚洲欧美一区在线观看| 久久av一区二区三区漫画| 裸体歌舞表演一区二区| 亚洲人成网站777色婷婷| 99视频有精品| 国产精品久久7| 欧美一区二区三区视频免费| 另类综合日韩欧美亚洲| 亚洲激情另类| 亚洲一二三区在线观看| 国产精品视屏| 亚洲电影观看| 欧美精品久久一区二区| 一本久久知道综合久久| 欧美一区二区三区视频免费| 国内成人在线| 亚洲美女黄网| 国产精品进线69影院| 欧美制服丝袜| 欧美激情aⅴ一区二区三区| 中文精品一区二区三区| 久久精品成人| 亚洲国产欧美日韩精品| 亚洲欧美美女| 国内精品嫩模av私拍在线观看| 日韩视频中文| 国产日韩精品视频一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 欧美伦理视频网站| 亚洲一区国产视频| 猛干欧美女孩| 亚洲一区二区三区精品视频| 久久五月天婷婷| 亚洲乱码国产乱码精品精可以看 | 一区二区三区四区精品| 久久精品中文字幕一区| 亚洲精品乱码久久久久久黑人| 午夜视频一区在线观看| 影音先锋中文字幕一区| 亚洲男女自偷自拍| 亚洲成色777777女色窝| 午夜精品网站| 亚洲激情网址| 久久精品欧美日韩精品| 99热这里只有精品8| 久久综合九色综合久99| 亚洲一区二区三区欧美| 欧美www视频| 午夜亚洲激情| 国产精品爱久久久久久久| 亚洲高清视频在线| 国产精品高清在线观看| 亚洲精品三级| 国产视频综合在线| 亚洲在线观看视频| 亚洲第一网站免费视频| 久久国产婷婷国产香蕉| 亚洲精品视频一区| 久久人人精品| 亚洲免费在线视频| 欧美乱大交xxxxx| 亚洲激情在线视频| 国产午夜精品视频| 午夜精品成人在线视频| 亚洲老板91色精品久久| 牛牛精品成人免费视频|