基于Android系统的电视终端中增强现实的实现方法及装置与流程

文档序号:12697616阅读:406来源:国知局
基于Android系统的电视终端中增强现实的实现方法及装置与流程

本发明涉及计算机应用技术领域,特别涉及一种基于Android系统的电视终端中增强现实的实现方法及装置。



背景技术:

随着计算机应用技术的发展,增强现实技术被越来越普遍的应用于各种便携移动终端,以实现各种虚拟场景的交互。

增强现实技术在移动终端的实现,是移动终端将自身摄像头录制的图像数据,传输给增强现实引擎。增强现实引擎对摄像头录制的图像数据进行识别和跟踪,从而对摄像头录制的图像进行增强现实显示,实现虚拟场景与现实场景相结合。

现如今市场上的增强现实引擎大多数仅能支持基于移动终端的摄像头录制的图像数据格式,而不支持电视终端输出的图像数据格式。因此,增强现实技术的应用,不得不局限于具有摄像头的移动终端,并无法应用于不具备摄像头的其它终端。

也就是说,增强现实技术的应用,由于增强现实引擎支持的图像数据格式的限制,而使得其无法在不具备摄像头的终端,如电视终端中实现。



技术实现要素:

为了解决相关技术中存在的增强现实技术的应用由于增强现实引擎支持的图像数据格式的限制而无法在电视终端中实现增强现实技术的技术问题,本发明提供了一种基于Android系统的电视终端中增强现实的实现方法及装置。

一种基于Android系统的电视终端中增强现实的实现方法,所述方法包括:

调用所述Android系统HAL层的摄像头接口截取屏幕待显示的图像数据;

按照摄像头默认格式对所述待显示的图像数据进行格式转换;

将完成所述格式转换的图像数据传送至所述电视终端配置的增强现实引擎,以触发所述增强现实引擎为所述图像数据进行增强现实显示。

一种基于Android系统的电视终端中增强现实的实现装置,所述装置包括:

获取模块,用于调用所述Android系统HAL层的摄像头接口截取屏幕待显示的图像数据;

转换模块,用于按照摄像头默认格式对所述待显示的图像数据进行格式转换;

增强现实模块,用于将完成所述格式转换的图像数据传送至所述电视终端配置的增强现实引擎,以触发所述增强现实引擎为所述图像数据进行增强现实显示。

本发明的实施例提供的技术方案可以包括以下有益效果:

调用Android系统HAL层的摄像头接口截取屏幕待显示的图像数据,按照摄像头默认格式对待显示的图像数据进行格式转换,将完成格式转换的图像数据传送至电视终端配置的增强现实引擎,以触发增强现实引擎为图像数据进行增强现实显示。由上述方法可知,该方法可通过调用Android系统HAL层的摄像头接口获得屏幕待显示的图像数据,并按照摄像头默认格式对待显示的图像数据进行格式转换,将完成格式转换的图像数据传送至增强现实引擎,从而触发增强现实引擎在电视终端上实现增强现实显示,解决了由于增强现实引擎支持的图像数据格式的限制而无法在电视终端中实现增强现实技术的技术问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种基于Android系统的电视终端中增强现实的实现方法的流程图;

图2是将图像数据通过NEON指令进行多媒体格式转换,获得与摄像头默认格式相符的图像数据在一个实施例的流程图;

图3是图1对应实施例的将完成格式转换的图像数据传送至电视终端配置的增强现实引擎在一个实施例的流程图;

图4是根据一示例性实施例示出的一种基于Android系统的电视终端中增强现实的实现装置框图;

图5是图4对应实施例的转换模块在一个实施例的框图;

图6是图4对应实施例的增强现实模块在一个实施例的框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种基于Android系统的电视终端中增强现实的实现方法的流程图。如图1所示,该基于Android系统的电视终端中增强现实的实现方法可以包括以下步骤。

在步骤110中,调用Android系统HAL层的摄像头接口截取屏幕待显示的图像数据。

