吳曉光,李國(guó)平,王國(guó)中,趙海武,滕國(guó)偉
(上海大學(xué) 通信與信息工程學(xué)院,上海 200072)
?
面向統(tǒng)計(jì)編碼的聯(lián)合比特分配算法
吳曉光,李國(guó)平,王國(guó)中,趙海武,滕國(guó)偉
(上海大學(xué) 通信與信息工程學(xué)院,上海 200072)
在統(tǒng)計(jì)編碼系統(tǒng)中,需根據(jù)圖像復(fù)雜度對(duì)各路節(jié)目進(jìn)行聯(lián)合比特分配,比特分配的準(zhǔn)確性直接影響了圖像質(zhì)量。因此對(duì)圖像復(fù)雜度的準(zhǔn)確評(píng)估是統(tǒng)計(jì)編碼的難點(diǎn)。鑒于傳統(tǒng)的基于預(yù)測(cè)的算法對(duì)復(fù)雜度評(píng)估存在預(yù)測(cè)誤差,提出了將原始幀作為參考幀,通過(guò)并行整像素運(yùn)動(dòng)估計(jì)計(jì)算各編碼幀的SAD作為統(tǒng)計(jì)所需的復(fù)雜度信息,提高了圖像復(fù)雜度評(píng)估的準(zhǔn)確性,進(jìn)而提高統(tǒng)計(jì)編碼性能。通過(guò)測(cè)試CBR模式下和提出的統(tǒng)計(jì)算法下的視頻碼率以及圖像質(zhì)量來(lái)說(shuō)明所提出算法的可行性。
統(tǒng)計(jì)編碼;聯(lián)合比特分配;復(fù)雜度評(píng)估
在數(shù)字電視廣播系統(tǒng)中,隨著視頻業(yè)務(wù)大幅度增加,在有限的帶寬內(nèi)傳輸更多節(jié)目的需求日趨迫切[1],根據(jù)信道速度是否固定可劃分為定碼率傳輸(CBR)與變碼率傳輸(VBR)。在CBR模式下,對(duì)各路節(jié)目平均分配相同的帶寬,低復(fù)雜度的節(jié)目可能分配高于平均碼率的帶寬,從而造成帶寬浪費(fèi);高復(fù)雜度的節(jié)目可能由于分配碼率低于平均碼率造成圖像質(zhì)量下降。因此對(duì)節(jié)目帶寬的合理分配十分關(guān)鍵。統(tǒng)計(jì)編碼可使各視頻節(jié)目根據(jù)圖像復(fù)雜度動(dòng)態(tài)分配信道帶寬,使得復(fù)雜度高的視頻節(jié)目占用較寬的帶寬,避免信道的浪費(fèi),同時(shí)保證復(fù)用節(jié)目整體的圖像質(zhì)量。
實(shí)現(xiàn)滿意的統(tǒng)計(jì)編碼系統(tǒng)需要編碼器的有效控制,對(duì)每個(gè)節(jié)目復(fù)雜度的評(píng)估是實(shí)現(xiàn)有效控制的前提。傳統(tǒng)的評(píng)估方法分為前向策略和反饋策略,基于反饋策略方法是在編碼一幀或多幀之后進(jìn)行,通過(guò)統(tǒng)計(jì)已編碼幀的特性預(yù)測(cè)未來(lái)幀的信息,對(duì)復(fù)雜度評(píng)估比較粗略,尤其出現(xiàn)場(chǎng)景切換時(shí),預(yù)測(cè)信息具有很大誤差,不能對(duì)圖像變化和場(chǎng)景切換做出快速、準(zhǔn)確的響應(yīng)[2]。
傳統(tǒng)基于前向策略方法是在圖像編碼前,通過(guò)專用的圖像復(fù)雜度評(píng)估模塊提取復(fù)雜度信息,雖然能對(duì)圖像復(fù)雜度變化和場(chǎng)景切換做出迅速響應(yīng),但增加了系統(tǒng)成本[3]。還有算法通過(guò)雙行程編碼實(shí)現(xiàn)統(tǒng)計(jì)編碼,即一個(gè)編碼器用來(lái)預(yù)算節(jié)目比特,另一個(gè)編碼器(輸入相應(yīng)延后)用來(lái)對(duì)碼流進(jìn)行實(shí)際編碼,該方法的缺陷是增加了編碼的復(fù)雜度。
基于現(xiàn)有算法的缺陷,本文提出一種統(tǒng)計(jì)編碼算法,將原始幀作為參考幀,通過(guò)并行整像素運(yùn)動(dòng)估計(jì)計(jì)算各編碼幀的絕對(duì)差值和(SAD)來(lái)實(shí)現(xiàn)對(duì)圖像復(fù)雜度的評(píng)估。由于是基于并行計(jì)算可以快速準(zhǔn)確地統(tǒng)計(jì)未來(lái)多幀的復(fù)雜度信息,能夠?qū)D像變化、場(chǎng)景切換做出迅速響應(yīng),也滿足了圖像的連續(xù)性需求。并行整像素運(yùn)動(dòng)估計(jì)模塊還完成了編碼器運(yùn)動(dòng)估計(jì)的大部分工作,沒(méi)有增加系統(tǒng)成本,并且由于運(yùn)動(dòng)估計(jì)是并行計(jì)算,提高了編碼效率。實(shí)驗(yàn)結(jié)果表明本文提出的統(tǒng)計(jì)編碼算法提高了節(jié)目的整體質(zhì)量,取得很好的統(tǒng)計(jì)編碼性能。
傳統(tǒng)統(tǒng)計(jì)編碼可以分為兩類,一是以文獻(xiàn)[3-4]為代表的基于反饋預(yù)測(cè)的統(tǒng)計(jì)編碼算法,如圖1中標(biāo)號(hào)①所示,其原理是通過(guò)對(duì)前一編碼幀的內(nèi)容分析統(tǒng)計(jì)出復(fù)雜度信息,通過(guò)預(yù)測(cè)計(jì)算出當(dāng)前幀的復(fù)雜度信息,作為比特分配的控制參數(shù)。文獻(xiàn)[3-4]分別提出了不同的預(yù)測(cè)模型,其中經(jīng)典的預(yù)測(cè)模型為線性預(yù)測(cè),如式(1)所示
Ci=αCi-1+β
(1)
式中:α和β為預(yù)測(cè)系數(shù),Ci為第i幀的復(fù)雜度。由式(1)可知當(dāng)前編碼幀的預(yù)測(cè)值和前一已編碼幀的復(fù)雜度有很大的相關(guān)性。當(dāng)出現(xiàn)場(chǎng)景切換時(shí),由于復(fù)雜度可能相差很大,將出現(xiàn)很大的預(yù)測(cè)誤差。為解決此問(wèn)題,以文獻(xiàn)[5]為代表提出了前向統(tǒng)計(jì)策略,在編碼前加入復(fù)雜度評(píng)估模塊提前統(tǒng)計(jì)出當(dāng)前幀的復(fù)雜度信息,此方法雖然避免了預(yù)測(cè)誤差,但復(fù)雜度評(píng)估模塊沒(méi)有完成其他編碼工作,增加了系統(tǒng)成本,原理如圖1標(biāo)號(hào)②所示。根據(jù)上面分析可知,傳統(tǒng)的統(tǒng)計(jì)編碼算法可能存在以下兩個(gè)缺陷:1)存在預(yù)測(cè)誤差;2)增加系統(tǒng)成本。
由于傳統(tǒng)的編碼框架是將重建幀作為參考幀進(jìn)行運(yùn)動(dòng)估計(jì),無(wú)法將運(yùn)動(dòng)估計(jì)模塊獨(dú)立出來(lái)。如圖2所示,本文提出將原始幀作為參考幀,將整像素運(yùn)動(dòng)估計(jì)模塊獨(dú)立出來(lái),計(jì)算出已緩存各幀的SAD,并將其作為表征復(fù)雜度的參數(shù),由于SAD是實(shí)際計(jì)算得出,不存在預(yù)測(cè)誤差。同時(shí)整像素運(yùn)動(dòng)估計(jì)模塊還計(jì)算出整像素運(yùn)動(dòng)矢量MV′,在編碼模塊將MV′作為搜索起始點(diǎn)進(jìn)行亞像素運(yùn)動(dòng)估計(jì)獲得最終運(yùn)動(dòng)矢量MV,減少了編碼模塊的計(jì)算負(fù)荷。因此,整像素運(yùn)動(dòng)估計(jì)模塊沒(méi)有增加系統(tǒng)成本。此外,統(tǒng)計(jì)編碼大多應(yīng)用在實(shí)時(shí)廣播系統(tǒng)中,對(duì)實(shí)時(shí)性要求很高,因此在整像素運(yùn)動(dòng)估計(jì)模塊中并行計(jì)算SAD,能夠快速準(zhǔn)確地統(tǒng)計(jì)未來(lái)多幀的復(fù)雜度進(jìn)行聯(lián)合比特分配。
圖1 傳統(tǒng)統(tǒng)計(jì)編碼框架示意圖
圖2 本文統(tǒng)計(jì)編碼框架示意圖
2.1計(jì)算圖像復(fù)雜度
由于統(tǒng)計(jì)編碼實(shí)質(zhì)是根據(jù)不同的圖像特性分配大小合適的目標(biāo)比特,提高信道利用率,因此圖像復(fù)雜度定義為在保證圖像質(zhì)量的前提下,能夠反映編碼一幀圖像所需比特?cái)?shù)多少差異的量。
在整像素并行運(yùn)動(dòng)估計(jì)模塊,將原始幀緩沖N幀,根據(jù)幀類型確定編碼幀的參考幀[6],參考幀的選取和AVS編碼標(biāo)準(zhǔn)相似,其中I幀為幀內(nèi)編碼;P幀參考編碼順序的前一I幀或前一P幀;B幀參考前后兩幀,假設(shè)原始序列順序?yàn)镮BBPBBP,參考幀選取如圖3所示。
圖3 參考幀選擇示意圖
圖3中箭頭指向即為該幀的參考幀,參考幀確定后將原始幀作為參考幀,對(duì)已緩沖的幀進(jìn)行整像素運(yùn)動(dòng)估計(jì)計(jì)算各編碼幀的SAD,如式(2)所示。
(2)
式中:A代表像素區(qū)域,當(dāng)前幀為I幀時(shí),S為當(dāng)前塊的像素值,S′為預(yù)測(cè)塊的像素值;當(dāng)前幀為P幀時(shí),S為當(dāng)前幀的像素值,S′為參考幀預(yù)測(cè)圖像的像素值。當(dāng)前幀為B幀時(shí),分別計(jì)算當(dāng)前幀和兩個(gè)參考幀的SAD(計(jì)算過(guò)程和P幀相同),最終該幀SAD取兩個(gè)SAD的均值。
由式(2)可知SAD是實(shí)際計(jì)算出的圖像絕對(duì)差值和,能準(zhǔn)確反映圖像的紋理信息,而編碼所需比特大小差異主要由紋理特性決定[4]。此外,在視頻編碼標(biāo)準(zhǔn)H.264、AVS中都將SAD/MN(即MAD)作為圖像復(fù)雜度參數(shù)進(jìn)行碼率控制,其中MN為宏塊大小,因此SAD能夠作為表征圖像復(fù)雜度的參數(shù)。由于運(yùn)動(dòng)估計(jì)基于原始幀,本文采取并行運(yùn)動(dòng)估計(jì),利用多線程根據(jù)式(2)計(jì)算各幀的SAD,能夠快速準(zhǔn)確地為統(tǒng)計(jì)編碼提供未來(lái)多幀的復(fù)雜度信息。
2.2比特分配控制參數(shù)
為了滿足圖像的連續(xù)性,同時(shí)對(duì)圖像變化做出快速準(zhǔn)確的響應(yīng),本文統(tǒng)計(jì)當(dāng)前幀和未來(lái)M-1幀的復(fù)雜度信息作為比特分配控制參數(shù),比特分配控制參數(shù)complex計(jì)算如
(3)
其中:j為當(dāng)前編碼幀;complex(t,p)為t時(shí)刻第p個(gè)節(jié)目的比特分配參數(shù);M為大于或等于1的整數(shù),是事先設(shè)定的值;SAD(t,p,i)為t時(shí)刻第p個(gè)節(jié)目第i幀的SAD。
2.3各節(jié)目的比特分配
由于各路節(jié)目的優(yōu)先級(jí)可能不同,為了保證節(jié)目所要求的圖像質(zhì)量,為每個(gè)節(jié)目設(shè)置最大碼率m_maxrate和最小碼率m_minrate。各節(jié)目比特分配步驟如下所示:
1)首先對(duì)每一路輸入按照步驟2.2計(jì)算的比特分配參數(shù)進(jìn)行比特初始分配,即
(4)
(5)
式中:m_allocarate(t,p)為t時(shí)刻第p個(gè)節(jié)目流分配的比特;N為復(fù)用的節(jié)目總數(shù)(p 2)遍歷各個(gè)節(jié)目的初始比特分配,如果m_allocarate(t,p) 4)根據(jù)式(4)為比特未分配完成的節(jié)目進(jìn)行再分配,為最終分配比特,比特分配結(jié)束。 2.4算法流程 1)整像素并行運(yùn)動(dòng)估計(jì)模塊為統(tǒng)計(jì)復(fù)用模塊統(tǒng)計(jì)圖像復(fù)雜度。 2)統(tǒng)計(jì)復(fù)用模塊根據(jù)2.2小節(jié)計(jì)算當(dāng)前時(shí)刻各節(jié)目的比特分配控制參數(shù)。 3)統(tǒng)計(jì)復(fù)用模塊根據(jù)2.3小節(jié)為節(jié)目分配比特,并將分配的比特傳遞給編碼模塊。 4)編碼模塊通過(guò)文獻(xiàn)[7]的基于并行編碼的碼率控制調(diào)節(jié)量化參數(shù),從而使得節(jié)目比特在所分配的恒定的范圍內(nèi)。 5)經(jīng)固定時(shí)間更新各節(jié)目的比特分配,重復(fù)步驟2)~4)。 3.1測(cè)試環(huán)境 為了驗(yàn)證所提出的統(tǒng)計(jì)復(fù)用算法性能,視頻編碼采用AVS+,視頻大小720×576,CBR模式下視頻碼率設(shè)置為2 000kbit/s,碼率波動(dòng)范圍設(shè)置為1 000~4 000kbit/s,GOP為50,復(fù)用類型為TS,輸出類型MUX,輸出碼率9 500kbit/s,采用如表1所示的4組測(cè)試序列,本方法已應(yīng)用于某編碼器,經(jīng)權(quán)威部門分別對(duì)VBR和CBR情況下的碼率以及圖像質(zhì)量(PQR)進(jìn)行檢測(cè),其中VBR為采取本文統(tǒng)計(jì)編碼算法的情況。 表1采用的4組測(cè)試圖像序列 通道節(jié)目通道1一般節(jié)目1(低苛刻度、正大綜藝片段1)(40s)通道2一般節(jié)目2(低苛刻度、正大綜藝片段2)(40s)通道3花壇(10s)秋葉(10s)快速轉(zhuǎn)盤(10s)水和松樹(shù)(10s)通道4男籃(10s)女排(10s)快艇(10s)滑雪(10s) 3.2視頻碼率檢測(cè) 用碼流分析儀對(duì)AVS+編碼器輸出碼流進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析,循環(huán)三遍的實(shí)時(shí)碼率統(tǒng)計(jì)如圖4~5所示。 圖4 CBR模式下實(shí)時(shí)碼率統(tǒng)計(jì)圖 通過(guò)分析圖4和圖5可以得出,在采用CBR模式情況下,無(wú)論節(jié)目復(fù)雜度高低,各節(jié)目的碼率都在2 000 kbit/s附近波動(dòng),對(duì)于高復(fù)雜度視頻碼率采用2 000 kbit/s影響圖像質(zhì)量,對(duì)于低復(fù)雜度視頻碼率采用2 000 kbit/s造成比特浪費(fèi)。本文提出的統(tǒng)計(jì)復(fù)用算法的總碼率和CBR條件下相近,在7 854.6~8 736.5 kbit/s之間,但使用本文算法,通道1(低復(fù)雜度節(jié)目)的實(shí)時(shí)碼率在1 400 kbit/s上下波動(dòng),通道2、通道3(中等復(fù)雜度節(jié)目)的實(shí)時(shí)碼率在2 000 kbit/s上下波動(dòng),通道4(高復(fù)雜度節(jié)目)的實(shí)時(shí)碼率分別在2 950 kbit/s上下波動(dòng),很好地根據(jù)圖像復(fù)雜度進(jìn)行波動(dòng)變化,使復(fù)雜度高的視頻節(jié)目分配較多比特,達(dá)到很好的復(fù)用性能。 3.3圖像質(zhì)量PQR對(duì)比 對(duì)圖像質(zhì)量的測(cè)試采用PQA600A,它采用基于人類視覺(jué)系統(tǒng)的概念,提供一整套可重復(fù)的、并與主觀人眼視覺(jué)評(píng)估十分接近的客觀圖像質(zhì)量測(cè)量。利用圖像質(zhì)量分析儀對(duì)編解碼后的圖像進(jìn)行采集和分析,得到逐幀的PQR值(PQR值越小代表圖像質(zhì)量越好)如圖6~7所示曲線圖。 圖6 CBR模式下圖像質(zhì)量測(cè)試PQR值逐幀分析圖 圖7 VBR模式下圖像質(zhì)量測(cè)試PQR值逐幀分析圖 在序號(hào)1~500場(chǎng)景下,通道3和通道1節(jié)目復(fù)雜度相差較大。VBR模式下,通道1相對(duì)CBR稍下降(仍具有很好的圖像質(zhì)量),但通道3圖像質(zhì)量提升明顯。 在序號(hào)500~1 000場(chǎng)景下,4個(gè)通道的復(fù)雜度信息差距較大,在CBR模式下通道1、通道2圖像質(zhì)量較好,通道3、通道4圖像質(zhì)量較差。在VBR模式下,通道1、2相對(duì)CBR模式下稍有下降,通道3、4的圖像質(zhì)量得到很大提升。 在序號(hào)1 000~1 500情境下,4個(gè)通道復(fù)雜度差距減小,在CBR和VBR模式下都取得了很好的圖像質(zhì)量。 在序號(hào)1 500~2 000情境下,通道3復(fù)雜度增大,在CBR模式下圖像質(zhì)量較差。VBR模式下,通道1、2、4圖像質(zhì)量相對(duì)CBR稍下降(仍具有很好的圖像質(zhì)量),但通道3的圖像質(zhì)量得到極大提升。 表2圖像質(zhì)量測(cè)試統(tǒng)計(jì)結(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ì)量相對(duì)有所下降,但仍保持很高的圖像質(zhì)量。通道3、通道4在CBR模式下PQR值分別為14.8,10.0,圖像編碼質(zhì)量較差,在VBR模式下PQR值分別降低了2.60和1.10,圖像質(zhì)量得到了極大的提升。 總體圖像質(zhì)量:CBR模式下,4個(gè)通道總的PQR均值為8.60,均方差為4.30;VBR模式PQR均值為8.00,均方差為2.97;總體圖像質(zhì)量相對(duì)于CBR 模式,PQR下降0.60,均方差下降1.33。 通過(guò)對(duì)圖6、圖7以及表2的分析可得,相對(duì)于CBR模式,采用本文的統(tǒng)計(jì)編碼算法使質(zhì)量好的節(jié)目稍有下降,但仍保持很好的圖像質(zhì)量,質(zhì)量差的節(jié)目質(zhì)量得到顯著提高,縮減了節(jié)目間的質(zhì)量差距,提高了整體圖像質(zhì)量,達(dá)到很好的統(tǒng)計(jì)編碼效果。 本文首先分析當(dāng)前統(tǒng)計(jì)復(fù)用算法的缺陷,提出了一種新的統(tǒng)計(jì)編碼算法。測(cè)試了CBR模式下和本文提出的統(tǒng)計(jì)算法的視頻碼率以及PQR值,通過(guò)實(shí)驗(yàn)數(shù)據(jù)分析來(lái)說(shuō)明本文提出的算法提高了節(jié)目的整體質(zhì)量,取得了很好的統(tǒng)計(jì)編碼性能。 [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]吳曉光,李國(guó)平.基于并行編碼的碼率控制算法研究[J].電視技術(shù),2015,39(16):78-82. 吳曉光(1990— ),碩士生,主研視頻編解碼技術(shù); 李國(guó)平(1974— ),博士,碩士生導(dǎo)師,主要研究方向?yàn)閿?shù)字音視頻編解碼技術(shù),復(fù)用技術(shù),網(wǎng)絡(luò)傳輸技術(shù)等; 王國(guó)中(1962— ),博士,教授,博士生導(dǎo)師,主要研究方向?yàn)橐曨l編解碼與多媒體通信,數(shù)字電視,視頻云計(jì)算等。 責(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 國(guó)家自然科學(xué)基金項(xiàng)目(61271212);工信部電子信息產(chǎn)業(yè)發(fā)展基金項(xiàng)目(1213711) 2015-12-23 文獻(xiàn)引用格式:吳曉光,李國(guó)平,王國(guó)中,等. 面向統(tǒng)計(jì)編碼的聯(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é)束語(yǔ)