RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自適應(yīng)改變GOP長度的碼率控制算法的研究分析

電子設(shè)計 ? 來源:清華大學(xué)學(xué)報:自然科學(xué)版 ? 作者:余成偉,陸建華,鄭 ? 2021-03-28 12:32 ? 次閱讀

作者:余成偉,陸建華,鄭君里

在H.264/AVC編碼器中,由于采用了固定長度的圖像組(GOP)結(jié)構(gòu),不能有效地處理視頻序列中的場景切換,導(dǎo)致場景切換幀后續(xù)各幀編碼質(zhì)量嚴(yán)重下降。為了有效解決該問題。提出一種自適應(yīng)的碼率控制算法,通過場景切換的快速檢測方法檢測視頻序列中的場景切換,在場景切換幀處終止當(dāng)前COP并對GOP層的碼率分配算法做出修正。仿真結(jié)果表明:采用該算法可以有效地降低場景切換對后續(xù)帖編碼質(zhì)量的影響,而且合理地分配碼率資源,提高了整個視頻序列的編碼質(zhì)量。在相同碼率條件下,整體編碼質(zhì)量可以提高0.3~O.5 dB。

碼率控制技術(shù)在帶寬受限的多媒體通信系統(tǒng)中具有重要的作用。傳統(tǒng)的視頻通信碼率控制算法,如H.264/AVC編碼器中采用的碼率控制算法,在將碼率資源分配到圖像組(GOP)中各幀圖像時,僅僅考慮了各幀圖像自身的復(fù)雜度,而忽視了同GOP中各幀圖像之間的相關(guān)性,如對含有頻繁場景切換的視頻序列進(jìn)行編碼時,GOP中某幀圖像可能因出現(xiàn)場景切換而與其參考幀之間毫無相關(guān)性,如果仍然采用傳統(tǒng)的碼率控制方法,將導(dǎo)致圖像編碼資源浪費和編碼質(zhì)量的下降。

本文提出一種自適應(yīng)改變GOP長度的碼率控制算法,可以有效地節(jié)省碼率資源,并且能夠有效地提高場景切換幀后續(xù)各幀的編碼質(zhì)量和序列整體的編碼質(zhì)量。

1 碼率控制技術(shù)與視頻場景切換

由于視頻序列中I、P及B幀編碼后產(chǎn)生的比特數(shù)不一樣,為了使輸出碼流速率與信道速率相匹配,提高信道利用率,一般在編碼器和信道之間加一個緩沖區(qū),而緩沖區(qū)容量大小與通信時延的要求構(gòu)成了一對新的矛盾,碼率控制的目的就是為了解決這一矛盾。對于編碼器來說,一個魯棒的碼率控制算法應(yīng)該在充分利用帶寬資源和保證緩沖區(qū)不溢出的前提下,將有限的碼率資源進(jìn)行合理分配,獲得盡可能好的編碼質(zhì)量。

當(dāng)視頻序列中出現(xiàn)場景切換時,其編碼質(zhì)量將受到影響,影響程度取決于場景切換幀在其所處GOP中的位置。當(dāng)場景切換發(fā)生在I幀時,由于I幀采用幀內(nèi)編碼模式,場景切換對于I幀本身不會產(chǎn)生任何影響,同時也不會對后續(xù)幀的預(yù)測編碼產(chǎn)生影響;由于B幀為雙向預(yù)測,只要其前后2個參考幀有1幀與其處于同一場景中(假設(shè)序列中沒有連續(xù)2幀同時發(fā)生場景切換),其預(yù)測編碼的精度仍然能夠得到保證,編碼質(zhì)量不會受到很大影響。不同于I幀和B幀,當(dāng)場景切換發(fā)生在P幀,對當(dāng)前GOP編碼質(zhì)量的影響相當(dāng)大:首先,由于當(dāng)前P幀與其參考幀處于不同的場景中,幀間預(yù)測編碼將完全失效,宏塊必須通過RDO(rate-distortion optimiza-tion)模式選擇后才采取幀內(nèi)編碼,優(yōu)化過程極大浪費了編碼時間;其次,由于絕大多數(shù)宏塊采用幀內(nèi)編碼模式,占用了大量的碼率資源,使得后續(xù)各幀由于碼率資源缺乏而編碼質(zhì)量下降,此影響還會延續(xù)至后續(xù)的GOP。

