首页> 中国专利> 一种数字曾侯乙编钟虚拟现实体感交互系统与方法

一种数字曾侯乙编钟虚拟现实体感交互系统与方法

摘要

本发明属于计算机仿真技术领域,涉及一种数字曾侯乙编钟虚拟现实体感交互系统与方法。该系统包括:体感交互输入模块,逻辑交互模块,虚拟现实视觉显示模块和虚拟现实音频输出模块。所述体感交互方法包括:使用持握式体感控制器进行演奏虚拟编钟的步骤,使用固定式体感控制器和指定动作与虚拟按钮进行交互的步骤。本发明利用多媒体技术与虚拟现实技术,从“形”和“声”两方面逼真地呈现数字-曾侯乙编钟,解决了实物或赝品展出重量大、易损坏、搬运不便、储藏条件要求苛刻、展览环境要求高等问题。应用体感交互技术,用户可通过使用持握式体感控制器体验演奏编钟,增加了观览的互动性与趣味性。

著录项

  • 公开/公告号CN103207677A

    专利类型发明专利

  • 公开/公告日2013-07-17

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN201310141857.0

  • 发明设计人 杨宇辰;朱青;李蔚然;车冠岐;

    申请日2013-04-22

  • 分类号G06F3/01;G06F3/033;

  • 代理机构北京思海天达知识产权代理有限公司;

  • 代理人张慧

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2024-02-19 19:02:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-10

    授权

    授权

  • 2013-08-14

    实质审查的生效 IPC(主分类):G06F3/01 申请日:20130422

    实质审查的生效

  • 2013-07-17

    公开

    公开

说明书

技术领域

本发明属于计算机仿真技术领域,涉及虚拟仿真技术、计算机图形学、人机交互学和多 媒体技术,尤其涉及一种数字曾侯乙编钟虚拟现实体感交互系统与方法。

背景技术

传统的文物展出,一般要将文物实体搬运至展出地点,展览后再将其运回原处;或者对 真品进行复制,使用赝品展出。使用这些文物展示方法,需要考虑多方面问题,例如:文物 的运输,文物的安全与保护,赝品的加工技术与成本,文物的展览环境,以及文物的出入境 合法问题等。这些问题限制了某些大型文物和珍贵文物的展览,例如曾侯乙编钟,它是我国 国家一级保护文物,不允许出境展出。整套编钟重达5吨,且已有2400多年的历史,极其珍 贵。在国内展出需要解决搬运不便等问题。另外,由于曾侯乙编钟年代久远,展览时需要苛 刻的存放环境,故一般参观者不允许近距离参观,也没有机会敲击演奏编钟。即便使用赝品, 仍然无法解决搬运困难的问题,且其成本也极高,在很大程度上限制了这件文化瑰宝的对外 展示。

传统的静态图片文字展示存在表达不生动,交互不丰富的问题。目前基于多媒体技术的 文物展示技术已经可以很好的从视觉上对文物进行复原。一般来说,多媒体文物展示多使用 显示器或投影仪来进行展示。而交互方面,则多使用触摸屏交互,或使用键盘、鼠标进行交 互。若使用上述几种交互方式,虽然能达到一定的视觉和展示效果,但是它们都无法实现“演 奏编钟”的功能。真实的编钟需要使用小锤进行演奏,这显然是触摸式交互无法模拟实现的。 另外,大型的触摸屏显示设备的造价很高,不利于推广。投影仪虽然显示尺寸大,却很难与 触摸设备结合在一起。

发明内容

针对文物实物展览的种种局限和现有多媒体虚拟现实技术使用键盘或鼠标、触摸屏等交 互方式中存在的不足,本发明提供了一种多媒体虚拟现实体感交互系统和方法,从视觉和听 觉上再现曾侯乙编钟,通过肢体动作与虚拟曾侯乙编钟进行交互。

本发明采用的技术方案如下:

一种数字曾侯乙编钟虚拟现实体感交互系统,借助计算机、体感传感器、显示设备、音 响设备和虚拟仿真软件实现。个人计算机运行系统软件,并分别输出视频与音频信号至显示 和音响设备;体感交互控制器将用户(或观览者)的体感动作信息输入至计算机,实现体感 交互;显示设备将计算机输出的视频信号转换成图像,展示曾侯乙编钟;音响设备将计算机 输出的虚拟现实的音频信号转换成声音。其特征在于,该系统包括:体感交互输入模块,逻 辑交互模块,虚拟现实视觉显示模块和虚拟现实音频输出模块。其中:

