999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向H.264/AVC的低時延碼率控制算法

2013-04-03 00:13:30張寶薇張春澤

張寶薇,王 婷,張春澤,王 猛

(中國空間技術(shù)研究院503所,北京100086)

碼率控制是視頻編碼技術(shù)一個重要研究內(nèi)容,其主要功能是匹配信源視頻編碼速率與信道傳輸速率,在給定的信道傳輸速率下得到更好的圖像質(zhì)量以及盡量降低發(fā)送端與接收端的時延。目前大多數(shù)的碼率控制算法主要側(cè)重于改善圖像質(zhì)量、提高峰值信噪比,而對算法在時延方面的影響考慮得較少。很多已存在算法如JVT-H017算法是達(dá)到多幀平均意義上的穩(wěn)定碼速率控制,因此,連續(xù)各幀之間的碼率大小波動可能很大,發(fā)送緩存區(qū)容量不得不較大,以儲存好幾幀數(shù)據(jù),導(dǎo)致緩存時延在幾百毫秒以上[1-3],這就降低了視頻實時通信的時效性。所以,為提高通信的實時性,研究低時延碼率控制方法很有必要。

H.264/AVC是ITU-T/ISO共同研究發(fā)布的高度壓縮數(shù)字視頻編解碼器標(biāo)準(zhǔn)。通過該標(biāo)準(zhǔn),在同等圖像質(zhì)量下的壓縮效率比以前的標(biāo)準(zhǔn)提高了2倍以上,因此,H.264被普遍認(rèn)為是最有影響力的行業(yè)標(biāo)準(zhǔn)。筆者基于H.264/AVC標(biāo)準(zhǔn)提出了一種低時延的碼率控制算法,該算法綜合了基于圖像復(fù)雜度分析的前向碼率控制技術(shù)和基于緩沖區(qū)容量反饋的后向碼率控制技術(shù),在H.264/ AVC分層編碼過程中進(jìn)行分層的精細(xì)化碼率控制(宏塊層、幀層和圖像組層),使碼率波動最小化,減少跳幀次數(shù),同時較好地保持了圖像質(zhì)量。

1 算法原理

緩沖區(qū)控制、獲得輸出碼率的措施、碼率與輸出圖像質(zhì)量是碼率控制算法設(shè)計過程中通常需要考慮到的因素。其中緩沖區(qū)控制對其引起的緩沖時延的大小起著至關(guān)重要的作用。這是由于緩沖區(qū)越大,承受的碼率波動也就越大,但同時帶來的緩沖時延也越大,即緩沖區(qū)的容量與其引起的緩沖時延大小成正比,也就是發(fā)送緩沖區(qū)內(nèi)碼字多少變化越大時延就越大。所以為降低時延,我們期望緩沖區(qū)內(nèi)的碼字能夠變化平穩(wěn)。而在恒定通信速率場合,發(fā)送緩沖區(qū)內(nèi)碼字多少的變化可使用每幀圖像編碼比特數(shù)的變化衡量。因此我們亦期望每幀圖像的編碼比特數(shù)能夠接近每幀的目標(biāo)比特,只在目標(biāo)比特的附近平穩(wěn)變化。筆者以此為目標(biāo),對低時延碼率控制算法進(jìn)行了研究。

算法基本思想為結(jié)合H.264/AVC標(biāo)準(zhǔn)的編碼特性進(jìn)行分層精細(xì)化碼率控制,分為3層:宏塊層、幀層和圖像組(GOP)層。并且在每層控制時都根據(jù)實際的緩沖區(qū)容量反饋和目標(biāo)碼率預(yù)分配比特數(shù),在宏塊層對碼率控制參數(shù)即量化參數(shù)(QP)進(jìn)行細(xì)調(diào),在幀層對QP進(jìn)行粗調(diào),從而可實現(xiàn)緩沖區(qū)的平穩(wěn)波動。同時,在宏塊層根據(jù)每個宏塊內(nèi)容的復(fù)雜度來分配比特數(shù),對于內(nèi)容簡單的宏塊分配較少的碼率,對于內(nèi)容復(fù)雜的宏塊分配較多的碼率,從而將圖像內(nèi)容與碼率相結(jié)合,獲取更好的圖像編碼質(zhì)量。

筆者的GOP為IPPP結(jié)構(gòu)。設(shè)定一個GOP中的幀數(shù)為GN,一幀圖像宏塊數(shù)為MN,目標(biāo)碼率為B,幀率為R,每幀的目標(biāo)比特數(shù)為BF(BF= B/R)。具體算法如下:

