一種降低邊信息生成計算復雜度的方法
【技術(shù)領域】
[0001] 本發(fā)明涉及一種降低邊信息生成計算復雜度的方法,屬于分布式視頻編碼技術(shù)領 域。
【背景技術(shù)】
[0002] 現(xiàn)有的研究中邊信息的生成方法有很多,包括有在解碼端只根據(jù)幀間的時域和空 域的相關(guān)性進行運動估計和運動補償?shù)倪呅畔⑸煞椒?;通過在編碼端生成輔助信息輔助 邊信息生成;利用已解碼的部分信息對原始邊信息進行進一步優(yōu)化的。這些方法生成的邊 信息質(zhì)量已經(jīng)可以做到很好,但是不可否認的是現(xiàn)有的生成方法都有很大的計算復雜度, 產(chǎn)生較大的計算時延,不利于對實時性要求高的應用場景,例如終端實時視頻通話。而在現(xiàn) 實的應用場景中,視頻序列中相鄰幀之間的相關(guān)性是很高的,各幀間的運動強度變化不大 且較有規(guī)律,例如視頻傳感器網(wǎng)絡、手機視頻通話、室內(nèi)外的無線監(jiān)控等。
[0003] 常用的邊信息生成方法是基于運動估計和補償?shù)倪呅畔⑸煞椒?,它包括外推?和內(nèi)插法。外推法是根據(jù)待解碼幀的前面兩個已解碼幀,利用視頻序列中幀的運動延續(xù)性 原則,進行運動估計和補償生成邊信息的方法。內(nèi)插法是根據(jù)前后相鄰已解碼幀,利用視頻 序列中幀之間的運動中值性原則。內(nèi)插法的主要思想是首先求出前后兩個解碼幀之間的運 動矢量,并進行相應的運動補償完成對幀的預測生成邊信息。外推法僅僅利用了其前面已 解碼幀的向后連續(xù)性,因此它不需要等待其后面的幀解碼,有較好的實時性;但是,它僅僅 利用了其前面的參考幀,沒有考慮到序列后續(xù)的運動趨向,邊信息質(zhì)量會在序列運動強烈 時會明顯地下降。而本發(fā)明能夠很好地解決上面的問題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明目的在于針對現(xiàn)有邊信息生成方法計算復雜度過高和影響系統(tǒng)實時性的 問題,提出了一種降低邊信息生成計算復雜度的方法,該方法利用現(xiàn)實應用場景中視頻序 列的運動延續(xù)性,在解碼端利用前一相鄰已解碼WZ幀的運動矢量mvf作為前向運動估計的 初始態(tài),并在初始的預測塊周圍進行小范圍的塊匹配,進行前向運動估計。該方法通過減少 前向運動估計的時間,壓縮前向運動估計的計算復雜度,從而降低了邊信息生成過程的計 算復雜度。該方法是以內(nèi)插法為基礎的,在視頻序列中,相鄰幀之間的運動性具有非常大的 相關(guān)性,即運動緩慢的序列,其中大部分幀之間的運動都是緩慢的,而運動較激烈的序列, 其大部分幀之間的運動都是劇烈的,因此,在一個視頻序列中,相鄰幀之間的運動矢量不會 發(fā)生巨大改變,在邊信息生成的過程中引入前一WZ幀的運動矢量對前向運動估計進行改 進是很有必要的。
[0005] 本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種降低邊信息生成計算復雜度的 方法,該方法包括如下步驟:
[0006] 步驟1 :根據(jù)待解碼WZ幀的前后相鄰已解碼關(guān)鍵幀Y2tJPY2t+1以及前一相鄰已解 碼WZ幀的最終運動矢量mvf,得到各個宏塊的運動矢量mvjp對應的預測塊的代價函數(shù)的 CF值;
[0007] 步驟2 :判斷該宏塊的CF值與設定閥值Th間的大小關(guān)系,若CF>Th,則跳到步驟 4 ;
[0008] 步驟3:把步驟1中獲得的運動矢量mvi作為邊信息生成過程中的初始運動矢量, 跳到步驟5;
[0009] 步驟4 :進行傳統(tǒng)的前向運動估計,把獲得的運動矢量11^2作為邊信息生成過程中 的初始運動矢量;
[0010] 步驟5 :對得到的初始運動矢量進行優(yōu)化,包括有雙向運動估計、空間平滑濾波等 得到該宏塊的最終運動矢量mv,此運動矢量作為下一待解碼WZ幀的mvf,即mvf=mv;
[0011] 步驟6 :利用前面所得到的運動矢量mv,對待解碼WZ幀的前后相鄰解碼關(guān)鍵幀 Y2tJPY2t+1進行雙向運動補償,生成其對應邊信息Y2t。
[0012] 進一步的,本發(fā)明的步驟1包括:
[0013] 1)以當前待解碼WZ幀的后一關(guān)鍵幀乙1+1的某一宏塊B'為例,對應前一關(guān)鍵幀 Y2t丨的宏塊B。已知前一已解碼WZ幀的邊信息的最終的運動矢量為mvf,則把2mvf作為此 次前向運動估計的初始運動矢量,并由宏塊B'指向初始預測塊P,以預測塊P為中心進行塊 匹配的小范圍搜索。
[0014] 2)然后采用基于SAD的塊匹配準則,當預測塊的CF值最小時,宏塊B相對宏塊B' 的位移是宏塊B的運動矢量,取其一半即為當前幀對應塊的運動矢量。
[0015] 本發(fā)明在對初始運動矢量做雙向估計之前,引入閥值Th(S卩:本發(fā)明設定Th與前 一WZ幀對應宏塊的CF值比例為1. 4)作為判定邊信息生成過程中該宏塊采用何種前向運 動估計來確定初始運動矢量。若CF>Th,則利用傳統(tǒng)的前向運動估計方法獲得運動矢量 mv2并將其作為初始運動矢量,反之直接將mv丨作為初始運動矢量。
[0016] 本發(fā)明對得到的初始運動矢量進行優(yōu)化,包括有雙向運動估計、空間平滑濾波等 得到該宏塊準確的運動矢量mv,此運動矢量作為下一待解碼WZ幀的mvf,即mvf=mv。利 用所得到的運動矢量mv,對待解碼WZ幀的前后相鄰解碼關(guān)鍵幀Y2tJPY2t+1進行雙向運動 補償,生成其對應邊信息Y2t。
[0017] 本發(fā)明主要應用于分布式視頻編碼的降低邊信息生成計算復雜度。
[0018] 有益效果:
[0019] 1、本發(fā)明有效地降低了改進后的前向運動估計時間,并且降低了邊信息整體生成 時間。
[0020] 2、本發(fā)明通過壓縮前向運動估計的計算復雜度,能夠有效地降低邊信息生成過程 的計算復雜度。
[0021] 3、本發(fā)明綜合考慮了待解碼幀的前后相鄰已解碼幀的時域相關(guān)性和連續(xù)性,有效 地提高了邊信息質(zhì)量。
【附圖說明】
[0022] 圖1為本發(fā)明的方法流程圖。
[0023] 圖2為本發(fā)明改進的前向估計模型示意圖。
[0024]圖3為本發(fā)明改進的邊信息生成模型示意圖。 具體實施方案
[0025] 下面結(jié)合說明書附圖對本發(fā)明創(chuàng)造作進一步的詳細說明。
[0026] 如圖2所示,Y2ti代表當前待解碼WZ幀的前一相鄰已解碼關(guān)鍵幀,Y2t+1代表當前待 解碼WZ幀的后一相鄰已解碼關(guān)鍵幀,以4+1幀作為參考幀進行搜索。取Y2ti中的宏塊B, 對應于Y2t+#的宏塊B'。前一已解碼WZ幀的邊信息的最終的運動矢量mvf=(dfudf2),把 2mvf作為此次前向運動估計的初始運動矢量由宏塊B'指向初始預測塊P,搜索塊T是以P為 中心的一個進行塊匹配的小范圍搜索區(qū)域。本發(fā)明采用基于絕對誤差和(SumofAbsolute Difference,SAD)的塊匹配準則,同時考慮相對位移,使用代價函數(shù)CF,其公式如下:
[0027]
[0028]
[0029]式1中,K是距離系數(shù),取值為0· 05,(2(^+4, 2df2+d2)為前一相鄰關(guān)鍵幀Y2ti中 宏塊B相對于后一相鄰關(guān)鍵幀¥21+1中宏塊B'的位移,(c^cQ是以初始預測塊為中心的相 對位移。式2中,(x,y)為幀的坐標位置,Y2tl(x,y)為前一相鄰解碼關(guān)鍵幀相應的像素值, Y2t+1(x,y)為后一相鄰解碼關(guān)鍵幀相應的像素值,MXN表示幀中宏塊的大?。ㄔ诒景l(fā)明中取 M=N= 8)。在搜索塊中,當某一宏塊的CF值最小時,此宏塊即是塊匹配預測塊,相應的位 移Odf^+c^Jdf^+cg是前一關(guān)鍵幀Y2tl中當前塊的運動矢量,取其一半即為當前幀的運動 矢量mVl。即:
[0030]
搜索塊的大?。ㄔ诒疚闹蠺= 1. 5MX1. 5N)。mVl是本發(fā)明改進的前向運動估計方法所得 的運動矢量,且作為進一步判斷和優(yōu)化的初始值。
[0031] 在圖3所示的模型中,改進的前向運動估計是上面獲得運動矢量mvi的過程。傳 統(tǒng)的前向運動估計采用經(jīng)典的邊信