体感交互输入模块,用于接收体感控制器输入的动作数据,根据一段时间内的动作数据 和预制的动作数据判断目前的动作内容,并将动作状态与细节送至逻辑交互模块。所述体感 交互输入模块包括:输入数据接口,预制动作识别库,动作判断模块。其中:

输入数据接口,用于接收体感控制器的旋转姿态、空间坐标,以及固定式体感控制器捕 捉的用户骨骼动作信息等输入数据,并将它们转换成与预制动作识别库相匹配的数据结构;

预制动作识别库,是一套事先设定好的动作特征库,当软件输入数据接口将数据传输到 动作判断模块时,动作判断模块将当前数据的特征与预制动作识别库中的动作特征进行比对, 以判断当前用户的动作是否与预先设置的动作吻合;

动作判断模块,用于判断输入数据与动作库中的动作是否吻合,并将当前的动作状态与 动作细节发送到逻辑交互模块。

逻辑交互模块,接收来自体感交互输入模块的输入数据,根据接收数据的特征和细节调 用指定的功能,并根据指定的功能调用虚拟现实视觉显示模块和虚拟现实音频输出模块,向 用户输出不同的交互结果。它还管理当前运行时所处的功能模块,根据输入切换当前运行的 功能模块,加载不同的资源,以实现不同的功能和运算。功能模块可以根据需求进行增减, 以方便扩大本系统的需求。

虚拟现实视觉显示模块,用于处理虚拟现实中的视觉信息,包括:三维渲染模块,数字 曾侯乙编钟三维实体,用户界面显示和管理模块。其中,

三维渲染模块,用于向逻辑交互模块提供三维渲染接口。当逻辑交互模块根据指定逻辑 调用渲染模块时,三维渲染模块执行指定的渲染任务;

数字曾侯乙编钟实体,是根据编钟原物进行精确数字复原,利用三维建模技术、三维雕 刻技术以及计算机图形学技术得到的编钟的数字化三维素材,所有的纹理细节,材质细节均 来自实物;

用户界面显示和管理模块,用于提供UI(用户界面,User Interface)的显示刷新接口, 当逻辑交互模块调用用户界面显示和管理模块时,该模块显示相应的UI信息。

虚拟现实音频输出模块,用于处理虚拟现实中的音频信息,包含曾侯乙编钟的原音音轨 和每个功能模块所包含的UI交互音频声音。

一种数字曾侯乙编钟虚拟现实体感交互方法,包括以下步骤:

使用持握式体感控制器进行演奏虚拟编钟的步骤;

使用固定式体感控制器和指定动作与虚拟按钮进行交互的步骤。

其中,

使用持握式体感控制器进行虚拟编钟演奏的方法具体包括以下内容:

①用户将持握式体感控制器握在手中,系统将持握式体感控制器的位置映射到本系统的 虚拟现实环境中,在虚拟现实中将会出现一个虚拟“钟锤”,并通过显示设备反馈给用户。

②用户移动持握式体感控制器,系统根据体感控制器的位置信息自动改变虚拟现实中的 “钟锤”位置。

③用户通过移动体感控制器将虚拟“钟锤”移动到虚拟化的曾侯乙编钟实体上,若用户 向下挥动手腕,使体感控制器的旋转和位移达到预设水平,则视其为“敲响”了编钟,并进 行一系列的交互反馈,如播放相应编钟的实际响声等。

使用固定式体感控制器和指定动作与虚拟按钮进行交互的方法具体包括以下内容:

①用户站在固定式体感控制器的有效感应范围内,抬起左手或右手,或做出其它指定动 作,体感控制器感应并捕捉用户的肢体动作。

②系统自动追踪到用户手的位置,并将手的位置映射到系统的虚拟现实环境中,在虚拟 现实中出现一个手的指示光标(简称虚拟手),并通过显示设备反馈给用户,告知用户虚拟手 的位置。

③用户通过移动手的位置改变虚拟现实中手的位置,并将这个虚拟手移动至虚拟现实中 的按钮(简称虚拟按钮)上,视为进行了“进入按钮”操作,并执行与“进入按钮”相应的 命令。

