一种大屏幕和增强现实眼镜间数据交互方法和系统与流程

文档序号:15849356发布日期:2018-11-07 09:36阅读:167来源:国知局
一种大屏幕和增强现实眼镜间数据交互方法和系统与流程

本发明涉及数据与可视分析和人机交互领域,具体涉及一种大屏幕和增强现实眼镜间数据交互方法和系统。

背景技术

随着多媒体技术的发展和大数据时代的到来,可视化交互技术在各行各业的信息展示中扮演着愈发重要的角色。在大数据时代,由于传统显示设备受到分辨率的限制,很难满足人们对大规模数据集的可视化展示需求。

大屏幕(bigscreen)技术(亦称为大屏幕展示技术,大屏幕指直观式彩电或背投式投影电视中的大屏幕。通常,屏幕的对角线尺寸大都在40英寸以上)具有面积大、高亮度、高分辨率等特性,可以为用户带来超高清的体验,并支持创建、操纵、探索、标注更多的视图,更适合于对大规模数据集的可视化展示需求。然而,针对如何实现远程与大屏幕间数据交互这一问题还存在许多挑战,传统的鼠标和键盘难以满足人们与大屏幕的交互需求。

在学界,针对上述远程与大屏幕间数据交互的应用场景,常用的解决方案一般有:

1、基于传感器和追踪定位设备检测人的交互行为以获取数据交互信息,

2、基于(利用)智能移动设备进行网络通信以获取数据交互信息。

随着技术的发展,混合现实技术(mr,是虚拟现实技术的进一步发展,该技术通过在现实场景呈现虚拟场景信息,在现实世界、虚拟世界和用户之间搭起一个交互反馈的信息回路,以增强用户体验的真实感)和头戴式设备技术的日益发展,诸如microsofthololens(微软首个不受线缆限制的全息计算机设备,能让用户与数字内容交互,并与周围真实环境中的全息影像互动)等增强现实眼镜设备,其集成的凝视、手势等功能可以为可视化交互带来便利,增强现实眼镜设备具有优秀的全息展示能力,能将屏幕之外的信息更加生动地提供给用户。如何将增强现实眼镜技术和大屏幕在增强和交互两个角度相结合,为用户提供更丰富、逼真的可视化交互,是一个新颖而富有挑战的建设性问题。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种大屏幕和增强现实眼镜间数据交互方法和系统,针对与大屏幕交互方面存在的挑战,利用增强现实眼镜技术和大屏幕进行数据交互,解决大屏幕难以交互的问题,使得人可以通过佩戴增强现实眼镜直接操作大屏幕上的数据,并生成更多三维虚拟视图,将细节信息更加生动地提供给用户。

为实现上述目的,本发明采用的技术方案如下:

一种大屏幕和增强现实眼镜间数据交互方法,包括以下步骤:

在增强现实眼镜和大屏幕之间建立网络通信;

所述增强现实眼镜需要支持网络通信功能,并内置具有一定计算处理能力的cpu和gpu单元;

所述网络通信使用网页端-服务端-眼镜端的通信模型进行数据通信,且网页端-眼镜端双向通信;

首先初始化服务端,获取服务端ip地址并设置端口号,完成转发函数或其他数据处理函数;

然后分别初始化大屏幕和增强现实眼镜作为两个客户端;

将网络通信需要访问的url设为上述地址和端口号,并完成基本的通信处理函数;

在网页端和眼镜端根据各个功能分别定义消息发送函数和回调函数,使得其中一个客户端在触发交互事件时可以发送通信消息,经由服务端转发,另一端收到消息指令并作出相应的处理。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,进行数据通信时,当通信数据规模不大时,服务端只需要在两个客户端之间转发信息;当通信数据规模偏大时,考虑到眼镜设备的存储和计算能力,服务端可以对来自网页端的数据进行处理后再转发给眼镜端。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,将使用传统方法实现的可视化网页作品作为在大屏幕上展示的网页端;

创立一个区别于网页端和眼镜端的后端程序,其拥有在多个客户端之间转发数据的功能。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,在建立网络通信时,对可视化作品及其增强现实需求进行整体评估,设计需要利用眼镜进行交互的功能,并根据交互的类型和数据来设计各消息接口。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,所述需要利用眼镜进行交互的功能包括:

通过增强现实眼镜让用户看到置于空间中的虚拟物体,进而与虚拟物体交互;

可视化网页作品中的控制组件,转换为虚拟控制组件,通过增强现实眼镜呈现虚拟控制组件,进而与虚拟控制组件交互;

通过凝视和/或手势实现与增强现实眼镜中的虚拟控制组件交互,并把这些交互产生的数据通过网络通信传递给网页端,从而控制大屏幕上页面中显示的内容。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,所述需要利用眼镜进行交互的功能包括:

在增强现实眼镜中设置一个虚拟物体,作为虚拟替代物体,用于代表网页端的可视化网页作品中的某一个视觉图形或物体,

用户在眼镜中对虚拟替代物体进行交互操作,操作产生的结果数据传递给网页端,从而将人利用眼镜交互的结果体现在大屏幕中展示的页面内容上;

所述交互操作包括点击、拖拽、旋转和缩放。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,首先,通过凝视选中激活虚拟控制组件,

然后,定义人的各种手势所对应的交互操作,

