- 相關(guān)推薦
論高壓縮比網(wǎng)絡(luò)課件的生成及傳輸系研究
摘要:從高校普遍實際使用的演講型課件特點出發(fā),設(shè)計了一套全新的網(wǎng)上教學(xué)系統(tǒng),用可以人工動態(tài)控制的PowerPoint文檔來取代MPEG-1 的視頻格式,并將教師的講解聲音用G.723.1算法來壓縮從而得到一種新的流媒體格式課件,滿足了在窄帶網(wǎng)絡(luò)上的實時傳輸。
關(guān)鍵詞:網(wǎng)絡(luò)課件;壓縮;PowerPoint;G.723.1算法
1、應(yīng)用背景
隨著教育事業(yè)的不斷發(fā)展以及網(wǎng)絡(luò)的不斷普及,網(wǎng)上教育應(yīng)運而生。但是,網(wǎng)上教育也面臨著巨大的挑戰(zhàn),課件制作是其中的一個關(guān)鍵所在。網(wǎng)上教育是多媒體結(jié)合的一種教育,多媒體意味著文件數(shù)據(jù)量大、要求帶寬高,盡管高速寬帶網(wǎng)絡(luò)可以從根本上解決這個問題,但其由于各種原因,短期內(nèi)還不能大范圍普及,F(xiàn)有的公眾網(wǎng)只能提供33.3Kbps~56Kbps的窄帶。所以,在現(xiàn)有的條件下,以保持多媒體質(zhì)量盡量少的降低為前提,減小多媒體文件數(shù)據(jù)量的大小, 實現(xiàn)多媒體技術(shù),是比較現(xiàn)實的方法。
本系統(tǒng)設(shè)計了一套全新的網(wǎng)上教學(xué)系統(tǒng)用來滿足在窄帶網(wǎng)絡(luò)上進行網(wǎng)絡(luò)實時教學(xué)的需求。這種課件格式為流媒體格式,可以滿足在窄帶網(wǎng)絡(luò)上實時傳輸,并且在本地播放時可以保留快進,快退等基本的媒體播放屬性。
2、系統(tǒng)原理簡介
一般網(wǎng)絡(luò)課件的制作是將教師講課實況信息錄制后作為視頻保存。實際上,教師授課時每堂課一般只需30個左右的PowerPoint幻燈片,屏幕上的畫面變化非常小;诖,我們設(shè)計了一個新的方案:將課件中的各種信息分開來傳輸,而不是象現(xiàn)在的課件那樣,將很多的信息合在一起傳輸。經(jīng)過分析,可以將課件的內(nèi)容分為如下幾部分: PowerPoint文件(PPT);鼠標信息;鍵盤信息;聲音信息。PPT文件是一個比較小的文件,一般在幾百K左右。所以可以設(shè)計一個客戶機-服務(wù)器模式的系統(tǒng),在服務(wù)器端實現(xiàn)對PowerPoint文件的控制,捕獲鼠標,鍵盤及聲音信息,將它們封裝并傳輸?shù)娇蛻舳?客戶端系統(tǒng)接收還原這些信息來控制 PPT文件的播放。其中PPT文件是在鼠標,鍵盤和聲音信息之前傳輸?shù),實時傳輸?shù)膶嶋H上只有鼠標信息,鍵盤的翻頁信息和語音信息。這些信息的量和視頻信息比起來就少得多了,僅過這樣的設(shè)計和處理,可以實現(xiàn)在窄帶上的實時傳輸。
3、系統(tǒng)的具體實現(xiàn)
為了實現(xiàn)上述的目標,服務(wù)器軟件需要在服務(wù)器端捕獲鼠標,鍵盤及聲音信息并將以上三者相同步,而且還可以將這些的信息向網(wǎng)絡(luò)發(fā)送或者將這些信息在本地上保存為一種特定格式的包封文件,其結(jié)構(gòu)如圖一所示。同樣,客戶端程序需要解析從網(wǎng)絡(luò)傳來的服務(wù)器信息或播放本地這種特定格式文件。
接下來詳細討論各部分的實現(xiàn)。
3.1 音頻的處理
3.1.1 聲音的錄制與播放
人耳能聽到的聲音,最高頻率是20000Hz,而語音頻率一般在4000Hz以下,教師講課的課件,其音頻部分主要是語音。為提高壓縮比,本系統(tǒng)只處理了語音信息。
微軟公司提供的Direct中的DirectSound組件性能與兼容性比較好。因此,我們選用了DirectX作為開發(fā)包,來實現(xiàn)PCM聲音的錄制與播放。
3.1.2 G.723.1語音壓縮
本系統(tǒng)研究的一個重要方面就是高壓縮比傳輸,所以主要工作之一便是選取一個合適的語音壓縮算法來壓縮教師的講解聲音。
目前語音壓縮的算法非常多,本系統(tǒng)選用G.723.1算法,主要是從通用性和效率兩方面綜合考慮的結(jié)果。G.723.1是ITU的一個標準,所以選用 G.723.1作為語音的壓縮算法,其通用性是可以保證。另一方面,G.723.1的壓縮效率可以滿足本系統(tǒng)的要求,最終的碼率是6.3Kbit/s或 5.3Kbit/s。
我們把由ITU組織提供的標準G.723.1算法的源程序改寫為一個標準的Win32動態(tài)連接庫。該庫向外導(dǎo)出 CG7231Coder和CG7231Decoder 兩個C++庫,分別實現(xiàn)了G.723.1的編碼與解碼。實現(xiàn)CG7231Coder類的對象時,只需調(diào)用Coder成員函數(shù)來進行語音編碼。該函數(shù)的第一個參數(shù)是,指向被編碼的PCM數(shù)據(jù)。該數(shù)據(jù)是8KHz,16位單聲道的30ms的PCM數(shù)據(jù),共480個字節(jié)。該函數(shù)的第二個參數(shù)是,用于接受當前被編碼后的壓縮數(shù)據(jù),因為我們固定采用了6.3Kbit/s的比特率,所以該參數(shù)所指的緩沖區(qū)應(yīng)為24個字節(jié)。經(jīng)過我們改寫后的G.723.1的編碼算法具有以下特征:低通濾波,噪聲平滑,恒定的6.3Kbit/s比特率。我們可以通過相關(guān)參數(shù)變量來改變上述特征。解碼器也具備同編碼器一樣的功能
ITU組織提供了G.723.1的算法有兩種實現(xiàn)形式:整點和浮點。整點算法比較簡單,易于實現(xiàn),但是整點算法對計算機的硬件要求極高。而浮點算法的速度遠遠高于整點算法,所以在本系統(tǒng)中使用了浮點算法,這樣,服務(wù)器軟件可以在配置較低的機器也可以正常運行。
3.2 視頻的處理
通過前面的分析可知,在設(shè)計中我們?nèi)∠艘曨l,采用直接控制PowerPoint Viewer程序來播放教師所用的PPT教案,所以系統(tǒng)的視頻部分是建立在Microsoft公司的PowerPoint Viewer軟件基礎(chǔ)之上的。PowerPoint Viewer本身是一個獨立的應(yīng)用軟件,其主要功能是用來播放由Microsoft公司PowerPoint軟件制作的幻燈片。我們現(xiàn)在所設(shè)計的系統(tǒng)是一個課件的生成工具,同時它也可以實現(xiàn)網(wǎng)上的實時授課。它之所以和PowerPoint Viewer聯(lián)系在一起,是因為本軟件利用了PowerPoint的PPT文件作為教師的電子教案。
在用PowerPoint Viewer程序播放PowerPoint文檔時,教師可以通過鼠標和鍵盤兩類控制信息來控制該文檔的行為(例如:向前,向后翻頁)。下面將分別討論這兩類控制信息的接管控制以及對PowerPoint Viewer的控制。
3.2.1 鍵盤信息的處理
在教師的講課過程中, PowerPoint文檔是以幻燈片模式來播放的,而且對它的控制行為并不是很多,一般只有簡單的向前翻、向后翻頁,縮小或放大播放窗口,結(jié)束放映等控制動作;谏鲜隹紤],我們通過設(shè)計了一個類庫來控制PowerPoint Viewer程序前后翻頁,而不是通過PowerPoint Viewer的默認控制鍵(例如:通過空格鍵,鼠標左鍵向前翻頁)。
該動態(tài)連接庫向外提供了一系列函數(shù)用來控制Power Point Viewer程序。在獲得PowerPoint Viewer進程中用來播放PowerPoint文檔的窗口句柄后,將發(fā)送到播放窗口的消息作了兩方面的改變。一是將默認的PowerPoint Viewer的鍵盤控制消息改變?yōu)槠渌腜owerPoint Viewer不可以識別的鍵盤消息,實現(xiàn)了對PowerPoint Viewer的鍵盤屏蔽。另一方面將自定義的消息改變到PowerPoint Viewer可以識別的控制命令,實現(xiàn)了所謂的客戶程序可以控制PowerPoint Viewer的行為(例如:前后翻頁等)。最后,我們還將安裝一個動態(tài)連接庫到PowerPoint Viewer進程的內(nèi)部,通過對PowerPoint Viewer進程的內(nèi)部控制,實現(xiàn)了鼠標的控制以及播放窗口的全屏與窗口模式之間的切換、窗口的移動;PowerPoint文檔的前后翻頁;以及在播放窗口的指定位置中繪畫用來代表教師教鞭的鼠標及鼠標右鍵的快捷菜單。
3.2.2鼠標消息的處理
首先,我們來看一下鼠標消息在默認的 PowerPoint Viewer程序中有什么樣的作用。在Windows的程序設(shè)計中,鼠標器可以產(chǎn)生三十多個消息,但是通過分析研究發(fā)現(xiàn), PowerPoint Viewer程序只是處理了幾個鼠標消息—WM_LBUTTONDBLCLK、WM_LBUTTONDOWN、WM_LBUTTONUP、 WM_RBUTTONDOWN。上述的幾個鼠標消息的默認動作行為有三種:一是激活PowerPoint文檔的播放窗口,二是使得PowerPoint文檔向下翻一頁,三是彈出一個快捷菜單以供用戶選擇。
鼠標消息與鍵盤消息,我們將其分開處理,這樣做是因為:第一,如果對鼠標消息也采取與處理鍵盤消息同樣的方法,會嚴重地影響系統(tǒng)性能;第二,對于鼠標消息,我們需要用自己的快捷菜單來替代PowerPoint Viewer的默認右鍵菜單,這只能通過內(nèi)聯(lián)代碼來實現(xiàn)。
我們在嵌入到PowerPoint Viewer程序之中的動態(tài)連接庫內(nèi)對鼠標消息進行截獲,加入一些代碼來改變播放PowerPoint文檔窗口的默認消息處理過程。這樣做的好處是:可以直接在播放窗口中響應(yīng)鼠標消息,完全控制PowerPoint Viewer的播放窗口,而不必考慮進程間通信的問題。
3.3網(wǎng)絡(luò)實時服務(wù)的實現(xiàn)方案
通過Windows下Socket編程,我們實現(xiàn)了服務(wù)器端和客戶端網(wǎng)絡(luò)模塊的軟件。該類對象在每30ms時間間隔內(nèi)會通過網(wǎng)絡(luò)向外廣播,客戶如果接受該信息者可以在網(wǎng)上實時聽課。因為通過計算可知每包的大小為33個字節(jié),服務(wù)器在30ms內(nèi)廣播有關(guān)包,因此可以算出其課件流的速率為 33×(1000/30)=1100(Bytes/sec)=8.8Kbits/s。8.8Kbits/s的速率在當前公共網(wǎng)上基本都可以得到滿足。
4、系統(tǒng)性能分析
服務(wù)器端完成之后具有以下功能:
能提供多種服務(wù)方式,可以向網(wǎng)絡(luò)廣播已生成的課件;教師可以通過網(wǎng)絡(luò)進行現(xiàn)場實時授課,與此同時還可以把講述內(nèi)容錄制成包封格式的課件;在不提供網(wǎng)絡(luò)的條件下,教師可以在本地制作課件,以便以后學(xué)生可以通過課件播放器來觀看學(xué)習(xí)。
服務(wù)器端在得到了教師的講解聲音和PowerPoint Viewer的控制信息后,它們的同步誤差控制在0.5秒內(nèi)。
服務(wù)器生成課件的速度快。局域網(wǎng)下進行網(wǎng)絡(luò)傳輸時,幀的延時不超過1秒。
服務(wù)器還有一定的網(wǎng)絡(luò)監(jiān)控功能。進行實際的網(wǎng)絡(luò)授課時,服務(wù)器還提供在線學(xué)生管理以便教師可以了解當前的學(xué)生情況。
客戶端軟件完成之后具有以下功能:有兩種學(xué)習(xí)方式-網(wǎng)絡(luò)教室和本地文檔,可供選擇。其中網(wǎng)絡(luò)教室用來連接遠端的服務(wù)器。
5、結(jié)論和進一步的工作
總之,在目前網(wǎng)絡(luò)傳輸速度較慢,還不能夠完全滿足各種媒體信息暢通無阻的在網(wǎng)上傳輸時,本系統(tǒng)盡可能的減小了所用媒體文件的大小,對學(xué)校教師經(jīng)常采用的 PPT這種演講型課件來說,是行之有效的辦法。下一步的工作就是考慮課件中加載更多媒體文件時的情況。多種媒體文件的應(yīng)用使課件更加生動有趣。但是在網(wǎng)絡(luò)中,數(shù)據(jù)量較大的媒體文件。往往會令用戶因等待太久,而失去對課件的興趣。想在網(wǎng)絡(luò)課件中加載更多媒體文件,需要在保證可視質(zhì)量前提下盡可能提高壓縮比,更可行的辦法是提供可選擇性的服務(wù),使得用戶根據(jù)自己的網(wǎng)絡(luò)環(huán)境選擇是否加載某些服務(wù)。相信在不久的將來,高速網(wǎng)普及后,數(shù)據(jù)量問題不再是束縛網(wǎng)絡(luò)課件制作和發(fā)展的因素。
【論高壓縮比網(wǎng)絡(luò)課件的生成及傳輸系研究】相關(guān)文章:
論網(wǎng)絡(luò)虛擬仿真實驗中心建設(shè)研究與實踐06-13
論初中英語學(xué)困生成因及轉(zhuǎn)化11-04
移動網(wǎng)絡(luò)中OTN傳輸技術(shù)的應(yīng)用論文05-27
論酒店服務(wù)意識研究05-26
對于OMNEST 的以太網(wǎng)傳輸丟包問題研究論文04-27
論高校網(wǎng)絡(luò)道德建設(shè)06-14
初中數(shù)學(xué)課件設(shè)計與應(yīng)用研究05-23