• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      低復(fù)雜度的HEVC碼率控制算法

      2016-08-22 09:48:24王亦群
      電視技術(shù) 2016年7期
      關(guān)鍵詞:比特率碼率控制算法

      王亦群,楊 靜

      (上海海事大學(xué) 信息工程學(xué)院,上?!?01306)

      ?

      低復(fù)雜度的HEVC碼率控制算法

      王亦群,楊靜

      (上海海事大學(xué)信息工程學(xué)院,上海201306)

      針對HEVC視頻編碼中幀層比特分配和率失真模型參數(shù)自適應(yīng)更新,提出了一種改進(jìn)的碼率控制算法。該算法引入牛頓法來自適應(yīng)更新率失真模型的參數(shù);同時提出一種幀層復(fù)雜度度量方法,利用圖像自身的內(nèi)容特性來調(diào)整幀層比特分配;最后在編碼過程中選擇合適的量化參數(shù)。實驗結(jié)果表明:與參考算法比較,該算法能大大降低計算復(fù)雜度,同時保持良好的碼率控制性能,對含有場景突變的視頻改進(jìn)效果尤為明顯。

      HEVC;碼率控制;牛頓法;場景切換;計算復(fù)雜度

      隨著高清、超高清視頻的大量涌現(xiàn),對網(wǎng)絡(luò)帶寬提出了更高的要求。因此,國際電聯(lián)(ITU-T)、國際標(biāo)準(zhǔn)化組織(ISO)、國際電工委員會(IEC)聯(lián)合發(fā)起聯(lián)合視頻編碼小組(Joint Collaborative Team on Video Coding,JCT-VC)制定下一代的視頻編碼標(biāo)準(zhǔn)HEVC(High Efficiency Video Coding),相比H.264/AVC視頻壓縮標(biāo)準(zhǔn)有顯著提高,在相同的視覺質(zhì)量下能節(jié)省約50%的比特率[1]。在實時傳輸中,如果編碼器輸出的碼流比特數(shù)過大,會導(dǎo)致輸出緩沖區(qū)上溢,進(jìn)而使視頻傳輸延遲、出現(xiàn)視頻序列間斷等情況;而如果碼流比特太小,會導(dǎo)致視頻質(zhì)量下降。為了使編碼輸出的比特率與通信帶寬相適應(yīng)和得到更好的視頻圖像質(zhì)量,需要使用碼率控制算法根據(jù)帶寬動態(tài)地調(diào)整編碼器的編碼參數(shù)。

      目前HEVC碼率控制策略是H0213算法[2]和基于R-λ模型的K0103算法[3],其他的碼率控制策略對這些模型做了一些改進(jìn)。2012年的JCT-VC會議上,Li Bin提出基于R-λ模型的K0103提案,能獲得較好的編碼質(zhì)量,且較好地控制碼率精度,然而K0103提案中幀層比特分配并沒有考慮不同視頻的內(nèi)容特性。碼率控制算法應(yīng)該根據(jù)不同的視頻內(nèi)容特性,來合理地為編碼器選擇編碼參數(shù),使實際編碼碼率與目標(biāo)碼率盡量保持一致。一些碼率控制算法使用差分直方圖度量圖像復(fù)雜度,對于不同的視頻序列,閾值的選擇具有不確定性[4];史久根等人提出復(fù)雜度測度因子由加權(quán)MAD值和閾值共同決定,也要進(jìn)行閾值選擇[5];還有人提出基于像素的相異度量來度量圖像復(fù)雜度,利用了幀層像素的標(biāo)準(zhǔn)差和均值,計算量較大[6]。面對含有場景切換的視頻編碼情況,胡乾乾等人提出及時終止當(dāng)前GOP,并且插入I幀[7],這種編碼方式對于場景切換頻繁的序列,可以有效提高視頻重現(xiàn)質(zhì)量,但是插入I幀往往使實際碼率的匹配度降低。

      因此,本文針對HEVC率失真模型α和β參數(shù)的更新和幀層碼率控制的比特分配,提出了一種改進(jìn)的低復(fù)雜度HEVC碼率控制算法。首先利用牛頓法進(jìn)行率失真模型參數(shù)的自適應(yīng)更新,能夠大大降低計算復(fù)雜度。同時,利用圖像復(fù)雜度度量方法對幀層比特進(jìn)行自適應(yīng)分配,獲得較好的視頻重現(xiàn)質(zhì)量。

      1 改進(jìn)的HEVC碼率控制算法

      1.1自適應(yīng)更新率失真模型參數(shù)

      1.1.1率失真模型

      目前,HEVC參考軟件HM中采用的是Li Bin等人提出的基于R-λ模型的碼率控制算法[8]。其中λ是拉格朗日乘子,表示為率失真曲線的斜率,R-λ模型如下

      (1)

      式中:α和β是和編碼視頻有關(guān)的參數(shù),可以隨著編碼過程不斷更新;R是當(dāng)前編碼幀或編碼單元的目標(biāo)比特;D(R)是跟碼率R有關(guān)的編碼失真;C和K是兩個與編碼失真有關(guān)的參數(shù)。

      JCTVC-K0103采用梯度下降法來更新模型參數(shù),其計算過程復(fù)雜,因此本文引入牛頓法來進(jìn)行參數(shù)更新。

      1.1.2使用牛頓法自適應(yīng)更新模型參數(shù)

      牛頓法用于最優(yōu)化問題的基本思想是:在極小點附近通過對目標(biāo)函數(shù)做二階泰勒展開,求使目標(biāo)函數(shù)一階導(dǎo)為零的點,即極小點的估計值[9]??紤]最簡單的一維情況,假若目標(biāo)函數(shù)為f(x);初始迭代點為x0;其牛頓法的迭代公式為式(2)。牛頓法具有二階收斂性,在二階導(dǎo)數(shù)的作用下,運(yùn)算更加精確、快速。

      (2)

      式中:xn和xn+1分別為第n次和第n+1次的迭代點;f′(xn)是在xn點處目標(biāo)函數(shù)的一階導(dǎo)數(shù);f″(xn)是在xn點處目標(biāo)函數(shù)的二階導(dǎo)數(shù)。在提案JCTVC-K0103中R-λ模型的α和β參數(shù)更新是基于梯度下降法實現(xiàn)的,使用式(3)和(4)實現(xiàn)的,其計算復(fù)雜度較高。

      αnew=αold+δα·(lnλreal-lnλcomp)·αold

      (3)

      βnew=βold+δβ·(lnλreal-lnλcomp)·lnbpp

      (4)式中:αold和βold均為前一個迭代點的率失真模型參數(shù);αnew和βnew都是當(dāng)前迭代點的率失真模型參數(shù);δα和δβ分別是率失真模型中參數(shù)α和參數(shù)β的迭代步長;bpp是每像素消耗比特數(shù);λreal是碼率分配算法產(chǎn)生的拉格朗日乘子;λcomp是編碼過程中實際的比特數(shù),通過式(1)計算得出的拉格朗日乘子。本文使用牛頓法對率失真模型參數(shù)進(jìn)行更新,計算方法更加簡單。在已知αold,βold,bpp和λreal的情況下,根據(jù)式(1)可以得出實際的λreal值與計算的λcomp值,用式(5)和(6)來更新α和β參數(shù)

      αnew=αold+αold·(lnλreal-lnλcomp)

      (5)

      βnew=βold+(lnλreal-lnλcomp)/lnbpp

      (6)

      使用牛頓法更新α和β參數(shù)的方法推導(dǎo)如下,目標(biāo)函數(shù)e2為實際的λreal值與計算的λcomp值間的平方誤差,用式(7)表示

      e2=(lnλreal-lnλcomp)2=(lnλreal-lnα-β·lnbpp)2

      (7)

      并對lnα和β分別求一階導(dǎo)和二階導(dǎo),得出式(8)和(9)

      (8)

      (lnbpp)2

      (9)

      利用牛頓法進(jìn)行迭代,根據(jù)式(2)可得式(6)和式(10)。最后將式(10)取e指數(shù),接著進(jìn)行泰勒展開,忽略其二階項及高階項,可得式(5)。

      lnαnew=lnαold+lnλreal-lnλcomp

      (10)

      梯度下降法一般會比牛頓法迭代的次數(shù)更多,又需要考慮每次迭代的步長,步長過小則迭代次數(shù)多,步長過大易產(chǎn)生振蕩效果。使用牛頓法既不需要考慮步長,而且迭代次數(shù)又少,計算復(fù)雜度較低。

      1.2自適應(yīng)幀層目標(biāo)比特分配

      提案JCTVC-K0103算法在幀層采用分級分配比特的方法,圖像復(fù)雜度用權(quán)重ω表示,按照權(quán)重所占的比例進(jìn)行分配比特,但該算法未考慮圖像自身的紋理復(fù)雜度和運(yùn)動特性。因此,本文提出了一種基于像素統(tǒng)計的幀層復(fù)雜性度量方法,并將視頻序列分為兩種不同的編碼情況,進(jìn)行幀層比特分配。在給定目標(biāo)比特率Rtar和幀率f的情況下,K0103算法由式(11)分配幀層比特數(shù)

      (11)

      式中:TCurrPic是當(dāng)前幀的分配比特數(shù);TGOP是當(dāng)前GOP的分配比特數(shù);CodedGOP為GOP中已經(jīng)編碼的比特數(shù);ωCurrPic是當(dāng)前幀的分配比特權(quán)重;ωi是所有GOP中所有未編碼圖像分配比特的權(quán)重。

      改進(jìn)的幀層圖像復(fù)雜度度量方法是使用基于像素統(tǒng)計的方法,先求出前后兩幀圖像中所有像素點的亮度差的平均值,然后再平方得到復(fù)雜度因子B(n),用式(12)表示

      (12)

      因此,幀層比特分配調(diào)整為式(13)

      (13)

      式中:pn(i,j)和pn-1(i,j)分別為第n幀與第n-1幀(i,j)位置的亮度分量值;M和N分別是圖像的寬和高;TCurrPic是當(dāng)前幀的目標(biāo)比特;TGOP是當(dāng)前GOP的目標(biāo)比特;Bi是未編碼圖像的復(fù)雜度因子;BCurrPic是當(dāng)前幀的復(fù)雜度因子;CodedGOP是當(dāng)前GOP中已編碼比特數(shù)。

      圖1 合成序列min720各幀復(fù)雜度變化趨勢

      當(dāng)測試序列為連續(xù)視頻序列時,幀層比特分配策略采用式(12)和(13),利用視頻內(nèi)容特性來分配比特,能更好地反映視頻的真實情況。

      當(dāng)測試序列含有場景突變時,首先在場景切換處及時終止GOP層編碼,同時調(diào)整率失真模型參數(shù),將α和β初始化分別為3.200 3和-1.367。然后,場景切換幀按I幀編碼,場景切換的下一幀仍按P幀編碼,它們幀層的比特分配策略與上述情況相同。

      1.3量化參數(shù)的選擇

      幀層比特編碼的實現(xiàn)需要確定拉格朗日乘數(shù)λ的值,然后根據(jù)率失真模型(RDO)選擇包括量化參數(shù)QP在內(nèi)的合適編碼參數(shù)。QP的編碼過程分為兩種情況:1)當(dāng)測試序列為連續(xù)視頻序列時,利用前一編碼幀的比特反饋值μ及時調(diào)整當(dāng)前幀的量化參數(shù)QP。前一幀的實際編碼比特與目標(biāo)比特的比值作為調(diào)整因子μ,由式(14)計算得到,再根據(jù)μ對當(dāng)前幀的QP按式(15)進(jìn)行微調(diào)整。2)當(dāng)測試序列含有場景突變時,先將場景切換幀的量化參數(shù)QP加2,接著再利用調(diào)整因子μ按式(15)選擇QP的大小。

      (14)

      (15)式中:μ為前一幀的比特反饋值;Ri(j-1)是前一幀的實際比特數(shù);Ti(j-1)是前一幀的目標(biāo)碼率;QP為量化參數(shù)。

      2 仿真結(jié)果與分析

      本文提出的碼率控制算法是在參考軟件HM10.0按低延時IPPP的配置下實現(xiàn)的。實驗中用到3個含有場景切換的測試序列和6個連續(xù)視頻序列。3個含有場景突變的視頻序列均為160幀,由不同序列拼接組成mix1 080,mix720,mix480序列。BasketballDrill,Kimono,Cactus和ParkScene,分辨率為1 920×1 080,幀率是50 f/s,各40幀組成mix1 080序列。FourPeople,KristenAndSara,Johnny和Vidyo1,分辨率為1 280×720,幀率是60 f/s,各40幀組成mix720序列。PartyScene,BQMall,BasketballDrill和RaceHorses,分辨率為832×480,幀率是30 f/s,各40幀組成mix480序列。這些序列都含有復(fù)雜的場景,如圖1的第41、第81和第121為場景切換幀。6個連續(xù)視頻序列分別是BQTerrace和Tennis是分辨率為1 920×1 080的100幀視頻序列,F(xiàn)ourPeople和Johnny是分辨率為1 280×720的100幀視頻序列,BQMall和BasketballDrill是分辨率為832×480的100幀視頻序列。本文以HEVC Call for Proposal(CFP)中規(guī)定的碼率作為碼率控制技術(shù)的目標(biāo)碼率[10],使用這些目標(biāo)碼率值進(jìn)行仿真。

      為了驗證使用牛頓法的碼率控制算法的編碼性能,對6個不同分辨率及運(yùn)動特性的視頻進(jìn)行仿真,結(jié)果如表1所示。從表1中可知,使用牛頓法可以在比特精確度和PSNR與K0103算法大致相同的情況下,大大減少計算復(fù)雜度。與K0103算法相比,最多能節(jié)省6.09%的時間。

      表1牛頓法的碼率控制算法與K0103碼率控制算法編碼結(jié)果比較

      測試序列目標(biāo)比特率/(kbit·s-1)牛頓法K0103算法牛頓法與K0103算法比實際比特率/(kbit·s-1)比特率誤差/%PSNR/dB時間/s實際比特率/(kbit·s-1)比特率誤差/%PSNR/dB時間/s比特率精度提高/%ΔPSNR/dB時間節(jié)省/%BQTerrace(1080p)10000100200.20035.1054875.410012.080.12135.2358433.7-0.079-0.136.0970006986.490.19334.6554543.46997.330.03834.7356544.6-0.155-0.083.54Tennis(1080p)100009998.60.01441.3585121.39980.980.19041.4185919.80.176-0.060.9370007011.740.16840.5876687.86973.370.38040.6276834.90.213-0.040.19FourPeople(720p)40003995.570.11142.8221880.33986.440.33942.7622565.70.2280.063.0420002012.520.62641.7518245.51997.880.10641.6419102.1-0.5200.114.48Johnny(720p)40003978.380.54043.1025154.33984.240.39443.1025881.1-0.1460.002.8120002007.310.36542.2819810.81997.730.11342.2220058.2-0.2520.061.23BQMall(480p)20001993.620.31935.1923348.11999.20.04035.2423928.7-0.279-0.052.4312001202.520.21033.0822335.91199.260.06233.0922805.9-0.148-0.012.06BasketballDrill(480p)20002005.700.28538.2924470.92000.700.03538.1824567.2-0.2500.110.3912001205.690.47436.3023769.61200.990.08336.1824010.2-0.3920.121.00平均值—————————-0.1340.011.38

      為了驗證改進(jìn)的低復(fù)雜度碼率控制算法的編碼性能,對3個含有場景突變的視頻序列進(jìn)行仿真,將實驗結(jié)果與胡乾乾的碼率控制算法(Hu算法)[7]以及K0103碼率控制算法進(jìn)行比較,仿真結(jié)果如表2所示。從表2可知,本文算法與Hu算法相比,比特精確度大大提高,高達(dá)2.54%;大多數(shù)情況下,測試序列的峰值信噪比PSNR也均有提高。然而采用了改進(jìn)的幀層分配比特方法與牛頓法的結(jié)合,增加了復(fù)雜度因子的計算,使計算復(fù)雜度與Hu算法相比有所提高。本文算法與K0103算法相比,在比特精確度和PSNR大致相同的基礎(chǔ)上,大大降低了計算復(fù)雜度,平均編碼時間節(jié)省10.60%。

      圖2是mix720測試序列在目標(biāo)碼率為512 kbits/s時,每一幀的PSNR對比圖。從圖2中可知,由于在幀層碼率分配時考慮了圖像復(fù)雜度,本文算法較其他兩種算法,有較好的碼率穩(wěn)定性,PSNR的方差更小,視覺感受更加平滑。圖2中,本文算法、Hu算法與K0103算法的峰值信噪比PSNR的標(biāo)準(zhǔn)差分別是1.309,1.899,2.142;均值分別為38.12,37.78,37.79。

      表2本文碼率控制算法與Hu算法及JCTVC-K0103的碼率控制算法編碼結(jié)果比較

      測試序列目標(biāo)比特率/(kbit·s-1)本文算法與Hu算法比與K0103算法比實際比特率/(kbit·s-1)比特率誤差/%PSNR/dB時間/s比特率精度提高/%ΔPSNR/dB時間節(jié)省/%比特率精度提高/%ΔPSNR/dB時間節(jié)省/%mix10801000010002.850.02938.22830090.255-0.05-2.4990.2230.0108.89470006993.700.09037.38748320.5220-2.1040.159010.34730003004.550.15234.7158765-0.0870.19-6.7560.4100.11011.44020002007.050.35233.4054552-0.2620.24-7.0410.5560.2208.590mix72040004013.660.34143.27257876.2000.31-2.3440.711-0.0800.10620001979.971.00241.99221181.1110.25-1.401-0.637-0.15014.41510001001.990.19940.311869313.2390.71-8.7671.0920.3705.417512513.800.35238.121673010.2300.34-8.5360.6680.33013.263mix48020002001.280.06435.8517534-0.0560.05-0.783-0.0500.26012.13612001200.340.02833.50146840.098-0.17-4.0080.1220.14013.066512511.660.06629.66109090.2680.24-9.0700.3380.44014.698384394.012.60728.449736.1-1.0650.13-3.478-2.1220.46014.880平均值—————2.5380.187-4.7320.1230.17610.604

      圖2 mix720序列在目標(biāo)碼率為512 kbit/s時的Y-PSNR對比圖

      3 結(jié)論

      本文首先分析了K0103碼率控制算法的率失真模型,然后針對率失真模型參數(shù)α和β更新算法較繁瑣以及幀層比特分配未考慮圖像復(fù)雜度,本文提出了一種改進(jìn)的低復(fù)雜度碼率控制算法。實驗結(jié)果證明了利用了牛頓法更新模型參數(shù),能夠大大降低計算復(fù)雜度,獲得較好的編碼效果;幀層復(fù)雜度度量方法能夠利用視頻自身的內(nèi)容特性,自適應(yīng)分配幀層比特,最終獲得更平滑的視頻質(zhì)量。

      [1]SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the high efficiency video coding(HEVC) standard[J]. IEEE transactions on circuits and systems for video technology, 2012, 22(12):1649-1668.

      [2]CHOI H, NAM J, YOO J, et al. Rate control based on unified RQ model for HEVC[C]//Proc. JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting. [S.l.]:JCTVC,2012:56-62.

      [3]LI B, LI H, LI L, et al. Rate control by R-lambda model for HEVC[C]//Proc. JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting. Shanghai:2012:102-107.

      [4]SU L, GUO Y, FAN C, et al. A novel H.264 rate control algorithm for scene transition video[C]//Proc. Automatic Control and Artificial Intelligence (ACAI 2012). Xiamen:IET,2012:220-223.

      [5]史久根,許林,張超. 一種場景自適應(yīng)的H.264幀層碼率控制算法[J]. 計算機(jī)應(yīng)用研究, 2010, 27(5):1968-1969.

      [6]TU Q,GUO X,MEN A, et al. A frame-level HEVC rate control algorithm for videos with complex scene over wireless network[C]//Proc. 2014 IEEE 79th Vehicular Technology Conference(VTC Spring). Seoul:IEEE, 2014:1-5.

      [7]胡乾乾,沈禮權(quán),趙振軍. 基于場景切換的HEVC碼率控制算法[J]. 電視技術(shù), 2015, 39(5):1-3.

      [8]LI B,LI H,LI L,et al. λ domain rate control algorithm for high efficiency video coding[J]. IEEE transactions on image processing,2014,23(9):3841-3854.

      [9]Newton′s method in optimization[EB/OL]. [2015-12-10]. https://en.wikipedia.org/wiki/Newton%27s_method_in_optimization.

      [10]WIEGAND T,OHM J R,SULLIVAN G J, et al. Special section on the joint call for proposals on High Efficiency Video Coding (HEVC) standardization[J]. IEEE transactions on circuits and systems for video technology, 2010, 20(12):1661-1666.

      責(zé)任編輯:時雯

      Low complexity HEVC rate control algorithm

      WANG Yiqun,YANG Jing

      (CollegeofInformationEngineering,ShanghaiMaritimeUniversity,Shanghai201306,China)

      In view of HEVC video coding frame-layer bits allocation and parameters of rate-distortion model adaptively updated,an improved rate control algorithm is proposed. It adaptively updates rate-distortion model parameters by Newton method. In the meanwhile,it adopts a frame-layer complexity metric method and takes full advantage of image content features to adjust frame-layer bits allocation. Finally, the appropriate quantization parameter is selected during the encoding process. The results show that:compared with the reference algorithm, the proposed algorithm greatly reduces the computational complexity and achieves a good rate control performance, particularly for video sequences containing scene changes.

      HEVC;rate control;newton method;scene change;computational complexity

      TN919.81

      ADOI:10.16280/j.videoe.2016.07.002

      國家自然科學(xué)基金項目(61401270)

      2016-01-21

      文獻(xiàn)引用格式:王亦群,楊靜.低復(fù)雜度的HEVC碼率控制算法[J].電視技術(shù),2016,40(7):6-10.

      WANG Y Q,YANG J.Low complexity HEVC rate control algorithm[J].Video engineering,2016,40(7):6-10.

      猜你喜歡
      比特率碼率控制算法
      基于深度學(xué)習(xí)的有源智能超表面通信系統(tǒng)
      基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
      基于ARM+FPGA的模塊化同步控制算法研究
      基于多個網(wǎng)絡(luò)接口的DASH系統(tǒng)設(shè)計與實現(xiàn)
      相同比特率的MPEG視頻雙壓縮檢測*
      基于場景突變的碼率控制算法
      X264多線程下碼率控制算法的優(yōu)化
      一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
      多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      宁国市| 江油市| 上杭县| 霍林郭勒市| 阜平县| 吉木乃县| 蒙自县| 安义县| 郑州市| 婺源县| 崇文区| 沈丘县| 东海县| 开封县| 休宁县| 三原县| 岢岚县| 肃南| 临海市| 塔河县| 安阳市| 平南县| 嘉禾县| 绍兴县| 汉寿县| 民权县| 德格县| 竹北市| 施秉县| 介休市| 松溪县| 鞍山市| 禄丰县| 扬州市| 米脂县| 华蓥市| 阜新市| 伊通| 阳春市| 通道| 金昌市|