999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CUDA平臺的AVS視頻編碼應用

2015-11-23 03:12:28顏海峰劉憶寧
大眾科技 2015年2期
關鍵詞:效率

黃 海 鐘 婍 顏海峰 劉憶寧

(桂林電子科技大學數學與計算科學學院,廣西 桂林 541004)

基于CUDA平臺的AVS視頻編碼應用

黃 海 鐘 婍 顏海峰 劉憶寧

(桂林電子科技大學數學與計算科學學院,廣西 桂林 541004)

文章通過研究AVS視頻編碼在可編程圖形處理器上實現,充分利用圖形處理器的高性能并行運算能力和浮點計算能力加快編碼的處理程。實驗結果表明,在保證視頻質量的同時,大大提升了AVS視頻編碼的速度。

GPU;視頻編碼;GOP級的并行編碼;CUDA

1 引言

AVS(Audio Video coding Standard,音視頻編碼標準)是由我國自主制定的、享有自主知識產權的第二代信源編碼技術標準。2006年2月,國家標準化管理委員會正式批準AVS的第二部分(AVS1-P2)即視頻部分為國家標準。AVS視頻標準的編碼效率比以前的MPEG4等視頻編碼標準的編碼效率高。

H.264/AVC視頻編碼標準的壓縮效率非常高,但是H.264/AVC的這種高壓縮效率的獲得卻是以較高的計算時間復雜度為代價的,而且H.264編碼算法在CPU上展開了大量的優化策略,技術上也已經非常成熟,因此,研究人員開始探索其他一些能提高壓縮編碼效率的方式。近些年來,由于圖形硬件的飛速發展和更新,GPU(Graphic Processing Unit,圖形處理器)的計算速度也在不斷地提高,此外它還擁有非常強大的并行計算能力與浮點運算能力。2007年6月,NVIDIA公司推出了CUDA(Compute Unified Device Architecture,統一計算設備架構)編程模型,該模型在利用GPU的通用計算資源上更加地充分合理[1]。而目前的PC機在實時編解碼高清晰視頻時,其處理器要承擔的壓力非常大。因此研究以CUDA為基礎的視頻編解碼,對于編解碼時計算時間的減少、整個編碼性能的提高等方面都有著非常重要的現實意義。

2 解決方案

無論是音視頻編碼技術自身還是該產業的應用背景在經過了十幾年的發展之后,都有了許多明顯變化,很多新的方法相繼提出。目前音視頻產業領域有四個信源編碼標準可供選擇,它們分別是:MPEG-2、MPEG-4、MPEG-4 AVC(簡稱 AVC,也稱JVT、H.264)、AVS。按制訂者來劃分,前三個標準是由MPEG專家組發展制訂的,第四個標準是我國自主制訂的。按發展階段劃分,第一個標準屬于第一代信源標準,其余三個標準皆為第二代信源標準。按編碼效率這一主要技術指標進行比較:MPEG-4的編碼效率是MPEG-2編碼效率的1.4倍,AVS和AVC的編碼效率相差無幾,都是MPEG-2編碼效率的兩倍多[2]。

隨著顯卡的進一步發展以及越來越多的開發人員參與到GPU的并行計算開發中來,GPU的并行計算能力和訪存帶寬的速度都有了很大的提高,而且在顯示圖像時GPU還做一些了優化處理,它的計算能力實際上已經超越了通用的 CPU[3]。如此強大的芯片如果只是拿來作顯卡的話未免太過大材小用了。因此,NVIDIA公司推出了CUDA架構,它使顯卡除了用于圖像計算以外還有其他的功能。GPU的專長在于密集型數據的處理和并行計算,所以在需要大規模并行計算的領域里CUDA可以大顯身手。通用GPU已經能夠達到十萬的線程數量級,因而,提高GPU的并行計算效率對于提升GOP級的并行計算能力意義重大。

3 實現方案

3.1 ASV原理分析

