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

一種HEVC低延時編碼碼率控制算法

2019-04-01 09:10:06郭紅偉
計算機應用與軟件 2019年3期
關鍵詞:分配模型

郭紅偉 劉 帥

1(紅河學院工學院 云南 蒙自 661100)2(電子科技大學信息與通信工程學院 四川 成都 611731)

0 引 言

高效視頻編碼HEVC(High Efficiency Video Coding)是ISO-IEC/MPEG和ITU-T/VCEG兩大國際標準化組織聯合制定的新一代視頻編碼標準[1],其基準檔次已于2013年1月正式發布。盡管其沿用了傳統視頻編碼標準的混合視頻編碼基本框架,但在各個編碼模塊上都進行了改進和革新。編碼的視頻在同等主觀質量情況下,HEVC相比于上一代編碼標準H.264/AVC節省約一半的碼率。在視頻編碼的研究過程中,通常是事先設定量化參數QP進行編碼,根據編碼器輸出對各種編碼工具和編碼優化技術進行定量分析比較。而在實際應用中,要根據存儲設備可提供的存儲空間、傳輸信道可提供的傳輸帶寬及傳輸延遲的限制等設定編碼器的輸出碼率。所以實際應用中的編碼器必須包含碼率控制模塊,每一代視頻編碼標準的制定過程中都推薦了相應的碼率控制算法[2]。

HEVC標準制定過程中主要推薦了兩種碼率控制算法,即URQ(Unified Rate-Quantization)模型碼率控制算法[3]和R-λ模型碼率控制算法[4]。URQ模型是最早被采納進HEVC通用測試軟件HM的碼率控制算法,其利用已有帶寬、幀率、編碼結構、圖像組GOP大小等相關參數確定各個GOP、編碼幀、最大編碼單元LCU的目標比特數。然后通過URQ模型計算編碼幀或LCU級的量化參數QP進行編碼。該算法的最終效果不太理想,通常編碼后生成的碼率與給定的目標碼率之間誤差較大,且編碼視頻的質量明顯下降。文獻[4]提出雙曲模型能最好地描述HEVC編碼器的率失真關系。并基于雙曲模型設計了全新的Lambda域碼率控制算法,在碼率控制精度和率失真性能上都較URQ模型碼率控制有較大提高。HEVC標準發布后,針對HEVC標準實際應用的優化和碼率控制持續成為研究關注的重點,已有許多改進的碼率控制算法被提出[5-10]。文獻[5]利用梯度來表征待編碼幀的復雜度,在R-λ模型框架下提出基于復雜度分析的Intra幀碼率控制算法。針對會話通信視頻編碼,文獻[6]根據視覺感興趣區域提出改善主觀編碼質量的碼率控制算法。由于視頻場景切換時常引起碼率和編碼質量的激烈波動,文獻[7]提出在場景切換發生時對碼率控制的參數以及編碼結構做出相應調整,以改善R-λ模型碼率控制算法的性能。為了減小因碼率控制引起的輸出視頻質量波動,文獻[8]提出恒定視頻質量的碼率控制。然而,以上改進方法在率失真性能方面的提升都比較有限。為了在實施碼率控制的同時獲得更好的編碼器率失真性能,文獻[9-11]從全局率失真最優化視角,提出R-λ模型下的最優比特分配方法。目前,測試軟件HM中集成的碼率控制算法是文獻[4]與文獻[9]相結合的方法。

針對HEVC的低延時編碼結構,本文提出一種Lambda域的三層(控制單元層、GOP層、幀層)碼率控制算法。相比較測試軟件HM中兩層(GOP層、幀層)的碼率控制,本文算法在碼率控制精度和率失真性能兩個方面都有顯著提高;相比較測試軟件HM中三層(GOP層、幀層、LCU層)的碼率控制,本文算法在碼率控制精度上略有降低,但極大地改善了編碼器的率失真性能。

1 R-λ模型碼率控制算法

碼率控制通常包括兩個步驟:比特分配和比特率控制。比特分配過程是根據緩存器充盈度和視頻序列特性為每一個GOP、待編碼幀或待編碼基本單元分配適當的目標比特;比特率控制過程是利用碼率模型根據目標比特計算量化參數進行編碼,使編碼器輸出比特數盡可能等于預先分配的目標比特。

