唐昆鵬,陳慶奎
(上海理工大學 光電信息與計算機學院,上海 200093)
?
基于CUDA的多路高清視頻流解碼器設計與實現
唐昆鵬,陳慶奎
(上海理工大學 光電信息與計算機學院,上海200093)
摘要針對多視頻流解碼和顯示時CPU占用率過高等問題。設計了基于統一計算設備架構(CUDA)平臺上的GPU多視頻流并行化處理方案,定義了表示GPU顯卡設備和解碼器的數據結構,通過解碼函數接口的調用可適用于多種視頻播放器中去。實驗結果表明,所設計的解碼器大幅降低了多視頻解碼顯示中CPU的占用率,同時與JM實現的軟件解碼方案相比,解碼單路720 p的高清視頻CPU占用率同比降低約30%,所以此硬件解碼方案表現出更加高效的多視頻流解碼處理能力。提高了系統性能和資源復用率,并能保持較低的能量消耗。
關鍵詞多視頻流解碼;CUDA;并行化;占用率;能量消耗
H.264[1]作為目前視頻壓縮領域編碼效率較高的編碼標準,具有低帶寬高畫質的壓縮能力,比H.263和MPEG-4編碼效率提高約50%[2]。但其實現算法復雜度和計算量較高、目前CPU的計算能力在解碼720 p和1 080 p等高清視頻時性能不足。
于是,GPU被設計用于為并行計算提供支持,并分擔部分視頻解碼的任務[3-4],利用GPU內部具有眾多并行計算核心來編寫GPU上運行的代碼,結合NVIDIA的CUDA[5-6]平臺,將高密度計算量和耗時的任務移植到GPU上。與基于平臺實現GPU加速的DXVA技術相比,CUDA平臺上的解碼方案具有更好的解碼速度、效率和跨平臺性。本文將GPU加速解碼的方案與H.264學術研究使用的JM18.4軟件解碼方案進行比較,在解碼速度和幀率上表現出較高的優勢。……