新四季網

用於3d子帶編碼的嵌入式基層編解碼器的製作方法

2023-07-11 07:50:51 2

專利名稱:用於3d子帶編碼的嵌入式基層編解碼器的製作方法
技術領域:
描述了用於可縮放的視頻編碼和解碼的相關技術和工具。例如3D子帶視頻編碼器包括嵌入式基層編解碼器,3D子帶視頻解碼器包括嵌入式基層解碼器。
背景技術:
數字視頻消耗大量的存儲容量和傳輸容量。典型的原始數字視頻序列每秒包括15或30幀。每幀可以包括幾萬或幾十萬像素(也稱象素),其中每一個像素代表圖像的一個微小的元素。以原始形式,計算機通常用三個樣值共24比特的一組代表一個像素。例如一個像素可以包括一個定義像素灰度成分的八比特的亮度樣值(也稱發光率樣值,在此處術語「亮度」與「發光率」是通用的)和兩個定義像素色彩成分的八比特的色度樣值(也稱為色品樣值,在此處術語「色度」與「色品」是通用的)。這樣,典型的原始數字視頻序列每秒的比特數目或比特率,可達到每秒5百萬比特或更多。
許多計算機和計算機網絡缺乏資源來處理原始數字視頻。由於這一原因,工程師使用壓縮(也稱編碼或解碼)來減少數字視頻的比特率。壓縮通過將視頻轉換成較低比特率的形式降低了存儲和傳輸視頻的成本。解壓縮(也稱解碼)從視頻的壓縮形式重建視頻的最初版本。一個「編解碼器」是一個編碼/解碼系統。壓縮可以是無損的,在這種情況下視頻質量不會受到損失,但是由於受視頻數據可變性(有時稱為熵)的固有數量的制約比特率縮減受到限制。或者,壓縮也可以是有損的,在這種情況下視頻質量會受到損失,但獲得的比特率的縮減更為可觀。有損壓縮和無損壓縮通常是同時發生的—有損壓縮確定一個信息近似值,而無損壓縮用於表示這一近似值。
作為視頻壓縮的一般規則,質量變化直接與比特率有關。對於給定視頻序列,如果這一序列以較高質量進行編碼,那麼序列的比特率也就比較高,而如果這一序列以較低質量進行編碼,那麼這一序列的比特率也就比較低。各種因素都能影響比特率和原始數字視頻序列的質量,包括時間解析度(例如每秒7.5、15、30或60視頻幀)、空間解析度(例如每視頻幀176×144(QCIF),352×288(CIF),或704×576(4CIF)像素),和樣值解析度(如每像素8,16或24比特)。質量和比特率可能會由於活動時間、空間或者樣值解析度的高低而變化。
質量和比特率也取決於在有損壓縮過程中由信息內容的簡化或消除產生的失真量。這影響著,例如,重建時視頻中的模糊度、塊度、顆粒度等的數量。明顯不同地,有損壓縮降低序列的質量以使編碼器得到較低的比特率。
作為另外一個一般規則,質量和比特率取決於視頻序列在細節和運動方面的複雜度。對於某些固定的質量水平,複雜序列典型地比簡單序列需要更多比特進行編碼。反過來的一面是,當以某些固定比特率編碼時,複雜序列典型地得到比簡單序列更低的質量。
在某些情況下,全部要求是以單一比特率/質量水平對視頻編碼。例如,如果視頻是為了用單一類型的設備再現被編碼,或者如果視頻是為了經由電話線的點對點視頻會議中再現被編碼,那麼以單一比特率/質量水平對視頻進行簡單編碼是合理的。然而,在許多其他情況下,以多種比特率/質量水平對視頻進行編碼是合理的。例如在網際網路上流動視頻時,視頻伺服器常常不得不向其不同容量的設備提供視頻和/或在各種具有不同速度和可靠特性的網絡環境中分發視頻。
一種尋址不同網絡和重現需求的方法是以多種比特率和質量水平對同一視頻序列進行編碼,這會因為多種獨立的壓縮視頻比特流導致存儲和傳輸的低效率。作為可選擇的,子帶或子波視頻編碼提供一種在單一、可縮放的壓縮視頻比特流中以多解析度方式對視頻序列進行編碼的方法。利用子帶或子波編碼,視頻序列將被分解成不同時間和空間的子帶。
作為一個簡單例子,視頻序列被拆分成低解析度時間子帶(大約相當該序列的低幀率版本)和一個高解析度時間子帶(這種子帶能與低解析度時間子帶合併來修復原始幀率序列)。單個的視頻幀的信息可以同樣的被拆分成低解析度空間子帶和多個較高解析度空間子帶。時間和空間的分解可同時使用。每一種類型的分解可以被重複,例如,就像一個低解析度的子帶可以被進一步分解。通過以不同解析度為傳輸或解碼選擇特定子帶,可以實現時間和空間的可縮放性。
除此以外,單個子帶信息可以用具有多個比特率層的比特平面來表示。對於原始編碼信息的保真度可以通過傳輸一些而不是全部子帶的比特選擇性地減少(和比特率一起)。或者,保真度可以通過對少於全部的子帶比特進行解碼選擇性地減少(連同處理要求一起)。
雖然可縮放視頻編碼和解碼技術使壓縮比特流的不同時間、空間和比特保真度的可縮放性更容易,但是在現有可縮放視頻編碼和解碼技術中存在幾個缺點。
現有可縮放視頻編碼和解碼技術典型地不能提供在低比特率方面與不可縮放技術相比的性能。在可縮放視頻編碼和解碼技術的性能在較高的比特率和質量方面很好的同時,相比不可縮放視頻編碼和解碼技術,它們在低比特率方面使用太多比特。
此外,許多現有硬體和軟體工具是根據特定不可縮放視頻編碼和解碼技術設計的。這些工具的使用者不願購買新的和現存工具不可兼容的可縮放視頻編碼和解碼技術、工具。而且,內容提供者可能不願生產和安裝與多數視頻解碼工具不兼容的編碼內容。
有時,解碼器以比原始空間解析度低的空間解析度播放視頻。這可能發生在以下情況,例如,如果解碼設備只有一個小屏幕或是通過網絡獲得較高空間解析度信息。然而,當在解碼過程中以原始空間解析度發生時間分解時,以較低空間解析度解碼是很成問題的。現有的可縮放視頻解碼技術不能充分訪問這一編碼腳本。
最後,現有的可縮放視頻編碼和解碼技術在編碼和解碼期間不能說明在某些判斷中的失真的可察覺性。典型地,現有可縮放視頻編碼技術在某些種類時間分解的低解析度時間子帶中引入了過量可察覺的失真。
舉出了數字視頻壓縮與解壓縮的最重要性,對於可縮放視頻編碼器具有廣闊發展領域就不令人驚訝了。無論先前的可縮放視頻編碼和解碼技術如何有益,然而它們並不具有以下技術和工具的長處。
發明概述這裡描述的技術和工具改進了可縮放視頻編碼和解碼的性能。例如,3D子帶視頻編碼器包括嵌入式基層編解碼器。該基層編解碼器具有幾個優點,包括在低比特率下有效壓縮以及與現有解碼器的基層兼容性。同時,3D子帶視頻編碼器提供在較高比特率下的時間、空間可縮放性的選項。相應的3D子帶視頻解碼器包括嵌入式基層解碼器。
根據第一組工具和技術,其中嵌有基層編解碼器的3D子帶視頻編碼器,對視頻編碼並輸出編碼結果。例如基層編解碼器在3D子帶視頻編碼器中跟蹤一個或更多時間變換並且優先於在編碼器中的一個或更多其他的時間變換。可以將基於基層編解碼器的輸入和基層編解碼器的輸出的差的餘量信息提供給在基層編解碼器之後的時間變換。或者,時間轉換可以包括相對於基層編解碼器輸出中的參考圖像的動作補償時間濾波。在一些實施中,3D子帶編碼器再次利用動作信息和/或來自基層編解碼器的模式信息。
根據第二組技術和工具,其中嵌有基層解碼器的3D子帶視頻解碼器,對視頻解碼並輸出解碼結果。例如,基層解碼器在3D子帶視頻解碼器中跟蹤一個或更多反向時間變換並且優先於在解碼器中的一個或更多其他的反向時間變換。可以將餘量信息提供給在基層解碼器之後的反向時間變換,然後將其和基層解碼器的輸出合併。或者,反向時間轉換可以包括相對於基層編解碼器輸出中的參考圖像的動作補償時間濾波。在一些實施中,3D子帶解碼器再次利用動作信息和/或來自基層解碼器的模式信息。
本發明的前述和其它的目的、特徵和優點將從下面繼續進行的參考附圖的詳細描述中變得更加明顯。


