專利名稱:基于ρ域的視頻編碼碼率控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體通信技術(shù)領(lǐng)域,特別涉及一種低復(fù)雜度的基于ρ域的視頻編碼碼率控制方法。
背景技術(shù):
在視頻通信中,承載數(shù)據(jù)流的網(wǎng)絡(luò)帶寬都是時(shí)變、有限的,研究人員要考慮的因素不僅僅是純粹的壓縮效率,還要考慮信道帶寬和信源速率的匹配關(guān)系,即對(duì)視頻編碼進(jìn)行碼率控制,以充分利用信道。對(duì)于現(xiàn)有的基于塊的混合視頻編碼方案,如MPEG-4,已有的碼率控制方法通常是從幀類型(I幀、P幀和B幀)、圖像組(GOP)結(jié)構(gòu)(IPP、IBP、IBBP等)、緩存限制、比特率模型、計(jì)算復(fù)雜度等角度入手,通過動(dòng)態(tài)調(diào)整量化參數(shù)(QP)等編碼器參數(shù),逼近幀級(jí)或宏塊級(jí)的期望比特?cái)?shù)。但是,最新制定的視頻編碼標(biāo)準(zhǔn)H.264引入了很多新特性。一方面,包括幀內(nèi)、幀間、跳過(SKIP)在內(nèi)的21種預(yù)測模式,使針對(duì)以往的視頻編碼標(biāo)準(zhǔn)的碼率控制算法精度大大下降,甚至失效。另一方面,率失真優(yōu)化(RDO)使原本與運(yùn)動(dòng)向量無關(guān)的量化參數(shù)也與之產(chǎn)生了耦合,全局碼率控制變得更加困難。更重要的是,在H.264中,QP作為RDO過程的輸入,之后又要根據(jù)RDO的輸出反過來估計(jì)最優(yōu)的QP,這種全耦合的迭代優(yōu)化的計(jì)算開銷是實(shí)時(shí)編碼中不可忍受的。
Z.He等人發(fā)表在國際電氣電子工程師協(xié)會(huì)雜志《針對(duì)視頻技術(shù)的電路與系統(tǒng)》(IEEETrans.on Circuits and Systems for Video Technology)上的文章《變換編碼中一個(gè)統(tǒng)一的率失真分析框架》(A unified rate-distortion analysis framework for transform coding)中指出在視頻編碼中,每一個(gè)量化參數(shù)QP都對(duì)應(yīng)一個(gè)固定的量化步長q,而量化步長q和零系數(shù)比例ρ之間又存在粗略的一一映射關(guān)系。那么,對(duì)于變換編碼后的殘差系數(shù)(I幀為幀內(nèi)預(yù)測殘差,P和B幀為運(yùn)動(dòng)補(bǔ)償殘差),可以由統(tǒng)計(jì)變換系數(shù)的分布而獲得這個(gè)零系數(shù)比例ρ與自變量q的映射關(guān)系,即 其中,L是當(dāng)前視頻幀的系數(shù)個(gè)數(shù),D0(x)和D1(x)是殘差系數(shù)的離散余弦變換后的統(tǒng)計(jì)直方圖(包括交流系數(shù)和直流系數(shù))。這樣,就以量化步長q為聯(lián)系紐帶獲得了ρ-QP映射表。同時(shí),Z.He在該篇文章中還提出了一個(gè)線性信源碼率模型 R(ρ)=θ·(1-ρ) 并將基于零系數(shù)比例的分析叫做ρ域分析。其中,θ是斜率參數(shù),ρ是量化后零系數(shù)所占的比例,R是殘差系數(shù)編碼比特率,單位為比特/象素(bit per pixel,bpp)。這個(gè)模型的不足之處在于,此模型的精確性測試僅僅對(duì)國際圖像編碼標(biāo)準(zhǔn)JEPG,國際視頻編碼標(biāo)準(zhǔn)MPEG-2、H.263和MPEG-4適用,而對(duì)于零系數(shù)比例相對(duì)較大的視頻編碼標(biāo)準(zhǔn)H.264(較多的SKIP模式宏塊、4x4整數(shù)變換及尺度變換等)并不十分適用,需要做進(jìn)一步修正。
此外,對(duì)于低復(fù)雜度的視頻編碼碼率控制方法,目前可查到的專利如下 (a)申請(qǐng)?zhí)枮?00610052814.5的專利公開了一種基于低內(nèi)存消耗查詢表的視頻壓縮碼率控制方法; (b)申請(qǐng)?zhí)枮?00510073985.1的專利公開了一種低復(fù)雜度的積分碼率控制方法; (c)申請(qǐng)?zhí)枮?00510135494.5的專利公開了一種基于視頻序列局部運(yùn)動(dòng)的差分直方圖統(tǒng)計(jì)的碼率控制方法; 這些碼率控制方法雖然保證了低復(fù)雜度,但是抽取的視頻內(nèi)容特征描述方式不如ρ域特性更能體現(xiàn)視頻內(nèi)容的特征,對(duì)碼率控制算法的精度有一定影響,因此需要找到一個(gè)既有較低計(jì)算復(fù)雜度,又有較高碼率控制精度的通用控制方法。
發(fā)明內(nèi)容
本發(fā)明的目的是為克服已有技術(shù)的不足,基于視頻內(nèi)容的空域線性特性和時(shí)域連續(xù)性,提供一種低復(fù)雜度的基于ρ域的視頻編碼碼率控制方法,具有簡單實(shí)用,性能優(yōu)越,計(jì)算復(fù)雜度和內(nèi)存的需求極小的特點(diǎn),不僅適合于以前的視頻編碼標(biāo)準(zhǔn)H.261、H.263、MPEG-2、MPEG-4,還適合最新的H.264標(biāo)準(zhǔn)。
本發(fā)明提出了一種基于ρ域的視頻編碼碼率控制方法,其特征在于,給定目標(biāo)碼率
(單位為比特/象素/秒),編碼端基于ρ域模型進(jìn)行GOP級(jí)和幀級(jí)的比特率(單位為比特/象素)分配算法來實(shí)現(xiàn)碼率控制,具體包括以下步驟 1)預(yù)編碼一個(gè)圖像組,獲取碼率控制方法初始的特征參數(shù) 以初始的量化參數(shù)QP編碼視頻序列的一組GOP幀,并在信息庫中記錄下每幀的特征參數(shù){δi,ρi,θi,Δci,si},其中,字母下標(biāo)i∈[1,LGOP]∩Z+表示本GOP中的編碼幀號(hào),取正整數(shù);δi,ρi,θi,Δci分別為第i幀對(duì)應(yīng)的ρ域模型中的殘差紋理復(fù)雜度參數(shù)、零系數(shù)比例參數(shù)、碼率模型斜率參數(shù)、碼率模型截?fù)?jù)差參數(shù);si為第i幀中運(yùn)動(dòng)向量編碼比特率Rjmv和殘差系數(shù)量化后的熵編碼比特率Rjcoe的比值; 2)根據(jù)目標(biāo)碼率計(jì)算GOP比特率預(yù)算 (21)計(jì)算一個(gè)GOP所能分配的比特率
更新剩余可用比特率
(首次運(yùn)行時(shí),等式右邊的
初始化為零);其中,LGOP為GOP長度(單位為幀),f為視頻編碼幀率(單位為幀/秒); (22)如果視頻幀類型為I幀(幀內(nèi)幀),跳轉(zhuǎn)到步驟3); 如果幀類型為P幀(單向預(yù)測幀)或B幀(雙向預(yù)測幀),跳轉(zhuǎn)到步驟4)。
3)根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,跳轉(zhuǎn)到步驟5); 4)根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ; 5)根據(jù)期望的零系數(shù)比例ρ估計(jì)當(dāng)前幀的量化系數(shù)QPj (51)查詢?chǔ)?QP映射表,獲得從零系數(shù)比例ρ到量化參數(shù)QP的轉(zhuǎn)換; (52)檢測量化參數(shù)的變化幅度,將變化幅度限制在ΔQP內(nèi); 6)以量化參數(shù)QPj編碼當(dāng)前視頻幀 (61)編碼視頻幀,獲得該幀真實(shí)的輸出比特率
(62)計(jì)算剩余可用比特率
其中,符號(hào)max{·}表示取兩個(gè)數(shù)中的最大值; 7)在信息庫中記錄當(dāng)前幀實(shí)際的編碼特征參數(shù),并根據(jù)幀號(hào)選擇跳轉(zhuǎn)位置 (71)在信息庫中保存當(dāng)前幀的特征參數(shù){δ,ρ,θ,Δc,s}(以備其后的視頻幀的特征參數(shù)預(yù)測所需); (72)如果幀號(hào)j≠LGOP,則令j=j(luò)+1,跳轉(zhuǎn)到步驟4); (73)如果幀號(hào)j=LGOP,則令j=1,跳轉(zhuǎn)到步驟2)。
本發(fā)明簡單實(shí)用,性能優(yōu)越,主要有以下有益效果 (a)對(duì)基于變換編碼的視頻碼率控制提供了一個(gè)通用的處理框架,其中修正的ρ域比特率模型的形式更加通用,不僅適合于以前的視頻編碼標(biāo)準(zhǔn)H.261、H.263、MPEG-2、MPEG-4,還適合最新的H.264標(biāo)準(zhǔn); (b)本方法計(jì)算復(fù)雜度和內(nèi)存的需求極小,僅僅對(duì)幾個(gè)歷史的空域線性特性ρ域模型參數(shù)樣點(diǎn)值做線性回歸,然后借助ρ變量,就可以預(yù)測出當(dāng)前幀的編碼碼率; (c)預(yù)測過程不會(huì)有誤差傳遞,并能跟隨輸入視頻數(shù)據(jù)自適應(yīng)地動(dòng)態(tài)調(diào)整。
圖1為本發(fā)明基于ρ域的視頻編碼碼率控制方法的流程框圖。
具體實(shí)施例方式 本發(fā)明提出的一種基于ρ域的視頻編碼碼率控制方法結(jié)合附圖及實(shí)施例詳細(xì)說明如下 在本發(fā)明中 (a)空域線性特性由ρ域模型來刻畫(為背景技術(shù)介紹中Z.He的線性信源碼率模型的針對(duì)H.264的修正模型), R(ρ)=θ·(1-ρ)+Δc 其中,ρ為量化后的零系數(shù)在當(dāng)前幀中所占的比例、Δc為截距差,R(ρ)為在零系數(shù)比例ρ條件下的視頻單幀的編碼碼率;模型斜率參數(shù)θ與當(dāng)前幀的視頻紋理復(fù)雜度δ有關(guān),進(jìn)一步由如下斜率-紋理復(fù)雜度模型定義 θ=σ2·eα(1-δ) 其中,δ由歸一化的平均絕對(duì)誤差(MAD)來度量,即當(dāng)前幀和預(yù)測幀間的所有殘差系數(shù)絕對(duì)值之和再除以255。σ和α是模型參數(shù)。
(b)時(shí)域連續(xù)性由以前已編碼幀的參數(shù){θ,Δc,s}來表征;其中,θ,Δc為空域模型中的參數(shù),s為一幀中運(yùn)動(dòng)向量碼率和殘差系數(shù)量化后的熵編碼碼率之比; 本發(fā)明提出的方法,其特征在于,給定目標(biāo)碼率
(單位為比特/象素/秒),編碼端基于ρ域模型進(jìn)行GOP級(jí)和幀級(jí)的比特率(單位為比特/象素)分配算法來實(shí)現(xiàn)碼率控制,該方法流程如圖1所示,具體包括以下步驟 1)預(yù)編碼一個(gè)圖像組,獲取碼率控制方法初始的特征參數(shù) 以初始的量化參數(shù)QP編碼視頻序列的一組GOP幀,并在信息庫中記錄下每幀的特征參數(shù){δi,ρi,θi,Δci,si},其中,字母下標(biāo)i∈[1,LGOP]∩Z+表示本GOP中的編碼幀號(hào),取正整數(shù);δi,ρi,θi,Δci分別為第i幀對(duì)應(yīng)的ρ域模型中的殘差紋理復(fù)雜度參數(shù)、零系數(shù)比例參數(shù)、碼率模型斜率參數(shù)、碼率模型截?fù)?jù)差參數(shù);si為第i幀中運(yùn)動(dòng)向量編碼比特率Rjmv和殘差系數(shù)量化后的熵編碼比特率Rjcoe的比值; 2)根據(jù)目標(biāo)碼率計(jì)算GOP比特率預(yù)算 (21)計(jì)算一個(gè)GOP所能分配的比特率
更新剩余可用比特率
(首次運(yùn)行時(shí),等式右邊的
初始化為零);其中,LGOP為GOP長度(單位為幀),f為視頻編碼幀率(單位為幀/秒); (22)如果視頻幀類型為I幀(幀內(nèi)幀),跳轉(zhuǎn)到步驟3); 如果幀類型為P幀(單向預(yù)測幀)或B幀(雙向預(yù)測幀),跳轉(zhuǎn)到步驟4)。
3)根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,跳轉(zhuǎn)到步驟5); 4)根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ; 5)根據(jù)期望的零系數(shù)比例ρ估計(jì)當(dāng)前幀的量化系數(shù)QPj (51)查詢?chǔ)?QP映射表,獲得從零系數(shù)比例ρ到量化參數(shù)QP的轉(zhuǎn)換; (52)檢測量化參數(shù)的變化幅度,將變化幅度限制在ΔQP內(nèi); 6)以量化參數(shù)QPj編碼當(dāng)前視頻幀 (61)編碼視頻幀,獲得該幀真實(shí)的輸出比特率
(62)計(jì)算剩余可用比特率
其中,符號(hào)max{·}表示取兩個(gè)數(shù)中的最大值; 7)在信息庫中記錄當(dāng)前幀實(shí)際的編碼特征參數(shù),并根據(jù)幀號(hào)選擇跳轉(zhuǎn)位置 (71)在信息庫中保存當(dāng)前幀的特征參數(shù){δ,ρ,θ,Δc,s}(以備其后的視頻幀的特征參數(shù)預(yù)測所需); (72)如果幀號(hào)j≠LGOP,則令j=j(luò)+1,跳轉(zhuǎn)到步驟4); (73)如果幀號(hào)j=LGOP,則令j=1,跳轉(zhuǎn)到步驟2)。
上述步驟3)中根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,包括以下步驟 (31)計(jì)算期望的I幀比特率
其中,wI,wP,wB分別為I、P、B類型的單幀視頻期望比特率權(quán)重,1,γP,γB為它們?cè)谝粋€(gè)GOP中所占的數(shù)量; (32)更新當(dāng)前I幀的特征參數(shù){斜率θ、截距差Δc},即用當(dāng)前I幀相鄰的前一個(gè)I幀的特征參數(shù){斜率θ、截距差Δc}作為當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc}; (33)計(jì)算期望的零系數(shù)比例
跳轉(zhuǎn)到步驟5);其中,
是視頻幀包頭的比特率; 上述步驟4)中根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ,具體包括以下步驟 (41)計(jì)算當(dāng)前幀j的可用比特率; (411)如果剩余可用比特率
則進(jìn)行跳幀處理(無需編碼該幀); (412)如果剩余可用比特率
則 (a)如果當(dāng)前幀為P幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的P幀數(shù)目減1 γP=γP-1; (b)如果當(dāng)前幀為B幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的B幀數(shù)目減1 γB=γB-1; (42)檢測以前同類型幀的特征參數(shù),并更新當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc和比特率比s}; (43)計(jì)算當(dāng)前幀在期望比特率
限制下對(duì)應(yīng)的零系數(shù)比例 上述步驟42)中檢測以前同類型幀的特征參數(shù),更新當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc和比特率比s},具體包括以下步驟 (421)將當(dāng)前幀之前的N個(gè)最近的同類型視頻幀作為預(yù)測參考幀,從信息庫中取出與其對(duì)應(yīng)的N組特征參數(shù)值{θi,δi,Δci,si},1≤i≤N,并轉(zhuǎn)換為{lnθi,δi,Δci,si};其中,N為正整數(shù),變量下標(biāo)i∈Z+表示相鄰的參考幀號(hào);θi為第i個(gè)參考幀的線性碼率模型斜率,δi為第i個(gè)參考幀的殘差紋理復(fù)雜度; (422)將斜率-紋理復(fù)雜度模型線性化為 lnθ(δ)=2lnσ+α(1-δ) 并對(duì)上述N組樣點(diǎn)值做最小二乘擬合,求取模型參數(shù)α和σ,并更新特征參數(shù){θ,Δc,s} (a)估計(jì)當(dāng)前編碼幀的斜率-紋理復(fù)雜度模型參數(shù)值 其中, (b)更新當(dāng)前幀的特征參數(shù){θ,Δc,s} ρ域比特率模型斜率值θ=σ2eα(1-δ); ρ域比特率模型截?fù)?jù)差 運(yùn)動(dòng)向量編碼比特率和殘差系數(shù)量化后的熵編碼比特率的比值 本發(fā)明方法結(jié)合附圖及實(shí)施例進(jìn)一步詳細(xì)的描述。
本實(shí)施例的條件如下 設(shè)編碼器采用國際視頻編碼標(biāo)準(zhǔn)H.264的參考軟件JM;編碼器GOP結(jié)構(gòu)為IBPBP...,其中GOP長度為15;I、P、B幀類型的單幀期望比特?cái)?shù)權(quán)重為wI=10,wP=1.5和wB=1,其在一個(gè)GOP中所占的數(shù)量分別為1、7和7;編碼幀率f=30。測試序列采用標(biāo)準(zhǔn)化圖像格式(CIF,352x288)的Foreman序列; 本實(shí)施例的方法為給定目標(biāo)碼率
(單位為比特/象素/秒),編碼器可以基于ρ域模型進(jìn)行GOP級(jí)和幀級(jí)的比特率(單位為比特/象素)分配算法來實(shí)現(xiàn)碼率控制,具體包括以下步驟 1)預(yù)編碼一個(gè)圖像組,獲取碼率控制方法初始的特征參數(shù) 以初始的量化參數(shù)QP=28來編碼視頻序列的一個(gè)GOP,并在信息庫中記錄下每幀的特征參數(shù){δi,ρi,θi,Δci,si},其中,字母下標(biāo)i∈[1,LGOP]∩Z+表示本GOP中的編碼幀號(hào),Z+表示取正整數(shù);δi,ρi,θi,Δci分別為第i幀對(duì)應(yīng)的ρ域模型中的殘差紋理復(fù)雜度參數(shù)、零系數(shù)比例參數(shù)、碼率模型斜率參數(shù)、碼率模型截?fù)?jù)差參數(shù);si為第i幀中運(yùn)動(dòng)向量編碼比特率Rjmv和殘差系數(shù)量化后的熵編碼比特率Rjcoe的比值; 2)根據(jù)目標(biāo)碼率計(jì)算GOP比特率預(yù)算 (21)計(jì)算一個(gè)GOP所能分配的比特率
更新剩余可用比特率
(首次運(yùn)行時(shí),等式右邊的
初始化為零); (22)如果視頻幀類型為I幀,跳轉(zhuǎn)到步驟3); 如果幀類型為P或B幀,跳轉(zhuǎn)到步驟4)。
3)根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,包括以下步驟 (31)計(jì)算期望的I幀比特率
(32)更新當(dāng)前I幀的特征參數(shù){斜率θ、截距差Δc},即用當(dāng)前I幀相鄰的前一個(gè)I幀的特征參數(shù){斜率θ、截距差Δc}作為當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc}; (33)計(jì)算期望的零系數(shù)比例
跳轉(zhuǎn)到步驟5);其中,
是視頻幀包頭的比特率; 4)根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ,包括以下步驟 (41)計(jì)算當(dāng)前幀j的可用比特率; (411)如果剩余可用比特率
則進(jìn)行跳幀處理(無需編碼該幀); (412)如果剩余可用比特率
則 (a)如果當(dāng)前幀為P幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的P幀數(shù)目減一 γP=γP-1; (b)如果當(dāng)前幀為B幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的B幀數(shù)目減一 γB=γB-1; (42)檢測以前同類型幀的特征參數(shù),并更新當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc和比特率比s},即由當(dāng)前幀最相鄰的前兩個(gè)同類型的幀的特征參數(shù)來預(yù)測(P幀由其前兩個(gè)P幀來預(yù)測,B幀由其前兩個(gè)B幀來預(yù)測)。
(421)從信息庫中取出與當(dāng)前幀之前的2個(gè)最近的同類型視頻幀對(duì)應(yīng)的2組模型參數(shù)值{θ1,δ1,Δc1,s1},{θ2,δ2,Δc2,s2},并轉(zhuǎn)換為{lnθ1,δ1,Δc1,s1},{lnθ2,δ2,Δc2,s2};其中,θ1,θ2分別為第1,2個(gè)參考幀的比特率模型斜率,δ1,δ2為第1,2個(gè)參考幀的殘差紋理復(fù)雜度,Δc1,Δc2為第1,2個(gè)參考幀的線性碼率模型的截?fù)?jù)差,s1,s2為第1,2個(gè)參考幀的運(yùn)動(dòng)向量碼率和殘差系數(shù)量化后的熵編碼碼率的比值。
(422)用斜率-紋理復(fù)雜度模型線性化為 lnθ(δ)=2lnσ+α(1-δ) 并對(duì)上述2組樣點(diǎn)值做最小二乘擬合,求取模型參數(shù)α和σ,并更新特征參數(shù){θ,Δc,s} (a)估計(jì)當(dāng)前編碼幀的斜率-紋理復(fù)雜度模型模型參數(shù)值 (b)更新當(dāng)前幀的特征參數(shù){θ,Δc,s} ρ域碼率模型斜率值θ=σ2eα(1-δ); ρ域碼率模型截?fù)?jù)差 運(yùn)動(dòng)向量碼率和殘差系數(shù)量化后的熵編碼碼率的比值 (43)計(jì)算當(dāng)前幀在期望比特率
限制下對(duì)應(yīng)的零系數(shù)比例 5)根據(jù)期望的零系數(shù)比例ρ估計(jì)當(dāng)前幀的量化系數(shù)Qpj (51)查詢?chǔ)?QP映射表,獲得從零系數(shù)比例ρ到量化參數(shù)QP的轉(zhuǎn)換;其中,ρ-QP映射表由背景技術(shù)介紹的方式獲得。
在本實(shí)施例下的ρ-QP映射表以CIF格式的中等運(yùn)動(dòng)復(fù)雜度的Foreman標(biāo)準(zhǔn)測試序列為例,對(duì)于I幀,其映射表如下
對(duì)于P幀和B幀,其映射表如下
即是說,檢測計(jì)算出的ρ靠那個(gè)區(qū)間的邊界最近,就取對(duì)應(yīng)的QP值。舉例來說,對(duì)于I幀,若ρ=0.953,那么其屬于區(qū)間
,靠0.951最近,所以取0.951對(duì)應(yīng)的量化參數(shù)33; (52)檢測量化參數(shù)的變化幅度,將限制在ΔQP=±2內(nèi);即是說,如果上一幀QP=26,但是步驟(51)給出來的QP=29(或23),那么最多只能取到QP=28(或24);如果步驟 (51)給出來的QP=27,處于[24,28]范圍內(nèi),所以當(dāng)前幀不必限幅。
6)以量化參數(shù)QPj編碼當(dāng)前視頻幀 (61)編碼視頻幀,獲得該幀真實(shí)的輸出比特率
(62)計(jì)算剩余可用比特率
其中,符號(hào)max{·}表示取兩個(gè)數(shù)中的最大值; 7)在信息庫中記錄當(dāng)前幀實(shí)際的編碼特征參數(shù),并根據(jù)幀號(hào)選擇跳轉(zhuǎn)位置 (71)在信息庫中保存當(dāng)前幀的特征參數(shù){δ,ρ,θ,Δc,s}(以備其后的視頻幀的特征參數(shù)預(yù)測所需); (72)如果幀號(hào)j≠LGOP,則令j=j(luò)+1,跳轉(zhuǎn)到步驟4); (73)如果幀號(hào)j=LGOP,則令j=1,跳轉(zhuǎn)到步驟2)。
盡管本發(fā)明已參照具體實(shí)施方式
進(jìn)行描述和舉例說明,但是并不意味著本發(fā)明限于這些描述的實(shí)施方式。本發(fā)明以國際視頻編碼標(biāo)準(zhǔn)H.264為例進(jìn)行說明,但是并不局限于此,但凡依本發(fā)明權(quán)利要求書范圍所做的同等的變化及修飾,均屬于專利保護(hù)范疇。
權(quán)利要求
1.一種基于ρ域的視頻碼率控制方法,其特征在于,給定目標(biāo)碼率
編碼端基于ρ域模型依次進(jìn)行圖像組級(jí)和幀級(jí)的比特率分配算法來實(shí)現(xiàn)碼率控制,具體包括以下步驟
1)預(yù)編碼一個(gè)圖像組,獲取碼率控制方法初始的特征參數(shù)
以初始的量化參數(shù)QP編碼視頻序列的一組GOP幀,并在信息庫中記錄下每幀的特征參數(shù){δi,ρi,θi,Δci,si},其中,字母下標(biāo)i∈[1,LGOP]∩Z+表示本GOP中的編碼幀號(hào),取正整數(shù);δi,ρi,θi,Δci分別為第i幀對(duì)應(yīng)的ρ域模型中的殘差紋理復(fù)雜度參數(shù)、零系數(shù)比例參數(shù)、碼率模型斜率參數(shù)、碼率模型截?fù)?jù)差參數(shù);si為第i幀中運(yùn)動(dòng)向量編碼比特率Rjmv和殘差系數(shù)量化后的熵編碼比特率Rjcoe的比值;
2)根據(jù)目標(biāo)碼率計(jì)算GOP比特率預(yù)算
(21)計(jì)算一個(gè)GOP所能分配到的比特率
更新剩余可用比特率
初始化為零;其中,LGOP為GOP長度,f為視頻編碼幀率;
(22)如果視頻幀類型為I幀,跳轉(zhuǎn)到步驟3);
如果幀類型為P幀或B幀,跳轉(zhuǎn)到步驟4);
3)根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,跳轉(zhuǎn)到步驟5);
4)根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ;
5)根據(jù)期望的零系數(shù)比例ρ估計(jì)當(dāng)前幀的量化系數(shù)QPj
(51)查詢?chǔ)?QP映射表,獲得從零系數(shù)比例ρ到量化參數(shù)QP的轉(zhuǎn)換;
(52)檢測量化參數(shù)的變化幅度,將變化幅度限制在ΔQP內(nèi);
6)以量化參數(shù)QPj編碼當(dāng)前視頻幀
(61)編碼視頻幀,獲得該幀真實(shí)的輸出比特率
(62)計(jì)算剩余可用比特率
其中,符號(hào)max{·}表示取兩個(gè)數(shù)中的最大值;
7)在信息庫中記錄當(dāng)前幀實(shí)際的編碼特征參數(shù),并根據(jù)幀號(hào)選擇跳轉(zhuǎn)位置
(71)在信息庫中保存當(dāng)前幀的特征參數(shù){δ,ρ,θ,Δc,s};
(72)如果幀號(hào)j≠LGOP,則令j=j(luò)+1,跳轉(zhuǎn)到步驟4);
(73)如果幀號(hào)j=LGOP,則令j=1,跳轉(zhuǎn)到步驟2)。
2.如權(quán)利要求1所述方法,其特征在于,所述步驟3)中根據(jù)剩余可用比特率
計(jì)算期望的I幀比特率
和相應(yīng)的零系數(shù)比例ρ,包括以下步驟
(31)計(jì)算期望的I幀比特率
其中,wI,wP,wB分別為I、P和B類型的單幀視頻期望的比特率權(quán)重,1,γP,γB為它們?cè)谝粋€(gè)GOP中所占的數(shù)量;
(32)更新當(dāng)前I幀的特征參數(shù){斜率θ、截距差Δc},用當(dāng)前I幀相鄰的前一個(gè)I幀的特征參數(shù){斜率θ、截距差Δc}作為當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc};
(33)計(jì)算期望的零系數(shù)比例
跳轉(zhuǎn)到步驟5);其中,
是視頻幀包頭的比特率。
3.如權(quán)利要求1所述方法,其特征在于,所述步驟4)中根據(jù)剩余可用比特率
計(jì)算期望的P幀或B幀比特率和相應(yīng)的零系數(shù)比例ρ,具體包括以下步驟
(41)計(jì)算當(dāng)前幀j的可用比特率;
(411)如果剩余可用比特率
則進(jìn)行跳幀處理;
(412)如果剩余可用比特率
則
(a)如果當(dāng)前幀為P幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的P幀數(shù)目減1
γP=γP-1;
(b)如果當(dāng)前幀為B幀,則該幀分配到的期望比特率為
該GOP中等待分配比特率的B幀數(shù)目減1
γB=γB-1;
(42)檢測以前同類型幀的特征參數(shù),并更新當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc和比特率比s};
(43)計(jì)算當(dāng)前幀在期望比特率
限制下對(duì)應(yīng)的零系數(shù)比例
4.如權(quán)利要求3所述方法,其特征在于,所述步驟(42)中檢測以前同類型幀的特征參數(shù),更新當(dāng)前幀的特征參數(shù){斜率θ、截距差Δc和比特率比s},具體包括以下步驟
(421)將當(dāng)前幀之前的N個(gè)最近的同類型視頻幀作為預(yù)測參考幀,從信息庫中取出與其對(duì)應(yīng)的N組特征參數(shù)值{θi,δi,Δci,si},1≤i≤N,并轉(zhuǎn)換為{ln θi,δi,Δci,si};其中,N為正整數(shù),變量下標(biāo)i∈Z+表示相鄰的參考幀號(hào);θi為第i個(gè)參考幀的線性碼率模型斜率,δi為第i個(gè)參考幀的殘差紋理復(fù)雜度;
(422)將斜率-紋理復(fù)雜度模型線性化為
lnθ(δ)=2lnσ+α(1-δ)
并對(duì)所述N組樣點(diǎn)值做最小二乘擬合,求取模型參數(shù)α和σ,并更新特征參數(shù){θ,Δc,s}
(a)估計(jì)當(dāng)前編碼幀的斜率-紋理復(fù)雜度模型參數(shù)值
其中,
(b)更新當(dāng)前幀的特征參數(shù){θ,Δc,s}
ρ域比特率模型斜率值θ=σ2eα(1-δ);
ρ域比特率模型截?fù)?jù)差
運(yùn)動(dòng)向量編碼比特率和殘差系數(shù)量化后的熵編碼比特率的比值
全文摘要
本發(fā)明涉及一種基于ρ域的視頻編碼碼率控制方法,屬于多媒體通信技術(shù)領(lǐng)域;本發(fā)明包括根據(jù)給定的目標(biāo)碼率確定圖像組(GOP)的比特率,并進(jìn)一步按I幀(幀內(nèi)幀)、P幀(單向預(yù)測幀)、B幀(雙向預(yù)測幀)這3種類型,分別確定幀級(jí)的比特率分配;檢測以前同類型幀的特征參數(shù),預(yù)測出線性碼率模型的斜率參數(shù)θ、模型截?fù)?jù)差Δc,運(yùn)動(dòng)向量碼率和殘差系數(shù)量化后的熵編碼碼率的比值s,并計(jì)算出滿足碼率限制的零系數(shù)比例ρ;查詢?chǔ)?QP映射表獲得量化參數(shù)QP,并以此QP編碼當(dāng)前視頻幀;本發(fā)明的碼率控制方法,簡單實(shí)用,性能優(yōu)越,兼容原有的視頻編碼標(biāo)準(zhǔn)。
文檔編號(hào)H04N7/32GK101287123SQ200810112629
公開日2008年10月15日 申請(qǐng)日期2008年5月23日 優(yōu)先權(quán)日2008年5月23日
發(fā)明者戴瓊海, 肖紅江, 峰 陸 申請(qǐng)人:清華大學(xué)