④当虚拟手移至虚拟按钮上时,系统开始计时,若虚拟手在虚拟按钮上停留的时间超过 了预设值(此值不固定,可根据需要改变),则视为进行了“点击按钮”操作,执行与“点击 按钮”相应的命令。

⑤若停留时间未超过预设值,用户就将虚拟手从虚拟按钮上移开,则视为进行了“移出 按钮”操作,执行与“移出按钮”相应的命令。

本发明的有益效果是:①利用多媒体技术与虚拟现实技术,使用目前较为成熟的民用级 别的硬件设备,从“形”和“声”两方面逼真地呈现数字-曾侯乙编钟。部署容易,成本低, 解决了实物或赝品展出重量大、易损坏、搬运不便、储藏条件要求苛刻、展览环境要求高等 问题,使国家一级文物曾侯乙编钟出境展览成为可能。②将体感交互技术与文物观览结合在 一起,用户通过使用持握式体感控制器,可以体验演奏编钟,实现很多常规展览方法无法做 到的交互内容,增加了观览的互动性与趣味性。

附图说明

图1为本发明所涉及的硬件设备组成框图;

图2为本发明所涉及的交互系统组成框图;

图3为使用持握式体感控制器进行演奏虚拟编钟的示意图;

图4为使用持握式体感控制器进行演奏虚拟编钟的方法流程图;

图5为使用固定式体感控制器和指定动作与虚拟按钮进行交互的示意图;

图6为使用固定式体感控制器和指定动作与虚拟按钮进行交互的方法流程图。

具体实施方式

下面结合附图给出本发明的具体实施方式。

数字曾侯乙编钟虚拟现实体感交互系统,包括硬件设备和系统软件。硬件设备的组成框 图如图1所示,包括:计算机,体感传感器,显示设备,和音响设备。计算机,用于运行系 统软件,并分别输出视频与音频信号至显示和音响设备,一台能够运行多媒体软件的个人电 脑即可满足要求;体感传感器,用于将用户或观览者的体感动作信息输入至计算机,实现体 感交互,其数量可以是一个,也可以是两个以上,但至少有一个手持式体感控制器,例如sony 公司生产的PSMove游戏体感控制器;显示设备,用于将计算机输出的视频信号转换成图像, 可以是一台或多台电脑显示器、数字电视、投影仪或阵列式LED显示屏,或任何可以用于显 示的设备;音响设备,用于输出本系统的音频信号,可以是一台2.1声道的桌面音响或其他 音响。系统软件安装在计算机内,其组成框图如图2所示,包括:体感交互输入模块,逻辑 交互模块,虚拟现实视觉显示模块和虚拟现实音频输出模块。

下面分别介绍各模块的实现方法:

1.体感交互输入模块

体感交互输入模块还包括输入数据接口、预制动作识别库和动作判断模块。

输入数据接口,用于接收体感控制器的输入数据,并将它们转换成与预制动作识别库相 匹配的数据结构。这些输入数据接口利用C#、官方驱动与开源项目编写,主要功能是将体感 设备的输入数据传入到虚拟现实软件中,供软件开发使用。使用的官方驱动为Kinect SDK, 而开源项目则使用了Moveframework。关于数据接口的实现方法则是通过将开源项目进行封 装,使其更有利于本专利中虚拟现实软件的开发。

预制动作识别库,主要作用是储存软件设计者预制的动作,用于完成用户动作的识别和 状态判断,并且与动作判断模块相互作用。预制动作识别库是由数个预制动作组成的动作集 合,可以实现按照动作的名称查找动作并将它们以只读返回的功能,此功能可以用绝大多数 现代编程语言支持的Array或者List来实现。

动作判断模块,又称动作识别模块,实现语言为C#。此模块作用是将当前的体感控制器 姿态信息与预制动作库中的指定动作进行比对,一旦符合其中的某种动作姿势便发出相应的 通知事件,并将加入了动作姿势细节的事件中的参数传给接受者,事件接受者再对其进行处 理。其实现方法主要是依靠检测用户开始做出指定动作时放弃对其他预制动作的检测,并通 过执行动作进行时方法发出动作事件来通知用户目前正在做出的动作名称、动作状态等。当 动作识别模块发现用户的动作满足动作结束条件,就不再运行该动作的动作运行时,转而继 续从预制动作识别库中检测库中动作的动作启动条件,等待用户做出下一个预制动作。通过 上面的检测方法,动作识别模块就能够将目前用户的动作信息通过事件发送给模块外部的事 件监听者。只要在外部增加事件侦听器,就能接收到目前用户的动作。

