專利名稱:用于視頻壓縮的空間稀疏性誘導瞬時預測的制作方法
技術領域:
本發(fā)明涉及壓縮/解壓縮領域;更具體地,本發(fā)明涉及在變換域 中生成預測,以用在作為壓縮和解壓縮的一部分的運動補償(motion compensation )中。
背景技術:
混合視頻壓縮包括對錨視頻幀(anchor video frame)編碼,然 后預測性地對一組預測的幀編碼。預測編碼(predictive encoding )對 于之前解碼的幀使用運動補償的預測以獲得預測誤差幀(predict
error frame),然后對該預測誤差幀編碼。利用變4灸編碼器(transform coder)對錨幀(anchor frame )和預測誤差編碼。
圖l是視頻編碼器的框圖。參考圖l,運動補償(MC)預測模塊 根據之前解碼的幀生成運動補償的預測。第一加法器從當前幀減去運 動補償的預測,以獲得剩余幀(residual frame )。變換編碼器例如通 過使用變換、量化器和熵編碼器的組合,將剩余幀轉換為編碼的差(coded differential)。在解碼期間,變換解碼器例如通過使用熵解 碼器、逆量化器和逆變換的組合,將編碼的差轉換為重構的剩余碼。 第二加法器將重構的剩余幀加到運動補償的預測,以獲得重構的幀。 延時元件"Z",,存儲重構的幀,以用于MC預測模塊的進一步參考。
相關的技術解決方案具有若干缺點。例如, 一些現有解決方案受 限于利用視頻幀之間非常特定類型的時間相關性。即, 一般性的運動 補償的預測操作被限于通過直接使用來自之前解碼的幀的塊(block), 或通過使用這些塊的基于低通濾波器的插值,而形成當前幀的預測算 子(predictor)。 一旦完成運動估計,且發(fā)現之前解碼的幀中的候選 塊,就假定這些塊或其各種低通濾波形式是被預測幀中塊的最佳預測 算子。相關的技術解決方案沒有考慮許多瞬時變化,諸如以其他方式 時間相關的頻率豐富的(frequency rich )的塊上的時間獨立的變化。 例如,經歷這樣的變化的塊的低通濾波版本可能從預測中去除相關高 頻信號分量,并實際損害了性能。這些未考慮的變化導致嚴重的性能 損失,因為它們產生很難以在混合視頻編碼器中所采用的變換編碼器 編碼的運動補償的差。某些特定的有問題的瞬時變化,諸如特定類型 的亮度變化,已經被研究者所考慮。但是,這些解決方案在其設計所 針對的特定問題之外并不有效。因而,它們不提供一般性的且健壯
(robust)的解決方案。而且,某些研究者還設計了幀自適應運動插 值濾波器,但是也限于非常特定的時間演變模型(temporal evolution model)。此外,由于一個濾波器只能有數目有限的濾波可能性,所 以對于顯示空間頻率豐富的場景的視頻序列,這樣的設計的有效性非 常有限。
相關技術通常在均勻平移的假設下以分段平滑幀模型進行,并且 只要實際被編碼的幀偏離這些假定,就遇到問題。
發(fā)明內容
這里乂>開了 一種用于空間稀疏性誘導(spatial sparsity induced ) 瞬時預測的方法和裝置。在一個實施例中,所述方法包括執(zhí)行運動補償,以利用來自之前編碼的幀中的第 一塊生成第 一運動補償的預
測;利用空間域中的多個預測,根據第一運動補償的預測生成用于待 編碼的第二塊的第二運動補償的預測,包括通過利用變換為第一塊生
成塊變換系數、利用塊變換系數生成待編碼的第二塊的預測的變換系
數、以及對預測的變換系數執(zhí)行逆變換以在像素域(pixel domain) 中創(chuàng)建第二運動補償的預測,來生成這多個預測中的每一個;從當前 幀的塊中減去第二運動補償的預測,以產生剩余幀;以及對剩余幀編 碼。
根據下面給出的詳細描述和本發(fā)明各實施例的附圖,將更完整地 理解本發(fā)明,但是,這些描述和附圖不應當被認為是將本發(fā)明限制到 特定的實施例,而僅僅用于解釋和理解。
圖l是視頻編碼器的框圖。
圖2A是具有稀疏性誘導預測的混合視頻編碼器的 一個實施例的框圖。
圖2B是增強視頻解碼器的框圖。 圖3說明待編碼的當前幀的示例表示。 圖4說明預測塊x和相關的鄰域Ax的示例表示。 圖5說明在鄰域A《內訓練塊的位置和相應塊在形成運動補償的預 測中的基準的先前幀中的位置的示例表示。
圖6說明將當前宏塊(macroblock)分解成"xw壓縮變換塊的例子。
圖7說明三個/7X^預測塊與待預測的MX/f塊重迭的示例表示。
圖8說明圖7的三個/;xp預測塊形成《 xw塊的整體預測的方式。 圖9說明借助于之前解碼的宏塊和之前解碼的"XM塊的wxw塊的預測。
圖10是在編碼器中執(zhí)行塊的稀疏性誘導預測的過程的一個實施 例的流程圖。
7圖11是在解碼器中執(zhí)行塊的稀疏性誘導預測的過程的 一 個實施 例的流程圖。
圖12是用于形成變換域預測的過程的 一 個實施例的流程圖。 圖13是用于計算預測權重的過程的一個實施例的流程圖。 圖14是示例性計算機系統(tǒng)的框圖。
具體實施例方式
描述了用于視頻幀的改進的運動補償的預測的方法和裝置。在一 個實施例中,該方法被設計為在視頻序列中遇到的復雜時間演變期間 形成自動的成功的預測(例如,在均方誤差方面)。在一個實施例中, 該方法基于一個或多個之前解碼的幀形成待編碼幀的預測。
這里描述的技術可成功應用在傳統(tǒng)的運動補償的預測無法執(zhí)行 或執(zhí)行得不好的許多場景中。例如,當在視頻幀中存在時間不相關的 白噪聲,且待編碼幀的預測將受益于去除之前解碼的幀中的噪聲時, 在一個實施例中,該方法在運動補償的預測期間自動地實現之前解碼 的幀的降噪。同樣,在一個實施例中,當在視頻幀中存在幾個場景的 混合,且待編碼幀的預測將受益于之前解碼的幀的去混合 (deblending)時,該方法在運動補償的預測期間自動地進行去混合。 類似地,在一個實施例中,該方法在漸隱(fade)、照明變化等期間 自動檢測并形成成功的預測算子,而傳統(tǒng)的運動補償的預測在漸隱、 照明變化等期間會失敗。此外,這里描述的技術即使在存在多個復雜 的時間演變來形成非常復雜的時間演變時也形成成功的預測。
在一個實施例中,這里描述的技術被應用于混合視頻壓縮系統(tǒng)內 的編碼器-解碼器設置,其中在混合視頻壓縮系統(tǒng)中,編碼器和解碼器 在運動補償預測環(huán)路中使用該方法,以受益于所提供的預測增益。在 一個實施例中,該方法基于在以下域中進行自適應預測,即在該域中, 用于預測的幀和待預測的幀是稀疏的。該稀疏域可以是固定的,或者 針對所考慮的幀而優(yōu)化地計算。
最后,所描述的技術是健壯且一般性的,能夠有效處理大量圖像區(qū)域類型和大量壓縮技術。所得到的預測算子自適應且自主地為這大 量圖像區(qū)域類型產生合適的頻率選擇性。
在下面的描述中,給出了大量細節(jié)以提供本發(fā)明的更詳盡的解 釋。但是,將顯而易見的是,對于本領域技術人員,本發(fā)明可以無需 這些特定細節(jié)而實施。在其他情況下,以框圖形式示出、而不是詳細 描述公知的結構和設備,以免使本發(fā)明模糊。
以下詳細說明的某些部分是以對計算機存儲器中的數據比特的 操作的算法和符號表示的形式給出的。這些算法描述和表示是數據處 理領域的技術人員用來最有效地向其他本領域技術人員告知其工作 主旨的方式。算法在這里并通常被設計為產生所期望結果的自相容步 驟序列。這些步驟是物理量的那些需要的物理操作。盡管并非必須, 但是通常,這些量采用能夠被存儲、傳輸、組合、比較和以其他方式 操作的電信號或磁信號的形式。已經不時證明了,主要是由于共同使 用的原因,將這些信號稱為比特、值、元素、符號、字符、項、數字 等是方便的。
但是,應當注意,所有這些術語以及類似術語要與適當的物理量 相關聯,并且僅僅是應用于這些量的便利的標注。除非如以下討論中 所出現的以其他方式特別聲明,否則應當理解,在整個說明書中,使 用諸如"處理"或"計算,,或"演算"或"確定,,或"顯示"等之類的術語的 討論是指計算機系統(tǒng)或類似電子計算設備的操作計算機系統(tǒng)的寄存 器和存儲器中表示為物理(電)量的數據并將其轉換成計算機系統(tǒng)存 儲器或寄存器或其他這類信息存儲、傳輸或顯示設備內類似地被表示 為物理(電)量的其他數據的行為和過程。
本發(fā)明還涉及用于執(zhí)行這里所述操作的裝置。該裝置可以被專門 構造為用于所需的目的,或者它可以包括由存儲在計算機中的計算機 程序選擇性地激活或重新配置的通用計算機。這樣的計算機程序可被 存儲在計算機可讀存儲介質中,例如但不限于任何類型的盤,包括軟
盤、光盤、CD-ROM、磁光盤、只讀存儲器(ROM)、隨機存取存 儲器(RAM) 、 EPROM、 EEPROM、磁卡或光學卡,或者任何類型的適于存儲電子指令的媒介,并且它們每一個都被耦接到計算機系統(tǒng) 總線。
這里提出的算法和顯示并不是自然地涉及任何特定的計算機或 其他裝置。各種通用系統(tǒng)可與根據這里的教導的程序一起使用,或者, 可能證明是方便的是構建更專用的裝置來執(zhí)行所需的方法步驟。大量 這些系統(tǒng)的所需要的結構將出現在以下的說明中。此外,本發(fā)明不是 參考任何特定編程語言來描述的。應當理解,各種編程語言可被用來 實現這里描述的本發(fā)明的教導。
機器可讀介質包括任何用于以機器(例如,計算機)可讀的形式 存儲或傳輸信息的機構。例如,機器可讀介質包括只讀存儲器
("ROM");隨機存取存儲器("RAM");磁盤存儲介質;光存儲 介質;閃存設備;電、光、聲或其他形式的傳播的信號(例如,載波、 紅外信號、數字信號等);等等。
概述
稀疏性誘導預測可被用作運動補償過程的一部分。更具體地,對 于待編碼幀中待預測的塊,獲得來自之前編碼的幀中的候選塊。在一 個實施例中,如果需要的話,適當的運動補償的插值被應用于候選塊。 在一個實施例中,在變換域中進行預測,而不是在像素域中預測待預 測的塊。因而,首先利用線性變換對候選塊進行變換,以獲得其變換 系數,這些候選塊變換系數然后被用于預測/估計待預測塊的變換系 數。在一個實施例中,通過使均方預測誤差最小化來預測待預測塊的 每個變換系數。 一旦待預測塊的變換系數被預測,這些系數就被逆變 換以獲得像素域稀疏性誘導預測。
在一個實施例中,在預測形成期間,如果必要的話,編碼器確定 并向解碼器發(fā)送將有助于解碼器形成相同預測的某些邊信息(side information)。這樣的邊信息可包括關于解碼器是否要對待預測塊應 用稀疏性誘導預測的指示。這樣的邊信息還可包括在預測待預測塊的 子集或每個塊時要使用的預測參數。在解碼期間,解碼器重復該預測過程并獲得與編碼器相同的預測 塊。在一個實施例中,稀疏性誘導預測直接在像素域中被推導(通過 執(zhí)行相當于在變換域中空間地進行預測的計算),并且最終預測算子 被直接應用在像素域中。在一個實施例中,編碼器在預測每個塊之前 找到最佳變換,使得例如該塊的預測在均方誤差方面是最有效的。借 助于編碼器所信號發(fā)送的邊信息,解碼器與編碼器計算的變換相匹 配。在一個實施例中,編碼器使運動補償過程最優(yōu)化,使得得到最好 的稀疏性誘導預測。
正如下面進一步詳細討論的那樣,編碼器可以利用可獲得的信息 來指定可能的預測的子集,并通過邊信息發(fā)送特定預測。注意,在一
個實施例中,本發(fā)明的預測技術與諸如提升(lifting)之類的方法組 合,以設計要用在利用時間變換的視頻壓縮應用中的時間變換。
稀疏性誘導預測的使用通過提供附加的預測選項改進運動補償 預測,該附加的預測選項取之前解碼的幀中相同的塊但是應用不同的 預測技術,以形成待編碼的幀的更好的預測算子。這是因為如果只考 慮運動,則得到的預測包含大量仍與待編碼幀無關的信息。如果丟棄 該不相關信息,則顯著地改進運動補償預測。
例如,對于包含時間不相關噪聲的視頻序列,在之前解碼的塊被 用在預測待編碼幀之前去除這些塊中的噪聲的技術是有益的。對于顯 示從一個場景到另 一場景的漸隱的視頻序列,之前解碼的幀可以是這
兩個場景的混合,而待預測幀可僅顯示這兩個場景中僅僅一個。因而, 從之前解碼的幀中去除不相關場景的技術可以非常有利于形成待預
測幀的更好的預測算子。類似地,視頻序列中的照明變化、視覺影響 以及其它變化可不利地影響運動補償的預測的精確度。所有這些問題 和其引起的預測性能損失可利用這里描述的技術來減輕。
注意,這里所述的技術也可應用于其它類型的信號,例如但不限 于音頻和諸如醫(yī)學體(medical volume )圖像等之類的更高維信號。
編碼器和解碼器例子
ii圖2A是使用稀疏性誘導預測的混合視頻編碼器的一個實施例的 框圖。參考圖2A,運動補償(MC)預測模塊216基于之前解碼的幀203 生成運動補償的預測。稀疏性誘導預測才莫塊217擴增(augment)這里 所述的運動補償的預測,以產生待編碼幀的更好的預測。在一個實施 例中,稀疏性誘導預測模塊217基于諸如原因信息(causal information ) 230之類的原因信息來擴增運動補償的預測。
加法器211從當前幀201中減去擴增后的運動補償的預測,以獲得 剩余幀。變換編碼器212通過例如使用變換、量化器和熵編碼器的組 合,將剩余幀轉換成編碼的差202。在解碼期間,變換解碼器213通過 例如使用熵解碼器、逆量化器和逆變換的組合,將編碼的差轉換成重 構的剩余幀。加法器214將重構的剩余幀加到擴增的運動補償的預測, 以得到重構的幀。延遲元件"Z",,215存儲重構的幀,以供MC預測模塊 216的進一步引用。
在一個實施例中,視頻解碼器包括運動補償單元,用于利用來自 之前解碼的幀的塊生成預測塊;稀疏性誘導預測模塊擴增運動補償的 預測,以產生待解碼幀的更好的預測;解碼器,用于解碼剩余幀;以 及加法器,用于將剩余幀加到非線性預測。延遲元件"Z""存儲濾波后 的幀,以供MC預測模塊的進一步引用。
圖2B是增強的視頻解碼器的一個實施例的框圖。參考圖2B, MC 預測模塊224根據之前解碼的幀233生成運動補償的預測。稀疏性誘導 預測模塊223擴增運動補償的預測,以產生待解碼幀的更好的預測。 響應于從編碼比特流所接收的預測參數232而進行上述操作。在一個 實施例中,稀疏性誘導預測模塊223基于諸如原因信息223之類的原因 信息來擴增運動補償的預測。變換解碼器221通過例如使用熵解碼器、 逆量化器和逆變換的組合,將編碼的差231轉換成重構的剩余幀。加 法器222將重構的剩余幀加到擴增的運動補償的預測,以得到從視頻 解碼器輸出的重構的幀。輸出可被發(fā)送到顯示器。延遲元件"Z""225 還存儲濾波后的幀,以供MC預測模塊224的進一步引用。
下面進一步描述稀疏性誘導預測模塊的操作。變換
在 一 個實施例中,如上所述被應用到候選塊的線性變換(預測變
換)是規(guī)范正交塊變換,諸如塊/;x^DCT。也可應用其它變換、非正 交變換、非塊(non-block)變換。當所應用的變換是非塊的,則可以 再次形成待編碼幀/塊中變換系數的預測,并且一旦如上所述完成了預 測,則執(zhí)行逆變換??刹捎眯盘柼幚碇幸汛_定的技術來進行利用非塊 變換(小波變換、重疊變換等)的邊界處理和空間區(qū)域的平鋪(tiling)。 希望該變換具有快速實現從而能夠以高效的方式執(zhí)行計算,但這不是 必須的。
不失一般性地,假定所使用的預測變換是/;xp塊DCT。注意,在 一個實施例中,所使用的預測變換不同于在預測誤差的變換編碼中所 使用的變換。
這里所述的技術可通過例子來描述。圖3是待編碼的當前幀的一 個示例描述,相對于待編碼的宏塊和當前宏塊示出了之前編碼的宏 塊。參考圖3,當前幀300包括當前宏塊302以及之前解碼的宏塊301和 待編碼的宏塊303。
為了這里的目的,C表示待預測的/7X;;塊(排列為/〃矢量)。圖
4是預測塊;c和相關聯的鄰域Ax的示例描述。參考圖4,在當前宏幀300 的當前宏塊302中示出塊x (401)。相對于鄰域A^ ( 402 )示出了塊x (401)和宏塊302的位置。
為了這里的目的,y (排列為/xj矢量)表示來自在預測^:時所使 用的幀的運動補償的塊。圖5是在A《內訓練塊的位置和在形成運動補 償的預測中的基準的已往幀中相應塊的位置的示例描述。參考圖5, 示出了當前幀300和已往幀500,以及鄰域4c(402)中訓練塊trt3和在 生成運動矢量501的運動補償的預測中被作為基準的已往幀500中相
應塊U廣U3的位置。
令H表示上面段中所指定的線性塊變換(預測變換)(/x/矩陣)。 ;c的變換系數由F好x給出,y的變換系數由cN^O;給出。
13令tf,)表示X的第/個變換系數(/=7,...,/)。在一個實施例中,由
這里,ao是預測,而A是預測權重。但是要注意,預測也可以
更加一般化并可為非線性的(例如,2006年6月20日提交的標題為"A Nonlinear, Prediction Filter for Hybrid Video Compensation" 的美 國專利申請No. 11/471741 )。也可通過,)=",'"(0 + ^,在等式(l) 中加入偏置項o,,來考慮平均值的變化。這一項也可最優(yōu)化地被選擇, 以使均方誤差或類似的度量最小。而且,可應用空間預測技術,使得
可以去除^"的與Cf()預測無關的部分,以得到"(O ,和通過
= ",j(纟)+形成的預測。
在某些情況下(例如,當多于一個基準幀可用時,當基準幀中多 于一個塊被認為與待預測塊匹配時,等等),可以從多個之前解碼的 塊來預測。在這種情況下,可以利用這些塊的轉換系數以線性方式形 成預測。例如,如果Z是另一之前解碼的塊,其轉換系數由e-好Z給出, 則可以形成
朋=",局.)+ /3,(0. (2)
一旦對于/=7,...,/形成預測印),則可得到/xjr矢量2。于是, 預測塊夭為
在一個實施例中,利用待預測幀中之前傳輸的塊來因果性地確定
預測權重a,。再次參考圖4,對于塊丄,令A^表示x周圍的至少包含一些 在待編碼幀中之前解碼的像素的空間鄰域。如圖5所示,訓練塊^, ,2,..., ^f立于A,內,使得每個G cA,且每個^中所有像素都可用,而且塊^, w2, ..., "i與之前解碼的幀中的訓練塊6, 6, ..., ^相對應。通過下式獲得 這些塊的變換系數
<formula>formula see original document page 14</formula>
從而能夠獲得% = arg min Z| (/)"辨^ (/) 1 . (3)
訓練塊/7, & ..., ^可重迭,使得更好地利用空間鄰域Ay中的信息。 在一個實施例中,如圖4所示,鄰域Ax是在塊;c周圍的大小為ikfxM的方 形鄰域。M可以是例如A^3/;(變換壓基函數在行/列方向上的大小的3 倍)、Af=2/7,等等。M也可以是某個其它整數。在另一實施例中, A《是矩形鄰域。在又一實施例中,鄰域Ax具有更一般性的形狀。
在一個實施例中,上述用于權重確定的過程被擴展到其中在預測 過程中利用多個塊的情況(等式(2))。在另一實施例中,預測被 擴展到通過下式
鄰)=|>"柳
,
利用具有不同下標的系數,并如上所述因果性地獲得預測權重。
在一個實施例中,編碼器/解碼器對使所使用的變換7/最優(yōu)化,以 使得均方預測誤差最小。該操作可由編碼器/解碼器基于之前編碼的信 息因果性地執(zhí)行,或由編碼器非因果性地執(zhí)行并把所得到的變換發(fā)送 到解碼器,或者是上述兩者的混合。在一個實施例中,通過順序執(zhí)行 以下步驟來使變換最優(yōu)化以給定的一組預測權重開始,尋找以該權 重為條件的最佳變換使得均方預測誤差最小,重新計算權重,然后重 新計算變換,等等。
預測操作可以重疊方式進行,使得待預測空間區(qū)域中某些或全部 像素被多次預測。然后,通過對這多個預測進行空間的每像素的平均 來獲得最終預測。假設在對預測誤差進行變換編碼時采用大小為wxw 的塊變換,圖6示出將當前宏塊分解成"x"壓縮變換塊的例子。從而, 當對當前宏塊編碼時,預測第一wx"塊,對預測誤差編碼,然后預測 第二塊,第二塊的預測誤差被編碼,等等。該編碼的順序可以是光柵 掃描(raster scan)的或者是其它4壬意方式的。
圖7示出三個/;x/;預測塊與待預測的wx"塊重迭的例子。參考圖7,
待編碼塊701被表示為在wx"壓縮變換塊702中。; x;;預測塊l-3與塊701重迭。在對塊701的預測誤差編碼之前,生成這三個預測。每個預測
對蜂皮標記為pX^預測塊l到;;Xp預測塊3的/;Xp空間區(qū)域進行預測。每一
個/;xp預測塊不同地覆蓋^!Xw塊。
待預測的"x"塊可被分成區(qū)域(A,B,C,D),使得根據/ x戶預測 塊中哪一個與該區(qū)域重迭來不同地預測這些區(qū)域中的每一個。圖8示
出圖7的三個/;x戶預測塊i-3形成wxw塊701的整體預測的方式。由于所 有三個預測塊在區(qū)域A中重迭,所以區(qū)域A中的像素被所有三個預測 塊預測(最終預測是這三個預測的線性組合)。由于預測塊2和3在區(qū) 域B中重迭,所以區(qū)域B中的像素被這些預測塊中的兩個(2和3)預測
(最終預測是兩個預測的線性組合)。由于預測塊1和3在區(qū)域C中重 迭,所以區(qū)域C中的像素被不同的兩個預測塊(l和3)預測(最終預 測是兩個預測的線性組合)。區(qū)域D中的像素被一個預測塊(3)預測
(由于在區(qū)域D中,預測塊3不與任何預測塊重迭)。
應當理解,如果一個像素具有k個預測塊與其重迭,則該像素的 最終預測由尸xp預測塊中每一個所提供的預測的線性組合形成。在一
個實施例中,通過直接平均形成線性組合。在另一個實施例中,通過 加權平均來形成線性組合。
在一個實施例中,由于/;xp預測塊所使用的預測權重是基于一組 訓練塊而因果性地計算的,因此利用之前編碼的wx"變換塊來幫助當 前預測是有利的。圖9示出借助于之前解碼的宏塊和之前解碼的rtx" 塊對MX"塊的預測。參考圖9,借助于被用于創(chuàng)建預測塊l-3的之前解 碼的宏塊和之前解碼的WXM塊(其中某些被顯示為之前解碼的"x"塊 903 )執(zhí)行待編碼的wx"塊——塊901——的預測。
一旦形成預測,編碼器可決定是使用該預測還是將其丟棄,以有 利于其它預測,例如使用2006年6月20日提交的標題為"A Nonlinear, Prediction Filter for Hybrid Video Compression"的美國專利申請No. 11/471741所描述的技術。編碼器也可發(fā)送有助于指定預測和預測權重 的邊信息。編碼器還可最優(yōu)化對運動矢量的搜索,使得得到最佳的稀 疏性誘導預測。編碼器還可使用因果訓練塊(causal training block),以指定可能的預測權重的子集,并通過邊信息發(fā)送特定權重。在一個 實施例中,編碼器還使用因果訓練塊來建立可能的預測權重的概率分 布,并通過基于所建立的分布的熵編碼而獲得的邊信息來發(fā)送特定權 重。編碼器還可使用矢量量化和矢量編碼技術來指定待預測塊的系數 的預測算子。在一個實施例中,在利用時間變換的視頻壓縮應用中, 所述方法可與基于預測的變換設計方法(諸如基于提升的方法)組合。
注意,本發(fā)明的實施例可適用于在變換編碼中使用塊以及非塊變 換的視頻編碼器。
本發(fā)明的實施例可應用于具有由于大范圍統(tǒng)計量,諸如低通、帶
通、高通、紋理(texture)、邊緣等的像素值的視頻幀。但是,本發(fā) 明不限于具有平滑變化的像素值的視頻幀。
本發(fā)明的一個實施例對于寬范圍的視頻時間演變上的預測是有 效的。在一個實施例中,典型視頻幀上速率-失真性能和典型視頻幀上 的視覺質量比相關技術要好。
本發(fā)明的實施例還可以以實現低計算復雜度的方式被配置。
各種實施例
在一個實施例中,在稀疏性誘導預測過程中所使用的預測變換是 /7Xp塊DCT,其中/7可以是4、 5、 8、 16等。在一個實施例中,使用等 式l來執(zhí)行變換系數預測,并通過等式3得到預測權重。與在鄰域A,中
可用的已經編碼的數據相對應的所有重迭的/7X戶塊(由/7X戶滑動窗口確
定)被用在訓練中,即被用在等式3的計算中。
關于預測形成,如果至少一個訓練塊可用于確定/;x^預測塊的權
重,則形成該預測塊。在一個實施例中,以所有偏移執(zhí)行重迭預測,
使得MXw變換塊中每個像素具有最大可能數量的預測。該數量僅僅受
到可用于預測形成的之前解碼的信息的量的限制。
在一個實施例中,通過加權平均給出這多個預測的每像素平均。 可以利用相等權重或利用本領域中已知的更為復雜的權重確定技術 來實現,例如Onur G. Guleryuz, "Weighted Overcomplete Denoising",Proc. Asilomar Conference on Signals and Systems, Pacific Grove, CA, Nov. 2003。
注意,雖然上述說明是針對塊來描述的,但是其它大小和形狀的 區(qū)域(例如,非塊)也可與本發(fā)明結合使用,包括但不限于使被預測 矢量和預測矢量對應于一般大小和形狀的區(qū)域,即非塊。
編碼和解碼過程的例子
圖IO是解碼器中用于塊的稀疏性誘導預測的過程的 一個實施例 的流程圖。該過程由處理邏輯執(zhí)行,處理邏輯可包括硬件(例如電路、 專用邏輯等)、軟件(諸如在通用計算機系統(tǒng)或專用機器上運行)或 二者的組合。
參考圖IO,過程開始于處理邏輯將變量6設置為等于待預測的每 個wx"塊(處理框1001),并將變量x設置為等于與6重迭的所有/;xi; 幀塊(處理框1002)。對于待預測的每個塊6,處理邏輯取每個px^塊 并預測jc的變換系數(處理框1003 )。變換域中這些預測在這里被記 作6。
處理邏輯然后確定空間預測義(處理框1004)??臻g預測^通過
對預測6進行逆變換來確定。
接下來,處理邏輯確定由;c表示的/;x;;塊和塊6的交集(處理框 1005)。換而言之,空間預測的相關分量被確定為其與6重迭的部分。 處理邏輯將交集內的預測部分累加(處理框1006 )。從而,在6中相 關像素上,相關分量被累加。處理邏輯將交集中像素的預測計數增加 1 (處理框1007)。
處理邏輯然后檢查是否已經考慮了所有與6重迭的/;x^幀塊(處理
框1008)。如果沒有,則過程轉向處理框1002,其中過程繼續(xù)。如果 已經考慮了,則處理框轉向處理框1009。
在處理框1009,對于6中的每個像素,處理邏輯將累加的預測值 除以累加的預測計數,以形成6的最終預測。累加值和預測計數使得
能夠進行最終預測確定,使得如果6中的像素由k個/7X;;塊(k>=l)預
18測,則累加值是k個預測的總和,用于像素的預測是k,而最終預測是 累加值除以k。
一旦形成最終預測,處理邏輯就計算6的預測誤差(處理框1010)。 處理邏輯對預測誤差編碼(處理框1011 )并將預測誤差發(fā)送到解碼器。
處理邏輯還解碼預測誤差(處理框1012)。這是與會由解碼器解
碼的預測誤差相同的預測誤差。處理邏輯將解碼的預測誤差加到在處
理框1009所生成的預測(處理框1013)。這形成解碼后的塊6。處理 邏輯將解碼后的塊6加到由未來預測操作所產生的之前解碼的塊(處
理框1014)。這實際上更新之前解碼的信息。
處理邏輯然后檢測是否已經預測了每個待預測的"x"塊(處理框
1015)。如果是,則過程完成;如果不是,則過程轉向處理框IOOI, 其中過程重復。
圖11是在解碼器中用于稀疏性誘導預測的過程的 一個實施例的 流程圖。該過程由處理邏輯執(zhí)行,處理邏輯可包括硬件(例如電路、 專用邏輯等)、軟件(諸如在通用計算機系統(tǒng)或專用機器上運行)或 二者的組合。
參考圖ll,過程開始于處理邏輯將變量6設置為等于待預測的每
個"X"塊(處理框1101),并將變量X設置為等于所有與6重迭的/7X;;
幀塊(處理框1102)。對于每個待預測的塊6,處理邏輯取每個pxp塊 并預測x的變換系數(處理框1103)。變換域中的這些預測在這里被 記作5。
處理邏輯然后確定空間預測^ (處理框1104)??臻g預測兌通過
對預測5進行逆變換來確定。
接下來,處理邏輯確定由X表示的/7X;;塊和塊6的交集(處理框 1105)。換而言之,空間預測的相關分量被確定為與6重迭的部分。
處理邏輯將交集內預測部分進行累加(處理框1106)。從而,在6中
的相關像素上,相關分量被累加。處理邏輯將交集中像素的預測計數
增加l (處理框1107)。
處理邏輯然后檢查是否已經考慮了所有與6重迭的/;x^幀塊(處理框1108)。如果沒有,則過程轉向處理框1102,其中該過程繼續(xù)。如 果已經考慮了,則處理框轉向處理框1109。
在處理框1109,對于6中的每個像素,處理邏輯將累加的預測值 除以累加的預測計數,以形成6的最終預測。累加值和預測計數使得 能夠進行最終預測確定,使得如果6中的像素由k個戶x;;塊(k>=l)預 測,則累加值是k個預測的總和,用于像素的預測是k,而最終預測是 累加值除以k。
在形成最終預測之后,處理邏輯將預測與預測誤差加和(處理框 1110),其中處理邏輯對從解碼器所接收的塊6的預測誤差進行解碼 (處理框llll)。
在將預測與預測誤差加和之后,處理邏輯更新之前解碼的信息 (處理框1112)。在一個實施例中,更新之前解碼的信息包括將解碼 后的塊6加到之前解碼的幀,以便將來使用。
在更新之前解碼的信息之后,處理邏輯檢查是否已經預測了每個 待預測的"x"塊(處理框l113)。如果是,則過程完成;如果不是, 則過程轉向處理框1101,其中過程重復。
圖12是用于執(zhí)行變換域預測的過程的 一個實施例的流程圖。該過 程由處理邏輯執(zhí)行,處理邏輯可包括硬件(例如電路、專用邏輯等)、 軟件(諸如在通用計算機系統(tǒng)或專用機器上運行)或二者的組合。
參考圖12,對于每個給定的塊jc,過程開始于處理邏輯確定》其 中y是用于x的運動補償的預測(處理框1202)。處理邏輯然后根據下 式計算y的變換系數
(處理框1203 )。
然后,處理邏輯為J的每個分量確定預測權重A,由下標 i=l, ..." p2來標引(處理框1204和1205 )。處理邏輯然后形成預 測矢量f如下
(處理框1206)。注意,在一個實施例中,可在不生成變換系數的情況下生成預測。 例如,像素域濾波器可被應用于運動補償的預測,其中應用像素域濾
波器相當于在變換域中進行預測。在這種情況下,過程包括執(zhí)行運 動補償以利用來自之前編碼的幀的第一塊生成第一運動補償的預測; 利用多個預測,由第一運動補償的預測為待編碼的第二塊生成第二運 動補償的預測,包括通過將像素域濾波器應用到第一運動補償的預測 而生成這多個預測中的每一個,其中應用像素域濾波器的結果相當于 根據塊預測系數生成預測變換系數,該預測變換系數隨后被逆變換以 在像素域創(chuàng)建第二運動補償的預測;從當前幀中的塊減去第二運動補 償的預測,以產生剩余幀;以及對剩余幀編碼。
在另一個實施例中,設計查找表,使得不進行等價像素域濾波器 計算,而是僅僅使用變換系數來形成查找表中的索引,該索引又被用 于獲得像素域濾波器,濾波器又被應用在像素域中。即,在一個實施 例中,基于由一個和多個變換系數形成的索引,從查找表選擇像素域 濾波器。
圖13是用于計算預測等待的過程的一個實施例的流程圖。該過程 由處理邏輯執(zhí)行,處理邏輯可包括硬件(例如電路、專用邏輯等)、 軟件(諸如在通用計算機系統(tǒng)或專用機器上運行)或二者的組合。
參考圖13,過程開始于如果有邊信息,則處理邏輯利用邊信息 初始化預測權重^G^,…"P"(處理框1301)。針對給定的塊x,處 理邏輯確定像素的鄰域A,(處理框1302 )。
處理邏輯然后檢查A^中所有可能的/7X;;塊,以確定是否塊中所有
像素都可用于編碼器和解碼器二者,即,之前被編碼/解碼(處理框1303 和1304)。
如果塊中所有t^素都可用于編碼器和解碼器二者,則處理邏輯將 變量/'遞增(increment)(處理框1305 )并通過運動補償在基準幀中 確定匹配塊w (處理框1306)。即,處理邏輯確定塊,的運動補償的預 測。處理邏輯然后為塊,和匹配塊M計算變換系數(處理框1307)。
一旦計算出與所有考慮的塊相關聯的變換系數,處理邏輯就借助于任何可用的邊信息,(利用例如上面的等式3)求解預測權重(處 理框1308)。然后,處理邏輯輸出預測權重(處理框1309 )。
計算機系統(tǒng)的例子
圖14是可執(zhí)行一個或多個這里所述的操作的示例性計算機系統(tǒng) 的框圖。參考圖14,計算機系統(tǒng)1400可包括示例性客戶端或服務器計 算機系統(tǒng)。計算機系統(tǒng)1400包括用于通信信息的通信機構或總線 1411,以及用于處理信息的與總線1411耦接的處理器1412。處理器 1412包括微處理器,但不限于微處理器,微處理器例如是PentiumTM、 PowerPC , AlphaTM等。
系統(tǒng)1400還包括耦接到總線1411的隨機存取存儲器(RAM)或 其他動態(tài)存儲設備1404 (稱為主存儲器),用于存儲信息和要由處理 器1412執(zhí)行的指令。主存儲器1404還可被用于在處理器1412執(zhí)行指令 期間存儲臨時變量或其它中間信息。
計算機系統(tǒng)1400還包括耦接到總線1411的只讀存儲器(ROM) 和/或其它靜態(tài)存儲設備1406,用于為處理器1412存儲靜態(tài)信息和指 令,還包括數據存儲設備1407,諸如磁盤或光盤及其相應的盤驅動器。 數據存儲設備1407耦接到總線1411,用于存儲信息和指令。
計算機系統(tǒng)1400還可耦接到顯示設備1421,諸如陰極射線管 (CRT)和液晶顯示器(LCD),顯示設備1421耦接到總線1411以向 計算機用戶顯示信息。字母數字輸入設備1422,包括字母數字鍵和其 它鍵,也可耦接到總線1411,以便將信息和命令選擇通信到處理器 1412。附加的用戶輸入設備是光標控制器1423,諸如鼠標、軌跡球、 跟蹤板、指示筆和光標方向鍵,光標控制器耦接到總線1411以將方向 信息和命令選擇通信到處理器1412以及控制顯示器1421上的光標移 動。
另一可耦接到總線1411的設備是硬拷貝設備1424,其可被用于在 諸如紙、膠片之類的媒介或相似類型的媒介上標記信息。另一可耦接 到總線1411的設備是有線/無線通信裝置(capability) 1425,以便與
22電話或手持式掌上設備通信。
注意,系統(tǒng)1400的任何或全部組件以及相關的硬件可被用在本發(fā) 明中。但是,可以理解,計算機系統(tǒng)的其它配置可包括這些設備中部 分或全部。
雖然本領域技術人員在閱讀了前面的描述之后將無疑問地理解 本發(fā)明的許多變化和修改,但是應當理解,通過說明的途徑而展示和 描述的任何特定實施例無論如何都不應當被認為是限制性的。因此,
的那些^征的權利要求的范圍。 '
權利要求
1. 一種方法,包括執(zhí)行運動補償,以利用來自之前編碼的幀的第一塊生成第一運動補償的預測;利用空間域中的多個預測,根據所述第一運動補償的預測為待編碼的第二塊生成第二運動補償的預測,包括通過以下步驟生成所述多個預測中的每一個利用變換為所述第一塊生成塊變換系數,利用所述塊變換系數,生成待編碼的所述第二塊的預測的變換系數,以及對所述預測的變換系數執(zhí)行逆變換,以在像素域中創(chuàng)建所述第二運動補償的預測;從當前幀中的塊減去所述第二運動補償的預測,以產生剩余幀;以及對所述剩余幀編碼。
2. —種編碼器,包括運動補償預測模塊,用于執(zhí)行運動補償,以為第一塊生成第一運 動補償的預測;第二預測模塊,用于接收所述運動補償的預測,并根據空間域中 的多個預測為待編碼的笫二塊生成第二運動補償的預測,其中所述第 二預測模塊通過以下步驟生成所述多個預測中的每一個 利用變換,為所述第一塊生成塊變換系數, 利用所述塊變換系數,生成待編碼的所述笫二塊的預測的 變換系數,以及對所述預測的變換系數執(zhí)行逆變換,以在像素域中創(chuàng)建所 述第二運動補償的預測;減法器,用于從當前幀中的塊減去所述第二運動補償的預測,以產生剩余幀;以及編碼器,用于對所述剩余幀編碼。
3. —種制造產品,具有一個或多個其上存儲有指令的計算機可 讀介質,所述指令在被系統(tǒng)執(zhí)行時使系統(tǒng)執(zhí)行包括下列步驟的方法執(zhí)行運動補償,以利用來自之前編碼的幀的第 一塊生成第 一運動 補償的預測;利用空間域中的多個預測,根據所述第一運動補償的預測, 為待編碼的第二塊生成第二運動補償的預測,包括通過以下步驟 生成所述多個預測中的每一個利用變換為所述第 一塊生成塊變換系數,利用所述塊變換系數,生成待編碼的所述第二塊的預測的 變換系數,以及對所述預測的變換系數執(zhí)行逆變換,以在像素域中創(chuàng)建所 述笫二運動補償的預測;從當前幀中的塊減去所述第二運動補償的預測,以產生剩余幀;以及對所述剩余幀編碼。
4. 一種方法,包括利用來自之前解碼的幀的第 一塊生成預測的塊; 響應于所述預測的塊,利用空間域中的多個預測生成運動補償的 預測,包括通過以下步驟生成所述多個預測中的每一個 利用變換為所述預測的塊生成塊變換系數, 利用所述塊變換系數生成待編碼的第二塊的預測的變換系 數,以及對所述預測的變換系數執(zhí)行逆變換,以在像素域中創(chuàng)建運 動補償的預測; 對剩余幀解碼;以及將所述剩余幀加到所述運動補償的預測。
5. —種裝置,包括運動補償單元,用于利用來自之前解碼的幀的第一塊生成預測的塊;笫二預測模塊,用于響應于所述預測的塊,根據空間域中的多個 預測生成運動補償的預測,其中所述第二預測模塊通過以下步驟生成所述多個預測中的每一個利用變換為所述預測的塊生成塊變換系數, 利用所述塊變換系數生成待編碼的第二塊的預測的變換系 數,以及對所述預測的變換系數執(zhí)行逆變換,以在像素域中創(chuàng)建運 動補償的預測;解碼器,用于對剩余幀解碼;以及 加法器,用于將所述剩余幀加到所述預測。
全文摘要
這里公開了用于空間稀疏性誘導的時間預測的方法和裝置。在一個實施例中,方法包括執(zhí)行運動補償以利用來自之前編碼的幀的第一塊生成第一運動補償預測;利用空間域中的多個預測根據第一運動補償預測為待編碼的第二塊生成第二運動補償預測,包括通過利用變換為第一塊生成塊變換系數、利用塊變換系數生成待編碼的第二塊的預測變換系數、以及對預測變換系數進行逆變換以在像素域中創(chuàng)建第二運動補償預測,來生成多個預測中的每一個;從當前幀中的塊減去第二運動補償預測,以產生剩余幀;以及對剩余幀編碼。
文檔編號H04N7/26GK101449588SQ200780018080
公開日2009年6月3日 申請日期2007年10月31日 優(yōu)先權日2006年10月31日
發(fā)明者O·G·吉勒尤茲, 剛 華 申請人:株式會社Ntt都科摩