999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2010-06-13 11:32:58王喜民楊鼎才閆俊海
微處理機(jī) 2010年3期
關(guān)鍵詞:策略

王喜民,楊鼎才,閆俊海

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

1 引言

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

圖1 碼率控制原理圖

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

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

2 以往跳幀算法的研究

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

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

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++;

}

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

3 主動(dòng)跳幀策略

3.1 場(chǎng)景切換的檢測(cè)

以往改進(jìn)算法中大部分采用 MADratio,而MADratio也能夠準(zhǔn)確的反映出圖像的復(fù)雜度,但是它卻不能預(yù)測(cè)場(chǎng)景切換幀。因?yàn)镸ADratio算法如下:

對(duì)于存在場(chǎng)景切換的視頻序列,由于場(chǎng)景切換幀與之前幀的幀間相關(guān)性小,場(chǎng)景切換的MADP預(yù)測(cè)不準(zhǔn)確,進(jìn)而造成 MADratio計(jì)算不準(zhǔn)確。因此MADratio不能預(yù)測(cè)場(chǎng)景切換。應(yīng)該采用的是文獻(xiàn)[3]中提到的PSNRdropratio來預(yù)測(cè)場(chǎng)景切換,并作相關(guān)處理。PSNRdropratio的計(jì)算在編碼器計(jì)算完每幀的PSNR值之后進(jìn)行,其計(jì)算步驟如下:

假設(shè)當(dāng)前編碼幀j幀被跳過,利用離j幀最近的j-1幀作為j幀的重構(gòu)幀,計(jì)算出 j幀的PSNR,這里記為 PSNRskip,j,然后利用下式可以計(jì)算 PSNRdrop,j

PSNRdrop,j=PSNRj-1- PSNRskip,j

其中 PSNRj-1為j-1幀的實(shí)際 PSNR

當(dāng)前編碼 j幀的 PSNRdropratio,j,則由下式得到

3.2 主動(dòng)跳幀算法的計(jì)算過程

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

如果當(dāng)前編碼的P幀圖像同時(shí)滿足以下三個(gè)條件,則采用主動(dòng)跳幀策略,不對(duì)該幀編碼,而直接編碼下一幀圖像:

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

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

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

4 試驗(yàn)結(jié)果

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

圖2 主動(dòng)跳幀策略流程圖

表1 三種方法的跳幀結(jié)果比較

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

5 結(jié)束語

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

[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的碼率控制算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2007(5):28-39.

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

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

猜你喜歡
策略
基于“選—練—評(píng)”一體化的二輪復(fù)習(xí)策略
幾何創(chuàng)新題的處理策略
求初相φ的常見策略
例談未知角三角函數(shù)值的求解策略
我說你做講策略
“我說你做”講策略
數(shù)據(jù)分析中的避錯(cuò)策略
高中數(shù)學(xué)復(fù)習(xí)的具體策略
“唱反調(diào)”的策略
幸福(2017年18期)2018-01-03 06:34:53
價(jià)格調(diào)整 講策略求互動(dòng)
主站蜘蛛池模板: 亚洲天堂视频在线观看免费| 一级高清毛片免费a级高清毛片| 国产久操视频| 日韩无码白| 国产欧美日韩在线在线不卡视频| 伊人成色综合网| 狠狠色狠狠色综合久久第一次| 亚卅精品无码久久毛片乌克兰| 日韩欧美国产另类| 亚洲精品少妇熟女| 国产精品部在线观看| 欧洲欧美人成免费全部视频| 久久国产热| 亚洲中文字幕手机在线第一页| 国产成人精品免费视频大全五级| 色偷偷一区二区三区| av尤物免费在线观看| aaa国产一级毛片| 天堂网国产| 亚洲综合久久成人AV| 五月婷婷中文字幕| 欧美视频在线观看第一页| 9cao视频精品| 亚洲中文字幕久久无码精品A| 最新亚洲av女人的天堂| 成人免费视频一区二区三区| 97狠狠操| 久草青青在线视频| 亚洲精品片911| 国产精品亚洲欧美日韩久久| 久久精品国产亚洲麻豆| 国产亚洲视频播放9000| 99视频全部免费| 亚洲色欲色欲www网| 毛片最新网址| 欧美在线观看不卡| 日韩欧美网址| 午夜福利在线观看成人| 国产小视频a在线观看| 亚洲精品自拍区在线观看| 美美女高清毛片视频免费观看| 激情成人综合网| 五月天丁香婷婷综合久久| 亚洲人成网18禁| 国产交换配偶在线视频| 欧美啪啪一区| 福利片91| 成人亚洲视频| 在线网站18禁| 亚洲色大成网站www国产| aaa国产一级毛片| 色成人亚洲| 国产香蕉国产精品偷在线观看| 成人国产精品网站在线看| 精品国产三级在线观看| 天堂亚洲网| 四虎国产成人免费观看| 丁香五月激情图片| 欧美日韩国产在线播放| A级全黄试看30分钟小视频| 69av在线| 丁香五月亚洲综合在线| 欧美日韩亚洲国产主播第一区| 日韩小视频在线观看| 亚洲欧美日韩中文字幕一区二区三区| 2020亚洲精品无码| 久久婷婷色综合老司机| 精品夜恋影院亚洲欧洲| 99精品国产自在现线观看| 亚洲AV无码久久天堂| 欧美特级AAAAAA视频免费观看| 国产成人精品第一区二区| 精品国产亚洲人成在线| 亚洲AⅤ无码国产精品| 久久青草免费91线频观看不卡| 香蕉久人久人青草青草| 国产一区在线观看无码| 欧美狠狠干| 国产偷国产偷在线高清| 婷婷亚洲视频| 少妇精品网站| 精品丝袜美腿国产一区|