1.1 R-λ模型

視頻編碼中,量化參數QP直接決定預測殘差的編碼比特數,是影響編碼器輸出碼率的主要參數。編碼同一視頻序列時,QP設置越大,則輸出碼率越小;反之,QP設置越小,則輸出碼率越大。然而,由于HEVC采用靈活的四叉樹CU和TU劃分結構及其他越來越復雜的編碼工具,碼流中模式和運動等非殘差信息所占比特開銷越來越大,而量化僅對殘差信息有效。因此在HEVC中建立QP與碼率R的模型進行比特控制不夠精確。根據視頻編碼的率失真理論,拉格朗日乘子λ是編碼視頻率失真曲線上某一點的切線的斜率的絕對值。理論上每一個拉格朗日乘子唯一的對應一組碼率和失真,能極好地用于控制編碼比特數。

文獻[4]提出,在HEVC編碼標準中雙曲函數形式的率失真函數能較好地描述編碼器率失真特性,即:

D(R)=CR-K

(1)

式中:D是編碼失真,用均方誤差MSE(Mean Square Error)表示;R是編碼比特數,用每像素消耗比特bpp(bits per pixel)表示;C和K是與序列特性相關的模型參數。如前文所述,拉格朗日乘子λ是R-D曲線的斜率的絕對值,由式(1)得:

(2)

式中:α和β是與序列內容和編碼結構相關的參數,初始值設為3.200 3和-1.367,編碼過程中,根據已編碼幀的信息進行更新。

獲得拉格朗日乘子λ后,計算量化參數QP進行編碼:

QP=4.200 5×ln(λ)+13.712 2

(3)

1.2 比特分配

HEVC推薦的R-λ模型碼率控制方法可執行在幀級或LCU級,設目標碼率為、幀率為,則平均每幀可用的比特數表示為:

(4)

分配給待編碼GOP的目標比特數如下:

(5)

式中:SW是用于平滑比特分配的滑動窗。

當前GOP中分配給待編碼幀的目標比特數如下:

(6)

式中:ωPic表示編碼幀比特分配權重;CodedGOP表示編碼當前GOP已消耗的比特數。

測試軟件HM中幀層的比特分配有三種可選方式,即等比特分配、固定比率的比特分配和自適應比特分配。其中:等比特分配時,GOP中每一幀的比特分配權重相等;固定比率比特分配時,根據幀級的目標bpp和編碼結構,GOP中每一幀的比特分配權重為某一固定比例值。由文獻[9]提出的自適應比特分配方式則根據幀級的目標bpp、編碼結構和待編碼幀的特性自適應調整每一個GOP中幀級的比特分配權重,其碼率控制精度和編碼性能是三種比特分配中最好的。

2 碼率控制算法設計

針對不同視頻業務的應用,HEVC編碼器的編碼配置可選擇全I幀AI(All-intra)結構、低延時LD(Low-delay)結構、隨機介入RA(Random-access)結構。由于不同編碼配置具有不同的編碼參考結構,相應的碼率控制應充分考慮其率失真依賴性,使碼率控制下的編碼視頻失真最小。本文討論低延時編碼配置下的碼率控制。

2.1 HEVC的低延時編碼結構分析

如圖1所示,HEVC的低延時編碼結構中,GOP的大小默認設置為4,序列起始幀編碼為I幀,并被作為一個單獨的GOP處理,其余GOP中為B/P幀,幀的層級為3、2、3、1,其中層級為1的幀稱為關鍵幀。圖1中的箭頭表示參考關系,在分級編碼結構中,當前編碼幀會選擇其前一已編碼幀和其他最鄰近的3個已編碼關鍵幀作為參考幀。然而,編碼剛開始時由于可參考的已編碼幀數不足4幀,起始幀后的第一個GOP中非關鍵幀(層級為2和3的幀)將被3次作為參考幀,第二個GOP中的非關鍵幀會被2次作為參考幀,之后的GOP中的非關鍵幀則只會被其后一幀參考1次。因此,從編碼中時域失真傳播的視角考慮,改善視頻起始幀和前兩個GOP中編碼幀的編碼質量,將有利于提高編碼視頻的整體率失真性能。

圖1 低延時編碼結構

2.2 R-λ模型參數更新的改進

