專利名稱:視頻數據編碼器和解碼器的制作方法
技術領域:
本發明涉及一種用于執行視頻數據的運動補償編碼的編碼器和一種對運動補償編碼的視頻數據進行解碼的解碼器。本發明還涉及一種視頻數據的運動補償編碼方法和一種對運動補償編碼的視頻數據進行解碼的方法。
運動補償視頻編碼器和解碼器是利用傳統的視頻順序的連續幀相互顯示出高度相似性的事實和連續幀之間的差別主要由場景中的運動產生的事實。由此,運動補償視頻編碼可以壓縮視頻數據量,例如可以由IEEE,卷73,No.4,P523-548,4月1994,H.Mussmann,P.Pirsch和H.Grallert“圖象編碼的發展”中可了解到。取代分別地壓縮視頻順序的每一幀I(x,y),MC視頻編碼器壓縮在必須被編碼的當前視頻幀和在編碼器中計算的,被稱為預測幀的P(x,y)之間的差別,并根據一個或多個前面的視頻幀表示當前視頻幀I(x,y)的估計值。視頻解碼器可以利用在當前視頻幀I(x,y)和預測幀P(x,y)之間的差別,通過執行與編碼器相似的幀預測和通過根據所接收的在預測幀P(x,y)和實際幀I(x,y)之間的差別來校正預測幀,來再建當前視頻幀I(x,y)。
在視頻編碼領域,使用不同的編碼方式來對圖象的不同區域進行編碼是普通的。這在諸如ITU H.261和H.263以及MPEG-1和MPEG-2視頻編碼標準的所有現代編解碼器中可見。例如,圖象的某些區域可以不須使用任何暫時的預測(被稱為中間塊(intrablock))而進行編碼。因此,下面術語“frame”代表進行運動補償編碼和解碼的幀的區域。應注意的是,在運動補償編碼和解碼的上下文中,術語“frame”不限于不存在中間塊的特定情況。
編碼器和解碼器都是根據基于所估計的運動矢量的當前幀I(x,y)的預測,所估計的運動矢量是在編碼器中通過運動估計來計算的。所估計的運動矢量在編碼器中被用于來構建預測幀P(x,y),基于它,編碼器可計算預測誤差幀E(x,y),即在預測幀P(x,y)和實際幀I(x,y)之間的差別。此外,預測誤差幀E(x,y)和描述當前幀I相對于參考幀R的估計像素位移的估計運動矢量被傳輸給解碼器用于基于運動矢量對當前幀P的預測和基于所傳輸的預測誤差對預測幀的校正,從而構建當前幀I*(x,y)。
為了進一步降低傳輸到解碼器的數據量,編碼器對預測誤差進行壓縮。作為對預測誤差壓縮和對壓縮的預測誤差解壓縮的結果,解壓縮的壓縮預測誤差幀E*(x,y)可能稍微不同于E(x,y)。編碼器考慮到由于所基于的運動估計以及預測幀P(x,y)的計算和預測誤差幀E(x,y)的計算不是基于前面的原始幀,而是基于解碼器以與解碼器進行再建相似的方式再建的前面幀,所造成的稍微的差別。
對于運動估計,再建幀I*或原始幀I都可以采用。
預測誤差幀En(x,y)的壓縮通常是通過將整個幀分離為較少區域和通過為每個區域提供一個適當的壓縮方法來實現的。術語“area”是指在一幀中組成一個空間相鄰的二維塊的一些像素。預測誤差典型都只集中在很少的區域中,然而在剩余區域中,它非常小或為零。因此,壓縮預測誤差數據通常包括兩類信息,即指定被編碼的預測誤差幀的區域的尋址信息,和此外在這些區域中壓縮預測誤差的值。
從Proc.Of 1992 European Conference on Singnalling ProcessingEUSIPCO,P1357-1360,M.Moresco,F.Lavagetto和F.Cocurullo,“視頻編碼的運動自適應矢量量化”中可以了解到一種用于運動自適應視頻編碼的算法,根據它,視頻輸入幀被再分為固定大小的三維(時空的)塊,并根據在每一塊中的運動活動而被分割。根據運動的內容,通過跳越一定數量的幀而在時間上對這些塊進行再抽樣。還未跳越的塊的二維空間的片(slice)被矢量量化和編碼。在接收機處,每一已被傳輸的塊的空間片被解碼,其中間的片被線性內插以再建整個塊。
本發明的目的是改進視頻數據的編碼和解碼,以使得可以實現更高的編碼效率和可以進一步降低編碼視頻數據的比特率。
根據本發明,可以通過一個根據權利要求1對視頻數據進行運動補償編碼的編碼器和進一步通過一個根據權利要求15對運動補償編碼的視頻數據進行解碼的解碼器來實現本目的。此外,本目的還可以通過一個根據權利要求32對視頻數據進行運動補償編碼的方法和通過一個根據權利要求33對運動補償編碼的視頻數據進行解碼的方法來實現。本發明的實施例由從屬權利要求來限定。
根據本發明的第一方面,預測幀的特性和/或運動矢量的特性被用于減少編碼視頻數據的比特率,和用于改進視頻數據的編碼效率。預測誤差集中在視頻場景中運動物體的輪廓邊沿。本發明是基于觀察到預測幀P(x,y)中的結構,即亮度圖案和/或色度像素值,如邊緣和類似物,與運動物體的這些輪廓的位置大致吻合。在本文件中,術語“圖象亮度的不連續性”表示這種預測幀的一般結構。編碼器和解碼器依次知道預測幀P(x,y),同時運動矢量也被傳輸。因此,根據預測幀P(x,y),可以在編碼器和解碼器中判定在預測誤差幀中哪些區域是重要的,并將被分別編碼和解碼,而不須傳輸關于這些預測誤差幀中的區域包容在編碼視頻數據中地址數據。
本發明還基于認識到預測誤差集中在高速運動動作的區域。因此,在編碼器和解碼器中都可以用的運動矢量可被用于判定將被編碼器編碼和將被解碼器解碼的預測誤差幀的重要區域,而不須在編碼視頻數據中包括關于這些預測誤差幀的重要區域的地址數據。
根據本發明的這一方面的一個優選視頻數據編碼方案利用可用于編碼器和解碼器中的預測幀的結構特征,和在編碼器中估計并傳輸到解碼器的運動矢量的特性,以確定將被編碼器編碼的預測誤差幀的區域,和在解碼器中確定包容在編碼視頻數據中的預測幀的區域。
優選的,為了對一幀視頻數據進行編碼,預測誤差幀被分割為多個區域。預測幀以類似于預測誤差幀被分割的方式被分為一些區域,這樣對于預測誤差幀中的每一區域,在預測幀中都存在一個相應的區域。解碼器以類似于編碼器的方式分割預測幀,并將來自所接收的編碼數據的預測誤差幀再存入包含在所接收的編碼數據中的預測誤差幀的每一個相應區域。這些幀可被分割為預定大小和形狀的區域或被分割為大小和形狀可變的區域。將幀分割為區域可以自適應地完成。每一個區域的大小和形狀可以根據局部運動動作和/或根據預測幀的局部結構特征,如根據預測幀的局部不連續性的程度。
優選的,在編碼器已經以一種預定或自適應的方式完成幀的分割之后,編碼器采用一種預定的順序規則(sequence rule)來確定必須被編碼的預測誤差幀的區域。作為這種順序規則的一個例子,對將被編碼的區域,編碼器逐行掃描這些由幀分割所得的區域的排列并對所有將被編碼的區域以它們被發現的順序進行編碼。于是,解碼器可以根據預測幀的分割,根據由預測幀和/或預測誤差幀的區域所依據進行編碼的運動矢量所提取的信息,以及根據所述順序規則來恢復來自所接收的預測誤差數據中的預測誤差幀的每一個相應區域。
另外,根據本發明的第二方面,預測誤差幀的所有區域或所選區域采用自適應編碼方案進行編碼。所選區域可以是根據本發明的第一方面確定為重要的預測誤差幀的區域。自適應編碼方案可考慮到將被編碼的各個預測誤差幀區域的不同特性種類。自適應編碼方案的例子包括根據一些碼本的分類矢量量化方案,每一碼本是為一個所述特性種類設計的,正交變換,匹配追蹤技術(matching pursuit techniques)等,所有這些技術都是本技術領域所公知的。將分類矢量量化方案用于視頻數據的編碼例如在信號處理,Elsevier,卷26,1992,P265,H.-H.-Chen,Y.-S.Chen和W.-H.Hsu所著的“通過矢量量化的低速率順序圖象”或在IEEE關于圖象處理的國際會議ICIP 1994,卷2,P452,K.Zhang,M.Bober和J.Kittle所著的“用于順序壓縮的穩定運動估計和多級矢量量化”和在IEEE關于聲學、語音、信號處理的國際會議ICASSP’94,卷5,P417,S.Liu所著的“塊大小可變的基于VQ的運動補償視頻編解碼的速率失真分析”中可以得知。根據本發明,當將自適應編碼方案,例如分類矢量量化,正交變換,匹配追蹤方案用于對預測誤差幀的區域進行編碼時,可以通過由可用于編碼器和解碼器中的預測幀的特性提取出分類信息(例如編碼方案選擇信息)來實現比特率的減少,這樣編碼視頻數據不須包括分類信息。當采用預測幀的區域的自適應編碼時,兩者擇一的或除了可以由與將被編碼的預測誤差幀的區域相應的預測幀的區域中提取出分類信息以外,運動矢量的特性可用于對預測誤差幀的每一編碼區域進行分類,例如碼本選擇,而不須在編碼視頻數據中包括分類信息。
根據本發明的這一方面,所提取的分類信息可以指示一個用于對預測誤差幀的各個區域進行編碼的特定編碼方法,或可以指示一組不同的編碼方法。根據本發明這一方面的一種有利實施,分類信息被用于為每一個將被編碼的區域在許多區域編碼器中選擇一個區域編碼器,每一個都適合于相應特性種類的特殊特性。每一個區域編碼器順序地具有一組可用的不同編碼方法,視頻編碼器在這組方法中選擇最佳方法并將編碼方法選擇信息發送給視頻解碼器。如果編碼方法選擇信息被熵編碼(entropy encode),則發送給視頻解碼器的編碼方法選擇信息量可利用每一個區域編碼器的編碼方法選擇的非歸一化概率分布而保持很低。如果對于每一個特性種類,即對于每一個區域編碼器,一個或很少數量的編碼方法非常可能被選擇,則當具有較少可能性的編碼方法的選擇可用較多數量比特指示給視頻解碼器時,這些一個或很少數量的編碼方法的選擇可以用較少數量比特指示給視頻解碼器。
在所選視頻編碼器中提供所有編碼方法中的一個特定編碼方法的選擇可以由視頻編碼器根據視頻解碼器不可用的信息,例如根據一個初始視頻數據幀輸入,根據在預測誤差幀的將被編碼的區域中的像素值的各個結構等來實現。于是,視頻解碼器可用于根據可用于視頻解碼器的預測幀的特性和根據由視頻編碼器所傳輸的編碼方法選擇信息來選擇區域編碼器。
本發明的這一方面的實施是有利的,在根據預測幀的特性和/或運動矢量域的特性的分類留下一些關于預測誤差幀的各個將被編碼的區域的特性的不可靠性的情況下,它可以改善視頻編碼器和視頻解碼器的性能。利用本實施,甚至在這些情況下,在很大數量的不同編碼方法中的一個高自適應性和精確的編碼方法也可以很少數量的選擇信息傳送給視頻解碼器。
在考慮每一個區域編碼器的編碼方法選擇概率分布之后,編碼選擇信息最好在發送給視頻解碼器之前進行墑編碼。一個等效的修正在每一個區域編碼器的許多編碼方法中提供一個缺省編碼方法,而視頻編碼器檢查根據分類選擇的區域編碼器的缺省編碼器方法是否滿足于用于對預測誤差幀的各個區域進行編碼的合適標準。如果所選區域編碼器的缺省編碼器方法被發現運作是滿意的,則視頻編碼器不傳輸編碼方法選擇信息給視頻解碼器,而視頻解碼器采用相應于視頻編碼器所采用的缺省編碼方法的缺省解碼方法。否則,視頻編碼器無視該缺省編碼方法而選擇一個適合的編碼方法,并將相應的選擇信息發送給視頻解碼器。
隨后,將參照
本發明的最佳實施例。
圖1為根據本發明的運動補償視頻編碼器的第一實施例的示意圖;圖2為根據本發明的預測誤差編碼器的一個實施例的詳細示意圖;圖3為預測誤差幀的一個區域的例子;圖4為預測幀區域的定向圖案的種類和子類的一些例子;圖5為為根據本發明的第二實施例的視頻編碼器的一個可選區域編碼器;圖6為像素群的例子;
圖7為用于計算像素運動范圍的子塊;圖8為為根據本發明的視頻解碼器的第一實施例;圖9為圖5所示的預測誤差解碼器的詳細示意圖;圖10a圖示說明了區域的一個排列;圖10b圖示說明了預測誤差數據的一個例子;圖11為為根據本發明的第二實施例的一個視頻解碼器的一個可選區域解碼器。
圖1為根據本發明的運動補償視頻編碼器的一個實施例的示意圖。在該圖中,參考標記1表示用于由視頻幀輸入I(x,y)和預測幀P(x,y)之間的差別來計算預測誤差幀E(x,y)的裝置。參考標記2表示預測誤差編碼塊,參考標記3表示預測誤差解碼塊。參考標記5代表用于由預測幀P(x,y)和解碼的預測誤差幀E*(x,y)來計算再建的視頻幀I*(x,y)的計算裝置。參考標記6表示一個用于保存再生的視頻幀I*(x,y)和用于提供運動補償預測器7所用于計算預測幀的參考幀R(x,y)的幀存儲器。8表示用于估計運動矢量和提供運動矢量給MC預測塊7的運動估計器。4表示用于接收由預測誤差編碼器2所輸出的預測誤差數據和運動估計器8所輸出的運動矢量和用于多路復用預測誤差數據和運動矢量以傳輸給一個解碼器的多路復用器。
本發明的預測誤差編碼塊2不僅被用于接收裝置1所輸出的預測誤差幀E(x,y),還被用于接收預測幀P(x,y)和運動估計器8所估計的運動矢量。此外,預測誤差解碼塊3不僅接收預測誤差編碼塊2所輸出的預測誤差數據,還接收預測幀P(x,y)和運動估計器8所估計的運動矢量。圖1的視頻編碼器運作如下。對于每一幀輸入的視頻數據I(x,y),編碼器都預測一個預測幀P(x,y),并比較預測幀P(x,y)和實際輸入的視頻幀I(x,y)。這一比較由計算裝置1來完成。于是,預測誤差幀E(x,y)被提供給塊2和經過預測誤差編碼以產生壓縮的預測誤差數據,并傳輸給解碼器。對預測誤差幀E(x,y)的壓縮可能導致一些信息的丟失。在考慮到視頻解碼器(圖1中未示)是由視頻編碼器接收壓縮的預測誤差數據,而不是預測誤差幀E(x,y),則視頻解碼器將使對實際視頻幀的預測不是基于預測誤差幀E(x,y),而是基于由對壓縮預測誤差數據解碼而得的再生的預測誤差幀E*(x,y)。為了避免在編碼器和解碼器中的預測幀P(x,y)之間的偏差,視頻編碼器以與視頻解碼器獲得再生預測誤差幀E*(x,y)相同的方式對預測誤差編碼器2所輸出的預測誤差數據進行編碼,并且預測不是基于實際視頻數據幀I(x,y),而是基于對應于視頻數據幀的再建視頻數據幀I*(x,y)完成的,該視頻數據幀可以由視頻解碼器根據塊2所輸出的預測誤差數據再建。
運動估計器8分析來自輸入視頻數據I(x,y)的一個順序的場景運動,并估計描繪在后來的視頻幀中每一個像素的位移的運動矢量。這些估計的位移可被MC預測器7用于根據所估計的位移修正當前再建視頻幀I*(x,y)以到達下一幀I(x,y)的預測幀P(x,y)。
預測誤差編碼和解碼以及根據運動估計產生一個預測幀是本技術領域所公知的。許多關于運動估計和運動補償的文獻已被公布。這些主題的細節是很容易得知的,因此沒有必要詳細討論這些與本發明沒有直接聯系的問題。
預測誤差編碼器2通過將預測誤差幀分割為多個區域來對預測誤差幀E(x,y)進行編碼。此外,預測誤差編碼器2接收和分析預測幀P(x,y),如圖1中各自的虛線所示。另外,預測誤差編碼器2接收關于由運動估計器8所估計的運動矢量的信息,如圖1中各自的虛線所示。由此,預測誤差編碼器2處于一個判定預測誤差幀E(x,y)的哪些區域必須被編碼,預測誤差幀的哪些區域不包含重要的信息和不須傳輸給解碼器的位置。預測誤差編碼器2根據對預測幀的特性的分析,和根據對所估計的運動矢量的分析來完成這一判定,預測幀和運動矢量在接收編碼視頻數據的解碼器中也都可用。本發明的預測誤差編碼器2利用在預測誤差幀E(x,y)中的重要信息集中在視頻場景中運動的物體的輪廓邊沿。當解碼器不知道運動物體的精確輪廓時,可用于編碼器和解碼器中的預測幀P(x,y)的結構特征,例如圖象亮度的不連續性、邊緣和類似物,與這些輪廓的位置大致吻合。因此,預測誤差編碼器可以由預測幀P(x,y)的結構特征判定預測誤差幀的重要區域的大致位置。除了根據預測幀P(x,y)的結構特征判定預測誤差幀的重要區域之外,預測誤差編碼器2的這一實施例逐幀地分析了描述由于在場景中的運動引起的每一像素位移的運動矢量的特性,以判定將被傳輸給解碼器的預測誤差幀的重要區域。如果重要區域的判定是基于預測幀的結構特征,例如邊緣和不連續性,和基于運動矢量,則預測誤差幀的那些區域可以判定哪些描述了運動物體的輪廓的運動。可選地,預測誤差幀的重要區域的這些判定可以基于預測幀的結構特征,或基于運動矢量。在這些較不優選的例子中,仍可能判定預測誤差幀的一些不重要區域。
此外,本發明的預測誤差編碼器2還對預測誤差幀E(x,y)的每一區域采用一個自適應編碼方案以判定是否重要。根據結構特征的種類,例如預測幀P(x,y)的輪廓方向來為每一個區域選擇各自的編碼方案。因為預測幀P(x,y)在視頻編碼器和視頻解碼器中都可用,所以根據這些特性選擇一個適應的編碼方案是有利的,即使在編碼預測誤差數據中未包含另外的選擇信息時,視頻解碼器仍能為每一個將被編碼的區域選擇一個與視頻編碼器所選擇的各自的編碼方案匹配的適當的解碼方案。
因此,本發明的預測誤差編碼器2通過使用用于判定預測誤差幀En(x,y)的將被編碼的重要區域和用于為預測誤差幀E(x,y)的每一重要區域選擇一個適應的編碼方案的信息來利用了在視頻編碼器和視頻解碼器中的預測幀Pn(x,y)和運動矢量的可用性,而不須傳輸關于預測誤差幀E(x,y)的重要區域的位置的地址信息或關于所選擇的編碼方案的信息。圖1中的預測誤差解碼器3是有利的,但對于原理原因而言不是必需的。如果用于壓縮預測誤差幀E(x,y)的重要區域的編碼方案導致了一些信息丟失,通過使運動矢量的估計和視頻幀的預測不是基于實際輸入幀,而是基于由一個與視頻解碼器所執行的解碼操作相同的解碼操作所得的再生視頻幀I*(x,y),這些丟失的信息的一部分可以再傳輸給視頻解碼器。這一原理是本技術領域所公知的,因此,這里將省略預測誤差解碼器3的重要性的進一步討論。在看到圖1的預測誤差解碼器3與視頻解碼器中相應的預測誤差塊的相似性,隨后在根據本發明的視頻解碼器的一個實施例的描述背景中將給出預測誤差解碼器3的結構性解釋和運作細節。
多路復用器4是一個用于將由預測誤差編碼器2輸出的預測誤差編碼數據和由運動估計器8輸出的運動矢量數據多路復用的可選性部件。如果預測誤差數據和運動矢量的各自傳輸信道可用,則可以省略多路復用器4。
圖2為根據本發明的預測誤差編碼器的一個實施例的詳細示意圖。在圖2中,21表示一個用于將預測幀P(x,y)分割為多個區域的塊。22表示一個用于分析在預測幀P(x,y)的每一個區域中的空間不連續性的塊。在這個不限制本發明范圍的特定實施例中,該塊包括對由P(x,y)的幀分割所產生的每個區域進行濾波操作的定向高通濾波器。用于實施塊22的另一個選擇包括邊緣檢測算法或對圖象亮度值賦值的算法。塊24被用于根據預測幀P(x,y)的分割將該預測誤差幀E(x,y)分割為多個區域。
塊25代表為由分割預測誤差幀En(x,y)所得的每個區域決定該區域是否重要區域和將被編碼,或該預測誤差幀E的區域是否不是重要區域和因此將不被編碼的判定裝置。為了判定每個區域的重要性,塊25接收塊22中的定向高通濾波器的輸出,此外還接收與將被判斷和確定重要性的各個區域相應的運動矢量。塊25將每一塊中濾波器輸入的絕對值相加,并將所得的和與第一預定閾值相比較。由此,塊25可以判定預測幀P的各個區域是否具有不連續性的重要程度。此外,塊25計算各個區域的運動矢量的幅度,并將運動矢量的最大幅度與第二閾值相比較以判定在該幀的各個區域中的運動動作是否重要。如果發現不連續性程度和運動動作都為重要,則塊25判定該相應區域為重要,如果如果發現不連續性程度不重要或運動動作不重要,則塊25判定該相應區域為不重要。
此外,塊25將一個預定的順序規則(sequence rule)用于將預測誤差幀E的重要區域輸出給塊26,以進行壓縮和傳送給視頻解碼器(本圖中未示)。特別地,在給特定實施例中,塊25將由塊21的分割操作所產生的所有區域排列為區域的一個排列,并逐行掃描這一排列以發現重要區域。然后,每個被發現的重要區域隨即被輸出到塊26。由此,視頻解碼器可以對所接收的預測誤差幀的區域定位,而不須接收關于相應位置的信息,這在隨后將進行解釋。預測幀P的幀分割是由塊21以與塊24分割預測誤差幀E相同的方式進行的,這樣預測誤差幀E的每一個區域的重要性判定是基于該區域中預測幀的特性。換句話說,塊21和塊24所執行的幀分割是以這樣一種方式進行的,使得預測誤差幀和預測幀的相應區域包括相同的一組像素坐標(x,y)。該預測幀P和預測誤差幀E被分割為具有相同塊大小,例如4×4像素或8×8像素,的區域。應注意的是,分割可以依照預定的圖案或可以基于分為不規則形狀區域的預定圖象的分裂(segmentation)。在這些編碼器提供描述當前編碼幀分裂為任意形狀區域的信息給解碼器的方案中,前述的分割可以基于這一分裂。
參考標記26表示一個用于對預測誤差幀E將被編碼的每個區域,即塊25判定為重要的每個區域,進行壓縮和編碼。自適應區域編碼器26包括一個分類塊23,在本特定實施例中不限制本發明范圍的該分類塊將預測幀的每個重要區域分類為一個種類無連續性;水平連續性;垂直連續性;左對角斜線連續性;右對角斜線連續性;不定向連續性。關于預測幀E的每個區域的分類是基于預測幀P的各個區域的定向特性而進行的,這些特性在塊22中通過不連續性分析器進行分析和提取。參考標記28表示一個用于根據預測幀E的各個區域的分類選擇在許多可選區域編碼器271,…,27n中一個區域編碼器,用以對預測誤差幀E的各個區域進行編碼。29表示用于選擇所選區域編碼器的輸出和用于將所選區域的輸出與視頻編碼器的輸出相連接以傳輸到視頻解碼器的選擇器。
圖3顯示了預測幀Pn的一個區域,為了圖示說明圖2中定向高通濾波器的運作。圖3中所打點的每個塊代表在預測幀P的預測區域中的一個像素。P(x,y)代表像素坐標為(x,y)的各個像素的亮度值。
圖2中的塊22在每個分割塊中通過對每個像素坐標(x,y)將在預定方向,關于像素坐標(x,y)彼此相對的相鄰像素的亮度值相減來提取出不連續性信息。特殊地,塊22包括為相應區域的每個像素位置計算在位置(x,y+1)的一個垂直相鄰像素的亮度值P(x,y+1)與對于位置(x,y)與在位置(x,y+1)處的所述像素相對的另一個垂直相鄰像素位置(x,y-1)的亮度值P(x,y-1)之間的差別FH(x,y)的水平高通濾波器。此外,塊22包括為每個像素位置計算在位置(x+1,y)的一個水平相鄰像素的亮度值P(x+1,y)與,關于位置(x,y)與位置(x+1,y)處的所述像素相對的另一個水平相鄰像素位置(x-1,y)的亮度值P(x-1,y)之間的差別FV(x,y)的垂直高通濾波器。
所產生的水平和垂直差別FH(x,y)和FV(x,y)分別代表每個像素位置(x,y)在垂直和水平方向上的空間不連續性。
塊22將預測幀P的各個區域的每個像素的水平和垂直不連續性值FH(x,y)和FV(x,y)提供給塊25,塊25通過將相應區域中所有FH(x,y)和FV(x,y)的絕對值相加以判斷在相應區域中發現的不連續性的重要性。如果所得的和大于預定的閾值,則塊25判定預測幀P的相應區域包含相當顯著的不連續性,否則判定預測幀P的相應區域未包含相當顯著的不連續性。
圖2中的分類器23接收由定向高通濾波器22輸出的平和垂直不連續性值FH(x,y)和FV(x,y),并將這些值用于所討論的每個區域,以根據在該區域中不連續性的結構,將該區域分為六個不同類別中的一個類別。圖4顯示了類別a到f中每一種類別的典型代表。如果預測幀的一個區域未顯示出任何顯著的不連續性,則該預測幀的該區域被分類屬于類別a,因為在這一區域中,亮度值是逐漸變化的,或就沒有變化。一個類別b的典型代表是顯示有水平方向的不連續性的一個區域,例如一個水平邊緣。類別c代表顯示有垂直方向的不連續性的一個區域,例如垂直邊緣。類別d和e代表具有對角方向不連續性的區域,例如對角邊緣。類別d揭示了右對角斜線的不連續性,而類別e覆蓋了左對角斜線的不連續性。最后,類別f的典型代表是一個包含非定向連續性的預測幀的一個區域,例如紋理。
定向不連續性類別b到e中每一個都可以根據該區域中相應不連續性的位置進一步再分為一些子類別。舉類別b為例,第一子類別b1覆蓋了在該區域的上半部分中水平不連續性,而子類別b2覆蓋了在該區域的中間部分中水平不連續性。子類別b3覆蓋了位于該區域的下班部分中的水平不連續性。
相似的,對于類別c、d和e,這些類別的再分分別根據不連續性的垂直和對角位置,由圖4明顯可見。應注意的是,類別數量當然可以,例如根據可選區域編碼器271至27n和用于預測幀區域壓縮的相應方法的數量而改變。同樣,許多不同的算法也可以用于根據在該區域的濾波器輸出值來對每一區域進行分類。這些算法的例子例如可由M.K.Jain,Prentice Hall International 1989,pp.347-357的“數字圖象處理的基本原理”中可以得知。
根據圖2中塊25所判定的預測幀P每一區域的重要性的類別,于是,分類器23在可選區域編碼器271至27n中選擇一個適當的區域編碼器,例如一個適當的矢量量化器,用于對預測誤差幀E的所討論區域進行自適應編碼。在此特殊的實施例中,對于每一個類別或子類別,提供了適應于各個類別或子類別的成員的特定統計特性的專用矢量量化器。就此而言,矢量量化器對于具有一些信息損失的壓縮信號也是已有技術。矢量量化器VQ1…VQn中每一個矢量量化器用在屬于這個特定矢量量化器的碼本中所發現的最佳近似值來代替預測誤差幀En的一個區域。所述碼本是最可能在相應類別或子類別中產生的一組很少代表,矢量量化器輸出一個系數給在屬于這個特定矢量量化器的碼本中的最佳匹配碼矢量是足夠的。
根據本發明,預測誤差幀的區域的分類是基于相應的預測幀區域。該預測幀在視頻解碼器中也可用,這樣編碼視頻數據中不必包含分類信息。而是,該分類信息可以由視頻解碼器通過執行與編碼器所執行的分類操作相類似的分類操作來提取出。
這里應注意的是,預測誤差幀區域的其他壓縮方法可以采用,例如正交變換技術(DCT,KLT)或匹配追蹤技術。
隨后將討論根據本發明的運動補償視頻編碼器的另一個實施例。本實施例與上述視頻編碼器的第一實施例相類似,除了下列部分。
圖5顯示了適用于根據本發明的視頻編碼器的第二實施例中的可選區域編碼器271至27n中的每一個的一個實施例。如圖5所示,根據本發明,可選區域編碼器271至27n中的每一個包括多個用于執行多個不同編碼方法的編碼器531至53k。可選區域編碼器271至27n中的每一個另外還包括一個用于在多個相應的編碼器531至53k中選擇一個根據一個適當標準最適合的編碼器以對預測誤差幀的一個相應區域進行編碼。根據本特定實施例的選擇控制器51不限制本發明判定的范圍,其中可用于由分類器23所選的可選區域編碼器的編碼方法使的對預測誤差幀E的相應區域可以最低編碼誤差進行編碼。為此,選擇控制器51接收預測誤差幀E以便可以訪問由分類器23所選的可選區域編碼器的可用編碼器531至53k中每一個所引起的編碼誤差。如果選擇控制器51發現編碼器531至53k中有多于一個的編碼器表現滿意,選擇控制器51在這些編碼器中選擇以最低比特數量實現令人滿意的性能的編碼器。選擇控制器51輸出選擇信息給選擇器54以驅動所選的編碼器對預測誤差幀的將被編碼的相應區域進行編碼。此外,選擇控制器51輸出的選擇信息被提供給墑編碼器52,用于對選擇信息進行墑編碼。此外,選擇信息控制選擇器55以將編碼器531至53k中所選的一個編碼器一多路復用器56的一個輸入端相連以將墑編碼的選擇信息和所選編碼器輸出的壓縮預測誤差數據多路復用。多路復用器56的輸出是可選區域編碼器271至27n的一個相應編碼器的輸出。
在根據本發明的視頻編碼器的該實施例中,圖2所示的分類器23基于在預測幀的與將被編碼的預測誤差幀的各自區域相應的每個區域中的圖象亮度的變化來對預測幀P的正方形區域進行分類。在本特定實施例中,圖象亮度值的變化量由不連續性分析器22如下計算varb=Σi=0M-1Σj=0M-1[p(i,j)-q]2-----(1)]]>其中p(x,y)是在預測幀的各個區域的坐標(i,j)處的像素的亮度值,M是在正方形區域的每行和每列的像素數量,而q是在各個預測幀區域中像素的亮度值的平均值。
于是,不連續性分析器22為在預測幀各個區域中的多個預定像素群計算一個群運動量(cluster activity measure)CAM。每個像素群對應于一個特定的類別,該特定類別可由分類器23來區別。圖6以舉例的方式顯示了相應于13個可由分類器23區別的不同特性類別的13個不同像素群。屬于群1至13的相應群的像素在圖6中以陰影顯示。
在每一個群中,群運動量CAM在本特定實施例中計算如下對于在相應區域中位置(i,j)處的每一個像素,通過分析四個包含像素(i,j)的2×2像素子塊來計算像素運動量pam(i,j)。圖7中顯示了對于像素(i,j)的這些子塊的位置。于是,計算在每個子塊中的像素值的變化。這些變化用varlu,varru,varll和varrl來代表。如果一個子塊像素在該相應區域的外部,即當位置(i,j)是該區域的邊界像素時,則該子塊的變化被認為為0。則在該位置(i,j)的像素運動量為pam(i,j)=max(varlu,varll,vartu,varrl)(2)
對于每一群(a),該群運動量cam(a)可計算如下cam(a)=w(a)Σ(i,j)∈Capam(i,j)-----(3)]]>在該式中,Ca代表在群a中所有像素的像素運動量的和與群a的歸一化因子w(a)的乘積。對于圖6所示的群a=1至a=13,w(a)的值可以選擇如下
在本特定實施例中,分類器23區別14個類別,而每一個將被編碼的區域依照這14個類別中的一個,根據在預測幀的各個區域中的圖象亮度的主要不連續性的位置進行分類。13個類別分別對應于圖6所示的13個群中的一個。圖6中未顯示第14個類別,它是被分配給未包含任何顯著的不連續性的區域。
相應于將被編碼的預測誤差幀的一個區域的預測幀的區域的分類的操作可以如下所述地進行。如果根據式(1)計算的區域的變化小于預定閾值,則該區域被認為不包含顯著的不連續性,而分類器23將類別14分配給該區域。另一方面,如果如果根據式(1)計算的區域的變化大于所述預定閾值,則群a被發現,它的群運動量can(a)是最高的,指示主要不連續性在群a中,而分類器23將類別a分配給該區域。根據該分類,分類器23選擇可選區域編碼器271至27n中與該類別相應的一個區域編碼器。
根據該特定實施例,可選區域編碼器271至27n中的每一個包括一組13個編碼器的一個子集編碼器531至53k,該13個編碼器中每一個適用于圖6所示的13個像素群。特殊地,該13個編碼器中每一個適用于在其相關的像素群上執行二維離散余弦變換。每個可選區域編碼器271至27n的多個編碼器531至53k包括適用于相應可選區域編碼器的類別的相應編碼器,還包括適用于與相應可選區域編碼器相關的類別的編碼器。對于每一類別,所有其他可選區域編碼器包括一組相同的編碼器531至53k。通常,對于一個特定類別,如果一個區域分入一個不同類別的概率大于分入相應類別的概率,不可以忽略的,則該不同類別是相關的類別。在該特定實施例中,已發現與類別1相關的類別是類別7,9和13。與類別7相關的類別是類別1,4和13。與類別11相關的類別是類別11和13。與類別13相關的類別是其他所有類別。其他所有類別的相關類別直接的遵循對稱性考慮。
根據本發明的視頻編碼器的該實施例利用一個不是與由分類器23所確定類別相對應的編碼器的編碼器比相應于該類別的編碼器運作更好的概率非常低,同時相應于該類別的編碼器運作性能最好的概率很高這一事實,這樣傳輸給視頻解碼器的編碼方法選擇信息量很低,并可以只用很少的比特數來表示。對該選擇信息進行編碼是由墑編碼器52基于每個可選區域編碼器的相應選擇概率以一種公知的方法執行的。
一般地,在考慮到基于相應預測幀區域的預測誤差幀的分類中所包含的不確定性后,選擇相關的類別。應注意的是,當在本實施例中,每個相關類別相應于一個可選區域編碼器的類別時,存在提供其他相關類別的概率。例如,一個特定的類別可以具有與其他任何類別不同的相關類別。
圖8顯示了根據本發明的視頻解碼器的第一實施例。該視頻解碼器適用于以和視頻編碼器相同的方式產生一個預測幀P。此外,該視頻解碼器從由視頻編碼器所用來對預測誤差幀編碼的預測幀P中提取出相同的信息,并將該提取的信息用于對所接收的信息解碼和用于再生預測誤差幀E*。
特殊地,圖8的解碼器包括一個用于接收來自視頻編碼器的編碼視頻數據和用于對所接收的數據解復用為預測誤差數據和運動矢量的解復用器(demultiplexer)。塊32表示一個用于接收解復用的預測誤差數據和用于由所接收的編碼預測誤差數據再生預測誤差幀E*的預測誤差解碼器。33表示用于由預測幀P(x,y)和再生的預測誤差幀E*計算再生的視頻幀I*的計算裝置。該再生的視頻幀I*保存在幀存儲器34中,并進而由視頻解碼器作為解碼視頻數據輸出。35表示用于由保存于幀存儲器34中用作參考幀R和基于所接收的來自視頻編碼器的,和描述在當前幀I中的估計像素位移的運動矢量構建預測幀P的運動補償預測器。MC預測器35使用參考幀R和這些估計的像素位移來獲得預測幀P(x,y)。
預測誤差解碼器32不僅接收編碼的由視頻編碼器發送的預測誤差數據,還接收來自MC預測器35的預測幀P和由視頻編碼器發送的運動矢量,并基于預測幀P和基于運動矢量來執行預測誤差的解碼。這可以由圖8中的虛線表示。
基于預測幀P和基于運動矢量,預測誤差解碼器32處于這樣一種位置,利用了在預測誤差幀E中的顯著的誤差大致集中處于運動動作明顯位置的預測幀的輪廓邊沿,并基于視頻編碼器的只有預測誤差幀的這種明顯區域被編碼的特性來判定預測誤差幀E的哪個區域由視頻編碼器傳輸。因為MC預測35所產生的預測幀P對應于在視頻編碼器中由MC預測器7所產生預測幀P,根據本發明的這一實施例的該視頻解碼器可以執行預測誤差解碼,而不須接收關于預測誤差幀的重要區域的位置的信息。額外地或可選擇地,預測誤差解碼器32可以執行自適應解碼,而不須提取出關于每個編碼的預測誤差幀的信息,因為解碼器可以以與視頻編碼器將預測幀P用于對預測誤差幀的將被編碼的區域進行分類相同的方式從預測幀P中提取出這一信息。
圖9顯示圖8的預測誤差編碼器32的詳細示意圖。在圖9中,41表示一個用于將由MC預測器35所提供的預測幀P分割為多個區域的裝置。預測幀的分割以與在視頻編碼器中相同的方式進行。換句話說,幀分割裝置41完全對應于在圖1的預測誤差編碼器中的幀分割裝置21的功能。
參考標記42表示一個不連續性分析器,其功能對應于在視頻編碼器中提供的不連續性分析器22的功能,關于塊22的相應的解釋也適合于塊42,因此這里就不在重復。圖9中的塊44表示用于判定預測誤差幀中的哪些區域已被視頻編碼器編碼并包含在壓縮的預測誤差數據中。為此,判定裝置44執行一個類似于圖2中塊25所執行的重要區域的判斷與決定的操作。如果視頻解碼器被設計用于與上述的視頻編碼器的第一實施例一起運作,則對于塊41所提供的預測幀Pn的每一區域的每一像素位置(x,y),塊44接收由不連續性分析器42輸出的水平和垂直差別FV(x,y)和FH(x,y),并通過將在各個區域的所有位置(x,y)處的FV(x,y)和FH(x,y)的絕對值相加來判斷在每個區域中所發現的不連續性的程度。根據圖2中的塊25所實施的判斷,如果所得的和大于與塊25所采用的預定閾值相對應的預定閾值,塊44判定預測幀P的相應區域包含顯著的不連續性。否則塊44判定該相應區域未包含顯著的不連續性。
此外,塊44還接收視頻編碼器所傳輸運動矢量。基于此,塊44通過計算相應區域的運動矢量的幅度并將最大幅度與和圖2中的塊25對于相應操作所采用的所述第二閾值相對應的閾值相比較來判斷每個區域的運動動作量。塊25基于塊25所采用的相同的標準來判定該預測幀Pn的一個區域是否重要,即如果在該區域中不連續性的程度和運動動作量都被發現為顯著,則塊25判定該相應的區域為重要。
塊44將一個預定的順序規則應用于將所接收的預測誤差數據的各部分分配給相應的區域,該規則對應于在視頻編碼器中塊25所用于輸出預測誤差幀的重要區域的預定順序規則。特殊地是,在該特定實施例中,塊44以與在視頻編碼器中塊25排列區域相似的方式將塊425執行的分割操作所得的所有區域排列為區域的一個組合,并逐行掃描該區域組合以尋找重要的區域。對應于預測誤差幀的一個區域的每一個所接收的預測誤差數據的部分被分配給重要區域,所述區域排列中的順序對應于接收相應部分的順序。這種操作的一個例子如圖10a和10b所示。圖10a在視頻編碼器中塊21和在視頻解碼器中塊41所執行的分割操作產生的區域的組合105。該組合包括四列0-3和四行0-3。該組合105中陰影部分代表重要區域,而非陰影部分為不重要區域。
圖10顯示了從視頻編碼器接收的一個預測誤差數據流。該數據流由部分101至104構成,每一部分包括預測誤差幀的相應區域的預測誤差數據。在本例子中,塊44在組合105上進行的逐行掃描操作導致了重要組合的隨后的順序(0,1);(1,2);(2,3);(3,2)。該順序對應于在預測誤差數據中的各部分的順序。基于這些相應的順序,塊44可以將預測誤差數據的每個接收的部分101至104分配給它的相應區域。T表示時間軸。
圖9中參考標記43表示接收由塊42輸出的不連續性信息的分類器。在此實施例中,分類器43接收由定向高通濾波器42輸出的垂直和水平不連續性值FV(x,y)和FH(x,y)方法,并執行與在視頻編碼器中所提供的分類器23所執行的類似操作。因此,關于塊43以與塊23所執行的分類操作類似的方式執行的分類操作的解釋在此就不再重復。
參考標記45表示一個由分類器43所控制的選擇器,用于根據分類器所判定的特性類別為由塊44輸出的壓縮預測誤差數據的每一部分選擇一個適當的解碼器。由此,自適應區域解碼器48可以根據預測幀Pn的各個區域的類別執行一個與在視頻編碼器中塊26所執行的編碼操作相逆轉的操作。圖9中自適應區域解碼器48的每個可選區域解碼器471至47n對應于視頻編碼器中可選區域編碼器271至27n中的一個。如果采用矢量量化器,它包括一個適應于將被每個區域解碼器471至47n解碼的區域類別的碼本,而每個區域解碼器471至47n適應于在其輸入端接收一個給其碼本的索引(index),該碼本與相應的區域編碼器所用的碼本是相同的,并由對應于所接收索引的碼本讀出矢量。當然,除了矢量量化或作為可選擇的,該預測誤差編碼器和解碼器可以合并其他的自適應預測誤差編碼和解碼方案,例如正交變換(DCT,KLT)或匹配追蹤技術。
參考標記46表示用于將所選擇的區域解碼器的輸出與預測誤差解碼器32的輸出相連。于是,每個解碼區域可在塊44判定各個區域為重要的位置處被寫入一個預測誤差幀存儲器(圖中為顯示),從而再保存預測誤差幀E*(x,y)。
圖11顯示了根據本發明的第二實施例的視頻解碼器的一個可選區域解碼器。根據第二實施例的視頻解碼器適應于與上述根據第二實施例的視頻編碼器一起使用。根據第二實施例的該視頻解碼器與根據第一實施例的視頻解碼器類似,除了根據第二實施例的圖9中的不連續性分析器42和分類器43操作分別類似于根據第二實施例的視頻編碼器的不連續性分析器22和分類器23,這樣,這些決的結構和操作的描述再次就不再作重復說明。此外,圖11所示的根據第二實施例的視頻解碼器中的可選區域解碼器471至47n不同于第一實施例中的可選區域解碼器。
如圖11所示,根據第二實施例的視頻解碼器中的每一個可選區域解碼器471至47n包括一個用于對接收的來自第二實施例的視頻編碼器的壓縮預測誤差數據進行解復用為編碼預測誤差數據和熵編碼方法選擇信息。參考標記62表示接收熵編碼方法選擇信息的熵解碼器。參考標記631至63k表示其中每個都與在相應于各個可選區域解碼器的可選區域編碼器中的編碼器531至53k中的一個相對應的多個解碼器。參考標記64和65表示由熵解碼器62的輸出控制的選擇器,用于提供編碼預測誤差數據給多個解碼器631至63k中的一個所選解碼器,和用于將所選解碼器的輸出與相應的可選區域解碼器的輸出相連。
根據本發明的用于視頻數據的編碼器和解碼器和根據本發明的用于對視頻數據編碼和解碼的方法可以有利地用于各種廣泛的應用領域。其中的一個應用領域是一個用于傳輸視頻數據的系統,該系統包括一個根據本發明的編碼器,用于傳輸編碼視頻數據的裝置,和一個根據本發明的用于接收所傳輸視頻數據并輸出解碼的視頻數據的解碼器。
另一個有利的應用是一個用于保存視頻數據,該系統包括根據本發明用于對視頻數據編碼的編碼器,用于保存編碼視頻數據的裝置,和用于從所述存儲裝置提取出編碼視頻數據和用于解碼和輸出所述提取出的視頻數據。
有利地,本發明也可與將被編碼的幀的不同區域的不同編碼方式合并使用。如果一幀的一些區域經過幀內編碼而該幀的其他區域經過運動補償編碼,則本發明可用于這些運動補償編碼區域,和術語“一個視頻幀的運動補償編碼”不應理解為限定為該幀的所有區域都是MC編碼的情況。
本技術領域的技術人員應該清楚,本發明可以是在視頻編解碼器中的一個或更多編碼方式的基礎,其中它可以與現有技術中的編碼方式一起使用。當編碼區域和編碼方案的確定不產生所希望的結果時,編碼器可以決定使用一個現有技術的方式。例如,編碼器可以推翻編碼區域的選擇和編碼方案的選擇,并將此決定傳輸給該解碼器。這可能需要使用別的方式不需要的功能,但它可以判斷隨后發生的編碼決定是否明顯更好。
權利要求
1.一種用于對視頻數據進行運動補償編碼的編碼器,包括-用于估計描述視頻幀像素的場景位移的運動矢量的裝置(8);-用于基于第一視頻數據幀(R)和所述運動矢量來預測一個視頻數據幀(P)的裝置(7);-用于基于所述預測的視頻數據幀(P)和第二視頻數據幀(I)來計算預測誤差幀(E)的裝置(1);-用于對所述預測誤差幀(E)編碼,并獲得預測誤差數據的裝置(2);-用于將所述運動矢量和所述預測誤差數據傳輸給解碼器的裝置(4);-所述用于對所述預測誤差幀(E)編碼的裝置(2)包括-用于將所述預測誤差幀分割為多個區域的裝置(24);和-用于執行至少一個下列操作的判定裝置判定在所述預測誤差幀(E)中的區域將被編碼和判定對于每個區域至少一種編碼方法被用于對所述預測誤差幀(E)編碼;和-用于根據所述判定裝置的至少一個判定操作對所述預測誤差幀(E)進行編碼的區域編碼裝置(26);-其中所述判定裝置適用于分析所述預測視頻數據幀(p)的特性和基于所述分析執行至少一個判定操作。
2.根據權利要求1的編碼器,其特征在于,-所述判定裝置包括用于對于所述預測誤差幀的每一區域分析在預測視頻數據幀(P)的相應區域中圖象亮度的不連續性的裝置(22);和-所述判定裝置(2)適用于基于所述不連續性的分析執行所述至少一個判定操作。
3.根據權利要求2的編碼器,其特征在于,所述不連續性分析裝置(22)包括-用于在預測視頻數據幀(P)的每一區域中計算在垂直方向的有限差別(FH)的線性濾波器和計算在水平方向的有限差別(FV)的線性濾波器;和-用于將在每一區域中的兩個濾波器的輸出的絕對值的和與第一預定閾值相比較的裝置;-所述判定裝置適用于判定預測誤差幀(E)的一個區域不被編碼,如果對所述預測視頻數據幀(P)的相應區域計算絕對值的和未超出所述第一預定閾值。
4.根據前面任何一個權利要求的編碼器,其特征在于,-所述區域編碼裝置(26)包括用于對每個被判定將被編碼的區域分別從多個不同區域編碼器(271,…,27n)中選擇一個區域編碼器的選擇裝置(28,29)。
5.根據權利要求4的編碼器,其特征在于,-所述判定裝置包括用于根據所述預測視頻數據幀(P)的相應區域的亮度不連續性,將一組特性類別中的一個類別分配給所述預測誤差幀(E)的每個將被編碼的區域的分類裝置(23);-所述選擇裝置(28,29)適用于根據各個區域所分配的類別,對每個將被編碼的區域選擇一個區域編碼器(271,…,27n)。
6.根據權利要求5的編碼器,其特征在于,所述分類裝置(23)適用于基于用于在與所述預測誤差幀(E)的將被編碼的區域相對應的預測視頻數據幀(P)的每一區域中計算在垂直方向的有限差別(FH)和計算在水平方向的有限差別(FV)的線性濾波器(22)所提供的輸出值來進行分類。
7.根據權利要求5的編碼器,其特征在于,所述分類裝置(23)適用于基于集中在該預測視頻數據幀(P)的每一區域的不同像素群中的相應像素亮度不連續性來進行分類,該該預測視頻數據幀(P)的每一區域對應于所述預測誤差幀(E)的將被編碼的一個區域。
8.根據權利要求6或7的編碼器,其特征在于,-所述一組類別包括下列類別中的至少一個無不連續性;水平方向不連續性;垂直方向不連續性;左對角斜線方向不連續性;右對角斜線方向不連續性;非定向不連續性。
9.根據前面任何權利要求的編碼器,其特征在于,-所述區域編碼裝置(26)適用于通過所選擇的正交變換或矢量量化或匹配追蹤方案對所述預測誤差幀(E)的將被編碼的每一區域進行編碼。
10.根據前面任何權利要求的編碼器,其特征在于,-每一個區域編碼器(271,…27n)適用于包括多個編碼方法(531至53k);-提供給每個區域編碼器(271,…27n)用于根據與編碼方法的性能有關的標準從相應的多個編碼方法(531至53k)中選擇一個編碼方法的編碼方法選擇裝置(51,54,56);
11.根據權利要求11的編碼器,其特征在于,所述多個編碼方法(531至53k)對于不同區域編碼器(271,…27n)是不同的;
12.根據權利要求1至11中任何一個的編碼器,其特征在于,-用于對所述預測誤差幀(E)進行解碼的預測誤差解碼器(3);和-用于基于所述預測視頻數據幀(P)和所述解碼預測誤差幀(E*)計算第一視頻數據幀的裝置(5)。
13.根據前面任何權利要求的編碼器,其特征在于,-所述判定裝置(25)包括為所述預測視頻數據幀(P)的每一區域計算幅度和/或對應運動矢量的方向的裝置;-所述判定裝置(25)適用于基于所計算的幅度和/或所述運動矢量的方向來執行所述判定。
14.根據權利要求13的編碼器,其特征在于,-所述判定裝置適用于判定預測誤差幀(E)的一個區域不被編碼,如果與該區域對應的所述計算的運動矢量幅度未超過第二預定閾值。
15.用于對運動補償編碼視頻數據進行解碼的解碼器,包括-用于保存一個視頻數據幀(R)的裝置(34);-用于基于所述視頻數據幀(R)和基于所接收的運動矢量數據來預測一個視頻數據幀(P)的裝置(35);-用于對所接收的預測誤差數據解碼和獲得一個預測誤差幀(E*)的裝置(32);和-用于基于所述視頻數據幀(P)和所述解碼的預測誤差幀(E*)來計算和輸出一個更新的視頻數據幀(I*),并將此更新的視頻數據幀(I*)保存在所述存儲裝置中的裝置(33);-用于對所述接收的預測誤差數據解碼的所述裝置(32)包括-用于執行下列至少一項操作的判定裝置判定所述預測誤差幀(E)的已編碼并包含在所接收的預測誤差數據中的區域和對每個已編碼并包含在所接收的預測誤差數據中的區域判定至少一個解碼方案;和-用于根據所述判定裝置的至少一種判定操作對所述接收的預測誤差數據解碼以獲得預測誤差幀的區域解碼裝置(48);-其中所述判定裝置適用于分析所述預測視頻數據幀(p)的特性和基于所述分析執行至少一個判定操作。
16.根據權利要求15的解碼器,其特征在于,所述判定裝置包括-用于將所述預測視頻數據幀(P)分割為多個預定區域的裝置(41)-用于對所述預測視頻數據幀的每個區域分析圖象亮度的不連續性的裝置。-所述判定裝置適用于基于在所述預測視頻數據幀(P)中相應區域對所述預測誤差幀(E*)執行所述至少一項判定操作。
17.根據權利要求16的解碼器,其特征在于,所述不連續性分析裝置包括-用于在預測視頻數據幀(P)的每一區域中計算在垂直方向的有限差別(FH)的線性濾波器(42)和計算在水平方向的有限差別(FV)的線性濾波器(42);和-用于將在每一區域中的兩個濾波器的輸出的絕對值的和與第三預定閾值相比較的裝置;-所述判定裝置(44)適用于判定預測誤差幀的一個區域未編碼并不包含在所述接收的預測誤差數據中,如果對所述預測視頻數據幀的相應區域計算絕對值的和未超出所述所述第三預定閾值。
18.根據權利要求15至17中任何一個的解碼器,其特征在于,-所述區域解碼裝置(48)包括用于對所述預測誤差幀(E*)的每個已編碼并包含在所接收的預測誤差數據中的區域分別從多個不同區域解碼器(471,…,47n)中選擇一個區域解碼器的選擇裝置(45,46)。
19.根據權利要求18的解碼器,其特征在于,-所述判定裝置包括用于根據所述預測視頻數據幀(P)的相應區域的亮度不連續性,將一組特性類別中的一個類別分配給所述預測誤差幀(E*)的每個將被編碼的區域的分類裝置(43);-所述選擇裝置(45,46)適用于根據各個區域所分配的類別,對所述預測誤差幀(E*)的每個將被編碼的區域選擇一個區域編碼器。
20.根據權利要求19的解碼器,其特征在于,所述分類裝置(43)適用于基于用于在與所述預測誤差幀(E*)的已編碼并包含在所述接收的預測誤差數據中的區域相對應的預測視頻數據幀(P)的每一區域中計算在垂直方向的有限差別(FH)和計算在水平方向的有限差別(FV)的線性濾波器(42)所提供的輸出值來進行分類。
21.根據權利要求19的解碼器,其特征在于,所述分類裝置(43)適用于基于集中在該預測視頻數據幀(P)的每一區域的不同像素群中的相應像素亮度不連續性來進行分類,該預測視頻數據幀(P)的每一區域與所述預測誤差幀(E*)的已編碼并包含在所述接收的預測誤差數據中的區域相對應。
22.根據權利要求20或21的解碼器,其特征在于,-所述一組類別包括下列類別中的至少一個無不連續性;水平方向不連續性;垂直方向不連續性;左對角斜線方向不連續性;右對角斜線方向不連續性;非定向不連續性。
23.根據權利要求15至22的任何一個的編碼器,其特征在于,-所述區域解碼裝置(48)適用于通過所選擇的正交變換或矢量量化或匹配追蹤方案來對所述預測誤差幀(E*)的將被解碼的每一區域的所接收的誤差預測數據進行解碼。
24.根據權利要求18至22的任何一個的解碼器,其特征在于,-每一個區域解碼器(471,…47n)適用于包括多個解碼方法(631至63k);-用于根據所接收的編碼方法選擇信息,從相應的多個解碼方法(631至63k)中選擇一個解碼方法的解碼方法選擇裝置(62,64,65);
25.根據權利要求24的解碼器,其特征在于,所述多個解碼方法(631至63k)對于不同區域解碼器(471,…47n)是不同的;
26.根據權利要求15至25中任何一個的解碼器,其特征在于,-所述判定裝置包括為所述預測視頻數據幀(P)的每一區域計算幅度和/或相應的運動矢量的方向的裝置(44);-所述判定裝置適用于基于所計算的幅度和/或所述運動矢量的方向來執行所述判定。
27.根據權利要求26的編碼器,其特征在于,-所述判定裝置適用于判定預測誤差幀(E*)的一個區域未編碼并不包含在所接收的預測誤差數據中,如果與該區域對應的所述計算的運動矢量幅度未超過第四預定閾值。
28.根據權利要求15至27中任何一個的解碼器,其特征在于,-所述用于對所述接收的預測誤差數據進行解碼的裝置(32)適用于根據預定的空間分配規則順序地將所述預測誤差數據的所接收部分分配給由所述判定裝置(41,42,44)所判定的各個區域;-每個部分對應于所述預測誤差幀的一個編碼區域。
29.根據權利要求28的解碼器,其特征在于,-所述判定分配規則定義了將所述預測誤差數據的所述順序接收部分以當掃描所述預測誤差幀的所有區域時它們所呈現的順序和/或以它們由所述判定裝置所判定的順序來分配給所述各個區域。
30.用于傳輸視頻數據的系統,包括根據權利要求1至14中任何一個的編碼器和包括根據權利要求15至29中任何一個的解碼器。
31.用于保存視頻數據的系統,包括根據權利要求1至14中任何一個的編碼器,用于保存編碼的視頻數據的裝置,和根據權利要求15至29中任何一個的解碼器。
32.一種用于對視頻數據進行運動補償編碼的方法,包括-估計描述視頻幀像素的場景位移的運動矢量;-基于第一視頻數據幀(R)和所述運動矢量來預測一個視頻數據幀(P);-基于所述預測的視頻數據幀(P)和第二視頻數據幀(I)來計算預測誤差幀(E);-對所述預測誤差幀(E)編碼,并獲得預測誤差數據;-將所述運動矢量和所述預測誤差數據傳輸給解碼器;-所述用于對所述預測誤差幀(E)編碼的步驟包括-將所述預測誤差幀分割為多個區域;和-執行至少一個下列操作判定在所述預測誤差幀(E)中的區域將被編碼和判定對于每個區域至少一種編碼方法被用于對所述預測誤差幀(E)編碼;和-根據所述判定步驟的至少一個判定操作對所述預測誤差幀(E)進行編碼;-其中所述至少一個判定操作是基于分析所述預測視頻數據幀(p)的特性。
33.用于對運動補償編碼視頻數據進行解碼的方法,包括-保存一個視頻數據幀(R);-基于所述視頻數據幀(R)和基于所接收的運動矢量數據來預測一個視頻數據幀(P);-對所接收的預測誤差數據解碼和獲得一個預測誤差幀(E*);和-基于所述視頻數據幀(P)和所述解碼的預測誤差幀(E*)來計算和輸出一個更新的視頻數據幀(I*),并將此更新的視頻數據幀(I*)保存在所述存儲裝置中;-對所述接收的預測誤差數據解碼的步驟包括-執行下列至少一項操作判定所述預測誤差幀(E)的已編碼并包含在所接收的預測誤差數據中的區域和對每個已編碼并包含在所接收的預測誤差數據中的區域判定至少一個解碼方案;和-根據所述判定裝置的至少一種判定操作對所述接收的預測誤差數據解碼以獲得預測誤差幀;-其中所述判定是基于分析所述預測視頻數據幀(p)的特性。
34.傳輸視頻數據的方法,包括根據權利要求32的方法的對所述視頻數據進行編碼,經由傳輸媒介傳輸編碼的視頻數據,和根據權利要求33的方法對所傳輸的視頻數據進行解碼。
35.保存視頻數據的方法,包括根據權利要求32的方法的對所述視頻數據進行編碼,將編碼的視頻數據保存在存儲裝置中,由所述存儲裝置提取出所保存的視頻數據和根據權利要求33的方法對所提取出的視頻數據進行解碼。
全文摘要
本發明涉及在運動補償視頻編碼方案中對預測誤差的壓縮。預測幀和運動矢量被用于提取出關于預測誤差信號的有用信息,例如,它的位置,方向等。該信息不須被傳輸,因為所提出系統的解碼器包括用于提取信息的裝置。解碼器所提取出的信息被用于對預測誤差編碼進行適應化,這明顯地減少比特率。
文檔編號H04N7/50GK1217125SQ96180260
公開日1999年5月19日 申請日期1996年4月18日 優先權日1996年4月18日
發明者J·尼維格羅斯基, M·A·蒂爾凱爾, O·卡勒沃, P·哈維斯托 申請人:諾基亞流動電話有限公司