本发明涉及增强现实技术领域,更具体地,涉及一种支持增强现实功能的web浏览器系统及其工作方法。
背景技术:
增强现实技术(augmentedrealitytechnique,简称ar技术),它是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。增强现实技术包含了多媒体、三维建模、实时视频显示及控制、多传感器融合、实时跟踪及注册、场景融合等新技术与新手段。增强现实提供了在一般情况下,不同于人类可以感知的信息。
目前基于移动智能终端的增强现实应用多数通过安装应用程序(app)的方式实现,这种方案可以充分访问并利用终端用户设备的的硬件资源,从而提高应用程序的性能与用户体验。
然而,app在功能的拓展和应用的传播上十分受限,同时,每一个应用都是相互独立的,用户之间不能够依托此应用进行交流和互动,并且app的开发通常周期较长,难度较大。web浏览器支持web相关标准,具有良好的传播性。但是目前的大部分浏览器都不支持增强现实功能。少数浏览器虽然拥有增强现实功能,却是以app的形式,嵌入到浏览器中,不支持web相关标准,这极大的损害了web原有的传播性。因而需提供一种方案以解决增强现实技术大规模普适化推广应用难的问题。
技术实现要素:
为了解决现有的增强现实系统大规模普适化推广应用难的问题,本发明提供一种支持增强现实功能的web浏览器系统及其工作方法。
根据本发明的一个方面,提供一种支持增强现实功能的web浏览器系统,包括:
用户界面,用于向用户提供可视化界面;
浏览器内核子系统,用于在网页中拉起摄像头,并获取摄像头所拍摄的视频流,将所述视频流进行解码获得待处理的图像,并对增强现实业务所需要的虚拟信息进行渲染;
增强现实扩展内核子系统,用于封装增强现实所需要的底层算法,管理需要被识别的标识物,绑定虚拟信息和marker之间的位置关系,并在摄像头位置变化和/或marker位置变化时保持虚拟信息和marker之间的位置约束关系。
其中,所述浏览器内核子系统包括:
webrtc模块,用于在网页中拉起摄像头,并获取摄像头所拍摄的视频流;
v8模块,用于对所述webrtc模块获取到的视频流进行解码,并将解码后获得的图像提供给所述增强现实扩展内核子系统;
webgl模块,用于渲染增强现实业务所需要的虚拟信息。
其中,所述增强现实扩展内核子系统包括:
arsdk模块,用于封装实现增强现实业务所需要的底层算法;
marker管理模块,用于管理需要被识别的标识物;
位置跟随模块,用于绑定虚拟信息和marker之间的位置关系,在摄像头位置变化和/或marker位置变化时保持虚拟信息和marker之间的位置约束关系。
其中,所述arsdk模块封装的实现增强现实业务所需要的底层算法包括:目标识别算法、目标跟踪算法和姿态估计算法。
其中,所述增强现实扩展内核子系统还包括:
api模块,用于为开发者提供开发增强现实应用/活动的接口。
根据本发明的另一个方面,提供如前所述系统的工作方法,包括:
s11,用户界面接收到增强现实服务请求时,将所述增强现实服务请求发送给所述浏览器内核子系统和增强现实扩展内核子系统;
s12,所述浏览器内核子系统接收到来自用户界面的增强现实服务请求后,调用webrtc模块在网页中拉起用户终端设备上的摄像头并获取所述摄像头所拍摄的视频流;
s13,webrtc模块将所述视频流传送给v8模块;
s14,v8模块对所述视频流进行解码,并将解码得到的图像传送给arsdk模块;
s15,arsdk模块接收到v8模块发送的图像后,访问marker管理模块,确认marker的内容,并检测所述图像中是否含有所述内容的marker,若所述图像中含有所述内容的marker,arsdk模块根据所述marker的位置和姿态,计算出标定矩阵,并将所述标定矩阵发送给位置跟随模块;
s16,位置跟随模块根据所接收到的标定矩阵,控制webgl模块对虚拟信息进行渲染,并将虚拟信息和marker合并到一起。
其中,所述步骤s15还包括:
若所述图像中不含有所述内容的marker,则继续检测下一帧图像中是否含有所述内容的marker。
根据本发明的另一个方面,提供如前所述系统的工作方法,包括:
s21,api模块接收到开发者创建一个具有增强现实功能的页面的请求时,将所述请求发送给浏览器内核子系统的所有模块和所述增强现实扩展子系统的其余所有模块;
s22,marker管理模块根据所述请求,增加或删除与所述请求相应的marker;arsdk模块根据所述请求,选择与所述请求相应的增强现实算法;位置跟随模块根据所述请求,设定虚拟信息和marker之间的空间位置约束关系;webrtc模块根据所述请求,设定获取的视频流的码率或帧率信息;v8模块根据所述请求,选择对视频流进行解码的质量;webgl模块根据所述请求,设定需要渲染的虚拟信息。
其中,所述步骤s22进一步包括:
浏览器内核子系统的各模块和所述增强现实扩展子系统的其余各模块通过调用javascript函数或传递javascript参数实现与所述请求相应的设置。
本发明提出的一种支持增强现实功能的web浏览器系统及其工作方法,能够实现增强现实应用/活动的大规模普适化推广应用,所提供的web浏览器系统可以作为浏览器内核嵌入至现有的app中,能够使用app浏览网页时使app支持增强现实功能,同时开发者可以依托此系统开发具有增强现实的web页面并在此系统内显示相关特效,降低了开发成本,可有效提升开发效率。
附图说明
图1为本发明一实施例提供的一种支持增强现实功能的web浏览器系统的结构示意图;
图2为本发明另一实施例提供的如前所述系统的工作方法的流程示意图;
图3为本发明另一实施例提供的支持增强现实功能的web浏览器系统实现图2所示的工作方法时各模块之间的交互图;
图4为本发明另一实施例提供的如前所述系统的工作方法的流程示意图;
图5为本发明另一实施例提供的支持增强现实功能的web浏览器系统实现图4所示的工作方法时各模块之间的交互图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例提供的一种支持增强现实功能的web浏览器系统的结构示意图,包括:用户界面1、浏览器内核子系统2和增强现实扩展内核子系统3,其中,
所述用户界面1,用于向用户提供可视化界面;
所述浏览器内核子系统2,用于在网页中拉起摄像头,并获取摄像头所拍摄的视频流,将所述视频流进行解码获得待处理的图像,并对增强现实业务所需要的虚拟信息进行渲染;
所述增强现实扩展内核子系统3,用于封装增强现实所需要的底层算法,管理需要被识别的标识物,绑定虚拟信息和marker之间的位置关系,并在摄像头位置变化和/或marker位置变化时保持虚拟信息和marker之间的位置约束关系。
具体地,本发明实施例所提供的系统主要利用html、css、javascript和图像相关技术对现有浏览器内核进行扩展,从而实现支持增强现实功能。本发明实施例是在googlechrome(googlechrome是一个由google公司开发的开放源代码的网页浏览器)的基础上实现。
所述用户界面1向用户提供可视化界面。
所述浏览器内核子系统2用于实现浏览器的基本功能,并在原chrome浏览器内核的基础上实现了增强现实的功能,具体包括webrtc模块21,v8模块22和webgl模块23。
所述webrtc模块21用于在网页中拉起摄像头,并获取摄像头所拍摄的视频流。
所述v8模块22用于对所述webrtc模块获取到的视频流进行解码,并将解码后获得的图像提供给所述增强现实扩展内核子系统。
所述webgl模块23用于渲染增强现实业务所需要的虚拟信息。
所述增强现实扩展内核子系统3用于封装增强现实所需要的底层算法,管理需要被识别的标识物,绑定虚拟信息和marker之间的位置关系,并在摄像头位置变化和/或marker位置变化时保持虚拟信息和marker之间的位置约束关系,具体包括:arsdk模块31、marker管理模块32和位置跟随模块33。
所述arsdk模块31用于封装实现增强现实业务所需要的底层算法,所述底层算法包括:目标识别算法、目标跟踪算法和姿态估计算法。
所述marker管理模块32用于管理需要被识别的标识物,用户可以增加删除和修改自定义的标识物。
所述位置跟随模块33用于绑定虚拟信息和marker之间的位置关系,在摄像头位置变化和/或marker位置变化时保持虚拟信息和marker之间的位置约束关系。
本发明实施例提出的一种支持增强现实功能的web浏览器系统能够实现增强现实应用/活动的大规模普适化推广应用,所提供的web浏览器系统可以作为浏览器内核嵌入至现有的app中,能够使用app浏览网页时使app支持增强现实功能。
基于上述实施例,所述增强现实扩展内核子系统还包括:
api模块,用于为开发者提供开发增强现实应用/活动的接口。
具体地,api用于为开发者提供各种接口,这些接口包括但不限于增加标识物,增加虚拟信息和控制虚拟信息。api模块为开发者提供了自定义的开发功能,开发者可以依托本发明实施例所提供的系统开发具有增强现实的web页面并在此系统内显示相关增强现实的特效。
本发明实施例提供的一种支持增强现实功能的web浏览器系统能够使开发着较容易地开发具有增强现实的web页面并在此系统内显示相关特效,降低了开发成本,可有效提升开发效率。
本发明上述各实施例所提供的系统可以工作在使用者模式下和开发者模式下。
如图2所示,为本发明另一实施例提供的如前所述系统的工作方法的流程示意图,在使用者模式下,包括:
s11,当用户打开具有增强现实功能的网页时,用户界面会接收到增强现实服务请求,用户界面接收到增强现实服务请求时,将所述增强现实服务请求发送给所述浏览器内核子系统和增强现实扩展内核子系统;
s12,所述浏览器内核子系统接收到来自用户界面的增强现实服务请求后,首先调用webrtc模块在网页中拉起用户终端设备上的摄像头并获取所述摄像头所拍摄的视频流;
s13,webrtc模块将所述视频流传送给v8模块;
s14,v8模块对所述视频流进行解码,并将解码得到的图像传送给arsdk模块;
s15,arsdk模块接收到v8模块发送的图像后,访问marker管理模块,确认marker的内容,并检测所述图像中是否含有所述内容的marker,检测算法通常使用特征点检测算法;若所述图像中含有所述内容的marker,arsdk模块根据所述marker的位置和姿态,计算出标定矩阵,并将所述标定矩阵发送给位置跟随模块;
s16,位置跟随模块根据所接收到的标定矩阵,控制webgl模块对虚拟信息进行渲染,并将虚拟信息和marker合并到一起。
所述支持增强现实功能的web浏览器系统实现上述工作方法时各模块之间的交互过程如图3所示。
基于上述实施例,所述步骤s15还包括:
若所述图像中不含有所述内容的marker,则继续检测下一帧图像中是否含有所述内容的marker。因为图像是按序的,若当前图像中没有marker,可能下一帧会有,因此,继续检测下一帧图像是否由marker。若所述下一帧图像中含有所述内容的marker,则arsdk模块根据所述内容marker的位置和姿态,计算出标定矩阵,并将所述标定矩阵发送给位置跟随模块。
本发明实施例所提供的一种支持增强现实功能的web浏览器系统的工作方法,能够实现增强现实应用/活动的大规模普适化推广应用。
如图4所示,为本发明另一实施例提供的如前所述系统的工作方法的流程示意图,在开发者模式下,包括:
s21,api模块接收到开发者创建一个具有增强现实功能的页面的请求时,将所述请求发送给浏览器内核子系统的所有模块和所述增强现实扩展子系统的其余所有模块;
s22,marker管理模块根据所述请求,增加或删除与所述请求相应的marker;arsdk模块根据所述请求,选择与所述请求相应的增强现实算法;位置跟随模块根据所述请求,设定虚拟信息和marker之间的空间位置约束关系;webrtc模块根据所述请求,设定获取的视频流的码率或帧率信息;v8模块根据所述请求,选择对视频流进行解码的质量;webgl模块根据所述请求,设定需要渲染的虚拟信息。
所述支持增强现实功能的web浏览器系统实现上述工作方法时各模块之间的交互过程如图5所示。
基于上述实施例,所述步骤s22进一步包括:
浏览器内核子系统的各模块和所述增强现实扩展子系统的其余各模块通过调用javascript函数或传递javascript参数实现与所述请求相应的设置。
具体地,marker管理模块根据api模块发送的创建一个具有增强现实功能页面的请求,增加或者删除相应的marker。增加或删除marker可以通过提供一个javascript函数的形式来呈现,开发者通过此javascript函数来完成对marker的增加或删除。
arsdk模块根据api模块发送的创建一个具有增强现实功能页面的请求选择相应的增强现实算法,增强现实算法的选择可以通过javascript变量的设定进行控制。
位置跟随模块根据api模块发送的创建一个具有增强现实功能页面的请求设定虚拟信息和marker之间的空间约束关系,空间约束关系可以通过javascript变量来控制,此javascript变量通常为一个矩阵。
webrtc模块根据api模块发送的创建一个具有增强现实功能页面的请求设定要获取的视频流的码率、帧率等信息。webrtc模块提供javascript函数,码率和帧率以该javascript函数的参数传入。
v8模块根据api模块发送的创建一个具有增强现实功能页面的请求设定视频流解码的质量,v8模块通常提供选择解码质量的javascript函数,开发者则需要选择相应的参数。
webgl模块根据api模块发送的创建一个具有增强现实功能页面的请求设定需要渲染的虚拟信息。webgl模块提供渲染函数,开发者需要提供虚拟信息素材。
本发明实施例所提供的一种支持增强现实功能的web浏览器系统的工作方法,为开发者提供自定义开发功能,开发者可以依托此系统开发具有增强现实的web页面并在此系统内显示相关特效,降低了开发成本,可有效提升开发效率。
最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。