崔巖松,王 方,陳科良
(北京郵電大學 電子工程學院,北京 100876)
高等院校進行電子電路實驗由于時間、設備、場地的限制,實驗過程被限制在實驗課堂的短短數小時內,這對學生動手操作能力和學以致用能力的提升無疑是一種桎梏。基于網絡技術的虛擬實驗室不僅可以讓學生實驗擺脫時間、空間的限制,還可以規避真實操作帶來的風險。由于虛擬實驗室的“設備”與“部件”是虛擬的,可以根據情況隨時更新,節約了購買設備的經費。
隨著計算機網絡和三維圖形軟件等先進信息技術發展,媒體的呈現形式也不再局限于平面,虛擬現實(VR)產業已經悄然興起。由于VR 能給予用戶新鮮感以及強烈的代入感,因此擁有著巨大發展潛力。以VR 為基礎的全景圖像、VR 視頻、VR 游戲等,在社交、商務、娛樂等領域目前已取得不錯的成果。然而,對于傳統教育行業,其教學模式經過前一次投影教學的革新之后,一直再未有大的改變。隨著對教學質量要求的不斷提高,教學內容需要更加直觀形象的展現形式,授課方式需要更加便捷和多元化,不再被教室、實驗室等空間所束縛。因此,將虛擬現實技術與教育教學進行融合,探索信息技術在教學模式中的深度應用,創新學習授課方式勢在必行。VR 技術在教學方式方法的創新上具有很大發展空間與優勢。本文旨在設計一種基于VR 直播的具有創新性、多樣性、可實現性和發展性的遠程教育系統。
為了應對不同應用場景的需求,基于VR 直播的遠程教學系統給用戶提供了兩種使用方式:(1)針對學校局域網內的學生用戶,(2)針對公網環境下的手機用戶。
學校范圍內的學生用戶主要需求集中于課堂教學。由于VR 視頻對網絡環境的要求很高,要達到多用戶同時同地進行高清流暢的VR 直播是非常困難的。為此,系統設計中引入了“擬直播”的概念:系統將在各個教室、宿舍等地方設置機頂盒路由器,搭建局域網VR 資源平臺。根據學校的教學課程表設置后臺的定時任務,提前緩存次日的課堂資源[1]。正式上課時,教師端作為主機,通過組播的方式向組成員(學生)發送VR 課堂資源,從而解決了數據的重復拷貝及帶寬的重復占用問題。局域網下的系統架構如圖1 所示。

