專利名稱:一種用于視頻編碼模式決策的碼率估計方法
技術領域:
本發(fā)明涉及一種視頻編碼方法,特別涉及一種用于視頻編碼模式決策的估計熵編碼碼率的方法。
背景技術:
新一代的視頻編碼標準H. 264/AVC在已有的視頻編碼標準的框架之下,實現(xiàn)了編碼效率的大幅度提高,成為今后視頻信息壓縮格式的主流標準。然而由于增加了更多靈活有效的編碼工具和編碼才莫式,H. 264/AVC -見頻編碼標準的復雜度相比以往的視頻編碼標準,也有了顯著的提高。因此,在很多對視頻編碼器速度和性能要求較高的場合,實際的應用對視頻編碼器的算法優(yōu)化提出了更高的要求。
在視頻編碼器中,視頻數據首先被劃分為若干個16x16大小的塊,其中每一個16 x 16大小的塊被稱為宏塊(Macroblock),視頻編碼的過程正是以宏塊(Macroblock)為單位進行。在編碼器編碼一個宏塊的過程當中,復雜度最高的兩個模塊為運動搜索(ME)模塊和模式決策(MD)模塊。其中模式決策模塊的作用是,在很多視頻編碼器能夠提供的待選編碼模式當中,選擇一種對于當前編碼的視頻宏塊數據而言編碼效率最高的模式。然而由于在新一代的國際視頻編碼標準中(例如H. 264/AVC等),編碼器提供了豐富多樣的編碼模式,使得MD模塊的復雜度也隨之大幅度上升。因此,對于MD模塊的優(yōu)化成為編碼器優(yōu)化的一項關鍵技術。
視頻編碼器的模式決策流程如圖1所示。在模式決策模塊的處理過程中,編碼器通過在每種待選模式下對當前視頻宏塊進行完整的一次編碼,得到對應于該模式的宏塊編碼碼率(R)和失真(D)大小,其中碼率R的大小對應于熵編碼后比特數的大小,R越小說明壓縮率越高,而失真D的大小對應于編碼后重建數據和原始數據的差別大小,失真越小說明編碼后的視頻質量越高。對于具有相同失真D的兩種模式,編碼器就會選擇碼率R更小的模式,這是因為在兩種模式下失真相同、視頻質量相同,而碼率R較小則對應于較
4高的壓縮率;而對于具有相同碼率R的兩種模式,編碼器就會選擇失真D更小的模式,這是因為在兩種模式下碼率相同、壓縮效率相同,而失真D較小則對應于較好的視頻質量。
然而在實際編碼過程中,各個待選編碼模式所得到的R和D —般情況都是各自不同的,編碼器需要對每種模式的R和D進行最佳的權衡,從而得到最佳的編碼模式。在H. 264/AVC視頻編碼器中,模式決策模塊采用現(xiàn)有的率失真優(yōu)化技術(RD0)來比較各個待選模式的R和D的權重優(yōu)劣。如圖1所示,RD0技術首先計算每個模式的率失真代價(RD_cost)值,然后選取使RD—cost值最小的模式作為最佳編碼模式。RD-cost是R和D的加權和,如下式描述
RD_cost=D+X . R , (1)其中,入是一個由視頻編碼量化參數所決定的參數。由(l)式可以看出,計算單個模式的RD—cost值的復雜度主要由計算D和R的復雜度所決定。
在H. 264/AVC國際標準的參考軟件(此參考軟件里面給出了 H. 264/AVC國際標準的視頻編碼和視頻解碼的參考實現(xiàn)過程,已在網上已經公開,并且可以下載)中,D和R的值是通過對宏塊在當前待選模式下進行一次完整的編碼過程來得到。
為了便于說明編碼的過程,首先標記宏塊數據(16 x 16大小的像素區(qū)域,背景技術部分第二段已經給出了宏塊的含義)為16xl6大小的矩陣X,完整的編碼過程包括
(1) 首先對輸入的宏塊數據進行預測,預測的過程就是利用其它位置的像素來預測當前的宏塊,標記預測的宏塊數據為16 x 16大小的X',那么預測的過程就是用X'近似地表示X,之后再計算X和X'的差值YM= X-X*, YM稱為殘差,也就是X經過X'預測后殘留的數據。
(2) 對預測得到的YM進行變換。變換的過程如下首先將16xl6大小的殘差數據YM劃分為16個4 x 4的殘差塊,如圖5所示,每個4 x 4的殘差塊標記為4 x 4大小的矩陣Y,然后對每個4 x 4的塊Y計算DfTYDf,也就是計算三個4 x 4的矩陣DfT, Y和Df的乘積,其中
<formula>formula see original document page 5</formula>Df稱為變換核,由H. 264/AVC標準規(guī)定。最終得到相乘的結果為4 x 4的矩陣F,即F-D/YDf,矩陣F中的16個元素稱為變換系數,F(xiàn)稱為變換系數塊。(3 )然后對變換后得到的變換系數進行量化。量化的過程如下所述對變換系數塊F中的16個變換系數Fij分別計算^.Q」,其中Q是編碼過程中指定的參數,Lg」為向下取整操作,如L1.34」-1, L2.9」=2。
(4) 然后再對量化后的數據進行熵編碼,得到碼率R。
(5) 然后對量化后的數據進行反量化。反量化是量化的逆過程,也就是對量化后的變換系數計算^'/Q」,其中Qx IQ=1,也就是說變換系數塊中的每個系數Fij經過量化和反量化,會近似變回Fij,但是由于量化和反量化過程中有取整操作,所以反量化的結果和量化前的結果并不嚴格相等。
(6) 接著對反量化后的數據進行反變換。反變換是變換的逆過程,其具體的操作過程如下所述對每個經過前面的量化,反量化后得到的4x4的塊F,計算D,, Di,也就是三個4 x 4的矩陣D人F,和Di的乘積,其中
<formula>formula see original document page 6</formula>
Di稱為變換核,DiT是Di的轉置。最終得到相乘的結果為4x4的矩陣Y,,即Y, =DTF, D。矩陣F中的元素是經過量化,反量化后的變換系數,Y,是最終的反變換結果。
(7)最后對反變換后的數據進行像素重建。像素重建的過程如下所述,將Y,與當步驟(1)中的用于預測的參考數據X'相加即得到重建后的4 x 4的像素數據。
對宏塊內每個4 x 4的塊進行(2 ) — ( 7 )的操作之后便得到輸出的宏塊數據;最后將輸入的宏塊數據與輸出的宏塊數據進行比較,從而得到失真D。由上述H. 264/AVC標準所規(guī)定的過程可以看出,現(xiàn)有技術中計算R、 D
的計算復雜度很高。
模式決策的復雜度Cmd主要由待逸模式的數量m和計算單個待選模式的RD-cost的復雜度C;^ , i=0, 1,…,m-l所決定,并且近似地可以認為有如下的關系<formula>formula see original document page 6</formula>(2)
也就是說,模式決策的復雜度是計算每個待選模式的RD_cost的復雜度之和。為了降低(2)式中的模式決策的復雜度。,現(xiàn)有技術中針對MD模塊的優(yōu)化技術有兩類, 一類技術的目標是降低m的大??; 一類是降低C^的大小。從(2)式可以看出,這兩類方法都可以實現(xiàn)模式決策復雜度C柳的降低。第一類技術通過設計算法,判斷RD-cost很可能為較高值的模式,并且在待選模式中提前排除該模式,從而省去了對該模式計算RD-cost的計算量。第二
類技術通過降低計算每個RD-cost的復雜度c;^來降低整體的模式決策復
雜度。更具體地來講,第二類算法的實現(xiàn)是通過對R或D進行低復雜度的估計,從而避免進行圖2所示高復雜度的計算過程。
以H. 26VAVC標準為例,在實際的熵編碼過程中,R和D的計算是以4x 4的塊為單位的,也就是說,每個16 x 16大小的宏塊被劃分為16個4 x 4的子塊來進行熵編碼,如圖4所示。已有的碼率估計技術通過統(tǒng)計一些經驗得到的和熵編碼碼率相關的參量,比如4 x 4變換系數塊中非零系數的個數,變換系數塊的絕對值之和等等,并利用這些參量的線性組合對碼率進行估計,其中線性組合的系數往往也是通過經驗性的實驗結果得到,或者通過自適應的進行線性擬合來得到。
如圖3所示為實際-f見頻編碼過程中兩個單獨提取出來的4 x 4的變換系數表示,稱為變換系數塊,從圖3可以看出這兩個變換系數塊的系數絕對值之和相同,均為20,但通過記錄這兩個塊的實際熵編碼結果可以得知,左塊的實際熵碼率為62比特(通過在^L頻編碼的過程中記錄實際熵編碼結果得知),而右塊的熵編碼碼率^f又為28比特(通過在-見頻編碼的過程中記錄實際熵編碼結果得知),相差有兩倍之多。導致這樣現(xiàn)象的原因是兩個塊的系數分布不同,右塊的系數相比較左塊系數而言,幅度更加集中于低頻分量(塊的左上角位置附近的分量)。如圖4所示為另外一組由實際視頻編碼過程中兩個單獨提取出來的4x4的變換系數塊,從圖4可以看出這兩個變換系數塊的非零系數的個數相同,均為10,但通過記錄這兩個塊的實際熵編碼結果可以得知,左塊的實際熵碼率為85比特,而右塊的熵編碼碼率僅為27比特,相差有三倍之多。導致這樣現(xiàn)象的原因是兩個塊的系數幅度分布不同,右塊的系數相比較左塊系數而言,系數的幅度分布明顯更高。
已有的碼率估計方法通常采用變換系數塊中的非零系數的個數,系數的絕對值之和等等參量來估計熵編碼碼率,但是從前面給出的兩個例子可以看出,這些經驗得到的參量并不能夠可靠地衡量熵編碼后的碼率大小。這些方法的一個明顯的缺陷是對4 x 4變換系數表示中的16個變換系數的重要性不加區(qū)別,認為每個系數對熵編碼碼率的影響大小都相同,然而事實上通過上面的例子可以看出,這16個系數對熵編碼碼率的影響往往是各自不同,甚至相差很大的。已有的方法一般基于經驗性的實驗結果,缺乏驗證可靠的模型,并且往往是針對特定的熵編碼方法(例如,上下文自適應的可變長編碼
(Context-based Adaptive Variable Length Coding, CAVLC ))而設計,因此在普適性(對不同的熵編碼方法都驗證適用)和精確度上都不是非常有效。所以,為了更加準確地估計熵編碼的碼率大小,需要對變換系數塊中的每個系數進行加權,以體現(xiàn)不同頻率的變換系數對熵編碼碼率影響程度的不同。
發(fā)明內容
針對上述問題,本發(fā)明的目的在于提出一種加權形式的碼率估計模型,使得碼率估計的過程能夠體現(xiàn)不同頻率的變換系數對熵編碼碼率影響程度的不同,從而實現(xiàn)更為有效,更具普適性的碼率估計。
為實現(xiàn)上述目的,首先對變換量化系數進行一般化高斯分布的概率建模,通過概率建模,推導得出了變換系數的幅度和其信息比特數之間的近似數學關系,根據這個數學關系,提出以下用于視頻編碼中碼率估計的方法流程
1 、 利用推導得到的數學關系來對變換量化后的各個系數分別進行加權;
2、 對加權后的系數首先取絕對值,然后求和來估計變換系數塊的信息比特數;
3、 將2中計算得到的信息比特數與一個模型參數"相乘,然后再加上另 一個模型參數々得到最終的估計碼率;
4、 在模式決策的過程中,才艮據最終得到的實際熵編碼碼率和對應估計得到的碼率動態(tài)調整模型參數"和"。
根據本發(fā)明,提供一種用于視頻編碼模式決策的碼率估計方法,該方法包括步驟(1) 將視頻中的幀數據劃分成多個宏塊,再將各宏塊劃分為塊;(2)對所述多個塊分別進行幀間運動估計或幀內預測;(3)對所述的每個塊分別根據步驟(2 )中得到的所述幀間運動估計或幀內預測結果,計算所述估計或預測結果與所述塊之間差值,得到殘差數據塊;(4)對所述殘差數據塊進行變換、量化,得到所述殘差數據塊的變換系數表示;(5) 對所述變換系數表示中的每個分量進行加權計算,并通過計算結果估計熵編碼碼率大??;(6) 記錄所述的每個塊的實際熵編碼碼率大小,并記錄對應的估計熵編碼碼率大小。
根據本發(fā)明的一個方面,步驟(5)中加權計算的權重和形式由所述變換系數表示中的每個分量的概率分布參數所決定。
根據本發(fā)明的一個方面,步驟(5)中進行碼率估計時,首先將所述變換系數表示中的每個分量加權后得到的數值進行求和,得到求和值然后通過精確碼率估計模型Ws = + 計算得到估計的碼率/ 厭
才艮據本發(fā)明的一個方面,利用步驟(6)中記錄的所述每個塊的實際熵編碼碼率大小以及所述對應的估計熵編碼碼率大小,動態(tài)更新參凄t a和-。
根據本發(fā)明的 一個方面,動態(tài)更新的過程是在實際熵編碼塊的數量
積累到一個設定閾值7;hresh。ld時開始,并且在數量積累到一個給定閾值
r叩date時結束,并重新動態(tài)更新參數"和〃。
根據本發(fā)明的 一個方面,所述變換系數表示中的每個分量的概率分布參數在開始編碼當前視頻幀時初始化,并在結束編碼當前幀時重新統(tǒng)計。
根據本發(fā)明的一個方面,步驟(5)中還包括步驟根據估計的熵編碼碼率大小計算當前待選模式的率失真代價,如果結果小于當前最佳編碼模式的率失真代價,那么更新當前最佳編碼模式為當前待選模式;如果當前待選模式為最后一個可選的編碼模式,那么進行步驟(6),否則繼續(xù)步驟(2)。
本發(fā)明由于采取以上技術方案,與傳統(tǒng)方法相比,可以建立更為準確合理的碼率估計模型,該模型可有效地應用于視頻編碼的模式決策過程和碼率控制過程。
圖1是H. 264/AVC視頻編碼器中的模式決策流程示意圖。圖2是計算單個模式的RD_cost流程示意圖。
圖3是實際編碼過程中的兩個經過變換和量化的變換系數塊,并且系數的絕對值之和相等。
圖4是實際編碼過程中的兩個經過變換和量化的變換系數塊,并且非零
9系數的個數相等。
圖5是將單個宏塊劃分為16個4 x 4的塊的示意圖。
圖6是采用本發(fā)明方法進行^J貞編碼^t式決策的流程示意圖。
具體實施例方式
按照本發(fā)明的一個實施方式,根據信息論和熵編碼器的設計原理,提出新的碼率估計方法。
從熵編碼的原理來看,由于低頻分量和高頻分量的概率分布不同,因此對碼率的影響也不一樣。而對自然圖像而言,由于變換域的能量往往集中在低頻,高頻分量出現(xiàn)非零值的概率遠小于低頻分量,那么高頻分量對碼率的影響總是明顯高于低頻分量。如果記一個4 x 4的變換系數塊為F,那么它的位于(0, 0)位置(左上角位置)的低頻分量和位于(3, 3)位置的高頻分量分別記為F (0, 0)和F (3, 3),那么由于F (0, 0)和F (3, 3)的幅度大小的概率分布不同,F(xiàn)(O, 0) =20的概率往往大于F ( 3, 3)=20的概率。那么根據信息論的原理和熵編碼器的設計原理,F(xiàn)(O, 0)=20所產生的碼率將小于F(3, 3)=20所產生的碼率。這說明了在4x4的變換系數塊中,每個系數取相同值時對碼率的貢獻度是不同的,因而在利用這16個系數進行碼率估計之前,應該首先對這些系數進行加權處理。根據熵編碼器的設計原則,實際熵編碼得到的碼率大小應該和信息比特數的大小密切相關,因此本發(fā)明提出通過估計信息比特數的大小來估計實際熵編碼得到的碼率大小。
為了計算4x4的變換系數塊的信息比特數的大小,需要首先對變換系數的分布建立有效的概率模型,在此模型基礎之上推導單個變換系數和它的信息比特數之間的對應關系,并利用和碼率直接密切相關的信息比特數來作為碼率估計的估計量,從而體現(xiàn)不同頻率的變換系數對熵編碼碼率影響程度的不同,實現(xiàn)更為合理有效的加權形式的碼率估計。以往對變換系數的概率分布通常采用高斯分布和拉普拉斯分布來描述,然而這兩種分布由于控制的參量少,所能夠覆蓋的分布類型非常有限,對于實際的隨機性很強的視頻數據而言,采用這兩種分布進行描述都不夠有效。為了能夠更精確地描述變換系凄史的分布特征,采用更為靈活的一4殳化高斯分布(Generalized Gaussiandistribution, GGD )來對變換系數進行描述。零均值的一般化高斯分布的沖既率密度函凄t (Probability density function, PDF)可以表示為
10(3)
其中r(x)二ff—V^d為伽瑪函數,;^o是形狀參數,控制著概率密度函數
的形狀,a為均方差,控制著概率密度函數的尺度。GGD是一個范圍很廣的 概率分布,它的控制參數相比較高斯分布和拉普拉斯分布而言更加靈活。當 形狀參數 7 = 1時,GGD就是拉普拉斯分布,當形狀參數/7 = 2時,GGD對應于 高斯分布,當7 = 00時,GGD則退化為均勻分布。 一般化高斯分布已經在很多
研究中被有效地應用于對變換系數分布的分析(
對GGD的形狀參數;7和方差參數C7進行估計的方法有幾種,這些方法基 本都是建立在下面的數學關系基礎之上
r2, £2闊
物)= —f ,
r(l/;7)r(3/;7) £(Z2 從而得到7和fJ的估計函數
(4a) (4b)
々=
1 w
丄Z《
丄s《
(5)
由于ir1(②沒有閉合形式的表達式,幾種參數估計的方法主要是采用不同的形 式對i "②進行擬合。近年來,有研究者提出一種采用形式簡單的雙曲線函數
對(5)中的iT^進行擬合的方法,這個擬合函數的形式如下
//(x)= 0.2718 -0.1247 。 (6) 0.7697-;c
在H. 264/AVC中,變換系數的量化過程如下表示
iti=(i?!靍+ #, (7)
其中,^代表4x4的系數塊中位于(","的變換系數,I . l代表取絕對
iip尺..=;=
值操作,( 為量化器中的相乘因子,^控制著系數的截斷,》表示按比 特右移操作,等式右邊的i代表&量化后的量化值。假設&的概率密度函
數為/"vO),并且L(X)的形狀參數和均方差參數分別為^v和0^,那么結
合(7)式中的量化過程,可以計算F"v被量化為^的概率為
f(i-/)gA,w ^ , 、^, n 2 Jo / VW&, "0
f(W+i-/)ge, , , 、 ,,a , ( 8 )
/,,', (x )<afx ,x # 0
,CI ~l " 門 7 V 、 7 7
、J(w-/)gg似p
其中a嘩=~^~為量化步長。那么根據信息論中對信息量的定義,可以計
算Kv被量化為義的信息量為
稱4為信息比特數。由于/^0)在
的區(qū)間內是連續(xù)單調遞減函數,
因此存在x、葛足
s嘩
厶0)血=/^0*)82鄉(xiāng), (io) 并且(l2| —</ <(141 +1—,事實上,對于形狀參數i>1
的/^0)而言,概率密度函數在[o, +°°)的區(qū)間內是凸函數,可以進一步
得到(l)卜/)gg鄉(xiāng)"、(l)l+會-/敏嘩,也就是說,/落于量化區(qū)間的前
半部分。結合H. 264/AVC量化器(4)中/參數的設置原則 ,1
-,宏塊采用幀內編碼
3 , (11)
1,宏塊采用幀間編碼 6
可以得出,iga吵也同樣滿足落于量化區(qū)間的前半部分,因此利用jf來近似
x*,也就是說
/(/) /(敏,印)。 (12) 將(12)代入(10)可得<formula>formula see original document page 13</formula>
和(15)式的形式類似,但是a"v和b^不同。由此可以得到,對于服從一
般化高斯分布的變換系數而言,單個變換系數所對應的信息比特數是和它的 取值幅度成指數函數關系的。特別地,當變換系數服從拉普拉斯分布時,也
就是/7 ,=1,那么式(15)則變?yōu)橐粋€筒單的線性函數。由(15)式得到了 單個變換系數的幅度和信息比特數之間的數學關系,這個關系對于建立更為 準確的碼率估計模型是十分有意義的。
由此得到了單個變換系數的信息比特數和它的幅度之間的數學關系,由
于變換系數之間可近似看作是獨立的,根據信息論的結論,整個4x4的系
數塊的信息比特數可以近似為16個變換系數的信息比特數之和,也就是
3 3
Z2^, (16) i=o >o
其中a是整個4 x 4的系數塊的信息比特數。在(15 )和(16 )的基礎之上, 利用信息比特數和熵編碼碼率的密切相關性提出一種新型的精確碼率估計 模型
(17)
其中"和〃為模型的參數,a由(16)式計算得到。
參考圖6,按照上述提出的碼率估計方法,本發(fā)明提供一種用于視頻編
碼的模式決策過程的方法如下
(一)以宏塊的形式提供視頻數據,將視頻中的一幀(稱為本幀)劃分 為宏塊,然后將宏塊劃分為多個塊,(圖5即為將單個宏塊劃 分為塊的示意圖)并按照以下步驟循環(huán)地對當前幀的每個塊進 行模式決策;(二) 對當前塊采用當前待選模式進行幀間運動估計或者幀內預測,并
按照以下步驟循環(huán)地對當前塊的每個待選模式計算率失真代
價;
(三) 在模式決策過程中,按照如下方法計算當前待選模式的率失真代
價
a) 根據(二)中得到的預測數據,計算預測數據和塊數據的差值,
得到殘差數據塊;
b) 對殘差數據塊依次進行視頻編碼標準中規(guī)定的變換、量化過程, 得到該殘差數據塊的變換系數塊表示;
c) 根據b)中得到的變換系數塊表示,按照(15)式對每個變換系數
進行加權,然后根據(16)式和(17)式估計變換系數塊的熵編 碼碼率大小RB;
d) 根據(1)式和c)中得到的熵編碼碼率大小Rb奸算當前待逸模式
的率失真代價,如果結果小于當前最佳編碼模式的率失真代價, 那么更新當前最佳的編碼模式為當前待選模式;
e) 如果當前待選才莫式為最后一個可選的編碼;漠式,那么進行步驟
(四),否則繼續(xù)步驟(二),對下一個待選模式進行模式決策;
(四) 采用選4奪的最佳編碼才莫式對當前塊進行熵編碼,并利用實際熵編
碼得到的碼率,動態(tài)更新(17)式中的模型參數"和-。更新 的過程如下式描述
,廣S, "(&^,9
其中,n為已經編碼的塊的個數,Ri為第i個塊的熵編碼碼率, ri為第i個塊的估計碼率。更新的過程是在n積累到一個給定
閣值7^resh。ld時開始,并且在n積累到一個給定閾值7update
時對n, Ri, n重新進行初始化。
(五) 根據步驟(三)中記錄得到的變換系數的數據,按照(5)式估計
當前幀數據的一般化高斯分布參數,這些參數用在碼率估計過 程當中。
14(六)重復上述步驟,繼續(xù)下一幀的編碼,直到^L頻最后一幀處理完畢。 按照本發(fā)明的一個具體實施方式
,本發(fā)明所提出的方法可以直接應用在
H. 264/AVC視頻編碼的模式決策過程當中。
在H. 264/AVC參考軟件進行模式決策的過程當中,率失真代價中的碼率 部分的計算是通過復雜度較高的熵編碼來得到,那么為了降低計算碼率的復 雜度,加快整體的編碼速度,本發(fā)明方法將高復雜度的熵編碼替換為低復雜 度的碼率估計過程(具體的步驟和上述步驟( 一 )—步驟(五)相同),從而 大大降低了率失真代價的計算復雜度,同時也降低了整體的編碼復雜度。實 驗結果表明,在H. 264/AVC標準參考軟件版本JM86的基礎之上,本發(fā)明方 法可以節(jié)約整體編碼時間的大約23% (對于采用上下文的自適應二進制算術 編碼,Context-bsaed Adaptive Bi證y Arithmetic Coding, CABAC)和術o (乂于于采用上下文自適應的可變長編石馬,Context—based Adaptive Variable Length Coding, CAVLC ),并且相比較原先的高復雜度的方法而言,編碼效 率的降低基本可以忽略(峰值信噪比的降低低于0. ldB)。
雖然以上描述了本發(fā)明的具體實施方式
,但是本領域的技術人員應當理 解,這些具體實施方式
僅是舉例說明,本領域的技術人員在不脫離本發(fā)明的 原理和實質的情況下,可以對上述方法和系統(tǒng)的細節(jié)進行各種省略、替換和 改變。例如,合并上述方法步驟,從而按照實質相同的方法執(zhí)行實質相同的 功能以實現(xiàn)實質相同的結果則屬于本發(fā)明的范圍。因此,本發(fā)明的范圍僅由 所附權利要求書限定。
1權利要求
1、一種用于視頻編碼模式決策的碼率估計方法,其特征在于,該方法包括步驟(1)將視頻中的幀數據劃分成多個宏塊,再將各宏塊劃分為塊;(2)對所述多個塊分別進行幀間運動估計或幀內預測;(3)針對所述多個塊中的每個塊,分別根據步驟(2)中得到的所述幀間運動估計或幀內預測結果,計算所述估計或預測結果與所述每個塊之間差值,得到殘差數據塊;(4)對所述殘差數據塊進行變換、量化,得到所述殘差數據塊的變換系數表示;(5)對所述變換系數表示中的每個分量進行加權計算,并通過計算結果估計熵編碼碼率大小;(6)記錄所述的每個塊的實際熵編碼碼率大小,并記錄對應的估計熵編碼碼率大小。
2、 根據權利要求l方法,其特征在于,步驟(5)中加權計算的權重和 形式由所述變換系數表示中的每個分量的概率分布參數所決定。
3、 根據權利要求l方法,其特征在于,步驟(5)中進行碼率估計時, 首先將所述變換系數表示中的每個分量加權后得到的數值進行求和,得到求 和值A,然后通過精確碼率估計模型^s = "g^ + 〃計算得到估計的碼率 狄
4、 根據權利要求3所述的方法,其特征在于,利用步驟(6)中記錄的 所述每個塊的實際熵編碼碼率大小以及所述對應的估計熵編碼碼率大小,動 態(tài)更新參數"和-。
5、 根據權利要求4所述的方法,其特征在于,動態(tài)更新的過程是在實際熵編碼塊的數量積累到一個設定閾值T^resh。W時開始,并且在數量積累到 一個給定闞值ZUate時結束,并重新動態(tài)更新參數"和-。
6、 根據權利要求2所述的方法,其特征在于,所述變換系數表示中的 每個分量的概率分布參數在開始編碼當前視頻幀時初始化,并在結束編碼當 前幀時重新統(tǒng)計。
7、 根據權利要求1所述的方法,其特征在于,步驟(5 )中還包括步驟 根據估計的熵編碼碼率大小計算當前待選模式的率失真代價,如果結果小于當前最佳編碼模式的率失真代價,那么更新當前最佳編碼模式為當前待選模式;如果當前待選^^莫式為最后一個可選的編碼^t式,那么進行步驟(6),否則繼續(xù)步驟(2)。
全文摘要
一種用于視頻編碼的碼率估計方法,包括以下步驟(1)首先根據當前幀的一般化高斯分布參數以及編碼量化參數,對變換系數塊的各個系數進行加權;(2)然后將加權后得到的數值進行求和,得到近似的變換系數塊的信息比特數;(3)將近似的信息比特數與模型參數α相乘,然后再將相乘的結果與模型參數β相加,即得到估計的碼率;(4)利用實際的熵編碼結果,動態(tài)更新(3)中用到的兩個模型參數。本發(fā)明可以直接應用于視頻編碼中模式決策過程的優(yōu)化,實現(xiàn)低復雜度的模式決策,對整體的視頻編碼過程進行有效的加速。
文檔編號H04N7/26GK101466040SQ20091007630
公開日2009年6月24日 申請日期2009年1月9日 優(yōu)先權日2009年1月9日
發(fā)明者俊 孫, 欣 趙, 文 高 申請人:北京大學