1)為防止發(fā)送緩沖區(qū)的上溢或下溢,每幀開始都先根據(jù)緩沖區(qū)容量反饋判斷是否跳幀或添加冗余。

計算實際編碼比特與目標(biāo)比特的差值ΔB,其初始值為0;

如果ΔB大于閾值T1(T1=1.5×BF)則跳幀,且ΔB=ΔB-BF;

如果ΔB小于閾值T2(T2=0),則添加冗余包,設(shè)置其大小為512 Byte,則ΔB=ΔB+512。

2)GOP層碼率控制。

為每個GOP預(yù)分配的比特數(shù)由BG表示

其中ΔBG表示前一個GOP編碼結(jié)束后預(yù)分配比特數(shù)與實際編碼比特數(shù)的差值。若當(dāng)前GOP為視頻序列的第1個GOP,則ΔBG初始值為0。每個GOP編碼完后對其進(jìn)行更新。

3)幀層碼率控制。

在該層進(jìn)行控制時,需根據(jù)幀編碼類型(I幀或P幀)進(jìn)行區(qū)分。由于I幀是后繼P幀的參考幀,其質(zhì)量直接影響后續(xù)幀。所以為I幀分配較多的比特,而對P幀則分配相對少的比特。目標(biāo)比特數(shù)的預(yù)分配可細(xì)化為兩步:計算目標(biāo)緩沖水平和分配目標(biāo)比特。第1步考慮緩存容量限制;第2步考慮目標(biāo)碼率、幀率以及GOP中剩余可分配的比特等限制。這樣可預(yù)防緩沖區(qū)出現(xiàn)上溢或者下溢的問題。在幀層對QP進(jìn)行粗調(diào),根據(jù)緩沖區(qū)的充盈度以及ΔB確定一個全幀初始的QP值。QP的具體確定方法如下:

①如果當(dāng)前幀為GOP中的第1個I幀,且所述的GOP為第1個GOP,則QPI為根據(jù)B、R以及圖像分辨率得到一個經(jīng)驗值,通常設(shè)置為30。

②如果當(dāng)前幀為GOP中的第1個I幀,且所述的GOP為除第1個GOP外的其他GOP,則QPI根據(jù)ΔBG的正負(fù)以及已編碼完的上一個GOP的平均量化參數(shù)確定,方法如下:

其中為保證圖像質(zhì)量的連續(xù)性,減小量和增大量不宜過大,所以a的取值范圍為[-3,+3]。

③如果當(dāng)前幀為第1個I幀后的第1個P幀,則QPp0的調(diào)整根據(jù)P幀前的第1個I幀的QPI確定,計算公式為

其中t的取值范圍為[-3,+3],△Bmax和△Bmin為期望控制的緩沖區(qū)可容忍的碼率波動的最大值和最小值。

④如果當(dāng)前幀為除第1個P幀之外的其余P幀,其QP由前1幀的skip宏塊數(shù)目確定。這是由于每幀的編碼比特數(shù)的差異大部分是由skip宏塊(量化后為0,無需編碼的宏塊)的數(shù)目差異引起的。而根據(jù)時間相關(guān)性,相鄰2個P幀的skip宏塊數(shù)目相差不多,所以可根據(jù)上1個P幀的skip宏塊數(shù)目,預(yù)測當(dāng)前P幀的實際編碼比特數(shù),通過與目標(biāo)比特數(shù)的比較,調(diào)整QP。具體方法如下:

其中QPL為前1個P幀的初始量化參數(shù)。QPskip為由前1幀由skip宏塊數(shù)SN預(yù)測得到的量化參數(shù),其計算公式為

其中符號「?表示向上取整操作。

4)宏塊層碼率控制。

對于I幀,其宏塊預(yù)分配比特數(shù)BMi由宏塊數(shù)MN和當(dāng)前幀的目標(biāo)比特數(shù)BF決定:

對于P幀,為提高碼率控制算法的編碼性能,筆者在P幀宏塊層根據(jù)圖像內(nèi)容復(fù)雜度分配目標(biāo)比特,此處使用預(yù)測殘差的SAD值來表征宏塊的復(fù)雜度。

先計算復(fù)雜度因子

其中SADi表示宏塊i的復(fù)雜度,其值為對應(yīng)當(dāng)前宏塊的前1幀當(dāng)前位置宏塊的原始值與最佳預(yù)測值的SAD值,j表示當(dāng)前宏塊i所在幀的上1幀中的宏塊。