編碼過程中,由于編碼幀復雜度及參考結構的變化,每一編碼幀的R-λ模型參數(α和β)并不相同。在編碼下一幀前還不能得到它的率失真關系,R-λ碼率控制算法中[4,9],待編碼幀的R-λ模型參數采用與其屬于同一層級且最鄰近的已編碼幀信息進行估算。由于傳統方法的模型參數更新只利用了已編碼幀的實際編碼比特Rreal和拉格朗日乘子λreal,其參數更新的收斂速度和準確度都不夠理想,從而影響了碼率控制的性能。實際上,編碼完一幀后,可以獲得已編碼幀的信息包括實際編碼比特Rreal、拉格朗日乘子λreal還有編碼失真Dreal。鑒于此,由式(1)、式(2)的R-D函數和R-λ函數可直接推導得更新后的R-D模型參數為:

(7)

(8)

然后,R-λ模型參數αnew=Cnew·Knew、βnew=-Knew-1。

2.3 低延時編碼碼率控制算法

通常碼率控制由GOP層、幀層和基本單元層的比特控制組成,基本單元層的比特控制是為了達到更高的比特控制精度。然而由于基本單元層的碼率模型參數的估計誤差較大,編碼過程中經常由于圖像中前面編碼的基本單元消耗太多比特使后面編碼的基本單元預算不足,導致編碼幀質量下降,影響了整個視頻序列的編碼質量。因此,本文的碼率控制算法不使用基本單元層的比特控制。本文碼率控制算法采用控制單元層、GOP層和幀層的比特率控制。為了便于描述,表1列出本節中所使用的符號及其含義。

表1 算法描述采用的符號及其含義

續表1

編碼起始幀后,視頻剩余序列被劃分為多個連續的控制單元,一個控制單元大小約為視頻一秒鐘的幀數。用CW表示控制單元大小,則:

CW=FR%NGOP==0?FR:(FR/NGOP)×NGOP

(9)

式(9)使控制單元大小等于GOP大小的整數倍,用了程序語言表述。控制單元層和GOP層的比特分配如下:

(10)

(11)

編碼完一個控制單元后,其比特消耗誤差會加到下一個控制單元,從而使編碼整個序列的比特等于預算的總比特。若為第一個控制單元,則RLeftPreCW等于0;若為最后一個控制單元,則CW=min{CW,NLeft}。由于編碼一個GOP消耗的實際比特不可能恰好等于預算值,若采用和控制單元層一樣的方式直接把已編碼GOP的比特消耗誤差加到下一個GOP的比特預算,會使GOP級比特出現較大波動。因此,式(11)中的滑動窗SW用于平滑GOP層比特分配,使得編碼比特消耗變化和編碼圖片的質量更加平滑。本文算法中,SW設置為16,且SW=min{SW,NCWLeft}。幀層的比特分配方式采用文獻[9]的自適應比特分配方法,當前GOP中各幀的比特分配權重ωPic由上一已編碼GOP的編碼信息計算得到,但本文算法中使用了2.2節描述的改進R-λ模型。待編碼幀的目標比特由編碼當前GOP前預分配的目標比特和編碼前一幀后預分配的目標比特加權確定:

TPic=θ×TAPic+(1-θ)×TBPicθ∈[0,1]

(12)

式中:

(13)

(14)

控制單元內剩余未編碼幀NCWLeft多于8幀時,式(12)中常數θ取值為0.5;當NCWLeft小于或等于8幀時,取值為1。

算法流程如圖2所示。

圖2 算法流程圖

具體的步驟描述為:

(1) 讀取編碼器配置文件及輸入視頻序列,并對碼率控制參數初始化。

(2) 編碼視頻序列起始幀。

(3) 由式(10)進行控制單元層比特分配,并初始化控制單元層參數NCWcoded=0,CodedCW=0。

(4) 由式(11)進行GOP層比特分配,采用改進的R-λ模型和文獻[9]的方法確定GOP中各幀的比特分配權重ωPic,根據式(14)預分配編碼前GOP中各幀目標比特,初始化GOP層參數使CodedGOP=0。

(5) 由式(12)、式(13) 進行幀層比特分配。

(6) 由式(2)計算待編碼幀的拉格朗日乘子λ,由式(3) 計算待編碼幀的量化參數QP。