其中,待显示的图像数据是指电视终端自身运行过程中将要在自身屏幕上显示的图像画面。图像画面的显示是在电视终端的运行过程中持续进行的。

Android系统HAL层为硬件抽象层,用于将硬件抽象化,从而调用该硬件。通过HAL层的摄像头接口调用摄像头进行屏幕录制,从而截取屏幕待显示的图像数据。

电视终端底层配置有实现电视屏幕显示图像画面的显示模块,在显示模块中生成将要在电视终端的屏幕上显示的图像画面,进而将图像画面显示在电视终端的屏幕上。通过摄像头对显示模块中的将要在电视终端的屏幕上显示的图像画面进行屏幕录制,完成电视终端中图像画面捕获,进而通过所持续进行的屏幕录制而获得图像数据。可以理解的,对于持续进行的屏幕录制,所分别录制下来的若干个图像画面便形成了电视终端中图像画面显示的图像数据。图像数据携带着所进行屏幕录制的每一图像画面的图像数据。屏幕录制动作在电视终端的运行中,是随着增强现实的触发而执行的。

具体而言,为电视终端配置了增强现实显示功能。在触发此增强现实显示功能时,便触发电视终端中获取图像数据的进行,进而方能够随着电视终端中图像画面的显示而持续获得与之相对应的图像数据。

在此应当说明的是,借助于电视终端中获取图像数据的进行,而获得图像数据,经由图像数据来获知电视终端中所播放图像画面的内容,为后续所进行的增强实现的最终实现提供触发基础。

获取图像数据的过程,实质为虚拟摄像头的过程。因此,可对获取图像数据的过程进行各种参数的设置,例如,设置获取图像的分辨率,帧率等参数,由于电视终端中显示的图像画面将用于作为后续增强现实显示中的现实画面,因此,对获取图像数据的过程进行参数设置后,电视终端中显示的图像画面的实际效果应当是与增强现实显示所需的图像画面效果相适应的。

在步骤130中,按照摄像头默认格式对待显示的图像数据进行格式转换。

其中,在一个实施例中,图像数据格式(即颜色编码方法)采用YUV格式,其中Y表示灰阶值,只存在Y分量时表示为黑白灰度图像,因此Y分量可以单独表示画面的基本信息。由于Y分量可以单独表示画面的基本信息,所以图像识别算法对图像数据识别时通过处理Y通道来实现,从而减少识别时产生的性能损失。

其中,摄像头默认格式YUV420SP格式的Y通道是单独存放的,利于增强现实引擎对Y通道进行识别,YUV420SP格式也支持大多数增强现实引擎对其进行识别。但目前实施例中的电视终端经过屏幕录制得到的图像数据的数据格式为YUV422格式,因此需要将YUV422格式转换为YUV420SP格式来支持增强现实引擎进行识别。

将获得的YUV422格式待显示的图像数据按照摄像头默认格式YUV420SP进行转换,获得YUV420SP格式的图像数据。

在步骤150中,将完成格式转换的图像数据传送至电视终端配置的增强现实引擎,以触发增强现实引擎为图像数据进行增强现实显示。

增强现实引擎,用于为所在终端实现增强现实显示。增强现实引擎将以输入的图像画面为现实画面,进行现实画面和虚拟画面的叠加,以此来实现所在终端中的虚拟现实显示,即电视终端的增强现实功能。增强现实引擎被配置于电视终端,将随着电视终端的运行触发增强现实引擎开始运行。

增强现实引擎通过识别和跟踪图像数据中的增强现实标志实现图像数据的增强现实显示。增强现实标志为电视终端上显示的任意区域的图像画面,预先将增强现实标志制成模板添加到增强现实引擎中,增强现实引擎根据模板通过图像识别算法将拿到的图像数据进行计算,识别图像数据中是否有能与模板中数据相符合的数据,图像数据中相符合的数据即为获取的增强现实标志的数据。识别到增强现实标志后,对增强现实标志中的位置信息进行跟踪,从而通过图像识别算法计算增强现实标志的位置信息,增强现实引擎根据增强现实标志的图像数据识别图像数据中的增强现实标志。增强现实标志可以是完整的一幅画面,也可以是画面中的一部分。

