• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2010-06-13 11:59:42龔志勇
    無線電工程 2010年8期
    關(guān)鍵詞:宏塊碼率緩沖區(qū)

    龔志勇,胡 佳

    (中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

    0 引言

    動(dòng)態(tài)視頻壓縮算法(如MPEG-2、MPEG-4、H.264等)都采用預(yù)測編碼與變換編碼相結(jié)合的結(jié)構(gòu),不同類型幀(I幀、P幀)采用不同的編碼方式,I幀編碼后產(chǎn)生的比特?cái)?shù)是一般是P幀的3~4倍;同時(shí)圖像內(nèi)容的千差萬別,相同類型幀編碼后產(chǎn)生的比特?cái)?shù)也會(huì)有很大差異,這種不斷變化的輸出碼率和信道很難有一個(gè)好的匹配。如果編碼后的數(shù)據(jù)直接送到無線信道上傳輸,會(huì)造成信道或擁塞、或空閑,大大降低了信道利用率。碼率控制的目的是為了解決恢復(fù)圖像失真盡可能小的情況下,充分利用信道傳輸帶寬,滿足時(shí)延的要求并使得輸出緩沖區(qū)不發(fā)生上溢或下溢。

    TM5算法是一種經(jīng)典的碼率控制算法,在深入研究TM5算法原理的基礎(chǔ)上,對TM5算法中的不足進(jìn)行了改進(jìn),并進(jìn)行了測試驗(yàn)證。

    1 TM5碼率控制算法

    僅考慮編碼算法中 I幀和P幀的碼率控制算法,TM5碼率控制算法采用下面3個(gè)步驟來實(shí)現(xiàn)碼率控制。

    1.1 目標(biāo)比特分配

    根據(jù)已編碼幀信息預(yù)測待編碼幀的復(fù)雜度,分配待編碼幀的比特?cái)?shù)。復(fù)雜度度量為:

    式中,S為圖像被編碼后產(chǎn)生的比特?cái)?shù);Q為已編碼圖像中每一宏塊的量化參數(shù)的平均值。

    使用式(2)和式(3)計(jì)算待編碼圖像可用的比特?cái)?shù),Ti和Tp分別表示I幀和P幀可用的比特?cái)?shù)。

    式中,Kp為P幀的復(fù)雜度加權(quán)系數(shù);Xi和Xp為I幀和P幀根據(jù)式(1)計(jì)算的復(fù)雜度;R為當(dāng)前GOP中未編碼圖像可以使用的bit數(shù);bit_rat為信道傳輸碼率;picture_rate為每秒鐘編碼的圖像幀率,每個(gè)GOP編碼完后,rate;N為GOP的長度。

    1.2 碼率控制

    根據(jù)緩沖區(qū)占用度確定宏塊的參考量化因子,以便調(diào)節(jié)碼率使得實(shí)際編碼比特?cái)?shù)和目標(biāo)比特?cái)?shù)保持一致。

    采用式(4)和式(5)計(jì)算緩沖區(qū)的占用度:

    I幀和P幀的緩沖區(qū)占用度分別用di和dp表示,初始值為是在當(dāng)前編碼圖像中,截止到宏塊j-1(包括j-1宏塊)時(shí)編碼產(chǎn)生的所有比特?cái)?shù)。MB_cnt是編碼圖像中包含的宏塊數(shù),當(dāng)編碼新的一幀圖像時(shí),緩沖區(qū)的占用度初始值設(shè)置為:

    在每一宏塊編碼時(shí)刻的緩沖區(qū)的占用度確定之后,針對不同幀類型,按式(7)算法該宏塊的參考量化參數(shù):

    1.3 自適應(yīng)量化

    結(jié)合宏塊的實(shí)際空域活動(dòng)特性,確定宏塊的量化參數(shù)。宏塊的活動(dòng)性actj由宏塊中的4個(gè)8*8的子塊來決定,actj=1+min(vblk1,vblk2,vblk3,vblk4),每個(gè)8*8的子塊的活動(dòng)性由式(8)計(jì)算:

    式中,n為子塊序號為第n個(gè)字塊中的樣值,這些樣值是原始圖像的樣值,p_meann是第n個(gè)子塊樣值的平均值,即

    得到宏塊的絕對活動(dòng)性actj之后,可以根據(jù)上一幀編碼圖像的平均活動(dòng)性來獲得宏塊的相對活動(dòng)性

    avg_act是當(dāng)前編碼圖像前一幀中所有宏塊絕對活動(dòng)特性的平均值。

    根據(jù)第2步中計(jì)算獲得的Qj和本步中的N_actj,可以計(jì)算出宏塊j的量化參數(shù):

    TM5算法首先從幀的層次進(jìn)行了比特分配,又根據(jù)緩沖區(qū)占用度從宏塊級進(jìn)行了精細(xì)的碼率控制,并確定了宏塊的一個(gè)基準(zhǔn)量化參數(shù),最后根據(jù)每一個(gè)宏塊自身的空間特性進(jìn)行了自適應(yīng)量化參數(shù)調(diào)整。整個(gè)TM5碼率控制算法從幀層、宏塊層對碼率進(jìn)行了粗細(xì)2級控制,考慮了帶寬和宏塊特性,這種碼率控制思想對后來碼率控制算法的發(fā)展產(chǎn)生了很大的影響。

    2 TM5算法的局限性

    由于TM5算法采用的模型較為簡單,存在以下3個(gè)方面的局限性:

    ①由式(5)可以看出采用平均方式給P幀圖像分配比特?cái)?shù),沒有考慮圖像復(fù)雜度。這樣會(huì)造成復(fù)雜度比較高的圖像分配到不足的比特?cái)?shù),采用的Q值過大,圖像質(zhì)量過低;而圖像復(fù)雜度比較低的幀分配到過多的比特?cái)?shù),采用的量化參數(shù)Q值過小,浪費(fèi)了分配的比特?cái)?shù),進(jìn)而造成圖像質(zhì)量和緩沖區(qū)占用度的不穩(wěn)定;

    ②H.264編碼算法中,I幀編碼產(chǎn)生的比特?cái)?shù)一般是P幀的3~4倍,在每個(gè)I幀編碼完成之后輸出緩沖區(qū)的占用度會(huì)急劇上升,造成系統(tǒng)時(shí)延的增大,TM5算法中沒有特殊控制I幀編碼的方法;

    ③TM5碼率控制算法中沒有提到專門監(jiān)控編碼器實(shí)際輸出緩沖區(qū)狀況的方法,輸出緩沖區(qū)容易堆積數(shù)據(jù),導(dǎo)致緩沖區(qū)溢出引起丟幀,時(shí)延增大。

    3 TM5碼率控制算法改進(jìn)

    針對以上提出的TM5碼率控制算法中的不足,進(jìn)行了如下4個(gè)方面的改進(jìn)。

    3.1 結(jié)合圖像復(fù)雜度的比特分配

    在給待編碼的每個(gè)P幀分配比特?cái)?shù)時(shí),不采用平均分配的方式,而是對較復(fù)雜的圖像分配較多的比特?cái)?shù),簡單圖像分配較少的比特?cái)?shù)。

    P幀圖像復(fù)雜度采用式(11)進(jìn)行計(jì)算:

    式中,H和W為圖像的寬和高;fn(i,j)和fn-1(i,j)分別為當(dāng)前幀圖像像素點(diǎn)的值與前一幀圖像中對應(yīng)像素點(diǎn)的值。

    保存連續(xù)N-1個(gè)P幀圖像的D值和編碼產(chǎn)生的比特?cái)?shù)T,式(5)改進(jìn)為如下形式:

    式中,α為常系數(shù),0≤α≤1,一般取0.7。

    3.2 I幀處理

    為了降低I幀編碼完之后輸出緩沖區(qū)的占用度,在碼率控制算法中采用主動(dòng)跳幀。具體方法如下:編碼完I幀之后,在準(zhǔn)備編碼第一個(gè)P幀之前判斷當(dāng)前輸出緩沖區(qū)的占用度是否超過某一界限,如果超過,則可以等待一幀的時(shí)間間隔后再編碼,如果編碼第2個(gè)P幀之前的緩沖區(qū)占用度仍較大,可繼續(xù)等待一幀的時(shí)間間隔,這樣后續(xù)編碼幀的時(shí)延會(huì)大大降低,而跳過一幀不會(huì)影響人眼觀看的視覺效果。

    3.3 實(shí)際輸出緩沖區(qū)狀態(tài)監(jiān)測

    在每幀圖像編碼之前,檢測編碼器實(shí)際輸出緩沖區(qū)占用度,如果輸出緩沖區(qū)占用度超過某一界限,在根據(jù)上述算法計(jì)算出宏塊的量化參數(shù)之后,適當(dāng)調(diào)整待編碼圖像宏塊的量化參數(shù):輸出緩沖區(qū)占用度超過某一門限的時(shí)增大量化參數(shù);反之,輸出緩沖區(qū)占用度低于某一門限的時(shí)減小量化參數(shù),從而使得實(shí)際緩沖區(qū)占用度處在某一恒定的范圍內(nèi),不會(huì)溢出從而造成丟幀。

    3.4 其他改進(jìn)

    根據(jù)工程實(shí)踐中的一些經(jīng)驗(yàn)對TM5算法中的第3步采用一定的技巧降低算法的復(fù)雜度,有利于在嵌入式系統(tǒng)中實(shí)現(xiàn)。

    4 改進(jìn)前后試驗(yàn)對比

    采用PC機(jī)平臺(tái)的H.264參考代碼JM86,進(jìn)行了恒定傳輸帶寬情況下的實(shí)驗(yàn),傳輸帶寬為2Mbps,選取D1分辨率的測試序列 mobcal、parkrun、shields,評估改進(jìn)后碼率控制算法的效能。

    TM5算法改進(jìn)前后緩沖區(qū)占用比特?cái)?shù)對比如表1所示??梢钥闯?緩沖區(qū)中平均占用的比特?cái)?shù)大大降低了,從而整個(gè)系統(tǒng)的時(shí)延得到了減小。改進(jìn)之前輸出緩沖區(qū)堆積數(shù)據(jù)平均為572 kB左右,該堆積數(shù)據(jù)對應(yīng)的傳輸時(shí)間為572/2 048×1 000 ms≈279 ms,改進(jìn)之后輸出緩沖區(qū)堆積數(shù)據(jù)平均為140 kB,該堆積數(shù)據(jù)對應(yīng)的傳輸時(shí)間為140/2 048×1 000 ms≈68ms,減小了211 ms左右,大大提高了系統(tǒng)傳輸?shù)膶?shí)時(shí)性。

    表1 改進(jìn)前后緩沖區(qū)中比特?cái)?shù)

    使用mobcal序列測試改進(jìn)前后的算法,記錄每幀圖像編碼前緩沖區(qū)中占用的比特?cái)?shù),取其中的某一段數(shù)據(jù),緩沖區(qū)占用比特?cái)?shù)對比如圖 1所示。由圖1可以看出,改進(jìn)后有一些跳幀,但緩沖區(qū)占用度波動(dòng)較小,并且緩沖區(qū)堆積比特?cái)?shù)較少。

    圖1 改進(jìn)前后緩沖區(qū)堆積比特?cái)?shù)對比

    5 結(jié)束語

    從實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)后的碼率控制算法輸出的碼率波動(dòng)很小,并且緩沖區(qū)占用度較低,大大降低了系統(tǒng)時(shí)延,對時(shí)延要求很小的圖像編解碼系統(tǒng)具有很高的實(shí)用價(jià)值。

    雖然還有許多其他的碼率控制算法,并且在PC機(jī)上實(shí)現(xiàn)時(shí)效果比TM5算法好,但這些算法模型比TM5算法復(fù)雜得多,而復(fù)雜的算法不適合在處理能力有限的嵌入式系統(tǒng)中實(shí)現(xiàn),因此改進(jìn)后的算法能夠較好的適用于工程實(shí)現(xiàn),該算法已應(yīng)用于多個(gè)工程項(xiàng)目中。

    [1]鐘玉琢.運(yùn)動(dòng)圖像及其伴音通用編碼國際標(biāo)準(zhǔn)——MPEG-2[M].北京:清華大學(xué)出版社,1997.

    [2]JIANG Min-qiang,YI Xiao-quan.Improved Frame-layer Rate Control for H.264 Using Mad Ratio[J].IEEE ISCAS,2004(3):813-816.

    [3]李恒友,李建華,顧丹丹.一種基于復(fù)雜度改進(jìn)的幀級碼率控制算法[J].儀器儀表學(xué)報(bào),2005,26(8):567-569.

    [4]唐田野,劉 釗.一種獲得均勻圖像質(zhì)量的視頻碼率控制方法[J].計(jì)算機(jī)應(yīng)用,2005,25(11):2592-2594.

    猜你喜歡
    宏塊碼率緩沖區(qū)
    嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
    基于狀態(tài)機(jī)的視頻碼率自適應(yīng)算法
    基于場景突變的碼率控制算法
    基于選擇特征宏塊的快速視頻穩(wěn)像
    X264多線程下碼率控制算法的優(yōu)化
    關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
    多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
    基于宏塊合并的H.264模式選擇算法
    地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)
    電視技術(shù)(2012年1期)2012-06-06 08:13:58
    广州市| 岐山县| 尤溪县| 元朗区| 苏尼特右旗| 阆中市| 马鞍山市| 乐东| 伊川县| 太原市| 佛山市| 上杭县| 伽师县| 苏州市| 梁平县| 涞源县| 浦城县| 阳东县| 囊谦县| 阜宁县| 从化市| 大连市| 阳山县| 铁力市| 文登市| 中江县| 岳普湖县| 克什克腾旗| 平江县| 新龙县| 四平市| 灵台县| 灌阳县| 南平市| 拉孜县| 孟津县| 汽车| 敖汉旗| 久治县| 定陶县| 天峻县|