圖1 局域網下的系統架構
課堂上的師生及時互動也是教學系統不可或缺的功能[2]。系統使用Socket 通信實現了局域網下互聯互動功能。教師端可通過機頂盒路由器來查看不同學生的學習狀態和學習進度。教師端與學生端之間也可以模擬上課舉手回答問題等現實場景。“擬直播”和Socket 通信的結合,能夠進行低延遲高清晰的VR 流媒體播放,給學校范圍內的學生用戶提供更好的直播體驗[3]。
公網環境下的手機用戶主要需求集中于興趣式瀏覽。因此,為不同用戶描繪“用戶畫像”,并對其進行智能推薦尤為重要。系統將記錄下用戶的瀏覽歷史、點贊、預約、收藏視頻、個人資料的設置等原始數據,對原始數據進行統計分析后構建數據標簽,并根據這些數據標簽構建出用戶畫像。用戶使用頻率越高,用戶畫像的構建將越細致。
手機APP 端主要由VR 直播、課堂推薦、往期課堂、課堂預告4 個模塊組成。學生用戶可以在VR 直播模塊中實時觀看學校當前推送的直播內容,使得學生可以不受地域的限制,隨時隨地參與課堂。課堂推薦模塊根據用戶的用戶畫像為其量身推送優質的課堂內容,讓學生在興趣的海洋里深潛。往期課堂模塊中會展示用戶相關課堂中的歷史內容,用戶可以通過這個模塊來觀看歷史視頻。課堂預告模塊主要用于向學生展示未來的課程安排,學生可以通過收藏或訂閱的方式來獲得課堂的后續推送內容。
虛擬現實技術與課堂的有機結合,讓原本枯燥的課堂變得有趣,讓原本抽象的概念變得立體,讓原本遙遠的景象變得咫尺[4],從而能夠激發學生們的學習熱情。
VR 虛擬現實技術是一種可以創建和體驗虛擬世界的計算機仿真系統。它利用計算機生成模擬環境,通過多源信息融合的交互式三維動態視景和實體行為的系統仿真,使用戶沉浸到模擬環境中。虛擬現實是多種技術的綜合,包括實時三維計算機圖形技術,廣角(寬視野)立體顯示技術,對觀察者頭、眼和手的跟蹤技術,以及觸覺/力覺反饋、立體聲、網絡傳輸、語音輸入輸出技術等[5]。
在本系統設計中,呈現VR 的載體主要是Android手機,搭配可進行手機觀看的VR 眼鏡,從而實現VR體驗效果。VR 眼鏡的原理是將內容分屏,切成兩半,通過鏡片實現疊加成像。與人類眼睛的工作原理類似,兩個透鏡相當于眼睛,但遠沒有人眼“智能”,需要通過調節透鏡的“瞳距”使之與人眼重合,保證三點一線,從而獲得最佳的視覺效果。同時,VR 眼鏡需要手機中對應的VR 播放器進行配合,才能獲得VR 效果。目前市場上成熟的VR 播放器都是不開源的,因此本研究通過原理分析和拆解,并以Android 系統強大的功能作為基礎,設計了一款簡單但功能完善的播放器。
VR 視頻播放器主要有兩個技術難點: VR 效果的渲染和視頻播放的控制。由于VR 視頻的每一幀都是一張360°的全景圖像,因此對于播放器而言,VR效果的渲染工作總結起來主要是兩大部分:球體的繪制和球體的全景圖像紋理貼圖。完成貼圖后,為了讓觀眾自由切換視角,還需要使用投影和相機視圖,并進行窗口裁剪。這部分工作的實現需要借助Android 系統自帶的OpenGL ES 和GLsurfaceView模塊,前者是用來完成視頻內容渲染工作,后者則是將渲染內容直觀地展示在surface 上。VR 全景視頻完整的渲染播放流程如圖2 所示。在視頻播放的控制上,以開源的IJKPlayer 播放器為基礎,盡管它提供了一個視頻的播放控制組件MediaController,但是不太適合本系統的要求[6],因此重新定義了一個播放控制類MyMediaController。它繼承自FrameLayout,作為一個自定義組件來使用,主要完成視頻播放/暫停、進度條拖動播放、陀螺儀開關以及播放模式切換的控制。

圖2 VR 全景視頻渲染播放流程
直播是當下最火的媒體形式,各種類型的直播豐富著人們的生活。由于直播不受空間的限制,因此在任何地方只要有網絡就可以接入直播源播放,學生就可以開始學習,并且沒有人員數量限制。本系統將直播與VR 結合起來,使平面化的教學直播向沉浸式的互動直播轉變。整個VR 直播架構與流程如圖3 所示。

圖3 VR 直播架構與流程
本系統主要涉及儲存分發與播放流程,而VR 直播源則是由各類教學機構提供。本系統在后臺建設上采用當下最流行的CDN(內容分發網絡),依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,從而降低網絡擁塞,提高用戶訪問響應速度和命中率。這對于VR 直播延遲的降低起到了至關重要的作用。在播放環節,直播流支持RTMP、HLS、HTTP 3 種流傳輸協議,通過支持流媒體格式的VR 播放器,將直播內容展示給用戶。
由于VR 直播每一幀的內容都是360°的全景圖像,并且為了達到基本的觀看體驗,分辨率至少需要超清,最好達到4K 標準[7-8],因此VR 直播對網絡延遲、帶寬、分辨率等的要求極為苛刻。然而,對于當前的網絡環境而言,很難實現高清流暢的直播效果。因此,本系統引入“擬直播”的概念,以機頂盒路由器為媒介,設置后臺任務提前緩存次日的課程資源,通過局域網組播的形式,并且通過定時服務,做到向用戶按時播放課程。這種“擬直播”是當前環境下技術層面的應對方法,它既可以實現流暢高清的“直播”,又能減少用戶端的緩存占用。
對用戶的管理控制是教育系統的一項重要功能。處于公網的用戶在手機APP 中使用HTTP 協議來獲取后臺資源、接收服務器推送、觀看直播等,系統通過管理后臺配置用戶的觀課權限、學期課程等。用戶也可以借助請求來發送消息、預約授課。公網環境下的控制模式是一個典型的基于HTTP 云服務器交互訪問。
學校內用戶的管理控制模式涉及單播廣播、TCP/UDP 協議等,并以每個機頂盒路由器為中心,形成以教室為單位的局域網。每個局域網包括一個通過Android 程序架設在機頂盒的服務器以及數十個用于教學的 VR 設備。在教學過程中,客戶端通過DatagramSocket 發送UDP 廣播搜索服務器設備,對消息采用ByteBuffer 進行數據包裝,發送包含特征碼的消息。服務器作為接收端,收到消息后對數據進行解析,發現包含的特征碼后,將自己的IP 和端口回送給客戶端。這樣兩者就可以嘗試建立TCP 通信。具體過程如圖4 所示。

