一种提供增强现实的方法及终端的制作方法

文档序号:6518214阅读:205来源:国知局
一种提供增强现实的方法及终端的制作方法
【专利摘要】本发明公开了一种提供增强现实的方法,包括步骤:终端通过摄像头获取当前场景图像,并将其显示在终端屏幕上;在所述当前场景图像中检测到有目标存在;加载与所述目标对应的视频内容;播放所述视频内容;获取所述视频当前帧画面的位置;当所述帧画面的位置大于零时,才将帧画面渲染叠加到终端屏幕上显示的场景中;随着视频的播放进度,将后续的帧画面更新渲染叠加到场景中。本发明还公开了一种提供增强现实的终端。通过本发明可以避免在播放增强现实视频开始时出现短暂的黑色区域。
【专利说明】 一种提供增强现实的方法及终端
【技术领域】
[0001]本发明涉及增强现实【技术领域】,尤其是通过播放视频来提供增强现实的方法及终端。
【背景技术】
[0002]增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实或扩张实境等。是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息内容叠加到真实世界的场景中,从而实现对现实的增强。随着带有摄像头的智能移动终端的迅速普及,各种增强现实应用也层出不穷,广泛应用于娱乐、生活、医学、广告和教育等领域。增强现实系统中的平面目标一般有基于人工的标记(Marker),和自然图像,有些先进的AR系统也支持三维目标。在AR应用通过摄像头检测到场景中有目标存在时,可以在显示的目标区域之上叠加一些虚拟内容,如3D模型是最常见的形式。
[0003]随着三维图形技术在移动终端上的进步,一些新的终端已经可以支持输出视频帧画面作为纹理渲染。目前有AR应用将一段视频的首帧画面作为目标图像,在终端屏幕显示的场景中的目标图像区域之上播放视频,实现让静止图像动起来的魔幻效果,是一种很好的增强现实的表现形式。但是在实践中发现,如果视频位于终端本地,一般效果都很好,然而对于实时播放网络视频时,场景中的目标区域在开始播放时会出现短暂的黑色区域,虽然时间比较短,但使增强现实的视觉效果变得不连续,严重影响增强现实的效果和用户体验。另外对于终端本地视频,如果视频较大,并且没有预先加载,而是发现目标时再加载,画面上也可能会出现短暂的黑色区域。如图1所示,黑色色块区域101其实应该就是视频播放显示的区域,区域的形状一般是四边形,但不一定是矩形,与目标在场景中的位置和姿态有关,一般区域之下就是目标图像。
[0004]虽然可以提前下载网络视频,以及预先加载视频内容,使黑色区域的出现变得短暂的几乎不可见,然而很多应用场合有大量的视频内容,不可能全部下载到本地,预先都加载进来,因此必须从根本上彻底解决AR视频播放开始时可能出现黑色区域的问题。

【发明内容】