2.逻辑交互模块

逻辑交互模块,包含虚拟现实软件的主要逻辑场景,通过语言C#实现。此模块主要用于 控制整体逻辑,根据体感交互输入模块提供的用户输入进行运算,并通过虚拟现实视觉显示 模块和虚拟现实音频输出模块将交互结果反馈给用户。具体实现方法为:使用有限状态自动 机的思想,将每个场景抽象成一个状态,通过设计好的用户输入来进行场景间的跳转并实现 预先设定好的逻辑。

3.虚拟现实视觉显示模块

虚拟现实视觉显示模块,用于运算处理虚拟现实中的视觉信息,并将结果通过显示设备 进行输出。主要由虚拟现实软件——DirectX或OpenGL进行开发,在编钟部分还使用了C#。 此模块包括以下部分:三维渲染模块,数字-曾侯乙编钟三维实体,用户界面显示和管理模块 等。

三维渲染模块,用于向逻辑层提供三维渲染接口(API):当逻辑模块根据指定逻辑调用 渲染模块时,三维渲染模块执行指定的渲染任务,这是呈现本系统虚拟现实视觉部分任务的 主要完成者。

数字-曾侯乙编钟实体,是虚拟现实中展现的曾侯乙编钟,通过三维建模技术,三维雕 刻技术以及计算机图形学技术数字化的三维素材而实现,并且保证复原的精准;用户界面显 示和管理模块用于提供UI(用户界面,User Interface)的显示刷新接口(API),当逻辑模块 调用用户界面显示和管理模块的接口时,该模块显示相应的UI信息。

4.虚拟现实音频输出模块

虚拟现实音频输出模块,用于运算处理虚拟现实中的音频信息,并将结果通过音响设备 进行输出。它的主要实现方法与虚拟现实显示模块相同,均是靠虚拟现实软件DirectX或 OpenAL。此模块中包含了曾侯乙编钟的原音音轨,用于在用户敲击编钟时模拟敲击声音。另 外,这个音频模块输出每一功能模块所包含的UI交互音频信号。

一种数字曾侯乙编钟虚拟现实体感交互方法,包括以下步骤:

使用持握式体感控制器进行演奏虚拟编钟的步骤。

下面分别介绍每个步骤的具体实现方法。

1.使用持握式体感控制器进行虚拟编钟演奏

使用持握式体感控制器进行虚拟编钟演奏的示意图如图3所示,方法流程图如图4所示。

软件实现过程中执行以下逻辑:虚拟现实视觉显示模块首先更新“钟锤”在虚拟现实中 的位置,逻辑交互模块随即从体感交互输入模块获取持握式体感控制器的姿态数据,并进行 Y轴(左手坐标系,Z轴为深度,Y轴垂直于地面,X轴垂直于YZ平面)加速度和旋转加速度 的计算。当这两个数据达到各自的临界值时,判定为正在“敲击”编钟。当软件检测到“敲 击”时,逻辑交互模块从指示物的位置向三维世界中发射一条射线进行碰撞检测。一旦射线 穿过某一个编钟钟体,则软件识别为“敲响了编钟”,并作出回应,如播放相应的音频文件、 播放动画等操作。若没有检测到“敲击”或没有检测到物体,则不作任何处理。此步骤需要 在软件中频繁执行才可以达到良好的使用效果。因此,本算法应该嵌入到虚拟现实软件的主 循环中,或单独使用一条线程进行演算。循环的频率必须大于60Hz以上,才能保证使用效果。

Y轴加速度和旋转加速度的计算方法如下:

(1)Y轴加速度的计算

每1/60秒获取一次体感控制器的位置及姿态数值,用当前状态数值(Y轴值)减去前1/60 数值除以1/60得当前速度A,再用前1/60数值减去前1/30秒数值除以1/60得1/60之前的速 度B。若A的绝对值大于B的绝对值,且A、B均大于一定速度,则证明目前体感控制器正 在垂直方向向下做加速运动,A-B除以1/60的值就是物体的“Y轴加速度”。