所述手势包括基本手势及该基本手势在用户实际使用中持续时间、位置、角度上的变化信息,

交互所产生的操作数据信息转化为定制好的消息格式发送给大屏幕端,

大屏幕的网页端根据消息内容产生对应的交互效果。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,进行交互操作时,依照交互对象的类型,如果是属性或状态值的变化,则记录这些操作产生的数值;如果是移动距离,则根据交互的含义及手势的空间位移计算出实际的操作结果数值。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,眼镜端发送消息时,建立一个消息对象message,包含通信双方标识符,接口名称,和具体消息数据,具体消息数据的属性用于传输交互所产生的操作数据信息;

网页端处理接收到消息后,解析内容,取出交互数据,并根据功能产生对应的交互效果。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互方法,所述需要利用眼镜进行交互的功能包括:

采用大屏幕直接定位交互的方式,用户利用凝视和手势操作,在大屏幕上和具体的位置发生交互,其中:

利用凝视代替光标,手势代替左右键,实现模拟鼠标操作,

利用大屏幕的位置、大小及形状生成一个贴合大屏幕表面、大小形状和大屏幕相同的“虚拟表面”,虚拟表面用于作为可以在眼镜中交互的物体对象,模拟空间中真实存在的大屏幕的桌面,虚拟表面还用于模拟显示光标的桌面,

用户对虚拟表面的凝视、手势操作等同于对大屏幕相同位置的操作,

利用虚拟表面获取用户凝视点的空间位置,并利用虚拟表面的长宽计算出凝视点相对表面的坐标,进而得到凝视点在网页端的相对坐标。

一种大屏幕和增强现实眼镜间数据交互系统,包括:

增强现实眼镜,作为眼镜端,具有网络通信模块,内置cpu和gpu单元,具有初始化模块以将眼镜端初始化为一客户端,

大屏幕,用于展示使用传统方法实现的可视化网页作品,所述作品作为在大屏幕上展示的网页端,具有初始化模块以将网页端初始化为又一客户端,

消息发送模块及回调处理模块,分别设于网页端和眼镜端,用于二者间的双向通信,其中:

消息发送模块,用于建立一个消息对象message,包含通信双方标识符,接口名称,和具体消息数据,具体消息数据的属性用于传输交互所产生的操作数据信息,

回调处理模块,用于处理接收到消息后,解析内容,取出交互数据,并根据功能产生对应的交互效果,

服务端,具有通信处理模块,用于在网页端-服务端-眼镜端的通信模型中,转发网页端和眼镜端间的通信消息,

服务端初始化模块,用于获取服务端ip地址并设置端口号,完成转发函数或其他数据处理函数,

一个区别于网页端和眼镜端的后端模块,用于在多个客户端之间转发数据。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,当通信数据规模不大时,服务端只需要在两个客户端之间转发信息;当通信数据规模偏大时,考虑到眼镜设备的存储和计算能力,服务端可以对来自网页端的数据进行处理后再转发给眼镜端。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,所述可视化作品及其增强现实需求进行整体评估后,设计需要利用眼镜进行交互的功能,并根据交互的类型和数据来设计各消息接口。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,所述需要利用眼镜进行交互的功能包括:

通过增强现实眼镜让用户看到置于空间中的虚拟物体,进而与虚拟物体交互;

可视化网页作品中的控制组件,转换为虚拟控制组件,通过增强现实眼镜呈现虚拟控制组件,进而与虚拟控制组件交互;

通过凝视和/或手势实现与增强现实眼镜中的虚拟控制组件交互,并把这些交互产生的数据通过网络通信传递给网页端,从而控制大屏幕上页面中显示的内容。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,所述需要利用眼镜进行交互的功能包括:

在增强现实眼镜中设置一个虚拟物体,作为虚拟替代物体,用于代表网页端的可视化网页作品中的某一个视觉图形或物体,

用户在眼镜中对虚拟替代物体进行交互操作,操作产生的结果数据传递给网页端,从而将人利用眼镜交互的结果体现在大屏幕中展示的页面内容上;

所述交互操作包括点击、拖拽、旋转和缩放。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,首先,通过凝视选中激活虚拟控制组件,

然后,定义人的各种手势所对应的交互操作,

所述手势包括基本手势及该基本手势在用户实际使用中持续时间、位置、角度上的变化信息,

交互所产生的操作数据信息转化为定制好的消息格式发送给大屏幕端,

大屏幕的网页端根据消息内容产生对应的交互效果。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,进行交互操作时,依照交互对象的类型,如果是属性或状态值的变化,则记录这些操作产生的数值;如果是移动距离,则根据交互的含义及手势的空间位移计算出实际的操作结果数值。

进一步,如上所述的一种大屏幕和增强现实眼镜间数据交互系统,所述需要利用眼镜进行交互的功能包括:

采用大屏幕直接定位交互的方式,用户利用凝视和手势操作,在大屏幕上和具体的位置发生交互,其中:

利用凝视代替光标,手势代替左右键,实现模拟鼠标操作,

利用大屏幕的位置、大小及形状生成一个贴合大屏幕表面、大小形状和大屏幕相同的“虚拟表面”,虚拟表面用于作为可以在眼镜中交互的物体对象,模拟空间中真实存在的大屏幕的桌面,虚拟表面还用于模拟显示光标的桌面,

