欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用預(yù)測指導(dǎo)的抽取搜索的運動估計的制作方法

文檔序號:6569968閱讀:179來源:國知局

專利名稱::利用預(yù)測指導(dǎo)的抽取搜索的運動估計的制作方法
技術(shù)領(lǐng)域
:本發(fā)明總的來說涉及視頻序列中的運動估計,而具體地涉及一種利用預(yù)測指導(dǎo)的抽取搜索運動估計算法的方法和設(shè)備。
背景技術(shù)
:高質(zhì)量和低比特速率的視頻被廣泛地用于電信、娛樂、廣播、監(jiān)視、數(shù)字像機(jī)和軍事應(yīng)用。數(shù)量越來越多的視頻產(chǎn)品依賴于視頻壓縮來減少用于存儲和/或傳輸視頻序列所需要的比特的數(shù)量,舉例而言,所述視頻產(chǎn)品如DVD播放器、數(shù)字電視機(jī)、個人錄^4^、多媒體自動唱機(jī)、具有視頻能力的蜂窩電話。視頻序列由一系列幀構(gòu)成。為了改善視頻lt據(jù)壓縮效率,可以執(zhí)行運動估計。運動估計已經(jīng)被證明在下述方面是有效的通過^1擬目鄰幀之間的相關(guān)性而利用視頻序列的時間冗余。在幀的序列中,根據(jù)被稱為參考幀的前一幀來預(yù)測當(dāng)前幀。當(dāng)前幀通常被劃分為多個塊或者宏塊。所述宏塊的大小通常是16x16像素,但是依賴于標(biāo)準(zhǔn),宏塊的大小可以不同。通過使用某種誤差標(biāo)準(zhǔn),如通過使用絕對差值和(SAD)、最小均方誤差(MSE)或者平均絕對誤差(MAE),當(dāng)前幀中的每個宏塊與在參考幀中的相同大小的區(qū)域(也可以被稱為宏塊)相比較,以定位最佳匹配的宏塊。為了使計算成本最小,運動估計可以在參考幀內(nèi)的預(yù)定搜索區(qū)域上進(jìn)行。確定用于表示參考幀中的最佳匹配宏塊相對于當(dāng)前幀中的宏塊的位移的向量。這個向量被稱為運動向量。運動向量通常用于通過對從一幀到下一幀的圖像變化進(jìn)行編碼而不是對整個幀進(jìn)行編碼來壓縮視頻序列。為了滿;uit可視通信應(yīng)用的高要求,已經(jīng)開發(fā)了許多視頻壓縮標(biāo)準(zhǔn)。運動估計是許多視頻壓縮方案的中心部分,例如是ISO/IECMPEG-1、MPEG國2、MPEG-4、CCITTH.261、ITU-TH.263、ITU-TH.264和MicrosoftWMV9/VC-1的中心部分。除了視頻壓縮之外,運動估計還可以用于其他應(yīng)用中,例如可以用于圖像穩(wěn)定、計算機(jī)視覺、運動分割和視頻分析。視頻編碼系統(tǒng)中的典型的運動估計模塊通常是計算最密集的部件,并且就計算時間和功率來說占總消耗的約50-60%,在某些情況下高達(dá)80%。雖然為了開發(fā)有效的運動估計算法已經(jīng)做了許多工作,但是大多數(shù)現(xiàn)有工作的目標(biāo)是超大,集成電路(VLSI)系統(tǒng),而且不是軟件友好的。面向硬件的算法不能提供充分的靈活性,并且需要額外的資源。這些算法的嚴(yán)格軟件實現(xiàn)方式可能得不到相同水準(zhǔn)的效率。在許多運動估計算法的開發(fā)過程中,使用計算操作的數(shù)量來測量它們的計算復(fù)雜度。已經(jīng)開發(fā)的用于優(yōu)化計算性能和存儲器存取帶寬二者的算法非常少,這對于資源有限的嵌入系統(tǒng)來"i兌^l相當(dāng)?shù)南拗啤?br/>發(fā)明內(nèi)容鑒于上述情況,本發(fā)明提供了一種利用可以用硬件和軟件實現(xiàn)的預(yù)測指導(dǎo)的抽取搜索(PredictionGuidedDecimatedSearch,PGDS)運動估計算法來進(jìn)行運動估計的方法。所述算法的特點在于改善了效率、可擴(kuò)展性并且降低了復(fù)雜度,如下所述。而且,用軟件實現(xiàn)所述算法使得該算法靈活,并且可適應(yīng)于新標(biāo)準(zhǔn)和變化的功能要求。在本發(fā)明的實施例中,所述PGDS算法包括產(chǎn)生全像素種子向量,在所產(chǎn)生的種子向量周圍執(zhí)行4^象素搜索,^進(jìn)行分?jǐn)?shù)像素搜索。為了啟動全像素搜索,期望提供可以引導(dǎo)對最終的運動向量的搜索的一個或多個開始點。利用所述開始點或者種子可以加速所述搜索。因此,產(chǎn)生兩個全像素搜索種子一預(yù)測的運動向量(PredictedMotionVector,PMV)和分級的運動向量(HierarchicalMotionVector,HMV)。所述PVM是根據(jù)相鄰的宏塊的運動向量而得出的,并且是絕對差和(SAD)加權(quán)的中間值運動向量。所述HMV是利用圍繞菱形圖案的螺旋搜索根據(jù)抽取的當(dāng)前宏塊和以類似方式抽取的參考幀而產(chǎn)生的運動向量??梢圆捎门袥Q模塊來判決是否利用PVM、HVM或者兩者進(jìn)行4^f象素搜索。因此,所述判決基于當(dāng)前上下文和歷史數(shù)據(jù)來進(jìn)行。還可以通過判決模塊來4l/映通過所述全像素搜索而評估的搜索點的數(shù)量,即要檢查的候選運動向量的數(shù)量。可以在通過所述4^象素搜索而產(chǎn)生的最終的運動向量周圍進(jìn)行分?jǐn)?shù)像素搜索,并且所述分?jǐn)?shù)像素搜索可以包括半像素搜索和四分之一像素搜索。在本發(fā)明的實施例中,在4^象素運動向量周圍的半〗象素方形搜索和在半《象素運動向量周圍的四分之一像素菱形搜索提供了足夠的分辨率。所述分?jǐn)?shù)像素搜索提供額外的精度,以抑制運動補償誤差。因此,提供了本發(fā)明的多個方面,連同多個示例性實施例,所述示例實施例并非意欲為限定性的。一個這樣的方面是一種用于視頻序列中的運動估計的方法。所述方法包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為4^象素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對每個所選擇的種子運動向量執(zhí)行所述4^象素搜索,以基于全像素運動向量的編碼成本來選擇所述4H象素運動向量;以及利用所選擇的全像素運動向量來執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。根據(jù)另一方面,提供了一種計算機(jī)可讀存儲介質(zhì)。利用用于在計算機(jī)系統(tǒng)上執(zhí)行的計算機(jī)指令對所述計算機(jī)可讀存儲介質(zhì)進(jìn)行編碼,所述指令當(dāng)被執(zhí)行時執(zhí)行一種用于視頻序列中的運動估計的方法,所述方法包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為全像素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對每個所選擇的種子運動向量執(zhí)行所述4^象素搜索,以基于全像素運動向量的編碼成本來選擇所述全像素運動向量;以及利用所選擇的4^象素運動向量來執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。根據(jù)另一方面,一種設(shè)備包括處理器和計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)包含計算機(jī)指令,用于在所述處理器上執(zhí)行以提供一種用于視頻序列中的運動估計的方法,所述方法包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為全像素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對每個所選擇的種子運動向量執(zhí)行所述全像素搜索,以基于全像素運動向量的編碼成本來選擇所述全像素運動向量;以及利用所選擇的4^象素運動向量來執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。在一些實施例中,最終的運動向量可以^1針對所述視頻序列中的當(dāng)前視頻幀內(nèi)的輸入宏塊而估計的。最終的運動向量可以在可配置大小的搜索窗內(nèi)估計??梢岳糜糜谙噜徍陦K的先前估計的運動向量來產(chǎn)生所述預(yù)測的種子運動向量??梢岳梅旨壍乃阉鱽懋a(chǎn)生所述分級的種子向量。在一些實施例中,產(chǎn)生所述分級的種子向量可包括利用預(yù)定的抽取因子來抽取輸入宏塊;并且利用所述預(yù)定的抽取因子從視頻序列中抽取參考幀。在一些實施例中,可以利用所選擇的分級的種子運動向量和/或所選擇的預(yù)測的種子運動向量來執(zhí)行全像素搜索,并且全像素搜索位置的數(shù)量是可配置的。在一些實施例中,所述4^象素搜索可以是方形搜索。所述分?jǐn)?shù)4象素搜索可以包括至少一個半像素方形搜索和至少一個四分之一像素菱形搜索。應(yīng)當(dāng)明白,上述實施例和下面描述的實施例并非意欲相互排斥,除非上下文中另外指明。附圖并非按照比例繪制的。在附圖中,用相同的標(biāo)號來表示在各個附圖中示出的每個相同或者近乎相同的部件。為了清楚,并非在每個附圖中的每個部件都被標(biāo)注了。在附圖中圖1A是被執(zhí)行以估計運動向量的運動估計的示意圖;圖1B是示出用于對當(dāng)前幀中的宏塊進(jìn)行編碼的運動向量的示意圖;圖2是更詳細(xì)地示出了圖1中用于對當(dāng)前幀中的宏塊進(jìn)行編碼的運動向量的示意3是示出一種預(yù)測指導(dǎo)的抽取搜索(PGDS)算法的流程圖;圖4是示出當(dāng)前宏塊及其用來產(chǎn)生用于該當(dāng)前宏塊的預(yù)測運動向量(PMV)種子的相鄰宏塊的示意圖;圖5是一種預(yù)測PMV種子向量和預(yù)測PMV種子向量的編碼的成本的過禾呈的流禾呈圖;圖6是示出幀抽取的示意圖;圖7示出用于運動估計的菱形圖案周圍的螺旋搜索;圖8示出用于運動估計的方形搜索圖案;圖9是示出在全像素運動向量周圍的分?jǐn)?shù)像素搜索的步驟的流程圖;圖10示出分?jǐn)?shù)像素搜索中相對于全像素的半像素和四分之一像素的位置;以及圖11gj艮據(jù)本發(fā)明一個實施例的一種用于實施用于運動估計的方法的示例性計算裝置的方框圖。具體實施方式圖1A是示出被執(zhí)行以估計運動向量的運動估計的示意圖。當(dāng)前幀100內(nèi)的宏塊102與參考幀104內(nèi)的各宏塊相比較。通常,宏塊102首先與參考幀102內(nèi)的處于相同位置的宏塊106相比較,其后,處于相同位置的宏塊106被移動到參考幀內(nèi)的其他位置,例如如圖所示的位置108和110。所述移動可以具有可變的大小,并且其方向依賴于所使用的搜索圖案以及搜索算法的參數(shù)。當(dāng)在參考幀104內(nèi)發(fā)現(xiàn)與宏塊104最佳匹配的宏塊112時,確定構(gòu)成運動向量116的宏塊102和112之間的位移,如圖1B中所示。運動向量116包括水平(x)分量114A和垂直(y)分量114B。因此,相對于參考幀104內(nèi)的最佳匹配的宏塊112,來自當(dāng)前幀100的宏塊102被編碼為運動向量116。圖1B中示意性地示出了對宏塊102的編碼,其中,為了方使束示而示出了最佳匹配的宏塊112。圖2是更詳細(xì)地示出了圖1中所示的運動向量的示意圖。圖2示出了參考幀200和界定搜索區(qū)域的搜索窗202。搜索窗的大小可以有變化。另外,圖2示出如果具有例如右上位置(Xl,yi)的宏塊102相對于具有例如右上位置(x2,y2)的最佳匹配的宏塊112被移位,則運動向量116被編碼為(Ax,Ay),其中,Ax和Ay分別是水平和垂直的位移。否則,如果未檢測到運動并且在參考幀內(nèi)與當(dāng)前幀(未示出)內(nèi)的宏塊102相同的位置處發(fā)現(xiàn)最佳匹配宏塊112,則對應(yīng)的運動向量116可以表示為(0,0)。參見圖3,示出了在本發(fā)明的實施例中使用的預(yù)測指導(dǎo)的抽取搜索(PGDS)算法300的步驟。這個算法依賴于在步驟302A和302B中產(chǎn)生兩種類型的種子向量,以啟動對運動向量的搜索。所述種子向量用于按照預(yù)定的圖案進(jìn)行隨后的搜索。所述種子向量之一被稱為預(yù)測的運動向量(PMV),在步驟302A中產(chǎn)生。PMV是根據(jù)相鄰宏塊的運動向量而估計的SAD加權(quán)的中間值運動向量,如圖4中詳細(xì)所示的。之前估計的用于當(dāng)前宏塊400的三個相鄰宏塊的運動向量在本發(fā)明的實施例中用于預(yù)測當(dāng)前宏塊400的PMV。如果將當(dāng)前宏塊400表示為MB(nx,ny),則所使用的三個空間相鄰宏塊是在左側(cè)的宏塊402(MB(iix,Hy-i))、在正上方的宏塊404(MB(ny—"nx))和在右上的宏塊406(MB(ny,ny+1))。所^目鄰宏塊的使用基于下述假定如果運動發(fā)生,則包含同一對象的宏塊一起移動。使用一種自適應(yīng)成本閾值,以基于用于對(三個上^目鄰宏塊中的)每個候選宏塊進(jìn)行編碼的運動向量的成本和SAD值來評估所述(三個上W目鄰宏塊的)每個候選宏塊(如果可被獲得)是否有用于PMV預(yù)測的資格。所述自適應(yīng)閾值可以是用于候選宏塊的平均運行成本,并且被定義為其中,^"o=^Uj',釅是搜索幀的寬度,是當(dāng)前宏塊的位置,N256是在宏塊中的像素的數(shù)量(對于16x16像素的宏塊為256),COST(/fi,《)是成本函數(shù),該成本函數(shù)包括SAD和運動向量編碼成本。所述成本函數(shù)被定義為COr(加,")=S4,D(w,")+妮—COST(附v,,欲v》)(2)并且SAD被定義為,,0m(3)其中,C是當(dāng)前宏塊,及是參考宏塊,而MxiV是當(dāng)前和參考宏塊的尺寸(例如在一些實施例中為16x16像素)。運動向量編碼成本mk—car(m^/mg是用于對當(dāng)前宏塊的運動向量進(jìn)行編碼所需要的比特的數(shù)量。應(yīng)當(dāng)理解,所述的自適應(yīng)閾值可以通過4吏用各種其他的適當(dāng)方法來定義。在視頻編碼中,SAD值是標(biāo)準(zhǔn)的準(zhǔn)則,用于表示當(dāng)前幀中的某宏塊的像素密度值與參考幀內(nèi)的相同大小的宏塊的像素密度值之間的逐像素的差。圖5是示出根據(jù)本發(fā)明的實施例、使用相鄰宏塊對宏塊的PMV種子向量進(jìn)行預(yù)測的流程圖。所述預(yù)測依賴于特點在于編碼成本小于自適應(yīng)閾值COST_THERSHOLD的^^類選相鄰宏塊502的可用性。對于可用的候選宏塊中^I每個,假定運動向量是之前估計的,并且假定對應(yīng)的編碼成本是之前確定的,如在等式(2)中所定義的。相應(yīng)地,如果全部三個候選模塊(諸如圖4中所示的宏塊402、404和406)的特點在于成本比步驟504中確定的自適應(yīng)閾值低,則PMV被定義為所述三個對應(yīng)的運動向量的中值,如步驟506中所示。步驟506還示出對當(dāng)前宏塊進(jìn)行編碼的成本PCOST被定義為對三個候選宏塊進(jìn)行編碼的成本的中值。而且,在步驟508中,確定所述候選宏塊中的兩個候選宏塊對于預(yù)測是否是有效的,并且如果回答是肯定的,則在步驟510中使用它們的運動向量的平均值。類似地,PCOST被定義為用于對這兩個候選宏塊進(jìn)行編碼的相應(yīng)成本的平均值。否則,步驟512確定是否僅一個候選宏塊具有成本不超過閾值的特點,并且如果是這種情況,則使用之前估計的用于這個候選宏塊的運動向量來定義PMV,如在步驟514中所示。PCOST被定義為用于對該候選宏塊進(jìn)行編碼的成本。最后,如果所檢驗的相鄰候選宏塊中沒有具有被用于PMV預(yù)測的資格的宏塊,則PMV被定義為0,如步驟516中所示。在這種情況下,PCOST被視為無限的。在本發(fā)明的實施例中,執(zhí)行兩個或者三個上述的搜索步驟(其中每個步驟包括檢驗特定宏塊的相鄰宏塊),以便預(yù)測PVM。搜索步驟的數(shù)量是可配置的。再次參考圖3,在步驟302B中,產(chǎn)生分級的種子運動向量(HMV)。為了產(chǎn)生HMV種子向量,對當(dāng)前宏塊和參考幀進(jìn)行抽取(decimate)。圖6中示意地示出了所述抽取,其示出了原始的全分辨率幀(或者宏塊)600和經(jīng)抽取的幀(或者宏塊)602。可以采取不同的手段來抽取幀,從而降低其分辨率,并且加速編碼過程。在本發(fā)明的實施例中,使用"移動4個像素(shiftby4)"技術(shù),由此通過##個大小為4x4像素的非重疊塊中的像素的值平均而將大小為4x4像素的非重疊塊壓縮成一個《象素。因此,大小為16x16像素的宏塊被抽取成大小為4x4像素的宏塊(即抽取因子為4)。也可以使用其他適當(dāng)?shù)某槿∫蜃印榱斯烙婬MV種子向量,可以對經(jīng)抽取的參考幀執(zhí)行在菱形圖案周圍^^用螺4t搜索的運動估計,圖7中示意性地示出了一個示例。在圖7內(nèi),X是搜索的開始點,而其他點示為被編號的圏,其中,數(shù)字表示搜索步驟的順序,每個搜索步驟被編組到特點在于特定步長的菱形圖案。當(dāng)使用菱形搜索圖案(諸如如圖7中所示的)時,確定當(dāng)前宏塊的像素密度與參考幀中的宏塊的像素密度之間的SAD值,包括與當(dāng)前幀內(nèi)的宏塊處于相同位置的宏塊(被標(biāo)注為X)的SAD值。所述處于相同位置的宏塊位移預(yù)定大小的步長。確定被預(yù)測用于對各運動向量進(jìn)行編碼的編碼成本,所^動向量指示當(dāng)前宏塊與參考幀內(nèi)的被^r驗的宏塊中的每個之間的位移。所述編碼成本;M目關(guān)聯(lián)的SAD值可以用于定義通過利用參考幀內(nèi)的被檢驗的宏塊中的每個而對當(dāng)前宏塊進(jìn)行編碼的成本,如等式2所示。因此,在圖7內(nèi),圍繞開始點(被標(biāo)注為X)的編號為1的8個圓團(tuán)構(gòu)成第一菱形搜索圖案。在圖7中僅舉例示出的菱形搜索圖案的步長是2,即,參考幀內(nèi)與當(dāng)前宏塊處于相同位置的宏塊在垂直和水平方向上都位移2個像素,從而形成"菱形"。應(yīng)當(dāng)明白,可以使用其他適當(dāng)大小(例如8)的搜索步長。在參考幀內(nèi)的某宏塊周圍執(zhí)行在菱形搜索圖案內(nèi)的下一搜索,與使用參考幀內(nèi)的其他被檢驗的宏塊相關(guān)聯(lián)的編碼成^目比,如果使用參考幀內(nèi)的該宏塊用于對當(dāng)前宏塊ii行編碼則將提供最小的編碼成本。在圖7內(nèi),編號為2的第二組點構(gòu)成下一菱形搜索圖案,其中,步長被減小到l。在隨后的步驟,在該菱形圖案內(nèi)的搜索可以通過檢驗參考幀內(nèi)如上所述而選擇的該宏塊(未示出)周圍的各宏塊而進(jìn)行。以這種方式執(zhí)行的搜索的數(shù)量可以是可變的,并且在一些實施例中,可以約為10。每個在上述的菱形圖案內(nèi)執(zhí)行的搜索步驟遵循可以被稱為"螺旋"搜索路徑的路徑。因此,結(jié)合圖7所述的搜索被稱為在菱形圖案周圍的螺旋搜索。如圖3所示,判決模塊304確定使用種子向量中的哪個(PMV種子向量、或者HMV種子向量、或者兩者)來執(zhí)行4H象素搜索。相應(yīng)地,如果在步驟306中確定對PMV種子向量進(jìn)行編碼的成本與對HMV種子向量進(jìn)行編碼的成4^目等,則在步驟308中,使用所述兩種種子來啟動全像素搜索。如果在步驟310中確定PMV種子向量的成本小于HMV種子向量的成本,則在步驟312中將PMV種子向量選擇為全像素搜索的開始點。否則,在步驟314中使用HMV種子向量。在本發(fā)明的實施例中,在方形搜索圖案內(nèi)執(zhí)行在某個種子向量或者兩個種子向量周圍的全像素搜索。圖8示出了方形搜索圖案的一個示例。相應(yīng)地,在圖8中,被標(biāo)注為X的開始點表示被確定來提供運動向量的宏塊的位置,該宏塊需要用于對當(dāng)前宏塊進(jìn)行編碼的最小成本,被標(biāo)注為l的圓圏示出了形成第一方形圖案的點的位置,而被標(biāo)注為2的圓圏示出了也在方形搜索圖案內(nèi)的隨后被評估的點的位置。圖8所示的方形搜索圖案內(nèi)的步長是l。但是,應(yīng)當(dāng)明白,所述步長是可配置的。從一個方形圖案移動到下一方形圖案的方向以與對圖7中所示的菱形搜索圖案描述的相同的方式來確定,即所述方向朝向拔:供用于對當(dāng)前宏塊進(jìn)行編碼所需的最小成本的宏塊。作為全像素搜索的結(jié)果,估計用于當(dāng)前宏塊的最終的全像素運動向量。應(yīng)當(dāng)明白,4^象素運動向量表示當(dāng)前宏塊與參考幀內(nèi)的宏塊之間的位移,其允許使用最低的編碼成本對當(dāng)前宏塊進(jìn)行編碼。如果使用PMV和HMV種子向量二者來執(zhí)行全像素搜索,則可以在所述種子向量的每個周圍進(jìn)行圖8所示的方形搜索,并且,使用如上所述的編碼成本準(zhǔn)則,在從兩個相應(yīng)的搜索中產(chǎn)生的兩個全像素運動向量中選擇最終的全像素運動向量。在本發(fā)明的實施例中,執(zhí)行多達(dá)三次在種子向量周圍的全〗象素方形圖案搜索。所確定的搜索的數(shù)量以及步長可以被調(diào)整,以適應(yīng)于視頻編碼器的質(zhì)量和復(fù)雜性要求。應(yīng)當(dāng)明白,全像素搜索是針對具有整數(shù)值坐標(biāo)的像素而執(zhí)行的,而針對與分?jǐn)?shù)值的坐標(biāo)對應(yīng)的內(nèi)插像素值,則進(jìn)行子〗象素搜索,如半像素或者四分之一《象素搜索。參見圖9,最終的全像素運動向量900可以用作PGDS算法的最后步驟(即分?jǐn)?shù)像素搜索)的開始點,如圖3中的步驟316所示。圖10—般性地示出了通過分?jǐn)?shù)像素搜索分析的像素,其中,圓圏示出具有整數(shù)值坐標(biāo)的像素,而三角形和方形分別表示具有半像素值或者四分之一像素值的坐標(biāo)的像素。在本發(fā)明的實施例中,執(zhí)行在4^象素運動向量卯0周圍的半像素方形搜索902,由此,搜索步^與當(dāng)前宏塊最佳匹配的宏塊的位置起、在垂直和水平方向上均為半像素。每個半像素的值是通過獲得4^象素的。使用半像素方形搜索卯2獲得半像素運動向量卯4,其后,在半像素運動向量卯4周圍執(zhí)行四分之一菱形搜索卯6。四分之一像素的值是通過平均半4象素或者通過使用任何其他的適當(dāng)方法而W目鄰的半像素內(nèi)插的。應(yīng)當(dāng)明白,方形半像素搜索和菱形四分之一像素搜索分別以與結(jié)合圖8和7描述的相應(yīng)的4^象素搜索類似的方式來執(zhí)行。執(zhí)行每個搜索的次ltA可配置的。在本發(fā)明的實施例中,方形半像素搜索和菱形四分之一像素搜索^4M亍一次。某些視頻編碼標(biāo)準(zhǔn),諸如IL264和MPEG-4,要求分?jǐn)?shù)內(nèi)插點,其在計算成本方面受益于進(jìn)行較少的分?jǐn)?shù)《象素搜索。表1和2示出了由本發(fā)明人進(jìn)行的對諸如"foreman"、"paris"、"mobile"和"tennis"的四個已知的測試剪輯片段的性能試驗的某些結(jié)果。在表l內(nèi),使用兩個量度來評估四個不同的運動估計算法的性能,所述四個不同的運動估計算法如全搜索(FullSearch,FS)、二維對數(shù)搜索(Two畫DimensionalLogarithmSearch,TDL)、分級搜索(HierarchicalSearch,HS)和PGDS(才艮據(jù)本發(fā)明的實施例),所述兩種量度是用于對視頻序列進(jìn)行編碼的比特的平均數(shù)量和平均峰值信噪比(PSNR)。比特數(shù)量越少而PSNR值越高則表示性能越好。另外給出了與FS算法相比較PSNR的差及比特數(shù)量的增加百分比。FS計算成本最高,但是提供了最佳的編碼質(zhì)量和低比特速率。對于運動估計算法,比特數(shù)量和PSNR越接近由FS算法產(chǎn)生的比特數(shù)量和PSNR,則所述算法的性能越好。表1示出了對于低運動剪輯片段"foreman"和"paris",PGDS與FS相比較僅僅提供了比特率上的小幅增加(小于1%)和幾乎相同的PSNR。對于高運動剪輯"mobile"和"tennis",PGDS示出了比FS更好的性能。表l<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>表2在被分配的存儲器量(以字節(jié)計)、每宏塊的直接存儲器存取(DMA)帶寬和搜索點的數(shù)量上比較5個運動估計算法的實施成本,所述5個運動估計算法諸如FS、TDL、HS、預(yù)測的搜索(PredictedSearch,PRED)和PGDS(根據(jù)本發(fā)明的實施例)。示出了不同的運動搜索范圍,其中,在搜索窗內(nèi)執(zhí)行具有諸如16x16像素的大小的范圍的搜索,所述搜索窗在垂直和水平方向上均包含16個像素,即所述搜索窗具有32x32像素的大小。按照表2,在給定相同搜索范圍的情況下,用于執(zhí)行PGDS所需要的存儲器量和DMA帶寬比用于執(zhí)行FS和TDL所需要的存儲器量和DMA帶寬要小得多。同時,PGDS的性能很接近FS的性能,并且超過TDL的性能。表2FSTDLHSPREDPGDS搜<table>tableseeoriginaldocumentpage16</column></row><table>可以用軟件、硬件、固件、各種類型的處理器或者其組合來實施本發(fā)明的實施例。因此,實施例可實施為在一個或多個計算機(jī)可讀介質(zhì)上實施的計算機(jī)可讀指令,所述計算機(jī)可讀介質(zhì)包括(但是不限于)諸如磁存儲介質(zhì)(例如ROM、RAM、軟盤)、光學(xué)可讀介質(zhì)(例如CD-ROM、DVD等)的存儲介質(zhì)和載波(例如通過因特網(wǎng)的傳輸)。本發(fā)明的一些實施例可以被實施為存儲了計算機(jī)可讀指令的計算機(jī)可讀介質(zhì)或者各種適當(dāng)?shù)挠嬎阊b置的硬件部件,所述計算裝置諸如可從AnalogDevices,Inc.(Norwood,MA)獲得的Blackfin家族嵌入式數(shù)字信號處理器中的高性能部件內(nèi)的視頻編碼器。例如,可以使用數(shù)字信號處理器ADSP-BF533,其包括兩個獨立的核心,每個核心能夠?qū)崿F(xiàn)600MHz的性能;以及單核心ADSP-BF533數(shù)字信號處理器,其實現(xiàn)高達(dá)756MHz的性能。其他各種適當(dāng)?shù)臄?shù)字信號處理器也可以實施本發(fā)明的實施例。圖ll是用于實施本發(fā)明實施例的示例性計算裝置的圖。這樣的裝置可以包括(但是不限于)通過系統(tǒng)總線1108互連的微處理器100、高速緩沖存儲器1102、內(nèi)部存儲器1104和DMA控制器1106。在使用圖11的計算裝置實施的本發(fā)明的實施例中,系統(tǒng)總線1108連接到外部存儲器控制器1110,該控制器控制外部存儲器1112。另夕卜,PGDS可適于不同的嵌入式系統(tǒng)架構(gòu),并且滿足不同的資源預(yù)算。也可以對于不同的幀尺寸以及高/低運動場景,所述算法可以調(diào)整,所述幀尺寸的范圍可以從CIF(PAL系統(tǒng)內(nèi)的352x288像素、NTSC系統(tǒng)內(nèi)的352x240像素)到Dl(NTSC系統(tǒng)內(nèi)的720x480<象素、在PAL和SDCAM系統(tǒng)內(nèi)的720x576像素)分辨率標(biāo)準(zhǔn)。PGDS的執(zhí)行延遲可以在運行時間期間動態(tài)地加以調(diào)整,以便以不同的復(fù)雜度來工作。因此,當(dāng)系統(tǒng)工作負(fù)荷輕時,PGDS可以執(zhí)行更密集的搜索,以充分地使用系統(tǒng)資源。在系統(tǒng)工作負(fù)荷重的時間期間,PGDS可以用最小的延遲來工作,以<更符合實時調(diào)度的要求??梢詮纳鲜雒枋隹梢岳斫?,在此描述的本發(fā)明存在可以彼此獨立或者以任何組合使用的多個方面。具體上,本發(fā)明的各個方面可以單獨地、以組合的方式或者以上述的實施例內(nèi)未具體說明的多種設(shè)置來使用,并且在此所述的本發(fā)明的各方面在它們的應(yīng)用上不限于上述說明內(nèi)給出或者在附圖內(nèi)示出的部件的細(xì)節(jié)和配置。本發(fā)明的各方面能夠具有其他實施例,并且能夠以各種方式被實踐或者被執(zhí)行。本發(fā)明的各個方面可以使用任何類型的電路來實現(xiàn),并且不對電路實現(xiàn)方式施加任何限制。因此,上述的說明和附圖僅僅是示例。應(yīng)當(dāng)明白,在此使用的措詞和術(shù)語是用于描述的目的,并且不應(yīng)被視為限定。"包括"、"包含"或者"具有"、"含有"、"涉及"及其變形的使用意欲涵蓋其后列出的術(shù)語及其等價以及附加的項目。權(quán)利要求1.一種用于視頻序列中的運動估計的方法,包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為全像素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對于每個被選擇的所述種子運動向量執(zhí)行所述全像素搜索,以基于全像素運動向量的編碼成本選擇所述全像素運動向量;以及利用被選擇的所述全像素運動向量,執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。2.如權(quán)利要求l的方法,其中所述最終的運動向量是針對來自所述視頻序列的當(dāng)前視頻幀內(nèi)的輸入宏塊而估計的。3.如權(quán)利要求2的方法,其中所述預(yù)測的種子運動向量是利用之前估計的用于相鄰的宏塊的運動向量而產(chǎn)生的。4.如權(quán)利要求2的方法,其中所述分級的種子向量是利用分級的搜索而產(chǎn)生的。5.如權(quán)利要求2的方法,其中產(chǎn)生所述分級的種子向量包括利用預(yù)定的抽取因子來抽取所述輸入宏塊,并且利用所述預(yù)定的抽取因子來抽取來自所述視頻序列的參考幀。6.如權(quán)利要求2的方法,其中所述全像素搜索是利用被選擇的所述分級的種子運動向量和/或被選擇的所述預(yù)測的種子運動向量來執(zhí)行的,并且其中全像素搜索位置的數(shù)量是可配置的。7.如權(quán)利要求2的方法,其中所述4H象素搜索是方形搜索。8.如權(quán)利要求2的方法,其中所述分?jǐn)?shù)像素搜索包括至少一個半像素方形搜索和至少一個四分之一像素菱形搜索。9.如權(quán)利要求2的方法,其中所述最終的運動向量是在可配置大小的搜索窗內(nèi)估計的。10.—種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)利用用于在計算機(jī)系統(tǒng)上執(zhí)行的計算機(jī)指令來編碼,所述指令當(dāng)被執(zhí)行時執(zhí)行一種用于視頻序列中的運動估計的方法,所述方法包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為全像素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對于每個被選擇的所述種子運動向量執(zhí)行所述4^象素搜索,以基于全像素運動向量的編碼成本選擇所述全像素運動向量;以及利用被選擇的所述全像素運動向量,執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。11.如權(quán)利要求10的計算機(jī)可讀存儲介質(zhì),其中所述最終的運動向量是針對來自所述視頻序列的當(dāng)前視頻幀內(nèi)的輸入宏塊而估計的。12.如權(quán)利要求11的計算機(jī)可讀存儲介質(zhì),其中所述預(yù)測的種子運動向量是利用之前估計的用于相鄰的宏塊的運動向量而產(chǎn)生的。13.如權(quán)利要求11的計算機(jī)可讀存儲介質(zhì),其中所述分級的種子向量是利用分級的搜索而產(chǎn)生的。14.如權(quán)利要求ll的計算機(jī)可讀存儲介質(zhì),其中產(chǎn)生所述分級的種子向量包括利用預(yù)定的抽取因子來抽取所述輸入宏塊,并且利用所述預(yù)定的抽取因子來抽取來自所述視頻序列的參考幀。15.如權(quán)利要ll的計算機(jī)可讀存儲介質(zhì),其中所述4^象素搜索是利用被選擇的所述分級的種子運動向量和/或被選擇的所述預(yù)測的種子運動向量來執(zhí)行的,并且其中4^象素搜索位置的數(shù)量是可配置的。16.如權(quán)利要求ll的計算機(jī)可讀存儲介質(zhì),其中所述4^象素搜索是方形搜索。17.如權(quán)利要求ll的計算機(jī)可讀存儲介質(zhì),其中所述分?jǐn)?shù)像素搜索包括至少一個半像素方形搜索和至少一個四分之一像素菱形搜索。18.如權(quán)利要求11的計算機(jī)可讀存儲介質(zhì),其中所述最終的運動向量^1在可配置大小的搜索窗內(nèi)估計的。19.一種設(shè)備,包括處理器和計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)包含計算機(jī)指令,所述計算機(jī)指令用于在所述處理器上執(zhí)行,以提供一種用于視頻序列中的運動估計的方法,所述方法包括產(chǎn)生利用預(yù)測的種子運動向量編碼成本而編碼的預(yù)測的種子運動向量;產(chǎn)生利用分級的種子運動向量編碼成本而編碼的分級的種子運動向量;基于對所述預(yù)測的種子運動向量編碼成本和所述分級的種子運動向量編碼成本的比較,為全像素搜索選擇所述預(yù)測的種子運動向量、所述分級的種子運動向量或者兩者;對于每個被選擇的所述種子運動向量執(zhí)行所述4^象素搜索,以基于全像素運動向量的編碼成本選擇所述4^象素運動向量;以及利用被選擇的所述全《象素運動向量,執(zhí)行分?jǐn)?shù)像素搜索,以估計最終的運動向量。20.如權(quán)利要求19的設(shè)備,其中所述最終的運動向量是針對來自所述視頻序列的當(dāng)前視頻幀內(nèi)的輸入宏塊而估計的。21.如權(quán)利要求20的設(shè)備,其中所述預(yù)測的種子運動向量是利用之前估計的用于相鄰的宏塊的運動向量而產(chǎn)生的。22.如權(quán)利要求20的設(shè)備,其中所述分級的種子向量是利用分級的搜索而產(chǎn)生的。23.如權(quán)利要求20的設(shè)備,其中產(chǎn)生所述分級的種子向量包括利用預(yù)定的抽取因子來抽取所述輸入宏塊,并且利用所述預(yù)定的抽取因子來抽取來自所述視頻序列的參考幀。24.如權(quán)利要求20的設(shè)備,其中所述4^象素搜索是利用被選擇的所述分級的種子運動向量和/或被選擇的所述預(yù)測的種子運動向量來執(zhí)行的,并且其中全像素搜索位置的數(shù)量是可配置的。25.如權(quán)利要求20的設(shè)備,其中所述全像素搜索是方形搜索。26.如權(quán)利要求20的設(shè)備,其中所述分?jǐn)?shù)像素搜索包括至少一個半像素方形搜索和至少一個四分之一像素菱形搜索。27.如權(quán)利要求20的設(shè)備,其中所述最終的運動向量是在可配置大小的搜索窗內(nèi)估計的。全文摘要本發(fā)明提供了一種使用預(yù)測指導(dǎo)的抽取搜索運動估計算法的方法和設(shè)備。所述預(yù)測指導(dǎo)的抽取搜索運動估計算法產(chǎn)生用于對來自視頻序列的幀內(nèi)的宏塊進(jìn)行編碼的運動向量。所述算法包括產(chǎn)生全像素種子向量,在所產(chǎn)生的種子向量周圍執(zhí)行全像素搜索,其后進(jìn)行分?jǐn)?shù)像素搜索。所產(chǎn)生的全像素種子向量是預(yù)測的運動向量和分級的運動向量。分?jǐn)?shù)像素搜索可以在由全像素搜索產(chǎn)生的最終的運動向量周圍進(jìn)行,并且可以包括半像素搜索和四分之一像素搜索??梢杂密浖陀布韺崿F(xiàn)所述預(yù)測指導(dǎo)的抽取搜索運動估計算法。所述算法的特點在于改善了效率、可擴(kuò)展性并且降低了復(fù)雜度。文檔編號G06T7/20GK101326550SQ200680046709公開日2008年12月17日申請日期2006年12月14日優(yōu)先權(quán)日2005年12月15日發(fā)明者柯寧,偉張,拉卡·辛格,馬克·霍夫曼申請人:模擬裝置公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
昆山市| 司法| 宜昌市| 彭山县| 西畴县| 昭通市| 武汉市| 长宁县| 梅河口市| 西青区| 建瓯市| 宜兰市| 阳曲县| 香河县| 通山县| 洪湖市| 义马市| 哈尔滨市| 萨迦县| 革吉县| 太和县| 军事| 得荣县| 湖口县| 通渭县| 上栗县| 宜黄县| 涪陵区| 五台县| 博客| 柳林县| 南平市| 鲁山县| 军事| 城口县| 团风县| 宁强县| 临沭县| 永平县| 三明市| 红河县|