[0005]基于现有技术的不足,本发明的首要目的在于给出一种提供增强现实的方法,避免在场景中开始播放视频时短暂出现黑色区域,尤其是播放网络视频。
[0006]本发明的再一目的在于给出一种提供增强现实的终端,避免在场景中开始播放视频时短暂出现黑色区域,尤其是播放网络视频。
[0007]为实现上述各目的,本发明采用如下技术方案:
本发明第一目的所称提供增强现实的方法,包括步骤:
终端通过摄像头获取当前场景图像,并将其显示在终端屏幕上;
在所述当前场景图像中检测到有目标存在; 加载与所述目标对应的视频内容;
播放所述视频内容;
获取所述视频当前帧画面的位置;
当所述帧画面的位置大于零时,才将帧画面渲染叠加到终端屏幕上显示的场景中; 随着视频的播放进度,将后续的帧画面更新渲染叠加到场景中;
所述帧画面在场景中的显示区域根据所述目标的尺寸和当前姿态数据确定。
[0008]进一步,在所述当前场景图像中检测到有目标存在后,将一张静态图片作为纹理渲染叠加到场景的目标区域上;
同时加载和播放所述目标对应的视频内容;
在所述视频播放的帧画面的位置大于零时,使用所述视频帧画面渲染叠加到场景的目标区域上。
[0009]进一步,所述目标的类型为标记,所述标记包括黑色矩形边框,在所述黑色矩形边框的其中一边区域中包含反色的一维条形码;
在所述当前场景图像中检测到有目标标记存在时,截取当前场景图像中所述目标标记的黑色矩形边框的边区域;
对所述边区域先进行反色处理,然后从中检测并解析一维条形码;
根据所述条形码的解析结果加载并播放对应的视频内容;
当获取所述视频的帧画面的位置大于零时,将帧画面渲染叠加到终端显示场景中的目标区域上。
[0010]进一步,预先设置视频区域与目标区域的偏移参数,所述偏移参数包括视频区域相对目标区域的尺寸比例,以及中心点的偏移向量;
在所述当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据所述目标的当前位置以及预设的所述偏移参数确定视频区域,将所述视频的帧画面渲染叠加到相应位置的视频区域上显示。
[0011]进一步,在所述当前场景图像中检测到所述视频对应的目标消失预定时长后,暂停播放所述视频,并记录视频播放的当前位置;
后续在检测到所述视频对应的目标重新出现时,继续从所记录的位置开始播放视频,并将所述视频的帧画面渲染叠加到场景中显示。
[0012]本发明第二目的所称提供增强现实的终端,包括:
增强现实引擎单元,用于通过摄像头获取当前场景图像,并将其显示在终端屏幕上,检测当前场景中的目标,有目标存在时通知视频播放单元开始播放相应的视频,并将视频播放单元提供的视频的帧画面渲染叠加到场景中;
视频播放单元,用于在增强现实引擎单元检测到有目标存在时,通过视频检索单元获取相应的视频内容,加载与所述目标对应的视频内容,播放所述视频内容,获取所述视频当前帧画面的位置,当所述帧画面的位置大于零时,通过增强现实引擎单元将帧画面渲染叠加到终端屏幕上显示的场景中,随着视频的播放进度,将后续的帧画面通过增强现实引擎单元更新渲染叠加到场景中;
视频检索单元,用于根据增强现实引擎单元提供的目标标识从终端本地或服务器检索对应的视频内容,并返回给视频播放单元。[0013]进一步,增强现实引擎单元在所述当前场景图像中检测到有目标存在后,将一张静态图片作为纹理渲染叠加到场景的目标区域上,同时通知视频播放单元加载和播放所述目标对应的视频内容,在所述视频播放的帧画面的位置大于零时,使用所述视频播放单元提供的视频帧画面渲染叠加到场景的目标区域上。
[0014]进一步,还包括条形码处理单元,所述目标的类型为标记,所述标记包括黑色矩形边框,在所述黑色矩形边框的其中一边区域中包含反色的一维条形码,增强现实引擎单元在所述当前场景图像中检测到有目标标记存在时,由条形码处理单元截取当前场景图像中所述目标标记的黑色矩形边框的边区域,对所述边区域先进行反色处理,然后从中检测并解析一维条形码,视频播放单元根据所述条形码的解析结果加载并播放对应的视频内容,当获取所述视频的帧画面的位置大于零时,增强现实引擎单元将帧画面渲染叠加到终端显示场景中的目标区域上。
[0015]进一步,所述终端中存储有预先设置视频区域与目标区域的偏移参数,所述偏移参数包括视频区域相对于目标区域的尺寸比例,以及中心点的偏移向量;
增强现实引擎单元在所述当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据所述目标的当前位置以及预设的所述偏移参数确定视频区域,将所述视频的帧画面渲染叠加到相应的视频区域上显示。
[0016]进一步,增强现实引擎单元在所述当前场景图像中检测到所述视频对应的目标消失预定时长后,通知视频播放单元暂停播放所述视频,并记录视频播放的当前位置;
后续增强现实引擎单元在检测到所述视频对应的目标重新出现时,继续通知视频播放单元从所记录的位置开始播放视频,并将视频播放单元提供的帧画面渲染叠加到场景中显
/Jn ο
[0017]与现有技术相比较,本发明通过在检测到增强现实目标后加载和播放视频时,根据视频帧画面的位置是否大于零,来判断视频已经真正开始播放了,再用帧画面进行渲染,从而在开始时就可以输出视频内容的帧画面,而不会短暂显示无内容的黑色区域,使增强现实的效果更加完美连贯,大大提升了用户体验,尤其是对于在线播放网络视频,即使网络延迟很大,也不会在视频开始播放时出现短暂黑色区域的现象。另外本发明还可以在发现目标后,视频帧画面渲染显示之前,先显示一个静态图片或文字信息等,这样用户在等待加载视频的过程中,可以看到一些相关的信息内容。本发明还通过将目标标记和条形码相结合,可以在目标标记数量有限的情况下提供更多数量的在线视频内容。
[0018]本发明的有益效果远不止于上述罗列诸要点,限于篇幅而不再赘述。需要进一步强调的是:其它任何因本发明所称对所想即所得的技术方案的实现而引起的技术变革,以及以这种变革所引起的有益效果,虽未在此明文记载,均是属于本领域内的普通技术人员和商业领域人员可以推知的。
[0019]下面结合附图和具体实施例对本发明进行具体说明。
【专利附图】

