【摘要】由于WMV-9編碼的性能均衡性和對(duì)流媒體的支持,特別是成為視頻編碼標(biāo)準(zhǔn)后,使得Windows Media編碼器得到了廣泛應(yīng)用。編碼器根據(jù)不同的環(huán)境可以進(jìn)行豐富的配置,其中編碼模式是十分重要的設(shè)置對(duì)象。編碼模式分為CBR和VBR,它們各自又有不同的配置方式。靈活掌握各種編碼模式的設(shè)置將可以得到滿意的編碼效果和編碼質(zhì)量,以滿足不同的編碼需求和網(wǎng)絡(luò)適應(yīng)性。
【關(guān)鍵字】編碼器;WMV-9;編碼模式;CBR;VBR
【中圖分類號(hào)】G40-057 【文獻(xiàn)標(biāo)識(shí)碼】A 【論文編號(hào)】1009—8097(2008)13—0132—06
Windows Media是Microsoft公司推出的流媒體技術(shù)應(yīng)用解決方案,目前的最新版本為WindowsMedia 9 Series。Windows Media 視頻采用WMV-9的編碼格式[1]。2006年初,活動(dòng)圖像和電視工程師協(xié)會(huì)(SMPTE)正式頒布了由微軟提出并開發(fā)的VC-1(即WMV)為視頻編碼標(biāo)準(zhǔn),加上 WMV-9強(qiáng)大的均衡性和強(qiáng)大的軟件支持,成為與目前被普遍看好的H.264的相互競(jìng)爭(zhēng)的對(duì)手[2]。在Windows平臺(tái)上,配置一套Windows Media流媒體應(yīng)用系統(tǒng),成本最低,并且有Windows支持,系統(tǒng)較容易構(gòu)架,也十分穩(wěn)定,使得WMV-9的編碼器的應(yīng)用十分普遍。
在應(yīng)用中發(fā)現(xiàn),根據(jù)不同的編碼環(huán)境,編碼器會(huì)提供許多技術(shù)手段和屬性的選擇選項(xiàng),以達(dá)到最佳的編碼效果,其中編碼模式就是關(guān)鍵性環(huán)節(jié)之一。能否成功地配置編碼模式,將成為影響編碼效果和編碼質(zhì)量的主要因素。
一 視頻編碼模式
視頻編碼模式分為恒定碼率(Constant Bit Rate,CBR)和可變碼率(Variable Bit Rate,VBR)。
1 CBR編碼
使用CBR編碼時(shí),比特率在流的進(jìn)行過(guò)程中基本保持恒定并且接近目標(biāo)比特率,始終處于由緩沖區(qū)大小確定的時(shí)間窗內(nèi)。因此在流式播放方案中使用CBR編碼最為有效。CBR編碼的缺點(diǎn)在于編碼內(nèi)容的質(zhì)量不穩(wěn)定。有些內(nèi)容的某些片段要比其他片段更難壓縮,所以CBR流的某些部分質(zhì)量就比其他部分差。此外,CBR編碼會(huì)導(dǎo)致相鄰流的質(zhì)量不同。通常在較低比特率下,質(zhì)量的變化會(huì)更加明顯。
2 VBR編碼
使用VBR編碼時(shí),系統(tǒng)將自動(dòng)為內(nèi)容的簡(jiǎn)單部分分配較少的比特率,從而留出足量的比特用于生成高質(zhì)量的復(fù)雜部分。這意味著復(fù)雜性恒定的內(nèi)容(例如新聞播音)不會(huì)受益于VBR編碼。對(duì)混合內(nèi)容使用 VBR 編碼時(shí),在文件大小相同的條件下,VBR編碼的輸出結(jié)果要比CBR編碼的輸出結(jié)果質(zhì)量好得多。在某些情況下,與CBR編碼文件質(zhì)量相同的VBR編碼文件,其大小可能只有前者的一半。當(dāng)編碼內(nèi)容中混有簡(jiǎn)單數(shù)據(jù)和復(fù)雜數(shù)據(jù)(例如,在快動(dòng)作和慢動(dòng)作間切換的視頻)時(shí),VBR編碼是很有優(yōu)勢(shì)的,它關(guān)注更多的是編碼后的內(nèi)容質(zhì)量。
與CBR相比,VBR具有下列的優(yōu)勢(shì)[3]:
(1) 在相同的平均比特率條件下,VBR編碼具有更佳的視頻質(zhì)量;
(2) 由于編碼器的緩沖區(qū)大小可以減少,使用VBR編碼具有更短的傳輸時(shí)延;
(3) 由于VBR視頻的每一次呼叫的帶寬比同效質(zhì)量的CBR要低,所以具有更強(qiáng)的呼叫-執(zhí)行能力。
VBR一般分為三種[4]:基于質(zhì)量的VBR(Quality-based VBR)、不受限的VBR(Unconstrained VBR)、和受限的VBR(Constrained VBR)。
基于質(zhì)量的VBR允許應(yīng)用程序設(shè)置一個(gè)質(zhì)量等級(jí)(取值1-100),編碼器根據(jù)這個(gè)等級(jí),將所有源數(shù)據(jù)內(nèi)容編碼成相近的質(zhì)量水平,而不在乎實(shí)際使用多少碼流。編碼后的這種文件帶給用戶的播放體驗(yàn)是上佳的,但它的缺點(diǎn)同樣很明顯:在編碼前完全不能估計(jì)最終編碼后的數(shù)量大小,而且比特率變動(dòng)的范圍可能很大,不能確定流化這種文件實(shí)際的帶寬要求。因此,使用基于質(zhì)量的VBR模式編碼出來(lái)的媒體內(nèi)容最適合本地播放,而不大適合內(nèi)存或帶寬有限的環(huán)境。
不受限的VBR與CBR類似,要求應(yīng)用程序設(shè)置一個(gè)目標(biāo)比特率。不同的是,這個(gè)比特率僅僅是用作參考的平均比特率水平。在保持這個(gè)平均比特率的前提下,編碼器盡量提高編碼后內(nèi)容的質(zhì)量。在已編碼的數(shù)據(jù)流中,任意一般時(shí)間內(nèi)的比特率大小可能會(huì)偏離平均比特率水平較遠(yuǎn)。在不受限的VBR編碼模式下,緩沖窗口大小不由應(yīng)用程序設(shè)置,而且由編碼器內(nèi)部計(jì)算獲得[5,6]。
受限的VBR其實(shí)與不受限的VBR很相似。不受限的VBR模式下,比特率的最高水平和實(shí)際的緩沖窗口大小是不可預(yù)知的。受限的VBR針對(duì)這種情況,允許應(yīng)用程序設(shè)置兩個(gè)最大值:最大比特率和最大緩沖窗口。極端情況下,當(dāng)這兩個(gè)最大值很大時(shí),受限的VBR和不受限的VBR兩種模式編碼出來(lái)的碼流效果是一樣的。圖1給出了CBR與3種VBR編碼后的碼率水平的對(duì)比[4,7]。