圖1給出了一個有5處場景切換的測試序列(詳見2.3節(jié))在80 kb/s碼率條件下各幀編碼比特曲線和Y分量PSNR(峰值信噪比)曲線。同時,表1也給出了場景切換幀前10幀和后10幀Y分量平均PSNR值數(shù)據(jù)及其變化值。由圖中(虛線表示場景切換幀位置)可以看出,在場景切換時,當(dāng)前幀將占用較多編碼比特資源,從而導(dǎo)致后續(xù)幀由于碼率資源缺乏而PSNR值下降,詳細(xì)數(shù)據(jù)可見表1。

自適應(yīng)改變GOP長度的碼率控制算法的研究分析

現(xiàn)實中的視頻序列,不可避免存在場景切換。如果編碼器不考慮場景切換的影響,就會浪費有限的碼率資源,從而導(dǎo)致編碼質(zhì)量下降。目前,針對場景切換提出了很多碼率控制算法,其中常用的方法是通過改變GOP的結(jié)構(gòu)和長度來重新分配碼率資源。如在文的算法中,當(dāng)檢測到場景切換時,當(dāng)前GOP剩余幀和下一個GOP的所有幀合并為一個GOP,因此,GOP長度要比默認(rèn)長度N大,最糟的情況下為2N-1。由于GOP過長容易導(dǎo)致緩沖區(qū)的溢出,并且導(dǎo)致GOP中后面部分幀的編碼性能下降。在文提出的算法中,采取將過長的GOP拆分成2個新的GOP來解決這個問題,但這樣做的后果是導(dǎo)致增加一個I幀,造成碼率資源的浪費。本文算法與文相比,不額外增加I幀的數(shù)量,可以有效地節(jié)省碼率資源,同時有效地提高場景切換幀后續(xù)各幀的編碼質(zhì)量和序列整體的編碼質(zhì)量。

2 針對場景切換的自適應(yīng)碼率控制算法

2.1 自適應(yīng)碼率控制算法

在該算法中,當(dāng)前GOP的長度將隨著場景切換幀的出現(xiàn)自適應(yīng)地改變,并且同時對碼率資源進(jìn)行重新分配。假設(shè)默認(rèn)的GOP長度為N,分配給每個GOP的碼率資源為

其中:B表示帶寬;F表示幀速率;Rprev表示前一個GOP編碼剩余比特或超支比特。對于第1個GOP來說,Rprev=0。每編碼一幀圖像,R更新如下:

其中Sipb為剛編碼幀(可能為I幀、P幀或B幀)所用的比特數(shù)。當(dāng)GOP所有幀編碼完畢后,Rprev=R。

假設(shè)當(dāng)前GOP在編碼M(M<N)幀后,第M+1幀檢測出場景切換,在H.264編碼算法中,此幀內(nèi)絕大多數(shù)宏塊經(jīng)過RDO優(yōu)化之后均采用幀內(nèi)預(yù)測模式編碼,當(dāng)前GOP也在編完所有N幀之后結(jié)束。采用本文的算法,當(dāng)檢測到第M+1幀有場景切換時,當(dāng)前GOP即提前終止,并提前進(jìn)入下一個GOP的編碼。由上述分析可知,發(fā)生場景切換時當(dāng)前GOP的實際長度為M幀,因此,其預(yù)分配的碼率按

照式(1)計算并不合適,應(yīng)由下式?jīng)Q定:

由于GOP提前終止,其未編碼的N-M幀應(yīng)分配的編碼比特數(shù)為

這部分比特應(yīng)該從當(dāng)前GOP按照式(1)計算的預(yù)分配碼率中減去,則當(dāng)前GOP提前終止時,Rprev應(yīng)該修正如下:

當(dāng)前GOP提前終止后對Rprev做出修正,根據(jù)式(1)則可計算出下一個GOP的預(yù)分配碼率,并開始下一個GOP的編碼。

本算法的前提是必須能檢測出場景切換,因此,快速有效地檢測檢測出場景切換是十分必要的。

2.2 視頻場景切換快速檢測算法

視頻場景切換包含如下幾種類型:突變場景切換、消融和淡入淡出等。目前,已有的場景切換檢測算法分為3類:基于灰度值檢測、基于運動搜索檢測和基于邊緣輪廓檢測。雖然后2種檢測算法具有比較好的性能,但是算法的高復(fù)雜度極大地限制了它們的應(yīng)用,尤其是在對于實時性要求比較高的視頻通信碼率控制算法中。

通過對視頻序列的統(tǒng)計分析發(fā)現(xiàn),當(dāng)有場景切換時,當(dāng)前幀與其參考幀在灰度和色彩信息上有很大的區(qū)別,而沒有場景切換的時候,整個序列的灰度和色彩基本處于平穩(wěn)或者緩變的狀態(tài)。選擇mobile和grandma 2個YUV視頻序列(無場景切換),其各分量(Y為亮度分量,U、V為色度分量)的均值變化緩慢,如圖2所示。同時,對于有頻繁場景切換的視頻序列(以CNN新聞?wù)瑪嗪鸵粋€構(gòu)造序列為例),可知在場景切換處,3個分量的均值全部或部分出現(xiàn)突變,如圖3所示。

圖中mean(x)為枧頻序列X分量的均值,X代表視頻序列的Y、U、V 3個分量。

通過以上分析可知,當(dāng)圖像序列的各分量的均值發(fā)生突變時,一般來說是有場景切換發(fā)生。據(jù)此,采用當(dāng)前幀和參考幀3個分量均值的絕對差值作為判斷當(dāng)前幀圖像是否有場景切換的差異函數(shù)為

其中:mean()為均值函數(shù);Scur和Sref分別表示當(dāng)前幀圖像和其參考幀圖像;X代表其3個分量。

根據(jù)差異函數(shù),判斷是否有場景切換可以依據(jù)式(7)和(8):

當(dāng)式(7)和式(8)同時滿足時,可以判定當(dāng)前幀有場景切換發(fā)生。式中:mean(Y)、mean(U)和mean(V)分別為當(dāng)前GOP內(nèi)當(dāng)前幀之前所有幀各分量均值的平均值;tTHl和tTH2為判決門限系數(shù),分別描述當(dāng)前幀和參考幀之間亮度和色度均值的相對差異和絕對差異。

顯然,上述算法只需要計算各幀圖像3個分量的均值,算法復(fù)雜度非常低,很適合于碼率控

制等實時性要求高的應(yīng)用中。通過對超過2105幀的視頻序列進(jìn)行仿真,超過90%的場景切換能夠被檢測出來,并且誤檢率幾乎為0。

2.3 仿真結(jié)果

為了驗證提出的碼率控制算法,本文采用圖3中兩個序列進(jìn)行驗證。一個是CNN新聞?wù)幸欢涡蛄校≦CIF,277幀共9處場景切換),另一個為將23幀grandma、38幀foreman、27幀news、41幀sales、33幀silent和29幀table合成為一個測試序列(QCIF,191幀共有5處場景切換)。采用本文提出的快速場景切換檢測算法,2個序列共14處場景切換可以全部被檢測出,其中2個參數(shù)tTH1和tTH2分別設(shè)為0.1和10。采用JM8.6平臺,測試序列編碼采取IPPP結(jié)構(gòu),默認(rèn)GOP長度為10。

通過對本文提出的算法和JM8.6算法進(jìn)行仿真比較可知,采用本文的算法,可以有效降低場景切換對后續(xù)幀編碼質(zhì)量的影響,且更合理地分配碼率資源,使編碼后的視頻圖像質(zhì)量更平穩(wěn),同時也可以從整體上提升了視頻序列的編碼質(zhì)量。表1列出了

