摘 要: 提出將整個聯(lián)合碼率控制算法分為幾個控制模塊,調(diào)整模塊算法不影響整體控制策略,從而算法更通用。對系統(tǒng)的幾個主要模塊:碼率預測、帶寬分配、量化參數(shù)選擇和緩存器控制的算法進行了討論。最后給出了聯(lián)合碼率控制系統(tǒng)性能評價方法。
關鍵詞: 聯(lián)合碼率控制 模塊化 碼率預測 帶寬分配 量化參數(shù)選擇
隨著視頻及其伴音壓縮編碼標準MPEG-1、MPEG-2的制訂,以其為基礎的數(shù)字視頻系統(tǒng)應用越來越廣。今后,視頻業(yè)務將大幅度增多,在一傳統(tǒng)的固定帶寬信道內(nèi),盡可能多地同時傳送多路經(jīng)MPEG壓縮的視頻節(jié)目的技術會日趨迫切。
1 聯(lián)合碼率控制技術概述
當多路可變碼率(VBR)編碼視頻節(jié)目在同一固定帶寬信道內(nèi)傳輸時,可利用統(tǒng)計復用技術使各節(jié)目碼率相互補償,動態(tài)分配固定信道,充分利用信道資源。但它存在下列缺點:(1)統(tǒng)計復用遵循“大數(shù)定律”,只有復用的業(yè)務數(shù)目N足夠大(N>10)時,各路碼率相互補償,才能產(chǎn)生高的統(tǒng)計復用增益(見第3節(jié))。若信道帶寬有限,同時傳輸?shù)臉I(yè)務數(shù)目不多,則復用后總碼率波動仍會較大,在固定帶寬信道中傳輸容易丟失數(shù)據(jù)。(2)統(tǒng)計復用雖可避免各業(yè)務峰值碼率直接累加,但因圖像內(nèi)容變化不能預知,故復用后總輸出碼率在某一時間段仍可能超過信道帶寬,致使傳輸過程中丟失數(shù)據(jù)。特別是丟失重要信息(如包頭、DCT直流及低頻系數(shù))時,會嚴重影響圖像甚至該圖像所在整個圖像組(GOP)的質(zhì)量。因此單獨的統(tǒng)計復用技術不適用于同時傳輸較少視頻業(yè)務且對圖像質(zhì)量要求較高的數(shù)字視頻廣播領域。
聯(lián)合碼率控制系統(tǒng)(見圖1)綜合各路視頻節(jié)目統(tǒng)計數(shù)字量,對總的可用帶寬進行統(tǒng)一分配,使復用后輸出的碼率不超過帶寬,不丟失數(shù)據(jù),且各路節(jié)目質(zhì)量達到最佳。根據(jù)目前掌握的資料,聯(lián)合碼率控制技術尚處于研究階段,IBM、PHILIPS和DIVICOM等公司正開展此項研究。
與獨立控制MPEG固定碼率編碼中各節(jié)目的碼率不同,聯(lián)合碼率控制系統(tǒng)對各編碼器實施聯(lián)合控制。系統(tǒng)開始工作時,各編碼器可設置為相同量化參數(shù);當系統(tǒng)預測到復用后的碼率超過信道帶寬時,就把有效帶寬按圖像復雜度重新分配,然后改變量化參數(shù),使各編碼器輸出滿足目標碼率。
一些文獻介紹了各自的聯(lián)合碼率控制算法,但均存在一些缺欠,如:通過監(jiān)測信道緩存器的狀態(tài)調(diào)整碼率的算法[1],由于緩存器狀態(tài)并不直接反映圖像變化,因此碼率調(diào)整會導致有相同復雜度圖像的質(zhì)量差別;應用專用芯片的算法不能通用[2];用前一GOP編碼結(jié)果預測碼率[3],使帶寬分配滯后于圖像變化;按自定義的Super GOP(各路節(jié)目對應GOP的組合)和Super Frame(在Super GOP內(nèi)各節(jié)目對應幀的組合)結(jié)構(gòu)分配帶寬[4],未考慮Super GOP內(nèi)的圖像變化。雖然各算法對節(jié)目質(zhì)量有一定改善,但缺乏對圖像變化、帶寬分配、碼率控制和緩存器狀態(tài)的全面考慮,各節(jié)目質(zhì)量難以達到最佳。
為此,本文首次提出模塊化聯(lián)合碼率控制算法,即將整個碼率控制分為幾個控制模塊,使模塊算法相對獨立且其調(diào)整不影響系統(tǒng)控制的策略,算法更通用,能適用不同的編碼芯片。
2 模塊化控制算法
系統(tǒng)可劃分為:碼率預測、帶寬分配、量化參數(shù)選擇和緩存器控制等幾個模塊。圖2只畫出了節(jié)目n與各控制模塊的關系,其它節(jié)目和控制模塊的關系與之相同。
2.1 碼率預測模塊
碼率預測模塊以選定的時間段(幀或GOP)為單位,提取各路視頻節(jié)目的統(tǒng)計信息。有兩種碼率預測方法:前向預測法[1][2]和反饋預測法[3]。前者是在圖像編碼前,對其進行預處理以提取統(tǒng)計數(shù)字量??商崛〉慕y(tǒng)計數(shù)字量有多種,它們的選擇應與編碼器輸出一定質(zhì)量圖像所需碼率密切相關。例如,統(tǒng)計數(shù)字量10表示編碼器輸出同等質(zhì)量圖像的碼率是統(tǒng)計數(shù)字量為5時的2倍。前向預測法對圖像復雜度變化和場景切換的反映迅速,但節(jié)目內(nèi)容千差萬別,活動性與復雜度大不相同,要找到能適應任何圖像內(nèi)容且與輸出碼率密切相關的統(tǒng)計數(shù)字量是個帶有挑戰(zhàn)性的工作。另外,實時前向預測需要預處理芯片,增加系統(tǒng)成本。
反饋預測法是在圖像編碼后,采集編碼過程中產(chǎn)生的統(tǒng)計數(shù)字量(圖2中虛線箭頭),以指導后面圖像編碼。與預處理法相比,反饋法不需對圖像預處理,運算量較小。但統(tǒng)計數(shù)字量只能是編碼過程中產(chǎn)生的一些信息,是用前面圖像的統(tǒng)計數(shù)字量預測后面的圖像,因此反饋預測法對圖像復雜度變化和場景切換的反映不如前項預測法快速。但由于圖像內(nèi)容會持續(xù)一定時間,所以反饋預測法也能對碼率進行預測。
2.2 帶寬分配模塊
帶寬分配模塊可選取多種算法。比較簡單的算法是將可用信道容量分成Cp、C0兩部分,前者按預測的各路節(jié)目碼率分配,使每路節(jié)目保持一可接受的圖像質(zhì)量;后者按各種節(jié)目預測碼率的方差分配,保證復雜節(jié)目得到更多的碼率,使各路節(jié)目的圖像質(zhì)量統(tǒng)一[1]。
帶寬分配模塊還可按碼率預測模塊輸出的統(tǒng)計數(shù)字量計算各路節(jié)目的復雜度,并按其比例分配帶寬[3]。復雜度計算可采用MPEG TM5[5]中相應公式:
C=R×Q
式中,R是圖像編碼的碼率,Q是圖像的平均量化因子(圖像內(nèi)各宏塊量化因子的平均值)。
另一種算法是先定義Super GOP和Super Frame結(jié)構(gòu)[4],并給每個Super GOP分配相同的碼率;然后按TM5中碼率分配方法將Super GOP碼率分配給每個Super Frame;同樣的方法也應用于Super Frame中每一幀的碼率分配。
各節(jié)目質(zhì)量統(tǒng)一體現(xiàn)在圖像有相同的失真度上。根據(jù)率失真理論[6],復雜圖像應分配給較多的碼率時,其失真度與簡單圖像相同。所以,無論采用何種算法分配帶寬,都應使分配給各路節(jié)目的目標碼率與其復雜度成正比。
另外,帶寬分配模塊在什么時間段上分配帶寬也值得考慮。有兩種選擇:以圖像幀或GOP為時間單位。按幀分配碼率,需先確定任一時刻各節(jié)目的圖像類型(各節(jié)目的GOP結(jié)構(gòu)不同,其圖像類型的變化不同步),以便合理分配碼率。從圖像質(zhì)量的穩(wěn)定性上考慮,碼率分配應使整個圖像序列的整體質(zhì)量最優(yōu),而不是某一幀圖像質(zhì)量最佳,大多數(shù)視頻節(jié)目在GOP內(nèi)發(fā)生場景切換的幾率很小,且GOP內(nèi)三種圖像類型I、P、B的排列順序具有重復性。從而可按預先確定的比例分配GOP內(nèi)圖像的碼率,且各幀碼率的波動可在GOP內(nèi)相互補償。如果某一GOP內(nèi)發(fā)生場景切換,可把這一GOP內(nèi)余下圖像與下一GOP合成一個大GOP,使場景切換不影響碼率分配策略。因此,以GOP為單位分配帶寬更合理。
2.3 量化參數(shù)選擇
量化參數(shù)選擇模塊使各編碼器輸出滿足帶寬分配模塊預分配的目標碼率。量化參數(shù)包括量化因子Q和量化矩陣。量化矩陣可在圖像級調(diào)整,量化因子Q可在條或宏塊級調(diào)整。量化矩陣依人的視覺空間頻率特性改變,相對穩(wěn)定。碼率的控制和調(diào)整一般通過改變量化因子實現(xiàn)。圖3是量化因子與輸出碼率的關系。
為使圖像主觀質(zhì)量相對一致,各路節(jié)目應盡量使用相同量化因子[3]。量化參數(shù)選擇模塊可在量化因子取值范圍(1~31)內(nèi)搜索,選擇合適的Q使編碼器輸出最接近的目標碼率。由圖3可知,量化因子較小時,其增減1都會使碼率變化很大。所以,滿足目標碼率的Q有可能不是整數(shù)。如選用整數(shù)Q,即圖像內(nèi)每個宏塊使用相同Q,編碼器輸出可能與目標碼率有偏差,但碼率偏差可在緩存器中相互補償。
圖像平均量化因子也可為小數(shù)值,即圖像內(nèi)條或宏塊選用不同Q值。量化參數(shù)選擇模塊可以結(jié)合人眼特性,預先確定多種Q的選取模板,供圖像按其活動性、復雜度和內(nèi)容等選用,保證圖像主觀質(zhì)量最佳。例如,一幅中間部分細節(jié)較多的圖像Q若是3.75,可讓圖像邊緣占宏塊總數(shù)四分之三的宏塊的Q值取為4,中間部分其它四分之一宏塊的Q值取為3。這樣,不受觀眾注意的圖像邊緣量化較粗,而圖像中心量化較細,整幅圖像主觀質(zhì)量最佳。
2.4 緩存器控制
緩存器控制模塊對碼率加入限制以使緩存器不發(fā)生上、下溢[3]??稍O置一緩存器閾值系數(shù)α,令輸出的總碼率Bf滿足:
αBs≤Bf≤(1-α)Bs
式中Bs為緩存器容量。如果碼率超出此閾值,緩存器控制模塊指導帶寬分配模塊重新分配帶寬。α決定著緩存器利用率的大小,應根據(jù)實際情況靈活選取。
碼率預測、帶寬分配、量化參數(shù)選擇和緩存器控制是聯(lián)合碼率控制系統(tǒng)中最重要的幾個模塊,它們之間并不是獨立、割裂的,而是相互影響、相互制約的。因此,要從使整個系統(tǒng)性能最佳的角度選擇這幾個模塊的算法。
3 聯(lián)合碼率控制性能評價
評價聯(lián)合碼率控制系統(tǒng)性能有兩項指標:統(tǒng)計復用增益(G)與峰值信噪比(PSNR)。多路MPEG VBR視頻節(jié)目的統(tǒng)計復用增益G定義為:在同一固定帶寬信道內(nèi),可傳輸?shù)慕?jīng)過復用且具有同等或更佳圖像質(zhì)量的VBR視頻業(yè)務數(shù)目對可傳輸?shù)腃BR視頻業(yè)務數(shù)目之比[1]。通常G越大,復用性能越佳,可同時復用的VBR視頻業(yè)務數(shù)目也越多。
用PSNR評價聯(lián)合碼率控制系統(tǒng)性能的方法是:求復用后各路VBR視頻節(jié)目的峰值信噪比與傳輸同等數(shù)目CBR視頻節(jié)目時的峰值信噪比之比,所得PSNR的增加量即表征圖像質(zhì)量的改善程度。峰值信噪比的計算式為:
式中,n(x、y、z)是在象素(x、y、z)上疊加的噪聲,M是總的象素數(shù)。
總之,聯(lián)合碼率控制技術能消除統(tǒng)計復用的信息丟失缺陷,將復用后的視頻業(yè)務碼率限制在信道容量之內(nèi),且各節(jié)目的圖像質(zhì)量保持一致,適用于數(shù)字視頻廣播。本文首次提出模塊化聯(lián)合碼率控制,將系統(tǒng)分為幾個控制模塊,模塊算法的調(diào)整不影響整體控制策略,其目的是增強算法的通用性,使其適用不同編碼芯片,得到更廣泛的應用。
對模塊化聯(lián)合碼率控制技術,還有很多待研究的課題。包括選擇合適的算法提高系統(tǒng)運算速度和工作性能;研究不僅按圖像復雜度分配碼率,而且通過設置優(yōu)先級保證重點節(jié)目有足夠碼率的方法;研究較“峰值信噪比”更能正確地反映重建圖像主觀質(zhì)量的客觀量等。
參考文獻
1 Ajanta Guha and Daniel J.Reininger、Multichannel joint rate control of VBR MPEG encoded video for DBS applications、IEEE Transaction on Consumer Electronics、1994;40(3):616~623
2 DIVICOM.Statmux、www.divicom.com、1999
3 L.Boroczky、A.Y.Ngai and E.F.Westerman.Statistical multiplexing using MPEG-2 video encoders.IBM、1999
4 Limin Wang and Andre Vincent.Bit allocation for joint coding of multiple video programs. SPIE、1997;3024:149~158
5 ISO/IEC JTC1/SC29/WG11/N0400、MPEG-2 Test Model 5、Geneva:ISO/IEC、Doc、1993
6 姚慶棟,畢厚杰,王兆華,徐孟俠.圖像編碼基礎.杭州:浙江大學出版社,1993