圖1是可縮放視頻編碼和解碼的一般的操作環境的框圖。
圖2、3、4和5是結合各種描述的可以實現的實施例的一般視頻編碼器和/或解碼器的框圖。
圖6是說明在動作補償時間濾波(「MCTF」)中輸出視頻幀、時間低通幀和時間高通幀之間關係的圖表。
圖7、8是分別說明了編碼器中的MCTF和解碼器中反向MCTF(「IMCTF」)的框圖。
圖9、10是分別說明在編碼器中具有自適應更新級的MCTF和在解碼器中具有自適應更新級的IMCTF的框圖。
圖11、12、13是說明自適應更新操作技術的流程圖。
圖14、15、16、17、18和19是說明在3D子帶編碼器中嵌入基層編解碼器或者在3D子帶解碼器中嵌入基層解碼器的不同方案的框圖。
圖20是說明當基層編解碼器或解碼器提供參考候選時的不同參考幀的合併的圖。
圖21、22和23是說明用3D子帶編解碼器和嵌入式基層編解碼器編碼的幀模型的圖。
圖24是說明用具有嵌入式基層編碼器的3D子帶編碼器進行可縮放編碼的技術的流程圖。
圖25是說明用具有嵌入式基層解碼器的3D子帶解碼器進行可縮放解碼的技術的流程圖。
圖26是說明以較低空間解析度輸出的對SDMCTF編碼視頻進行解碼的兩種方案的框圖。
圖27是說明SDIMCTF和IBIMCTF中動作補償預測的框圖。
圖28是說明由於動作移動導致的功率譜洩漏的圖解。
圖29是說明以較低空間解析度輸出的對SDMCTF編碼視頻進行解碼的基準方案的圖表。
圖30是說明以較低空間解析度輸出對SDMCTF編碼視頻進行解碼的一般方案框圖。
圖31、32、33和34是說明以較低空間解析度輸出的對SDMCTF編碼視頻進行解碼的方案的框圖。
具體實施例方式
在三維(「3D」)子波或子帶視頻編碼中,通過幾次空間轉換和時間轉換將視頻分解為許多時間-空間子帶。這些子帶某種程度上是獨立的,其中它們中的一些放棄可縮放性。例如為了解碼低空間解析度視頻,空間高通子帶被放棄或者解碼器只對空間低通子帶中的接收數據實施解碼。
在這裡描述的各種技術和工具可以被獨立使用。一些技術和工具可以組合使用(例如,在組合的編碼和/或解碼過程的不同階段)。
I.操作環境範例圖1說明了適當的計算平臺(100)的一般例子,其中幾個描述的實施例可以在這裡實現。計算平臺(100)不試圖建議對使用範圍或功能提供任何限制,所描述的技術和工具可在各種通常用途或特定用途的計算平臺中實現。
參考圖1,計算平臺(100)包括了至少一個處理單元(110)和存儲器(120)。在圖1中,虛線內包括了最基本的配置(130)。處理單元(110)執行計算機可執行的指令並且可以是真實或虛擬的處理器,在多處理系統中,多個處理單元通過執行計算機可執行的指令來提高處理能力。存儲器(120)可能是易失存儲器(例如寄存器,高速緩存,RAM),非易失存儲器(例如ROM,EEPROM,快閃記憶體等),或者是兩者之間的一些組合。存儲器(120)存儲利用這裡描述的一種或多種技術實現的視頻編碼器和/或解碼器的軟體(180)。
計算平臺可以具有附加特徵。例如計算平臺(100)包括內存(140),一個或多個輸入設備(150),一個或多個輸出設備(160),以及一個或多個通信連接(170)。交互連接結構(未示出)諸如總線、控制器或網絡,將計算平臺(100)中的部件相互連接起來。典型地,作業系統軟體(未示出)為其他在計算平臺(100)中的軟體提供操作平臺,並且協調計算平臺(100)中各部分的運行。
內存(140)可以是可刪除的或不可刪除的,並且包括磁碟,磁帶或盒式磁帶,CD-ROM、DVD或別的任何能夠用於存儲信息以及能訪問計算平臺(100)的其他介質。內存(140)為軟體(180)存儲指令。
輸入設備(150)可以是可觸摸式輸入設備,像鍵盤、滑鼠、電子筆或跟蹤球,一種聲音輸出設備、掃描儀或者其他可以向計算平臺(100)提供輸入的設備。因為對音頻和視頻編碼,輸入設備(150)可以是音效卡、視頻卡、TV調諧卡或能以模擬或數字形式接收音頻和視頻輸入的類似設備,或者是能將音頻和視頻抽樣讀取到計算平臺(100)中的CD-ROM或CD-RW。輸出設備(160)可以是顯示器、印表機、揚聲器、CD刻錄機或其他能從計算平臺(100)提供輸出的設備。
通信連接(170)能夠通過通信介質和別的計算實體通信。通信介質傳送的信息諸如計算可執行指令、音頻或視頻的輸入或輸出,或者其他已調製數據信號形式的數據。已調製數據信號是一種具有一個或多個自身特徵組的信號,或者是一種以類似信號中編碼信息的方式變化的信號。通過舉例的方式,而不是限制,通信介質包括利用電、光、射頻(RF)、紅外線、聲音或其他載波實現的有線或無線技術。
這些技術和工具可以在計算機可讀介質的常規上下文中進行描述。計算機可讀介質是任何能訪問計算機平臺的可獲得介質。通過舉例的方式,而不是限制在計算平臺(100)中,計算機可讀介質包括存儲器(120)、內存(140)、通信介質以及以上任何的組合。
這些技術和工具可以在計算機可執行指令的常規上下文中進行描述,諸如那些包括在程序模塊中、以在計算平臺中在目標真實或虛擬處理器上來執行的指令。一般來說,程序模塊包括能執行特定任務或實現特定抽取數據類型的例程、程序、程序庫、目標、類、組件、數據結構等。程序模塊的功能在不同實施例中可以按需要在程序模塊之間組合或拆分。用於程序模塊的計算可執行指令可以在本地或分布式計算平臺執行。
出於說明的目的,詳細描述用像「信號」、「決定」和「應用」這樣的術語來描述計算平臺中的計算機操作。這些術語是對計算機執行的操作的高度提煉,並且不應和人類執行的動作混淆。實際的相應於這些術語的計算機操作依賴實施而變化。
II.視頻編碼器和解碼器的範例圖2是結合各種描述的可以實現的實施例的一般視頻編碼器系統(200)的框圖。圖4顯示了由一層空間分解跟蹤四層時間分解的常規編碼器(400)。圖3是結合各種描述的可以實現的實施例的一般視頻解碼器系統(300)的框圖。圖5顯示了具有四層(反向)時間分解和兩層(反向)空間分解的組合編碼器/解碼器系統(500)。
在編碼器和解碼器內的模塊之間顯示的關係指出了編碼器和解碼器中主要的信息流程;為了簡明起見沒有示出其他關係。特別的是,除了動作信息之外,圖2和圖3沒有表示出指示用於視頻序列、幀、宏模塊、塊等的編碼器設置、模式、表格等的側面信息。這種側面信息大概在進行側面信息的熵編碼後,在輸出比特流中進行發送。
依靠實施和想要的壓縮類型,圖中顯示的編碼器或解碼器的模塊可以被增加、省略、拆分成多個模塊、與其他模塊組合,和/或被類似的模塊替換。在可選實施例中,具有不同模塊和/或模塊的其它配置的編碼器和解碼器實現一個或更多所描述的技術。例如,雖然圖2中顯示了在編碼器系統(200)中空間分解(230)在時間分解(210)下遊,但編碼器系統(200)可以替換地或額外在時間分解(210)開始前包括一層或多層空間分解。在這種情況下,相應的解碼器系統(300)可以在反向時間分解(310)之後包括一層或多層反向空間分解。
3D子帶視頻編碼對比不可縮放視頻編碼(例如,每H.264或VC-1標準)的技術等級獲得了中等或高比特率的性能。與常規不可縮放方法相比,無論怎樣,花費在3D子帶視頻編碼中的運動矢量編碼的比特量相對較大。因此,3D子帶視頻編碼在低比特率通常比不可縮放方法執行差,這裡編碼運動矢量所花費的比特量在總比特率中佔較大比重。
A視頻編碼器範例3D子帶視頻編碼是一種使用多級時間/空間子帶視頻分解來提供多級空間和/或時間縮放能力的一流方法。圖2說明一般的3D子帶視頻編碼方案(200)。編碼器(200)接收視頻圖像(205)的序列(例如改進的視頻幀、隔行掃描視頻幀或隔行掃描視頻幀的半幀),並且產生壓縮視頻信息(295)作為輸出。視頻編碼器的特定實施例典型地採用一般編碼器(200)的變形或增補版本。
編碼器(200)通過時間子帶轉換(210)來分解視頻信號。圖2顯示單一級別時間分解被輸出為低解析度子帶和高解析度子帶,但是時間分解可能以包括4、5個或一些其它數目級別的分解。
在圖2中,時間分解(210)是動作補償時間濾波(「MCTF」),所以編碼器(200)執行動作估計(220)以計算視頻信號動作信息。動作估計(220)的確切策略取決於具體實施,並且可以包括,例如,按照子像素提純進行的整數像素檢索、螺旋檢索模式、被認為真實的失真率函數最小化或者模仿殘餘編碼消耗、動作信息編碼消耗、動作預測模式等。
在一些實施例中,編碼器(200)為在動作估計(220)中的可變尺寸區域的動作矢量(從4×4到16×16)計算動作矢量,並在MCTF中應用這樣的動作矢量。例如對於16×16的大區域,編碼器(200)會為一個16×16分區、兩個16×8分區、兩個8×16分區或四個8×8分區計算動作矢量,這裡每個8×8分區可以進一步拆分為兩個8×4分區、兩個4×8分區或四個4×4分區。或者,編碼器(200)為更大區域(例如32×32)的較高空間解析度視頻(如CIF)計算動作矢量以便在只對較低空間解析度視頻(如QCIF)解碼時更方便地利用動作矢量。可替換地,編碼器(200)為其他尺度區域的動作矢量計算動作信息。
動作估計(220)和MCTF的動作精度取決於具體實現。例如動作估計(220)和MCTF使用四分之一像素動作矢量。可選擇地,動作估計(220)和MCTF使用一些其他精度的動作信息。例如,為了在只對QCIF視頻解碼時更方便地利用四分之一像素動作矢量,編碼器(200)為CIF視頻計算二分之一像素動作矢量和為4CIF視頻計算整數像素動作矢量。
動作估計(220)和MCTF的動作矢量方向可能是前向、後向、雙向或內部的。在一些實施例中,編碼器(200)設置動作估計(220)和一個大區域每分區的補償方向為前向、後向、雙向或內部中的任何一個。可選擇地,編碼器(200)在一些其他級別設置方向和/或不允許一些方向(例如內部)。
在一些實施例中,參考幀可以被填充(例如,通過簡單的重複填充)以便允許參考幀之外的動作估計/補償。利用雙線性濾波器、雙三次濾波器、正弦濾波器或一些其他濾波器,參考幀的內插子像素產生抽樣值中的分數動作估計或補償的抽樣值。在一些實施例中,編碼器使用重疊區域動作補償(「OBMC」)。可選擇地,動作矢量範圍被限制在參考幀邊界內和/或不使用OBMC。
下面將用5/3雙正多邊形子波結構描述幾個MCTF的例子。可選擇地,編碼器(200)進行其它數字和/或類型的時間子帶轉換(210)(例如Haar)和/或動作估計(220)。圖2表示在全部空間解析度視頻被時間轉換的的空間域MCTF。可選擇地,編碼器(200)在時間分解(210)之前包括一個或多個空間子帶轉換,並且MCTF是來自原始空間分解的空間子帶的帶內MCTF。
在時間轉換(210)之後,編碼器(200)提供一個或多個二維(「2D」)空間子帶轉換(230)來進一步分解信號。圖2顯示了兩級2D空間分解的輸出,其中具有垂直和水平的低空間解析度的子帶被進一步垂直地和水平地分解。例如2D空間子帶轉換是雙值離散子波轉換(「DWT」)。這種子波濾波器可以是,例如,9/7DWT濾波器或5/3DWT濾波器。可選擇地,編碼器(200)執行其它數目(例如3或4)的空間子帶轉換和/或執行其它類型的空間子帶轉換(230)。
在時間轉換(210)和空間轉換(230)之後,信號被組織成不同的時空子帶,其相應於輸入視頻(205)的不同時空解析度。編碼器(200)對子帶進行熵編碼(240),例如,在一些實施例中,編碼器(200)使用具有最佳截斷的3D嵌入式分組編碼(EBCOT)。JPEG2000利用EBCOT的2D模式,在該實施例中的編碼器(200)基本上將2D EBCOT擴展為3D編碼。由時間和空間轉換產生的每一個子帶,被分成獨立編碼的3D編碼塊。對於每個編碼塊,編碼器(200)應用比特平面編碼和基於上下文的運算編碼。可替換地,編碼器(200)對子帶信息使用某種其它形式的熵編碼。
編碼器(200)也對動作信息(例如,動作矢量、動作模式選擇信息)進行編碼(250)。例如,編碼器(200)使用像簡單可變長度碼這樣的某種形式的熵編碼來對動作矢量信息、大塊分區和動作估計/補償的方向進行熵編碼。對於動作矢量,編碼器(200)對動作矢量與它的預測器之間的差進行編碼。動作矢量預測器可以從先前的編碼/解碼動作矢量中利用中值預測或者某些其它的動作矢量預測技術進行計算。可替換地,編碼器(200)利用其它和/或額外的為動作信息的編碼(250)技術。
擁有子帶轉換(210、230),編碼器(200)自然能支持空間可縮放性和時間/幀率可縮放性。此外,具有子帶係數比特平臺編碼,編碼器(200)通常也能夠支持質量/信噪比(「SNR」)的可縮放性。
這些可縮放性對於在有可能出現錯誤的網絡像國際網際網路或無線網絡上的視頻傳輸是非常有用的。不同的子帶可以進行不同糾錯或傳輸錯誤恢復水平的編碼以便傳輸。或者,不同子帶可以以不同優先級進行傳輸,其中網絡要支持優先傳輸。
這些不同的可縮放性也能幫助不同設備分享同一壓縮視頻流,甚至不同設備具有不同存儲資源、計算能力、顯示尺寸、訪問帶寬等。通過這種方式,以不同比特率進行編碼視頻(205)的任務得到簡化。
多級別時間分解的一個優點是視頻信號的時間冗餘能在很大程度上被利用。首先的幾個級別的時間子帶轉換可以利用幀附近中的時間冗餘,最後幾個級別的時間子帶轉換可以利用較長距離交叉的幀間的相關性。
圖4顯示了具有四層時間分解和一層空間分解的3D子帶視頻編碼器(400)的例子。實際上,圖4顯示了圖2中時間子帶轉換(210)的一種可能的擴展,並且也顯示了不同級別時間分解的數據流。圖4也介紹了時間和空間分解的新的標記法。
在圖4中,編碼器(400)對具有每秒f幀的幀率的視頻提供四級時間子帶轉換。每級時間子帶轉換Ti把輸入到本級的信號分成兩個時間子帶—時間低通子帶和時間高通子帶。從而每個子帶具有輸入到本級視頻信號的一半的幀率。在圖4中,字母t-Li和t-Hi分別代表在第i級時間轉換Ti之後輸出的低通子帶和高通子帶。t-Li和t-Hi的幀率均為f/2i。圖4中,信號t-Li被用時間子帶轉換Ti+1分解成幾個迭代以便利用長距離相關和使得較低幀率的視頻能被解碼器解碼。
用簡單的幾個例子來說明,假定輸入視頻是每秒30幀(「fps」)的CTF視頻。從最先的時間分解中輸出的低通子帶t-L1是15fps的視頻,從最先的時間分解中輸出的高通子帶t-H1與此一樣。從第二次時間分解中輸出的子帶t-L2和t-H2是7.5fps的視頻,從第三次時間分解中輸出的子帶t-L3和t-H3是3.75fps的視頻。最後,從第四次時間分解中輸出的子帶t-L4和t-H4是1.875fps的視頻。在本例中空間解析度對於所有輸出的低通和高通子帶均是CIF。
幀中的動作信息以不同級別進行估計,而每一級別的時間轉換是根據當前級別的運動軌跡來執行的。這樣每個級別的時間分解產生了隨後被編碼的動作矢量。圖4中,相應於四級時間轉換,有四套動作矢量。
輸出時間低通子帶T-L4和輸出時間高通子帶t-H1、t-H2、t-H3和t-H4用單一級別的2D空間子帶轉換S1來分解,這將各自的輸入子帶分解成低通水平、低通垂直(「LL」),低通水平、高通垂直(「LH」),高通水平、低通垂直(「HL」)和高通水平、高通垂直(「HH」)子帶。可替換地,編碼器(400)在時間分解級別之前和/或之後包括其它和/或附加級別的時間分解,或者編碼器(400)使用不同的空間分解模式。
繼續以上以圖4開始的幾個例子,低通子帶t-L4具有CIF空間解析度。隨著單一級別的2D空間子帶轉換S1,時間子帶t-L4被分解成LL子帶、LH子帶、HL子帶和HH子帶。LL、LH、HL和HH子帶中的每一個具有QCIF解析度。相似的是,每個時間高通子帶t-H1、t-H2、t-H3和t-H4以CIF解析度開始並被分解成為具有QCIF解析度的LL、LH、HL和HH子帶。
被空間分解的子帶接著被熵編碼並輸出。
B視頻解碼器的範例圖3說明了一般的3D子帶視頻解碼方案(300)。解碼器(300)接收壓縮視頻信息(395)並產生視頻圖像(305)序列(例如,改進視頻幀、隔行掃描視頻幀或者隔行掃描視頻半幀)作為輸出。視頻解碼的特定實施例典型地使用一般解碼器(300)的變形或增補版本。
解碼器(300)對一些或全部空間-時間子帶的信息(395)進行熵解碼(340)。視頻信息(395)仍被組成不同的空間-時間子帶,其相應於輸入視頻(205)的不同的時間解析度。以這種方法,解碼器(300)可以在不同的空間-時間解析度之間進行選擇,忽略壓縮比特流(395)的部分,或解碼器(300)可以只對解碼器(300)實際收到的壓縮比特流(395)的某些子集進行解碼(340)。解碼器(300)實際上只對解碼器(300)解碼的信息執行在編碼器(200)中進行的熵編碼的(240)的反向處理。例如解碼器(300)接收並對以3D DBCOT編碼的信息進行解碼(340)。可替換地,解碼器(300)對一些或全部子帶信息採用某些其它形式的熵解碼。
當解碼器(300)執行反向MCTF(「IMCTF」)時,解碼器(300)對動作信息(例如,動作矢量、動作模式選擇信息)進行解碼(350),在許多情況下執行在編碼器(200)中執行的編碼(250)的反向處理。例如,解碼器(300)使用像單一可變長度編碼的解碼這樣的某種形式的熵解碼。對動作矢量,解碼器(300)利用中值預測或某些其它動作矢量預測技術來計算動作矢量預測,並且之後解碼器(300)用動作矢量微分合併動作矢量預測。可替換地,解碼器(300)使用其它和/或額外的解碼(350)技術。
解碼器(300)提供一個或多個2D反向空間子帶轉換(330)以空間地重建視頻。圖3顯示兩級2D反向空間分解的輸入和輸出。例如2D反向空間子帶轉換是雙值反向DWT(「IDWT」)。可替換地,解碼器(300)執行其它數目和/或類型的反向空間子帶轉換(330)。
解碼器(300)通過一個反向時間子帶轉換(310)來進一步重建視頻信號。圖3顯示了來自低解析度子帶和高解析度子帶的單一級別的時間重建,但是該時間組合可能包括4、5個或一些其它數目級別的合成。
在圖3中,反向時間轉換(310)使用IMCTF,而解碼器(300)利用已解碼(350)動作信息對視頻信號進行動作補償。通常,動作信息和IMCTF的屬性(例如,動作補償分區、動作矢量的精確度、動作補償方向、參考幀填充的使用、子像素插值、OBMC的使用)是在相應的編碼器(200)中並且在壓縮視頻比特流(395)中發送信號。下面描述了IMCTF的幾個例子。可替換地,解碼器(300)執行其它數目和/或類型的反向時間子帶轉換(310)和/或動作補償。圖3顯示了空間域的IMCTF,其中利用反向時間變換重建了全部空間解析度視頻。可選擇地,解碼器(300)執行帶內MCTF。
回到圖4的編碼器(400),相應的解碼器只能通過t-Li重建f/2i幀率的視頻。或者,解碼器能通過t-Li和t-Hi(包括隨後的時間高通子帶的信息t-Hi+1等)重建f/2i-l幀率的視頻。
圖5顯示編碼器中具有四層時間分解和兩層空間分解以及在解碼器中具有相應數目反向轉換的3D子帶視頻編碼解碼器(「編解碼器」)系統(500)的例子。實際上,圖5顯示了圖2和3中的編碼器(200)和解碼器(300)的其它可能版本。圖5還介紹了其它更簡明的時間和空間分解以及他們反向操作的表示法。
在圖5中,編碼器向視頻提供四個級別的時間子帶轉換Ti(例如,T1、T2、T3和T4)以及向時間分解的結果提供兩個級別的空間子帶轉換Si(例如S1和S2)。編碼器接著執行熵編碼E。解碼器執行熵解碼E-1並對熵解碼執行兩級反向空間子帶轉換Si-1(例如S2-1和S1-1)。解碼器接著向空間重建的結果提供四級反向時間子帶轉換Ti-1的四個級別(如T4-1、T3-1、T2-1和T1-1)。
III.動作補償的時間濾波為了提高編碼效率,在時間分解中提供動作調整時間轉換(這裡可選擇地稱作動作補償時間濾波(「MCTF」))以便有效刪除時間冗餘。MCTF的主要思想是當應用時間分解時,在不同幀中調整像素。動作調整3D編碼方案能提供像無補償一樣的可縮放性,或者甚至比其它編碼方案更好的編碼效率。
在各種MCTF方案中,基於提升的MCTF提供了靈活而有效的實施。圖6說明了在給定的5/3正多邊子波的基於提升MCTF方案中輸入視頻幀、時間低通幀和時間高通幀之間的關係。
圖6顯示了輸入到MCTF的四個原始、索引視頻幀的像素欄。(輸入幀本身可以是,例如,從MCTF的前一級別中輸出的時間低通子帶。)圖6中的基於提升的子波變換包括兩個基本階段動作補償預測(「MCP」)階段和動作補償更新(「MCU」)階段。
在預測階段,對於奇數幀(例如,幀I2i+1),來自一個或多個相鄰偶數幀(例如,幀I2i和I2i+2)的動作補償指示該奇數幀像素的動作補償預測。高通幀(例如Hi)實質上是奇數幀和對奇數幀的動作補償預測的差。
在更新階段,一個或多個可利用的高通幀(例如幀Hi和Hi-1)的動作補償指示了動作補償的更新。低通幀(例如幀Li)實質上是更新和偶數幀(例如幀I2i)之間的差。
圖7說明編碼器中具有提升的常規MCTF,圖8說明了解碼器中相應的IMCTF。為保持一致,在本申請的圖7和圖8中以及其它地方,偶數視頻幀作為動作補償預測的參考,並被用作低通幀的信息,以及奇數視頻幀是MCP的主體並用作高通視頻幀的信息。可替換地,奇數幀和偶數幀的角色可交換。
在圖7的MCTF(700)中,偶數視頻幀被用作MCP(710)的參考。對於特定奇數幀I2i+1,編碼器根據一個或多個相鄰的偶數幀I2i和I2i+2計算動作補償預測。在預測與原始奇數幀I2i+1,之間的差就是時間高通幀Hi。
高通幀Hi在MCU(720)中被用作參考。對於特定偶數視頻幀I2i,編碼器根據一個或兩個高通幀Hi-1和Hi為相鄰的奇數視頻幀計算動作補償更新。更新與原始偶數幀I2i的合併就是時間低通幀Li。
例如,假設視頻幀序列I0、Ii、……I2n-1要用圖7中的MCTF(700)處理。預測模塊(710)按如下所示根據連續的偶數幀I2i和I2i+2來計算奇數幀I2i+1的預測P(I2i+1)。
P(I2i+1)=12(MC(I2i,MV2i+1->2i)+MC(I2i+2,MV2i+1->2i+2)---(1),]]>在這裡MV2i+1-2i表示從幀I2i+1到幀I2i的動作矢量,MV2i+1-2i+2具有相似意思,而MC表示來自相鄰偶數幀的當前奇數幀的預測的至少一部分的動作補償。(等式(1)意思是說明用於提供動作矢量的大塊、大塊分區或者是其它部分的奇數幀的MCP,並且這樣的MCP被用於重複奇數幀其它的大塊、大塊分區等。)在一些情況下,編碼器在計算動作補償預測時(像在Haar轉換中)只考慮相鄰偶數幀中的一個(而不是兩個),相應地改變等式(1)中的MC屬性和權重;或者編碼器利用內部壓縮對部分或全部奇數幀進行編碼。結合嵌入式基層編解碼器,編碼器可以用除相鄰偶數幀以外的幀作為參考幀,如下面所述。
預測模塊(710)接著按如下所示計算高通幀Hi。
Hi=I2i+1-P(I2i+1)(2)。
在更新步驟(720),其接著預測步驟(710)來完成一級時間轉換,編碼器按如下所示根據相鄰高通幀為偶數幀I2i計算更新信息U(I2i)。
U(I2i)=14((MC(Hi-1,MV2i->2i-1)+MC(Hi,MV2i->2i+1))---(3).]]>這裡MC表示根據相鄰高通幀為偶數幀產生至少部分更新的動作補償。作為一種簡單方法,MCU的動作矢量可以用相應MCP動作矢量的反轉得到。(等式(3)意思是說明用於提供動作矢量的大塊、大塊分區或者是其它部分的偶數幀的MCU,並且這樣的MCU被重複用於偶數幀其它的大塊、大塊分區等。)在一些情況下,編碼器在計算動作補償更新時只考慮高通幀中的一個(而不是兩個),相應地改變等式(3)中的MC屬性和權重;或者編碼器兩個高通幀均不考慮。
編碼器接著按如下所示產生低通幀。
Li=I2i+U(I2i) (4)。
在圖8的IMCTF(800)中,高通幀Hi在MCU(820)中被用作參考。對於特定偶數視頻幀I2i,解碼器根據高通幀Hi-1和Hi中的一個或全部為相鄰奇數視頻幀計算動作補償的更新。在更新和相應的偶數幀I2i的時間低通幀Li之間的差就是重建的偶數幀I2i。
在重建時,偶數視頻幀在MCP(810)中被作為參考。對於特定奇數視頻幀I2i+1,解碼器根據相鄰重建偶數幀I2i和I2i+2中的一個或者兩個計算動作補償的預測。預測與奇數幀I2i+1的相應時間高通幀Hi的合併就是重建的奇數幀I2i+1。
在編碼器中,預測步驟的通常的目標是和用於預測的動作矢量一起最小化或者減少編碼高通幀(在空間分解和熵編碼中)所需的比特率。這樣,高通幀Hi實質上是相應的來自相關偶數索引原始視頻幀的奇數索引輸入視頻幀I2i+1的雙向MCP(或者前向MCP,或者後向MCP,視情況而定)的餘量。接著,原始偶數索引幀I2i用預測餘量更新為低通幀。
高通幀的能量取決於動作模式的成功,後者取決於運動的複雜性、動作交叉幀的一致性和動作模式自身。如果動作預測是精確的,那麼預測殘餘通常具有很小幅度。甚至在動作被真實捕獲時,然而,更新步驟仍是有用的,由於沿著運動軌跡的低通濾波他們能減少噪音和失真。通常,更新步驟有助於低通幀中高頻部分的刪除,因此提高了編碼效率。
如果動作預測不準確(例如,由於複雜、不可預測的動作或者動作模式自身的的不足),目標特徵可能不被校正,引發了幾個問題。不準確的動作預測可能導致高通子帶幀中的多邊沿和能量的增加。這不僅僅損害了高通子帶自身的編碼壓縮性能,而且也在更新步驟中增加了時間低通幀的邊沿和輪廓的重影。
更普遍的是,當具有時間可縮放性時更新步驟可能影響解碼性能。尤其是,例如,由於有限的信道帶寬或設備能力,當一些時間高通幀部分或全部丟失時,解碼器中可能出現問題。(通常,IMCTF中的時間可縮放性的獲得是通過保留時間低通子帶同時丟棄時間轉換域中的高通子帶。)當動作預測無效時,在編碼的更新步驟期間高通幀將噪聲帶給低通幀(也就是說,較低幀率的視頻)。當視頻僅僅根據時間低通幀重建時,高通幀的影響不能被解碼器中的MCU消除。或者,如果時間高通幀信息被粗劣地量化,那麼由於高通幀的影響只能在MCU中被近似地刪除,時間低通幀的質量可能受到損害。因此,在更多比特被分配給低通幀用於編碼時,低通幀中的重影也不能被消除。
一種可能的解決方法是在編碼器中跳過以提升為基礎的MCTF中的更新步驟。這會顯著降低編碼器的整體性能,因為不管怎樣,更新步驟中由於沿運動軌跡的低通濾波能夠減少噪音和失真。而且,更新步驟通過在時間高通子帶和時間低通子帶中分散失真來減少解碼器中的整體失真。
IV.在MCTF和IMCTF中的自適應更新在一些實施例中,可縮放視頻編碼器在以提升為基礎的MCTF中自適應地執行更新步驟和/或可縮放視頻解碼器在IMCTF中自適應地執行更新步驟。通過利用人工可視系統的特徵,自適應更新步驟提高從時間低通子帶解碼的低幀率視頻的可視質量。同時,對比常規更新步驟,自適應更新步驟為從時間低通和時間高通子帶解碼的較高幀率的視頻保持了令人滿意的性能。
A 編碼器和解碼器範例自適應更新方案在兩個相互矛盾的目標(1)儘可能多地增加原始更新信息和(2)同時減少由更新步驟產生的視覺噪聲之間取得了良好的平衡。
圖9描述了編碼器中具有自適應更新操作的MCTF框架(900),圖10描述了解碼器中具有自適應更新操作的IMCTF框架(1000)。例如,框架(900,1000)像在參考圖2-5的描述那樣被併入編碼器和/或解碼器之中。可替換地,自適應更新操作被併入到另一種編碼器和/或解碼器中。
參考圖9,MCTF框架(900)包括預測(910)和更新(920)階段。這些階段基本上像參考圖7的描述那樣繼續進行。
MCTF框架(900)使用人工可視系統(「HVS」)模型(930),按照視覺質量對來自預測步驟的信號進行估計。例如編碼器根據HVS模型(930)對偶數幀中的信息進行估計。在一些實施例中,HVS模型(930)採用恰巧留意到差異(JND)的進位。而在其它實施例中,HVS模型(930)使用其它已知標準。HVS模型(930)為閾值(940)階段提供閾值信息,該階段考慮閾值信息進行估計並將結果提供給更新(920)階段。例如HVS模型(930)給根據這一模型估計的偶數幀的每一像素提供閾值。閾值的各種例子及它們在更新操作的使用將在下面描述。可替換地,HVS模型(930)提供不同的閾值信息。
閾值(940)階段的結果是更新信息可以被限制在失真特別明顯的圖像的部分中,同時更新信息不對圖像的其它部分進行限制。因此根據人們的感覺,在更新信息被提供給偶數幀之前更新信息可以被自適應的刪除或限制。
參考圖10,IMCTF框架(1000)也包括預測(1010)和更新(1020)階段。這些階段基本上像參考圖8的描述那樣進展。
IMCTF框架(1000)使用HVS模型(1030)按照可視質量估計信號。例如解碼器根據HVS模型(1030)估計低通幀中的信息。在一些實施例中,HVS模型(1030)使用恰巧留意到差異(「JND」)的進位。在其它實施例中,HVS模型(1030)使用其它已知標準。
HVS模型(1030)向閾值階段(1040)提供閾值信息,閾值階段參考閾值信息進行估計和為更新階段(1020)提供結果。例如,HVS模型(1030)提供按照該模型估計的低通幀的每像素的閾值。閾值的各種範例及它們在更新操作中的運用將在下文描述。可替換地,HVS模型(1030)提供不同的閾值信息。
比較圖9和圖10,編碼器方的HVS模型(930)被提供給偶數幀,而解碼器方的HVS模型(1030)被提供給低通幀。即使在同樣的HVS模型(930,1030)被用在編碼器方和解碼器方,閾值也會有細微的差別。對於相應的偶數和低通幀來說閾值可能很類似是在可容忍的限度內,因為編碼器和解碼器狀態間的偏差是幀的局部(相對於隨時間累積和變壞)。
此外,在圖9和10的框架(900,1000)中,閾值在每一級MCTF/IMCTF進行計算。就本身而言,閾值即使對於時間對應的幀在不同級的MCTF/IMCTF也可能是不同的。
因此,在一些實施例中,編碼器方的MCTF(900)和解碼器方的IMCTF(1000)在HVS模型(930,1030)中應用同樣的JND進位。由於閾值在編碼器和解碼器中被獨立計算和應用,所以沒有對和閾值相聯繫的開銷進行編碼或閾值操作。可替換地,編碼器向解碼器發送閾值信息或進行判定,或者解碼器提供與編碼器不同的HVS模型。
B HVS模型和閾值操作的範例編碼器中的自適應更新步驟通常可以按如下所示表示Li=I2i+f(U2i)。函數f是為偶數幀I2i提供更新U2i的自適應函數。Li表示作為結果的低通幀。
自適應函數利用人工可視模型的結果和推展。已經進行深入的研究以便發展基於人工可視系統的計算模型。在各種模型中,明確的標準是基於在HVS靈敏度以及在空間和時間域中亮度變化與對比度變化的激勵之間的不相容性的觀察。
在HVS的大量計算模型中,JND被廣泛用在可視編碼和圖片水印中。JND使用定義為亮度邊沿振幅函數的可視閾值,其中擾動一直增加到人們剛好能看清為止。更多信息參見A.N.Netravali與B.Prasada所著的「Adaptive Quantizationof Picture Signals Using Spatial Masking」,Proc.IEEE,卷號65,頁數536-548(1977年4月)。JDN與HVS的紋理屏蔽特性有著密切關係。根據這一標準,噪音在平面和沒有紋理的區域中更明顯,而噪音在具有邊沿和紋理的區域中就比較少見。
JND閾值是圖像的相關。只要更新信息保持小於JND閾值,在低通幀中就可獲得「更新殘餘」的透明度。就本身而言,JND像在自適應更新方案中的HVS模型一樣發揮很好的作用。在自適應更新方案的實施例中,JND模型按如下所示定義。
JNDx(i,j)=1-11+x2(i,j)---(5)]]>其中σx2(i,j)表示中心在坐標為(i,j)的像素的窗口內的圖像x的局部變量。JND可以只根據亮度抽樣計算來降低計算的複雜性。或者,JND可以根據亮度抽樣和色度抽樣來計算。窗口尺寸決定於實施。一個範例窗口的尺寸是3×3,另外一個是5×5。θ是為特定圖像選擇的調整參數。這與噪音能見度函數值一樣,假定了圖像是非靜止高斯的。調整參數θ在JND定義中起對比度調整的作用。為了使調整參數θ與圖像相關,它可以按照如下所示進行計算
=Dxmax2---(6),]]>這裡σxmax2是給定圖像最大局部變量,D∈[50,100]是實驗決定參數。根據JND的定義,由於σx2(i,j)很小,JND的值在平整區域也很小,反之亦然。
更精確的表示編碼器中自適應更新的方法是Li=I2i+f(I2i,U2i)(7),其中f(I2i,U2i)=U2i|U2i|JNDI2iSJNDI2iSU2iJNDI2iS-JNDI2iSU2i-JNDI2iS---(8).]]>JNDI2i是按上面定義的JNDx(i,j)的例子,S表示取決於實施的強度因子,例如12.5。JND函數與可視屏蔽相關的局部幀特徵相適應。如果局部亮度變量很大,JND相對大(根據等式(5)接近1),指示為繁忙或複雜的區域。另一方面,如果局部亮度變量小,JND相對小(根據等式(5)接近0),指示為平整的區域。它是根據要在編碼器中更新的偶數索引幀以及解碼器中的偶數索引幀(實際上,低通圖像近似閾值)計算的。結果,自適應更新可以有效地減少高通幀導致的重影以及提供時間縮放的編碼性能。
像上面提到的,在一些實施例中,編碼器和解碼器使用相同的JND進位和閾值(隨等式(8)中索引值等而改變),對於自適應更新操作沒有任何開銷要進行編碼和分發給解碼器。雖然編碼器和解碼器操作不同的圖像(在編碼器中的原始幀和解碼器中重建的低通版本),實驗結果顯示在解碼器中更新屏蔽的結果是很接近的編碼器中的近似值的。
可替換地,編碼器和/或解碼器利用其它定義的JND、其它HVS模型和/或其它閾值操作。例如可以採用其它和/或附加參數。
C 自適應更新技術的範例圖11到圖13說明了自適應更新操作技術(1100,1200,1300)。一個像參考圖9描述的那樣的編碼器實現圖11和12中所示的技術(1100,1200),一個像參考圖10描述的那樣的解碼器實現圖11和13中所示的技術(1100,1300)。可替換地,其它編碼器或解碼器都可以實現該技術(1100,1200,1300)。
圖11顯示自適應更新操作的簡單、概括的技術(1100)。編碼器或解碼器為自適應更新計算(1120)閾值。解碼器或編碼器接著執行(1160)自適應更新操作。
圖12顯示在編碼器中自適應更新操作的詳細技術(1200),包括附加特徵MCP。
對於當前為之計算低通幀的偶數幀,編碼器計算(1220)閾值。例如;編碼器為像在前面部分描述的當前偶數幀的像素計算JND。可替換地,編碼器採用某些其它進位計算(1220)閾值。
對於MCP,編碼器根據當前偶數幀計算(1230)一個或多個動作補償預測,例如,前向和/或後向預測相鄰奇數幀。編碼器可以根據其它的偶數幀為相鄰奇數幀計算(1230)一個或多個其它的動作補償預測(或者這種預測可以根據較早偶數幀提前地進行計算)。編碼器(1240)接著根據動作補償預測和他們相應的相鄰奇數幀來計算一個或多個高通幀。
接下來,編碼器根據一個或多個高通幀為當前偶數幀計算(1250)動作補償更新。例如,編碼器反向應用在MCP(1230)期間根據當前偶數幀計算的動作信息。可替換地,編碼器使用不同的機制來計算(1250)更新。
編碼器接著為當前偶數幀進行(1260)自適應更新,並以低通幀作為結果。例如編碼器利用動作補償更新和前面部分描述的JND閾值來進行自適應閾值操作。可替換地,編碼器可以利用不同的閾值機制來進行(1260)自適應更新。
編碼器(1290)決定是否繼續使用MCTF,以及如果繼續,則以下一個偶數幀繼續。
圖13顯示在解碼器中的自適應更新操作的詳細技術(1300),包括不同幀率的分開的解碼路徑。
解碼器為解碼確定(1310)時間解析度。時間解析度可以根據使用者等級設置或某些其它設置來確定,根據解碼器實際接收的信息量的多少(例如,只有通過易於出錯信道的時間低相應息)來確定的,或者由某種其它方法決定。可替換地,解碼器可以只有一條解碼路徑。例如,一個解碼器可以包括低幀率路徑同時另一個解碼器包括高幀率路徑,以適應各自解碼器的資源。
在低幀率路徑中,解碼器根據接收到的低通幀信息(例如使用低通幀作為當前幀)來計算(1312)當偶數幀。由於高相應息和動作信息被忽略或不能接收,所以不執行自適應更新操作。即使缺少這種信息,由於編碼期間的自適應更新操作,由於在編碼期間偶數幀顯著失真的增加被限制,所以當前偶數幀的質量被提高了(和常規IMCTF相比)。
在高幀率路徑中,對於當前偶數幀,解碼器根據被解碼器接收的相應低通幀計算(1320)閾值。例如解碼器為前面部分描述的低通幀的像素計算JND。可替換地,解碼器使用某個其它進位計算(1320)閾值。
解碼器根據一個或多個高通幀來為當前偶數幀來計算(1330)動作補償更新(值)。例如解碼器反向應用在當前偶數幀的MCP(1230)期間計算的動作信息。可替換地,解碼器可使用不同機制來計算(1330)更新。
解碼器接著對低通幀執行(1360)自適應更新來重建當前偶數幀。例如解碼器利用更新和前面部分中描述的JND閾值來執行自適應閾值操作。可替換地,解碼器可以利用不同閾值機制來執行(1360)自適應更新。
對於MCP,解碼器根據重建的當前偶數幀來計算(1370)一個或多個動作補償預測,例如前向和/或後向以便預測相鄰奇數幀。(其它給相鄰奇數幀的動作補償預測可以由較早偶數幀被提前地計算。)解碼器接著根據奇數幀和相應高通幀的動作補償計算(1380)重建的奇數幀。
解碼器確定(1390)是否繼續IMCTF,以及如果是,則用下一個偶數幀繼續。
在圖12和圖13中顯示的各種操作都可以被分解、與其它操作組合,或重新排列。例如,雖然圖12以並行方式顯示某些操作,然而這些操作可以代替地以串行方式執行。
V.3D子帶視頻編碼和解碼中的嵌入式基層編解碼器在一些實施例中,可縮放視頻編碼器包括嵌入式基層編解碼器和包含在嵌入式基層解碼器中的可縮放視頻解碼器。基本上,由嵌入式基層編解碼器產生的比特流是作為低比特率、3D子帶視頻編碼比特流的基層用的。在一些可縮放視頻編碼/解碼系統的背景中,例如基層視頻以最小空間、時間和SNR解析度為系統提供視頻,根據加入系統的附加的增強層為系統提供縮放允許的最大空間、時間和SNR解析度。(在編碼和解碼中基層的確切作用在不同實施例中不同。)例如3D子帶視頻編碼器包括嵌入式視頻編解碼器而3D子帶視頻解碼器包括相應的嵌入式視器解碼器。
對於許多類型的嵌入式編解碼器,這提高了低比特率的編碼性能,其中這比特在常規3D子帶編碼中編碼動作信息花費的比特消耗了可用比特率的無效率的部分,相比較而言,嵌入式視頻編解碼器更有效率。在一些情況下,嵌入式編解碼器提供諸如閉環時間預測、內環濾波和失真率優化而沒有與3D子帶編碼相關的制約的優點。同時,3D子帶在中等和較高比特率編碼的優點(例如空間和時間的可縮放性)被保持下來。
在3D子帶視頻編碼中嵌入視頻編解碼器的另一個優點是為嵌入式編解碼器和相應解碼器提供兼容。例如如果MPEG-1編解碼是嵌入式,任何具有MPEG-1解碼能力的接收機能對壓縮視頻(即使MPEG-1編解碼器本身沒有改進編碼性能)的粗略版本進行解碼。如果H.264或VC-1編解碼器是嵌入式的,除了兼容性外,這還在低比特率的情況下提高了編碼性能。
這裡描述的技術和工具並不是對具有性能和/或兼容上的優點的系統的限制。除了性能和兼容性,在可縮放視頻編碼器中的嵌入式基層編解碼器和在可縮放視頻解碼器中的嵌入式視頻解碼器還具有其它優點。
A 編碼器和解碼器範例圖14至圖19說明了在編碼器或解碼器中分別嵌入基層編解碼器或解碼器的三種不同方案。在編碼器中,用於基層的編解碼器被嵌在時間子帶轉換中,空間子帶轉換跟著時間子帶轉換之後。附加的空間子帶轉換可以放在時間子帶轉換之前和/或之後,也對解碼器中的可能位置作相應地改變。基層編解碼器可以被放在各種轉換間的不同位置,相應地改變在解碼器中的可能位置。
通常,嵌入式編解碼器的位置為基層視頻設置了幀率和空間解析度。為了簡化在圖14至圖19中顯示三個方案之間的比較,基層解析度被設置為原始視頻的四分之一幀率和二分之一的空間解析度。這樣,如果原始視頻是30fps CIF視頻,例如,基層視頻就為7.5fps QCIF視頻。
這樣,在圖14、16和18的編碼器中基層編解碼器是在兩個時間子帶轉換之後,在圖15、17和19中的解碼器中基層解碼器在兩個反向時間子帶轉換之前。改變基層編碼器和解器碼在時間轉換中的位置是一種改變基層幀率的方法。例如通過圖14、16和18中顯示嵌入式基層模塊接收t-L2子帶作為輸入,可替換地基層模塊被放在t-L1子帶轉換或其它子帶轉換之後。通常,基層模塊在時間轉換中的位置取決於想要的基層視頻的幀率。
在圖14、16和18中,基層空間解析度的改變是通過抽樣操作或空間轉換操作以及一些隨機因素(相鄰嵌入式編解碼器或解碼器)來完成的。改變抽樣/空間子帶轉換操作的比率是一種改變基層空間解析度的方法。
圖14、16和18中包括時間子帶轉換模塊T、空間子帶轉換模塊S和MV編碼及熵編碼模塊,還有這些模塊的輸入和輸出。圖15、17和19包括反向時間子帶轉換模塊T-1、反向空間子帶轉換模塊S-1、MV解碼和熵解碼模塊,還有這些模塊的輸入和輸出。一般,這些模塊的作用和它們的輸入/輸出如參考圖2至5討論的那樣。
圖14、16和18中所示的基層編解碼器,以及圖15、17和19中相應的基層解碼器可以是產生遵從標準的比特流(例如MPEG-1,MPEG-2,MPEG-4,H.261,H.263,H.264/AVC,或者VC-1)。或者,基層編解碼器/解碼器能成為商品(如WMV8,WMV9)。更普遍地,基層編解碼器/解碼器可以是任何能夠獲得的具有期望性能和/或兼容特性的編解碼器/解碼器。
1 第一種方案圖14顯示了根據第一種方案的3D子帶編碼器(1400),編碼器(1400)包括嵌入式基層編解碼器(1420)以及在基層編解碼器(1420)左右的降抽樣模塊(1410)和升抽樣模塊(1430)。
降抽樣模塊(1410)和升抽樣模塊(1430)是可選的。它們在嵌入式編解碼器(1420)進行編碼的視頻具有比輸入到嵌入式編解碼器(1420)的時間子帶低的空間解析度時被使用。另外,降抽樣模塊(1410)和一個升抽樣模塊(1430)可以被跳過。
在圖14中虛線框包括了與在兩級時間分解之後和基層編解碼器(1420)相關的操作。對於基層,輸入視頻是每秒f/4幀,而解析度可以被降抽樣模塊(1410)減少。因此,基層視頻提供低幀率和(潛在的)原始視頻低空間解析度的表示。
降抽樣模塊(1410)使用簡單的子抽樣、低通濾波器以及其它濾波機制對t-L2時間子帶進行降抽樣。例如降抽樣模塊(1410)利用兩個水平或垂直因子減少空間解析度。在一些實施例中,降抽樣模塊(1410)採用MPEG濾波器,像在文獻由Bjontegaard等著的文獻「H.263 Anchors-Technical Description」中描述的那樣,或者Daubechies 9/7 DWT濾波器中被描述。尤其是,降抽樣模塊(1410)根據任一隨機比率改變嵌入式編解碼器(1420)的輸入的空間解析度來獲得想要的空間解析度和/或匹配基層編解碼器(1420)允許的輸入空間解析度。
嵌入式編解碼器(1420)利用嵌入式編解碼器(1420)的常用操作來對降抽樣的t-L2時間子帶(所示的ts-LL子帶)編碼。嵌入式編解碼器(1420)以基層解析度生成輸出的基層比特流(1495),其中基層比特流(1495)和相應的基層解碼器是兼容的。為了在編碼器(1400)中後續編碼的目的,嵌入式編解碼器(1420)還利用嵌入式編解碼器(1420)的相應解碼操作來對ts-LL子帶進行解碼,以生成重建子帶ts-LL』。
升抽樣模塊(1430)利用某些濾波機制對從基層編解碼器(1420)的重建輸出的子帶ts-LL』進行升抽樣,以產生時間子帶t-L2的重建版本t-L2』。重建子帶t-L2』具有與t-L2相同的解析度。例如升抽樣模塊(1430)通過兩個水平或垂直因子來增加空間解析度。在一些實施例中,升抽樣模塊(1430)採用簡易6抽頭濾波器{-1,5,20,20,5,-1}、像在由Chen等著的「Improved MC-EZBCwith Quarter-pixel Motion Vectors」中描述的8抽頭正弦濾波器或者Daubechies 9/7IDWT濾波器。升抽樣濾波器不需要和降抽樣濾波器對稱—例如MPEG濾波器可能被用來降抽樣,而IDWT濾波器可以用作升抽樣。尤其是,升抽樣模塊(1430)通過任一隨機比率改變嵌入式編解碼器(1420)的輸出的空間解析度,以便恢復視頻在降抽樣模塊(1410)之前具有的空間解析度。
編碼器(1400)從原始時間子帶t-L2減去重建版本t-L2』。這產生一個差或者殘餘子帶t-L2」。當基層編解碼器(1420)是有高效的(例如VC-1或H.264/AVC)以及基層比特率是足夠的,基層質量可以相對較好,因此子帶差沒有很多能量。另一方面,當基層編解碼器(1420)是低效的或基層比特率是不充分的,基層質量可能相對較差,因此子帶差具有更多能量。
編碼器(1400)在子帶差t-L2」基礎上執行兩個更深級別的時間分解。最後,編碼器(1400)在各自子帶(例如t-H1,t-H2,t-H3,t-H4和t-L4)執行空間轉換和熵編碼以生成可縮放比特流。
圖15顯示了根據第一種方案的相應的3D子帶解碼器(1500),解碼器(1500)包括嵌入式基層解碼器(1520)以及在基層解碼器(1520)之後的升抽樣模塊(1530)。
升抽樣模塊(1530)是可選的。它被用在當由嵌入式解碼器(1520)解碼的視頻具有比輸出到下流反向時間轉換級別的時間子帶t-L2低的空間解析度時。否則,抽樣模塊(1530)可以被跳過。
圖15中的虛線框包括了與在兩個附加級別的反向時間分解之前的和基層編解碼器(1520)相關的操作。對於基層,視頻是每秒f/4幀,而空間解析度可能已經減少了。因此,基層視頻提供了低幀率和(潛在地)低空間解析度的視頻的表示。實際上,具有低幀率和(潛在地)低空間解析度的視頻可以直接被基層解碼器(1520)解碼並輸出。
另外,解碼器(1500)對來自解碼器(1500)將用於重建視頻的可縮放比特流(例如t-H1、t-H2、t-H3、t-H4和t-L4)的任一個子帶執行熵解碼和反向空間分解。解碼器(1500)根據t-H3、t-H4和t-L4子帶和相關的動作信息執行第三和第四級反向時間分解來重建子帶差t-L2」。
嵌入式解碼器(1520)接收以基層解析度編碼的視頻的基層比特流(1595)。使用適當的解碼操作,嵌入式解碼器(1520)對在基層比特流(1595)中壓縮的降抽樣的子帶ts-LL進行解碼,以產生子帶的一個重建版本ts-LL』。
升抽樣模塊(1530)採用某種濾波機制對來自基層解碼器(1520)的重建子帶ts-LL』進行升抽樣,以產生時間子帶t-L2的重建版本t-L2』。重建子帶t-L2』與t-L2具有相同的解析度。例如升抽樣模塊(1530)通過兩個水平或垂直因子來增加空間解析度。尤其是,升抽樣模塊(1530)通過任一隨機比率改變從嵌入式編解碼器(1520)輸出的空間解析度來恢復視頻在任何基層降抽樣之前的空間解析度。
解碼器(1500)將重建子帶差t-L2」加到相應的重建子帶t-L2』上。這樣產生時間低通子帶t-L2的重建版本,這個版本被輸入到反向時間分解的剩餘部分。
2.第二種方案圖16顯示了根據第二種方案的3D子帶編碼器(1600)。編碼器(1600)包括嵌入式基層編解碼器(1620)以及在基層編解碼器(1620)左右的DWT模塊(1610)和IDWT模塊(1630)。
像在圖14中顯示的降抽樣模塊(1410)和升抽樣模塊(1430)一樣,DWT模塊(1610)和IDWT模塊(1630)是可選的。它們在由嵌入式編解碼器(1620)進行編碼的視頻具有比輸入到嵌入式編解碼器(1620)的時間子帶t-L2低的空間解析度時被使用。否則,DWT模塊(1610)和IDWT模塊(1630)可以被跳過。
在圖16中虛線框包括了與兩級時間分解之後的基層編解碼器(1620)的相關操作。DWT模塊(1610)處理t-L2時間子帶,以生成低通子帶ts-LL。一般地,DWT模塊(1610)改變嵌入式編解碼器(1620)的輸入的空間解析度以便獲得想要的基層空間解析度和/或匹配被基層編解碼器(1620)允許的輸入空間解析度。DWT模塊(1610)也生成路由到IDWT模塊(1630)的空間高通子帶ts-LH、ts-HL和ts-HH。
嵌入式編解碼器(1620)利用任何嵌入式編解碼器(1620)的常用操作來對ts-LL子帶進行編碼。嵌入式編解碼器(1620)以基層解析度生成輸出的基層比特流(1695)。嵌入式編解碼器(1620)也利用嵌入式編解碼器(1620)的相應解碼操作來對ts-LL子帶進行解碼,以生成重建子帶顯示ts-LL』。
解碼器(1600)從原始ts-LL子帶減去其重建版本ts-LL』。這產生一個殘餘子帶ts-LL」。和圖14的編碼器(1400)的情況相同,當基層編碼器(1620)是有效的和基層比特率是充分的,殘餘ts-LL」通常沒有很多能量。另一方面,當基層編解碼器(1620)是低效率的或基層比特率是不充分的時,殘餘ts-LL」具有更多的能量。
從殘餘子帶ts-LL」和空間高通子帶ts-LH、ts-HL和ts-HH中,IDWT模塊(1630)生成新的殘餘子帶t-L2」。新的殘餘子帶t-L2」與被輸入到DWT模塊(1610)的子帶t-L2具有相同的空間解析度。
編碼器(1600)在殘餘子帶t-L2」上執行兩個更深級別的時間分解。最後編碼器(1600)在各自子帶(如t-H1、t-H2、t-H3、t-H4和t-L4)執行空間轉換和熵編碼以生成可縮放比特流。
圖17顯示了根據第二種方案的相應3D子帶解碼器(1700)。解碼器(1700)包括嵌入式基層解碼器(1720)以及在基層解碼器(1720)左右的DWT模塊(1710)和IDWT模塊(1730)。
DWT模塊(1710)和IDWT模塊(1730)是可選的。它們被用在當由嵌入式解碼器(1720)進行編碼的視頻具有比輸出到下流反向時間轉換級別的時間子帶t-L2的空間解析度低時。否則,DWT模塊(1710)和IDWT模塊(1730)可以被跳過。
圖17中虛線框包括了在兩個附加級別的反向時間分解之前和基層解碼器(1720)相關的操作。基層給出了低幀率和(潛在地)低空間解析度的視頻的表示,並且這樣較低空間解析度的視頻能被基層解碼器(1720)直接解碼並輸出。
另外,解碼器(1700)對來自解碼器(1700)將用於重建視頻的可縮放比特流(例如t-H1、t-H2、t-H3、t-H4和t-L4)的任一個子帶執行熵解碼和反向空間分解。解碼器(1700)根據t-H3、t-H4和t-L4子帶和相關的動作信息執行第三和第四級反向時間分解來重建殘餘子帶t-L2」。
DWT模塊(1710)處理殘餘子帶t-L2」,生成空間低通殘餘子帶ts-LL」的重建版本以及空間高通子帶ts-LH」、ts-HL」和ts-HH」。通常,DWT模塊(1710)改空間解析度以便低通殘餘子帶ts-LL」能在空間解析度方面匹配嵌入式解碼器(1720)的輸出。
嵌入式解碼器(1720)接收以基層解析度進行編碼的視頻的基層比特流(1795)。使用適當的解碼操作,嵌入式解碼器(1720)可以對在基層比特流(1795)中壓縮的轉換子帶ts-LL進行解碼,生成子帶的重建版本ts-LL』。
嵌入式解碼器(1700)將重建殘餘子帶ts-LL」加到從嵌入式解碼器(1720)輸出的相應重建子帶ts-LL』。這樣生成原始ts-LL子帶的重建版本。
IDWT模塊(1730)接著將從DWT模塊(1710)中輸出的空間高通子帶ts-LH」、ts-HL」和ts-HH」和重建ts-LL子帶合併。這樣生成時間低通子帶t-L2的重建版本,其被輸入到反向時間分解的剩餘部分。
3.第三方案在先前的兩個編碼方案中,基層編解碼器被嵌在時間轉換之中以及殘餘信號在後來的時間轉換之中被進一步分解。與此相反,在第三個編碼方案中,後來的時間轉換被用到時間低通幀中(與殘餘幀相反)。
圖18顯示了根據第三個方案的3D子帶編碼器(1800)。編碼器(1800)包括嵌入式基層編解碼器(1820)以及在基層編解碼器(1820)左右的降抽樣模塊(1810)和升抽樣模塊(1830)。圖18中的虛線框包括了在兩級時間分解之後的基層編解碼器(1820)的相關操作。像圖14中所示的編碼器(1400)的相應模塊一樣,降抽樣模塊(1810)和升抽樣模塊(1830)是可選的。和在第二和第三時間轉換之間的可縮放視頻一樣,基層視頻是每秒f/4幀,而解析度可以由下抽樣模塊(1810)減少。因此,基層視頻再次提供了低幀率和(潛在地)低空間解析度的原始視頻的表示。
降抽樣模塊(1810)使用簡單子抽樣、低通濾波器或其它濾波機制對t-L2時間子帶降抽樣。通常,降抽樣模塊(1810)根據任一隨機比率改變嵌入式編解碼器(1820)的輸入的空間解析度,來獲得想要的基層空間解析度和/或匹配被基層編解碼器(1820)允許的輸入空間解析度。
嵌入式編解碼器(1820)利用嵌入式編解碼器(1820)的常用操作對降抽樣t-L2子帶(圖示為ts-LL子帶)進行編碼。嵌入式編解碼器(1820)以基層解析度生成最低比特率的輸出基層比特流(1895),其中基層比特流(1895)和相應基層解碼器是兼容的。為了編碼器(1800)中後面編碼的目的,嵌入式編解碼器(1820)還利用嵌入式編解碼器(1820)的相應解碼操作來對ts-LL子帶解碼,以生成重建子帶顯示ts-LL』。
升抽樣模塊(1830)利用一些濾波器機制對基層編解碼器(1820)的重建輸出子帶ts-LL』進行升抽樣,生成時間子帶t-L2的重建版本t-L2』。重建子帶t-L2』與t-L2具有相同的解析度。通常,升抽樣模塊(1830)利用隨機比率改變嵌入式編解碼器(1820)的輸出的空間解析度來恢復視頻在降抽樣模塊(1810)之前具有的空間解析度。
編碼器(1800)在原始(基層預處理)時間子帶t-L2上執行第三和第四級別的時間轉換。對於第三和第四級別的時間轉換,編碼器(1800)為時間高通子帶t-H3和t-H4計算動作補償預測。像期望的那樣,時間子帶t-L2為第三級別時間轉換中的動作補償提供預選參考幀(例如,偶數幀t-L2),時間子帶t-L3為第四級別時間轉換中的動作補償提供預選參考幀(例如,偶數幀t-L3)。根據第三方案,在經過升抽樣的重建子帶t-L2』中與時間相應的圖像,被作為動作補償的附加的預選參考幀。例如,交替幀t-L2』(具有和奇數索引幀t-L2相同的計時)被提供作為在第三級別時間轉換中奇數索引幀t-L2的MCP的參考。每第四幀t-L2』(具有和奇數索引幀t-L3相同的計時)被提供作為在第四級別時間轉換中時間相應的奇數索引幀t-L3的MCP的參考。
圖20顯示接著嵌入式基層編碼器的時間轉換中的動作補償的不同參考的組合情況。預選參考幀包括來自輸入時間低通子帶的幀(如偶數幀)。預選參考幀也包括來自基層升抽樣的輸出的時間相應(如相同時間)的重建幀。例如在圖20的組合(1)中,高通子帶幀H使用來自前面時間子帶(相應於低通子帶幀L)的偶數幀的第一動作補償預測,以及使用來自基層(與高通子帶幀H在時間上協同定位)的升抽樣的重建的第二動作補償預測。相應地,高通子帶幀H僅被用於更新用於動作補償的偶數幀(以便生成相應低通子帶幀L)。如果源自基層的參考被用在預測步驟,對於它相應的更新步驟是不需要的。
在一些實施例中,編碼器在大塊相連的基礎上選擇和變換用於動作補償的參考幀。可替換地,編碼器在其它基礎(例如每個當前奇數幀,每個動作矢量和大塊分區)上選擇和變換用於動作補償的參考幀。
回到圖18,在最後時間分解之後,基層輸出t-L2』的幀率是最終低通子帶t-L4的幀率的四倍。編碼器(1800)從最終低通子帶t-L4中減去基層輸出t-L2』的時間相應的升抽樣重建幀。這樣生成殘餘子帶t-L4』。最後,編碼器(1800)在各自子帶(例如t-H1、t-H2、t-H3、t-H4和t-L4』)上執行空間轉換和熵編碼以生成可縮放比特流。
圖19顯示根據第三個方案的相應3D子帶解碼器(1900)。解碼器(1900)包括嵌入式基層解碼器(1920)和在基層解碼器(1920)之後的升抽樣模塊(1930)。
像圖15中所示的解碼器(1500)一樣,升抽樣模塊(1930)是可選的。它被用在當由嵌入式解碼器(1920)解碼的視頻具有比下遊反向時間轉換級別使用的時間子帶幀少的空間解析度時。另外,升抽樣模塊(1930)可以被跳過。
圖19中的虛線框包括了與在四級反向時間分解之前的基層解碼器(1920)的相關操作。像用其它基層解碼器那樣,具有低幀率和(潛在地)低空間解析度的視頻可以被基層解碼器(1920)直接解碼和輸出。
另外,解碼器(1900)對從解碼器(1900)將用於重建視頻的可縮放比特流(例如t-H1、t-H2、t-H3、t-H4和t-L4』)中的任一個子帶執行熵解碼和反向空間分解。
嵌入式解碼器(1920)接收用於以基層解析度進行視頻解碼的基層比特流(1995)。使用適當的解碼操作,嵌入式解碼器(1920)可以對在基層比特流(1995)中壓縮的降抽樣子帶ts-LL進行解碼,生成子帶的重建版本ts-LL』。升抽樣模塊(1930)利用某種濾波機制對來自基層解碼器(1920)的重建子帶ts-LL』進行升抽樣,以生成時間子帶t-L2的重建版本t-L2』。
解碼器(1900)將殘餘子帶t-L4』加到升抽樣基層輸出t-L2』的時間相應(相同時間)幀。這樣生成時間低通子帶t-L4的重建版本,其被輸入到第四級反向時間分解中。
編碼器(1900)執行第三和第四級別反向時間分解以便根據重建的t-H3、t-H4和t-L4子帶以及相關的動作信息來重建時間子帶t-L2。對於第三和第四級別時間轉換,解碼器(1900)為時間高通子帶t-H3和t-H4計算動作補償的預測。時間子帶t-L3具有用於第四級別時間轉換中的MCP的重建參考幀(例如,重建偶數幀t-L3),時間子帶t-L2具有為第三級別時間轉換中的MCP的重建參考幀(例如,重建偶數幀t-L2)。在經過升抽樣的重建子帶t-L2』中的時間相應(例如,相同時間)圖像,可以作為在第三和第四級別反向時間轉換中的MCP的附加參考幀。
B.基層信息的附加利用的範例除了在低比特率視頻的比率失真檢測中提供後向兼容以及提高壓縮效率之外,基層的輸出還有附加作用。
1.基層動作矢量的再利用在具有以提升為基礎的MCTF的3D子帶編碼中,MCP步驟的動作矢量是通過動作估計獲得的。在一些實施例中,動作估計過程和傳統的用於符合現有視頻標準例如MPEG2、H.264/AVC等的編碼器的動作估計是類似的。而且,Haar和5/3時間轉換分別對於常規P-圖像和B-圖像的動作補償過程是類似的。
由於和現有標準例如MPEG-2、MPEG-4、H.264/AVC等兼容的基層編解碼器,用內部圖像(P-圖像或B-圖像)內部壓縮的塊編碼典型地具有相關的動作信息。同時,在3D子帶編碼中,在基層編解碼器的各級時間分解下遊(例如,圖14、16和18中的第三和第四級別)的高通子帶可以在基層輸出中找到時間相應的圖像。在許多情況下(特別是根據第三方案),在這種高通子帶的動作信息和基層中與時間相應的內部圖像的動作信息之間存在很高的相似性。基於這種相關性,編碼器和/或解碼器因為幾個目的重新利用基層編解碼器的動作矢量。
在基層動作矢量附加應用的一個例子中,3D子帶編碼器和3D子帶解碼器僅僅將基層動作矢量作為時間相應高通子帶幀的塊的真實動作矢量使用。(當基層幀和高通子帶幀具有不同的空間解析度時,3D子帶編碼器和3D子帶解碼器相應地能估算基層動作矢量。)尤其是,3D子帶編碼器和3D子帶解碼器在低比特率下為這一目的使用基層動作矢量。這樣減少了動作矢量的開銷,當然,也由於基層動作矢量已經作為基層比特流的部分被發送。在許多情況下,在動作預測精度損失方面的補償是輕微的。
在基層動作矢量附加應用的其它例子中,3D子帶編碼器和3D子帶解碼器應用動作矢量預測中來自基層編解碼器的動作矢量。作為常規動作矢量編碼和解碼的部分,動作矢量預測為當前動作矢量值提供預測。當前動作矢量接著可能用相對預測動作矢量的差表示並被傳送。編碼器和解碼器都根據相鄰塊的在前重建的動作矢量為當前動作矢量選擇或導出預測動作矢量。
在一些實施例中,當為時間高通子帶塊的當前動作矢量選擇或導出預測動作矢量時,3D子帶編碼器和3D子帶解碼器根據時間相應基層幀的空間相應塊使用動作矢量。例如3D子帶編碼器和3D子帶解碼器使用基層動作矢量作為預測動作矢量。或者,3D子帶編碼器和3D子帶解碼器使用基層動作矢量作為選擇預測動作矢量的候選(例如作為候選的中間值)。
在基層動作矢量的附加應用的另一個例子中,3D子帶編碼器使用基層動作矢量加快動作估計。例如;子帶編碼器考慮早期動作估計中的相應基層動作矢量以便更快找到合適的當前動作矢量。
類似地,3D子帶編碼器和3D子帶解碼器能夠再次利用基層的動作模式(例如,塊分區、方向)信息。在一些例子中,基層模式信息可以被用作時間相應高通子帶幀的塊的真實動作信息。或者,基層動作模式被用於動作信息的預測或用來加快動作估計。
圖21到23顯示了不同的編碼結構(幀類型模式),在這種情況下,基層動作信息對於基層之後的時間分解中的時間高通子帶有著顯著的作用。在圖21中,基層的編碼結構被調整以適應普通3D子帶編碼結構。三個B-圖像被插在兩個I-或P-圖像之間,而第二張B-圖像(像用H.264/AVC存儲的B-圖像)被用作第一張和第三張B-圖像的參考圖像。通過這種方法,在基層中的B-圖像的動作矢量能夠很自然的被再次用在3D子帶編碼中時間相應的高通子帶幀。
為了與用於基層編解碼器的某些現存標準兼容,圖22的幀結構採用常規基層編碼結構但是調整了用於3D子帶編碼的幀類型的模式。在基層中3個B-圖像被插在兩個I/P-圖像之間,但是3個B-圖像僅把I/P-圖像作為參考(沒有B-圖像作為動作補償參考)。在3D子帶編碼方案中,該模式包括在兩個低通子帶間產生的三個高通子帶。
圖23說明一種兼容模式。在基層中,在3D子帶編碼中時間上相應於高通子帶的圖像被用B-或P-圖像進行編碼。反之,在圖21和22中所示的模式適合5/3時間分解,圖23所示的模式可以自適應地用於在Haar和5/3時間分解(分別相應於P-圖像、B-圖像的關係)。
2.預測來自基層的內部域當視頻序列存在封閉和不規則動作時,動作估計在時間高通子帶中只能發現和一些塊缺少匹配的塊。當沒有內部編碼模式可用時,為這些情況的強制內部預測可以使得編碼功能惡化並使視覺質量受到壞影響。
在H.264/AVC標準中,內部預測技術對MCP失敗的情況提出警告。在內部預測中,當前塊的預測值是由鄰近重建像素的空間預測得到的。在具有開環MCTF結構的3D子帶編碼中,無論怎樣,這樣的空間預測趨向指出不匹配和誤差。
在上文描述的第一和第二嵌入式基層編碼方案中,在完成基層編碼和解碼後,對差信息進一步執行3D子帶編碼的時間分解。(例如在圖14中,差信息是輸入時間子帶t-L2和從基層編解碼器輸出ts-LL』的升抽樣版本t-L2』間的殘餘。)典型地,差只有高頻能量以及它的空間冗餘很低。然而,當一個塊在基層編解碼器中被以內部模式編碼時,在3D子帶編碼後來的時間分解中內部預測通常是不必要提出的。這有助於避免與開環3D子帶編碼中內部預測有關的不匹配的問題,同時提高了編碼性能和視覺質量。
另一方面,在上文描述的第三種嵌入式基層編碼方案中,不對差信息執行3D子帶編碼的進一步時間分解。第三方案中,無論怎樣,基層編解碼器的輸出可以提供預選參考圖像,而預選參考圖像可以包括使用空間內部預測編碼的塊。執行相對於來自於基層編解碼器輸出的參考圖像的內部編碼塊的動作補償可以有助於指出在MCTF中的MCP的情況,否則只能發現匹配不佳的塊。來自基層編解碼器輸出的參考圖像也可以被用在後面的3D子帶編碼中低通子帶的預測值。3D子帶編碼器可以利用來自基層的內部信息來確定何時為後來的MCP或其它預測使用來自基層的參考圖像。
3.為進一步時間分解的動作估計在純3D子帶編碼中,以及在具有根據上文描述的第三個方案的嵌入式基層編解碼器的3D子帶編碼中,動作估計是在原始低通子帶上完成的以便獲得較高級別的高通子帶和動作信息。這種動作估計有效地結合許多的常規動作估計參數,例如,對編碼殘餘信息的消耗和編碼動作信息的消耗之比加權的「λ」參數。
根據上文描述的第一和第二嵌入式基層編解碼方案中的具有嵌入式編解碼器3D子帶編碼,無論怎樣,為進一步時間分解執行差信息的動作估計。這樣,動作估計匹配常規動作估計參數以在進一步時間分解中利用相鄰幀間的時間冗餘。例如編碼器協調λ參數來對輸入到時間分解的差作出解釋。
C.使用基層編碼器或解碼器的技術的範例圖24顯示具有嵌入式基層編解碼器可縮放編碼的技術(2400)。圖25顯示具有嵌入式基層解碼器的可縮放解碼的技術(2500)。諸如參考圖14、16或18所描述的3D子帶編碼器執行在圖24所示的技術(2400)。諸如參考圖15、17或19所描述的3D子帶解碼器執行在圖25所示的技術(2500)。可選擇地,另一種編碼器或解碼器執行技術(2400,2500)。
參考圖24,3D子帶編碼器利用子帶編碼對一層或多層視頻進行編碼(2410),這樣產生的輸入到基層編解碼器。例如3D子帶編碼器執行一層或多層MCTF,找到時間高通子帶的動作信息並生成用作輸入到基層編解碼器中的低幀率視頻的時間低通子帶。可替換地,3D子帶編碼器在這一階段執行其它和/或者附加類型的編碼。
3D子帶編碼器用基層編解碼器對基層視頻進行編碼(2430)。例如基層編解碼器是一個H.264/AVC、MPEG-2、VC-1或WMV9編解碼器並生成相應的壓縮視頻比特流和重建的輸出視頻。動作信息和內部模式信息是壓縮視頻比特流的一部分,或這一信息可以以一些其它形式被獨立地提供給3D子帶編碼器。
3D子帶編碼器接著用基層編解碼器的結果對一層或多層視頻進行編碼(2450)。例如3D子帶編碼器對根據基層編碼或解碼的結果計算出來的差信息執行一級或多級時間分解。或者,3D子帶編碼器利用來自基層編解碼器的重建視頻中的參考圖像對時間低通子帶執行一級或多級時間分解。或者,3D子帶編碼器將動作信息和/或內部模式信息用在編碼或時間分解的判決中。可選地,3D子帶編碼器在隨後的子帶編碼中以某種其它方法利用基層編解碼器的結果,或跳過隨後的編碼(2450)。
編碼器確定(2490)是否繼續編碼過程,並且,如果是,繼續下一幀。
(參考圖25,3D子帶解碼器用基層解碼器對基層視頻進行編碼(2530))。例如基層解碼器是H.264/AVC、MPEG-2、VC-1或WMV9解碼器,它解析和解碼相應的壓縮視頻比特流並生成重建輸出視頻。
3D子帶解碼器確定(2540)解碼解析度。該解析度可以根據使用者水平設置或某種其它設置來確定,可以根據解碼器實際接收多少信息(例如,正好是基層視頻或者一個或多個附加層)來確定,或者用某種其它方法來確定。可替換地,3D子帶解碼器可以只有一條解碼路徑。例如,一個解碼器可以包括基層路徑同時另一個解碼器包括基層+可縮放層路徑,以適應各自解碼器的資源。
如果沒有較高解析度視頻要解碼(在判斷2540之外的「無」路徑),3D子帶解碼器在階段(2590)繼續。
否則,3D子帶解碼器用來自基層解碼的結果對視頻進行一個或多個附加層的解碼(2550)。例如3D子帶解碼器對差信息執行一級或多級反向時間分解然後把重建的差信息加到基層解碼的結果中去。或者,3D子帶解碼器利用來自基層解碼器的重建視頻的參考圖像執行一級或多級反向時間分解來重建時間低通子帶。可替換地,3D子帶解碼器在隨後的子帶解碼中以某種其它方式利用來自基層解碼器的結果。
最後,編碼器確定(2590)是否繼續解碼過程,並且,如果是,則繼續下一幀。
在圖24和25中所示的各種操作是可以分開、和其它操作組合或被重新編排。
VI.對SDMCTF-編碼的視頻進行解碼的空間縮放性通常,根據MCTF在3D子帶視頻解碼何時執行有兩類MCTF。在第一類中,被稱作帶內MCTF(「IBMCTF」),編碼器首先對視頻進行空間壓縮然後在子帶/子波域中執行MCTF。編碼器接著可以執行進一步空間分解。在第二類中,被稱作空域MCTF(「SDMCTF」),編碼器在空間分解之前,直接在空間域內執行MCTF。類似地,在解碼期間,IMCTF可以在空間域(「SDIMCTF」)或帶內(「IBIMCTF」)執行。
這樣,在具有SDMCTF的3D子帶編碼中,整個視頻在空域和隨後的空間轉換中被幾次動作調整時間轉換分解。圖5顯示了具有四級(反向)時間轉換和兩級(反向)空間轉換的完整的編碼和解碼方案,而在解碼中沒有空間縮放性。解碼過程正好是圖5中編碼的反向。
通常,在特定比特率質量方面IBMCTF方案的性能沒有SDMCTF方案的性能好。由於這個原因,許多3D子帶編碼器使用SDMCTF。然而,在一些申請中,解碼器生成視頻輸出的較低空間解析度版本。例如對於CIF解析度(352×288像素)的原始視頻,對於具有一級空間縮放性的解碼,3D子帶解碼器生成解碼視頻的QCIF版本(176×144像素)。這可以作為以下情況解碼器和較小屏幕設備(如;蜂窩式可視電話)相連或者解碼器通過不可靠連接只接收較低空間解析度子帶信息。這些方案在視頻的MCTF操作是在空域中被執行時是有問題的,因為不管怎樣,動作信息、參考圖像等是按照完整的空間解析度表示的。
這部分描述了當對以低空間解析度輸出的SDMCTF-編碼視頻進行解碼時,各種提高解碼性能的機制。在一些實施例中,例如3D子帶視頻解碼器接收以某種解析度(如CIF)使用SDMCTF進行編碼的視頻但是對以更低解析度(如QCIF)輸出的視頻進行解碼。3D子帶解碼器使用幾種不同機制中的任何一個來提高解碼性能。
A.對SDMCTF視頻解碼中的簡單空間可縮放方案圖26說明從SDMCTF編碼視頻的壓縮視頻比特流解碼和輸出較低空間解析度視頻的兩個簡單方案(2600,2650)。低空間解析度視頻不同於圖26中通過一級空間縮放的完整空間解析度。
第一種方案(2600)提供了直接解決方案。3D子帶解碼器首先恢復完整空間解析度視頻(所示的CIF視頻)。(假定第二反向空間轉換的空間高通(「SH」)子帶丟失的情況下,解碼器在第二反向空間轉換中把SH子帶作為空白(SH=0)對待。)在反向時間分解之後,3D子帶解碼器用濾波器(所示的空間轉換)對完整空間解析度視頻進行降抽樣以達到到輸出解析度(所示的QCIF)。解碼器執行SDIMCTF,並且當在中間步驟對CIF視頻進行解碼時,解碼器使用許多解碼資源(例如,計算資源、參考圖像緩衝器)。
另一方面,在第二種方案(2650)中,3D子帶解碼器執行IBIMCTF。第二種方案(2650)說明了一種對低解析度視頻進行解碼的漸進的方法。像第一種方案(2600)一樣,第二種方案(2650)包括熵解碼和四級反向時間轉換。第二種方案(2650)實際上包括了一種比第一種方案(2600)少的反向空間轉換。(在第二種方案(2650)中所示的第二反向空間轉換和隨後的空間轉換彼此抵消並且可以被省略。)在第二種方案(2650)中,3D子帶解碼器在以SL子帶解析度執行反向時間轉換過程中,必須把空間低通(「SL」)子帶(第一反向空間轉換的輸出)作為原始視頻的全部對待。這近似沒有空間縮放性的解碼過程,並具有低計算複雜性和低緩衝器要求(對於參考圖像,等等)的優點。更進一步說,視頻原始解析度和空間縮放性對於解碼器來說可以是完全透明的。第二種方案(2650)的性能在低比特率方面是令人滿意的但在高比特率方面不能令人滿意。尤其是,隨著比特率的增加它對於重建高質量低空間解析度視頻變得困難和不可能,即使比特率非常高。
圖26所示的兩個解碼方案(2600,2650)間的不同在於在IMCTF期間MCP和MCU的步驟如何被執行。圖27說明了在一級IMCTF中兩種方案(2600,2650)的MCP。尤其是,圖27顯示了根據參考圖像中的可用SL子帶信息(而不是SH子帶信息)在預測步驟的SL提升信號的產生。
對於SDIMCTF,SL提升信號按如下所示產生SLIDWTSDINTPSDMCPSDSDDWT---(9),]]>這裡INTPSD表示參考圖像信息在空間域中像素的插值,而MCPSD表示在空間域的MCP。DWT是線性操作,並且DWT(F1+F2)=DWT(F1)+DWT(F2) (10)。
為使用SL緩衝器來保留中間結果,DWT對於在SL域中的預測減少了空間域預測。
對於IBIMCTF,SL提升信號按如下所示產生SLINTPSLMCPSLSL---(11),]]>這裡INTPSL表示參考圖像信息在SL域中像素的插值,而MCPSL表示在SL域的MCP。為了簡便,同樣的插值濾波器被用於INTPSD和INTPSL。
B.理論分析各種因素導致在對SDMCTF編碼視頻進行3D子帶解碼過程中的空間縮放性出現問題。一個因素是SL域中插入值和動作補償的無效性。另一因素是IMCTF的位置(與在編碼中的MCTF的位置相比)。還有另外一個因素由動作補償引起的跨越子帶的能量譜洩漏。
除了這些因素外,各種編碼/解碼特徵能導致編碼器中SDMCTF和解碼器中IBIMCTF之間的不匹配。兩個這樣的特徵是動作矢量縮放比例和OBMC。在這部分中,為了簡便,假設在IBIMCTF中動作矢量的精度是不變的,並且在IBIMCTF期間子像素插入值被用作動作補償是足夠好的以便能充分利用動作信息。也是為了簡便的目的,OBMC是無作用的,MCP操作假定是只根據可適用動作矢量的簡單像素取出操作。甚至作為一些簡化假設,在前面段落中列舉的因素可以降低IBIMCTF的功能。
1.插入值甚至當同樣的插值濾波器(像雙線性的濾波器或8抽頭正弦濾波器)被用於空域插值和SL域插值時,給定的一幀中相同位置的局部像素是從不同批像素中被插入的,這是由於兩個操作的不同範圍。這導致由被插入子像素的參考圖像間的不匹配。
由於另一個原因在SL域的插入可能不是最佳的。由於子波轉換的抽取方面,只有空間LL帶不是原始視頻的整個低通信號的完全代表。也就是說,不考慮高通信號或當高通信號缺失時,在二分之一相位位置部分低通信號丟失。抽取的一個結果是空間LL帶偏移變量性質。由於LL帶的不完整性,當獲得插值低通幀時,在LL帶(如在操作(12)顯示)中進行直接插入可能不是最佳的。
SLINTPSLmxmSLMCPSLSL---(12),]]>SLIDWTOCDWTINTPOC-LLmxmSLMCPSLSL---(13),]]>和SLIDWTSDINTPSDSDDSDWTmxmSLMCPSLSL---(14).]]>一種可供選擇的方法是通過變換過完整子波表示執行二分之一像素插入。來自SL的過完整表示可以由完全到過完整的DWT(未示出)或由反向DWT和過完整的DWT(「OCDWT」)(在操作13中顯示)產生。這種IDWT加上OCDWT的和作為一級插入。餘下級別的插入可以用過完整子波域的常規插入完成,用操作13中的INTPOC-LL表示。
變換到常規過完整子波表示只要提供在SL域的二分之一像素插入。為了支持在SL域中四分之一像素動作矢量精度或更出色動作,解碼器可以利用連續的相位過完整轉換(「CPOCWT」)。為了在SL子帶中四分之一像素位置,解碼器在空間域中執行插入,如操作(14)所示。接著,插入幀的低通子帶通過DWT獲得。DWT是比例敏感操作。只要在編碼器中與DWT匹配,編碼器在插入幀中以m-抽樣像素執行OCDWT,這裡mxm是在OCDWT之前空間域插入的因子。在操作(14)中,DSDWT表示對將空間域插入幀降抽樣為一些子幀,在各自子幀執行OCDWT以及向後地隔行掃描獲得的係數。象這樣,DSDWT是一種OCDWT。
根據(12)至(14)的每一操作,解碼器在SL域中根據mxm參考圖像執行動作補償預測。
2.DWT和MCP的位置變換對於IBIMCTF,即使在像(14)中帶內插入被用空域插入代替的情況下,MCP的參考圖像仍是低通幀-MCP發生在子波域中。與編碼器相比較,DWT和MCP的預期排序被交換(這裡,在編碼器中,MCP先於DWT)。然而,由於DWT的偏移變量屬性,DWT和MCP操作是不可交換的DWT(MCPSD(FSD))≠MCPSL(DWT(FSD)) (15)和IDWT(MCPSL(FSL))≠MCPSD(IDWT(FSL)) (16)。
假設為了簡化目的MCP包括簡單的以塊為基礎的動作變換操作,等式(15)按如下解釋,假設當前幀被分解成塊B={Bi|i=1,…,m},並且這些塊的動作矢量MV={mvi|i=1,…,m}。Frefi是參考幀Fref的新版本,這裡只有作為塊Bi參考的像素被保留,其它像素被定義為零。
Fpred(x)=i=1mFrefi(x+mvi)---(17),]]>DWT(MCP(Fref))=DWT(i=1mFrefi(x+mvi))]]>=i=1mDWT(Frefi(x+mvi))i=1m(DWTFrefi(x+mvi))---(18).]]>=MCP(i=1mDWT(Frefi))=MCP(DWT(i=1mFrefi))]]>≠MCP(DWT(Fref))在(18)中的第一個不等式是由於DWT的偏移變量屬性。在(18)中的第二個不等式是由於當動作非常複雜時MCP中動作變換期間的重疊和洩漏。
一種可能的解決方案是將MCP移到DWT之前的空間域,像操作(19)中所示的那樣。這種情況下,MCP是SDIMCTF的一部分。
SLIDWTSDINTPSDMCPSDSDDWT---(19).]]>3.動作移動導致的功率譜洩漏在3D子波編碼中,時間空間子帶通常假定是獨立的。在許多申請中,時間空間子帶根據希望被丟棄,特別是高通子帶。然而,在使用MCTF的3D子帶編碼中,由於動作移動引入的功率譜洩漏,相鄰幀的低通子帶和高通子帶具有類似之處。
當只包含一個空間子帶信號的幀根據動作變換時,部分該信號被轉移到其它的空間子帶。圖28說明簡單球形動作現象。在圖28的第一行中,原始幀Org被分成兩部分SL信號A和SH信號B。在第二行中,只包括SL信號A的幀被用簡單圖像域動作變換(「IMS」)變換到空間域中,而變換後的幀現在包括SH信號。相似地,在圖28的第三行中,只包括SH信號B的幀被切換到空間域中,而變換後的幀包括SL信號。當運動複雜時頻譜洩漏問題變得更為嚴重。
因此,在編碼器中具有SDMCTF而不是使用SL信息的IMCTF,參考幀的SL部分預測該幀的SH部分。因此,即使在解碼器在開始階段只有SL子帶信息的情況下,解碼器也能在每級IMCTF的中間效果中獲得有意義的SH子帶信息。無論如何,當解碼器使用SL解析度緩衝器來保留各級IMCTF之間的中間結果時,會丟棄SH子帶信息,也許這對於下一級IMCTF中的MCP是有用的。
此外,參考幀的SH部分預測參考幀的SL部分。為了對SL編碼,編碼器可以在參考幀中使用SH子帶信息。當解碼器不能訪問這些SH部分時,SH子帶的缺少導致一種漂移。(例如當編碼器根據完整解析度幀(包括SH信息)執行MCP,而解碼器僅有SL信息。)這種結果是PSNR的極限—在相對低的比特率下PSNR曲線變成水平的。
C.對具有空間縮放性的SDMCTF-編碼的視頻進行解碼的改進方案範例在一些實施例中,3D子帶解碼器當對SDMCTF-編碼的視頻進行解碼並以較低空間解析度輸出時,使用幾項技術中的任一種來提高解碼性能。這一技術一步步地提高解碼性能,並且主要地不需要改變編碼器以及發送的比特流。在這一集合中,這些技術以不同複雜級別的不同選項提供複雜的解碼方案。
在一些方案中,解碼器分配額外的資源用於解碼。通常,當額外的計算資源致力於解碼時解碼器能重建更好的視頻。而且,當額外緩衝器資源致力於存儲參考圖像信息時解碼器重建更好的視頻。
或者,編碼器或解碼器因為解碼SL視頻強調SH子帶信息。例如為將SH子帶信息合併到IMCTF判決中,即使在解碼器只重建SL解析度視頻時,比特流抽取器給SH係數分配帶寬,而不是完全丟棄它們。
這部分的各個圖(也就是,圖29到34)顯示了一級空間縮放。可替換地,3D子帶解碼器以多級空間縮放輸出視頻。在相同的列中,這部分的各個圖顯示了為用MCTF以CIF解析度編碼的原始視頻輸出QCIF視頻的3D子帶解碼器。這裡描述的技術和工具不限於用CIF和QCIF解析度。
對這部分的許多圖來說,動作矢量具有原始解析度二分之一的像素精度和SL解析度四分之一的像素精度。這影響了象子像素插值這樣的操作。可替換地,動作矢量具有其它精度,相應地解碼器執行更多或更少的子像素插值。而且,通過這部分的幾個圖中為了插值顯示了用於插值的正弦濾波器,可替換地,解碼器使用其它類型的濾波器(如,雙線性的,雙三次的)。
最後,這部分的各個圖顯示了二元DWT和IDWT的操作。可替換地,解碼器為空間轉換和反向空間轉換使用其它的操作。
1.方案AIBIMCTF(基線)為了與後面的方案比較,圖29說明在解碼期間沒有額外的計算和緩衝器資源的IBIMCTF。圖29中的方案相應於圖26的IBIMCTF解碼器(2650)中的一級IMCTF。在圖29所示的操作存在於子波域中。
根據圖29,3D子帶解碼器使用SL緩衝器(2910)存儲SL子帶信息作為參考圖像信息。SL子帶信息的有效解析度是QCIF。
解碼器採用4×4正弦濾波器執行子像素插值(2920)。(在SL域中MCP的動作矢量精度是四分之一像素的精度。)這生成子像素插值參考幀(2930)。插值參考幀的有效解析度是4CIF(704×576像素)。
解碼器在SL域中執行MCP(2940),使用參考圖像信息的插值參考幀(2930)。MCPSL(2940)在SL域中生成預測值(2950)。預測值(2950)的有效解析度也是QCIF。
2.方案B最優化IBIMCTF在第二種方案中,3D子帶解碼器通過將插值操作和/或MCP操作移動到空間域中來提高IMCTF。解碼器依然使用用於參考圖像信息的SL解析度緩衝器。圖30顯示了第二種方案的概括框架,其中反向時間轉換被用最優反向時間轉換OT-1i表示。圖31、32和33顯示根據第二種方案的不同變形的一級IMCTF的範例。
a.方案B1根據圖31顯示的方案(方案B1),3D子帶解碼器使用SL緩衝器(3110)來存儲作為參考圖像信息使用的SL子帶信息。解碼器利用緩存的SL子帶信息執行IDWT操作(3120)。SH子帶在IDWT操作(3120)時被認為是空的(SH=0)。這樣IDWT操作(3120)根據SL子帶信息生成參考幀(3130)。當SL子帶的有效解析度是QCIF時,參考幀(3130)的有效解析度是CIF。
解碼器接著對參考幀(3130)執行OCDWT(3140)操作,生成過完整表示(3150)。可替換地,解碼器執行完全到過完整的DWT而不是IDWT(3120)和OCDWT(3140)。任一種方式,過完整表示(3150)包括適合二分之一像素MCP的相移值。
在給四分之一像素MCP預備中,解碼器接著利用2×2正弦濾波器執行子像素插值(3160)。這生成子像素插值參考幀(3170)。該插值參考幀(3170)的有效解析度是4CIF。
解碼器利用參考圖像信息的插值參考幀(3170)在SL域中執行MCP(3180)。MCPSL(3180)在SL域中生成預測值(3190)。預測值(3190)的有效解析度也是QCIF。
b.方案B2根據圖32所示的方案(方案B2),3D子帶解碼器使用SL緩衝器(3210)來存儲用作參考圖像信息的SL子帶信息。解碼器利用緩存的SL子帶信息來執行IDWT操作(3220)。SH子帶在IDWT操作(3220)中被認為是空的(SH=0)。這樣IDWT操作(3220)根據SL子帶信息生成參考幀(3230)。當SL子帶的有效解析度是QCIF時,參考幀(3230)的有效解析度是CIF。
解碼器利用2×2正弦濾波器執行子像素插值(3240)。這產生了子像素插值參考幀(3250),其具有由兩個水平和垂直因子增加的解析度。插值參考幀(3250)的有效解析度是4CIF。
解碼器接著在插值參考幀(3250)上執行DSDWT(3260)操作。這樣生成參考幀信息的過完整表示(3270)。過完整表示(3270)包括適合四分之一像素MCP的相移值。
解碼器利用參考圖像信息的插值參考幀(3270),在SL域中執行MCP(3280)。MCPSL(3280)在SL域中生成預測值(3290)。預測值(3290)的有效解析度也是QCIF。
c.方案B3根據圖33所示的方案(方案B3),3D子帶解碼器使用SL緩衝器(3310)來存儲用作參考圖像信息的SL子帶信息。解碼器利用SL子帶信息執行IDWT操作(3320)。SH子帶在IDWT操作(3320)中被認為是空的(SH=0)。這樣IDWT操作(3320)根據SL子帶信息生成參考幀(3330)。當SL子帶的有效解析度是QCIF時,參考幀(3330)的有效解析度是CIF。
解碼器利用2×2正弦濾波器執行子像素插值(3340)。這產生了子像素插值參考幀(3350),其具有由兩個水平和垂直因子增加的解析度。插值參考幀(3350)的有效解析度是4CIF。
解碼器利用參考圖像信息的插值參考幀(3350),在空間域中執行MCP(3360)。MCPSD(3360)(具有二分之一像素精度的動作矢量)在空間域中生成預測值(3370)。在這種例子中,預測值(3370)的有效解析度是CIF。
解碼器根據預測(3370)執行DWT操作(3380),生成預測(3370)的低空間解析度版本(3390)。低空間解析度預測(3390)的有效解析度也是QCIF。
3.方案CSDIMCTF圖34說明具有專用於解碼期間的附加計算和緩衝資源的SDIMCTF。圖34中的方案相應於圖26的SDIMCTF解碼器(2600)中的一級IMCTF。圖34中的操作存在於空域中。與方案B3相比,在方案C中參考圖像緩衝器是SD緩衝器,解碼器不執行每一級IMCTF的IDWT和DWT操作。以這種方式,中間結果中的SH信息被保存用作後來的SDIMCTF中。
根據方案C,3D子帶解碼器使用SD緩衝器(3410)存儲空間域信息並用作參考圖像信息。對於第一個反向時間轉換,最後的反向空間轉換從SL子帶信息產生SD緩衝器(3410)中的信息。對於隨後的反向時間轉換,從較早的反向時間轉換中SD緩衝器(3410)的信息被保存,並且SD緩衝器(3410)的信息可以包括由於功率譜洩漏產生的SH信息。SD緩衝器(3410)中信息的有效解析度是CIF。
解碼器利用2×2正弦(sinc)濾波器執行子像素插值(3420)。這產生了子像素插值參考幀(3430),其具有由兩個水平和垂直因子增加的解析度。插值參考幀(3430)的有效解析度是4CIF。
解碼器利用參考圖像信息的插值參考幀(3430),在空間域中執行MCP(3440)。MCPSD(3440)(具有二分之一像素精度的動作矢量)在空間域中生成預測值(3450)。在這種例子中,預測值(3450)的有效解析度是CIF。
4.方案D具有SH係數的SDIMCTF為了處理SH漂移問題,帶寬被分配給比特流抽取器中的SH係數。這不像常規空間縮放性,按照常規方法當為輸出SL解析度視頻而解碼時SH子帶信息被簡單地丟棄。
為了確定SH係數的最佳比率,測量SH係數減少低空間解析度視頻的失真的作用。(相反,按照常規空間縮放性的實踐,測量SH係數減少全部原始解析度視頻的失真的作用)換句話說,即使在只有低空間解析度視頻輸出的時候,也考慮SH子帶的增益因子以便考慮SH子帶在減少SL視頻失真方面的優勢(例如,提高的動作補償預測精度)。以這種方式,SH子帶信息很可能被向前帶進SL視頻解碼中。
在方案D中,當解碼SL視頻時使用SH子帶的當前增益因子,仿佛解碼器正提取原始解析度視頻一樣。SL和SH的係數被允許包括在最後的比特流中。可替換地,可以為用於原始空間解析度解碼和SL解碼的SH子帶計算不同增益因子。
在方案D中,當解碼SL視頻時,3D子帶解碼器為一級IMCTF採用圖34所示的解碼框架。參考圖像緩衝器(3410)是SD緩衝器。對於第一反向時間轉換,SD緩衝器包括用SL子帶信息和(至少一些)SH子帶信息重建的參考圖像信息,即使最後輸出視頻只會具有有效的SL解析度。中間結果中的SH信息也被保存用在後來的SDIMCTF中。
解碼器利用2×2正弦濾波器執行子像素插值(3420)。這產生了子像素插值參考幀(3430),其具有由兩個水平和垂直因子增加的解析度。解碼器利用參考圖像信息的插值參考幀(3430),在空間域中執行MCP(3440)。MCPSD(3440)(具有二分之一像素精度的動作矢量)在空間域中生成預測值(3450)。
5.比較下表比較了方案A、B1、B2、B3、C和D的特徵。