用户对虚拟表面的凝视、手势操作等同于对大屏幕相同位置的操作,

利用虚拟表面获取用户凝视点的空间位置,并利用虚拟表面的长宽计算出凝视点相对表面的坐标,进而得到凝视点在网页端的相对坐标。

本发明的有益效果在于:将大屏幕技术和增强现实眼镜技术有机结合在一起,使得交互技术更符合用户需求,利用增强现实眼镜技术和大屏幕进行数据交互,将细节信息更加生动地提供给用户,解决了大屏幕难以交互的问题,实现大屏幕和增强现实眼镜间的交互,其中:

一方面,利用增强现实眼镜的凝视功能、手势功能等进行操作,以方便、高效的完成大屏幕的定位选择,以及对大屏幕中视图的控制,解决了大屏幕难以交互的问题;

另一方面,通过大屏幕和增强现实眼镜结合,产生沉浸式的交互环境,利用增强现实眼镜的全息展示能力,将三维信息更加生动地提供给用户。

本发明充分利用增强现实眼镜和大屏幕的各自的优点,通过网络把增强现实眼镜和大屏幕结合在一起,创造出沉浸式的交互环境。通过创建虚拟控制组件和对大屏幕直接定位交互,巧妙的解决了难以与大屏幕交互的问题。在使用过程中,能够保证用户同时观察到大屏幕上高分辨率的展示内容,又能够看到眼镜端虚拟的全息物体;作为一种自然的交互方式,在控制大屏幕上视图的行为的同时,也能和空间中放置的物体进行交互,给使用者提供良好的沉浸式交互体验,有助于使用者加深对数据的印象。

本发明可以将大屏幕技术和增强现实眼镜技术有机结合在一起,使得交互技术更符合用户需求,以方便、高效的完成大屏幕的定位选择,实现对大屏幕中视图的控制,并为用户提供更多三维信息,使得数据表达更为生动。

附图说明

图1为本发明具体实施方式中提供的一种大屏幕和增强现实眼镜间数据交互方法的流程图。

图2为本发明利用增强现实眼镜可识别的手势:air-tap手势。

图3a到3c为增强现实眼镜设计与大屏幕交互的三个流程。

图3a示意步骤1(step1),

图3b示意步骤2(step2),

图3c示意步骤3(step3)。

图4a到4b为增强现实眼镜在对大屏幕直接定位交互时的坐标映射操作。

图4a中virtualboard代表虚拟表面,tdw为大屏幕,screenheight为大屏幕高,screenwidth为大屏幕宽,

图4b中screenposition表示虚拟表面中心坐标,hitposition表示凝视位置坐标,relativeposition表示位置向量。

图5为增强现实眼镜在对大屏幕直接定位交互时的流程图。

图6为以图可视化为例的增强现实眼镜技术和大屏幕交互技术具体场景示意图。

图7本发明具体实施方式中提供的一种大屏幕和增强现实眼镜间数据交互系统的结构框图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

图1示出了本发明具体实施方式中提供的一种大屏幕和增强现实眼镜间数据交互方法的流程图,该方法主要包括:

(一)建立网页端-服务端-眼镜端的通信模型:

首先,将使用传统方法实现的可视化网页作品(包括若干页面)作为在大屏幕上展示的网页客户端(以下简称为网页端),并创立一个区别于网页端和增强现实眼镜客户端(即指增强现实眼镜,以下简称为眼镜端)的后端程序,其拥有在多个客户端之间转发数据的功能。将网页端与服务端建立网络链接。

然后,增强现实眼镜需要支持网络通信功能,并内置具有一定计算处理能力的cpu和gpu单元,本发明中使用设备为microsofthololens,而所述增强现实眼镜包括但不限于此。

再后,眼镜端能够通过网络通信(通过无线信号(如wifi)进行数据传输)与网页端连接,眼镜端依赖上述服务端转发两客户端(指网页端和眼镜端)之间的通信消息,从而实现增强现实眼镜和大屏幕实现数据互通,并且确定消息协议(http、websocket等常用网络通信协议)。

最后,上述增强现实眼镜考虑到通信数据规模与后台计算能力,我们提出一个网页端-服务端-眼镜端的通信模型。当通信数据规模不大时,服务端只需要在两个客户端之间转发信息;当通信数据规模偏大时,考虑到眼镜设备的存储和计算能力,服务端可以对来自网页端的数据进行处理后再转发给眼镜端。通信数据规模偏大的具体判断可以根据实际情况确定,或按经验值预设。

(二)在增强现实眼镜和大屏幕之间建立网络通信:

网络通信设计和实现包括以下步骤:

(1)整体评估,设计。

首先对一个可视化作品及其增强现实需求进行整体评估,设计需要利用眼镜进行交互(指数据交互)的功能,并根据交互的类型和数据来设计各消息接口。

消息接口可以使用如下json格式{“from”:,“to”:,“name”:,“data”:{“payload1”:,“payload2”:[{},{},...]}},其中,name表示数据接口的名称,data表示负载,其中payload表示数据或者控制参数等数值,from和to为设备标识符,表示在有多设备通信时需要明确指定来源和目标。举例说明,如当利用眼镜端控制大屏幕中某表示位置的参数value变化为10时,可由眼镜端向web发送如下消息:{“from”:“arglass”,“to”:“web”,“name”:“changeposition”,“data”:{“value”:10}},其中眼镜端被标识为arglass,网页端被标识为web,接口的名称为changeposition,传递的数据为data,其中含有一个名为value的变量,值为10。

