亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        H.264碼率控制跳幀算法研究

        2010-06-13 11:32:58王喜民楊鼎才閆俊海
        微處理機 2010年3期
        關鍵詞:碼率緩沖器編碼

        王喜民,楊鼎才,閆俊海

        (河北省燕山大學信息科學與工程學院,秦皇島066004)

        1 引言

        H.264中碼率控制原理如圖1所示,碼率控制的任務就是在保證緩沖器不產生上溢和下溢的前提下,通過調整一些編碼參數(如量化參數)來使編碼比特率達到期望值。以便編碼器輸出碼率能夠在比特率恒定的通信信道和網絡中傳輸,這種利用信道緩沖器對編碼產生的比特數加以控制的技術就是碼率控制。

        圖1 碼率控制原理圖

        在視頻編碼過程中,編碼器和傳輸信道間的緩沖器起了重要的作用。編碼器使緩沖器的占用量保持在50%左右。如果緩沖器發(fā)生上溢,則會損失一些數據,相反,如果緩沖器的占用量過低就會浪費帶寬。緩沖器的輸入端是編碼器產生可變的比特流,輸出端以恒定的比特率把數據傳輸到信道上。輸入緩沖器和輸出緩沖器的數據差值將保存在緩沖器中,為了防止緩沖器上溢,當緩沖器的占用量達到某一個限值時,就跳過下一幀,即該時刻緩沖器沒有輸入只有輸出,從而減小緩沖器的占用量,因此,通過對碼率控制中跳幀的適當控制可以較好地緩解由于場景和物體劇烈運動所帶來的緩存上溢現象,達到優(yōu)化圖像質量的目的。

        這種避免緩存區(qū)的溢位,在碼率控制策略中,選擇跳過一幀或幾幀圖像不對其編碼,就是碼率控制中的跳幀技術。

        2 以往跳幀算法的研究

        以往的跳幀控制算法中,一般都只是將緩沖器的上限定為80%,并將80%作為跳幀的依據,當緩存容量超過80%,將此幀定為跳幀,相反,當緩存容量低于25%的時候,也將此幀定為跳幀。但是這樣處理有其弊端性.事實上,當要編碼的圖像發(fā)生場景變換或者圖像物體運動劇烈的時候,由于圖像包含更多的信息,必然會造成編碼后的比特數上漲,往往會超過緩沖器上閾值的限制,如果就這樣簡單的將其判為跳幀,會導致運動劇烈的圖像丟失,遺漏掉圖像中的重要細節(jié),從而使圖像質量下降。

        跳幀算法中,假定編碼的目標比特率為Bit_Rate,視頻流的幀率為F,緩存區(qū)大小由Buffer_Size表示,緩存區(qū)充盈度用緩存中的比特數Buffer_Fullness表示,當緩存區(qū)充盈度超過一個閾值Threshold,則跳過當前幀不對其編碼,直到當前緩存區(qū)充盈度低于門限值之后,再對此時的圖像進行編碼,通過跳幀的方法可以防止緩存區(qū)溢位。在編碼第一個I幀之前,將Buffer_Fullness初始化為0。設B為剛剛編碼完的第i幀對應的比特數,則跳幀算法為:

        Buffer_Size=Bit_Rate*TimeDelay;

        FrameSkipped=0;

        Buffer_Fullness=Buffer_Fullness+B-Bit_Rate/F;

        while(Buffer_Fullness>=Threshold)

        {

        Buffer_Fullness=Buffer_Fullness-Bit_Rate/F;

        FrameSkipped++;

        }

        其中,FrameSkipped為跳幀數,緊接著上一次編碼的第i幀之后將被編碼的是第(i+1+FrameSkipped)幀。采用跳幀的目的是通過犧牲圖像連續(xù)性來換取圖像質量的穩(wěn)定性。根據人眼的視覺特性,偶爾少量的圖像跳幀,對視頻質量的影響并不大。但是如果發(fā)生頻繁的連續(xù)跳幀,則會引起圖像的停滯、跳躍,嚴重影響視頻通信質量。這在碼率控制策略中,是要堅決避免的。在常規(guī)的碼率控制策略中,通常為了避免溢出,當緩存區(qū)內比特數超過緩存區(qū)空間Bs的80%時,跳過當前幀而不對其作編碼,直到其低于臨界值后再進行編碼。如下式所示:

        3 主動跳幀策略

        3.1 場景切換的檢測

        以往改進算法中大部分采用 MADratio,而MADratio也能夠準確的反映出圖像的復雜度,但是它卻不能預測場景切換幀。因為MADratio算法如下:

        對于存在場景切換的視頻序列,由于場景切換幀與之前幀的幀間相關性小,場景切換的MADP預測不準確,進而造成 MADratio計算不準確。因此MADratio不能預測場景切換。應該采用的是文獻[3]中提到的PSNRdropratio來預測場景切換,并作相關處理。PSNRdropratio的計算在編碼器計算完每幀的PSNR值之后進行,其計算步驟如下:

        假設當前編碼幀j幀被跳過,利用離j幀最近的j-1幀作為j幀的重構幀,計算出 j幀的PSNR,這里記為 PSNRskip,j,然后利用下式可以計算 PSNRdrop,j

        PSNRdrop,j=PSNRj-1- PSNRskip,j

        其中 PSNRj-1為j-1幀的實際 PSNR

        當前編碼 j幀的 PSNRdropratio,j,則由下式得到

        3.2 主動跳幀算法的計算過程

        主動跳幀策略,即在緩存區(qū)并未達到空間上限的80%時,為了保留一些信息量較高,相對重要的圖像,而主動跳過一些跟上一幀圖像相關度較高,相對來說并不十分重要的圖像。通過主動跳幀,可以有效的降低緩存區(qū)充盈度,從而有效的抑制由于緩存區(qū)長期處于高充盈度狀態(tài)。而引發(fā)的圖像連續(xù)跳幀。預先的主動跳幀,降低了緩存區(qū)充盈度,可以有效的防止緩存區(qū)達到極度充盈狀態(tài):即使跳過1幀或2幀圖像仍然不能有效的釋放緩存區(qū)空間,而需要連續(xù)跳過數幀圖像。通過實驗仿真發(fā)現,該主動跳幀策略,可以防止緩存區(qū)長期處于臨界飽和狀態(tài),并且有效的抑制大量圖像的連續(xù)跳幀。

        如果當前編碼的P幀圖像同時滿足以下三個條件,則采用主動跳幀策略,不對該幀編碼,而直接編碼下一幀圖像:

        (1)當前GOP的跳幀標志位Skip_Flag為1。在開始一個GOP的編碼時,將跳幀標志位置0,一旦在當前GOP中有跳幀發(fā)生時,則將Skip_Flag置為1。表示在當前GOP中,通過使用基于預測的拉格朗日最優(yōu)化方法選擇的I幀量化參數進行編碼時,仍然不能完全抑止跳幀的發(fā)生。在當前GOP的編碼中,仍然存在繼續(xù)跳幀的可能性,因此有必要做好主動跳幀的準備。

        (2)當前緩存區(qū)充盈度超過緩存區(qū)空間的60%。即當前緩存區(qū)維持在一個較高的充盈度狀態(tài)。即使緩存區(qū)空間沒有達到上限的80%,但是根據上一條件,可以認為當前GOP存在跳幀的可能性。為了避免當緩存區(qū)充盈度繼續(xù)增加之后,而發(fā)生對跳幀圖像不具選擇能力的被動跳幀,因此在緩存區(qū)充盈度為60%的時候設置一個判決閾。當這個閾值選擇較大,接近80%的時候,則不能有效的通過預判來避免被動跳幀的發(fā)生。而當閾值選擇較小時,則可能造成過多的圖像滿足主動跳幀的條件,被主動跳過而不進行編碼,但是從實際的編碼結果來分析,并不需要有這么多的圖像發(fā)生主動跳幀,而為后續(xù)的相對重要的圖像留出緩存區(qū)空間。因此這個閾值的選擇顯得非常重要,如果選擇不當,反而會導致使用了主動跳幀策略之后比原來的被動跳幀控制有更多的圖像跳幀,對視頻序列的連續(xù)性造成負面的影響。通過對大量序列的仿真發(fā)現,將閾值設置在緩存區(qū)空間的60%,能夠有效起到提前釋放緩存區(qū)空間的作用,為此后一些信息量較高、相對重要的圖像留出編碼空間,使其可以被保留而不被跳幀,同時也有效避免了后續(xù)圖像發(fā)生大量連續(xù)的跳幀。

        (3)計算當前幀的,通過仿真實驗,認為當前幀相對其他的圖像來說,復雜度較低,不存在明顯的場景切換和快速的局部運動。跳過這一幀圖像對此后圖像編碼質量影響不大,仍然可以根據前一幀圖像作為參考幀來進行幀間編碼。保證主動跳幀之后,對整個視頻序列的主觀質量不造成明顯的影響。其算法的流程如圖2所示。該策略可以通過跳過一些復雜度較低,對于整個序列而言并不重要的圖像,來為后面復雜度較高,不能丟失的圖像留出緩存區(qū)空間。通過主動跳幀,降低了緩存區(qū)充盈度,可以有效的防止緩存區(qū)達到極度充盈狀態(tài):即使跳過1幀或2幀圖像仍然不能有效的釋放緩存區(qū)空間,而需要連續(xù)跳過數幀圖像。

        4 試驗結果

        為了分析提出的主動跳幀策略在防止圖像連續(xù)跳幀中的作用,在下表中給出了JVT-H017碼率控制策略跟采用和未采用主動跳幀策略的低延遲碼率控制算法對比實驗的結果分析。選用Stefan標準QCIF測試序列。將每一個GOP的長度定為30幀,其結構為 IPPP,不采用 B幀;在編碼時,將 Basic Unit的大小定為99個宏塊,即一個Basic Unit的大小為一幀圖像的大小,相當于是將碼率控制算法分為GOP層和幀層;每一個序列各編碼150幀圖像,編碼的幀率為30fps,目標比特為120kbps,緩存區(qū)大小為24kbits,相當于允許延時200ms。

        圖2 主動跳幀策略流程圖

        表1 三種方法的跳幀結果比較

        從表1中可以發(fā)現,不論是否采用主動跳幀,該方法在低延遲下都能更好的控制跳幀,這在上文已有詳細的對比分析。在此重點針對采用和未采用主動跳幀策略的實驗結果,來分析主動跳幀策略的作用。在H017方法中,不但跳幀數目最多,共53幀,而且出現了大量的連續(xù)跳幀,其中在第32幀處出現6幀跳幀,然后僅編碼完第38幀,在第39時又出現6幀的跳幀,然后編碼完第45幀,又立即在第46幀處出現連續(xù)的4幀跳幀。這樣連續(xù)的跳幀嚴重影響了視頻的主觀視覺質量,在視頻通信中需要極力避免。在未采用主動跳幀時,共跳幀15幀,其中有1次連續(xù)跳了4幀圖像,1次連續(xù)跳了3幀圖像。其中在第38幀處,連續(xù)跳完2幀之后,僅編碼了第42和43幀后又連續(xù)出現了3幀跳幀。在采用了主動跳幀后,雖然總體的跳幀數量也為15幀,但是最大的連續(xù)圖像跳幀為3幀,且僅出現一次。原來在第38幀處連續(xù)出現的2幀和3幀連續(xù)跳幀,由于在第36幀的主動跳幀,在第38幀時沒有圖像跳幀,僅在第42幀處連續(xù)跳過了3幀圖像。有效的抑制了圖像的連續(xù)跳幀。當然從表1中發(fā)現,主動跳幀策略通過分散的預先跳幀來避免連續(xù)跳幀的發(fā)生。從對比實驗結果可以發(fā)現,雖然在第76幀發(fā)生了主動跳幀,但是其實即使這里沒有主動跳幀,其后續(xù)的P幀都不會發(fā)生跳幀,如果僅在當前的GOP分析,反而增加了圖像的跳幀。但是從整體來分析,主動跳幀緩解了緩存區(qū)的充盈度,雖然在當前沒有明顯的體現出減少跳幀的作用,卻為下一個GOP留出了更多的緩存區(qū)空間,減少其跳幀的可能性,并能提高其編碼質量。通過引入主動跳幀之后,該算法在有效維持圖像質量的同時,仍可以有效的抑制圖像的連續(xù)跳幀。

        5 結束語

        針對傳統的跳幀技術,提出了新的主動跳幀策略。該策略在緩存區(qū)尚未達到跳幀閾值時,主動跳過一些跟上一幀圖像相關度較高,相對來說并不十分重要圖像,來降低緩存區(qū)的充盈度。通過主動跳幀不但可以為視頻中相對重要的圖像留出編碼空間防止其被跳過,并且能夠有效的抑制圖像的連續(xù)跳幀,提高圖像的質量。

        [1]S W WU.Improved Rate Control for Low-Delay Communications in H.264/AVC Video Coding Standard[R].National Yet- sen University,July,2004.

        [2]Minqiangjiang,Xiaoquanyi,Nan Ling.On Enhancing H264 Rate Control by PSN Based Frame Complexity Estimation[J].IEEE Transactions Consumer Electronics,2003(1):281-286.

        [3]劉文堯,龔聲蓉.基于H.264的碼率控制算法的研究與實現[J].計算機應用與軟件,2007(5):28-39.

        [4]周駿華,石繼剛.一種基于運動復雜度的H.264碼率控制跳幀算法[J].浙江工業(yè)大學學報,2006(4):13-15.

        [5]畢厚杰.新一代視頻壓縮編碼標準 -H.264/AVC[M].北京:人民郵電出版社,2005.

        猜你喜歡
        碼率緩沖器編碼
        更正
        輕兵器(2022年3期)2022-03-21 08:37:28
        重載貨車用緩沖器選型的研究及分析
        鐵道車輛(2021年4期)2021-08-30 02:07:14
        基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
        《全元詩》未編碼疑難字考辨十五則
        子帶編碼在圖像壓縮編碼中的應用
        電子制作(2019年22期)2020-01-14 03:16:24
        Genome and healthcare
        基于狀態(tài)機的視頻碼率自適應算法
        計算機應用(2018年7期)2018-08-27 10:42:40
        基于場景突變的碼率控制算法
        X264多線程下碼率控制算法的優(yōu)化
        計算機工程(2015年8期)2015-07-03 12:19:56
        多光譜圖像壓縮的聯合碼率分配—碼率控制方法
        宇航學報(2014年2期)2014-12-15 02:49:06
        欧美精品一级| 免费99视频| 国产丝袜免费精品一区二区| 国产精品亚洲美女av网站| 澳门精品一区二区三区| 精品久久一品二品三品| 久久国产精品一区二区| 国产成人精品一区二三区在线观看 | 久久久精品人妻久久影视| 国产精品厕所| 欧美色图50p| 亚洲国产精品国自产拍av在线| 亚洲精品在线视频一区二区| 久久久久亚洲av成人人电影| 久久人妻少妇嫩草av无码专区| 五月婷婷俺也去开心| 欧美日韩国产专区| 亚洲成a人片在线观看高清| 亚洲国产天堂av成人在线播放| 九九久久精品国产免费av| 精品人妻大屁股白浆无码| 国产在线精品一区在线观看| 荡女精品导航| 国产精品黑色丝袜在线播放| 国产国语一级免费黄片| 国产精品日日做人人爱| 国产av无码专区亚洲av中文| 亚洲av区无码字幕中文色| 无码一区东京热| 三级网站亚洲三级一区| 国产在线观看免费视频软件| 中国丰满人妻videoshd| 亚洲制服中文字幕第一区| 亚洲图片第二页| 日本一区二区三区丰满熟女| 国产日产精品_国产精品毛片| 伊人久久五月丁香综合中文亚洲| 亚洲电影一区二区三区| 国内精品熟女一区二区| 亚洲中文字幕乱码第一页| 中国老太婆bb无套内射|