專利名稱:視頻編碼方法及設備的制作方法
技術領域:
本發(fā)明涉及一種視頻編碼方法,該方法用于編碼包含有自身被細分為塊的幀的連續(xù)組的輸入圖像序列,所述方法包括以下步驟-通過應用某些預定的規(guī)則,根據(jù)為每一幀計算的所謂的內(nèi)容改變強度(CCS)對所述序列進行預處理;-估計當前幀的每一塊的運動矢量;-利用與當前幀的各塊分別相關聯(lián)的所述運動矢量來生成預測幀;-對當前幀與最后的預測幀之間的差異信號應用轉換子步驟,該轉換子步驟產(chǎn)生多個系數(shù),在該轉換子步驟之后是對所述系數(shù)的量化子步驟;-編碼所述經(jīng)量化的系數(shù)。
所述發(fā)明適用于例如視頻編碼設備,所述設備需要參考幀以用于減小例如時間冗余度(比如運動估計和補償設備)。這樣的操作是當前視頻編碼標準的一部分,同時預計也是將來的編碼標準的類似部分。視頻編碼技術例如用于數(shù)字視頻攝影機、移動電話或數(shù)字視頻記錄設備。此外,通過應用本發(fā)明的技術可以增強針對編碼或轉碼視頻的應用。
背景技術:
在視頻壓縮中,通過減小在連續(xù)畫面之間的時間冗余度,可以獲得用于傳輸編碼視頻序列的低比特率。所述減小是基于運動估計(ME)以及運動補償(MC)技術。然而,執(zhí)行對視頻序列的當前幀的ME和MC需要參考幀(也稱為錨幀)。以MPEG-2為例,定義了不同的幀類型(即I幀、P幀和B幀),對于這些幀執(zhí)行不同的ME和MC:I幀(或內(nèi)部幀)本身被獨立編碼,而無需參考任何過去幀或未來幀(即沒有任何ME和MC);每一個P幀(或前向預測畫面)被相對于過去幀編碼(即進行根據(jù)先前參考幀的運動補償);B幀(或雙向預測幀)被相對于兩個參考幀編碼(一個過去幀和一個未來幀)。I幀和P幀充當參考幀。
為了獲得良好的幀預測,這些參考幀需要具有高質(zhì)量,即必須花費許多比特對其進行編碼,而非參考幀的質(zhì)量可以較低(因為這個原因,非參考幀的較高數(shù)量(在MPEG-2情況中的為B幀)通常會導致較低的比特率)。為了指示哪一個輸入幀被處理為I幀、P幀或B幀,基于畫面組的結構(GOP)被定義在MPEG-2中。更精確地說,一個GOP使用兩個參數(shù)N和M,其中N是兩個I幀之間的時間距離,M是參考幀之間的時間距離。例如,通常使用N=12且M=4的(N,M)-GOP,其定義“IBBBPBBBPBBB”的結構。
接連的幀通常比其間具有更大時間距離的幀具有更高的時間相關度。因此,參考幀和當前預測幀之間的較短的時間距離在一方面會帶來更高的預測質(zhì)量,但是另一方面則意味著所能使用的非參考幀更少。較高的預測質(zhì)量和較高的非參考幀數(shù)量通常導致較低的比特率,但是它們彼此矛盾,因為只有較短的時間距離才能導致較高的幀預測質(zhì)量。
然而,所述質(zhì)量也依賴于參考幀實際上作為參考的有用性。例如,顯而易見的是,如果參考幀恰好位于場景改變之前而對幀的預測恰好位于場景改變之后,那么就不可能相對于所述參考幀進行幀預測,盡管它們的幀距離可能僅僅為1。另一方面,在具有穩(wěn)定的或幾乎穩(wěn)定的內(nèi)容的場景(比如視頻會議或新聞)中,即使是大于100的幀距離也能導致高質(zhì)量預測。
從上面提到的例子來看,固定的GOP結構(比如通常使用的(12,4)-GOP)對于編碼視頻序列可能效率不高,因為在穩(wěn)定的內(nèi)容的情況下參考幀被太頻繁地引入,或者因為參考幀在不恰當?shù)奈恢锰幈灰?如果參考幀恰好位于場景改變之前的話)。場景改變檢測是一種已知的技術,當由于場景改變而不可能在某一位置處實現(xiàn)良好的幀預測時(即在該處沒有I幀),可以利用場景改變檢測技術在該位置處引入I幀。然而,雖然沒有場景改變,但是如果在某些具有高度運動的幀之后的幀內(nèi)容幾乎完全不同,則幀序列無法從這種技術獲益(例如其中在單個場景中持續(xù)追蹤網(wǎng)球運動員的序列)。提交日為2003年10月14日的提交號為03300155.3(PHFR030124)的先前歐洲專利申請已經(jīng)描述了一種用于尋找更好的參考幀的新方法。這個方法將在下面提到。
發(fā)明概述因此,本發(fā)明的目的是提出一種基于所述先前方法的視頻編碼方法,其用于尋找可以充當參考幀的更好的幀,但是可以更顯著地減少編碼成本。
為此目的,本發(fā)明涉及一種例如在說明書的介紹段落中定義的視頻編碼方法,其中所述CCS被用在所述量化子步驟中,以用于修改在所述量化子步驟中使用的量化因數(shù),其中所述CCS和所述量化因數(shù)同時增大或者減小。
本發(fā)明還涉及一種用于實現(xiàn)所述方法的設備。
附圖的簡要描述現(xiàn)在將參照附圖并通過舉例的方式來描述本發(fā)明,其中-
圖1示出了用于依照在上面引用的先前歐洲專利申請中給出的描述來定義將被編碼的視頻序列的參考幀的位置的規(guī)則;-圖2示出了一種實施在所述先前歐洲專利申請中描述的編碼方法的編碼器,其中以MPEG-2情況為例;-圖3示出了一種實施根據(jù)本發(fā)明的編碼方法的編碼器。
發(fā)明的詳細說明以上引用的文獻描述了一種用于在輸入序列中尋找可以作為參考幀的幀的方法,以便減少編碼成本。該方法的原理是基于一些簡單的規(guī)則來測量內(nèi)容改變的強度,正如下面列出并在圖1中說明的那樣,其中水平軸與所涉及的幀號相對應,垂直軸與內(nèi)容改變的強度等級相對應內(nèi)容改變的所測量的強度被量化為等級(例如5級,然而所述數(shù)字并不是限定性的),并且I幀被插入在具有0級內(nèi)容改變強度(CCS)的幀序列的開頭,而P幀被插入在CCS等級增長發(fā)生之前或者被插入在CCS等級降低發(fā)生之后。這種測量可以例如是簡單的塊分類,其檢測水平和垂直邊緣,或者這種測量可以是基于亮度、運動矢量等等的其他測量類型。
在圖2中描述了所述先前方法在MPEG編碼中的實現(xiàn)方式。所述編碼器包括編碼分支101和預測分支102。由分支101接收的待編碼信號被轉換成系數(shù),并且在DCT和量化模塊11中被量化,經(jīng)量化的系數(shù)接著連同運動矢量MV一起在編碼模塊13中被編碼。預測分支102接收可以在DCT和量化模塊11的輸出端處獲得的信號以作為輸入信號,其串聯(lián)地包括逆量化和逆DCT模塊21、加法器23、幀存儲器24、運動補償(MC)電路25以及減法器26。MC電路25還接收由運動估計(ME)電路27(可以利用多種類型的運動估計器)根據(jù)輸入再排序幀(在下面對其進行定義)和幀存儲器24的輸出產(chǎn)生的運動矢量MV,并且這些運動矢量也被發(fā)送到編碼模塊13,該編碼模塊13的輸出(“MPEG輸出”)以多路復用比特流的形式被存儲或發(fā)送。
所述編碼器的視頻輸入(連續(xù)幀Xn)在預處理分支103中被預處理。首先,提供GOP結構定義電路31以用于從所述連續(xù)幀定義GOP結構。然后,提供幀存儲器32a、32b、......以用于對可以在電路31的輸出端處獲得的I、P、B幀的序列進行再排序(參考幀必須在依賴于所述參考幀的非參考幀之前被編碼和發(fā)送)。這些經(jīng)過再排序的幀被發(fā)送到減法器26的正輸入端上(如上所述,減法器26的負輸入端接收可以在MC電路25的輸出端處獲得的輸出預測幀,這些輸出預測幀還被發(fā)送回到加法器23的第二輸入端)。減法器26的輸出端提供幀差異,所述幀差異是由編碼分支101處理的待編碼信號。為了定義所述GOP結構,提供了CCS計算電路33。
已經(jīng)可以看出,CCS越高(可能由運動導致),觀看者所能看清的所呈現(xiàn)的視頻就越少。因此,根據(jù)本發(fā)明,提出作為CCS的函數(shù)來增大或者減小模塊11中所使用的量化因數(shù)(所述CCS和量化因數(shù)同時增大或者減小),所述CCS可以通過向編碼分支的DCT和量化模塊11發(fā)送CCS計算電路的輸出信息來獲得。正如在圖3的常規(guī)部分中所描述的那樣(將在下面的段落中關于本發(fā)明的描述介紹所述圖3),已知編碼模塊13實際上包括與緩沖存儲器串聯(lián)地排列的可變長度編碼(VLC)電路,所述存儲器的輸出被發(fā)送回速率控制電路133,以用于修改量化因數(shù)。
根據(jù)本發(fā)明,如在圖3中所示(其中與圖2中類似的電路由相同的附圖標記來表示),在CCS計算電路33和速率控制電路133之間以及在所述電路33和編碼分支的DCT和量化模塊11之間提供附加的連接200,所述附加連接200用于允許實現(xiàn)對量化因數(shù)的所提出的修改。該連接200擴展了編碼系統(tǒng)的兩個編碼模式,即所謂的開環(huán)編碼模式(沒有比特率控制)和閉環(huán)編碼模式(具有比特率控制)。
例如在開環(huán)編碼模式中,量化器設置一般是固定的。對于簡單場景(需要編碼的殘留較少)所得到的編碼流的比特率自然低于復雜場景(需要編碼的殘留較高)。如上面描述的編碼情況(其中序列包括高度運動)產(chǎn)生以高比特率編碼的復雜場景。通過更高的量化可以減小高度運動場景的比特率,從而去除這些場景的空間細節(jié),其中觀看者由于運動而無法看清這些場景的空間細節(jié)??梢酝ㄟ^定義量化因數(shù)q_css來控制量化,該量化因數(shù)是CCS和原始的固定量化器因數(shù)(稱為q_fixed)的函數(shù)q_ccs=q_fixed+f(CCS)其中f()是一個函數(shù),其結果為正整數(shù)0......(q_max-q_fixed),以便將q_ccs從q_fixed增加到所允許的最大值q_max。f()的例子有f1(CCS)=round(CCS*(q_max-q_fixed)/(CCS_max))或者f2(CCS)=round((q_max-q_fixed+1)^(CCS/CCS_max)-1),其中CCS=0到CCS_max。
在閉環(huán)編碼中,量化因數(shù)q_adapt被適配成獲得所希望得到的預定義比特率。閉環(huán)編碼所需要的比特率控制器基本上按照比特預算工作,并且根據(jù)可用預算來選擇q_adapt。這意味著可以使用對于開環(huán)編碼所描述的量化因數(shù)q_css,并且僅需要將q_fixed替換為q_adapt。于是,與未經(jīng)修改的速率控制器相比,比特預算將隨著更高的CCS而增加,并且這些附加的比特都被自動花費在具有較低CCS的幀上,因為q_adapt值將會由于增加的比特預算而減小。
權利要求
1.一種視頻編碼方法,用于編碼包含有自身被細分為塊的幀的連續(xù)組的輸入圖像序列,所述方法包括以下步驟-通過應用一些預定的規(guī)則,根據(jù)為每一幀計算的所謂的內(nèi)容改變強度(CCS)對所述序列進行預處理;-估計各幀的每一塊的運動矢量;-利用與當前幀的各塊分別相關聯(lián)的所述運動矢量來生成預測幀;-對當前幀與最后的預測幀之間的差異信號應用轉換子步驟,該轉換子步驟產(chǎn)生多個系數(shù),在該轉換子步驟之后是對所述系數(shù)的量化子步驟;-編碼所述經(jīng)量化的系數(shù);其中,在所述量化子步驟中使用所述CCS,以用于修改在所述量化子步驟中使用的量化因數(shù),所述CCS和量化因數(shù)同時增大或減小。
2.一種視頻編碼設備,用于編碼包含有自身被細分為塊的幀的連續(xù)組的輸入圖像序列,所述設備包括以下裝置-預處理裝置,其通過應用一些預定的規(guī)則、根據(jù)為每一幀計算的所謂的內(nèi)容改變強度(CCS)對所述序列進行預處理;-估計裝置,用于為各幀的每一塊估計運動矢量;-生成裝置,用于基于與當前幀的各塊分別相關聯(lián)的所述運動矢量來生成預測幀;-轉換和量化裝置,用于對當前幀與最后的預測幀之間的差異信號進行轉換,該轉換產(chǎn)生多個系數(shù),以及在該轉換之后對所述系數(shù)進行量化;-編碼裝置,用于編碼所述經(jīng)量化的系數(shù);其中,所述預處理裝置的輸出在所述轉換和量化裝置的輸入端上被接收,以用于根據(jù)在所述量化子步驟中使用的所述CCS來修改所述量化因數(shù),所述CCS和量化因數(shù)同時增大或減小。
全文摘要
本發(fā)明涉及一種視頻編碼方法以及相關的視頻編碼設備,其用于編碼包含有自身被細分為塊的幀的連續(xù)組的輸入圖像序列。該方法和設備執(zhí)行以下步驟根據(jù)為每一幀計算的所謂的內(nèi)容改變強度(CCS)對所述序列進行預處理;利用為每一塊估計的運動矢量來生成預測幀;對當前幀與最后的預測幀之間的差異信號應用轉換子步驟,該轉換子步驟產(chǎn)生多個系數(shù),在該轉換子步驟之后是對所述系數(shù)的量化子步驟;以及編碼所述經(jīng)量化的系數(shù)。根據(jù)本發(fā)明,在所述量化子步驟中使用所述CCS,以用于修改在該子步驟中使用的量化因數(shù),所述CCS和量化因數(shù)同時增大或減小。
文檔編號G06T9/00GK1894725SQ200480032612
公開日2007年1月10日 申請日期2004年11月1日 優(yōu)先權日2003年11月7日
發(fā)明者S·O·米滕斯 申請人:皇家飛利浦電子股份有限公司