本發明涉及視頻編碼的
技術領域:
,具體涉及一種針對高效率視頻編碼標準的跳過編碼模式提前判決方法,是一種視頻編碼中編碼模式的判決方法,特別是一種面向高效率視頻編碼標準的快速檢測跳過模式方法。
背景技術:
:近些年來,人們對視頻信息,尤其是高清視頻以及各種網絡視頻的獲取需求日益增加,視頻壓縮技術迎來了巨大挑戰。iso/iec的運動圖像專家組(motionpictureexpertsgroup,mpeg)和itu-t的視頻編碼專家組(videocodingexpertgroup,vceg)組成視頻編碼聯合組(jointcollaborativeteamonvideocoding,jct-vc),并聯合制定了高效率視頻編碼標準h.265/hevc(highefficiencyvideocoding)。新一代視頻編碼標準h.265/hevc增加了很多新的編碼工具,與上一代視頻編碼標準h.264/avc相比,h.265/hevc的編碼性能有了大幅度的提升。高清視頻中將編碼模式分為跳過模式、合并模式以及幀內/幀間編碼模式,利用這些編碼模式可以將視頻進行高質量的編碼壓縮進而傳輸和儲存。但是,編碼模式的判決過程需要根據編碼單元的分割方式遍歷所有編碼模式,提高了編碼復雜度,增加了編碼時間,阻礙了h.265/hevc的實時應用。目前,針對高清視頻的編碼模式快速判決方法已經有許多成熟的技術,如:l.shen等人提出了針對hevc幀內編碼的快速編碼單元(cu)尺寸判決算法,該算法通過減少候選模式數量來達到加速處理的目的。q.zhang等人提出快速運動估計/視差估計(de/me)算法,可以快速選擇最佳幀間編碼模式。x.huang等人提出了基于量化參數的自適應閾值幀間模式檢測方法,簡化了率失真優化過程并加快了編碼時間。但是,這些技術在減少候選模式的同時又引入了新的計算復雜度,所以編碼時間無法降到最低。因此,如何在高效率視頻編碼中有效的選擇編碼模式,實現出色的編碼效率是目前視頻編碼技術面臨的難題之一。高效率視頻編碼的跳過模式快速判決方法,實質上是為了避免遍歷所有編碼模式,降低計算復雜度的同時減少運動矢量和殘差信息傳輸,降低傳輸比特率。在h.265/hevc編碼過程中,圖像中當前像素與其周圍相鄰像素非常相似,所以編碼模式的判決利用的是像素之間較強的時空相關性,通過已編碼的像素塊對其相鄰的未編碼像素塊進行預測,將像素殘差值進行編碼,最終確定編碼模式,這樣便可以較好地選擇編碼模式,提高壓縮效率。而與合并模式、幀內/幀間編碼模式不同的是,跳過模式不再傳輸運動矢量和殘差信息。h.265/hevc提供的高效率視頻編碼參考模型hm(hevcmodel)是進行全率失真優化,也就是遍歷所有編碼模式得到每一種模式的殘差信息,再對殘差值進行hadamard變換計算其satd值并選取最小值代表的模式作為最優編碼模式,使得計算量巨大,計算時間長。所以,編碼模式選擇的準確性和適用性對視頻的編碼效率至關重要。技術實現要素:針對現有的h.265/hevc標準編碼復雜度較高,編碼時間較長的問題,本發明提出一種針對高效率視頻編碼標準的跳過編碼模式提前判決方法,不僅能在率失真計算過程之前準確檢測跳過編碼模式,降低編碼復雜度,還能有效降低傳輸比特率。為了解決上述技術問題,本發明的技術方案是:一種針對高效率視頻編碼標準的跳過編碼模式提前判決方法,其步驟如下:步驟一:計算分割尺寸大小為2n×2n的編碼塊的率失真代價,獲得運動矢量和殘差信息,n表示編碼塊若為跳過模式時分割尺寸的大小;步驟二:利用運動矢量大小和殘差信息來判定編碼塊是否為跳過模式,若為非跳過模式進入步驟三,否則進入步驟一對下一編碼塊進行處理;步驟三:計算當前編碼塊cuc相鄰的前一幀的編碼塊cul0和后一幀的編碼塊cul1的率失真代價;步驟四:利用運動矢量大小和殘差信息分別對編碼塊cul0和編碼塊cul1進行判決,當前一幀的編碼塊cul0=skip時,計算距離方程,若滿足閾值條件則當前編碼塊判決為跳過模式;否則,當前編碼塊則判定為非跳過模式;若前一幀的編碼塊cul0≠skip,后一幀的編碼塊cul1=skip,計算距離方程,若滿足閾值條件則判決當前編碼塊為跳過模式,否則,判定當前編碼塊為非跳過模式;若后一幀的編碼塊cul1≠skip,則判定當前編碼塊為非跳過模式;步驟五:判決結束,進入步驟(1)繼續進行下一個編碼塊的跳過模式判決。所述步驟一種率失真代價的方程為:j=dif+λ·bit,dif是編碼塊當前編碼模式和預測模式的差異平均值,是殘差經hadamard變換后再絕對值求和得到的satd值,λ是拉格朗日乘子,bit是比特率、表示編碼運動矢量殘差所用的比特數;殘差信息是衡量編碼過程中當前幀編碼塊和參考幀編碼塊之間的匹配精確度:re(x,y)=c(x,y)-r(x+δx,y+δy),s.t.(x,y)∈c;其中,re(x,y)、c(x,y)、r(x+δx,y+δy)分別為殘差塊、當前塊、參考塊的像素值,c為當前塊,(x,y)是當前塊c的坐標,(δx,δy)為當前塊到參考塊的偏移量;運動矢量表示當前幀編碼塊與鄰近幀對應參考塊的空間位置的相對偏移量:mv=r-c=(x′,y′)-(x,y)=(x′-x,y′-y)=(δx,δy);其中,r為參考塊,(x′,y′)是r的坐標。所述步驟二中利用運動矢量大小和殘差信息來判定編碼塊是否為跳過模式的方法是:(3)(4)殘差re(x,y)=0;若滿足以上兩個條件則該編碼塊為靜止區域或跳過模式;其中,和分別表示中當前幀的編碼塊和臨近幀l0和臨近幀l1對應位置的編碼塊運動矢量的絕對值。所述距離方程為:其中,其中,ns和nns分別指以編碼為跳過和非跳過模式的編碼單元數,i表示編碼塊深度層次,t表示當前編碼塊的編碼時間;距離方程利用了熵差δh的概念,通過利用當前塊和兩個參考塊相似性δhl0和δhl1的計算方法,可得到跳過模式的編碼塊和非跳過模式編碼塊的熵差,其中,當前編碼塊和兩個參考編碼塊之間的相似性為:δhl0=abs(hl0-hc),δhl1=abs(hl1-hc);其中,δhl0和δhl1分別表示編碼塊cul0和編碼塊cul1與當前編碼塊的熵差,hc、hl0、hl1分別表示當前編碼塊和對應編碼塊cul0和cul1的熵,它們的計算公式為h表示熵,p(f)表示概率質量函數,f表示隨機變量;所述閾值條件差平均值δh和距離方程計算確定,當前編碼塊根據距離方程得到的值小于則判定編碼塊為跳過模式:本發明與已有技術相比較,具有如下顯而易見的實質性突出特點和顯著優點:只增加了少量碼率,降低了傳輸比特率,節省了大量的編碼時間;采用熵差的概念來代替計算繁瑣的交互信息,快速判決跳過模式,在得到極好編碼性能的同時,節省了大量的編碼時間,具有實際操作性,便于進行實時應用。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明的流程框圖。圖2為圖1中當前幀與相鄰幀參考像素塊之間的對應關系示意圖。圖3為本發明與h.265/hevc標準相比,8個測試序列的psnr和比特率的rd曲線。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。如圖1所示,一種針對高效率視頻編碼標準的跳過編碼模式提前判決方法,對編碼塊進行靜止區域或非靜止區域檢測并判決靜止區域中編碼塊的跳過模式,然后對非靜止區域的編碼塊進行跳過模式判定,最后進行率失真計算后進行視頻壓縮傳輸;具體是,首先計算分割尺寸大小為2n×2n編碼塊的率失真代價,然后檢測運動矢量和殘差值確定編碼塊包含在靜止區域或非靜止區域,進行靜止區域中編碼塊模式判決,最后通過閾值條件判決非靜止區域中編碼塊是否為跳過模式,其步驟是:步驟一、計算分割尺寸大小為2n×2n編碼塊的率失真代價,獲得運動矢量和殘差信息。根據跳過模式的特點,當編碼塊編碼模式為跳過模式時,編碼塊尺寸大小為2n×2n,其中,n取整數4、8、16或32,n表示編碼塊若為跳過模式時分割尺寸的大小;并且需要運動矢量和殘差信息條件來判定編碼塊包含在靜止區域或非靜止區域,將編碼塊分為靜止編碼塊或非靜止編碼塊。其中,率失真代價的方程為j=dif+λ·bit;dif是編碼塊當前編碼模式和預測模式的差異平均值,是將殘差hadamard變換后再絕對值求和得到的satd值,λ是拉格朗日乘子,bit是比特率,表示編碼運動矢量殘差所用的比特數。殘差信息衡量的是編碼過程中當前幀編碼塊和參考幀編碼塊之間的匹配精確度:re(x,y)=c(x,y)-r(x+δx,y+δy),s.t.(x,y)∈c;其中re(x,y)、c(x,y)、r(x,y)分別為殘差塊、當前塊、參考塊的像素值,c為當前塊,(x,y)是當前塊c的坐標,(δx,δy)為當前塊到參考塊的偏移量即運動矢量。運動矢量表示當前幀編碼塊與鄰近幀對應參考塊的空間位置的相對偏移量:mv=r-c=(x′,y′)-(x,y)=(x′-x,y′-y)=(δx,δy);其中,r為參考塊,(x′,y′)是r的坐標。步驟二、利用運動矢量大小和殘差信息來判定編碼塊是否為跳過模式,若為非跳過模式進入步驟三,否則進入步驟一對下一編碼塊進行處理;(1)(2)殘差(residuals)=0;若滿足以上兩個條件則該編碼塊為靜止區域。和分別表示圖像組(groupofpictures)中當前幀的編碼塊和臨近幀l0和臨近幀l1對應位置的編碼塊的運動矢量的絕對值。若步驟(1)中獲得運動矢量和殘差值為0,則將語法層面的編碼塊標志位和殘差賦值為0,進而進行判決。當前幀與同一圖像組臨近幀l0和臨近幀l1位置關系如圖2所示。當編碼塊編碼模式為跳過模式時,傳輸時不需要傳輸運動矢量并且殘差值也量化為0,這樣就大大減少了比特流,降低了編碼復雜度,節省了編碼時間。正由于這個原因,在視頻序列中平坦區域和靜止區域編碼塊一般采用跳過模式。在本發明中,如表1所示,當編碼塊較大尺寸時概率較高,較小尺寸時概率較低,所以靜止區域編碼塊會損失一定精度。表1靜止區域中編碼塊為跳過模式的概率步驟三、計算當前編碼塊cuc相鄰的前一幀的編碼塊cul0和后一幀的編碼塊cul1的率失真代價。視頻編碼是基于塊編碼的,即把每一幀圖像分割為不同大小尺寸的像素塊,編碼器將像素塊值編碼后進行傳輸。cul0和cul1分別是一個圖像組中參考幀即臨近幀l0和臨近幀l1對應位置的編碼塊,通過率失真優化j的計算確定為跳過模式后,進行當前幀編碼塊編碼模式的判決。當前幀編碼塊和同一圖像組參考幀對應編碼塊的位置關系如圖2所示。步驟四:利用運動矢量大小和殘差信息分別對編碼塊cul0和編碼塊cul1進行判決,當前一幀的編碼塊cul0=skip時,計算距離方程,若滿足閾值條件則當前編碼塊判決為跳過模式;否則,當前編碼塊則判定為非跳過模式;若前一幀的編碼塊cul0≠skip,后一幀的編碼塊cul1=skip,計算距離方程,若滿足閾值條件則判決當前編碼塊為跳過模式,否則,判定當前編碼塊為非跳過模式;若后一幀的編碼塊cul1≠skip,則判定當前編碼塊為非跳過模式;skip表示此編碼塊為跳過模式,距離方程、閾值條件分別是方程和條件閾值條件由熵差平均值δh和距離方程計算確定,即若當前編碼塊根據距離方程得到的值小于則判定此編碼塊為跳過模式。若為跳過模式,則當前幀編碼塊和相關聯的參考幀編碼塊傳輸的信息必須是一致的,所以兩者的交互信息i(c,r)值應該很小。但由于交互信息值的計算較為復雜,本發明利用熵來代替交互信息,并通過熵差的方法來確定閾值條件,進行編碼塊的跳過模式判決。同時,因為相鄰兩個參考像素都需要判決,將進行兩個判決過程。(4-1)、根據熵理論和交互信息的相似性,利用熵理論來代替交互信息來衡量當前編碼塊和相關編碼塊的相似性:其中,h表示熵,p(f)表示概率質量函數,c和r分別表示當前幀編碼塊和參考幀對應位置編碼塊,f表示隨機變量,i(c,r)表示交互信息,p(c,r)表示c和r的聯合分布,p(c)和p(r)分別表示當前和參考幀編碼塊為跳過編碼模式的概率。(4-2)、利用熵差的方法可以分別衡量當前像素塊和兩個參考像素塊之間的相似性。δhl0=abs(hl0-hc)δhl1=abs(hl1-hc)其中,δhl0和δhl1分別表示編碼塊cul0和cul1與當前編碼塊的熵差,hc、hl0、hl1分別表示當前編碼塊和對應編碼塊cul0和cul1的熵。(4-3)、確定閾值:此方法閾值不是固定值,通過計算跳過模式和非跳過模式的熵差平均值和距離方程,可以進一步確定閾值。其中,ns和nns分別指以編碼為跳過和非跳過模式的編碼單元數,i表示編碼塊深度層次,t表示當前編碼塊的編碼時間。距離方程:通過計算跳過模式和非跳過模式的距離方程,可以知道跳過模式閾值,當時,進行閾值判決。(4-4)、利用閾值判決,通過計算得到非固定閾值,進行跳過模式判決。利用當前幀像素塊與參考幀相應像素塊的相似性進行模式判決,具體方法是:首先確定需要編碼的編碼塊包含在非靜止區域中,進而利用視頻編碼通過已編碼的像素塊對其相鄰的未編碼的像素塊進行預測的特點進行這一步的判定。在進行步驟(2)后,非靜止區域中,若參考幀像素塊為跳過模式,則可以計算距離方程中和的值來進行比較,然后通過確定的可變化的閾值條件來判定編碼模式,若滿足閾值則判定為跳過模式。利用相鄰兩個參考幀參考像素塊與當前幀對應像素塊之間的相似性,可對兩個參考像素分別進行判定,先判決第一個參考編碼塊后再進行另外一個參考編碼塊的判決。若分別滿足閾值條件則可直接進行判決,進行循環判決。(5)、判決結束,進入步驟一繼續進行下一個編碼塊的跳過模式判決。為了驗證本發明的效果,下面對幾個標準測試視頻序列進行測試實驗,在jct-vc提供的高效率視頻編碼系統平臺上,以hm為實驗模型分別采用固定量化參數。實驗配置:表2實驗配置中央處理器intelcore(tm)i7-2600k隨機存取存儲器16gbddr3操作系統microsoftwindows7(64-bit)實驗平臺microsoftvisualc++2010測試結果:表3本發明和hevc編碼器hm10.0的對比實驗結果圖3中(a)“traffic”(b)“johnny”(c)“kimono”(d)“basketballdrive”(e)“basketballdrill”(f)“partyscene”(g)“basketballpass”和(h)“bqsqure”在量化參數(qp)22、27、32和37下的rd曲線,即pnsr與比特率的變化情況。由表3以及圖3可知:本發明與原始hevc編碼方式相比,在兩種條件下分別節省了平均40.39%和39.59%左右的編碼時間,如圖3顯示,雖然psnr有小幅度下降,但節省了大量的編碼時間。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。當前第1頁12