本發明專利技術公開了一種高效視頻編碼中的運動估計加速方法,主要解決現有高效視頻編碼技術中編碼速度慢的問題。其步驟為:1)主處理器CPU將圖像數據傳輸至協處理器GPU進行存儲;2)GPU利用圖像數據執行分層高級運動向量預測和整像素運動搜索,得出各層的整像素運動向量,并對圖像數據中的參考圖像進行分像素插值濾波,得出不同精度的插值圖像;3)以各層的整像素運動向量為起點,在不同精度的插值圖像上分別執行分像素運動搜索,得出各個塊的分像素運動向量;4)GPU將整像素運動向量和分像素運動向量信息傳輸至CPU,CPU對這兩種運動向量進行誤差修正,完成運動估計。本發明專利技術顯著提高了編碼速度和效率,可應用于視頻編解碼。
【技術實現步驟摘要】
高效視頻編碼中的運動估計加速方法
本專利技術屬于視頻壓縮編碼
,特別涉及一種運動估計加速方法,可用于在CPU+GPU平臺下的高效視頻編碼HEVC。
技術介紹
視頻領域應用中有一項關鍵技術是視頻編碼,也稱視頻壓縮,其目的是盡可能去除視頻數據中的冗余成分,減少表征視頻的數據量。從20世紀80年代起,國際組織開始對視頻編解碼建立國際標準。隨著技術的不斷改進,新一代視頻編解碼標準——H.265/HEVC于2013年11月25日發布。與以往的視頻編解碼標準相比,H.265/HEVC的編碼性能有了很大的提升,這是由于新增了許多技術,例如基于四叉樹的靈活塊分割結構、不同角度的幀內預測模式、幀間預測中自適應的高級運動向量預測技術AMVP、合并技術Merge、可變尺寸的離散余弦變換、性能更好的CABAC,以及新的樣點自適應補償濾波器等。幀間預測主要用于去除圖像間的時間相關性,通過將已經編碼的圖像作為當前幀的參考圖像,來獲取各個塊的運動信息,從而去除時間冗余,提高壓縮效率。在H.265/HEVC中引入了新的幀間預測技術,包括Merge、AMVP及基于Merge的Skip模式。Merge技術利用空域相關性和時域相關性來減少相鄰塊之間的運動參數冗余,具體就是取相鄰PU的運動參數作為當前PU的運動參數。AMVP技術的作用與Merge技術類似,AMVP技術得到的運動矢量一方面為運動估計提供搜索起點,另一方面作為預測運動矢量使用。在運動搜索方面,快速搜索使用了TZSearch算法。分像素插值及運動搜索是為了克服由運動的連貫性導致的運動以半像素、1/4像素為單位的情況,對圖像信息進行濾波處理,并搜索出亞像素情況下的運動信息。現有標準H.264/AVC以及H.265/HEVC都使用1/4像素精度運動估計。率失真是同時衡量壓縮性能和失真情況的一個量度。率失真優化方法是最主要的編碼參數選擇優化技術。在H.265/HEVC中,率失真函數如下:J=D+λ×Rrate其中D表示失真,Rrate表示編碼所消耗的比特數,λ為拉格朗日乘子。在視頻編碼中常采用平方誤差和SSE、絕對誤差和SAD、均方誤差MSE等客觀評價方法作為率失真函數中的失真D。然而,優異的性能是通過高度的算法復雜度換取的,相比于H.264/AVC,H.265/HEVC編碼速度大大降低,這導致了H.265/HEVC無法通過軟件的方法得到實時編解碼傳輸,所以提高編碼速度的是亟待解決的問題。提高編碼速度的方法有很多種,目前常見的有改變編碼策略、硬件加速和利用并行計算等。其中在并行計算方法中CUDA是一種通用的GPU計算產品,能夠非常有效的利用GPU強大的并行計算能力以及充足的存儲器帶寬。相比一般的CPU而言,CUDA在各個領域取得了顯著的成績,尤其在圖像處理方面中獲得的加速倍數已經達到一到兩個數量級。2015年,王濤在其申請的專利“HEVC并行運動補償方法及裝置”中提出了圖像分塊并行運動補償和樹形收斂的方法,201510647960.1[P].2016,01,13。該方法運用了小塊合并為大塊思想,但該方法的并行粒度只達到了tiles級別和CTU級別,沒有充分發揮GPU的大規模運算能力。2013年,徐榮飛在其發表的論文“HEVC編解碼算法的CUDA優化”中公開了一種基于整幀并行運動搜索和分像素插值的方法,北京郵電大學,2013,該方法利用合并SAD的方式避免了重復計算,同時利用重組參考幀的方式避免了數據的重復傳輸和重復的插值濾波。但為了易于實現并行化,該方法刪除了AMVP模塊,導致編碼遇到快速運動物體時無法及時捕捉,編碼后期圖像幀的編碼質量下降。2016年,張維龍在其發表的論文“HEVC關鍵模塊并行算法的設計與基于GPU的實現”中公開了一種梯狀并行執行運動估計的策略,大連理工大學,2016,該方法在保留了原始數據依賴性的同時保留了AMVP算法,但由于梯形編碼的并行程度只能達到多個編碼單元CU同時編碼,降低了并行效率。
技術實現思路
本專利技術的目的在于針對上述已有技術的不足,提出一種高效視頻編碼中的運動估計加速方法,以避免編碼后期的編碼質量下降,實現對整幅圖像級的并行計算,提高并行效率。為實現上述目的,本專利技術的技術方案包括如下:(1)利用主處理器CPU將圖像數據傳輸至協處理器GPU進行存儲,其中圖像數據包括:編碼圖像、參考圖像和參考幀運動向量信息表;(2)GPU利用圖像數據執行分層高級運動向量預測和整像素運動搜索,得出各層的整像素運動向量:(2a)對64×64圖像塊的高級運動向量預測和整像素運動搜索:(2a1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將(0,0)向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第一候選列表;(2a2)利用率失真準則選出第一候選列表中最優項,作為64×64圖像塊的運動搜索起始點;(2a3)根據(2a2)確定的搜索起始點在參考圖像上對大小為64×64圖像塊執行整像素運動搜索,得出64×64圖像塊的整像素運動向量;(2b)分別對32×32圖像塊、32×64圖像塊和64×32圖像塊的高級運動向量預測和整像素運動搜索:(2b1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2a3)得出的64×64圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第二候選列表;(2b2)利用率失真準則選出第二候選列表中最優項,作為32×32圖像塊、32×64圖像塊和64×32圖像塊的運動搜索起始點;(2b3)根據(2b2)確定的搜索起始點在參考圖像上分別對32×32圖像塊、32×64圖像塊和64×32圖像塊執行運動搜索,分別得出32×32圖像塊、32×64圖像塊和64×32圖像塊的整像素運動向量;(2c)分別對16×16圖像塊、16×32圖像塊、32×16圖像塊的高級運動向量預測和整像素運動搜索:(2c1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2b3)得出的32×32圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第三候選列表;(2c2)利用率失真準則選出第三候選列表中最優項,作為16×16圖像塊、16×32圖像塊和32×16圖像塊的運動搜索起始點;(2c3)根據(2c2)確定的搜索起始點在參考圖像上分別對16×16圖像塊、16×32圖像塊和32×16圖像塊執行運動搜索,分別得出16×16圖像塊、16×32圖像塊和32×16圖像塊的整像素運動向量;(2d)分別對8×8圖像塊、8×16圖像塊和16×8圖像塊的高級運動向量預測和整像素運動搜索:(2d1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2c3)得出的16×16圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第四候選列表;(2d2)利用率失真準則選出第四候選列表中最優項,作為8×8圖像塊、8×16圖像塊和16×8圖像的運動搜索起始點;(2d3)根據(2d2)確定的搜索起始點在參考圖像上分別對8×8圖像塊、8×16圖像塊和16×8圖像塊執行運動搜索,分別得出8×8圖像塊、8×16圖像塊和16×8圖像塊整像素運動本文檔來自技高網...

【技術保護點】
高效視頻編碼中的運動估計加速方法,包括如下步驟:(1)利用主處理器CPU將圖像數據傳輸至協處理器GPU進行存儲,其中圖像數據包括:編碼圖像、參考圖像和參考幀運動向量信息表;(2)GPU利用圖像數據執行分層高級運動向量預測和整像素運動搜索,得出各層的整像素運動向量:(2a)對64×64圖像塊的高級運動向量預測和整像素運動搜索:(2a1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將(0,0)向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第一候選列表;(2a2)利用率失真準則選出第一候選列表中最優項,作為64×64圖像塊的運動搜索起始點;(2a3)根據(2a2)確定的搜索起始點在參考圖像上對大小為64×64圖像塊執行整像素運動搜索,得出64×64圖像塊的整像素運動向量;(2b)分別對32×32圖像塊、32×64圖像塊和64×32圖像塊的高級運動向量預測和整像素運動搜索:(2b1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2a3)得出的64×64圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第二候選列表;(2b2)利用率失真準則選出第二候選列表中最優項,作為32×32圖像塊、32×64圖像塊和64×32圖像塊的運動搜索起始點;(2b3)根據(2b2)確定的搜索起始點在參考圖像上分別對32×32圖像塊、32×64圖像塊和64×32圖像塊執行整像素運動搜索,分別得出32×32圖像塊、32×64圖像塊和64×32圖像塊的整像素運動向量;(2c)分別對16×16圖像塊、16×32圖像塊、32×16圖像塊的高級運動向量預測和整像素運動搜索:(2c1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2b3)得出的32×32圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第三候選列表;(2c2)利用率失真準則選出第三候選列表中最優項,作為16×16圖像塊、16×32圖像塊和32×16圖像塊的運動搜索起始點;(2c3)根據(2c2)確定的搜索起始點在參考圖像上分別對16×16圖像塊、16×32圖像塊和32×16圖像塊執行整像素運動搜索,分別得出16×16圖像塊、16×32圖像塊和32×16圖像塊的整像素運動向量;(2d)分別對8×8圖像塊、8×16圖像塊和16×8圖像塊的高級運動向量預測和整像素運動搜索:(2d1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2c3)得出的16×16圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第四候選列表;(2d2)利用率失真準則選出第四候選列表中最優項,作為8×8圖像塊、8×16圖像塊和16×8圖像的運動搜索起始點;(2d3)根據(2d2)確定的搜索起始點在參考圖像上分別對8×8圖像塊、8×16圖像塊和16×8圖像塊執行整像素運動搜索,分別得出8×8圖像塊、8×16圖像塊和16×8圖像塊整像素運動向量;(3)GPU對參考圖像進行分像素插值濾波,得出不同精度的插值圖像;(4)以各層的整像素運動向量為起點,在不同精度的插值圖像上分別執行分像素運動搜索過程,得出各個塊的分像素運動向量;(5)GPU將各個塊的整像素運動向量和分像素運動向量傳輸至CPU,CPU對整像素運動向量和分像素運動向量進行誤差修正,消除GPU計算帶來的偏移誤差,得出準確的運動向量,完成運動估計。...
【技術特征摘要】
1.高效視頻編碼中的運動估計加速方法,包括如下步驟:(1)利用主處理器CPU將圖像數據傳輸至協處理器GPU進行存儲,其中圖像數據包括:編碼圖像、參考圖像和參考幀運動向量信息表;(2)GPU利用圖像數據執行分層高級運動向量預測和整像素運動搜索,得出各層的整像素運動向量:(2a)對64×64圖像塊的高級運動向量預測和整像素運動搜索:(2a1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將(0,0)向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第一候選列表;(2a2)利用率失真準則選出第一候選列表中最優項,作為64×64圖像塊的運動搜索起始點;(2a3)根據(2a2)確定的搜索起始點在參考圖像上對大小為64×64圖像塊執行整像素運動搜索,得出64×64圖像塊的整像素運動向量;(2b)分別對32×32圖像塊、32×64圖像塊和64×32圖像塊的高級運動向量預測和整像素運動搜索:(2b1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2a3)得出的64×64圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第二候選列表;(2b2)利用率失真準則選出第二候選列表中最優項,作為32×32圖像塊、32×64圖像塊和64×32圖像塊的運動搜索起始點;(2b3)根據(2b2)確定的搜索起始點在參考圖像上分別對32×32圖像塊、32×64圖像塊和64×32圖像塊執行整像素運動搜索,分別得出32×32圖像塊、32×64圖像塊和64×32圖像塊的整像素運動向量;(2c)分別對16×16圖像塊、16×32圖像塊、32×16圖像塊的高級運動向量預測和整像素運動搜索:(2c1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2b3)得出的32×32圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第三候選列表;(2c2)利用率失真準則選出第三候選列表中最優項,作為16×16圖像塊、16×32圖像塊和32×16圖像塊的運動搜索起始點;(2c3)根據(2c2)確定的搜索起始點在參考圖像上分別對16×16圖像塊、16×32圖像塊和32×16圖像塊執行整像素運動搜索,分別得出16×16圖像塊、16×32圖像塊和32×16圖像塊的整像素運動向量;(2d)分別對8×8圖像塊、8×16圖像塊和16×8圖像塊的高級運動向量預測和整像素運動搜索:(2d1)將參考幀運動向量信息表中對應位置的運動向量作為時域候選,將由步驟(2c3)得出的16×16圖像塊的整像素運動向量設為空域候選,并對該時域候選和空域候選進行合并,剔除重復項,生成第四候選列表;(2d2)利用率失真準則選出第四候選列表中最優項,作為8×8圖像塊、8×16圖像塊和16×8圖像的運動搜索起始點;(2d3...
【專利技術屬性】
技術研發人員:杜建超,陳曦蕾,肖嵩,李媛媛,孫兆凱,李衛斌,
申請(專利權)人:西安電子科技大學,
類型:發明
國別省市:陜西,61
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。