研究背景
近年来,随着信息技术的不断发展,人们从PC互联网时代走到了移动互联网时代,时至今日,MR眼镜已经成为了一个备受关注的热门领域。然而,MR眼镜的发展却受到了移动设备的芯片算力和电池续航的双重制约,目前市场上的一些MR眼镜还存在很多问题,例如体积重量大,续航短,显示效果差,交互体验差等。为了解决这些问题,本文提出了一种基于实时云渲染的混合现实操作系统,旨在减轻MR眼镜的计算压力和续航压力,改善用户体验。
先行研究
- Rcore OS是一个基于Rust编程语言开发的轻量级操作系统,它是由清华大学操作系统课程的实验项目发展而来。Rcore OS采用微内核设计,将内核的功能模块化,使得每个模块都可以独立运行和维护,从而提高系统的可靠性和安全性。另外,Rust编程语言被广泛认为是一种安全、并发和高性能的编程语言,Rcore OS充分利用了Rust语言的优势,构建了高效、安全、可靠的操作系统。总而言之,RCore OS旨在为学生和研究人员提供一个高效、安全、可扩展的操作系统,以帮助他们更好地了解和研究操作系统的内部工作原理,并学习操作系统的设计和实现技术。
- MINIX是由荷兰计算机科学教授Andrew S. Tanenbaum开发的微内核操作系统,旨在为教学和研究提供便利。其内核设计简单,由多个相互独立的进程组成,并通过消息传递进行通信。为了使内核更小、更简单、更稳定,MINIX将许多操作系统功能移出内核,作为用户进程运行。在开发过程中,MINIX注重代码的可读性和可理解性,因此其源代码非常适合教学和研究。MINIX的设计使得它成为学习操作系统原理和内核设计的理想平台,同时也为研究者提供了研究微内核操作系统的良好基础。
- filament是由Google团队开发和维护的开源实时渲染引擎。它提供了基于物理的渲染、实时阴影、后期处理等高级渲染功能,并具有较高的性能和易用性。filament支持多个平台,可用于游戏、XR、工业、可视化等领域。目前,filament在GitHub上获得了15.4k个star,显示了该引擎在开源社区中的受欢迎程度。filament是一款功能强大、性能卓越、易于使用的实时渲染引擎,适用于各种应用场景,为用户提供了更好的渲染体验。
- wgpu是一个新兴的开源图形渲染引擎,由Mozilla和Google共同发起,并由W3C社区维护。该引擎具有现代化的API设计和跨平台支持的特点,可以为新兴的硬件和API提供支持。在webgpu的标准化工作中,wgpu发挥了重要作用,被认为是webgpu生态系统中的一个重要组成部分。wgpu是一个功能强大的图形渲染引擎,具有重要的作用和地位,为图形渲染领域的发展和进步做出了重要的贡献。
- RTC是一种实时通信协议,可以用于实现视频会议、音频聊天、屏幕共享等实时通信场景。RTC协议的特点是低延迟、高带宽、实时性强,因此非常适合实时通信。RTC协议的应用范围广泛,可以满足实时通信场景的要求,是实现实时通信功能的重要工具和基础。
- VNC是一种远程桌面协议,可将远程计算机的屏幕输出传输到本地计算机,实现远程控制的功能。VNC协议的特点是支持多平台、低带宽、可靠性高,适合于远程控制场景。VNC协议是一种广泛应用的远程控制工具,可以帮助用户在远程操作计算机时提高效率和便利性,是实现远程控制的重要协议之一。
- OpenXR是为AR/VR平台提供统一API接口的标准,由Khronos Group主导开发。它定义了一套跨平台、可扩展、灵活的API接口,可用于处理AR/VR设备的输入、输出、渲染等任务,使得开发者可以更轻松地开发和发布跨平台的AR/VR应用程序。
问题意识
混合现实技术是一种将虚拟世界与现实世界相结合的技术,MR眼镜是这种技术典型的一种实现方案。目前市场上的MR眼镜,如meta公司的quest系列、Magic Leap公司的产品和微软公司的hololens系列,都采用了一体机的设计,电池和图形处理单元都集成在眼镜内部,这导致了眼镜体积过大、性能较弱和佩戴体验不佳的问题。因此,本文提出了一种基于实时云渲染的混合现实操作系统,将消耗大量计算资源的图形处理单元部分放在云端,而眼镜本身只需要保留最基本的硬件模块,如中央处理单元、光学传感器和显示器等。同时,电池也可以采用分体式的设计附加在使用者的腰间,从而显著减轻眼镜的体积和重量,并提高图形渲染的性能。
研究内容
本文的研究内容包括四个部分,可运行在MR眼镜上的轻量级操作系统、实时云端图形渲染服务、MR眼镜和云端服务器的实时数据通信以及应用程序生态建设。
操作系统部分基于先行研究的操作系统领域前辈们的研究成果,并拓展以下功能。
- 传感器融合:将各种传感器集成到MR眼镜中,包括加速度计、陀螺仪、摄像头等,以便操作系统能够根据环境信息进行响应。
- 视频流处理:接收云端推送的视频流,解析并显示到图形输出设备上。
- 系统界面:设计一个基于摄像头的系统界面,该界面叠加了现实环境和虚拟内容,这是用户进入沉浸式互联网的关键。
- 手势交互:预留出基于手势的人机交互API,通过第三方开发者的手势交互输入法,用户可以与操作系统发生交互。
云端渲染部分基于先行研究的图形渲染领域前辈们的研究成果,并拓展以下功能。
- 集群和负载均衡:为了提供更低的网络时延和更高的并发访问量,本文需要设计一套适用于实时云渲染的集群和负载均衡方案,保证服务的高可用性和可扩展性。
实时通信部分基于先行研究的实时通信领域前辈们的研究成果,并拓展以下功能。
- 数据传输和网络优化:研究并开发一种高效的数据传输协议和网络优化方案,提升操作系统和云端服务之间数据传输的实时性和稳定性。
软件生态部分基于先行研究的软件生态领域的开放协议,并为以下开发工具作出适配。
- Cocos CreatorXR:基于Cocos Creator 3D游戏引擎打造的一款开源的XR内容创作工具,底层通过支持 OpenXR标准协议来抹平不同XR设备之间的差异,可以一站式对创作内容进行开发并发布到不同的 XR 设备。
研究目的
降低MR眼镜的体积重量,提升MR眼镜的图形渲染质量,加速沉浸式互联网的到来。
研究方法
V字模型是一种软件开发流程模型,它强调在软件开发过程中测试与开发的相互协作,确保软件开发的每个阶段都有相应的测试活动与之对应。一个典型的V字模型包括以下流程。
从用户的角度收集并明确混合现实操作系统的需求,包括功能性和非功能性需求。该阶段对应的文档有:
- 用户需求文档:记录用户需求并确认需求的完整性和正确性。
- 系统需求文档:把用户需求转换为系统需求,记录系统的基本要求和功能。
将系统需求转换为软件设计,并确定混合现实操作系统的总体架构与模块划分,并包括系统流程图,系统时序图,数据库实体关系图等。该阶段对应的文档:
- 概要设计文档:记录了混合现实操作系统的基本设计方案,包括系统的层次结构和模块之间的交互过程。
将概要设计文档中的每个模块进行详细设计,包括数据结构和算法、接口协议、具体实现逻辑等,并根据实体关系图设计实体关系模型。该阶段对应的文档是:
- 详细设计文档:使用伪代码把模块内的具体功能,输入输出,处理过程等描述出来。
将详细设计文档中的伪代码转化为可执行代码,包括程序代码的编写和调试,数据库表的创建和录入等。
对混合现实操作系统的单个模块进行测试,确保符合详细设计文档的要求,包括覆盖率测试、边界测试、异常测试等。该阶段对应的文档是:
- 单体测试报告:记录单体测试结果,包括测试用例、测试结果、问题汇总等。
对混合现实操作系统各个模块组合后的功能进行测试,以及模块间的接口和通信是否正常,数据传递的是否正确等,确保符合概要设计文档的要求,包括集成测试、回归测试、接口测试等。该阶段对应的文档是:
- 结合测试报告:记录结合测试结果,包括测试用例、测试结果、问题汇总等。
对混合现实操作系统的整个系统进行测试,确保符合用户需求文档和系统需求文档的要求,包括功能测试、性能测试、可靠性测试、安全性测试等。该阶段对应的文档是:
- 系统测试报告:记录了系统测试的结果,包括测试用例、测试结果、问题汇总等。
- 用户手册:记录了混合现实操作系统的功能和使用方法。
预期成果
- 制作出可以运行在较低配置MR眼镜硬件上的轻量化混合现实操作系统。
- MR眼镜通过接收实时云渲染服务,可以显示出较高质量的图形效果。
参考文献
- "Design and Implementation of Cloud-Based AR Operating System for Lightweight Smart Glasses" (基于云服务的轻量级智能眼镜AR操作系统的设计与实现) 该文提出了一种基于云服务的AR操作系统架构,可以在保证AR眼镜轻量化的同时提供强大的计算能力和交互体验。
- "Rust Programming Language" (Rust编程语言) Rust是一种系统级编程语言,具有内存安全、高效和并发性等特点,非常适合用于AR操作系统的开发。
- "The Metaverse Roadmap: Pathways to the 3D Web" (元宇宙路线图: 通往3D Web的路径) 该文提出了元宇宙的概念,并探讨了元宇宙与AR技术的结合,为我们研究元宇宙与AR眼镜的结合提供了启示。