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

    高效視頻編碼中幀內(nèi)碼率控制改進算法

    2019-04-04 07:38:10李維任鵬趙凡陳亞軍
    西安交通大學學報 2019年4期
    關鍵詞:碼率控制算法像素

    李維,任鵬,趙凡,陳亞軍

    (1.西安理工大學印刷包裝與數(shù)字媒體學院,710048,西安;2.西安電子科技大學通信工程學院,710071,西安)

    多媒體技術和各種智能終端產(chǎn)品促使高清/超高清視頻應用向高分辨率、高幀率、高像素位深快速發(fā)展。新一代視頻編碼標準(HEVC)[1]由于采用了各種先進的編碼工具,如基于大塊的四叉樹分割結構[2]、先進的運動矢量預測技術、35種幀內(nèi)預測技術、內(nèi)部位深擴展技術、像素自適應補償技術等,其編碼性能有了大幅度提高。憑借高的壓縮率和好的視頻質(zhì)量,HEVC逐步走入人們的視野[3]。實際中由于視頻內(nèi)容不斷發(fā)生變化,經(jīng)編碼器后得到的碼率會有較大波動,極易造成上溢或下溢現(xiàn)象,因此HEVC的碼率控制[4]尤為重要,直接影響著視頻編碼標準的實用性。編碼器需要碼率控制模塊調(diào)整輸出的碼流大小,以滿足給定的存儲或傳輸帶寬。

    碼率控制問題實質(zhì)是一種有約束條件的率失真優(yōu)化問題,通過調(diào)整量化參數(shù)來保證編碼碼率與給定的目標碼率相匹配。為了在碼率和失真之間找到一個最優(yōu)的折中點,率失真模型的建立是至關重要的。司俊俊等從理論上分析了編碼幀預測殘差信號的分布特性、量化參數(shù)以及拉格朗日因子之間的關系,提出根據(jù)拉普拉斯分布特性動態(tài)調(diào)整量化參數(shù)獲得有效的碼率控制[5]。Choi等假設信源服從拉普拉斯分布,利用泰勒展開式建立了R-Q模型[6],但基于該模型的碼率控制算法在HEVC中的控制精度不高,特別是運動場景下,模型的性能下降很快??紤]到預測殘差經(jīng)過變換和量化后的系數(shù)中零系數(shù)比例ρ對編碼碼率有著重要的影響,特別是在碼率比較低的情況下,這種影響更加顯著。Liang等提出用R與ρ之間的關系代替R與Q之間的關系,從而建立一種基于R-ρ模型的碼率控制算法[7],該算法利用絕對差均值來估計編碼單元的復雜度,經(jīng)碼率控制后輸出的編碼碼率上下波動較大。隨后,Li等提出碼率和失真之間存在雙曲線函數(shù)關系,推導出一種基于碼率-拉格朗日因子(R-λ)模型的碼率控制算法[8],并且該算法被國際標準組織所采納并且加入到HEVC校驗模型。

    上述方法均是在假設各個視頻區(qū)域相互獨立的情況下,利用率失真優(yōu)化方法指導碼率控制,但對于超高清視頻以及HEVC編碼器,這種假設條件下的碼率控制在一定程度上影響了編碼性能。由于幀內(nèi)幀間預測技術的使用,致使區(qū)域之間的碼率和失真具有一定的關聯(lián)性[9]。Li等研究了時域編碼塊之間的失真特性,建立了失真模型并提出了相應的幀間碼率控制算法[10],Liu等在碼率控制算法中考慮了幀間編碼中的失真漂移特性,以進一步提高編碼效率[11],但是都只考慮了幀間編碼的率失真特性,忽略了幀內(nèi)編碼碼率控制中率失真關聯(lián)特性。Zhou等分析了視頻內(nèi)容的復雜度,提出了一種新的幀內(nèi)碼率控制算法[12],但該算法也未考慮幀內(nèi)預測技術對碼率與失真的影響?;趲瑑?nèi)預測理論,本文分析了鄰近編碼區(qū)域之間的關聯(lián)性,并結合失真漂移現(xiàn)象,提出一種高效視頻編碼(HEVC)幀內(nèi)碼率控制改進算法。實驗結果表明,本文提出的算法可以有效地提高碼率控制的性能,與原始算法相比,在同等碼率的條件下,重構視頻質(zhì)量可平均提高0.1 dB。

    1 幀內(nèi)編碼碼率控制

    碼率控制模塊由碼率分配和量化參數(shù)確定兩部分組成[13]。首先,根據(jù)目標碼率為圖像(GOP)、幀、編碼樹單元(CTU)分別確定最優(yōu)的目標碼率;然后,根據(jù)R-λ模型計算相應的量化參數(shù)[14]。幀內(nèi)碼率控制算法如下。

    (1)GOP層碼率分配。根據(jù)目標碼率R、幀率F、GOP的大小SG、已編碼的幀數(shù)Nc和編碼輸出的碼率Rc,計算GOP的目標碼率為

    RG=SG(R(Nc-w)-RcF)/(wF)

    (1)

    式中:參數(shù)w為滑動窗口的大小,用于保證視頻質(zhì)量的平滑性。

    (2)幀層碼率分配。根據(jù)每一幀在GOP中所占的權重值進行幀層碼率分配,由于幀內(nèi)編碼時每一個GOP只包含一幀,因此該幀的目標碼率RF可估計為

    RF=RG

    (2)

    (3)CTU層碼率分配。第i個CTU的目標碼率Bi取決于幀層的目標碼率和當前CTU的空域復雜度,其計算公式為

    (3)

    (4)

    式中:參數(shù)Rr表示當前幀剩余的目標比特數(shù);A表示已編碼的CTU實際輸出的編碼比特數(shù)。

    (4)量化參數(shù)的確定。為了準確地獲取量化參數(shù),提出一種R-λ模型,通過拉格朗日因子λ值來計算量化參數(shù),R-λ模型表示為

    (5)

    式中:NP表示CTU中所含的像素數(shù);τ、β和χ為模型參數(shù)。量化參數(shù)Qi可表示為

    Qi=4.200 5ln(λi)+13.712 2

    (6)

    在碼率控制模塊的指導下,視頻編碼器得以有效地運行,在保證一定視頻質(zhì)量的同時,輸出的編碼碼率也滿足給定的目標碼率。

    2 改進的R-λ模型

    2.1 幀內(nèi)塊關聯(lián)性分析

    幀內(nèi)預測將在空域上相鄰的已重構的邊界像素作為參考信息進行預測,能夠有效地減少空域冗余,提高視頻編碼的效率。HEVC視頻編碼標準定義了35種幀內(nèi)預測模式,包括33種角度模式、DC模式和Planar模式[15],如圖1所示。

    圖1 幀內(nèi)預測模式

    由于當前像素與周圍像素之間具有強的相關性,幀內(nèi)預測編碼利用最近的像素作為參考,估計當前像素值,但這種方式會引起潛在的編碼失真漂移現(xiàn)象[16]。參考像素是原始像素經(jīng)編碼后的重構像素,其存在一定的失真,并且會隨著幀內(nèi)預測擴散到后續(xù)的像素,從而形成失真帶。圖2給出了參考像素失真?zhèn)鞑サ氖疽鈭D,原始圖像進行編碼時,利用重構圖像中的參考像素進行幀內(nèi)預測,造成失真沿著預測方向傳播,形成失真塊。

    圖2 幀內(nèi)失真漂移示意圖

    d=p(i,j)-p′(i,j)

    (7)

    式(7)可以重寫為

    d=[p(i,j)-pp(i,j)]+[pp(i,j)-p′(i,j)]

    (8)

    d=do+dp

    (9)

    通常,這種幀內(nèi)預測關系可以被描述為一維高斯馬爾科夫模型[17]

    (10)

    式中:θ和η為模型參數(shù)。后半部分失真dp可以表示為

    dp=pp(i,j)-p′(i,j)=

    (11)

    則當前待編碼CTU的總失真

    D=Do+θDr

    (12)

    式中:Do和Dr分別表示當前待編碼CTU的前半部分總失真和后半部分總失真。

    2.2 基于失真漂移的R-λ模型

    基于2.1節(jié)的分析,可以看出CTU的編碼失真與其參考失真之間存在一種線性關系。這種關系是在失真測度為絕對誤差和(SAD)條件下得到的。

    碼率控制屬于率失真優(yōu)化問題,通過拉格朗日優(yōu)化方法可描述為[18]

    (13)

    式中:

    J和λSAD分別表示率失真代價和失真測度為

    SAD下的拉格朗日因子;符號D(i)和R(i)分別表示第i個CTU經(jīng)編碼后產(chǎn)生的總失真和總碼率。對于第i個CTU,它的編碼失真會傳播到右邊第i+1個CTU和相鄰下邊第j個CTU中,因此根據(jù)式(12),可得

    ?J/?R(i)=?D(i)/?R(i)+?D(i+1)/?R(i)+

    ?D(j)/?R(i)+λSAD=?D(i)/?R(i)+

    ?(Do(i+1)+θ(i+1)D(i))/?R(i)+

    ?(Do(j)+θ(j)D(i))/?R(i)+λSAD=

    [1+θ(i+1)+θ(j)]?D(i)/?R(i)+λSAD=

    αi?D(i)/?R(i)+λSAD

    (14)

    所以,式(13)被更新為

    (15)

    (16)

    結合式(5),可得到改進的R-λ模型

    (17)

    式中:參數(shù)αi可利用前一個已編碼塊按照式(14)估算得到。圖3給出了改進R-λ模型的獲取流程。將改進R-λ模型加入到幀內(nèi)碼率控制算法中,可以更準確地計算量化參數(shù),保證編碼碼率與目標碼率的一致性。

    3 實驗結果

    圖3 改進R-λ模型的獲取流程圖

    為了驗證幀內(nèi)碼率控制改進算法的有效性,利用HEVC編碼器的參考軟件HM16.0,對各種標準序列進行相關指標測試。

    標準序列使用JCTVC組

    織提供的Class B、Class C、Class D、Class E這4類序列,其涵蓋了不同分辨率、不同紋理的視頻。本實驗分別在幀內(nèi)編碼配置Intra_only Main(IM)、Intra_only Main10(IM10)和幀內(nèi)幀間編碼配置RA Main(RM)和RA Main10(RM10)環(huán)境[20]下進行測試。編碼幀數(shù)設置為300,硬件采用Window7平臺,處理器為Intel Core i5-4590。本文從編碼效率和編碼復雜度兩方面評價改進模型的總體性能。

    3.1 編碼效率

    首先本文從編碼效率上來驗證所提算法的性能,評價的指標是ΔRbit和ΔPSNR[21]。ΔRbit反映編碼輸出碼率的變化情況,值為負,表示編碼比特率Rbit減小;ΔPSNR反映視頻質(zhì)量的變化情況,值為正,表示峰值信噪比PSNR增大。

    在幀內(nèi)編碼IM和IM10配置下采用本文改進算法和原有算法的性能進行對比,結果如表1所示。由表1可以看出:在IM配置下本文算法的比特率平均降低了1.4%,峰值信噪比平均提高了0.11 dB;在IM10配置下本文算法的比特率平均降低了1.7%,峰值信噪比平均提高了0.13 dB。由于本文算法是在幀內(nèi)預測編碼原理的基礎上結合率失真優(yōu)化推導出的改進算法,因此編碼效率得到了提升。為了證明本文算法對幀內(nèi)幀間聯(lián)合編碼配置也有貢獻,分別在RM和RM10配置下對本文改進算法和原有算法的性能進行對比,結果見表1。從表1可以看出:在RM配置下本文算法的比特率平均降低了0.5%,峰值信噪比平均提高了0.05 dB;在RM10配置下本文算法的比特率平均降低了0.6%,峰值信噪比平均提高了0.08 dB,說明在幀內(nèi)幀間聯(lián)合編碼的情況下,本文算法的編碼效率也有一定提升;因為幀內(nèi)幀間聯(lián)合編碼下的幀內(nèi)塊數(shù)量較少,所以編碼效率提升的幅度沒有幀內(nèi)編碼下編碼效率提升的高。

    表1 本文算法與原有算法性能對比

    注:ΔRbit為本文算法編碼率與原有算法編碼率之間的差值;ΔPSNR為本文算法峰值信噪比與原有算法峰值信噪比之間的差值;ΔT為本文算法編碼時間與原有算法編碼時間的差值。

    圖4給出了Kimono序列和BQSquare序列的率失真性能曲線,其中Kimono序列的分辨率為1 920×1 080像素,BQSquare序列的分辨率為416×240像素。由圖4可以看出,本文所提算法的率失真性能位于原有算法的率失真性能之上,反映了在給定碼率下,本文改進算法具有更高的峰值信噪比值。表2給出了IM10配置下本文改進算法與文獻[12]算法的性能對比結果。由表2可以看出,由于本文所提算法考慮了幀內(nèi)失真漂移現(xiàn)象,因而在幀內(nèi)碼率控制方面優(yōu)于文獻[12]算法。

    (a)IM配置下Kimono序列

    (b)IM10配置下Kimono序列

    (c)IM配置下BQSquare序列

    (d)IM10配置下BQSquare序列圖4 不同配置不同視頻序列的率失真曲線

    序列ΔRbit/%ΔPSNR/dBBqsquare_416×240-1.10.08RaceHorses_832×480-1.00.10Vidyo1_1280×720-1.10.09BasketballDrive_1920×1080-1.40.12均值-1.150.10

    3.2 編碼復雜度

    本文使用編碼時間差ΔT作為編碼復雜度的評價指標,ΔT定義為

    ΔT=(Tm-To)/To

    (18)

    式中:Tm表示本文改進算法被應用到碼率控制中后所耗的編碼時間;To表示原有算法被應用到碼率控制中后所耗的編碼時間。從表1可以看出,無論是全幀內(nèi)編碼還是幀內(nèi)幀間編碼,與原有算法相比,本文所提算法的編碼時間增幅非常小,編碼復雜度幾乎沒有大的影響。綜上,本文改進算法在提高編碼效率的同時,并未帶來高的編碼負擔。

    4 結 論

    碼率控制模塊在視頻編碼中起著重要的作用,其率失真模型的好壞直接影響著最終的編碼性能。本文針對HEVC的率失真模型,提出一種改進的幀內(nèi)碼率控制算法。通過分析幀內(nèi)預測編碼技術,找出度量失真漂移的方法,結合率失真優(yōu)化原理,建立了考慮幀內(nèi)塊關聯(lián)特性的改進R-λ模型。實驗結果表明,本文所提的改進算法具有較高的幀內(nèi)編碼性能,在相同碼率下重構視頻質(zhì)量可平均提高0.1 dB。

    猜你喜歡
    碼率控制算法像素
    趙運哲作品
    藝術家(2023年8期)2023-11-02 02:05:28
    像素前線之“幻影”2000
    “像素”仙人掌
    基于狀態(tài)機的視頻碼率自適應算法
    計算機應用(2018年7期)2018-08-27 10:42:40
    基于ARM+FPGA的模塊化同步控制算法研究
    高像素不是全部
    CHIP新電腦(2016年3期)2016-03-10 14:22:03
    基于場景突變的碼率控制算法
    X264多線程下碼率控制算法的優(yōu)化
    計算機工程(2015年8期)2015-07-03 12:19:56
    一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應用
    電源技術(2015年9期)2015-06-05 09:36:06
    多光譜圖像壓縮的聯(lián)合碼率分配—碼率控制方法
    宇航學報(2014年2期)2014-12-15 02:49:06
    闸北区| 南平市| 东港市| 平顶山市| 枝江市| 永新县| 曲靖市| 龙山县| 八宿县| 鲜城| 福州市| 广汉市| 夏邑县| 永平县| 张北县| 连城县| 蓝田县| 教育| 九江县| 廉江市| 晋宁县| 嘉兴市| 蓝山县| 防城港市| 瓮安县| 达孜县| 西昌市| 遵义县| 镇远县| 宜良县| 万全县| 墨玉县| 宿松县| 文安县| 淳安县| 渝北区| 金堂县| 阜阳市| 武定县| 兰州市| 洛宁县|