根據(jù)復(fù)雜度因子c和當(dāng)前幀的目標(biāo)比特BF確定當(dāng)前宏塊i的預(yù)分配目標(biāo)比特數(shù)

對于宏塊層的QP調(diào)整,則要結(jié)合緩沖區(qū)的充盈度以及ΔB來確定量化值調(diào)節(jié)因子q,其計算方法為

其中∑Bmi為已編碼完宏塊的實際比特數(shù)之和,∑BMI為已編碼完宏塊的目標(biāo)比特數(shù)之和。

根據(jù)量化值調(diào)節(jié)因子調(diào)整宏塊量化值,調(diào)節(jié)方式可利用非線性控制理論中的bang-bang最優(yōu)控制原理[4],具體方法如下:第i個宏塊的量化值QPMi為

其中QPF為宏塊所在幀的全幀初始QP,ΔQP(q)為利用q值確定此量化調(diào)整值ΔQP的函數(shù),其曲線方程為:

3 實驗結(jié)果

為評估新算法的性能,在H.264/AVC標(biāo)準(zhǔn)參考軟件JM基礎(chǔ)上,實現(xiàn)了筆者設(shè)計的低時延碼率控制算法。并將其與JVT-H017提案中的碼率控制算法進(jìn)行了對比實驗。測試范圍涵蓋多組標(biāo)準(zhǔn)視頻測試序列和多種目標(biāo)碼率。這里僅列出部分仿真實驗結(jié)果。

圖1和圖2顯示了在目標(biāo)碼率為500幀/s、I幀間隔為125幀、幀率為25幀/s的條件下,動態(tài)比較劇烈、有場景切換的mobile.yuv序列和圖像內(nèi)容比較平穩(wěn)的kettle.yuv序列的編碼比特數(shù)變化曲線。其中橫坐標(biāo)為編碼幀數(shù)(這里僅列出部分幀數(shù)),縱坐標(biāo)為編碼的實際比特數(shù)與預(yù)分配的目標(biāo)比特數(shù)的差值,即發(fā)送緩沖區(qū)累積的數(shù)據(jù)。

圖1 mobile序列編碼比特數(shù)變化曲線Fig.1 The coding bit variety curve for mobile

圖2 kettle序列編碼比特數(shù)變化曲線Fig.2 the coding bit variety curve for kettle

由圖1和圖2可見,筆者算法發(fā)送緩沖區(qū)內(nèi)的變化遠(yuǎn)好于JVT-H017算法所引起的緩沖區(qū)變化情況。筆者算法每幀圖像編碼比特數(shù)的變化非常平穩(wěn),只在目標(biāo)比特的附近進(jìn)行小范圍的波動。對于kettle.yuv序列,經(jīng)測試,波動范圍基本可控制在[-600,1500]字節(jié)以內(nèi),所以讀寫指針的波動最大差值為2100字節(jié),其引起的最大緩沖時延可粗略的計算為:2 100×8/500 =33.6 ms;而JVT-H017算法引起的讀寫指針的差值最大值達(dá)到373 144比特,其對應(yīng)的最大緩沖時延近似為373 144/500=746.288 ms,遠(yuǎn)大于筆者算法。

筆者比較了2種碼率控制算法對編碼性能的影響結(jié)果。表1列出了在300幀/s、400幀/s、500幀/s和600幀/s目標(biāo)碼率下,筆者算法與JVTH017算法的平均PSNR與實際編碼碼率的比較結(jié)果。由此表可見,該算法能夠比較精確地控制碼率,同時,編碼質(zhì)量下降的很少,約為0.1 dB。

表1 二種算法的編碼性能比較結(jié)果Table 1 Comparison of coding performance for the two algorithm s

根據(jù)以上仿真實驗結(jié)果可看出,筆者提出的低時延碼率控制算法,不僅可達(dá)到減少跳幀次數(shù)、降低發(fā)送緩沖區(qū)引起的時延的目的,對視頻編碼質(zhì)量影響也比較小。

4 結(jié)論