(7) 編碼一幀,并根據式(7)、式(8)更新R-λ模型參數,更新GOP層參數CodedGOP=CodedGOP+RActPic。

(8) 判斷已編碼幀是否是GOP中最后一幀,若不是則跳轉至步驟(5);若是則跳轉至步驟(9)。

(9) 更新控制單元層參數NCWcoded=NCWcoded+NGOP,CodedCW=CodedCW+RActGOP。

(10) 判斷已編碼GOP是否是控制單元中最后一個GOP,若不是則跳轉至步驟(4);若是則跳轉至步驟(11)。

(11) 判斷已編碼控制單元是否是序列中最后一個控制單元,若不是則計算控制單元比特誤差RLeftPreCW=TCW-RActCW,并跳轉至步驟(3);若是則跳轉至步驟(12)。

(12) 編碼結束。

3 實驗及結果分析

將本文碼率控制算法集成到HEVC編碼器的參考軟件HM16.7 中,以驗證算法的性能。測試選用提案JCTVC-L1100[12]建議的ClassB、ClassC、ClassD、ClassE中全部16個視頻序列,編碼器配置文件采用encoder_lowdelay_main.cfg。參考軟件HM16.7在不開啟碼率控制情況下,以固定量化參數QP等于37、32、27、22編碼各測試序列,每個被編碼測試序列輸出從低到高的4個碼率作為碼率控制實驗的目標碼率。

碼率控制的目標是要使編碼器輸出碼率近似等于目標碼率情況下,編碼視頻失真最小。所以碼率精確性和率失真性能是評價碼率控制的兩個主要性能指標。碼率精確性用碼率相對誤差描述,定義為:

(15)

式中:Rtar是目標碼率;Ract是實際編碼碼率;RErr越小,表示碼率控制精確性越好。本實驗比較的算法是HM16.7中采用自適應比特分配的R-λ碼率控制算法[9]。其中:不開啟LCU層比特控制記作HEVC幀層率控;開啟LCU層比特控制時記作HEVC LCU層率控。

表2給出了從4種不同的分辨率中選取的4個測試視頻序列在3種碼率控制方法下的實驗數據,表中第4列、第7列和第10列分別是3種算法編碼視頻Y分量的PSNR值。在相同目標碼率下,本文算法編碼視頻的PSNR最大。另外,本文算法的平均碼率誤差是0.054%,低于HEVC LCU層率控的平均碼率誤差0.075%和HEVC幀層率控的平均碼率誤差0.127%。

表2 3種碼率控制算法的實驗結果

為了公平地比較算法的率失真性能,以不開啟碼率控制的HM16.7為基準,計算三種碼率控制算法的BD-Rate。BD-Rate表示在同樣的客觀質量下,測試算法相對于基準的碼率節省,BD-Rate值為負,則說明碼率節省;BD-Rate值為正,則說明碼率增加。由于篇幅所限,這里不單獨列出16個序列的測試結果,表3給出了ClassB、ClassC、ClassD、ClassE數據平均值。HEVC 幀層率控的平均BD-Rate為0.3%,小于HEVC LCU層率控的0.6%,這與前文所述一致。LCU層比特控制能達到更高的碼率控制精度,但降低了編碼器率失真性能。本文算法對ClassB、ClassC、ClassD、ClassE的BD-Rate均是負值,平均為-2.6%,說明本文算法的率失真性能不僅優于HEVC幀層率控和HEVC LCU層率控,而且還優于不開啟碼率控制時的HM16.7。碼率控制精確性方面,本文算法和HEVC LCU層率控的平均碼率相對誤差均小于0.1%,而HEVC幀層率控的平均碼率相對誤差是0.185%。

表3 碼率控制算法的性能比較 %

另外,圖3中是測試序列Kimono和 Johnny的R-D曲線。可以看到,本文算法從低碼率到高碼率均具有最好的率失真性能。

(a) Kimono(1080p)

(b) Johnny(720p)圖3 率失真曲線對比

