UJIAN COMPUTER
D
O
O:1
016707/cnkpc201706051
解决VR眩晕的关键技术综述
黄德胜
(福州瑞芯微电子股份有限公司福建福州350003)
【摘要】V
R
的全称Virtual Reality,利用电脑或者嵌入式设备模拟出虚拟世界,提供给用户视觉、听觉的模拟,让用
R
户感觉身临其境一般。V第一次被提出是在20世纪60年代,近几年根据摩尔定律,GPU和
U
CPU
的性能有很大提升,
R
同时显示屏分辨率的提高,还有IM直困扰着使用者,本文论述解决V
R
等传感器技术的进步,都为V
R
的发展提供了可靠的硬件基础,但V眩晕问题一
眩晕的几个关键技术,有效改善用户体验。
【关键词】VR技术;消除眩晕;ATW ; FBR ;反畸变1概述
V
R
的中文的名字叫虚拟现实,利用电脑或者嵌入式设备
模拟出虚拟世界,它的核心是营造逼真的内容,给人互动,产生 沉浸感,达到一种身临其境的感觉[1]。是计算机图形学、多媒
V
R
体、仿真、传感器技术等多种技术相结合的一门交叉性学科和 研究领域。
现有的能在
产品形态如图示,
1
PV
R
VRC
主机接头盔的方式最大 的自由度,限制了用户只
的弊端一定有线连接,严重影响了
P
C
—定范围内使用,用户如果想坐在沙发或者躺着就无
V
R
法使用,这极大影响了用户体验。化,插手机的
V
R
设备趋势一定是小型轻量 —体机没有线的束缚,使用
V
R
眼镜最大的问题在于散热与续航,还有形态
V
R
或者设备的体积受手机的局限。产品体积轻巧便携,是未来
像。透镜通常可以前后调节改变的距离,从而改变像距
a
b
的
空间自由、增强显示处理、更多传感器、更高集成度,
V
R
—体机
距离,使得近视程度不同的人都能看清楚。
V
R—体机左右眼各
产品的最终趋势。
一个透镜,使得左右眼都看到放大正立的虚像,并且左右眼的 图像都有视差,让人看到立体的图像产生沉浸感。
3解决VR眩晕的关键技术简述
3
1
反畸变矫正
在沉浸式环境里,画面快速变化,如果看到图像与现实中 的畸变较大,也是大脑产生眩晕的原因之一。图像产生畸变的 原因是不同凸透镜的球面位置的焦距不同,如图所示远离中
3
轴线的光线焦急越短,根据凸透镜的成像原理,焦距越短放大
图1 VR产品形态
倍数越大,所以远离中心点的图像看上去就越被拉伸,所以通 过凸透镜放大后的物体,人眼看到的虚像如图所示会产生一
4
衡量
VR
设备的最重要指标是延迟,延迟是指头部转动到
[2],不然就会
C
P
U
个枕形畸变的效果。
画面呈现到人眼的时间,这个延迟是人是否感知眩晕的最主要 指标,研究表明,头动和视野的延迟不能超过出现眩晕。
G
P
U
V
R
2
0
m
s
—体机目前最大的痛点在于它的的
P
C
和
处理能力比差很多,所以在响应延迟
20ms
是一个很
大的挑战,本文主要论述如何在硬件资源紧张的一体机环境下 优化
V
R
延迟,达到无眩晕的目的。
采用凸透镜的虚像成像原理,如图所示凸透镜到虚
2
b
2 VR成像基本原理
V
R
像间的距离透镜焦距
=
7
根据公式
m
1/b+1/a=1/[3]得到
a
=
5
5
m
m
b=1/1/a1/,假定 与明
a
0m
,屏#到透镜距离
V
R
,则
b=2566
视距离崎妾近,在
b
中透镜不变换即的定值,通过改变物距
a
b
来调整像距。对于近视,需要减小,像距变短,对于远视则 增加使像距变长。
a
图
2
是
VR—体机剖面图,屏幕安装在盒子里,与透镜的距
离在一倍焦距内,人眼睛通过透镜看到就是一个正立放大的虚•102-
福建电脑| 2017年第6期
建电脑
COMPUTER
为了让人眼看到正常的图像,我们对图像进行反畸变处 理,就是预先把图像进行桶形畸变处理,根据畸变方程S=1+
其中K1,K2表示透镜的畸变参数,根据不同透镜
设定,r表示屏幕各像素距离屏幕中心点的距离。我们将图5进 行40X40的网格划分,根据公式S= l+kPi^+k^*^,分别计算出 右上角a,b,c,d对应的顶点坐标a’,b’,c’,d’,以此类推计算 出其他各网格的顶点坐标,从而得出图6的桶形畸变的图像。 维场景时,会有一些信息缺失的区域,如图8中虚线标注的区 域,这种情况下就要插值算法[6]进行空洞填补。
图6的桶形畸变的图像经过凸透镜成虚像后,人眼就能看到正 常无畸变的图像。
3.2 异步时间扭曲(Asynchronous Timewarp 简称 ATW)技术
ATW
是一种生成中间帧的技术,当应用不能保持足够帧率
的时候,ATW会根据当前最新的头部位置,对上一帧进行扭曲 处理能产生中间帧,从而有效减少画面的抖动。该技术是降低 延迟,解决眩晕的最为关键的技术。
如图7所示,如果在每次垂直同步前没有新的渲染帧输 出,那么就会导致前一帧FrameN-1数据被刷新2次,当用户从 30°的位置旋转到31°时,屏幕上仍然显示30°的图像,那么大脑 反应是转到31°,但眼睛受接收到是30°的内容,这样二者的信 息不匹配,就晕了。异步时间扭曲在每一次垂直同步前,异步进 程根据渲染进程最新完成的那一帧生成一个新的帧如图红色 标注,保证在每一次垂直同步前都会根据最新头部位置产生新 帧,这样做能够获取得更低的延迟以及更高的准确度。
在实际物理世界中,整个头部以脖颈的中心为轴进行旋 转。对于眼睛来说,实际上是一个“旋转加平移”的组合运动,视 线分析模型[5]如图8所示,图中用圆圈标注的分别是参考帧的 视点和中间帧的视点。我们利用参考帧以及参考帧的深度信 息,基于深度图像的渲染,还原出真实的三维世界场景,再将三 维场景投影到中间帧所在的成像平面,因为参考帧与其深度信 息,只是真实的三维世界的一个子集,在新的视点去看这个三
3.3 单 buffer 渲染技术(Front Buffer Render)
Android显示框架米用双buffer循环机制,一块buffer在绘
制(Producer),另外一'块buffer提交显示(Consumer),只有当
Producer完全准备好,Consumer才能使用。对于android的显示
框架,APP显示还要经过surfaceflinger提交到显示屏,android 的绘制到显示流程,每一个步骤都按vsync的节拍进行,这样从
绘制到显示出来要经过3个vsync。显示屏假定按60H
Z
刷新,
也就是一帧的刷新周期为16.7ms,所以原生的显示延迟接近 50ms。米用 FBR (Front Buffer Render)没有双 buffer 循环,绕过
surfaceflinger直接到显示屏,可以大幅减少显示的延迟。
如图9所示将显示buffer分成F1和F2两个区域,LCDC的扫描线从屏的起始位置(红色箭头标注)从左到右以16.7ms 的周期扫描。在V
R
中,2个眼睛看的内容的独立的。如果扫描
线与绘制区域F1或F2冲突,那么单只眼睛画面的一部分显示 旧的内容,另一部分显示了新的内容,就会呈现出切线的现象
(撕裂)。撕裂现象的不允许看到的,所以FRB渲染要严格控制
F1和F2
的渲染时间,避开LCDC的扫描线,渲染没有被扫描线
扫到的区域。图10为FBR
的基本控制流程,在等待一个
VSYNC开始渲染F2,8.34ms之后开始渲染F1。这样交替渲染,
每次扫描线扫出的都是之前8.34ms渲染的内容,从而把显示延 迟从50ms降低到8.34ms。
FI ! F2
图9显存分区域图10 FBR控制流程
4结论
VR
的硬件虽然取得较大的发展,但用户体验上还有一些
问题,主要集中在分辨率太低导致观看颗粒感强烈;可视范围 太小,眼球运动很容易就越过可视边界,影响观看体验和沉浸 感,需要达到110°;以单一的蓝牙遥控器为主,(下转第137页)
2017年第6期
福建电脑
• 1〇3 •
建电脑
COMPUTER
增”按钮新增一行以填写数据,点击行后边的提交按钮完成新 增;点击每一行后边的“编辑”或“删除”按钮对该行数据进行修 改或删除。
(5) 财务管理
主要用于维护财务单据。通过点击财务列表里的“查看详 情”进入单据详情信息页面,页面左上角有工具栏,当浏览状态 下,保存、放弃按钮不可用,其余按钮可用;当编辑状态下,保 存、放弃按钮可用,其余按钮不可用。
通过工具栏的“新增”、“编辑”、“删除”、“送审”、“撤销”等 按钮对财务单据进行增加、修改、删除、送审、取消送审等操作。 其中表身金额会自动汇总到表头。
(6) 考勤管理/请假管理/通讯录
通过点击列表里的“查看详情”进入单据详情信息页面,页 面左上角有上一条、下一条等按钮。不可编辑。
(7) 值班日志/我的假单
通过工具栏的“新增”、“编辑”、“删除”、“送审”、“撤销”等 按钮对值班日志/我的假单进行增加、修改、删除、送审、取消送 审等操作。
(8) 钥匙借用管理
通过点击列表里的“查看详情”进入单据详情信息页面,页 面左上角有工具栏,当浏览状态下,保存、放弃按钮不可用,新 增、编辑、删除、归还按钮可用。当编辑状态下,保存、放弃按钮 可用,新增、编辑、删除、归还按钮不可用。
通过工具栏的“新增编辑”、“删除”、“归还”等按钮对钥 匙借用单据进行增加、修改、删除、归还等操作。其中新增单据 时或归还时,人员默认是当前登录人员,时间默认是当前时间。
4结束语
基于.NET的宿管会信息化管理系统是基于B/S架构的
ASP.NET应用程序,在系统设计之初,对底层框架共用类进行
的需求,系统功能全面、灵活,基本可实现宿管会日常工作的在 线式管理,系统具有一定的实用性。
参考文献:
[I] 陈争航.Javascript编程宝典[M].北京:电子工业出版社,2008.10.[2 ]伍俊良.C#程序应用与开发教程[M ].机械工业出版社,2009.
[3] 刘秋香,王云,姜桂洪.Visual C#.NET程序设计[M].北京:清华大学 出版社,2011.
[4] 李婷妤,芦华灯.基于.NET多层架构的信息系统开发实践[J].信息 系统工程,2015,(7):78.DOI:10.3969/j.issn.1001—2362.2015.07.055.
[5] 容乐.企业ERP销售管理信息系统的实施[J].中国信息化,2013,(6): 140—140.
[6] 江凌,杨平利,杨梅等.基于ADO.NET技术访问SQL Server数据库 的编程实现[].现代电子技术,2014,(8):95—98.DOI:10.3969/j.issn. 1004—373X.2014.08.028.
[7] 张秋生,张星云,谢永平.SQL Server数据库原理及应用[M].武汉: 华中科技大学出版社,2015.
[8] 赵杰,李涛,朱慧.SQL SERVER数据库管理、设计与实现教程[M]. 清华大学出版社,2004.
[9] 汪烨.面向过程的需求分析方法研究[D].2013.
[10] 张娜,魏新红主编.C#可视化编程技术[M].北京:清华大学出版 社,2015.
[II] 尹德松,宋旭东.ERP环境下的销售管理系统的设计与实现[J].计 算机应用研究,2003,20(10):125—127.D0I:10.3969/j.issn.1001—3695.2003. 10.040.
[12]梁柱森.基于.NET三层架构的销售管理系统的设计与实现[J].电 脑知识与技术,2013,(24)5563—5566.
[13 ]闫洪亮.《ASP.NET程序设计案例教程》[M ].北京邮电大学出版社. 2011.
[14] 尹为民.《数据库原理与技术》[M].武汉大学出版社.2009.
[15] 张跃廷.《ASP.NET程序开发范例宝典》[M].人民邮电出版社. 2009.
[16] 华国栋,刘文予.基于ADO.NET的数据库访问及其性能优化[J].计 算机应用研究.2004年06期.
[17] 刘润民.《ASP.NET入门程序》[M].清华大学出版社.2008.[18] 王珊.《ASP.NET程序设计》[M].清华大学出版社.2009.
了大量的抽离和封装,而且这整一个底层架构共用类是允许抽 离出来给任意一个Winform和
ASP项目稍作修改后使用,复用
率极高。在设计初始阶段即需求分析阶段就站在宿管会实务需 求的角度分析用户需求,所以在设计功能时更多的充分考虑了 系统的实用性,完成实现了基础功能模块、主数据管理模块、功 能单据维护模块等功能,从一定程度上满足了宿管会日常管理
(上接第103页)
交互方式不自然;眩晕普遍存在,无法长时间佩戴;其中眩晕感 是影响VR体验最重要的因素。
本文从解决VR眩晕的目标出发,提出解决畸变矫正方法,
ATW
[D].北京:北京交通大学,2016:33-34
[3] 高华,刘君宇,李萌,熊蛟,许玲玲.双凸透镜系统成像规律分析[J]. 物理与工程,2016,26(5):41—42.
[4] 蒋从元.门镜结构及光学原理[J].四川职业技术学院学报,2008,18 (3):122.
[5] WiHiam R. Mark,Leonard McMillan, Gary Bishop.Post—Rendering 3D
帧补偿降延迟,FBR渲染降延迟等技术有效提高了 V
R
R
的
用户体验。未来V技术一定是不断解决现有的短板,屏幕尺
寸趋小同时分辨率不断提高,更为智能的输入方式,更长久的 续航能力,从各器件到主板再到外壳,整个硬件的高集成度可 以让一体机更加轻薄,在舒适度上有更大的提高,进而V好服务于各大领域。
R
Warping [j].Symposium on Interactive 3D Graphics,1997,7—16:4—5
[6] 姚杰,陈一民.基于无空洞填补的DIBG方法[J].计算机应用与软件, 2015,32(4):223.
能更
作者简介:
参考文献:
[1 ]张晓芸.浅析虚拟现实技术在科普教育中的作用[J ].中国科教创新 导刊,2013,(29) :1 — 1.
[2]姚维维.基于OCULUS VR全景立体视频的视觉设计舒适度探究
黄德胜(1983-07-13),男,福建南平人,本科,中级工程师,研究方 向:GPU图形图像处理。
2017年第6期 福建电脑 *137-
因篇幅问题不能全部显示,请点此查看更多更全内容