(2)初始化。

首先初始化服务端,获取服务端ip地址并设置端口号,完成转发函数或其他数据处理函数。然后分别初始化大屏幕和增强现实眼镜作为两个客户端(指网页端和眼镜端),将网络通信需要访问的url设为上述地址(服务端ip地址)和端口号,并完成基本的建立、接收、发送、中断等通信处理函数。

(3)交互事件响应及交互事件处理。

在网页端和眼镜端根据各个功能分别定义消息发送函数和回调函数,使得其中一个客户端在触发交互事件时可以发送通信消息(交互事件响应),经由服务端转发,另一端收到消息指令并作出相应的处理(交互事件处理)。

(三)大屏幕和增强现实眼镜间数据交互方式(根据大屏幕上网页端可视化需求确定需要定制在增强现实眼镜中的具体交互):

(1)通过虚拟控制组件交互:

本系统中所述的通过虚拟控制组件交互是指:将页面(网页端呈现的页面)上的一部分控制组件单独拿出来,在眼镜端中以虚拟物体(即虚拟控制组件)的方式实现,让用户无需通过鼠标键盘与大屏幕上的控件交互,而通过凝视、手势等与眼镜端中看到的虚拟控件交互,并把这些交互产生的数据通过网络通信传递给网页端,从而控制大屏幕上页面中显示的内容。

增强现实眼镜可以让用户看到置于空间中的虚拟物体(即虚拟控制组件),用户也可以通过凝视、手势等方式与虚拟物体交互。同时,在原有的可视化页面(指可视化网页作品)中有很多控制组件,如按钮,滑动条,日历选择,控制面板等,这些控制组件使得用户能够控制页面上的元素。

(2)通过虚拟替代物体交互:除了传统的交互方式,本发明首先提出“虚拟替代物体控制”的概念。

本系统中所述的“虚拟替代物体(virtualproxyobject)”的概念是指:在增强现实眼镜中设置一个虚拟物体,代表原有可视化页面中的某一个视觉图形或物体(即虚拟替代物体),用户在眼镜中对虚拟替代物体进行交互操作,如点击,拖拽,旋转,缩放等。这些操作产生的结果数据(如位置移动,大小变化等)会传递给网页端,从而将人利用眼镜交互的结果体现在大屏幕中展示的页面内容上。

针对上述(1)、(2)和大屏幕中内容对应的交互方式,本系统可以支持在眼镜端的程序项目中定制针对网页端的虚拟控制组件或虚拟替代物体,使得用户在佩戴眼镜后可以通过这些虚拟控制组件或虚拟替代物体实现预期的交互需求。

在眼镜端的程序项目中定制针对网页端的虚拟控制组件具体分为三类:

1)当所需要的交互为时间控制时,可以在眼镜的应用中绘制一个日历物体,日期、月份、年份都可以交互式地选择改变,用户选择一个时间后,日期数据会传递给网页端,网页端展示的内容也会切换到相应的日期。

2)当所需要的交互为属性控制时,可以根据作用效果设置相应的控制组件。如需要在某些状态间切换状态时可以在眼镜中设置虚拟按钮,需要连续改变元素属性值时可以在眼镜中设置虚拟滑动条。在眼镜中,用户通过点击虚拟按钮或拖拽虚拟滑动条的操作产生数据并传递给网页端,网页端展示的元素会产生相应的变化。如大屏幕的页面可视化为图可视化系统,则可以在眼镜端中设置虚拟滑动条,用于更改图节点间的斥力和引力、改变节点大小等交互,从而改变图布局。

3)当所需要的交互为虚拟替代物体控制时,可以根据原有内容的形状确定所需替代物体的形状,用户对这些虚拟替代物体的操作,也会传递给网页端,从而控制页面中物体的表现:如大屏幕的可视化页面中有一个三维的地球展示空间相关的数据,则可以在眼镜中放置一个虚拟球体,当用户对虚拟球体进行旋转时,页面上的地球也发生旋转,从而可以看到不同角度的数据;如大屏幕的可视化页面为图可视化系统,则可以在眼镜端利用小球表示大屏幕上图结构的相应节点,当用户操作这些小球时,网页端会产生相应的变化,如节点的高亮与位移。

(3)用户在佩戴增强现实眼镜后可以通过这些虚拟控制组件或虚拟替代物体来控制大屏幕中的内容,具体步骤为:

1)首先,通过凝视选中激活虚拟控制组件(虚拟替代物体亦同不单独详述),“凝视选中”激活虚拟控制组件是指用户佩戴眼镜并转动头部,使得虚拟控制组件能被其视野中心的准星瞄准,并通过射线检测的方法在程序中获取到用户正在瞄准的虚拟控制组件,以便进行后续的各种操作。

