□ 宋巍
H.264技術(shù)在移動學(xué)習(xí)平臺中的應(yīng)用*
□ 宋巍
本研究的目的是為了促進移動學(xué)習(xí)方式的發(fā)展。移動學(xué)習(xí)在數(shù)字化學(xué)習(xí)的基礎(chǔ)上通過有效結(jié)合移動計算技術(shù)帶給學(xué)習(xí)者隨時隨地學(xué)習(xí)的全新感受,被認為是未來學(xué)習(xí)不可缺少的一種學(xué)習(xí)模式。本文提出了一種H.264編碼技術(shù)解決移動學(xué)習(xí)平臺視頻處理問題的方案,在Android操作系統(tǒng)中設(shè)計開發(fā)了一款移動學(xué)習(xí)平臺軟件,本文設(shè)計的移動學(xué)習(xí)平臺軟件具有良好的經(jīng)濟性和可操作性,為移動學(xué)習(xí)和使公眾能更好地利用高校教學(xué)資源提供了一種解決方案。
開放大學(xué);移動學(xué)習(xí);Android;H.264
隨著當今移動通信設(shè)備市場銷量的驚人增長,移動學(xué)習(xí)方式越來越普及。移動學(xué)習(xí)(MobileLearn?ing)是一種在移動計算設(shè)備幫助下的、能夠在任何時間、任何地點發(fā)生的學(xué)習(xí),它所使用的設(shè)備必須能夠有效地呈現(xiàn)學(xué)習(xí)內(nèi)容并提供教師與學(xué)習(xí)者之間的雙向交流。因此,移動學(xué)習(xí)不僅是原有遠程教育在教學(xué)手段上的突破和延伸,更重要的是移動學(xué)習(xí)有其自身的特點,即移動學(xué)習(xí)方式下的學(xué)習(xí)者可以真正做到隨時隨地進行學(xué)習(xí)。移動學(xué)習(xí)中不但學(xué)習(xí)環(huán)境可以是移動的,教師、研究人員、技術(shù)人員和學(xué)習(xí)者都是移動的,學(xué)習(xí)者不再被限制在電腦桌前,可以自由自在、隨時隨地進行不同目的、不同方式的學(xué)習(xí)。
我國的開放大學(xué)是在廣播電視大學(xué)的基礎(chǔ)上組建的、面向全體社會成員的沒有圍墻的新型大學(xué),肩負著建設(shè)學(xué)習(xí)型社會賦予的獨特的大學(xué)使命,因此必須在教學(xué)模式上有所突破,以現(xiàn)代化信息技術(shù)為基礎(chǔ),為我國社會成員提供多樣化的繼續(xù)教育服務(wù)和新的學(xué)習(xí)機會以適應(yīng)終身教育發(fā)展、現(xiàn)代信息技術(shù)發(fā)展和國家發(fā)展的趨勢。開放大學(xué)的性質(zhì)決定了移動學(xué)習(xí)將是其必不可少的一種學(xué)習(xí)方式,因此搭建適當?shù)囊苿訉W(xué)習(xí)平臺成為當前遠程教育關(guān)注的熱點之一。
移動學(xué)習(xí)平臺是指利用信息技術(shù)搭建的、能夠使學(xué)習(xí)者進行移動式學(xué)習(xí)的軟、硬件環(huán)境。移動學(xué)習(xí)平臺的落后嚴重制約著移動學(xué)習(xí)的發(fā)展。在當今學(xué)習(xí)材料、參考資料和知識產(chǎn)品終將數(shù)字化的趨勢下,這一問題顯得尤為突出。
目前,國內(nèi)外的移動學(xué)習(xí)平臺大都基于智能手機和平板電腦等移動設(shè)備,采用專用硬件系統(tǒng)的僅占很小一部分,未來智能手機和平板電腦將在移動學(xué)習(xí)中發(fā)揮至關(guān)重要的作用。根據(jù)國際電信聯(lián)盟(Interna?tionalTelecommunicationUnion)(2011)發(fā)表的報告,全球有超過50億手機用戶,相當于世界人口的87%。國際數(shù)據(jù)公司(InternationalDataCorpora?tion)預(yù)測,到2013年年底,全球手機用戶將達到69億,到2016年年底,數(shù)量將增長到80億,屆時平板電腦的銷量也將達到2.8億多臺。而國際數(shù)據(jù)公司發(fā)布的最新報告中,谷歌Android系統(tǒng)的裝機量占到所有智能手機和平板電腦出貨量的75%以上,而且這一數(shù)據(jù)還在逐年增加,也就是說,Android系統(tǒng)將會在未來移動學(xué)習(xí)平臺中占據(jù)絕對主流的地位。
Android操作系統(tǒng)是一種基于Linux內(nèi)核的、主要面向移動平臺的開源智能操作系統(tǒng),最初由An?droid公司開發(fā),2005年由Google公司收購并公開源代碼。Android系統(tǒng)具有豐富的軟硬件資源,支持絕大多數(shù)主流網(wǎng)絡(luò)協(xié)議和觸屏輸入,并且具有開源免費等特點,成為當今最流行的智能手機操作系統(tǒng)[1]。任何Android開發(fā)者都可以開發(fā)自己的組件,因此具有大量的開發(fā)者從事應(yīng)用軟件(apps)開發(fā)并進一步充實了Android的功能,本文的移動學(xué)習(xí)平臺就是基于Android操作系統(tǒng)開發(fā)的。
1.當前移動學(xué)習(xí)平臺存在的問題
當前移動學(xué)習(xí)平臺在國內(nèi)已經(jīng)有了一些應(yīng)用案例,但普遍存在著一些問題,包括界面小操作不便、交互性差、學(xué)習(xí)資源可更新性差、產(chǎn)生數(shù)據(jù)流量大、移動平臺過于耗電導(dǎo)致待機時間短等。究其原因多數(shù)是由技術(shù)缺陷導(dǎo)致的,其中一個較重要的因素是這些應(yīng)用案例中采用的視頻編碼技術(shù)性能不佳,導(dǎo)致了當前移動學(xué)習(xí)平臺數(shù)據(jù)流量大、耗電、視頻效果不佳等問題。大多數(shù)移動學(xué)習(xí)平臺采用MPEG-4視頻編碼技術(shù),該技術(shù)是國際標準化組織(ISO)制定的,相較于H.264編碼技術(shù),MPEG-4具有以下主要缺點:①圖像質(zhì)量較差,視頻圖像的流暢性和連續(xù)性都沒有H.264好;②碼流相對較高,也就是相同圖像質(zhì)量情況下采用MPEG-4編碼的視頻數(shù)據(jù)量更大;③網(wǎng)絡(luò)適應(yīng)能力較差,網(wǎng)絡(luò)情況不穩(wěn)定時兼容錯誤能力較弱[2][3][4]。因此,如果采用性能更好的H.264編解碼技術(shù)將大大節(jié)約客戶端的數(shù)據(jù)流量,同時也能加快平臺響應(yīng)速度,減小服務(wù)器負擔,并得到更加清晰的圖像,從而提高用戶體驗。
2.H.264視頻編碼技術(shù)
H.264是聯(lián)合視頻組(JVT)制定的一種高性能視頻編解碼技術(shù),是一種主流的視頻數(shù)據(jù)壓縮標準,在無線網(wǎng)絡(luò)環(huán)境和未來的大數(shù)據(jù)量高清環(huán)境中都將繼續(xù)適用。相較于其他視頻編碼標準,H.264具有低碼率、圖像質(zhì)量高、容錯能力強和網(wǎng)絡(luò)適應(yīng)性強等特點。在相同的重建圖像質(zhì)量情況下,H.264標準的碼率較H.263標準低了50%左右。H.264可以工作在實時通信應(yīng)用(如視頻會議)低延時模式下,也可以工作在沒有延時的視頻存儲或視頻流服務(wù)器中。H.264增加了多模式運動估計、幀內(nèi)預(yù)測、多幀預(yù)測、基于內(nèi)容的變長編碼、4x4二維整數(shù)變換等新的編碼方式,提高了編碼效率和視頻畫面質(zhì)量。其工作流程如圖1所示。
H.264編碼技術(shù)和其他編碼技術(shù)相比具有很高的編碼效率,相同圖像質(zhì)量條件下,H.264的數(shù)據(jù)壓縮比比MPEG-2高2-3倍,比MPEG-4高1.5-2倍。也就是說,同樣的100M數(shù)據(jù)用H.264標準編碼后只有9.9M左右,采用MPEG-2標準編碼后數(shù)據(jù)卻有19.8-29.7M左右。因此,采用H.264標準編碼的視頻課程占用更小的帶寬。
圖1 H.264編碼技術(shù)框架解析
(一)移動學(xué)習(xí)平臺的架構(gòu)設(shè)計
本文設(shè)計的開放大學(xué)移動學(xué)習(xí)平臺軟件(手機微課堂)主要功能是使開放大學(xué)學(xué)員能夠隨時隨地利用移動智能設(shè)備通過網(wǎng)絡(luò)進行遠程學(xué)習(xí)和交流。系統(tǒng)主要包括以下四部分:
(1)通過有線或無線(Wi-Fi、3G、4G)網(wǎng)絡(luò)連接到開放大學(xué)課程資料中心,瀏覽或下載學(xué)習(xí)資料;
(2)在線課程學(xué)習(xí)系統(tǒng),通過高清視頻播放功能在線學(xué)習(xí)或在本地學(xué)習(xí)課件內(nèi)容;
(3)較豐富的在線交互功能;
(4)后臺管理系統(tǒng),提供用戶、權(quán)限、安全校驗等管理功能。
當前移動學(xué)習(xí)平臺在設(shè)計構(gòu)架上主要有B/S結(jié)構(gòu)和C/S結(jié)構(gòu)兩種形式,B/S結(jié)構(gòu)雖然具有適用性廣和開發(fā)便捷的優(yōu)勢,但也具有交互性差、產(chǎn)生的數(shù)據(jù)流量大、操作繁瑣等缺點,因此在設(shè)計移動學(xué)習(xí)平臺時本研究采用了具有系統(tǒng)可擴展性強、數(shù)據(jù)流量小、操作簡便靈活的C/S構(gòu)架(如圖2所示)。
其中采用H.264編碼技術(shù)錄制的課程視頻存放于H.264視頻服務(wù)器上,移動學(xué)習(xí)終端通過網(wǎng)絡(luò)獲取視頻數(shù)據(jù)流后,通過移動學(xué)習(xí)平臺中的H.264解碼器解析出視頻數(shù)據(jù),再用Android系統(tǒng)中提供的播放器播放視頻課程。
圖2 移動學(xué)習(xí)平臺框架圖
(二)采用H.264視頻編解碼技術(shù)的移動學(xué)習(xí)平臺的設(shè)計與開發(fā)
1.系統(tǒng)的設(shè)計
系統(tǒng)采用C/S構(gòu)架設(shè)計,服務(wù)器端通過php網(wǎng)站管理系統(tǒng)數(shù)據(jù)庫,移動學(xué)習(xí)平臺終端在Android系統(tǒng)下開發(fā)一個專用app應(yīng)用軟件,采用模塊化設(shè)計方式,將系統(tǒng)分為三層:界面層、邏輯層和功能層,每個功能模塊單獨實現(xiàn)后再集成到移動學(xué)習(xí)平臺系統(tǒng)中。在制作服務(wù)器端視頻課程資源和開發(fā)客戶端視頻解碼器時都采用了H.264視頻編解碼技術(shù)。雖然目前Android操作系統(tǒng)中未提供H.264接口,但可以通過對FFmpeg代碼庫中H.264編解碼器的移植實現(xiàn)這一功能,由于FFmpeg開源代碼庫成熟度較高,代碼的效率、適用性和穩(wěn)定性都較好,因此移植后的系統(tǒng)也將具有較好的性能。
該方案的優(yōu)勢在于:①采用H.264視頻編解碼技術(shù)提高視頻解碼效率,大大減少移動學(xué)習(xí)產(chǎn)生的數(shù)據(jù)量并提高視頻畫面效果,提升用戶體驗;②采用C/S構(gòu)架保證平臺的穩(wěn)定性和可操作性,加強學(xué)習(xí)過程的交互性;③開發(fā)效率高并能保證平臺的適用性。
2.系統(tǒng)的開發(fā)
平臺開發(fā)流程如下:
(1)建立Android開發(fā)平臺
①加強相關(guān)職業(yè)生涯規(guī)劃機構(gòu)與高校之間的溝通與合作。目前,相關(guān)機構(gòu)對于高校教師的培訓(xùn),對象是教師,而不是大學(xué)生。機構(gòu)應(yīng)該更多地與高校一起,共同研究以學(xué)生為規(guī)劃指導(dǎo)對象的有效的教學(xué)方法、教學(xué)內(nèi)容、教學(xué)模式。
Android開發(fā)平臺由AndroidSDK模擬平臺、eclipse插件、JAVAJDK工具和ADT插件組成,均可在Google公司的官方網(wǎng)站上免費下載,安裝好這些工具就搭建好了Android開發(fā)平臺[5][6][7][8]。由于An?droid應(yīng)用需要在PC機上開發(fā),在手機上運行,即開發(fā)環(huán)境與運行環(huán)境不同,所以還需要創(chuàng)建一個AVD虛擬機來仿真硬件運行環(huán)境。
(2)H.264解碼器編譯移植
Android系統(tǒng)中未集成H.264解碼器,因此需要先將其他系統(tǒng)中的解碼庫進行移植并在Android系統(tǒng)中進行封裝,然后再用Java調(diào)用實現(xiàn)解碼。
H.264解碼可以分為前端碼流處理、H.264解碼和后端視頻顯示這三個功能模塊[9][10][11]。
前端碼流處理模塊主要完成數(shù)據(jù)讀取任務(wù),在Java層實現(xiàn),利用java.io.FileInputStream類從碼流中分割出NAL,交給底層的C語言實現(xiàn)實時解碼。
H.264解碼模塊是整個解碼過程的核心,需要通過本地C語言實現(xiàn)和解碼庫對碼流數(shù)據(jù)進行處理,完成H.264解碼實現(xiàn)圖像重建。該模塊通過移植FFm?peg解碼庫來實現(xiàn)解碼。
后端視頻顯示模塊接收H.264解碼模塊解碼后的視頻數(shù)據(jù),并在Android客戶端進行顯示。該模塊也需要在Android的Java應(yīng)用層實現(xiàn)。
視頻數(shù)據(jù)的處理在底層解碼器中完成。解碼的過程如下:首先打開解碼器并為解碼幀分配內(nèi)存,然后從碼流中不停地提取幀數(shù)據(jù),針對視頻幀調(diào)用解碼器,最后解碼完成后釋放解碼器。
(3)課程播放模塊的開發(fā)
在移植了H.264解碼器后,通過Android系統(tǒng)提供的MediaPlayer類播放解碼后的video視頻課程數(shù)據(jù)。視頻課程可在線進行播放也可下載到本地再進行播放。由于網(wǎng)速的限制可能導(dǎo)致在線播放視頻課程時速度較慢,建議先將視頻文件下載到本地SD卡中,解碼后利用MediaPlayer播放器在客戶端播放。下載課程視頻文件時系統(tǒng)采取了多線程和斷點續(xù)傳方式,下載過程中把下載信息不斷存入本地數(shù)據(jù)庫中,提高下載效率[12][13][14][15][16]。下載結(jié)束后刪除下載的臨時信息并將課程視頻文件的存放信息保存到本地數(shù)據(jù)庫中,以便后期維護。
(三)各信息交互功能模塊的設(shè)計
系統(tǒng)中的在線交互功能包括在線答疑、在線測試、在線提問、公告新聞瀏覽、成績查詢等。該模塊功能比較分散,需要單獨實現(xiàn)和分別調(diào)用。在設(shè)計系統(tǒng)交換功能時大量使用JSON來完成移動終端和遠程數(shù)據(jù)庫的信息交互。系統(tǒng)運行時會啟動一個后臺服務(wù)線程連接遠程服務(wù)器,讀取最新數(shù)據(jù)以更新本地數(shù)據(jù)庫,僅讀取本地數(shù)據(jù)庫中的內(nèi)容用以初始化系統(tǒng)界面,采用異步初始化界面使系統(tǒng)運行更加流暢。
在無線網(wǎng)絡(luò)覆蓋的環(huán)境下對整個系統(tǒng)進行了測試,服務(wù)器端為學(xué)校網(wǎng)站,客戶端為基于Android的智能手機,采用黑盒測試法反復(fù)進行,結(jié)果表明整個系統(tǒng)運行穩(wěn)定,訪問視頻課程速度較快,課程圖像清晰度及平臺操作便利性等均達到預(yù)期效果。
2013年9月2日至2013年9月27日間,遼寧裝備制造職業(yè)技術(shù)學(xué)院信息工程系的96名在校生和3位教師參加了基于Android和H.264技術(shù)的移動學(xué)習(xí)平臺的應(yīng)用體驗,整個實驗期間,實驗參與者下載平臺軟件并安裝到Android智能手機上,再使用學(xué)習(xí)平臺對移動學(xué)習(xí)服務(wù)器上的部分微課程進行了學(xué)習(xí)。實驗結(jié)束后以問卷形式移動學(xué)習(xí)平臺的應(yīng)用進行了滿意度調(diào)查,結(jié)果如表1所示。
表1 基于Android和H.264技術(shù)的移動學(xué)習(xí)平臺用戶滿意度調(diào)查
由表1可見,大部分實驗參與者對該移動學(xué)習(xí)平臺較為滿意。在操作的便利性、可靠性、界面風(fēng)格、響應(yīng)速度和實用性上都得到了較高的認可。
為了便于廣大學(xué)員接受,移動學(xué)習(xí)平臺手機微課堂采用了類似于微信的滑動窗口風(fēng)格(如圖3所示)。
圖3 移動學(xué)習(xí)平臺手機微課堂主界面
圖4和圖5分別顯示了學(xué)校新聞和選課中心界面。
圖4 學(xué)校新聞界面
圖5 選課中心界面
本文基于Android設(shè)計的移動學(xué)習(xí)平臺使用了一種輕量級的H.264解碼方式,可在使用Android操作系統(tǒng)的智能手機和平板電腦上使用,學(xué)習(xí)者可以隨時隨地利用智能終端設(shè)備進行學(xué)習(xí),能夠方便地使用高校公開課資源,具有課程選擇、課程下載、在線答疑和在線測試等功能。該平臺軟件的實現(xiàn)部分已經(jīng)在國家版權(quán)局登記注冊,其模型具有良好的經(jīng)濟性和可操作性,使公眾更好地利用高校教學(xué)資源提供了一種移動解決方案。但是,本研究還很不完善,需要在今后不斷改進,尤其在實踐應(yīng)用環(huán)節(jié),實驗參與者較少,范圍較集中。然而,移動學(xué)習(xí)的出現(xiàn)彌補了遠程教育在實現(xiàn)終身教育手段上的局限性,越來越普及。希望本研究能夠起到拋磚引玉的作用。
[1](美)艾佛瑞.Android多媒體開發(fā)高級編程[M].北京:清華大學(xué)出版社,2012.
[2]賈克斌,劉鵬宇,呂卓逸等.基于H.264的視頻編碼處理技術(shù)與應(yīng)用[M].北京:科學(xué)出版社,2013.
[3]SuhasHolla,MahimaMKatti.AndroidBasedMobileApplication DevelopmentAndItsSecurity[A]Journal:InternationalJournalof ComputerTrendsandTechnologyISSN/EISSN:22312803Year: 2012Volume:3Issue:3Pages:486-490
[4]Hyeon-JuYoon.AStudyonthePerformanceofAndroidPlatform[A] Journal:InternationalJournalonComputerScienceandEngineerin?gISSN/EISSN:09753397Year:2012Volume:4Issue:4Pages: 532-537
[5]Li,W.,2011.QoSResearchofH.264VideoTransmissioninEmbed?dedWirelessLAN[J]Comput.Sci.,pp:83-85
[6]魏崇毓,張菲菲.基于Android平臺的視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機工程,2012,38(14):214-216.
[7][12]宋強,齊貴寶,宋占偉.基于Android系統(tǒng)的H.264視頻監(jiān)控設(shè)計[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2012,30(3):272-278.
[8][13]韓晶晶,李素梅,王寶亮等.基于H.264的多視點立體視頻解碼器優(yōu)化算法研究[J].計算機應(yīng)用研究,2012,(2):749-453.
[9][14]毛小明,鮑可進.一種基于H.264的高性能快速運動估計算法[J].計算機應(yīng)用研究,2012,(4):1598-1561.
[10][15]張偉,雷為民.多點視頻會議中H.264快速視頻合成方法[J].小型微型計算機系統(tǒng),2012,(5):1062-1067.
[11][16]陶祥亞,賈長云,楊成.UCWEB_TWITTER支持的手機移動學(xué)習(xí)模式構(gòu)建與技術(shù)示范[J].中國遠程教育,2011,(12):81-84.
責任編輯 日 新
TP391 TP274
A
1009—458x(2014)02—0087—04
2013-10-30
宋巍,高級工程師,碩士,遼寧廣播電視大學(xué)(110161)。
*課題信息:遼寧現(xiàn)代遠程教育學(xué)會課題“高職院校師資隊伍繼續(xù)教育的研究與實踐(2013XH01-25)”階段性研究成果。