視頻編碼的製作方法
2023-08-05 18:30:41 3
專利名稱:視頻編碼的製作方法
技術領域:
本發明涉及數據傳輸並且更特別是,但並不是排它地,與代表圖片序列,例如視頻的數據傳輸有關。它特別適合於在易出錯和易丟失數據的鏈路,例如一個蜂窩電信系統的空中接口上傳輸。
背景技術:
在過去的幾年裡,經網際網路傳輸的可用多媒體內容的數量驚人地增長。由於到移動終端的數據傳遞速率正變得足夠高而使得這種終端能夠檢索多媒體內容,所以人們變得希望從網際網路處提供這種檢索。一個高速數據傳遞系統的例子是計劃的GSM階段2+的通用分組無線電服務(GPRS)。
在此使用的術語多媒體包括聲音和圖片、只有聲音以及只有圖片。聲音包括語音和音樂。
在網際網路中,多媒體內容的傳輸是基於分組的。通過網際網路的網絡業務量是基於一個叫做網際網路協議(IP)的傳輸協議的。IP與將數據分組從一個位置傳輸到另一個位置有關。它有利於經過中間網關的分組的路由選擇,就是說,它允許數據被發送到在同一物理網絡中並不直接相連的設備(例如,路由器)。IP層傳送的數據單元被叫做IP數據報。由IP提供的傳遞服務是無連接的,就是說,IP數據報在網際網路各處彼此獨立地被尋路。由於在網關內沒有資源被永久承諾給任何特定的連接,所以網關偶爾會因為缺少緩衝器空間或其它資源而不得不丟棄數據報。這樣,IP提供的傳遞服務就是一個盡力而為的服務而不是一個有保證的服務。
網際網路多媒體通過使用用戶數據報協議(UDP)、傳輸控制協議(TCP)或超文本傳輸協議(HTTP)被典型地流式化。UDP不檢驗數據報是否已被接收到,不重新發送丟失的數據報,也不保證數據報以與它們被發送時相同的順序被接收。UDP是無連接的。TCP檢驗數據報是否已被接收到並重新發送丟失的數據報。它也保證數據報以與它們被發送時相同的順序被接收。TCP是面向連接的。
為了確保多媒體內容以一個足夠的質量被傳遞,它可以通過一個可靠網絡連接(例如TCP)被提供從而確保接收到的數據是無差錯的並且是按正確的順序。丟失的或被損壞的協議數據單元被重新發送。
有時丟失數據的重發不由傳輸協議而是由某個更高級協議來處理。這樣一個協議可以選擇一個多媒體流中最重要的丟失部分並請求對它們的重發。例如,最重要的部分可以用於預測流的其它部分。
多媒體內容典型地包括視頻。為了被有效地發送,視頻通常被壓縮。所以,壓縮效率在視頻傳輸系統中是一個重要的參數。另一個重要的參數是對傳輸差錯的容限。對這些參數中任何一個參數的改進趨向於對另一個參數產生不利的影響,且因此一個視頻傳輸系統應在兩者之間有一個適當的平衡。
圖-1示出一個視頻傳輸系統。該系統包括一個源編碼器,所述源編碼器將一個未被壓縮的視頻信號壓縮到一個希望的比特率從而生成一個編碼的並且被壓縮的視頻信號,以及一個源解碼器,所述源解碼器將編碼的並且被壓縮的視頻信號解碼從而重構該未被壓縮的視頻信號。源編碼器包括一個波形編碼器和一個熵編碼器。所述波形編碼器實現有損的視頻信號壓縮並且所述熵編碼器無損地將該波形編碼器的輸出轉換成一個二進位序列。所述二進位序列被從源編碼器傳送到一個傳輸編碼器,該傳輸編碼器按照一個適當的傳輸協議封裝被壓縮的視頻然後將它發送給包括一個傳輸解碼器和一個源解碼器的接收方。數據由傳輸編碼器經一個傳輸信道發送到傳輸解碼器。傳輸編碼器還可以其它的方式來處理被壓縮的視頻。例如,它可以交織並調製數據。數據被傳輸解碼器接收到以後,就被傳送給源解碼器。源解碼器包括一個波形解碼器和一個熵解碼器。傳輸解碼器和源解碼器實現相反的操作以獲得一個重構的視頻信號來顯示。接收方還可以提供反饋給發送方。例如接收方可以用信號通知成功接收到的傳輸數據單元的速率。
一個視頻序列包括一系列靜止圖像。一個視頻序列通過減少它的冗餘和感覺上不相關的部分來被壓縮。在一個視頻序列中的冗餘度可以被分類成空間、時間和頻譜冗餘度。空間冗餘度指的是同一圖像內相鄰像素之間的相關性。時間冗餘度指的是在前一個圖像中出現的物體可能會在當前的圖像中出現的事實。頻譜冗餘度指的是一幅圖像的不同顏色成分之間的相關性。
時間冗餘度可以通過生成運動補償數據來減小,所述運動補償數據描述了當前圖像和前一個圖像(稱作一個參考或錨(anchor)圖像)之間的相對運動。作為根據前一個圖像的一個預測,當前圖像被有效地構成,並且做到這樣所用的技術通常稱作運動補償預測或運動補償。除了從另一幅圖片預測一幅圖片之外,一個單個圖片的一些部分或區域可以從那幅圖片的其它部分或區域處被預測。
只是通過減少視頻序列的冗餘度通常不能達到一個足夠的壓縮級別。所以,視頻編碼器還設法減少視頻序列中那些主觀上不太重要的部分的質量。另外,已編碼比特流的冗餘度通過對壓縮參數和係數進行有效無損編碼來被減少。主要的技術是使用可變長編碼。
視頻壓縮方法典型地基於圖像是否使用了時間冗餘度縮減來區分它們(就是說,它們是否被預測)。參考圖-2,沒有使用時間冗餘度縮減方法的被壓縮圖像通常被叫做INTRA或I-幀。INTRA幀常被引入來防止分組丟失的影響在空間和時間上的傳播。在廣播的情況下,INTRA幀使新接收方能夠開始解碼所述流,就是說它們提供「接入點」。視頻編碼系統典型地使得能夠每n秒或每n個幀而周期性地插入INTRA幀。在自然場景切換處使用INTRA幀也是有利的,在該處圖像內容變化如此之快以致來自前一個圖像的時間預測按照壓縮效率來說是不可能成功或理想的。
確實使用時間冗餘度縮減方法的被壓縮圖像通常被叫做INTER或P-幀。使用運動補償的INTER幀很少足夠精確來提供足夠準確的圖像重構,並且因此一個空間壓縮的預測誤差圖像也與每一個INTER幀有關。這表示出當前幀和它的預測之間的差別。
許多視頻壓縮方案還引入了時間上的雙向預測的幀,它們通常被稱作B-圖片或B-幀。B-幀被插到錨(I或P)幀對之間並且從兩個或其中一個錨幀中被預測,正如圖-2所示。B-幀本身不作為錨幀,就是說其它幀決不會根據它們被預測並且它們只是被用於通過增加圖像顯示速率來增強感覺到的圖像質量。因為它們本身決不會被作為錨幀使用,所以它們可以被丟棄而不影響後續幀的解碼。這就使得一個視頻序列能夠按照傳輸網絡的帶寬限制,或不同的解碼器能力,而以不同的速率來被解碼。
術語圖片組(GOP)用於描述一個INTRA幀後面跟著根據它預測的一個時間上的預測(P或B)圖片序列。
不同的國際視頻編碼標準已經得到發展。通常,這些標準定義了用於表示一個被壓縮的視頻序列的比特流語法以及比特流被解碼的方式。一個這樣的標準,H.263,是一個由國際電信聯盟(ITU)開發的建議。當前,有兩個H.263的版本。版本1包括一個核心算法和四個可選的編碼模式。H.263版本2是版本1的一個擴展,它提供12個可協商的編碼模式。H.263版本3,目前處於發展階段,被確定為包含兩個新的編碼模式和附加的補充增強信息編碼點的一個集合。
按照H.263,圖片被編碼成一個亮度成分(Y)和兩個色差(色度)成分(CB和CR)。色度成分沿兩個坐標軸以與亮度成分相比一半的空間解析度被取樣。亮度數據和空間上子取樣的色度數據被組合成宏塊(MB)。典型地一個宏塊包括16×16像素的亮度數據和空間上對應的8×8像素的色度數據。
每個被編碼的圖片,連同對應的被編碼比特流,被安排在一個有四個層的等級結構中,這些層從頂到底為,一個圖片層、一個圖片分段層、一個宏塊(MB)層和一個塊層。該圖片分段層可能或者是一組塊層或者是一個切片層(slice layer)。
圖片層數據包含影響整個圖片區域以及解碼該圖片數據的參數。圖片層數據被安排在一個所謂的圖片頭中。
默認情況下,每一幅圖片被劃分成多個塊組。一個塊組(GOB)典型地包括16個連續像素行。每個GOB的數據包括一個可選的GOB頭,後面跟著宏塊數據。
如果一個可選的切片結構模式被使用,那麼每一幅圖片被劃分成切片而不是GOB。每個切片的數據包括一個切片頭,後面跟著宏塊數據。
一個切片定義了一個編碼圖片內的一個區域。典型地,該區域是多個按正常掃描順序的宏塊。在同一編碼圖片內跨越切片邊界處沒有預測相關性。然而,除非使用了H.263附錄R(獨立分段解碼),時間預測通常可以跨越切片邊界。切片可以根據剩下的圖像數據(除圖片頭以外)被獨立解碼。因此,切片結構模式的使用增強了基於分組的網絡中的差錯復原能力,所述網絡易於丟失分組,即所謂的分組有損網絡。
圖片、GOB和切片頭起始於一個同步碼。沒有其它的碼字或碼字的有效組合可以象同步碼那樣能夠構成同一比特模式。這樣,同步碼可以用於比特流的檢錯和發生比特錯誤後的重新同步。加到比特流上的同步碼越多,編碼就變得越有差錯魯棒性。
每一個GOB或切片都被劃分成宏塊。正如上面已經解釋的,一個宏塊包括16×16像素的亮度數據和空間上對應的8×8像素的色度數據。換句話說,一個MB包括四塊8×8的亮度數據和兩塊空間上對應的8×8的色度數據。
一個塊包括8×8像素的亮度或色度數據。塊層數據包括均勻量化的離散餘弦變換係數,它們按之字形順序被掃描,用遊程長度編碼器來處理並用可變長編碼方式來編碼,正如在ITU-T建議H.263中詳細解釋的那樣。
編碼的比特流的一個有用的屬性是可縮放性。下面,比特率可縮放性要被描述。術語比特率可縮放性指的是一個被壓縮序列以不同數據速率被解碼的能力。一個編碼成具有比特率可縮放性的被壓縮序列可以經不同帶寬的信道被流式傳輸並可以在不同的接收終端實時地被解碼並回放。
可縮放的多媒體典型地被排列到數據的等級層中。一個基本層包含一個對媒體數據(例如一個視頻序列)的獨立表示而增強層包含可以使用在除基本層之外的精煉數據。當增強層被加到基本層上時,多媒體剪輯的質量逐漸地被提高。可縮放性可以採取許多不同的形式包括(但是並不局限於)時間、信噪比(SNR)和空間可縮放性,所有這些形式在下面都要被進一步描述。
對異種的並且易出錯的環境,例如網際網路和蜂窩通信網中的無線信道來說可縮放性是一個希望的屬性。為了反抗限制,例如對比特率、顯示解析度、網絡吞吐量和解碼器複雜性的約束,這個屬性是希望的。
在多點和廣播多媒體應用中,對網絡吞吐量的約束在編碼的時候不能被預見到。這樣,對多媒體內容進行編碼以便構成一個可縮放的比特流就是有利的。在IP多播中使用的一個可縮放的比特流的例子示於圖-3。每一個路由器(R1-R3)可以按照它的能力來對該比特流進行剝除。在這個例子中,伺服器S有一個多媒體片斷可以被縮放成至少3個比特率,120kbit/s、60kbit/s和28kbit/s。在一個多播傳輸的情況下,其中同一比特流在相同的時間用在網絡中生成的儘可能少的比特流的備份來傳遞給多個客戶,從網絡帶寬的觀點來看發送一個單個的比特率可縮放的比特流是有益的。
如果一個序列在不同的設備中被下載並回放,每一個設備具有不同的處理能力,那麼比特率可縮放性就可以在具有較低處理能力的設備中被使用以便通過只解碼比特流的一部分來提供視頻序列的一個較低質量的表示。具有較高處理能力的設備可以解碼並播放具有全部質量的序列。另外,比特率可縮放性意味著解碼視頻序列的一個較低質量表示所需的處理能力要低於當解碼具有全部質量的序列時所需的處理能力。這可以被視為計算的可縮放性的一種形式。
如果一個視頻序列預先被存儲在一個流伺服器中,並且所述伺服器不得不臨時減小該視頻序列作為一個比特流被發送時的比特率,例如為了避免網絡中的擁塞,則如果伺服器可以減小該比特流的比特率而仍然發送一個有用的比特流,這就是有利的。這典型地可以通過使用比特率可縮放的編碼來獲得。
可縮放性還可以用於提高一個傳輸系統中的差錯復原能力,其中分層編碼與傳輸優先級相結合。術語傳輸優先級被用於描述傳輸中提供不同服務質量的機制。這些包括不等差錯保護,它提供不同的信道差錯/丟失率,並且分配不同的優先級來支持不同的時延/損耗要求。例如,一個可縮放編碼的比特流的基本層可以通過一個傳輸信道用一個高級差錯保護來傳遞,而增強層可以在更容易出錯的信道中被傳輸。
可縮放多媒體編碼的一個問題是它經常遭受比非可縮放編碼更差的壓縮效率。一個高質量的可縮放視頻序列通常比具有一個相應質量的一個非可縮放、單層的視頻序列需要更多的帶寬。然而,對這個通用規則的例外確實存在。例如,因為B-幀可以從一個壓縮的視頻序列中被丟棄而不會對後續編碼圖片的質量產生不利的影響,所以它們可以被認為是提供了一種形式的時間可縮放性。換句話說,一個被壓縮從而構成包括例如交替P和B幀的一序列時間預測圖片的視頻序列,它的比特率可以通過刪除B-幀來減小。這有減少壓縮序列的幀速率的效果。因此就有了術語時間可縮放性。在許多情況下,B-幀的使用實際上可以提高編碼效率,特別是在高的幀速率時,因而包括除P-幀以外的B-幀的一個壓縮視頻序列可以比一個具有相同質量的、只使用P-幀編碼的一個序列表現出一個更高的壓縮效率。然而,由B-幀提供的在壓縮性能上的提高是以增加計算的複雜性和存儲器的要求為代價獲得的。額外的延時也會被引入。
信噪比(SNR)可縮放性在圖-4中被舉例說明。SNR可縮放性涉及一個多速率比特流的創建。它考慮在一個原始圖片和它的重構之間的編碼差錯或差異的恢復。這通過在一個增強層內使用一個更精細的量化器來編碼一個差分圖片而獲得。這個額外的信息增加了整個再生圖片的SNR。
空間可縮放性考慮多解析度比特流的創建以便滿足變化顯示的需要/約束。一個空間可縮放性的結構在圖-5中被示出。它類似於在SNR可縮放性中使用的那樣。在空間可縮放性中,一個空間增強層被用於恢復編碼損耗,該編碼損耗是在由增強層用於一個參考的重構層(即參考層)的一個上採樣版本和原始圖像的一個更高解析度版本之間的。例如,如果參考層採用一個1/4通用中間格式(QCIF)的解析度,即176×144像素,並且增強層採用一個通用中間格式(CIF)的解析度,即352×288像素,那麼參考層圖片必須被相應地擴展,這樣增強層圖片才可以根據它被適當地預測。按照H.263,只在垂直方向、只在水平方向、或同時在垂直和水平方向上解析度被增加2倍用於一個單個增強層。可以有多個增強層,每一個增強層都在前一個層的解析度之上增加圖片的解析度。用於上採樣參考層圖片的內插濾波器在H.263中被明確定義。除了通過參考增強層進行的上採樣處理之外,一個空間可縮放的圖片的處理和語法與一個SNR可縮放的圖片的那些處理和語法是相同的。空間可縮放性提供了比SNR可縮放性增加了的空間解析度。
在SNR或空間可縮放性中,增強層圖片被稱作EI-或EP-圖片。如果增強層圖片根據參考層中的一個INTRA圖片被向上預測,那麼增強層圖片就稱作一個增強-I(EI-)圖片。在一些情況下,當參考層圖片被拙劣地預測時,在增強層就可能發生圖片靜態部分的過度編碼,從而要求一個過量的比特率。要避免這個問題,在增強層中允許前向預測。根據前一個增強層圖片而被前向預測或根據參考層中的一個預測圖片被向上預測的一個圖片稱作一個增強-P(EP)圖片。計算向上和前向預測圖片的平均值可以給EP圖片提供一個雙向預測選項。根據一個參考層圖片向上預測EI-和EP-圖片的意思是不需要運動矢量。在用於EP-圖片的前向預測的情況下,就需要運動矢量。
H.263的可縮放性模式(附錄0)指定語法以支持時間的、SNR的、和空間的可縮放能力。
傳統SNR可縮放性編碼帶來的一個問題被稱為漂移。漂移指的是一個傳輸差錯的影響。由一個差錯引起的一個可見的汙跡(artefact)在時間上從差錯發生的圖片漂移。由於使用了運動補償,所以可見汙跡的區域可以從圖片到圖片地增加。在可縮放編碼的情況下,該可見汙跡還從較低的增強層漂移到較高的層。漂移的影響可以參考圖-7來解釋,圖-7示出在擴展編碼中使用的傳統的預測關係。在一個增強層中一旦一個差錯或分組丟失發生,它就傳播到一個圖片組(GOP)的結尾,因為圖片是按順序根據彼此被預測的。除此之外,由於增強層是基於基本層的,所以在基本層中的一個差錯會引起在增強層中的差錯。因為預測還發生在增強層之間,所以一個嚴重的漂移問題會發生在後續預測幀的更高層中。儘管接下來可能有足夠的帶寬發送數據以便糾正一個差錯,但是解碼器不能消除這個差錯,直到預測鏈由代表一個新的GOP起始的另一個INTRA圖片來重新初始化。
要處理這個問題,被稱作精細粒度可縮放性(FGS)的一種可縮放性形式已得到了發展。在FGS中一個低質量基本層通過一個混合預測循環被編碼並且一個(額外的)增強層在重構基本層和原始幀之間傳遞依次被編碼的剩下的部分。FGS已經在例如MPEG-4可視標準化中被提出。
在精細粒度可縮放性編碼中預測關係的一個例子在圖-6中被示出。在一個精細粒度可縮放性的視頻編碼方案中,基本層視頻在一個被很好控制的信道(例如一個具有高度差錯保護的信道)中被發送以便將差錯或分組丟失減到最少,在這樣一種方式下基本層被編碼從而適合最小信道帶寬。這個最小值是在運行中可能發生或可能碰到的最窄帶寬。在預測幀中的全部增強層基於參考幀中的基本層被編碼。這樣,在一個幀的增強層中的差錯就不會引起在後續預測幀的增強層中的漂移問題並且編碼方案可以適應信道條件。然而,由於預測總是基於一個低質量的基本層,所以FGS編碼的編碼效率不象傳統的SNR可縮放性方案例如在H.263附錄0中提供的那些方案那麼好,並且有時還要更糟糕。
為了將FGS編碼和傳統的分層的可縮放性編碼的優點結合起來,示於圖-8中的一個混合的編碼方案已經被提出,該方案被叫做漸進的FGS(PFGS)。有兩點要注意。第一,在PFGS中,來自同層的儘可能多的預測被用於維持編碼效率。第二,一個預測路徑總是使用在參考幀中使用一個較低層的預測以便能夠實現差錯恢復和信道適配。第一點確保對於一個給定的視頻層,運動預測儘可能的準確,這樣就維持了編碼效率。第二點確保在信道擁塞、分組丟失或分組差錯的情況下漂移被減少。通過使用這種編碼結構,不需要重發增強層數據中丟失的/錯誤的分組,因為增強層經幾個幀的時間可以被逐漸並且自動地重構。
在圖-8中,幀2根據幀1的偶數層被預測(即基本層和第二層)。幀3根據幀2的奇數層被預測(即第一層和第三層)。依次地,幀4根據幀3的偶數層被預測。這種奇/偶預測模型繼續下去。術語組深度被用於描述反向參考一個公共參考層的層的數量。圖-8示例了組深度是2的一種情況。組深度可以改變。如果深度是1,那麼情況基本上等同於示於圖-7的傳統的可縮放性方案。如果深度等於全部的層數量,那麼方案就等同於在圖-6中舉例說明的FGS方法。這樣,在圖-8中舉例說明的漸進的FGS編碼方案就提出了一個折衷,它提供了前兩個技術的優點,例如編碼的高效率和差錯恢復。
當PFGS被應用於經過網際網路或無線信道的視頻傳輸時它提供了優點。編碼的比特流可以適應一個信道的可用帶寬而沒有顯著的漂移發生。圖-9示出在一個視頻序列由具有一個基本層和三個增強層的幀來表示的情況下由漸進的精細粒度可縮放性提供的帶寬適配屬性的一個例子。粗的點-短劃線追蹤實際被發送的視頻層。在幀2處,帶寬顯著減少。發送方(伺服器)通過丟棄代表較高增強層(層2和3)的比特來做出反應。在幀2後,帶寬有一點增加,那麼發送方就能夠發送表示兩個增強層的附加的比特。到幀4被發送時,可用的帶寬進一步增加,從而提供足夠的能力再次傳輸基本層和所有的增強層。這些操作不需要視頻比特流的任何重新編碼和重新發送。視頻序列的每一個幀的所有層都被有效地編碼並被嵌入一個單個的比特流中。
上面描述的現有技術的可縮放性編碼技術是基於編碼比特流的一個單個的解釋。換句話說,解碼器只解釋一次編碼的比特流並生成重構圖片。重構的I和P圖片作為參考圖片用於運動補償。
通常,在上面描述的使用時間參考的方法中,預測參考儘可能在時間上和空間上靠近要編碼的圖片或區域。然而,預測編碼對傳輸差錯很脆弱的,因為一個差錯會影響在包含該差錯的圖片之後的一個預測圖片鏈中出現的所有圖片。所以,要使得一個視頻傳輸系統更具有傳輸差錯的魯棒性的一個典型的方式就是減少預測鏈的長度。
空間、SNR、和FGS可縮放性技術全都提供一種方式使得按照字節數來說關鍵預測路徑更短。一個關鍵預測路徑是需要被解碼以便獲得視頻序列內容的一個可接受表示的比特流的那部分。在比特率可縮放的編碼中,關鍵預測路徑是一個GOP的基本層。僅僅適當地保護關鍵預測路徑而不是整個分層的比特流是方便的。然而,應注意到傳統的空間和SNR可縮放性編碼,連同FGS編碼,降低了壓縮效率。而且,它們需要發送方來決定在編碼期間怎樣對視頻數據分層。
B-幀可以代替時間上對應的INTER幀來使用,以便縮短預測路徑。然而,如果在連續錨幀之間的時間相對較長,那麼使用B-幀就會引起壓縮效率的降低。在這種情況下B-幀根據在時間上彼此相距更遠的錨幀來被預測,因此B-幀和它們被預測所根據的參考幀就較少相似。這就會生成一個更差的預測B-幀並且結果是有更多的比特被需要來編碼相關的預測差錯幀。另外,當錨幀之間的時間間隔增加時,連續的錨幀就較少相似。再次,這會生成一個更差的預測錨幀圖像,且有更多的比特被需要來編碼相關的預測差錯圖像。
圖-10舉例說明了通常在P幀的時間預測中使用的方案。為了簡化,B-幀在圖-10中不被考慮。
如果一個INTER幀的預測參考可以被選擇的話(就象例如H.263的參考圖片選擇模式中),那麼一個當前幀通過根據一個與按自然數順序緊挨在它之前的幀不同的幀來預測的話,預測路徑就可以被縮短。這在圖-11中被舉例說明。然而,儘管參考圖片的選擇可以用於減少一個視頻序列中差錯在時間上的傳播,但是它也有降低壓縮效率的影響。
一項稱為視頻冗餘編碼(VRC)的技術已經被提出用於提供響應於在分組交換網絡中分組丟失的視頻質量中適度的降低。VRC的原則是將一個圖片序列以這樣一種方式劃分成兩個或多個線程以致所有的圖片以循環的方式被分配給其中一個線程。每個線程都被獨立編碼。以有規律的間隔,所有線程都匯聚成一個所謂的Sync幀,它從至少其中一個單獨的線程中被預測。從這個Sync幀開始,一個新的線程序列被啟動。結果是在一個給定線程內的幀速率要低於整個的幀速率,在兩個線程的情況下速率是一半,在三個線程的情況下速率是1/3以此類推。這導致一個嚴重的編碼困難,因為在同一線程內的連續圖片之間差異越大那麼典型地就需要更長的運動矢量來表示一個線程內圖片之間運動相關的變化。圖-12示出VRC以兩個線程運行並且每個線程三個幀。
如果在一個VRC編碼視頻序列中其中一個線程被損壞,例如由於一個分組丟失,則可能剩下的線程保持完整並且可以被用來預測下一個Sync幀。有可能繼續解碼被損壞的線程,這會導致輕微的圖片質量下降,或者可能是停止解碼,這會導致幀速率的降低。然而如果線程相當短,那麼降級的這兩種形式只會持續一個很短的時間,就是說直到下一個Sync幀到來。當兩個線程中的一個線程被損壞時VRC的操作示於圖-13。
Sync幀總是根據未損壞的線程來預測。這意味著被發送的INTRA-圖片的數量可以保持很少,因為通常不需要完全的重新同步。正確的Sync幀結構只在兩個Sync幀之間的所有線程都被損壞時才被妨礙。在這種情況下,煩人的汙跡持續直到下一個INTRA-圖片被正確地解碼,就象沒有使用VRC的情況。
目前,如果可選的參考圖片選擇模式(附錄N)被使能的話,那麼VRC就可以與ITU-T H.263視頻編碼標準(版本2)一起使用。然而,將VRC合併進其它的視頻壓縮方法並沒有重大障礙。
P-幀的後向預測已經作為一個縮短預測鏈的方法被提出來。這在圖-14中被舉例說明,它示出一個視頻序列的幾個連續幀。在點A視頻編碼器接收到一個將INTRA幀(I1)插入到編碼視頻序列中的請求。這個請求可能響應於一個場景切換而產生,作為一個INTRA幀請求、一個周期性INTRA幀的刷新操作,或者例如響應於接收到作為來自一個遠端接收機的反饋的一個INTRA幀的更新請求的結果。在一定間隔的另一個場景切換之後,INTRA幀請求或周期性INTRA幀的刷新操作發生(點B)。在第一個場景切換、INTRA幀請求或周期性INTRA幀的刷新操作之後編碼器並沒有馬上插入一個INTRA幀,而是在兩個INTRA幀請求之間的大約中間時間的位置處插入INTRA幀(I1)。在第一個INTRA幀請求和INTRA幀I1之間的幀(P2和P3)以I1作為預測鏈的起始點分別按順序和以INTER格式進行後向預測。在INTRA幀I1和第二個INTRA幀請求之間剩下的幀(P4和P5)按傳統的方式以INTER格式來被前向預測。
這種方法的好處可以通過考慮有多少幀必須被正確發送以便能夠解碼幀P5來看到。如果傳統的幀排序,象圖-15中示出的那樣被使用,那麼成功的解碼P5需要I1、P2、P3、P4和P5正確地被發送並被解碼。在示於圖-14的方法中,成功的解碼P5隻需要I1、P4和P5正確地被發送並被解碼。換句話說,這種方法提供了與使用傳統的幀排序和預測的一種方法相比P5被正確解碼的更大的確定性。
然而,應注意到,後向預測的INTER幀在I1被解碼之前不能被解碼。結果是,一個比在場景切換和後面的INTRA幀之間的時間更大的初始緩衝延時被需要以防止在回放中的一個停頓。
圖-16示出一個視頻通信系統10,它按照ITU-TH.26L建議來工作,該建議基於測試模型(TML)TML-3,此時它被當前建議修改用於TML-4。系統10有一個發送方12和一個接收方14。應理解既然系統裝備有雙向發送和接收,所以發送方和接收方12和14可以既實現發送功能也可以實現接收功能並且是可以相互改變的。系統10包括一個視頻編碼層(VCL)和一個有網絡意識的網絡適配層(NAL)。術語網絡意識意思是NAL能夠將數據安排成適合該網絡。VCL包括波形編碼和熵編碼,還有解碼功能。當壓縮視頻數據被發送時,NAL將編碼的視頻數據分組成業務數據單元(分組),它們被傳遞給一個傳輸編碼器以便經一個信道來傳輸。當接收到被壓縮的視頻數據時,NAL從經一個信道傳輸之後由傳輸解碼器接收到的業務數據單元中解分組被編碼的視頻數據。NAL能夠將一個視頻比特流分割成編碼的塊數據和預測差錯係數,獨立於用於解碼和重構圖像數據的更重要的其它數據,例如圖片類型和運動補償信息。
VCL的主要任務是以一種有效的方式編碼視頻數據。然而,正如在前面已經討論的,差錯對有效地編碼數據產生不利的影響,且因此對可能差錯的一些認識被包括進來。VCL能夠中斷預測編碼鏈並採取措施來補償差錯的生成和傳播。這可以通過以下方式被實現i)通過引入INTRA-幀和INTER-編碼的宏塊來中斷時間預測鏈;ii)通過轉換到一個獨立的切片編碼模式來中斷差錯傳播,其中運動矢量預測被限制在切片邊界內;iii)引入一個可變長編碼,它可以被獨立解碼,例如沒有對幀的自適應算術編碼;以及iv)通過對傳輸信道可用比特率的變化進行快速反應並調整編碼視頻比特流的比特率,使得分組丟失可能會較少發生。
另外,VCL標識優先級類別從而支持網絡中的服務質量(QOS)機制。
典型地,視頻編碼方案包括描述傳輸比特流中的編碼視頻幀或圖片的信息。這個信息採取語法元素的形式。一個語法元素是一個碼字或一組在編碼方案中具有相似功能的碼字。語法元素被劃分到優先級類別中。一個語法元素的優先級類別按照相對於其它類別的編碼和解碼的相關性來定義。解碼相關性源自時間預測、空間預測的使用以及可變長編碼的使用。用於定義優先級類別的一般原則如下1.如果語法元素A不知道語法元素B而可以被正確解碼而語法元素B不知道語法元素A就不可以被正確解碼的話,那麼語法元素A比語法元素B有更高的優先級。
2.如果語法元素A和B可以被獨立解碼,那麼對每一個語法元素的圖像質量的影響程度就確定它的優先級類別。
語法元素之間的相關性和由於傳輸差錯引起的語法元素中的差錯或語法元素的丟失的影響可以可視化為一個相關樹,例如在圖-17中所示的那樣,它舉例說明了在當前H.26L測試模型中的不同語法元素之間的相關性。錯誤或丟失的語法元素只對在相關樹的同一分支內並且遠離樹根的語法元素的解碼有影響。所以,離樹根較近的語法元素比處於較低優先級類別的那些語法元素對解碼的圖像質量的影響更大。
典型地,優先級類別在逐個幀的基礎上被定義。如果一個基於切片的圖像編碼模式被採用的話,那麼在語法元素對優先級類別的分配中某個調整要被實現。
現在更詳細地參考圖-17,可以看到當前H.26L測試模型有10個優先級類別範圍從類別1,它有最高優先級,到類別10,它有最低優先級。下面就是每一個優先級類別的語法元素的總結以及每一個語法元素攜帶的信息的摘要概述類別1PSYNC、PTYPE包含PSYNC、PTYPE語法元素類別2MB_TYPE、REF_FRAME包含全部宏塊類型和一個幀內的參考幀語法元素。對於INTRA圖片/幀來說,這個類別不包含元素。
類別3IPM包含INTRA-預測-模式語法元素;類別4MVD、MACC包含運動矢量和運動準確度的語法元素(TML-2)。對於INTRA圖片/幀來說,這個類別不包含元素。
類別5CBP_Intra包含被分配給一個幀中的INTRA-宏塊的全部CBP語法元素。
類別6LUM_DC-Intra、CHR_DC-Intra包含用於INTRA-MB中所有塊的全部DC亮度係數和全部DC色度係數。
類別7LUM_AC-Intra、CHR_AC-Intra包含用於INTRA-MB中所有塊的全部AC亮度係數和全部AC色度係數。
類別8CBP_Inter,包含被分配給一個幀中的INTER-MB的全部CBP語法元素。
類別9LUM_DC-Inter、CHR_DC-Inter包含每一個塊的第一個亮度係數和INTER-MB中所有塊的DC色度係數。
類別10LUM_AC-Inter、CHR_AC-Inter包含INTER-MB中所有塊的剩下的亮度係數和色度係數。
NAL的主要任務是以一種最佳方式發送包含在優先級類別內的數據,該方式適應於基礎網絡。所以,一個惟一的數據封裝方法被定義用於基礎的每一個網絡或網絡類型。NAL完成下面的任務1.它將包含在被標識的語法元素類別中的數據映射成服務數據單元(分組);2.它以一種適應於基礎網絡的方式來傳送得到的服務數據單元(分組)。
NAL還可以提供差錯保護機制。
用於將壓縮的視頻圖片編碼成不同優先級類別的語法元素的優先級劃分簡化了對基礎網絡的適配。支持優先級機制的網絡從語法元素的優先級劃分中獲得了特定的利益。特別是,當使用以下內容時語法元素的優先級劃分可能是特別有利的i)在IP中的優先級方法(例如資源預留協議,RSVP);ii)在第三代移動通信網例如通用行動電話系統(UMTS)中的服務質量(QOS)機制;iii)用於多媒體通信的H.223復用協議的附錄C或D;以及iv)由基礎網絡提供的不等差錯保護。
不同的數據/電信網通常具有非常不同的特徵。例如,不同的基於分組的網絡使用採用最短和最長分組長度的協議。一些協議確保以正確的順序傳遞數據分組,其它協議則不是。所以,將用於多個類別的數據合併成一個單個數據分組或將表示一個給定優先級類別的數據分割到幾個數據分組將在需要的時候被應用。
當接收到壓縮視頻數據時,通過使用網絡和傳輸協議,VCL檢驗用於一個特定幀的某一個類別和具有較高優先級的所有類別都可以被識別並已經被正確接收,即沒有比特差錯而且所有的語法元素都有正確的長度。
編碼視頻比特流依靠基礎網絡和使用的應用而按不同的方式被封裝。下面,一些示例的封裝方案被介紹。
H.324(電路交換的可視電話)H.234的傳輸編碼器,即H.223,具有一個254位元組的最大業務數據單元尺寸。典型地這不足以攜帶整個一幅圖片,因此VCL可能將一幅圖片劃分成多個分區從而每一個分區都適合一個業務數據單元。碼字典型地基於它們的類型被聚合進分區,即同一類型的碼字被聚合進同一分區。分區內的碼字(和字節)順序按照重要性遞減的順序被安排。如果一個比特差錯影響了一個攜帶視頻數據的H.223業務數據單元,那麼解碼器就可能由於參數的可變長編碼從而丟失解碼同步,並且它將不可能解碼業務數據單元中的其餘數據。然而,由於最重要的數據出現在業務數據單元的開始,那麼解碼器就可能能夠生成圖片內容的一個降級的表達。
IP可視電話由於歷史原因,一個IP分組的最大尺寸大約為1500位元組。使用儘可能大的IP分組的好處有兩個原因1.IP網元,例如路由器,可能由於過量的IP業務量,從而引起內部緩衝器溢出而被擁塞。緩衝器典型地是面向分組的,就是說,它們可以包含一定數量的分組。這樣,為了避免網絡擁塞,希望使用不常生成的大分組而不是頻繁生成的小分組。
2.每一個IP分組都包含頭部信息。一個典型的用於實時視頻通信的協議組合,即RTP/UDP/IP,包括每分組一個40位元組的頭部段。當連接到一個IP網時,通常使用一個電路交換的低帶寬撥號鏈路。如果小的分組被使用的話,在低比特率鏈路中分組化開銷就變得非常巨大。
依靠圖片尺寸和複雜性,一個INTER-編碼的視頻圖片可能包括足夠少的比特來適應一個單個IP分組。
有多種方式來提供在IP網中的不等差錯保護。這些機制包括分組複製、前向糾錯(FEC)分組、區別業務,即給定一個網絡中某些分組優先級以及綜合業務(RSVP協議)。典型地,這些機制需要將有相似重要性的數據封裝進一個分組。
IP視頻流因為視頻流是一個非會話式應用,所以並沒有嚴格的端到端的延時要求。結果是,分組方案可能使用了來自多個圖片的信息。例如,數據可以以一種類似於上面描述的一個IP可視電話情況中的方式被分類,只是來自多個圖片的高級重要性的數據被封裝到同一分組中。
可替換地,每一幅圖片或圖像切片可以被封裝進它自己的分組。數據劃分被應用,使得最重要的數據出現在分組的開頭。前向糾錯(FEC)分組從一個已經發送的分組集合中被計算。FEC算法被選擇從而它只保護出現在分組開頭處的一定數量的字節。在接收端,如果一個正常的數據分組丟失,那麼該丟失的數據分組的開頭通過使用FEC分組可以被校正。這個方法在ITU-T,SG16,問題15,文檔Q15-J-61,2000年5月16號由A.H.Li,J.D.Villasenor編寫的「用於H.323附錄I的一個通用的非均衡級別保護(ULP)建議書」(A.H.Li,J.D.Villasenor,」A genericUneven Level Protection(ULP)proposal for Annex I ofH.323」,ITU-T,SG16,Question 15,document Q15-J-61,16-May-2000)中被提出。
發明內容
按照本發明的一個第一方面提供了一種方法用於編碼一個視頻信號從而生成一個比特流,包括的步驟有通過構成比特流的一個第一部分來編碼一個第一完整幀,所述第一部分包括用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;基於第一完整幀的一個版本定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;並且通過構成比特流的一個第二部分來編碼一個第二完整幀,所述第二部分包括在重構第二完整幀時使用的信息,使得第二完整幀可以基於第一虛擬幀和比特流的第二部分包括的信息來被完全重構,而不基於第一完整幀和比特流的第二部分包括的信息。
優選地,該方法還包括的步驟有將第二完整幀的信息按優先次序劃分成高和低優先級信息;基於第二完整幀的一個版本定義一個第二虛擬幀,所述第二虛擬幀在缺乏第二完整幀的至少一些低優先級信息時通過使用第二完整幀的高優先級信息來被構造;並且通過構成比特流的一個第三部分來編碼一個第三完整幀,所述第三部分包括在重構第三完整幀時使用的信息,使得第三完整幀可以基於第二完整幀和比特流的第三部分包括的信息來被完全重構。
按照本發明的一個第二方面提供了一種方法用於編碼一個視頻信號從而生成一個比特流,包括的步驟有通過構成比特流的一個第一部分來編碼一個第一完整幀,所述第一部分包括用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;基於第一完整幀的一個版本定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;通過構成比特流的一個第二部分來編碼一個第二完整幀,所述第二部分包括用於重構第二完整幀的信息,該信息被按優先次序劃分成高和低優先級信息,第二幀被編碼,使得它可以基於第一虛擬幀和比特流的第二部分包括的信息來被完全重構,而不是基於第一完整幀和比特流的第二部分包括的信息;基於第二完整幀的一個版本定義一個第二虛擬幀,所述第二虛擬幀在缺乏第二完整幀的至少一些低優先級信息時通過使用第二完整幀的高優先級信息來被構造;並且通過構成比特流的一個第三部分來編碼一個第三完整幀,它根據第二完整幀被預測並按順序跟隨它,所述第三部分包括用於重構第三完整幀的信息,使得第三完整幀就可以基於第二完整幀和比特流的第三部分包括的信息來被完全重構。
第一虛擬幀可以在缺乏第一完整幀的至少一些低優先級信息時通過使用比特流第一部分的高優先級信息並且通過使用前一個虛擬幀作為一個預測參考來被構造。其它虛擬幀可以基於前面的虛擬幀被構造。因此,一連串虛擬幀就可以被提供。
完整幀在這種意義上是完整的,即一個能夠顯示的圖像可以被構成。對於虛擬幀來說不必這樣。
第一完整幀可能是一個INTRA編碼的完整幀,在這種情況下,比特流的第一部分包括用於完全重構INTRA編碼的完整幀的信息。
第一完整幀可能是一個INTER編碼的完整幀,在這種情況下,比特流的第一部分包括用於相對一個參考幀而重構INTER編碼的完整幀的信息,該參考幀可能是一個完整參考幀或一個虛擬參考幀。
在一個實施方案中,本發明是一個可縮放的編碼方法。在這種情況下,虛擬幀可能被解釋成是一個可縮放比特流的一個基本層。
在本發明的另一個實施方案中,不止一個虛擬幀根據第一完整幀的信息來定義,所述不止一個的虛擬幀中的每一個都通過使用第一完整幀的不同高優先級信息來定義。
在本發明一個進一步的實施方案中,不止一個虛擬幀根據第一完整幀的信息來定義,所述不止一個的虛擬幀中的每一個都通過使用第一完整幀的不同高優先級信息來定義,所述不同高優先級信息通過使用第一完整幀信息的一個不同優先級劃分來構成。
優選地用於重構一個完整幀的信息按照它在重構完整幀中的重要性而按優先次序被劃分成高和低優先級信息。
完整幀可能是一個可縮放幀結構的基本層。
當通過使用前一個幀來預測一個完整幀時,在這樣一個預測步驟中,完整幀可以基於前一個完整幀被預測並且在一個後續的預測步驟中,完整幀可以基於一個虛擬幀被預測。用這種方式,預測基礎可以逐個預測步驟地改變。這種改變可以在一個預定的基礎上發生或不時地由其它因素例如要發送編碼視頻信號的一條鏈路的質量來確定。在本發明的一個實施方案中這個改變由一個從接收解碼器接收到的請求來啟動。
優選地一個虛擬幀是一個通過使用高優先級信息並且有意不使用低優先級信息來被構成的幀。優選地一個虛擬幀並不被顯示。可替換地,如果它被顯示,那麼它是作為對一個完整幀的一個替換。這可能是由於一個傳輸差錯而使完整幀不可用的情況。
本發明使得當縮短一個時間預測路徑時編碼效率能夠有一個改進。它還具有增加編碼視頻信號對降級的復原能力的影響,該降級是由比特流中數據的丟失或損壞而導致的,所述比特流攜帶用於重構該視頻信號的信息。
優選地該信息包括碼字。
虛擬幀不僅可以由高優先級信息來構造或定義,還可以由某些低優先級信息來構造或定義。
一個虛擬幀可以通過使用虛擬幀的前向預測根據前一個虛擬幀被預測。可替換地或額外地,一個虛擬幀可以通過使用虛擬幀的後向預測根據後一個虛擬幀被預測。INTER幀的後向預測已經結合圖-14在前面被描述。應理解這個原則可以容易地應用於虛擬幀。
一個完整幀可以通過使用前向預測幀根據前一個完整幀或虛擬幀被預測。可替換地或額外地,一個完整幀可以通過使用後向預測根據後一個完整幀或虛擬幀被預測。
如果一個虛擬幀不僅由高優先級信息來定義還由某些低優先級信息來定義,那麼該虛擬幀就可以通過使用其高和低優先級信息來被解碼並且還可以基於另一個虛擬幀被預測。
解碼一個比特流用於一個虛擬幀可以使用一個與在解碼一個比特流用於一個完整幀中使用的不同的算法。可以有多個算法用於解碼虛擬幀。一個特定算法的選擇可以在比特流中用信號通知。
在缺乏低優先級信息時,它可以由默認值來代替。默認值的選擇可以改變並且正確的選擇可以在比特流中用信號通知。
按照本發明的一個第三方面提供了一種方法用於解碼一個比特流從而生成一個視頻信號,包括的步驟有從比特流的一個第一部分中解碼一個第一完整幀,所述第一部分包括用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;基於第一完整幀的一個版本定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;並且基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地該方法還包括的步驟有基於第二完整幀的一個版本定義一個第二虛擬幀,所述第二虛擬幀在缺乏第二完整幀的至少一些低優先級信息時通過使用第二完整幀的高優先級信息來被構造;並且基於第二完整幀和比特流的一個第三部分包括的信息來預測一個第三完整幀。
按照本發明的一個第四方面提供了一種方法用於解碼一個比特流以生成一個視頻信號,它包括的步驟有從比特流的一個第一部分中解碼一個第一完整幀,所述第一部分包括用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;基於第一完整幀的一個版本定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息;基於第二完整幀的一個版本定義一個第二虛擬幀,所述第二虛擬幀在缺乏第二完整幀的至少一些低優先級信息時通過使用第二完整幀的高優先級信息來被構造;並且基於第二完整幀和比特流的一個第三部分包括的信息來預測一個第三完整幀。
第一虛擬幀可以在缺乏第一完整幀的至少一些低優先級信息時通過使用比特流第一部分的高優先級信息並且通過使用前一個虛擬幀作為一個預測參考來被構造。其它虛擬幀可以基於前面的虛擬幀被構造。一個完整幀可以從一個虛擬幀中被解碼。一個完整幀可以從虛擬幀的一個預測鏈中被解碼。
按照本發明的一個第五方面提供了一個視頻編碼器用於編碼一個視頻信號從而生成一個比特流,它包括一個完整幀編碼器用於構成一個第一完整幀的比特流的一個第一部分,所述第一部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;一個基於第一完整幀的一個版本定義至少一個第一虛擬幀的虛擬幀編碼器,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;以及一個幀預測器用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地所述完整幀編碼器包括所述幀預測器。
在本發明的一個實施方案中,編碼器將一個信號發送給解碼器來指示一旦出現一個傳輸差錯或丟失時一個幀的比特流中的哪一部分足以生成一幅可接受的圖片來代替一幅全質量圖片。信令可以包括在比特流中或者它可以獨立於比特流來傳送。
信令可以應用於一幅圖片的一部分,例如一個切片、一個塊、一個宏塊或一組塊,而不是應用於一個幀。當然,整個方法可以應用於圖像分段。
信令可以指示多幅圖片中的哪一幅圖片可能足以生成一個可接受的圖片來代替一個全質量圖片。
在本發明的一個實施方案中,編碼器可以將一個信號發送給解碼器來指示怎樣構造一個虛擬幀。該信號可以指示用於一個幀的信息的優先級劃分。
按照本發明的另一個實施方案,編碼器可以將一個信號發送給解碼器來指示怎樣構造一個虛擬備用參考圖片,該圖片在實際的參考圖片丟失或損壞嚴重的情況下被使用。
按照本發明的一個第六方面提供了一個解碼器用於解碼一個比特流從而生成一個視頻信號,它包括一個完整幀解碼器用於從比特流的一個第一部分中解碼一個第一完整幀,所述第一部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;一個虛擬幀解碼器用於在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息而從第一完整幀的比特流的第一部分中構成一個第一虛擬幀;以及一個幀預測器用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地所述完整幀解碼器包括所述幀預測器。
因為低優先級信息不在虛擬幀的構造中使用,所以這種低優先級信息的丟失並不對虛擬幀的構造產生不利的影響。
在參考圖片選擇的情況下,編碼器和解碼器可以被提供給多個用於存儲完整幀的多幀緩衝器和一個用於存儲虛擬幀的多幀緩衝器。
優選地,用於預測另一個幀的一個參考幀可以通過,例如編碼器、解碼器或兩者來被選擇。對每一個幀、圖片分段、切片、宏塊、塊或無論什么子圖片元素來說,參考幀可以被獨立地選擇。一個參考幀可以是可存取的或在編碼器和解碼器中生成的任何完整幀或虛擬幀。
用這種方式,每一個完整幀都不局限於一個單個虛擬幀而是可能與多個不同的虛擬幀相關,其中每一個虛擬幀都有一種不同的方式將比特流分類用於完整幀。這些分類比特流的不同方式可以是用於運動補償的不同參考(虛擬或完整)圖片(或多個圖片)並且/或者是解碼比特流的高優先級部分的一種不同方式。
優選地反饋從解碼器被提供給編碼器。這個反饋可以是以一個指示的形式,所述指示與一個或多個指定圖片的碼字有關。該指示可以指示已經被接收到的、還沒有被接收到的或已經被接收到的處於一個損壞狀態的碼字。這可引起編碼器將在一個後續幀的運動補償預測中使用的預測參考從一個完整幀變成一個虛擬幀。可替換地,該指示可以引起編碼器重發還沒有被接收到的或者已經被接收到的處於一個損壞狀態的碼字。該指示可以指定一個圖片內某一個區域內的碼字或者可以指定多個圖片中某一個區域內的碼字。
按照本發明的一個第七方面提供了一個視頻通信系統用於將一個視頻信號編碼成一個比特流並且用於將比特流解碼成視頻信號,該系統包括一個編碼器和一個解碼器,所述編碼器包括一個完整幀編碼器用於構成一個第一完整幀的比特流的第一部分,所述第一部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;一個基於第一完整幀的一個版本定義一個第一虛擬幀的虛擬幀編碼器,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;以及一個幀預測器用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息;並且解碼器包括一個完整幀解碼器用於從比特流的第一部分中解碼一個第一完整幀;一個虛擬幀解碼器用於在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息從比特流的第一部分中構成第一虛擬幀;以及一個幀預測器用於基於第一虛擬幀和比特流的第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地所述完整幀編碼器包括所述幀預測器。
按照本發明的一個第八方面提供了一個視頻通信終端,它包括一個視頻編碼器用於編碼一個視頻信號從而生成一個比特流,該視頻編碼器包括一個完整幀編碼器用於構成一個第一完整幀的比特流的一個第一部分,所述第一部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;一個基於第一完整幀的一個版本定義至少一個第一虛擬幀的虛擬幀編碼器,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;以及一個幀預測器用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地所述完整幀編碼器包括所述幀預測器。
按照本發明的一個第九方面提供了一個視頻通信終端,它包括一個解碼器用於解碼一個比特流從而生成一個視頻信號,該解碼器包括一個完整幀解碼器用於從比特流的一個第一部分中解碼一個第一完整幀,所述第一部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;一個虛擬幀解碼器用於在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息從第一完整幀的比特流的第一部分中構成一個第一虛擬幀;以及一個幀預測器用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地所述完整幀解碼器包括所述幀預測器。
按照本發明的一個第十方面提供了一個電腦程式用於操作一臺計算機作為一個視頻編碼器來編碼一個視頻信號從而生成一個比特流,它包括計算機可執行代碼用於通過構成比特流的一個第一部分來編碼一個第一完整幀,所述第一部分包含用於完全重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;計算機可執行代碼用於基於第一完整幀的一個版本定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;以及計算機可執行代碼用於通過構成比特流的一個第二部分來編碼一個第二完整幀,所述第二部分包括用於重構第二完整幀的信息,使得要被重構的第二完整幀是基於虛擬幀和比特流的第二部分包括的信息而不是基於第一完整幀和比特流的第二部分包括的信息。
按照本發明的一個第十一方面提供了一個電腦程式用於操作一臺計算機作為一個視頻解碼器來解碼一個比特流從而生成一個視頻信號,它包括計算機可執行代碼用於從比特流的一個部分中解碼一個第一完整幀,所述第一個部分包含用於重構第一完整幀的信息,該信息被按優先次序劃分成高和低優先級信息;計算機可執行代碼用於基於第一完整幀的一個版本來定義一個第一虛擬幀,所述第一虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;以及計算機可執行代碼用於基於第一虛擬幀和比特流的一個第二部分包括的信息來預測一個第二完整幀而不基於第一完整幀和比特流的第二部分包括的信息。
優選地第十和第十一方面的電腦程式被存儲在一個數據存儲媒體上。這可能是一個可攜式數據存儲媒體或是一個設備內的一個數據存儲媒體。該設備可能是可攜式的,例如是一個膝上型電腦、一個個人數字助理或一個行動電話。
在本發明上下文中提及的「幀」還被規定為包括幀的一部分,例如一個幀內的切片、塊和MB。
與PFGS相比,本發明提供了更好的壓縮效率。這是因為它有一個更靈活的可縮放性等級。PFGS和本發明存在於同一個編碼方案中是可能的。在這種情況下,本發明運行於PFGS的基本層之下。
本發明引入了虛擬幀的概念,所述虛擬幀通過使用由一個視頻編碼器生成的編碼信息中最重要的一部分來被構造。在這個上下文中,術語「最重要」指的是在一個壓縮視頻幀的編碼表示中的信息,它對成功地重構該幀產生最大的影響。例如,按照ITU-T建議H.263在壓縮視頻數據的編碼中使用的語法元素的上下文中,編碼的比特流中最重要的信息可以被認為是包括那些更靠近相關性樹的樹根部的語法元素,所述相關性樹定義語法元素之間的解碼關係。換句話說,那些必須被成功解碼以便使得能夠解碼其它語法元素的語法元素可以被認為是表達在壓縮視頻幀的編碼表示中較重要的/較高優先級的信息。
虛擬幀的使用提供了一種增強一個編碼比特流的差錯復原能力的新方式。特別是,本發明引入了一種實現運動補償的預測的新方式,其中使用虛擬幀生成的一個可替換的預測路徑被使用。應注意到在前面描述的現有技術的方法中,只有完整幀,即通過使用一個幀的全部編碼信息來重構的視頻幀,才被用作運動補償的參考。在按照本發明的方法中,一連串虛擬幀通過使用編碼視頻幀的較高重要性的信息,連同鏈內的運動補償預測來被構造。除了一個傳統的使用編碼視頻幀的全部信息的預測路徑之外,包括虛擬幀的預測路徑被提供。應注意到術語「完整」指的是使用了在重構一個視頻幀中使用的全部可用的信息。如果討論中的視頻編碼方案生成了一個可縮放的比特流,那麼術語「完整」就意味著使用了提供給可縮放結構中一個給定層的全部信息。還應注意到虛擬幀通常不打算被顯示出來。在一些情況下,依賴於在虛擬幀的構造中使用的信息種類,它們可能不適合於,或者不能,顯示。在另一些情況下,虛擬幀可能適合於,或者能夠,顯示,但是在任何情況下它們都不顯示出來並且只被用於提供運動補償預測的一個可替換的手段,正如在上面的一般術語中描述的那樣。在本發明的其它實施方案中,虛擬幀可以被顯示出來。還應注意到以不同的方式按優先次序劃分來自比特流的信息以便能夠構造不同種類的虛擬幀是可能的。
當與上面描述的現有技術的差錯復原方法比較時按照本發明的方法具有多個優點。例如,考慮一組被編碼從而構成一序列幀I0、P1、P2、P3、P4、P5和P6的圖片(GOP),按照本發明實現的一個視頻編碼器可以被編程從而通過使用在以INTRA幀I0為起始的一個預測鏈中的運動補償的預測來編碼INTER幀P1、P2和P3。同時,編碼器生成一個虛擬幀I0』、P1』、P2』和P3』的集合。虛擬INTRA幀I0』通過使用表示I0的較高優先級信息來被構造並且類似地,虛擬INTER幀P1』、P2』和P3』通過使用完整INTER幀P1、P2和P3的較高優先級信息來分別被構造並且在一個以虛擬INTRA幀I0』為起始的運動補償的預測鏈中被構成。在這個例子中,虛擬幀並不有意用於顯示並且編碼器用這樣一種方式被編程以致當它到達幀P4時,運動預測參考被選擇為虛擬幀P3』而不是完整幀P3。之後後續的幀P5和P6在一個預測鏈中通過使用完整幀作為它們的預測參考而從P4被編碼。
這個方法可以被視為與例如由H.263提供的參考幀選擇模式相似。然而,與按照一個傳統的參考圖片選擇方案使用的一個可替換的參考幀(例如P2)相比,在按照本發明的方法中,可替換的參考幀,即虛擬幀P3』,與否則將已經在幀P4的預測中使用的參考幀(即,幀P3)具有一個更大的相似性。記得P3』實際上是從一個描述P3自身的編碼信息,即用於解碼幀P3的最重要信息的子集中被構造出來的,就可以很容易地證明這點。因為這個原因,使用一個虛擬參考幀所相應的預測差錯信息就可能比在使用傳統的參考圖片選擇時預期的要少。用這種方式本發明提供了一個與傳統的參考圖片選擇方法相比的壓縮效率的增益。
還應注意到如果一個視頻編碼器被以這樣一種方式來編程以致它周期性地使用一個虛擬幀代替一個完整幀作為一個預測參考的話,那麼有可能減少或者阻止由影響比特流的傳輸差錯引起的在接收解碼器處的可視汙跡的積累和傳播。
有效地,按照本發明的虛擬幀的使用是一種縮短在運動補償預測中的預測路徑的方法。在上面表述的預測方案的例子中,幀P4通過使用一個以虛擬幀I0』為起始並且跟隨著虛擬幀P1』、P2』和P3』的預測鏈來被預測。儘管按照幀的數量來說預測路徑的長度與在一個使用幀I0、P1、P2和P3的傳統的運動補償預測方案中預測路徑的長度相同,但是如果從I0』到P3』的預測鏈在P4的預測中被使用的話那麼必須被正確接收以便確保無差錯重構P4的比特的數量要少。
在一個接收解碼器只可以重構一個有一定程度的視覺失真的特定幀例如P2的事件中,由於從編碼器發送的比特流中信息的丟失或損壞,解碼器可能請求編碼器相對於虛擬幀P2』來編碼序列中的下一個幀,例如P3。如果差錯發生在表示P2的低優先級信息中,那麼可能相對P2』的P3的預測將會有限制或阻止傳輸差錯傳播到P3和序列中後續幀的效果。這樣,預測路徑的完全重新初始化的要求,即對一個INTRA幀更新的請求和傳輸就減少了。在低比特率的網絡中這具有顯著的優點,在那裡響應於一個INTRA更新請求的一個全部INTRA幀的傳輸可能導致在解碼器處顯示重構的視頻序列時出現不希望的停頓。
如果按照本發明的方法結合被發送給解碼器的比特流的不等差錯保護被使用,則上面描述的優點可以被進一步增強。術語「不等差錯保護」在此被使用意味著任何方法,所述方法給一個編碼視頻幀的較高優先級信息提供比編碼幀的相關較低優先級信息更高程度的比特流中的差錯復原能力。例如,不等差錯保護可以涉及以這樣一種方式包含高和低優先級信息的分組傳輸,使得高優先級信息分組不太可能丟失。這樣,當不等差錯保護連同本發明的方法被使用時,用於重構視頻幀的較高優先級/較重要的信息更可能被正確接收到。結果是,就有更高的概率使得重構虛擬幀所需要的全部信息將被無差錯地接收。所以,很明顯使用不等差錯保護連同本發明的方法進一步增加了一個編碼視頻序列的差錯復原能力。特別是,當一個視頻編碼器被編程從而周期性地使用一個虛擬幀作為一個參考用於運動補償預測時,那麼有很高的概率使得無差錯地重構虛擬參考幀需要的全部信息將在解碼器被正確地接收。因此,就有更高的概率使得任何根據虛擬參考幀預測的完整幀將被無差錯地重構。
本發明還使得一個接收到的比特流中的高重要性部分能夠被重構並且被用於隱藏比特流中低重要性部分的丟失或損壞。這可以通過使得編碼器能夠發送給解碼器一個指示來獲得,所述指示指定一個幀的比特流中的哪一部分足以生成一個可接受的重構圖片。這個可接受的重構可以被用於在一個傳輸差錯或丟失的事件中代替一個全質量圖片。將指示提供給解碼器所需的信令可以被包括在視頻比特流自身中或可以,例如使用一個控制信道,獨立於視頻比特流而被發送給解碼器。通過使用該指示提供的信息,解碼器解碼該幀的信息中高重要性的部分並用默認值代替低重要性的部分,以便獲得一個可接受的圖片用於顯示。同樣的原則還可以被應用於子圖片(切片等等)以及多個圖片。用這種方式本發明還允許差錯隱藏以一種明確的方式被控制。
在另一個差錯隱藏方法中,編碼器可以提供給解碼器一個怎樣構造一個虛擬備用參考圖片的指示,如果實際的參考圖片丟失或損壞太嚴重以致不能被使用那麼所述虛擬備用參考圖片就可以作為一個參考幀用於運動補償預測。
本發明還可以被分類成SNR可縮放性的一個新類型,該新類型比現有技術的可縮放性技術具有更大的靈活性。然而,如上面解釋的,按照本發明,用於運動補償預測的虛擬幀不必表示任何出現在序列中的未壓縮圖片的內容。另一方面,在已知的可縮放性技術中,在運動補償預測中使用的參考圖片確實表示在視頻序列中相應的初始(即未壓縮的)圖片。因為虛擬幀不打算被顯示出來,不象在傳統可縮放性方案中的基本層,所以編碼器不必構造可接受用於顯示的虛擬幀。結果是本發明獲得的壓縮效率接近於一個一層編碼方法。
本發明現在只通過例子,通過參考附圖來被描述,其中圖-1示出一個視頻傳輸系統;圖-2舉例說明INTER(P)和雙向預測(B)圖片的預測;圖-3示出一個IP多播系統;圖-4示出SNR可縮放圖片;圖-5示出空間可縮放圖片;圖-6示出在精細粒度可縮放編碼中的預測關係;圖-7示出在可縮放編碼中使用的傳統的預測關係;圖-8示出在漸進的精細粒度可縮放編碼中的預測關係;圖-9舉例說明在漸進的精細粒度可縮放性中的信道適配;圖-10示出傳統的時間預測;圖-11舉例說明通過使用參考圖片選擇來縮短預測路徑;圖-12舉例說明通過使用視頻冗餘編碼來縮短預測路徑;圖-13示出處理損壞的線程的視頻冗餘編碼;圖-14舉例說明通過重新定位一個INTRA幀並應用INTER幀的後向預測來縮短預測路徑;圖-15示出在一個INTRA幀之後的傳統的幀預測關係;圖-16示出一個視頻傳輸系統;圖-17示出在H.26L TML-4測試模型中語法元素的相關性;圖-18舉例說明按照本發明的一個編碼過程;
圖-19舉例說明按照本發明的一個解碼過程;圖-20示出圖-19中解碼過程的一個修改;圖-21舉例說明按照本發明的一個視頻編碼方法;圖-22舉例說明按照本發明的另一個視頻編碼方法;圖-23示出按照本發明的一個視頻傳輸系統;以及圖-24示出使用ZPE-圖片的一個視頻傳輸系統。
圖-1到圖-17已經在前面被描述。
具體實施例方式
現在本發明通過參考圖-18(該圖舉例說明了由一個編碼器實現的一個編碼過程)和圖-19(該圖舉例說明了由對應所述編碼器的一個解碼器實現的一個解碼過程),以過程步驟的一個集合來被更詳細描述。在圖-18和圖-19中給出的過程步驟可以按照圖-16在一個視頻傳輸系統中被實現。
首先將參考圖-18舉例說明的編碼過程。在一個初始化階段中,編碼器初始化一個幀計數器(步驟110),初始化一個完整參考幀緩衝器(步驟112)並初始化一個虛擬參考幀緩衝器(步驟114)。之後所述編碼器接收到來自一個源,例如一個視頻攝像機的未加工的,即沒有被編碼的視頻數據(步驟116)。該視頻數據可以起源於一個實時傳送。編碼器接收到將在當前幀的編碼中使用的編碼模式的一個指示(步驟118),就是說,它將是一個INTRA幀還是一個INTER幀。所述指示可以來自一個預先設置的編碼方案(流程塊120)。該指示可選地可以來自一個場景切換檢測器(流程塊122),如果它被提供的話,或者作為來自一個解碼器的反饋(流程塊124)。之後編碼器決定是否將當前幀編碼成一個INTRA幀(步驟126)。
如果決定是「是」(決定128),那麼當前幀就被編碼從而構成一個INTRA幀格式的壓縮幀(步驟130)。
如果決定是「否」(決定132),那麼編碼器就接收一個幀將在以INTER幀格式編碼當前幀中被作為一個參考來使用的指示(步驟134)。這可以根據一個預定的編碼方案來確定(流程塊136)。在本發明的另一個實施方案中,這可以由來自解碼器的反饋來控制(流程塊138)。這將在以後被描述。被標識的參考幀可以是一個完整幀或一個虛擬幀,且因而編碼器要確定是否要使用一個虛擬參考(步驟140)。
如果一個虛擬參考幀要被使用,那麼它就從虛擬參考幀緩衝器中檢索(步驟142)。如果一個虛擬參考不被使用,那麼一個完整參考幀就從完整幀緩衝器中檢索(步驟144)。之後當前幀按INTER幀格式通過使用未加工的視頻數據和被選擇的參考幀來編碼(步驟146)。這預先假定在完整和虛擬參考幀緩衝器中存在它們各自的幀。如果編碼器正在發送初始化之後的第一個幀,那麼這通常是一個INTRA幀且因此沒有參考幀被使用。通常,無論何時一個幀被編碼成INTRA格式都不需要參考幀。
不管當前幀是被編碼成INTRA幀格式還是INTER幀格式,下面的步驟都將被接著應用。編碼的幀數據被按優先次序劃分(步驟148),該特定的優先級劃分取決於是INTER幀還是INTRA幀編碼已被使用。所述優先級基於其對重構被編碼圖片的數據是如何重要而將數據劃分成低優先級和高優先級數據。一旦被如此劃分,一個比特流就被構成來發送。在構成比特流中,一個適當的分組方法被使用。任何適當的分組方案都可以被使用。之後比特流就被發送給解碼器(步驟152)。如果當前幀是最後一個幀,那麼就決定(步驟154)在該點終止程序(流程塊156)。
如果當前幀是INTER編碼的並且不是序列中的最後一個幀,那麼表示當前幀的編碼信息就基於相關的參考幀、通過使用低優先級和高優先級數據被解碼,從而構成幀的一個完整重構(步驟157)。之後完整的重構就被存儲在完整參考幀緩衝器中(步驟158)。之後表示當前幀的編碼信息就基於相關的參考幀、通過只使用高優先級數據被解碼從而構成一個虛擬幀的重構(步驟160)。之後虛擬幀的重構被存儲在虛擬參考幀緩衝器中(步驟162)。可替換地,如果當前幀是INTRA編碼的並且不是序列中的最後一個幀,那麼適當的解碼就在步驟157和160處不使用一個參考幀來實現。過程步驟的集合又從步驟116開始並且之後下一個幀被編碼並構成進一個比特流中。
在本發明一個可替換的實施方案中,上面提出的步驟的順序可以不同。例如,初始化步驟可以以任何方便的順序發生,正如解碼完整參考幀的重構和虛擬參考幀的重構的步驟一樣。
儘管前面描述了一個幀根據一個單個參考被預測,但是在本發明的另一個實施方案中,不止一個參考幀可以被用於預測一個特定的INTER編碼的幀。這既適用於完整INTER幀又適用於虛擬INTER幀。換句話說,在本發明可替換的實施方案中,一個完整INTER編碼的幀可能有多個完整參考幀或多個虛擬參考幀。一個虛擬INTER幀可能有多個虛擬參考幀。而且,一個參考幀或多個參考幀的選擇可以對於被編碼的每一個圖片分段、宏塊、塊或一幅圖片的子元素而被單獨/獨立地做出。一個參考幀可以是任何可存取的或可以在編碼器和解碼器中生成的完整或虛擬幀。在一些情況下,例如在B幀的情況下,兩個或多個參考幀與同一個圖片區域關聯在一起,並且一個內插方案被用於預測要被編碼的區域。另外,每一個完整幀都可以與多個不同的虛擬幀聯繫在一起,它通過使用以下方式來被構造分類完整幀的編碼信息的不同方式;以及/或用於運動補償的不同參考(虛擬或完整)圖片;以及/或解碼比特流的高優先級部分的不同方式。
在這種實施方案中,多個完整和虛擬參考幀緩衝器在編碼器和解碼器中被提供。
現在將參考圖-19舉例說明的解碼過程。在一個初始化階段中解碼器初始化一個虛擬參考幀緩衝器(步驟210)、一個正常參考幀緩衝器(步驟211)和一個幀計數器(步驟212)。之後所述解碼器接收到一個涉及被壓縮的當前幀的比特流(步驟214)。之後該解碼器確定當前幀被編碼成INTRA幀格式還是INTER幀格式(步驟216)。這可以從例如在圖片頭部中接收到的信息來確定。
如果當前幀是INTRA幀格式,它就通過使用完整比特流被解碼從而構成INTRA幀的一個完整重構(步驟218)。之後如果當前幀是最後一個幀那麼一個決定就被做出(步驟220)來終止該程序(步驟222)。假定當前幀不是最後一個幀,那麼之後表示當前幀的比特流就通過使用高優先級數據被解碼從而構成一個虛擬幀(步驟224)。之後新構造的虛擬幀被存儲在虛擬參考幀緩衝器中(步驟240),從中它可以被檢索以結合一個後續完整和/或虛擬幀的重構而使用。
如果當前幀是INTER幀格式,那麼在編碼器處在參考幀的預測中使用的參考幀就被標識出來(步驟226)。參考幀可以通過,例如,從編碼器發送給解碼器的比特流中存在的數據來被標識。被標識的參考可能是一個完整幀或是一個虛擬幀,且因此解碼器確定是否要使用一個虛擬參考(步驟228)。
如果一個虛擬參考要被使用,那麼它們就從虛擬參考幀緩衝器中來檢索(步驟230)。否則,一個完整參考幀就可以從完整參考幀緩衝器中來檢索(步驟232)。這預先假定在正常和虛擬參考幀緩衝器中存在它們各自的幀。如果解碼器正在接收初始化之後的第一個幀,那麼這通常是一個INTRA幀且因此沒有參考幀被使用。通常,無論何時一個被編碼成INTRA格式的幀要被解碼時都不需要參考幀。
之後當前(INTER)幀通過使用完整接收到的比特流和被標識的作為一個預測參考的參考幀來被解碼並重構(步驟234)並且新解碼的幀被存儲在完整參考幀緩衝器中(步驟242),從中它可以被檢索以結合一個後續幀的重構來使用。
如果當前幀是最後一個幀那麼一個決定就被做出(步驟236)來終止該程序(步驟222)。假定當前幀不是最後一個幀,那麼之後表示該當前幀的比特流就通過使用高優先級數據被解碼從而構成一個虛擬參考幀(步驟238)。之後這個虛擬參考幀被存儲在虛擬參考幀緩衝器中(步驟240),從中它可以被檢索以結合一個後續完整和/或虛擬幀的重構來使用。
應注意到解碼高優先級信息來構造一個虛擬幀不必遵循與當解碼該幀的完整表示時使用的相同的解碼程序。例如,在表示虛擬幀的信息中缺少的低優先級信息可以用默認值代替以便能夠解碼虛擬幀。
正如在前面所提到的,在本發明的一個實施方案中,在編碼器中選擇一個完整或一個虛擬幀作為一個參考幀是基於來自解碼器的反饋來實現的。
圖-20示出額外的步驟,它們修改圖-19中的過程以便提供這個反饋。圖-20中額外的步驟被插入到圖-19中的步驟214和216之間。既然圖-19在前面已經被全面描述,所以只有額外的步驟在此被描述。
一旦被壓縮的當前幀的比特流被接收到(步驟214),解碼器就校驗(步驟310)比特流是否已被正確接收到。這涉及常用的差錯校驗,後面跟著依賴於差錯嚴重性的更特定的校驗。如果比特流已被正確接收到,那麼解碼過程就可以直接進行到步驟216,其中解碼器確定當前幀被編碼成INTRA幀格式還是INTER幀格式,如在相關的圖-19中所描述的。
如果比特流還沒有被正確接收到,那麼解碼器接著確定它是否能夠解碼圖片頭部(步驟312)。如果它不能,那麼它就向包括編碼器的發送終端發出一個INTRA幀更新請求(步驟314)並且過程返回到步驟214。可替換地,解碼器不發出一個INTRA幀更新請求,而是指示該幀的所有數據被丟失,並且編碼器能夠對這個指示做出反應,這樣它在運動補償中就不參考所述丟失的幀。
如果解碼器可以解碼圖片頭部,那麼它就確定它是否能夠解碼該高優先級數據(步驟316)。如果它不能,那麼步驟314就被實現並且過程返回到步驟214。
如果解碼器可以解碼高優先級數據,那麼它就確定它是否能夠解碼該低優先級數據(步驟318)。如果它不能,那麼它就指示包含編碼器的發送終端來編碼相對當前幀的高優先級數據而不是低優先級數據被預測的下一個幀(步驟320)。之後該過程返回到步驟214。這樣,按照本發明,一種新類型的指示作為反饋被提供給編碼器。按照特定實現的細節,該指示可能提供與一個或多個指定圖片的碼字有關的信息。該指示可能指示已被接收到的碼字、還沒有接收到的碼字或者可能提供關於已被接收到的碼字以及那些還沒有接收到的碼字的信息。可替換地,該指示可能僅採用一個比特或碼字的形式,所述比特或碼字指示在當前幀的低優先級信息中已發生一個差錯,而不指定差錯的特性或哪個(哪些)碼字受到影響。
剛剛描述的指示提供了上面提到的與編碼方法中的流程塊138有關的反饋。一旦接收到來自解碼器的指示,編碼器就知道它應對照基於當前幀的一個虛擬參考幀來編碼在視頻序列中的下一個幀。
如果有足夠低的時延使得編碼器在編碼下一個幀之前就接收到反饋信息,那麼上面描述的過程就適用。如果不是這種情況,那麼優選地發送一個特定幀的低優先級部分丟失的指示。之後編碼器對這個指示以這樣一種方式做出反應以致它不使用它要編碼的下一個幀中的低優先級信息。換句話說,編碼器生成一個虛擬幀,它的預測鏈不包括丟失的低優先級部分。
解碼虛擬幀的一個比特流可能使用一個不同於解碼完整幀的比特流所用的算法。在本發明的一個實施方案中,多個這種算法被提供,並且解碼一個特定虛擬幀的正確算法的選擇在比特流中被用信號通知。在缺少低優先級信息的情況下,它可以由一些默認值代替以便能夠解碼一個虛擬幀。默認值的選擇可以改變,並且正確的選擇可以在比特流中用信號通知,例如使用在前面段落中提到的指示。
圖-18和圖-19以及20中的過程可以以一種適當的電腦程式碼的形式實現並且可以在一個通用微處理器或專門的數位訊號處理器(DSP)上執行。
應注意到儘管圖-18、19和20中的過程使用逐個幀的方法來編碼和解碼,但是在本發明的其它實施方案中實際上同樣的過程可以應用於圖像分段。例如,該方法可以應用於塊組、切片、宏塊或塊。通常,本發明可以應用於任何圖片分段,不只是塊組、切片、宏塊和塊。
為了簡化,使用按照本發明方法的B-幀的編碼和解碼在前面沒有被描述。然而,對本領域的技術人員來說很明顯該方法可以擴展到包括B-幀的編碼和解碼。另外,按照本發明的方法還可以被應用於採用視頻冗餘編碼的系統中。換句話說,Sync幀也可以被包括在本發明的一個實施方案中。如果虛擬幀在sync幀的預測中被使用,那麼如果主表示(即對應的完整幀)被正確接收到的話就不需要該解碼器來生成一個特定的虛擬幀。也不必構成一個虛擬參考幀用於sync幀的其它拷貝,例如當使用的線程數量大於2時。
在本發明的一個實施方案中,一個視頻幀被封裝成至少兩個業務數據單元(即分組),一個有高重要性而另一個有低重要性。如果H.26L被使用的話,那麼低重要性分組可以包含,例如被編碼的塊數據和預測差錯係數。
在圖-18、19和20中,通過使用高優先級信息做參考來解碼一個幀以便構成一個虛擬幀(見流程塊160、224和238)。在本發明的一個實施方案中這實際上可以分兩個階段來實現,如下1)在第一個階段中一個幀的臨時的比特流表示被生成,它包括高優先級信息和用於低優先級信息的默認值以及2)在第二個階段中所述臨時的比特流表示被正常解碼,即是以一種與當所有的信息可用時實現的解碼相同的方式。
應理解這種方法只表示本發明的一種實施方案,因為默認值的選擇可以調整並且用於虛擬幀的解碼算法可能不同於用來解碼完整幀所使用的解碼算法。
應注意到對虛擬幀的數量沒有特定的限制,所述虛擬幀可以從每一個完整幀中被生成。這樣,結合圖-18和19描述的本發明的實施方案只表示一種可能性,其中虛擬幀的一個單個鏈被生成。在本發明一個優選的實施方案中,虛擬幀的多個鏈被生成,每一個鏈都包括以一種不同方式,例如使用來自完整幀的不同信息,生成的虛擬幀。
還應注意到在本發明一個優選的實施方案中,比特流語法類似於在其中增強層沒有被提供的單層的編碼中使用的語法。而且因為虛擬幀通常不被顯示,所以按照本發明的一個視頻編碼器可以以這樣一種方式被實現以致當它開始相對討論的虛擬參考幀編碼一個後續幀時它可以決定怎樣生成一個虛擬參考幀。換句話說,一個編碼器可以靈活地使用前面幀的比特流並且所述幀可以被劃分成碼字的不同組合,甚至在它們被發送之後。當一個虛擬預測幀被生成時,指示哪一個碼字屬於一個特定幀的高優先級信息的信息可以被發送。在現有技術中,當編碼幀時一個視頻編碼器選擇一個幀的分層部分並且在對應幀的比特流內該信息被發送。
圖-21以一個圖的形式舉例說明了解碼包括INTRA-編碼幀I0和INTER-編碼幀P1、P2和P3的一個視頻序列的一部分。該圖被提供來顯示在相關的圖-19和20中描述的過程的結果並且,正如所見,它包括頂行、一個中間行和一個底行。頂行對應於被重構和顯示的幀(即,完整幀),中間行對應於每一個幀的比特流而底行對應於被生成的虛擬預測參考幀。箭頭指示用於生成被重構的完整幀和虛擬參考幀的輸入源。參考該圖,可以看到幀I0生成自一個對應的比特流I0 B-S而完整幀P1通過使用幀I0作為一個運動補償參考連同接收到的P1的比特流來被重構。同樣,虛擬幀I0』生成自對應於幀I0的比特流的一部分而人工幀P1』通過使用I0』作為一個參考用於運動補償預測連同P1的比特流的一部分被生成。完整幀P2和虛擬幀P2』分別以一種相似的方式通過使用來自幀P1和P1』的運動補償預測被生成。更特別是,完整幀P2通過使用P1作為一個參考用於運動補償預測連同接收到的比特流P1 B-S信息被生成,而虛擬幀P2』通過使用虛擬幀P1』作為一個參考幀,連同比特流P1 B-S的一部分被構造。按照本發明,幀P3通過使用虛擬幀P2』作為一個運動補償參考連同P3的比特流被生成。幀P2不用做一個運動補償參考。
從圖-21中很明顯看到一個幀和它的虛擬對應幀使用可用比特流的不同部分被解碼。完整幀使用全部可用的比特流來構造,而虛擬幀只使用比特流的一部分。虛擬幀使用的那部分是在解碼一個幀時比特流中最重要的一部分。除此之外,優選地虛擬幀使用的那部分是用於傳輸的最魯棒性地抗差錯保護的,並且這樣是最可能被成功地發送和接收的。用這種方式,本發明能夠縮短預測編碼鏈並使一個預測幀基於一個生成自一個比特流中最重要的一部分的虛擬運動補償參考幀,而不是基於一個通過使用最重要部分和一個較不重要部分生成的運動補償參考。
有一些情況,其中將數據分割成高和低優先級是不必要的。例如,如果涉及一幅圖片的整個數據可以適合於一個單個分組,那麼優選地就不用分割數據。在這種情況下,整個數據可以根據一個虛擬幀在預測中使用。參考圖-21,在這個特定的實施方案中,幀P1』通過根據虛擬幀I0』的預測並通過解碼P1的所有比特流信息來被構造。被重構的虛擬幀P1』不等同於幀P1,因為幀P1的預測參考是I0而幀P1』的預測參考是I0』。這樣,P1』就是一個虛擬幀,儘管在這種情況下,它是根據一個具有沒被按優先次序劃分成高和低優先級的信息的幀(P1)來被預測的。
本發明的一個實施方案將通過參考圖-22被描述。在這個實施方案中,在生成自視頻序列的比特流中運動和頭部數據與預測差錯數據分離開。運動和頭部數據被封裝進一個叫做運動分組的一個傳輸分組中並且預測差錯數據被封裝進一個叫做預測差錯分組的一個傳輸分組中。這被應用於幾個連續的編碼圖片。運動分組具有高優先級並且無論何時是可能的並且是必要時,它們都被重新發送,因為如果解碼器正確地接收到運動信息的話那麼差錯隱藏起來更好。運動分組的使用還具有提高壓縮效率的效果。在圖-22中表示的例子中,編碼器將運動和頭部數據從P-幀1到3中分離出來並且從那個信息中構成一個運動分組(M1-3)。P-幀1到3的預測差錯數據在一個獨立的預測差錯分組(PE1、PE2、PE3)中被發送。除了使用I1作為一個運動補償參考之外,編碼器基於I1和M1-3生成虛擬幀P1』、P2』和P3』。換句話說,編碼器解碼I1和預測幀P1、P2和P3的運動部分,這樣P2』就根據P1』來預測並且P3』就根據P2』來預測。之後幀P3』作為一個運動補償參考用於幀P4。在這個實施方案中虛擬幀P1』、P2』和P3』被稱作一個零預測差錯(ZPE)幀,因為它們不包含任何預測差錯數據。
當圖-18、19和20中的過程應用於H.26L時,圖片以這樣一種方式被編碼以致它們包括圖片頭部。包括在圖片頭部中的信息在前面描述的分類方案中是最高優先級信息,因為沒有圖片頭部,整個圖片就不能被解碼。每一個圖片頭部都包含一個圖片類型(Ptype)欄位。按照本發明,一個特定的值被包括以便指示圖片是使用一個虛擬參考幀還是使用多個虛擬參考幀。如果Ptype欄位的值指示一個或多個虛擬參考幀被使用的話,那麼圖片頭部還被提供關於怎樣生成該參考幀(多個參考幀)的信息。在本發明的其它實施方案中,依賴於使用的分組化的種類,這個信息可能被包括在切片頭部、宏塊頭部和/或塊頭部中。此外,如果多個參考幀結合一個給定幀的編碼被使用時,那麼其中一個或多個參考幀可能是虛擬的。下述信令方案被使用1.過去的比特流中的哪一個幀(哪些幀)被用於生成一個參考幀的一個指示在發送的比特流中被提供。有兩個值被發送一個對應於用於預測的在時間上剛過去的那幅圖片而另一個對應於用於預測的在時間上最早的那幅圖片。對本領域的普通技術人員來說很明顯在圖-18和19中舉例說明的編碼和解碼過程可以被適當地加以修改從而利用這個指示。
2.哪一個編碼參數被用於生成一個虛擬幀的一個指示。比特流適應於攜帶用於預測的最低優先級類別的一個指示。例如,如果比特流攜帶一個對應於類別4的一個指示,那麼虛擬幀就從屬於類別1、2、3和4的參數中被構成。在本發明的一個可替換的實施方案中一個更通用的方案被使用,其中用於構造一個虛擬幀的每一個類別都被單獨地用信號通知。
圖-23示出一個按照本發明的視頻傳輸系統400。該系統包括通信視頻終端402和404。在這個實施方案中,終端到終端的通信被示出。在另一個實施方案中,該系統可以被設置成終端到伺服器或伺服器到終端的通信。儘管它的用意是系統400使得能夠以一個比特流的形式進行雙向視頻數據的傳輸,但是它也使得能夠只進行單向視頻數據的傳輸。為了簡化,在示於圖-23中的系統400中,視頻終端402是一個發送(編碼)視頻終端而視頻終端404是一個接收(解碼)視頻終端。
發送視頻終端402包括一個編碼器410和一個收發器412。編碼器410包括一個完整幀編碼器414、一個虛擬幀構造器416,以及一個用於存儲完整幀的多幀緩衝器420和一個用於存儲虛擬幀的多幀緩衝器422。
完整幀編碼器414構成一個完整幀的一個編碼表示,它包含信息用於它後來的完全重構。這樣,完整幀編碼器414實現圖-18中的步驟118到146和步驟150。特別是,完整幀編碼器414能夠以INTRA的格式(例如,按照圖-18中的步驟128和130)或以INTER的格式來編碼完整幀。在圖-18中的步驟120、122和/或124處按照提供給編碼器的信息決定以一個特定的格式(INTRA或INTER)來編碼一個幀。在完整幀被編碼成INTER格式的情況下,完整幀編碼器414可以使用或者一個完整幀作為一個參考用於運動補償預測(按照圖-18中的步驟144和146)或者一個虛擬參考幀(按照圖-18中的步驟142和146)。在本發明的一個實施方案中,按照一個預定的方案(按照圖-18中的步驟136)完整幀編碼器414適應於選擇一個完整或虛擬參考幀用於運動補償預測。在一個可替換的和優選的實施方案中,完整幀編碼器414還適應於接收來自一個接收端編碼器作為反饋的一個指示,所述指示指定一個虛擬參考幀應在編碼一個後續完整幀中被使用(按照圖-18中的步驟138)。完整幀編碼器還包括本地解碼功能並按照圖-18中的步驟157構成完整幀的一個重構版本,其中按照圖-18中的步驟158它存儲在多幀緩衝器420中。這樣解碼的完整幀變得可獲得以便用作一個參考幀用於視頻序列中的一個後續幀的運動補償預測。
虛擬幀構造器416定義一個虛擬幀作為完整幀的一個版本,按照圖-18中的步驟160和162在缺乏完整幀的至少一些低優先級信息時通過使用完整幀的高優先級信息來被構造。更特別地是,虛擬幀構造器在缺乏至少一些低優先級信息時通過使用完整幀的高優先級信息來解碼由完整幀編碼器414編碼的幀從而構成一個虛擬幀。之後它將虛擬幀存儲在多幀緩衝器422中。這樣該虛擬幀變得可獲得以便用作一個參考幀用於在視頻序列中的一個後續幀的運動補償預測。
按照編碼器410的一個實施方案,按照圖-18中的步驟148完整幀的信息在完整幀編碼器414中被按優先次序劃分。按照一個可替換的實施方案,按照圖-18中的步驟148的優先級劃分由虛擬幀構造器416來實現。在本發明的實施方案中,其中關於幀的編碼信息的優先級劃分的信息被發送給解碼器,每一個幀的信息的優先次序的劃分可以發生在或者完整幀編碼器中或者虛擬幀構造器416中。在實現時,其中幀的編碼信息的優先次序的劃分由完整幀編碼器414來實現,該完整幀編碼器414還負責構成優先級劃分信息用於到解碼器404的後續傳輸。同樣,在實施方案中,其中幀的編碼信息的優先次序的劃分由虛擬幀構造器416來實現,虛擬幀構造器416還負責構成優先級劃分信息用於傳輸到解碼器404。
接收視頻終端404包括一個解碼器423和一個收發器424。解碼器423包括一個完整幀解碼器425、一個虛擬幀解碼器426、以及一個用於存儲完整幀的多幀緩衝器430和一個用於存儲虛擬幀的多幀緩衝器432。
完整幀解碼器425解碼來自一個比特流的一個完整幀,所述比特流包含用於完全重構完整幀的信息。完整幀可能被編碼成INTRA格式或I NTER格式。這樣,完整幀解碼器就實現圖-19中的步驟216、218和步驟226到234。按照圖-19中的步驟242,完整幀解碼器將新重構的完整幀存儲在多幀緩衝器430中以便以後用作一個運動補償預測參考幀。
按照圖-19中的步驟224或238,依賴於該幀被編碼成INTRA格式還是INTER格式,虛擬幀解碼器426在缺乏完整幀的至少一些低優先級信息時通過使用完整幀的高優先級信息來從完整幀的比特流中構造一個虛擬幀。按照圖-19中的步驟240,虛擬幀解碼器還將新解碼的虛擬幀存儲在多幀緩衝器432中用於以後作為一個運動補償預測參考幀來使用。
按照本發明的一個實施方案,按照在發送終端402的編碼器410中使用的相同的一個方案,比特流的信息在虛擬幀解碼器426中被按優先次序劃分。在一個可替換的實施方案中,接收終端404接收到在編碼器410中使用的優先級劃分方案的一個指示從而按優先次序劃分完整幀的信息。之後這個指示提供的信息由虛擬幀解碼器426使用來確定在編碼器410中使用的優先級並接下來構成虛擬幀。
視頻終端402產生一個編碼的視頻比特流434,它由收發器412來發送並經一個適當的傳輸媒體由收發器424來接收。在本發明的一個實施方案中,傳輸媒體是在一個無線通信系統中的一個空中接口。收發器424發送反饋436給收發器412。這個反饋的屬性已在前面被描述。
一個使用ZPE幀的視頻傳輸系統500的操作將被描述。該系統500示於圖-24。該系統500有一個發送終端510和多個接收終端512(其中只有一個被示出),該系統經一個傳輸信道或網絡來通信。發送終端510包括一個編碼器514、一個分組器516和一個發送器518。它還包括一個TX-ZPE-解碼器520。每一個接收終端512都包括一個接收器522、一個解分組器524和一個解碼器526。它們每一個還包括一個RX-ZPE-解碼器528。編碼器514編碼未壓縮的視頻從而構成壓縮的視頻圖片。分組器516將壓縮的視頻圖片封裝進傳輸分組中。它可以重新組織從編碼器獲得的信息。它還輸出不包含預測差錯數據的視頻圖片用於運動補償(被叫做ZPE-比特流)。TX-ZPE-解碼器520是一個用於解碼ZPE-比特流的正常視頻解碼器。發送器518經傳輸信道或網絡傳遞分組。接收器522接收來自傳輸信道或網絡的分組。解分組器524將傳輸分組解分組化並生成壓縮的視頻圖片。如果在傳輸期間一些分組丟失,那麼解分組器524會盡力在壓縮的視頻圖片中隱藏所述丟失。除此之外,解分組器524輸出ZPE-比特流。解碼器526重構來自壓縮視頻比特流的圖片。RX-ZPE-解碼器528是一個用於解碼一個ZPE-比特流的正常視頻解碼器。
編碼器514會正常操作,除了當分組器516請求一個ZPE幀用作一個預測參考的情況之外。之後編碼器514將默認的運動補償參考圖片變成ZPE幀,該幀由TX-ZPE-解碼器520來傳遞。而且,編碼器514在壓縮的比特流中用信號通知使用了ZPE幀,例如在圖片的圖片類型中。
解碼器526會正常操作,除了當比特流包含一個ZPE幀信號的情況之外。之後解碼器526將默認的運動補償參考圖片變成ZPE幀,該幀由RX-ZPE-解碼器528來傳遞。
本發明的性能與如在目前H.26L建議中指定的參考圖片的選擇相對比被表示出來。三個通常可用的測試序列被進行比較,即Akiyo、Coastguard、和Foreman。該序列的解析度是QCIF,它具有176×144像素的一個亮度圖片尺寸和88×72像素的一個色度圖片尺寸。Akiyo和Coastguard每秒捕捉30幀,而Foreman的幀速率是每秒25幀。這些幀是用遵循ITU-T建議H.263的一個編碼器來編碼的。為了比較不同的方法,一個(每秒10幀的)恆定目標幀速率和多個恆定圖像量化參數被使用。線程長度L被選擇以便運動分組的尺寸小於1400位元組(即,用於一個線程的運動數據小於1400位元組)。
ZPE-RPS的情況有幀I1、M1-L、PE1、PE2、...、PEL、P(L+1)(根據ZPE1-L被預測)、P(L+2)、...,然而正常RPS的情況有幀I1、P1、P2、...、PL、P(L+1)(根據I 1被預測)、P(L+2)。在兩個序列中唯一不同編碼的幀是P(L+1),但是由於使用了一個恆定量化的步驟使得在這兩個序列中這個幀的圖像質量是相同的。下表示出了結果
從結果的比特率增加列中可見當參考圖片選擇被使用時零預測差錯幀增加了壓縮效率。
本發明特定的實現和實施方案已被描述。對本領域的技術人員來說很清楚,本發明不局限於上面提出的實施方案的細節,而是它可以在其它實施方案中通過使用相同的設備在不偏離本發明的特徵時被實現。本發明的範圍只由附加的專利權利要求來限制。
權利要求
1.一種用於解碼已編碼視頻幀的方法,該已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該方法包括接收(214)一個由語法元素按照所述相關樹描述的已編碼視頻幀;使用所述相關樹的所有語法元素來形成(218,234)一個第一參考幀;以及使用所述相關樹的其中一些語法元素來形成(224,238)一個第二參考幀,已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上。
2.按照權利要求1的解碼已編碼視頻幀的方法,還包括當形成該第二參考幀時用默認值來代替該未用的語法元素。
3.按照權利要求2的解碼已編碼視頻幀的方法,還包括基於在比特流中用信號通知的指示而選擇該默認值。
4.按照權利要求2的解碼已編碼視頻幀的方法,還包括生成一個包括該未用的語法元素和默認值的臨時的比特流,以及以一種等同於在所有語法元素都被使用時執行的解碼的方式來解碼該臨時的比特流。
5.按照權利要求1的解碼已編碼視頻幀的方法,其中形成該第二參考幀是通過使用一個選定的算法來進行的,該選定的算法是基於一個在比特流中用信號通知的指示來選擇的。
6.按照權利要求1的解碼已編碼視頻幀的方法,還包括使用來自(232)該第一參考幀的預測(234)而解碼一個第二已編碼視頻幀。
7.按照權利要求1的解碼已編碼視頻幀的方法,還包括使用來自(230)該第二參考幀的預測(234)而解碼一個第二已編碼視頻幀。
8.按照權利要求7的解碼已編碼視頻幀的方法,其中使用來自該第二參考幀的預測的解碼是響應於作為該第二已編碼視頻幀的一部分的指示。
9.一種用於解碼已編碼視頻幀的方法,該已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該方法包括接收一個由語法元素按照所述相關樹描述的已編碼視頻幀;確定(318)無能力使用所述相關樹的所有語法元素來形成一個第一參考幀,該無能力是由語法元素錯誤導致;使用所述相關樹的其中一些語法元素來形成一個第二參考幀,其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及向編碼器發送(320)一個指示,該指示是無能力形成該第一參考幀的指示。
10.一種用於編碼原始視頻幀以產生已編碼視頻幀的方法,該已編碼視頻幀包括語法元素,該語法元素具有按照一個有根的相關樹的解碼相關性,該方法包括接收(116)一個第一視頻幀;使用第一參考幀來編碼(146)該第一視頻幀以產生第一已編碼幀,該第一已編碼幀包括按照所述相關樹的語法元素;使用所述相關樹的所有語法元素來解碼(157)該第一已編碼幀;將解碼該第一已編碼幀的結果存儲(158)在第一緩衝器中;接收(116)一個第二視頻幀;使用第二參考幀來編碼(146)該第二視頻幀以產生第二已編碼幀,該第二已編碼幀包括按照所述相關樹的語法元素;使用所述相關樹的其中一些語法元素來解碼(160)該第二已編碼幀;其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及將解碼該第二已編碼幀的結果存儲(162)在第二緩衝器中。
11.按照權利要求10的方法,包括接收(116)一個第三視頻幀;以及使用(142)存儲在所述第二緩衝器中的、所述解碼該第二已編碼幀的結果作為參考來編碼(146)該第三視頻幀,由此而產生一個第三已編碼幀。
12.按照權利要求10的方法,包括接收(116)一個第三視頻幀;以及使用(114)存儲在所述第一緩衝器中的、所述解碼該第一已編碼幀的結果作為參考來編碼(146)該第三視頻幀,由此而產生一個第三已編碼幀。
13.按照權利要求10的方法,還包括在該第一已編碼幀和該第二已編碼幀中指定(148)哪些足以產生一個可接受的重構圖片的語法元素。
14.按照權利要求10的方法,還包括發送(152)該第一已編碼幀;判決在形成該第二參考幀中使用哪些語法元素;以及基於該判決而形成該第二參考幀。
15.按照權利要求14的方法,其中發送該第一已編碼幀在時間上要先於判決在形成該第二參考幀中使用哪些語法元素。
16.按照權利要求10的方法,還包括在該第一已編碼幀中提供該第一參考幀被用於編碼的指示;以及發送(152)該第一已編碼幀。
17.一種用於已編碼視頻幀的視頻解碼的設備,該已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該設備包括用於接收一已編碼視頻幀的輸入;被耦合到該輸入的第一幀解碼器(425),該第一幀解碼器被安排來使用所述相關樹的所有語法元素來解碼該已編碼視頻幀以產生一個第一參考幀;以及被耦合到該第一幀解碼器的第一緩衝器(430),該第一緩衝器被安排為存儲該第一參考幀;被耦合到該第一幀解碼器的第二幀解碼器(426),該第二幀解碼器被安排為使用所述相關樹的其中一些語法元素來解碼該已編碼視頻幀以產生一個第二參考幀,其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及被耦合到該第二幀解碼器的第二緩衝器(432),該第二緩衝器被安排來存儲該第二參考幀。
18.按照權利要求17的用於視頻解碼的設備,其中該設備被安排為使用來自該第一參考幀的預測去解碼一個第二已編碼視頻幀。
19.按照權利要求17的用於視頻解碼的設備,其中該設備被安排為使用來自該第二參考幀的預測去解碼一個第二已編碼視頻幀。
20.按照權利要求17的用於視頻解碼的設備,其中未使用的語法元素包括預測誤差信息。
21.按照權利要求20的用於視頻解碼的設備,其中已使用的語法元素包括運動矢量信息。
22.按照權利要求17的用於視頻解碼的設備,其中該第二幀解碼器被安排為在解碼之前用默認值去代替該未用的語法元素。
23.一種用於視頻幀的視頻編碼的設備,所產生的已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該設備包括一個幀編碼器(414),該幀編碼器被安排來對一視頻幀進行編碼,由此產生一已編碼幀,該已編碼幀是按照所述相關樹,該幀編碼器包括解碼功能性,該解碼功能性被安排來產生一個第一參考幀,該第一參考幀是通過使用所述相關樹的所有語法元素來產生的;被耦合到該第一幀編碼器的第一緩衝器(420),該第一緩衝器被安排來存儲該第一參考幀;被耦合到該幀編碼器的幀構造器(416),該幀構造器被安排為使用所述相關樹的其中一些語法元素來解碼該已編碼視頻幀以產生一個第二參考幀,其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及被耦合到該幀構造器的第二緩衝器(422),該第二緩衝器被安排來存儲該第二參考幀。
24.按照權利要求23的用於視頻幀的視頻編碼的設備,其中該設備被安排為使用來自該第一參考幀的預測而編碼一個第二視頻幀。
25.按照權利要求23的用於視頻幀的視頻編碼的設備,其中該設備被安排為使用來自該第二參考幀的預測而編碼一個第二視頻幀。
26.按照權利要求23的用於視頻幀的視頻編碼的設備,其中該幀構造器被安排為判決在構造該第二參考幀中使用哪些語法元素,其中該已編碼幀的傳送在時間上先於判決使用哪些語法元素。
27.按照權利要求23的用於視頻幀的視頻編碼的設備,其中該幀編碼器被安排為在該已編碼幀中指定哪些語法元素足以產生一個可接受的重構圖片。
28.一種視頻通信終端(404),包括用於解碼已編碼視頻幀的解碼器(423),該已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該解碼器包括用於接收一已編碼視頻幀的輸入;被耦合到該輸入的第一幀解碼器,該第一幀解碼器被安排來使用所述相關樹的所有語法元素來解碼該已編碼視頻幀以產生一個第一參考幀;該解碼器還包括被耦合到該第一幀解碼器的第一緩衝器,被耦合到該第一幀解碼器的第二幀解碼器,該第二幀解碼器被安排為使用所述相關樹的其中一些語法元素來解碼該已編碼視頻幀,其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及被耦合到該第二幀解碼器的第二緩衝器,以及被耦合到該解碼器的收發器(424)。
29.一種視頻通信終端(402),包括用於視頻幀的視頻編碼的編碼器(410),所產生的該已編碼視頻幀由語法元素來描述,該語法元素具有按照一個有根的相關樹的解碼相關性,該編碼器包括一個幀編碼器,該幀編碼器被安排來對一視頻幀進行編碼,由此產生一已編碼幀,該已編碼幀是按照所述相關樹,該幀編碼器包括解碼功能性,該解碼功能性被安排來產生一個第一參考幀,該第一參考幀是通過使用所述相關樹的所有語法元素來產生的;該編碼器還包括被耦合到該第一幀解碼器的第一緩衝器,該第一緩衝器被安排來存儲該第一參考幀;被耦合到該幀編碼器的幀構造器,該幀構造器被安排來使用所述相關樹的其中一些語法元素來解碼該已編碼視頻幀以產生一個第二參考幀,其中已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上;以及被耦合到該幀構造器的第二緩衝器,該第二緩衝器被安排來存儲該第二參考幀;以及被耦合到該編碼器的收發器(412)。
30.一種代表一個已編碼視頻幀的比特流,該已編碼視頻幀包括語法元素,該語法元素具有按照一個有根的相關樹的解碼相關性,該比特流包括一個指示,由一個解碼器在確定哪些語法元素已經由該編碼器用於形成參考幀中使用,其中所述參考幀已經使用所述相關樹的其中一些語法元素來形成,已使用的語法元素包括樹根,而未使用的語法元素是在遠離該樹根的分支上,其中所述參考幀在產生該已編碼視頻幀的編碼過程中使用。
全文摘要
一種用於編碼一個視頻信號的方法包括的步驟有通過構成一個比特流來編碼一個第一完整幀,所述比特流包含用於它隨後進行完全重構(150)的信息,該信息被按優先次序劃分成(148)高和低優先級信息;基於第一完整幀的一個版本定義(160)至少一個虛擬幀,所述虛擬幀在缺乏第一完整幀的至少一些低優先級信息時通過使用第一完整幀的高優先級信息來被構造;並且通過構成一個比特流來編碼(146)一個第二完整幀,所述比特流包含用於它隨後進行完全重構的信息,該信息被按優先次序劃分成高和低優先級信息;使得第二完整幀基於虛擬幀而不基於第一完整幀來被完全重構。一種對應的解碼方法也被描述。
文檔編號H04N7/24GK1801944SQ20051013690
公開日2006年7月12日 申請日期2001年8月21日 優先權日2000年8月21日
發明者K·卡格拉, M·漢努克塞拉 申請人:諾基亞有限公司