二 Windows Media編碼器中的編碼模式
CBR和VBR編碼模式現(xiàn)已廣泛應(yīng)用于各種視頻和音頻的編碼特別是流媒體的編碼中,Microsoft公司的Windows Media編碼器也采用了這些方案[8]。對(duì)于編碼屬性的設(shè)置都在“會(huì)話屬性”對(duì)話框中。Windows Media編碼器默認(rèn)的編碼模式為CBR(包括視頻和音頻,由于本文主要關(guān)心視頻編碼,對(duì)于音頻編碼的配置,可以參照視頻編碼),打開“會(huì)話屬性”|“壓縮”標(biāo)簽項(xiàng)即可見到如圖2的默認(rèn)界面:
雖然Windows Media編碼器能提供多種不同的目標(biāo)文件類型,如能將視頻源編碼成文件下載(計(jì)算機(jī)播放)、硬件設(shè)備(CD、DVD或便攜)、Windows Media服務(wù)器(流式處理)、Web服務(wù)器(漸進(jìn)式下載)、Windows Media硬件配置文件、Pocket PC、文件存檔等多種類型,但用Windows Media編碼器一般是制作流媒體文件,以供實(shí)況流廣播或作資源點(diǎn)播,所以我們將目標(biāo)文件設(shè)置為Windows Media服務(wù)器流式處理的文件格式類型。
點(diǎn)擊如圖2所示的“編輯”按鈕,即打開如圖3所示的“自定義編碼設(shè)置對(duì)話框,在這里可以設(shè)置不同的編碼模式和不同的比特率。下面將比較不同的編碼模式對(duì)文件的編碼效果和編碼質(zhì)量的影響。

