吳曉光,李國平,王國中,趙海武,滕國偉
(上海大學(xué) 通信與信息工程學(xué)院,上海 200072)
?
面向統(tǒng)計編碼的聯(lián)合比特分配算法
吳曉光,李國平,王國中,趙海武,滕國偉
(上海大學(xué) 通信與信息工程學(xué)院,上海 200072)
在統(tǒng)計編碼系統(tǒng)中,需根據(jù)圖像復(fù)雜度對各路節(jié)目進(jìn)行聯(lián)合比特分配,比特分配的準(zhǔn)確性直接影響了圖像質(zhì)量。因此對圖像復(fù)雜度的準(zhǔn)確評估是統(tǒng)計編碼的難點(diǎn)。鑒于傳統(tǒng)的基于預(yù)測的算法對復(fù)雜度評估存在預(yù)測誤差,提出了將原始幀作為參考幀,通過并行整像素運(yùn)動估計計算各編碼幀的SAD作為統(tǒng)計所需的復(fù)雜度信息,提高了圖像復(fù)雜度評估的準(zhǔn)確性,進(jìn)而提高統(tǒng)計編碼性能。通過測試CBR模式下和提出的統(tǒng)計算法下的視頻碼率以及圖像質(zhì)量來說明所提出算法的可行性。
統(tǒng)計編碼;聯(lián)合比特分配;復(fù)雜度評估
在數(shù)字電視廣播系統(tǒng)中,隨著視頻業(yè)務(wù)大幅度增加,在有限的帶寬內(nèi)傳輸更多節(jié)目的需求日趨迫切[1],根據(jù)信道速度是否固定可劃分為定碼率傳輸(CBR)與變碼率傳輸(VBR)。在CBR模式下,對各路節(jié)目平均分配相同的帶寬,低復(fù)雜度的節(jié)目可能分配高于平均碼率的帶寬,從而造成帶寬浪費(fèi);高復(fù)雜度的節(jié)目可能由于分配碼率低于平均碼率造成圖像質(zhì)量下降。因此對節(jié)目帶寬的合理分配十分關(guān)鍵。統(tǒng)計編碼可使各視頻節(jié)目根據(jù)圖像復(fù)雜度動態(tài)分配信道帶寬,使得復(fù)雜度高的視頻節(jié)目占用較寬的帶寬,避免信道的浪費(fèi),同時保證復(fù)用節(jié)目整體的圖像質(zhì)量。
實(shí)現(xiàn)滿意的統(tǒng)計編碼系統(tǒng)需要編碼器的有效控制,對每個節(jié)目復(fù)雜度的評估是實(shí)現(xiàn)有效控制的前提。傳統(tǒng)的評估方法分為前向策略和反饋策略,基于反饋策略方法是在編碼一幀或多幀之后進(jìn)行,通過統(tǒng)計已編碼幀的特性預(yù)測未來幀的信息,對復(fù)雜度評估比較粗略,尤其出現(xiàn)場景切換時,預(yù)測信息具有很大誤差,不能對圖像變化和場景切換做出快速、準(zhǔn)確的響應(yīng)[2]。
傳統(tǒng)基于前向策略方法是在圖像編碼前,通過專用的圖像復(fù)雜度評估模塊提取復(fù)雜度信息,雖然能對圖像復(fù)雜度變化和場景切換做出迅速響應(yīng),但增加了系統(tǒng)成本[3]。還有算法通過雙行程編碼實(shí)現(xiàn)統(tǒng)計編碼,即一個編碼器用來預(yù)算節(jié)目比特,另一個編碼器(輸入相應(yīng)延后)用來對碼流進(jìn)行實(shí)際編碼,該方法的缺陷是增加了編碼的復(fù)雜度。
基于現(xiàn)有算法的缺陷,本文提出一種統(tǒng)計編碼算法,將原始幀作為參考幀,通過并行整像素運(yùn)動估計計算各編碼幀的絕對差值和(SAD)來實(shí)現(xiàn)對圖像復(fù)雜度的評估。由于是基于并行計算可以快速準(zhǔn)確地統(tǒng)計未來多幀的復(fù)雜度信息,能夠?qū)D像變化、場景切換做出迅速響應(yīng),也滿足了圖像的連續(xù)性需求。并行整像素運(yùn)動估計模塊還完成了編碼器運(yùn)動估計的大部分工作,沒有增加系統(tǒng)成本,并且由于運(yùn)動估計是并行計算,提高了編碼效率。實(shí)驗(yàn)結(jié)果表明本文提出的統(tǒng)計編碼算法提高了節(jié)目的整體質(zhì)量,取得很好的統(tǒng)計編碼性能。
傳統(tǒng)統(tǒng)計編碼可以分為兩類,一是以文獻(xiàn)[3-4]為代表的基于反饋預(yù)測的統(tǒng)計編碼算法,如圖1中標(biāo)號①所示,其原理是通過對前一編碼幀的內(nèi)容分析統(tǒng)計出復(fù)雜度信息,通過預(yù)測計算出當(dāng)前幀的復(fù)雜度信息,作為比特分配的控制參數(shù)。文獻(xiàn)[3-4]分別提出了不同的預(yù)測模型,其中經(jīng)典的預(yù)測模型為線性預(yù)測,如式(1)所示
Ci=αCi-1+β
(1)
式中:α和β為預(yù)測系數(shù),Ci為第i幀的復(fù)雜度。由式(1)可知當(dāng)前編碼幀的預(yù)測值和前一已編碼幀的復(fù)雜度有很大的相關(guān)性。當(dāng)出現(xiàn)場景切換時,由于復(fù)雜度可能相差很大,將出現(xiàn)很大的預(yù)測誤差。為解決此問題,以文獻(xiàn)[5]為代表提出了前向統(tǒng)計策略,在編碼前加入復(fù)雜度評估模塊提前統(tǒng)計出當(dāng)前幀的復(fù)雜度信息,此方法雖然避免了預(yù)測誤差,但復(fù)雜度評估模塊沒有完成其他編碼工作,增加了系統(tǒng)成本,原理如圖1標(biāo)號②所示。根據(jù)上面分析可知,傳統(tǒng)的統(tǒng)計編碼算法可能存在以下兩個缺陷:1)存在預(yù)測誤差;2)增加系統(tǒng)成本。
由于傳統(tǒng)的編碼框架是將重建幀作為參考幀進(jìn)行運(yùn)動估計,無法將運(yùn)動估計模塊獨(dú)立出來。如圖2所示,本文提出將原始幀作為參考幀,將整像素運(yùn)動估計模塊獨(dú)立出來,計算出已緩存各幀的SAD,并將其作為表征復(fù)雜度的參數(shù),由于SAD是實(shí)際計算得出,不存在預(yù)測誤差。同時整像素運(yùn)動估計模塊還計算出整像素運(yùn)動矢量MV′,在編碼模塊將MV′作為搜索起始點(diǎn)進(jìn)行亞像素運(yùn)動估計獲得最終運(yùn)動矢量MV,減少了編碼模塊的計算負(fù)荷。因此,整像素運(yùn)動估計模塊沒有增加系統(tǒng)成本。此外,統(tǒng)計編碼大多應(yīng)用在實(shí)時廣播系統(tǒng)中,對實(shí)時性要求很高,因此在整像素運(yùn)動估計模塊中并行計算SAD,能夠快速準(zhǔn)確地統(tǒng)計未來多幀的復(fù)雜度進(jìn)行聯(lián)合比特分配。
圖1 傳統(tǒng)統(tǒng)計編碼框架示意圖
圖2 本文統(tǒng)計編碼框架示意圖
2.1計算圖像復(fù)雜度
由于統(tǒng)計編碼實(shí)質(zhì)是根據(jù)不同的圖像特性分配大小合適的目標(biāo)比特,提高信道利用率,因此圖像復(fù)雜度定義為在保證圖像質(zhì)量的前提下,能夠反映編碼一幀圖像所需比特數(shù)多少差異的量。
在整像素并行運(yùn)動估計模塊,將原始幀緩沖N幀,根據(jù)幀類型確定編碼幀的參考幀[6],參考幀的選取和AVS編碼標(biāo)準(zhǔn)相似,其中I幀為幀內(nèi)編碼;P幀參考編碼順序的前一I幀或前一P幀;B幀參考前后兩幀,假設(shè)原始序列順序?yàn)镮BBPBBP,參考幀選取如圖3所示。
圖3 參考幀選擇示意圖
圖3中箭頭指向即為該幀的參考幀,參考幀確定后將原始幀作為參考幀,對已緩沖的幀進(jìn)行整像素運(yùn)動估計計算各編碼幀的SAD,如式(2)所示。
(2)
式中:A代表像素區(qū)域,當(dāng)前幀為I幀時,S為當(dāng)前塊的像素值,S′為預(yù)測塊的像素值;當(dāng)前幀為P幀時,S為當(dāng)前幀的像素值,S′為參考幀預(yù)測圖像的像素值。當(dāng)前幀為B幀時,分別計算當(dāng)前幀和兩個參考幀的SAD(計算過程和P幀相同),最終該幀SAD取兩個SAD的均值。
由式(2)可知SAD是實(shí)際計算出的圖像絕對差值和,能準(zhǔn)確反映圖像的紋理信息,而編碼所需比特大小差異主要由紋理特性決定[4]。此外,在視頻編碼標(biāo)準(zhǔn)H.264、AVS中都將SAD/MN(即MAD)作為圖像復(fù)雜度參數(shù)進(jìn)行碼率控制,其中MN為宏塊大小,因此SAD能夠作為表征圖像復(fù)雜度的參數(shù)。由于運(yùn)動估計基于原始幀,本文采取并行運(yùn)動估計,利用多線程根據(jù)式(2)計算各幀的SAD,能夠快速準(zhǔn)確地為統(tǒng)計編碼提供未來多幀的復(fù)雜度信息。
2.2比特分配控制參數(shù)
為了滿足圖像的連續(xù)性,同時對圖像變化做出快速準(zhǔn)確的響應(yīng),本文統(tǒng)計當(dāng)前幀和未來M-1幀的復(fù)雜度信息作為比特分配控制參數(shù),比特分配控制參數(shù)complex計算如
(3)
其中:j為當(dāng)前編碼幀;complex(t,p)為t時刻第p個節(jié)目的比特分配參數(shù);M為大于或等于1的整數(shù),是事先設(shè)定的值;SAD(t,p,i)為t時刻第p個節(jié)目第i幀的SAD。
2.3各節(jié)目的比特分配
由于各路節(jié)目的優(yōu)先級可能不同,為了保證節(jié)目所要求的圖像質(zhì)量,為每個節(jié)目設(shè)置最大碼率m_maxrate和最小碼率m_minrate。各節(jié)目比特分配步驟如下所示:
1)首先對每一路輸入按照步驟2.2計算的比特分配參數(shù)進(jìn)行比特初始分配,即
(4)
(5)
式中:m_allocarate(t,p)為t時刻第p個節(jié)目流分配的比特;N為復(fù)用的節(jié)目總數(shù)(p 2)遍歷各個節(jié)目的初始比特分配,如果m_allocarate(t,p) 4)根據(jù)式(4)為比特未分配完成的節(jié)目進(jìn)行再分配,為最終分配比特,比特分配結(jié)束。 2.4算法流程 1)整像素并行運(yùn)動估計模塊為統(tǒng)計復(fù)用模塊統(tǒng)計圖像復(fù)雜度。 2)統(tǒng)計復(fù)用模塊根據(jù)2.2小節(jié)計算當(dāng)前時刻各節(jié)目的比特分配控制參數(shù)。 3)統(tǒng)計復(fù)用模塊根據(jù)2.3小節(jié)為節(jié)目分配比特,并將分配的比特傳遞給編碼模塊。 4)編碼模塊通過文獻(xiàn)[7]的基于并行編碼的碼率控制調(diào)節(jié)量化參數(shù),從而使得節(jié)目比特在所分配的恒定的范圍內(nèi)。 5)經(jīng)固定時間更新各節(jié)目的比特分配,重復(fù)步驟2)~4)。 3.1測試環(huán)境 為了驗(yàn)證所提出的統(tǒng)計復(fù)用算法性能,視頻編碼采用AVS+,視頻大小720×576,CBR模式下視頻碼率設(shè)置為2 000kbit/s,碼率波動范圍設(shè)置為1 000~4 000kbit/s,GOP為50,復(fù)用類型為TS,輸出類型MUX,輸出碼率9 500kbit/s,采用如表1所示的4組測試序列,本方法已應(yīng)用于某編碼器,經(jīng)權(quán)威部門分別對VBR和CBR情況下的碼率以及圖像質(zhì)量(PQR)進(jìn)行檢測,其中VBR為采取本文統(tǒng)計編碼算法的情況。 表1采用的4組測試圖像序列 通道節(jié)目通道1一般節(jié)目1(低苛刻度、正大綜藝片段1)(40s)通道2一般節(jié)目2(低苛刻度、正大綜藝片段2)(40s)通道3花壇(10s)秋葉(10s)快速轉(zhuǎn)盤(10s)水和松樹(10s)通道4男籃(10s)女排(10s)快艇(10s)滑雪(10s) 3.2視頻碼率檢測 用碼流分析儀對AVS+編碼器輸出碼流進(jìn)行實(shí)時統(tǒng)計分析,循環(huán)三遍的實(shí)時碼率統(tǒng)計如圖4~5所示。 圖4 CBR模式下實(shí)時碼率統(tǒng)計圖 通過分析圖4和圖5可以得出,在采用CBR模式情況下,無論節(jié)目復(fù)雜度高低,各節(jié)目的碼率都在2 000 kbit/s附近波動,對于高復(fù)雜度視頻碼率采用2 000 kbit/s影響圖像質(zhì)量,對于低復(fù)雜度視頻碼率采用2 000 kbit/s造成比特浪費(fèi)。本文提出的統(tǒng)計復(fù)用算法的總碼率和CBR條件下相近,在7 854.6~8 736.5 kbit/s之間,但使用本文算法,通道1(低復(fù)雜度節(jié)目)的實(shí)時碼率在1 400 kbit/s上下波動,通道2、通道3(中等復(fù)雜度節(jié)目)的實(shí)時碼率在2 000 kbit/s上下波動,通道4(高復(fù)雜度節(jié)目)的實(shí)時碼率分別在2 950 kbit/s上下波動,很好地根據(jù)圖像復(fù)雜度進(jìn)行波動變化,使復(fù)雜度高的視頻節(jié)目分配較多比特,達(dá)到很好的復(fù)用性能。 3.3圖像質(zhì)量PQR對比 對圖像質(zhì)量的測試采用PQA600A,它采用基于人類視覺系統(tǒng)的概念,提供一整套可重復(fù)的、并與主觀人眼視覺評估十分接近的客觀圖像質(zhì)量測量。利用圖像質(zhì)量分析儀對編解碼后的圖像進(jìn)行采集和分析,得到逐幀的PQR值(PQR值越小代表圖像質(zhì)量越好)如圖6~7所示曲線圖。 圖6 CBR模式下圖像質(zhì)量測試PQR值逐幀分析圖 圖7 VBR模式下圖像質(zhì)量測試PQR值逐幀分析圖 在序號1~500場景下,通道3和通道1節(jié)目復(fù)雜度相差較大。VBR模式下,通道1相對CBR稍下降(仍具有很好的圖像質(zhì)量),但通道3圖像質(zhì)量提升明顯。 在序號500~1 000場景下,4個通道的復(fù)雜度信息差距較大,在CBR模式下通道1、通道2圖像質(zhì)量較好,通道3、通道4圖像質(zhì)量較差。在VBR模式下,通道1、2相對CBR模式下稍有下降,通道3、4的圖像質(zhì)量得到很大提升。 在序號1 000~1 500情境下,4個通道復(fù)雜度差距減小,在CBR和VBR模式下都取得了很好的圖像質(zhì)量。 在序號1 500~2 000情境下,通道3復(fù)雜度增大,在CBR模式下圖像質(zhì)量較差。VBR模式下,通道1、2、4圖像質(zhì)量相對CBR稍下降(仍具有很好的圖像質(zhì)量),但通道3的圖像質(zhì)量得到極大提升。 表2圖像質(zhì)量測試統(tǒng)計結(jié)果 模式通道PQR值VBR通道14.10通道26.70通道312.20通道48.90平均值8.00均方差2.97CBR通道13.30通道26.60通道314.80通道410.00平均值8.60均方差4.30 如表2所示,各通道圖像質(zhì)量:通道1、通道2在CBR模式下PQR均值分別為3.30,6.60,已經(jīng)達(dá)到了很好的圖像編碼質(zhì)量;在VBR模式下PQR值分別增大了0.80和0.10,圖像質(zhì)量相對有所下降,但仍保持很高的圖像質(zhì)量。通道3、通道4在CBR模式下PQR值分別為14.8,10.0,圖像編碼質(zhì)量較差,在VBR模式下PQR值分別降低了2.60和1.10,圖像質(zhì)量得到了極大的提升。 總體圖像質(zhì)量:CBR模式下,4個通道總的PQR均值為8.60,均方差為4.30;VBR模式PQR均值為8.00,均方差為2.97;總體圖像質(zhì)量相對于CBR 模式,PQR下降0.60,均方差下降1.33。 通過對圖6、圖7以及表2的分析可得,相對于CBR模式,采用本文的統(tǒng)計編碼算法使質(zhì)量好的節(jié)目稍有下降,但仍保持很好的圖像質(zhì)量,質(zhì)量差的節(jié)目質(zhì)量得到顯著提高,縮減了節(jié)目間的質(zhì)量差距,提高了整體圖像質(zhì)量,達(dá)到很好的統(tǒng)計編碼效果。 本文首先分析當(dāng)前統(tǒng)計復(fù)用算法的缺陷,提出了一種新的統(tǒng)計編碼算法。測試了CBR模式下和本文提出的統(tǒng)計算法的視頻碼率以及PQR值,通過實(shí)驗(yàn)數(shù)據(jù)分析來說明本文提出的算法提高了節(jié)目的整體質(zhì)量,取得了很好的統(tǒng)計編碼性能。 [1]董焱鑫,李桂苓,模塊化聯(lián)合碼率控制技術(shù)[J].電子技術(shù)應(yīng)用,2000,8(19):48-50.[2]HE Z,WU D O.Linear rate control and optimum statistical multiplexing for H.264 video broadcast[J].IEEE transactions on multimedia,2008,10(7):1237-1249. [3]BRCZKY L,NGAI A Y,WESTERMANN E F. Statistical multiplexing using MPEG-2 video encoders[J].Ibm journal of research & development,1999, 43(4):511-520. [4]YANG J,F(xiàn)ANG X,XIONG H. A joint rate control scheme for H.264 encoding of multiple video sequences[J].IEEE transactions on consumer electron,2005,51(2):617-623. [5]BOROCZKY L,NGAI A Y.Joint rate control with look-ahead for multi-program video coding[J].IEEE transactions on circuits and systems for video technology,2000,10(7):1159-1163. [6]JIANG X C,LI G P.A novel parallel video coding framework for AVS+ real time encoder[C]//Proc.Pacific-Rim Conference on Multimedia.Nanjing:Springer International Publishing,2013:170-179. [7]吳曉光,李國平.基于并行編碼的碼率控制算法研究[J].電視技術(shù),2015,39(16):78-82. 吳曉光(1990— ),碩士生,主研視頻編解碼技術(shù); 李國平(1974— ),博士,碩士生導(dǎo)師,主要研究方向?yàn)閿?shù)字音視頻編解碼技術(shù),復(fù)用技術(shù),網(wǎng)絡(luò)傳輸技術(shù)等; 王國中(1962— ),博士,教授,博士生導(dǎo)師,主要研究方向?yàn)橐曨l編解碼與多媒體通信,數(shù)字電視,視頻云計算等。 責(zé)任編輯:閆雯雯 Joint bit allocation algorithm for statistical coding WU Xiaoguang,LI Guoping,WANG Guozhong,ZHAO Haiwu,TENG Guowei (CollegeofCommunicationandInformationEngineering,ShanghaiUniversity,Shanghai200072,China) In statistical coding systems,it need to distribute bits to each programs according to its image complexity. The accuracy of the bit allocation directly affects the image quality.Therefore, an accurate assessment of the image complexity is the biggest difficulty.The traditional algorithm based on prediction is an inaccurate way to evaluate image complexity because of the prediction error.Therefore,a statistical coding algorithm is proposed,in which it calculate the SAD by parallel whole-pixel motion estimation using the original frame as reference frame,and treat SAD as the statistical information. In this way, it improves the accuracy of image complexity assessment and statistical coding performance. Experimental results demonstrate the superiority of the scheme by testing video bit rate and PQR under condition of CBR and VBR. statistical coding;joint bit allocation;complexity assessment TN919.8 ADOI: 10.16280/j.videoe.2016.10.023 國家自然科學(xué)基金項(xiàng)目(61271212);工信部電子信息產(chǎn)業(yè)發(fā)展基金項(xiàng)目(1213711) 2015-12-23 文獻(xiàn)引用格式:吳曉光,李國平,王國中,等. 面向統(tǒng)計編碼的聯(lián)合比特分配算法[J].電視技術(shù),2016,40(10):113-117. WU X G,LI G P,WANG G Z,et al. Joint bit allocation algorithm for statistical coding[J]. Video engineering,2016,40(10):113-117.3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)束語