專利名稱:視頻編碼方法
技術領域:
本發明涉及一個圖像序列的編碼方法,每一圖像被分區成非重疊的像素數據塊。
本發明還涉及用于執行這種方法的一個濾波裝置。
背景技術:
國際標準化組織已經在MPEG-4標準中定義了涉及交互性多媒體應用裝置將要滿足的要求。首先此標準把視頻目標平面(VOP)的一個概念定義為可從該比特數據流直接訪問的一個實體。VOP可被是一個基本的圖形或一個聲頻基元。因此,一個圖像的編碼包括出現于該圖像中的VOP的后續編碼。
圖像的序列可以包括I幀、P-幀和B-幀。I-幀被根據一個幀內模式編碼,使用在該圖像之內的空間冗余度而不參考任何其它幀。除了涉及一個I-圖像的空間冗余度之外,P幀的編碼還使用P-圖像和先前圖像之間的暫態冗余度作為一個圖像基準其先前圖像主要是先前的I或P-圖像。一個B圖像具有兩個暫態基準,并且通常被從已經編碼并且重建的一個在前的P或I-圖像以及隨后的I或P-圖像預測編碼而得。
MPEG-4標準限定了根據一個過去基準幀和一個未來基準幀編碼一個圖像的四個預測模式。第一預測模式是直接編碼。此預測模式使用從H.263獲得的雙向運動補償方案,其采用針對未來基準幀的宏數據塊而得到的運動矢量,并且將它們定標以便得到針對在所說將被編碼圖像中的數據塊的正向和反向運動矢量。第二預測模式是正向模式,其使用與MPEG-1/2中同樣的正向運動補償,其差別在于用于預測的是一個VOP而不是一個圖像。第三預測模式是反向編碼,其使用與MPEG-1/2中同樣的反向運動補償,其差別在于用于預測的是一個VOP而不是一個圖像。最后預測模式是雙向編碼,其使用與MPEG-1/2中同樣的內插運動補償,其差別在一個VOP被用于預測而不是使用一個圖像。
1998年2月1日的MPEG-4視頻確認模式版本10.0ISO/IEC JTCI/SC29/WG11公開了一種策略,用于在編碼一個B-VOP的四個可能模式當中判定一個具體的預測模式。針對一個B-數據塊,該預測誤差的估計,在此文獻中的絕對值差的取和,針對四個預測模式得出,并且選擇給出該最小SAD的預測模式用于該B-數據塊的編碼。此建議的策略具有的主要缺點是非常多的計算。
本發明概要因此本發明的一個目的是提供一種更有效的編碼方法,給出在速度和編碼質量之間的有益取舍。
為此目的,針對屬于將要被編碼的一個圖像的一個數據塊,下文稱作將被編碼的數據塊,根據一個過去的基準幀和一個未來的基準幀,在引言部分中描述的一種方法包括至少下列步驟-根據該過去基準幀和在該過去基準幀中的一個對應最佳預測數據塊,針對在未來基準幀中的與將要被編碼的該數據塊位置相同的一個數據塊而得出一個最佳運動矢量;-得到在所說未來基準幀中的具有與將要被編碼的數據塊相同位置的數據塊和在該過去基準幀中的最佳預測數據塊之間的絕對值差的取和,下文稱作SADref;-根據該最佳運動矢量和在過去基準幀中的一對應正向預測數據塊,得出針對該將要被編碼的數據塊的一個正向運動矢量(MVf);-得到在該將要被編碼的數據塊和該正向預測數據塊之間的絕對值差的取和,下文稱作SADf;-根據該最佳運動矢量和在未來基準幀中的一對應反向預測數據塊,得出針對該將要被編碼的數據塊的一個反向運動矢量;-得到在該將要被編碼的數據塊和該反向預測數據塊之間的絕對值差的取和,下文稱作SADb;-如果如下三個狀態之一被滿足,則根據一個直接預測模式編碼該將要被編碼的數據塊-該最佳運動矢量的空間坐標是在一個給定范圍之內;-SADref朝著SADb的偏移小于一個給定閾值;-SADref朝著SADf的偏移小于一個給定閾值。
在有效時,這種方法有利于直接預測模式,使得當可能時避免該正向、反向和雙向預測的計算。與已有技術建議的一個方法比較,當選擇直接模式時,不需要在先的與該直接模式相關的絕對值差的取和計算,該計算是非常大的計算。由于計算代價的降低,本發明的優點是在確定的一個適應預測模式的處理中的更高的速度。
附圖的簡要描述現將參照下文描述的實施例和有關
本發明的具體方面,其中圖1示出根據本發明的一個方法的各個步驟,圖2描述一個宏數據塊的直接預測。
本發明的詳細說明在下面段落中可能出現單詞"數據塊"的誤用。當讀出數據塊時,應該理解是宏數據塊,如ITU標準中定義的那樣。
根據本發明的編碼方法在圖1中給出。讓我們考慮一個圖像的序列。可以根據一個過去基準圖像P0并且根據一個未來基準圖像P2編碼一個圖像P1,例如圖2中描述的那樣。P0最好是一個I或P-圖像,而P2最好是一個I或P-圖像。為了編碼的目的,每一圖像還被分區成非重疊的像素數據塊,并且一個VOP的編碼包括覆蓋該VOP的數據塊的編碼。圖1中給出的本方法是針對預測模式的選擇的一個策略,被使用在圖像P1的數據塊Y的編碼中。本發明的一個實施例中的數據塊Y是16×16的大小。
圖1中的方法的第一步驟1包括根據過去幀P0執行對于具有與數據塊Y相同位置的在未來基準幀P2中的數據塊Z的一個運動補償。為此目的,得到用于B-數據塊的最佳運動矢量MV。可以通過最小化方程式(1)中給出的一個函數SAD(絕對值差的取和)得到此矢量MVSAD=Σm=116Σn=116|Bi,j(m,n)-Bi-u,j-v(m,n)|---(1)]]>其中Bi,j(m,n)表示在空間的位置(ij)的16×16數據塊Y的第(m,n)像素,并且Bi-u,j-v(m,n)表示在空間位置(ij)的、由該矢量(u,v)移動的過去基準圖像P0中的一個選擇宏數據塊的第(m,n)像素。最佳運動矢量MV是在給定最小SAD(下文稱作SADref)的P0-幀中的數據塊Z和候選宏數據塊-數據塊X之間的位移(u,v)。
第二步驟2包括根據在先前步驟1中得到的最佳運動矢量MV得出一個非精化正向運動矢量MVf以及得出一個非精化反向運動矢量MVb。運動矢量MVf和MVb的計算以方程式(2)所示的具有零精度矢量MVd的標準MPEG-4給出
MVf=(TRb×MV)/TRdMVb=((TRb-TRd)×MV)/TRd (2)MVb=MVf-MV其中TRb是在來自過去基準幀P0的幀P1的暫態基準中的增量,而TRd是在來自過去基準幀P0的未來基準幀P2的暫態基準中的增量。這些數據塊Y相關的非精化運動矢量MVf、MVb定義了在過去基準幀P0和未來基準幀P2中的對應數據塊,下文中分別稱作幀P0的數據塊W和幀P2的數據塊V。
隨后在步驟3中得到數據塊Y和數據塊W之間的絕對值差的取和,下文稱作SADf,以及得到數據塊Y和數據塊V之間的絕對值差的取和,下文稱作SADb。
在根據本發明方法的步驟4、5和6中,在每一步驟中表明一個條件,允許確定是否該直接預測模式必須使用在數據塊Y的編碼中。根據本發明,如在下文詳細說明的那樣,當滿足在步驟4、5、6中限定條件的至少一個條件時,該數據塊Y在步驟10中必定被直接編碼。
首先在步驟4中表明相關該運動矢量MV的空間坐標值的狀態。的確,當運動矢量MV的空間坐標位于給出范圍I之內時,數據塊Y將應在步驟10中直接編碼。在本發明的一個實施例中,運動矢量MV的空間坐標必須處在半象素單元中的范圍[-2;2]中。結果是,此判據保證在幀P0、P1和P2之間的低移動,并且由于如在標準MPEG-4中說明的那樣通過一個矢量MVd精煉的可能性,還保證該直接預測模式將提供針對該數據塊Y的一個良好的預測。當此第一判據不被滿足時,在步驟5和6中說明附加條件。
在步驟5以及步驟6中,一方面根據幀P0和P1分別表明涉及在該數據塊Y非精化正向和反向運動估計之間的一致性的一個狀態,并且另一方面根據該幀P0表明涉及該數據塊Z的運動估計的一個狀態。在該步驟5中,得到SADb和SADref之間的偏移,并且當該偏移的絕對值小于一個給定閾值T1時,數據塊Y將應在步驟10中直接編碼。否則,在步驟6中,得到SADF和SADref之間的偏移,并且當該偏移的絕對值小于一個給定閾值T2時,該數據塊Y將應在步驟10中直接編碼。在本發明的一個實施例中,閾值T1和T2是相同的。在本發明的一個實施例中,步驟6是在步驟5之前執行的。步驟5和6允許給出直接編碼的的品質估計。的確,根據幀P0預先獲得SADref作為提供數據塊Z的最佳預測的絕對值差的取和。因此,考慮到SADf或SADb不朝著SADref的方向偏離太多將保證該直接預測模式用于該數據塊Y的編碼實現優質的預測,或至少幾乎是與以SADref針對該數據塊Z獲得的預測一樣好。
在本發明的一個最佳實施例中,例如圖1中描述的方法包括附加步驟,由于上述條件當中誰都不被滿足,當該直接傳輸方式已經在步驟4中被拒絕時,附加步驟允許確定在正向、反向和雙向中選擇哪個預測模式用于該數據塊Y的編碼。為此目的,在未來基準幀P2的基礎上數據塊Y的反向運動估計在步驟7中被執行。此運動估計包括使用方程式(1)得出在屬于幀P2的數據塊Y和候選宏數據塊之間的函數SAD的最小值。該最小值在下文稱作SADbck。該值SADbck定義了幀P2的一個候選宏數據塊A和與數據塊Y的反向預測相關的絕對值差的取和。以同樣方式,還根據過去基準幀P0執行該數據塊Y的正向估計而產生在屬于幀P0的數據塊Y和候選宏數據塊B之間的最小SAD,下文稱作SADfwd。SADfwd是與數據塊Y的正向預測相關的絕對值差的取和。另外,還得到宏數據塊A和B的平均值以及得到絕對值差的取和作為SADbidir。SADbidir是與數據塊Y的雙向預測相關的絕對值差的取和。SADfwd、SADbck以及SADbidir分別表示從數據塊Y的正向、反向以及雙向預測產生的誤差。在本發明的最佳實施例中,根據給出最小誤差的預測模式編碼該數據塊Y。
因此,在步驟7中,把三個值SADfwd、SADbck和SADbidir與它們的最小值SADmin比較。在步驟8中,如果SADbidir等于SADmin,數據塊Y遵循雙向預測模式在步驟11中編碼。在步驟9中,如果SADbidir等于SADmin,數據塊Y遵循正向預測模式在步驟12中編碼。在步驟8中,如果SADbidir等于SADmin,數據塊Y遵循反向預測模式在步驟13中編碼。
圖像的序列可以包括連續的I、P-幀和B-幀。這種圖像的一個序列可以編碼如下。首先該I-幀遵循一個幀內模式編碼,隨后P-幀參照I-幀編碼,最終該B-幀參照過去的I-幀以及未來P-幀編碼。由于P-幀的編碼在B-幀的編碼之前執行,所以在B-幀的編碼階段,已經可根據過去的I-幀得到P-幀的數據塊的運動補償的相關參數。因此,在根據本發明的一個方法中,要參照一個過去基準幀P0和一個未來基準幀P2編碼的一個幀PI將在幀P0的編碼和幀P2的編碼之后而被編碼。結果是正象圖1中描述的編碼方法那樣,最佳運動矢量MV和步驟1描述的過去基準幀P2的運動估計給出的誤差SADref能夠從幀P2的在先編碼提取。根據本發明的這種方法不意味高的CPU代價。
注意,有關該描述編碼方法可能在不背離本發明的范圍的條件下建議改進或改善。例如,此編碼方法顯然能夠被以幾個方式實現,例如借助于有線電子電路,或也可以借助于存儲在計算機可讀介質中的一組指令實現,所說的指令至少替代一部分所說的電路并且可在一個計算機或一個數字處理器的控制下執行,以便執行所說的被替代電路中實行的相同的功能。本發明還涉及包括一個軟件模塊的一個計算機可讀介質,該軟件模塊包括計算機可執行指令,用于執行該描述方法的步驟或某些步驟。圖1的框既表示根據本發明的一個方法又表示用于執行這種步驟的編碼裝置總體的一個處理電路。
權利要求
1.一種圖像序列的編碼方法,每一圖像被分區成非重疊像素數據塊,針對屬于在一個過去基準幀(P0)和一個未來基準幀(P2)的基礎上編碼的一個圖像(P1)的一個數據塊(Y),下文稱作將要被編碼的數據塊,本方法至少包括步驟根據該過去基準幀和在該過去基準幀中的一個對應最佳預測數據塊(X),針對在未來基準幀中的與將要被編碼的該數據塊位置相同的一個數據塊(Z)而得出一個最佳運動矢量(MV);-得到在所說未來基準幀中的具有與將要被編碼的數據塊相同位置的數據塊和在該過去基準幀中的最佳預測數據塊之間的絕對值差的取和,下文稱作SADref;-根據該最佳運動矢量和在過去基準幀中的一對應正向預測數據塊(W),得出針對該將要被編碼的數據塊的一個正向運動矢量(MVf);-得到在該將要被編碼的數據塊和該正向預測數據塊之間的絕對值差的取和,下文稱作SADf;-根據該最佳運動矢量和在未來基準幀中的一對應反向預測數據塊(V),得出針對該將要被編碼的數據塊的一個正向運動矢量(MVb);-得到在該將要被編碼的數據塊和該反向預測數據塊之間的絕對值差的取和,下文稱作SADb;-如果下列條件之一被滿足,則根據一個直接預測模式編碼該將要被編碼的數據塊-該最佳運動矢量的空間坐標是在一個給定范圍(I)之內;-SADref朝著SADb的偏移小于一個給定閾值;-SADref朝著SADf的偏移小于一個給定閾值。
2.按照權利要求1中要求的一種編碼方法,其中,當該最后步驟的條件沒有任何一個被滿足時,本方法至少進一步包括步驟-得到在將要被編碼的數據塊和過去基準幀數據塊之間的絕對值差的取和的最小值此最小值被稱作SADfwd,并且該過去基準幀的對應數據塊被稱作正向基準數據塊;-得到在將要被編碼的數據塊和未來基準幀數據塊之間的絕對值差的取和的最小值,此最小值被稱作SADbck,并且該未來基準幀的對應數據塊被稱作反向基準數據塊;-得到在將要被編碼的數據塊和未來基準數據塊與過去基準數據塊的平均數據塊之間的絕對值差的取和,此絕對值差的取和被稱作SADbidir;-當SADfwd既低于SADbck又低于SADbidir時,根據一個正向預測模式編碼將要被編碼的數據塊;-當SADbck既低于SADfwd又低于SADbidir時,根據一個反向預測模式編碼將要被編碼的數據塊;-當SADbidir既低于SADbck又低于SADfwd時,根據一個正向預測模式編碼將要被編碼的數據塊。
3.一個濾波裝置,用于執行權利要求1中要求的一個圖像序列的編碼方法。
4.一種包括軟件模塊的存儲介質,存儲一組在計算機或處理器控制下可執行的指令,并且執行如權利要求1中要求的編碼方法的至少某些步驟。
全文摘要
MPEG-4標準描述了四個預測模式:一個直接預測模式、一個雙向預測模式、一個正向預測模式,和一個反向預測模式。這些模式可以用于根據一個過去基準幀和一個未來基準幀編碼一個數據塊。因此,為了編碼一個給定數據塊,本發明提供一個有益的策略,實現在這四個可能模式中一個良好的自適應預測模式的選擇。該建議的策略操作傾向直接模式,并且給出當使用此具體預測模式時將要被滿足的判據。
文檔編號H04N7/26GK1336080SQ00802445
公開日2002年2月13日 申請日期2000年10月23日 優先權日1999年10月29日
發明者D·斯諾克 申請人:皇家菲利浦電子有限公司