圖4給出了測試序列Cactus前100幀GOP編碼比特和編碼幀PSNR的比較。本文算法和HEVC幀層率控對序列起始幀的編碼策略一致,故兩種方法編碼的第0 GOP或第0幀消耗比特數和PSNR相同。然而,HEVC幀層率控對前幾個GOP分配較少的比特,致使其編碼幀PSNR急劇下降,造成較大的時域質量波動。本文算法考慮了低延時編碼結構中前兩個GOP編碼質量對后續編碼幀具有更重要的率失真依賴性,從而為其分配了相對較多的比特,不僅提高了編碼視頻的率失真性能,同時減小了編碼視頻的時域質量波動。

圖4 序列Cactus前100幀GOP的編碼比特和編碼幀的PSNR

4 結 語

碼率控制作為視頻編碼控制中的重要環節,是編碼器不可缺少的組成部分,合理有效的碼率控制方法能夠在保證視頻質量的同時提高信道的利用率或滿足存儲需求。本文首先回顧了HEVC推薦的基于R-λ模型碼率控制算法,然后提出一種HEVC低延時編碼碼率控制算法。本文算法在比特分配過程中充分考慮了低延時編碼結構的時域率失真依賴關系,并采用控制單元層、GOP層和幀層的比特控制策略,R-λ模型的參數更新利用了已編碼幀的實際比特、拉格朗日乘子和編碼失真等信息。控制單元層的比特控制通過調整下一個控制單元的目標比特數來填補已編碼控制單元的比特誤差,從而使視頻的實際編碼碼率近似等于目標碼率。實驗結果證明,本文算法在碼率精度和R-D性能方面都取得了較好的效果。

猜你喜歡
分配模型
一半模型
基于可行方向法的水下機器人推力分配
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
應答器THR和TFFR分配及SIL等級探討
遺產的分配
一種分配十分不均的財富
績效考核分配的實踐與思考
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 久久精品只有这里有| 无码丝袜人妻| 无码免费视频| 日韩欧美91| 午夜免费小视频| 国产精品xxx| 国产麻豆va精品视频| 国产高清色视频免费看的网址| 亚洲一区二区三区中文字幕5566| 国产又粗又猛又爽| 国产免费a级片| 黄色三级毛片网站| 国产综合无码一区二区色蜜蜜| 青青操视频免费观看| 久久99蜜桃精品久久久久小说| 四虎国产精品永久一区| 四虎永久免费网站| 国产精品九九视频| 久久综合婷婷| 亚洲精品视频在线观看视频| 高潮爽到爆的喷水女主播视频| 国产免费人成视频网| 久无码久无码av无码| 99热这里都是国产精品| 18禁高潮出水呻吟娇喘蜜芽| 丁香婷婷激情综合激情| 啪啪啪亚洲无码| 国产乱子伦视频三区| 久久国产亚洲偷自| 亚洲成a人片在线观看88| 55夜色66夜色国产精品视频| 国产网友愉拍精品| 一本色道久久88综合日韩精品| 成人午夜免费观看| 中文字幕佐山爱一区二区免费| 国产亚洲精品在天天在线麻豆| 97se亚洲综合在线韩国专区福利| 欧美激情伊人| 国产精品嫩草影院视频| 动漫精品啪啪一区二区三区| 欧美精品成人| 久久久精品久久久久三级| 国产成人久视频免费| 欧美va亚洲va香蕉在线| 欧美a级在线| 四虎成人在线视频| 毛片在线播放a| 9啪在线视频| 免费又爽又刺激高潮网址| 中字无码精油按摩中出视频| 人妻精品久久久无码区色视| 亚洲清纯自偷自拍另类专区| 4虎影视国产在线观看精品| 亚洲大学生视频在线播放 | 香蕉久人久人青草青草| 精品视频福利| 欧美日韩高清| 少妇精品网站| 亚洲v日韩v欧美在线观看| 精品国产一区91在线| 在线亚洲小视频| 九九久久精品免费观看| 五月天久久综合| 色综合久久无码网| 欧美成人h精品网站| 99热这里都是国产精品| 欧美在线精品怡红院| 538国产视频| 精品久久久久成人码免费动漫| 久久国产精品娇妻素人| 波多野结衣一二三| 国产尤物在线播放| 青草国产在线视频| 国产97视频在线| 国产精品99久久久久久董美香| P尤物久久99国产综合精品| 欧美影院久久| 国产香蕉在线视频| 日韩一区精品视频一区二区| 91在线播放免费不卡无毒| 久久熟女AV| 亚洲欧美成人综合|