專利名稱:用于半象素sad產生的方法和裝置的制作方法
技術領域:
本發(fā)明涉及運動估計編碼器,尤其涉及使用絕對差值取和(SAD)計算的半象素運動矢量的確定。
在視頻壓縮系統中,通常需要從一幀到下一幀地估算象素塊的運動。不是發(fā)送視頻信息的全幀,而只是發(fā)送需要發(fā)送的象素塊的變化增量或運動信息,即通常所述的運動矢量。視頻壓縮編碼器執(zhí)行這樣的處理,即它產生比原始圖象比特速率大大地降低的一個圖象比特速率。以原來的初始的幀開始,視頻解碼器能夠通過使用先前針對在幀中的每一塊計算出的運動矢量來重建該原有幀。對運動估計處理更深入的討論可見由Vasudev Bhaskaran和Konstantinas Konstanfinides所著的“圖像與視頻壓縮標準,算法和結構”。
目前存在的視頻壓縮編碼器可以執(zhí)行對于半象素的運動估計。但是它們通常是規(guī)模大并且價格高。從制造更小和價格低廉的產品的長期趨勢來看,非常希望降低視頻壓縮編碼器的規(guī)模、重量、費用和復雜性。特別地,如果其規(guī)模和費用都被降低的話,該視頻壓縮編碼器的運動估計部分將受益非淺。
因此,本發(fā)明的目的是提供一個克服已有技術的缺點的半象素SAD發(fā)生器。
本發(fā)明的另一目的是提供計算用于環(huán)繞一個全象素位置的全部八個可能半象素位置的SAD值的一個半象素SAD發(fā)生器。
本發(fā)明的另一目的是提供在串行基礎上計算該用于每一半象素位置的SAD值的一個半象素SAD發(fā)生器。
本發(fā)明的再一個目的是提供這樣一個半象素SAD發(fā)生器不需要同時得到全部搜索窗口的象素以及它們對應的內插半象素,或被存取一次以上。
本申請公開一種用于計算針對半象素的SAD值的新穎裝置和方法。本發(fā)明以串行方式內插來自包含在一個搜索窗口中的全象素的半象素值。隨后這些半象素與在一個模板宏塊中的象素相比較。隨后產生差值并累加在寄存器中。該搜索窗口和模板宏塊象素被移位到FIFO裝置中從而有多個加法器產生半象素值。鎖存器被用于存儲和延遲該半象素值,以便輸入到一組減法器。減法器計算該內插的半象素和該模板宏塊象素之間的差值。該減法器的輸出被累加而產生八個SAD值。
因此,根據本發(fā)明優(yōu)選實施例提供一個用于產生在包含在一個搜索窗口存儲器中的全象素塊和包含在一個預定義模板宏塊存儲器中的模板象素之間的半象素的絕對差值取和(SAD)的一個裝置,該裝置包括用于保持包含在該搜索窗口中的全象素的搜索窗口先進先出(FIFO)裝置;用于保持包含在該模板宏塊中的模板象素的模板宏塊FIFO裝置;連接到該搜索窗口FIFO裝置的內插裝置,該內插裝置用于計算環(huán)繞每一全象素的半象素值;連接到該內插裝置和該模板宏塊FIFO裝置的減法裝置,該減法裝置用于計算在該半象素和該模板象素之間的差值;連接到該減法裝置的絕對值裝置,該絕對值裝置用于產生該減法裝置的輸出的絕對值;連接到該絕對值裝置的輸出的累加器裝置,該累加器裝置用于保持由絕對值裝置輸出的用于每一半象素SAD值的絕對差值的和;以及,控制器裝置,用于產生適當的控制信號以便啟動該半象素SAD值的產生。
此外,搜索窗口FIFO裝置包括足夠數目的寄存器,以便保持全象素的一個整行加上來自模板宏塊的隨后行的至少一個象素。該模板宏塊FIFO裝置包括足夠數目的寄存器,以便保持全象素的一個整行加上來自模板宏塊的隨后行的至少一個象素。內插裝置包括適當放置的加法器和寄存器,以便計算環(huán)繞每一全象素的半象素值。這種減法裝置包括兩輸入端減法器。
該減法裝置和該絕對值裝置共同包括結合一個絕對值函數的兩輸入端減法器。該累加器裝置和該絕對值裝置共同包括在其輸入端采用一個絕對值函數的一個累加器。每一全象素和每一模板象素只分別地從模板宏塊存儲器和該模板宏塊存儲器存取一次。
根據本發(fā)明優(yōu)選實施例還提供一個用于產生在包含在一個搜索窗口存儲器中的一個全象素塊和包含在一個預定義模板宏塊存儲器中的模板象素之間的半象素的絕對差值取和(SAD)的一個方法,該方法包括步驟提供搜索窗口先進先出(FIFO)裝置,用于移位通過包含在該搜索窗口中的全象素;提供一個模板宏塊FIFO裝置,用于移位通過包含在該模板宏塊中的模板象素;對于每一全象素來說,只內插一次在水平、垂直和對角線的方向環(huán)繞每一全象素的半象素的值,計算在半象素和該模板象素之間的差值,確定計算步驟期間產生的差值的絕對值,以及累加在用于對每一半象素SAD值進行確定的步驟期間產生的絕對差值的和。
每一全象素和每一模板象素只分別地從該搜索窗口存儲器和該模板宏塊存儲器存取一次。
在此以實例的方式參照附圖描述本發(fā)明,其中
圖1示出一個取樣搜索窗口存儲器的一部分以及對應于4×4大小模板宏塊的一個區(qū)域;圖2示出一個取樣搜索窗口存儲器的一部分、對應于4×4大小模板宏塊的一個區(qū)域、以及環(huán)繞每一全象素的八個半象素;圖3示出匹配定位在該框中的模板宏塊的八個可能最佳半象素之一;圖4示出與在該模板宏塊中的左上端象素相關的八個半象素位置;圖5示出與在該模板宏塊中的左上中間的象素相關的八個半象素位置;圖6是一個高等級框圖,示出根據本發(fā)明一優(yōu)選實施例構成的半象素SAD發(fā)生器;以及,圖7示出一個取樣搜索窗口的一部分,示出全象素和它們的相關半象素,以及模板宏塊象素。
如先前所述,視頻壓縮技術目前被使用在廣泛的應用中。例如MPEG 2的視頻壓縮標準詳細定義視頻編碼器的輸出規(guī)范。視頻編碼器的作用是把視頻信息流從其相當大的原始帶寬壓縮到一個小得多的帶寬。因此該編碼的視頻信息流能在一個通信信道上發(fā)送或存儲在一個存儲介質中。不管是在哪種情況中,通信信道的帶寬要求都被大大地降低,并且為了保持視頻節(jié)目所需要存儲的信息量也被大大地降低。例如,以MPEG 2標準編碼的一個視頻信息流需要估計在連續(xù)的幀之間的運動中的變化。這種處理被稱為運動估計。運動估計處理的更深入的討論可見由Vasudev Bhaskaran和Konstantinas Konstantinides所著的“圖像和視頻壓縮標準、算法和結構”的第11章,在此被結合作為參考。首先,幀被分解成例如16×16象素的象素塊,然后針對在當前幀中的每一塊尋找在先前幀中的最佳匹配塊。不是把相同的塊再一次地全部發(fā)送,而是發(fā)送該塊從先前幀到當前幀的位置中的變化(即運動),這就大大地減小了需要被發(fā)送的數據量。
公開和描述的本發(fā)明在一個視頻壓縮系統的背景中實施一種用于產生針對在一個搜索區(qū)域中的數據的半象素SAD的(絕對差值的和)值的裝置和方法。但是該決不限制本發(fā)明對于其它領域的應用。本發(fā)明可被應用在需要處理來源于相對于一個搜索窗口的數據的一個模板的內插值(例如尋找一個最佳匹配)的任何類型的系統中。此外,計算準則可以是在該數據模板中的數據和在該搜索窗口中的數據的任何一個函數(例如使用SAD值選擇最佳匹配)。
在此介紹的視頻壓縮方案的范例使用一個運動估計方法,采用具有一個特定大小的搜索窗口。在當前幀中的把被稱為模板宏塊的每一象素塊都和在該搜索窗口中的含有先前幀的數據的每個塊相比較。通常,搜索窗口是幀面積的一個子集而不是整個幀,因為從一幀到下一幀該目標的移動不大可能相距很遠。使用一個減小的搜索窗口將降低為了尋找最佳匹配塊所需要的計算時間。
貫穿本申請文件使用的范例中,該搜索窗口包括多個4×4象素塊。在該搜索窗口中的數據是以逐個塊為基礎處理的。搜索在搜索窗口的左上角開始,因此對于在該左上角中的塊執(zhí)行匹配函數。隨后該塊被右移一個象素并且再次執(zhí)行匹配函數。該處理被逐個象素地重復,直到達到象素第一行的末尾為止。執(zhí)行全象素搜索的一個裝置和方法在由Skeletzky等人在1996年12月3日提交的申請?zhí)枮镹o.08/754,059的標題是APPARATUS FOR AND METHOD OF REDUCING THEMEMORY BANDWIDTH REQUIREMENTS OF A SYSTOLICARRAY的美國專利中有所描述,在此處引用作為參考。
本發(fā)明將通常是(但是不必須)在獲得全象素SAD結果之后使用。首先,在該搜索窗口中的數據被逐個塊地與模板宏塊數據比較,以便確定象素塊的最佳匹配。在該搜索期間只考慮全象素。一旦發(fā)現該最佳匹配的全象素塊的位置,即可執(zhí)行一個半象素搜索,以便進一步改進該搜索的清晰度。執(zhí)行半象素搜索導致系統的潛在清晰度增加四倍因數(每一軸增加二倍因數)。半象素的精確性與半象素SAD計算相關。該半象素SAD計算是通過把模板宏塊象素和對應于環(huán)繞該全象素目標位置的半象素的一個特定搜索窗口相比較而確定的。
取樣搜索窗口存儲器的一部分以及對應于大小為4×4模板宏塊的一個區(qū)域在圖1中示出。在全象素搜索期間發(fā)現的搜索窗口中的最佳匹配塊由方框70表示。每一′X′74代表在該搜索窗口中的一個全象素。
為了執(zhí)行半象素搜索,使用環(huán)繞該最佳匹配全象素塊的周邊的象素。這在圖2中示出。由大粗體′X′74表示的象素代表在該搜索窗口中的象素。在該框70中的象素74是在全象素搜索期間被發(fā)現屬于是最佳匹配的搜索窗口象素。圓周72代表使用在該全象素搜索中的模板宏塊象素。以相似于全象素搜索的方式,半象素搜索使用該模板宏塊象素72,以便確定最佳匹配半象素塊。實心圓點76代表與該全象素搜索結果相關的半象素。該半象素是從在該搜索窗口中的全象素計算出的。本發(fā)明包括用于計算這些半象素的一種裝置和方法。用于左上全象素的八個可能的半象素76由箭頭指示。每個半象素與模板宏塊象素比較,以便產生八個SAD值。所以,全象素搜索和半象素搜索的配合產生九個SAD結果(即一個全象素結果加上八個半象素結果)。這九個SAD結果的最小值被確定并且用于產生該結果運動矢量。應該注意,作為半象素SAD計算的結果,可能該八個半象素的SAD值當中沒有任何一個小于該全象素SAD結果。在這種情況下,運動矢量就從先前計算出的全象素塊確定。
匹配由該圓周表示的模板宏塊的可能的八個最佳半象素之一在圖3中示出。為了確定該八個可能半象素74的哪一個是最佳匹配的半象素,該模板宏塊象素72必須與八個半象素的每一個分別地比較。圖3示出該模板宏塊象素和與箭頭指示的左上半象素相關的半象素塊的比較。來自全部十六個比較的絕對差值被求和以便產生用于該八個半象素之一的SAD結果。該處理過程針對其余的七個半象素重復。一旦獲得全部八個SAD結果,則與先前計算出的全象素SAD的結果結合,并且確定出全部九個SAD的最小值。
為了更好地說明半象素搜索,與在該模板宏塊中的該左上象素相關的八個半象素位置在圖4中示出。如前所述,來自全象素搜索的結果被包括在該正方形的框70中。為了確定環(huán)繞該框中左上角全象素的半象素76所需要的搜索窗口全象素被包括在正方形的框80中。對于左上角全象素來說,需要在該塊70中的四個象素和在該塊外面的五個象素。該角的半象素是通過對環(huán)繞它們的四個全象素取和并且最終被4去除以便獲得該四個象素的平均值而確定的。例如,該角落的半象素86是通過取和四個全象素81、82、83、84并且最終被四除而被確定的。非角落的半象素是通過計算在任一側的兩個半象素并且被二除而確定的。例如,半象素88是通過求和全象素84和87并且最后把該結果除以二而獲得的。
與在該模板宏塊70中的左上中間位置象素相關的八個半象素位置在圖5中示出。需要位于正方形框80中的全象素72,以便計算環(huán)繞在該宏塊70的頂行中的左中位置的全象素89的半象素76。
對于在塊70中的每個全象素,都必須計算出其全部八個半象素值。但是應該注意,包括在圓90中的與左中全象素89相關的左邊的三個半象素也是它左邊的全象素的右邊的三個半象素。這些半象素先前針對左邊全象素已計算出,而不需要再次計算。所以,除了在最左邊的列中的全象素之外的列中的全象素,就只需要確定五個唯一的半象素,因為其余三個是針對該先前的全象素計算出的半象素。而且,對于每個全象素來說,只有五個半象素的三個需要被計算出,因為下層的兩個半象素可以結合在下行中的全象素的處理而被計算出出來。唯一的例外是在塊70中的第一和最后一行。
現在來更詳細地描述對于八個半象素的每一個而計算SAD值的裝置和方法。說明根據本發(fā)明優(yōu)選實施例構成的半象素SAD發(fā)生器的高級別框圖在圖6中示出。本發(fā)明的裝置和方法的操作為的是串行地計算這些半象素。七個搜索窗口象素和五個模板宏塊象素被輸入到寄存器中。半象素被從搜索窗口象素內插并且模板宏塊象素被與這些半象素相比較。產生的差值被輸入到一個累加器,該累加器起到將該差值取絕對值并且將它加到一個累加寄存器的作用。在下一周期中,來自搜索窗口的一個附加的新全象素被讀入到該搜索窗口FIFO裝置中。該搜索窗口象素被再一次內插以便產生新的半象素。該模板宏象素被與該新的半象素比較并且該產生的新差值被相加到在先前的周期中計算出的差值。針對在該搜索窗口象素塊中的保持在該全象素搜索期間計算出的最小SAD的全部象素以及環(huán)繞該塊的象素重復這個過程(圖1)。
半象素SAD發(fā)生器10包括兩個先進先出(FIFO)存儲器陣列。第一個是搜索窗口FIFO裝置12,包括七個寄存器,每個寄存器用于保持一個搜索窗口象素。第二個是模板宏塊FIFO裝置30,包括五個寄存器,每個寄存器用于保持來自該模板宏塊的一個象素。箭頭表明象素被寫入到該FIFO裝置中以及從該FIFO裝置讀出的方向。兩個FIFO裝置都被從象素塊的左上角開始并且連續(xù)到右側地饋送象素。在一行的最后,該過程從下面一行的左邊繼續(xù)進行。
發(fā)生器10還包括用于對這些值進行求和的多個加法器以及用于對中間結果提供延遲的寄存器或鎖存器。對于該加法器的輸入可以是其它加法器的輸出、鎖存器的輸出或在該FIFO裝置中的寄存器的輸出。
該原理把象素的一個完整行加上一個象素裝入到該搜索窗口FIFO裝置中。這使得除在相同行中的相鄰象素之間半象素之外還計算出在來自兩個相鄰的行的全象素之間的半象素。這個原理也被應用到模板宏塊FIFO裝置。一個完整象素行加上一個象素被裝入到該模板宏塊FIFO裝置,以便實現在相鄰行的象素之間的半象素的計算。
特別地,對于加法器14的輸入是在該搜索窗口FIFO裝置中的寄存器0和寄存器6的內容。對于加法器16的輸入是在該搜索窗口FIFO裝置中的寄存器0和寄存器1的內容。加法器14的輸出被輸入到鎖存器18和第三加法器17。到該加法器17的其它輸入是鎖存器18的輸出,它也是到鎖存器22的輸入。加法器17的輸出是到鎖存器24的輸入,鎖存器24的輸出是到鎖存器28的輸入。加法器16的輸出是到鎖存器20的輸入。鎖存器20的輸出是到鎖存器26的輸入。
鎖存器20、22、24、26、28的輸出被輸入到八個減法器32、34、36、38、40、42、44、46的一個減法器組。每個減法器與一個半象素相關。加法器14、16、17的作用在于產生對于每個全象素是唯一的五個半象素。用四去除角落半象素以及用二去除非角落半象素的操作是在這些差值已經求和之后的更遲的時間執(zhí)行。鎖存器提供了在產生這五個半象素過程中的必要的延遲。
鎖存器22的輸出被輸入到減法器34和40。鎖存器24的輸出被輸入到減法器36和42。鎖存器28的輸出被輸入到減法器32和38。鎖存器20的輸出被輸入到減法器44。鎖存器26的輸出被輸入到減法器46。模板宏塊FIFO寄存器0的內容被輸入到減法器38、40、42、44、46。模板宏塊FIFO寄存器4的內容被輸入到減法器32、34、36。隨著差值被這些減法器計算出來,它們被輸入到累加器48、50、52、54、56、58、60、62。一個累加器被與每個減法器相關聯。對于累加器的輸入是其相關減法器的輸出。累加器的輸出代表用于該八個半象素的SAD結果。
注意,累加器執(zhí)行這種絕對值函數不是必須遵循的規(guī)則。做為選擇這種絕對值函數可以由減法器執(zhí)行。
控制器13把適當的控制信號提供到FIFO裝置、加法器、鎖存器、減法器和累加器,例如時鐘、使能信號等等。該控制信號的定時可以來源于在下面介紹的定時表。該表描述了針對若干時鐘周期的FIFO裝置、加法器、鎖存器、減法器和累加器中的每一個的內容。
如前所述,用于保持搜索窗口象素和模板宏塊象素的寄存器是作為一個FIFO裝置實現的。但是,這里介紹的該范例使用最小數目的寄存器實現本發(fā)明的方法。在不背離本發(fā)明的本質的條件下,本專業(yè)技術人員可以使用不同數目的FIFO裝置或具有不同數目的寄存器的FIFO裝置實現一個半象素SAD發(fā)生器。
使用圖6的心動式處理硬件,能夠實現利用最小的硬件和低成本確定該半象素SAD結果。而且,本發(fā)明的發(fā)生器只要求從存儲器存取一次每個全象素的值。這種半象素以及對應的SAD值的計算不需要多余的存儲器存取或多余的半象素計算。每個半象素只被計算一次。
本發(fā)明的這種半象素發(fā)生器的另一優(yōu)點是直到這種累加過程的結束都保持完美的精確性。換句話說,這種由二或四所除的過程是在用于每個SAD值的所有象素值已經求和之后執(zhí)行的,這就增加了每個象素的精確性。
為了幫助理解本發(fā)明的操作,描述針對前11個時鐘周期的FIFO裝置、加法器、鎖存器、減法器和累加器的每一個的內容的一個表格作為表1在下面給出。表1是利用在圖7中示出的象素標記構成的。搜索窗口全象素塊的一部分在該圖的上部分示出。模板宏塊象素在該圖的下部分示出。全部搜索窗口象素由在圓周中的大寫字母代表。用于計算在邊緣的半象素的環(huán)繞該塊的搜索窗口象素由在正方框中的大寫字母代表。半象素被表示為帶下標的大寫字母。針對每個全象素計算出的三個唯一半象素是被下標為1、2、3。在模板宏塊中的象素被表示為包括在圓周中的小寫字母表示。
在周期2,計算出半象素B1、B2和B3,并且半象素A1、A2和A3被分別地移入鎖存器22、28和26。由于相加A1和B1產生半象素B2。在該周期中,第一模板宏塊象素,象素a,被輸入到模板宏塊FIFO裝置,以便能夠產生第一差值。
在下一周期,周期3中,產生與全象素C相關的三個半象素C1、C2、C3,并且半象素B1、B2和B3被移位。全象素b被移入該FIFO裝置并且計算出第一差值。減法器36、40、42、44、46分別地計算在象素a和鎖存器28、22、24、20、和26的輸出之間的差值。差值結果a-A2、a-A1、a-B2、a-B3和a-A3被分別地輸入到累加器54、56、58、60、62。
該過程以針對輸入到該搜索窗口FIFO裝置的每個象素的新的一組三個半象素的計算繼續(xù)進行。在每個周期期間,產生在與每個全象素(例如針對全象素A的A1、A2、A3、B2、B3)相關的五個上層半象素和對應的模板宏塊象素(即象素a)之間的差值。三個下層半象素,例如E2、E1、F2不能被計算直到來自隨后行的象素被輸入到該FIFO裝置為止。
在環(huán)繞該圓周中的塊象素的正方框中的邊緣象素對于某些半象素計算是需要的。對于半象素的計算來說屬不需要的所獲結果被放棄,并且不被用于產生輸入到該累加器的差值。在周期7和周期8過程中顯見其中沒有值被鐘控進入該累加器。控制器提供適當的時鐘和使能信號以便實現這一目的。
一旦模板宏塊FIFO裝置充滿,即在周期8,則產生八個差值并且被累加,而不是在周期3到6期間的僅僅五個差值。在表1中概述的處理被繼續(xù)直到所有36個象素都被處理。在該點,該累加器保持用于八個可能半象素的每一個的SAD結果。這些結果結合與來自全搜索的原始最佳匹配,并且確定全部九個SAD值的最小值。
雖然本發(fā)明已經參考有限數目的實施例進行了描述,但是本發(fā)明可以實現許多變化、改進和其它的應用。
權利要求
1.一種用于產生在包含在一個搜索窗口存儲器中的全象素塊與包含在一個預定義模板宏塊存儲器中的模板象素之間的半象素的絕對差值和(SAD)的一個裝置,所述的裝置包括用于保持包含在所述的搜索窗口中的全象素的搜索窗口先進先出(FIFO)存儲器裝置;用于保持包含在所述的模板宏塊中的模板象素的模板宏塊FIFO裝置;連接到所述的搜索窗口FIFO裝置的內插裝置,所述的內插裝置用于計算環(huán)繞所述每一全象素的半象素值;連接到所述的內插裝置和所述的模板宏塊FIFO裝置的減法裝置,所述的減法裝置用于計算在所述的半象素和所述的模板象素之間的差值;連接到所述的減法裝置的絕對值裝置,所述的絕對值裝置用于產生所述的減法裝置的輸出的絕對值;連接到所述的絕對值裝置的輸出的累加器裝置,所述的累加器裝置用于保持由絕對值裝置輸出的用于每一半象素SAD值的絕對差值的和;以及,控制器裝置,用于產生適當的控制信號以便使能所述的半象素SAD值的產生。
2.根據權利要求1的裝置,其中所述的搜索窗口FIFO裝置包括足夠數目的寄存器,以便保持全象素的一個整行加上來自所述的搜索窗口的隨后行的至少一個象素。
3.根據權利要求1的裝置,其中所述的模板宏塊FIFO裝置包括足夠數目的寄存器,以便保持全象素的一個整行加上來自所述的搜索窗口的隨后行的至少一個象素。
4.根據權利要求1的裝置,其中內插裝置包括適當放置的加法器和寄存器,以便計算環(huán)繞每一全象素的半象素值。
5.根據權利要求1的裝置,其中的減法裝置包括兩輸入端減法器。
6.根據權利要求1的裝置,其中所述的減法裝置和所述的絕對值裝置共同包括結合一個絕對值函數的兩輸入端減法器。
7.根據權利要求1的裝置,其中所述的累加器裝置和所述的絕對值裝置共同包括在其輸入端結合一個絕對值函數的一個累加器。
8.根據權利要求1的裝置,其中每一個所述的全象素和每一模板象素只分別地從所述的搜索窗口存儲器和所述的模板宏塊存儲器存取一次。
9.一種用于產生在包含在一個搜索窗口存儲器中的全象素塊和包含在一個預定義模板宏塊存儲器中的模板象素之間的半象素的絕對差值和(SAD)的一種方法,所述的方法包括步驟提供搜索窗口先進先出(FIFO)裝置,用于移位通過包含在所述的搜索窗口中的全象素;提供一個模板宏塊FIFO裝置,用于移位通過包含在所述的模板宏塊中的模板象素;對于每一全象素來說,只內插一次在水平、垂直和對角線的方向環(huán)繞每一全象素的半象素的值;計算在所述半象素和所述的模板象素之間的差值;確定計算步驟期間產生的差值的絕對值;以及,累加在用于對每一半象素SAD值進行確定的步驟期間產生的絕對差值的和。
10.根據權利要求9的方法,其中每一個所述的全象素和每一個所述的模板象素只分別地從所述的搜索窗口存儲器和所述的模板宏塊存儲器存取一次。
全文摘要
公開一種用于計算針對半象素的SAD值的新穎裝置和方法。本發(fā)明以串行方式內插來自包含在一個搜索窗口(70)中的全象素的半象素值。隨后這些半象素與在一個模板宏塊中的象素相比較。隨后產生差值并累加在寄存器中。該搜索窗口(70)和模板宏塊象素被移位到FIFO裝置中從而有多個加法器產生半象素值。鎖存器(20、22、24、26、28)被用于存儲和延遲該半象素值,以便輸入到一組減法器。減法器計算該內插的半象素和該模板宏塊象素之間的差值。該減法器的輸出被累加而產生八個SAD值。
文檔編號G06T7/00GK1246187SQ97181535
公開日2000年3月1日 申請日期1997年12月30日 優(yōu)先權日1997年1月3日
發(fā)明者厄勒茲·斯泊林, 米切爾·哈萊泊, 阿米爾·弗雷杰特, 吉爾帕特·斯卡爾特奇 申請人:薩帕克斯技術(以色列)有限公司