2)然后,定义人的各种手势所对应的交互操作(如拖拽,长按,点击),使各种手势被定制成不同的交互操作含义,具体方式为根据增强现实眼镜中可识别的基本手势,以及这个基本手势在用户实际操作中持续时间、位置、角度上的变化,给这些交互赋予不同的含义。如在hololens中,用户交互的基本手势为air-tap,如图2所示,是伸出食指和拇指并相互碰触的动作,识别追踪手部运动的过程封装在眼镜内部功能中,开发者可在程序接口中直接获取用户在操作时手势的空间位移等各种信息。air-tap手势中,一次手指碰触视为点击手势;碰触后若一直保持图2右图的姿势,可视为长按手势;若保持这个姿势并运动手部,则可视为拖拽手势。赋予这些交互含义的过程和手势本身、用户正在交互的对象以及程序的编写有关。以hololens为例,如果用户想要旋转一个物体,可以使用拖拽手势,拖拽手势的位移会在程序中映射到物体的旋转角度;如果用户想要移动一个物体,也可以使用拖拽手势,为避免冲突,此时拖拽手势对应的含义就不再是旋转物体,拖拽手势的位移会在程序中映射到相应物体的位移。在其他增强现实眼镜环境中可能会支持更丰富的基本手势以避免冲突。

3)交互所产生的操作数据信息转化为定制好的消息格式发送给大屏幕端,大屏幕的网页端根据消息内容产生对应的交互效果;其中交互所产生的操作数据信息的获取,方式如下:

用户首先进行交互操作,依照交互对象的类型,如果是属性或状态值的变化,如用户点击按钮,或拖拽滑动条,则记录这些操作产生的数值;如果是移动距离,需要先程序中获取手部的三维偏移量(x,y,z),其中x,y,z分别表示手部在左右,上下,前后三个轴的位移,再根据交互的含义计算出实际的操作结果数值。

以hololens为例,编程时需要将位移向量(x,y,z)根据不同交互计算成具体的数值,如在hololens中旋转物体和移动物体都可以使用拖拽手势,先对产生的向量(x,y,z)进行归一化得到(x1,y1,z1)。旋转操作和移动操作的具体计算步骤包括:

1)旋转操作需要计算出虚拟物体旋转角,并明确虚拟物体与大屏幕上物体旋转的映射关系。以虚拟球体沿两个方向(如x,y)的旋转为例,其中围绕y轴的旋转对应手部左右移动产生的x1值,围绕x轴的旋转对应手部上下移动产生的y1值,具体计算方式为定义一个角度常量angleconstant,并算出(y1*angleconstant,x1*angleconstant)作为用户在眼镜端旋转操作的结果,并作为将要发送给网页端的信息存储下来,网页端根据该信息不断改变球体的展示方向,产生旋转的效果。

2)移动操作需要明确虚拟物体运动速度与大屏幕上物体位移的映射关系。首先定义一个速度常量speedconstant,并计算出(x1*speedconstant,y1*speedconstant,z1*speedconstant)作为用户在眼镜端平移操作的结果,并作为将要发送给网页端的信息存储下来,网页端根据该信息不断改变物体的位置,产生位移的效果。

(4)在眼镜端和网页端数据通信的具体步骤为:

1)眼镜端发送消息:建立一个消息对象message,包含通信双方标识符,接口名称,和具体消息数据,其中由上一步骤产生的交互产生的信息作为具体消息数据的属性(网络通信部分有述)。如一个message对象中包含from,to,name,data属性,其中data中又包含payload1属性和payload2属性,把message对象json序列化,得到{“from”:xxx,“to”:xxx,“name”:xxx,“data”:{“payload1”:xxx,“payload2”:[{xxx},{xxx},...]}},作为定制好的消息格式传递给网页端。

2)网页端处理接收到的消息:网页端收到消息后解析内容,取出交互数据,并根据功能产生对应的交互效果。如用户对大屏幕中物体a的虚拟替代物体进行移动操作,网页端收到消息{“from”:arglass,“to”:web,“name”:moveposition,“data”:{“move”:[xdistance,ydistance,zdistance]}},网页端根据解析后的接口名称moveposition找到对应的处理函数,并将data传入,则处理函数会将a物体依据move参数[xdistance,ydistance,zdistance]进行计算位置,用户通过操作虚拟物体(虚拟替代物体)最终导致大屏幕上的物体a发生位移,完成了移动操作。

3)除此之外,由于网页端-眼镜端双向通信,网页端也可以发送信息给眼镜端,这就使得在眼镜端可以设置其他的三维相关视图(眼镜端利用从网页端接受的数据绘制的可视化视图。这些视图如三维柱状图、三维轨迹等,在普通的桌面可视化中可能尚未有足够的空间展示或效果不好,但利用增强现实眼镜可以用3d方式绘制在真实空间,让用户较有沉浸感地进行观察探索,加深对数据的理解)来展示来自大屏幕的某些数据。来自其他交互设备(来源不限,可以是眼镜端之前发送的操作,也可以是其他设备的交互操作,比如键盘鼠标)对大屏幕上某些元素(在眼镜中已有对应三维视图或相关信息的元素)的改变也可以同步地更新眼镜中的视图。如大屏幕展示三维图可视化,眼镜中已经增强展示了和大屏幕中一致的三维拓扑图,这时如其他交互设备来自鼠标对大屏幕上的交互选中了一部分子图进行筛选,在增强现实眼镜中也将相应地只呈现或高亮这一部分子图。

(5)通过对大屏幕直接定位交互(大屏幕定位技术):

