專利名稱:用于運動估計迭代搜索的簡單下一搜索位置選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻壓縮領(lǐng)域。更具體地,本發(fā)明涉及數(shù)字視頻編碼器中的經(jīng)改進(jìn)運 動估計。
背景技術(shù):
視頻序列由多個通常稱為幀的圖片構(gòu)成。由于隨后的幀非常相似,因此從一幀到 下一幀包含了許多冗余。在高效地通過信道發(fā)送或存儲在存儲器中之前,視頻數(shù)據(jù)被壓縮 以節(jié)省帶寬和存儲器兩者。目標(biāo)是去除冗余以獲得更好的壓縮比。第一視頻壓縮方法是從 給定幀減去參考幀以生成相對差。該相對差可以以相同質(zhì)量按照較低比特速率被編碼。解 碼器通過將該相對差添加到參考幀中來重構(gòu)原始幀。更復(fù)雜的方法是對整個場景的運動以及視頻序列的對象進(jìn)行近似。該運動是通過 被編碼在比特流中的參數(shù)來描述的。預(yù)測幀的像素是通過經(jīng)適當(dāng)轉(zhuǎn)換的參考幀的像素來近 似的。該方法與簡單的減法相比,提供了提高的預(yù)測能力。然而,運動模型的參數(shù)所占的比 特速率必須不會變得太大。一般而言,視頻壓縮是根據(jù)許多標(biāo)準(zhǔn)來執(zhí)行的,包括來自運動圖像專家組(MPEG) 的一個或多個用于音頻和視頻壓縮的標(biāo)準(zhǔn),例如MPEG-l、MPEG-2和MPEG-4。已提出了額外 的增強來作為MPEG-4第10部分(也稱為H. 264或AVC(高級視頻編碼))標(biāo)準(zhǔn)的一部分。 在MPEG標(biāo)準(zhǔn)下,視頻數(shù)據(jù)首先被編碼并且隨后被存儲在視頻系統(tǒng)的編碼器側(cè)上的編碼器 緩沖器中。然后,編碼數(shù)據(jù)被發(fā)送給視頻系統(tǒng)的解碼器側(cè),在其中,該編碼數(shù)據(jù)在被解碼之 前被存儲在解碼器緩沖器中,以使得相應(yīng)的圖片可被查看。H. 264/AVC工程的意圖在于開發(fā)一種能夠以比先前標(biāo)準(zhǔn)(例如,MPEG-2、H. 263或 MPEG-4第2部分)需要的比特速率低得多的比特速率來提供良好視頻質(zhì)量的標(biāo)準(zhǔn)。此外, 希望在不致使復(fù)雜性大幅增加的情況下來進(jìn)行這些改進(jìn),以便不會使設(shè)計無法實現(xiàn)。另一 目標(biāo)是以靈活的方式來作出這些改變,該方式允許將標(biāo)準(zhǔn)應(yīng)用于各種應(yīng)用,以使得其可被 用于低比特速率和高比特速率兩者以及低分辨率視頻和高分辨率視頻。另一目標(biāo)是其在極 廣泛種類的網(wǎng)絡(luò)和系統(tǒng)上工作良好。H. 264/AVC/MPEG-4第10部分包含許多新的特征,這些特征允許其比以往的標(biāo)準(zhǔn) 更有效地壓縮視頻并且提供了應(yīng)用于各種網(wǎng)絡(luò)環(huán)境的更大靈活性。一些關(guān)鍵特征包括利用 先前編碼的圖片作為參考的多圖片運動補償、具有16X16那樣大和4X4那樣小的塊大小 的可變塊大小運動補償(VBSMC)、用于半像素亮度樣本預(yù)測的推導(dǎo)的六抽頭濾波、宏塊對結(jié) 構(gòu)、用于運動補償?shù)乃姆种幌袼鼐?、加?quán)預(yù)測、環(huán)路解塊濾波器、精確匹配整數(shù)4X4空 間塊變換、對主空間變換的“DC”系數(shù)執(zhí)行的二次Hadamard變換(其中,Hadamard變換類 似于快速傅里葉變換)、從用于“內(nèi)部”編碼的相鄰塊進(jìn)行的空間預(yù)測、基于上下文的自適 應(yīng)二進(jìn)制算術(shù)編碼(CABAC)、基于上下文的自適應(yīng)可變長度編碼(CAVLC)、針對未被CABAC 或CAVLC編碼的許多語法要素的簡單且高度結(jié)構(gòu)化的可變長度編碼(VLC)技術(shù)(稱為指數(shù) Golomb編碼)、網(wǎng)絡(luò)抽象層(NAL)定義、切換片段、靈活宏塊排序、冗余片段(RS)、補充增強信息(SEI)和視頻可用性信息(VUI)、輔助圖片、幀編號以及圖片順序計數(shù)。這些技術(shù)以及 若干其它技術(shù)允許H. 264在更多狀況下、在更多環(huán)境中比先前的標(biāo)準(zhǔn)表現(xiàn)得更好。H. 264通 過以一半的比特速率或者甚至更小的比特速率獲得相同的質(zhì)量而比MPEG-2視頻表現(xiàn)得更 好。MPEG用于對運動圖像和關(guān)聯(lián)音頻進(jìn)行一般性編碼,并且創(chuàng)建由三種類型的編碼數(shù) 據(jù)幀的序列構(gòu)成的壓縮視頻比特流。三種類型的數(shù)據(jù)幀是幀內(nèi)編碼幀(稱為I幀或I圖 片)、雙向預(yù)測幀(稱為B幀或B圖片),以及前向預(yù)測幀(稱為P幀或P圖片)。這三種類 型的幀可以按照被稱為GOP(圖片組)結(jié)構(gòu)的指定順序來排列。I幀包含重構(gòu)圖片所需的 所有信息。I幀被編碼為沒有運動補償?shù)某R?guī)圖像。另一方面,P幀使用來自在前幀的信息 并且B幀使用來自在前幀、后續(xù)幀或者這兩者的信息,來重構(gòu)圖片。具體地,P幀是從前一 I 幀或者緊鄰的前一 P幀來預(yù)測的。還可以從緊鄰的后續(xù)幀來預(yù)測幀。為了以這種方式利用后續(xù)幀,必須在被預(yù)測幀 之前對后續(xù)幀編碼。因此,編碼順序不一定與真實的幀順序相匹配。這樣的幀通常從兩個 方向來預(yù)測,例如,從緊鄰被預(yù)測幀的在前的I幀或P幀或者緊鄰被預(yù)測幀的隨后的P幀來 預(yù)測。這些被雙向預(yù)測的幀稱為B幀。存在許多可能的GOP結(jié)構(gòu)。常見的GOP結(jié)構(gòu)是15幀長,并且具有序列I_BB_P_BB_ P_BB_P_BB_P_BB_。類似的12幀序列也是常見的。I幀針對空間冗余進(jìn)行編碼,P和B幀針 對時間冗余和空間冗余兩者進(jìn)行編碼。由于視頻流中的相鄰幀常常密切相關(guān),因此P幀和B 幀僅是I幀的大小的一小百分比。然而,在幀可被壓縮為的大小與對這樣的壓縮幀進(jìn)行編 碼所需的處理時間和資源之間存在折中。GOP結(jié)構(gòu)中的I、P和B幀之比是由視頻流的性質(zhì) 以及對輸出流的帶寬約束來確定的,盡管編碼時間也可能是一個問題。在具有有限計算資 源的現(xiàn)場傳輸和實時環(huán)境中尤其是這樣,因為包含許多B幀的流可能要比純I幀文件花費 長得多的時間來編碼。B幀和P幀需要較少的比特來存儲圖片數(shù)據(jù),一般包含針對當(dāng)前幀與在前幀、后續(xù) 幀或者它們兩者之間的差異的差異比特。B幀和P幀由此被用來減少跨越幀所包含的冗余 信息。在操作中,解碼器接收經(jīng)編碼B幀或經(jīng)編碼P幀并且利用先前或后續(xù)幀來重構(gòu)原始 幀。該處理要容易得多并且在連續(xù)的幀極類似時將產(chǎn)生更平滑的場景轉(zhuǎn)換,這是因為幀中 的差異較小。每個視頻圖像被分離為一個亮度(Y)通道和兩個色度通道(也稱為色差信號Cb 和Cr)。亮度和色度陣列的塊被組織成為“宏塊”,其是在幀內(nèi)編碼的基本單位。在I幀的情況中,使實際圖像數(shù)據(jù)經(jīng)過編碼處理。然而,P幀和B幀首先經(jīng)過“運 動補償”處理。運動補償是根據(jù)前一幀的每個宏塊所移動到的位置來描述連續(xù)幀之間的差 異的一種方式。這樣的技術(shù)通常用來減少用于視頻壓縮的視頻序列的時間冗余。P幀或B 幀中的每個宏塊被與前一或下一圖像中的密切相關(guān)的區(qū)域相關(guān)聯(lián),該區(qū)域是如編碼器利用 “運動向量”所選擇的。將宏塊映射到其相關(guān)區(qū)域的運動向量被編碼,并且然后使兩個區(qū)域 之間的差異經(jīng)過編碼處理。傳統(tǒng)視頻編解碼器使用經(jīng)運動補償?shù)念A(yù)測來高效地對初始輸入視頻流進(jìn)行編碼。 當(dāng)前幀中的宏塊是從前一幀中的經(jīng)位移的宏塊預(yù)測的。原始宏塊與其預(yù)測之間的差異被壓 縮并且與位移(運動)向量一起被發(fā)送。該技術(shù)稱為幀間編碼(inter-coding),其是MPEG標(biāo)準(zhǔn)中所使用的方法。編碼處理中的最耗時部分之一是運動估計。運動估計通過結(jié)合預(yù)測誤差的變換編 碼來實現(xiàn)運動補償預(yù)測來減小視頻信號的比特速率。與運動估計有關(guān)的混疊(aliasing) 是不能通過利用像素間運動估計來避免的,并且混疊使預(yù)測效率惡化。為了解決該惡化問 題,半像素插值和四分之一像素插值適合用于減小混疊的影響。為了估計出具有四分之一 像素精度的運動向量,通常使用三步搜索法。在第一步,運動估計在指定搜索范圍內(nèi)被應(yīng)用 于每個整像素以找到最佳匹配。然后,在第二步,所選整像素運動向量周圍的八個半像素點 被檢查以找到最佳的半像素匹配點。最后,在第三步,所選半像素運動向量周圍的八個四分 之一像素點被檢查,并且最佳匹配點被選擇作為最終運動向量??紤]到運動估計的復(fù)雜性, 如果將全面搜索用于整像素運動估計,則整像素運動估計將占據(jù)運動估計的主要部分。然 而,如果利用快速整數(shù)運動估計算法,則可以通過檢查少于十個搜索點來找到整像素運動 向量。結(jié)果,搜索半像素運動向量和四分之一像素運動向量的復(fù)雜性變得顯著。
發(fā)明內(nèi)容
用于運動估計迭代搜索的下一位置選擇器通過容易且快速地確定下一搜索區(qū)域 的中心點而提高了整像素運動估計迭代搜索的效率和質(zhì)量。通過獲取當(dāng)前搜索區(qū)域的SAD 值的位置并且將該位置映射到下一搜索區(qū)域的中心點,確定下一搜索區(qū)域的處理是非常高 效的。局部最小值避免方案提高了避免陷入局部最小值的能力。通過記住前一位置/方 向,搜索能夠在正確的方向上繼續(xù),以確保搜索繼續(xù)而不出現(xiàn)陷入局部最小值的來回往復(fù) 搜索。這種經(jīng)改進(jìn)的運動估計搜索的應(yīng)用包括穩(wěn)定圖像以及使用運動向量的許多其它應(yīng) 用。在一個方面中,一種利用計算設(shè)備改進(jìn)運動估計迭代搜索的方法包括迭代搜索 最小距離位置,確定下一搜索區(qū)域的中心點,并且避開局部最小值。在一些實施例中,所述 最小距離位置是最小絕對差之和位置。確定下一搜索區(qū)域的中心點還包括確定搜索區(qū)域 中具有最小距離值的位置;基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中 心點的偏移;以及基于所述偏移選擇所述下一搜索區(qū)域的中心點。避開局部最小值還包括 確定前一位置;確定新的位置;比較所述前一位置和所述新的位置;以及基于所述前一位 置與所述新的位置的比較,選擇新的搜索中心,其中,如果所述新的位置在與所述前一位置 相反的方向上,則所述新的搜索中心基于所述前一位置,并且如果所述新的位置不在與所 述前一位置相反的方向上,則所述新的搜索中心于所述新的位置。迭代搜索還包括計算子 區(qū)域的子區(qū)域距離值;確定所述子區(qū)域的最小距離值;將所述最小距離值與閾值相比較; 如果所述最小距離值小于所述閾值,則提早結(jié)束;以及如果所述最小距離值大于或等于所 述閾值,則重復(fù)a-d,直到計數(shù)為零為止。在另一方面中,一種用于利用計算設(shè)備改進(jìn)運動估計迭代搜索的系統(tǒng)包括用于存 儲應(yīng)用的存儲器和用于處理所述應(yīng)用的處理器,該應(yīng)用被配置用于迭代搜索最小距離位 置;確定下一搜索區(qū)域的中心點;以及避開局部最小值。在一些實施例中,所述最小距離 位置是最小絕對差之和位置。確定下一搜索區(qū)域的中心點還包括確定搜索區(qū)域中具有最 小距離值的位置;基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中心點的偏 移;以及基于所述偏移選擇所述下一搜索區(qū)域的中心點。避開局部最小值還包括確定前一位置;確定新的位置;比較所述前一位置和所述新的位置;以及基于所述前一位置與所 述新的位置的比較,選擇新的搜索中心,其中,如果所述新的位置在與所述前一位置相反的 方向上,則所述新的搜索中心基于所述前一位置,并且如果所述新的位置不在與所述前一 位置相反的方向上,則所述新的搜索中心于所述新的位置。迭代搜索還包括計算子區(qū)域的 子區(qū)域距離值;確定所述子區(qū)域的最小距離值;將所述最小距離值與閾值相比較;如果所 述最小距離值小于所述閾值,則提早結(jié)束;以及如果所述最小距離值大于或等于所述閾值, 則重復(fù)a_d,直到計數(shù)為零為止。在又一方面中,一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的方法包括 確定搜索區(qū)域中具有最小距離值的位置;基于所述具有最小距離值的位置來確定用于下一 搜索區(qū)域的中心點的偏移;以及基于所述偏移選擇所述下一搜索區(qū)域的中心點。在一些實 施例中,所述最小距離值是最小絕對差之和值。確定下一搜索區(qū)域的中心點提高了估計用 于使圖像穩(wěn)定的運動的效率。確定偏移是利用查找表執(zhí)行的。所述查找表包括與所述搜索 區(qū)域中的每個位置相對應(yīng)的偏移。替代地,該搜索區(qū)域是3X3個像素。在一些實施例中, 該方法僅用硬件實現(xiàn)。替代地,該方法部分地用硬件實現(xiàn)。替代地,該方法部分地用硬件實 現(xiàn)并且部分地利用一個或多個應(yīng)用實現(xiàn)。該計算設(shè)備是從包括如下項的組中選出的個人 計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助理、 蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家 庭娛樂系統(tǒng)。在另一方面中,一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的系統(tǒng)包括 用于存儲應(yīng)用的存儲器和用于處理所述應(yīng)用的處理器,該應(yīng)用被配置用于確定搜索區(qū)域 中具有最小距離值的位置;基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中 心點的偏移;以及基于所述偏移選擇所述下一搜索區(qū)域的中心點。在一些實施例中,所述最 小距離位置是最小絕對差之和位置。確定下一搜索區(qū)域的中心點提高了估計用于使圖像穩(wěn) 定的運動的效率。確定偏移是利用查找表執(zhí)行的。所述查找表包括與所述搜索區(qū)域中的每 個位置相對應(yīng)的偏移。替代地,該搜索區(qū)域是3X3個像素。在一些實施例中,該系統(tǒng)僅用 硬件實現(xiàn)。替代地,該系統(tǒng)部分地用硬件實現(xiàn)。替代地,該系統(tǒng)部分地用硬件實現(xiàn)并且部分 地利用一個或多個應(yīng)用實現(xiàn)。該計算設(shè)備是從包括如下項的組中選出的個人計算機、膝上 型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動 電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。在另一方面中,一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的系統(tǒng)包括 輸入組件,用于接收搜索區(qū)域中的最小距離位置;映射組件,該映射組件將所述最小距離位 置映射到偏移;以及輸出組件,用于輸出所述偏移。在一些實施例中,最小距離值是最小絕 對差之和值。確定下一搜索區(qū)域的中心點提高了估計用于使圖像穩(wěn)定的運動的效率。映射 組件使用查找表。查找表包括與所述搜索區(qū)域中的每個位置相對應(yīng)的偏移。替代地,搜索區(qū) 域是3X3個像素。在一些實施例中,該系統(tǒng)僅用硬件實現(xiàn)。替代地,該系統(tǒng)部分地用硬件 實現(xiàn)。替代地,該系統(tǒng)部分地用硬件實現(xiàn)并且部分地利用一個或多個應(yīng)用實現(xiàn)。該計算設(shè) 備是從包括如下項的組中選出的個人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型 計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、 數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。
11
在又一方面中,一種利用計算設(shè)備在估計運動時避開局部最小值的方法包括確 定前一位置;確定新的位置;將所述前一位置與所述新的位置相比較;以及基于所述前一 位置與所述新的位置的比較,選擇新的搜索中心,其中,如果所述新的位置在與所述前一位 置相反的方向上,則所述新的搜索中心基于所述前一位置,并且如果所述新的位置不在與 所述前一位置相反的方向上,則所述新的搜索中心于所述新的位置。所述相反方向是基于 所述新的位置和所述前一位置以及中心點確定的。利用表和中心點來將所述新的位置和所 述前一位置相比較。避開局部最小值提高了估計用于使圖像穩(wěn)定的運動的效率。所述計算 設(shè)備是從包括如下項的組中選出的個人計算機、膝上型計算機、計算機工作站、服務(wù)器、大 型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相 機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。在另一方面中,一種利用計算設(shè)備在估計運動時避開局部最小值的方法包括確 定前一方向;確定新的方向;將所述前一方向與所述新的方向相比較;以及基于所述前一 方向與所述新的方向的比較,選擇新的搜索中心,其中,如果所述新的方向在與所述前一方 向相反的方向上,則所述新的搜索中心基于前一位置,并且如果所述新的方向不在與所述 前一方向相反的方向上,則所述新的搜索中心于新的位置。避開局部最小值提高了估計用 于使圖像穩(wěn)定的運動的效率。在一些實施例中,該方法僅用硬件實現(xiàn)。替代地,該方法部分 地用硬件實現(xiàn)。替代地,該方法部分地用硬件實現(xiàn)并且部分地利用一個或多個應(yīng)用實現(xiàn)。該 計算設(shè)備是從包括如下項的組中選出的個人計算機、膝上型計算機、計算機工作站、服務(wù) 器、大型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù) 字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。在另一方面中,一種利用計算設(shè)備在估計運動時避開局部最小值的方法包括計 算搜索區(qū)域中的每個點的距離值;從所述搜索區(qū)域中的每個點的距離值中選出最小距離位 置;基于所述最小距離位置確定新的方向;將所述新的方向與前一方向相比較;如果所述 新的方向與所述前一方向是相反方向,則保留前一位置;如果所述新的方向與所述前一方 向不是相反方向,則選擇新的位置;基于所述前一位置和所述新的位置中的一者來選擇新 的搜索中心;以及重復(fù)這些步驟直到達(dá)到一限度為止。在一些實施例中,該距離值是絕對差 之和值。所述限度是η次迭代。替代地,所述限度是一閾值。所述新的方向是基于所述新的 位置與中心點之間的第一關(guān)系確定的,并且所述前一方向是基于所述前一位置與所述中心 點之間的第二關(guān)系確定的。所述新的方向和所述前一方向是通過利用表、將所述新的位置 與中心點相比較并且將所述前一位置與所述中心點相比較而確定的。所述搜索區(qū)域是5 X 5 個像素。避開局部最小值提高了估計用于使圖像穩(wěn)定的運動的效率。在一些實施例中,該 方法僅用硬件實現(xiàn)。替代地,該方法部分地用硬件實現(xiàn)。替代地,該方法部分地用硬件實現(xiàn) 并且部分地利用一個或多個應(yīng)用實現(xiàn)。所述計算設(shè)備是從包括如下項的組中選出的個人 計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助理、 蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家 庭娛樂系統(tǒng)。在又一方面中,一種利用計算設(shè)備避開局部最小值的系統(tǒng)包括用于存儲應(yīng)用的存 儲器和用于處理所述應(yīng)用的處理器,所述應(yīng)用被配置用于計算搜索區(qū)域中的每個點的距 離值;從所述搜索區(qū)域中的每個點的距離值中選出最小距離位置;基于所述最小距離位置確定新的方向;將所述新的方向與前一方向相比較;如果所述新的方向與所述前一方向是 相反方向,則保留前一位置;如果所述新的方向與所述前一方向不是相反方向,則選擇新的 位置;基于所述前一位置和所述新的位置中的一者來選擇新的搜索中心;以及重復(fù)這些步 驟直到達(dá)到一限度為止。在一些實施例中,所述距離值是絕對差之和值。所述搜索區(qū)域是 5X5個像素。所述計算設(shè)備是從包括如下項的組中選出的個人計算機、膝上型計算機、計 算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè) 備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。避開局部最 小值提高了估計用于使圖像穩(wěn)定的運動的效率。在另一方面中,一種用于避開局部最小值的系統(tǒng)包括硬件組件,用于執(zhí)行第一組 計算;以及應(yīng)用組件,用于執(zhí)行第二組計算,其中,所述第一組計算和所述第二組計算包括 確定前一方向,確定新的方向,將所述前一方向與所述新的方向相比較以確定新的搜索中 心。避開局部最小值是在從包括如下項的組中選出的設(shè)備上實現(xiàn)的個人計算機、膝上型計 算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、 智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和家庭娛樂系統(tǒng)。避開 局部最小值提高了估計用于使圖像穩(wěn)定的運動的效率。
圖1圖示出了根據(jù)本發(fā)明的視頻編碼層的框圖。圖2圖示出了根據(jù)本發(fā)明的運動估計流。圖3圖示出了根據(jù)本發(fā)明的示例性搜索。圖4圖示出了根據(jù)本發(fā)明的迭代搜索的流程圖。圖5圖示出了根據(jù)本發(fā)明的用于計算絕對差之和(SAD)的示例性搜索位置和像
ο圖6圖示出了根據(jù)本發(fā)明的實現(xiàn)用于估計運動的推測起始點選擇的流程圖。圖7圖示出了根據(jù)本發(fā)明的示例性計算設(shè)備的框圖。圖8圖示出了根據(jù)本發(fā)明的普通(naive)下一步驟選擇。圖9圖示出了根據(jù)本發(fā)明的被固定在局部最小值處的搜索。圖10圖示出了根據(jù)本發(fā)明的回到相反方向上的普通下一步驟選擇。圖11圖示出了根據(jù)本發(fā)明的移出局部最小值的搜索。圖12圖示出了根據(jù)本發(fā)明的位置矩陣。圖13圖示出了用陰影標(biāo)出了相對位置的位置矩陣。圖14圖示出了根據(jù)本發(fā)明的新的位置以及被禁止的相對位置。圖15圖示出了根據(jù)本發(fā)明的普通搜索的流程圖。圖16圖示出了根據(jù)本發(fā)明的局部最小值避免搜索的流程圖。圖17圖示出了根據(jù)本發(fā)明的下一位置選擇器的流程圖的示圖。圖18-20圖示出了根據(jù)本發(fā)明的對于3X3搜索區(qū)域基于具有當(dāng)前搜索區(qū)域中的 最小SAD的位置的下一搜索區(qū)域。圖21圖示出了根據(jù)本發(fā)明的選擇下一位置的方法的流程圖。圖22圖示出了根據(jù)本發(fā)明的用于基于具有最小SAD的位置來確定下一搜索區(qū)域的中心點的示例性查找表。圖23圖示出了根據(jù)本發(fā)明的利用細(xì)化(refinement)的迭代搜索的流程圖,該細(xì) 化基于運動向量成本和預(yù)測運動向量的SAD。圖M圖示出了根據(jù)本發(fā)明的當(dāng)前宏塊以及相鄰宏塊及其運動向量。圖25圖示出了根據(jù)本發(fā)明的利用細(xì)化的迭代搜索的流程圖,該細(xì)化基于運動向 量成本和預(yù)測運動向量的SAD以及閾值。圖沈圖示出了根據(jù)本發(fā)明的利用早期終止方案的迭代搜索的流程圖。
具體實施例方式圖1圖示出了宏塊的視頻編碼層100的框圖。視頻編碼層100(例如,編碼器)包 括時間和空間預(yù)測的組合以及變換編碼。輸入視頻102被接收并被分為多個塊。序列中的 第一圖片通常僅利用其自身內(nèi)包含的信息而被進(jìn)行“幀內(nèi)”編碼。然后,在幀內(nèi)預(yù)測模塊110 處利用先前編碼塊的空間相鄰樣本來預(yù)測幀內(nèi)編碼幀中的塊的每個部分。該編碼處理選擇 用于內(nèi)部預(yù)測的相鄰樣本以及如何使用它們。該處理在本地解碼器118以及編碼器100處 進(jìn)行。對于序列中的其余圖片,通常使用“幀間”編碼。幀間編碼從其它先前解碼的圖片來 實現(xiàn)運動補償112。在運動估計模塊114處進(jìn)行的用于幀間預(yù)測/運動估計的編碼處理包 括選擇運動數(shù)據(jù)、確定參考圖片以及應(yīng)用于塊中所有樣本的空間位移。運動數(shù)據(jù)被發(fā)送作 為供編碼器100和本地解碼器118使用的邊信息(side information)。原始塊與預(yù)測塊之間的差異被稱為預(yù)測的殘余信息。殘余信息被變換,并且變換 系數(shù)在變換和縮放量化模塊104處被縮放和量化。對于變換系數(shù)的量化,使用標(biāo)量量化 (scalar quantization)。利用整數(shù)變換來對每個塊進(jìn)行變換,并且利用熵編碼方法來量化 變換系數(shù)并發(fā)送。熵編碼器116使用被設(shè)置用于除經(jīng)量化的變換系數(shù)以外的所有元素的碼 字?;谏舷挛牡淖赃m應(yīng)可變長度編碼(CAVLC)或基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼 (CABAC)被用于經(jīng)量化的變換系數(shù)。解塊濾波器108被實現(xiàn)來控制濾波強度以減輕圖像的 土夬狀化(blockiness)。編碼器100還包括本地解碼器118以生成用于接下來的塊的預(yù)測參考。經(jīng)量化的 變換系數(shù)按照與給出解碼預(yù)測殘余信息的編碼器側(cè)相同的方式被逆縮放和逆變換106。解 碼預(yù)測殘余信息被添加到預(yù)測中,并且其組合被引導(dǎo)至解塊濾波器108,解塊濾波器108提 供經(jīng)解碼視頻作為輸出。最終,熵編碼器116產(chǎn)生原始輸入視頻102的壓縮視頻比特120。在視頻編碼器的運動估計(ME)中,最昂貴的計算是預(yù)測圖片與原始圖片之間的 絕對差之和(SAD)的計算。特別地,整像素搜索的SAD計算占主導(dǎo)地位。因此,減少整像素 搜索中的SAD計算的次數(shù)在減小硬件大小,并且由此降低成本方面具有重要作用。圖2圖 示出了運動估計流程200,該流程獲取圖片并且執(zhí)行整像素搜索、半像素搜索和四分之一像 素搜索以確定運動向量。用于減少SAD計算的常用方法是在SAD計算之前對參考圖片和原始圖片進(jìn)行二次 采樣(sub-sample),以使得ME硬件能夠利用較少次數(shù)的SAD計算來搜索相同的搜索范圍。 在經(jīng)二次采樣的搜索范圍內(nèi),搜索仍然是詳盡的。由于該搜索是在粗略的經(jīng)二次采樣域中 進(jìn)行的,因此需要進(jìn)行細(xì)化以獲得更精確的運動向量。在通過引用被結(jié)合于此的Yamauchi,H.等人的“An 8 IMHz,1280X720pixelsX30frames/s MPEG_4video/audio CODEC processor,,中描述的迭代運動 估計搜索方法通過計算搜索范圍中的僅一部分的SAD而進(jìn)一步減少了 SAD計算的次數(shù)。利 用該方法,系統(tǒng)一次計算一小區(qū)域的SAD。然后,系統(tǒng)比較區(qū)域的SAD并且挑選出最小SAD 的位置。接下來,系統(tǒng)基于先前的搜索結(jié)果來選擇另一小區(qū)域。系統(tǒng)將該處理重復(fù)一定次 數(shù)。在所有迭代期間具有最小SAD值的搜索位置被選為最佳匹配位置。迭代次數(shù)取決于硬 件性能。圖3圖示出了示出起始位置300和所確定的最小SAD 302的示例性搜索,其中,每 個步驟一次搜索9個搜索點(3X;3)并重復(fù)5次。圖4圖示出了迭代搜索的流程圖。在步驟400中,處理開始于計數(shù)等于N,其中,N 是要搜索的次數(shù)。在步驟402,計算區(qū)域的SAD(例如,3X3區(qū)域)。在步驟404,基于步驟 402中的計算來選擇該區(qū)域中的最小SAD位置。在步驟406,將最小SAD位置與先前的最佳 (例如最小)SAD相比較并且保留兩者中的較小者。在步驟408,計數(shù)被遞減1以考慮進(jìn)迭 代。在步驟410,判斷計數(shù)是否為0。如果計數(shù)為0,則處理結(jié)束。如果計數(shù)不為0,則在步 驟412中選擇下一搜索位置。此后,處理從步驟402起重復(fù)。在一些實施例中,還可以使用 不同的計數(shù)實現(xiàn)方式或不同的計數(shù)順序。由于僅對搜索范圍的一部分進(jìn)行搜索,因此與窮盡搜索相比,極大地減少了 SAD 計算的次數(shù)。在二次采樣搜索中,一次搜索小數(shù)目的搜索點(例如在3X3網(wǎng)格中為9個), 并且重復(fù)搜索N次(例如5次)。“3X3搜索”意味著“9個位置”的SAD計算而非“9個 SAD”。因此,如果宏塊(16X16個像素)被二次采樣為1/4大小(例如,8 X 8個像素),則針 對“一個位置”的SAD數(shù)目為8X8 = 64個。在硬件中,64次SAD計算能夠同時計算。圖5 圖示出了示例性3X3搜索位置500以及8X8個像素的宏塊中的二次樣本502。盡管3X3 二次采樣搜索被描述,然而搜索的大小不限于該大小。然而,由于二次采樣迭代搜索未檢查搜索范圍中的所有位置,因此其存在問題。因 此,該搜索不保證將找到可能的最佳解。具體地,搜索在錯誤的方向上進(jìn)行和/或最佳搜索 位置可能離起始位置太遠(yuǎn)。推測起始點為了解決上面的問題,使用推測的起始點迭代搜索方案。利用該推測搜索方案,在 迭代開始之前,系統(tǒng)將數(shù)個“有希望的”位置的SAD相比較。然后,“有希望的”位置中的最 佳位置被用作迭代搜索的起始位置。在針對H. 264編碼器的實現(xiàn)方式中,搜索在兩個步驟 中執(zhí)行,盡管替代地,搜索可以在任意數(shù)目的步驟中執(zhí)行。圖6圖示出了實現(xiàn)用以估計運動的推測起始點選擇的流程圖。在步驟600,計算三 個位置的SAD 全局運動向量(GMV)、零(0)運動向量(OMV)和預(yù)測運動向量(PMV)。GMV針 對每個幀根據(jù)先前編碼幀的統(tǒng)計信息被計算一次,并且PMV針對每個宏塊從當(dāng)前幀中的相 鄰宏塊被估計出。具有最小SAD的位置被用作隨后的迭代搜索的起始位置。取決于編碼器 /解碼器(CODEC),各個位置都可被選為“有希望的”位置,而不限于上面那些位置。盡管上 面描述了三個位置,然而,可供選擇的位置的數(shù)目不限于三個;而是,更多或更少的位置可 被選擇。在步驟602,系統(tǒng)執(zhí)行在圖4中描述的迭代搜索。然而,該迭代的起始位置是來自 步驟600的最佳起始位置。在一些實施例中,在步驟600之后,所選SAD被用作用于其它迭 代搜索實現(xiàn)方式的起始位置。在步驟604,對運動向量進(jìn)行細(xì)化。在步驟606,實現(xiàn)子像素(subpel)搜索。結(jié)果得到了在較短時間量中被處理的平滑圖像/視頻。圖7圖示出了根據(jù)本發(fā)明的示例性計算設(shè)備700的框圖。計算設(shè)備700能夠用來 獲取、存儲、計算、傳輸和/或顯示諸如圖像和視頻之類的信息。例如,計算設(shè)備700獲取視 頻,并且在獲取了視頻時,進(jìn)行經(jīng)改進(jìn)的運動估計處理。一般地,適合實現(xiàn)計算設(shè)備700的 硬件結(jié)構(gòu)包括網(wǎng)絡(luò)接口 702、存儲器704、處理器706、( 一個或多個)I/O設(shè)備708、總線710 以及存儲設(shè)備712。處理器的選擇不是至關(guān)重要的,只要選擇具有足夠速度的合適處理器 即可。存儲器704可以是本領(lǐng)域已知的任何傳統(tǒng)的計算機存儲器。存儲設(shè)備712可以包括 硬盤驅(qū)動器、⑶ROM、⑶RW、DVD、DVDRW、閃存卡或者任何其它存儲設(shè)備。計算設(shè)備700可以 包括一個或多個網(wǎng)絡(luò)接口 702。網(wǎng)絡(luò)接口的示例包括連接到以太網(wǎng)或其它類型的LAN的網(wǎng) 卡。(一個或多個)I/O設(shè)備708可以包括如下設(shè)備中的一個或多個鍵盤、鼠標(biāo)、監(jiān)視器、 顯示裝置、打印機、調(diào)制解調(diào)器、觸摸屏、按鈕接口以及其它設(shè)備。用來執(zhí)行本發(fā)明的方法的 (一個或多個)應(yīng)用730有可能存儲在存儲設(shè)備712和存儲器704中,并且按照應(yīng)用通常 被處理的方式而被處理。應(yīng)用730包括用于確定起始點的起始點組件730'和用于執(zhí)行迭 代搜索的迭代搜索組件730",以及任何其它所希望或需要的組件。比圖7所示的更多或 更少的組件可被包括在計算設(shè)備700中。在一些實施例中,運動估計硬件720被包括用于 處理運動估計信息。盡管圖7中的計算設(shè)備700包括用于運動估計處理的應(yīng)用730和硬件 720,然而經(jīng)改進(jìn)運動估計處理可以在由硬件、固件、軟件或者它們的任意組合構(gòu)成的計算 設(shè)備上實現(xiàn)。合適的計算設(shè)備的示例包括個人計算機、膝上型計算機、計算機工作站、服務(wù)器、 大型計算機、手持式計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字 相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 、家庭娛樂系統(tǒng)或者任何其它合適的計算設(shè)備。為了利用推測起始點迭代搜索方案,計算設(shè)備照常工作,但是運動估計處理的改 進(jìn)之處在于其更高效且更精確。從用戶的角度來看,計算設(shè)備的利用與使用標(biāo)準(zhǔn)運動估計 的計算設(shè)備類似或相同。例如,用戶仍然簡單地打開數(shù)字?jǐn)z錄像機并且利用該攝錄像機記 錄視頻。經(jīng)改進(jìn)的運動估計處理能夠自動地提高視頻質(zhì)量。例如,推測起始點迭代搜索方 案能夠用在需要運動估計的任何地方,例如圖像穩(wěn)定器。許多其它應(yīng)用也能夠利用該經(jīng)改 進(jìn)的運動估計處理。在操作中,通過利用推測起始點迭代搜索方案,迭代搜索以多種方式被改進(jìn)。經(jīng)改 進(jìn)的迭代搜索避免進(jìn)入完全錯誤的位置,這是因為該迭代搜索從可能的最佳起始點開始。 總的迭代次數(shù)能夠被減少,這是因為利用從“靜態(tài)位置”(OMV)、諸如相機搖移之類的“全局 移動”(GMV)和“對象的運動”(PMV)中選出的起始MV,迭代搜索有可能從接近搜索范圍中 的最佳可能位置的位置開始。即使最佳位置(例如MV)較大,如果迭代從全局運動開始,則 也能夠抵達(dá)搜索位置。用于H. 264編碼器的推測起始點迭代搜索方案極大地減少了 SAD計 算時間。局部最小倌避免迭代搜索的至關(guān)緊要的方面是如何選擇接下來的中心點。如果系統(tǒng)簡單地選擇具 有最小SAD的方向,則系統(tǒng)可能處于在局部最小值處來回往復(fù)的位置中。例如,普通的系統(tǒng) 可能選擇最小SAD點的方向。在圖8所示示例中,當(dāng)位置802具有5X5區(qū)域800中的最小 SAD值時,向右前進(jìn)是合理的。下次迭代是向右對5X5區(qū)域的搜索。然而,該搜索可能處于圖9所示的局部最小值900處,而未在真實最小值902處。在此情況中,下次迭代的最小 SAD是5X5區(qū)域中的左邊的中心1002,如圖10所示。然后,普通的搜索算法確定下次搜索 去往已經(jīng)被搜索過的左邊的5X5區(qū)域。在隨后的搜索中,最小SAD再次為右邊的中心,并 且搜索來回地持續(xù),逗留在局部最小值處。為了避免逗留在局部最小值處,局部最小避免搜索判斷要分析的下一方向是否是 先前分析過的方向的相反方向。在搜索前進(jìn)到下一搜索中心之前,該搜索保留當(dāng)前搜索的 最小SAD位置。在圖8的情況中,系統(tǒng)記住將向東前進(jìn)。在接下來的搜索位置的SAD計算完成之后,并且挑選了最佳SAD時,系統(tǒng)檢查是否 嘗試向前一迭代的“相反方向”前進(jìn)。在圖10的情況中,新的方向為西方,其與先前的方向 剛好相反。如果這樣的情況發(fā)生,系統(tǒng)確定向先前選擇的方向(例如,東方)前進(jìn)。在避開 相反方向幾次之后,搜索可能逃離局部最小值1100并且朝著真實最小值1102移動,如圖11 所示。圖12至圖14圖示出了局部最小值避免搜索的示例性實現(xiàn)方式。在針對H. 264視 頻編碼器的實現(xiàn)方式中,系統(tǒng)僅存儲前一搜索的最小SAD位置。對于5X5搜索1200,從0 至M的編號被保留。圖12示出了最小SAD被確定為東方的中心位置中的位置14。在迭代的下一步驟中,在計算出新的最小SAD位置之后,將新的位置與前一最佳 位置相比較。基于查找表或其它映射方案,方法/系統(tǒng)能夠得知哪些位置被認(rèn)為處于相反 方向上。例如,在圖12中前一步驟中的最佳位置為14,因此,在圖13中陰影位置1300被認(rèn) 為“與先前最佳相反”。如果新的位置是這些陰影位置1300中的任一個,則系統(tǒng)認(rèn)為迭代“后退”到先前 搜索位置。于是,系統(tǒng)不考慮基本迭代規(guī)則并且選擇東方作為下一方向。在5X5搜索的情況中,一些可應(yīng)用規(guī)則已被減少為圖14所示的圖案??梢酝ㄟ^ 旋轉(zhuǎn)附圖來應(yīng)用其它位置。針對先前搜索位置的陰影位置1400被示出,并且相對應(yīng)的禁止 位置1402被示為與陰影位置1400相對。一般地,角落位置產(chǎn)生相對的角落位置(可能具 有被認(rèn)為是相對的延伸),并且邊/頂部/底部位置具有各自相對的邊/底部/頂部位置作 為相對位置。圖15圖示出了經(jīng)簡化迭代搜索的流程圖。在步驟1500,計算5X5搜索的SAD。在 步驟1502,選擇最小SAD位置。然后,在步驟1504,基于當(dāng)前搜索結(jié)果選擇新的搜索中心。 該處理重復(fù)指定次數(shù),直到達(dá)到閾值或符合另一標(biāo)準(zhǔn)為止。局部最小值避免搜索的流程在圖16中示出。在選擇新的搜索中心之前,檢查新的 方向以判斷該方向是否正后退。如果是,則該方向被先前的方向取代。方向是由最小SAD 的位置確定的。例如,如果最小SAD是中心以東的位置,則該方向為東方。如果方向是上部 向東位置,則方向為東北方,等等。具體地,在步驟1600,計算5X5區(qū)域中的每個搜索位置的SAD。在步驟1602,選擇 具有最小SAD的位置。在步驟1604,確定新位置的方向。在步驟1606,判斷該方向是否與先 前方向相反。如果該方向不是相反的,則在步驟1608新的位置被保留,并且跳過步驟1610。 如果該方向是相反的,則在步驟1610新的位置被設(shè)置為先前位置。然后,在步驟1612,基于 在步驟1608或步驟1610中確定的位置來選擇新的搜索中心。在步驟1614,該處理重復(fù)指 定次數(shù),直到達(dá)到閾值或符合另一標(biāo)準(zhǔn)為止。
在一些實施例中,當(dāng)檢測到“后退”時,則追隨相同的方向(例如,先前的方位)。 在一些實施例中,當(dāng)檢測到“后退”時,采取經(jīng)調(diào)節(jié)的方向,其中,經(jīng)調(diào)節(jié)方向位于先前方向 與新方向之間的某個地方。盡管為了示例性目的描述了 5X5搜索,然而可以進(jìn)行任何適當(dāng)大小的搜索。如上所述,圖7圖示出了計算設(shè)備700。該計算設(shè)備除了可以執(zhí)行推測起始點方法 以外,該計算設(shè)備還可以執(zhí)行除其它應(yīng)用以外的或者替代其它應(yīng)用的局部最小值避免。在 一些實施例中,計算設(shè)備700包括用于避免局部最小值的附加應(yīng)用732。在一些實施例中, 局部最小值避免方法在與推測起始點選擇應(yīng)用730相同的應(yīng)用中實現(xiàn)。在一些實施例中, 計算設(shè)備ME HW 720被配置來避開局部最小值。局部最小值避免可以通過硬件、固件、軟件 或者它們的任意組合來實現(xiàn)。為了利用局部最小值避免搜索,計算設(shè)備照常工作,但是運動估計處理的改進(jìn)之 處在于其更高效且更精確,這是因為將避開局部最小值。從用戶的角度來看,計算設(shè)備的利 用與使用標(biāo)準(zhǔn)運動估計的計算設(shè)備類似或相同。例如,用戶仍然簡單地打開數(shù)字?jǐn)z錄像機 并且利用該攝錄像機記錄視頻。局部最小值避免搜索能夠自動地提高視頻質(zhì)量。例如,局 部最小值避免搜索能夠用在需要運動估計的任何地方,例如圖像穩(wěn)定器。許多其它應(yīng)用也 能夠利用該經(jīng)改進(jìn)的局部最小值避免處理。在操作中,局部最小值避免搜索通過防止迭代搜索持續(xù)地來回搜索相同位置來避 開局部最小值。下一捭索位置方案由于迭代搜索僅能夠搜索搜索范圍中的有限的點,因此如果搜索點未被有效地選 擇,則圖片質(zhì)量將顯著降低。另外,搜索點選擇在迭代中的每個步驟中被執(zhí)行。因此,優(yōu)選 地,作出決定的算法要快。下一搜索位置方案能夠基于最小SAD的位置快速地決定下一搜索中心。圖17圖示出了下一位置選擇器1702的操作的流程圖的示圖。下一位置選擇器 1700的輸入1702是當(dāng)前搜索中的最小SAD的位置。在3X 3步驟的情況中,該位置是從0 至8的編號,如圖18所示。輸出1704是從當(dāng)前搜索中心到新的搜索中心的偏移。迭代搜 索隨后基于該輸出移動。例如,當(dāng)最小SAD的位置是圖18中被標(biāo)為“1”的位置時,下一搜索中心將在當(dāng)前 搜索中心向北3個像素處。因此,如果當(dāng)前搜索的搜索中心在位置(10,10)處并且3X3搜 索區(qū)域中的最佳/最小SAD位置在位置1處,則下一搜索中心將在位置(10,7)處。然而, 如果最小SAD在位置5處,則下一搜索中心將在向東3個像素處。因此,如果當(dāng)前搜索中心 在位置(10,10)處,則新的搜索中心將在位置(13,10)處。圖18-20圖示出了對于3X3搜索區(qū)域基于具有當(dāng)前搜索區(qū)域的最小SAD的位置 的下一搜索區(qū)域。圖18圖示出了 3X3搜索,其中每個位置由一個編號指定。該圖案僅包 括水平、垂直和對角線位置。圖19示出了水平位置(3、幻和垂直位置(1、7),它們具有相對 應(yīng)的下一搜索區(qū)域偏移-位置1 北(0,-3)、位置3:西(_3,0)、位置7:南(0,;3)和位置5 東(3,0)。圖20示出了對角線位置(0、2、6、8),它們具有相對應(yīng)的搜索區(qū)域偏移-位置0: 西北(-2,-2)、位置6 西南(-2,2)、位置8 東南(2,2)和位置2 東北(2,-2)。盡管已描述了 3X3搜索區(qū)域,然而任何適當(dāng)?shù)乃阉鲄^(qū)域都是可以的。
18
圖21圖示出了選擇下一位置的方法的流程圖。在步驟3100,確定搜索區(qū)域中具有 最小SAD的位置。在一些實施例中,搜索區(qū)域為3X3個像素,并且在一些實施例中,搜索區(qū) 域具有不同大小。在步驟3102,基于該最小SAD位置來自動為下一搜索區(qū)域計算/查找下 一搜索區(qū)域中心點的偏移。在一些實施例中,下一中心點的實際位置是基于當(dāng)前中心點計 算的。在步驟3104,為下一搜索區(qū)域選擇中心點。 下一位置選擇器所使用的規(guī)則可以通過查找表來實現(xiàn)。在一些實施例中,規(guī)則通 過另外的手段來實現(xiàn)。在一些實施例中,甚至不需要SAD本身的值。規(guī)則簡單地使用最小 SAD的位置來確定下一搜索區(qū)域的中心點。此外,由于規(guī)則是用查找表實現(xiàn)的,因此可以按 照需要容易地改變它們。圖22圖示出了用于基于具有最小SAD的位置來確定下一搜索區(qū)域的中心點的示 例性查找表3200。如上所述,到下一搜索區(qū)域的中心點的偏移是基于最小SAD位置確定的。 如圖22所示,如果最小SAD在位置0處,則下一搜索區(qū)域的中心點在(-2,-2)的偏移處。 還示出了其它查找值。圖22假設(shè)搜索區(qū)域為3X3個像素。對于其它搜索區(qū)域,值將相應(yīng) 地改變。下一搜索區(qū)域選擇方案與簡單局部最小值避免搜索方案相組合能夠在H. 264編 碼器中利用少的處理器周期獲得高質(zhì)量的編碼。如上所述,圖7圖示出了計算設(shè)備700。該計算設(shè)備700除了可以執(zhí)行推測起始點 迭代搜索方案和局部最小值避免方法以外,該計算設(shè)備700還可以執(zhí)行除其它應(yīng)用以外的 或者替代其它應(yīng)用的下一搜索位置選擇方法。在一些實施例中,計算設(shè)備700包括用于選 擇下一搜索位置的附加應(yīng)用734。在一些實施例中,下一搜索位置選擇在與應(yīng)用732或推 測起始點選擇應(yīng)用730相同的應(yīng)用中實現(xiàn)。在一些實施例中,用于選擇下一搜索位置的應(yīng) 用734或硬件720包括用于接收搜索區(qū)域的最小SAD位置的輸入組件734'、用于基于最 小SAD位置查找偏移的諸如查找表之類的映射組件734",以及用于輸出下一搜索區(qū)域的 中心點的偏移的輸出組件734'“。在一些實施例中,取代將偏移輸出或者除了將偏移輸出 以外,還確定下一搜索區(qū)域的中心點的實際位置。在一些實施例中,計算設(shè)備ME HW 720被 配置來選擇下一搜索位置。下一搜索位置選擇可以通過硬件、固件、軟件或者它們的任意組 合來實現(xiàn)。為了利用下一位置選擇器,計算設(shè)備照常工作,但是運動估計處理的改進(jìn)之處在 于其更高效且更精確,這是因為要搜索的更好的下一位置將被選出。從用戶的角度來看,計 算設(shè)備的利用與使用標(biāo)準(zhǔn)運動估計的計算設(shè)備類似或相同。例如,用戶仍然簡單地打開數(shù) 字?jǐn)z錄像機并且利用該攝錄像機記錄視頻。下一位置選擇器能夠自動地提高視頻質(zhì)量。例 如,下一位置選擇器能夠用在需要運動估計的任何地方,例如圖像穩(wěn)定器。許多其它應(yīng)用也 能夠利用該下一位置選擇器。在操作中,下一位置選擇器確定下一搜索區(qū)域的中心點,以提高運動估計的效率。 此外,由于下一位置選擇器使用了簡單的方案,因此容易實現(xiàn)。細(xì)化方案在平滑、平坦的區(qū)域中,大多數(shù)位置具有類似的SAD值。因此,搜索算法容易被欺 騙,因為任何運動向量都像是好的候選。然而,如果ME選擇任意運動向量,則除了系數(shù)以外 更多的比特被消耗用于運動向量頭部,從而產(chǎn)生更差的感知到的圖片質(zhì)量。另外,盡管其不太影響信噪比,然而平滑表面中的不協(xié)調(diào)運動會生成不自然的圖片,從而降低感知到的質(zhì)量。當(dāng)原始圖片具有許多噪聲時,SAD計算容易被噪聲欺騙。有時,這些不正確的運動 向量由于噪聲而具有更小的SAD值。然而,這些不準(zhǔn)確的運動容易被人眼認(rèn)出。將描述利用預(yù)測運動向量(PMV)細(xì)化(refine)迭代搜索的方案。PMV是從相鄰宏 塊預(yù)測出的當(dāng)前宏塊的最可能運動向量。利用周圍宏塊的運動向量的迭代搜索流程在圖23中示出。PMV細(xì)化給予PMV位置 兩次機會。在步驟3300,計算三個位置的SAD 全局運動向量(GMV)、零(0)運動向量(OMV) 和預(yù)測運動向量(PMV)。GMV針對每個幀根據(jù)先前編碼幀的統(tǒng)計信息被計算一次,并且PMV 針對每個宏塊從當(dāng)前幀中的相鄰宏塊被估計出。具有最小SAD的位置被用作隨后的迭代搜 索的起始位置。取決于編碼器/解碼器(CODEC),各個位置都可被選為“有希望的”位置, 而不限于上面那些位置。盡管上面描述了三個位置,然而,可供選擇的位置的數(shù)目不限于三 個;而是,更多或更少的位置可被選擇。在步驟3302,系統(tǒng)執(zhí)行在圖4中描述的迭代搜索。然而,該迭代的起始位置是來 自步驟3300的最佳起始位置。PMV位置的SAD值被計算出并且與諸如OMV和全局MV之類 的其它位置相比較,以確定如上所述的迭代的起始位置。在一些實施例中,在步驟3300之 后,所選SAD被用作用于迭代搜索的其它實現(xiàn)方式的起始位置。迭代搜索得到最小SAD位 置。在步驟3304,運動向量成本(cost)被添加到迭代搜索優(yōu)勝者的SAD中,而不向PMV的 SAD添加MV成本。然后,在步驟3306,被添加了運動向量成本的迭代搜索優(yōu)勝者(例如,最 小SAD位置)再次與PMV位置的SAD相比較。具有運動向量成本的迭代搜索結(jié)果與PMV的 SAD中的較小者被選擇。在步驟3308,運動向量被細(xì)化。結(jié)果得到了在較短時間量中被處 理的平滑圖像/視頻。具有計算MV成本的各種方式。一般地,運動向量成本是基于離PMV的距離來計算 的。因此,MV成本不被添加給PMV位置。圖M圖示出了當(dāng)前宏塊3400和相鄰宏塊3402及其運動向量。PMV從相鄰宏塊 3402被計算出。該細(xì)化方案防止迭代搜索選擇任意的運動向量。這也有助于運動向量即使在平滑 表面中也變得一致,從而節(jié)省了用于運動向量頭部的比特。這產(chǎn)生了提高的感知到的圖片 質(zhì)量。此外,即使在有噪聲的視頻序列中,系統(tǒng)也不太可能被欺騙。該細(xì)化方案不限于計算PMV這種方式。此外,細(xì)化方案也可以應(yīng)用于任何種類的 ME應(yīng)用。如上所述,圖7圖示出了計算設(shè)備700。計算設(shè)備700也可以執(zhí)行該細(xì)化方案。在 一些實施例中,計算設(shè)備700包括用于執(zhí)行細(xì)化方案的附加應(yīng)用736。在一些實施例中,應(yīng) 用736具有起始位置組件736'、迭代搜索組件736"和附加比較組件736'“。在一些實 施例中,細(xì)化方案在與先前討論的應(yīng)用之一相同的應(yīng)用中實現(xiàn)。在一些實施例中,計算設(shè)備 ME HW720被配置來實現(xiàn)細(xì)化方案。該細(xì)化方案可以通過硬件、固件、軟件或者它們的任意組 合來實現(xiàn)。為了利用該細(xì)化方案,計算設(shè)備照常工作,但是運動估計處理的改進(jìn)之處在于其 更高效且更精確,尤其是對于平滑的平坦區(qū)域,這是因為合適的運動向量將被選出。從用戶的角度來看,計算設(shè)備的利用與使用標(biāo)準(zhǔn)運動估計的計算設(shè)備類似或相同。例如,用戶仍然 簡單地打開數(shù)字?jǐn)z錄像機并且利用該攝錄像機記錄視頻。該細(xì)化方案能夠自動地提高視頻 質(zhì)量。例如,該細(xì)化方案能夠用在需要運動估計的任何地方,例如圖像穩(wěn)定器。許多其它應(yīng) 用也能夠利用該細(xì)化方案。在操作中,該細(xì)化方案通過向運動向量的SAD添加運動向量成本并且將該值與 PMV的SAD相比較來確定適當(dāng)?shù)倪\動向量。這兩者中的較低者隨后被用于細(xì)化運動向量。 該附加的比較有助于避免在圖像或有噪聲圖像中的平滑的平坦區(qū)域中出現(xiàn)的問題。利用閾倌的細(xì)化方案當(dāng)圖片的運動非常大時,上述細(xì)化方案具有一些負(fù)面影響。具體地,系統(tǒng)將迭代 搜索的優(yōu)勝者與PMV位置相比較。然而,總成本也與PMV位置相比較,其中,該總成本是 "SAD+MV成本”,而PMV的總成本僅是SAD。因此,當(dāng)圖片中的運動較大時,MV成本也趨于較 大。這使得該細(xì)化方案極大地阻礙了運動估計系統(tǒng)產(chǎn)生大的運動向量。添加了閾值的利用周圍宏塊的運動向量的迭代搜索的流程在圖25中示出。PMV細(xì) 化給予PMV位置兩次機會,但是該閾值判斷第二次機會是否有用。在步驟3500,計算三個位 置的SAD 全局運動向量(GMV)、零(0)運動向量(OMV)和預(yù)測運動向量(PMV)。GMV針對每 個幀根據(jù)先前編碼幀的統(tǒng)計信息被計算一次,并且PMV針對每個宏塊從當(dāng)前幀中的相鄰宏 塊被估計出。具有最小SAD的位置被用作隨后的迭代搜索的起始位置。取決于編碼器/解 碼器(CODEC),各個位置都可被選為“有希望的”位置,而不限于上面那些位置。盡管上面描 述了三個位置,然而,可供選擇的位置的數(shù)目不限于三個;而是,更多或更少的位置可被選 擇。在步驟3502,系統(tǒng)執(zhí)行在圖4中描述的迭代搜索。然而,該迭代的起始位置是來 自步驟3500的最佳起始位置。PMV位置的SAD值被計算出并且與諸如OMV和全局MV(GMV) 之類的其它位置相比較,以確定如上所述的迭代的起始位置。在一些實施例中,在步驟3500 之后,所選SAD被用作用于迭代搜索的其它實現(xiàn)方式的起始位置。迭代搜索得到最小SAD 位置。在步驟3504,運動向量成本被添加到迭代搜索優(yōu)勝者的SAD中。在一些實施例中, 步驟3504和3506的順序被交換。在步驟3506中,將GMV與閾值相比較。如果GMV小于 閾值,則在步驟3508,被添加了運動向量成本的迭代搜索優(yōu)勝者(例如,最小SAD位置)與 PMV位置的SAD相比較。在步驟3506,如果GMV大于或等于該閾值,則跳過步驟3508中的 比較,并且迭代搜索結(jié)果就是在步驟3510中經(jīng)細(xì)化的運動向量。結(jié)果得到了在較短時間量 中被處理的平滑圖像/視頻。利用閾值的細(xì)化方案防止了迭代搜索選擇任意運動向量并且還防止PMV優(yōu)先阻 礙較大的運動向量。這也有助于運動向量即使在平滑表面中也變得一致,從而節(jié)省了用于 運動向量頭部的比特。當(dāng)圖片中的運動較大時,這產(chǎn)生了提高的感知到的圖片質(zhì)量。利用閾值的細(xì)化方案不限于計算PMV這種方式。此外,細(xì)化方案也可以應(yīng)用于任 何種類的ME應(yīng)用。如上所述,圖7圖示出了計算設(shè)備700。計算設(shè)備700也可以執(zhí)行該利用閾值的 細(xì)化方案。在一些實施例中,計算設(shè)備700包括用于執(zhí)行利用閾值的細(xì)化方案的附加應(yīng)用 738。在一些實施例中,應(yīng)用738具有起始位置組件738'、迭代搜索組件738"、閾值組件 738'“和附加的比較組件738"“。在一些實施例中,利用閾值的細(xì)化方案在與先前討論的應(yīng)用之一相同的應(yīng)用中實現(xiàn)。在一些實施例中,計算設(shè)備ME HW 720被配置來實現(xiàn)利用 閾值的細(xì)化方案。該利用閾值的細(xì)化方案可以通過硬件、固件、軟件或者它們的任意組合來 實現(xiàn)。為了利用該使用閾值的細(xì)化方案,計算設(shè)備照常工作,但是運動估計處理的改進(jìn) 之處在于其更高效且更精確,尤其是對于平滑的平坦區(qū)域,這是因為合適的運動向量將被 選出。從用戶的角度來看,計算設(shè)備的利用與使用標(biāo)準(zhǔn)運動估計的計算設(shè)備類似或相同。例 如,用戶仍然簡單地打開數(shù)字?jǐn)z錄像機并且利用該攝錄像機記錄視頻。該利用閾值的細(xì)化 方案能夠自動地提高視頻質(zhì)量。例如,該利用閾值的細(xì)化方案能夠用在需要運動估計的任 何地方,例如圖像穩(wěn)定器。許多其它應(yīng)用也能夠利用該利用閾值的細(xì)化方案。在操作中,該利用閾值的細(xì)化方案首先基于GMV與閾值的比較來判斷迭代搜索結(jié) 果與PMV的比較是否適當(dāng)。如果適當(dāng),則該利用閾值的細(xì)化方案通過向運動向量的SAD添 加運動向量成本并且將該值與PMV的SAD相比較來確定適當(dāng)?shù)倪\動向量。這兩者中的較低 者隨后被用于細(xì)化運動向量。如果不適當(dāng),則來自迭代搜索結(jié)果的運動向量被用于進(jìn)行細(xì) 化。早期終Ih方案盡管迭代搜索算法減少了 SAD計算的次數(shù),然而在系統(tǒng)中SAD的功耗仍然較大。因 此,減少迭代次數(shù)的方法將進(jìn)而降低功耗。為了降低迭代搜索的功耗,迭代搜索在“好的”搜索候選被找到時終止。系統(tǒng)將一 個步驟的最佳SAD與閾值相比較。如果該最佳SAD值小于閾值,則其被認(rèn)為是“好的”搜索 候選并且迭代終止。否則,搜索照常繼續(xù)。圖沈圖示出了利用閾值的迭代搜索的流程圖。在步驟3600,處理開始于計數(shù)等 于N,其中,N是要搜索的次數(shù)。在步驟3602,計算區(qū)域的SAD(例如,3X3區(qū)域)。在步驟 3604,基于步驟3602中的計算來選擇該區(qū)域中的最小SAD位置。在步驟3606,將最小SAD 位置與先前的最佳(例如最小)SAD相比較并且保留兩者中的較小者。在步驟3608,計數(shù)被 遞減1以考慮進(jìn)步驟3606中的比較。在步驟3610,判斷計數(shù)是否為0。如果計數(shù)為0,則處 理結(jié)束。如果計數(shù)不為0,則在步驟3612中判斷所保留的SAD是否小于閾值。如果該SAD 小于閾值,則處理結(jié)束。如果該SAD不小于閾值,則在步驟3614中選擇下一搜索位置。此 后,處理從步驟3602起重復(fù)。在一些實施例中,還可以使用不同的計數(shù)實現(xiàn)方式或不同的 計數(shù)順序。如上所述,圖7圖示出了計算設(shè)備700。該計算設(shè)備700還可以執(zhí)行早期終止方 案。在一些實施例中,計算設(shè)備700包括用于執(zhí)行早期終止方案的附加應(yīng)用740。在一些實 施例中,早期終止方案在與先前討論的應(yīng)用之一相同的應(yīng)用中實現(xiàn)。在一些實施例中,應(yīng)用 740包括用于迭代搜索的迭代搜索組件740'和用于在滿足閾值條件時進(jìn)行早期終止的閾 值組件740〃。在一些實施例中,計算設(shè)備ME HW 720被配置來實現(xiàn)早期終止方案。早期終 止方案可以通過硬件、固件、軟件或者它們的任意組合來實現(xiàn)。為了利用早期終止方案,計算設(shè)備照常工作,但是運動估計處理的改進(jìn)之處在于 其更高效。從用戶的角度來看,計算設(shè)備的利用與使用標(biāo)準(zhǔn)運動估計的計算設(shè)備類似或相 同。例如,用戶仍然簡單地打開數(shù)字?jǐn)z錄像機并且利用該攝錄像機記錄視頻。早期終止方 案能夠自動地提高視頻質(zhì)量。例如,早期終止方案能夠用在需要運動估計的任何地方,例如圖像穩(wěn)定器。許多其它應(yīng)用也能夠利用該早期終止方案。在操作中,早期終止方案判斷最佳SAD是否小于閾值。如果最佳SAD小于閾值,則 該方案結(jié)束,而不完成其余計數(shù)。當(dāng)運動估計用硬件實現(xiàn)時,該早期終止方案降低了迭代搜 索的功耗。當(dāng)用軟件實現(xiàn)時,該早期終止方案減少了處理器周期,從而得到了更快的編碼速度。上述方法中的任何方法和/或所有方法都可以按照需要在分離的設(shè)備上或者單 個設(shè)備上實現(xiàn)。例如,數(shù)字?jǐn)z錄像機可以包括推測起始點方法、局部最小值避免、下一搜索 位置方案、細(xì)化方案、利用閾值的細(xì)化方案以及早期終止方案。盡管這里將SAD描述為在迭代搜索中實現(xiàn)的距離度量以計算圖案匹配程度,然而 存在可以使用的許多其它距離或誤差度量,例如誤差值或其它距離,包括但不限于絕對傳 送距離之和以及均方誤差。已根據(jù)具體實施例描述了本發(fā)明,這些實施例包括用于輔助理解本發(fā)明的構(gòu)成和 操作原理的細(xì)節(jié)。這里對具體實施例及其細(xì)節(jié)的引用不希望將所附權(quán)利要求的范圍限制于 此。本領(lǐng)域技術(shù)人員容易清楚,在不脫離如權(quán)利要求限定的本發(fā)明的精神和范圍的情況下, 可以對被選擇用于說明的實施例作出各種修改。
權(quán)利要求
1.一種利用計算設(shè)備改進(jìn)運動估計迭代搜索的方法,該方法包括a.迭代搜索最小距離位置;b.確定下一搜索區(qū)域的中心點;以及c.避開局部最小值。
2.如權(quán)利要求1所述的方法,其中,所述最小距離位置是最小絕對差之和位置。
3.如權(quán)利要求1所述的方法,其中,確定下一搜索區(qū)域的中心點還包括a.確定搜索區(qū)域中具有最小距離值的位置;b.基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中心點的偏移;以及c.基于所述偏移選擇所述下一搜索區(qū)域的中心點。
4.如權(quán)利要求1所述的方法,其中,避開局部最小值還包括a.確定前一位置;b.確定新的位置;c.比較所述前一位置和所述新的位置;以及d.基于所述前一位置與所述新的位置的比較,選擇新的搜索中心,其中,如果所述新的 位置在與所述前一位置相反的方向上,則所述新的搜索中心基于所述前一位置,并且如果 所述新的位置不在與所述前一位置相反的方向上,則所述新的搜索中心于所述新的位置。
5.如權(quán)利要求1所述的方法,其中,迭代搜索還包括a.計算子區(qū)域的子區(qū)域距離值;b.確定所述子區(qū)域的最小距離值;c.將所述最小距離值與閾值相比較;d.如果所述最小距離值小于所述閾值,則提早結(jié)束;以及e.如果所述最小距離值大于或等于所述閾值,則重復(fù)a_d,直到計數(shù)為零為止。
6.一種用于利用計算設(shè)備改進(jìn)運動估計迭代搜索的系統(tǒng),該系統(tǒng)包括a.用于存儲應(yīng)用的存儲器,該應(yīng)用被配置用于 i.迭代搜索最小距離位置; .確定下一搜索區(qū)域的中心點;以及 iii.避開局部最小值;以及b.處理器,用于處理所述應(yīng)用。
7.如權(quán)利要求6所述的系統(tǒng),其中,所述最小距離位置是最小絕對差之和位置。
8.如權(quán)利要求6所述的系統(tǒng),其中,確定下一搜索區(qū)域的中心點還包括a.確定搜索區(qū)域中具有最小距離值的位置;b.基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中心點的偏移;以及c.基于所述偏移選擇所述下一搜索區(qū)域的中心點。
9.如權(quán)利要求6所述的系統(tǒng),其中,避開局部最小值還包括a.確定前一位置;b.確定新的位置;c.比較所述前一位置和所述新的位置;以及d.基于所述前一位置與所述新的位置的比較,選擇新的搜索中心,其中,如果所述新的 位置在與所述前一位置相反的方向上,則所述新的搜索中心基于所述前一位置,并且如果所述新的位置不在與所述前一位置相反的方向上,則所述新的搜索中心于所述新的位置。
10.如權(quán)利要求6所述的系統(tǒng),其中,迭代搜索還包括a.計算子區(qū)域的子區(qū)域距離值;b.確定所述子區(qū)域的最小距離值;c.將所述最小距離值與閾值相比較;d.如果所述最小距離值小于所述閾值,則提早結(jié)束;以及e.如果所述最小距離值大于或等于所述閾值,則重復(fù)a_d,直到計數(shù)為零為止。
11.一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的方法,該方法包括a.確定搜索區(qū)域中具有最小距離值的位置;b.基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中心點的偏移;以及c.基于所述偏移選擇所述下一搜索區(qū)域的中心點。
12.如權(quán)利要求11所述的方法,其中,所述最小距離值是最小絕對差之和值。
13.如權(quán)利要求11所述的方法,其中,確定下一搜索區(qū)域的中心點提高了估計用于使 圖像穩(wěn)定的運動的效率。
14.如權(quán)利要求11所述的方法,其中,確定偏移是利用查找表執(zhí)行的。
15.如權(quán)利要求14所述的方法,其中,所述查找表包括與所述搜索區(qū)域中的每個位置 相對應(yīng)的偏移。
16.如權(quán)利要求11所述的方法,其中,所述搜索區(qū)域是3X3個像素。
17.如權(quán)利要求11所述的方法,其中,所述方法僅用硬件實現(xiàn)。
18.如權(quán)利要求11所述的方法,其中,所述方法部分地用硬件實現(xiàn)。
19.如權(quán)利要求11所述的方法,其中,所述方法部分地用硬件實現(xiàn)并且部分地利用一 個或多個應(yīng)用實現(xiàn)。
20.如權(quán)利要求11所述的方法,其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
21.一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的系統(tǒng),該系統(tǒng)包括a.用于存儲應(yīng)用的存儲器,該應(yīng)用被配置用于i.確定搜索區(qū)域中具有最小距離值的位置; .基于所述具有最小距離值的位置來確定用于下一搜索區(qū)域的中心點的偏移;以及iii.基于所述偏移選擇所述下一搜索區(qū)域的中心點;以及b.處理器,用于處理所述應(yīng)用。
22.如權(quán)利要求21所述的系統(tǒng),其中,所述最小距離值是最小絕對差之和值。
23.如權(quán)利要求21所述的系統(tǒng),其中,確定下一搜索區(qū)域的中心點提高了估計用于使 圖像穩(wěn)定的運動的效率。
24.如權(quán)利要求21所述的系統(tǒng),其中,確定偏移是利用查找表執(zhí)行的。
25.如權(quán)利要求M所述的系統(tǒng),其中,所述查找表包括與所述搜索區(qū)域中的每個位置 相對應(yīng)的偏移。
26.如權(quán)利要求21所述的系統(tǒng),其中,所述搜索區(qū)域是3X3個像素。
27.如權(quán)利要求21所述的系統(tǒng),其中,所述系統(tǒng)僅用硬件實現(xiàn)。
28.如權(quán)利要求21所述的系統(tǒng),其中,所述系統(tǒng)部分地用硬件實現(xiàn)。
29.如權(quán)利要求21所述的系統(tǒng),其中,所述系統(tǒng)部分地用硬件實現(xiàn)并且部分地利用一 個或多個應(yīng)用實現(xiàn)。
30.如權(quán)利要求21所述的系統(tǒng),其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
31.一種用于利用計算設(shè)備確定下一搜索區(qū)域的中心點的系統(tǒng),該系統(tǒng)包括a.輸入組件,用于接收搜索區(qū)域中的最小距離位置;b.映射組件,該映射組件將所述最小距離位置映射到偏移;以及c.輸出組件,用于輸出所述偏移。
32.如權(quán)利要求31所述的系統(tǒng),其中,所述最小距離位置是最小絕對差之和位置。
33.如權(quán)利要求31所述的系統(tǒng),其中,確定下一搜索區(qū)域的中心點提高了估計用于使 圖像穩(wěn)定的運動的效率。
34.如權(quán)利要求31所述的系統(tǒng),其中,所述映射組件使用查找表。
35.如權(quán)利要求34所述的系統(tǒng),其中,所述查找表包括與所述搜索區(qū)域中的每個位置 相對應(yīng)的偏移。
36.如權(quán)利要求31所述的系統(tǒng),其中,所述搜索區(qū)域是3X3個像素。
37.如權(quán)利要求31所述的系統(tǒng),其中,所述系統(tǒng)僅用硬件實現(xiàn)。
38.如權(quán)利要求31所述的系統(tǒng),其中,所述系統(tǒng)部分地用硬件實現(xiàn)。
39.如權(quán)利要求31所述的系統(tǒng),其中,所述系統(tǒng)部分地用硬件實現(xiàn)并且部分地利用一 個或多個應(yīng)用實現(xiàn)。
40.如權(quán)利要求31所述的系統(tǒng),其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
41.一種利用計算設(shè)備在估計運動時避開局部最小值的方法,該方法包括a.確定前一位置;b.確定新的位置;c.將所述前一位置與所述新的位置相比較;以及d.基于所述前一位置與所述新的位置的比較,選擇新的搜索中心,其中,如果所述新的 位置在與所述前一位置相反的方向上,則所述新的搜索中心基于所述前一位置,并且如果 所述新的位置不在與所述前一位置相反的方向上,則所述新的搜索中心于所述新的位置。
42.如權(quán)利要求41所述的方法,其中,所述相反方向是基于所述新的位置和所述前一 位置以及中心點確定的。
43.如權(quán)利要求41所述的方法,其中,利用表和中心點來將所述新的位置和所述前一 位置相比較。
44.如權(quán)利要求41所述的方法,其中,避開局部最小值提高了估計用于使圖像穩(wěn)定的運動的效率。
45.如權(quán)利要求41所述的方法,其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
46.一種利用計算設(shè)備在估計運動時避開局部最小值的方法,該方法包括a.確定前一方向;b.確定新的方向;c.將所述前一方向與所述新的方向相比較;以及d.基于所述前一方向與所述新的方向的比較,選擇新的搜索中心,其中,如果所述新的 方向在與所述前一方向相反的方向上,則所述新的搜索中心基于前一位置,并且如果所述 新的方向不在與所述前一方向相反的方向上,則所述新的搜索中心于新的位置。
47.如權(quán)利要求46所述的方法,其中,避開局部最小值提高了估計用于使圖像穩(wěn)定的 運動的效率。
48.如權(quán)利要求46所述的方法,其中,所述方法僅用硬件實現(xiàn)。
49.如權(quán)利要求46所述的方法,其中,所述方法部分地用硬件實現(xiàn)。
50.如權(quán)利要求46所述的方法,其中,所述方法部分地用硬件實現(xiàn)并且部分地利用一 個或多個應(yīng)用實現(xiàn)。
51.如權(quán)利要求46所述的方法,其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
52.一種利用計算設(shè)備在估計運動時避開局部最小值的方法,該方法包括a.計算搜索區(qū)域中的每個點的距離值;b.從所述搜索區(qū)域中的每個點的距離值中選出最小距離位置;c.基于所述最小距離位置確定新的方向;d.將所述新的方向與前一方向相比較;e.如果所述新的方向與所述前一方向是相反方向,則保留前一位置;f.如果所述新的方向與所述前一方向不是相反方向,則選擇新的位置;g.基于所述前一位置和所述新的位置中的一者來選擇新的搜索中心;以及h.重復(fù)a_g,直到達(dá)到一限度為止。
53.如權(quán)利要求52所述的方法,其中,所述距離值是絕對差之和值。
54.如權(quán)利要求52所述的方法,其中,所述限度是η次迭代。
55.如權(quán)利要求52所述的方法,其中,所述限度是一閾值。
56.如權(quán)利要求52所述的方法,其中,所述新的方向是基于所述新的位置與中心點之 間的第一關(guān)系確定的,并且所述前一方向是基于所述前一位置與所述中心點之間的第二關(guān) 系確定的。
57.如權(quán)利要求52所述的方法,其中,所述新的方向和所述前一方向是通過利用表、將 所述新的位置與中心點相比較并且將所述前一位置與所述中心點相比較而確定的。
58.如權(quán)利要求52所述的方法,其中,所述搜索區(qū)域是5X5個像素。
59.如權(quán)利要求52所述的方法,其中,避開局部最小值提高了估計用于使圖像穩(wěn)定的 運動的效率。
60.如權(quán)利要求52所述的方法,其中,所述方法僅用硬件實現(xiàn)。
61.如權(quán)利要求52所述的方法,其中,所述方法部分地用硬件實現(xiàn)。
62.如權(quán)利要求52所述的方法,其中,所述方法部分地用硬件實現(xiàn)并且部分地利用一 個或多個應(yīng)用實現(xiàn)。
63.如權(quán)利要求52所述的方法,其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
64.一種利用計算設(shè)備避開局部最小值的系統(tǒng),該系統(tǒng)包括a.存儲器,用于存儲應(yīng)用,所述應(yīng)用被配置用于i.計算搜索區(qū)域中的每個點的距離值; .從所述搜索區(qū)域中的每個點的距離值中選出最小距離位置;iii.基于所述最小距離位置確定新的方向;iv.將所述新的方向與前一方向相比較;v.如果所述新的方向與所述前一方向是相反方向,則保留前一位置;vi.如果所述新的方向與所述前一方向不是相反方向,則選擇新的位置;vii.基于所述前一位置和所述新的位置中的一者來選擇新的搜索中心;以及viii.重復(fù)i-vii,直到達(dá)到一限度為止。b.處理器,用于處理所述應(yīng)用。
65.如權(quán)利要求64所述的系統(tǒng),其中,所述距離值是絕對差之和值。
66.如權(quán)利要求64所述的系統(tǒng),其中,所述搜索區(qū)域是5X 5個像素。
67.如權(quán)利要求64所述的系統(tǒng),其中,所述計算設(shè)備是從包括如下項的組中選出的個 人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式計算機、個人數(shù)字助 理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、相機手機、iPod 和 家庭娛樂系統(tǒng)。
68.如權(quán)利要求64所述的系統(tǒng),其中,避開局部最小值提高了估計用于使圖像穩(wěn)定的 運動的效率。
69.一種用于避開局部最小值的系統(tǒng),包括a.硬件組件,用于執(zhí)行第一組計算;以及b.應(yīng)用組件,用于執(zhí)行第二組計算,其中,所述第一組計算和所述第二組計算包括確定前一方向,確定新的方向,將所述 前一方向與所述新的方向相比較以確定新的搜索中心。
70.如權(quán)利要求69所述的系統(tǒng),其中,避開局部最小值是在從包括如下項的組中選出 的設(shè)備上實現(xiàn)的個人計算機、膝上型計算機、計算機工作站、服務(wù)器、大型計算機、手持式 計算機、個人數(shù)字助理、蜂窩/移動電話、智能設(shè)備、游戲控制器、數(shù)字相機、數(shù)字?jǐn)z錄像機、 相機手機、iPod 和家庭娛樂系統(tǒng)。
71.如權(quán)利要求69所述的系統(tǒng),其中,避開局部最小值提高了估計用于使圖像穩(wěn)定的 運動的效率。
全文摘要
用于運動估計迭代搜索的下一位置選擇器通過容易且快速地確定下一搜索區(qū)域的中心點而提高了整像素運動估計迭代搜索的效率和質(zhì)量。通過獲取當(dāng)前搜索區(qū)域的SAD值的位置并且將該位置映射到下一搜索區(qū)域的中心點,確定下一搜索區(qū)域的處理是非常高效的。局部最小值避免方案提高了避免陷入局部最小值的能力。通過記住前一位置/方向,搜索能夠在正確的方向上繼續(xù),以確保搜索繼續(xù)而不出現(xiàn)陷入局部最小值的來回往復(fù)搜索。這種經(jīng)改進(jìn)的運動估計搜索的應(yīng)用包括穩(wěn)定圖像以及使用運動向量的許多其它應(yīng)用。
文檔編號H04N5/14GK102100059SQ200980127954
公開日2011年6月15日 申請日期2009年5月5日 優(yōu)先權(quán)日2008年7月16日
發(fā)明者中里宗弘 申請人:索尼公司, 索尼電子有限公司