曾文獻(xiàn),李子會(huì),馬倩倩
(河北經(jīng)貿(mào)大學(xué) 信息技術(shù)學(xué)院,河北 石家莊 050061)
●教育教學(xué)研究
基于H.264視頻壓縮技術(shù)的網(wǎng)絡(luò)授課系統(tǒng)設(shè)計(jì)
曾文獻(xiàn),李子會(huì),馬倩倩
(河北經(jīng)貿(mào)大學(xué) 信息技術(shù)學(xué)院,河北 石家莊 050061)
H.264具有較高的編碼效審、更好的網(wǎng)絡(luò)適應(yīng)能力和容錯(cuò)功能,針對(duì)其特點(diǎn)和關(guān)鍵技術(shù)在高壓縮率、高圖像質(zhì)量、低帶寬的目標(biāo)下對(duì)網(wǎng)絡(luò)授課系統(tǒng)中的功能模塊進(jìn)行設(shè)計(jì),可以有效地改善網(wǎng)絡(luò)授課系統(tǒng)在視頻處理方面的性能,使網(wǎng)絡(luò)教學(xué)更加生動(dòng)。
H.264;視頻壓縮;網(wǎng)絡(luò)授課系統(tǒng)
網(wǎng)絡(luò)授課系統(tǒng)是集計(jì)算機(jī)技術(shù)、多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)等多學(xué)科為一體的融合產(chǎn)物,為用戶提供了時(shí)間地點(diǎn)可分散、資源可共享的交互式學(xué)習(xí)方式,突破了傳統(tǒng)教學(xué)模式的“束縛”[1]。這種教學(xué)方式有助于提高學(xué)生的獨(dú)立探索和協(xié)同工作能力。網(wǎng)絡(luò)授課系統(tǒng)在今后的教學(xué)中必將作為一種全新的手段而被廣泛應(yīng)用,但當(dāng)前其仍然存在著一些不足:視頻數(shù)據(jù)流對(duì)網(wǎng)絡(luò)帶寬及實(shí)時(shí)性要求很高,而網(wǎng)絡(luò)的傳輸速率往往達(dá)不到要求,例如,對(duì)于分辨率為1 024×768、幀率為30fps的條件下,傳輸碼率要求為(1 024×768×3)×30×8≈540Mbps,并且還要傳輸控制命令、交流信息以及傳輸頭信息等,應(yīng)用以前的視頻壓縮算法達(dá)到的效果不是令人十分滿意,如果為了降低帶寬而采用了太大的壓縮比又會(huì)導(dǎo)致圖像的質(zhì)量不能滿足教學(xué)需求,而壓縮標(biāo)準(zhǔn)的出現(xiàn)很好地解決了這一問題。
以往的H.261、MPEG-2和MPEG-4等壓縮標(biāo)準(zhǔn)在網(wǎng)絡(luò)授課系統(tǒng)的視頻編碼中已經(jīng)得到了廣泛的應(yīng)用。而由“國(guó)際電聯(lián)(ITU-T)”和“國(guó)際標(biāo)準(zhǔn)化組織(ISO)”共同組建的聯(lián)合視頻組(JVT)公布的H.264標(biāo)準(zhǔn),不僅具有良好的帶寬適應(yīng)性,還具有非常高的視頻壓縮率。在同等圖像質(zhì)量的條件下,H.264的壓縮比是MPEG-4的1.5倍~2倍,是H.263的大約1倍。在校園網(wǎng)傳輸所占的帶寬中,MPEG-1在25幀/s傳輸時(shí)需500kps帶寬,MPEG-4在25幀/s傳輸時(shí)需256kps帶寬,而H.264在25幀/s傳輸時(shí)只需125kps帶寬[2]??傊瑧?yīng)用H.264標(biāo)準(zhǔn)不僅具有較大的壓縮比、降低了帶寬,同時(shí)仍具有流暢的高清晰畫面。
相對(duì)于以前的視頻編碼標(biāo)準(zhǔn),H.264具有更高的編碼效率,更清晰的視頻畫面,更好的網(wǎng)絡(luò)適應(yīng)能力及容錯(cuò)功能等。它不僅包含一個(gè)規(guī)定視頻編碼算法的視頻編碼層(VCL,Video Coding Layer),還包括了一個(gè)規(guī)定網(wǎng)絡(luò)傳輸規(guī)范的網(wǎng)絡(luò)抽取層(NAL,Network Abatraction Layer)。VCL 采取的編碼框架仍是傳統(tǒng)的混合編碼框架,但它采用多種新技術(shù)所產(chǎn)生的累積效果使編碼效率有了很大的提高。NAL主要是用來提供視頻數(shù)據(jù)的頭部信息,以適應(yīng)各種媒體的傳輸、存儲(chǔ)和支持VCL層的數(shù)據(jù)在不同網(wǎng)絡(luò)中的應(yīng)用,從而實(shí)現(xiàn)網(wǎng)絡(luò)友好性的任務(wù)。
H.264中采用了多種新的幀內(nèi)預(yù)測(cè)方法、可變尺寸塊的運(yùn)動(dòng)補(bǔ)償技術(shù)、多參考幀的運(yùn)動(dòng)補(bǔ)償技術(shù)、4×4整數(shù)變換技術(shù)、新的環(huán)路濾波技術(shù)、熵編碼等,這些技術(shù)使其在具有高壓縮比的同時(shí)還擁有高質(zhì)量和流暢的圖像。
為了提高編碼效率,能夠更好地消除圖像的空間冗余,H.264的幀內(nèi)編碼采用幀內(nèi)預(yù)測(cè)模式。其原理主要依據(jù)圖像相鄰宏塊間的相關(guān)性,先通過己編碼的宏塊(尤其是當(dāng)前宏塊左邊和上邊的相鄰宏塊)來預(yù)測(cè)當(dāng)前宏塊得到預(yù)測(cè)值,如圖1所示(大寫字母代表鄰近已經(jīng)解碼重構(gòu)的參考像素,小寫字母表示待預(yù)測(cè)像素),然后將當(dāng)前宏塊與預(yù)測(cè)值作差,最后將差值進(jìn)行變換編碼。預(yù)測(cè)分為8×8色度塊、16×16亮度塊和4×4亮度塊三種模式。
圖1 4×4亮度塊的預(yù)測(cè)
4×4亮度塊幀內(nèi)預(yù)測(cè)模式包括:模式0(垂直預(yù)測(cè)),當(dāng) A、B、C、D 在圖像內(nèi),a、e、i、m 像素的預(yù)測(cè)值為 A;模式 1(水平預(yù)測(cè)),當(dāng) J、K、L、M 在圖像之內(nèi),a、b、c、d 像素的預(yù)測(cè)值為 J;模式 2(DC 系數(shù)預(yù)測(cè)),當(dāng)左邊和上邊像素都在圖像內(nèi),是A、B、C、D、J、K、L、M這8個(gè)像素值的平均值。當(dāng)左邊和上邊像素只有一邊在圖像內(nèi)時(shí),預(yù)測(cè)值為那一邊四像素的均值。當(dāng)左邊和上邊像素都不在圖像內(nèi)時(shí),每個(gè)像素的預(yù)測(cè)值均為128;模式3和4是對(duì)角線方向,方向分別是朝向左下和右下;模式5、6、7和8分別是豎直偏右、水平偏下、豎直偏左和水平偏上方向上的預(yù)測(cè)。
8×8色度信號(hào)塊的預(yù)測(cè)模式包括:DC模式,當(dāng)A、B、J、K 都不在幀內(nèi)時(shí),有 a=b=e=f=128;水平模式,當(dāng)只有 J和 K 在幀內(nèi)時(shí),a=b=(J+2)/4,e=f=(K+2)/4;垂直模式,當(dāng)只有 A 和 B 在幀內(nèi),a=e=(A+2)/4,b=f=(B+2)/4;平面模式(Plane),當(dāng) A、B、J、K 都在幀內(nèi)時(shí),a=(A+J+2)/4,b=(B+2)/4,e=(K+2)/4,f=(B+K+2)/4。
當(dāng)圖像包含少量信息時(shí),H.264采用16×l6亮度塊的幀內(nèi)預(yù)測(cè),這種預(yù)測(cè)方式也分垂直模式、水平模式、DC模式、平面模式(Plane)四種。
1.不同塊大小的幀間預(yù)測(cè)。H.264標(biāo)準(zhǔn)中進(jìn)行幀間預(yù)測(cè)的每個(gè) 16×l6 宏塊可分為 8×16,16×8,8× 8,8×4,4×8,4×4 的小塊進(jìn)行編碼(見圖 2)。這種靈活細(xì)致的劃分,更容易接近圖像中實(shí)際運(yùn)動(dòng)對(duì)象的形狀,大大提高了運(yùn)動(dòng)估計(jì)的精確度,從而對(duì)運(yùn)動(dòng)細(xì)節(jié)的處理和視覺效果的提高有很大的幫助。
圖2 塊的劃分
2.高精度的運(yùn)動(dòng)估計(jì)算法。H.264的運(yùn)動(dòng)估計(jì)可以達(dá)到1/4、1/8像素,它主要是通過插值來獲得像素值。其中1/2像素預(yù)測(cè)值由一個(gè)6抽頭濾波得到,1/4像素的預(yù)測(cè)值則由相鄰的整數(shù)像素和1/2像素的均值得出。因?yàn)?/8像素精度需采用大量的插值濾波器,且計(jì)算復(fù)雜度大大增加,故一般不考慮1/8像素精度運(yùn)動(dòng)矢量。
H.264使用最多5個(gè)參考幀進(jìn)行幀間預(yù)測(cè)。與使用一個(gè)參考幀相比,使用5幀參考幀會(huì)節(jié)省約5%~10%的數(shù)據(jù)。P幀和B幀的參考圖像存儲(chǔ)在不同的緩沖區(qū)中,分為前向預(yù)測(cè)參考幀緩沖區(qū)和后向預(yù)測(cè)參考幀緩沖區(qū),對(duì)其的存取和釋放采用的是先進(jìn)先出的模式。處理過程為:在參考幀緩沖區(qū)內(nèi)選取一個(gè)或多個(gè)預(yù)測(cè)信息,然后對(duì)預(yù)測(cè)信息作平均,已完成編碼的圖像存儲(chǔ)在參考幀緩沖區(qū)內(nèi),最后將這些得到的多假設(shè)信息用作參考[3]。
多參考幀的使用不僅提高了編碼壓縮的效率,而且顯著增強(qiáng)了圖像傳輸?shù)娜蒎e(cuò)性,有效抑制了錯(cuò)誤的擴(kuò)散。但由于必須為增加的參考幀提供更多的內(nèi)存空間和增加索引值,這也就增加了系統(tǒng)在存儲(chǔ)和時(shí)間方面的開銷。
H.264提供了兩種熵編碼模式:統(tǒng)一的變長(zhǎng)編碼(UVLC)和基于內(nèi)容的自適應(yīng)二值算術(shù)編碼(CABAC)[4]。UVLC更為簡(jiǎn)單,但效率低下且位率較高;CABAC效率很高,允許給每個(gè)字符分配非整數(shù)個(gè)比特,但實(shí)現(xiàn)較為復(fù)雜。兩者相比,在相同圖像質(zhì)量下編碼視頻信號(hào)使用CABAC將會(huì)使比特率降低10%~15%[5]。
網(wǎng)絡(luò)授課系統(tǒng)是一種利用網(wǎng)絡(luò)及多媒體技術(shù),可以模擬課堂環(huán)境的新型教學(xué)模式,具有強(qiáng)大的教學(xué)能力和便捷的操作能力。此外,在校園內(nèi)開展網(wǎng)絡(luò)教學(xué),將極大地豐富網(wǎng)上教學(xué)資源。這些將更大限度地發(fā)揮計(jì)算機(jī)及網(wǎng)絡(luò)資源在教學(xué)中的作用,對(duì)蓬勃發(fā)展的網(wǎng)絡(luò)教育來說具有積極的推動(dòng)作用,是智能化校園必備的新型教學(xué)系統(tǒng)。
目前流行的多媒體網(wǎng)絡(luò)授課系統(tǒng),根據(jù)設(shè)計(jì)原理和實(shí)現(xiàn)方式的不同可分為三類:純軟件方式、純硬件方式、軟硬件結(jié)合方式[6]。純軟件方式是指全部用軟件來實(shí)現(xiàn)的網(wǎng)絡(luò)授課系統(tǒng)。純硬件方式是指在電腦中安裝一塊帶有CPU的多媒體智能網(wǎng)卡,該網(wǎng)卡自行完成系統(tǒng)的控制處理任務(wù),多媒體信號(hào)和控制信號(hào)都是由這專門的網(wǎng)卡獨(dú)立傳輸。軟硬件結(jié)合方式是通過在電腦中安裝一塊無CPU多媒體網(wǎng)卡,專門用于音視頻的傳輸,但鍵盤、鼠標(biāo)產(chǎn)生的控制處理任務(wù)都由軟件完成。軟硬混合模式綜合了純軟件和純硬件兩者的優(yōu)點(diǎn),故選擇軟硬件結(jié)合方式進(jìn)行開發(fā)。
本文設(shè)計(jì)的網(wǎng)絡(luò)授課系統(tǒng)具有課程直播、互動(dòng)交流、網(wǎng)絡(luò)課件制作、COD課件點(diǎn)播、網(wǎng)絡(luò)考試、網(wǎng)絡(luò)簽到、點(diǎn)名和網(wǎng)絡(luò)答疑、批改作業(yè)的系統(tǒng)功能(見圖3)?;?dòng)交流是指在授課過程中教師和學(xué)生之間可以進(jìn)行文字和聲音的交流。網(wǎng)絡(luò)考試是從題庫中隨機(jī)抽取各類型試題組成試卷。網(wǎng)絡(luò)簽到、點(diǎn)名可以檢查學(xué)生到課情況。網(wǎng)絡(luò)答疑、批改作業(yè),學(xué)生可以將問題或作業(yè)提交給教師,教師將答復(fù)回復(fù)給學(xué)生。課程直播將教師的多媒體課件、講解實(shí)況和環(huán)境實(shí)況組合在一起,進(jìn)行同步的壓縮。系統(tǒng)將采集的視頻和聲音數(shù)據(jù)進(jìn)行壓縮后,對(duì)學(xué)生機(jī)進(jìn)行實(shí)時(shí)傳輸,從而達(dá)到實(shí)時(shí)多媒體通信的目的。因?yàn)榻處煓C(jī)的屏幕信息與教師的影像、聲音是同步傳輸?shù)?,所以學(xué)生不僅可以看到教師的屏幕信息,而且可以看到聽到教師的面容、聲音。網(wǎng)絡(luò)課件制作是在直播過程中將壓縮的復(fù)合流錄制成一個(gè)文件,或分別錄制成多個(gè)文件,生成可編輯的視頻教學(xué)課件并存儲(chǔ)到服務(wù)器。課件點(diǎn)播COD(Courseware-On-Demand)是以同步播放的形式,將視頻、音頻等存放在服務(wù)器上的文件通過網(wǎng)絡(luò)傳送給學(xué)生,實(shí)現(xiàn)一個(gè)虛擬的網(wǎng)絡(luò)教室。本文以課程直播為例介紹H.264在授課系統(tǒng)中的應(yīng)用。
圖3 網(wǎng)絡(luò)授課系統(tǒng)結(jié)構(gòu)圖
在教學(xué)中面授是非常重要的,但由于教師和教室的限制,使接受面授的學(xué)生受到限制。課程直播很好地解決了這一問題,它將主播教室的教學(xué)情景(包括教師的影像、聲音、教師機(jī)屏幕、計(jì)算機(jī)操作過程與鼠標(biāo)運(yùn)動(dòng)軌跡等)實(shí)時(shí)地向?qū)W生接收端進(jìn)行發(fā)送。教學(xué)過程中主播教室與任意接收端還可以進(jìn)行實(shí)時(shí)語音、文字交互,很好地模擬了上課環(huán)境。
經(jīng)試驗(yàn)發(fā)現(xiàn),教師機(jī)屏幕的幀率為5fps~10fps時(shí),即可滿足教學(xué)需求。由于課程視頻有它自身的特點(diǎn),相鄰兩幀圖像往往只有小局部的差異,所以它們之間的相關(guān)性很高;教師機(jī)屏幕在一段時(shí)間內(nèi)可能不變,講課過程中有時(shí)也需要重復(fù)播放以前的幀。針對(duì)這些特性,利用H.264幀間編碼對(duì)不同塊大小的幀間預(yù)測(cè)和高精度的運(yùn)動(dòng)估計(jì)算法去除圖像幀間的相關(guān)性,使視頻壓縮,只需保存更小的運(yùn)動(dòng)矢量和殘差數(shù)據(jù),這就在更大程度上降低了碼率,從而保證了畫面的清晰流暢;在教師機(jī)屏幕不變時(shí),則利用H.264技術(shù)并不發(fā)送屏幕信息;多參考幀技術(shù)的應(yīng)用,在重復(fù)播放以前幀時(shí),可以很好地提高編碼效率。
課程直播模塊包括以下幾部分,如圖4所示。將教師機(jī)屏幕圖像、教師影像和聲音采集后實(shí)時(shí)編碼成流,并將文件流發(fā)送到服務(wù)器,然后服務(wù)器將得到的文件流通過校園網(wǎng)發(fā)送給學(xué)生端,文件流在學(xué)生端進(jìn)行實(shí)時(shí)解碼、播放[2]。
圖4 課程直播流程圖
采用H.264音視頻編解碼技術(shù),對(duì)原始的音視頻信號(hào)進(jìn)行壓縮編碼并轉(zhuǎn)化為適合網(wǎng)絡(luò)傳輸?shù)膹?fù)合流,經(jīng)測(cè)試,視頻流暢且清晰。
本系統(tǒng)采用H.264視頻壓縮,有效地改善了網(wǎng)絡(luò)授課系統(tǒng)在視頻處理方面的性能。H.264的高壓縮比、高質(zhì)量圖像以及很好的網(wǎng)絡(luò)適應(yīng)性為網(wǎng)絡(luò)授課系統(tǒng)應(yīng)用提供了廣闊的平臺(tái),使網(wǎng)絡(luò)教學(xué)更加生動(dòng)。雖然H.264的視頻解壓縮技術(shù)應(yīng)用在網(wǎng)絡(luò)授課系統(tǒng)中表現(xiàn)出了許多優(yōu)點(diǎn),但也存在一些問題需要解決:如隨著教學(xué)規(guī)模的不斷擴(kuò)大,如何使教學(xué)系統(tǒng)支持更多的用戶同時(shí)在線學(xué)習(xí),將成為網(wǎng)絡(luò)授課系統(tǒng)的一個(gè)關(guān)鍵問題,為此我們將繼續(xù)探索,不斷改進(jìn)。
[1]劉義,蘭鳳霞.淺談網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2005,(6).
[2]盧靜,周兵.多路嵌入式H.264視頻服務(wù)器的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,(35).
[3]齊琳琳,向建勇.H.264視頻壓縮關(guān)鍵技術(shù)及其應(yīng)用前景[J].電子科技,2005,(10).
[4]曾文獻(xiàn),李子會(huì).三維視頻編碼技術(shù)研究[J].硅谷,2011,(22).
[5]黃宇達(dá),李向前.新一代視頻壓縮標(biāo)準(zhǔn)H.264及其未來發(fā)展方向簡(jiǎn)述[J].福建電腦,2006,(9).
[6]湯春林.多媒體網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2002.
The Design of Network Teaching System based on H.264 Video Compression Technology
Zeng Wenxian,Li Zihui,Ma Qianqian
H.264 has high coding efficiency,better adaption ability to the network and fault tolerant function,in view of its characteristic and key technology,under the aims of high compression rate,high image quality and low bandwidth of network, we can design the function module of the teaching system,thus can effectively improve the performances of network teaching system in the aspects of the video processing,and make the network teaching more vividly.
H.264;video compression;network teaching system
GP37
A
1673-1573(2012)01-0115-04
2011-09-13
曾文獻(xiàn)(1971-),男,陜西旬陽人,河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院副教授,碩士生導(dǎo)師,研究方向?yàn)閳D形圖像處理、嵌入式技術(shù);李子會(huì)(1986-),女,河北衡水人,河北經(jīng)貿(mào)大學(xué)信息技術(shù)學(xué)院碩士研究生,研究方向?yàn)閳D形圖像處理、計(jì)算機(jī)應(yīng)用技術(shù)。
責(zé)任編輯、校對(duì):杜 瑩
河北經(jīng)貿(mào)大學(xué)學(xué)報(bào)(綜合版)2012年1期