根据图像位置信息,通过对增强现实标志所在的图像画面叠加画面,在现实画面上显示叠加的虚拟画面,电视终端在屏幕显示现实画面的同时显示虚拟画面,实现增强现实显示。

叠加的虚拟画面预先配置于增强现实引擎,虚拟画面可以是用绘图工具制成的图像,也可以直接叠加现成的图。

在一个示例性实施例中,电视终端中所使用的增强现实引擎可实现图像的旋转功能,但电视终端中显示的图像不适于进行旋转操作,因此为使增强现实引擎适配于电视终端的应用环境中,去除增强现实引擎的旋转操作功能。

此实施例实现了电视终端上的增强现实技术,解决了由于增强现实引擎支持的图像数据格式的限制而无法在电视终端中实现增强现实技术的技术问题。

在一个示例性实施例中,图1所示实施例的按照摄像头默认格式对图像数据进行格式转换可以包括以下步骤。

将图像数据通过NEON指令进行多媒体格式转换,获得与摄像头默认格式相符的图像数据。

其中NEON是ARM架构处理器的扩展结构,用于处理传送至NEON引擎的图像数据。多媒体格式转换是指将图像数据按照摄像头默认格式进行转换的过程。NEON引擎将获得的YUV422格式的图像数据进行转换,从而获得用与摄像头默认格式相符YUV420SP相符的图像数据。

此实施例实现了获得与摄像头默认格式相符的图像数据。

图2是将图像数据通过NEON指令进行多媒体格式转换,获得与摄像头默认格式相符的图像数据在一个实施例的流程图。

在步骤210中,将从显示模块获得的图像数据传送至NEON引擎。

其中,从电视终端中的显示模块获得的图像数据需传送至NEON引擎进行格式转换处理,从而使图像数据能够适配于增强现实引擎。

将从显示模块获得的图像数据,在电视终端中传送给NEON引擎进行转换处理。

在步骤230中,触发NEON引擎将图像数据进行多媒体格式转换获得与摄像头默认格式相符的图像数据。

在一个示例性实施例的具体实现中,多媒体格式转换包括以下步骤。

NEON引擎电视终端通过获取将要显示至屏幕的图像数据。对于获得的图像数据,其图像数据格式为YUV422格式,通过格式转换,将YUV422格式转换为YUV420SP格式,使该图像数据的数据格式适配于增强现实引擎,从而在增强现实引擎识别图像数据过程中,保证增强现实引擎的识别性能,使得增强现实引擎可以更高效地对图像数据进行增强现实显示的处理。

虚拟摄像头客户端为电视终端中配置的模块,用于将图像数据传送给增强现实引擎。将进行多媒体格式转换后的图像数据传送给虚拟摄像头客户端,从而实现将图像数据传送给增强现实引擎,实现增强现实的显示。

此实施例实现了图像数据的多媒体格式转换。

在一个示例性实施例中,图2对应实施例的触发NEON引擎将图像数据进行多媒体格式转换而获得与摄像头默认格式相符的图像数据可以包括以下步骤。

触发NEON引擎通过将图像数据的数据排列方式转换成与摄像头默认格式相同的数据排列方式,进行图像数据的多媒体格式转换。

其中,传送至NEON引擎的图像数据的数据格式为YUV422格式,YUV422 格式中包含Y,U,V三个通道。摄像头默认格式YUV420SP格式中也包含Y,U,V三个通道,但三个通道的数据排列方式与YUV422格式的数据排列方式不同。

因此,通过更改图像数据的数据排列方式,即将图像数据YUV422格式的数据排列方式转换成摄像头默认格式YUV420SP格式的数据排列方式,实现图像数据的多媒体转换。得到与摄像头默认格式相同的图像数据。

