專利名稱:一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻轉(zhuǎn)碼領(lǐng)域,特別涉及一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法。
背景技術(shù):
將已壓縮的視頻數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種視頻數(shù)據(jù)形式的操作叫做視頻轉(zhuǎn)碼。 由于新一代視頻編碼標(biāo)準(zhǔn)如H.264、 AVS均支持多種宏塊編碼模式(包括多種預(yù)測(cè)方向的 幀內(nèi)編碼模式和多種塊尺寸的幀間編碼模式),這使得轉(zhuǎn)碼前后宏塊編碼模式的相關(guān)性較 低(如轉(zhuǎn)碼前為16X16塊的幀間編碼模式而轉(zhuǎn)碼后為4X4塊的幀間編碼模式),因此宏塊 復(fù)雜度的相關(guān)性也較低,這使得利用輸入視頻流中宏塊的復(fù)雜度來預(yù)測(cè)輸入視頻流宏塊 的復(fù)雜度變得困難,從而導(dǎo)致轉(zhuǎn)碼碼率控制的精度降低。因此如何提高圖像復(fù)雜度的相 關(guān)性,從而提高轉(zhuǎn)碼碼率控制的精度,具有重要研究意義。
在目前已有的視頻轉(zhuǎn)碼碼率控制方法中,參考文獻(xiàn)l( Viet-Anh Nguyen and Yap-Peng Tan.: Efficient H.263 to H.264AVC Video Transcoding Using Enhanced Rate Control. IEEE International Conference on Image Processing 2005, Volume 3, pp: III - 652-5, (2005))針對(duì)P 幀提出了一個(gè)轉(zhuǎn)碼前后總碼率與量化步長(zhǎng)的關(guān)系模型和基于復(fù)雜度的幀層碼率控制方 案。參考文獻(xiàn)2 (You-Neng Xiao, Hong Lu, Xiangyang Xue, et al.: Efficient Rate Control for MPEG-2 to H.264AVC Transcoding. IEEE International Symposium on Circuits and Systems 2005, pp: 1238 - 1241 Vol. 2, (2005))則在參考文獻(xiàn)1的基礎(chǔ)上,基于輸入視頻流的信息 給出了一個(gè)針對(duì)I幀和B幀的量化參數(shù)計(jì)算模型和碼率控制方案。但是這兩種方法均是 針對(duì)幀級(jí)的碼率控制,不適用于宏塊級(jí)的轉(zhuǎn)碼碼率控制。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法,該方法能 提高圖像復(fù)雜度的相關(guān)性,從而提高轉(zhuǎn)碼碼率控制的精度。 本發(fā)明所采用的技術(shù)方案是
一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法,包括以下步驟
(1) 根據(jù)幀層碼率分配策略計(jì)算當(dāng)前幀所有宏塊的目標(biāo)比特?cái)?shù)Zr;
(2) 根據(jù)頭信息預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)XV^
(3) 根據(jù)線性預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的預(yù)測(cè)復(fù)雜度之和ZM4A ;(4) 根據(jù)己編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的目標(biāo)比特?cái)?shù)為t7Xw),其中i 表示宏塊個(gè)數(shù),r(w)表示第n個(gè)宏塊的目標(biāo)比特?cái)?shù);(5) 根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的頭信息比特?cái)?shù)為tM("),其中 i表示宏塊個(gè)數(shù),M(w)表示第n個(gè)宏塊的頭信息比特?cái)?shù);(6) 根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀巳編碼宏塊的復(fù)雜度之和為t雄A("),其中i表示宏塊個(gè)數(shù),M4馬(w)表示第n個(gè)宏塊的頭信息比特?cái)?shù);(7) 根據(jù)轉(zhuǎn)碼率失真模型計(jì)算當(dāng)前幀第i個(gè)宏塊的量化步長(zhǎng)g(/);(8) 根據(jù)步驟(7)得出的量化步長(zhǎng)g(/)進(jìn)行率失真優(yōu)化,對(duì)當(dāng)前宏塊進(jìn)行編碼操作, 更新已編碼宏塊的r("), M("), M4"e(");(9) 判斷當(dāng)前宏塊是否是最后一個(gè)宏塊,若是,則轉(zhuǎn)入步驟(10),否則重新轉(zhuǎn)入步驟(1),重復(fù)上述步驟(4) — (8),更新力r("), ^M("), ^M4化("),更新轉(zhuǎn)碼信w=0 =0 w=0源率失真模型的參數(shù),直至執(zhí)行到最后一個(gè)宏塊;(10) 更新線性預(yù)測(cè)模型的參數(shù),結(jié)束操作。 本發(fā)明可根據(jù)下列頭信息預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)2]M:附附)其中^為轉(zhuǎn)碼后前一幀的片層以及更高層的頭信息比特?cái)?shù),m二 , m;和m,分別為轉(zhuǎn)碼 后當(dāng)前幀、轉(zhuǎn)碼前前一幀和轉(zhuǎn)碼后前一幀的宏塊層頭信息比特?cái)?shù)。本發(fā)明可根據(jù)下列線性預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)ZM4A:其中ZM4"表示轉(zhuǎn)碼前宏塊的實(shí)際復(fù)雜度之和,6,、 62分別為線性預(yù)測(cè)模型的兩個(gè)系 數(shù)。
本發(fā)明可根據(jù)以下轉(zhuǎn)碼信源率失真模型計(jì)算當(dāng)前幀第i個(gè)宏塊的量化步長(zhǎng)g(O
<formula>formula see original document page 6</formula>
其中q、 &分別表示編碼信源率失真模型的一次項(xiàng)和二次項(xiàng)系數(shù),Zr表示當(dāng)前幀所有
宏塊的目標(biāo)比特?cái)?shù),力M(")、力M4A(")分別表示當(dāng)前幀已編碼宏塊的目標(biāo)
n=0 w=0 /7=0
比特?cái)?shù)、頭信息比特?cái)?shù)及復(fù)雜度之和。
本發(fā)明與已有技術(shù)相對(duì)照,效果是積極且明顯的提高圖像復(fù)雜度的相關(guān)性,從而 提高轉(zhuǎn)碼碼率控制的精度。
具體實(shí)施例方式
(1) 根據(jù)幀層碼率分配策略計(jì)算當(dāng)前幀所有宏塊的目標(biāo)比特?cái)?shù)Zr。
(2) 根據(jù)下列頭信息預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)iTM
<formula>formula see original document page 6</formula> (1)
其中^為轉(zhuǎn)碼后前一幀的片層以及更高層的頭信息比特?cái)?shù),< ,m二和mp分別為轉(zhuǎn)碼
后當(dāng)前幀、轉(zhuǎn)碼前前一幀、轉(zhuǎn)碼后前一幀的宏塊層頭信息比特?cái)?shù)。
G)根據(jù)下列線性預(yù)測(cè)模型計(jì)算轉(zhuǎn)碼后當(dāng)前幀所有宏塊的預(yù)測(cè)復(fù)雜度之和i;MJZ)c
<formula>formula see original document page 6</formula> (2)
其中ZM4"表示轉(zhuǎn)碼前宏塊的實(shí)際復(fù)雜度之和,4、 62分別為線性預(yù)測(cè)模型的兩個(gè)系數(shù)。
(4)根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的目標(biāo)比特?cái)?shù)為tnw),其中i表示宏塊個(gè)數(shù),r(w)表示第n個(gè)宏塊的目標(biāo)比特?cái)?shù)。
(5)根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的頭信息比特?cái)?shù)為^M("),其
中i表示宏塊個(gè)數(shù),M(w)表示第n個(gè)宏塊的頭信息比特?cái)?shù)。
(6) 根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的復(fù)雜度之和為tM^A(w)
其中i表示宏塊個(gè)數(shù),M4化(w)表示第n個(gè)宏塊的頭信息比特?cái)?shù)。
(7) 根據(jù)下列轉(zhuǎn)碼率失真模型計(jì)算當(dāng)前幀第i個(gè)宏塊的量化步長(zhǎng)g(z')
<formula>formula see original document page 7</formula>c, 、 &分別表示編碼信源率失真模型的一次項(xiàng)和二次項(xiàng)系數(shù)。
(8) 根據(jù)步驟(7)得出的量化步長(zhǎng)2(/)進(jìn)行率失真優(yōu)化,對(duì)當(dāng)前宏塊進(jìn)行編碼操 作,更新已編碼宏塊的r(w), M(w), M4化(")。
(9) 判斷是否是最后一個(gè)宏塊,若是,則轉(zhuǎn)入步驟(10),否則重新轉(zhuǎn)入步驟(1),
重復(fù)上述步驟(4) 一步驟(8),更新力r("), ^M(w), t^"化("),更新參數(shù)c,、 c2,
w=0 w=0 "=0
直至執(zhí)行到最后一個(gè)宏塊。
(10) 若是最后一個(gè)宏塊,則更新參數(shù)6,, 62結(jié)束操作。
實(shí)現(xiàn)效果基于統(tǒng)計(jì)規(guī)律,多個(gè)宏塊的復(fù)雜度之和與單個(gè)宏塊的復(fù)雜度相比,在轉(zhuǎn) 碼前后具有更強(qiáng)的相關(guān)性,因此在步驟(3)的線性預(yù)測(cè)模型中,以當(dāng)前幀所有宏塊的復(fù) 雜度之和代替原有的單個(gè)宏塊的復(fù)雜度,能夠提高圖像復(fù)雜度的相關(guān)性。本實(shí)施例對(duì)CIF 格式的Coastguard序列進(jìn)行了測(cè)試。轉(zhuǎn)碼幀數(shù)為100幀,轉(zhuǎn)碼前的原始碼率為1600Kbps, 轉(zhuǎn)碼后的目標(biāo)碼率為1200Kbps。使用原有方法與本發(fā)明方法進(jìn)行碼率控制得到的實(shí)際碼 率分別為1188.83 Kbps和1200.69 Kbps,與目標(biāo)碼率相比誤差分別為0.93%和0.06%, 由此可以看出本發(fā)明提出的方法能夠提高轉(zhuǎn)碼碼率控制的精度。
權(quán)利要求
1.一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法,其特征是包括以下步驟(1)根據(jù)幀層碼率分配策略計(jì)算當(dāng)前幀所有宏塊的目標(biāo)比特?cái)?shù)∑T;(2)根據(jù)頭信息預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)∑M;(3)根據(jù)線性預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的預(yù)測(cè)復(fù)雜度之和∑MADc;(4)根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的目標(biāo)比特?cái)?shù)為其中i表示宏塊個(gè)數(shù),T(n)表示第n個(gè)宏塊的目標(biāo)比特?cái)?shù);(5)根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的頭信息比特?cái)?shù)為其中i表示宏塊個(gè)數(shù),M(n)表示第n個(gè)宏塊的頭信息比特?cái)?shù);(6)根據(jù)已編碼宏塊的數(shù)據(jù)計(jì)算當(dāng)前幀已編碼宏塊的復(fù)雜度之和為其中i表示宏塊個(gè)數(shù),MADc(n)表示第n個(gè)宏塊的頭信息比特?cái)?shù);(7)根據(jù)轉(zhuǎn)碼率失真模型計(jì)算當(dāng)前幀第i個(gè)宏塊的量化步長(zhǎng)Q(i);(8)根據(jù)步驟(7)得出的量化步長(zhǎng)Q(i)進(jìn)行率失真優(yōu)化,對(duì)當(dāng)前宏塊進(jìn)行編碼操作,更新已編碼宏塊的T(n),M(n),MADc(n);(9)判斷當(dāng)前宏塊是否是最后一個(gè)宏塊,若是,則轉(zhuǎn)入步驟(10),否則重新轉(zhuǎn)入步驟(1),重復(fù)上述步驟(4)-(8),更新更新轉(zhuǎn)碼信源率失真模型的參數(shù),直至執(zhí)行到最后一個(gè)宏塊;(10)更新線性預(yù)測(cè)模型的參數(shù),結(jié)束操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征是步驟(2)中根據(jù)下列頭信息預(yù)測(cè)模型計(jì)算 當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)ZM- <formula>formula see original document page 2</formula>其中 為轉(zhuǎn)碼后前一幀的片層以及更高層的頭信息比特?cái)?shù), < ,附;和附p分別為轉(zhuǎn)碼后當(dāng)前幀、轉(zhuǎn)碼前前一幀和轉(zhuǎn)碼后前一幀的宏塊層頭信息比特?cái)?shù)。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征是步驟(3)中根據(jù)下列線性預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的頭信息比特?cái)?shù)ZM4Z^ :其中ZM4"表示轉(zhuǎn)碼前宏塊的實(shí)際復(fù)雜度之和,6,、 62分別為線性預(yù)測(cè)模型的兩個(gè)系 數(shù)。
4. 根據(jù)權(quán)利要求1或2所述的方法,其特征是步驟(7)中根據(jù)以下轉(zhuǎn)碼信源率失真 模型計(jì)算當(dāng)前幀第i個(gè)宏塊的量化步長(zhǎng)g(/):<formula>formula see original document page 3</formula>其中c" q分別表示編碼信源率失真模型的一次項(xiàng)和二次項(xiàng)系數(shù),Zr表示當(dāng)前幀所有宏塊的目標(biāo)比特?cái)?shù),^M(")、 ^M4D^)分別表示當(dāng)前幀己編碼宏塊的目標(biāo)w=0 w=0 w=0比特?cái)?shù)、頭信息比特?cái)?shù)及復(fù)雜度之和。
全文摘要
一種視頻轉(zhuǎn)碼中宏塊級(jí)碼率控制方法分別根據(jù)幀層碼率分配策略、頭信息預(yù)測(cè)模型、復(fù)雜度之和線性預(yù)測(cè)模型計(jì)算當(dāng)前幀所有宏塊的目標(biāo)比特?cái)?shù)、頭信息比特?cái)?shù)、預(yù)測(cè)復(fù)雜度之和;其次,計(jì)算當(dāng)前幀已編碼宏塊的目標(biāo)比特?cái)?shù)、頭信息比特?cái)?shù)、復(fù)雜度之和;然后,根據(jù)轉(zhuǎn)碼率失真模型計(jì)算當(dāng)前宏塊的量化步長(zhǎng),并對(duì)當(dāng)前宏塊進(jìn)行率失真優(yōu)化編碼,根據(jù)當(dāng)前宏塊的實(shí)際編碼數(shù)據(jù)更新已編碼宏塊的目標(biāo)比特?cái)?shù)、頭信息比特?cái)?shù)、復(fù)雜度之和;判斷當(dāng)前宏塊是否是當(dāng)前幀最后一個(gè)宏塊,若否,則更新編碼信源率失真模型的系數(shù),重復(fù)上述步驟,直至執(zhí)行到最后一個(gè)宏塊;若是,則更新復(fù)雜度之和線性預(yù)測(cè)模型的系數(shù)。本發(fā)明能提高圖像復(fù)雜度的相關(guān)性,從而提高轉(zhuǎn)碼碼率控制精度。
文檔編號(hào)H04N7/26GK101102494SQ20071005280
公開日2008年1月9日 申請(qǐng)日期2007年7月23日 優(yōu)先權(quán)日2007年7月23日
發(fā)明者立 朱, 胡瑞敏, 鎮(zhèn) 韓 申請(qǐng)人:武漢大學(xué)