專利名稱:用于運動估計的技術的制作方法
技術領域:
本發(fā)明涉及圖像處理,具體來說,涉及用于運動估計的技術。
背景技術:
又稱為高級視頻編解碼器(AVC)的H. 264以及MPEG-4第10部分是預期會被工業(yè)廣泛推行的ITU-T/IS0視頻壓縮標準。H. 264標準已經(jīng)由聯(lián)合視頻小組(JVT)制定,其中包括稱為VCEG (視頻編碼專家組)的ITU-TSG16Q. 6,還包括稱為MPEG (運動圖像專家組)的 IS0/IECJTC1/S(^9/WG11。H. 264為數(shù)字電視廣播(DTV)、直接廣播衛(wèi)星(DBS)視頻、數(shù)字用戶線(DSL)視頻、交互式存儲媒體(ISM)、多媒體消息傳送(MMM)、數(shù)字地面電視廣播(DTTB) 以及遠程視頻監(jiān)控(RVQ領域中的應用而設計。視頻編碼中的運動估計(ME)可用于通過移除或減少視頻幀之間的時間冗余來提高視頻壓縮性能。為了對輸入塊進行編碼,可在編碼器中在參考幀中的指定搜索窗口內(nèi)執(zhí)行傳統(tǒng)的運動估計。這可允許確定使輸入塊和參考幀中的參考塊之間的絕對差之和(SAD) 最小化的運動矢量。然后可將運動矢量(MV)信息發(fā)送到解碼器以用于運動補償。可以為分數(shù)像素單元確定運動矢量,并且插值濾波器可被用于計算分數(shù)像素值。在解碼器中無法獲得原始輸入幀的情況下,解碼器中的ME可使用重構的參考幀來執(zhí)行。當對預測幀(P幀)編碼時,在前向參考緩沖器中可能有多個參考幀。當對雙向預測幀(B幀)編碼時,在前向參考緩沖器中可能有多個參考巾貞,以及在后向參考緩沖器中可能有至少一個參考幀。對于B幀編碼,可執(zhí)行鏡像ME或者投影ME以得到MV。對于P幀編碼,可執(zhí)行投影ME以得到MV。在其它情況中,可在視頻解碼器中,通過對于一個或多個幀中的塊在可獲得的先前已解碼的像素上執(zhí)行運動估計,來產(chǎn)生基于塊的運動矢量??色@得的像素可以是例如以當前幀的連續(xù)掃描編碼順序在空間上相鄰的塊、先前已解碼的幀中的塊、或者當已使用分層編碼時更低層中降采樣幀中的塊。備選地,可獲得的像素可以是上述塊的組合。在傳統(tǒng)的視頻編碼系統(tǒng)中,為了當前編碼塊的預測,在編碼器端執(zhí)行ME以確定運動矢量,并且為了當前解碼塊的運動補償,運動矢量應該被編碼到二進制流中并發(fā)送給解碼器端。在一些高級視頻編碼標準,例如H. ^4/AVC中,為了編碼,可將宏塊(MB)劃分成更小的塊,并且運動矢量可被分配給每個子劃分(sub-partitioned)塊。因此,如果MB被劃分成4X4的塊,對于預測編碼MB有多達16個運動矢量,對于雙向預測編碼MB有多達32 個運動矢量。結(jié)果,相當大的帶寬被用于從編碼器向解碼器發(fā)送運動矢量信息。
發(fā)明內(nèi)容
按照本發(fā)明的一個方面,提供一種計算機實現(xiàn)的方法,包括在視頻解碼器中,在第一參考幀中指定搜索窗口 ;在所述第一參考幀的所述搜索窗口中指定搜索路徑;對于所述搜索路徑中的每個運動矢量MV0,確定指向第二參考幀中的參考塊的對應的第二運動矢量MVl,其中每個MVO從當前塊指向所述搜索窗口中的參考塊,其中所述對應的第二運動矢量MVl是MVO的函數(shù);對于在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量,其中所述度量包括第一度量、第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關,第二度量基于所述參考塊的空間相鄰者,以及第三度量基于所述當前塊的空間相鄰者;選擇MVO,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的MVO被用作所述當前塊的運動矢量;以及提供用于顯示的圖像,其中所述用于顯示的圖像部分地基于所選擇的MV0。按照本發(fā)明的另一方面,提供一種視頻解碼器,包括用于在搜索路徑中確定每個運動矢量MVO的邏輯,其中每個MVO從當前塊指向搜索窗口中的參考塊,用于確定指向第二參考幀中的參考塊的對應的第二運動矢量MVl的邏輯,其中所述對應的第二運動矢量MVl是MVO的函數(shù);用于為在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量的邏輯,其中所述度量包括第一度量、第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關, 第二度量基于所述參考塊的空間相鄰者,以及第三度量基于所述當前塊的空間相鄰者;以及用于選擇MVO的邏輯,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的 MVO被用作所述當前塊的運動矢量。按照本發(fā)明的又一方面,提供一種系統(tǒng),包括顯示器;存儲器;以及可通信地耦合至所述顯示器的處理器,所述處理器被配置為在搜索路徑中確定每個運動矢量MV0,其中每個MVO從當前塊指向搜索窗口中的參考塊,確定指向第二參考幀中的參考塊的對應的第二運動矢量MV1,其中所述對應的第二運動矢量MVl是MVO的函數(shù),為在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量,其中所述度量包括第一度量、第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關,第二度量基于參考塊的空間相鄰者,以及第三度量基于當前塊的空間相鄰者,以及選擇MVO,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的MVO被用作所述當前塊的運動矢量。
圖1描繪一種使用鏡像ME確定B幀中當前塊的運動矢量的方式的示例。圖2描繪一種基于兩個前向參考幀確定P幀中當前塊的運動矢量的投影ME的示例。圖3示出一個擴展參考塊。圖4示出當前塊的空間相鄰者。
圖5描繪按照一個實施例的過程。圖6說明一個可用于確定運動矢量的實施例。圖7說明一個可包括自身MV導出模塊的示范H. 264視頻編碼器架構。圖8說明一個具有自身MV導出模塊的H. 264視頻解碼器。
具體實施例方式數(shù)字視頻剪輯包括連續(xù)的視頻幀。連續(xù)幀中的對象或背景的運動可形成平滑軌跡,并且連續(xù)幀中的運動可具有相對強的時間上的相關。通過利用這種相關,對于當前編碼塊,可通過從重構的參考圖像來估計運動而得出運動矢量。相對于在編碼器執(zhí)行的運動估計,在解碼器的運動矢量的確定可減少傳輸帶寬。在解碼器中無法獲得原始輸入像素信息的情況下,在解碼器中的ME可使用重構的參考幀和當前幀的可獲得的重構塊來執(zhí)行。這里,“可獲得的”是指在當前塊之前已被重構的塊。當對P幀進行編碼時,在前向參考緩沖器中可能有多個參考幀。當對B幀進行編碼時,在前向參考緩沖器中可能有多個參考幀,并且在后向參考緩沖器中可能有至少一個參考幀。下面論述按照一個實施例為獲得當前塊的MV而在解碼器中執(zhí)行ME。對于B幀編碼,可執(zhí)行鏡像ME或投影ME以確定MV。對于P幀編碼,可執(zhí)行投影ME以確定MV。注意, 正如本領域普通技術人員會理解的那樣,術語“幀”和“圖像”在本文中可互換地使用。為解碼器提供各種實施例,以便本身為解碼塊確定運動矢量,而不是從編碼器接收運動矢量。解碼器端的運動估計可基于時間上的幀相關、以及基于參考塊的空間相鄰者和當前塊的空間相鄰者來執(zhí)行。例如,運動矢量可通過執(zhí)行參考緩沖器中的兩個重構圖像之間的解碼器端的運動搜索來確定。對于P圖像中的塊,可使用投影運動估計(ME),而對于B圖像中的塊,可使用投影ME和鏡像ME。而且,ME可在塊類型的子劃分上執(zhí)行。編碼效率可受到為解碼器端運動搜索應用自適應搜索范圍的影響。例如,2009年10月20日提交 (律師檔案號P3277》的美國專利申請12/582061中描述了用于確定搜索范圍的技術。圖1描繪一種使用鏡像ME確定B幀中當前塊的運動矢量的方式的示例。在圖1 的實施例中,在前向參考幀120和后向參考幀130之間可能有兩個B幀110和115。幀110 可以是當前編碼幀。當對當前塊140編碼時,可以通過分別在參考幀120和130的搜索窗口 160和170中執(zhí)行搜索來執(zhí)行鏡像ME以獲得運動矢量。如上所述,在解碼器中可能無法獲得當前輸入塊的情況下,可以使用兩個參考幀執(zhí)行鏡像ME。圖2描繪基于兩個前向參考幀,前向RefO (示為參考幀220)和前向Refl (示為參考幀230)確定P幀中當前塊的運動矢量的投影ME的一個示例。這些參考幀可用于為當前幀210中的目標塊240得出運動矢量??稍趨⒖紟?20中指定搜索窗口 270,并且可在搜索窗口 270中指定搜索路徑。對于搜索路徑中的每個運動矢量MV0,可在參考幀230的搜索窗口 260中確定它的投影運動矢量MV1。對于每對運動矢量,即MVO及其相關聯(lián)的運動矢量 MVl,可在(1)參考幀220中由MVO指向的參考塊280和(2)參考幀230中由MVl指向的參考塊250之間計算度量,例如絕對差之和。然后,產(chǎn)生度量的最佳值、例如最低SAD的運動矢量MVO可被選為用于目標塊MO的運動矢量。對于關于圖1和2所描述的情況確定運動矢量的技術在2009年9月25日提交(律師檔案號P31100)的美國申請12/566823的相應圖2和圖4中被描述。用于運動矢量的示例性搜索可如在美國申請12/566823的過程300和500中說明的那樣進行。下面針對本專利申請的圖1的情況提供確定運動矢量的過程的概述??稍谇跋騾⒖紟兄付ㄋ阉鞔翱凇_@個搜索窗口在編碼器中和在解碼器中可相同??稍谇跋蛩阉鞔翱谥兄付ㄋ阉髀窂?。只要編碼器和解碼器遵循相同的搜索路徑,這里可使用全搜索或者任何快速搜索方案。對于搜索路徑中的MV0,它的鏡像運動矢量MVl可在后向搜索窗口中獲得。這里,可假設在可能相對短的相關聯(lián)時間周期內(nèi),運動軌跡是直線??稍?i)前向參考幀中由MVO指向的參考塊和(ii)后向參考幀中由MVl指向的參考塊之間計算如絕對差之和(SAD)之類的度量。這些參考塊可被分別示為圖1中的150和180。可對在搜索路徑中是否存在任何額外的運動矢量MVO進行確定。如果存在,可重復所述過程并且可獲得不止一個MV0,其中每個MVO具有相關聯(lián)的MV1。此外,對于每個這樣的相關聯(lián)對,可獲得度量, 例如SAD??蛇x擇產(chǎn)生度量的期望值、例如但不限于最低SAD的MV0。這個MVO則可用于為當前塊預測運動。下面針對本專利申請的圖2的情況提供確定運動矢量的過程的概述??稍诘谝磺跋騾⒖紟兄付ㄋ阉鞔翱凇_@個窗口在編碼器和解碼器中可相同。可在這個搜索窗口中指定搜索路徑。例如,這里可使用全搜索或者快速搜索方案,使得編碼器和解碼器可遵循相同的搜索路徑。對于搜索路徑中的運動矢量MV0,它的投影運動矢量MVl可在第二搜索窗口中獲得。這里可假設運動軌跡在這個短時間周期中是直線??稍?i)第一參考幀中由MVO指向的參考塊和(ii)第二參考幀中由MVl指向的參考塊之間計算如SAD之類的度量??申P于是否有在搜索路徑中剩余的并且還未被考慮的任何額外運動矢量MVO進行確定。如果剩余至少一個MV0,可重復所述過程,其中對于另一 MV0,可確定其對應的投影運動矢量MVl。 以這種方式,可確定MVO和MVl對的集合,以及可為每對計算度量,例如SAD??蛇x擇MVO之一,其中所選擇的MVO產(chǎn)生度量的期望值,例如但不限于最低SAD。SAD度量的最低可獲得值,即,更接近0的值,可暗示一種優(yōu)選模式,因為等于0的SAD度量代表理論上的最佳值。 這個MVO則可用于為當前塊預測運動。在各種實施例中,為確定運動矢量,確定兩個參考幀中的兩個鏡像塊或者投影塊之間的絕對差之和(SAD)。當前塊大小是MXN個像素,并且當前塊的位置由當前塊的左上方像素的坐標來表示。在各種實施例中,當參考幀Rtl中的運動矢量是MVtl= (mv0_x,mv0_y) 并且其它參考幀R1中對應的運動矢量是MV1 = (mVl_x, mVl_y)時,運動搜索度量可采用式 (1)確定。J = J0+ α J1+ α 2J2(1)Jtl代表可在(i)前向參考幀中由MVO指向的參考塊和(ii)后向參考幀(或者圖 2的情況中的第二前向參考幀)中由MVl指向的參考塊之間計算的絕對差之和(SAD),并且在2009年9月25日提交(律師檔案號P31100)的美國申請12/566823中描述過。J1是基于參考塊的空間相鄰者的擴展度量,以及J2是基于當前塊的空間相鄰者的擴展度量,其中α工和α 2是兩個加權因子。因子 α工和α 2可通過模擬來確定,但缺省設置成1。從式(1)產(chǎn)生值J的最佳值、例如最小SAD的運動矢量MVO則可被選為當前塊的運動矢量。運動矢量MVO具有相關聯(lián)的運動矢量MVl,按照下式來定義MVl
權利要求
1.一種計算機實現(xiàn)的方法,包括在視頻解碼器中,在第一參考幀中指定搜索窗口 ; 在所述第一參考幀的所述搜索窗口中指定搜索路徑;對于所述搜索路徑中的每個運動矢量MV0,確定指向第二參考幀中的參考塊的對應的第二運動矢量MVl,其中每個MVO從當前塊指向所述搜索窗口中的參考塊,其中所述對應的第二運動矢量MVl是MVO的函數(shù);對于在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量,其中所述度量包括第一度量、 第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關,第二度量基于所述參考塊的空間相鄰者,以及第三度量基于所述當前塊的空間相鄰者;選擇MV0,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的MVO被用作所述當前塊的運動矢量;以及提供用于顯示的圖像,其中所述用于顯示的圖像部分地基于所選擇的MV0。
2.如權利要求1所述的方法,其中確定度量包括 確定所述第一度量、第二度量和第三度量的加權平均值。
3.如權利要求1所述的方法,其中確定度量包括 基于下式來確定第一度量N~l M-IJ0+ X +厶少+ mvo—少 + ·/·)—代+ χ + ,少+ mvI-少 + 力 IJ=O /=0其中,N和M是所述當前塊的相應y尺寸和X尺寸,R。包括第一前向參考幀,并且RQ(x+mV(1_x+i,y+mv0_y+j)包括在Rtl中在位置(x+mv。_ x+i, y+mv0_y+j)處的像素值,R1包括用于鏡像ME的第一后向參考幀或者用于投影ME的第二前向參考幀,并且 R1 (x+mVl_x+i, y+mv^y+j)包括在隊中在位置(x+mVl_x+i,y+mv^y+j)處的像素值, mv0_x包括參考幀Rtl中在χ方向上的當前塊的運動矢量, mv0_y包括參考幀Rtl中在y方向上的當前塊的運動矢量, mVl_x包括參考幀隊中在χ方向上的當前塊的運動矢量,以及 mVl_y包括參考幀R1中在y方向上的當前塊的運動矢量。
4.如權利要求3所述的方法,其中確定度量包括 基于下式來確定第二度量 Λ = Σ L\Ro(x + mvo_x + i,y + mv0 _y + j) - (x + mv} _x + i,y + mvx _y + j)\~J0J=-H0 i=-Wa
5.如權利要求4所述的方法,其中確定度量包括 基于下式來確定第三度量J1 = Σ丨 C(x,力-^coOrQ++ mv0 _y) + ω凡(χ + mv^x,y + mv! _γ)) |(x,y)eAamU其中,Aavail包括所述當前塊周圍的區(qū)域,C(x, y)包括在與所述當前塊接界的區(qū)域內(nèi)的當前幀中的像素,以及Qci和Q1是能夠根據(jù)新圖像與參考幀O和1之間的幀距離來設置的兩個加權因子。
6.如權利要求1所述的方法,其中 所述當前塊是在雙向預測圖像中, 第一前向參考幀包括前向參考幀,以及第二前向參考幀包括后向參考幀。
7.如權利要求1所述的方法,其中 所述當前塊是在預測圖像中,第一前向參考幀包括第一前向參考幀,以及第二前向參考幀包括第二前向參考幀。
8.如權利要求1所述的方法,其中所述度量包括絕對差之和的值,以及所述期望值包括最小的絕對差之和的值。
9.如權利要求1所述的方法,還包括在編碼器中,通過以下步驟確定所述當前塊的運動矢量 在第三參考幀中指定第二搜索窗口;在所述第三參考幀的所述第二搜索窗口中指定第二搜索路徑; 對于所述第二搜索路徑中的每個運動矢量MV2,確定指向第四參考幀中的參考塊的對應的第二運動矢量MV3,其中每個MV2從所述當前塊指向所述第二搜索窗口中的參考塊;為在所述第二搜索路徑中發(fā)現(xiàn)的每對MV2和MV3確定度量,其中所述度量包括第一度量、第二度量和第三度量的組合;以及選擇MV2,所選擇的MV2的所述度量的對應值是期望值,其中所選擇的MV2被用作所述當前塊的運動矢量。
10.一種視頻解碼器,包括用于在搜索路徑中確定每個運動矢量MVO的邏輯,其中每個MVO從當前塊指向搜索窗口中的參考塊,用于確定指向第二參考幀中的參考塊的對應的第二運動矢量MVl的邏輯,其中所述對應的第二運動矢量MVl是MVO的函數(shù);用于為在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量的邏輯,其中所述度量包括第一度量、第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關,第二度量基于所述參考塊的空間相鄰者,以及第三度量基于所述當前塊的空間相鄰者;以及用于選擇MVO的邏輯,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的MVO 被用作所述當前塊的運動矢量。
11.如權利要求10所述的解碼器,還包括 用于在第一參考幀中指定搜索窗口的邏輯;用于在第一參考幀的搜索窗口中指定搜索路徑的邏輯;以及用于在第二參考幀中指定搜索窗口的邏輯。
12.如權利要求10所述的解碼器,其中,為了確定度量,所述邏輯基于下式來確定第一度量N-I M-\Λ少+wvo—少+·/)-代χ+之少+所少+/)|其中,N和M是所述當前塊的相應y尺寸和χ尺寸, mv0_x包括參考幀Rtl中在χ方向上的當前塊的運動矢量, mv0_y包括參考幀Rtl中在y方向上的當前塊的運動矢量, mVl_x包括參考幀隊中在χ方向上的當前塊的運動矢量,以及 mVl_y包括參考幀R1中在y方向上的當前塊的運動矢量。
13.如權利要求12所述的解碼器,其中為了確定度量,所述邏輯基于下式來確定第二度量
14.如權利要求13所述的解碼器,其中為了確定度量,所述邏輯基于下式來確定第三度量
15.如權利要求10所述的解碼器,其中 當前塊是在雙向預測圖像中,第一前向參考幀包括前向參考幀,以及第二前向參考幀包括后向參考幀。
16.如權利要求10所述的解碼器,其中 當前塊是在預測圖像中,第一前向參考幀包括第一前向參考幀,以及第二前向參考幀包括第二前向參考幀。
17.一種系統(tǒng),包括 顯不器;存儲器;以及可通信地耦合至所述顯示器的處理器,所述處理器被配置為在搜索路徑中確定每個運動矢量MV0,其中每個MVO從當前塊指向搜索窗口中的參考塊,確定指向第二參考幀中的參考塊的對應的第二運動矢量MV1,其中所述對應的第二運動矢量MVl是MVO的函數(shù),為在所述搜索路徑中發(fā)現(xiàn)的每對MVO和MVl確定度量,其中所述度量包括第一度量、第二度量和第三度量的組合,并且其中所述第一度量基于時間上的幀相關,第二度量基于參考塊的空間相鄰者,以及第三度量基于當前塊的空間相鄰者,以及選擇MV0,所選擇的MVO的所述度量的對應值是期望值,其中所選擇的MVO被用作所述當前塊的運動矢量。
18.如權利要求17所述的系統(tǒng),還包括 可通信地耦合至所述處理器的無線網(wǎng)絡接口。
19.如權利要求17所述的系統(tǒng),其中為了確定所述度量,所述處理器基于下式來確定第一度量
20.如權利要求17所述的系統(tǒng),其中
全文摘要
本發(fā)明的發(fā)明名稱是“用于運動估計的技術”。描述了可用于在視頻解碼器基于B幀中或P幀中的重構的參考圖像來應用運動估計(ME)的技術。對于P幀,可執(zhí)行投影ME來獲得當前輸入塊的運動矢量(MV)。在B幀中,可以執(zhí)行投影ME和鏡像ME來獲得當前輸入塊的MV。度量可用于為在搜索路徑中發(fā)現(xiàn)的每對MV0和MV1確定度量,其中,該度量基于第一、第二和第三度量的組合。第一度量基于時間上的幀相關,第二度量基于參考塊的空間相鄰者,以及第三度量基于當前塊的空間相鄰者。
文檔編號H04N7/50GK102340664SQ201110056040
公開日2012年2月1日 申請日期2011年1月14日 優(yōu)先權日2010年1月14日
發(fā)明者L·徐, W·張, Y-J·邱 申請人:英特爾公司