專利名稱:一種運動矢量預測方法
技術領域:
本發明涉及視頻編碼技術,特別涉及運動矢量預測方法。
背景技術:
高效的視頻編解碼技術是實現高質量、低成本多媒體數據存儲和傳輸的關鍵。目前常用的編碼方法有預測編碼、正交變換編碼、向量量化編碼等等。這些方法都是基于信號處理理論的,通常也稱為第一代編碼技術。現在比較流行的圖像編碼國際標準都基于這種編碼理論,采用的是基于塊匹配的運動補償、離散余弦變換和量化相結合的編碼方法。典型的有國際標準化組織/國際電工技術委員會第一聯合技術組(ISO/IEC JCT1)推出的MPEG-1,MPEG-2和MPEG-4等國際標準,以及國際電信聯盟(ITU-T)提出的H.26x系列推薦。這些視頻編碼標準在工業界得到了廣泛應用。
上述的視頻編碼標準都采用了混合視頻編碼(Hybrid Video Coding)策略,通常包括預測、變換、量化和信息熵編碼等四個主要模塊。預測模塊的主要功能是利用已經編碼并重建的圖像對當前要編碼的圖像進行預測(幀間預測),或者利用圖像中已經編碼并重建的圖像塊(或宏塊)對當前要編碼的圖像塊(或宏塊)進行預測(幀內預測)。變換模塊的主要功能是將輸入的圖像塊變換到另外一個空間,使輸入信號的能量盡可能地集中在低頻變換系數上,進而降低圖像塊內元素之間的相關性,有利于壓縮。量化模塊的主要功能是將變換的系數映射到一個有利于編碼的有限元素集上;信息熵編碼模塊的主要功能是根據統計規律,將量化后的變換系數用變長碼表示。
視頻解碼系統包含與視頻編碼相似的模塊,主要通過將輸入的碼流通過熵解碼、反量化、反變換等過程重建解碼圖像。除了上述模塊外,視頻編解碼系統中通常還包含一些輔助的編碼工具,這些工具也會對整個系統的編碼性能(壓縮化)做出貢獻。
基于運動補償預測的主要功能是消除視頻序列在時間上的冗余,視頻編碼的大部分編碼效率來自于預測模塊。視頻編碼過程就是對視頻序列的每一幀圖像進行編碼的過程。常用的視頻編碼系統對每一幀圖像的編碼是以宏塊為基本單元進行的。在編碼每一幀圖像時,又可以分為幀內(I幀)編碼、預測(P幀)編碼和雙向預測(B幀)編碼等。一般來說,編碼時,I幀、P幀和B幀編碼是穿插進行的,比如按照IBBPBBP的順序。
由于視頻數據在時間域和空間域上有較強的相關性,將運動估計得到的運動矢量及預測殘差進行編碼可以獲得較高的編碼效率。運動矢量預測是提高編碼效率的一個因素,因此運動矢量預測的準確程度將直接影響到視頻編解碼的效率。
在目前大多數視頻壓縮編碼標準里,運動矢量的編碼使用的是預測差分編碼,即一個塊的運動矢量與其空間相鄰的3個塊的運動矢量的中值作差,如圖1所示,圖中F表示當前編碼塊,A表示與塊F相鄰的左邊塊,B表示與F相鄰的正上塊,C表示與F相鄰的右上塊,D表示與塊F相鄰的左上塊,在運動矢量預測中,如果塊C不可用(如圖像的右邊緣),則使用塊D進行替代。這種編碼方法在一定程度上有效地消除運動矢量之間的空間冗余,提高視頻編碼的效率。
但是如果當前塊是一個較大的塊,而與其相鄰的塊是較小的塊,并且這些較小的塊都具有不同的運動矢量,那么在對當前較大塊的運動矢量進行預測時,如果仍采用已有的技術進行預測,就會出現無法提供高精度運動矢量預測問題。
因此,為了提高預測運動矢量的精度,需要一種改進的運動矢量預測方法,該方法對于當前塊是一個較大的塊時,仍然能夠有高精度的運動矢量預測。
發明內容
本發明的目的是克服現有技術中對于較大的當前塊無法提供高精度運動矢量預測的不足,提供一種改進的運動矢量預測方法。
為了達到上述目的,本發明采用如下技術方案。
一種運動矢量預測方法,包括如下步驟3)參考運動矢量選擇步驟;4)根據參考運動矢量對當前待預測運動矢量進行預測的步驟。
在上述技術方案中,所述步驟1)中,在參考運動矢量選擇步驟中,選擇均勻分布在當前塊周圍的塊的運動矢量作為參考運動矢量。
在上述技術方案中,進一步地,在參考運動矢量選擇步驟中,選擇與當前塊相鄰的左下塊、正上塊和右上塊的運動矢量作為當前塊的參考運動矢量。
在上述技術方案中,與當前塊相鄰的右上塊不存在或不可用時,取當前塊的左上塊代替。
在上述技術方案中,所述步驟2)在運動矢量預測步驟中,將上述三個預測運動矢量中的中值作為當前塊的預測運動矢量。
與現有技術相比,本發明的優點在于本發明提供的一種運動矢量預測方法,使參考運動矢量更加均勻地分布在當前預測塊的周圍,從而通過預測得到的運動矢量更加接近于實際的運動矢量,不僅有效降低了編碼運動矢量殘差所需的比特數,也加快了視頻處理過程中運動估計的過程以提高預測運動矢量的精度,在視頻編碼中,可以有效的提高運動估計的準確性和編碼效率。
圖1為已有技術中預測矢量預測方法使用的參考運動矢量位置分布示意圖;圖2為本發明實施例中當前塊F和相鄰塊的位置分布示意圖;圖3為本發明實施例中運動矢量預測過程中用到的參考運動矢量位置分布示意圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發明作進一步詳細描述如果當前塊是一個較大的塊,該塊大于相鄰的塊,與其相鄰的塊是較小的塊,并且這些較小的塊都具有不同的運動矢量,那么在對當前較大塊的運動矢量進行預測時,應該盡量的保證用于預測的相鄰塊均勻分布在當前較大塊的周圍,如圖2所示,假設當前塊是16×16宏塊,而其周圍都是4×4的塊并且都具有不同的運動矢量,那么在對當前16×16塊進行運動矢量預測時,應該使用圖中E、B和C塊的運動矢量的中值作為預測運動矢量,而不是以前標準中的A、B和C塊的運動矢量的中值。
根據前述分析,為了提高預測運動矢量的精度,在參考運動矢量選擇步驟中,選擇均勻分布在當前塊周圍的塊的運動矢量作為參考運動矢量。即選擇與當前塊相鄰的左下塊、正上塊和右上塊的運動矢量作為當前塊的運動矢量。
在如圖3所示,對當前塊F運動矢量預測的方法,包括如下步驟
1)參考運動矢量選擇步驟;選擇當前塊F的左下塊、正上塊和右上塊,塊E、B和C分別對應于當前塊F的左下塊、正上塊和右上塊,它們的運動矢量分別為mvE、mvB和mvC,其中mvE、mvB和mvC分別包括水平分量(mvE_x、mvB_x和mvC_x)和垂直分量(mvE_y、mvB_y和mvC_y);2)根據參考運動矢量對當前待預測運動矢量進行預測的步驟;當前塊的預測運動矢量為PredMV_x=median(mvE_x、mvB_x和mvC_x)PredMV_y=median(mvE_y、mvB_y和mvC_y)這里函數median(x,y,z)的作用為求x、y和z的中值。
此處當塊C不存在或者不可用時,比如圖像的右邊緣處或塊C沒有運動矢量,則用塊D的數據代替公式中的塊C。
最后所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制。盡管參照實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,對本發明的技術方案進行修改或者等同替換,都不脫離本發明技術方案的精神和范圍,其均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種運動矢量預測方法,包括如下步驟1)參考運動矢量選擇步驟;2)根據參考運動矢量對當前待預測運動矢量進行預測的步驟。
2.根據權利要求1所述運動矢量預測方法,其特征在于,所述步驟1)參考運動矢量選擇步驟中,選擇均勻分布在當前塊周圍的塊的運動矢量作為參考運動矢量。
3.根據權利要求2所述運動矢量預測方法,其特征在于,所述步驟1)參考運動矢量選擇步驟中,選擇與當前塊相鄰的左下塊、正上塊和右上塊的運動矢量作為當前塊的參考運動矢量。
4.根據權利要求3所述運動矢量預測方法,其特征在于,與當前塊相鄰的右上塊不存在或者不可用時,取當前塊的左上塊代替右上塊。
5.根據權利要求3或4所述運動矢量預測方法,其特征在于,將所述三個塊的預測運動矢量中的中值作為當前塊的預測運動矢量。
全文摘要
本發明公開了一種用于視頻編碼的運動矢量預測方法,包括如下步驟1)選擇均勻分布在當前塊周圍的塊的運動矢量作為參考運動矢量;2)根據參考運動矢量對當前待預測運動矢量進行預測。在參考運動矢量選擇步驟中,選擇與當前塊相鄰的左下塊、正上塊和右上塊的運動矢量作為當前塊的運動矢量。將上述三個預測運動矢量中的中值作為當前塊的預測運動矢量。本發明不僅有效降低了編碼運動矢量殘差所需的比特數,也加快了視頻處理過程中運動估計的過程以提高預測運動矢量的精度,在視頻編碼中,可以有效的提高運動估計的準確性和編碼效率。
文檔編號H04N7/32GK101072356SQ200610080409
公開日2007年11月14日 申請日期2006年5月12日 優先權日2006年5月12日
發明者沈燕飛, 張勇東, 李錦濤 申請人:中國科學院計算技術研究所