欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于gpu并行實(shí)現(xiàn)的快速運(yùn)動(dòng)估計(jì)方法

文檔序號(hào):7840061閱讀:319來源:國知局
專利名稱:基于gpu并行實(shí)現(xiàn)的快速運(yùn)動(dòng)估計(jì)方法
技術(shù)領(lǐng)域
本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及信源編碼,是一種利用GPU快速完成視頻壓縮編碼中運(yùn)動(dòng)估計(jì)的方法。
背景技術(shù)
目前,主流計(jì)算機(jī)中的處理器主要是中央處理器CPU和圖形處理器GPU。受游戲市場和軍事視景仿真需求的牽引,GPU性能提高速度很快。最近幾年中,GPU的性能每一年就可以翻倍,大大超過了 CPU遵循摩爾定律(每18 M月性能翻倍)的發(fā)展速度。為了實(shí)現(xiàn)更逼真的圖形效果,GPU支持越來越復(fù)雜的運(yùn)算,其可編程性和功能都大大擴(kuò)展。傳統(tǒng)上,GPU只負(fù)責(zé)圖形渲染,而大部分的處理都交給了 CPU。但隨著CPU越來越難克服因提高時(shí)鐘頻率后的散熱問題,轉(zhuǎn)而運(yùn)用增加運(yùn)算核心的方法來進(jìn)行加速。之前,GPU作為圖形渲染專用的處理器,具有高度的并行特性,GPU也從單一的圖形渲染設(shè)備轉(zhuǎn)化為作為通用計(jì)算的協(xié)處理器。NVIDIA公司于2007年正式發(fā)布的CUDA(Compute Unified Device Architecture, 計(jì)算統(tǒng)一設(shè)備架構(gòu))是第一種不需要借助圖形學(xué)API就可以使用類C語言進(jìn)行通用計(jì)算的開發(fā)環(huán)境和軟件體系。與以往的傳統(tǒng)GPGPU開發(fā)方式相比,CUDA有十分顯著的改進(jìn)。在性能、成本和開發(fā)時(shí)間上較傳統(tǒng)的CPU解決方案有顯著優(yōu)勢,CUDA的推出在學(xué)術(shù)界和產(chǎn)業(yè)界引起了熱烈反響?,F(xiàn)在,CUDA已經(jīng)在很多領(lǐng)域獲得了廣泛應(yīng)用,并取得了豐碩的成果。隨著CUDA的成熟與推廣,以及GPU實(shí)現(xiàn)視頻壓縮編碼有著天然的優(yōu)勢,國內(nèi)外研究人員開始著手研究將視頻壓縮中的運(yùn)動(dòng)估計(jì)應(yīng)用于CUDA環(huán)境中。在當(dāng)前的各類視頻編碼標(biāo)準(zhǔn)中,運(yùn)動(dòng)估計(jì)(Motion Estimation,ME)是去除時(shí)間冗余最基礎(chǔ)和最有效的方法,也是各類視頻編碼算法所普遍采用的核心技術(shù)。運(yùn)動(dòng)估計(jì)性能的優(yōu)劣直接決定編碼效率和重構(gòu)視頻質(zhì)量, 一般而言,運(yùn)動(dòng)估計(jì)越準(zhǔn)確,則補(bǔ)償?shù)臍埐顖D像所需表示比特就越少,編碼效率就越高,在相同碼率下的解碼視頻就具有更好的圖像質(zhì)量;另一方面,利用軟件平臺(tái)在CPU上實(shí)現(xiàn)的視頻編碼系統(tǒng)中,運(yùn)動(dòng)估計(jì)模塊的時(shí)間損耗占整個(gè)編碼的50%以上,甚至在對背景復(fù)雜、運(yùn)動(dòng)劇烈的視頻序列編碼中占到了 80%以上。所以能否在普通PC機(jī)上實(shí)現(xiàn)高分辨率視頻的實(shí)時(shí)編碼,運(yùn)動(dòng)估計(jì)能否快速、高效的實(shí)現(xiàn)是一個(gè)關(guān)鍵技術(shù)問題。目前,視頻編碼系統(tǒng)中塊匹配運(yùn)動(dòng)估計(jì)方法分為全搜索方法與快速運(yùn)動(dòng)估計(jì)方法。1.全搜索(Full Search, FS)算法也稱窮盡搜索法,是在搜索范圍內(nèi)全局計(jì)算每一個(gè)候選搜索點(diǎn)的SAD(i,j)值,并找出最小SAD值,其最小值在搜索域中對應(yīng)坐標(biāo)點(diǎn)即為最終運(yùn)動(dòng)矢量,全搜索算法是塊匹配運(yùn)動(dòng)估計(jì)中精度最高的算法,但其計(jì)算復(fù)雜度高。為此,在NVIDIA公司提出 CUDA平臺(tái)后,由 Wei-Nien Chen and Hsueh-Ming撰寫的《H. ^4/AVC motion estimation implementation on compute unified device architeture(CUDA)》 公開了一種利用CUDA平臺(tái)并行實(shí)現(xiàn)全搜索運(yùn)動(dòng)估計(jì)方法,通過他們的最終測試結(jié)果發(fā)現(xiàn) 這種利用CUDA平臺(tái)并行實(shí)現(xiàn)全搜索運(yùn)動(dòng)估計(jì)相比于單純依靠CPU實(shí)現(xiàn)來說,其速度上大約有10倍左右的加速比。其不足之處是雖然引入了并行處理,但全搜索算法未利用運(yùn)動(dòng)矢量分布特性來壓縮搜索域中不必要的搜索點(diǎn),使其耗時(shí)仍然不適合在普通PC機(jī)上實(shí)時(shí)編碼高分辨率視頻序列。2.針對全搜索算法的計(jì)算復(fù)雜度高,為此研究者們提出了一系列經(jīng)典的快速運(yùn)動(dòng)估計(jì)算法,如由T. Koga等人提出的經(jīng)典的三步搜索法、最早由S. Zhu和K. K Ma提出的菱形搜索算法、由C. Zhu, X. Lin和L. P. Chan于2002年提出的六邊形搜索算法、還有最終納入 H. ^4/AVC標(biāo)準(zhǔn)的UMHexagonS算法。這些通過采用適合于運(yùn)動(dòng)矢量分布特性的形狀與大小的模板,并在搜索過程動(dòng)態(tài)調(diào)整模板的兩個(gè)參數(shù)來捕獲全局最小點(diǎn)。如果把這些算法強(qiáng)制移植到GPU平臺(tái)上,算法搜索模板(9點(diǎn)正方形,菱形、六邊形、非對稱十字)的不規(guī)整、模板中搜索點(diǎn)數(shù)不滿足warp倍數(shù)、不同搜索模板的動(dòng)態(tài)調(diào)整等問題,不利于線程的分配和存儲(chǔ)器的訪問優(yōu)化,這些技術(shù)問題阻礙了其在GPU上的高效實(shí)現(xiàn);部分快速算法,特別是混合算法,在計(jì)算過程中存在大量的邏輯判斷,那么根據(jù)平臺(tái)的執(zhí)行模型,如果需要控制單個(gè)線程的行為,必須使用分支,這樣做的后果是在函數(shù)的執(zhí)行過程中產(chǎn)生大量的divergence (如果一個(gè)warp中的線程分別跳轉(zhuǎn)到不同的分支,那么SM就需要把每一個(gè)分支的指令發(fā)射到每一個(gè)SP上,在有SP根據(jù)線程邏輯決定需不需要執(zhí)行,執(zhí)行時(shí)間將是執(zhí)行多個(gè)分支所用時(shí)間之和,由此形成的現(xiàn)象叫divergence),這也會(huì)大大降低GPU的執(zhí)行效率。全搜索方法的搜索精度高,但即使利用GPU作為協(xié)處理器在普通的PC機(jī)上實(shí)現(xiàn), 其耗時(shí)量也很難讓其投入到實(shí)時(shí)高分辨率場合的應(yīng)用;而一些經(jīng)典的快速運(yùn)動(dòng)估計(jì),其在搜索域中需要運(yùn)算的搜索點(diǎn)數(shù)相對于全搜索大大減少(UMHexagonS方法相對于全搜索方法能夠節(jié)約90%以上的計(jì)算量),但這些算法卻很難在GPU上高效實(shí)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明的目的在于避免上述已有技術(shù)的不足,通過CUDA平臺(tái)在GPU上實(shí)現(xiàn)搜索精度高、速度快的運(yùn)動(dòng)估計(jì),從而解決在普通PC機(jī)上實(shí)現(xiàn)高分辨率視頻序列的實(shí)時(shí)編碼過程中,運(yùn)動(dòng)估計(jì)模塊耗時(shí)巨大這一瓶頸問題。本發(fā)明的技術(shù)方案是一種基于GPU并行實(shí)現(xiàn)的快速運(yùn)動(dòng)估計(jì)方法,整個(gè)運(yùn)動(dòng)估計(jì)過程劃分為整像素精度搜索與1/4像素精度搜索,且搜索過程中的每個(gè)步驟都采用一種局部全搜索思想;并將搜索域劃分為背景域和運(yùn)動(dòng)域;執(zhí)行步驟如下Al、利用局部全搜索以最大概率判定當(dāng)前分割塊是否屬于背景域;A2、若當(dāng)前分割塊屬于背景域,則結(jié)束整像素精度搜索,否則通過降低搜索域分辨率來提升搜索步長,執(zhí)行低分辨率的局部整像素全搜索來捕捉最優(yōu)運(yùn)動(dòng)矢量分布范圍,即粗定位;屬于運(yùn)動(dòng)域的分割塊完成粗定位后,利用局部全搜索細(xì)化運(yùn)動(dòng)矢量分布范圍,完成整像素精度的運(yùn)動(dòng)估計(jì),即細(xì)定位;A3、利用高密度、高精度搜索模板細(xì)化運(yùn)動(dòng)矢量,完成1/4像素精度搜索,當(dāng)前分割塊的運(yùn)動(dòng)估計(jì)結(jié)束;搜索過程中采用了中止判別技術(shù),即當(dāng)前步的最小失真參考?jí)K達(dá)到設(shè)定匹配精度,則算法的整像素搜索過程結(jié)束;搜索過程中每一步的搜索點(diǎn)數(shù)都不發(fā)生變化。
所述的運(yùn)動(dòng)估計(jì)方法,具體執(zhí)行步驟如下1)采用搜索點(diǎn)數(shù)為N2、搜索尺寸為NxN、步長為1個(gè)整像素的正方形模板,并以搜索域原點(diǎn)(0,0)為中心,執(zhí)行一次局部整像素精度全搜索,并行計(jì)算出N2個(gè)搜索點(diǎn)處的SAD 值,
權(quán)利要求
1.一種基于GPU并行實(shí)現(xiàn)的快速運(yùn)動(dòng)估計(jì)方法,其特征在于整個(gè)運(yùn)動(dòng)估計(jì)過程劃分為整像素精度搜索與1/4像素精度搜索,且搜索過程中的每個(gè)步驟都采用一種局部全搜索思想;并將搜索域劃分為背景域和運(yùn)動(dòng)域;執(zhí)行步驟如下Al、利用局部全搜索以最大概率判定當(dāng)前分割塊是否屬于背景域;A2、若當(dāng)前分割塊屬于背景域,則結(jié)束整像素精度搜索,否則通過降低搜索域分辨率來提升搜索步長,執(zhí)行低分辨率的局部整像素全搜索來捕捉最優(yōu)運(yùn)動(dòng)矢量分布范圍,即粗定位;屬于運(yùn)動(dòng)域的分割塊在完成粗定位后,利用局部全搜索細(xì)化運(yùn)動(dòng)矢量分布范圍,完成整像素精度的運(yùn)動(dòng)估計(jì),即細(xì)定位;A3、利用高密度、高精度搜索模板細(xì)化運(yùn)動(dòng)矢量,完成1/4像素精度搜索,當(dāng)前分割塊的運(yùn)動(dòng)估計(jì)結(jié)束;搜索過程中采用了中止判別技術(shù),即當(dāng)前步的最小失真參考?jí)K達(dá)到設(shè)定匹配精度,則算法的整像素搜索過程結(jié)束;搜索過程中每一步的搜索點(diǎn)數(shù)都不發(fā)生變化。
2.根據(jù)權(quán)利要求1所述的運(yùn)動(dòng)估計(jì)方法,其特征在于,具體執(zhí)行步驟如下1)采用搜索點(diǎn)數(shù)為N2、搜索尺寸為NxN、步長為1個(gè)整像素的正方形模板,并以搜索域原點(diǎn)(0,0)為中心,執(zhí)行一次局部整像素精度全搜索,并行計(jì)算出N2個(gè)搜索點(diǎn)處的SAD值,
3.根據(jù)權(quán)利要求1所述的運(yùn)動(dòng)估計(jì)方法,其特征在于,上述運(yùn)算步驟在GPU平臺(tái)上并行執(zhí)行。
全文摘要
本發(fā)明公開了一種基于GPU并行實(shí)現(xiàn)的快速運(yùn)動(dòng)估計(jì)方法。首先,利用局部全搜索以最大概率判定當(dāng)前分割塊是否屬于背景域;然后,若當(dāng)前分割塊屬于背景域,則結(jié)束整像素精度搜索,否則通過降低搜索域分辨率來提升搜索步長,執(zhí)行低分辨率的局部整像素全搜索來捕捉最優(yōu)運(yùn)動(dòng)矢量分布范圍,即粗定位;屬于運(yùn)動(dòng)域的分割塊在完成粗定位后,利用局部全搜索細(xì)化運(yùn)動(dòng)矢量分布范圍,完成整像素精度的運(yùn)動(dòng)估計(jì),即細(xì)定位;最后,利用高密度、高精度搜索模板細(xì)化運(yùn)動(dòng)矢量,完成1/4像素精度搜索,并結(jié)束當(dāng)前分割塊的運(yùn)動(dòng)估計(jì);搜索過程中采用了中止判別技術(shù),即當(dāng)前步的最小失真參考?jí)K達(dá)到設(shè)定匹配精度,則算法的整像素搜索過程結(jié)束;搜索過程中每一步的搜索點(diǎn)數(shù)都不會(huì)發(fā)生變化。
文檔編號(hào)H04N7/26GK102547289SQ20121001333
公開日2012年7月4日 申請日期2012年1月17日 優(yōu)先權(quán)日2012年1月17日
發(fā)明者劉炯, 吳宇紅, 張崗山, 李建東, 趙林靖, 顏善 申請人:西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
临汾市| 日土县| 西丰县| 华容县| 商丘市| 凉山| 承德县| 宜川县| 唐海县| 肇庆市| 布尔津县| 宜城市| 嘉定区| 阳谷县| 乐业县| 阿拉善右旗| 东丰县| 香格里拉县| 江安县| 遵义市| 五莲县| 陈巴尔虎旗| 平塘县| 湾仔区| 沈阳市| 方正县| 邓州市| 山东省| 庆阳市| 盱眙县| 稷山县| 焉耆| 云梦县| 鄂温| 连云港市| 富源县| 射洪县| 潼南县| 定结县| 开原市| 武宣县|