可替換地,當為以較低空間解析度輸出對SDMCTF編碼視頻解碼時,解碼器使用另外一些空間域插值、空間域動作補償、空域參考圖像緩衝器的組合和/或使用SH信息來提高解碼性能。
VI.連續相位的過完整子帶轉換IBMCTF和IBIMCTF的一個問題是怎樣減少子波轉換偏移變量在動作估計和補償方面的影響—在圖像域中的偏移/動作不能直接映射到轉換域中。一些技術將整數像素移動映射到轉換域中。(可參見,例如,Y.A.Andreopoulos等作者的「A New Method for Complete-to-Overcomplete Discrete Wavelet Transforms」,Proc.IEEE Conf.Digital Signal Proc.(2002);以及,X.Li,、L.Kerofsky和S.Lei的「All-phase Motion Compensated Prediction for High Performance Video Coding」,Proc.ICIP,vol.3,pp.538-541(2001))這部分描述了將分像素移動映射到轉換域中的相位變化的技術。通過這樣處理,動作估計和補償能夠完成得更精確,也能明顯影響編碼性能。
這部分用一級一維子波轉換的例子說明了連續相位過完整子帶轉換(「CPOST」)。p-像素CPOST的分解過程有四個連續階段(1)p-像素插值,(2)連續移位,(3)降抽樣,和(4)子波轉換。
把連續p-像素相位過完整轉換認為是(p=1,1/2,1/4,1/8,…)。當p=1時,CPOST是整數像素相位過完整的例子,其它p值表示子像素相位過完整的例子。假設輸入信號是離散時域內的序列{x(n)),n=0,1,2,3,…。編碼器或解碼器首先執行{x(n)}的p-像素插值,然後繼續位移p-像素插值序列