若该值大于“加速度临界值”,则证明用户“敲击”了编钟。由于体感控制器的种类繁多, A、B及“加速度临界值”不固定,需要根据设备以及用户的使用习惯作相应的调整。本实施 例使用Sony的PSMove体感游戏控制器,若体感数据传回的频率为f=60Hz,传回的位置信 息单位为厘米,则A的绝值应大于0.7f,B的绝对值应大于0.3f,“加速度临界值”约为0.003f。

(2)旋转加速度的计算

需要分别计算X和Y轴的角加速度值。将体感控制器传来的数据转换成四元数Q,使用Q 中的x与y值形成一个二维向量r。当体感控制器垂直向上时,r的模为0;当体感控制器围绕x 和y转动时,r的值大于0小于1。首先通过测量r的模长计算体感控制器在X轴和Y轴上的旋转 程度,然后由固定时间段之间的数据差值推算物体在X轴和Y轴上的旋转加速度。测算的方法 与计算垂直方向的加速度类似,分别取1/60秒前的数据和1/30前的数据分别作差后相减,再除 以时间差即可得到该值。

2.使用固定式体感控制器和指定动作与虚拟按钮进行交互

使用固定式体感控制器和指定动作与虚拟按钮进行交互示意图如图5所示,方法流程图 如图6所示。

用户在走近本系统的时候,系统便会显示相应内容引导用户与之进行交互,这些功能模 块都是依靠按钮进行导航和交互的。在本发明中,使用的是交互中常用的按钮组件。体感按 钮与一般的鼠标用按钮或触摸屏按钮类似,它们都是现实中按钮的虚拟抽象,在按下时会执 行一定的功能。鼠标用按钮与触摸屏按钮都设有一定的交互状态来满足程序设计人员的要求, 例如:鼠标滑过状态,鼠标点下状态,鼠标弹起状态等。类似的,本发明也给体感交互按钮 设计相应的状态:手悬浮状态,按下状态。在本发明中,程序使用事件系统告诉程序某一个 按钮目前处于什么状态或发生了什么事情。对于一个按钮,需要设置如下事件:手移入事件 (OnEnter)、悬浮事件(OnHover)、手移出事件(OnExit)、点击事件(OnClick)、按下事件 (OnPress)。每一个体感按钮都有一个判定区域用作按钮的主体,每一个按钮用轮询(以一 定的频率检查按钮的状态)的方法来判断事件的发生。每个事件的实现方法如下:

手移出事件(OnExit):用户的一只手在屏幕上的映射从该按钮的判定区域内移到判定区 域外。由按钮判断事件是否触发,触发时机就是在手移出去的那个时刻。这其中包含两个参 数:①用户的骨骼信息ID号;②手的关节点名称。该事件通常可以用来通知并运行手移出按 钮时需要执行的功能,例如播放一个音效等。

点击事件(OnClick):最后一次手移入按钮后的悬浮时间达到了按下临界时间。由按钮 判断事件是否触发,触发时机为达到按下临界时间的那一刻。这其中包含两个参数:①用户 的骨骼信息ID号;②手的关节点名称。这个事件是该按钮的一个主要事件,它可以用来执行 按钮被按下时要执行的功能,例如导航中的前进、后退或者执行本系统软件的某个功能等。

按下事件(OnPress):按钮最后一次触发了点击事件之后且手仍然在该按钮的有效区域 内。由按钮判断事件是否触发,触发时机为轮询时按钮已经执行了点击事件且手仍在按钮的 有效区域内。这其中包含三个参数:①户的骨骼信息ID号;②手的关节点名称;③按下时间。 该按钮用来执行按下按钮以后直到手离开按钮为止需要做的事情,比如说改变按钮的颜色等。

每一个按钮的轮询需要在虚拟现实程序的主循环中运行。通过上述按钮系统和相关的事 件触发机制,本系统就可以允许用户使用体感按钮进行交互了。为了让这个组件变得通用, 在设计类时可以将事件触发时执行的功能写成虚函数(C++)或者写成代理(C#)。使用时从 外部传入调用方法。或者使用观察者模式用事件通知外部对象执行某功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号