專利名稱:基于塊內(nèi)降采樣的avs-m視頻編碼快速運(yùn)動(dòng)估計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體應(yīng)用中的視頻壓縮技術(shù)領(lǐng)域,特別涉及一種基于塊內(nèi)降采樣的AVS-M視頻編碼快速運(yùn)動(dòng)估計(jì)方法。所述“AVS-M”全稱為“數(shù)字音視頻移動(dòng)多媒體國家標(biāo)準(zhǔn)”。
背景技術(shù):
自1948年C.E.Shannon提出信源編碼理論以來,人們對圖像壓縮編碼技術(shù)進(jìn)行了廣泛的研究。經(jīng)過近六十年的研究和發(fā)展,出現(xiàn)了大量的視頻壓縮技術(shù)和方法,包括預(yù)測編碼、矢量編碼、變換編碼、熵編碼、基于對象的形狀編碼以及小波變換編碼、分形編碼等。根據(jù)視頻壓縮方法所采用的信源模型,這些壓縮技術(shù)可以分為兩大類基于內(nèi)容的編碼方法和基于波形的編碼方法。
基于波形的編碼采用了把預(yù)測編碼和變換編碼組合起來的基于塊的混合編碼方法。為了減少編碼的復(fù)雜性,使視頻編碼操作易于執(zhí)行,采用混合編碼方法時(shí),首先把一幅圖像分成固定大小的塊,例如塊8×8(即每塊8行,每行8個(gè)象素)、塊16×16(每塊16行,每行16個(gè)象素)等等,然后對塊進(jìn)行壓縮編碼處理。
預(yù)測編碼是數(shù)據(jù)壓縮最有效的手段之一。視頻中一幀圖像內(nèi)的數(shù)據(jù)相關(guān)性使得對于某個(gè)數(shù)據(jù)塊可以利用其相鄰塊的數(shù)據(jù)信息進(jìn)行預(yù)測,僅保留原始象素與預(yù)測象素之差,從而減小或消除空間冗余,此為幀內(nèi)預(yù)測;視頻中相鄰圖像幀之間的時(shí)間相關(guān)性使得數(shù)據(jù)塊可以利用其相鄰圖像幀(參考幀)進(jìn)行預(yù)測,僅保留原始象素與預(yù)測象素之差,消除或減小空間相關(guān)性,此為幀間預(yù)測。
通常,在實(shí)現(xiàn)幀間預(yù)測時(shí),對于每一個(gè)塊劃分,需要在參考幀中相應(yīng)的搜索范圍內(nèi)查找最匹配的參考?jí)K,確定最匹配的塊的準(zhǔn)則主要有MSE(MeanSquared Error)、MAE(Mean Absolute Error)和SAD(Sum of AbsoluteDifference)三種,其定義分別如式(1)、(2)和(3)式所示。
MSE=1N2Σi=0M-1Σj=0N-1(Ci,j-RMV(i,j))2---(1)]]>MAE=1N2Σi=0M-1Σj=0N-1|Ci,j-RMV(i,j)|---(2)]]>
SAD=Σi=0M-1Σj=0N-1|Ci,j-RMV(i,j)|---(3)]]>其中,C表示待編碼視頻幀中的象素點(diǎn)的值;R表示參考幀中的象素點(diǎn)的值;M、N分別表示塊大小中的象素點(diǎn)行數(shù)和列數(shù),i、j分別表示第一個(gè)求和號(hào)的行取值和第二個(gè)求和號(hào)的列取值;MV(i,j)表示在參考幀中相對于(i,j)的位置偏移。
相對而言,SAD準(zhǔn)則最為簡單,在H.261、H.263、H.264和MPEG-1、MPEG-2、MPEG-4等國際食品壓縮標(biāo)準(zhǔn)中都推薦使用SAD準(zhǔn)則。雖然采用SAD準(zhǔn)則較其他準(zhǔn)則簡單,但在匹配過程中,計(jì)算量還是非常大的,這主要是因?yàn)橐韵聨c(diǎn)1、塊匹配過程中,每個(gè)宏塊(大小為16×16)需要?jiǎng)澐殖啥喾N子塊模式(例如16×16、16×8、8×16、8×8)進(jìn)行搜索;2、每種塊劃分要在參考幀的給定范圍內(nèi)進(jìn)行搜索,這個(gè)范圍導(dǎo)致每個(gè)塊的匹配搜索次數(shù)隨著搜索點(diǎn)的增加而增加;3、通常運(yùn)動(dòng)搜索要在多于一個(gè)參考幀中進(jìn)行。
以CIF格式(大小為352×288)的視頻編碼為例,若考慮四種塊劃分模式(例如16×16、16×8、8×16、8×8),在參考幀中的搜索范圍為±32個(gè)象素點(diǎn),參考幀為2幀,對于一幀視頻,實(shí)現(xiàn)基于SAD準(zhǔn)則的運(yùn)動(dòng)搜索需要做(22×18)×(33×33)×4×2=3449952次的減法操作、3449952絕對值操作和3449951次加法操作,對于幀率為25幀/秒的視頻序列編碼,計(jì)算量是相當(dāng)龐大的。
在已有的運(yùn)動(dòng)搜索快速算法中,通常是通過采用某種及早停止準(zhǔn)則,在搜索過程中盡可能的省略不可能是最優(yōu)匹配的搜索點(diǎn)和塊劃分模式的方法。即使這樣做由于在塊內(nèi)還是采用象素點(diǎn)全采樣的方式進(jìn)行運(yùn)算,因此其計(jì)算量仍相當(dāng)龐大。因此,如何從其它角度來減少搜索過程中的計(jì)算量,且所提出的算法可以很好地與現(xiàn)有的快速運(yùn)動(dòng)搜索算法結(jié)合,以進(jìn)一步減小計(jì)算復(fù)雜性,是本發(fā)明作重研究的問題。
發(fā)明內(nèi)容
本發(fā)明提供一種基于塊內(nèi)降采樣的AVS-M視頻編碼快速運(yùn)動(dòng)估計(jì)方法,其目的是在保證編碼質(zhì)量與最優(yōu)搜索算法相當(dāng)?shù)那疤嵯陆档瓦\(yùn)動(dòng)搜索和塊匹配的計(jì)算復(fù)雜度,減少搜索最優(yōu)匹配塊的軟件執(zhí)行時(shí)間,實(shí)現(xiàn)更高的編碼效率。
為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是一種基于塊內(nèi)降采樣的AVS-M視頻編碼快速運(yùn)動(dòng)估計(jì)方法,其創(chuàng)新在于在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,對于所定義的任意一種矩陣排列的M×N象素塊劃分模式,通過塊內(nèi)間隔采樣象素點(diǎn)的采樣方式進(jìn)行計(jì)算,即在塊內(nèi)象素點(diǎn)矩陣排列中,按間隔的方式對每行和每列中的象素點(diǎn)進(jìn)行采樣,并按下列公式(A)或者公式(B)進(jìn)行計(jì)算SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A)]]>SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B)]]>式中,C表示待編碼視頻幀中的象素點(diǎn)的值;R表示參考幀中的象素點(diǎn)的值;M、N分別表示塊大小中的象素點(diǎn)行數(shù)和列數(shù),i、j分別表示第一個(gè)求和號(hào)的行取值和第二個(gè)求和號(hào)的列取值;MV(i,j)表示在參考幀中相對于(i,j)的位置偏移。
上述方案中所述象素塊劃分模式可以定義為以下四種之一(1)、M×N象素塊劃分模式為塊16×16,即每塊16行,每行16個(gè)象素。
(2)、M×N象素塊劃分模式為塊16×8,即每塊16行,每行8個(gè)象素。
(3)、M×N象素塊劃分模式為塊8×16,即每塊8行,每行16個(gè)象素。
(4)、M×N象素塊劃分模式為塊8×8,即每塊8行,每行8個(gè)象素。
本發(fā)明的主要思想是在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,通過塊內(nèi)象素降采樣來減小計(jì)算復(fù)雜性。在已有的采用SAD準(zhǔn)則的運(yùn)動(dòng)搜索算法中,每一種塊劃分中的所有象素點(diǎn)都參與運(yùn)算,而在本發(fā)明中,通過間隔采樣象素點(diǎn)進(jìn)行計(jì)算。
由于上述技術(shù)方案運(yùn)用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點(diǎn)和效果1、本發(fā)明相對于全采樣SAD方法,是在不改變視頻編碼流程的框架的前提下有效減小計(jì)算量,因此仍然保留了SAD的特點(diǎn)。
2、本發(fā)明相對于全采樣SAD方法,基于降采樣的搜索算法的計(jì)算復(fù)雜性大大降低,降低幅度可以達(dá)到50%;峰值信噪比PSNR略微有所降低,但其視覺質(zhì)量幾乎沒有變化;碼率略微有所增加??傮w上,編碼效率有很大的提高。
3、將本方法應(yīng)用于AVS-M(數(shù)字音視頻移動(dòng)多媒體國家標(biāo)準(zhǔn))標(biāo)準(zhǔn)代碼中塊類型為16×16、16×8、8×16、8×8的塊劃分運(yùn)動(dòng)搜索并與全采樣SAD方法進(jìn)行實(shí)驗(yàn)對比測試,見圖5~圖8,可以驗(yàn)證本發(fā)明的優(yōu)點(diǎn)和積極效果。
附圖1(a)為塊16×16的第一種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖1(b)為塊16×16的第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖2(a)為塊16×8的第一種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖2(b)為塊16×8的第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖3(a)為塊8×16的第一種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖3(b)為塊8×16的第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖4(a)為塊8×8的第一種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖4(b)為塊8×8的第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。
附圖5~圖8為本發(fā)明與全采樣SAD算法的對比測試結(jié)果圖。其中,編碼標(biāo)準(zhǔn)為AVS移動(dòng)視頻標(biāo)準(zhǔn)AVS-M,編碼序列選擇具有代表性的四個(gè)典型視型序列(一般在測試中使用)News、Foreman、Tempete和Football。編碼幀數(shù)為250幀,幀率為30幀/秒。圖中“Original”表示采用全SAD方法時(shí)的編碼性能曲線,“Rapid”表示采用了降采樣SAD方法編碼時(shí)的編碼性能曲線。
具體實(shí)施例方式
下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述實(shí)施例一圖1(a)為塊16×16的第一種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。按照圖1(a)所示,在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,對于所定義的塊16×16(即每塊16行,每行16個(gè)象素)象素塊劃分模式,通過塊內(nèi)間隔采樣象素點(diǎn)的采樣方式進(jìn)行計(jì)算,即在塊內(nèi)象素點(diǎn)矩陣排列中,按間隔的方式對每行和每列中的象素點(diǎn)進(jìn)行采樣,并按下列公式(A)進(jìn)行計(jì)算SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A)]]>式中,C表示待編碼視頻幀中的象素點(diǎn)的值;R表示參考幀中的象素點(diǎn)的值;M、N分別表示塊大小中的象素點(diǎn)行數(shù)和列數(shù),i、j分別表示第一個(gè)求和號(hào)的行取值和第二個(gè)求和號(hào)的列取值;MV(i,j)表示在參考幀中相對于(i,j)的位置偏移。
由于第一和第二求和號(hào)的上限M、N分別取值16,公式(A)變?yōu)镾AD′=Σi=07Σj=07(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A-1)]]>從以上公式(A-1)中可以看出,圖1(a)采樣象素點(diǎn)僅選擇了塊16×16全部象素點(diǎn)的一半,而且選取范圍是行與列坐標(biāo)以奇偶性不同進(jìn)行組合,即行與列坐標(biāo)兩者中,一個(gè)為奇數(shù),另一個(gè)為偶數(shù),其核心是兩者的奇偶性不同。
圖1(b)為塊16×16的第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。按照圖1(b)所示,在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,對于所定義的塊16×16象素塊劃分模式,通過在塊內(nèi)象素點(diǎn)矩陣排列中,按間隔的方式對每行和每列中的象素點(diǎn)進(jìn)行采樣,并按下列公式(B)進(jìn)行計(jì)算SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B)]]>式中,C表示待編碼視頻幀中的象素點(diǎn)的值;R表示參考幀中的象素點(diǎn)的值;M、N分別表示塊大小中的象素點(diǎn)行數(shù)和列數(shù),i、j分別表示第一個(gè)求和號(hào)的行取值和第二個(gè)求和號(hào)的列取值;MV(i,j)表示在參考幀中相對于(i,j)的位置偏移。
由于第一和第二求和號(hào)的上限M、N分別取值16,公式(B)變?yōu)镾AD′=Σi=07Σj=07(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B-1)]]>從以上公式(B-1)中可以看出,圖1(b)采樣象素點(diǎn)僅選擇了塊16×16全部象素點(diǎn)的一半,而且選取范圍是行與列坐標(biāo)以奇偶性相同進(jìn)行組合,即行與列坐標(biāo)兩者中,要么兩者同時(shí)為奇數(shù),要么兩者同時(shí)為偶數(shù),其核心是兩者的奇偶性相同。
圖1(a)與圖1(b)的區(qū)別是在塊內(nèi)象素點(diǎn)矩陣排列中,對應(yīng)行和對應(yīng)列的采樣象素點(diǎn)相反。
實(shí)施例二與實(shí)施例一的不同之處是所定義的象素塊劃分模式為塊16×8,即每塊16行,每行8個(gè)象素。
圖2(a)和圖2(b)分別為塊16×8的第一種和第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。圖2(a)與圖2(b)的區(qū)別是在塊內(nèi)象素點(diǎn)矩陣排列中,對應(yīng)行和對應(yīng)列的采樣象素點(diǎn)相反。
圖2(a)采用的公式為SAD′=Σi=07Σj=03(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A-2)]]>圖2(b)采用的公式為SAD′=Σi=07Σj=03(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B-2)]]>其它與實(shí)施例一相同,這里不再重復(fù)描述。
實(shí)施例三與實(shí)施例一的不同之處是所定義的象素塊劃分模式為塊8×16,即每塊8行,每行16個(gè)象素。
圖3(a)和圖3(b)分別為塊8×16的第一種和第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。圖3(a)與圖3(b)的區(qū)別是在塊內(nèi)象素點(diǎn)矩陣排列中,對應(yīng)行和對應(yīng)列的采樣象素點(diǎn)相反。
圖3(a)采用的公式為SAD′=Σi=03Σj=07(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A-3)]]>圖3(b)采用的公式為SAD′=Σi=03Σj=07(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B-3)]]>
其它與實(shí)施例一相同,這里不再重復(fù)描述。
實(shí)施例四與實(shí)施例一的不同之處是所定義的象素塊劃分模式為塊8×8,即每塊8行,每行8個(gè)象素。
圖4(a)和圖4(b)分別為塊8×8的第一種和第二種象素點(diǎn)間隔降采樣示意圖,圖中黑色的點(diǎn)表示參與SAD運(yùn)算的象素點(diǎn),無色的點(diǎn)不參與運(yùn)算。圖4(a)與圖4(b)的區(qū)別是在塊內(nèi)象素點(diǎn)矩陣排列中,對應(yīng)行和對應(yīng)列的采樣象素點(diǎn)相反。
圖4(a)采用的公式為SAD′=Σi=03Σj=03(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A-4)]]>圖4(b)采用的公式為SAD′=Σi=03Σj=03(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1,2j+1)|)---(B-4)]]>其它與實(shí)施例一相同,這里不再重復(fù)描述。
上述實(shí)施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于塊內(nèi)降采樣的AVS-M視頻編碼快速運(yùn)動(dòng)估計(jì)方法,其特征在于在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,對于所定義的任意一種矩陣排列的M×N象素塊劃分模式,通過塊內(nèi)間隔采樣象素點(diǎn)的采樣方式進(jìn)行計(jì)算,即在塊內(nèi)象素點(diǎn)矩陣排列中,按間隔的方式對每行和每列中的象素點(diǎn)進(jìn)行采樣,并按下列公式(A)或者公式(B)進(jìn)行計(jì)算SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j+1-RMV(2i,2j+1)|+|C2i+1,2j-RMV(2i+1,2j)|)---(A)]]>SAD′=Σi=0M2-1Σj=0N2-1(|C2i,2j-RMV(2i,2j)|+|C2i+1,2j+1-RMV(2i+1+1,2j+1)|)---(B)]]>式中,C表示待編碼視頻幀中的象素點(diǎn)的值;R表示參考幀中的象素點(diǎn)的值;M、N分別表示塊大小中的象素點(diǎn)行數(shù)和列數(shù),i、j分別表示第一個(gè)求和號(hào)的行取值和第二個(gè)求和號(hào)的列取值;MV(i,j)表示在參考幀中相對于(i,j)的位置偏移。
2.根據(jù)權(quán)利要求1所述的快速運(yùn)動(dòng)估計(jì)方法,其特征在于所述M×N象素塊劃分模式為塊16×16,即每塊16行,每行16個(gè)象素。
3.根據(jù)權(quán)利要求1所述的快速運(yùn)動(dòng)估計(jì)方法,其特征在于所述M×N象素塊劃分模式為塊16×8,即每塊16行,每行8個(gè)象素。
4.根據(jù)權(quán)利要求1所述的快速運(yùn)動(dòng)估計(jì)方法,其特征在于所述M×N象素塊劃分模式為塊8×16,即每塊8行,每行16個(gè)象素。
5.根據(jù)權(quán)利要求1所述的快速運(yùn)動(dòng)估計(jì)方法,其特征在于所述M×N象素塊劃分模式為塊8×8,即每塊8行,每行8個(gè)象素。
全文摘要
一種基于塊內(nèi)降采樣的AVS-M視頻編碼快速運(yùn)動(dòng)估計(jì)方法,涉及視頻壓縮技術(shù)領(lǐng)域,本發(fā)明在采用SAD準(zhǔn)則進(jìn)行塊匹配的視頻壓縮算法中,對塊16×16、塊16×8、塊8×16、塊8×8四種塊劃分模式中的任意一種塊,通過塊內(nèi)間隔采樣象素點(diǎn)的象素采樣方式進(jìn)行計(jì)算,即在塊內(nèi)象素點(diǎn)矩陣排列中,按間隔的方式對每行和每列中的象素點(diǎn)進(jìn)行采樣。相對于全采樣SAD方法,本發(fā)明將采樣的搜索算法的計(jì)算復(fù)雜性大大降低,降低幅度可以達(dá)到50%;峰值信噪比PSNR略微有所降低,但其視覺質(zhì)量幾乎沒有變化;碼率略微有所增加。總體上,編碼效率有很大的提高。
文檔編號(hào)H04N7/24GK101035282SQ20071002163
公開日2007年9月12日 申請日期2007年4月19日 優(yōu)先權(quán)日2007年4月19日
發(fā)明者袁定伍, 劉東華 申請人:蘇州鷂鷹數(shù)據(jù)技術(shù)有限公司