專(zhuān)利名稱(chēng):基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾
波編碼方法。
背景技術(shù):
當(dāng)前典型的視頻編碼算法采用沿用至今的基于預(yù)測(cè)/變換的混合編碼技術(shù)框架, 遵循該框架制定了兩大系列的視頻編碼國(guó)際標(biāo)準(zhǔn)MPEG-X系列和H. 26X系列,形成了以 H. 264/AVC、AVS、 VC-1等為代表的多個(gè)視頻編碼標(biāo)準(zhǔn),得到了業(yè)界的廣泛認(rèn)可。
混合編碼技術(shù)建立在仙農(nóng)信息論基礎(chǔ)之上,以經(jīng)典集合論為工具,用概率統(tǒng)計(jì)模 型來(lái)描述信源,其壓縮思想基于數(shù)據(jù)統(tǒng)計(jì),只能去除數(shù)據(jù)冗余,而完全忽略了視覺(jué)上的冗 余。該技術(shù)框架發(fā)展到現(xiàn)在遇到巨大瓶頸,其編碼效率的提高主要依賴(lài)于以運(yùn)算復(fù)雜度的 大幅增加為代價(jià)的技術(shù)細(xì)節(jié)的微調(diào)(如圖l所示),如果繼續(xù)延續(xù)這一思路很難有大的提升 空間。為了達(dá)到高清視頻在公共網(wǎng)絡(luò)上傳輸?shù)哪康?,需要視頻流具有更高的壓縮效率,必須 進(jìn)一步改進(jìn)當(dāng)前編碼方式中效率不高的環(huán)節(jié)或引入新的編碼工具。 在以往的標(biāo)準(zhǔn)中,幀內(nèi)編碼圖像一般直接將圖像分成像素塊,分別進(jìn)行離散余弦 變換和量化,這樣實(shí)際上并未充分利用各像素塊之間的相關(guān)特性,導(dǎo)致幀內(nèi)編碼圖像壓縮 效率不是很高。只有在H. 263+和MPEG-4中曾提出了一種先進(jìn)幀內(nèi)預(yù)測(cè)編碼模式,但由于 受限與原有語(yǔ)法結(jié)構(gòu),也只是對(duì)圖像塊經(jīng)離散余弦變化后的部分直流系數(shù)和交流系數(shù)進(jìn)行 預(yù)測(cè)編碼。而在最新的H. 264、 AVS等標(biāo)準(zhǔn)中則打破了原有的語(yǔ)法元素,充分利用相鄰像素 之間的相關(guān)特性,利用位于當(dāng)前像素塊左邊和上邊的已編碼重建像素進(jìn)行預(yù)測(cè),只對(duì)實(shí)際 值和預(yù)測(cè)值的差值進(jìn)行編碼,從而實(shí)現(xiàn)了一種更為高效的幀內(nèi)空間域預(yù)測(cè)編碼模式。在這 種空間域的幀內(nèi)預(yù)測(cè)過(guò)程中,依據(jù)幀內(nèi)預(yù)測(cè)的方向,分別有不同的相鄰元素生成當(dāng)前編碼 塊的預(yù)測(cè)值。 以AVS編碼標(biāo)準(zhǔn)為例,其幀內(nèi)預(yù)測(cè)模式一共分為五種,分別為垂直模式、水平模 式、直流系數(shù)預(yù)測(cè)模式、左下預(yù)測(cè)模式和右下預(yù)測(cè)模式,對(duì)于非水平預(yù)測(cè)模式和垂直預(yù)測(cè)模 式,其預(yù)測(cè)產(chǎn)生的過(guò)程如下 當(dāng)前幀內(nèi)預(yù)測(cè)塊由其上邊和左邊的參考樣本r[i] (i = 0 16)和c[i] (i = 0 16)來(lái)預(yù)測(cè),參見(jiàn)圖1所示,其中r[O]等于c[O]。如果幀內(nèi)預(yù)測(cè)需要用到i大于16的上邊 和左邊的參考樣本,則r[i] =r[16],c[i] =c[16](i>16)。預(yù)測(cè)完成后得到一個(gè)8X8 預(yù)測(cè)樣本矩陣predMatrix,即為當(dāng)前編碼塊的預(yù)測(cè),在下邊的過(guò)程中"))"表示移位運(yùn)算, 如果某個(gè)參考樣本所在的塊"不存在"或此樣本尚未解碼,則此樣本'不可用';反之此樣本 '可用'。 1、當(dāng)預(yù)測(cè)模式為直流系數(shù)預(yù)測(cè)模式時(shí)
如果r[i]、c[i] (i = 0 9)者卩'可用',則 predMatrix[x,y] = ((r[x]+2Xr[x + l]+r[x + 2]+2) > > 2+ (c [y] +2 X c [y+l] +c [y+2] +2) > > 2) > > 1 (x, y = 0 7);否則
如果r[i](i =0' predMatrix[x, y] 如果c[i](i =0' predMatrix[x, y] predMatrix[x, y]
9)'可用',則
=(r[x]+2Xr[x+l]+r[x+2]+2) >>2(x,y 9)'可用',則
=(c[y]+2Xc[y+l]+c[y+2]+2) >>2(x,y =128 (x, y = 0 7)。
0 7);否則
0 7);否則
2、當(dāng)預(yù)測(cè)模式為左下預(yù)測(cè)模式時(shí)
當(dāng)r[i]、c[i](i = l 16)均'可用'時(shí),該模式才被使用,此時(shí) predMatrix[x, y] = ((r[x+y+l]+2Xr[x+y+2]+r[x+y+3]+2) > > 2+(c [x+y+1] + 2 X c [x+y+2] +c [x+y+3] +2) > > 2) > > 1 (x, y = 0 7)
3、當(dāng)預(yù)測(cè)模式為右下預(yù)測(cè)模式時(shí)
當(dāng)r[i]、c[i] (i = 0 16)均'可用'時(shí),該模式才被使用,此時(shí) 如果x等于y, predMatrix[x, y] = (c[l]+2Xr
+r[l]+2) >> 2(x, y = 0
7);否則
y = 0
y = 0
(r[x-y+1]+2 X r[x-y]+r[x-y-1]+2) > > 2 (x,
(c[y-x+1]+2 X c[y-x]+c[y_x_l]+2) > > 2 (x,
如果x大于y, predMatrix [x, y] 7);否則
如果y大于x, predMatrix [x, y] 7)。
從以上過(guò)程可以看出,對(duì)于非垂直和水平的預(yù)測(cè)模式,其在生成最終的預(yù)測(cè)值時(shí) 均需要對(duì)其預(yù)測(cè)產(chǎn)生的塊相鄰像素進(jìn)行一個(gè)(1,2,1)固定抽頭的濾波器濾波處理。而對(duì)于 H. 264而言,它的4x4和8x8兩種預(yù)測(cè)結(jié)構(gòu)均具有九種預(yù)測(cè)模式,除了模式0到2,在預(yù)測(cè)模 式3到8下,預(yù)測(cè)矩陣的產(chǎn)生均需要進(jìn)行(1,2,1)固定抽頭的濾波器濾波處理。由于視頻 信號(hào)具有非平穩(wěn)性,固定抽頭的濾波器難以滿(mǎn)足圖像內(nèi)容的變化,導(dǎo)致進(jìn)行了 (1,2,1)濾 波后幀內(nèi)預(yù)測(cè)的殘差依然比較大,難以壓縮,成為幀內(nèi)預(yù)測(cè)編碼的亟待突破的瓶頸。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,以取代 現(xiàn)有的固定的幀內(nèi)預(yù)測(cè)濾波過(guò)程,減少幀內(nèi)預(yù)測(cè)的殘差,提高幀內(nèi)預(yù)測(cè)編碼的編碼效率。
為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案 —種基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,包括以下步驟 ①獲取當(dāng)前編碼塊的模板,并根據(jù)所述模板,分別匹配搜索到n個(gè)最佳的模板匹
配,其中n > 1 ; ②根據(jù)上述模板匹配獲得當(dāng)前編碼塊的預(yù)測(cè); ③對(duì)于需要經(jīng)過(guò)濾波處理的幀內(nèi)預(yù)測(cè)模式,對(duì)每個(gè)模板由②獲得的當(dāng)前編碼塊的 預(yù)測(cè)塊進(jìn)行幀內(nèi)預(yù)測(cè),根據(jù)所應(yīng)用標(biāo)準(zhǔn)提供的方法獲得用于該預(yù)測(cè)塊中各個(gè)像素幀內(nèi)預(yù)測(cè) 的3個(gè)像素值; ④對(duì)所有模板匹配得到的編碼塊預(yù)測(cè)進(jìn)行平均值計(jì)算,將該平均值作為當(dāng)前編碼 塊幀內(nèi)預(yù)測(cè)濾波的目標(biāo)值; ⑤對(duì)由③所獲得各個(gè)像素的n組3個(gè)像素值進(jìn)行平均值計(jì)算,將其作為生成目標(biāo) 值的支撐,根據(jù)最小二乘的原理,計(jì)算出該模式的最佳自適應(yīng)濾波器系數(shù);
⑥將得到的自適應(yīng)濾波器應(yīng)用到相對(duì)應(yīng)的幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)產(chǎn)生過(guò)程中,生成 當(dāng)前塊的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)值。 步驟①中所述模板為當(dāng)位于當(dāng)前塊左方和上方的L型圖像區(qū)域。 步驟①中所述匹配搜索為搜索出使得模板和模板匹配的絕對(duì)誤差和最小的n個(gè)
模板匹配。 本方法應(yīng)用于H. 264/AVC、 AVS以及VC-1等視頻編碼標(biāo)準(zhǔn)中。
本發(fā)明具有以下優(yōu)點(diǎn)和積極效果
1)可以有效降低幀內(nèi)預(yù)測(cè)后的殘差; 2)在相同的碼率情況下,解碼的客觀(guān)圖像質(zhì)量能夠提高0. 2dB以上。
圖1是本發(fā)明提供的基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法的流程圖。
圖2是AVS標(biāo)準(zhǔn)中8 X 8亮度塊幀內(nèi)預(yù)測(cè)模式示意圖。 圖3是采用本發(fā)明提供的方法使用三個(gè)模板匹配的預(yù)測(cè)生成情況示意圖。
圖4是本發(fā)明提供的方法對(duì)于視頻編碼測(cè)試序列Mobisode2的編碼性能圖。
其中, Sl-根據(jù)模板獲得最佳模板匹配,S2-根據(jù)模板匹配獲得編碼塊的預(yù)測(cè),S3-獲得 編碼塊的預(yù)測(cè)中生成各個(gè)像素預(yù)測(cè)的3個(gè)像素值,S4-對(duì)模板匹配得到的編碼塊預(yù)測(cè)進(jìn)行 平均值計(jì)算,S5-根據(jù)最小二乘的原理,計(jì)算出該模式的最佳自適應(yīng)濾波器系數(shù),S6-生成 當(dāng)前塊的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)值。
具體實(shí)施例方式
下面以具體實(shí)施例結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明 本發(fā)明提供的基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,具體采用如下的技 術(shù)方案,參見(jiàn)圖l,包括以下步驟 Sl :獲取當(dāng)前編碼塊的模板,并根據(jù)所述模板,分別匹配搜索到n個(gè)最佳的模板匹 配,其中n > 1 ; S2 :根據(jù)上述模板匹配獲得當(dāng)前編碼塊的預(yù)測(cè); S3:對(duì)于需要經(jīng)過(guò)濾波處理的幀內(nèi)預(yù)測(cè)模式,對(duì)每個(gè)模板由②獲得的當(dāng)前編碼塊 的預(yù)測(cè)塊進(jìn)行幀內(nèi)預(yù)測(cè),根據(jù)所應(yīng)用標(biāo)準(zhǔn)提供的方法獲得用于該預(yù)測(cè)塊中各個(gè)像素幀內(nèi)預(yù) 測(cè)的3個(gè)像素值; S4:對(duì)所有模板匹配得到的編碼塊預(yù)測(cè)進(jìn)行平均值計(jì)算,將該平均值作為當(dāng)前編 碼塊幀內(nèi)預(yù)測(cè)濾波的目標(biāo)值; S5 :對(duì)由S3所獲得各個(gè)像素的n組3個(gè)像素值進(jìn)行平均值計(jì)算,將其作為生成目
標(biāo)值的支撐,根據(jù)最小二乘的原理,計(jì)算出該模式的最佳自適應(yīng)濾波器系數(shù); S6 :將得到的自適應(yīng)濾波器應(yīng)用到相對(duì)應(yīng)的幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)產(chǎn)生過(guò)程中,生
成當(dāng)前塊的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)值。 下面以具體的實(shí)施過(guò)程來(lái)體現(xiàn)本發(fā)明的技術(shù)方案 設(shè)當(dāng)前編碼塊的大小為MXM,按照從左到右、從上到下的掃描順序?qū)⒍S的矩陣轉(zhuǎn)換為一維的向量。 ①獲取當(dāng)前編碼塊的模板,模板為當(dāng)位于當(dāng)前塊左方和上方的L型圖像區(qū)域,如
果當(dāng)前塊左邊或者上邊的塊不存在,則不使用本發(fā)明所提供的編碼方式; ②多模板匹配過(guò)程參見(jiàn)圖2所示,在模板匹配搜索中,在已重建的圖像區(qū)域,搜
索出使得模板和模板匹配的絕對(duì)誤差和最小的三個(gè)模板匹配,每個(gè)模板匹配右下方的MXM
區(qū)域即為當(dāng)前編碼塊在該模板匹配下的預(yù)測(cè),將其設(shè)為Pji = 0 2); 在本發(fā)明的實(shí)施例中,使用三個(gè)模板匹配,然而本發(fā)明并不局限于三個(gè)模板匹配
的情況,即可以采用單一模板,也可以采用多個(gè)模板; ③構(gòu)建支撐矩陣和目標(biāo)向量的過(guò)程計(jì)算Pi的平均值,即為P',將矩陣P'轉(zhuǎn)化 為向量表示為y,該向量即為目標(biāo)向量;對(duì)于給定的預(yù)測(cè)模式,分別按照該預(yù)測(cè)模式,獲得Pi 中每一像素的三個(gè)預(yù)測(cè)像素值,按照從左到右,從上到下的順序排列組成一個(gè)矩陣Ci,其大 小為M2X3,求出&的平均值,即為C',該矩陣即為支撐矩陣; 計(jì)算自適應(yīng)濾波器系數(shù)過(guò)程獲得支撐矩陣和目標(biāo)向量后,則最佳的自適應(yīng)濾
波器f滿(mǎn)足 C' Xf = P' 則根據(jù)最小二乘的原理,最佳濾波器為 f = ((C' )T*C' )—、(C' )T*y 上述自適應(yīng)幀內(nèi)預(yù)測(cè)濾波器的長(zhǎng)度可以大于3。 ⑤計(jì)算該幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)值的過(guò)程利用上述步驟所獲得的濾波器替代傳統(tǒng) 的固定抽頭濾波器(1,2,1)生成預(yù)測(cè)值; 上述步驟為編碼端的過(guò)程,在解碼端執(zhí)行與編碼端同樣的過(guò)程,即可獲得與編碼 端同樣的預(yù)測(cè)值,進(jìn)而在編解碼端實(shí)現(xiàn)自適應(yīng)濾波器系數(shù)的一致性,并且不用傳輸該濾波 器的系數(shù)。 本發(fā)明可以廣泛應(yīng)用于H. 264/AVC、 AVS以及VC-1等視頻編碼標(biāo)準(zhǔn)中。 為了便于理解本發(fā)明效果,在A(yíng)VS視頻壓縮標(biāo)準(zhǔn)中實(shí)現(xiàn)了本發(fā)明,采用本發(fā)明的
方法和原有編解碼方法,對(duì)同一標(biāo)準(zhǔn)序列進(jìn)行編碼測(cè)試,得到的編碼效率測(cè)試效果參見(jiàn)圖3所示。 采用常見(jiàn)的mobisode2序列(分辨率為416 X 240),在碼流的最高幀率是30幀每 秒情況下測(cè)試,結(jié)果如圖3所示,其中橫坐標(biāo)表示碼率,其單位為千比特每秒(kbits/s或 kbps),縱坐標(biāo)為亮度峰值信噪比,單位是分貝(dB)。
由此可見(jiàn),本發(fā)明能夠顯著提高幀內(nèi)預(yù)測(cè)的編碼效率。
權(quán)利要求
一種基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,其特征在于,包括以下步驟①獲取當(dāng)前編碼塊的模板,并根據(jù)所述模板,分別匹配搜索到n個(gè)最佳的模板匹配,其中n≥1;②根據(jù)上述模板匹配獲得當(dāng)前編碼塊的預(yù)測(cè);③對(duì)于需要經(jīng)過(guò)濾波處理的幀內(nèi)預(yù)測(cè)模式,對(duì)每個(gè)模板由②獲得的當(dāng)前編碼塊的預(yù)測(cè)塊進(jìn)行幀內(nèi)預(yù)測(cè),根據(jù)所應(yīng)用標(biāo)準(zhǔn)提供的方法獲得用于該預(yù)測(cè)塊中各個(gè)像素幀內(nèi)預(yù)測(cè)的3個(gè)像素值;④對(duì)所有模板匹配得到的編碼塊預(yù)測(cè)進(jìn)行平均值計(jì)算,將該平均值作為當(dāng)前編碼塊幀內(nèi)預(yù)測(cè)濾波的目標(biāo)值;⑤對(duì)由③所獲得各個(gè)像素的n組3個(gè)像素值進(jìn)行平均值計(jì)算,將其作為生成目標(biāo)值的支撐,根據(jù)最小二乘的原理,計(jì)算出該模式的最佳自適應(yīng)濾波器系數(shù);⑥將得到的自適應(yīng)濾波器應(yīng)用到相對(duì)應(yīng)的幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)產(chǎn)生過(guò)程中,生成當(dāng)前塊的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)值。
2. 根據(jù)權(quán)利要求1所述的基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,其特征在于步驟①中所述模板為當(dāng)位于當(dāng)前塊左方和上方的L型圖像區(qū)域。
3. 根據(jù)權(quán)利要求1所述的基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,其特征在于步驟①中所述匹配搜索為搜索出使得模板和模板匹配的絕對(duì)誤差和最小的n個(gè)模板 匹配。
4. 根據(jù)權(quán)利要求l所述的基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法,其特征在于本方法應(yīng)用于H. 264/AVC、 AVS以及VC-1等視頻編碼標(biāo)準(zhǔn)中。
全文摘要
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種基于模板匹配的自適應(yīng)幀內(nèi)預(yù)測(cè)濾波編碼方法。本發(fā)明包括獲取當(dāng)前編碼塊的模板,并根據(jù)所述模板,分別匹配搜索到n個(gè)最佳的模板匹配;根據(jù)上述模板匹配獲得當(dāng)前編碼塊的預(yù)測(cè);根據(jù)所應(yīng)用標(biāo)準(zhǔn)提供的方法獲得上述編碼塊的預(yù)測(cè)中生成各個(gè)像素預(yù)測(cè)的3個(gè)像素值;對(duì)所有模板匹配得到的編碼塊預(yù)測(cè)進(jìn)行平均值計(jì)算,將該平均值作為預(yù)測(cè)的目標(biāo);對(duì)所述的各個(gè)像素的n組3個(gè)像素值進(jìn)行平均值計(jì)算,將其作為生成目標(biāo)值的支撐,根據(jù)最小二乘的原理,計(jì)算出該模式的最佳自適應(yīng)濾波器系數(shù);生成當(dāng)前塊的幀內(nèi)預(yù)測(cè)的預(yù)測(cè)值。本發(fā)明可以有效降低幀內(nèi)預(yù)測(cè)后的殘差,在相同的碼率情況下,解碼的客觀(guān)圖像質(zhì)量能夠提高0.2dB以上。
文檔編號(hào)H04N7/32GK101715135SQ20091027236
公開(kāi)日2010年5月26日 申請(qǐng)日期2009年9月30日 優(yōu)先權(quán)日2009年9月30日
發(fā)明者彭亮, 王中元, 王啟軍, 胡瑞敏, 胡金暉 申請(qǐng)人:武漢大學(xué)