基于VR 技术的跨部门协同虚拟研讨空间系统
2022-02-27王学勇
王学勇,邹 蕾,崔 斌
(北京京航计算通讯研究所,北京 100074)
0 研究背景
传统的研讨会通过会议室物理空间座谈,需要与会人员通过交通差旅到场参加,费时费力;视频会议和电话会议只能展示二维的画面,不能实现置身三维仿真场景的效果,使交流受到限制,比如在检察机关进行案件研讨过程中,对3D 还原的案发现场,不能做到与会者身临其境勘查的体验。
本文研发了一套司法业务虚实协同研讨系统,拟解决公、检、法、司跨部门业务协同工作中呈现出的协同研讨人员物理空间地域分散、虚拟空间协同手段单一、协同研讨的临场感不足、研讨情景时序不可回溯等问题,构建以案件为中心的智能研讨的虚实协同研讨空间,实现起诉、立案、审判、调解、执行等环节的研讨和交互。面向公、检、法、司跨部门业务协同工作场景如图1 所示。
图1 面向公、检、法、司跨部门业务协同工作场景
虚拟现实(Virtual Reality,VR),该技术是利用计算机模拟产生一个三维空间的虚拟世界,为用户提供关于视觉、听觉、触觉等感官的模拟,让用户感觉仿佛身临其境,可以观察三维空间内的事物。用户进行位置移动时,计算机可以立即进行复杂的运算,将精确的三维世界视频传回,产生临场感。该技术集合了计算机图形、计算机仿真、人工智能、传感感应、显示及网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高新技术模拟系统。目前VR 技术在虚拟现实游戏等场景中已经有较成熟的应用。
1 总体架构
跨部门协同虚拟研讨空间系统针对司法业务协同过程中面临的人员协同、数据共享、系统协同等问题,实现多用户智能协同交互、数据跨域可信共享、系统智能互操等功能。从技术上,解决实时位置同步、实时语音同步和实时图像同步等关键技术,实现广域网的异地、多人协同能力。位于异地的多人可同时进入VR场景,面对面地进行语音交流、动作交互、文档演示,具有多维的真实感和沉浸感,其效果接近见面沟通。
系统支持多用户内容共享,让VR 远程会议仿佛置身于真实的场景中,参会者可通过发言人的手势、语言和表情理解对方的想法,遇到有异议之处可及时反馈,表达自己的看法和建议。
系统总体架构如图2 所示:跨部门协同虚拟研讨空间系统总体架构上分为存储层、服务层、引擎层、应用层四部分。
图2 系统总体架构
存储层是存储部分,包括场景模型、物体模型、角色模型、行为模型、管理数据、日志文件、内容文件、配置文件、虚实协同研讨记录等文件、关系型数据等的存储。
服务层是整个系统程序逻辑的基础框架部分,采用易于持续集成和扩展的微服务架构,包括服务治理、通用服务、接口服务等模块,接口服务提供标准的接口,实现与姿态识别子系统和研讨意见智能整理子系统对接。
引擎层是整个系统的核心部分,包括虚实协同研讨空间渲染引擎、虚实协同研讨网络同步引擎、虚实协同研讨工作流引擎等。在分布式网络环境中,实现虚实协同中多个虚拟研讨空间场景仿真动态构建、虚实协同研讨中各角色实际姿态在其他各虚拟空间中实时同步、虚实协同研讨中会议组织流程管理与多方同步。
应用层面向最终用户,提供使用的终端设备装置、具有用户操作界面的软件系统,包括仿真还原子系统和虚实协同研讨管理子系统。
仿真还原子系统提供虚实协同研讨场景自动渲染、会议自动管理、用户操作、系统功能等模块。
虚实协同研讨管理子系统采用B/S 的架构,为用户提供直观GUI 操控界面,实现子系统管理、模型管理、内容管理、用户管理、角色管理、权限管理、会场管理、会议管理、会议记录管理、接口管理、系统配置、个人中心等功能模块。实现系统的可管理、可配置、可监控的能力。
2 系统设计
2.1 空间渲染引擎架构
渲染是一种计算机图形生成技术,首先在计算机内建立所需场景的几何模型,并附上一定的材质、纹理及色彩,再加上光源,根据一定的光照条件,计算并生成具有真实感效果的场景图形。渲染是基于一套完整的程序计算出来的。渲染的速度受到计算机硬件计算速度的影响。
虚实协同研讨空间渲染引擎实现3D 双目渲染,加载和渲染VR 场景、3D 角色模型、物理系统、物体的相对位置、语音、姿态表情等,接受并响应用户的输入、音频输出等。
本系统中,VR 场景涉及的模型分为两类,一类是非实时状态下的场景模型,如会议室墙壁、灯、白板、自然环境等,这些设施是固定不动的,没有用户操作;另一类是实时状态下的活动模型,如人物角色模型,以及可能被用户操作的物体模型,如道具模型、椅子模型等。
虚实结合动作姿态仿真还原动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入仿真还原子系统,方便动画师为角色设计丰富的动作造型。
2.2 网络同步引擎架构
网络同步引擎架构设计如图3 所示。
图3 虚实协同研讨网络同步引擎架构
2.2.1 平台数据包模块
数据包是在网络中传输的有一定格式的数据集合。平台数据包模块是最底层,这一层针对特定的业务,实现对网络接口协议的封装、构建、发送和接收不同的数据包格式。一个数据包中可以包含不同类型的数据,如场景模型数据、姿态数据等。
2.2.2 连接管理器
连接管理器的任务是将网络中两台计算机之间的连接抽象化。它从上层流管理器接收数据,再将数据传输给底层平台数据包模块。
连接管理器不保证数据的可靠传输,但是连接管理器可以保证投递状态通知的正确传输,即可以确认传输到连接管理器层的请求状态,连接管理器层的上层(流管理器)就可以获知指定的数据是否被成功传输。
虚实协同研讨系统中,连接管理器管理维护仿真还原子系统、姿态识别子系统到虚实协同研讨服务平台的连接。
2.2.3 流管理器
流管理器将数据发送给连接管理器,它决定了允许数据传输的最大速率。传输速率和数据包大小将根据客户端的连接发送给服务器,以保证服务器不至于将超出连接能力的数据发送给客户端。
鉴于许多系统要求流管理器发送数据,流管理器需要把这些请求按照优先次序排好。在带宽限制的情况下,行为管理器、事件管理器和对象管理器拥有最高的优先级。一旦流管理器决定了发送哪些数据,数据包将会分派给连接管理器。接着,高层管理器将会通过流管理器的投递状态得到通知。
因为流管理器所执行的设置间隔和数据包大小的不同,一个数据包中很有可能包含不同类型的数据。例如,一个数据包可能同时包含来自移动管理器、事件管理器和对象管理器的数据。
2.2.4 对象管理器
对象管理器是复制被认为与指定客户端相关的动态对象。服务器给客户端发送关于动态对象的信息,但是仅仅是服务器认为客户端需要知道的对象。客户端模块负责决定客户端必须知道什么以及最好知道什么。
不管相关对象的集合是如何计算出来的,对象管理器的任务是从服务器向客户端传输尽可能多的相关对象状态。对象管理器能保证最近的数据成功地传输到所有的客户端,对于系统来讲是非常重要的。
当一个对象成为相关对象(或在范围内)时,对象管理器将给该对象赋予一些信息,这里称为对象记录。该记录包括唯一的ID、状态掩码、优先级、状态变换(该对象是否已经被标记为在范围内或范围外)。
对于对象状态的传输,对象的优先级首先由状态变换决定,其次由优先级决定。一旦对象管理器决定了要传输哪些对象,它们的数据将会被添加到出站数据包中。
2.2.5 行为管理器
行为管理器的任务是尽快传输用户的移动数据。行为管理器具有较高优先级,这意味着当移动数据可用时,流管理器总是首先给出站数据包添加所有的移动管理器数据。每一个客户端负责传输它们的移动信息到服务器,之后通知客户端这些移动信息的接收情况。
2.2.6 事件管理器
事件管理器维持一个由客户端产生的事件队列。这些事件可以看作是远程过程调用(Remote Procedure Call,RPC)的一种简单形式,RPC 是可以在远程计算机上执行的程序。
例如,当用户做出一个向左扭头的姿态变化时,引发一个“向左扭头姿态变化”事件,该事件将被发送到事件管理器。该事件接着被发送到服务器,服务器确认和记录。事件管理器负责将这些事件按照优先次序排列,它会给尽可能多的事件分配最高的优先级,直到满足下面的任意一个条件:数据包已满,事件队列为空,或者此刻有太多的活跃事件。
事件管理器也会追踪每一个被标记为可靠数据的传输记录。用这种方法,事件管理器很容易实现可靠性。如果可靠记录没有被确认,那么事件管理器重新将该事件放入事件队列中,重新传输一次。当然,也有很多标记为不可靠的数据,对于这些数据,则不需要追踪它们的传输记录。
2.2.7 基本网络模型
服务器以一个固定的时间间隔更新模拟世界。默认情况下,时间步长为15ms,以66.66 次/秒的频率更新模拟世界,该更新频率可以配置。
在每个更新周期内服务器处理传入的用户命令,运行物理模拟步,检查系统规则,并更新所有的对象状态。
用户操作的响应速度(操作到世界中的可视反馈之间的时间)是由很多因素决定的,包括服务器与客户端的CPU 负载、更新频率、网络速率和快照更新设置,但主要是由网络包的传输时间确定的。从客户端发送命令到服务器响应,再到客户端接收此命令对应的服务器响应被称为延迟或ping(或RTT)。
数据使用增量更新压缩来减少网络传输。服务器不会每次都发送一个完整的世界快照,而只会更新自上次确认更新(通过ACK 确认)之后所发生的变化(增量快照)。客户端和服务器之间发送的每个包都会带有ACK 序列号来跟踪网络数据流。当研讨开始时或客户端在发生非常严重的数据包丢失时,客户端可以要求全额快照同步。
网络同步引擎在服务器同步时还需要采用数据压缩技术和延迟补偿技术,客户端采用预测运行和插值平滑处理等技术来获得更好的用户体验。
2.3 工作流引擎架构
虚实协同研讨工作流引擎主要是调度相应的功能模块对会议工作流进行管理和控制。包括会议准备阶段的会议计划、虚拟和物理资源的预占,会议进行阶段的接入控制、状态监控、会议记录,会议完成阶段的会议过程的存储、会议记录管理、会议回放等功能。
3 结论
本文研发的系统提供跨部门、多层级、支持多人自由参与的虚实协同研讨工作环境体系,通过视、听、触等多种手段高度沉浸式人机协同、多人研讨,着重构建人机交互的无缝三维环境,允许用户以自然的方式与环境中的物体进行交互,有效降低用户在人机交互反馈过程中对“真实”与“虚幻”的辨识度,使得系统具有沉浸性、分布性、反应性、移动性、人机交互与协作等能力,从而解决了证物展示及智能辅助办案问题。