專利名稱:用于圖像相關(guān)性最小失真計算的自適應(yīng)盡快退出技術(shù)的制作方法
背景圖像壓縮技術(shù)能夠減少在視頻應(yīng)用中需要傳輸?shù)臄?shù)據(jù)量。圖像壓縮經(jīng)常是通過確定需要保持相同的圖像部分來進行的?!斑\動估計”技術(shù)常用于各種視頻編碼的方法。
運動估計試圖找到在屬于相同幀N的源塊和搜索區(qū)域之間的最佳匹配。搜索區(qū)域可以是相同的幀N中,或者可以是臨時置換幀N-k中的搜索區(qū)域。
這些技術(shù)在計算上是嚴(yán)密的。
附圖簡述現(xiàn)在將結(jié)合附圖詳細地描述本發(fā)明的各個方面,附圖包括
圖1顯示了相互比較的源塊和搜索塊;圖2顯示了用于測量失真的基本累加單元;圖3a和3b顯示了在多級SAD單元之間計算的不同劃分方法;圖4顯示了在盡快退出策略計算和實際總計算之間的折衷權(quán)衡;圖5顯示了盡快退出策略的流程圖;圖6a顯示了利用盡快退出標(biāo)志的盡快退出;圖6b顯示了使用硬件狀態(tài)寄存器的盡快退出;圖7顯示了自適應(yīng)盡快退出策略操作的流程圖。
詳細描述經(jīng)常是通過計算絕對差值和或“SAD”來進行運動估計的。運動估計可以在許多不同應(yīng)用中使用,它可以包括但不局限于,使用視頻的蜂窩電話,視頻攝像機,視頻加速器,或其它這類器件。這類器件能夠產(chǎn)生視頻信號作為輸出。SAD是常用于識別在源塊和搜索區(qū)域搜索塊中多個塊之間最小失真的計算方法。因此是這些塊之間的最佳匹配。一種表示方法是SAD=Σi=0N-1Σj=0n-1|a(i,j)-b(i,j)|,N=2,4,8,16,32,64]]>
從概念上說,該方法是將第一幀或源塊(N)劃分成M*N源塊100的分量部分。這些分量部分與第二幀(N-K)102比較。這些幀能夠被臨時置換,在這種情況下,K≠0。每個N-K幀102是(M+2m1)*(N+2n1)的區(qū)域。在圖1中的區(qū)域中心顯示了源塊100。能匹配的圖像部分可以通過用失真測量對每一圖像幀的各個部分與其它圖像幀進行相關(guān)來檢測。壓縮方案可使用這種檢測方法來壓縮數(shù)據(jù),從而可以發(fā)送較少的關(guān)于圖像的信息。
這種器件也可以是通用DSP的一部分。預(yù)期這類器件可以用于視頻便攜式攝像機,電話會議,PC視頻卡,和HDTV。此外,也預(yù)期通用DSP也可在與其它采用數(shù)字信號處理(例如,用于移動電話的語音處理,語音識別,和其它應(yīng)用)的技術(shù)結(jié)合一起使用。
整體失真檢測處理的速度能夠提高。一種方法是使用允許每個SAD器件在一個周期中進行更多操作的硬件。然而,這需要較昂貴的硬件。
另一種方法是通過增加另外的SAD器件來提高有效像素的吞吐量。然而,這也增加了成本,因為這需要更多的SAD器件。
更快的搜索算法試圖更有效地使用現(xiàn)有的硬件。
塊SAD進行了源組和“搜索組”的比較。源組和搜索組在整個圖像中移動,使得SAD操作能計算兩組之間的重疊。在源組中的每個塊將與每個搜索區(qū)域中的多個塊相比較。
典型性的SAD單元是遠行在兩個16×16的單元上,使得那些單元能相互覆蓋。該覆蓋過程計算了16*16=256個差值。然后將這些差值累加,表示出總的失真。
SAD需要一些基本運算。必須計算出源xij和搜索Yij之間的差值。計算出絕對值|Xij-Yij|。最后,累加這些數(shù)值,SAD=Σi=0N-1Σj=0n-1|Xij-Yij|]]>。
基本累加結(jié)構(gòu)如圖2所示。算術(shù)邏輯單元200接收來自與其相連接的數(shù)據(jù)總線198,199的Xij和Yij,并計算Xij-Yij。輸出201被反相器202反相。反相的輸出和原始的輸出都輸入多路復(fù)用器204,它根據(jù)符號位來選擇一個數(shù)值。第二算術(shù)邏輯單元206組合這些數(shù)值,以產(chǎn)生絕對值。最終的值存儲于累加寄存器208。這樣有效地形成了減法,絕對值,累加的系統(tǒng),正如圖2所示。
圖2顯示了單個SAD計算單元。正如以上所指出的,多級計算單元能夠用于提高吞吐量。如果增加計算單元的數(shù)量,在理論上說,也就增加每個周期的像素吞吐量。
然而,本發(fā)明者注意到,像素吞吐量的增加不一定與單元的數(shù)量有著線性的關(guān)系。事實上,幾乎每一幀都與它相鄰的一幀有關(guān)。此外,任何圖像的不同部分都經(jīng)常與該圖像的其它部分有關(guān)。壓縮的效率可以根據(jù)圖像的特性。本申請允許以不同模式使用多級SAD器件,這取決于壓縮的效率。
本申請采用圖3A和3B所示的結(jié)構(gòu)。在圖3A和3B中都使用了相同的連接,但是計算可以不同方法來劃分。
圖3A顯示了每個SAD器件300和302,這是按照完整的SAD而配置。各個SAD接收不同的塊,并提供N塊的SAD的計算。因此,單元301能有效地一個像素一個像素地計算16*16參考和16*16源之間的關(guān)系。單元2,302計算16*16源和16*16搜索之間像素與像素的最終差值。圖3B顯示了另一種方法。在該方法中,把每個單個的SAD 300,302配置成執(zhí)行部分單個塊SAD的計算。N個計算單元中的每一個提供了1/N的輸出。這“部分SAD”操作是指8位減法絕對累加單元中的每個已經(jīng)計算了配置給該單元的全部SAD計算的1/N。
應(yīng)該如同這里所討論的根據(jù)前面的結(jié)果來確定整個系統(tǒng)是全部的還是部分的。這樣的輪換就能減少所需進行計算的數(shù)量。
用于確定是全部還是部分的一種方法是假定臨時封閉的圖像具有相關(guān)性的特征。第一周期可以使用完整的SAD模式來計算,而第二周期可以使用部分的SAD模式來計算。選擇工作較快的周期,并設(shè)置該SAD的模式??梢悦块g隔X個周期重復(fù)這樣的計算,在X個周期后就不再假設(shè)有局部臨時相關(guān)性。這可以邏輯單元來完成,它執(zhí)行圖7所示的流程,正如以下所討論的。
吞吐量也可以采用以下討論的“盡快退出”技術(shù)來增加。16*16元素的完整SAD計算可以寫成為|p1r-p1s|+|p2r-p2s|+…|P256r-P256s|……(1)。如果這些計算全都實際進行的話,則計算可能就用了256/N周期,其中N是SAD單元的數(shù)量。因而,希望能盡可能快地停止計算。測試計算的中間結(jié)果。這些中間結(jié)果可用于確定是否已經(jīng)確定有足夠的信息去發(fā)現(xiàn)最小失真。然而,測試的行為可以消耗周期。
本發(fā)明討論了在這種周期消耗和最小失真確定之間的平衡。圖4說明了利用4個SAD器件對16*16計算的折衷。在圖4中的線400表示在沒有盡快退出時的周期計數(shù)。該線是水平的,表示在沒有盡快退出的條件下的周期計數(shù)始終是256/4=64。對于盡快退出策略的周期計數(shù)如斜線402,404,406和408所示。線404表示每隔16個像素一個測試,線406表示每隔32個像素一個測試(1/8),以及線408表示每隔64個像素一個測試(1/16)。應(yīng)該注意,當(dāng)線402-408處于線400的上方時,盡快退出的嘗試已經(jīng)事實上增加了整個失真的計算時間。線402表示周期的消耗,這時退出測試不需要系統(tǒng)開銷。即,當(dāng)完成測試時,退出始終是成功的。線402是所要求的目標(biāo)。為了能達到該目標(biāo),所以揭示了自適應(yīng)盡快退出的方案。
塊I被首先處理,它采用了在現(xiàn)有技術(shù)中已知的任何正常策略來發(fā)現(xiàn)最小失真。這可以采用測試模型來完成。以發(fā)現(xiàn)失真,該測試模型可以是真實圖像的一部分。這樣的最小失真可作為基線,并且假定塊I+n具有相同的最小失真,其中n是小的??梢允褂脙蓚€基本參數(shù)。
Kexit(N)表示在獲得盡快退出之前對搜索區(qū)域已經(jīng)預(yù)先處理的像素數(shù)目。
Aexit(N)表示在對搜索區(qū)域的最后一個盡快退出時間上部分累加器符號位的狀態(tài)。
對于這些塊I+n來說,當(dāng)失真超過了閾值時,SAD的計算就中斷。這就形成了利用原先已知的有關(guān)搜索區(qū)域信息的因果系統(tǒng)。
常規(guī)系統(tǒng)是基于搜索區(qū)域內(nèi)的圖像特征有可能始終保持共同特征。在各幀之間的時間在1/15秒和1/30秒之間,就可測量系統(tǒng)特性而言,這通常對在那些時間內(nèi)在某些噪聲底限之上產(chǎn)生最小變化是足夠快的。同樣,也經(jīng)常存在著能隨著時間而保持類似的臨時特征的圖像區(qū)域。
根據(jù)本申請,每個SAD的累加單元可以用值(-最小/n)來裝載,其中“最小”表示在對區(qū)域的塊運動搜索中測量到的最小失真。對每個搜索區(qū)域都可以計算出許多SAD的數(shù)值。對區(qū)域計算的第一SAD可指定為“最小”的指定值。未來的SAD與該數(shù)值比較,并了解新的“最小”的數(shù)值是否已經(jīng)建立。當(dāng)累加器改變符號時,就已經(jīng)達到了最小失真。此外,僅僅使用了現(xiàn)存的SAD的結(jié)構(gòu)對此指明,沒有另外的計算,也因此沒有另外的用于測試的周期。
圖像特性的測試可以用于確定在建立盡快退出之前需要多少累加器作切換。例如,如果源和目標(biāo)區(qū)域是完全相同的,則所有累加器應(yīng)該同時或多或少地變化符號位。當(dāng)發(fā)生這事時,任何一個超過了先前最小測量的運行SAD計算都可以用于指示盡快退出是適合的。
然而,這是假定所有的圖像都是完全相同的。這種假定往往是不能滿足的。在許多情況下,不同SAD單元的多個累加器不是以相同的速率增加的。但是,在累加器之間的不同增加速率可以直接與源和目標(biāo)塊之間差異本身的空間頻率特性有關(guān),以及也與采樣數(shù)據(jù)的方法有關(guān)。這就需要根據(jù)SAD單元所發(fā)生的內(nèi)容來考慮如何確定盡快退出的更復(fù)雜的方法。
一種操作方法是根據(jù)與各個分離SAD狀態(tài)相關(guān)的概率,這時不是所有的SAD單元都處于相同的狀態(tài)。這種在累加器之間增加速率上的差異與在源和目標(biāo)塊之間的差異的空間頻率特性有關(guān)。由于在臨時相類似幀中這些空間頻率特性也具有相關(guān)性,所以來自一幀的信息也可以用于分析后續(xù)的幀。
這可以參考變量對此進行解釋,其中,A1,A2,A3…An可定義為與各分離SAD計算有關(guān)的事件。
該事件可以作如下定義事件Ai=SADi≥0,其中,SAD<0,(i≠j)。
這在概念上是指事件Ai可定義為當(dāng)SAD單元i為正而其它所有SAD單元都為負時所發(fā)生的事件。例如,當(dāng)累加器以不同的速率增加時就會發(fā)生這樣的事件。這也可以定義為組合的事件,特別是事件Bi,j=Ai∪Aj=SADi≥0(條件SADj≥0,以及SADk<0,k≠i,j)。
這是指事件Bi,j定義為當(dāng)Ai存在且Aj為真時為“真”,而所有其它Ak都為假。以事件來定義操作的概念可以擴展到包括所有可能的i,j,和k的組合。對4個SAD單元而言,這就可以產(chǎn)生總共16種組合。對于較大數(shù)量的SAD單元而言,就會引起其它數(shù)量的組合,以及可能使用更多的變量,例如,i,j,k和m或其它等等。
以口頭的方式來描述這種情況,每個事件“B”都定義成大于0的指定累加器的和。每個這樣的組合都定義成概率。對于4個SAD單元而言,就存在著有總共16種可能的累加器狀態(tài)。這些都可以根據(jù)它們的受控情況來分組。
第一個無效的概率是P(B|1∩2∩3∩4)=0這意味著所有累加器都不超過0的情況下,累加器之和大于0的概率為0。
相反的概率也是真的。
P(B|A1∩A2∩A3∩A4)=1這意味著所有累加器都沒有被設(shè)置的情況下,所有累加器的和被設(shè)置的概率也為1。
除了這些無效的特性之外,存在著14個有效的組合。第一組包括了4種情況,其中1個累加器設(shè)置了而其余3個累加器沒有設(shè)置P(B|A1∪(2∩3∩4)P(B|A2∪(1∩3∩4)P(B|A3∪(1∩2∩4)P(B|A4∪(1∩2∩3)另一組表示了其中2個累加器設(shè)置了而另外2個累加器沒有設(shè)置的情況。這些組合可以寫成P(B|A1∩A2)∪(3∩4)P(B|A1∩A3)∪(2∩4)P(B|A1∩A4)∪(2∩3)P(B|A2∩A3)∪(1∩4)P(B|A2∩A4)∪(1∩3)P(B|A3∩A4)∪(1∩2)最后一組表示3個累加器設(shè)置了而1個累加器沒有設(shè)置的情況。
P(B|A1∩A2∩A3)∪4)P(B|A2∩A3∩A4)∪1)P(B|A1∩A3∩A4)∪2)P(B|A1∩A2∩A4)∪3)本實施例認(rèn)可這些組中的每一個,事實上是這些情況中的每一種都表示了圖像中的不同條件。每個組或每種情況都可以采用不同的處理。
本系統(tǒng)采用上述以及參照圖5的流程圖討論的方法進行操作。最終的目的是完成計算,且因此而盡快退出。這如圖5所示,首先在550中確定兩幅圖像,即源圖像和搜索圖像的匹配特性。在沒有任何盡快退出的條件下計算匹配的特性。在555中計算出最小失真,以及在560中找到存在最小失真時的條件。
在560中的條件可以包括在最小失真時存在的分組類型,或在14種可能性中的特定情況。
在570中測試后續(xù)圖像部分。這后續(xù)部分是與測試部分相關(guān)的任何部分。由于臨時相關(guān)的圖像被假定為相關(guān)的圖像,所以這就可以延伸至任何臨時相關(guān)的部分。
源圖像和搜索圖像都要測試,且在575中確定最小失真時所發(fā)生的特定分組。隨后,在580中建立盡快退出。
盡快退出,一旦被確定之后,就可以多種不同的方法來執(zhí)行。
圖6a顯示了利用盡快退出或“EE”標(biāo)志執(zhí)行盡快退出的系統(tǒng)。顯示了N個SAD單元,在本實施例中,N為4。每個SAD單元都包括上述所討論的結(jié)構(gòu),以及特殊的算術(shù)邏輯運算單元,反相器和累加器。
每個累加器的輸出都與安排輸出的組合邏輯單元600相耦合。這適用于執(zhí)行上述提到的組的確認(rèn)。組合邏輯單元是采用離散邏輯門構(gòu)成的,例如,以硬件描述語言所定義的。根據(jù)所選擇的組用選項來編程該邏輯門。不同的圖像和部分可根據(jù)不同的選項來處理。
對于每一個選項,進行狀態(tài)組合的編碼,如,上述討論的組。組合邏輯監(jiān)視著所有SAD單元的累加器。每一個狀態(tài)都輸出到復(fù)用器。
當(dāng)這些累加器達到屬于選擇編碼內(nèi)的狀態(tài)時,就可產(chǎn)生盡快退出的標(biāo)志。盡快退出的標(biāo)志意味著硬件已經(jīng)確認(rèn)了適當(dāng)?shù)摹捌ヅ洹?。這就引起退出的操作。
圖6B顯示了另一種系統(tǒng),在該系統(tǒng)中,累加器的狀態(tài)由硬件狀態(tài)寄存器600來檢測。狀態(tài)寄存器根據(jù)累加器的情況設(shè)置成一個特定的狀態(tài)。狀態(tài)寄存器存儲著表示盡快退出的特定條件。當(dāng)滿足該特定條件時,就建立了盡快退出。
參照圖7全面地討論了自適應(yīng)盡快退出的使用方法。在700中,視頻幀開始。705表示對幀M和幀M+1作緩沖。710確認(rèn)塊的歷史模型是否需要更新。這可以采用諸如監(jiān)測自從上一幀更新以來的時間的方法來確定。例如,可以設(shè)置x秒作為需要新的更新之前的時間。
如果模型需要更新,則在715中處理過程隨后用0xFF01裝入累加器且設(shè)置局部變量N=1。在720中,系統(tǒng)獲得SAD搜索區(qū)域N并使用周期性的退出測試Texit=1/16…,在步驟725中進行退出測試。如果成功的話,就再恢復(fù)局部變量Kexit(N)和Aexit(N),其中,Kexit(N)是退出之前的像素,而Aexit(N)是退出之前的累加器1至4的累加。局部變量n也在步驟730中增1。這就建立了局部參數(shù),并繼續(xù)處理過程。
在后續(xù)的周期中,在步驟710中不需要再進行塊歷史的更新,因此控制就轉(zhuǎn)入步驟735。在該步驟中,讀出原先存儲的Kexit和AEexit。這用作步驟740的新的計數(shù),以設(shè)置目標(biāo)塊的標(biāo)志。
在步驟745中,建立了對塊N的搜索,在步驟750中,更新了退出和Kexit。N增1。在步驟755中,產(chǎn)生N是否等于397的確認(rèn)。397是緩沖器中幀的數(shù)目,因為在352*288圖像中有16*16個塊,就等于396。然而,這可以根據(jù)應(yīng)用的不同尺寸作調(diào)整。
另外,圖像大部分的臨時變量是幾乎不變的。因此,當(dāng)部分累加器有特定符號位時,它們的狀態(tài)就產(chǎn)生顯著的優(yōu)點。此外,在幀之間的時間通常是1/15秒至1/30秒的數(shù)量級。最后,在圖像中的區(qū)域保持著它們的局部特征,因此它們的空間頻率可以具有相關(guān)性。
雖然已經(jīng)揭示了少量的實施例,但是其它修改也是可能的。
權(quán)利要求
1.一種處理圖像的方法,其特征在于,包括在得到特定圖像處理結(jié)果時確定多個圖像處理元件的特性;以及當(dāng)所述特性存在于后續(xù)計算中時完整地建立后續(xù)計算。
2.如權(quán)利要求1所述的方法,其特征在于,所述特性包括所述圖像處理元件的符號位。
3.如權(quán)利要求2所述的方法,其特征在于,所述圖像處理單元是絕對差值和單元。
4.如權(quán)利要求1所述的方法,其特征在于,所述特性包括所述圖像處理元件組的狀態(tài)。
5.如權(quán)利要求4所述的方法,其特征在于,所述特性包括所述圖像處理元件組的狀態(tài)。
6.一種計算兩幅圖像間的關(guān)系的方法,其特征在于,包括獲得圖像;在第一時間點上監(jiān)視源圖像和搜索圖像間的匹配特性,已確定所述圖像間的最小失真;當(dāng)發(fā)現(xiàn)了所述圖像間的最小失真時,在第一時間點上確定多個計算單元的條件;在后續(xù)時間內(nèi)監(jiān)視所述條件,并確定所述計算單元的狀態(tài)是否和在所述第一時間點上發(fā)現(xiàn)的狀態(tài)相同;以及基于相同的所述狀態(tài)建立最小失真。
7.如權(quán)利要求6所述的方法,其特征在于,所述條件包括累加單元的符號位。
8.如權(quán)利要求7所述的方法,其特征在于,進一步包括組合邏輯單元,它檢測累加單元的符合位。
9.如權(quán)利要求7所述的方法,其特征在于,進一步包括確定塊歷史模型是否需要更新,不需要的話使用所述先前的條件,需要的話更新所述條件。
10.如權(quán)利要求6所述的方法,其特征在于,所述獲得使用視頻攝像機。
11.如權(quán)利要求9所述的方法,其特征在于,所述確定包括確定從前一次更新開始是否經(jīng)過了特定時間。
12.如權(quán)利要求6所述的方法,其特征在于,所述狀態(tài)包括表示特定特性的狀態(tài)分組。
13.一種方法,其特征在于,包括確定不同計算單元的多個不同狀態(tài);由所述狀態(tài)確定可能的狀態(tài)分組,這些分組表示圖像的不同概率條件;確定在第一時間點上的第一狀態(tài),此時計算指出了兩幅圖像間的最小失真;以及使用所述第一狀態(tài)來指出在第二時間點上從計算中盡快退出。
14.如權(quán)利要求13所述的方法,其特征在于,所述使用包括確定當(dāng)前狀態(tài)是否和所述第一狀態(tài)相同。
15.如權(quán)利要求13所述的方法,其特征在于,所述分組包括所述計算單元的符號位的分組。
16.如權(quán)利要求13所述的方法,其特征在于,進一步包括用所述計算來確定MPEG編碼的信息。
17.一種設(shè)備,其特征在于,包括多個圖像處理元件;在得到特定圖像處理結(jié)果時存儲所述圖像處理元件的第一狀態(tài)的電路;以及根據(jù)當(dāng)前狀態(tài)與所述第一狀態(tài)的比較確定是否完成了計算的盡快退出電路。
18.如權(quán)利要求17所述的設(shè)備,其特征在于,所述特性包括所述圖像處理元件的算術(shù)狀態(tài)。
19.如權(quán)利要求18所述的設(shè)備,其特征在于,所述圖像處理元件中包括累加器,且所述特性包括所述累加器的符號位。
20.如權(quán)利要求17所述的設(shè)備,其特征在于,進一步包括視頻獲得捕獲元件。
21.如權(quán)利要求20所述的設(shè)備,其特征在于,所述視頻捕獲元件是視頻攝像機。
22.如權(quán)利要求17所述的設(shè)備,其特征在于,所述特性包括所述圖像處理元件組的狀態(tài)。
全文摘要
獲得用于圖像壓縮的圖像。用絕對差值和器件與累加器比較圖像,絕對差值和器件具有算術(shù)部分。在兩幅圖像間的最小失真時確定累加器的符號位。這些符號位和概率上相似部分的集合有關(guān)。當(dāng)稍后從該集合獲得了其他集合時,建立盡快退出。
文檔編號H04N7/26GK1436426SQ01810931
公開日2003年8月13日 申請日期2001年6月6日 優(yōu)先權(quán)日2000年6月7日
發(fā)明者B·C·埃爾德瑞琪, J·福瑞德曼 申請人:英特爾公司, 模擬設(shè)備股份有限公司