• 
    

    
    

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

      一種改進的H.264幀層碼率控制算法

      2014-01-16 02:09:47胡建總王怡爽
      江西理工大學(xué)學(xué)報 2014年1期
      關(guān)鍵詞:占用率碼率緩沖區(qū)

      吳 軍,胡建總,謝 斌,王怡爽

      (江西理工大學(xué)信息工程學(xué)院,江西 贛州341000)

      一種改進的H.264幀層碼率控制算法

      吳 軍,胡建總,謝 斌,王怡爽

      (江西理工大學(xué)信息工程學(xué)院,江西 贛州341000)

      針對H.264碼率控制算法在緩沖區(qū)控制上的不足,提出一種改進的幀層碼率控制算法.對緩沖區(qū)進行監(jiān)視,根據(jù)已編碼幀實際緩沖與目標緩沖占用率的情況進行量化參數(shù)的調(diào)整.當實際緩沖偏離目標緩沖較大時,適當增大或者減小量化參數(shù),使編碼后實際緩沖更接近目標緩沖,防止緩沖發(fā)生上溢或下溢.仿真結(jié)果表明,對于紋理簡單的序列,改進的算法在PSNR幾乎不變的情況下,得到了更精確的碼率控制,實際緩沖更接近目標緩沖,緩沖區(qū)占有率更穩(wěn)定.

      H.264;碼率控制;目標緩沖;量化參數(shù)

      0引言

      碼率控制是視頻編碼中很重要的一部分.在各種視頻壓縮編碼標準中,提出了相應(yīng)的碼率控制模型,如MPEG-2的TM5,H.263的TMN8以及MPEG-4的VM5.由于量化參數(shù)同時用在碼率控制和率失真優(yōu)化(RDO),在編碼模式選擇之前要有一個量化參數(shù),量化參數(shù)的計算需在碼率控制部分由平均絕對誤差 (Mean Absolute Difference,MAD)計算得出,而MAD要在編碼后才能得出,這樣就導(dǎo)致一個雞蛋悖論.碼率控制就是解決在一定的編碼資源下,如何按圖像復(fù)雜度的不同分配適當?shù)木幋a資源,使編碼后在圖像質(zhì)量和緩沖區(qū)之間保持一個平衡,既要有合理的編碼圖像質(zhì)量,又要合理控制緩沖區(qū)占用率(Buffer Occupancy),使緩沖區(qū)既不上溢也不下溢,減少編碼延時.

      H.264并沒有規(guī)定碼率控制的標準,不同的應(yīng)用場合需要不同的碼率控制方法,如針對快速運動場景和慢運動場景、場景切換、人眼視覺特性、前景區(qū)域和背景區(qū)域、B幀的存在情況等等.目前,針對H.264視頻壓縮編碼標準,眾多學(xué)者提出了相應(yīng)的碼率控制方案.其中經(jīng)典的有馬思偉博士提出的基于二次編碼的碼率控制提案JVT-F086[1],Li Z G等人提出的基于線性預(yù)測模型的分層碼率控制提案JVT-G012[2],都取得了比較好的碼率控制效果.除此之外,還有JVT-H016,JVT-W042等相應(yīng)的碼率控制提案.

      大多針對碼率控制算法的改進都是基于對圖像復(fù)雜度的預(yù)測方法上,如文獻[3]提出采用APIBP和PSNR的加權(quán)來預(yù)測圖像復(fù)雜度;文獻[4]采用BH(Block Histogram Difference)計算圖像復(fù)雜度,取得了一定的效果;楊曉琴等人利用衡量圖像復(fù)雜度[5-10]的方式作改進,并得到了一定的碼率控制效果;Jiang M等人利用圖像相對復(fù)雜度[11-12]對其進行比特分配,從而得到更精確的幀層和基本單元層碼率控制.

      本文針對緩區(qū)控制的不足,對其進行改進.首先實時監(jiān)控緩沖區(qū)占用率,然后根據(jù)緩沖區(qū)情況進行量化參數(shù)的調(diào)整,最后通過實驗驗證該算法在保持圖像質(zhì)量幾乎不變的情況下可以獲得更好的緩沖區(qū)控制.

      1 G012中的碼率控制策略

      1.1 碼率控制算法中的漏桶模型

      由于帶寬的限制,編碼器需要合理控制緩沖區(qū)占用度,使編碼后輸入到緩沖區(qū)的數(shù)據(jù)、緩沖區(qū)本身占有率、緩沖區(qū)數(shù)據(jù)輸出能力三者之間要有一個平衡度,即編碼每幀后緩沖區(qū)既不上溢也不下溢.如果上溢,則丟失數(shù)據(jù),將影響編碼后的圖像質(zhì)量;如果下溢,則影響在實時視頻通信中的解碼端工作.碼率控制模塊和緩沖區(qū)之間的關(guān)系如圖1所示.由圖1可知,緩沖區(qū)連接在編碼端和信道之間,相當于一個數(shù)據(jù)緩沖區(qū),編碼端不斷的往緩沖區(qū)輸入編碼數(shù)據(jù),而緩沖區(qū)也按一定的數(shù)據(jù)量向信道傳輸編碼比特.

      圖1 碼率控制基本原理

      H.264視頻編碼標準的碼率控制策略JVT-G012把緩沖區(qū)看做為一個漏桶模型,數(shù)學(xué)模型如下:

      其中,Bc(nj+1)為編碼一幀后實際緩沖的大小,Bc(n0)為初始緩沖值,A(nj)為編碼每幀后產(chǎn)生的實際比特數(shù),u(uj)為幀率,F(xiàn)r為帶寬.其原理為:緩沖區(qū)尺寸固定,設(shè)定初始緩沖,編碼每幀后產(chǎn)生的實際比特輸入到緩沖區(qū),同時緩沖區(qū)向信道按一定的速度傳輸數(shù)據(jù),這樣,保證編碼過程中輸入到緩沖和由緩沖輸出的數(shù)據(jù)保持一個平衡,使緩沖既不滿也不為空,整個序列編碼完后緩沖為初始緩沖大小.

      1.2 碼率控制中的比特分配

      JVT-G012[2]與JVT-H017[13]采用由緩沖狀況和剩余比特加權(quán)的方法對每一幀分配目標比特,分別由緩沖占用率和剩余比特計算其應(yīng)分配的比特,再利用兩者加權(quán)的方式確定應(yīng)該分配給該幀的目標比特.由于第一個P幀采用初始QP編碼,編碼完第一個P幀后緩沖定義為:

      之后編碼各P幀后的目標緩沖如下:

      Btarget(nj)為編碼當前幀時前一幀的目標緩沖,NP為P幀數(shù)目.最后,由緩沖區(qū)占用率和剩余比特兩者的加權(quán)確定分配給該幀的比特為:

      其中,Tr為剩余比特,Nr為剩余未編碼的幀,u(nj)為帶寬,F(xiàn)r為幀率.(Btarget(nj)-Bc(nj))為實際緩沖和目標緩沖之差,μ和ε為常數(shù),其值由B幀存在的情況確定.由于比特分配是采用加權(quán)的預(yù)測方式,因此是一種近似的計算,實際編碼過程中目標比特和實際比特不一致.最后對得到的目標比特進行限制:

      其中,L(nj)和U(nj)分別為分配比特的下界和上界,κ為常數(shù),f?(nj)為最后確定分配的比特.

      1.3 G012碼率控制算法的不足

      G012碼率控制算法沒有設(shè)計如何監(jiān)視緩沖狀況,如果在編碼當前幀之前緩沖占用率已經(jīng)比較高,而當前幀又是復(fù)雜度比較高的幀,則在編碼后緩沖區(qū)可能會很大程度地偏離目標緩沖甚至發(fā)生益出的危險,將丟失已編碼的數(shù)據(jù).因此,當發(fā)現(xiàn)實際緩沖偏離目標緩沖較大時,應(yīng)適當調(diào)整量化參數(shù).

      圖2所示為QCIF 4:2:0格式的 “carphone”序列在幀率為10幀/s,序列結(jié)構(gòu)為IPPP……,目標比特率為64 kbps下編碼后的緩沖區(qū)狀況.由圖可知,在第8幀左右,編碼后實際緩沖遠遠偏離了目標緩沖,而且已經(jīng)發(fā)生上溢,緩沖區(qū)最大尺寸為25000 bit,這時可能會導(dǎo)致數(shù)據(jù)丟失,從而影響編碼圖像質(zhì)量.因此,控制緩沖占用率是碼率控制很重要的一個目標.碼率控制要保證編碼后緩沖區(qū)既不上溢也不下溢,合理控制在目標緩沖附近.因此,應(yīng)實時監(jiān)視緩沖區(qū)狀況,根據(jù)緩沖區(qū)占用率合理調(diào)整量化參數(shù),使編碼后實際緩沖更接近目標緩沖.

      圖2 “carphone”序列編碼后緩沖區(qū)狀況

      2 改進的碼率控制算法

      針對以上提出的H.264碼率控制算法JVTG012的不足之處,本文對緩沖區(qū)的控制作如下的改進.采用B_Tratio(nj)作為實際緩沖大小和目標緩沖大小之間的差值比例,定義如下:

      其中,B_T為在編碼第j個P幀時第j-1幀實際緩沖和目標緩沖差值的絕對值,反映了前一幀編碼后實際緩沖和目標緩沖的偏離程度(j-2)為在編碼該幀之前已編碼的P幀的實際緩沖和目標緩沖差值的平均值,即平均偏離程度,因此,B_Tratio(nj)能很好的反映在編碼當前幀之前緩沖區(qū)的狀況,因此可以利用B_Tratio(nj)的值大小調(diào)整量化參數(shù),使編碼后實際緩沖更接近目標緩沖.為了統(tǒng)計B_Tratio(nj)的值分布情況,采用“foreman”序列,IPPPPP……,即除第一幀為I幀外其他為P幀,目標比特率設(shè)為24 kbps,共編碼100幀,幀率為10幀/s進行測試,測試結(jié)果如圖3.

      圖3 B_Tratio(nj)的分布情況

      因此,可在編碼第j個P幀前通過B_Tratio(nj)來調(diào)整第j個P幀QP的大小,調(diào)整方法如下:

      以上算法的改進原理為:在編碼當前幀之前,由前一幀實際緩沖和目標緩沖差值的絕對值,和已編碼P幀的實際緩沖和目標緩沖偏離程度的平均值,計算出前一幀編碼后緩沖占用度相對偏離程度,來自適應(yīng)調(diào)整QP,即調(diào)整編碼后實際產(chǎn)生的比特數(shù),合理控制緩沖區(qū).當1<B_Tratio(nj)<2,且實際緩沖大于目標緩沖時,要增加量化參數(shù),減少編碼后實際產(chǎn)生的比特;同理,當實際緩沖小于目標緩沖,則相應(yīng)減小量化參數(shù),從而增加編碼后實際產(chǎn)生的比特數(shù),使編碼后實際緩沖更接近目標緩沖,維持緩沖穩(wěn)定.

      3 實驗結(jié)果與分析

      為了測試本文改進的算法對緩沖區(qū)控制的效果,采用JM10.2官方標準測試模型.分兩組實驗,第一組測試序列為 “Foreman”和“Carphone”,即運動較緩慢和紋理較平滑的序列,第二組測試序列為“Mobile”和“Football”,即快速運動和紋理較復(fù)雜的序列,序列格式為QCIF 4∶2∶0,圖像尺寸為176×144(像素),共編碼100幀,幀率為10幀/s,I幀周期為0,即IPPPPP……,初始QP由碼率控制計算初始QP部分得出,采用CABAC熵編碼,Hardamard變換開啟,開啟RDO,搜索范圍為16,參考幀數(shù)為2,基本單元為一幀.實驗設(shè)置的目標比特率為24 kbps和64 kbps.采用 CPU為雙核AMD,主頻為2.21G,內(nèi)存為2G的PC機作為實驗平臺.實驗結(jié)果分別如表1、表2和圖4、圖5、圖6、圖7所示.

      表1 兩種算法性能比較(慢運動序列)

      圖4 “Foreman”緩沖區(qū)情況Bitrate=24 kbps

      圖5 “Carphone”緩沖區(qū)情況Bitrate=64 kbps

      表2 兩種算法性能比較(快速運動序列)

      圖6 “Mobile”緩沖區(qū)情況Bitrate=24 kbps

      圖7 “Football”緩沖區(qū)情況Bitrate=64 kbps

      對于慢運動序列,即紋理簡單的視頻序列,從表1可以看出,改進的算法對PSNR并沒有很大影響,PSNR幾乎保持不變,即圖像質(zhì)量幾乎未受到影響,碼率控制效果比JM10.2更好,實際碼率更接近目標碼率,即碼率控制誤差更小.從圖4和圖5可以看出,本文方法得到的實際緩沖更接近目標緩沖,緩沖區(qū)占有率更加穩(wěn)定平滑,沒有出現(xiàn)上溢和下溢的現(xiàn)象.特別是圖5中所示的“Carphone”序列在比特率為64 kbps下的編碼結(jié)果,JM10.2算法下得到的緩沖在第8幀出現(xiàn)溢出的現(xiàn)象,而本文方法很好地控制了緩沖大小,沒有出現(xiàn)上溢的現(xiàn)象.

      對于快速運動序列,即紋理相對復(fù)雜的序列,從表2可知,對于改進的算法,PSNR有所下降,但碼率控制相對更好,更貼近目標碼率,碼率控制誤差更小,但這是在犧牲PSNR情況下得到的更精確的碼率控制.從圖6可知,對于復(fù)雜的視頻序列,本文算法下能得到更好的緩沖區(qū)狀況,實際緩沖更逼近目標緩沖.對于圖7,本文算法下得到的緩沖區(qū)控制相對較差.因此綜上所述,本文方法適用于紋理較簡單的序列,對于紋理較復(fù)雜的序列,緩沖區(qū)控制效果并非很好,因此應(yīng)尋找其他的方法來應(yīng)對復(fù)雜序列緩沖區(qū)控制問題.

      4小結(jié)

      在H.264碼率控制算法JVT-G012的基礎(chǔ)上,對緩沖占用率的控制情況進行分析并對其不足之處作改進.實時跟蹤緩沖區(qū)占用率,并根據(jù)緩沖區(qū)狀況調(diào)整量化參數(shù),使編碼后實際緩沖盡量接近目標緩沖.仿真實驗表明,對于紋理簡單的視頻序列,在PSNR幾乎不變的情況下,即不影響編碼后圖像主觀質(zhì)量,實際緩沖更接近目標緩沖,緩沖曲線更平滑,合理控制了緩沖區(qū)的穩(wěn)定,在圖像質(zhì)量和緩沖區(qū)之間取得了較好的平衡.對于運動劇烈的視頻序列,PSNR有所下降,實際碼率更逼近目標碼率,但緩沖區(qū)控制卻無規(guī)律可言,新方法下有的序列緩沖區(qū)控制更好,但有的序列緩沖區(qū)控制效果不佳,因此,對于快速運動序列,如何控制緩沖區(qū)溢出,得到更精確的緩沖區(qū)控制效果,將是以后的研究工作.

      [1]馬思偉.基于率失真優(yōu)化的視頻編碼研究[D].北京:中國科學(xué)院計算技術(shù)研究所,2005.

      [2]Li Z G,Pan F,Lim K P,et al.Adaptive basic unit layer rate control for JVT [C]//JVT-G012-r1,7th Meeting,Pattaya II, Thailand.2003,14.

      [3]魏顯超,張翠芳,閆小濤.低碼率下的H.264宏塊級碼率控制方法[J].計算機應(yīng)用研究,2009,26(7):2796-2800.

      [4]蘭 天,顧學(xué)邁.基于BH幀層碼率控制算法[J].遙測遙控,2008,29(4):45-51.

      [5]楊曉琴,季曉勇,盛任農(nóng),等.基于H.264的碼率控制[J].計算機工程與應(yīng)用,2011,47(13):186-187.

      [6]羅圣敏.一 種視頻編碼技術(shù)碼率控制算法的改進[J].計算機仿真,2010,27(5):359-362.

      [7]呂振斌,王惠南.一種H.264基本單元層的碼率控制算法[J].電視技術(shù),2009,33(1):45-47.

      [8]劉 啟,石志強.一種H.264幀級碼率控制改進算法[J].計算機仿真,2008,25(5):105-108.

      [9]丁 文,張浩平,胡鵬莎.一種改進的JVT-H017碼率控制算法[J].計算機工程,2012,38(6):238-240.

      [10]王昭順,張 平.基于H.264/AVC的一種新的幀-層碼率控制算法[J].計算機應(yīng)用,2005,25(12):2800-2802.

      [11]Jiang M,Yi X,Ling N.Improved frame-layer rate control for H. 264 using MAD ratio[C]//Circuits and Systems,2004.ISCAS'04. Proceedings of the 2004 International Symposium on.IEEE, 2004,3:III-813-16.

      [12]Jiang M,Ling N.An improved frame and macroblock layer bit allocation scheme for H.264 rate control[C]//Circuits and Systems,2005.ISCAS 2005.IEEE International Symposium on. IEEE,2005:1501-1504.

      [13]Ma S,Li Z,Wu F.Proposed draft of adaptive rate control[C]// Joint Video Team(JVT)of ISO/IEC MPEG&ITU-T VCEG,Doc. JVT-H017r3,8th Meeting,Geneva.2003:20-26.

      An improved rate control algorithm of frame layer for H.264

      WU Jun,HU Jian-zong,XIE Bin,WANG Yi-shuang

      (School of Information Engineering,Jiangxi University of Science and Technology,Ganzhou 341000,China)

      For the shortage of the buffer control for H.264 rate control algorithm,an improved frame layer rate control algorithm is proposed.First monitoring the buffer occupancy,then adjust quantization parameter based on the situation of actual buffer and the target buffer occupancy of encoded frame.When the actual buffer deviating from the target buffer large,appropriate increase or reduce the quantization parameter,make the actual buffer closer to the target buffer,therefore prevent buffer overflow or underflow.Simulation results show the PSNR of new algorithm is almost constant,the actual buffer is closer to the target buffer,and more steady.

      H.264;rate control;target buffer;quantization parameter

      TN919.81

      A

      2095-3041(2014)00-0070-05

      10.13265/j.cnki.jxlgdxxb.2014.01.012

      2013-08-29

      江西省教育廳青年科學(xué)基金項目(GJJ11132)

      吳 軍(1963- ),男,副教授,主要從事嵌入式系統(tǒng)與視頻編碼等方面的研究,E-mail:hujianzong1987@163.com.

      猜你喜歡
      占用率碼率緩沖區(qū)
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實現(xiàn)
      降低CE設(shè)備子接口占用率的研究與應(yīng)用
      魅力中國(2019年6期)2019-07-21 07:12:10
      基于狀態(tài)機的視頻碼率自適應(yīng)算法
      基于場景突變的碼率控制算法
      基于排隊論的區(qū)域路內(nèi)停車最優(yōu)泊位占用率研究
      X264多線程下碼率控制算法的優(yōu)化
      計算機工程(2015年8期)2015-07-03 12:19:56
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
      阿朗CDMA尋呼信道瘦身增效優(yōu)化
      地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計與實現(xiàn)
      唐河县| 云南省| 会宁县| 惠州市| 澄迈县| 镇坪县| 汤原县| 岐山县| 五寨县| 如皋市| 宣城市| 舒兰市| 宜州市| 云南省| 洛宁县| 如皋市| 太保市| 虎林市| 合山市| 龙川县| 偏关县| 砀山县| 昌邑市| 南岸区| 资中县| 芒康县| 克什克腾旗| 玛纳斯县| 苗栗县| 巴彦淖尔市| 成都市| 河曲县| 东港市| 盐源县| 南投市| 淳化县| 瑞金市| 孝义市| 图木舒克市| 原平市| 漾濞|