1 CBR模式編碼
Windows Media編碼器默認(rèn)采用的編碼模式為CBR(見圖2的界面),在該模式下,通過(guò)用不同的比特率對(duì)視頻源文件進(jìn)行編碼,得到的測(cè)試結(jié)果如表1。測(cè)試的條件為:P4 CPU1.6GHz,768M內(nèi)存的計(jì)算機(jī)配置,視頻和音頻編碼均采用CBR(單比特率),輸出形式為實(shí)況流加文檔保存(存為.wmv格式),片源為視音頻文件(浙江黨員干部現(xiàn)代遠(yuǎn)程教育片頭.mpg,15秒持續(xù)時(shí)間)。

從總的編碼字節(jié)數(shù)來(lái)看,1128Kbps比特率的1小時(shí)視頻其數(shù)據(jù)存儲(chǔ)量約570MB,就現(xiàn)在的計(jì)算機(jī)存儲(chǔ)空間來(lái)說(shuō)也是可以接受的;如果出于節(jié)約考慮,340Kbps比特率的1小時(shí)視頻其存儲(chǔ)量約為180MB,是完全可以接受的。從視頻平均幀率來(lái)看,1128Kbps-282Kbps比特率的視頻平均幀率與預(yù)期幀率相近;而低于282Kbps比特率的則比預(yù)期幀率小了不少,而且這些比特率下的預(yù)期幀率本身就不高。從丟幀率看,282Kbps比特率以下的丟幀率明顯增加,導(dǎo)致視頻回放過(guò)程出現(xiàn)跳幀和不連續(xù)現(xiàn)象。對(duì)于音頻來(lái)說(shuō),在各種比特率條件下,實(shí)際獲得的參數(shù)與期望的參數(shù)變化不大,這主要是音頻的預(yù)期比特率不是很大,容易實(shí)現(xiàn)。
圖4表示的是六種不同比特率下錄制的視頻回放截圖。從圖像清晰度和銳度來(lái)看,比特率在1128-340Kbps的回放效果較好,比特率在282、148Kbps的回放中清晰度和銳度尚可但有下降,比特率在109-28Kbps的圖像不論視頻大小或清晰度來(lái)看,都不盡人意,特別是比特率在28 Kbps的圖像基本上沒法看清。
結(jié)合國(guó)家精品課程教學(xué)錄像上網(wǎng)技術(shù)標(biāo)準(zhǔn) (2004年)的部分建議,視頻文件可以使用avi、wmv、asf等格式,視頻格式采用至少總比特率為300kbps、視頻大小為320*240等規(guī)定,同時(shí)考慮到網(wǎng)絡(luò)帶寬和存儲(chǔ)能力,采用340Kbps比特率的編碼比較合適現(xiàn)有的因特應(yīng)用場(chǎng)合。如果考慮在高帶寬的校園網(wǎng)等局域網(wǎng)中使用,可以采用如1128Kbps等高比特率的編碼方法。

為了適應(yīng)復(fù)雜網(wǎng)絡(luò)環(huán)境下的流媒體的發(fā)布,Windows Media編碼器還使用了多比特率視頻方案(Multiple Bit Rates,MBR),可以將源內(nèi)容同時(shí)編碼成幾個(gè)不同比特率的媒體流,如將源內(nèi)容編碼成1000Kbps、256Kbps、64Kbps三種比特率的流,這樣在客戶端播放時(shí),接收者根據(jù)自己所在網(wǎng)絡(luò)的帶寬,自動(dòng)選擇適合網(wǎng)絡(luò)帶寬的比特率的流,以獲得最佳的播放體驗(yàn)。不過(guò),MBR方案是犧牲編碼時(shí)間和服務(wù)器的存儲(chǔ)容量作為代價(jià)的。下面測(cè)試的是MBR模式下的編碼情況,并與單比特率CBR相比較,見表2。由于MBR模式下不能進(jìn)行實(shí)況流的編碼,所以選擇的輸出形式為點(diǎn)播加文檔保存,而比特率的選擇則在圖2界面中的“比特率”選項(xiàng)中選擇一個(gè)或多個(gè)比特率,選一個(gè)時(shí)為CBR,選多個(gè)時(shí)則為MBR。