次並對位移的序列降抽樣。這樣生成一組{x(n)}的連續相移序列,用{xpi(n)},i=0,1,…, 表示。最後,編碼器或解碼器對{xpi(n)}執行子波分解轉換。
對於p=_的例子,連續相移序列按如下所示。{y(n)}是由{x(n)}的_-像素插值點組成的序列。
…x(n) y(n) x(n+1) y(n+1) x(n+2) y(n+2) x(n+3) y(n+3)…0-相位 …x(n) x(n+1) x(n+2)…_-相位 …y(n) y(n+1) y(n+2)…1-相位 …x(n+1) x(n+2) x(n+3)…3/2-相位 …y(n+1) y(n+2) y(n+3)…2D CPOST能通過分別在水平和垂直方向上執行兩個序列的1D CPOST實現。
在子波域中,連續p-像素相移序列可以提供使用一組預測濾波器Fpi(z)i=0,1,…, 這些濾波器等價於連續位移子像素插值序列和降抽樣這些位移的序列。p-像素CPOST的分解過程可以表示為{x(n)}的濾波器應用,接著為子波分解轉換目的分別用低通濾波GL(z)和高通濾波器GH(z)處理結果,然後降抽樣。(i=0,1,…, 的lpi(n)和hpi(n)分別是CPOST的低通和高通係數。在z域中,X(z)和Xip(z)分別是{x(n)}和{xpi(n)}的z轉換。Lip(z)和Hip(z)分別是lpi(n)和hpi(n)的z轉換。
Xip(z)=Fip(z)X(z),i=0,1,2...,2p-1---(20),]]>Lip(z)=_[GL(z_)Xip(z_)+GL(-z_)Xip(-z_)]Hip(z)=_[GH(z_)Xip(z_)+GH(-z_)Xip(-z_)] (21)。
i=0,1,2,3...,2p-1]]>p-像素CPOST分解過程符合矩陣表達式L0p(z)Hp0(z)=12GL(z1/2)GL(-z1/2)GH(z1/2)GH(-z1/2)X(z1/2)X(-z1/2)---(22),]]>Lip(z)Hpi(z)=12GL(z1/2)GL(-z1/2)GH(z1/2)GH(-z1/2)Xpi(z1/2)Xpi(-z1/2)---(23).]]>i=1,2,3...,2p-1]]>表達式(22)表示沒有位移的原始序列子波分解轉換。表達式(23)表示連續子相位移動序列的子波分解轉換。表達式(23)和表達式(24)組成CPOST。對於Lip(z),Hip(z)和L0p(z)和H0p(z)的關係,從(20)到(23)
Lip(z)Hpi(z)=12GL(z1/2)GL(-z1/2)GH(z1/2)GH(-z1/2)Fpi(z1/2)00Fpi(-z1/2)X(z1/2)X(-z1/2)---(24),]]>從(22)到(24)Lip(z)Hpi(z)=G(z)Fpi(z1/2)00Fpi(-z1/2)G-1(z)L0(z)H0(z)---(25),]]>其中,G(z)=GL(z1/2)GL(-z1/2)GH(z1/2)GH(-z1/2)]]>並且其中G-1(z)是G(z)的逆矩陣。
根據(25),變換矩陣Tip(z)和逆變換矩陣ITip(z)能從原始序列(例如0-相位移動序列)的子波變換獲得以便得到子像素相移序列的子波轉換。
Tip(z)=G(z)Fpi(z1/2)00Fpi(-z1/2)G-1(z)---(26),]]>ITip(z)=[Tip(z)]-1=G-1(z)Fpi(z1/2)00Fpi(-z1/2)-1G(z)---(27).]]>根據(26),如果存在表達式(28),在離散時域中過完整子波轉換之後的子像素插值的結果和子像素插值之後的過完整子波轉換的結果是相等的。然而,在離散時域中過完整子波轉換之後子像素的結果和子像素插值之後的過完整子波轉換的結果是不相等的。
Fpi(z1/2)00Fpi(-z1/2)G-1(z)=G-1(z)Fpi(z1/2)00Fpi(-z1/2)---(28).]]>通常,表達式(28)不存在,這就意味不能交換帶內視頻編碼的子像素插值和過完整子波轉換的順序。然而,根據(25),原始序列的CPOST係數可以從它的子波轉換係數中獲得。
CPOST方法不僅能實現整數像素相位過完整子波轉換而且也能實現子像素相位過完整子波轉換。對於p=_,具有5-3子波轉換和6-抽頭插值濾波器的連續相位過完整子波轉換離散係數隨後產生。轉換矩陣T_1(z)、T_2(z)和T_3(z)每一部分的係數按如下所示T1/21(0,0)=0.0098-0.09570.88670.2227-0.0215-0.0020]]>T1/21(0,1)=-0.00240.0488-0.22900.3242-0.14400.00200.0005]]>T1/21(1,0)=0.0391-0.23440.3438-0.1406-0.0078]]>
T1/21(1,1)=-0.00980.15820.3633-0.53520.02150.0020]]>T1/22(0,0)=-0.06250.56250.5625-0.0625]]>T1/22(0,1)=0.015625-0.250.46875-0.250.015625]]>T1/22(1,0)=-0.250.5-0.25]]>T1/22(1,1)=0.0625-0.5625-0.56250.0625]]>T1/23(0,0)=-0.0020-0.02150.22270.8867-0.09570.0098]]>T1/23(0,1)=0.00050.0020-0.11400.3242-0.22900.0488-0.0024]]>T1/23(1,0)=-0.0078-0.14060.3438-0.23440.0391]]>T1/23(1,1)=0.00200.02148-0.53520.36330.1582-0.0098]]>考慮到許多可能應用本發明公開的原理的實施例,應當認識到所說明的實施例只是本發明的首選例子,不應該將其作為對發明範圍的限制。更確切地,本發明的範圍通過下面的權利要求書進行限定。為此我們要求在這些權利要求的範圍和精神內的全部作為我們的發明。
權利要求
1.一種方法包括用其中嵌有基層編解碼器的3D子帶視頻編碼器對視頻進行編碼,和輸出編碼結果。
2.如權利要求1的方法,其中基層編解碼器被嵌在3D子帶視頻編碼器的複數個時間子帶轉換中間,以便使基層編解碼器的編碼/解碼跟蹤一個或多個複數時間子帶轉換,並先於一個或多個複數時間子帶轉換進行。
3.如權利要求2的方法,其中複數個時間子帶轉換包括動作補償時間濾波。
4.如權利要求1的方法,其中基層編解碼器是具有二維頻率轉換的以塊為基礎的動作補償預測編解碼器。
5.如權利要求1的方法,其中編碼包括對輸入到基層編解碼器中的視頻進行降抽樣;對輸入到基層編解碼器中的降抽樣視頻進行編碼和解碼,來生成基層比特流和重建的輸出視頻;以及對重建的輸出視頻進行升抽樣。
6.如權利要求1的方法,其中編碼包括執行空間子帶轉換,來生成空間低通子帶以及一個或多個空間高通子帶。用基層編解碼器對空間低通子帶進行編碼和解碼,來生成基層比特流和重建空間低通子帶;計算殘餘子帶並作為空間低通子帶和重建空間低通子帶之間的差;以及在殘餘子帶和一個或多個空間高通子帶上執行反向空間子帶轉換。
7.如權利要求1的方法,其中編碼過程包括在殘餘子帶上執行一個或多個時間子帶轉換,其中殘餘子帶至少部分基於輸入到基層編解碼器的視頻和從基層編解碼器輸出的重建視頻之間的差。
8.如權利要求1的方法,其中編碼包括在基層編解碼器編碼/解碼之後在一個或多個時間子帶轉換中執行動作補償時間濾波,並且其中至少一些動作補償時間濾波是和從基層編解碼器輸出的重建視頻中的一個或多個參考圖像有關。
9.如權利要求8的方法,其中動作補償時間濾波包括預測階段和更新階段,並且其中對於一個或多個大塊中的每一個的動作補償時間濾波包括當來自較低級時間低通子帶的參考圖像被用在預測階段時,對該參考圖像執行更新階段;以及當重建輸出視頻中的一個或多個參考圖像被用在預測階段時,對該參考圖像跳過更新階段。
10.如權利要求1的方法,其中編碼包括在隨後的使用3D子帶視頻編碼器的編碼中再次利用來自基層編解碼器的編碼/解碼中的動作信息。
11.如權利要求1的方法,其中編碼包括在隨後的使用3D子帶視頻編碼器的編碼中再次利用來自基層編解碼器的編碼/解碼中的內部模式信息。
12.一種方法包括用其中嵌有基層解碼器的3D子帶視頻解碼器對視頻進行解碼;輸出解碼結果。
13.如權利要求12的方法,其中基層解碼器被嵌在3D子帶視頻解碼器的複數個反向時間子帶轉換中間,以便使基層解碼器的解碼跟蹤一個或多個複數反向時間子帶轉換,並先於一個或多個複數反向時間子帶轉換進行。
14.如權利要求12的方法,其中基層解碼器是具有二維反向頻率轉換的以塊為基礎的動作補償預測解碼器。
15.如權利要求12的方法,其中解碼包括用基層解碼器對基層比特流進行解碼,來生成重建的輸出視頻;以及對重建的輸出視頻進行升抽樣。
16.如權利要求12的方法,其中解碼包括執行空間子帶轉換,來生成空間低通子帶以及一個或多個空間高通子帶。用基層解碼器對基層比特流進行解碼,來生成重建的空間低通子帶;合併殘餘子帶和重建的空間低通子帶,來生成合併的低通子帶;以及在合併的低通子帶和一個或多個空間高通子帶上執行反向空間子帶轉換。
17.如權利要求12的方法,其中解碼包括在殘餘子帶上執行一個或多個反向時間子帶轉換。
18.如權利要求12所述的方法,其中解碼包括在基層編解碼器解碼之後在一個或多個反向時間子帶轉換中執行反向動作補償時間濾波,並且其中至少一些反向動作補償時間濾波是和從基層解碼器輸出的重建視頻中的一個或多個參考圖像有關。
19.如權利要求18所述的方法,其中反向動作補償時間濾波包括預測階段和更新階段,並且其中對於一個或多個大塊中的每一個的動作補償時間濾波包括當來自較低級時間低通子帶的參考圖像被用在預測階段時,對該參考圖像執行更新階段;以及當重建輸出視頻中的一個或多個參考圖像被用在預測階段時,對該參考圖像跳過更新階段。
20.一種系統包括用於利用3D子帶視頻編碼器或3D子帶視頻解碼器處理可縮放壓縮視頻比特流的裝置;用於利用其中嵌有基層視頻編解碼器的3D子帶視頻編碼器,或者其中嵌有基層解碼器的3D子帶視頻解碼器,來處理基層壓縮視頻比特流的裝置。
全文摘要
描述了用於可縮放視頻編碼和解碼的技術和工具。例如包括嵌入式基層編解碼器以及時間子帶轉換和空間子帶轉換的3D子帶視頻編解碼器。基層編解碼器在子帶轉換之間的位置和在可縮放視頻編碼中基層編解碼器的作用隨實施而變化。通常,基層編解碼器提供在低比特率的有效壓縮並生成與現有解碼器兼容的基層壓縮視頻比特流。同時,3D子帶視頻編碼器在較高比特率提供空間和時間縮放性選擇,來改進基層視頻。相應的3D子帶視頻解碼器包括嵌入式基層解碼器。
文檔編號H04N7/50GK1738434SQ200510109820
公開日2006年2月22日 申請日期2005年7月12日 優先權日2004年7月12日
發明者吳楓, J·徐, 季向陽 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