專利名稱::基于宏塊特征的快速運(yùn)動(dòng)估計(jì)視頻編碼方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻壓縮編碼領(lǐng)域,設(shè)計(jì)和實(shí)現(xiàn)了一種基于宏塊特征的視頻快速運(yùn)動(dòng)估計(jì)編碼壓縮方法。
背景技術(shù):
:H.264/AVC作為ITU和ISO聯(lián)合制定的最新一代視頻編碼標(biāo)準(zhǔn),具有更優(yōu)的編碼壓縮性能和抗干擾性能,能夠適應(yīng)不同的網(wǎng)絡(luò)環(huán)境,具有重要的研究?jī)r(jià)值和應(yīng)用價(jià)值。然而H.264編碼效率的提高是以編碼器端極高的計(jì)算復(fù)雜度為代價(jià)的,導(dǎo)致了其難以實(shí)時(shí)應(yīng)用的缺陷。研究分析表明,H.264編碼器端的計(jì)算復(fù)雜度的絕大部分來(lái)自于不同于以往編碼標(biāo)準(zhǔn)的幀間預(yù)測(cè)編碼支持大小和形狀可變的包含16X16,16X8,8X16,8X8,8X4,4X8,4X4七種可變大小塊的幀間編碼模式(見(jiàn)圖1)、1/4像素運(yùn)動(dòng)矢量、多參考幀,利用拉格朗日率失真優(yōu)化ROD(RateDistortionOptimization)技術(shù)選擇最優(yōu)的運(yùn)動(dòng)估計(jì)和幀間編碼模式選擇等等。實(shí)驗(yàn)分析表明,采用多參考幀全部幀間編碼模式的運(yùn)動(dòng)估計(jì)模塊占整個(gè)編碼器計(jì)算量的85%以上;僅采用單參考幀的運(yùn)動(dòng)估計(jì)模塊占整個(gè)編碼器計(jì)算量至少60%以上。因此,巨大的編碼時(shí)間開(kāi)銷迫切要求降低運(yùn)動(dòng)估計(jì)模塊的計(jì)算復(fù)雜度。運(yùn)動(dòng)估計(jì)(MotionEstimation,ME),是視頻幀間編碼中普遍采用的一項(xiàng)核心技術(shù),它也是消除視頻數(shù)據(jù)的時(shí)間冗余最基本和最重要的方法,運(yùn)動(dòng)估計(jì)的優(yōu)劣直接影響到編碼的效率和圖像恢復(fù)質(zhì)量,各種算法的研究也一直受到工業(yè)界和學(xué)術(shù)界的關(guān)注。目前已經(jīng)有很多種不同的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償方法,流行的算法主要有兩種,一種是像素遞歸算法,另一種是塊匹配算法。相比較像素遞歸法而言,塊匹配法極大的簡(jiǎn)化了問(wèn)題,雖然其精度降低了,但其具有位移跟蹤能力強(qiáng),易實(shí)現(xiàn)等優(yōu)點(diǎn),獲得了廣泛的應(yīng)用。目前流行的視頻編碼標(biāo)準(zhǔn)(H.261/263/264,MPEG1/2/4等)普遍采用基于塊匹配的運(yùn)動(dòng)估計(jì)算法。塊匹配運(yùn)動(dòng)估計(jì)算法的工作原理如圖2所示。在運(yùn)動(dòng)估計(jì)中,視頻幀被分割成大小相等的MXN±夬,假設(shè)塊中所有像素都作相同的平移運(yùn)動(dòng),下標(biāo)t為時(shí)間。塊在t和t-Δt間隔內(nèi)的位移3=[大,+f稱作運(yùn)動(dòng)矢量MV(Motionvector)。運(yùn)動(dòng)估計(jì)是在參考幀F(xiàn)t_,t的給定窗口Ω中搜索當(dāng)前編碼塊的匹配塊,尋找最佳運(yùn)動(dòng)矢量的過(guò)程。在塊匹配方法中,用相關(guān)函數(shù)相關(guān)函數(shù)R(x,y)來(lái)表示當(dāng)前宏塊與參考宏塊之間的相關(guān)性函數(shù),R(χ,y)越大,表示當(dāng)前塊與預(yù)測(cè)塊之間的相關(guān)性越強(qiáng),二者越匹配。通常使用絕對(duì)誤差和SAD(SumofAbsoluteDifference)來(lái)衡量相關(guān)性函數(shù)的大小。MNSAD(x,y)=MNxMAD(x,y)=-(m+x,n+y)\w=ln=\fk(m,n)表示當(dāng)前幀宏塊的亮度值,f^(m+x,n+y)表示參考幀宏塊的亮度值,M,N表示當(dāng)前宏塊的大小,R(x,y)表示當(dāng)前宏塊與參考宏塊之間的相關(guān)性函數(shù),在這種準(zhǔn)則下,當(dāng)前宏塊與預(yù)測(cè)宏塊的相關(guān)函數(shù)R(x,y)=l/SAD(x,y)。在運(yùn)動(dòng)估計(jì)中,匹配準(zhǔn)則對(duì)運(yùn)動(dòng)估計(jì)的精度影響不大,為了進(jìn)一步降低計(jì)算復(fù)雜度,在現(xiàn)有的塊匹配運(yùn)動(dòng)估計(jì)算法中,目前搜索精度最高的是全搜索算法(FS),但計(jì)算復(fù)雜度太高,不利于實(shí)時(shí)應(yīng)用。為此研究者們提出了各種各樣的快速塊匹配運(yùn)動(dòng)估計(jì)算法,如三步法、新三步法、四步法、菱形法、MVFAST和PMVFAST等算法。但是所有的改進(jìn)算法,在搜索精度上比FS都有不同程度的下降,搜索速度仍難以很好的滿足實(shí)際要求。因此,有必要尋找更加高效的塊匹配運(yùn)動(dòng)估計(jì)算法。一般的運(yùn)動(dòng)估計(jì)包括兩個(gè)部分整像素運(yùn)動(dòng)估計(jì)和由整像素搜索得到的最優(yōu)點(diǎn)的小數(shù)運(yùn)動(dòng)估計(jì)。特別是快速的整像素運(yùn)動(dòng)估計(jì)已經(jīng)得到許多的關(guān)注。這是因?yàn)閭鹘y(tǒng)的分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)(比如1/2像素)在整個(gè)運(yùn)動(dòng)估計(jì)的計(jì)算量中只占了很少的比例。近期針對(duì)H.264/AVC壓縮編碼中整像素運(yùn)動(dòng)估計(jì)進(jìn)行優(yōu)化算法研究的主要成果有J.M.Zhang等人提出的UMHexagonS(Unsymmetrical-CrossMulti-HexagonSearch),全稱叫“非對(duì)稱十字型多層次六邊形格點(diǎn)搜索算法”,該方法與全搜索算法相比,能降低90%的運(yùn)動(dòng)估計(jì)計(jì)算復(fù)雜度,比特率與全搜索算法相比不相上下,平均峰值信噪比(peaksignal-to-noise,PSNR)的下降小于0.05dB,同時(shí)能保持較好的率失真性能,是目前效果最好的快速搜索算法之一。H.264/AVC從參考軟件JM7.6版本開(kāi)始,采用了UMHexagonS算法,該算法結(jié)合了多種搜索算法,在很大程度上提高了預(yù)測(cè)的有效性和健壯性。包括四個(gè)步驟,每個(gè)步驟采用了不同的搜索模板(如圖3),基本步驟如下步驟1起始搜索點(diǎn)的預(yù)測(cè)。采用中值預(yù)測(cè)、上層預(yù)測(cè)、前一幀對(duì)應(yīng)塊運(yùn)動(dòng)矢量預(yù)測(cè)、鄰近參考幀運(yùn)動(dòng)矢量預(yù)測(cè)等多種預(yù)測(cè)模式求預(yù)測(cè)運(yùn)動(dòng)矢量MVpral,使最初的搜索起始點(diǎn)更加接近最佳預(yù)測(cè)點(diǎn)。步驟2非對(duì)稱十字形搜索?;谝话愕募僭O(shè),在大多數(shù)自然圖像序列中,水平運(yùn)動(dòng)劇烈程度一般要比垂直方向大得多,因此可采用非對(duì)稱十字搜索來(lái)優(yōu)化算法。如圖3的step2所示,非對(duì)稱十字形搜索水平搜索范圍是垂直搜索范圍的2倍。相鄰搜索點(diǎn)之間間距取兩個(gè)像素單位。最佳匹配點(diǎn)將作為下一步搜索的初始搜索中心點(diǎn)。步驟3非均勻多層六邊形格網(wǎng)搜索。這一步搜索分為兩個(gè)階段完成。第一階段St印3-1:以步驟2中確定的最佳匹配點(diǎn)為中心,在其周圍4X4的區(qū)域內(nèi)進(jìn)行5X5個(gè)整像素全搜索,如圖3中的step3_1所示。第二階段St印3-2以st印3-1中確定的最佳匹配點(diǎn)作為起始點(diǎn)為中心,進(jìn)行非均勻多層六邊形格網(wǎng)格搜索,如圖3中的step3-2所示。非均勻多層六邊形格網(wǎng)搜索用于處理大幅度、不規(guī)則運(yùn)動(dòng)的情況,算法中統(tǒng)一進(jìn)行4層非均勻的六邊形網(wǎng)格搜索??紤]到實(shí)際情況中,自然圖像序列水平方向運(yùn)動(dòng)幅度一般要大于垂直方向,算法中采用16點(diǎn)的非均勻六邊形作為基本搜索模式,如圖4所示。步驟4擴(kuò)展對(duì)稱六邊形搜索。St印4-1先以步長(zhǎng)為2個(gè)像素進(jìn)行對(duì)稱六邊形六點(diǎn)搜索,比較中心點(diǎn)和6個(gè)對(duì)角點(diǎn)的率失真代價(jià)值,以率失真代價(jià)值最小的點(diǎn)作為下一次搜索的中心點(diǎn),直到中心點(diǎn)變?yōu)槁适д娲鷥r(jià)值最小的點(diǎn)。如圖3的St印4-1所示。St印4-2再減小步長(zhǎng),以步長(zhǎng)為1個(gè)像素進(jìn)行菱形搜索,重復(fù)St印4-1的搜索過(guò)程,直到中心點(diǎn)的率失真代價(jià)值為最小點(diǎn)時(shí)中止。該點(diǎn)即為整像素搜索最佳匹配點(diǎn)。如圖3的St印4-2所示。如前所述,雖然UMHexagonS算法大幅提高了全搜索的運(yùn)算速度,但該方法對(duì)七種幀間編碼模式無(wú)一例外的采用遍歷式的搜索策略,并沒(méi)有考慮到當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)特征,其搜索點(diǎn)數(shù)仍然較多,搜索策略存在冗余,在提高算法搜索速度方面還存在很大的上升空間。通過(guò)研究分析視頻編碼中整像素的運(yùn)動(dòng)估計(jì)特點(diǎn)和大量的實(shí)驗(yàn)統(tǒng)計(jì)數(shù)據(jù)結(jié)果,發(fā)現(xiàn)其搜索點(diǎn)數(shù)仍舊較多,算法存在冗余現(xiàn)象,搜索規(guī)則和搜索模板仍有提升空間,有必要進(jìn)一步優(yōu)化。H.264/AVC原有整像素搜索快速運(yùn)動(dòng)估計(jì)UMHexagonS算法的欠缺,主要表現(xiàn)在以下幾方面(1)對(duì)所有被預(yù)測(cè)宏塊采用統(tǒng)一固定的運(yùn)動(dòng)搜索估計(jì)方法,沒(méi)有針對(duì)宏塊特性進(jìn)行分析。(2)搜索半徑固定,對(duì)于均勻的運(yùn)動(dòng)幅度較小的搜索區(qū)域,過(guò)大的搜索半徑對(duì)提高運(yùn)動(dòng)估計(jì)性能作用不大,卻花費(fèi)了較多計(jì)算時(shí)間。(3)搜索點(diǎn)數(shù)存在冗余現(xiàn)象,沒(méi)有針對(duì)宏塊自身特性,無(wú)一例外的對(duì)所有搜索點(diǎn)數(shù)進(jìn)行遍歷似的搜索計(jì)算,造成了編碼耗時(shí)。
發(fā)明內(nèi)容為了有效減少運(yùn)動(dòng)估計(jì)過(guò)程中搜索點(diǎn)數(shù),加快多參考幀中運(yùn)動(dòng)估計(jì)的計(jì)算速度以及保持、甚至提高運(yùn)動(dòng)搜索準(zhǔn)確度,本發(fā)明從被預(yù)測(cè)宏塊的運(yùn)動(dòng)特征著手,根據(jù)H.264/AVC標(biāo)準(zhǔn)幀間編碼中運(yùn)動(dòng)估計(jì)的特點(diǎn),針對(duì)整像素運(yùn)動(dòng)矢量搜索設(shè)計(jì)了高效、準(zhǔn)確的運(yùn)動(dòng)估計(jì)搜索匹配模板,制定出相應(yīng)的運(yùn)動(dòng)搜索優(yōu)先停止策略,提出了一種基于H.264/AVC的運(yùn)動(dòng)矢量特征分類的快速運(yùn)動(dòng)估計(jì)方法,旨在能夠以編碼效率方面較小的犧牲贏得計(jì)算復(fù)雜度的大幅降低。實(shí)驗(yàn)結(jié)果表明本發(fā)明方法能夠有效地加速運(yùn)動(dòng)估計(jì)搜索過(guò)程,減少計(jì)算量,同時(shí)可以保持原H.264標(biāo)準(zhǔn)算法中較低的編碼碼率和較好的重構(gòu)視頻圖像質(zhì)量,實(shí)現(xiàn)了計(jì)算復(fù)雜度和運(yùn)動(dòng)估計(jì)編碼效率的雙贏。本發(fā)明具體技術(shù)方案為基于宏塊特征的快速運(yùn)動(dòng)估計(jì)視頻編碼方法,根據(jù)當(dāng)前預(yù)測(cè)宏塊的特征和幀間預(yù)測(cè)編碼模式設(shè)計(jì)運(yùn)動(dòng)估計(jì)搜索模板和動(dòng)態(tài)的快速搜索方法,依據(jù)當(dāng)前被預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度,結(jié)合幀間預(yù)測(cè)編碼模式的選擇結(jié)果,動(dòng)態(tài)的調(diào)整搜索范圍和自適應(yīng)的選擇相應(yīng)的運(yùn)動(dòng)估計(jì)搜索準(zhǔn)則,從而實(shí)現(xiàn)對(duì)幀間宏塊的快速運(yùn)動(dòng)估計(jì)預(yù)測(cè)編碼,其特征在于具體包括下述步驟步驟1提取當(dāng)前被預(yù)測(cè)宏塊的亮度分量值以當(dāng)前被預(yù)測(cè)宏塊的亮度信息為編碼對(duì)象,從當(dāng)前視頻幀中提取被預(yù)測(cè)宏塊的亮度分量信息;步驟2確定運(yùn)動(dòng)估計(jì)搜索模板,分配搜索點(diǎn)包含四層搜索,隨著搜索半徑的增力口,搜索范圍的擴(kuò)大,使每層的搜索點(diǎn)數(shù)逐步遞增由內(nèi)到外,每層上的搜索點(diǎn)數(shù)依次為8,8,12,16;步驟3確定高準(zhǔn)確率的初始搜索點(diǎn)采用拉格朗日率失真優(yōu)化(RDO-RateDistortionOptimization)函數(shù),作為運(yùn)動(dòng)估計(jì)判決依據(jù),選擇率失真意義上最佳的匹配預(yù)測(cè)塊和最優(yōu)運(yùn)動(dòng)矢量,使得運(yùn)動(dòng)矢量和殘差編碼的比特分配最小;利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)運(yùn)動(dòng)矢量問(wèn)題可描述為<formula>formulaseeoriginaldocumentpage9</formula>(1)(1)式中Jm。ti。n為當(dāng)前預(yù)測(cè)的運(yùn)動(dòng)矢量的率失真代價(jià)值(RDcostm。ti。n);s為當(dāng)前宏塊像素值;mv是當(dāng)前矢量,pred為預(yù)測(cè)矢量;ref為選擇的參考幀;Href,mv)為參考宏塊的像素值;R是運(yùn)動(dòng)矢量進(jìn)行差分編碼消耗的比特?cái)?shù),包括運(yùn)動(dòng)矢量與其預(yù)測(cè)值的差值的編碼比特?cái)?shù)和參考幀的編碼比特?cái)?shù);Am。ti。n為拉格朗日乘子;SAD(Sumofabsolutedifference)為當(dāng)前塊與參考?jí)K像素之間的絕對(duì)誤差和;<formula>formulaseeoriginaldocumentpage9</formula>(2)公式(2)中&和化分別表示塊的水平像素?cái)?shù)和垂直像素?cái)?shù),根據(jù)不同的幀間預(yù)測(cè)模式,其取值可為16,8,4;s(x,y)為當(dāng)前宏塊像素值;r(x,y)為參考宏塊的像素值,mx和my分別表示水平和垂直方向的位移量;利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)模式的問(wèn)題可表述為Jmode(s,c,MODE|λmode)=SSD(s,c,MODE|QP)+λmodeXR(s,c,MODE|QP)(3)公式(3)中,MODE表示當(dāng)前宏塊的一種幀間編碼模式;Jm。de(s,c,MODEλ_J表示MODE模式下的率失真代價(jià)值(RDcostnrode);s為原始的視頻信號(hào);c為采用MODE模式編碼后的重構(gòu)視頻信號(hào);λm。de*拉格朗日乘子;R(s,c,MODEIQP)是與模式和量化參數(shù)有關(guān)的包括宏塊頭信息、運(yùn)動(dòng)矢量和所有DCT塊信息的總的二進(jìn)制位數(shù),它是通過(guò)對(duì)塊進(jìn)行實(shí)際的編碼后獲得的,所以其運(yùn)算量較大;QP是編碼量化步長(zhǎng);SSD(s,c,MODE)(SumofSquareDifference)為原始信號(hào)與重構(gòu)信號(hào)之間的平方差值和,即<formula>formulaseeoriginaldocumentpage9</formula><formula>formulaseeoriginaldocumentpage9</formula><formula>formulaseeoriginaldocumentpage9</formula>公式(4)式中=B1和B2分別表示塊的水平像素?cái)?shù)和垂直像素?cái)?shù),其取值可為16,8,4;SY[x,y]表示源宏塊亮度信息的取值,Cy[x,y,MODE|QP]表示重建宏塊的亮度信息的取值A(chǔ)u,Sv和Cu,Cv分別表示相應(yīng)的色差信息的取值;具體包括以下步驟步驟3.1利用三種預(yù)測(cè)編碼模式選取最佳的運(yùn)動(dòng)矢量(MotionVector,MV),即基于空間域的中值預(yù)測(cè)MVpraispa。e;基于H.264標(biāo)準(zhǔn)采用的運(yùn)動(dòng)估計(jì)多尺寸宏塊劃分特點(diǎn)的上層預(yù)測(cè)MVpreduplayw;基于時(shí)間域的參考幀運(yùn)動(dòng)矢量預(yù)測(cè)MVpreturf;(a)MVpralspace中值預(yù)測(cè),利用空間相關(guān)性,取已求出的當(dāng)前幀的左、上、右上臨塊的運(yùn)動(dòng)矢量的中間值;(b)MVpreduplayer上層預(yù)測(cè),利用H.264運(yùn)動(dòng)估計(jì)多尺寸宏塊劃分特點(diǎn),包含模式1(16X16),模式2(16X8),模式3(8X16),模式4(8X8),模式5(8X4),模式6(4X8),模式7(4X4)的分級(jí)搜索順序,取已求出的同位置、上一級(jí)(uplayer)、大一倍塊的運(yùn)動(dòng)矢量;(C)MVpralref時(shí)間域預(yù)測(cè),利用時(shí)間相關(guān)性,根據(jù)已求出的前一幀參考幀中的當(dāng)前塊的運(yùn)動(dòng)矢量MVref按比例進(jìn)行預(yù)測(cè)ref=MFre,χ其中當(dāng)前宏塊所在幀的時(shí)-t-t-1間為t,預(yù)測(cè)宏塊所在參考幀的時(shí)間為t’;步驟3.2相應(yīng)的SAD值與預(yù)測(cè)的運(yùn)動(dòng)矢量MV具有很強(qiáng)的相關(guān)性;將MVraisp_,所指向點(diǎn)的率失真代價(jià)值分別記為precLspacejnincost,pred_uplayer_mincost,pred_ref_mincost,將具有最小率失真代價(jià)值的運(yùn)動(dòng)矢量指向點(diǎn)作為初始搜索點(diǎn),該點(diǎn)將作為下一步非對(duì)稱十字形搜索的初始搜索中心點(diǎn);步驟4非對(duì)稱十字形搜索非對(duì)稱十字搜索水平搜索范圍設(shè)為W,垂直搜索范圍為水平搜索范圍的一半,即為W/2,相鄰搜索點(diǎn)之間間距取兩個(gè)像素單位,則水平方向的搜索點(diǎn)數(shù)為W/2;垂直方向的搜索點(diǎn)數(shù)為W/4;在非對(duì)稱十字形搜索中共有W/2+W/4=3W/4個(gè)候選搜索點(diǎn);本步驟在這3W/4個(gè)候選搜索點(diǎn)中確定的最佳匹配點(diǎn)作為下一步非均勻多層六邊形格網(wǎng)格搜索的初始搜索中心點(diǎn);步驟5判斷當(dāng)前宏塊運(yùn)動(dòng)劇烈程度將當(dāng)前預(yù)測(cè)宏塊按劇烈程度分為三個(gè)檔次,即運(yùn)動(dòng)劇烈程度較低、運(yùn)動(dòng)劇烈程度中等、運(yùn)動(dòng)劇烈程度較高;當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)劇烈程度的判斷方法如下步驟5.1:根據(jù)公式(1)計(jì)算當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)矢量的率失真代價(jià)值記為RDcostm。ti。n,根據(jù)公式(3)計(jì)算當(dāng)前預(yù)測(cè)宏塊在mode模式下的率失真代值記為RDcostm。de,從中選取具有最小預(yù)測(cè)的率失真代價(jià)值,記為RD_mincost,即RD_mincost=min{Pred_space_mincost,Pred_uplayer_mincost,Pred_ref_mincost};步驟5.2依據(jù)初始搜索點(diǎn)選擇的運(yùn)動(dòng)矢量預(yù)測(cè)方式確定predjnincost的值如果在步驟3中確定的初始搜索點(diǎn)采用時(shí)間域預(yù)測(cè)方式的運(yùn)動(dòng)矢量,則pred_mincost=pred—ref—mincost;如果在步驟3中確定的初始搜索點(diǎn)沒(méi)有采用時(shí)間預(yù)測(cè)方式的運(yùn)動(dòng)矢量,再分為兩類情況若當(dāng)前運(yùn)動(dòng)估計(jì)預(yù)測(cè)宏塊的幀間編碼模式選擇的是16X16大尺寸模式,則pred_mincost=pred—space—mincost;若當(dāng)前運(yùn)動(dòng)估計(jì)預(yù)測(cè)宏塊的幀間編碼模式選擇的不是16X16大尺寸模式,則pred—mincost=pred—uplayer—mincost;步驟5.3計(jì)算運(yùn)動(dòng)劇烈程度調(diào)整因子Y,δ<formula>formulaseeoriginaldocumentpage10</formula>(5)<formula>formulaseeoriginaldocumentpage10</formula>公式(5)中Bsize[blocktype]表示當(dāng)前預(yù)測(cè)宏塊的大小,其取值可為16,8,4;矩陣αEadiil[blocktype]依據(jù)7種幀間宏塊劃分模式,其取值定義為αEadiil[l]=-0.23;αEadiil[2]=_0·23;αEadiil[3]=_0·23;αEadiil[4]=-0·25;αEadiil[5]=_0·27;αEadiil[6]=_0·27;αEadiil[7]=_0·28;矩陣αEadii2[blocktype]依據(jù)7種幀間宏塊劃分模式,的取值定義為αEadii2[l]=-2.39;αEadii2[2]=_2·40;αEadii2[3]=_2·40;αEadii2[4]=-2.41;αEadii2[5]=_2·45;αEadii2[6]=_2·45;αEadii2[7]=_2·48;步驟5.4當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)劇烈程度的判斷當(dāng)RDmincost<(1+y)Xpred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度較低;當(dāng)(1+Y)Xpred_mincost<RD_mincost<(1+δ)Xpred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度中等;當(dāng)RDjnincost>(1+δ)Xpred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度較高;步驟6進(jìn)行5X5像素全搜索在步驟5已經(jīng)判斷出當(dāng)前搜索內(nèi)容劇烈程度之后,只在搜索內(nèi)容劇烈程度較低時(shí)才以當(dāng)前預(yù)測(cè)點(diǎn)為中心,在其周圍的4X4區(qū)域進(jìn)行5X5個(gè)搜索點(diǎn)數(shù)的全搜索;當(dāng)運(yùn)動(dòng)劇烈程度為中等或者較劇烈時(shí)則放棄5X5全搜索,直接進(jìn)入步驟7;步驟7非均勻多層六邊形網(wǎng)格搜索依據(jù)當(dāng)前宏塊的運(yùn)動(dòng)劇烈程度動(dòng)態(tài)選擇運(yùn)動(dòng)估計(jì)搜索層數(shù)采用非均勻六邊形搜索作為基本搜索模式,搜索層數(shù)最多為4層;運(yùn)動(dòng)劇烈程度較低時(shí),只進(jìn)行2層非均勻六邊形網(wǎng)格搜索,每層的搜索點(diǎn)數(shù)為8;運(yùn)動(dòng)劇烈程度中等時(shí),進(jìn)行3層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的搜索點(diǎn)數(shù)依次為8,8,12;運(yùn)動(dòng)劇烈程度為較高時(shí),才進(jìn)行4層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的搜索點(diǎn)數(shù)依次為8,8,12,16;本步驟在非均勻六邊形網(wǎng)格搜索中確定的最佳匹配點(diǎn)作為步驟8擴(kuò)展對(duì)稱六邊形搜索的初始搜索中心點(diǎn);步驟8擴(kuò)展對(duì)稱六邊形搜索以步驟7確定的最佳匹配點(diǎn)作為本步驟的初始搜索中心點(diǎn);這里采用兩個(gè)階段搜索方式第一階段先以步長(zhǎng)為2個(gè)像素進(jìn)行對(duì)稱六邊形六點(diǎn)搜索,比較中心點(diǎn)和6個(gè)對(duì)角點(diǎn)的率失真代價(jià)值,依據(jù)率失真準(zhǔn)則以率失真代價(jià)值最小點(diǎn)作為下一次搜索的中心點(diǎn),直到中心點(diǎn)的率失真代價(jià)值變?yōu)樽钚↑c(diǎn);第二階段再減小步長(zhǎng),以步長(zhǎng)為1個(gè)像素進(jìn)行菱形四點(diǎn)搜索,重復(fù)第一階段的搜索過(guò)程,依據(jù)率失真準(zhǔn)則直到中心點(diǎn)的率失真代價(jià)值為最小點(diǎn)時(shí)終止搜索,該點(diǎn)即為最終確定的整像素搜索最佳匹配點(diǎn);步驟9輸出運(yùn)動(dòng)估計(jì)編碼信息到Out.264文件中,并且記錄運(yùn)動(dòng)估計(jì)時(shí)間(TotalMEtimeforsequence)、碼率(Bitrate)、峰值信噪比信息(PSNR),以評(píng)價(jià)編碼算法質(zhì)量。本發(fā)明方法的快速運(yùn)動(dòng)估計(jì)搜索核心算法稱為NUMHexagonS(New-UMHexagonS),便于與UMHexagonS算法進(jìn)行區(qū)分與比較。NUMHexagonS中主要包含以下技術(shù)—、設(shè)計(jì)更簡(jiǎn)潔的搜索模板1.1設(shè)計(jì)原理一UMHexagonS算法在步驟st印3-2以當(dāng)前預(yù)測(cè)起始點(diǎn)為中心,進(jìn)行多層非均勻六邊形格網(wǎng)格搜索時(shí),始終是采用每層均有16個(gè)搜索點(diǎn)數(shù)的非均勻六邊形搜索模板,如圖3中的step3-2所示。這樣固定每層分布的搜索點(diǎn)數(shù)的模板易造成搜索點(diǎn)數(shù)的分配不合理。試想,如果位于最內(nèi)層的半徑最小的第一層的非均勻六邊形搜索模板上分配16個(gè)搜索點(diǎn)數(shù)沒(méi)有浪費(fèi)的話,那么隨著搜索半徑的增加,逐步向外擴(kuò)展的第二層、第三層、第四層的非均勻六邊形搜索模板上仍然分配16個(gè)搜索點(diǎn)數(shù),必然出現(xiàn)搜索點(diǎn)數(shù)不夠的現(xiàn)象;相反,如果位于最外層的半徑最大的第四層的非均勻六邊形搜索模板上分配16個(gè)搜索點(diǎn)數(shù)足夠滿足搜索要求的話,那么位于最內(nèi)層的半徑最小的第一層非均勻六邊形搜索模板上仍然分配16個(gè)搜索點(diǎn)數(shù)必然存在搜索點(diǎn)數(shù)浪費(fèi)的現(xiàn)象。一個(gè)更加優(yōu)秀的搜索模板,應(yīng)該是能夠隨著搜索半徑的增加,即搜索范圍的擴(kuò)大,分布在每層非均勻六邊形搜索模板上的搜索點(diǎn)數(shù)應(yīng)隨之遞增,而不是采取固定搜索點(diǎn)數(shù)的搜索模板。1.2實(shí)施技術(shù)將每層固定16個(gè)搜索點(diǎn)數(shù)的非均勻六邊形格點(diǎn)搜索改為可根據(jù)半徑自動(dòng)調(diào)整搜索點(diǎn)數(shù)的非均勻六邊形格點(diǎn)搜索,如圖5所示。因?yàn)樵璘MHexagonS算法本身具有起點(diǎn)預(yù)測(cè)準(zhǔn)確的特點(diǎn),因此最佳匹配點(diǎn)在當(dāng)前預(yù)測(cè)點(diǎn)附近的可能性較大,為了保持原有算法的預(yù)測(cè)精度,在位于內(nèi)層的第一層和第二層的非均勻六邊形搜索模板上分配8個(gè)點(diǎn)搜索點(diǎn),隨著搜索半徑的增加每層的搜索點(diǎn)數(shù)也會(huì)相應(yīng)增加,第三層非均勻六邊形分配12個(gè)搜索點(diǎn),直到第四層非均勻六邊形分配16個(gè)搜索點(diǎn)。大量實(shí)驗(yàn)證明本發(fā)明方法的搜索模板既能保證搜索的精度,又避免了不必要的搜索點(diǎn)數(shù)的浪費(fèi),節(jié)省了運(yùn)動(dòng)估計(jì)時(shí)間。二、根據(jù)宏塊特征自適應(yīng)的選擇搜索層數(shù)2.1設(shè)計(jì)原理二UMHexagonS算法一旦進(jìn)入步驟st印3_2進(jìn)行非均勻多層六邊形格網(wǎng)格搜索時(shí),不論當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)特別劇烈程度如何,都只能無(wú)一例外的完成全部4層的非均勻六邊形搜索之后才能轉(zhuǎn)到下一步搜索,如圖3所示。原算法中4層的非均勻六邊形搜索點(diǎn)數(shù)相當(dāng)可觀,共計(jì)4層X(jué)16個(gè)/層=64個(gè)搜索點(diǎn)。尤其對(duì)具有高準(zhǔn)確率的起點(diǎn)預(yù)測(cè)的UMHexagonS算法而言,開(kāi)始就找到最佳點(diǎn)的概率較大,所以對(duì)于均勻的運(yùn)動(dòng)劇烈程度較低區(qū)域浪費(fèi)在外層非均勻六邊形網(wǎng)格搜索上的點(diǎn)數(shù)是不必要的。如果能夠根據(jù)搜索內(nèi)容劇烈程度來(lái)確定每次進(jìn)行多層非均勻六邊形搜索時(shí)的搜索層數(shù)將大大節(jié)約搜索點(diǎn)數(shù),降低運(yùn)動(dòng)估計(jì)的計(jì)算復(fù)雜度,節(jié)省運(yùn)動(dòng)估計(jì)時(shí)間。2.2實(shí)施技術(shù)將層數(shù)為4的非均勻六邊形網(wǎng)格搜索改為搜索層數(shù)隨搜索內(nèi)容劇烈程度自適應(yīng)變化的非均勻六邊形網(wǎng)格搜索,動(dòng)態(tài)的選擇搜索層數(shù)。首先,判斷當(dāng)前預(yù)測(cè)宏塊的劇烈程度,將當(dāng)前宏塊的運(yùn)動(dòng)劇烈程度劃分為三個(gè)檔次,即劇烈程度較低、劇烈程度中等、劇烈程度較高。依據(jù)運(yùn)動(dòng)劇烈程度確定需要進(jìn)行的非均勻六邊形網(wǎng)格搜索的搜索層數(shù),如圖5所7J\ο當(dāng)宏塊的運(yùn)動(dòng)劇烈程度較低時(shí),只進(jìn)行第一層和第二層的兩層非均勻六邊形網(wǎng)格搜索,搜索點(diǎn)數(shù)為8+8=16個(gè);當(dāng)宏塊的運(yùn)動(dòng)劇烈程度中等時(shí),進(jìn)行搜索第一層到第三層的三層非均勻六邊形網(wǎng)格搜索,搜索點(diǎn)數(shù)為8+8+12=28個(gè);當(dāng)宏塊的運(yùn)動(dòng)劇烈程度較高時(shí),才進(jìn)行搜索第一層到第四層的四層非均勻六邊形網(wǎng)格搜索,搜索點(diǎn)數(shù)為8+8+12+16=44個(gè)。三、可選擇的5X5像素全搜索技術(shù)3.1設(shè)計(jì)原理三UMHexagonS算法在步驟St印3-1,以當(dāng)前預(yù)測(cè)起始點(diǎn)為中心,在其周圍4X4的區(qū)域內(nèi)進(jìn)行5X5個(gè)整像素的全搜索,如圖3St印3-1。St印3-1擁有25個(gè)搜索點(diǎn)數(shù),計(jì)算量顯然非常可觀。原UMHexagonS算法之所以進(jìn)行5X5全搜索是因?yàn)樵谶M(jìn)行了高準(zhǔn)確率的起點(diǎn)預(yù)測(cè)之后,當(dāng)前搜索點(diǎn)很可能就在最佳預(yù)測(cè)點(diǎn)附近,此時(shí)進(jìn)行5X5全搜索極有可能在5X5范圍內(nèi)找到最佳預(yù)測(cè)匹配點(diǎn)。但是在搜索內(nèi)容運(yùn)動(dòng)程度比較劇烈時(shí),最佳匹配點(diǎn)在當(dāng)前預(yù)測(cè)點(diǎn)附近的概率較低,此時(shí)再進(jìn)行5X5全搜索顯然不再適用于運(yùn)動(dòng)程度較劇烈的宏塊,反而造成了不必要的搜索點(diǎn)數(shù)的極大浪費(fèi)。如果能夠根據(jù)當(dāng)前搜索內(nèi)容的運(yùn)動(dòng)劇烈程度自適應(yīng)的選擇是否進(jìn)行5X5全搜索也將大大節(jié)約搜索點(diǎn)數(shù)。3.2實(shí)施技術(shù)在判斷出當(dāng)前搜索內(nèi)容運(yùn)動(dòng)劇烈程度之后,只在搜索內(nèi)容運(yùn)動(dòng)劇烈程度較低時(shí)才進(jìn)行5X5全搜索,然后再進(jìn)行多層次的非均勻六邊形網(wǎng)格搜索;當(dāng)運(yùn)動(dòng)劇烈程度為中等或者較劇烈時(shí)則放棄5X5全搜索,直接進(jìn)行多層次的非均勻六邊形網(wǎng)格搜索。本發(fā)明的技術(shù)思路特征為1.本發(fā)明延用H.264/AVC標(biāo)準(zhǔn)算法中的率失真準(zhǔn)則,選擇具有最優(yōu)意義的率失真代價(jià)值的運(yùn)動(dòng)矢量作為最優(yōu)的運(yùn)動(dòng)估計(jì)預(yù)測(cè)矢量。利用本發(fā)明中提及的三種優(yōu)化技術(shù),在保證碼率少許增加,運(yùn)動(dòng)估計(jì)精度和視頻質(zhì)量基本不變,維持原有碼流結(jié)構(gòu)的前提下,大幅度提高運(yùn)動(dòng)估計(jì)編碼速度。2.設(shè)計(jì)本發(fā)明方法的運(yùn)動(dòng)估計(jì)搜索模板,確定搜索模板每層當(dāng)中的搜索點(diǎn)數(shù),保證搜索點(diǎn)的合理分布。3.設(shè)計(jì)運(yùn)動(dòng)估計(jì)搜索方案,分為六個(gè)步驟,即第一步高準(zhǔn)確率的初始搜索點(diǎn)預(yù)測(cè);第二步非對(duì)稱十字形搜索;第三步計(jì)算當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度;第四步根據(jù)當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度,有選擇的進(jìn)行5X5像素全搜索;第五步根據(jù)當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度,進(jìn)行非均勻多層六邊形格網(wǎng)格搜索;第六步擴(kuò)展對(duì)稱六邊形搜索。綜上分析,通過(guò)以上三種技術(shù),本發(fā)明方法,簡(jiǎn)化了搜索模板(如圖6所示),有效的設(shè)計(jì)了搜索點(diǎn)數(shù)的合理分布,節(jié)省了運(yùn)動(dòng)估計(jì)搜索點(diǎn)數(shù),沿用了原標(biāo)準(zhǔn)方法起始點(diǎn)預(yù)測(cè)準(zhǔn)確的優(yōu)勢(shì),充分考慮了當(dāng)前預(yù)測(cè)宏塊的特征,不僅可以對(duì)運(yùn)動(dòng)程度較低的宏塊直接采用僅有2層的非均勻六邊形網(wǎng)格搜索,提前預(yù)判的方法實(shí)現(xiàn)快速預(yù)測(cè);同時(shí)又對(duì)運(yùn)動(dòng)程度較高的宏塊舍棄了5X5像素全搜索,保持原標(biāo)準(zhǔn)的4層非均勻六邊形網(wǎng)格搜索的方法。這樣充分考慮到所有的宏塊運(yùn)動(dòng)特征,根據(jù)其運(yùn)動(dòng)劇烈程度,動(dòng)態(tài)選擇搜索策略,既能夠保證了運(yùn)動(dòng)估計(jì)的準(zhǔn)確度和編碼后視頻質(zhì)量,嚴(yán)格控制碼率的增長(zhǎng),又能夠大幅提高運(yùn)動(dòng)估計(jì)編碼速度,節(jié)省了運(yùn)動(dòng)估計(jì)編碼時(shí)間。本發(fā)明具有以下有益效果大量實(shí)驗(yàn)統(tǒng)計(jì)數(shù)據(jù)結(jié)果表明,本發(fā)明方法與目前H264中最新采用的UMHexagonS方法相比,在保證運(yùn)動(dòng)估計(jì)準(zhǔn)確度的前提下,嚴(yán)格控制了碼率增加,保證了重建視頻圖像質(zhì)量基本不變,保持了原有碼流結(jié)構(gòu),有效地減少了搜索點(diǎn)數(shù),大大減少了運(yùn)動(dòng)估計(jì)耗時(shí),提高了幀間預(yù)測(cè)編碼速度。實(shí)現(xiàn)了對(duì)幀間宏塊的快速運(yùn)動(dòng)估計(jì)編碼。以下結(jié)合和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。圖1標(biāo)準(zhǔn)幀間算法預(yù)測(cè)方法中幀間宏塊劃分模式;圖2塊匹配運(yùn)動(dòng)估計(jì)示意圖;圖3十六個(gè)搜索點(diǎn)的非對(duì)稱六邊形搜索模板;圖4UMHeXag0nS非對(duì)稱十字交叉多層六邊形格網(wǎng)搜索算法示意圖;圖5本發(fā)明分層次的非均勻六邊形網(wǎng)格搜索模板;圖6本發(fā)明方法的運(yùn)動(dòng)估計(jì)搜索方法示意圖;圖7本發(fā)明方法的技術(shù)方案流程圖;圖8運(yùn)動(dòng)矢量中值預(yù)測(cè)示意圖;圖9運(yùn)動(dòng)矢量上層預(yù)測(cè)示意圖;圖10運(yùn)動(dòng)矢量時(shí)間域預(yù)測(cè)示意具體實(shí)施例方式為了檢驗(yàn)本發(fā)明提出方法的有效性,選擇了具有不同特點(diǎn)的測(cè)試序列,如運(yùn)動(dòng)較為劇烈的序列Coastguard和Forman;運(yùn)動(dòng)較為平緩的序列Akiyo,MissAmerica和MotherandDaughter;具有較多細(xì)節(jié)平滑運(yùn)動(dòng)的序列Mobile。并且從能夠代表視頻編碼方法優(yōu)劣的三個(gè)性能,即運(yùn)動(dòng)估計(jì)編碼時(shí)間、壓縮碼率和峰值信噪比,將本發(fā)明方法與H.264/AVC中采用的UMHexagonS運(yùn)動(dòng)估計(jì)編碼方法進(jìn)行了比較統(tǒng)計(jì)。在性能測(cè)試中,采用JVT公布的最新的編碼校驗(yàn)?zāi)P蚃M12.2,實(shí)驗(yàn)條件配置如下主機(jī)為P42.8CPU,512M內(nèi)存,編碼100幀,幀率30f/s碼流結(jié)構(gòu)為IPPP,即第一幀采用I幀編碼,其余的采用P幀編碼,量化系數(shù)QP設(shè)為28,熵編碼為CAVLC,5個(gè)參考幀。由于本方法是針對(duì)視頻序列中的亮度分量來(lái)完成的,在實(shí)際使用中先讀取一段YUV格式的視頻序列,提取其亮度分量信息值,編碼器調(diào)用本發(fā)明設(shè)計(jì)的幀間宏塊快速運(yùn)動(dòng)估計(jì)編碼模塊來(lái)完成具體的視頻壓縮編碼。具體實(shí)施中,在計(jì)算機(jī)中完成以下步驟第一步根據(jù)編碼器配置文件encoder,cfg讀入YUV格式的視頻序列,按照配置文件中的參數(shù)配置編碼器。如完成所需要視頻序列編碼的幀數(shù)FramesToBeEncoded;幀率FrameRate;原始視頻文件的長(zhǎng)寬尺寸SourceWidth,SourceHeight;輸出文件名稱OutputFile;量化步長(zhǎng)QP值QPISlice,QPPSlice;運(yùn)動(dòng)估計(jì)搜索范圍SearchRange;運(yùn)動(dòng)估計(jì)搜索模式類型SearchMode;允許的參考幀數(shù)NumberReferenceFrames;激活率失真代價(jià)函數(shù)RDOptimization;熵編碼類型SymbolMode等參數(shù)配置;第二步從原始YUV格式的視頻文件中讀取出視頻序列的亮度分量值,按順序取出需要編碼的宏塊的亮度分量值;第三步確定初始搜索點(diǎn)對(duì)當(dāng)前預(yù)測(cè)宏塊作中值預(yù)測(cè)MVpredspaee,上層預(yù)測(cè)MVpmluplayer和時(shí)間域預(yù)測(cè)MVpred_ref°中值預(yù)測(cè)MVpralspa。e:利用均值預(yù)測(cè)器,用已求出的、位于當(dāng)前預(yù)測(cè)宏塊的左、上、右上鄰塊的運(yùn)動(dòng)矢量(MV)的中間值作為中值預(yù)測(cè)矢量MVpralspare;中值預(yù)測(cè)是一種常用的技術(shù),它的理論依據(jù)在于塊與塊之間存在很大的空間相關(guān)性,因此當(dāng)前預(yù)測(cè)宏塊的最佳運(yùn)動(dòng)矢量可以由已知的周圍鄰塊的運(yùn)動(dòng)矢量預(yù)測(cè)得到。如圖8所示,E為當(dāng)前預(yù)測(cè)宏塊,其左邊相鄰宏塊為A,上邊相鄰宏塊為B,右上相鄰宏塊為C,中值預(yù)測(cè)的計(jì)算式如下MVpredspace=median(MV_A,MV_B,MV_C)(9)當(dāng)塊A在圖片外或者GOB(片組)邊界外的時(shí)候,MVpredspaee用(0,0)替代;當(dāng)塊C在圖片外或者GOB(片組)邊界外的時(shí)候,MVpredspace用塊D的運(yùn)動(dòng)向量替代,即MVpralsp_MV_D0上層預(yù)測(cè)MVpreduplayCT利用H.264/AVC標(biāo)準(zhǔn)中幀間運(yùn)動(dòng)估計(jì)多尺寸宏塊劃分的特點(diǎn),采用從模式1(16X16),模式2(16X8),模式3(8X16),模式4(8X8),模式5(8X4),模式6(4X8),直到模式7(4X4)的分級(jí)搜索順序從取已求出的、同位置、上一級(jí)(uplayer)、大一倍尺寸塊的運(yùn)動(dòng)矢量,如圖9所示;(例如,模式5(mode5)(8X4)或模式6(mode6)(4X8)是模式7(mode7)(4X4)的上層,模式4(mode4)(8X8)是模式5(mode5)(8X4)或模式6(mode6)(4X8)的上層)。時(shí)間域預(yù)測(cè)MVprauef:利用時(shí)間相關(guān)性,取已求出的、前一參考幀中當(dāng)前塊的運(yùn)動(dòng)矢量按比例進(jìn)行預(yù)測(cè)。由于視頻序列的連續(xù)性,當(dāng)前預(yù)測(cè)宏塊在不同的參考幀中的運(yùn)動(dòng)矢量也具有一定的相關(guān)性。如圖10所示假設(shè)當(dāng)前預(yù)測(cè)宏塊所在幀的時(shí)間為t,其前面參考幀所在的時(shí)間為t’,若在其前面參考幀中搜索當(dāng)前塊的最佳匹配塊時(shí),可以利用當(dāng)前預(yù)測(cè)宏塊在時(shí)間為t’+i的參考幀中的運(yùn)動(dòng)矢量來(lái)估測(cè)出當(dāng)前預(yù)測(cè)宏塊在時(shí)間為t’的參考幀中的運(yùn)動(dòng)矢量MVpred_ref=MVrefX(10)類似運(yùn)動(dòng)矢量MV,相應(yīng)的SAD值也具有很強(qiáng)的相關(guān)性。將這三種運(yùn)動(dòng)矢量預(yù)測(cè)模式所指向點(diǎn)的率失真代價(jià)值分另1J記為Pred_space_mincost,Pred_uplayer_mincost,Pred_refjiiincost,將具有最小率失真代價(jià)值的運(yùn)動(dòng)矢量指向點(diǎn)作為初始搜索點(diǎn),確定初始搜索起始點(diǎn)位置;本發(fā)明方法保持了原H.264標(biāo)準(zhǔn)采用的UMHexagonS運(yùn)動(dòng)估計(jì)算法具有高準(zhǔn)確率的起始點(diǎn)預(yù)測(cè)的特點(diǎn),使之更加接近最佳的運(yùn)動(dòng)估計(jì)匹配點(diǎn)位置;本步驟的最佳匹配點(diǎn)將作為下一步非對(duì)稱十字形搜索的初始搜索中心點(diǎn);第四步進(jìn)行非對(duì)稱十字形搜索;基于在大多數(shù)自然圖像序列中,水平運(yùn)動(dòng)劇烈程度一般要比垂直方向大得多的特征。本實(shí)施過(guò)程中,取W=32,即開(kāi)一個(gè)大小為32X16的十字形搜索窗,相鄰搜索點(diǎn)之間間距取兩個(gè)像素單位,水平方向的搜索范圍是32,搜索點(diǎn)數(shù)為16;垂直方向的搜索范圍是16,搜索點(diǎn)數(shù)為8;在非對(duì)稱十字形搜索中共有16+8=24個(gè)候選搜索點(diǎn);根據(jù)率失真準(zhǔn)則,利用公式(3)對(duì)24個(gè)搜索點(diǎn)分別計(jì)算其運(yùn)動(dòng)矢量的率失真代價(jià)值,從中選取率失真代價(jià)值最小的點(diǎn)作為本步驟的最佳匹配點(diǎn),將其作為下一步非均勻多層六邊形網(wǎng)格搜索步驟中的初始搜索中心點(diǎn);第五步判斷當(dāng)前宏塊的劇烈程度依據(jù)率失真代價(jià)準(zhǔn)則將當(dāng)前預(yù)測(cè)宏塊按劇烈程度分為三個(gè)檔次,即運(yùn)動(dòng)劇烈程度較低、運(yùn)動(dòng)劇烈程度中等、運(yùn)動(dòng)劇烈程度較高;當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)劇烈程度的判斷方法如下根據(jù)公式(3)計(jì)算當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)矢量的率失真代價(jià)值RDcostm。ti。n,根據(jù)公式(5)計(jì)算當(dāng)前預(yù)測(cè)宏塊在mode模式下的率失真代值RDcostm。ti。n,從中選取具有最小預(yù)測(cè)的率失真代價(jià)值,記為RDjiiincost,利用公式(7)判斷當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度在公式(7)中定義的運(yùn)動(dòng)劇烈程度調(diào)整因子Y,δ,涉及到的矩陣變量αKadiil,其附值如下AlphaRadiil[1]=_0·23f;AlphaRadiil[2]=_0·23f;AlphaRadiil[3]=_0·23f;AlphaRadiil[4]=-0.25f;AlphaRadiil[5]=_0·27f;AlphaRadiil[6]=_0·27f;AlphaRadiil[7]=_0·28f;涉及到的矩陣變量αKadii2,其附值如下AlphaRadii2[l]=-2.39f;AlphaRadii2[2]=_2·40f;AlphaRadii2[3]=_2·40f;AlphaRadii2[4]=_2·41f;AlphaRadii2[5]=_2·45f;AlphaRadii2[6]=_2·45f;第六步進(jìn)行5X5像素全搜索本發(fā)明方法在第五步中已經(jīng)判斷出當(dāng)前搜索內(nèi)容劇烈程度之后,只在搜索內(nèi)容劇烈程度較低時(shí)才以當(dāng)前預(yù)測(cè)點(diǎn)為中心,在其周圍的4X4區(qū)域進(jìn)行5X5個(gè)搜索點(diǎn)數(shù)的全搜索;當(dāng)運(yùn)動(dòng)劇烈程度為中等或者較劇烈時(shí)則放棄5X5全搜索,直接進(jìn)入第七步;第七步進(jìn)行非均勻多層六邊形網(wǎng)格搜索;依據(jù)當(dāng)前宏塊的運(yùn)動(dòng)劇烈程度動(dòng)態(tài)選擇運(yùn)動(dòng)估計(jì)搜索層數(shù)在本發(fā)明中采用非均勻六邊形搜索作為基本搜索模式,搜索層數(shù)最多為4層;根據(jù)第六步中判斷出的當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度,確定搜索層數(shù)以原算法中非對(duì)稱六邊形網(wǎng)格搜索的最內(nèi)層,即第一層搜索點(diǎn)坐標(biāo)為例,第一層上的16個(gè)搜索點(diǎn)在水平和垂直方向的坐標(biāo)設(shè)置為staticconstintBig_Hexagon_x[16]={0,-2,-4,-4,-4,-4,-4,-2,0,2,4,4,4,4,4,2};staticconstintBig_Hexagon_y[16]={4,3,2,1,0,一1,一2,一3,一4,一3,一2,一1,0,1,2,3};若當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度較低,則只進(jìn)行最內(nèi)2層非均勻六邊形網(wǎng)格搜索,每層的搜索點(diǎn)數(shù)為8,共計(jì)16個(gè)搜索點(diǎn),較原算法節(jié)省48個(gè)搜索點(diǎn);新多層次非對(duì)稱六邊形網(wǎng)格搜索模板,第一層上的8個(gè)搜索點(diǎn)水平和垂直方向坐標(biāo)設(shè)置為staticintBig_Hexagon_xl[8]={0,-4,-4,-4,0,4,4,4};staticintBigHexagon_yl[8]={4,2,0,-2,-4,-2,0,2};第二層上的8個(gè)搜索點(diǎn)水平和垂直方向坐標(biāo)設(shè)置為staticintBig_Hexagon_x2[8]={0,-4,-4,-4,0,4,4,4};staticintBig_Hexagon_y2[8]={4,2,0,-2,-4,-2,0,2};若當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度中等,則進(jìn)行由內(nèi)到外的3層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的的搜索點(diǎn)數(shù)依次為8,8,12,共計(jì)28個(gè)搜索點(diǎn);較原算法節(jié)省36個(gè)搜索占.^w\第三層上的12個(gè)搜索點(diǎn)水平和垂直方向坐標(biāo)設(shè)置為staticintBig_Hexagon_x3[12]={0,-4,-4,-4,-4,-4,0,4,4,4,4,4};staticintBig_Hexagon_y3[12]={4,2,1,0,-1,-2,-4,-2,-1,0,1,2};若當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度為較高,則進(jìn)行4層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的的搜索點(diǎn)數(shù)依次為8,8,12,16,共計(jì)44個(gè)搜索點(diǎn);較原算法節(jié)省20個(gè)搜索點(diǎn);第四層上的16個(gè)搜索點(diǎn)水平和垂直方向坐標(biāo)設(shè)置為staticintBig_Hexagon_x4[16]={0,_2,_4,_4,_4,_4,_4,_2,0,2,4,4,4,4,4,2};staticintBig_Hexagon_y4[16]={4,3,2,1,0,-1,-2,-3,-4,-3,-2,-1,0,1,2,3};本步驟在非對(duì)稱六邊形網(wǎng)格搜索中確定的最佳匹配點(diǎn)作為下一步擴(kuò)展對(duì)稱六邊形搜索的初始搜索中心點(diǎn);第八步擴(kuò)展對(duì)稱六邊形搜索,以上一步確定的最佳匹配點(diǎn)作為本步驟的初始搜索中心點(diǎn);分為兩個(gè)搜索階段第一階段先以步長(zhǎng)為2個(gè)像素點(diǎn)進(jìn)行對(duì)稱六邊形六點(diǎn)搜索,比較中心點(diǎn)和6個(gè)對(duì)角點(diǎn)的率失真代價(jià)值,依據(jù)率失真準(zhǔn)則以率失真代價(jià)值最小點(diǎn)作為下一次搜索的中心點(diǎn),直到中心點(diǎn)的率失真代價(jià)值變?yōu)樽钚↑c(diǎn);第二階段再減小步長(zhǎng),以步長(zhǎng)為1個(gè)像素點(diǎn)進(jìn)行菱形模塊的搜索,重復(fù)第一階段的搜.索過(guò)程,依據(jù)率失真準(zhǔn)則直到中心點(diǎn)的率失真代價(jià)值為最小點(diǎn)時(shí)終止搜索;該點(diǎn)即為本發(fā)明方法確定的整像素搜索最佳匹配點(diǎn);菱形模塊的搜索點(diǎn)水平和垂直方向的坐標(biāo)設(shè)置為staticintDiamond_x[4]={-1,0,1,0};staticintDiamond_y[4]={0,1,0,_1};第九步結(jié)束運(yùn)動(dòng)估計(jì)搜索,保存相關(guān)的運(yùn)動(dòng)估計(jì)編碼信息到輸出文件out.264中,并輸出編碼后的碼流。實(shí)驗(yàn)結(jié)果如表1。從表1中可以看出,本發(fā)明的方法與H.264/AVC標(biāo)準(zhǔn)采用的UMHexagonS運(yùn)動(dòng)估計(jì)編碼方法相比較,峰值信噪比略有增加,平均增加0.007dB,視頻質(zhì)量沒(méi)有損失;嚴(yán)格控制了碼率,平均增加0.29%,保持了原標(biāo)準(zhǔn)算法高壓縮比的優(yōu)越性能;大大縮短了運(yùn)動(dòng)估計(jì)編碼時(shí)間,平均節(jié)省運(yùn)動(dòng)估計(jì)編碼時(shí)間18.46%。實(shí)驗(yàn)統(tǒng)計(jì)數(shù)據(jù)有效地驗(yàn)證了本發(fā)明的有效性。本發(fā)明方法具有良好的可移植性,可與其他快速視頻編碼方法(如幀間模式選擇方法等)相結(jié)合,共同提高視頻編碼速度。表1.本發(fā)明New-UMHexagonS算法與UMHexagonS算法運(yùn)動(dòng)估計(jì)編碼性能比較<table>tableseeoriginaldocumentpage18</column></row><table>Coastguard32.678245.6634.0125.648245.1634.02-21.51%-0.20%+0.01Forman24.251131.5036.4320.198131.8736.43-16.71%+0.28%-Akiyo10.39729.5338.288.69029.4538.28-16.42%-0.27%-Miss1109932.1640.139.00732.4840.13-18.85%+0.99%-“America__________yothy&14.47246.8837.4012.08447.1137.43-16.50%+0.49%+0,03Daughter___________Mobile27.861420.0133.3423.069421.8333.34-20.77%+0.43%-平均值"-”表示減少,"+”表示增加-18.46%+0.29%+0.00權(quán)利要求基于宏塊特征的快速運(yùn)動(dòng)估計(jì)視頻編碼方法,根據(jù)當(dāng)前預(yù)測(cè)宏塊的特征和幀間預(yù)測(cè)編碼模式設(shè)計(jì)運(yùn)動(dòng)估計(jì)搜索模板和動(dòng)態(tài)的快速搜索方法,依據(jù)當(dāng)前被預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度,結(jié)合幀間預(yù)測(cè)編碼模式的選擇結(jié)果,動(dòng)態(tài)的調(diào)整搜索范圍和自適應(yīng)的選擇相應(yīng)的運(yùn)動(dòng)估計(jì)搜索準(zhǔn)則,從而實(shí)現(xiàn)對(duì)幀間宏塊的快速運(yùn)動(dòng)估計(jì)預(yù)測(cè)編碼,其特征在于具體包括下述步驟步驟1提取當(dāng)前被預(yù)測(cè)宏塊的亮度分量值以當(dāng)前被預(yù)測(cè)宏塊的亮度信息為編碼對(duì)象,從當(dāng)前視頻幀中提取被預(yù)測(cè)宏塊的亮度分量信息;步驟2確定運(yùn)動(dòng)估計(jì)搜索模板,分配搜索點(diǎn)包含四層搜索,隨著搜索半徑的增加,搜索范圍的擴(kuò)大,使每層的搜索點(diǎn)數(shù)逐步遞增由內(nèi)到外,每層上的搜索點(diǎn)數(shù)依次為8,8,12,16;步驟3確定高準(zhǔn)確率的初始搜索點(diǎn)采用拉格朗日率失真優(yōu)化函數(shù),作為運(yùn)動(dòng)估計(jì)判決依據(jù),選擇率失真意義上最佳的匹配預(yù)測(cè)塊和最優(yōu)運(yùn)動(dòng)矢量,使得運(yùn)動(dòng)矢量和殘差編碼的比特分配最??;利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)運(yùn)動(dòng)矢量問(wèn)題可描述為Jmotion(mv,ref|λmotin)=SAD[s,r(ref,mv)]+λmotin[R(mv-pred)+R(ref)](1)(1)式中Jmotion為當(dāng)前預(yù)測(cè)的運(yùn)動(dòng)矢量的率失真代價(jià)值(RDcostmotion);s為當(dāng)前宏塊像素值;mv是當(dāng)前矢量,pred為預(yù)測(cè)矢量;ref為選擇的參考幀;r(ref,mv)為參考宏塊的像素值;R是運(yùn)動(dòng)矢量進(jìn)行差分編碼消耗的比特?cái)?shù),包括運(yùn)動(dòng)矢量與其預(yù)測(cè)值的差值的編碼比特?cái)?shù)和參考幀的編碼比特?cái)?shù);λmotion為拉格朗日乘子;SAD為當(dāng)前塊與參考?jí)K像素之間的絕對(duì)誤差和;<mrow><mi>SAD</mi><mo>[</mo><mi>s</mi><mo>,</mo><mi>r</mi><mrow><mo>(</mo><mi>ref</mi><mo>,</mo><mi>mv</mi><mo>)</mo></mrow><mo>]</mo><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>B</mi><mn>1</mn></msub></munderover><munderover><mi>Σ</mi><mrow><mi>y</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>B</mi><mn>2</mn></msub></munderover><mo>|</mo><mi>s</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mi>r</mi><mrow><mo>(</mo><mi>x</mi><mo>-</mo><msub><mi>m</mi><mi>x</mi></msub><mo>,</mo><mi>y</mi><msub><mrow><mo>-</mo><mi>m</mi></mrow><mi>y</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>公式(2)中B1和B2分別表示塊的水平像素?cái)?shù)和垂直像素?cái)?shù),根據(jù)不同的幀間預(yù)測(cè)模式,其取值可為16,8,4;s(x,y)為當(dāng)前宏塊像素值;r(x,y)為參考宏塊的像素值,mx和my分別表示水平和垂直方向的位移量;利用拉格朗日率失真準(zhǔn)則選擇最優(yōu)模式的問(wèn)題可表述為Jmode(s,c,MODE|λmode)=SSD(s,c,MODE|QP)+λmode×R(s,c,MODE|QP)(3)公式(3)中,MODE表示當(dāng)前宏塊的一種幀間編碼模式;Jmode(s,c,MODE|λmoode)表示MODE模式下的率失真代價(jià)值(RDcostmode);s為原始的視頻信號(hào);c為采用MODE模式編碼后的重構(gòu)視頻信號(hào);λmode為拉格朗日乘子;R(s,c,MODE|QP)是與模式和量化參數(shù)有關(guān)的包括宏塊頭信息、運(yùn)動(dòng)矢量和所有DCT塊信息的總的二進(jìn)制位數(shù),它是通過(guò)對(duì)塊進(jìn)行實(shí)際的編碼后獲得的,所以其運(yùn)算量較大;QP是編碼量化步長(zhǎng);SSD(s,c,MODDE)為原始信號(hào)與重構(gòu)信號(hào)之間的平方差值和,即<mrow><mi>SSD</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>MODE</mi><mo>|</mo><mi>QP</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>B</mi><mn>1</mn></msub><mo>,</mo><msub><mi>B</mi><mn>2</mn></msub></mrow></munderover><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>Y</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>]</mo><mo>-</mo><msub><mi>C</mi><mi>Y</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>MPDE</mi><mo>|</mo><mi>QP</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>B</mi><mn>1</mn></msub><mo>,</mo><msub><mi>B</mi><mn>2</mn></msub></mrow></munderover><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>U</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>]</mo><msub><mrow><mo>-</mo><mi>C</mi></mrow><mi>U</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>MPDE</mi><mo>|</mo><mi>QP</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow><mrow><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>B</mi><mn>1</mn></msub><mo>,</mo><msub><mi>B</mi><mn>2</mn></msub></mrow></munderover><msup><mrow><mo>(</mo><msub><mi>S</mi><mi>V</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>]</mo><mo>-</mo><msub><mi>C</mi><mi>V</mi></msub><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>MPDE</mi><mo>|</mo><mi>QP</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow>公式(4)式中B1和B2分別表示塊的水平像素?cái)?shù)和垂直像素?cái)?shù),其取值可為16,8,4;SY[x,y]表示源宏塊亮度信息的取值,CY[x,y,MODE|QP]表示重建宏塊的亮度信息的取值;SU,SV和CU,CV分別表示相應(yīng)的色差信息的取值;具體包括以下步驟步驟3.1利用三種預(yù)測(cè)編碼模式選取最佳的運(yùn)動(dòng)矢量(MotionVector,MV),即基于空間域的中值預(yù)測(cè)MVpred_space;基于H.264標(biāo)準(zhǔn)采用的運(yùn)動(dòng)估計(jì)多尺寸宏塊劃分特點(diǎn)的上層預(yù)測(cè)MVpred_uplayer;基于時(shí)間域的參考幀運(yùn)動(dòng)矢量預(yù)測(cè)MVpred_ref;(a)MVpred_space中值預(yù)測(cè),利用空間相關(guān)性,取已求出的當(dāng)前幀的左、上、右上臨塊的運(yùn)動(dòng)矢量的中間值;(b)MVpred_uplayer上層預(yù)測(cè),利用H.264運(yùn)動(dòng)估計(jì)多尺寸宏塊劃分特點(diǎn),包含模式1(16×16),模式2(16×8),模式3(8×16),模式4(8×8),模式5(8×4),模式6(4×8),模式7(4×4)的分級(jí)搜索順序,取已求出的同位置、上一級(jí)(uplayer)、大一倍塊的運(yùn)動(dòng)矢量;(c)MVpred_ref時(shí)間域預(yù)測(cè),利用時(shí)間相關(guān)性,根據(jù)已求出的前一幀參考幀中的當(dāng)前塊的運(yùn)動(dòng)矢量MVref按比例進(jìn)行預(yù)測(cè)其中當(dāng)前宏塊所在幀的時(shí)間為t,預(yù)測(cè)宏塊所在參考幀的時(shí)間為t’;步驟3.2相應(yīng)的SAD值與預(yù)測(cè)的運(yùn)動(dòng)矢量MV具有很強(qiáng)的相關(guān)性;將MVpred_space,MVpred_uplayer,MVpred_ref所指向點(diǎn)的率失真代價(jià)值分別記為pred_space_mincost,pred_uplayer_mincost,pred_ref_mincost,將具有最小率失真代價(jià)值的運(yùn)動(dòng)矢量指向點(diǎn)作為初始搜索點(diǎn),該點(diǎn)將作為下一步非對(duì)稱十字形搜索的初始搜索中心點(diǎn);步驟4非對(duì)稱十字形搜索非對(duì)稱十字搜索水平搜索范圍設(shè)為W,垂直搜索范圍為水平搜索范圍的一半,即為W/2,相鄰搜索點(diǎn)之間間距取兩個(gè)像素單位,則水平方向的搜索點(diǎn)數(shù)為W/2;垂直方向的搜索點(diǎn)數(shù)為W/4;在非對(duì)稱十字形搜索中共有W/2+W/4=3W/4個(gè)候選搜索點(diǎn);本步驟在這3W/4個(gè)候選搜索點(diǎn)中確定的最佳匹配點(diǎn)作為下一步非均勻多層六邊形格網(wǎng)格搜索的初始搜索中心點(diǎn);步驟5判斷當(dāng)前宏塊運(yùn)動(dòng)劇烈程度將當(dāng)前預(yù)測(cè)宏塊按劇烈程度分為三個(gè)檔次,即運(yùn)動(dòng)劇烈程度較低、運(yùn)動(dòng)劇烈程度中等、運(yùn)動(dòng)劇烈程度較高;當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)劇烈程度的判斷方法如下步驟5.1根據(jù)公式(1)計(jì)算當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)矢量的率失真代價(jià)值記為RDcostmotion,根據(jù)公式(3)計(jì)算當(dāng)前預(yù)測(cè)宏塊在mode模式下的率失真代值記為RDcostmode,從中選取具有最小預(yù)測(cè)的率失真代價(jià)值,記為RD_mincost,即RD_mincost=min{Pred_space_mincost,Pred_uplayer_mincost,Pred_ref_mincost};步驟5.2依據(jù)初始搜索點(diǎn)選擇的運(yùn)動(dòng)矢量預(yù)測(cè)方式確定pred_mincost的值如果在步驟3中確定的初始搜索點(diǎn)采用時(shí)間域預(yù)測(cè)方式的運(yùn)動(dòng)矢量,則pred_mincost=pred_ref_mincost;如果在步驟3中確定的初始搜索點(diǎn)沒(méi)有采用時(shí)間預(yù)測(cè)方式的運(yùn)動(dòng)矢量,再分為兩類情況若當(dāng)前運(yùn)動(dòng)估計(jì)預(yù)測(cè)宏塊的幀間編碼模式選擇的是16×16大尺寸模式,則pred_mincost=pred_space_mincost;若當(dāng)前運(yùn)動(dòng)估計(jì)預(yù)測(cè)宏塊的幀間編碼模式選擇的不是16×16大尺寸模式,則pred_mincost=pred_uplayer_mincost;步驟5.3計(jì)算運(yùn)動(dòng)劇烈程度調(diào)整因子γ,δ<mrow><mi>γ</mi><mo>=</mo><mfrac><mrow><mi>Bsize</mi><mo>[</mo><mi>blocktype</mi><mo>]</mo></mrow><msup><mrow><mi>pred</mi><mo>_</mo><mi>min</mi><mi>cos</mi><mi>t</mi></mrow><mn>2</mn></msup></mfrac><mo>-</mo><msub><mi>α</mi><mrow><mi>Radii</mi><mn>1</mn></mrow></msub><mo>[</mo><mi>blocktype</mi><mo>]</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow><mrow><mi>δ</mi><mo>=</mo><mfrac><mrow><mi>Bsize</mi><mo>[</mo><mi>blocktype</mi><mo>]</mo></mrow><msup><mrow><mi>pred</mi><mo>_</mo><mi>min</mi><mi>cos</mi><mi>t</mi></mrow><mn>2</mn></msup></mfrac><mo>-</mo><msub><mi>α</mi><mrow><mi>Radii</mi><mn>2</mn></mrow></msub><mo>[</mo><mi>blocktype</mi><mo>]</mo></mrow>公式(5)中Bsize[blocktype]表示當(dāng)前預(yù)測(cè)宏塊的大小,其取值可為16,8,4;矩陣αRadii1[blocktype]依據(jù)7種幀間宏塊劃分模式,其取值定義為αRadii1[1]=-0.23;αRadii1[2]=-0.23;αRadii1[3]=-0.23;αRadii1[4]=-0.25;αRadii1[5]=-0.27;αRadii1[6]=-0.27;αRadii1[7]=-0.28;矩陣αRadii2[blocktype]依據(jù)7種幀間宏塊劃分模式,的取值定義為αRadii2[1]=-2.39;αRadii2[2]=-2.40;αRadii2[3]=-2.40;αRadii2[4]=-2.41;αRadii2[5]=-2.45;αRadii2[6]=-2.45;αRadii2[7]=-2.48;步驟5.4當(dāng)前預(yù)測(cè)宏塊運(yùn)動(dòng)劇烈程度的判斷當(dāng)RD_mincost<(1+γ)×pred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度較低;當(dāng)(1+γ)×pred_mincost<RD_mincost<(1+δ)×pred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度中等;當(dāng)RD_mincost>(1+δ)×pred_mincost時(shí),判定當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度較高;步驟6進(jìn)行5×5像素全搜索在步驟5已經(jīng)判斷出當(dāng)前搜索內(nèi)容劇烈程度之后,只在搜索內(nèi)容劇烈程度較低時(shí)才以當(dāng)前預(yù)測(cè)點(diǎn)為中心,在其周圍的4×4區(qū)域進(jìn)行5×5個(gè)搜索點(diǎn)數(shù)的全搜索;當(dāng)運(yùn)動(dòng)劇烈程度為中等或者較劇烈時(shí)則放棄5×5全搜索,直接進(jìn)入步驟7;步驟7非均勻多層六邊形網(wǎng)格搜索依據(jù)當(dāng)前宏塊的運(yùn)動(dòng)劇烈程度動(dòng)態(tài)選擇運(yùn)動(dòng)估計(jì)搜索層數(shù)采用非均勻六邊形搜索作為基本搜索模式,搜索層數(shù)最多為4層;運(yùn)動(dòng)劇烈程度較低時(shí),只進(jìn)行2層非均勻六邊形網(wǎng)格搜索,每層的搜索點(diǎn)數(shù)為8;運(yùn)動(dòng)劇烈程度中等時(shí),進(jìn)行3層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的搜索點(diǎn)數(shù)依次為8,8,12;運(yùn)動(dòng)劇烈程度為較高時(shí),才進(jìn)行4層非均勻六邊形網(wǎng)格搜索,由內(nèi)到外的搜索點(diǎn)數(shù)依次為8,8,12,16;本步驟在非均勻六邊形網(wǎng)格搜索中確定的最佳匹配點(diǎn)作為步驟8擴(kuò)展對(duì)稱六邊形搜索的初始搜索中心點(diǎn);步驟8擴(kuò)展對(duì)稱六邊形搜索以步驟7確定的最佳匹配點(diǎn)作為本步驟的初始搜索中心點(diǎn);這里采用兩個(gè)階段搜索方式第一階段先以步長(zhǎng)為2個(gè)像素進(jìn)行對(duì)稱六邊形六點(diǎn)搜索,比較中心點(diǎn)和6個(gè)對(duì)角點(diǎn)的率失真代價(jià)值,依據(jù)率失真準(zhǔn)則以率失真代價(jià)值最小點(diǎn)作為下一次搜索的中心點(diǎn),直到中心點(diǎn)的率失真代價(jià)值變?yōu)樽钚↑c(diǎn);第二階段再減小步長(zhǎng),以步長(zhǎng)為1個(gè)像素進(jìn)行菱形四點(diǎn)搜索,重復(fù)第一階段的搜索過(guò)程,依據(jù)率失真準(zhǔn)則直到中心點(diǎn)的率失真代價(jià)值為最小點(diǎn)時(shí)終止搜索,該點(diǎn)即為最終確定的整像素搜索最佳匹配點(diǎn);步驟9輸出運(yùn)動(dòng)估計(jì)編碼信息到Out.264文件中,并且記錄運(yùn)動(dòng)估計(jì)時(shí)間、碼率、峰值信噪比信息,以評(píng)價(jià)編碼算法質(zhì)量。FSA00000075176300024.tif全文摘要本發(fā)明方法公開(kāi)了一種基于宏塊運(yùn)動(dòng)矢量特征分類的快速運(yùn)動(dòng)估計(jì)視頻編碼方法,涉及視頻壓縮編碼領(lǐng)域。本發(fā)明包括以下步驟首先從原始視頻數(shù)據(jù)中提取當(dāng)前編碼宏塊的亮度信息;針對(duì)整像素運(yùn)動(dòng)矢量搜索設(shè)計(jì)了簡(jiǎn)潔的運(yùn)動(dòng)估計(jì)搜索模板,合理分配搜索點(diǎn);依據(jù)率失真準(zhǔn)則對(duì)當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)劇烈程度進(jìn)行了分類,從當(dāng)前預(yù)測(cè)宏塊的運(yùn)動(dòng)特征著手,制定了相應(yīng)的運(yùn)動(dòng)搜索優(yōu)先停止策略,動(dòng)態(tài)調(diào)整運(yùn)動(dòng)估計(jì)的搜索層數(shù)和搜索點(diǎn)數(shù),自適應(yīng)的選擇相應(yīng)的運(yùn)動(dòng)估計(jì)搜索準(zhǔn)則。本發(fā)明方法與視頻編碼標(biāo)準(zhǔn)H.264中采用的運(yùn)動(dòng)估計(jì)搜索方法相比較,能有效地加速運(yùn)動(dòng)估計(jì)搜索過(guò)程,減少運(yùn)動(dòng)估計(jì)耗時(shí),嚴(yán)格控制了碼率增加,保證了較好的重構(gòu)圖像質(zhì)量,實(shí)現(xiàn)了快速運(yùn)動(dòng)估計(jì)編碼。文檔編號(hào)H04N7/32GK101815218SQ201010140709公開(kāi)日2010年8月25日申請(qǐng)日期2010年4月2日優(yōu)先權(quán)日2010年4月2日發(fā)明者劉鵬宇,賈克斌申請(qǐng)人:北京工業(yè)大學(xué)