一種視頻圖像壓縮方法
【專利摘要】本發(fā)明提供了一種視頻圖像壓縮方法,該方法包括:利用運動向量場進行全局運動估計;對視頻中的局部運動進行分割;對ROI圖像進行修正;基于修正的ROI圖像進行視頻編碼。本發(fā)明準確完整地檢測出視頻中的關注區(qū)域;降低了編碼比特率,同時保持了主觀質量。
【專利說明】一種視頻圖像壓縮方法
【技術領域】
[0001] 本發(fā)明涉及視頻編碼,特別涉及一種視頻圖像壓縮方法。
【背景技術】
[0002] 隨著信息技術的發(fā)展,生活中人們接觸到的視頻信息量越來越龐大,如何高效提 取視頻中顯著物體引起了越來越多研究者的關注,R0I (感興趣區(qū)域)在視頻信號處理方面 有著廣泛的應用,比如視頻檢索、視頻壓縮、視頻監(jiān)控、視頻跟蹤等領域。視頻壓縮方面,由 于現(xiàn)在視頻分辨率越來越高,因此高效的視頻壓縮方法也是研究的熱點之一。同時結合人 眼視覺模型的視頻壓縮方法是下一代視頻編解碼的關鍵技術之一,因此R0I作為人眼視覺 模型的一個重要方面也就顯得尤為重要。
[0003] R0I在視頻信號處理方面有著廣泛的應用,因此對R0I技術的開發(fā)有非常重要的 意義。目前圖像R0I方法主要利用圖像的顏色、亮度等特征計算圖像的顯著性,但是圖像的 R0I方法沒有利用視頻的運動特征,因此將圖像R0I方法直接應用視頻檢測時效果不好。然 而對視頻R0I方法研究較少,并且存在方法復雜度較高的缺點,已有技術并未考慮視頻的 紋理特征以及人眼視覺所關注區(qū)域的整體性,導致壓縮率不高或主觀質量不佳。
[0004] 因此,針對相關技術中所存在的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0005] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種視頻圖像壓縮方法,包 括:
[0006] 步驟一,利用視頻碼流中的運動向量場進行全局運動估計;
[0007] 步驟二,在對運動矢量場進行全局運動估計之后,對視頻中的局部運動進行分 割;
[0008] 步驟三,對得到的全局運動背景下提取的局部運動的R0I圖像進行修正;
[0009] 步驟四,基于修正的R0I圖像進行視頻編碼。
[0010] 優(yōu)選地,所述步驟一采用參數為8維向量v= [V(l,Vl,…,v7]的投影模型,該模型 的透視變換定義為:
[0011] xK = (VoXc+vjc+vJ/GjjXc+vjc+l);
[0012] yE = (v3xc+v4yc+v5)/(v 6xc+v7yc+l);
[0013] 其中(xe,y。)和(xK,yK)分別為當前幀和參考幀的坐標,對于當前幀中每一個坐標 為(X。,y。)的對應運動模型v的塊,其運動分量定義為 :
[0014] Vx(xc, yc ;v) = xE-xc ;
[0015] VY(xc, yc ;v) = yE-yc ;
[0016] 其中Vx和VY分別代表運動向量V的水平和垂直分量,
[0017] 去除向量場中全局運動模型的第一偏差值和第二偏差值;所述第一偏差值為視頻 編碼過程中運動估計的運動向量噪聲;所述第二偏差值為不符合背景運動模型的運動向 量。
[0018] 優(yōu)選地,所述去除向量場中全局運動模型的第一偏差值和第二偏差值,進一步包 括:
[0019] 步驟3. 1比較當前運動向量與鄰近8個運動向量的大小,通過和預先設定閾值比 較,按以下方式去除最不適合的運動向量偏差值:
[0020] II VC-VN || / || Vc ||〈、,其中:vc為當前運動向量;VN為相鄰運動向量;、為閾值;
[0021] 步驟3. 2采用聯(lián)合運動分割的迭代計算,在第一輪迭代中,運動區(qū)域分割圖由前 一幀的分割結果預測得到;而在后續(xù)迭代過程中,使用由上一輪迭代計算得到的當前幀的 分割圖;
[0022] 全局運動通過 V(x, y, t)來補償,即 Vc〇M(x, y, t) = V(x, y, t)-v(x, y ;vt),其中 VC0M(x,y,t)是第t中貞坐標為(x,y)塊的補償后的運動向量,V(x,y,t)為第t中貞坐標為(x, y)的塊的運動向量,vt為第t幀某次迭代中的全局運動參數向量;
[0023] 當第t幀的運動分割確定后,第t+Ι幀的運動向量偏差塊坐標可以通過預測得到, 若V(x t,yt,t)被檢測出為第二偏差值,則對應第t+Ι幀中的塊(xt+1,y t+1)可以如下進行預 測:
[0024] (xt+1,yt+1) = (xt,yt)-V(xt,yt,t)
[0025] 設定最大覆蓋面積的塊為預測的偏差塊,在第t+1幀進行第一輪的全局運動估計 迭代計算前,這些偏差塊的運動向量都將被去除。;
[0026] 步驟3. 3當第一和第二偏差值被去除后,參數向量vt通過第t幀剩下的運動向量 估計得到,對于一個給定的v t,一幀中位置為(x,y)的真實的運動向量為V(x,y,t),找出使 得V(x,y ;vt)與V(x,y,t)差值最小的vt :
[0027] vt = arg η?ηνΣ II V(x,y,t)_V(x,y ;v) II 2,其中所使用的運動向量為去除所有偏 差值后的運動向量。
[0028] 優(yōu)選地,所述步驟三進一步包括:
[0029] 步驟4. 1對于第i個塊,若其為R0I區(qū)域,則設定權重值吣為128 ;否則權重為0。
[0030] 步驟4. 2設&為第i個塊的編碼比特數,找到整幀最大值Bmax,然后將&映射到 (0,128)的范圍,作為附加權重值;
[0031] 步驟4. 3將R0I權重I按照下式進行附加權重值加成:
[0032] I =1^+127他/8·)
[0033] 步驟5. 4得到最終修正的R0I圖像。
[0034] 優(yōu)選地,所述步驟四進一步包括:
[0035] 采用自適應頻率系數壓制的方法,針對每個變換單元,定義:CP=C?W,
[0036] 其中Cp為壓制后的頻率系數矩陣;@表示兩個矩陣對應元素相乘;W為頻率系數 壓制矩陣。
[0037] 本發(fā)明相比現(xiàn)有技術,具有以下優(yōu)點:
[0038] 在運動識別和編碼過程中考慮視頻的紋理特征以及人眼視覺所關注區(qū)域的整體 性,與現(xiàn)有方法相比,本算法能更準確完整地檢測出視頻中的關注區(qū)域;比傳統(tǒng)算法降低了 編碼比特率,同時保持了幾乎相同的主觀質量。
【專利附圖】
【附圖說明】
[0039] 圖1是根據本發(fā)明實施例的視頻圖像壓縮方法的流程圖。
【具體實施方式】
[0040] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據權利要求書實現(xiàn)本發(fā)明。
[0041] 由于編碼的目標是為了在同樣的視頻質量下獲取更高的壓縮效率,因此本研究從 人眼視覺感知的角度,在H. 265碼流壓縮域進行顯著性分析得到R0I圖像。
[0042] 本發(fā)明的一方面提供了一種視頻圖像壓縮方法。圖1是根據本發(fā)明實施例的視頻 圖像壓縮方法流程圖。如圖1所示,實施本發(fā)明的具體步驟如下:
[0043] 1全局運動估計
[0044] 本發(fā)明采用具有8個參數的透視投影模型。該透視模型參數為一個8維向量v = [V。,Vp…,v7]。設定(X。,y。)和(xK,yK)分別為當前巾貞和參考巾貞的坐標,則該透視變換可 以定義為:
[0045] xE = (v〇xc+v1yc+v2)/(v6x c+v7yc+l);
[0046] yE = (v3xc+v4yc+v5)/(v 6xc+v7yc+l); 公式 1
[0047] 設定Vx和VY分別代表運動向量V的水平和垂直分量,則對于當前幀中每一個坐標 為(X。,y。)對應運動模型V的塊,該分量可以定義為 :
[0048] Vx(xc, yc ;v) = xR-xc ;
[0049] VY(xc, yc ;v) = yR-yc 公式 2
[0050] 由于運動向量的全局運動估計的目的就是從運動向量中推出參數向量v,而 H. 265碼流已經提供了運動向量場,因此運動向量不需要重新估計。然而向量場中存在某些 運動向量并不適合全局運動模型,稱為偏差值;因此,為了提高全局運動估計的準確性,需 要將它們去除。本發(fā)明中將這些偏差值分為如下兩類。
[0051] 類型1運動向量噪聲。這些噪聲通常是由于視頻編碼過程中運動估計在某些區(qū)域 不準確,不能捕捉到真實的運動而產生的,比如具有較少或極少紋理的區(qū)域、一個運動物體 的邊界區(qū)域和具有重復紋理特征的區(qū)域等。
[0052] 類型2不符合背景運動模型的運動向量。這樣的運動向量又可以分為兩種:真正 相對背景運動物體的運動向量,距離攝像頭很近而被混為背景的靜止物體的運動向量。這 種類型的偏差值特點是它們通常出現(xiàn)在一幀中被上述兩種物體覆蓋的空間連續(xù)區(qū)域,且與 鄰近向量相似。
[0053] 為了準確地估計全局運動,必須盡可能去除這兩種類型的運動向量偏差值,具體 步驟如下。
[0054] 步驟1去除類型1運動向量偏差值。通常來自一個運動模型的運動向量存在非常 強的空間相關性。本發(fā)明比較當前運動向量與鄰近8個運動向量的大小,通過和預先設定 閾值比較來去除最不適合的運動向量偏差值。具體判斷方式為IIK-VNII / IIV。II〈1",其中: V。為當前運動向量;VN為相鄰運動向量;Tuv為閾值,本發(fā)明中設置為0. 15。
[0055] 步驟2采用聯(lián)合運動分割的迭代計算方法來檢測和去除類型2運動向量偏差值。 在第一輪迭代中,運動區(qū)域分割圖由前一幀的分割結果預測得到;而在后面的迭代過程中, 則使用由上一輪迭代計算得到的當前幀的分割圖。設定v t為第t幀某次迭代中的全局運動 參數向量,V(x,y,t)為第t幀坐標為(x,y)的塊的運動向量。則全局運動可以通過V(x, y,t)補償,即 VCQM(x,y,t) = V(x,y,t)_V(x,y ;vt),其中:VCQM(x,y,t)是第 t 巾貞坐標為(X, y)塊的補償后的運動向量;vt是由公式⑴和⑵計算得到的。
[0056] 經過全局運動補償之后,將利用補償后的運動向量進行運動分割。由于分割的結 果指出了當前幀中的運動區(qū)域,因此這些區(qū)域中的運動向量被當作類型2的運動向量偏差 值,在進行下一輪全局運動估計迭代計算之前被去除。
[0057] 除此之外,當第t幀的運動分割確定后,第t+Ι幀的運動向量偏差塊坐標可以通 過預測得到。若V(x t,yt,t)被檢測出是類型2的運動向量偏差值,則對應第t+Ι幀中的塊 (xt+1,y t+1)可以如下進行預測:
[0058] (xt+1,yt+1) = (xt,yt)_V(xt, yt,t)。
[0059] 然而,第t+1幀中坐標為(xt+1,yt+1)的預測塊可能同時覆蓋幾個塊,所以本發(fā)明方 法中設定為最大覆蓋面積的塊為預測的偏差塊。于是在第t+Ι幀進行第一輪的全局運動估 計迭代計算前,這些偏差塊的運動向量都將被去除。通過這樣的初始設定和全局運動補償, 后續(xù)迭代過程中的運動分割和類型2運動向量偏差值的去除都會更加準確。
[0060] 步驟3全局運動模型參數估計。當所有運動向量偏差值被去除后,參數向量vt將 通過第t幀剩下的運動向量估計得到。對于一個給定的v t,一幀中位置為(x,y)的運動向 量V(x,y;vt)可以通過式(1)和⑵計算得到,而真實的運動向量為V(x,y,t)。全局運動 估計的目的就是找出使得兩者差值最小的v t。
[0061] 平方差誤差是全局運動估計中最常用的誤差衡量標準,所以問題可以歸結為:
[0062] vt = arg η?ηνΣ || V(x,y,t)_V(x,y ;v) || 2,其中所使用的運動向量為去除所有類 型偏差值后的運動向量。因此尋找vt的過程就演變?yōu)榱四P蛿M合過程。
[0063] 2運動分割
[0064] 在對運動向量場進行了全局運動補償之后,接著進行運動分割,步驟如下。
[0065] 步驟1以單個聚類(整幀所有的運動向量)開始,計算它的中心V。= (ΣΛ)/Ν, 然后分別以新的中心1±1/2生成兩個新的聚類。
[0066] 步驟2以最近最相似原則劃分整幀的運動向量到現(xiàn)有的聚類中,然后更新第i個 聚類的中心為GuVjyN,,其中隊是第i個聚類q中運動向量的個數。
[0067] 步驟3計算每個聚類的失真,即II Vj-VG II ;分別以 為中心,繼續(xù)把具有最大失真的聚類(;劃分為兩個聚類,其中P= ((Xmax-Xmin)/2(M-1), (Ymax_Ym J /2 (M-l)),Μ為劃分之前聚類的總數,Xmin,Xmax,Ymin和Y max分別為中心點向量中最 大和最小水平和垂直分量。
[0068] 步驟4重復步驟2和3,直到聚類失真的變化小于預先設定的閾值。本發(fā)明中取初 始失真變化的5% ;或者使最小的聚類小于預先設定的閾值,取所有運動向量個數的5%。
[0069] 3視覺R0I圖像修正
[0070] 經過聯(lián)合的全局運動估計和運動分割,設定背景區(qū)域權重值為0,前景區(qū)域權重值 為128,就得到了在全局運動背景下提取出的局部運動前景的運動視覺R0I圖像。但是根據 運動向量分析得到的視覺R0I圖像只考慮了視頻序列的運動特征,并未考慮人眼所關注的 復雜紋理區(qū)域以及前景運動物體的完整性。由于編碼比特數在很大程度上反映了區(qū)域的復 雜度和活動性,因此本發(fā)明結合了碼流中編碼比特數的分布特點對運動視覺R0I圖像進行 修正,過程如下:
[0071] a.對于第i個塊,若其為運動顯著區(qū)域,則設定權重值Mi為128 ;反之,則權重為 0〇
[0072] b.設&為第i個塊的編碼比特數,找到整幀最大值Bmax,然后將&映射到(0,128) 的范圍,作為附加權重值。
[0073] c.將R0I權重按照下式進行附加權重值加成,
[0074]
[0075] 從而得到最終修正的視覺顯著圖像。
[0076] 4基于R0I圖像的編碼
[0077] 本發(fā)明編碼方法中采用了一種針對非R0I區(qū)域進行自適應頻率系數壓制的方法。 針對每個變換單元,定義 :CP=C? W,式中:?表示兩個矩陣對應元素相乘;CP為壓制 后的頻率系數矩陣;W為頻率系數壓制矩陣
【權利要求】
1. 一種視頻圖像壓縮方法,其特征在于,包括: 步驟一,利用視頻碼流中的運動向量場進行全局運動估計; 步驟二,在對運動矢量場進行全局運動估計之后,對視頻中的局部運動進行分割; 步驟三,對得到的全局運動背景下提取的局部運動的ROI圖像進行修正; 步驟四,基于修正的ROI圖像進行視頻編碼。
2. 根據權利要求1所述的方法,其特征在于,所述步驟一采用參數為8維向量v= [V(l, Vi,…,v7]的投影模型,該模型的透視變換定義為: xE = (voXc+ViYc+v^/^eXc+v^c+l); yE = (v3Xc+V4yc+V5)/(v6Xc+V7yc+l); 其中(X。,y。)和(XK,yK)分別為當前幀和參考幀的坐標,對于當前幀中每一個坐標為 (X。,y。)的對應運動模型V的塊,其運動分量定義為: vx(xc,yc ;v) = xr-xc ; vY(xc,yc ;v) = yR-yc; 其中vx和vY分別代表運動向量v的水平和垂直分量, 去除向量場中全局運動模型的第一偏差值和第二偏差值;所述第一偏差值為視頻編碼 過程中運動估計的運動向量噪聲;所述第二偏差值為不符合背景運動模型的運動向量。
3. 根據權利要求2所述的方法,其特征在于,所述去除向量場中全局運動模型的第一 偏差值和第二偏差值,進一步包括: 步驟3. 1比較當前運動向量與鄰近8個運動向量的大小,通過和預先設定閾值比較,按 以下方式去除最不適合的運動向量偏差值: II VC_VN II / II V。||〈、,其中:VC為當前運動向量;VN為相鄰運動向量;、為閾值; 步驟3. 2采用聯(lián)合運動分割的迭代計算,在第一輪迭代中,運動區(qū)域分割圖由前一幀 的分割結果預測得到;而在后續(xù)迭代過程中,使用由上一輪迭代計算得到的當前幀的分割 圖; 全局運動通過 V(x,y,t)來補償,即 VC()M(x, y, t) = V(x, y, t)_V(x, y ;vt),其中 Vc〇M(x, y,t)是第t巾貞坐標為(x, y)塊的補償后的運動向量,V(x, y, t)為第t巾貞坐標為(x, y)的 塊的運動向量,vt為第t幀某次迭代中的全局運動參數向量; 當第t幀的運動分割確定后,第t+Ι幀的運動向量偏差塊坐標可以通過預測得到,若 V(xt,yt,t)被檢測出為第二偏差值,貝1J對應第t+Ι幀中的塊(xt+1,y t+1)可以如下進行預測: (xt+i,yt+i) = (Xt,yt)-v(Xt,yt,t) 設定最大覆蓋面積的塊為預測的偏差塊,在第t+i幀進行第一輪的全局運動估計迭代 計算前,這些偏差塊的運動向量都將被去除; 步驟3. 3當第一和第二偏差值被去除后,參數向量Vt通過第t幀剩下的運動向量估計 得到,對于一個給定的Vt,一幀中位置為(X,y)的真實的運動向量為V(x,y,t),找出使得 V(x,y ;vt)與 V(x,y,t)差值最小的 vt : vt = arg η?ηνΣ ||V(x,y,t)-V(x,y;v) II2,其中所使用的運動向量為去除所有偏差值 后的運動向量。
4. 根據權利要求3所述的方法,其特征在于,所述步驟三進一步包括: 步驟4. 1對于第i個塊,若其為R0I區(qū)域,則設定權重值吣為128 ;否則權重為0 ; 步驟4. 2設Bi為第i個塊的編碼比特數,找到整幀最大值Bmax,然后將Bi映射到(0, 128)的范圍,作為附加權重值; 步驟4. 3將ROI權重I按照下式進行附加權重值加成: 步驟4. 4得到最終修正的ROI圖像。
5.根據權利要求4所述的方法,其特征在于,所述步驟四進一步包括: 采用自適應頻率系數壓制的方法,針對每個變換單元,定義:C>=C ? W,其中Cp為 壓制后的頻率系數矩陣;0表示兩個矩陣對應元素相乘;W為頻率系數壓制矩陣。
【文檔編號】H04N19/167GK104125471SQ201410385560
【公開日】2014年10月29日 申請日期:2014年8月7日 優(yōu)先權日:2014年8月7日
【發(fā)明者】高冬 申請人:成都瑞博慧窗信息技術有限公司