通过大屏幕直接定位交互的动机如下:利用虚拟控制组件(虚拟替代物体亦同,不再单独说明)交互要求用户对需要的交互功能和对象有明确指向性,通过外置相应的控制单元的方式进行操控,这意味着开发者必须对展示的内容和交互需求了如指掌,对于不同的可视化作品还需要不同的应用程序分别定制虚拟控制组件。然而这存在两个问题:

1)当可视化作品的交互需求复杂时,不可能把所有交互组件都制作在眼镜端。

2)当可交互的对象较多较复杂时,用户更希望能通过“所见即所得”的方式交互,像激光笔一样指向、或直接看向屏幕某个元素即可触发交互事件。我们提出的大屏幕直接定位交互的方式可让用户利用凝视和手势操作,像鼠标一样在大屏幕上和具体的位置发生交互,利用凝视代替光标,手势代替左右键,把大屏幕等效成较大的桌面,开发者也因此可以避免针对每个可视化的需求重新定制大量虚拟控件。

大屏幕定位(直接定位)的宗旨是:通过大屏幕的实际空间位置和用户点击选择的位置计算出大屏幕中的交互对象在网页端页面上的相对位置,从而用程序获取到位于该位置的对象,从而触发事件。如用户想要点击大屏幕中的元素a,则在我们的系统中用户只需佩戴眼镜使视线中心的光标瞄准a,并用点击手势点击确认,眼镜端程序会把位置数据进行坐标变换并发送到网页端。网页端程序得到a在网页端的坐标(xa,ya),并在html页面的(xa,ya)位置发现对象a,触发a自带的交互事件。这个过程即是用户通过定位和大屏幕交互的过程。

本发明中提出的大屏幕定位的技术基础依赖于增强现实眼镜的三个特性:

1)可以在空间内拖动调整虚拟物体的位置。

2)一旦凝视到某个虚拟物体,便可获取凝视射线交于虚拟物体表面(下文中称为凝视点)的坐标。

3)具有对空间的场景构建能力,能够存储虚拟物体在空间中的位置。以hololens为例,其内置的即时定位与地图构建(slam)系统可利用摄像机采集图像中的深度数据进行空间的三维重建,在使用中只要通过函数调用即可开启检测功能对周围空间进行场景扫描。这个系统可以扫描并保存所处房间的地面、墙壁和其他设施的空间三角网格模型,并以此模型建立用户所处空间的坐标系,用空间锚(worldanchor)的形式存储虚拟物体的相对位置,使得重启应用时一旦识别到已经保存过的房间模型即可复现所有虚拟物体之前所在的位置。这一特性对于确定并保持挂式大屏幕的空间位置具有很重要的作用。

大屏幕定位技术分为两个步骤,首先是对大屏幕本身所在位置的定位,其次是对大屏幕上页面元素的定位:

1)对大屏幕本身所在位置的定位:

对大屏幕本身的位置定位是为了确定大屏幕的位置(中心坐标),大小(长宽),形状(弧形、平面)。程序利用这些信息生成一个贴合大屏幕表面、大小形状和大屏幕相同的“虚拟表面”。

本发明提出的“虚拟表面(virtualsurface)”概念,是对大屏幕形状的一层遮罩(有色边框内部透明的实心矩形薄片,边框用于提示大小和位置,内部透明防止遮挡大屏幕,实心是用于凝视射线和物体的碰撞检测),作为可以在眼镜中交互的物体对象,模拟空间中真实存在的大屏幕的桌面。用户对虚拟表面的凝视、手势操作等同于对大屏幕相同位置的操作,这样就可以利用虚拟表面获取用户凝视点的空间位置,并利用虚拟表面的长宽计算出凝视点相对表面的坐标,进而得到凝视点在网页端的相对坐标。

本发明将列举其中两种针对平面型大屏幕的定位方法:

a)利用增强现实vuforia工具中的imagetarget方法,在大屏幕边缘(或打开的网页边缘)四角放置4个图片marker。当开启程序时,程序将对marker进行图像检测,检测到的图像处可以生成一个虚拟顶点记录其位置,当四个顶点均被检测出来,然后在程序中建立这四个点为顶点的平面物体作为虚拟表面。然后利用上述空间锚形式保存虚拟表面物体的位置。此方法无需额外存储虚拟表面物体的大小。

b)如图4a、4b所示,在空间中先放置一个平面物体作为虚拟表面,再进行手动大小、位置和方向的调整。此方法依赖slam构建的空间模型,也需要额外存储虚拟表面物体的大小。通过开启场景扫描功能,当用户扫描出大屏幕所在区域的空间三角网格模型后,会存储为一个空间表面模型,然后把虚拟表面通过方向校正贴合到扫描出的大屏幕表面上,然后继续手动调整虚拟表面的大小和位置,直到虚拟边缘和大屏幕边缘吻合。大幅度调整方位可利用hololens的开发工具中提供的tapandplace功能,这一功能的目的是放置物体,通过点击想要放置的物体开启扫描模式,并可以将物体直接放在凝视射线和扫描出的空间模型相交的位置,大幅度节省调整方位的时间。位置微调可以利用拖拽功能。

上述操作得到的虚拟表面坐标参数如下:中心坐标记作(positionx,positiony,positionz),长宽记作height和width,自身坐标系向量(x,y,z)。

2)对大屏幕上页面元素的定位:

用户对大屏幕位置的凝视可以对应到对虚拟表面的凝视,当用户瞄准一个位置后利用手势点击可获得的三维凝视点,在把三维凝视点映射到页面上的二维坐标百分比发送给网页端处理,网页端收到消息后对相应位置的元素进行响应事件。

以最常见的竖直搭建平面型大屏幕为例,凝视射线与虚拟表面的交点即为凝视位置(gazex,gazey,gazez),根据虚拟表面中心坐标(positionx,positiony,positionz)和自身坐标系向量(x,y,z),记中心点(positionx,positiony,positionz)到凝视点(gazex,gazey,gazez)的向量为v。由于虚拟表面的厚度可以不计,三维到二维的映射流程如下:

a)利用向量v·x和v·y分别代表出凝视位置相对于面板中心的水平偏移量dx和竖直偏移量dy。

b)利用虚拟表面height和width算出凝视点相对于虚拟表面左上角的坐标,这一相对坐标和长宽进行除法运算,进而得到相对位置的百分比(0.5+dx/width,0.5-dy/height),记作(xratio,yratio),代表在浏览器中(全屏状态下)页面元素的坐标在页面上的百分比(相对于左上角)。

c)将凝视位置百分比参数(xratio,yratio)作为数据封装成消息格式,通过网络通信发送给网页端,接口可命名为clickposition。消息格式例如:{“from”:“arglass”,“to”:“web”,“name”:“clickposition”,“data”:{“xratio”:0.5,“yratio”:0.5}},表示凝时位置的百分比为(0.5,0.5)。

d)在网页端解析后获取xratio和yratio,利用网页页面的长宽h和w(和大屏幕长宽的计量单位不同,网页以像素px为单位)算出这一坐标在网页端的像素位置(xratio·w,yratio·h)。并进一步利用代码获取在这一个位置的html元素,若无元素,则视为点击空白区域;若有元素,则根据这个元素是否绑定了响应操作的事件,如果绑定了事件则触发,如元素被点击后高亮显示。

大屏幕直接定位交互举例如下:在大屏幕页面相对左上角(10%,10%)位置有一个选中后可高亮显示的圆形,当人在眼镜中凝视这个物体并进行点击操作时,经过定位计算,眼镜端发送{“from”:“arglass”,“to”:“web”,“name”:“clickposition”,“data”:{“xratio”:0.105,“yratio”:0.098}}给web端进行处理,在合理的误差允许范围和物体点击响应区域内,这一物体将被选中高亮。

以下为具体实施例:

图1示出了具体实施增强现实眼镜技术和大屏幕的交互技术的流程图。首先增强现实眼镜需要支持网络通信,并有一定的计算处理能力,使得其能够通过服务端通信与网页端连接,定义消息协议格式,完成互通。然后针对所需要的交互,在眼镜端的程序项目中定制控制组件或者三维展示组件。在数据通信的情况下,用户可以直接通过与眼镜中的组件进行交互,或者通过凝视和手势直接与大屏幕交互,从而控制大屏幕上的展示效果;同时来自其他交互设备对大屏幕上某些元素的改变也会同步地更新在眼镜中。

图2为本发明使用增强现实眼镜hololens中用于交互的手势:air-tap手势,伸出食指和拇指,首先张开,然后合拢。这一手势可实际用于和全息物体交互的手势,模拟鼠标点击操作,基于此手势可形成长按、移动、拖拽、缩放等多种语义,在正文中已经说明手势语义的具体操作方法。

图3a到3c示出了增强现实眼镜设计与大屏幕交互的三部曲。(图3a)step1:增强现实眼镜中内置可交互的虚拟控制组件,能够操纵大屏幕上的显示。(图3b)step2:凝视、手势检测结合空间信息,直接定位大屏幕上元素。(图3c)step3:根据来自网页端的数据,可以在眼镜端设置多种可视化视图以增强数据展示。

图4a、4b示出了本发明中增强显示眼镜在对大屏幕直接定位交互操作时创建和利用虚拟表面的方式之一。(图4a)首先用增强现实眼镜定位大屏幕,确定位置、大小和方向。然后创建一个虚拟表面与大屏幕相对齐贴合并调整大小一致,用来代替大屏幕并作为交互操作的对象。(图4b)用户面对大屏幕通过凝视和手势对看到的元素进行选择操作。用户瞄准的位置会从三维映射到二维平面并发送到网页端。

图5示出了本发明的使用增强现实眼镜对大屏幕直接定位交互的流程图。以微软hololens环境为例,通过hololens自带的空间映射和定位构建方法(slam)功能对大屏幕边缘位置进行定位。在确定了大屏幕的所在位置后,生成一个具有一定厚度、规则形状的虚拟屏幕面板放置在对应位置,来在眼镜端模拟真实屏幕,目的是给交互提供对象载体并把基于定位的操作集成在这一物体上。利用人眼视线的射线检测机制,可以获取凝视位置在虚拟面板上的x,y坐标,这一坐标同时代表在大屏幕浏览器中(全屏状态下)页面元素的坐标。然后可以选取大屏幕下的元素进行相应的交互。

图6示出本发明的在以图可视化为例的增强现实眼镜技术和大屏幕的交互技术示意图。图中展示了网页端的力导向图和虚拟的三维力导向子图在增强现实眼镜中的显示效果。可以与后面的大屏幕通过下面沙盘上的按钮和右边的控制面板来操控大屏幕,也可以通过对大屏幕直接定位来交互。交互包括选中一个图的点边,高亮,改变点的大小边的长度,拖拽等。