如圖1所示AVS編碼器的系統結構。不難發現,AVS使用的是一種混合編碼框架,其中結合了預測和變換技術,這與H.264的編碼結構非常相似。圖像類型定義為 I幀、P幀、B幀三種,其中I幀的編碼模式只能是幀內編碼,P幀和B幀的編碼模式可以是幀間編碼模式和幀內編碼模式,兩者區別在于P幀是前向預測編碼幀,而B幀是雙向預測編碼幀。碼流結構從高到低的語法層次依次為:序列、圖像、條帶、宏塊、塊[4]。在這方面上,AVS與 MPEG2 較為類似。AVS1-P2中,塊的尺寸大小為 8×8。原始的視頻信號在進入編碼器后,編碼器將根據配置參數對當前幀是進行I幀、P幀還是B幀的編碼做出判斷。若當前幀是I幀,則只能選擇幀內編碼模式。幀內編碼只需要參考當前幀中重構后的宏塊信息而不需要其他幀的已編碼信息作為參考。進入編碼器的一個新的塊和經過幀內預測出來的預測塊做減法運算得到殘差,再進行變換、量化過程將殘差變為量化系數,該量化系數再通過zig-zag掃描成為一維量化系數,最后經過熵編碼就能得到編碼了的碼流。此外,在熵編碼前,通過反量化和反變換等過程,就能使得已經量化了的信息得以重構這個塊,并在緩存中存儲作為后續圖像或塊編碼的參考幀[5]。如果是 P幀,則可以有三種編碼模式:SKIP模式、幀內模式和幀間模式。官方參考模型是讓P幀遍歷以上三種模式,通過計算率失真代價,得到一種最優的編碼模式。與I幀相同,P幀的幀內模式也是以視頻序列時間上的相關性為基礎的,通過參考最近解碼后的I幀或P幀使當前待編碼宏塊得到殘差,再經過變換、量化和熵編碼步驟得到碼流。 AVS中P幀數量的最大參考值為2。P幀中塊在 SKIP 模式下編碼后的殘差為 0,因此只需傳輸代表SKIP模式的信息,就可以得出預測的運動矢量。AVS中的B幀一樣有以上三種編碼模式:SKIP模式、幀內模式和幀間模式。但B幀的幀間預測模式是雙向的,包含有對稱模式(symmetric mode)和直接模式(direct mode)兩種,這是B幀與P幀的不同之處。

圖1 ASV原理

3.2 GOP級并行編碼算法

圖像群組(Group of pictures,GOP)是一組連續圖像,這些圖像來源于以MPEG編碼的影片或者視訊串流內部。

圖像群組可包含的圖像類型如下:

● I-圖像/畫格(intra coded picture,節點編碼圖像)參考圖像,與一個固定影像類似,并且與其它的圖像類型相獨立。每個圖像群組以此類型的圖像作為開始。

● P-圖像/畫格(predictive coded picture,預測編碼圖像)包含來自之前的 I-畫格或 P-畫格的差異資訊。

● B-圖像/畫格(bidirectionally predictive coded pictures,前后預測編碼圖像)包含來自之前和/或者之后的I-畫格或P-畫格的差異資訊。

● D-圖像/畫格(DC direct coded picture,指示編碼圖像)用于快速進帶。

假設有兩個B幀,每個GOP可排成IBBPBBP…序列,且一直到視頻結束都將會保持這一排列順序。IDR圖像是GOP的第一個圖像,且都是I圖像,一個GOP只能有一個IDR圖像,而IDR圖像以后的圖像在進行解碼時決不會引用IDR圖像之前的圖像數據,這就使得GOP之間的并行有了可能。

編碼效果的好壞與GOP的長度大小相關。一定的范圍內,GOP的長度值越大,每個圖像組中能有更多的B幀和P幀,因而壓縮編碼效率也越高。但是GOP的值也不能取過大,因為會導致編碼質量不高,特別是對于場景切換或運動較為劇烈的視頻序列的情況。此外,一個GOP中如果出現了嚴重的丟包現象或者是由其他原因導致的數據錯位問題,為減少誤碼的發生,只有通過獲得重新同步,因此要折中考慮GOP的長度值。

GOP的優點:

①可擴展性強:能根據硬件情況適當調整并行線程數。

②線程開銷小:整個并行程序的運行過程只需進行一次Fork,由頻繁派生、合并線程導致的性能損失在很大程度上得到了減少。

③加速比高:如果各個線程的負載能夠平衡,那么加速比會比較高。

④易于實現:每個線程都有比較大的任務量,線程間無需頻繁的進行數據同步,程序實現較為容易。

圖2 GOP級并行編碼

在開始編碼視頻序列前,要將其分為多個GOP,且每個GOP都要分配一個線程進行編碼。編碼完成后回到主線程,再完成數據同步并且輸出AVS碼流。對于非實時編碼來說,最好的選擇是GOP級并行,一方面因為GOP級并行對目標碼流的PSNR、碼率等各項指標不會造成影響,另一方面由于GOP之間沒有相關性,且編碼器能對序列中的任意幀進行隨機訪問,因此在編碼前對幀序列的劃分可根據GOP長度大小。劃分幀序列后,依據GOP的多少來設置線程的數量。而要實現GOP級并行,編碼過程必須要在原始圖像序列數滿足GOP的長度后才能進行,所以在對實時性有很高要求的應用場合,比如在遠程機器人控制、視頻會議系統等情況下,GOP級并行顯然無法滿足要求。

3.3 GPU并行計算模塊實現原理

原有的變換編碼采用了整數DCT變換,根據之前確定的實現方案,筆者方案的具體實現按照如下的流程圖進行,如圖 3所示:

圖3 變換編碼并行實現

主機端在運行函數后得到關于當前塊的殘差宏塊矩陣。然后程序將檢測GPU加速是否已由該編碼器幵啟,或者該客戶端是否有可編程 GPU。如果得到檢測結果為編碼器沒有開啟 GPU加速,或者無可編程GPU,則編碼流程將按照常規的步驟進行串行編碼,然后得到--個返回值dc[6],即為變換后的8x8矩陣。如果檢測結果是編碼器己經幵啟了GPU加速并且該客戶端有可編程GPU,則將進行Device端編碼,也即GPU編碼。該編碼流程主要分為以下幾個步驟:(1)在主機端的內存上為8x8矩陣分配空間;(2)將主機端的代碼復制到設備端GPU的顯存上:這樣我們就在設備端GPU上得到了大小為8x8的Md矩陣,也即殘差宏塊矩陣;(3)分配Grid和線程Thread,該部分是在主機端分配的,也即指令流需要由CPU產生,然后來操作GPU的行為;(4)核心計算Kernel代碼;(5)將計算的結果返回。

而在設備端GPU上,也存在正變換和反變換兩次變換。對于設備端GPU的變換代碼,有以下流程,設備端變換編碼并行實現流程圖如圖4:

圖4 變換編碼并行實現設備

由圖4,當設備端GPU收到開始計算的指令后,首先做準備工作,即聲明常數變量DCT[6],用來存放整數變換核;之后進行如下的計算工作。該步驟的意義在于每一次的計算過程中整數變換核會被調用,存有常數變量則可減少數據的流量和調用的次數,為GPU與CPU的交換省下了帶寬。

4 測試結果及分析

系統設計流程圖如圖5所示:

圖5 系統流程圖

測試環境為:

操作系統 Windows 7 Professional(64bit)

處理器 Intel(R) Xeon(R) CPU E5504 @ 2.00GHz×8

內存 12GB

顯卡 NVIDIA Tesla C1060×2;NVIDIA Quadro FX380×1

編譯器 Microsoft Visual Studio 2008

調試器 Parallel Nsight

表1給出了本文方案與CPU方案的在性能上的對比,不難發現,本文方案的編碼速率相比CPU方案有了很大的提升,同時,編碼質量也比較好,從而實現了高清視頻編碼的效果。

AVS video coding applications based on CUDA platform

This paper studies the AVS video coding in programmable graphics processor to take full advantage of the graphics processor, high-performance parallel computing power and floating-point computing power to speed up the process of coding process. Experimental results show that the video quality, greatly enhance the speed of the AVS video coding.