此实施例通过转换图像数据的数据排列方式,实现图像数据的多媒体转换。

图3是根据一示例性实施例示出的对步骤150的细节进行描述。如图3所示,该步骤150可以包括以下步骤。

在步骤151中,虚拟摄像头客户端接收与摄像头默认格式相符的图像数据。

其中,虚拟摄像头客户端接收到经过多媒体格式转换的,与摄像头默认格式相符的图像数据,并准备将图像数据传送至增强现实引擎,从而实现增强现实的显示。

在步骤153中,将接收的图像数据通过电视终端中的本地框架层传送至电视终端配置的增强现实引擎。

其中,首先应当说明的是,获得的图像数据需要传输到增强现实引擎进行识别跟踪,因此需要通过本地框架层和应用框架层之间的通信,将图像数据填充至应用框架层配置的缓冲区,并触发增强现实引擎从缓冲区读取图像数据的方法,实现图像数据传输到增强现实引擎的过程。

本地框架层用于获取图像数据,应用框架层用于实现图像数据的传输过程。通过本地框架层和应用框架层进行通信,实现传输图像数据到增强现实引擎的功能。

在电视终端初始化时,应用框架层会配置缓冲区,图像数据需通过缓冲区传输到增强现实引擎。其中,应用框架层可以改变设置的缓冲区的数据容量大小。

当获得图像数据之后,本地框架层通过上层设置的回调函数,将存储图像数据的共享内存地址传输到JNI层。应用框架层通过回调函数,获取JNI层中存储图像数据的共享内存地址,并将本地框架层存储的图像数据流填充至因共用框架层配置的缓冲区。对于本发明,此方法仅供参考,实际实现方法并不局限于此。

当图像数据传输到应用架构层配置的缓冲区后,应用框架层利用增强现实引擎中设置的传输接口,将图像数据传输给增强现实引擎,从而完成将图像数据传输到增强现实引擎的功能,对于本发明,此方法仅供参考,实际实现方法并不局限于此。

此实施例实现将图像数据传送至增强现实引擎。

图4是根据一示例性实施例示出的一种基于Android系统的电视终端中增强现实的实现装置框图。该装置执行图1任一所示的基于Android系统的电视终端中增强现实的实现方法的全部或者部分步骤。如图4所示,该装置包括但不限于:获取模块310,转换模块330和增强现实模块350。

获取模块310用于调用Android系统HAL层的摄像头接口截取屏幕待显示的图像数据。

转换模块330用于按照摄像头默认格式对待显示的图像数据进行格式转换。

增强现实模块350用于将完成格式转换的图像数据传送至电视终端配置的增强现实引擎,以触发增强现实引擎为图像数据进行增强现实显示。

在一个示例性实施例中,图4对应实施例的转换模块还用于将图像数据通过NEON指令进行多媒体格式转换,获得与摄像头默认格式相符的图像数据。

图5是图4对应实施例的转换模块在一个实施例的框图。如图5所示,转换模块330包括但不限于:传送单元331和转换触发单元333。

传送单元331用于将从显示模块获得的图像数据传送至NEON引擎。

转换触发单元333用于触发NEON引擎将图像数据进行多媒体格式转换以获得与摄像头默认格式相符的图像数据。

在一个示例性实施例中,图5对应实施例的转换触发单元333还用于触发NEON引擎通过将图像数据的数据排列方式转换成与摄像头默认格式相同的数据排列方式,进行图像数据的多媒体格式转换。

图6是图4对应实施例的增强现实模块在一个实施例的框图。如图6所示,增强现实模块350但不限于:接收单元351和本地调用单元353。

接收单元351用于接收与摄像头默认格式相符的图像数据。

本地调用单元353用于将接收的图像数据通过电视终端中的本地框架层传送至电视终端配置的增强现实引擎。

上述装置中各个模块的功能和作用的实现过程详见上述基于Android系统的电视终端中增强现实的实现方法中对应步骤的实现过程,在此不再赘述。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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