与图1中所示的方法相对应,本发明实施方式中还提供了一种大屏幕和增强现实眼镜间数据交互系统,如图7所示,该系统包括:

增强现实眼镜,作为眼镜端,具有网络通信模块,内置cpu和gpu单元,具有初始化模块以将眼镜端初始化为一客户端,

大屏幕,用于展示使用传统方法实现的可视化网页作品,所述作品作为在大屏幕上展示的网页端,具有初始化模块以将网页端初始化为又一客户端,

所述可视化作品及其增强现实需求进行整体评估后,设计需要利用眼镜进行交互的功能,并根据交互的类型和数据来设计各消息接口,

消息发送模块及回调处理模块,分别设于网页端和眼镜端,用于二者间的双向通信,其中:

消息发送模块,用于建立一个消息对象message,包含通信双方标识符,接口名称,和具体消息数据,具体消息数据的属性用于传输交互所产生的操作数据信息,

回调处理模块,用于处理接收到消息后,解析内容,取出交互数据,并根据功能产生对应的交互效果,

服务端,具有通信处理模块,用于在网页端-服务端-眼镜端的通信模型中,转发网页端和眼镜端间的通信消息,

当通信数据规模不大时,服务端只需要在两个客户端之间转发信息;当通信数据规模偏大时,考虑到眼镜设备的存储和计算能力,服务端可以对来自网页端的数据进行处理后再转发给眼镜端,

服务端初始化模块,用于获取服务端ip地址并设置端口号,完成转发函数或其他数据处理函数,

一个区别于网页端和眼镜端的后端模块,用于在多个客户端之间转发数据。

更进一步,所述需要利用眼镜进行交互的功能包括:

通过增强现实眼镜让用户看到置于空间中的虚拟物体,进而与虚拟物体交互;

可视化网页作品中的控制组件,转换为虚拟控制组件,通过增强现实眼镜呈现虚拟控制组件,进而与虚拟控制组件交互;

通过凝视和/或手势实现与增强现实眼镜中的虚拟控制组件交互,并把这些交互产生的数据通过网络通信传递给网页端,从而控制大屏幕上页面中显示的内容。

例如:首先,通过凝视选中激活虚拟控制组件,

然后,定义人的各种手势所对应的交互操作,

所述手势包括基本手势及该基本手势在用户实际使用中持续时间、位置、角度上的变化信息,

交互所产生的操作数据信息转化为定制好的消息格式发送给大屏幕端,

大屏幕的网页端根据消息内容产生对应的交互效果。

进行交互操作时,依照交互对象的类型,如果是属性或状态值的变化,则记录这些操作产生的数值;如果是移动距离,则根据交互的含义及手势的空间位移计算出实际的操作结果数值。

另一可选方案为,所述需要利用眼镜进行交互的功能包括:

在增强现实眼镜中设置一个虚拟物体,作为虚拟替代物体,用于代表网页端的可视化网页作品中的某一个视觉图形或物体,

用户在眼镜中对虚拟替代物体进行交互操作,操作产生的结果数据传递给网页端,从而将人利用眼镜交互的结果体现在大屏幕中展示的页面内容上;

所述交互操作包括点击、拖拽、旋转和缩放。

又一可选方案为,所述需要利用眼镜进行交互的功能包括:

采用大屏幕直接定位交互的方式,用户利用凝视和手势操作,在大屏幕上和具体的位置发生交互,其中:

利用凝视代替光标,手势代替左右键,实现模拟鼠标操作,

利用大屏幕的位置、大小及形状生成一个贴合大屏幕表面、大小形状和大屏幕相同的“虚拟表面”,虚拟表面用于作为可以在眼镜中交互的物体对象,模拟空间中真实存在的大屏幕的桌面,虚拟表面还用于模拟显示光标的桌面,

用户对虚拟表面的凝视、手势操作等同于对大屏幕相同位置的操作,

利用虚拟表面获取用户凝视点的空间位置,并利用虚拟表面的长宽计算出凝视点相对表面的坐标,进而得到凝视点在网页端的相对坐标。

综上所述,本发明充分利用增强现实眼镜和大屏幕的各自的优点,通过网络把增强现实眼镜和大屏幕结合在一起,创造出沉浸式的交互环境。通过创建虚拟控制组件和对大屏幕直接定位交互,巧妙的解决了难以与大屏幕交互的问题。在使用过程中,能够保证用户同时观察到大屏幕端的真实场景,又能够看到眼镜端虚拟的全息物体。

增强现实眼镜是独立的、轻便的、集成了检测功能的移动设备。基于其全息图展现的功能,增强现实眼镜在完成与大屏幕互动的过程中,也可以在现实中增强一些信息,我们可以从屏幕上的可视化中抽取感兴趣的部分渲染成全息物体并放在现实中,使得真实空间中能够填充更丰富的视觉元素,用以增强原有可视化;二是能够作为一种自然的交互方式,在控制大屏幕上视图的行为的同时,也能和空间中放置的物体进行交互,给使用者提供良好的沉浸式交互体验,有助于使用者加深对数据的印象。因此本发明是一个新颖的,并且具有建设性意义的工作。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1