專利名稱:分層結構預判的快速視頻編碼方法
技術領域:
本發(fā)明涉及視頻壓縮編碼領域,設計和實現(xiàn)了一種分層結構預判的快速視頻編碼方法。
背景技術:
視頻序列中主要包括三種冗余信息空間冗余,時間冗余,統(tǒng)計冗余。通常利用視頻信息自身相關性,能夠去除視頻數(shù)據(jù)中的冗余信息,達到視頻壓縮的目的。在視頻壓縮中主要采用I幀和P(B)幀編碼技術;I幀是幀內編碼方法,即對視頻中的某一幀單獨編碼,用來消除空間冗余;P(B)幀是幀間編碼方法,利用相鄰幀的相關性消除時間冗余;再利用熵編碼方法消除統(tǒng)計冗余。
H. 264/AVC(以下簡稱H. 264)作為最新視頻編碼標準,引入了眾多先進的編碼技術,如多方向的幀內預測編碼、可變塊的幀間預測編碼、1/4象素精度的運動估計、多參考幀編碼等,使其具有比以往標準更出色的編碼性能,受到了業(yè)界人士廣泛的重視和歡迎。
然而H. 264更高編碼性能的獲得是以巨大編碼復雜度為代價的。在相同信噪比條件下,H. 264碼率較H. 263節(jié)省50%左右;但H. 264編碼計算復雜度約為H. 263的4 5 倍,約為MPEG-4的3倍,編碼實時性較差。因此,如何降低H. 264編解碼器的計算復雜度就成為H. 264能否盡快進入大規(guī)模實際商用,取得成功的關鍵因素之一。
研究表明,H. 264編碼計算復雜度的80%主要來自運動估計和模式選擇。尤其是幀間模式選擇技術,對當前編碼宏塊以全搜索的方式遍歷計算幀間和幀內下的所有預測模式,計算極為復雜,如
圖1。
為了獲得最佳編碼效率,減小以往視頻編碼標準采用單一宏塊劃分模式而帶來的編碼誤差,在幀間編碼中,H. 264采用可變尺寸塊的編碼模式,每個當前編碼宏塊可劃分為 16X16,16X8,8X16和8X8,其中8X8又稱為亞分割模式,還可以繼續(xù)劃分為8X8,8X4, 4X8和4X4,如圖2。同時支持Skip模式,即直接拷貝前一參考幀中對應宏塊的編碼模式。H. 264中的運動搜索是以子塊為單位的,所以16X16宏塊中的每個子塊都有一個獨立的運動矢量。顯然,宏塊中的子塊劃分得愈細,對殘差值進行編碼所需的位數(shù)就愈小,但因此而帶來的問題是有更多的運動矢量需要進行編碼,這會導致整個宏塊編碼所需的比特數(shù)增加。因此,在具體編碼時需要根據(jù)運動估計后的殘差值大小和需要的運動矢量編碼代價來優(yōu)化選擇宏塊的編碼模式。
在幀內預測中,H. 264充分利用相鄰像素的空間相關性,支持Intra4 X 4和 Intral6X16兩種幀內預測編碼。對于當前編碼宏塊的亮度分量而言,^itra4X4包含9 種預測方向(垂直預測,水平預測,平均預測,左對角預測,右對角預測,垂直右對角預測, 水平向下預測,垂直左對角預測,水平向上預測);Intral6X16包含4種預測方向(水平預測、垂直預測、DC預測和平面預測)。對于當前編碼宏塊的色度分量而言,幀內預測類似于亮度分量的IntraieX 16,也包含4種預測方向。因此,當前編碼宏塊的幀內預測可達 [4+(16X9)]X4 = 592次,計算量相當可觀。
H. 264基于率失真代價準則,通過拉格朗日率失真優(yōu)化函數(shù)(Rate-Distortion Optimization, RD0),計算每種預測模式的率失真代價值(RD-cost),選擇具有最小 RD-cost的預測模式為最優(yōu)的幀間預測模式(見圖幻。這種方法雖然能夠選擇出具有最優(yōu)率失真意義的幀間預測模式,但計算量顯著增加,導致H. 264編碼速度下降,成為限制其在實時視頻領域應用的瓶頸之一。
發(fā)明內容
本發(fā)明的提出主要基于以下技術思路 視頻圖像基本可以分為背景紋理平坦區(qū)域、背景紋理細致區(qū)域和運動區(qū)域三大類通常背景紋理平坦區(qū)域或者運動平緩區(qū)域在視頻內容中占有很大比重,大多采取 Skip(HiodeO)或宏塊級預測(model 3);僅在紋理復雜或者運動劇烈的區(qū)域使用亞分割預測(mode4 7);只有在視頻圖像的邊緣部分才選擇幀內預測(見表1)。
表1不同類型視頻序列中各種幀間預測編碼模式利用率%
權利要求
1.分層結構預判的快速視頻編碼方法,是根據(jù)對當前編碼宏塊特征提前篩選出最優(yōu)幀間預測編碼模式,采用分層預判,首先根據(jù)宏塊時/空相關性提前判斷宏塊應該采用幀間預測或幀內預測;若選擇幀間預測,再根據(jù)宏塊的平坦度特征有針對性的選擇出現(xiàn)概率較大的幀間預測模式集合,舍棄出現(xiàn)概率較小的幀間預測模式集合,從而取代H. ^4/AVC原標準幀間預測算法中窮舉式的遍歷搜索方法,提前確定最優(yōu)幀間預測模式,實現(xiàn)快速幀間壓縮編碼;其特征在于包括下述步驟步驟一從視頻幀中提取當前編碼宏塊的亮度分量值;步驟二 利用宏塊空間、時間相關性提前篩選宏塊預測模式,用原始信號與重建信號間的平方差值和SSD (s,c I QP)代表宏塊相關性
式中,16為宏塊的水平像素數(shù)和垂直像素數(shù),QP是編碼量化步長,s為原始視頻亮度信號,c為采用預測模式編碼后的重建視頻亮度信號,sY[x,y|QP],cY[x,y|QP]分別表示量化步長為QP時,原始和重建視頻亮度信號的取值,x,y是宏塊在視頻幀中的位置,具體包括以下步驟1)SSDint ra代表宏塊空間相關性,SSDint er代表宏塊時間相關性;SSDint ra的計算公式為
式中,SSDint M是用編碼宏塊的周圍相鄰像素作為預測像素,經過垂直和水平方向預測的平方差值和,sY[x+m,y+n]是視頻幀中當前編碼宏塊的像素亮度值,cY[x+m-l, y+n], cY[x+m,y+n-l]是與當前編碼宏塊在垂直和水平方向相鄰宏塊的像素亮度值,x,y是宏塊在視頻幀中的位置,m, η代表宏塊中像素的位置;SSDint er的計算公式為 16,16
式中,SSDint 為編碼宏塊與前幀宏塊的預測平方差值和,sY[x+m,y+n]表示當前編碼宏塊的像素亮度值,cY[x+m, y+n]表示前幀中對應位置宏塊的像素亮度值,x, y代表宏塊在視頻幀中的位置,m, η代表宏塊中像素的位置;2)比較SSDintra和SSDint er的大小,篩選當前編碼宏塊應采用的預測模式類型,引入調整因子α和β ;判別公式為
上式中,α,β均為取值在W,l]間的實數(shù),若Th1大于零,說明幀內預測模式的平方差值和大于幀間預測模式的平方差值和,證明宏塊的幀間相關性大于幀內相關性,則直接舍棄幀內預測模式,宏塊采用幀間預測模式,須對宏塊做運動估計,進入步驟三;否則,判斷 Th2是否小于零,若Tti2小于零,說明幀間預測模式的平方差值和大于幀內預測模式的平方差值和,證明宏塊的幀內相關性大于幀間相關性,則直接舍棄幀間預測模式,宏塊采用幀內預測模式,進入步驟四;否則,說明當前編碼宏塊時/空相關性特征不顯著,不能舍棄幀間/ 幀內中的任何一種預測模式,先執(zhí)行幀內預測模式,再進入步驟三;步驟三確定最佳幀間編碼模式,采用拉格朗日率失真優(yōu)化準則,作為運動估計和模式選擇的判決依據(jù),選擇率失真意義上的最優(yōu)幀間編碼模式;率失真代價值,即RD cost,可按照下面的公式計算Jmode (s,c,MODE I Xmode) = SSD(s, c|QP) + AmodeXR(s, c,M0DE|QP)(5)式中,MODE表示當前編碼宏塊采用的幀間預測模式;s為原始視頻信號;c為采用MODE 預測模式編碼后的重建視頻信號 ’ Xmo“為拉格朗日乘子;Jm。d e(s, c, MODE Amoode)表示 MODE模式下的率失真代價值RD cost ;R(s, c,M0DE | QP)是與預測模式和量化參數(shù)有關的包含宏塊頭信息、運動矢量和所有DCT塊信息的總的二進制位數(shù);QP是編碼量化步長;SSD(s, c I QP)為原始信號與重構信號間的平方差值和;根據(jù)宏塊平坦度特征,將宏塊分類,進而優(yōu)先選擇可能的幀間預測編碼模式集合,實現(xiàn)幀間預測模式的快速判決;具體包括以下步驟1)表征宏塊平坦度統(tǒng)計宏塊亮度分量包含各灰度級的像素數(shù),得到宏塊灰度直方圖,其形狀恰好反映了宏塊圖像細節(jié)的豐富程度,可用于評價宏塊的平坦度;在宏塊灰度直方圖中,必然存在一個縱坐標最大的灰度級,將屬于這個灰度級的像素點總數(shù)定義為宏塊的最大像素數(shù),記為 MaxValue ;2)判斷宏塊類型為降低對特征不明顯的宏塊做出誤判,采用動態(tài)雙閾值判斷宏塊類型及其可能采用的幀間預測模式集合,具體過程如下(1)計算宏塊灰度直方圖,記錄其最大像素數(shù)MaxValue ;(2)設定上限閾值Thhigh和下限閾值ThlOT,Thhigh和Thlw均為
間的整數(shù);(3)若MaxValue > Thhigh,認為宏塊平坦,則直接進行大尺寸幀間預測,確定最優(yōu)幀間預測模式,進入步驟四;(4)若MaxVaIueSThlw,認為宏塊紋理豐富,則直接進行小尺寸幀間預測,確定最優(yōu)幀間預測模式,進入步驟四;(5)若Thlw< Max Value < Thhigh,認為宏塊平坦度特征不顯著,執(zhí)行全部幀間預測模式;為使閾值隨宏塊平坦度的變化而自適應改變,采用以下策略(1)若當前編碼宏塊的MaxValue大于當前上限閾值Thhigh,則更新上限閾值
以此平均值作為新的上限閾值Thhigh ;(2)若當前編碼宏塊的MaxValue小于當前下限閾值ThlOT,則更新下限閾值 Thlow_new = Τ、+M^xValue,以此平均值作為新的下限閾值II1iot ;(3)若當前編碼宏塊的MaxValue介于上限閾值Thhigh和下限閾值Thlw之間,則保持原上、下限閾值數(shù)值不變。步驟四根據(jù)率失真準則,對具有最小率失真代價的預測編碼模式下的殘差進行變化、量化、熵編碼;步驟五輸出最終的壓縮視頻碼流,保存編碼信息。
全文摘要
本發(fā)明公開了一種分層結構預判的快速視頻編碼方法,涉及視頻壓縮編碼領域。其從原始視頻數(shù)據(jù)中提取當前編碼宏塊的亮度信息;定義、計算并比較當前編碼宏塊的時/空相關性特征,率先預判出宏塊應采用幀間預測或幀內預測;若選擇幀間預測,定義、計算宏塊的平坦度特征,并根據(jù)該特征將當前編碼宏塊分為平坦宏塊、紋理豐富宏塊和特征不顯著宏塊三個類型,有針對性的預判出應采用的幀間預測模式集合,提前確定最優(yōu)幀間預測模式,實現(xiàn)快速幀間壓縮編碼。本發(fā)明方法在視頻質量無損失,壓縮碼率不增加,保持輸出碼流結構的前提下,大幅度降低幀間編碼復雜度和編碼時間,繼承了原標準算法高壓縮比的優(yōu)越性能。
文檔編號H04N7/26GK102186070SQ201110098369
公開日2011年9月14日 申請日期2011年4月20日 優(yōu)先權日2011年4月20日
發(fā)明者劉鵬宇, 賈克斌 申請人:北京工業(yè)大學