国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種視頻編碼碼率控制方法

      文檔序號(hào):7975462閱讀:331來(lái)源:國(guó)知局
      專利名稱:一種視頻編碼碼率控制方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于視頻編碼技術(shù)領(lǐng)域,特別涉及視頻編碼控制方法。
      背景技術(shù)
      碼率控制是視頻編碼的重要技術(shù)之一,在視頻存儲(chǔ)和傳輸?shù)葢?yīng)用中起著重要作用。對(duì)于碼率受限尤其是低碼率的通信系統(tǒng)來(lái)說,碼率控制顯得尤為重要,將直接決定視頻編碼質(zhì)量的優(yōu)劣。在目前已有的視頻編碼碼率控制方法中,主要由圖像組(GOP-Group ofpicture,)層、幀(Frame)層和基本單元(BU-Basic unit,)層三個(gè)層次的碼率控制構(gòu)成。該碼率控制方法具體步驟為首先在GOP層為各GOP預(yù)分配碼率;在Frame層在各GOP內(nèi)將GOP分配得到的碼率再分配給各幀圖像,并為各幀圖像確定量化參數(shù);在BU層將每幀圖像劃分為多個(gè)基本單元,將該幀分配得到的碼率再分配給幀內(nèi)各基本單元,并為其確定編碼量化參數(shù)(BU層的碼率控制也可省略,即每幀圖像為一個(gè)基本單元)。
      當(dāng)前的碼率控制方法中,第一個(gè)GOP的I幀量化參數(shù)由用戶指定或者根據(jù)編碼碼率計(jì)算確定,剩余各GOP的I幀圖像編碼參數(shù)則根據(jù)前一個(gè)GOP的編碼情況確定,但與前一個(gè)GOP的I幀量化參數(shù)差值一般限制最大為2。在各GOP編碼實(shí)際碼率與預(yù)分配碼率相差不大時(shí),此方法可以保證碼率資源得到合理分配以獲得較好的編碼質(zhì)量。但當(dāng)視頻圖像特征出現(xiàn)較大變化時(shí),如視頻對(duì)象運(yùn)動(dòng)加快或者有場(chǎng)景切換等發(fā)生時(shí),若某一個(gè)I幀量化參數(shù)與預(yù)分配碼率不匹配導(dǎo)致此I幀占用過多碼率資源時(shí),從而導(dǎo)致下一個(gè)GOP缺乏碼率資源;但下一個(gè)GOP的I幀量化參數(shù)調(diào)整速度受限導(dǎo)致該GOP繼續(xù)占用過多碼率資源,以至于影響后續(xù)多個(gè)GOP碼率資源分配不合理而導(dǎo)致編碼質(zhì)量下降。有文獻(xiàn)指出,當(dāng)起始I幀采用不同的量化參數(shù),序列編碼平均信噪比相差可超過1dB。當(dāng)前碼率控制方法I幀量化參數(shù)方法雖然確保了相鄰GOP的I幀編碼質(zhì)量下降緩慢,但卻易造成GOP之間出現(xiàn)編碼閃爍效應(yīng)。
      對(duì)于如手機(jī)電視等低碼率視頻編碼系統(tǒng)來(lái)說,編碼過程中任何GOP的I幀量化參數(shù)與碼率資源的不匹配將帶來(lái)碼率資源的浪費(fèi),從而影響整個(gè)序列的編碼質(zhì)量。

      發(fā)明內(nèi)容
      本發(fā)明的目的是為克服已有技術(shù)的不足之處,提出一種視頻編碼碼率控制方法,可以更合理地分配有限的碼率資源,以獲得更好的視頻編碼質(zhì)量,特別適合低碼率視頻通信系統(tǒng)。
      本發(fā)明提出的一種視頻編碼碼率控制方法,其特征在于,該方法包括以下步驟1)GOP層碼率預(yù)分配(11)以B表示給定的編碼碼率(即信道帶寬),F(xiàn)表示幀速率,Ngop表示GOP長(zhǎng)度,Rprev表示前一個(gè)GOP編碼結(jié)束后剩余碼率或超支碼率,若當(dāng)前GOP為視頻序列第一個(gè)GOP,則Rprev初始值為零;(12)若當(dāng)前GOP為視頻序列最后一個(gè)GOP時(shí),則該GOP預(yù)分配碼率R直接由下式確定R=BFNgop+Rprev---(1)]]>(13)否則,若|Rprev|&le;1mBFNgop,]]>則該GOP預(yù)分配碼率R(當(dāng)前GOP剩余幀可用碼率)按下式確定R=BFNgop+Rprev---(2)]]>即上一個(gè)GOP編碼剩余碼率或超支碼率Rprev全部分配給當(dāng)前GOP,并將參數(shù)Rprev更新為零;(14)若|Rprev|>1mBFNgop,]]>則該GOP預(yù)分配碼率R(當(dāng)前GOP剩余幀可用碼率)按下式確定R=(1+Rprev|Rprev|1m)BFNgop---(3)]]>即上一個(gè)GOP編碼剩余碼率或超支碼率Rprev只有部分分配給當(dāng)前GOP,剩余部分將分配給后續(xù)GOP,此部分碼率仍由參數(shù)Rprev表示,并更新Rprev如下式Rprev=Rprev-Rprev|Rprev|1mBFNgop---(4)]]>
      在上述公式中,參數(shù)m為經(jīng)驗(yàn)值,取值范圍可確定為1<m≤10,實(shí)驗(yàn)表明,m值越大,碼率控制精度越低,反之則控制越精準(zhǔn)。按上述分配方案,根據(jù)式(2)和式(3)可知,無(wú)論前面GOP超支比特多么嚴(yán)重,當(dāng)前GOP預(yù)分配碼率將限制在區(qū)間 這將大大減緩了超支比特對(duì)于后續(xù)GOP的編碼影響,有利于視頻編碼質(zhì)量的穩(wěn)定;2)Frame層碼率預(yù)分配及量化參數(shù)確定(21)若當(dāng)前幀為GOP中的I幀,首先計(jì)算當(dāng)前I幀的預(yù)分配碼率TITI=max{R1+15NP155KP+5NB155KB,B8F}---(5)]]>其中,KP和KB為權(quán)重因子,NP和NB為當(dāng)前GOP未編碼的P幀和B幀數(shù)量;則根據(jù)率失真模型r=M(a+blog2Q),此I幀量化參數(shù)QI為QI=2RMb-ab---(6)]]>其中,參數(shù)a和b為模型參數(shù),可根據(jù)已編碼I幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新;參數(shù)M為圖像復(fù)雜度MAD值,對(duì)于序列第一個(gè)I幀,其圖像復(fù)雜度M值可以直接計(jì)算得到,而對(duì)于序列中其它的I幀圖像復(fù)雜度M值計(jì)算,可采取常規(guī)線性預(yù)測(cè)的方法得到,以降低編碼復(fù)雜度;(22)若當(dāng)前幀為P幀,并且為第一個(gè)GOP的第一個(gè)P幀,其量化參數(shù)QP,0為QP,0=QI,0+2TP&le;0QI,0+10&lt;TP&le;0.25B/FQI,00.25B/F&lt;TP&le;B/FQI,0-2TP>B/F---(7)]]>其中,QI,0表示第一個(gè)GOP的I幀量化參數(shù);(23)若當(dāng)前幀為除第一個(gè)GOP的第一個(gè)P幀之外的其它P幀,首先計(jì)算當(dāng)前P幀應(yīng)分配碼率TPTP=RWPWPNP+WBNB---(8)]]>其中參數(shù)WP和WB為P幀和B幀的權(quán)重因子;式中碼率TP包括開銷比特TP,syntax、運(yùn)動(dòng)矢量編碼比特TP,vectors和DCT系數(shù)編碼的碼率TP,DCT;則實(shí)際用于P幀宏塊DCT系數(shù)編碼的碼率TP,DCT為TP,DCT=TP-TP,syntax-TP,vectors(9)當(dāng)TP,DCT≤0時(shí),該P(yáng)幀量化參數(shù)QP為 其中,QI表示當(dāng)前GOP的I幀量化參數(shù),QP,prev表示當(dāng)前幀前一個(gè)P幀的量化參數(shù),APSNR表示當(dāng)前P幀之前兩幀P幀(或其一為I幀)的差值,參數(shù)TH為閾值,取值范圍為0.5≤TH≤1.5,實(shí)驗(yàn)表明,此措施有利于遏制GOP內(nèi)最后幾個(gè)P幀由于缺乏碼率資源而編碼質(zhì)量呈直線下降的趨勢(shì)。
      當(dāng)TP,DCT>0時(shí),該P(yáng)幀的量化參數(shù)QP由下式確定TP,DCT=M(X1QP+X2QP2)---(11)]]>其中,參數(shù)X1和X2為模型參數(shù),可根據(jù)已編碼P幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新;參數(shù)M為圖像復(fù)雜度MAD值,可采取常規(guī)線性預(yù)測(cè)的方法計(jì)算,以降低視頻編碼復(fù)雜度;(24)若當(dāng)前幀為B幀,其量化參數(shù)計(jì)算方法如下設(shè)GOP內(nèi)兩個(gè)P幀(或其一為I幀)之間連續(xù)B幀數(shù)量為L(zhǎng),當(dāng)前B幀前后的P幀量化參數(shù)為QP1和QP2;當(dāng)L=1時(shí),當(dāng)前B幀量化參數(shù)QB1為QB1=QP1+QP2+22QP1=QP2QP1+2QP1&NotEqual;QP2---(12)]]>當(dāng)L>1時(shí),當(dāng)前B幀為連續(xù)B幀中的第i個(gè)B幀,其量化參數(shù)QB1為QBi=QP1+&alpha;+max{min{QP2-QP1L-1,2(i-1)},-2(i-1)}---(13)]]>其中參數(shù)α表示QB1和QP1之間的差值,由下式確定
      3)根據(jù)步驟2)所確定的量化參數(shù)對(duì)各幀進(jìn)行編碼(采用常規(guī)的DCT變換、運(yùn)動(dòng)搜索和熵編碼的編碼方法);4)Frame層的參數(shù)更新(41)若當(dāng)前幀為I幀,編碼完當(dāng)前幀后,模型參數(shù)a和b按下式更新b=b+2(RI-RI,prew)log2QI+log2QI,prev---(15)]]>a=12[RI+RI,prev-blog2(QIQI,prev)]]]>其中,RI和RI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀的實(shí)際編碼碼率,QI和QI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀量化參數(shù);(42)若當(dāng)前幀為P幀,編碼完當(dāng)前幀后,模型參數(shù)X1和X2按下式更新X2=n&Sigma;i=1nRP,i-(&Sigma;i=1nQi-1)(&Sigma;i=1nQiRP,i)n&Sigma;i=1nQi-2-(&Sigma;i=1nQi-1)2---(16)]]>X1=&Sigma;i=1n(QiRP,i-X2Qi-1)n]]>其中,n表示選定的之前已編碼的P幀圖像數(shù)量,RP,i和Qi分別表示選定的n個(gè)P幀的第i個(gè)P幀的實(shí)際編碼碼率和量化參數(shù);(43)在當(dāng)前GOP中,當(dāng)編碼完當(dāng)前幀I幀、P幀或B幀之后,以RI,P,B表示其實(shí)際編碼碼率,則當(dāng)前GOP剩余可用碼率或者超支碼率R為R=R-RI,P,B(17)(44)若當(dāng)前幀為當(dāng)前GOP最后一幀,則轉(zhuǎn)入步驟5),否則轉(zhuǎn)入步驟2)繼續(xù)下一幀圖像編碼。
      5)GOP層的參數(shù)更新
      (51)當(dāng)前GOP編碼完畢之后,將參數(shù)Rprev更新如下Rprev=Rprev+R(18)參數(shù)R表示當(dāng)前GOP編碼剩余或者超支碼率;(52)若當(dāng)前GOP為視頻序列最后一個(gè)GOP,則結(jié)束編碼;否則轉(zhuǎn)入步驟1)繼續(xù)下一個(gè)GOP的編碼。
      本發(fā)明的原理及技術(shù)效果本發(fā)明相比已有的視頻碼率控制方法,主要有以下優(yōu)點(diǎn)1、在視頻編碼過程中,若前面的GOP編碼占用過多的碼率資源將導(dǎo)致當(dāng)前GOP由于缺乏碼率資源而編碼質(zhì)量下降過快,并由此造成圖像編碼質(zhì)量的振蕩。本方法為了避免出現(xiàn)此情況,在GOP層碼率控制方法中,考慮將超支的比特分配給后面多個(gè)GOP,而不是只分配給當(dāng)前GOP,這將大大減緩了超支比特對(duì)于后續(xù)GOP的編碼影響,有利于視頻編碼質(zhì)量的穩(wěn)定。
      2、在Frame層碼率控制方法中,根據(jù)I幀圖像的復(fù)雜度和預(yù)分配碼率資源,對(duì)其量化參數(shù)進(jìn)行合理設(shè)置,使得碼率資源的利用更加合理有效;在確定GOP中P幀量化參數(shù)時(shí),引入了編碼質(zhì)量反饋機(jī)制,即當(dāng)之前P幀由于缺乏碼率編碼質(zhì)量下降過快時(shí),對(duì)當(dāng)前P幀量化參數(shù)進(jìn)行控制,有效遏制了由于GOP碼率資源缺乏引起的P幀編碼質(zhì)量嚴(yán)重下降的趨勢(shì),有利于視頻編碼質(zhì)量的穩(wěn)定。
      本發(fā)明提出的視頻編碼碼率控制方法碼率控制誤差低于3%,可以有效地將編碼碼率控制在給定碼率上;同時(shí)該碼率控制方法對(duì)碼率資源分配更加合理,從而從整體上提高了重建視頻圖像的PSNR值,并且視頻序列各幀編碼質(zhì)量更加平滑,有效減少了重建視頻圖像間的閃爍效應(yīng),提高了圖像的主觀編碼質(zhì)量。


      圖1為編碼碼率控制實(shí)施方法流程圖具體實(shí)施方式
      本發(fā)明提出的一種視頻編碼碼率控制方法實(shí)施例,具體包括以下步驟1)GOP層碼率預(yù)分配
      (11)本實(shí)施例的編碼碼率B為80kbps,幀速率F為30幀每秒,GOP長(zhǎng)度Ngop為15,參數(shù)m取值為3;Rprev表示前一個(gè)GOP編碼結(jié)束后剩余碼率或超支碼率,若當(dāng)前GOP為視頻序列第一個(gè)GOP,則Rprev初始值為零。
      (12)若當(dāng)前GOP為視頻序列最后一個(gè)GOP時(shí),則該GOP預(yù)分配碼率R直接由下式確定R=BFNgop+Rprev]]>(13)否則,若|Rprev|&le;13BFNgop,]]>則該GOP預(yù)分配碼率R(當(dāng)前GOP剩余幀可用碼率)按下式確定R=BFNgop+Rprev]]>即上一個(gè)GOP編碼剩余碼率或超支碼率Rprev全部分配給當(dāng)前GOP,參數(shù)Rprev更新為零;(14)若|Rprev|>13BFNgop,]]>則該GOP預(yù)分配碼率R(當(dāng)前GOP剩余幀可用碼率)按下式確定R=(1+Rprev|Rprev|13)BFNgop]]>即上一個(gè)GOP編碼剩余碼率或超支碼率Rprev只有部分分配給當(dāng)前GOP,剩余部分將分配給后續(xù)GOP,此部分碼率仍由參數(shù)Rprev表示,并更新Rprev如下式Rprev=Rprev-Rprev|Rprev|13BFNgop]]>2)Frame層碼率預(yù)分配及量化參數(shù)確定(21)本實(shí)施例設(shè)權(quán)重因子KP和KB為1.1和1.5,若當(dāng)前幀為GOP中的I幀,首先計(jì)算當(dāng)前I幀的預(yù)分配碼率TITI=max{R1+15NP155&times;1.1+5NB155&times;1.5,B8F}]]>
      其中,NP和NB為當(dāng)前GOP未編碼的P幀和B幀數(shù)量;則根據(jù)率失真模型r=M(a+blog2Q),此I幀量化參數(shù)Q1為QI=2RMb-ab]]>其中,參數(shù)a和b為模型參數(shù),可根據(jù)已編碼I幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新;參數(shù)M為圖像復(fù)雜度MAD值,對(duì)于序列第一個(gè)I幀,其圖像復(fù)雜度M值可以直接計(jì)算,而對(duì)于序列中其它的I幀圖像復(fù)雜度M值計(jì)算,可采取常規(guī)線性預(yù)測(cè)的方法,以降低編碼復(fù)雜度;(22)若當(dāng)前幀為P幀,并且為第一個(gè)GOP的第一個(gè)P幀,其量化參數(shù)QP,0為QP,0=QI,0+2,TP&le;0QI,0+1,0&lt;TP&le;0.25B/FQI,0,0.25B/F&lt;TP&le;B/FQI,0-2,TP>B/F]]>其中,QI,0表示第一個(gè)GOP的I幀量化參數(shù);(23)若當(dāng)前幀為除第一個(gè)GOP的第一個(gè)P幀之外的其它P幀,首先計(jì)算當(dāng)前P幀應(yīng)分配碼率TPTP=RWPWPNP+WBNB]]>其中參數(shù)WP和WB為P幀和B幀的權(quán)重因子,可取值為5.0和1.0;式中碼率TP包括開銷比特TP,syntax、運(yùn)動(dòng)矢量編碼比特TP,vectors和DCT系數(shù)編碼的碼率TP,DCT;則實(shí)際用于P幀宏塊DCT系數(shù)編碼的碼率TP,DCT為TP,DCT=TP-TP,syntax-TP,vectors當(dāng)TP,DCT≤0時(shí),該P(yáng)幀量化參數(shù)QP為 其中,QI表示當(dāng)前GOP的I幀量化參數(shù),QP,prev表示當(dāng)前幀前一個(gè)P幀的量化參數(shù),ΔPSNR表示當(dāng)前P幀之前兩幀P幀(或其一為I幀)的差值,閾值TH取1。
      當(dāng)TP,DCT>0時(shí),該P(yáng)幀的量化參數(shù)QP由下式確定TP,DCT=M(X1QP+X2QP2)]]>其中,參數(shù)X1和X2為模型參數(shù),可根據(jù)已編碼P幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新;參數(shù)M為圖像復(fù)雜度MAD值,可采取常規(guī)線性預(yù)測(cè)的方法計(jì)算,以降低視頻編碼復(fù)雜度;(24)若當(dāng)前幀為B幀,其量化參數(shù)計(jì)算方法如下設(shè)GOP內(nèi)兩個(gè)P幀(或其一為I幀)之間連續(xù)B幀數(shù)量為L(zhǎng),當(dāng)前B幀前后的P幀量化參數(shù)為QP1和QP2;當(dāng)L=1時(shí),當(dāng)前B幀量化參數(shù)QB1為QB1=QP1+QP2+22QP1=QP2QP1+2QP1&NotEqual;QP2]]>當(dāng)L>1時(shí),當(dāng)前B幀為連續(xù)B幀中的第i個(gè)B幀,其量化參數(shù)QBi為QBi=QP1+&alpha;+max{min{QP2-QP1L-1,2(i-1)},-2(i-1)}]]>其中參數(shù)α表示QB1和QP1之間的差值,由下式確定 3)根據(jù)步驟2)所確定的量化參數(shù)對(duì)各幀進(jìn)行編碼(采用常規(guī)的DCT變換、運(yùn)動(dòng)搜索和熵編碼的編碼方法);4)Frame層的參數(shù)更新(41)若當(dāng)前幀為I幀,編碼完當(dāng)前幀后,模型參數(shù)a和b按下式更新b=b+2(RI-RI,prev)log2QI+log2QI,prev]]>a=12[RI+RI,prev-blog2(QIQI,prev)]]]>
      其中,RI和RI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀的實(shí)際編碼碼率,QI和QI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀量化參數(shù);(42)若當(dāng)前幀為P幀,編碼完當(dāng)前幀后,模型參數(shù)X1和X2按下式更新X2=n&Sigma;i=1nRP,i-(&Sigma;i=1nQi-1)(&Sigma;i=1nQiRP,i)n&Sigma;i=1nQi-2-(&Sigma;i=1nQi-1)2]]>X1=&Sigma;i=1n(QiRP,i-X2Qi-1)n]]>其中,n表示選定的之前已編碼的P幀圖像數(shù)量,RP,i和Qi分別表示選定的n個(gè)P幀的第i個(gè)P幀的實(shí)際編碼碼率和量化參數(shù);(43)在當(dāng)前GOP中,當(dāng)編碼完當(dāng)前幀I幀、P幀或B幀之后,以RI,P,B表示其實(shí)際編碼碼率,則當(dāng)前GOP剩余可用碼率或者超支碼率R為R=R-RI,P,B(44)若當(dāng)前幀為當(dāng)前GOP最后一幀,則轉(zhuǎn)入步驟5),否則轉(zhuǎn)入步驟2)繼續(xù)下一幀圖像編碼。
      5)GOP層的參數(shù)更新(51)當(dāng)前GOP編碼完畢之后,將參數(shù)Rprev更新如下Rprev=Rprev+R參數(shù)R表示當(dāng)前GOP編碼剩余或者超支碼率;(52)若當(dāng)前GOP為視頻序列最后一個(gè)GOP,則結(jié)束編碼;否則轉(zhuǎn)入步驟1)繼續(xù)下一個(gè)GOP的編碼。
      權(quán)利要求
      1.一種視頻編碼碼率控制方法,其特征在于,該方法包括以下步驟1)GOP層碼率預(yù)分配(11)以B表示給定的編碼碼率,F(xiàn)表示幀速率,Ngop表示GOP長(zhǎng)度,Rprev表示前一個(gè)GOP編碼結(jié)束后剩余碼率或超支碼率,若當(dāng)前GOP為視頻序列第一個(gè)GOP,則Rprev初始值為零;(12)若當(dāng)前GOP為視頻序列最后一個(gè)GOP時(shí),則該GOP預(yù)分配碼率R直接由下式確定R=BFNgop+Rprev]]>(13)否則,若|Rprev|&le;1mBFNgop,]]>則該GOP預(yù)分配碼率R按下式確定R=BFNgop+Rprev]]>并將參數(shù)Rprev更新為零;(14)若|Rprev|>1mBFNgop,]]>則該GOP預(yù)分配碼率R按下式確定R=(1+Rprev|Rprev|1m)BFNgop]]>并更新Rprev如下式Rprev=Rprev-Rprev|Rprev|1mBFNgop]]>其中,參數(shù)m為經(jīng)驗(yàn)值;2)Frame層碼率預(yù)分配及量化參數(shù)確定(21)若當(dāng)前幀為GOP中的I幀,首先計(jì)算當(dāng)前I幀的預(yù)分配碼率TITI=max{R1+15NP155KP+5NB155KB,B8F}]]>其中,KP和KB為權(quán)重因子,NP和NB為當(dāng)前GOP未編碼的P幀和B幀數(shù)量;則根據(jù)率失真模型r=M(a+blog2Q),此I幀量化參數(shù)QI為QI=2RMb-ab]]>其中,參數(shù)a和b為模型參數(shù),參數(shù)M為圖像復(fù)雜度MAD值;(22)若當(dāng)前幀為P幀,并且為第一個(gè)GOP的第一個(gè)P幀,其量化參數(shù)QP,0為QP,0=QI,0+2,TP&le;0QI,0+1,0&lt;TP&le;0.25B/FQI,0,0.25B/F&lt;TP&le;B/FQI,0-2,TP>B/F]]>其中,QI,0表示第一個(gè)GOP的I幀量化參數(shù);(23)若當(dāng)前幀為除第一個(gè)GOP的第一個(gè)P幀之外的其它P幀,首先計(jì)算當(dāng)前P幀應(yīng)分配碼率TPTP=RWPWPNP+WBNB]]>其中參數(shù)WP和WB為P幀和B幀的權(quán)重因子;式中碼率TP包括開銷比特TP,syntax、運(yùn)動(dòng)矢量編碼比特TP,vectors和DCT系數(shù)編碼的碼率TP,DCT;則實(shí)際用于P幀宏塊DCT系數(shù)編碼的碼率TP,DCT為TP,DCT=TP-TP,syntax-TP,vectors當(dāng)TP,DCT≤0時(shí),該P(yáng)幀量化參數(shù)QP為 其中,Q1表示當(dāng)前GOP的I幀量化參數(shù),QP,prev表示當(dāng)前幀前一個(gè)P幀的量化參數(shù),ΔPSNR表示當(dāng)前P幀之前兩幀P幀(或其一為I幀)的差值,參數(shù)TH為閾值;當(dāng)TP,DCT>0時(shí),該P(yáng)幀的量化參數(shù)QP由下式確定TP,DCT=M(X1QP+X2QP2)]]>其中,參數(shù)X1和X2為模型參數(shù),根據(jù)已編碼P幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新;參數(shù)M為圖像復(fù)雜度MAD值,采取常規(guī)線性預(yù)測(cè)的方法計(jì)算得到;(24)若當(dāng)前幀為B幀,其量化參數(shù)計(jì)算方法如下設(shè)GOP內(nèi)兩個(gè)P幀或一個(gè)P幀和一個(gè)I幀之間連續(xù)B幀數(shù)量為L(zhǎng),當(dāng)前B幀前后幀量化參數(shù)為QP1和QP2;當(dāng)L=1時(shí),當(dāng)前B幀量化參數(shù)QB1為QB1=QP1+QP2+22QP1=QP2QP1+2QP1&NotEqual;QP2]]>當(dāng)L>1時(shí),當(dāng)前B幀為連續(xù)B幀中的第i個(gè)B幀,其量化參數(shù)QBi為QBi=QP1+&alpha;+max{min{QP2-QP1L-1,2(i-1)},-2(i-1)}]]>其中參數(shù)α表示QB1和QP1之間的差值,由下式確定 3)根據(jù)步驟2)所確定的量化參數(shù)對(duì)各幀采用常規(guī)的DCT變換、運(yùn)動(dòng)搜索和熵編碼的編碼方法進(jìn)行編碼;4)Frame層的參數(shù)更新(41)若當(dāng)前幀為I幀,編碼完當(dāng)前幀后,模型參數(shù)a和b按下式更新b=b+2(RI-RI,prev)log2QI+log2QI,prev]]>a=12[RI+RI,prev-blog2(QIQI,prev)]]]>其中,RI和RI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀的實(shí)際編碼碼率,QI和QI,prev分別為當(dāng)前GOP和上一個(gè)GOP的I幀量化參數(shù);(42)若當(dāng)前幀為P幀,編碼完當(dāng)前幀后,模型參數(shù)X1和X2按下式更新X2=n&Sigma;i=1nRP,i-(&Sigma;i=1nQi-1)(&Sigma;i=1nQiRP,i)n&Sigma;i=1nQi-2-(&Sigma;i=1nQi-1)2]]>X1=&Sigma;i=1n(QiRP,i-X2Qi-1)n]]>其中,n表示選定的之前已編碼的P幀圖像數(shù)量,RP,i和QI分別表示選定的n個(gè)P幀的第i個(gè)P幀的實(shí)際編碼碼率和量化參數(shù);(43)在當(dāng)前GOP中,當(dāng)編碼完當(dāng)前幀I幀、P幀或B幀之后,以RI,P,B表示其實(shí)際編碼碼率,則當(dāng)前GOP剩余可用碼率或者超支碼率R為R=R-RI,P,B(44)若當(dāng)前幀為當(dāng)前GOP最后一幀,則轉(zhuǎn)入步驟5),否則轉(zhuǎn)入步驟2)繼續(xù)下一幀圖像編碼。5)GOP層的參數(shù)更新(51)當(dāng)前GOP編碼完畢之后,將參數(shù)Rprev更新如下Rprev=Rprev+R參數(shù)R表示當(dāng)前GOP編碼剩余或者超支碼率;(52)若當(dāng)前GOP為視頻序列最后一個(gè)GOP,則結(jié)束編碼;否則轉(zhuǎn)入步驟1)繼續(xù)下一個(gè)GOP的編碼。
      2.如權(quán)利要求1所述方法,其特征在于,所述步驟(14)中參數(shù)m的取值范圍為1<m≤10。
      3.如權(quán)利要求1所述方法,其特征在于,所述步驟(21)中的模型參數(shù)a和b根據(jù)已編碼I幀量化參數(shù)和實(shí)際編碼碼率自適應(yīng)更新。
      4.如權(quán)利要求1所述方法,其特征在于,所述步驟(23)參數(shù)TH取值范圍為0.5≤TH≤1.5。
      全文摘要
      本發(fā)明涉及一種視頻編碼碼率控制方法,屬于視頻編碼技術(shù)領(lǐng)域。該方法包括GOP層碼率控制方法中,將前面GOP剩余或超支的比特分配給后續(xù)多個(gè)GOP,大大減緩了前面GOP超支比特對(duì)于后續(xù)GOP的編碼影響,有利于視頻編碼質(zhì)量的穩(wěn)定;在Frame層碼率控制方法中,根據(jù)I幀圖像的復(fù)雜度和預(yù)分配碼率,設(shè)置其量化參數(shù),使碼率資源的利用更加合理有效;確定P幀量化參數(shù)是,引入編碼質(zhì)量反饋機(jī)制,即當(dāng)GOP中P幀編碼質(zhì)量下降過快時(shí),控制當(dāng)前P幀量化參數(shù),以遏制由于GOP剩余碼率不足引起的P幀編碼質(zhì)量嚴(yán)重下降的趨勢(shì)。本發(fā)明可以更合理地分配有限的碼率資源,以獲得更好的視頻編碼質(zhì)量,特別適合低碼率視頻通信系統(tǒng)。
      文檔編號(hào)H04N7/26GK1988659SQ20061017150
      公開日2007年6月27日 申請(qǐng)日期2006年12月30日 優(yōu)先權(quán)日2006年12月30日
      發(fā)明者陸建華, 余成偉 申請(qǐng)人:清華大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1