王學勇,鄒 蕾,崔 斌
(北京京航計算通訊研究所,北京 100074)
傳統(tǒng)的研討會通過會議室物理空間座談,需要與會人員通過交通差旅到場參加,費時費力;視頻會議和電話會議只能展示二維的畫面,不能實現(xiàn)置身三維仿真場景的效果,使交流受到限制,比如在檢察機關進行案件研討過程中,對3D 還原的案發(fā)現(xiàn)場,不能做到與會者身臨其境勘查的體驗。
本文研發(fā)了一套司法業(yè)務虛實協(xié)同研討系統(tǒng),擬解決公、檢、法、司跨部門業(yè)務協(xié)同工作中呈現(xiàn)出的協(xié)同研討人員物理空間地域分散、虛擬空間協(xié)同手段單一、協(xié)同研討的臨場感不足、研討情景時序不可回溯等問題,構建以案件為中心的智能研討的虛實協(xié)同研討空間,實現(xiàn)起訴、立案、審判、調解、執(zhí)行等環(huán)節(jié)的研討和交互。面向公、檢、法、司跨部門業(yè)務協(xié)同工作場景如圖1 所示。
圖1 面向公、檢、法、司跨部門業(yè)務協(xié)同工作場景
虛擬現(xiàn)實(Virtual Reality,VR),該技術是利用計算機模擬產(chǎn)生一個三維空間的虛擬世界,為用戶提供關于視覺、聽覺、觸覺等感官的模擬,讓用戶感覺仿佛身臨其境,可以觀察三維空間內(nèi)的事物。用戶進行位置移動時,計算機可以立即進行復雜的運算,將精確的三維世界視頻傳回,產(chǎn)生臨場感。該技術集合了計算機圖形、計算機仿真、人工智能、傳感感應、顯示及網(wǎng)絡并行處理等技術的最新發(fā)展成果,是一種由計算機技術輔助生成的高新技術模擬系統(tǒng)。目前VR 技術在虛擬現(xiàn)實游戲等場景中已經(jīng)有較成熟的應用。
跨部門協(xié)同虛擬研討空間系統(tǒng)針對司法業(yè)務協(xié)同過程中面臨的人員協(xié)同、數(shù)據(jù)共享、系統(tǒng)協(xié)同等問題,實現(xiàn)多用戶智能協(xié)同交互、數(shù)據(jù)跨域可信共享、系統(tǒng)智能互操等功能。從技術上,解決實時位置同步、實時語音同步和實時圖像同步等關鍵技術,實現(xiàn)廣域網(wǎng)的異地、多人協(xié)同能力。位于異地的多人可同時進入VR場景,面對面地進行語音交流、動作交互、文檔演示,具有多維的真實感和沉浸感,其效果接近見面溝通。
系統(tǒng)支持多用戶內(nèi)容共享,讓VR 遠程會議仿佛置身于真實的場景中,參會者可通過發(fā)言人的手勢、語言和表情理解對方的想法,遇到有異議之處可及時反饋,表達自己的看法和建議。
系統(tǒng)總體架構如圖2 所示:跨部門協(xié)同虛擬研討空間系統(tǒng)總體架構上分為存儲層、服務層、引擎層、應用層四部分。
圖2 系統(tǒng)總體架構
存儲層是存儲部分,包括場景模型、物體模型、角色模型、行為模型、管理數(shù)據(jù)、日志文件、內(nèi)容文件、配置文件、虛實協(xié)同研討記錄等文件、關系型數(shù)據(jù)等的存儲。
服務層是整個系統(tǒng)程序邏輯的基礎框架部分,采用易于持續(xù)集成和擴展的微服務架構,包括服務治理、通用服務、接口服務等模塊,接口服務提供標準的接口,實現(xiàn)與姿態(tài)識別子系統(tǒng)和研討意見智能整理子系統(tǒng)對接。
引擎層是整個系統(tǒng)的核心部分,包括虛實協(xié)同研討空間渲染引擎、虛實協(xié)同研討網(wǎng)絡同步引擎、虛實協(xié)同研討工作流引擎等。在分布式網(wǎng)絡環(huán)境中,實現(xiàn)虛實協(xié)同中多個虛擬研討空間場景仿真動態(tài)構建、虛實協(xié)同研討中各角色實際姿態(tài)在其他各虛擬空間中實時同步、虛實協(xié)同研討中會議組織流程管理與多方同步。
應用層面向最終用戶,提供使用的終端設備裝置、具有用戶操作界面的軟件系統(tǒng),包括仿真還原子系統(tǒng)和虛實協(xié)同研討管理子系統(tǒng)。
仿真還原子系統(tǒng)提供虛實協(xié)同研討場景自動渲染、會議自動管理、用戶操作、系統(tǒng)功能等模塊。
虛實協(xié)同研討管理子系統(tǒng)采用B/S 的架構,為用戶提供直觀GUI 操控界面,實現(xiàn)子系統(tǒng)管理、模型管理、內(nèi)容管理、用戶管理、角色管理、權限管理、會場管理、會議管理、會議記錄管理、接口管理、系統(tǒng)配置、個人中心等功能模塊。實現(xiàn)系統(tǒng)的可管理、可配置、可監(jiān)控的能力。
渲染是一種計算機圖形生成技術,首先在計算機內(nèi)建立所需場景的幾何模型,并附上一定的材質、紋理及色彩,再加上光源,根據(jù)一定的光照條件,計算并生成具有真實感效果的場景圖形。渲染是基于一套完整的程序計算出來的。渲染的速度受到計算機硬件計算速度的影響。
虛實協(xié)同研討空間渲染引擎實現(xiàn)3D 雙目渲染,加載和渲染VR 場景、3D 角色模型、物理系統(tǒng)、物體的相對位置、語音、姿態(tài)表情等,接受并響應用戶的輸入、音頻輸出等。
本系統(tǒng)中,VR 場景涉及的模型分為兩類,一類是非實時狀態(tài)下的場景模型,如會議室墻壁、燈、白板、自然環(huán)境等,這些設施是固定不動的,沒有用戶操作;另一類是實時狀態(tài)下的活動模型,如人物角色模型,以及可能被用戶操作的物體模型,如道具模型、椅子模型等。
虛實結合動作姿態(tài)仿真還原動畫系統(tǒng)可以分為兩種:一是骨骼動畫系統(tǒng),一是模型動畫系統(tǒng),前者用內(nèi)置的骨骼帶動物體產(chǎn)生運動,后者則是在模型的基礎上直接進行變形。引擎把這兩種動畫系統(tǒng)預先植入仿真還原子系統(tǒng),方便動畫師為角色設計豐富的動作造型。
網(wǎng)絡同步引擎架構設計如圖3 所示。
圖3 虛實協(xié)同研討網(wǎng)絡同步引擎架構
2.2.1 平臺數(shù)據(jù)包模塊
數(shù)據(jù)包是在網(wǎng)絡中傳輸?shù)挠幸欢ǜ袷降臄?shù)據(jù)集合。平臺數(shù)據(jù)包模塊是最底層,這一層針對特定的業(yè)務,實現(xiàn)對網(wǎng)絡接口協(xié)議的封裝、構建、發(fā)送和接收不同的數(shù)據(jù)包格式。一個數(shù)據(jù)包中可以包含不同類型的數(shù)據(jù),如場景模型數(shù)據(jù)、姿態(tài)數(shù)據(jù)等。
2.2.2 連接管理器
連接管理器的任務是將網(wǎng)絡中兩臺計算機之間的連接抽象化。它從上層流管理器接收數(shù)據(jù),再將數(shù)據(jù)傳輸給底層平臺數(shù)據(jù)包模塊。
連接管理器不保證數(shù)據(jù)的可靠傳輸,但是連接管理器可以保證投遞狀態(tài)通知的正確傳輸,即可以確認傳輸?shù)竭B接管理器層的請求狀態(tài),連接管理器層的上層(流管理器)就可以獲知指定的數(shù)據(jù)是否被成功傳輸。
虛實協(xié)同研討系統(tǒng)中,連接管理器管理維護仿真還原子系統(tǒng)、姿態(tài)識別子系統(tǒng)到虛實協(xié)同研討服務平臺的連接。
2.2.3 流管理器
流管理器將數(shù)據(jù)發(fā)送給連接管理器,它決定了允許數(shù)據(jù)傳輸?shù)淖畲笏俾?。傳輸速率和?shù)據(jù)包大小將根據(jù)客戶端的連接發(fā)送給服務器,以保證服務器不至于將超出連接能力的數(shù)據(jù)發(fā)送給客戶端。
鑒于許多系統(tǒng)要求流管理器發(fā)送數(shù)據(jù),流管理器需要把這些請求按照優(yōu)先次序排好。在帶寬限制的情況下,行為管理器、事件管理器和對象管理器擁有最高的優(yōu)先級。一旦流管理器決定了發(fā)送哪些數(shù)據(jù),數(shù)據(jù)包將會分派給連接管理器。接著,高層管理器將會通過流管理器的投遞狀態(tài)得到通知。
因為流管理器所執(zhí)行的設置間隔和數(shù)據(jù)包大小的不同,一個數(shù)據(jù)包中很有可能包含不同類型的數(shù)據(jù)。例如,一個數(shù)據(jù)包可能同時包含來自移動管理器、事件管理器和對象管理器的數(shù)據(jù)。
2.2.4 對象管理器
對象管理器是復制被認為與指定客戶端相關的動態(tài)對象。服務器給客戶端發(fā)送關于動態(tài)對象的信息,但是僅僅是服務器認為客戶端需要知道的對象。客戶端模塊負責決定客戶端必須知道什么以及最好知道什么。
不管相關對象的集合是如何計算出來的,對象管理器的任務是從服務器向客戶端傳輸盡可能多的相關對象狀態(tài)。對象管理器能保證最近的數(shù)據(jù)成功地傳輸?shù)剿械目蛻舳?,對于系統(tǒng)來講是非常重要的。
當一個對象成為相關對象(或在范圍內(nèi))時,對象管理器將給該對象賦予一些信息,這里稱為對象記錄。該記錄包括唯一的ID、狀態(tài)掩碼、優(yōu)先級、狀態(tài)變換(該對象是否已經(jīng)被標記為在范圍內(nèi)或范圍外)。
對于對象狀態(tài)的傳輸,對象的優(yōu)先級首先由狀態(tài)變換決定,其次由優(yōu)先級決定。一旦對象管理器決定了要傳輸哪些對象,它們的數(shù)據(jù)將會被添加到出站數(shù)據(jù)包中。
2.2.5 行為管理器
行為管理器的任務是盡快傳輸用戶的移動數(shù)據(jù)。行為管理器具有較高優(yōu)先級,這意味著當移動數(shù)據(jù)可用時,流管理器總是首先給出站數(shù)據(jù)包添加所有的移動管理器數(shù)據(jù)。每一個客戶端負責傳輸它們的移動信息到服務器,之后通知客戶端這些移動信息的接收情況。
2.2.6 事件管理器
事件管理器維持一個由客戶端產(chǎn)生的事件隊列。這些事件可以看作是遠程過程調用(Remote Procedure Call,RPC)的一種簡單形式,RPC 是可以在遠程計算機上執(zhí)行的程序。
例如,當用戶做出一個向左扭頭的姿態(tài)變化時,引發(fā)一個“向左扭頭姿態(tài)變化”事件,該事件將被發(fā)送到事件管理器。該事件接著被發(fā)送到服務器,服務器確認和記錄。事件管理器負責將這些事件按照優(yōu)先次序排列,它會給盡可能多的事件分配最高的優(yōu)先級,直到滿足下面的任意一個條件:數(shù)據(jù)包已滿,事件隊列為空,或者此刻有太多的活躍事件。
事件管理器也會追蹤每一個被標記為可靠數(shù)據(jù)的傳輸記錄。用這種方法,事件管理器很容易實現(xiàn)可靠性。如果可靠記錄沒有被確認,那么事件管理器重新將該事件放入事件隊列中,重新傳輸一次。當然,也有很多標記為不可靠的數(shù)據(jù),對于這些數(shù)據(jù),則不需要追蹤它們的傳輸記錄。
2.2.7 基本網(wǎng)絡模型
服務器以一個固定的時間間隔更新模擬世界。默認情況下,時間步長為15ms,以66.66 次/秒的頻率更新模擬世界,該更新頻率可以配置。
在每個更新周期內(nèi)服務器處理傳入的用戶命令,運行物理模擬步,檢查系統(tǒng)規(guī)則,并更新所有的對象狀態(tài)。
用戶操作的響應速度(操作到世界中的可視反饋之間的時間)是由很多因素決定的,包括服務器與客戶端的CPU 負載、更新頻率、網(wǎng)絡速率和快照更新設置,但主要是由網(wǎng)絡包的傳輸時間確定的。從客戶端發(fā)送命令到服務器響應,再到客戶端接收此命令對應的服務器響應被稱為延遲或ping(或RTT)。
數(shù)據(jù)使用增量更新壓縮來減少網(wǎng)絡傳輸。服務器不會每次都發(fā)送一個完整的世界快照,而只會更新自上次確認更新(通過ACK 確認)之后所發(fā)生的變化(增量快照)??蛻舳撕头掌髦g發(fā)送的每個包都會帶有ACK 序列號來跟蹤網(wǎng)絡數(shù)據(jù)流。當研討開始時或客戶端在發(fā)生非常嚴重的數(shù)據(jù)包丟失時,客戶端可以要求全額快照同步。
網(wǎng)絡同步引擎在服務器同步時還需要采用數(shù)據(jù)壓縮技術和延遲補償技術,客戶端采用預測運行和插值平滑處理等技術來獲得更好的用戶體驗。
虛實協(xié)同研討工作流引擎主要是調度相應的功能模塊對會議工作流進行管理和控制。包括會議準備階段的會議計劃、虛擬和物理資源的預占,會議進行階段的接入控制、狀態(tài)監(jiān)控、會議記錄,會議完成階段的會議過程的存儲、會議記錄管理、會議回放等功能。
本文研發(fā)的系統(tǒng)提供跨部門、多層級、支持多人自由參與的虛實協(xié)同研討工作環(huán)境體系,通過視、聽、觸等多種手段高度沉浸式人機協(xié)同、多人研討,著重構建人機交互的無縫三維環(huán)境,允許用戶以自然的方式與環(huán)境中的物體進行交互,有效降低用戶在人機交互反饋過程中對“真實”與“虛幻”的辨識度,使得系統(tǒng)具有沉浸性、分布性、反應性、移動性、人機交互與協(xié)作等能力,從而解決了證物展示及智能輔助辦案問題。