專利名稱::一種多視點(diǎn)視頻編碼中的運(yùn)動(dòng)和視差聯(lián)合估計(jì)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及基于H.264的多視點(diǎn)視頻編碼領(lǐng)域,尤其是涉及一種多視點(diǎn)視頻編碼中的運(yùn)動(dòng)和視差聯(lián)合估計(jì)算法。
背景技術(shù):
:多視點(diǎn)視頻蘊(yùn)涵了景物的深度信息,在自然場(chǎng)景的表征上更具真實(shí)感,在3D電視、自由視點(diǎn)電視、具有臨場(chǎng)感的可視會(huì)議及虛擬現(xiàn)實(shí)等領(lǐng)域展現(xiàn)了廣闊的應(yīng)用前景[l]。具有"立體化"和"交互性"的多視點(diǎn)視頻技術(shù)正越來(lái)越受到學(xué)術(shù)界和工業(yè)界的重視,并成為近年來(lái)研究的熱點(diǎn)之一。與傳統(tǒng)的單視點(diǎn)視頻相比,多視點(diǎn)視頻需要處理的數(shù)據(jù)量隨著相機(jī)數(shù)目的增加而成倍增加,這給傳輸和解碼帶來(lái)巨大的負(fù)擔(dān)。因此,如何對(duì)海量的視頻數(shù)據(jù)進(jìn)行高效的壓縮編碼成為多視點(diǎn)視頻面臨實(shí)用化的一個(gè)重要問(wèn)題。2001年,國(guó)際標(biāo)準(zhǔn)化組織(JVT/MPEG)成立了3D音視頻的特別研究小組,以制定統(tǒng)一的多視點(diǎn)視頻編碼標(biāo)準(zhǔn),將其作為11.264的一個(gè)增強(qiáng)部分?;贖.264標(biāo)準(zhǔn),JVT提出了多視點(diǎn)視頻編碼校驗(yàn)?zāi)P?jointmultiviewvideomodel,JMVM)作為多視點(diǎn)視頻編碼研究測(cè)試平臺(tái)。在多視點(diǎn)視頻編碼中,運(yùn)動(dòng)估計(jì)和視差估計(jì)過(guò)程大約占據(jù)了整個(gè)H.264編碼器編碼時(shí)間的95%,并且這個(gè)比例還會(huì)隨著多視點(diǎn)視頻編碼結(jié)構(gòu)的復(fù)雜度提高而增加。許多學(xué)者利用多視點(diǎn)視頻序列相關(guān)性提出了新的編碼算法。San[2]結(jié)合攝像機(jī)發(fā)射和極線的幾何學(xué)特性提出了一種基干幾何特性的快速視差估計(jì)算法,該算法能夠大大減低視差補(bǔ)償?shù)膹?fù)雜度,但是沒(méi)有考慮攝像機(jī)間的位置關(guān)系。Guo等人[3]采用全局視差來(lái)表征相鄰視點(diǎn)間的聯(lián)系,弓l入"視點(diǎn)間的直接復(fù)制模式",在解碼端只需直接復(fù)制相鄰視點(diǎn)對(duì)應(yīng)塊的信息來(lái)得到當(dāng)前編碼塊的運(yùn)動(dòng)矢量,能夠在一定程度上節(jié)省碼率,但是全局視差矢量的計(jì)算增加了運(yùn)算復(fù)雜度。Kim等人[4]利用多視點(diǎn)攝像機(jī)的幾何特性以及視差矢量和運(yùn)動(dòng)矢量之間的聯(lián)系提出一種自適應(yīng)搜索窗口的快速運(yùn)動(dòng)和視差估計(jì)算法,設(shè)計(jì)了一個(gè)新的預(yù)測(cè)矢量作為預(yù)測(cè)矢量初值,并通過(guò)兩個(gè)閾值來(lái)衡量預(yù)測(cè)矢量的可靠性,從而控制搜索窗口的大小。Ding等人[5]利用相鄰視點(diǎn)對(duì)應(yīng)塊的高度相似性,通過(guò)視差估計(jì)來(lái)找到相鄰視點(diǎn)參考幀中的對(duì)應(yīng)塊,已編碼視點(diǎn)的模式和運(yùn)動(dòng)矢量等編碼信息能夠被再次使用,但是該方法只是針對(duì)運(yùn)動(dòng)估計(jì),視差估計(jì)仍然采用全搜索方法。7綜上所述,目前的這些快速算法運(yùn)動(dòng)估計(jì)和視差估計(jì)相對(duì)獨(dú)立,并沒(méi)有充分利用多視點(diǎn)視頻的特性,結(jié)合相鄰視點(diǎn)間的關(guān)系設(shè)計(jì)運(yùn)動(dòng)和視差聯(lián)合估計(jì)算法,來(lái)同時(shí)降低運(yùn)動(dòng)估計(jì)和視差估計(jì)的復(fù)雜度。因此,編碼的大多數(shù)時(shí)間還是浪費(fèi)在運(yùn)動(dòng)估計(jì)和視差估計(jì)上面。為了達(dá)到高效壓縮編嗎的目的,提高預(yù)測(cè)精度,結(jié)合運(yùn)動(dòng)估計(jì)和視差估計(jì),設(shè)計(jì)一種聯(lián)合估計(jì)的快速算法,在保證高壓縮率的前提下大大減少編碼復(fù)雜度,是非常有意義的。附參考文獻(xiàn)SMOLICA,MUELLERK,STEFANOSKIN,etal.CodingAlgorithmsfor3DTV陽(yáng)ASurvey[J].IEEEtransactionsoncircuitsandsystemsforvideotechnology,2007,17(11):1606-1621.SANX,CAIH,LOUJG.MultiviewImageCodingBasedonGeometricPrediction[J].IEEEtransactionsonCircuitsandSystemsforVideoTechnology,2007,17(11):1536-1548.GUOX,LUY,WUF,etal.Inter-ViewDirectModeforMultiviewVideoCoding[J].IEEE1ransactionsoncircuitsandsystemsforvideotechnology,2006,16(12):1527-1532.KIMY,KIMJ,andSOHNK.FastDisparityandMotionEstimationforMulti-viewVideoCoding[J].IEEEtransactionsonconsumerelectronics,2007,53(2):7〗2-719.DINGLF,TSUNGPK,CHIENSY,etal.Content-awarepredictionalgorithmwithinter-viewmodedecisionformultiviewvideocoding[J.IEEEtransactionsonMultimedia,2008,10(8):1553-1564.
發(fā)明內(nèi)容本發(fā)明的目的是提出一種運(yùn)動(dòng)和視差聯(lián)合估計(jì)方法,在保證多視點(diǎn)視頻編碼質(zhì)量的同時(shí),降低運(yùn)動(dòng)和視差估計(jì)的計(jì)算復(fù)雜度。本發(fā)明的技術(shù)思路特征為(1)在基于分層B幀的視點(diǎn)-時(shí)間預(yù)測(cè)結(jié)構(gòu)中(見(jiàn)圖]),,當(dāng)前視點(diǎn)Si的非錨定幀需要參考來(lái)自本視點(diǎn)和相鄰視點(diǎn)的多個(gè)參考幀進(jìn)行編碼。在多視點(diǎn)視頻編碼校驗(yàn)?zāi)P蚃MVM中,采用傳統(tǒng)的全搜索方法對(duì)其進(jìn)行編碼,運(yùn)算復(fù)雜度極高。因此,必須充分利用多視點(diǎn)視頻的時(shí)間和空間冗余,結(jié)合運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)和視差補(bǔ)償預(yù)測(cè)技術(shù)對(duì)數(shù)據(jù)進(jìn)行有效的編碼和壓縮。(2)在一幅圖像中,相鄰塊的運(yùn)動(dòng)矢量非常相似,很多運(yùn)動(dòng)/視差估計(jì)快速算法都采用中值矢量作為搜索起始點(diǎn)來(lái)進(jìn)行預(yù)測(cè),即,利用當(dāng)前塊的左邊塊A、上邊塊B和右上塊C的運(yùn)動(dòng)/視差矢量中值來(lái)作為預(yù)測(cè)矢量初值(見(jiàn)圖2),以這個(gè)初值點(diǎn)為中心,搜索得到最佳的預(yù)測(cè)矢量。由于多視點(diǎn)視頻編碼涉及視點(diǎn)和時(shí)間兩個(gè)方向的多參考幀技術(shù),中值矢量并不總是最優(yōu)起始點(diǎn)。因此,本發(fā)明力求設(shè)計(jì)一個(gè)有效的預(yù)測(cè)矢量取代中值矢量作為預(yù)測(cè)初值。(3)由于同一視點(diǎn)相鄰時(shí)刻圖像的視差矢量分布情況非常相似(見(jiàn)圖3),因此,在本發(fā)明中,將相同視點(diǎn)相鄰時(shí)刻圖像內(nèi)對(duì)應(yīng)塊的視差矢量作為當(dāng)前編碼塊視差矢量的初值。同樣的道理,將相鄰視點(diǎn)同一時(shí)刻圖像內(nèi)對(duì)應(yīng)塊的運(yùn)動(dòng)矢量作為當(dāng)前編碼塊運(yùn)動(dòng)矢量的初值。為了保證預(yù)測(cè)矢量初值的準(zhǔn)確性,在選擇運(yùn)動(dòng)/視差矢量初值時(shí),將這個(gè)預(yù)測(cè)矢量與零矢量、左邊塊、上邊塊以及右上塊的矢量值進(jìn)行比較,從中選取使iDO^值最小的矢量作為當(dāng)前編碼塊的運(yùn)動(dòng)/視差矢量初值。(4)由于平行擺放的攝像機(jī)陣列拍攝得到的多視點(diǎn)視頻序列,相鄰圖像的視差矢量和運(yùn)動(dòng)矢量存在著密切的幾何聯(lián)系(見(jiàn)圖4)。因此,當(dāng)前編碼塊的運(yùn)動(dòng)矢量和視差矢量可以通過(guò)相同視點(diǎn)相鄰時(shí)刻圖像對(duì)應(yīng)塊的視差矢量和相同時(shí)刻相鄰視點(diǎn)圖像對(duì)應(yīng)塊上的運(yùn)動(dòng)矢量來(lái)預(yù)測(cè)得到。(5)本發(fā)明方法在搜索過(guò)程中,采用改進(jìn)的搜索策略,分別在時(shí)間和視點(diǎn)方向的參考幀中設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,進(jìn)行多次運(yùn)動(dòng)和視差估計(jì)。該方法由前一次運(yùn)動(dòng)/視差估計(jì)來(lái)得到候選矢量來(lái)進(jìn)行下一次視差/運(yùn)動(dòng)估計(jì),通過(guò)判斷iDC。w值來(lái)不斷更新當(dāng)前的最優(yōu)運(yùn)動(dòng)/視差矢量。其中,搜索窗口的大小直接影響到算法的效率,搜索窗口越小,表示在進(jìn)行運(yùn)動(dòng)/視差矢量搜索時(shí)的搜索點(diǎn)數(shù)越少,運(yùn)算速度也就越快,由于本發(fā)明方法選取的預(yù)測(cè)初值非常可靠,并且本發(fā)明方法反復(fù)利用相鄰圖像運(yùn)動(dòng)和視差矢量之間的密切聯(lián)系進(jìn)行多次迭代,不斷修正運(yùn)動(dòng)/視差矢量,直至運(yùn)動(dòng)/視差矢量達(dá)到最優(yōu)值,因此實(shí)驗(yàn)中采用2個(gè)像素的搜索窗口就足以保證搜索的準(zhǔn)確性。本發(fā)明的技術(shù)方案流程圖參見(jiàn)圖5、圖6、圖7。首先令具有A+1臺(tái)從左至右排列的平行攝像機(jī)系統(tǒng)拍攝得到的多視點(diǎn)視頻表示為《So,SpSfSk},每路視點(diǎn)包含"個(gè)時(shí)刻的圖像幀,令視點(diǎn)《為當(dāng)前視點(diǎn),BK"1,S,的參考視點(diǎn)為相鄰的左視點(diǎn)S,一,和右視點(diǎn)&',+,,令視點(diǎn)S,中^時(shí)刻的幀為當(dāng)前幀,『為當(dāng)前幀和該路視點(diǎn)中的兩個(gè)最相鄰已編碼幀之間的時(shí)間間隔,當(dāng)前幀在時(shí)間方向的前向參考幀為視點(diǎn)S,中卜7時(shí)刻的已編碼幀,當(dāng)前幀在時(shí)間方向的后向參考幀為視點(diǎn)S中ar時(shí)刻的已編碼幀,當(dāng)前幀在視點(diǎn)方向的前向參考幀為視點(diǎn)S,一,中f時(shí)刻的已編碼幀,當(dāng)前幀在視點(diǎn)方向的后向參考幀為視點(diǎn)S,.+,中,時(shí)刻的己編碼幀,前向搜索是指當(dāng)前幀通過(guò)參考前向參考幀進(jìn)行前向運(yùn)動(dòng)和視差估計(jì),后向搜索是指當(dāng)前幀通過(guò)參考后向參考幀進(jìn)行后向運(yùn)動(dòng)和視差估計(jì),假設(shè)正在編碼的塊/;,為當(dāng)前塊,當(dāng)前塊已編碼的左邊塊、上邊塊、右上塊通稱為當(dāng)前塊的相鄰塊,參考幀中與當(dāng)前塊位置相同的塊稱為對(duì)應(yīng)塊,當(dāng)前塊在參考幀中的最佳匹配塊稱為預(yù)測(cè)塊,本發(fā)明方法包括以下步驟(1)判斷當(dāng)前幀是否為錨定幀,如果是錨定幀,則采用全搜索方法對(duì)該錨定幀中的所有塊進(jìn)行編碼,并且保存每個(gè)塊編碼后的視差矢量"P^,;如果當(dāng)前幀為非錨定幀,則將當(dāng)前幀視點(diǎn)方向參考幀的運(yùn)動(dòng)和視差矢量讀入到緩存中,將該非錨定幀的第一個(gè)塊作為當(dāng)前塊;(2)開(kāi)始前向搜索,求取當(dāng)前塊的前向運(yùn)動(dòng)矢量和前向視差矢量,將rdationl描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系MJ^+Z^^=i^+M^—,定義為Relation,其中,M「為當(dāng)前塊:的前向運(yùn)動(dòng)矢量,Z^為當(dāng)前塊的前向視差矢量,D^為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,竭_(dá),為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;(3)將當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量"^,設(shè)為當(dāng)前塊的前向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量M^設(shè)為當(dāng)前塊的前向運(yùn)動(dòng)矢量的初值;(4)將當(dāng)前塊的前向運(yùn)動(dòng)矢量初值M^—,和當(dāng)前塊的前向視差矢量初值分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使值最小的矢量作為當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值^W;。和當(dāng)前塊的前向視差矢量預(yù)測(cè)值p/^。,并在/7M^。附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量竭(,,保存該最小率失真代價(jià)RDCm"。;在-K。附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量"Ko,保存該最小率失真代價(jià)IDCa",,其中,WD按下式計(jì)算,s,々5L4Z)(c,r(mv))=〗二|c[/,y.]—/-[/—wv^y'—mvjls^D(c,K附v))表示當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和,小',y]表示當(dāng)前塊的像素值;小-/w^-^mg表示預(yù)測(cè)塊的像素值,5,,S2分別表示塊的水平和垂直像素?cái)?shù),運(yùn)動(dòng)估計(jì)和視差估計(jì)的率失真代價(jià)按下式計(jì)算,腳=(m、,m、)T表示當(dāng)前塊相對(duì)于預(yù)測(cè)塊的運(yùn)動(dòng)/視差矢量;;^efl=(Fe《,;^e《)T表示當(dāng)前塊的運(yùn)動(dòng)/視差矢量的預(yù)測(cè)值;碼,率六(附v-表示編碼運(yùn)動(dòng)/視差矢量的差值所需的比特?cái)?shù),A表示拉格朗日乘子;(5)由上一步得到的運(yùn)動(dòng)/視差矢量來(lái)計(jì)算得到更準(zhǔn)確的視差/運(yùn)動(dòng)矢量,由當(dāng)前塊&的位置和當(dāng)前塊的前向視差矢量Z^(,相加得到當(dāng)前塊在視點(diǎn)方向的前向參考幀中的預(yù)測(cè)塊i^,,即,&v=《,+c^。,讀取預(yù)測(cè)塊d,的前向運(yùn)動(dòng)矢量M^._,,利用Relation描述的矢量關(guān)系,由=DK。+-Z)F^得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pMF,,,其中,D^,為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,iW^為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在pM^附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量M^,保存該最小率失真代價(jià)RDC。W,;由當(dāng)前塊^的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量M^相加得到當(dāng)前塊在時(shí)間方向的前向參考幀中的預(yù)測(cè)塊/lw,S卩,《=《,+^:,讀取預(yù)測(cè)塊《,—,的視差矢量D^,利用Relalion描述的矢量關(guān)系,由p!^,-M^+DP^-M^得到一個(gè)新的當(dāng)前塊的前向視差矢量預(yù)測(cè)值pD^,其中,,為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,MR—t為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在;^^附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量D^,保存該最小率失真代價(jià)RDC。W皿;(6)判斷RDC。W順是否小于RDC。W她。,RDC。W服,是否小fRDC'。W腳,如果RDC。W順小于RDC。,"她。并且RD(7。W則小于RDC。ri。別,則令"J^。=:,jW;。=M/^,RDCoW巡。=RDOw,濕,RDCorf腳=RDQwf則,別;轉(zhuǎn)到步驟(5);否則,將M^。,DK。,RDOw"。,RDOw^。保存為當(dāng)前塊的前向運(yùn)動(dòng)和視差估計(jì)結(jié)果;(7)比較前向運(yùn)動(dòng)矢量和前向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的作為前向搜索的最佳預(yù)測(cè)矢量;(8)開(kāi)始后向搜索過(guò)程,首先判斷當(dāng)前幀是否有時(shí)間方向的后向參考幀,如果當(dāng)前幀有時(shí)間方向的后向參考幀,則將rdation2描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation,開(kāi)始計(jì)算當(dāng)前塊的后向運(yùn)動(dòng)矢量和當(dāng)前塊的后向視差矢量;如果當(dāng)前幀沒(méi)有時(shí)間方向的后向參考幀,則將relation3描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation,跳轉(zhuǎn)到步驟(14),開(kāi)始計(jì)算當(dāng)前塊的后向視差矢量;其中,relation2如下式所示/^'+^+1'=^'+/^+/其中,M巧'為當(dāng)前塊的后向運(yùn)動(dòng)矢量,Z^'為當(dāng)前塊的后向視差矢量,/^(+/為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,竭+1'為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量;relation3如下式所示£>K'+=竭+Z)g_/其中,MP;為當(dāng)前塊的前向運(yùn)動(dòng)矢量,i^'為當(dāng)前塊的后向視差矢量,D^'為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,M^+1為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;(9)如果當(dāng)前幀有時(shí)間方向的后向參考幀,將當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量設(shè)為當(dāng)前塊后向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量M^+,'設(shè)為當(dāng)前塊后向運(yùn)動(dòng)矢量的初值;(10)將當(dāng)前塊的后向運(yùn)動(dòng)矢量初值^+1'和當(dāng)前塊的后向視差矢量初值£^+/分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使&4Z)值最小的矢量作為當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值P僻V和當(dāng)前塊的后向視差矢量預(yù)測(cè)值^i^。',并在^M^。'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量MPV,保存該最小率失真代價(jià)RDC加目';在p/^。'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量Z^,。',保存該最小率失真代價(jià)RDOw^。';(11)由上一步得到的運(yùn)動(dòng)/視差矢量來(lái)計(jì)算得到更準(zhǔn)確的視差/運(yùn)動(dòng)矢量,由當(dāng)前塊/^的位置和當(dāng)前塊的后向視差矢量z^。'相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀中的預(yù)測(cè)塊《+1,,,即,&u=《,+"^',讀取預(yù)測(cè)塊ik,的后向運(yùn)動(dòng)矢量,利用Relation描述的矢量關(guān)系,由<formula>formulaseeoriginaldocumentpage12</formula>得到一個(gè)新的當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值pMIV,其中,/^+/為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,Ml^'為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在/7M^'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量M^',保存該最小率失真代價(jià)RDOw,皿';由當(dāng)前塊《,的位置和當(dāng)前塊的后向運(yùn)動(dòng)矢量M^'相加得到當(dāng)前塊在時(shí)間方向后向參考幀中的預(yù)測(cè)塊i1^,B卩,《^=《,+M^',讀取預(yù)測(cè)塊&^的后向視差矢量/^+/,利用Relation描述的矢量關(guān)系,由'='+DL'得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值^Z)^',其中,D^/為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,71化+1'為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在pDfV附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量D1^,保存該最小率失真代價(jià)RDO^皿';(12)判斷RDOw^,'是否小于RDOw^。',RDCorf加,'是否小于RDCoW促。',如果RDOw/細(xì)'小于RDCoW她。'并且RDCoW皿'小于RDCoWD£。',RDO^腳'-RDO^皿',跳轉(zhuǎn)到步驟(ll);否貝U,將岬。',"K。',RDC0WM£。',RDO^Q。'保存為當(dāng)前塊的后向運(yùn)動(dòng)和視差估計(jì)結(jié)果;(13)比較后向運(yùn)動(dòng)矢量和后向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的矢量作為后向搜索的最佳預(yù)測(cè)矢量,結(jié)束當(dāng)前塊的后向搜索過(guò)程,跳轉(zhuǎn)到步驟(18);(14)如當(dāng)前幀沒(méi)有時(shí)間方向的后向參考幀,則將當(dāng)前塊時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量"^/設(shè)為當(dāng)前塊后向視差矢量的初值;(15)將當(dāng)前塊的后向視差矢量初值/^_/與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使&4D值最小的矢量作為當(dāng)前塊的后向視差矢量預(yù)測(cè)值/7i^。',在/^^'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量Z^。',保存該最小率失真代價(jià)RDO^D£。';(16)由當(dāng)前塊&的位置和當(dāng)前塊的后向視差矢量"K。'相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀中的預(yù)測(cè)塊i^,,即,f+u=C"^',讀取預(yù)測(cè)的前向運(yùn)動(dòng)矢量^+1,利用Relation描述的矢量關(guān)系,由pM^=Z^。'+M^+1-/得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值^M^,其中,Z^一/為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,M^+,為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在/7M^附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量M^;由當(dāng)前塊&的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量M^相加得到當(dāng)前塊在時(shí)間方向前向參考幀中的預(yù)測(cè)塊i^,,即,《^=《,,+M^,讀取預(yù)測(cè)塊《,w的后向視差矢量Z^—/,利用Relation描述的矢量關(guān)系,由/^Fu'='+M^-竭+1得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值/7"Fa',其中,DC為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,^+1為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在/^^'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量D^',保存該最小率失真代價(jià)RDCoW^';(17)判斷RDCoW顯'是否小于RDCoW腳',如果RDOw,則'小于RDCoW腳',貝U令DK?!籇&',RDO^腳^RDCoW腦',跳轉(zhuǎn)到步驟(16);否貝U,將Z^。'作為后向搜索的最佳預(yù)測(cè)矢量;(18)根據(jù)前向搜索和后向搜索得到的結(jié)果,從中選取使率失真代價(jià)最小的矢量作為當(dāng)前塊的最優(yōu)預(yù)測(cè)矢量,保存當(dāng)前塊的最佳編碼信息,當(dāng)前塊的運(yùn)動(dòng)和視差估計(jì)過(guò)程結(jié)束;(19)判斷當(dāng)前幀中是否還有未編碼塊,如果當(dāng)前幀中還有未編碼塊,則跳轉(zhuǎn)到步驟(2),開(kāi)始編碼當(dāng)前塊的下一塊;如果當(dāng)前幀中所有塊都編碼完畢,則判斷當(dāng)前視點(diǎn)中是否還有未編碼幀,如果當(dāng)前視點(diǎn)中還有未編碼幀,則跳轉(zhuǎn)到步驟(l),開(kāi)始編碼當(dāng)前幀的下一幀;如果當(dāng)前視點(diǎn)的所有幀都編碼完畢,則對(duì)當(dāng)前視點(diǎn)的編碼過(guò)程結(jié)束。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于基于分層B幀的視點(diǎn)-時(shí)間預(yù)測(cè)結(jié)構(gòu),利用相鄰圖像運(yùn)動(dòng)和視差矢量間的幾何聯(lián)系,設(shè)計(jì)可靠的預(yù)測(cè)矢量作為預(yù)測(cè)矢量初值,并且改進(jìn)搜索策略,分別在不同方向的參考幀內(nèi)進(jìn)行運(yùn)動(dòng)矢量和視差矢量的迭代,由前一次運(yùn)動(dòng)/視差估計(jì)得到候選矢量來(lái)進(jìn)行下一次視差/運(yùn)動(dòng)估計(jì),不斷修正局部運(yùn)動(dòng)/視差矢量以得到最佳運(yùn)動(dòng)和視差矢量。本發(fā)明的方法能在保持編碼質(zhì)量的同時(shí),極大降低運(yùn)動(dòng)估計(jì)和視差估計(jì)的復(fù)雜度,從而提高多視點(diǎn)視頻編碼系統(tǒng)的編碼速度。本發(fā)明方法編碼性能與全搜索方法的編碼性能相當(dāng),峰值信噪比變化在-O.Ol—O.lldB之間,碼率變化在-10.26%~+0.60%之間,并且本發(fā)明的方法極大地提高了編碼效率,能節(jié)省約90%的運(yùn)算時(shí)間。由于本發(fā)明方法只是針對(duì)非錨定幀,錨定幀仍然采用全搜索方法,因此,若去除錨定幀的全搜索方法時(shí)間,本發(fā)明方法能節(jié)省90%以上的運(yùn)算時(shí)間。圖l是基于分層B幀的視點(diǎn)-時(shí)間預(yù)測(cè)結(jié)構(gòu)示意圖;圖2是運(yùn)動(dòng)/視差估計(jì)示意圖3是測(cè)試序列ballroom視點(diǎn)S2中相鄰時(shí)刻的兩幀圖像的視差矢量分布統(tǒng)計(jì),其中xy平面表示視差矢量的大小,z軸表示宏塊數(shù)目;(a)是To時(shí)刻圖像的視差矢量分布統(tǒng)計(jì)圖,(b)是1\2時(shí)刻圖像的視差矢量分布統(tǒng)計(jì)圖4是相鄰圖像的運(yùn)動(dòng)矢量和視差矢量關(guān)系示意圖5是本發(fā)明采用方法的基本框圖6是本發(fā)明的快速運(yùn)動(dòng)和視差聯(lián)合估計(jì)流程圖7是本發(fā)明的前向搜索過(guò)程的具體流程圖8是"Ballroom"多視點(diǎn)測(cè)試序列編碼率失真性能比較曲線圖9是"Exit"多視點(diǎn)測(cè)試序列編碼率失真性能比較曲線圖10是"Vassar"多視點(diǎn)測(cè)試序列編碼率失真性能比較曲線圖ll是不同編碼方法運(yùn)算復(fù)雜度比較示意圖。具體實(shí)施例方式多視點(diǎn)視頻是指由k+l臺(tái)從左至右排列的平行攝像機(jī)系統(tǒng)拍攝得到的k+l路視頻序列(So,S,,SySk},每路視頻包含從To時(shí)刻至Tn時(shí)刻的n+l幀圖像。圖1為多視點(diǎn)視頻的編碼框架,垂直方向?yàn)橐朁c(diǎn)方向,水平方向?yàn)闀r(shí)間方向。每一路視頻的第一幀為錨定幀,如S/To的Bo幀為錨定幀,其余各幀以圖像組為單位進(jìn)行編碼。每個(gè)圖像組由一個(gè)錨定幀和多個(gè)非錨定幀組成,令&。p代表一個(gè)圖像組包含的幀數(shù),i^。p的取值為2的整數(shù)次冪,12或者15。在一個(gè)圖像組中,通常位于圖像組末端的幀為錨定幀,例如,圖中A^p-12時(shí),S/Ti2時(shí)刻的Bo幀為錨定幀。在編碼時(shí),錨定幀首先獨(dú)立編碼,然后每一個(gè)非錨定幀按照分層結(jié)構(gòu)進(jìn)行編碼,例如,圖中視點(diǎn)Si內(nèi)各幀圖像的編碼順序?yàn)?B。B。BiB2B2B3B3B3B3b4b4b4b4"."。令視點(diǎn)Sj為當(dāng)前正在編碼的視點(diǎn),BK*-1,Si的參考視點(diǎn)為相鄰的左視點(diǎn)和右視點(diǎn)Si+1,&中的非錨定幀在編碼時(shí)不僅需要參考視點(diǎn)方向參考方向的參考幀進(jìn)行運(yùn)動(dòng)估計(jì),例如,Sj/T6時(shí)刻的B,幀,需要參考時(shí)間方向和視點(diǎn)方向的共4個(gè)參考幀進(jìn)行編碼。時(shí)間方向的參考幀為當(dāng)前幀在同一視點(diǎn)內(nèi)部時(shí)間序列中上層的兩個(gè)最相鄰已編碼幀,例如,Sj/T6時(shí)刻的B^貞,它時(shí)間方向的參考幀為S/T。時(shí)刻的B。幀和S/Ti2時(shí)刻的B。幀;S/T3時(shí)刻的B2幀,它時(shí)間方向的參考幀為S/r。時(shí)刻的Bo幀和S/T6時(shí)刻的B,幀;S/T9時(shí)刻的B2幀,它時(shí)間方向的參考幀為Si/T6時(shí)刻的B,幀和S/T12時(shí)刻的Bo幀;S/T2時(shí)刻的B3幀,它時(shí)間方向的參考幀為Si〃To時(shí)刻的Bo幀和S/T3時(shí)刻的B2幀,等等。視點(diǎn)方向的參考幀為當(dāng)前幀在相鄰視點(diǎn)相同時(shí)刻的參考幀,例如,Si/T6時(shí)刻的B,幀:,它視點(diǎn)方向的參考幀為SM/T6時(shí)刻的B,幀和Si+1/T6時(shí)刻的B!幀;S/T3時(shí)刻的B幀,它視點(diǎn)方向的參考幀為SiV丁3時(shí)刻的B2幀和Si+1/T3時(shí)刻的B:!幀;S/T9時(shí)刻的132幀,它視點(diǎn)方向的參考幀為Sw/T9時(shí)刻的B2幀和Si+1/T9時(shí)刻的B2幀,等等。參考幀又分為前向參考幀和后向參考幀,其中,對(duì)于時(shí)間方向的參考幀來(lái)說(shuō),假設(shè)當(dāng)前幀位于t時(shí)刻,那么小于t時(shí)刻的參考幀為前向參考幀,大于t時(shí)刻的幀為后向參考幀;對(duì)于視點(diǎn)方向的參考幀來(lái)說(shuō),假設(shè)當(dāng)前幀位于視點(diǎn)i,那么視點(diǎn)序號(hào)小于i的參考幀為前向參考幀,視點(diǎn)序號(hào)大于i的幀為后向參考幀。例如,Si/TJ寸刻的B!幀,它的前向參考幀為S/To時(shí)刻的B(,幀和SiVTe時(shí)刻的B,幀,后向參考幀為S/T,2時(shí)刻的Bo幀和Sj+,/T6時(shí)刻的B,幀。前向搜索是指當(dāng)前幀通過(guò)參考前向參考幀進(jìn)行前向運(yùn)動(dòng)和視差估計(jì),后向搜索是指當(dāng)前幀通過(guò)參考后向參考幀進(jìn)行后向運(yùn)動(dòng)和視差估計(jì)。運(yùn)動(dòng)/視差估計(jì)示意如圖2所示,對(duì)應(yīng)塊是指參考幀中與當(dāng)前塊位置相同的塊;當(dāng)前塊已編碼的左邊塊A、上邊塊B、右上塊C統(tǒng)稱為當(dāng)前塊的相鄰塊;運(yùn)動(dòng)/視差估計(jì)過(guò)程首先在參考幀中找到與當(dāng)前塊位置相同的對(duì)應(yīng)塊,然后在參考幀中,以對(duì)應(yīng)塊為中心,在其周圍設(shè)定一個(gè)搜索窗口,在這個(gè)搜索窗口進(jìn)行運(yùn)動(dòng)/視差矢量搜索,得到當(dāng)前塊在參考幀中的最佳匹配塊,稱為預(yù)測(cè)塊。其中,搜索窗口的大小直接影響到算法的效率,搜索窗口越小,表示在進(jìn)行運(yùn)動(dòng)/視差矢量搜索時(shí)的搜索點(diǎn)數(shù)越少,運(yùn)算速度也就越快,由于本發(fā)明方法選取的預(yù)測(cè)初值非常可靠,并且本發(fā)明方法反復(fù)利用相鄰圖像運(yùn)動(dòng)和視差矢量之間的密切聯(lián)系進(jìn)行多次迭代,不斷修正運(yùn)動(dòng)/視差矢量直至運(yùn)動(dòng)/視差矢量達(dá)到最優(yōu)值,因此實(shí)驗(yàn)中采用2個(gè)像素的搜索窗口就足以保證搜索的準(zhǔn)確性。圖3為同一視點(diǎn)相鄰時(shí)刻圖像的視差矢量分布情況,由于同一視點(diǎn)相鄰時(shí)刻圖像的視差矢量分布情況非常相似,在本發(fā)明中,,將相同視點(diǎn)相鄰時(shí)刻圖像內(nèi)對(duì)應(yīng)塊的視差矢量作為當(dāng)前編碼塊視差矢量的初值。同樣的道理,將相鄰視點(diǎn)同一時(shí)刻圖像內(nèi)對(duì)應(yīng)塊的運(yùn)動(dòng)矢量作為當(dāng)前編碼塊運(yùn)動(dòng)矢量的初值。為了保證預(yù)測(cè)矢量初值的準(zhǔn)確性,在選擇運(yùn)動(dòng)/視差矢量初值時(shí),將這個(gè)預(yù)測(cè)矢量與零矢量、左邊塊、上方塊以及右上方塊的矢量值進(jìn)行比較,從中選取使7DO^值最小的矢量作為當(dāng)前編碼塊的運(yùn)動(dòng)/視差矢量初值。圖4表示視點(diǎn)/-1,/,/+1在時(shí)刻卜7^,"71的9個(gè)相鄰圖像運(yùn)動(dòng)矢量和視差矢量之間的關(guān)系。其中,1,/,/+];/=卜^,"71)為視點(diǎn)附在時(shí)亥|」/的圖像中的一個(gè)編碼塊,r為當(dāng)前幀和該時(shí)間序列中上層的兩個(gè)最相鄰已編碼幀之間的時(shí)間間隔,假設(shè)&為當(dāng)前塊,,々+,分別表示當(dāng)前塊莊相同視點(diǎn)5:中卜2V+r時(shí)刻的兩個(gè)參考幀中的對(duì)應(yīng)塊,.分別表示當(dāng)前塊在相同時(shí)刻相鄰視點(diǎn)s,.-,和中的兩個(gè)參考幀中的對(duì)應(yīng)塊。根據(jù)多視點(diǎn)視頻的序列相關(guān)性,當(dāng)前塊A,的運(yùn)動(dòng)矢量和視差矢量可以通過(guò)相同視點(diǎn)相鄰時(shí)刻圖像對(duì)應(yīng)塊的視差矢量和相同時(shí)刻相鄰視點(diǎn)圖像對(duì)應(yīng)塊上的運(yùn)動(dòng)矢量來(lái)預(yù)測(cè)得到。因此,可以得到以下關(guān)系,MJ^+,'+W('=W'+r'其中,A^和M(^分別為當(dāng)前塊的前、后向運(yùn)動(dòng)矢量,/^和Z^'分別為當(dāng)前塊的前、后向視差矢量,D^,為當(dāng)前塊在時(shí)間方向的前向參考幀(S/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的前向視差矢量,z^V為當(dāng)前塊在時(shí)間方向的前向參考幀(S/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,"^為當(dāng)前塊在時(shí)間方向的后向參考幀(Si/t+T時(shí)刻的幀)中的對(duì)應(yīng)塊的前向視差矢量,D)^,'為當(dāng)前塊在時(shí)間方向的后向參考幀(Si/t+T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,竭—,為當(dāng)前塊在視點(diǎn)方向的前向參考幀(SM/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,M^V當(dāng)前塊在視點(diǎn)方向的前向參考幀(Sw/t時(shí)刻的幀)中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,M^+,為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Sw/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,M^+,'當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+1/t時(shí)刻的幀)中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量。本發(fā)明中用到的相鄰圖像運(yùn)動(dòng)和視差矢量的關(guān)系relationl對(duì)應(yīng)7.="J>;,,rdation2X寸應(yīng)'+Dp;'=MK'+£>F;+7,',relation3對(duì)應(yīng)DR—7,'+=^+W。本發(fā)明的技術(shù)方案流程圖參見(jiàn)圖5、圖6、圖7。圖5是本發(fā)明采用方法的基本框圖;圖6是本發(fā)明的快速運(yùn)動(dòng)和視差聯(lián)合估計(jì)流程圖;圖7是本發(fā)明的前向搜索過(guò)程的具體流程圖。令視點(diǎn)Si為當(dāng)前正在編碼的視點(diǎn),ia:t,Si的參考視點(diǎn)為相鄰的左視點(diǎn)S卜,和右視點(diǎn)Sw,S,々表示視點(diǎn)S,中f吋刻的圖像幀,令S々時(shí)刻的圖像幀為當(dāng)前幀,r為當(dāng)前幀和該路視點(diǎn)中上層的兩個(gè)最相鄰已編碼幀之間的時(shí)間間隔,其中正在編碼的塊&為當(dāng)前塊,當(dāng)前塊已編碼的左邊塊、,上邊塊、右上塊稱為當(dāng)前塊的相鄰塊,當(dāng)前塊在參考幀中的最佳匹配塊稱為預(yù)測(cè)塊,然后,具體實(shí)施按照以下步驟執(zhí)行第一步判斷當(dāng)前幀是否為錨定幀,如果是錨定幀,則采用全搜索方法來(lái)對(duì)該錨定幀中的所有塊進(jìn)行編碼,并且保存每個(gè)塊編碼后的視差矢量Z^一,,其中,D巧一,為當(dāng)前塊在時(shí)間方向的前向參考幀(Si/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的視差矢量;如果當(dāng)前幀為非錨定幀,則將當(dāng)前幀的視點(diǎn)方向參考幀的運(yùn)動(dòng)和視差矢量讀入到緩存中,將該非錨定幀的第一個(gè)塊作為當(dāng)前塊,例如,當(dāng)前幀(S力時(shí)刻的幀)視點(diǎn)方向的參考幀為Sw/t時(shí)刻的幀和Si+1/t時(shí)刻的幀;第二步開(kāi)始前向搜索,求取當(dāng)前塊的前向運(yùn)動(dòng)矢量和前向視差矢量,將relatkml描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系M^+DJ^^DR+MI^定義為Relation,其中,MJ^為當(dāng)前塊的前向運(yùn)動(dòng)矢量,Z^為當(dāng)前塊的前向視差矢量,Z^一,為當(dāng)前塊在時(shí)間方向的前向參考幀(Si/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的前向視差矢量,iw;,為當(dāng)前塊在視點(diǎn)方向的前向參考幀(Sw/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;第三步讀入當(dāng)前幀的前向參考幀,例如,Si/T6時(shí)刻的B,幀,它的前向參考幀為S/T。時(shí)刻的Bo幀和Sw/T6時(shí)刻的B(幀'其中,Si/To時(shí)刻的Bo幀為時(shí)間方向的前向參考幀,S"一T6時(shí)刻的B,幀為視點(diǎn)方向的前向參考幀;S/T3時(shí)刻的B2幀,它的前向參考幀為S/To時(shí)刻的Bo幀和Sw/T3時(shí)刻的B2幀,其:中,S/r(,時(shí)刻的Bo幀為時(shí)間方向的前向參考幀,Si./T3時(shí)刻的B2幀為視點(diǎn)方向的前向參考幀;第四步將當(dāng)前塊在時(shí)間方向的前向參考幀(Si/t-T時(shí)刻的幀)中對(duì)應(yīng)塊的前向視差矢量設(shè)為當(dāng)前塊的前向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的前向參考幀(如Sw/t時(shí)刻的幀)中對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量設(shè)為當(dāng)前塊的前向運(yùn)動(dòng)矢量的初值;第五步將當(dāng)前塊的前向運(yùn)動(dòng)矢量初值緒二,和當(dāng)前塊的前向視差矢量初值D^,分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,計(jì)算當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和S4D,選取使,W)值最小的矢量作為當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pMK。和當(dāng)前塊的前向視差矢量預(yù)測(cè)值^^:。,并在^M^。附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量M^,保存該最小率失真代價(jià)RDO^^。;在一K。附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量DK。,保存該最小率失真代價(jià)RDO^ra。,其中,&4/)按下式計(jì)算,B'々5L4£)(c,r=2:Ic[z',刀.一r[/--wv,;,乂一附v少]I'=u=ir—力)表示當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和,,私刀表示當(dāng)前塊的像素值;小-,]表示預(yù)測(cè)塊的像素值,S,^分別表示塊的水平和垂直像素?cái)?shù),運(yùn)動(dòng)估計(jì)和視差估計(jì)的率失真代價(jià)按下式計(jì)算,RDCW她.萌=&4D(c,r(mv))+/1x—,-(m^,,》T表示當(dāng)前塊相對(duì)于預(yù)測(cè)塊的運(yùn)動(dòng)/視差矢量;=Oe《,;^《)T表示當(dāng)前塊的運(yùn)動(dòng)/視差矢量的預(yù)測(cè)值;碼率;^0表示編碼運(yùn)動(dòng)順差矢量的差值所需的比特?cái)?shù),義表示拉格朗日乘子;第六步由當(dāng)前塊s,,的位置和當(dāng)前塊的前向視差矢量r^。相加得到當(dāng)前塊在視點(diǎn)方向的前向參考幀(S,一,/t時(shí)刻的幀)中的預(yù)測(cè)塊《—,,,,即,d,::^+D巧。,讀取預(yù)測(cè)塊/^,的前向運(yùn)動(dòng)矢量MK—,,利用Relation描述的矢量關(guān)系,由戶M^=Z^。,-L>^_,得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pM^,其中,,為當(dāng)前塊在時(shí)間方向的前向參考幀(Sj/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的前向視差矢量,M^為當(dāng)前塊在視點(diǎn)方向的前向參考幀(SiVt時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量MJ^,保存該最小率失真代價(jià)RDCoW編;第七步由當(dāng)前塊^的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量M^相加得到當(dāng)前塊在時(shí)間方向的前向參考幀(s,/卜r時(shí)刻的幀)中的預(yù)測(cè)塊&—7.,艮口,i^=《,+M^,讀取預(yù)測(cè)塊i^的視差矢量川",利用Relation描述的矢量關(guān)系,由pZ):=MJ^+.D^,--MI仏得到一個(gè)新的當(dāng)前塊的前向視差矢量預(yù)測(cè)值W^,,其中,,DP^為當(dāng)前塊在時(shí)間方向的前向參考幀(Sj/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的前向視差矢量,為當(dāng)前塊在視點(diǎn)方向的前向參考幀(Si-,/t時(shí)刻)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在W&附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量D^,保存該最小率失真代價(jià)RDCW腦;第八步判斷RDCo^^,是否小于RDCa"皿。,RDC(,W皿是否小于RDOW朋o,如果RDOw^j,小于RDCay~£0并上LRDCoW腦小于RDaw,,^,則令£F,。=Z)^,il^。=,RDCoW扁=1U3C。W細(xì),RDCoW腳=RDG7W?!?,跳轉(zhuǎn)到第六步;否貝U,將M(^,£'巧。,RDQ^函,RDO^,保存為當(dāng)前塊的前向運(yùn)動(dòng)和視差估計(jì)結(jié)果;第九步比較前向運(yùn)動(dòng)矢量和前向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的作為前向搜索的最佳預(yù)測(cè)矢量;第十步開(kāi)始后向搜索過(guò)程,求取當(dāng)前塊的后向運(yùn)動(dòng)矢量和后向視差矢量,首先判斷當(dāng)前幀是否有4個(gè)參考幀,如果當(dāng)前幀的參考幀數(shù)目不等于4,例如,S/Tn時(shí)刻的幀只有視點(diǎn)方向的2個(gè)參考幀和時(shí)間方向的l個(gè)前向參考幀,沒(méi)有時(shí)間方向的后向參考幀,則將relation3描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation,跳轉(zhuǎn)到第十八步;若當(dāng)前幀有4個(gè)參考幀,.則將relation2描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation;其中,relation2如下式所示其中,M^'為當(dāng)前塊的后向運(yùn)動(dòng)矢量,ZW為當(dāng)前塊的后向視差矢量,D^/為當(dāng)前塊在時(shí)間方向的后向參考幀(Sj/t+T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,'為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+1/t時(shí)刻的幀)中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量;re〗ation3如下式所示其中,M^為當(dāng)前塊的前向運(yùn)動(dòng)矢量,D^'為當(dāng)前塊的后向視差矢量,D^/為當(dāng)前塊在時(shí)間方向的前向參考幀(S/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+1/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;第十一步讀入當(dāng)前幀的后向參考幀,例如,VT6時(shí)刻的Bj幀,它的后向參考幀為S/T12時(shí)刻的B0幀和Si+1/T6時(shí)刻的B!幀,其中,S/Tt2時(shí)刻的Bo幀為時(shí)間方向的后向參考幀,Sw/T6時(shí)刻的B,幀為視點(diǎn)方向的后向參考幀;S/T3時(shí)刻的B2幀,它的后向參考幀為S/T6時(shí)刻的B,幀和Sw/T3時(shí)刻的B2幀,其中,8/16時(shí)刻的B,幀為時(shí)間方向的后向參考幀,Si+,/丁3時(shí)刻的B2幀為視點(diǎn)方向的后向參考幀;第十二步將當(dāng)前塊在時(shí)間方向的后向參考幀(Sj/t+T時(shí)刻的幀)中對(duì)應(yīng)塊的后向視差矢量Z)^/設(shè)為當(dāng)前塊的后向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的后向參考幀(如Sw/l時(shí)刻的幀)中對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量MJ^'設(shè)為當(dāng)前塊的后向運(yùn)動(dòng)矢量的初值;第十三步將當(dāng)前塊的后向運(yùn)動(dòng)矢量初值MI^'和當(dāng)前塊的后向視差矢量初值^+/分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,計(jì)算當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和&4",選取使X4D值最小的矢量作為當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值/7M^。'和當(dāng)前塊的后向視差矢量預(yù)測(cè)值',并在pMI/;。'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量MK。',保存該最小率失真代價(jià)RDO^她。';在^Z^。'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量DPV,保存該最小率失真代價(jià)RDC。W,';第十四步由當(dāng)前塊^的位置和當(dāng)前塊的后向視差矢量Z)F,。'相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀(S,+,/t時(shí)'刻的幀)中的預(yù)測(cè)塊《+1,,,即,^,,=《,+^^。',讀取預(yù)測(cè)塊/u,的后向運(yùn)動(dòng)矢量M^+1',利用Relation描述的矢量關(guān)系,由'="K。'-£^+,'得到一個(gè)新的當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值pMPV,其中,D^/為當(dāng)前塊在時(shí)間方向的后向參考幀(Si/t+T時(shí)刻的幀)中對(duì)應(yīng)塊的后向視差矢量,M^,'為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+1/t時(shí)刻的幀)中對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在pMJ:'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量M^',保存該最小率失真代價(jià)RDOw^,';第十五步由當(dāng)前塊&的位置和當(dāng)前塊的后向運(yùn)動(dòng)矢量MJ/;,'相加得到當(dāng)前塊在時(shí)間方向的后向參考幀(S,/nr時(shí)刻的幀)中的預(yù)測(cè)塊iU,,艮P,=《,+MV,讀取預(yù)測(cè)塊i^的后向視差矢量"L',利用Relation描述的矢量關(guān)系,由p/):'='+'-Ml〈+,'得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值WPV,其中,Z^+,'為當(dāng)前塊在時(shí)間方向的后向參考幀(Sj/t+T時(shí)刻的幀)中對(duì)應(yīng)塊的后向視差矢量,M匕'為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+l/t時(shí)刻的幀)中對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在^^,'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量DP^'',保存該最小率失真代價(jià)RDC。W^';第十六步判斷RDC。W皿'是否小于RDOwW,RDO^皿'是否小于RDOw^。',如果RDO^她,'小于RDCw^。'并且RDCoWD/n'小于RDQ^腳',則令'=Z)P;,',MF,。'=7k/TV,RDCc^則'=RDCoW,',RDO^朋。^RDC仍"',跳轉(zhuǎn)到第十四步;否則,將MPV,Z)PV,RDO^,',RDO^,'保存為當(dāng)前塊的后向運(yùn)動(dòng)和視差估計(jì)結(jié)果;第十七歩比較后向運(yùn)動(dòng)矢量和后向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的作為后向搜索的最佳預(yù)測(cè)矢量,跳轉(zhuǎn)到第二十四步;第十八步讀入當(dāng)前幀時(shí)間方向的前向參考幀(Sj/t-T時(shí)刻的幀)和視點(diǎn)方向的后向參考幀(&,/t時(shí)刻的幀);第十九步將當(dāng)前塊在時(shí)間方向的前向參考幀(SA-T吋刻的幀)中對(duì)應(yīng)塊的后向視差矢量D^/設(shè)為當(dāng)前塊的后向視差矢量的初值;第二十步將當(dāng)前塊的后向視差矢量初值^+7.'與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,計(jì)算當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和&4D,選取使&4D值最小的矢量作為當(dāng)前塊的后向視差矢量預(yù)測(cè)值WPV,在pi^。'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量D^',保存該最小率失真代價(jià)第二十一步由當(dāng)前塊/:,,的位置和當(dāng)前塊的后向視差矢量D巧。'相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀(sHl/t時(shí)刻的幀)中的預(yù)測(cè)塊^.,,即,/U(=^+D^',讀取預(yù)測(cè)塊;,的前向運(yùn)動(dòng)矢量M^+,,利用Relation描述的矢量關(guān)系,由=-Z)K。'得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值;M^,其中,Z)^'為當(dāng)前塊在時(shí)間方向的前向參考幀(S/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,M^,為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Sj+,/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在;^M^附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量M^;第二十二步由當(dāng)前塊《,的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量M^相加得到當(dāng)前塊在時(shí)間方向前向參考幀(S/t-T時(shí)刻的幀)中的預(yù)測(cè)塊《,—,,即,/W::/^+A^,讀取預(yù)測(cè)塊C的后向視差矢量Z)^V,利用Relation描述的矢量關(guān)系,由='+-得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值^)^',其中,Z)^'為當(dāng)前塊在時(shí)間方向的前向參考幀(Si/t-T時(shí)刻的幀)中的對(duì)應(yīng)塊的后向視差矢量,M^為當(dāng)前塊在視點(diǎn)方向的后向參考幀(Si+1/t時(shí)刻的幀)中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在'附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口.,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作23為該區(qū)域內(nèi)的最佳視差矢量i^,',保存該最小率失真代價(jià)第二十三步判斷RDC。W腦'是否小于RDC。W。/;Q',如果RDQw/脂'小于RDCW腦',則令'=W,RI)Ow,漢0'=RDCa"朗',跳轉(zhuǎn)到第二十一步;否則,將D^'作為后向搜索的最佳預(yù)測(cè)矢量;第二十四步根據(jù)前向搜索和后向搜索得到的結(jié)果,從中選取使率失真代價(jià)最小的矢量作為當(dāng)前塊的最優(yōu)預(yù)測(cè)矢量,保存當(dāng)前塊的最佳編碼信息,當(dāng)前塊的運(yùn)動(dòng)和視差估計(jì)過(guò)程結(jié)束;第二十五步判斷當(dāng)前幀中是否還有未編碼塊,如果當(dāng)前幀中還有未編碼塊,則跳轉(zhuǎn)到第二步,開(kāi)始編碼當(dāng)前塊的下一塊;如果當(dāng)前幀中所有塊都編碼完畢,則判斷當(dāng)前視點(diǎn)中是否還有未編碼幀,如果當(dāng)前視點(diǎn)中還有未編碼幀,則跳轉(zhuǎn)到第一步,開(kāi)始編碼當(dāng)前幀的下一幀;如果當(dāng)前視點(diǎn)的所有幀都編碼完畢,則對(duì)當(dāng)前視點(diǎn)的編碼過(guò)程結(jié)束。為了檢驗(yàn)本發(fā)明所提出的方法的性能,將本發(fā)明的方法與全搜索方法進(jìn)行比較。實(shí)驗(yàn)條件及參數(shù)如表1所示。所有實(shí)驗(yàn)均在Intel(R)Core(TM)2Duo2.39GHzCPU,1G內(nèi)存的PC機(jī)上獨(dú)立執(zhí)行。表i實(shí)驗(yàn)條件<table>tableseeoriginaldocumentpage24</column></row><table>不同算法的峰值信噪比、碼率以及運(yùn)動(dòng)和視差估計(jì)時(shí)間如表2所示。由表2的結(jié)果可以看出,本發(fā)明方法和全搜索方法相比,峰值信噪比基本相當(dāng),變化范圍在-0.01~-0.09dB之間;碼率比特略有節(jié)省,變化在-14,.20%~+0.60%之間,本發(fā)明方法的編碼質(zhì)量略優(yōu)于全搜索方法;并且,本發(fā)明的方法極大地提高了編碼效率,能節(jié)省約90%的運(yùn)算時(shí)間。由于本發(fā)明方法只是針對(duì)非瞄定幀,對(duì)于瞄定幀仍然采用全搜索方法,因此,若去除瞄定幀的全搜索方法時(shí)間,本發(fā)明方法能節(jié)省卯%以上的運(yùn)算時(shí)間。三種不同序列的編碼率失真性能比較曲線示意圖分別如圖8-圖10所示,在相同的碼率下,本發(fā)明方法平均信噪比稍優(yōu)于全搜索方法,這說(shuō)明本發(fā)明方法選取的預(yù)測(cè)矢量比中值矢量更有效。圖11為不同算法的運(yùn)算復(fù)雜度比較,從中可以清楚地看出,與全搜索方法相比,本發(fā)明方法極大地降低了編碼復(fù)雜度。表2本發(fā)明方法與全搜索方法比較<table>tableseeoriginaldocumentpage25</column></row><table>其中,APSM=^A^本發(fā)明旅—P^W參考旅,g—本發(fā)明方法平均碼率-參考方法平均碼率一¥^^¥"^11x時(shí)間一本發(fā)明方法編碼時(shí)間-參考方法編碼時(shí)間o參考方法編碼時(shí)間權(quán)利要求1、一種多視點(diǎn)視頻編碼中的運(yùn)動(dòng)和視差聯(lián)合估計(jì)方法,首先令具有k+1臺(tái)從左至右排列的平行攝像機(jī)系統(tǒng)拍攝得到的多視點(diǎn)視頻表示為{S0,S1,S2…Sk},每路視點(diǎn)包含n個(gè)時(shí)刻的圖像幀,令視點(diǎn)St為當(dāng)前視點(diǎn),1≤i≤k,Si的參考視點(diǎn)為相鄰的左視點(diǎn)Si-1和右視點(diǎn)Si+1,令視點(diǎn)Si中t時(shí)刻的幀為當(dāng)前幀,T為當(dāng)前幀和該路視點(diǎn)中的兩個(gè)最相鄰已編碼幀之間的時(shí)間間隔,當(dāng)前幀在時(shí)間方向的前向參考幀為視點(diǎn)Si中t-T時(shí)刻的已編碼幀,當(dāng)前幀在時(shí)間方向的后向參考幀為視點(diǎn)Si中t+T時(shí)刻的已編碼幀,當(dāng)前幀在視點(diǎn)方向的前向參考幀為視點(diǎn)Si-1中t時(shí)刻的已編碼幀,當(dāng)前幀在視點(diǎn)方向的后向參考幀為視點(diǎn)Si+1中t時(shí)刻的已編碼幀,前向搜索是指當(dāng)前幀通過(guò)參考前向參考幀進(jìn)行前向運(yùn)動(dòng)和視差估計(jì),后向搜索是指當(dāng)前幀通過(guò)參考后向參考幀進(jìn)行后向運(yùn)動(dòng)和視差估計(jì),假設(shè)正在編碼的塊Pi,t為當(dāng)前塊,當(dāng)前塊已編碼的左邊塊、上邊塊、右上塊通稱為當(dāng)前塊的相鄰塊,參考幀中與當(dāng)前塊位置相同的塊稱為對(duì)應(yīng)塊,當(dāng)前塊在參考幀中的最佳匹配塊稱為預(yù)測(cè)塊,其特征在于包括以下步驟(1)判斷當(dāng)前幀是否為錨定幀,如果是錨定幀,則采用全搜索方法對(duì)該錨定幀中的所有塊進(jìn)行編碼,并且保存每個(gè)塊編碼后的視差矢量DVt-T;如果當(dāng)前幀為非錨定幀,則將當(dāng)前幀視點(diǎn)方向參考幀的運(yùn)動(dòng)和視差矢量讀入到緩存中,將該非錨定幀的第一個(gè)塊作為當(dāng)前塊;(2)開(kāi)始前向搜索,求取當(dāng)前塊的前向運(yùn)動(dòng)矢量和前向視差矢量,將relation1描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系MVi+DVt-T=DVt+MVi-1定義為Relation,其中,MVi為當(dāng)前塊的前向運(yùn)動(dòng)矢量,DVt為當(dāng)前塊的前向視差矢量,DVt-T為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,MVi-1為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;(3)將當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量DVt-T設(shè)為當(dāng)前塊的前向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量MVi-1設(shè)為當(dāng)前塊的前向運(yùn)動(dòng)矢量的初值;(4)將當(dāng)前塊的前向運(yùn)動(dòng)矢量初值MVi-1和當(dāng)前塊的前向視差矢量初值DVt-T分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使SAD值最小的矢量作為當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pMVi0和當(dāng)前塊的前向視差矢量預(yù)測(cè)值pDVt0,并在pMVi0附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量MVi0,保存該最小率失真代價(jià)RDCostME0;在pDVt0附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt0,保存該最小率失真代價(jià)RDCostDE0,其中,SAD按下式計(jì)算,<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>SAD</mi><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>r</mi><mrow><mo>(</mo><mi>mv</mi><mo>)</mo></mrow><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><mo>|</mo><mi>c</mi><mo>[</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>]</mo><mo>-</mo><mi>r</mi><mo>[</mo><mi>i</mi><mo>-</mo><msub><mi>mv</mi><mi>x</mi></msub><mo>,</mo><mi>j</mi><mo>-</mo><msub><mi>mv</mi><mi>y</mi></msub><mo>]</mo><mo>|</mo></mrow>]]></math></maths>SAD(c,r(mv))表示當(dāng)前塊和預(yù)測(cè)塊的絕對(duì)誤差和,c[i,j]表示當(dāng)前塊的像素值;r[i-mvx,j-mvy]表示預(yù)測(cè)塊的像素值,B1,B2分別表示塊的水平和垂直像素?cái)?shù),運(yùn)動(dòng)估計(jì)和視差估計(jì)的率失真代價(jià)按下式計(jì)算,RDCostME\DE=SAD(c,r(mv))+λ×R(mv-pred)mv=(mvx,mvy)T表示當(dāng)前塊相對(duì)于預(yù)測(cè)塊的運(yùn)動(dòng)/視差矢量;pred=(predx,predy)T表示當(dāng)前塊的運(yùn)動(dòng)/視差矢量的預(yù)測(cè)值;碼率R(mv-pred)表示編碼運(yùn)動(dòng)/視差矢量的差值所需的比特?cái)?shù),λ表示拉格朗日乘子;(5)由上一步得到的運(yùn)動(dòng)/視差矢量來(lái)計(jì)算得到更準(zhǔn)確的視差/運(yùn)動(dòng)矢量,由當(dāng)前塊Pi,t的位置和當(dāng)前塊的前向視差矢量DVt0相加得到當(dāng)前塊在視點(diǎn)方向的前向參考幀中的預(yù)測(cè)塊Pi-1,t,即,Pi-1,t=Pi,t+DVt0,讀取預(yù)測(cè)塊Pi-1,t的前向運(yùn)動(dòng)矢量MVi-1,利用Relation描述的矢量關(guān)系,由pMVi1=DVt0+MVi-1-DVt-T得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pMVi1,其中,DVt-T為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,MVi-1為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在pMVt1附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量MVi1,保存該最小率失真代價(jià)RDCostME1;由當(dāng)前塊Pi,t的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量MVi1相加得到當(dāng)前塊在時(shí)間方向的前向參考幀中的預(yù)測(cè)塊Pi,t-T,即,Pi,t-T=Pi,t+MVi1,讀取預(yù)測(cè)塊Pi,t-T的視差矢量DVt-T,利用Relation描述的矢量關(guān)系,由pDVt1=MVi1+DVt-T-MVi-1得到一個(gè)新的當(dāng)前塊的前向視差矢量預(yù)測(cè)值pDVt1,其中,DVt-T為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的前向視差矢量,MVi-1為當(dāng)前塊在視點(diǎn)方向的前向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在pDVt1附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt1,保存該最小率失真代價(jià)RDCostDE1;(6)判斷RDCostME1是否小于RDCostME0,RDCostDE1是否小于RDCostDE0,如果RDCostME1小于RDCostME0并且RDCostDE1小于RDCostDE0,則令DVt0=DVt1,MVi0=MVi1,RDCostME0=RDCostME1,RDCostDE0=RDCostDE1,跳轉(zhuǎn)到步驟(5);否則,將MVi0,DVt0,RDCostME0,RDCostDE0保存為當(dāng)前塊的前向運(yùn)動(dòng)和視差估計(jì)結(jié)果;(7)比較前向運(yùn)動(dòng)矢量和前向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的作為前向搜索的最佳預(yù)測(cè)矢量;(8)開(kāi)始后向搜索過(guò)程,首先判斷當(dāng)前幀是否有時(shí)間方向的后向參考幀,如果當(dāng)前幀有時(shí)間方向的后向參考幀,則將relation2描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation,開(kāi)始計(jì)算當(dāng)前塊的后向運(yùn)動(dòng)矢量和當(dāng)前塊的后向視差矢量;如果當(dāng)前幀沒(méi)有時(shí)間方向的后向參考幀,則將relation3描述的相鄰圖像的運(yùn)動(dòng)矢量和視差矢量的關(guān)系定義為Relation,跳轉(zhuǎn)到步驟(14),開(kāi)始計(jì)算當(dāng)前塊的后向視差矢量;其中,relation2如下式所示DVt′+MVi+1′=MVi′+DVt+T′其中,MVi′為當(dāng)前塊的后向運(yùn)動(dòng)矢量,DVt′為當(dāng)前塊的后向視差矢量,DVt+T′為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1′為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量;relation3如下式所示DVt′+MVi+1=MVi+DVt-T′其中,MVi為當(dāng)前塊的前向運(yùn)動(dòng)矢量,DVt′為當(dāng)前塊的后向視差矢量,DVt-T′為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量;(9)將當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量DVt+T′設(shè)為當(dāng)前塊后向視差矢量的初值;將當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量MVi+1′設(shè)為當(dāng)前塊后向運(yùn)動(dòng)矢量的初值;(10)將當(dāng)前塊的后向運(yùn)動(dòng)矢量初值MVi+1′和當(dāng)前塊的后向視差矢量初值DVt+T′分別與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使SAD值最小的矢量作為當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值pMVi0′和當(dāng)前塊的后向視差矢量預(yù)測(cè)值pDVt0′,并在pMVi0′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳運(yùn)動(dòng)矢量MVi0′,保存該最小率失真代價(jià)RDCostME0′;在pDVt0′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt0′,保存該最小率失真代價(jià)RDCostDE0′;(11)由上一步得到的運(yùn)動(dòng)/視差矢量來(lái)計(jì)算得到更準(zhǔn)確的視差/運(yùn)動(dòng)矢量,由當(dāng)前塊Pi,t的位置和當(dāng)前塊的后向視差矢量DVt0′相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀中的預(yù)測(cè)塊Pi+1,t,即,Pi+1,t=Pi,t+DVt0′,讀取預(yù)測(cè)塊Pi+1,t的后向運(yùn)動(dòng)矢量MVi+1′,利用Relation描述的矢量關(guān)系,由pMVi1′=DVt0′+MVi+1′DVt+T′得到一個(gè)新的當(dāng)前塊的后向運(yùn)動(dòng)矢量預(yù)測(cè)值pMVi1′,其中,DVt+T′為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1′為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在pMVi1′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量MVi1′,保存該最小率失真代價(jià)RDCostME1′;由當(dāng)前塊Pi,t的位置和當(dāng)前塊的后向運(yùn)動(dòng)矢量MVi1′相加得到當(dāng)前塊在時(shí)間方向后向參考幀中的預(yù)測(cè)塊Pi,t+T,即,Pi,t+T=Pi,t+MVi1′,讀取預(yù)測(cè)塊Pi,t+T的后向視差矢量DVt+T′,利用Relation描述的矢量關(guān)系,由pDVt1′=MVi1′+DVt+T′-MVi+1′得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值pDVt1′,其中,DVt+T′為當(dāng)前塊在時(shí)間方向的后向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1′為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的后向運(yùn)動(dòng)矢量,在pDVt1′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt1′,保存該最小率失真代價(jià)RDCostDE1′;(12)判斷RDCostME1′是否小于RDCostME0′,RDCostDE1′是否小于RDCostDE0′,如果RDCostME1′小于RDCostME0′開(kāi)且RDCostDE1′小于RDCostDE0′,則令DVt0′=DVt1′,MVi0′=MVi1′,RDCostME0′=RDCostME1′,RDCostDE0′=RDCostDE1′,跳轉(zhuǎn)到步驟(11);否則,將MVi0′,DVt0′,RDCostME0′,RDCostDE0′保存為當(dāng)前塊的后向運(yùn)動(dòng)和視差估計(jì)結(jié)果;(13)比較后向運(yùn)動(dòng)矢量和后向視差矢量的率失真代價(jià),選取率失真代價(jià)較小的作為后向搜索的最佳預(yù)測(cè)矢量,跳轉(zhuǎn)到步驟(18);(14)將當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量DVt-T′設(shè)為當(dāng)前塊后向視差矢量的初值;(15)將當(dāng)前塊的后向視差矢量初值DVt-T′與當(dāng)前塊的相鄰塊的預(yù)測(cè)矢量以及零矢量進(jìn)行比較,選取使SAD值最小的矢量作為當(dāng)前塊的后向視差矢量預(yù)測(cè)值pDVt0′,在pDVt0′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt0′,保存該最小率失真代價(jià)RDCostDE0′;(16)由當(dāng)前塊Pi,t的位置和當(dāng)前塊的后向視差矢量DVt0′相加得到當(dāng)前塊在視點(diǎn)方向的后向參考幀中的預(yù)測(cè)塊Pi+1,t,即,Pi+1,t=Pi,t+DVt0′,讀取預(yù)測(cè)塊Pi+1,t的前向運(yùn)動(dòng)矢量MVi+1,利用Relation描述的矢量關(guān)系,由pMVi1=DVt0′+MVi+1-DVt-T′得到一個(gè)新的當(dāng)前塊的前向運(yùn)動(dòng)矢量預(yù)測(cè)值pMVi1,其中,DVt-T′為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在pMVi1附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳運(yùn)動(dòng)矢量匹配,選取該區(qū)域內(nèi)使率失真代價(jià)最小的運(yùn)動(dòng)矢量作為最佳運(yùn)動(dòng)矢量MVi1;由當(dāng)前塊Pi,t的位置和當(dāng)前塊的前向運(yùn)動(dòng)矢量MVi1相加得到當(dāng)前塊在時(shí)間方向前向參考幀中的預(yù)測(cè)塊Pi,t-T,即,Pi,t-T=Pi,t+MVi1,讀取預(yù)測(cè)塊Pi,t-T的后向視差矢量DVt-T′,利用Relation描述的矢量關(guān)系,由pDVt1′=DVt-T′+MVi1-MVi+1得到一個(gè)新的當(dāng)前塊的后向視差矢量預(yù)測(cè)值pDVt1′,其中,DVt-T′為當(dāng)前塊在時(shí)間方向的前向參考幀中的對(duì)應(yīng)塊的后向視差矢量,MVi+1為當(dāng)前塊在視點(diǎn)方向的后向參考幀中的對(duì)應(yīng)塊的前向運(yùn)動(dòng)矢量,在pDVt1′附近設(shè)定一個(gè)至少2個(gè)像素的搜索窗口,在這個(gè)搜索窗口內(nèi)進(jìn)行最佳視差矢量匹配,選取使率失真代價(jià)最小的視差矢量作為該區(qū)域內(nèi)的最佳視差矢量DVt1′,保存該最小率失真代價(jià)RDCostDE1′;(17)判斷RDCostDE1′是否小于RDCostDE0′,如果RDCostDE1′小于RDCostDE0′,則令DVt0′=DVt1′,RDCostDE0′=RDCostDE1′,跳轉(zhuǎn)到步驟(16);否則,將DVt0′作為后向搜索的最佳預(yù)測(cè)矢量;(18)根據(jù)前向搜索和后向搜索得到的結(jié)果,從中選取使率失真代價(jià)最小的矢量作為當(dāng)前塊的最優(yōu)預(yù)測(cè)矢量,保存當(dāng)前塊的最佳編碼信息,當(dāng)前塊的運(yùn)動(dòng)和視差估計(jì)過(guò)程結(jié)束;(19)判斷當(dāng)前幀中是否還有未編碼塊,如果當(dāng)前幀中還有未編碼塊,則跳轉(zhuǎn)到步驟(2),開(kāi)始編碼當(dāng)前塊的下一塊;如果當(dāng)前幀中所有塊都編碼完畢,則判斷當(dāng)前視點(diǎn)中是否還有未編碼幀,如果當(dāng)前視點(diǎn)中還有未編碼幀,則跳轉(zhuǎn)到步驟(1),開(kāi)始編碼當(dāng)前幀的下一幀;如果當(dāng)前視點(diǎn)的所有幀都編碼完畢,則對(duì)當(dāng)前視點(diǎn)的編碼過(guò)程結(jié)束。全文摘要本發(fā)明的一種多視點(diǎn)視頻編碼中的運(yùn)動(dòng)和視差聯(lián)合估計(jì)方法,步驟如下A.將相同視點(diǎn)相鄰時(shí)刻圖像對(duì)應(yīng)塊的視差矢量,運(yùn)動(dòng)矢量分別作為當(dāng)前編碼塊視差矢量的初值;B.分別將初值和已編碼相鄰塊的預(yù)測(cè)矢量作比較,據(jù)匹配誤差最小化準(zhǔn)則選取最優(yōu)預(yù)測(cè)矢量作為該區(qū)域的搜索起始點(diǎn);C.結(jié)合相鄰圖像運(yùn)動(dòng)矢量和視差矢量之間的幾何關(guān)系,由前一次運(yùn)動(dòng)/視差估計(jì)得到候選矢量來(lái)進(jìn)行下一次視差/運(yùn)動(dòng)估計(jì),不斷修正當(dāng)前運(yùn)動(dòng)和視差矢量,直到得到當(dāng)前編碼塊的最佳運(yùn)動(dòng)矢量和視差矢量。該方法只需一次搜索過(guò)程就能同時(shí)確定最佳運(yùn)動(dòng)矢量和視差矢量。與全搜索算法相比,本發(fā)明峰值信噪比下降不超過(guò)0.09dB,碼率比特略有節(jié)省,碼率變化在-14.20%~+0.60%之間,且節(jié)省90%以上的編碼時(shí)間。文檔編號(hào)H04N7/26GK101600108SQ20091008839公開(kāi)日2009年12月9日申請(qǐng)日期2009年6月26日優(yōu)先權(quán)日2009年6月26日發(fā)明者劉鵬宇,賈克斌,鄧智玭申請(qǐng)人:北京工業(yè)大學(xué)