用CBR單比特率編碼所得到的編碼參數(shù)與實(shí)況流中得到類似,只是在存檔時(shí)編碼不需要實(shí)時(shí)輸出,其編碼時(shí)間可以不等同于節(jié)目源的時(shí)間長(zhǎng)度,所以會(huì)話持續(xù)時(shí)間都比節(jié)目源時(shí)間要長(zhǎng),其結(jié)果是丟幀率為0,音頻采樣丟失率也是0,表現(xiàn)為回放低比特率(如58Kbps)視頻時(shí)比對(duì)應(yīng)的實(shí)況流稍為流暢,而在實(shí)況流中用低比特率時(shí)往往發(fā)生較嚴(yán)重的丟幀情況,造成跳幀。
從編碼持續(xù)時(shí)間、比特率、存儲(chǔ)空間來(lái)看,用MBR編碼基本上是單個(gè)CBR編碼的累加,盡管這種編碼所產(chǎn)生的流文件其網(wǎng)絡(luò)適應(yīng)性較強(qiáng),但在有一定帶寬的校園網(wǎng)中,它所帶來(lái)的潛在的優(yōu)勢(shì)不足以彌補(bǔ)存儲(chǔ)空間的浪費(fèi),建議在較高帶寬的網(wǎng)絡(luò)中少用MBR編碼,而比較適用帶寬變化較大的如Internet這種網(wǎng)絡(luò)中。
2 VBR編碼模式
在Windows Media編碼器中,三種不同的VBR方式稱為質(zhì)量VBR、峰值比特率VBR、比特率VBR,分別對(duì)應(yīng)1.1節(jié)中的基于質(zhì)量的VBR、受限的VBR、和不受限的VBR,表3列出了不同VBR條件下的編碼情況。

將質(zhì)量的VBR的質(zhì)量等級(jí)分別設(shè)置為95和80,則視頻的平均比特率相差大約一倍,存儲(chǔ)容量相差也近一倍,對(duì)于質(zhì)量等級(jí)90的編碼來(lái)說(shuō),其總比特率和存儲(chǔ)容量不太適合網(wǎng)絡(luò)上點(diǎn)播,而質(zhì)量等級(jí)80時(shí),其比特率和存儲(chǔ)容量與峰值VBR及比特率VBR都相似,與比特率為764Kbps的CBR也比較接近,較適合于網(wǎng)絡(luò)中傳輸。由于峰值VBR和比特率VBR采用二次編碼,故不能用于實(shí)況流的編碼。受測(cè)片源的圖像運(yùn)動(dòng)速度中等,而且比較均勻,所以在比特率VBR中沒有出現(xiàn)很大的比特率(視頻最大比特率為873Kbps),與峰值比特率VBR的最大比特率相近,由上表可以看到,在測(cè)試中這兩種編碼所得到的編碼參數(shù)相近,而在主觀測(cè)試中回放圖像質(zhì)量也沒有多大區(qū)別。
由于不同的編碼模式可以產(chǎn)生不同質(zhì)量的流媒體文件,從而導(dǎo)致優(yōu)劣各異的播放效果,所以在編碼前首先應(yīng)該仔細(xì)了解編碼的需求,以確定編碼的模式,從而獲得滿意的結(jié)果。
參考文獻(xiàn)
[1] rinivasan S, Hsu P, Holcommb T, et al.Windows Media Video 9: Overview and Applications[J]. Signal Processing : Image Communication, 2004 (19):851-875.
[2] 云, 陳祖爵. H.264,VC- 1 和AVS 視頻編碼研究[J]. 電視技術(shù), 2007, 31(2): 6-9.
[3] oumaras H, Gardikis G, Kourtis A,et al.Quantitative perceptual comparison of variable bit rate over constant bit rate encoding scheme for MPEG-4 video [J].Journal of Electronic Imaging, 2007, 16( 3): 33017-1~33017-7.
[4] 其明. Windows Media 編程導(dǎo)向[M].北京:清華大學(xué)出版社, 2005.69-70.
[5] PoonWF, LoKT, Feng J. Interactive Broadcasting System for VBR Encoded Videos[J]. IEEE Transactions on Broadcasting, 2007, 53 ( 2):459-467.
[6] 何增穎. 基于網(wǎng)絡(luò)的Windows Media流媒體嵌入播放方法[J]. 大慶師范學(xué)院學(xué)報(bào), 2006,26(5): 87-88.
[7] Ribas-Corbera J. Windows Media 9 Series-a platform to deliver compressed audio and video for Internet and broadcast applications[J]. EBU Technical Review,2003.(1):1-12.
[8] 尚俊蘭. 基于Windows Media的流媒體課件系統(tǒng)研究與開發(fā)[D].天津: 天津大學(xué), 2006.