GPU; video coding ;GOP level parallelism coding; CUDA

TN76

A

1008-1151(2015)02-0013-03

2015-01-12

2014年全國大學生創新創業訓練計劃(XY290398)。

黃海,男,廣西玉林人,桂林電子科技大學數學與計算科學學院信息計算專業學生;鐘婍,女,江西贛州人,桂林電子科技大學數學與計算科學學院碩士生,研究方向為信息安全;顏海峰,男,廣西全州人,桂林電子科技大學數學與計算科學學院教師,研究方向為信息系統安全;劉憶寧,男,河南鞏義人,桂林電子科技大學數學與計算科學學院副教授,博士后,研究方向為應用密碼學與信息安全。

猜你喜歡
效率
你在咖啡館學習會更有創意和效率嗎?
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
注意實驗拓展,提高復習效率
效率的價值
商周刊(2017年9期)2017-08-22 02:57:49
引入“倒逼機制”提高治霾效率
遼寧經濟(2017年6期)2017-07-12 09:27:16
質量與效率的爭論
中國衛生(2016年9期)2016-11-12 13:27:54
跟蹤導練(一)2
提高食品行業清潔操作的效率
OptiMOSTM 300V提高硬開關應用的效率,支持新型設計
“錢”、“事”脫節效率低
中國衛生(2014年11期)2014-11-12 13:11:32
主站蜘蛛池模板: 国产爽爽视频| 久久久久久国产精品mv| 国产91透明丝袜美腿在线| 99视频在线看| 日韩精品亚洲一区中文字幕| 多人乱p欧美在线观看| 成人免费网站在线观看| 中国美女**毛片录像在线 | 国产欧美日韩91| 欧美亚洲另类在线观看| 亚洲精选无码久久久| 国产一国产一有一级毛片视频| 亚洲国产精品成人久久综合影院| 免费一级大毛片a一观看不卡| 久久黄色免费电影| 久久黄色影院| 亚洲精品人成网线在线 | 欧美成人手机在线视频| 欧美午夜性视频| 97se亚洲综合在线天天 | 日韩人妻少妇一区二区| 亚洲高清免费在线观看| 婷婷开心中文字幕| 青青草国产在线视频| 国产精品午夜电影| 超碰免费91| 久久久久久国产精品mv| 国产无遮挡猛进猛出免费软件| 久久国产精品夜色| 亚洲视频色图| 日本国产在线| 啊嗯不日本网站| 午夜国产理论| 国产白丝av| 2021天堂在线亚洲精品专区| 久久人人97超碰人人澡爱香蕉| 免费 国产 无码久久久| 青青热久麻豆精品视频在线观看| 国产欧美日韩另类精彩视频| 在线播放国产一区| 九九热精品视频在线| 日本一本在线视频| 无码又爽又刺激的高潮视频| 国产新AV天堂| 久久国产精品电影| 国产综合精品日本亚洲777| 91福利一区二区三区| 久久综合伊人77777| 香蕉国产精品视频| 免费观看欧美性一级| 五月丁香在线视频| 久久青草热| 日韩欧美网址| 18禁影院亚洲专区| 国产aaaaa一级毛片| 精品国产Av电影无码久久久| 一级做a爰片久久毛片毛片| 伊人91在线| 精品三级在线| 九色国产在线| 性色一区| 亚洲三级a| 成人福利免费在线观看| AV无码国产在线看岛国岛| 六月婷婷激情综合| 国产在线自揄拍揄视频网站| 亚洲天堂网站在线| 欧美怡红院视频一区二区三区| 欧美黑人欧美精品刺激| 91探花在线观看国产最新| 国产精品免费露脸视频| 久久综合五月婷婷| 激情亚洲天堂| 国产成人福利在线视老湿机| 在线中文字幕日韩| 无码中字出轨中文人妻中文中| 国国产a国产片免费麻豆| 大陆国产精品视频| 亚洲欧洲一区二区三区| 精品人妻系列无码专区久久| 亚洲成人一区在线| 国产精品极品美女自在线看免费一区二区|