圖4 UDP 搜索與TCP 連接過程
由于有多個客戶端進行連接,為了保證并發性,系統將開啟新線程與客戶端建立TCP 連接,并且將發送和接受分開。建立連接后,教師可以通過服務器向所有建立連接的客戶端VR 設備發送課程資源,實現一對多教學。學生用戶可以向服務器發送消息,例如舉手、提問,教師通過消息反饋實現了一對一教學。
在大數據時代,許多電商會將用戶的每個具體信息標簽化,再利用這些標簽將用戶形象具體化,從而為用戶提供有針對性的服務[9]。用戶畫像不斷發展逐漸演變成了當前企業用于識別特定群體客戶的標簽。本系統將手機APP 的課堂推薦模塊與用戶畫像結合起來,讓系統能夠對用戶進行智能推薦,滿足用戶的瀏覽需求。
本系統中的用戶畫像構建主要通過取自用戶的3個維度的課堂描述詞,即課堂大類、課堂名和授課老師。基于用戶使用此APP 的所有瀏覽和消費行為,系統可以計算出每個用戶的興趣重點,并將這些用戶感興趣的課堂作為用戶的標簽[10]。在這3 個維度的課堂描述基礎上,再額外增加用戶點擊、預約、收藏和關注4 個維度,系統構建出專屬的用戶畫像。整個用戶畫像的構建流程如圖5 所示。

圖5 用戶畫像構建流程
由于本系統應用于VR 教學,VR 播放過程中的網流暢度是最為關鍵指標,因此主要針對播放過程中的緩存速率和幀率作了組合測試。測試環境的配置如表1 所示。通過編寫代碼,實時輸出日志,記錄測試結果。整理統計所得到的數據,取多次測試平均值,具體結果如圖6—8 所示。

表1 系統測試環境配置表
從圖6 可知,在WiFi 和4G 環境下的視頻緩存速率趨勢基本相同,播放開始速率較快,隨后趨于穩定。從圖7 可以看出,播放過程中視頻幀率穩定在60 fps左右,符合人眼觀看無卡頓的需求。從圖8 可以看出,播放開始后GPU 占用率保持在20%左右且穩定。

圖6 WIFI/4G 環境下視頻緩存速率

圖7 視頻播放幀率

圖8 視頻播放中GPU 占用率
測試表明,系統在正常網絡環境下,對于超清畫質下的VR 視頻流播放效果穩定良好,基本無卡頓,用戶可以體驗到優質的VR 效果,符合教學要求。系統效果如圖9 所示。圖10 為VR 直播間互動界面。圖11展示了系統首頁。

圖9 VR 直播播放效果

圖10 VR 直播間互動界面

圖11 系統首頁展示
本文設計了基于VR 直播的遠程教學系統,并根據不同的應用場景設計不同的使用方式。在校園內應用時,該教學系統通過引入“擬直播”的概念解決了VR 課堂直播中對網絡環境高需求的痛點問題。結合Socket 通信的方式,系統將流暢高清的VR 課堂直播傳送給每一個學生。在公網環境下應用時,該教學系統為用戶提供了VR 直播、課堂推薦、往期課堂、課堂預告4 個模塊,不僅能夠滿足學生日常觀看VR 教學視頻的需求,還引入了“用戶畫像”技術,為用戶進行個性化的內容推送。
基于VR 直播的遠程教學系統將VR 與課堂直播結合起來,顛覆了傳統的教學模式,將教師針對全班同學的無差別教學,顛覆為真正的個性化因材施教。每一位學生都可以在虛擬環境中,感受360°沉浸式教學,教學系統讓學習的知識可視化、立體化、體驗化。本研究對創新教育方式與手段具有積極作用,是對VR與教學融合的積極探索。