【附图说明】
[0020]图1为现有技术中开始播放增强现实视频时出现短暂黑色区域的示意图;
图2为本发明实施例提供增强现实的方法流程图;
图3为本发明实施例包含一维条形码的标记图案;图4为本发明实施例提供增强现实的终端结构示意图。
【具体实施方式】
[0021]本发明所称的提供增强现实的方法,可以应用于各种带有摄像头的智能终端中,例如智能手机、平板电脑、智能电视、游戏机、智能眼镜或手表等。
[0022]参见图2,为本发明实施例提供增强现实的方法的流程示意图,主要包括如下步骤。
[0023]201、终端通过摄像头获取当前场景图像,并将其显示在终端屏幕上。这时显示的内容一般都是真实的现实场景,和拍摄照片时的预览画面一样,通常称为背景视频。
[0024]202、在当前场景图像中检测到有目标存在。目标的类型可以是标记,也可以是自然图像。如果是自然图像,一般要求其具备足够的特征点,否则很难被识别和跟踪。可以将一个视频的首帧画面作为目标图像,并预先将该目标的标识与视频相关联。
[0025]203、加载与目标对应的视频内容。识别目标后,根据目标的标识找到对应的视频内容并加载。也可以在应用启动之后就预先加载,但是这样对于视频较多较大时就不合适了。因此最好在检测到目标后再按需加载视频,还有在切换到另外一个目标(对应其他视频)时,可以先释放之前的视频对象,再加载新的视频,这样可以出现内存问题。
[0026]通常加载网络视频会需要较长时间,因此在加载时,可以显示一个进度图标,如转动的进度圆圈等,在开始显示视频帧画面时,隐藏进度图标。通常采用异步加载准备视频的方式,加载成功后在回调程式中开始播放相应视频。在加载的同时也将该视频与三维纹理相关联,以便后续可以将视频帧画面更新到输出到渲染的场景区域上。
[0027]204、播放视频内容。对于网络视频而言,虽然加载成功了,但并不意味着可以立即输出帧画面,由于帧数据的传输需要时间,因此如果在开始播放时直接将视频对象的当前帧画面输出更新到场景中,可能就会出现黑色区域的现象,出现的时长和网络的状况以及视频属性有关,一些高清视频在网络较差的情况下,会出现较长时间的黑色区域。所以此时还不能更新帧画面,在场景中进行渲染。
[0028]205、获取视频当前帧画面的位置。在界面绘制的循环线程中,获取播放视频的当前帧画面的位置。可以在初始时将帧画面的位置设为负值,如-1。
[0029]206、当视频帧画面的位置大于零时,才将帧画面渲染叠加到终端屏幕上显示的场景中。这时得到的帧画面不会再出现黑色区域,而是视频的内容。
[0030]另外在此之前,在当前场景图像中检测到有目标存在后,可以将一张静态图片作为纹理渲染叠加到场景的目标区域上,同时加载和播放目标对应的视频内容。如可以使用一张透明的相框图片叠加到目标区域上,用户看到的目标图像的外部加了个相框。在这段等待时间里,除了显示静态图片,还是显示一些动态特效,如使目标区域的颜色在渲染时发生动态的变化等;还可以显示文字信息等。
[0031]207、随着视频的播放进度,将后续的帧画面更新渲染叠加到场景中。注意由于终端系统性能的限制,并不是视频的所有帧都会被更新输出到场景中,相对于原始的视频内容来看,AR应用中显示的帧画面并不是连续的,而是有一定的间隔,但这基本不会有太大影响,在用户看来并不会有明显的不连续感。
[0032]视频帧画面在场景中的显示区域根据目标的尺寸和当前姿态数据确定。通常都会让视频区域即视频帧画面的显示区域和场景中的目标区域重叠,这样会实现让画面中的目标图像动起来的魔幻效果。通过增强现实引擎提供的目标姿态矩阵等数据可以将视频画面和目标区域完美的重合在一起,即使摄像头的位置在一直变化,也可以持续跟踪保持重合状态。
[0033]很多时候使用标记作为目标比自然图像更加方便简单,但是通常标记的数量是非常有限的,如总数为512个,这样如果有大量的在线网络视频,标记的数量就远远不够了。
[0034]如图3所示,可以使用包括黑色矩形边框301的标记,标记的区别特征主要由边缘的锯齿302决定,在黑色矩形边框301的其中一边区域中包含反色的一维条形码303 ;在当前场景图像中检测到有目标标记存在时,截取当前场景图像中目标标记的黑色矩形边框的边区域;对边区域先进行反色处理,然后从中检测并解析一维条形码;根据条形码的解析结果加载并播放对应的视频内容;当获取视频的帧画面的位置大于零时,将帧画面渲染叠加到终端显示场景中的目标区域上。
[0035]一维条形码的格式很多,如 UPC-A 和 UPC-E,EAN-8 和 EAN-13,Code 39,Code 93,Code 128等。如果系统预先限制只能使用某种格式条形码,检测速度会比较快。如果为了更加灵活,也可以不做限制,而是遍历各种条形码的格式进行逐一检测和解析,如果成功解析出结果就停止检测。
[0036]另外播放视频的区域并不一定和目标区域完全重合,如图3中所示的标记框的框内区域,包含图像304,才是视频区域,比目标区域(整个标记框)要小。可以预先设置视频区域与目标区域的偏移参数,偏移参数包括视频区域相对目标区域的尺寸比例,以及中心点的偏移向量;在当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据目标的当前位置以及预设的偏移参数确定视频区域,将视频的帧画面渲染叠加到相应位置的视频区域上显示。
[0037]如果终端摄像头从目标移开,在当前场景图像中检测到所述视频对应的目标消失预定时长后,如3秒钟,暂停播放所述视频,并记录视频播放的当前位置;后续在检测到该视频对应的目标重新出现时,继续从所记录的位置开始播放视频,并将该视频的帧画面渲染叠加到场景中显示。
[0038]本领域普通技术人员还可以理解,实现上述方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,可以是:R0M/RAM、磁碟、固态硬盘、存储卡或光盘等。
[0039]本发明另一个实施例中描述了一种提供增强现实的终端,如图4所示,该终端包括摄像头和显示屏等,还包括:
增强现实引擎单元401,用于通过摄像头获取当前场景图像,并将其显示在终端屏幕上,检测当前场景中的目标,有目标存在时通知视频播放单元402开始播放相应的视频,并将视频播放单元402提供的视频的帧画面渲染叠加到场景中;
视频播放单元402,用于在增强现实引擎单元401检测到有目标存在时,通过视频检索单元403获取应的视频内容,加载与所述目标对应的视频内容,播放所述视频内容,获取所述视频当前帧画面的位置,当所述帧画面的位置大于零时,通过增强现实引擎单元401将帧画面渲染叠加到终端屏幕上显示的场景中,随着视频的播放进度,视频播放单元402将后续的帧画面通过增强现实引擎单元401更新渲染叠加到场景中; 视频检索单元403,用于根据增强现实引擎单元401提供的目标标识从终端本地或服务器检索对应的视频内容,并返回给视频播放单元402。
[0040]由于播放在线网络视频时,通常都会有至少几秒钟的延迟,增强现实引擎单元401可以在当前场景图像中检测到有目标存在后,将一张静态图片作为纹理渲染叠加到场景的目标区域上,同时通知视频播放单元402加载和播放目标对应的视频内容,在视频播放的帧画面的位置大于零时,使用视频播放单元402提供的视频帧画面渲染叠加到场景的目标区域上。
[0041]在使用标记作为目标时,为了提供更多的在线视频内容,可以结合条形码技术。终端还可以包括条形码处理单元,目标的类型为标记,标记包括黑色矩形边框,在黑色矩形边框的其中一边区域中包含反色的一维条形码,增强现实引擎单元在当前场景图像中检测到有目标标记存在时,由条形码处理单元截取当前场景图像中目标标记的黑色矩形边框的边区域,对边区域先进行反色处理,然后从中检测并解析一维条形码,视频播放单元根据条形码的解析结果加载并播放对应的视频内容,当获取视频的帧画面的位置大于零时,增强现实引擎单元将帧画面渲染叠加到终端显示场景中的目标区域上。
[0042]视频区域可以和目标区域不同,在终端中存储有预先设置的视频区域与目标区域的偏移参数,偏移参数包括视频区域相对目标区域的尺寸比例,以及中心点的偏移向量;增强现实引擎单元在当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据目标的当前位置以及预设的所述偏移参数确定视频区域,将视频的帧画面渲染叠加到相应位置的视频区域上显示。
[0043]另外增强现实引擎单元在当前场景图像中检测到视频对应的目标消失预定时长后,可以通知视频播放单元暂停播放视频,并记录视频播放的当前位置;后续增强现实引擎单元在检测到视频对应的目标重新出现时,继续通知视频播放单元从所记录的位置开始播放视频,并将视频播放单元提供的帧画面渲染叠加到场景中显示。
[0044]可以理解,基于本发明精神,可以有更多实施例;上述各个实施例、各个步骤、单元之间也可以相互合理组合得到新的实施例;上述各个单元可以在能够实现共同目的的前提下任意合并、改变隶属关系、拆分、组合,本发明实施例不作限定。以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种提供增强现实的方法,其特征在于,该方法包括步骤: 终端通过摄像头获取当前场景图像,并将其显示在终端屏幕上; 在所述当前场景图像中检测到有目标存在; 加载与所述目标对应的视频内容; 播放所述视频内容; 获取所述视频当前帧画面的位置; 当所述帧画面的位置大于零时,才将帧画面渲染叠加到终端屏幕上显示的场景中; 随着视频的播放进度,将后续的帧画面更新渲染叠加到场景中; 所述帧画面在场景中的显示区域根据所述目标的尺寸和当前姿态数据确定。
2.根据权利要求1所述的方法,其特征在于,在所述当前场景图像中检测到有目标存在后,将一张静态图片作为纹理渲染叠加到场景的目标区域上; 同时加载和播放所述目标对应的视频内容; 在所述视频播放的帧画面的位置大于零时,使用所述视频帧画面渲染叠加到场景的目标区域上。
3.根据权利要求1所述的方法,其特征在于,所述目标的类型为标记,所述标记包括黑色矩形边框,在所述黑色矩形边框的其中一边区域中包含反色的一维条形码; 在所述当前场景图像中检测到有目标标记存在时,截取当前场景图像中所述目标标记的黑色矩形边框的边区域; 对所述边区域先进行反色处理,然后从中检测并解析一维条形码; 根据所述条形码的解析结果加载并播放对应的视频内容; 当获取所述视频的帧画面的位置大于零时,将帧画面渲染叠加到终端显示场景中的目标区域上。
4.根据权利要求1至3所述的任一方法,其特征在于,预先设置视频区域与目标区域的偏移参数,所述偏移参数包括视频区域相对目标区域的尺寸比例,以及中心点的偏移向量; 在所述当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据所述目标的当前位置以及预设的所述偏移参数确定视频区域,将所述视频的帧画面渲染叠加到相应位置的视频区域上显示。
5.根据权利要求1至4所述的任一方法,其特征在于,在所述当前场景图像中检测到所述视频对应的目标消失预定时长后,暂停播放所述视频,并记录视频播放的当前位置; 后续在检测到所述视频对应的目标重新出现时,继续从所记录的位置开始播放视频,并将所述视频的帧画面渲染叠加到场景中显示。
6.一种提供增强现实的终端,其特征在于,所述终端包括: 增强现实引擎单元,用于通过摄像头获取当前场景图像,并将其显示在终端屏幕上,检测当前场景中的目标,有目标存在时通知视频播放单元开始播放相应的视频,并将视频播放单元提供的视频的帧画面渲染叠加到场景中; 视频播放单元,用于在增强现实引擎单元检测到有目标存在时,通过视频检索单元获取相应的视频内容,加载与所述目标对应的视频内容,播放所述视频内容,获取所述视频当前帧画面的位置,当所述帧画面的位置大于零时,通过增强现实引擎单元将帧画面渲染叠加到终端屏幕上显示的场景中,随着视频的播放进度,将后续的帧画面通过增强现实引擎单元更新渲染叠加到场景中; 视频检索单元,用于根据增强现实引擎单元提供的目标标识从终端本地或服务器检索对应的视频内容,并返回给视频播放单元。
7.根据权利要求6所述的终端,其特征在于,增强现实引擎单元在所述当前场景图像中检测到有目标存在后,将一张静态图片作为纹理渲染叠加到场景的目标区域上,同时通知视频播放单元加载和播放所述目标对应的视频内容,在所述视频播放的帧画面的位置大于零时,使用所述视频播放单元提供的视频帧画面渲染叠加到场景的目标区域上。
8.根据权利要求6所述的终端,其特征在于,还包括条形码处理单元,所述目标的类型为标记,所述标记包括黑色矩形边框,在所述黑色矩形边框的其中一边区域中包含反色的一维条形码,增强现实引擎单元在所述当前场景图像中检测到有目标标记存在时,由条形码处理单元截取当前场景图像中所述目标标记的黑色矩形边框的边区域,对所述边区域先进行反色处理,然后从中检测并解析一维条形码,视频播放单元根据所述条形码的解析结果加载并播放对应的视频内容,当获取所述视频的帧画面的位置大于零时,增强现实引擎单元将帧画面渲染叠加到终端显示场景中的目标区域上。
9.根据权利要求6所述的终端,其特征在于,所述终端中存储有预先设置视频区域与目标区域的偏移参数,所述偏移参数包括视频区域相对于目标区域的尺寸比例,以及中心点的偏移向量; 增强现实引擎单元在所述当前场景图像中检测到有目标存在,播放视频的帧画面的位置大于零时,根据所述目标的当前位置以及预设的所述偏移参数确定视频区域,将所述视频的帧画面渲染叠加到相应的视频区域上显示。
10.根据权利要求6至9所述的任一终端,其特征在于,增强现实引擎单元在所述当前场景图像中检测到所述视频对应的目标消失预定时长后,通知视频播放单元暂停播放所述视频,并记录视频播放的当前位置;` 后续增强现实引擎单元在检测到所述视频对应的目标重新出现时,继续通知视频播放单元从所记录的位置开始播放视频,并将视频播放单元提供的帧画面渲染叠加到场景中显/Jn ο
【文档编号】G06T7/00GK103559713SQ201310551040
【公开日】2014年2月5日 申请日期:2013年11月10日 优先权日:2013年11月10日
【发明者】温馨 申请人:深圳市幻实科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1