采用本文算法與JM8.6算法時,測試序列各場景切換點前后10幀Y分量PSNR均值變化情況,從中可以看出采用本文算法可以有效提高場景切換點后續(xù)幀的編碼質(zhì)量;圖4給出了2種算法下測試序列3個分量PSNR值變化曲線,從圖中可以看出,采用本文的算法,重建視頻質(zhì)量更加平穩(wěn),同時也提高了整個序列的平均編碼質(zhì)量,仿真結(jié)果表明當(dāng)給定碼率為80 kb/s,量化參數(shù)Qp初始值為32時,序列3個分量的PSNR值平均可以提高0.36 dB、0.42dB、0.37 dB。對CNN視頻序列進(jìn)行仿真,也可以得到與表1和圖4相似的結(jié)果,在碼率為80 kb/s,初始Qp值為32時序列編碼質(zhì)量可以提高0.3 dB。實驗結(jié)果表明,本文的算法可以有效地將碼率控制在給定碼率,誤差在3%以內(nèi)。

在編碼時間上,本文的算法避免了由于場景切換導(dǎo)致的無效的運動搜索,節(jié)省了場景切換幀的編碼時間,而算法本身引入的額外運算量可以忽略不計,因而節(jié)省了整個序列的編碼時間。仿真結(jié)果也表明,對于含有5個場景切換的P幀的測試序列(191

幀),編碼時間節(jié)省了2%~3%。很顯然,隨著序列中場景切換的P幀數(shù)量占序列總幀數(shù)的比例增大,節(jié)省的編碼時間的比例也會增大。

3 結(jié) 論

本文分析了場景切換對于視頻序列編碼帶來的影響,并提出了一種基于快速場景切換檢測的自適應(yīng)碼率控制算法,有效地降低了場景切換對后續(xù)幀編碼質(zhì)量的影響。結(jié)合H.264/AVC編碼器的實驗研究表明,采用本文的算法,可以更合理地分配碼率資源,使編碼后的視頻圖像質(zhì)量更平穩(wěn),也可以從整體上提升視頻序列的編碼質(zhì)量。同時,本文的算法也降低了場景切換幀的編碼時間,且自身算法復(fù)雜度低,可以有效節(jié)省頻繁場景切換的視頻序列的編碼時間。該算法可有效地應(yīng)用于如新聞?wù)碗娨暥虖V告等有頻繁場景切換的視頻序列編碼,有效地提高其編碼質(zhì)量和降低編碼時間。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3638

    瀏覽量

    134426
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1187

    瀏覽量

    53325
  • 多媒體
    +關(guān)注

    關(guān)注

    0

    文章

    496

    瀏覽量

    36975
