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