專利名稱:一種基于場(chǎng)景的avs二次編碼碼率控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻信號(hào)處理技術(shù),尤其涉及一種基于場(chǎng)景的AVS二次編碼碼率控制方法。
背景技術(shù):
數(shù)字音視頻編碼技術(shù)標(biāo)準(zhǔn)AVS是我國第一個(gè)具有自主知識(shí)產(chǎn)權(quán)的第二代數(shù)字音視頻編解碼標(biāo)準(zhǔn),其編碼效率和競(jìng)爭(zhēng)性與國際標(biāo)準(zhǔn)H.264/AVC相當(dāng),是MPEG-2的兩倍以上。AVS是數(shù)字音視頻產(chǎn)業(yè)的共性基礎(chǔ)標(biāo)準(zhǔn),其代表了當(dāng)前國際先進(jìn)水平。
碼率控制是視頻編碼的重要技術(shù)之一,其最終目的是為了在有限的緩沖區(qū)容量和信道帶寬下傳輸高質(zhì)量的視頻序列。目前,AVS編碼標(biāo)準(zhǔn)采用了H.264/AVC的碼率控制技術(shù),也就是李政國提出的JVT-G012碼率控制方法,其主要過程如下 (1)根據(jù)流量往返模型、線性跟蹤模型和上界與下界的值計(jì)算當(dāng)前幀的目標(biāo)比特率; (2)平均分配當(dāng)前幀未編碼的基本單元; (3)根據(jù)先前幀相應(yīng)位置實(shí)際的MAD(Mean Absolute Difference,平均絕對(duì)誤差)值,應(yīng)用線性模型預(yù)測(cè)當(dāng)前幀的當(dāng)前基本單元的MAD值; (4)根據(jù)二次R-D(Rate-Distortion,率失真)模型計(jì)算相應(yīng)的量化參數(shù); (5)由上一步得到的量化參數(shù),從而完成當(dāng)前幀中所有基本單元中每個(gè)宏塊的RDO(Rate Distortion Optimization,率失真優(yōu)化)計(jì)算。
該方法利用上述技術(shù),使得碼率控制更加準(zhǔn)確,實(shí)際編碼碼率能很好地逼近限定的目標(biāo)碼率。但是該方法在處理運(yùn)動(dòng)劇烈或場(chǎng)景切換的圖像時(shí),由于使用前一幀相同位置基本單元的MAD值線性預(yù)測(cè)當(dāng)前基本單元的MAD值,導(dǎo)致當(dāng)前幀MAD值以及QP(量化參數(shù))預(yù)測(cè)不準(zhǔn)確的缺陷,并且由于編碼過程中對(duì)整個(gè)序列平均分配碼率,使得運(yùn)動(dòng)劇烈或場(chǎng)景切換的圖像質(zhì)量急劇下降,導(dǎo)致視頻編碼的重建圖像質(zhì)量波動(dòng)較大。然而,針對(duì)本地存儲(chǔ)的視頻編碼,往往要求整個(gè)視頻序列的圖像質(zhì)量始終保持平穩(wěn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提出一種基于場(chǎng)景的AVS二次編碼碼率控制方法,保證編碼重建視頻圖像的穩(wěn)定性,避免運(yùn)動(dòng)劇烈或場(chǎng)景切換時(shí)出現(xiàn)的馬賽克現(xiàn)象。
本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案是一種基于場(chǎng)景的AVS二次編碼碼率控制方法,包括以下步驟 a.對(duì)視頻序列進(jìn)行第一次編碼,并完成序列的場(chǎng)景檢測(cè)及相關(guān)統(tǒng)計(jì); b.完成第一次編碼后進(jìn)行第二次編碼,如果切換場(chǎng)景則進(jìn)入步驟c,否則進(jìn)入步驟d; c.根據(jù)第一次編碼的相關(guān)統(tǒng)計(jì)對(duì)新劃分的圖像組層進(jìn)行目標(biāo)比特?cái)?shù)分配,估計(jì)該場(chǎng)景的平均比特率并計(jì)算每個(gè)圖像組的初始QP; d.根據(jù)第一次編碼的相關(guān)統(tǒng)計(jì)對(duì)每幀特性進(jìn)行目標(biāo)比特分配,估計(jì)該幀的比特率; e.每幀編碼完成時(shí)更新緩沖區(qū)占用值和下溢值; 所述相關(guān)統(tǒng)計(jì)包括每幀實(shí)際生成的比特?cái)?shù),每幀的PSNR值,場(chǎng)景切換的位置,以及每個(gè)場(chǎng)景消耗的實(shí)際比特?cái)?shù)。
所述步驟c包括 將第一次編碼過程中統(tǒng)計(jì)的每個(gè)場(chǎng)景消耗的實(shí)際比特?cái)?shù)設(shè)為T1,s(i),將第一次和第二次編碼過程中整個(gè)視頻序列需要編碼的實(shí)際幀數(shù)設(shè)為Ntotal,將第一次編碼過程中當(dāng)編碼至i場(chǎng)景時(shí),包含該場(chǎng)景的剩余比特?cái)?shù)設(shè)為L(zhǎng)eft1,s(i); c1場(chǎng)景比特?cái)?shù)的分配第二次編碼當(dāng)前場(chǎng)景時(shí),判斷該場(chǎng)景是否為最后一個(gè)場(chǎng)景,如果不是最后一個(gè)場(chǎng)景,該場(chǎng)景分配的目標(biāo)比特?cái)?shù)為 其中B2,total為第二次編碼中整個(gè)視頻 序列分配的目標(biāo)比特?cái)?shù),
為截止到上一個(gè)場(chǎng)景時(shí),第二次編碼剩余的可用比特?cái)?shù);加上上一場(chǎng)景剩余的比特?cái)?shù)T2,r(i-1),當(dāng)前場(chǎng)景實(shí)際分配的比特?cái)?shù)為若該場(chǎng)景為最后一個(gè)場(chǎng)景,其分配的比特?cái)?shù)為截至到上一個(gè)場(chǎng)景時(shí),第二次編碼剩余的可用比特?cái)?shù); c2場(chǎng)景的平均比特率和每個(gè)圖像組初始QP的計(jì)算根據(jù)每個(gè)場(chǎng)景分配的目標(biāo)比特?cái)?shù),可以估計(jì)出場(chǎng)景i的平均比特率公式Ns(i)為場(chǎng)景的幀長(zhǎng)度,B1,total為第一次編碼中整個(gè)視頻序列分配的目標(biāo)比特?cái)?shù),bit_rate為設(shè)定的編碼碼率;當(dāng)初始化圖像組時(shí),設(shè)置場(chǎng)景i下溢的初始值在第一次編碼中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2),則QPst=Paveqp+2,即如果第i個(gè)場(chǎng)景起始幀的PSNR值大于上一個(gè)場(chǎng)景中PSNR的平均值與2之和,則該圖像組的初始QP值為上一場(chǎng)景所有P幀QP的平均值加上2,如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),則QPst=Paveqp-2,對(duì)于其他情況QPst=Paveqp,其中PSNR1,S(i-1)為第一次編碼中上一場(chǎng)景亮度PSNR的平均值,Paveqp為第二次編碼中上一場(chǎng)中所有P幀的平均量化步長(zhǎng)。
所述步驟d包括 d1無B幀時(shí)的幀級(jí)目標(biāo)比特分配從該場(chǎng)景第二個(gè)P幀開始,對(duì)應(yīng)P幀分配的目標(biāo)比特?cái)?shù)為其中為第一次編碼時(shí)該場(chǎng)景第j幀到該場(chǎng)景結(jié)束消耗的比特?cái)?shù),
為第一次編碼時(shí)當(dāng)前幀生成的比特?cái)?shù)在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,B2,scene_left(i,j)為第二次編碼中編碼第j幀時(shí)該場(chǎng)景剩余的比特?cái)?shù);可以估計(jì)出該幀的比特率其中
為第一次編碼中該場(chǎng)景出去I幀和第一個(gè)P幀剩余的比特?cái)?shù); d2有B幀時(shí)的幀級(jí)目標(biāo)比特分配將待編碼的P幀與其上一個(gè)P幀之間的B幀進(jìn)行BP幀組合打包,共計(jì)(Bno+1)幀,Bno為連續(xù)插入B幀的數(shù)目,在第二次編碼中假設(shè)第i個(gè)場(chǎng)景當(dāng)前P幀的幀號(hào)為k,統(tǒng)計(jì)該BP幀組合在第一次編碼過程中消耗的比特?cái)?shù)為此時(shí)P幀分配的比特?cái)?shù)為
為第一次編碼時(shí)當(dāng)前BP幀組合在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,θ為常數(shù),取值為0.7,可以估計(jì)出該P(yáng)幀的比特率公式為 其中
表示該場(chǎng)景在第二次編碼時(shí)I幀和第一個(gè)P幀及其間的B幀對(duì)應(yīng)于第一次編碼時(shí)消耗的比特?cái)?shù),此時(shí),B幀的估計(jì)比特率為 d3結(jié)合線性跟蹤理論的幀級(jí)目標(biāo)比特分配結(jié)合線性跟蹤理論,在第i個(gè)場(chǎng)景中分配給第j個(gè)P幀的目標(biāo)比特?cái)?shù)為其中Tbl(i,j)為該幀目標(biāo)緩沖級(jí),Bc(i,j)表示編碼第j幀以后虛擬緩沖區(qū)的占用情況,該P(yáng)幀比特分配為其中β為常數(shù),無B幀時(shí),取值為0.5,當(dāng)有B幀時(shí),取值為0.7。
本發(fā)明的有益效果是根據(jù)視頻序列的相關(guān)統(tǒng)計(jì),動(dòng)態(tài)分配不同幀的編碼比特?cái)?shù),使得編碼產(chǎn)生的重建圖像平穩(wěn),避免劇烈運(yùn)動(dòng)或場(chǎng)景切換時(shí)造成的馬賽克現(xiàn)象。
具體實(shí)施例方式 下面結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
本發(fā)明相對(duì)于現(xiàn)有技術(shù)來說,摒棄了采用平均分配視頻序列各幀碼率的方式,而是采用動(dòng)態(tài)分配不同幀的編碼比特?cái)?shù),使得編碼產(chǎn)生的重建圖像平穩(wěn),避免劇烈運(yùn)動(dòng)或場(chǎng)景切換時(shí)造成的馬賽克現(xiàn)象。
實(shí)施例 (a)初始化視頻序列的初始量化參數(shù),設(shè)定編碼幀率Fr以及及相關(guān)編碼參數(shù),判斷待編碼視頻序列的編碼次數(shù),如果為第一次編碼,則執(zhí)行b進(jìn)行第一次編碼,否則,進(jìn)入步驟c進(jìn)行第二次編碼。
(b)在第一次編碼過程中,采用固定QP進(jìn)行編碼,編碼結(jié)構(gòu)采用IPPP模式,只對(duì)視頻序列首幀編碼為I幀,關(guān)閉碼率控制選項(xiàng),開啟RDO。假設(shè)Fn為第二次編碼中設(shè)置的編碼幀數(shù),連續(xù)插入B幀的數(shù)目為Bno,則在第一次和第二次編碼過程中需要編碼的實(shí)際幀數(shù)為Ntota1=Fn+(Fn-1)×Bno。在第一次編碼中采用場(chǎng)景檢測(cè)算法,記錄第i個(gè)場(chǎng)景的起始和結(jié)束位置分別為Starts(i)和Ends(i),可以確定該場(chǎng)景的幀長(zhǎng)度為Ns(i)。統(tǒng)計(jì)每個(gè)場(chǎng)景消耗的實(shí)際比特?cái)?shù)其中T1,F(xiàn)(i,j)為第i個(gè)場(chǎng)景第j幀實(shí)際消耗的比特?cái)?shù),其對(duì)應(yīng)的PSNR(亮度峰值信噪比)為PSNR1,S(i,j)。當(dāng)?shù)谝淮尉幋a過程結(jié)束后,可以得到該過程消耗的總比特?cái)?shù)B1,total,則在第一次編碼過程中,當(dāng)編碼場(chǎng)景i時(shí)包含該場(chǎng)景的剩余比特?cái)?shù)為L(zhǎng)eft1,S(i)=B1,total-∑T1,S(i-1)。
(c)在第二次編碼過程中,編碼結(jié)構(gòu)支持插入B幀編碼,開啟碼率控制和RDO,設(shè)定編碼的碼率bit_rate,基本單元大小設(shè)置為幀級(jí)流控。通過第一次編碼中的檢測(cè)結(jié)果,判斷當(dāng)前幀是否發(fā)生場(chǎng)景切換,如果是,劃分一個(gè)新的圖像組,并將場(chǎng)景切換幀強(qiáng)制編碼為I幀,該圖像組的長(zhǎng)度為該場(chǎng)景的幀長(zhǎng)度,對(duì)于非場(chǎng)景切換的幀按照正常的編碼結(jié)構(gòu)進(jìn)行編碼,然后進(jìn)入步驟d。
(d)編碼當(dāng)前場(chǎng)景時(shí),判斷該場(chǎng)景是否為最后一個(gè)場(chǎng)景,如果不是最后一個(gè)場(chǎng)景,該場(chǎng)景分配的目標(biāo)比特?cái)?shù)為其中B2,total為整個(gè)視頻序列在第二次編碼中分配的比特總數(shù),其值為
為截止到上一個(gè)場(chǎng)景時(shí),第二次編碼剩余的可用比特?cái)?shù)。加上上一場(chǎng)景剩余的比特?cái)?shù)T2,r(i-1),其中T2,r(0)=0,實(shí)際分配的比特?cái)?shù)為若該場(chǎng)景為最后一個(gè)場(chǎng)景,其分配的比特?cái)?shù)為按照這種分配原則,運(yùn)動(dòng)舒緩的場(chǎng)景比特分配相對(duì)減小,節(jié)約的比特?cái)?shù)可以分配給運(yùn)動(dòng)劇烈的場(chǎng)景,這為保證不同復(fù)雜度場(chǎng)景的編碼重建圖像質(zhì)量穩(wěn)定性提供了理論基礎(chǔ)。
(e)根據(jù)每個(gè)場(chǎng)景分配的目標(biāo)比特?cái)?shù),可以估計(jì)出場(chǎng)景i的平均比特率公式由于基于本地存儲(chǔ)的視頻編碼不存在緩沖器上溢問題,因此只需要限制下溢條件。其中當(dāng)初始化圖像組時(shí),設(shè)置場(chǎng)景i下溢的初始值在第一次編碼中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2)則QPst=Paveqp+2,即如果第i個(gè)場(chǎng)景起始幀的PSNR值大于上一個(gè)場(chǎng)景中PSNR的平均值與2之和,則該GOP的初始QP值為上一場(chǎng)景所有P幀QP的平均值加上2。如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),則QPst=Paveqp-2,對(duì)于其他情況QPst=Paveqp,其中PSNR1,S(i-1)為第一次編碼中上一場(chǎng)景亮度PSNR的平均值,Paveqp為第二次編碼中上一場(chǎng)中所有P幀的平均量化步長(zhǎng)。
(f)對(duì)于幀級(jí)流控,對(duì)該場(chǎng)景中的I幀和第一個(gè)P幀采用QPst進(jìn)行編碼。
①當(dāng)不插入B幀編碼時(shí),從該場(chǎng)景第二個(gè)P幀開始,對(duì)應(yīng)P幀分配的目標(biāo)比特?cái)?shù)為其中為第一次編碼時(shí)該場(chǎng)景第j幀到該場(chǎng)景結(jié)束消耗的比特?cái)?shù),
為第一次編碼時(shí)當(dāng)前幀生成的比特?cái)?shù)在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,B2,scene_left(i,j)為第二次編碼中編碼第j幀時(shí)該場(chǎng)景剩余的比特?cái)?shù)??梢怨烙?jì)出該幀的比特率 其中
為第一次編碼中該場(chǎng)景出去I幀和第一個(gè)P幀剩余的比特?cái)?shù)。
②當(dāng)有插入B幀時(shí),由于B幀采用雙向預(yù)測(cè)技術(shù),往往使得B幀消耗的比特?cái)?shù)大幅減小,因此B幀的引入可以較大幅度提高視頻的編碼性能。由于B幀不存在目標(biāo)比特分配問題,其是通過其前后兩個(gè)參考幀的量化步長(zhǎng)來進(jìn)行調(diào)整的,為了提高碼率控制的準(zhǔn)確性,將待編碼的P幀與其上一個(gè)P幀之間的B幀進(jìn)行BP幀組合打包,共計(jì)(Bno+1)幀。在第二次編碼中假設(shè)第i個(gè)場(chǎng)景當(dāng)前P幀的幀號(hào)為k,統(tǒng)計(jì)該BP幀組合在第一次編碼過程中消耗的比特?cái)?shù)為此時(shí)P幀分配的比特?cái)?shù)為
為第一次編碼時(shí)當(dāng)前BP幀組合在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,θ為常數(shù),取值為0.7??梢怨烙?jì)出該P(yáng)幀的比特率公式為 其中
表示該場(chǎng)景在第二次編碼時(shí)I幀和第一個(gè)P幀及其間的B幀對(duì)應(yīng)于第一次編碼時(shí)消耗的比特?cái)?shù)。此時(shí),B幀的估計(jì)比特率為 ③結(jié)合線性跟蹤理論,在第i個(gè)場(chǎng)景中分配給第j個(gè)P幀的目標(biāo)比特?cái)?shù)為其中Tbl(i,j)為該幀目標(biāo)緩沖級(jí),Bc(i,j)表示編碼第j幀以后虛擬緩沖區(qū)的占用情況。該P(yáng)幀比特分配為其中β為常數(shù),無B幀時(shí),取值為0.5,當(dāng)有B幀時(shí),取值為0.7。
(g)根據(jù)步驟f中③為每幀分配的比特?cái)?shù),結(jié)合拉格朗日代價(jià)函數(shù),對(duì)每幀圖像進(jìn)行第二次優(yōu)化編碼。每幀編碼完成時(shí),緩沖區(qū)占用情況更新為其中T_act2,F(xiàn)(i,j)表示第i個(gè)場(chǎng)景第j幀在第二次編碼實(shí)際消耗的比特?cái)?shù),下溢值更新為 (h)判斷序列編碼是否結(jié)束,如果沒有結(jié)束,則進(jìn)入步驟c,否則結(jié)束編碼,輸出優(yōu)化視頻流。
權(quán)利要求
權(quán)利要求1一種基于場(chǎng)景的AVS二次編碼碼率控制方法,其特征在于包括以下步驟
a.對(duì)視頻序列進(jìn)行第一次編碼,并完成序列的場(chǎng)景檢測(cè)及相關(guān)統(tǒng)計(jì);
b.完成第一次編碼后進(jìn)行第二次編碼,如果切換場(chǎng)景則進(jìn)入步驟c,否則進(jìn)入步驟d;
c.根據(jù)第一次編碼的相關(guān)統(tǒng)計(jì)對(duì)新劃分的圖像組層進(jìn)行目標(biāo)比特?cái)?shù)分配,估計(jì)該場(chǎng)景的平均比特率并計(jì)算每個(gè)圖像組的初始QP;
d.根據(jù)第一次編碼的相關(guān)統(tǒng)計(jì)對(duì)每幀特性進(jìn)行目標(biāo)比特分配,估計(jì)該幀的比特率;
e.每幀編碼完成時(shí)更新緩沖區(qū)占用值和下溢值;
所述相關(guān)統(tǒng)計(jì)包括每幀實(shí)際生成的比特?cái)?shù),每幀的PSNR值,場(chǎng)景切換的位置,以及每個(gè)場(chǎng)景消耗的實(shí)際比特?cái)?shù)。
權(quán)利要求2如權(quán)利要求1所述的一種基于場(chǎng)景的AVS二次編碼碼率控制方法,其特征在于所述步驟c包括
將第一次編碼過程中統(tǒng)計(jì)的每個(gè)場(chǎng)景消耗的實(shí)際比特?cái)?shù)設(shè)為Tl,s(i),將第一次和第二次編碼過程中整個(gè)視頻序列需要編碼的實(shí)際幀數(shù)設(shè)為Ntotal,將第一次編碼過程中當(dāng)編碼至i場(chǎng)景時(shí),包含該場(chǎng)景的剩余比特?cái)?shù)設(shè)為L(zhǎng)eftl,s(i);
c1場(chǎng)景比特?cái)?shù)的分配第二次編碼當(dāng)前場(chǎng)景時(shí),判斷該場(chǎng)景是否為最后一個(gè)場(chǎng)景,如果不是最后一個(gè)場(chǎng)景,該場(chǎng)景分配的目標(biāo)比特?cái)?shù)為其中B2,total為第二次編碼中整個(gè)視頻序列分配的目標(biāo)比特?cái)?shù),
為截止到上一個(gè)場(chǎng)景時(shí),第二次編碼剩余的可用比特?cái)?shù);加上上一場(chǎng)景剩余的比特?cái)?shù)T2,r(i-1),當(dāng)前場(chǎng)景實(shí)際分配的比特?cái)?shù)為若該場(chǎng)景為最后一個(gè)場(chǎng)景,其分配的比特?cái)?shù)為截至到上一個(gè)場(chǎng)景時(shí),第二次編碼剩余的可用比特?cái)?shù);
c2場(chǎng)景的平均比特率和每個(gè)圖像組初始QP的計(jì)算根據(jù)每個(gè)場(chǎng)景分配的目標(biāo)比特?cái)?shù),可以估計(jì)出場(chǎng)景i的平均比特率公式
Ns(i)為場(chǎng)景的幀長(zhǎng)度,B1,total為第一次編碼中整個(gè)視頻序列分配的目標(biāo)比特?cái)?shù),bit_rate為設(shè)定的編碼碼率;當(dāng)初始化圖像組時(shí),設(shè)置場(chǎng)景i下溢的初始值在第一次編碼中,如果PSNR1,S(i,Starts(i))>(PSNR1,S(i-1)+2),則QPst=Paveqp+2即如果第i個(gè)場(chǎng)景起始幀的PSNR值大于上一個(gè)場(chǎng)景中PSNR的平均值與2之和,則該圖像組的初始QP值為上一場(chǎng)景所有P幀QP的平均值加上2,如果PSNR1,S(i,Starts(i))<(PSNR1,S(i-1)-2),則QPst=Paveqp-2,對(duì)于其他情況QPst=Paveqp,其中PSNR1,S(i-1)為第一次編碼中上一場(chǎng)景亮度PSNR的平均值,Paveqp為第二次編碼中上一場(chǎng)中所有P幀的平均量化步長(zhǎng)。
權(quán)利要求3如權(quán)利要求2所述的一種基于場(chǎng)景的AVS二次編碼碼率控制方法,其特征在于所述步驟d包括
d1無B幀時(shí)的幀級(jí)目標(biāo)比特分配從該場(chǎng)景第二個(gè)P幀開始,對(duì)應(yīng)P幀分配的目標(biāo)比特?cái)?shù)為
其中為第一次編碼時(shí)該場(chǎng)景第j幀到該場(chǎng)景結(jié)束消耗的比特?cái)?shù),
為第一次編碼時(shí)當(dāng)前幀生成的比特?cái)?shù)在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,B2,scene_left(i,j)為第二次編碼中編碼第j幀時(shí)該場(chǎng)景剩余的比特?cái)?shù);可以估計(jì)出該幀的比特率
其中為第一次編碼中該場(chǎng)景出去I幀和第一個(gè)P幀剩余的比特?cái)?shù);
d2有B幀時(shí)的幀級(jí)目標(biāo)比特分配將待編碼的P幀與其上一個(gè)P幀之間的B幀進(jìn)行BP幀組合打包,共計(jì)(Bno+1)幀,Bno為連續(xù)插入B幀的數(shù)目,在第二次編碼中假設(shè)第i個(gè)場(chǎng)景當(dāng)前P幀的幀號(hào)為k,統(tǒng)計(jì)該BP幀組合在第一次編碼過程中消耗的比特?cái)?shù)為此時(shí)P幀分配的比特?cái)?shù)為
為第一次編碼時(shí)當(dāng)前BP幀組合在當(dāng)前場(chǎng)景中剩余的比特?cái)?shù)中所占的比例,θ為常數(shù),取值為0.7,可以估計(jì)出該P(yáng)幀的比特率公式為
其中表示該場(chǎng)景在第二次編碼時(shí)I幀和第一個(gè)P幀及其間的B幀對(duì)應(yīng)于第一次編碼時(shí)消耗的比特?cái)?shù),此時(shí),B幀的估計(jì)比特率為
d3結(jié)合線性跟蹤理論的幀級(jí)目標(biāo)比特分配結(jié)合線性跟蹤理論,在第i個(gè)場(chǎng)景中分配給第j個(gè)P幀的目標(biāo)比特?cái)?shù)為
其中Tbl(i,j)為該幀目標(biāo)緩沖級(jí),Bc(i,j)表示編碼第j幀以后虛擬緩沖區(qū)的占用情況,該P(yáng)幀比特分配為其中β為常數(shù),無B幀時(shí),取值為0.5,當(dāng)有B幀時(shí),取值為0.7。
全文摘要
本發(fā)明涉及一種基于場(chǎng)景的AVS二次編碼碼率控制方法。本發(fā)明公開了一種基于場(chǎng)景的AVS二次編碼碼率控制方法,保證編碼重建視頻圖像的穩(wěn)定性,避免運(yùn)動(dòng)劇烈或場(chǎng)景切換時(shí)出現(xiàn)的馬賽克現(xiàn)象。其技術(shù)方案的要點(diǎn)是a.對(duì)視頻序列進(jìn)行第一次編碼,完成場(chǎng)景檢測(cè)及相關(guān)統(tǒng)計(jì);b.進(jìn)行第二次編碼,如果切換場(chǎng)景則進(jìn)入步驟c,否則進(jìn)入步驟d;c.對(duì)新劃分的圖像組層進(jìn)行目標(biāo)比特?cái)?shù)分配,估計(jì)該場(chǎng)景的平均比特率并計(jì)算每個(gè)圖像組的初始QP;d.對(duì)每幀特性進(jìn)行目標(biāo)比特分配,估計(jì)該幀的比特率;e.更新緩沖區(qū)占用值和下溢值。本發(fā)明根據(jù)視頻序列的相關(guān)統(tǒng)計(jì),動(dòng)態(tài)分配不同幀的編碼比特?cái)?shù),避免馬賽克現(xiàn)象,適用于對(duì)視頻信號(hào)的編碼。
文檔編號(hào)H04N7/32GK101511026SQ20091030050
公開日2009年8月19日 申請(qǐng)日期2009年2月23日 優(yōu)先權(quán)日2009年2月23日
發(fā)明者超 曾, 展華益, 徐錦亮 申請(qǐng)人:四川長(zhǎng)虹電器股份有限公司