基于運動矢量約束和加權運動矢量的運動補償預測方法
【專利摘要】一種基于運動矢量約束和加權運動矢量的運動補償預測方法,包括以下步驟:對當前編碼塊周圍的已編碼塊的運動矢量進行運動矢量約束化分析;對運動矢量滿足約束條件的一致性區(qū)域的編碼塊直接采用融合模式編碼對處于運動矢量不滿足約束條件的復雜區(qū)域的編碼塊采用加權的高級運動矢量預測方法進行幀間運動補償預測編碼。本發(fā)明通過對運動矢量約束分析,對幀間運動補償預測流程細化,以及針對復雜場景的加權AMVP預測,在不引入額外的編碼信息的條件下提高了幀間預測的精確度,從而提高了編碼性能,降低了視頻壓縮后的碼率。
【專利說明】基于運動矢量約束和加權運動矢量的運動補償預測方法
【技術領域】
[0001]本發(fā)明屬于視頻編解碼【技術領域】,尤其是一種基于運動矢量約束和加權運動矢量的運動補償預測方法。
【背景技術】
[0002]數(shù)字視頻技術在通信和廣播領域獲得越來越廣泛的應用,特別是在90年代后,隨著互聯(lián)網(wǎng)和移動通信技術的迅猛發(fā)展,視頻信息和多媒體信息在互聯(lián)網(wǎng)網(wǎng)絡和移動網(wǎng)絡中的處理和傳輸成為了當前信息化技術研究中的熱點。
[0003]視頻主宰了人類在信息時代中的信息來源,但未經(jīng)壓縮的原始視頻數(shù)據(jù)往往非常巨大,給存儲和傳輸帶來了很大的困難。同時,巨大的視頻數(shù)據(jù)中存在著很多信息上的冗余,這為視頻數(shù)據(jù)的壓縮提供了充分的可能性。視頻壓縮不但要追求高的壓縮比(更低的碼率),同時還希望最大程度地保持視頻圖像重建后的質量。但是,這些需求之間是矛盾的,優(yōu)秀的編碼算法就要尋求這些矛盾之間的最佳平衡。Shannon先后于1948年和1959年發(fā)表了完整的率失真理論,從數(shù)學上分析得到了如何平衡失真和碼率,找到了給定碼率下失真的可達上限或者給定失真下碼率的可達下限,率失真理論是視頻編碼的基石之一。
[0004]視頻編碼通過挖掘視頻數(shù)據(jù)中的空間相關性和時間相關性,消除數(shù)據(jù)中的時間冗余、空間冗余、統(tǒng)計冗余和視覺冗余,以達到壓縮的目的。
[0005]1952年由Cutler發(fā)明的差分脈沖編碼調制技術(DPCM,Differential Pulse CodeModulation)是對圖像編碼技術的最早研究,幀內的DPCM編碼挖掘了一幀圖像空間上的相關性進行壓縮。對于視頻信號而言,時域上也存在相關性(時間冗余),1969年,F(xiàn).ff.Mounts和F.Rocca提出了時域上的DPCM。七十年代,隨著對時域相關性的理解的深入,運動估計和補償技術被提出,直到今天為止,運動補償技術仍然是視頻壓縮的核心之一。運動補償是將視頻圖像分割成塊,在時間相鄰的圖像之間進行匹配,然后將匹配之后的殘差部分進行編碼,這樣可以較好地去除視頻信號中的視頻幀與幀之間的時間冗余,達到壓縮的目的。與此同時,變換技術在圖像和視頻編碼領域得到了重視,Ahmed等人提出了著名的基于塊的離散余弦變換(DCT, Discrete Cosine Transform),至今為止,仍然被用于視頻壓縮中。變換編碼的核心思想是把視頻數(shù)據(jù)分割成塊,利用正交變換將數(shù)據(jù)的能量集中到較少幾個變換系數(shù)上。預測編碼和變換編碼的不斷發(fā)展,推動了混合編碼框架的誕生。J.R.Jain和A.K.Jain在1979年的國際圖像編碼學會上提出了基于塊運動補償和變換編碼的混合編碼框架(MC/DCT Hybrid Coding)。它也成為了現(xiàn)代幾乎所有的視頻編碼標準的核心。混合編碼框架的核心模塊除了預測編碼和變換編碼之外,還有量化和熵編碼兩部分。視頻編碼中信息的損失和壓縮比的獲得,很大程度上來源于量化模塊。量化基本上都采用標量量化技術,即將源信號中的單一樣本映射到預定義的碼表中的某一固定電平值,形成多到少的映射,從而達到壓縮的目的,當然在壓縮的過程中就引入了損失。量化后的信號再進行無損的熵編碼,消除信號中的統(tǒng)計冗余。熵編碼的研究最早可以追溯到20世紀50年代,Huffman編碼、游程編碼(Run-length coding)和算術編碼(Arithmetic coding)的發(fā)明。經(jīng)過幾十年的發(fā)展,熵編碼在視頻編碼中的應用更加成熟、更加精巧,充分利用視頻數(shù)據(jù)中的上下文信息,將概率模型估計得更加準確,從而提高了熵編碼的效率。
[0006]作為最成熟的編碼標準,在2003年3月,H.264視頻編碼標準被推出。H.264自推出后得到了國內外學術界和產(chǎn)業(yè)界的廣泛關注,它在編碼效率、圖像質量、網(wǎng)絡適應性和抗誤碼等諸多方面都取得了很好的效果,但是其編碼算法有很高的復雜度。隨著終端和網(wǎng)絡技術的快速發(fā)展,對視頻編碼的要求不斷提高,為了適應新的要求,H.264需要被進一步地完善。自2010年I月起,視頻編碼專家組(VCEG)和運動圖像專家組(MPEG)共同組建了視頻編碼聯(lián)合專家組(JCT-VC, Joint Collaborative Team on Video Coding)來制定新的視頻編解碼標準,高性能視頻編碼標準(HEVC,High Efficiency Video Coding)。HEVC被提出作為新一代視頻編碼標準,并且在2013年I月,IS0/IDE和ITU-T發(fā)布HEVC的最終國際標準草案。HEVC現(xiàn)已成為許多科研院所及一些大公司在國際視頻編碼標準方面的研究熱點。HEVC的目標是在保持相同視頻質量條件下,與H.264標準相比,碼率節(jié)省50%。但是,HEVC最新官方參考代碼與H.264相比碼率節(jié)省為22%到37%,尚未達到50%這個目標。因此,HEVC在壓縮性能方面仍有較大的提升空間和必要。
[0007]與之前的標準類似,HEVC仍然采用混合編碼框架,但在數(shù)據(jù)結構、幀內預測、幀間預測、變換、環(huán)路濾波等各個環(huán)節(jié)都進行了細致的改進和優(yōu)化。HEVC的關鍵技術特征包括以下幾個方面:
[0008](I)取代之前標準采用16x16固定大小的宏塊劃分方式,采用靈活的4叉樹數(shù)據(jù)結構,引入編碼單元(CU, Coding Unit)、預測單元(PU, Prediction Unit)、變換單元(TU,Transform Unit)概念,對編碼數(shù)據(jù)塊和變換塊采用四叉樹進行表達。
[0009]隨著視頻分辨率的增加,圖像中出現(xiàn)較大面積平坦區(qū)域的概率提高,基于更大尺寸(大于16x16)的運動補償可以更加有效地提高編碼效率,HEVC采納了靈活的四叉樹劃分方式,與宏塊的概念類似,將圖像分割成若干個編碼樹單元(CTU, Coding Tree Unit),每個CTU可以自適應地以迭代方式進行四分,直至最小編碼單(S⑶,Smallest Coding Unit)。
[0010](2)支持并行編碼機制的圖像劃分方式,包括圖相片(Tiles)和行波并行處理(WPP, Wave-front Parallel Processing)。Tiles技術可以將圖像平均分成若干行和列,每一個Tile可以獨立解碼或者獨立解析,這樣可以給并行計算帶來便利。WPP技術是將圖像按照CTU行進行并行,每個CTU行的初始兩個CTU的編解碼完成之后,下一個CTU行的編解碼即可并行開始,既增加了并行程度,又盡可能地保持預測和熵編碼的上下文,與Tile和圖像條(SI ice )相比,可以更好地保持編碼效率。
[0011](3)幀內預測采用了 Angular技術,將預測方向增加到35個(包括直流DC和平面Planar模式)并且改進巾貞內預測值生成基于模式的巾貞內平滑(MDIS,Mode Dependent IntraSmooth)。HEVC采用了與H.264相似的空間幀內預測技術,將幀內預測的方向增加到35個,使預測方向更加細致,以便有效地捕捉圖像中的紋理,消除空間冗余,提高壓縮效率。同時,HEVC在幀內預測值的生成中,根據(jù)幀內預測塊大小的不同和幀內預測模式的不同,對預測值進行了不同的濾波處理,即MDIS技術,這樣可以提高幀內預測的準確性,提高壓縮效率。色度分量的帕內預測挖掘了色度與亮度之間的相關性,當色度與亮度分量的紋理類似時,色度分量可以直接采用亮度分量的預測方向,以避免傳輸額外的模式信息,提高編碼效率。
[0012](4)高級運動矢量預測,HEVC的運動矢量可以用空域和時域兩種方式進行預測。與之前的標準相比,HEVC的運動矢量預測利用了更多的空間相鄰信息,不再采用中值法計算出固定的預測運動矢量,而是生成候選預測運動矢量集,然后通過率失真優(yōu)化算法選擇最佳的預測運動矢量,并在碼流中傳輸最佳預測運動矢量的索引號。
[0013](5)新的幀間預測模式一Merge模式由于幀間預測塊在空間和時間上存在較強的一致性,待編碼塊直接借用相鄰塊的運動信息,可以消除冗余,達到編碼效率的提升。采用Merge模式的塊,可以直接復制相鄰塊的運動信息進行運動補償,從而節(jié)省運動信息的編碼開銷,提高了壓縮效率。
[0014](6)巾貞間預測非對稱運動劃分(AMP, Asymmetric Motion Partitions),除了與
H.264/AVC 中的可變塊類似的 2Nx2N, 2NxN, Nx2N, NxN(N e {32,16,8,4})除了這樣的塊劃分之外,HEVC還采納了 AMP模式,可以更加靈活地捕捉圖像中的運動物體,提高編碼效率。
[0015](7)基于DCT的亞像素插值濾波器,HEVC的運動矢量精度與H.264/AVC—樣,仍然為1/4精度,但采用了基于DCT的可分離一維濾波器,進一步提高了亞像素插值的準確度。
[0016](8)四叉樹狀變換結構與多種大小的變換。HEVC中的預測殘差的變換編碼采用四叉樹狀的多尺寸變換32x32,16x16,8x8,4x4的變換,變換核為整數(shù)DCT。此外,對某些幀內預測模式的預測殘差塊,可采用4x4的離散正弦變換(DST, Discrete Sine Transform,由于幀內預測中,距離左上角越遠的位置,預測性能越差,離左上邊界越遠,殘差越大,對這樣的數(shù)據(jù)塊進行變換,DST要優(yōu)于DCT。
[0017](9)環(huán)路濾波部分除去塊濾波技術外,還增加了自適應樣本偏置(SAO,SampleAdaptive Offset)。HEVC的去塊濾波技術與H.264/AVC類似,但由于塊劃分方式的不同,需要分別處理⑶、PU、TU等的邊界。重建圖像在去塊濾波之后,根據(jù)像素值和像素位置的不同,將像素分成不同的類別,根據(jù)類別的不同,引入不同的像素偏置,以減小重建失真,即SAO技術。
[0018]在視頻數(shù)據(jù)中,視頻幀間時間冗余度遠大于幀內空間冗余度,用于壓縮幀間時間冗余度的運動補償預測算法在整個視頻數(shù)據(jù)壓縮編碼系統(tǒng)中占有很大比重。因此,運動補償預測性能的好壞很大程度上決定了編碼器的壓縮性能。
[0019]Skip/Merge模式作為在HEVC幀間編碼中引入新的重要編碼工具,可以進一步提升幀間編碼效率。由于視頻圖像劃分成塊進行編碼,相鄰的塊之間的相關性非常高,它們的紋理或者運動具有很強的相似性,基于這樣的考慮,之前的視頻標準中,跳過(SKIP)模式在幀內預測技術中,具有非常重要的地位。SKIP模式塊的運動矢量通過解碼端導出,并且重建值完全通過參考幀進行生成,因此只需要很少的邊信息(通常為一個標識位)即可表達整個宏塊的信息量。HEVC也采用了類似的思想,設計出Skip及Merge模式。為了減少幀間預測塊所需要傳輸?shù)倪呅畔⒌拈_銷,Skip及Merge充分挖掘空域上和時域上的相鄰塊之間的相似性,通過傳輸索引的方式,表達運動信息,包括運動矢量,參考索引,預測方向等,解碼器可以恢復出Skip或Merge的運動信息,節(jié)省碼率開銷。
[0020]SKIP以編碼單元為單位(⑶),即每個編碼單元傳輸Skip模式標識和運動信息索弓丨,但不傳輸預測殘差,預測以2Nx2N的塊為基本單元;而此找6以預測單元(PU)為單位,PU中傳輸Merge模式標識和運動信息索引,每個⑶中的全部或者部分I3U采用Merge模式,要傳輸預測殘差。SKIP與Merge采用相同的運動信息導出方式,其中所需要導出的運動信息包括:運動矢量,參考索引和預測方向。[0021]Skip/Merge模式的運動信息導出,采用四種類型的相鄰運動信息作為候選生成候選列表,通過傳輸候選列表的索引進行表達。四類相鄰運動信息分別為:
[0022]空域候選、時域候選、重組雙向預測候選和零運動矢量候選,并且按照所述的順序,依次添加到候選列表中,直到滿足候選列表的最大個數(shù)。Skip以編碼單元為單位(CU),即每個編碼單元傳輸Skip模式標識和運動信息索引,但不傳輸預測殘差,預測以2Nx2N的塊為基本單元;而Merge以預測單元為單位(PU),PU中傳輸Merge模式標識和運動信息索弓丨,每個CU中的全部或者部分I3U采用Merge模式,要傳輸預測殘差。SKIP與Merge采用相同的運動信息導出方式,其中所需要導出的運動信息包括,運動矢量,參考索引和預測方向。
[0023]在HEVC中對于Skip/Merge模式的選擇是基于率失真優(yōu)化的遍歷搜索比較的方法,即對于每一層深度CU的編碼都要進行幀間的Skip、Merge、2Nx2N、Nx2N、2NxN、NxN、非對稱AMP分割和幀內的2Nx2N、NxN和PCM模式的編碼的率失真代價比較,只有在所有模式都計算完畢且Skip/Merge代價最小時才用該模式。
[0024]對于非Skip/Merge模式,需要對運動信息進行傳輸,為了節(jié)省傳輸MV的碼率開銷,HEVC與H.264/AVC類似,采用了運動矢量預測技術,通過空域和時域相鄰信息形成運動矢量預測候選列表(運動矢量預測候選列表長度為2),通過傳輸候選列表索引對MV進行預測,并傳輸MV的預測殘差MVD。
[0025]然而,在已有的幀間預測補償過程中,在一個參考幀里只有一個參考塊是作為當前編碼塊的預測值,而對于復雜的編碼塊或者與周圍運動不一致的編碼塊則一個塊很難對當前編碼塊進行準確預測。因此,在某些復雜運動的場景或者局部,傳統(tǒng)的運動補償預測的準確度并不理想,這影響了視頻壓縮效率的進一步提升。
【發(fā)明內容】
[0026]本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種設計合理、精度高、速度快的基于運動矢量約束和加權運動矢量的運動補償預測方法。
[0027]本發(fā)明解決其技術問題是采取以下技術方案實現(xiàn)的:
[0028]一種基于運動矢量約束和加權運動矢量的運動補償預測方法,包括以下步驟:
[0029]步驟1、對當前編碼塊周圍的已編碼塊的運動矢量進行運動矢量約束化分析;
[0030]步驟2、對運動矢量滿足約束條件的一致性區(qū)域的編碼塊直接采用融合模式編碼;
[0031]步驟3、對處于運動矢量不滿足約束條件的復雜區(qū)域的編碼塊采用加權的高級運動矢量預測方法進行幀間運動補償預測編碼。
[0032]而且,所述步驟I的具體步驟如下:
[0033](I)將當前編碼塊的空域運動矢量參考集劃分為兩種模式,一種模式取當前塊左側的編碼塊的3個運動矢量,另一種模式取當前塊上方的編碼塊的3個運動矢量;
[0034](2)計算每一個模式中3個運動矢量中2個運動矢量之間的運動矢量差,其計算公式如下:
[0035]
【權利要求】
1.一種基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于,包括以下步驟: 步驟1、對當前編碼塊周圍的已編碼塊的運動矢量進行運動矢量約束化分析; 步驟2、對運動矢量滿足約束條件的一致性區(qū)域的編碼塊直接采用融合模式編碼;步驟3、對處于運動矢量不滿足約束條件的復雜區(qū)域的編碼塊采用加權的高級運動矢量預測方法進行幀間運動補償預測編碼。
2.根據(jù)權利要求1所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟I的具體步驟如下: (1)將當前編碼塊的空域運動矢量參考集劃分為兩種模式,一種模式取當前塊左側的編碼塊的3個運動矢量,另一種模式取當前塊上方的編碼塊的3個運動矢量; (2)計算每一個模式中3個運動矢量中2個運動矢量之間的運動矢量差,其計算公式如下:
D = I vx (A) -vx (B) | + | vy (A) -vy (B) D為任意兩個運動矢量差,A、B分表代表兩個運動矢量,Vx表示運動矢量的水平分量,Vy表示運動矢量的垂直分量; (3)根據(jù)任意兩個運動矢量差D的結果判斷當前編碼塊和周圍塊的運動矢量場是否一致。
3.根據(jù)權利要求2所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟(3)判斷當前編碼塊和周圍塊的運動矢量場是否一致的方法為:對于長度為W,寬度為H的當前編碼塊,當兩個模式中所有D的水平分量均小于W/8,而且所有D的垂直分量均小于H/8時,則當前的運動矢量場是連續(xù)的,判斷當前編碼塊和周圍的塊在運動上是一致的。
4.根據(jù)權利要求1所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟2融合模式編碼方法包括以下步驟: (1)在融合參考集中,通過絕對差之和的計算,得到最佳融合參考運動矢量,其計算公式如下:
5.根據(jù)權利要求1所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟3采用加權的高級運動矢量預測方法進行幀間編碼的具體步驟包括: (1)從高級運動矢量預測參考集中選擇2個最終的AMVP預測值,然后對其取平均值,其計算公式如下:
6.根據(jù)權利要求5所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟(2)中,當2個最終AMVP預測值包括零運動時,Wm取I且wZOT。取O ;當2個最終AMVP預測值不包括零運動時,Wm取0.5且w咖取0.5。
7.根據(jù)權利要求5所述的基于運動矢量約束和加權運動矢量的運動補償預測方法,其特征在于:所述步驟(3)中,Wamvp取0.2,且Wsearch取0.8。
【文檔編號】H04N19/00GK103561263SQ201310547287
【公開日】2014年2月5日 申請日期:2013年11月6日 優(yōu)先權日:2013年11月6日
【發(fā)明者】白旭, 于力 申請人:北京牡丹電子集團有限責任公司數(shù)字電視技術中心