為降低視頻傳輸時延,筆者結(jié)合H.264/AVC標(biāo)準(zhǔn)的編碼特性,提出了一種低時延的碼率控制算法。該算法綜合了基于圖像復(fù)雜度分析的前向碼率控制技術(shù)和基于緩沖區(qū)容量反饋的后向碼率控制技術(shù),進(jìn)行分層的精細(xì)化碼率控制(宏塊層、幀層和圖像組層)。其中基于圖像復(fù)雜度分析的前向碼率控制技術(shù),可根據(jù)圖像內(nèi)容合理地分配宏塊層目標(biāo)碼率,從而較好地保持了圖像質(zhì)量;基于緩沖區(qū)容量反饋的后向碼率控制技術(shù),可迅速有效地實現(xiàn)各層碼率預(yù)分配,使實際碼率波動最小化,從而達(dá)到最小化緩存區(qū)容量、減小緩存時延的目的。實驗結(jié)果驗證了筆者算法可使碼率波動最小化,同時較好地保持了圖像質(zhì)量。而且筆者算法可邊采集圖像數(shù)據(jù)邊確定QP,而無需等待全幀圖像數(shù)據(jù)采集完畢再計算QP,從而節(jié)省了約40 ms的輸入等待時延;此外,筆者算法運算量小,避免了大量復(fù)雜的浮點運算,更利于工程實現(xiàn)。

[1]Chen Jen-yeu,Chia-Wen Chiu,Gwo-Long LI,et al. Burst-aware dynamic rate control for H.264/AVC video streaming[J].IEEE Trans on Broadcasting,2011,57 (1):89-93.

[2]Zhou Yi-min,Sun Yu,F(xiàn)eng Zhi-dan,etal.PID-based bit allocation strategy for H.264/AVC rate control[J]. IEEE Trans on Circuits and SystemsⅡ:Express Briefs,2011,58(3):184-188.

[3]Chang Li-chuan,Chih-Hung KUO,Liu Bin-da.A twostage rate control mechanism for RDO-Based H.264/ AVC encoders[J].IEEE Trans on Circuits and Systems for Video Technology,2011,21(5):660-673.

[4]王朝珠,秦化淑.最優(yōu)控制理論[M].科學(xué)出版社,2003.

主站蜘蛛池模板: 国产亚洲欧美日韩在线观看一区二区| 国产成人精品视频一区二区电影| 欧美日韩激情在线| 免费一级α片在线观看| 五月激情婷婷综合| 国产91线观看| 天堂岛国av无码免费无禁网站 | 亚洲人妖在线| 91亚洲精选| 亚洲中文字幕av无码区| 尤物特级无码毛片免费| 综合色婷婷| 国内精品小视频在线| 国产永久无码观看在线| 五月天久久婷婷| AV不卡无码免费一区二区三区| 国产无遮挡裸体免费视频| 国产打屁股免费区网站| 无码福利视频| 亚洲黄色高清| 四虎永久在线精品影院| 国产精品福利一区二区久久| 91久久大香线蕉| 91欧美在线| 99er这里只有精品| 午夜国产理论| 久久9966精品国产免费| 亚洲欧美一区在线| 婷婷丁香在线观看| 九九九精品成人免费视频7| 色老头综合网| 免费无码网站| 日韩国产一区二区三区无码| 91青青视频| 亚洲色图欧美在线| 亚洲男人在线天堂| 国产成人资源| 美女一级免费毛片| 亚洲国产精品无码久久一线| 国产欧美亚洲精品第3页在线| 高清不卡一区二区三区香蕉| 国产精品亚洲欧美日韩久久| 91啪在线| 色悠久久综合| 第九色区aⅴ天堂久久香| 五月天婷婷网亚洲综合在线| 久久国产精品麻豆系列| 国产精品人莉莉成在线播放| 91精品国产自产91精品资源| 青青草原国产精品啪啪视频| 456亚洲人成高清在线| 成人福利免费在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ| 精品人妻AV区| 久久精品女人天堂aaa| 狼友视频国产精品首页| www.亚洲国产| 国产亚洲精久久久久久无码AV| 国产色网站| 国产无码高清视频不卡| 538国产在线| 亚洲二区视频| 91免费片| 亚洲性影院| 欧美一级在线| 国产精品浪潮Av| 亚洲无码91视频| 久久天天躁狠狠躁夜夜2020一| 91麻豆国产精品91久久久| 亚洲乱码在线播放| 国产杨幂丝袜av在线播放| 亚洲色图欧美激情| 欧美日韩国产精品va| 日韩欧美中文字幕在线韩免费 | 91在线播放免费不卡无毒| 在线看免费无码av天堂的| 国产精品视频第一专区| 欧美精品色视频| 亚洲国内精品自在自线官| 亚洲AⅤ波多系列中文字幕| 国产尤物视频在线| 国产精品视频3p|