收藏 人收藏

    評論

    相關(guān)推薦

    改進(jìn)的變步長LMS自適應(yīng)算法及其應(yīng)用

    算法相比,具有較快的收斂速度.將該算法應(yīng)用于自適應(yīng)噪聲對消系統(tǒng)的仿真,計算機仿真證明該算法的理論分析【關(guān)鍵詞】:LMS
    發(fā)表于 04-26 16:10

    變步長LMS自適應(yīng)濾波算法及其分析

    應(yīng)用于自適應(yīng)控制、雷達(dá)、系統(tǒng)辯識和信號處理等領(lǐng)域。最小均方(LMS)誤差算法是由Widrow和Hoff于1960年提出的,其具有簡單性、魯棒性和易于實現(xiàn)的性能,因此在自適應(yīng)濾波原理中得
    發(fā)表于 04-26 16:12

    場景自適應(yīng)碼率控制算法研究

    H.264 建議的碼率控制算法在處理場景切換問題時存在著一定缺陷。為有效解決此問題,本文提出了一種場景自適應(yīng)碼率
    發(fā)表于 08-13 08:41 ?11次下載

    無線環(huán)境下H.264 碼率自適應(yīng)控制

            本文研究了無線環(huán)境下H.264 碼率自適應(yīng)控制。主要是采用RTP 協(xié)議得到的已丟失報文
    發(fā)表于 09-09 10:37 ?14次下載

    基于碼率預(yù)分配的JPEG2000自適應(yīng)控制算法

    該文提出一種基于碼率預(yù)分配和反饋控制自適應(yīng)控制算法算法引入了預(yù)測模板,對圖像小波變換和量化
    發(fā)表于 11-25 15:34 ?13次下載

    自適應(yīng)阻抗控制算法的仿真實驗研究

    本文針對傳統(tǒng)阻抗控制算法的弊端,詳細(xì)研究了 Seul 提出的自適應(yīng)阻抗控制算法。選取平面機器人參
    發(fā)表于 12-31 16:32 ?23次下載

    基于碼率預(yù)分配自適應(yīng)控制算法

    算法通過特殊選取的模板,在對碼塊獨立進(jìn)行有效比特平面熵估計的同時,通過熵估計的總和控制碼率預(yù)分配。算術(shù)編碼器根據(jù)預(yù)分配的碼率控制編碼深度和優(yōu)
    發(fā)表于 02-07 11:40 ?37次下載
    基于<b class='flag-5'>碼率</b>預(yù)分配<b class='flag-5'>自適應(yīng)</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>

    基于FBRM的自適應(yīng)碼率控制算法

    根據(jù)小波子帶特性自適應(yīng)地選擇Coding Pass進(jìn)入MQ算術(shù)編碼器,先進(jìn)入碼流的Coding Pass反饋控制未進(jìn)入MQ的Coding Pass,查找截斷點,舍棄對最終碼流無貢獻(xiàn)的Coding Pass的碼段。從而提升了整個EBC
    發(fā)表于 02-07 11:43 ?18次下載
    基于FBRM的<b class='flag-5'>自適應(yīng)</b><b class='flag-5'>碼率</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>

    視頻復(fù)雜度自適應(yīng)的H.264基本單元層碼率控制方法

    視頻復(fù)雜度自適應(yīng)的H.264基本單元層碼率控制方法
    發(fā)表于 11-18 16:37 ?0次下載

    無模型自適應(yīng)控制技術(shù)的研究和應(yīng)用

    無模型自適應(yīng)控制技術(shù)的研究和應(yīng)用,有興趣的看看
    發(fā)表于 03-22 11:12 ?11次下載

    自適應(yīng)PID控制算法及應(yīng)用

    自適應(yīng)PID控制算法及應(yīng)用,有需要的下來看看。
    發(fā)表于 04-01 15:04 ?36次下載

    變抽頭長度LMS自適應(yīng)濾波算法

    變抽頭長度LMS自適應(yīng)濾波算法,又需要的下來看看
    發(fā)表于 01-03 11:41 ?12次下載

    基于快速反射鏡的自適應(yīng)控制算法研究_曹洪瑞

    基于快速反射鏡的自適應(yīng)控制算法研究_曹洪瑞
    發(fā)表于 03-19 19:28 ?0次下載

    基于Q-learning的碼率控制算法

    的發(fā)展趨勢。 HAS采用碼流切換技術(shù)動態(tài)調(diào)整碼率,整個過程由自適應(yīng)算法負(fù)責(zé)??捎脦捁浪愫?b class='flag-5'>碼率選擇是客戶端碼率
    發(fā)表于 01-10 10:29 ?0次下載
    基于Q-learning的<b class='flag-5'>碼率</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>

    基于LMS算法自適應(yīng)噪聲抵消器的分析研究

    電子發(fā)燒友網(wǎng)站提供《基于LMS算法自適應(yīng)噪聲抵消器的分析研究.pdf》資料免費下載
    發(fā)表于 10-13 11:24 ?4次下載
    基于LMS<b class='flag-5'>算法</b><b class='flag-5'>自適應(yīng)</b>噪聲抵消器的<b class='flag-5'>分析研究</b>
    RM新时代网站-首页