CN103561065B - 一种利用移动终端实现3d虚拟广告的系统及其方法 - Google Patents
一种利用移动终端实现3d虚拟广告的系统及其方法 Download PDFInfo
- Publication number
- CN103561065B CN103561065B CN201310502626.8A CN201310502626A CN103561065B CN 103561065 B CN103561065 B CN 103561065B CN 201310502626 A CN201310502626 A CN 201310502626A CN 103561065 B CN103561065 B CN 103561065B
- Authority
- CN
- China
- Prior art keywords
- marker
- mobile terminal
- virtual
- virtual images
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种利用移动终端实现3D虚拟广告的系统及其方法,其中,系统包括:服务器端及与所述服务器端通讯连接的移动终端,在服务器端设置有用于存储与平面广告对应的3D虚拟影像的虚拟影像文件库,在平面广告上设置有用于标识3D虚拟影像以及空间位置的标识物,所述移动终端通过其摄像头获取平面广告的图像信息,并根据平面广告的标识物来获取相应的3D虚拟影像,以及根据标识物的空间位置显示3D虚拟影像。
Description
技术领域
本发明涉及3D虚拟广告领域,尤其涉及一种利用移动终端实现3D虚拟广告的系统及其方法。
背景技术
随着智能手机爆发式的增长,以及手机操作系统的升级换代和移动互联网技术的发展,手机广告也从简单的短信彩信广告、WAP网站广告,逐步发展到应用程序的嵌入式广告、视频广告、二维码广告、移动搜索广告等。虽然这些新技术使得手机广告的形式更加丰富多彩,但现有技术的广告投放方式仍然存在一些问题:1、二维码广告多是简单地与平面广告相结合,用户通过扫描二维码观看的广告只是简单的图片、文字或下载地址,存在着吸引力不够、形式单一及投放效果差等问题;2、视频广告表现丰富,但占用空间较大,在目前的网络环境下流量的费用较高、下载速度缓慢,且一般难以实现互动效果。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种利用移动终端实现3D虚拟广告的系统及其方法,旨在解决现有的广告投放方式吸引力不够、形式单一、投放效果差以及流量高、下载慢及难以实现互动效果的问题。
本发明的技术方案如下:
一种利用移动终端实现3D虚拟广告的系统,其中,包括:服务器端及与所述服务器端通讯连接的移动终端,在服务器端设置有用于存储与平面广告对应的3D虚拟影像的虚拟影像文件库,在平面广告上设置有用于标识3D虚拟影像以及空间位置的标识物,所述移动终端通过其摄像头获取平面广告的图像信息,并根据平面广告的标识物来获取相应的3D虚拟影像,以及根据标识物的空间位置显示3D虚拟影像。
所述的利用移动终端实现3D虚拟广告的系统,其中,所述标识物为二维码或黑框矩形标识物。
一种如上所述的利用移动终端实现3D虚拟广告的方法,其中,包括步骤:
A、预先在服务器端设置用于存储3D虚拟影像的虚拟影像文件库;
B、在平面广告上设置用于标识3D虚拟影像以及空间位置的标识物;
C、当需要观看平面广告的3D虚拟影像时,利用移动终端摄像头获取平面广告的图像信 息;
D、对该图像信息进行解析获取平面广告的标识物,并根据标识物从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物的空间位置来显示3D虚拟影像。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述步骤D具体包括:
D1、对该图像信息进行解析,从该图像信息中提取出相应的标识物并解码;
D2、从所述标识物中提取出标识物中所包含的资料存储区,并对该资料存储区进行解析获得用于标识3D虚拟影像的标识物值;从所述标识物中提取出用于标识空间位置的坐标区域,通过该坐标区域计算出标识物和摄像头之间的相对位置;
D3、根据该标识物值从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物和摄像头之间的相对位置,加载3D虚拟影像。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述步骤C还包括:
接收用户输入的用户名和密码,并进行验证,在验证通过后保存用户的登陆状态。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述步骤D还包括:
通过GPS定位与基站定位相结合的方式获取移动终端当前的位置信息,所述GPS定位与基站定位相结合的方式为:优先采用GPS定位,在GPS定位不成功时,采用基站定位。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述步骤A还包括:
预先在虚拟影像文件库中存储3D虚拟影像,在不同位置区域内所述3D虚拟影像与标识物一一对应。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述步骤D具体包括:
通过移动终端当前位置信息获取移动终端所在位置区域内的与该标识物相对应的3D虚拟影像。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述标识物为二维码时,所述步骤D1二维码提取的步骤包括:
D11、设定二维码解码类型,并设定回调函数;
D12、初始化第三方开源库zxing参数;
D13、循环解析移动终端获取的图像信息的二进制流;
D14、将二进制流传入zxing接口判断是否是二维码;
D15、当是二维码时,对所述二维码进行解码。
所述的利用移动终端实现3D虚拟广告的方法,其中,所述方法还包括:
步骤E、统计所有平面广告的访问次数、访问时间及访问位置,获得每一时间段及每一位置 区域下各平面广告的访问量,并根据访问量对广告投放方式进行调整。
有益效果:本发明通过在平面广告上内置标识物,并利用该标识物从服务器端获取相应的3D虚拟影像,根据该标识物计算出标识物与移动终端摄像头之间的相对位置,然后根据相对位置加载相应的3D虚拟影像。通过本发明,用户在移动终端上观看到的3D虚拟影像形式的广告,其显示内容更加生动有趣,用户能从不同角度观看广告产品,更能吸引用户,延长用户观看广告时间,且其占用空间比视频广告要小的多,下载速度更快,适合当前的网络环境,通过基于位置服务实现精准的受众定向,使广告商能够根据用户位置区域投放不同广告,增加用户与广告之间关系感受,实现互动。
附图说明
图1为本发明一种利用移动终端实现3D虚拟广告的系统较佳实施例的结构框图。
图2为本发明一种利用移动终端实现3D虚拟广告的系统另一实施例的结构框图。
图3为本发明一种利用移动终端实现3D虚拟广告的方法较佳实施例的流程图。
图4为本发明的使用效果图。
具体实施方式
本发明提供一种利用移动终端实现3D虚拟广告的系统及其方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种利用移动终端实现3D虚拟广告的系统较佳实施例的结构示意图,如图所示,其包括:服务器端及与所述服务器端通讯连接的移动终端,在服务器端设置有用于存储与平面广告对应的3D虚拟影像的虚拟影像文件库,在平面广告上设置有用于标识3D虚拟影像以及空间位置的标识物,所述移动终端通过其摄像头获取平面广告的图像信息,并根据平面广告的标识物来获取相应的3D虚拟影像,以及根据标识物的空间位置显示3D虚拟影像。
本发明的系统分为服务器端和移动终端两大部分,其中的移动终端即客户端,该移动终端可以是手机、相机或平板电脑等等带有摄像头的便携式智能终端,移动终端通过其上的摄像头获取平面广告的图像信息,然后识别出标识物,从而定位出标识物与移动终端的相对位置,然后将标识物发送至服务器端,服务器端可从其虚拟影像文件库中搜索出相应的3D虚拟影像,并将其回传给移动终端,这样移动终端就能根据其与标识物的位置关系来显示3D虚拟影像。
本发明的3D虚拟影像显示是根据增强现实技术(Augmented Reality,AR)实现的,其在虚拟现实技术中发展而来,其通过计算机模拟,生成在现实环境中不存在的3D虚拟物体,将人造的虚拟世界与现实世界相融合,呈现给用户一个虚实结合的环境,并能使用户自然地与虚拟物体进行三维实时交互。
在技术应用方面,有大量免费开源库可供选择,例如ARToolKit(一个C/C++语言编写的库,用于编写增强现实的应用程序)提供了良好的开发环境和成熟稳定的开发接口。
如图2所示,本发明中的移动终端其内置有AR模块、LBS(基于地理位置的服务)模块、网络收发模块、用户信息模块,在服务器端也设置有AR模块、LBS模块、网络收发模块及用户信息模块。但各自的功能会有所不同,其中:
移动终端的用户信息模块用来保存用户信息,包括用户名和密码等等,另外还可保存用户的登陆状态,在第一次登陆成功后,即可直接登陆,无需再次输入用户名和密码,方便用户使用。
移动终端的AR模块用来识别摄像头捕获的图像信息,得到其中的标识物信息和空间位置关系。
移动终端的LBS模块用来获取移动终端当前的位置信息,包括经纬度、海拔高度及方向等信息。
移动终端和服务器端的网络收发模块用来收发二者之间的数据。
服务器端的用户信息模块用于接收到用户信息后,调取用户的访问数据,包括用户上次所在位置、看过的广告、喜欢和讨厌的广告、产生了购买行为的广告等,从而为用户提供个性化的服务。
服务器端的LBS模块用来查找虚拟影像ID(即标识物值),和保存用户访问的信息,实现统计功能。
服务器端的AR模块具有两个功能,一是广告商用户可添加所需投放的3D虚拟影像文件,另一个是根据虚拟影像ID来提取3D虚拟影像文件。
需说明的是,在本发明中,服务器端与移动终端是独立设置,但本发明并不限于采用这种方式,例如可将服务器端内置于移动终端中,即只需由移动终端实现3D虚拟广告的形式,或者可以将服务器端的一部分设置在移动终端中,而将另一部分设置在云端,例如将较大容量的虚拟影像文件库设置在云端。上述各种方式均属于本发明的保护内容,其可根据实际需要进行变换。
上述模块的具体功能会结合方法步骤来进行说明。
下面具体说明本发明的实现方法,如图3所示,其包括步骤:
S101、预先在服务器端设置用于存储3D虚拟影像的虚拟影像文件库;
S102、在平面广告上设置用于标识3D虚拟影像以及空间位置的标识物;
S103、当需要观看平面广告的3D虚拟影像时,利用移动终端摄像头获取平面广告的图像信息;
S104、对该图像信息进行解析获取平面广告的标识物,并根据标识物从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物的空间位置来显示3D虚拟影像。
首先在服务器端设置用于存储3D虚拟影像的虚拟影像文件库以及,在真实环境下的平面广告上设置用于标识3D虚拟影像以及空间位置的标识物。
然后通过移动终端获取真实环境下平面广告的图像信息,例如开启手机后置摄像头,将该摄像头对准平面广告显示平面广告的预览画面以获取图像信息即可。在获取平面广告的图像信息之后,可对该图像信息进行识别,判断该图像信息是否含有标识物,若有则从该图像信息中提取出标识物。
本发明中的标识物可以是各种各样的标识物,其形状及类型不受限制,只要能够标识3D虚拟影像以及空间位置即可。本发明中较优选的是二维码和ARToolKit提供的黑框矩形标识物,其中,二维码是通过编码将某种数据符号信息编制为特定的黑白相间几何图形;黑框矩形标识物外部是一圈黑色框,内部是非对称字母。其中二维码如图2所示,黑框矩形标识物如图3所示。
然后根据识别物来确定空间位置,其目的是获得移动终端摄像头与标识物的相对位置即位置关系,对于二维码,其三个角上设置有类似“回”字的正方形图案,通过这三个正方形图案可得到矩形区域,然后在二维码的中间区域(正方形图案包围的区域)设置有资料存储区,通过解析该资料存储区可获得标识物值,该标识物值可以是字符串,也可以是数字ID,代表需要加载的3D虚拟影像。而对于黑色矩形标识物,可通过对黑色外框进行边缘检测和区域联通性分析得到需要的矩形区域,然后通过内部的字母确定标识物的方向并得到标识物值。
具体来说,所述步骤S104可细化为以下步骤:
S201、对该图像信息进行解析,从该图像信息中提取出相应的标识物并解码;
例如当该标识物是二维码时,那么此步骤可细化为以下步骤:
S301、设定二维码解码类型,并设定回调函数;此处是设定回调函数resultPointCallback();
S302、初始化第三方开源库zxing(用java实现的多种格式的1D/2D条码图像处理库)参数;zxing已封装了对二维码图像的解码工作,提供了简单易用的API接口(应用程序编程 接口)。
S303、循环解析移动终端获取的图像信息的二进制流;
S304、将二进制流传入zxing接口判断是否是二维码;
上述过程中不断地把从摄像头得到的图像信息的二进制流(还可包括图像的长宽)传入zxing接口进行试解析。
S305、当是二维码时,对所述二维码进行解码。
S202、从所述标识物中提取出标识物中所包含的资料存储区,并对该资料存储区进行解析获得用于标识3D虚拟影像的标识物值;从所述标识物中提取出用于标识空间位置的坐标区域,通过该坐标区域计算出标识物和摄像头之间的相对位置;
在解码成功后,此回调函数resultPointCallback()同时得到二维码中3个“回”字的定位点,从而计算出标示物的空间坐标;然后通过投影变换矩阵来进行数学换算,算出标识物和摄像头的位置关系,包括摄像头相对于标识物的位置和姿态,上述变换过程属于现有技术,本发明就不再此赘述。
当函数decodeWithState()将返回二维码的空间坐标位置,计算出标示物和摄像头的相对位置坐标。代码如下:
S203、根据该标识物值从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物和摄像头之间的相对位置,加载3D虚拟影像。
在获得了标识物值后,就可根据此标识物值来加载所需的3D虚拟影像。有两种方法可生成所需的虚拟物体,一种是直接作图,利用OpenGL ES(是OpenGL三维图形API的子集)软件直接作图,这种方法简单易行,但速度慢,每次更新都需要重新设计开发制图、效率较低;另一种是将3D虚拟影像通过专业软件制作好,需要时直接加载这些绘制好的文件即可,这样便于批量制图和大规模推广,本发明优选采用第二中方法加载3D虚拟影像。
在获得3D虚拟影像后,需通过前面的投影变换矩阵,对3D虚拟影像进行坐标变换和渲染,将3D虚拟影像与真实的场景图像叠加,实现虚实合成。最后通过移动终端显示屏将虚实合成的图像信息呈现给用户。当用户利用移动终端看平面广告时,可实时调整其摄像头角度,从而实现立体查看平面广告的目的。
本发明的方法还包括步骤:接收用户输入的用户名和密码,并进行验证,在验证通过后保存用户的登陆状态。在移动终端中保存了作为登陆用的用户名(可以是手机号)和加密的密码(用户名和密码组成用户信息)。其具有两个特点,一是密码采用SHA-1算法(安全散列算法)来加密存储,保证了密码的安全性和用户的隐私;二是保存用户的登陆状态,用户只需第一次登陆成功,以后就能够直接登陆,不需要多次输入用户名和密码,方便了用户使用。
本发明还提供基于地理位置的服务,即指在地理信息系统平台的支持下,通过基站定位或GPS等外部定位,获取移动终端的位置信息,并以此提供基于地理位置的服务,例如签到服务、周边生活设施的搜索、优惠信息的推送以及周边位置的交友等等。
基于地理位置的服务包括移动终端的位置定位和服务器端的资源定位两部分。其中,移动终端的位置定位用于确定用户当前所在的位置(地理位置),而服务器端的资源定位则是服务器根据用户当前所在位置提供当前位置周边的信息资源。
目前,移动终端例如智能手机其定位方式包括GPS定位和基站定位两种。GPS定位是利用GPS定位卫星,在全球范围内实时进行定位导航,其优点是准确度高,而且其是通过卫星定位的方式,因此在没有本地移动网络连接的情况下也能使用。但其缺点是比较耗电,并且第一次定位数据获取较慢,且室内几乎无法使用,若在Android系统中使用GPS定位方式,其精度一般在5~50m左右。
基站定位包括两种方法,一种是通过手机收到的基站信息定位,比较常用的定位方法包括COO(蜂窝小区)定位、七号信令定位、TOA(电波到达时间)定位、TDOA(电波到达时间差)定位、AOA(电波到达角)定位、基于场强定位等等,这种方法的优点是只要网络通畅就能够在室内使用,但在精确度上不如GPS定位;另一种方法是wifi定位,原理和基站定位类似。上述两种方法都需要使用移动网络,因此,在Android中统称为Network(网络定位)方式,其精度一般在500~1000m左右。
本发明优选采用两种定位方式相结合的方法,即优先采用GPS定位,若GPS定位失败,则采取基站定位方式。
除此以外,还有很多获取当前位置坐标的方法,如蓝牙、红外、有源RFID(射频识别)等。因此,需要充分考虑将来接口的拓展性,不仅支持现有的GPS定位和基站定位两种方式,还应该能够便捷的添加其他定位方式,即提供相应接口来添加其它定位方式。
具体来说,本发明可采用回调函数的方法获取当前位置信息,主要涉及3类:LocationManager用于实现手机的定位、跟踪和趋近提示;LocationProvider用于设置服务类型(GPS定位还是基站定位)等属性;Location用于描述当前的地理位置信息,包括经纬度、方向、高度等。
上述3类通过3个步骤就可以获取移动终端当前的位置信息。其流程如下:
S401、判断定位功能是否开启;
首先通过LocationManager的is ProviderEnabled()函数判断移动终端是否开启了GPS定位和基站定位功能。如果没有开启,则提示用户开启相应的定位功能。
S402、注册回调函数;
通过LocationManager将LocationLisener注册到Android系统的位置服务链表中。当位置有变更时,就会执行回调函数onLocationChanged(),从而得到当前位置坐标。代码如下:
其中,requestLocationUpdates()函数中,第1个参数是位置服务的类型,分GPS和Network两种定位类型;第2个和第3个参数分别指两次位置查询之间的最小时间间隔和最小距离间隔;第4个参数是回调的对象locationListener,下个步骤将创建此对象。
S403、回调函数。
创建LocationListener对象,其函数onLocationChanged()在被回调时,可以得到当前移动终端的经度、维度、方向和高度信息。代码如下:
通过上述步骤,就能得到用户信息、标识物信息(包括标识物值)和当前的位置信息,然后通过移动终端的网络收发模块将这些数据打包发往服务器端。服务器端的网络收发模块在收 到传来的数据包后,经过解包将数据还原,做进一步处理。
在服务器端,接收到用户信息后,通过用户名和密码登陆服务器,验证通过后,就可以调取用户的访问数据,包括用户上次登陆时所在位置、看过的平面广告、喜欢和讨厌的平面广告、产生了购买行为的广告等等信息。从而可以为用户提供个性化服务。
对于服务器端来说,其资源定位所需解决的是,在服务器端的地理数据库中,查询移动终端当前位置一定范围内(即移动终端所在位置区域内)有哪些资源可以提供,例如,坐标(40.36,116.00)附近1000m内是否有银行、是否有商店等,由于地理数据库数据庞大,因此,需要使用范围搜索算法实现高效的数据库检索,本发明可使用Geohash算法来实现范围的快速搜索功能。Geohash算法是一种地址编码,通过一定规则将二维码的经纬度编码成一维字符串。比如北海公园的编码是wx4gOecl,Geohash具有以下特点:Geohash表示的并非一个点,而是一个矩形区域;编码越长,精度越高,矩形区域越小,例如,wx4gOe就比wx4gOecl范围更大,本发明将二维区域大小转换为一维字符串长度大小的特性,将经纬度转为Geohash值,然后通过通配符查询来实现范围搜索。
另外,本发明的步骤S101中具体包括步骤:预先在虚拟影像文件库中存储3D虚拟影像,在不同位置区域内所述3D虚拟影像与标识物一一对应。也即是说,本发明不仅能提供3D虚拟影像,还将3D虚拟影像与位置相关联,根据用户所在位置的不同,投放不同的3D虚拟影像,从而增加用户与广告之间的关系感受。
具体来说,在虚拟影像文件库中已经预先存储了各个位置区域内不同标识物所对应的虚拟影像ID(即标识物值),一个虚拟影像ID唯一对应一3D虚拟影像。
以二维码为例,服务器端的LBS服务模块收到用户的位置信息和二维码信息后,通过搜索范围算法查询到虚拟影像ID。具体步骤为:先将用户位置的经纬度装为Geohash值,然后进行简单的字符串前缀匹配并结合二维码查询虚拟影像文件库,从而得到用户当前位置区域下虚拟影像ID所对应的唯一的虚拟影像。
根据Geohash编码越长,精确度越高,搜索区域越小的特点,可以从高精准度小范围开始搜索,当查询不到时,通过减少后缀来扩大查询区域继续检索。例如,用户当前坐标Geohash值为wx4gOecl,二维码为00001,那么字符串前缀匹配就为:
SELECT AR_ID FROM MAP_TABLE WHERE Geohash LIKE’wx4gOec1%’And DQ_ID=’00001’
如果没有查询到,那么去掉后面几个字符串再次查询,改为如下语句:
SELECT AR_ID FROM MAP_TABLE WHERE Geohash LIKE’wx4gOe%’And DQ_ID=’00001’
直到查询出虚拟影像ID,将此虚拟影像ID传入虚拟影像文件库,就可以调取实际的虚拟影像文件。
另外,本发明的方法还包括步骤:统计所有平面广告的访问次数、访问时间及访问位置,获得每一时间段及每一位置区域下各平面广告的访问量,并根据访问量对广告投放方式进行调整。这样广告商用户能实时查看在某一个时间段、某个区域内,某个广告的访问量有多少,广告访问量是增加还是减少,并以此为依据对广告投放方式进行调整。
具体来说,在得到虚拟影像ID的同时,服务器端可将用户的位置和二维码实时添加到统计数据库中,从而实现对广告访问量的实时统计。同时,通过下述简单查询语句向系统的广告商用户提供查询功能,实时查看某一时间段、某个区域内某个广告的访问量有多少:SELEECT COUNT(*)FROM STATISTICS_TABLE WHERE
Geohash LIKE’wx4gOe%’And DQ_ID=’00001’
在本发明的服务器端还具有两个功能,一个是广告商可以任意添加3D虚拟影像文件至虚拟影像文件库中,另一个是根据虚拟影像ID(即前述的标识物值所代表的虚拟影像ID)提取3D虚拟影像文件。
本本发明可采用Hadoop保存3D虚拟影像文件,其提供了增加3D虚拟影像、提取3D虚拟影像两个接口。Hadoop是一个高容错、高传输、易扩展、成本低的分布式文件系统(HDFS:Hadoop Distributed File System),符合本本发明高并发、低延迟、接口简单易用的特性要求。
对于添加3D虚拟影像文件的过程:
虚拟影像文件库包括广告商已添加的3D虚拟影像文件,每个文件都是3D虚拟影像广告内容,并且和虚拟影像ID一一对应。3D虚拟影像广告可以提供各种清晰度的广告视频,长度也没有限制。但存在文件较大、用户下载较慢的问题。所以需在文件大小和清晰度上做平衡,即提供不同清晰度的3D虚拟影像供不同网络环境的用户观看。
制作3D虚拟影像的软件,常用的有3DsMax、Maya和Blender等。制作好的虚拟影像文件可通过Hadoop接口添加到虚拟影像文件库,并生成一个唯一的虚拟影像ID值,将这个虚拟影像ID保存到服务器端的地图数据库中,供随时查询时使用。
对于提取3D虚拟影像文件的过程:
根据服务器端得到的虚拟影像ID,将其传入Hadoop借口,就可以得到3D虚拟影像文件,将文件压缩后再调用服务器端的网络收发模块,就可以回传到用户的移动终端上。
经过以上步骤,服务器端的整个处理过程结束,下一步就是利用移动终端的AR模块 将接收到的3D虚拟影像文件显示到现实场景中。
当移动终端通过其网络收发模块得到3D虚拟影像文件后,需要将其显示在移动终端屏幕上。本发明可采用开源的min3D库,它支持包括Blender在内的多种3D格式文件,对底层的OpenGL ES接口进行了良好的封装,直接加载3D虚拟影像文件就可以将3D虚拟影像文件叠加显示在当前的真实场景中,实现动画效果。
首先,通过initScene()初始化函数加载从服务器端得到的3D影像文件blenderFile;然后,在updateScene()函数中设定3D虚拟影像的动作,实现在手机显示屏上显示3D虚拟影像,并且使其运动起来。代码如下:
经过以上步骤,完成后的3D虚拟影像效果如图4所示,当用户用移动终端拍摄广告上的二维码时,就能显示出某个品牌汽车的3D虚拟影像广告,3D图像随摄像头方位动态变化。并且,3D虚拟影像还能随着移动终端屏幕上的图像进行缩放变化,例如放大或缩小等变化,同时,在本发明中,还优选在所述3D虚拟影像上标上尺寸信息,这对于一些家具等广告会获得更好的效果。
综上所述,本发明将增强现实、类似二维码的标识物技术、基于位置服务等各种技术集成在平面广告中,当用户在移动终端中利用基于本发明的客户端程序扫描屏幕广告时,看到的是一段基于用户当前位置的动态3D虚拟影像广告。本发明具有如下有益效果:首先,3D虚拟影像形式的广告,显示内容更加生动有趣,更能吸引用户,延长用户观看广告的时间;其次,3D虚拟影像形式的广告,占用的空间比视频广告要小的多,下载速度更快,更适合当前的网络环境,并且3D虚拟影像广告能够与用户实现互动;第三,通过基于位置服务的功能实现精准的受众定向,使系统能够根据用户位置区域投放不同的广告,增加 用户与广告间的关系感受;最后,通过统计功能,实现对广告投放效果的实时统计。
本发明实现了手机广告的用户覆盖量更大、用户定位更精准、与用户实现互动并且能定量的进行统计等效果,从而更好的实现手机广告的推广。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种利用移动终端实现3D虚拟广告的系统,其特征在于,包括:服务器端及与所述服务器端通讯连接的移动终端,在服务器端设置有用于存储与平面广告对应的3D虚拟影像的虚拟影像文件库,在平面广告上设置有用于标识3D虚拟影像以及空间位置的标识物,所述移动终端通过其摄像头获取平面广告的图像信息,并根据平面广告的标识物来获取相应的3D虚拟影像,以及根据标识物的空间位置显示3D虚拟影像;
所述移动终端采用GPS定位和基站定位方式相结合的方法,且优先采用GPS定位,若GPS定位失败,则采取基站定位方式;
所述虚拟影像文件库中预先存储了各个位置区域内不同标识物所对应的虚拟影像ID,一个虚拟影像ID唯一对应一3D虚拟影像;
所述标识物为二维码;
获取移动终端当前的位置信息的流程如下:
S401、判断定位功能是否开启;首先通过LocationManager的is ProviderEnabled()函数判断移动终端是否开启了GPS定位和基站定位功能,如果没有开启,则提示用户开启相应的定位功能;
S402、注册回调函数;通过LocationManager将LocationLisener注册到Android系统的位置服务链表中,当位置有变更时,就会执行回调函数onLocationChanged(),从而得到当前位置坐标,代码如下:
其中,requestLocationUpdates()函数中,第1个参数是位置服务的类型,分GPS和Network两种定位类型;第2个和第3个参数分别指两次位置查询之间的最小时间间隔和最小距离间隔;第4个参数是回调的对象locationListener,下个步骤将创建此对象;
S403、回调函数,创建LocationListener对象,其函数onLocationChanged()在被回调时,可以得到当前移动终端的经度、维度、方向和高度信息,代码如下:
通过上述步骤,就能得到用户信息、标识物信息(包括标识物值)和当前的位置信息,然后通过移动终端的网络收发模块将这些数据打包发往服务器端,服务器端的网络收发模块在收到传来的数据包后,经过解包将数据还原,做进一步处理;
预先在虚拟影像文件库中存储3D虚拟影像,在不同位置区域内所述3D虚拟影像与标识物一一对应;
所述移动终端还用于:
D1、对该图像信息进行解析,从该图像信息中提取出相应的标识物并解码;
D2、从所述标识物中提取出标识物中所包含的资料存储区,并对该资料存储区进行解析获得用于标识3D虚拟影像的标识物值;从所述标识物中提取出用于标识空间位置的坐标区域,通过该坐标区域计算出标识物和摄像头之间的相对位置;对于二维码,其三个角上设置有正方形图案,通过 这三个正方形图案可得到矩形区域,通过解析二维码的中间区域的资料存储区获得标识物值,该标识物值为数字ID,代表需要加载的3D虚拟影像;
当函数decodeWithState()将返回二维码的空间坐标位置,计算出标示物和摄像头的相对位置坐标,代码如下:
D3、根据该标识物值从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物和摄像头之间的相对位置,加载3D虚拟影像;
在获得了标识物值后,将3D虚拟影像制作好,需要时直接加载这些绘制好的文件即可;
在获得3D虚拟影像后,需通过投影变换矩阵,对3D虚拟影像进行坐标变换和渲染,将3D虚拟影像与真实的场景图像叠加,实现虚实合成;最后通过移动终端显示屏将虚实合成的图像信息呈现给用户;当用户利用移动终端看平面广告时,可实时调整其摄像头角度,从而实现立体查看平面广告的目的;
利用移动终端摄像头获取平面广告的图像信息的步骤还包括:
接收用户输入的用户名和密码,并进行验证,在验证通过后保存用户的登陆状态;密码采用SHA-1算法来加密存储,保证了密码的安全性和用户的隐私;保存用户的登陆状态,用户只需第一次登陆成功,以后就能够直接登陆,不需要多次输入用户名和密码;
所述移动终端还用于:
通过移动终端当前位置信息获取移动终端所在位置区域内的与该标识物相对应的3D虚拟影像;
服务器端使用Geohash算法来实现范围的快速搜索功能;
服务器端的LBS服务模块收到用户的位置信息和二维码信息后,通过搜索范围算法查询到虚拟影像ID:先将用户位置的经纬度装为Geohash值,然后进行字符串前缀匹配并结合二维码查询虚拟影像文件库,从而得到用户当前位置区域下虚拟影像ID所对应的唯一的虚拟影像;
二维码提取的步骤包括:
D11、设定二维码解码类型,并设定回调函数;此处是设定回调函数resultPointCallback();
D12、初始化第三方开源库zxing参数;zxing已封装了对二维码图像的解码工作,提供了简单易用的API接口;
D13、循环解析移动终端获取的图像信息的二进制流;
D14、将二进制流传入zxing接口判断是否是二维码;上述过程中不断地把从摄像头得到的图像信息的二进制流传入zxing接口进行试解析;
D15、当是二维码时,对所述二维码进行解码;
所述系统还用于:
统计所有平面广告的访问次数、访问时间及访问位置,获得每一时间段及每一位置区域下各平面广告的访问量,并根据访问量对广告投放方式进行调整。
2.一种如权利要求1所述的利用移动终端实现3D虚拟广告的系统的实现方法,其特征在于,包括步骤:
A、预先在服务器端设置用于存储3D虚拟影像的虚拟影像文件库;
B、在平面广告上设置用于标识3D虚拟影像以及空间位置的标识物;所述标识物为二维码;
C、当需要观看平面广告的3D虚拟影像时,利用移动终端摄像头获取平面广告的图像信息;
D、对该图像信息进行解析获取平面广告的标识物,并根据标识物从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物的空间位置来显示3D虚拟影像;
所述步骤D还包括:
通过GPS定位与基站定位相结合的方式获取移动终端当前的位置信息,所述GPS定位与基站定位相结合的方式为:优先采用GPS定位,在GPS定位不成功时,采用基站定位;
获取移动终端当前的位置信息的流程如下:
S401、判断定位功能是否开启;首先通过LocationManager的isProviderEnabled()函数判断移动终端是否开启了GPS定位和基站定位功能,如果没有开启,则提示用户开启相应的定位功能;
S402、注册回调函数;通过LocationManager将LocationLisener注册到Android系统的位置服务链表中,当位置有变更时,就会执行回调函数onLocationChanged(),从而得到当前位置坐标,代码如下:
其中,requestLocationUpdates()函数中,第1个参数是位置服务的类型,分GPS和Network两种定位类型;第2个和第3个参数分别指两次位置查询之间的最小时间间隔和最小距离间隔;第4个参数是回调的对象locationListener,下个步骤将创建此对象;
S403、回调函数,创建LocationListener对象,其函数onLocationChanged()在被回调时,可以得到当前移动终端的经度、维度、方向和高度信息,代码如下:
通过上述步骤,就能得到用户信息、标识物信息(包括标识物值)和当前的位置信息,然后通过移动终端的网络收发模块将这些数据打包发往服务器端,服务器端的网络收发模块在收到传来的数据包后,经过解包将数据还原,做进一步处理;
所述步骤A还包括:
预先在虚拟影像文件库中存储3D虚拟影像,在不同位置区域内所述3D虚拟影像与标识物一一对应;
所述步骤D具体包括:
D1、对该图像信息进行解析,从该图像信息中提取出相应的标识物并解码;
D2、从所述标识物中提取出标识物中所包含的资料存储区,并对该资料存储区进行解析获得用于标识3D虚拟影像的标识物值;从所述标识物中提取出用于标识空间位置的坐标区域,通过该坐标区域计算出标识物和摄像头之间的相对位置;对于二维码,其三个角上设置有正方形图案,通过这三个正方形图案可得到矩形区域,通过解析二维码的中间区域的资料存储区获得标识物值,该标识物值为数字ID,代表需要加载的3D虚拟影像;
当函数decodeWithState()将返回二维码的空间坐标位置,计算出标示 物和摄像头的相对位置坐标,代码如下:
D3、根据该标识物值从虚拟影像文件库中获取相应的3D虚拟影像,并根据标识物和摄像头之间的相对位置,加载3D虚拟影像;
在获得了标识物值后,将3D虚拟影像制作好,需要时直接加载这些绘制好的文件即可;
在获得3D虚拟影像后,需通过投影变换矩阵,对3D虚拟影像进行坐标变换和渲染,将3D虚拟影像与真实的场景图像叠加,实现虚实合成;最后通过移动终端显示屏将虚实合成的图像信息呈现给用户;当用户利用移动终端看平面广告时,可实时调整其摄像头角度,从而实现立体查看平面广告的目的;
所述步骤C还包括:
接收用户输入的用户名和密码,并进行验证,在验证通过后保存用户的登陆状态;密码采用SHA-1算法来加密存储,保证了密码的安全性和用户的隐私;保存用户的登陆状态,用户只需第一次登陆成功,以后就能够直接登陆,不需要多次输入用户名和密码;
所述步骤D具体包括:
通过移动终端当前位置信息获取移动终端所在位置区域内的与该标识物相对应的3D虚拟影像;
服务器端使用Geohash算法来实现范围的快速搜索功能;
服务器端的LBS服务模块收到用户的位置信息和二维码信息后,通过搜索范围算法查询到虚拟影像ID:先将用户位置的经纬度装为Geohash值,然后进行字符串前缀匹配并结合二维码查询虚拟影像文件库,从而得到用户当前位置区域下虚拟影像ID所对应的唯一的虚拟影像;
所述步骤D1二维码提取的步骤包括:
D11、设定二维码解码类型,并设定回调函数;此处是设定回调函数resultPointCallback();
D12、初始化第三方开源库zxing参数;zxing已封装了对二维码图像的解码工作,提供了简单易用的API接口;
D13、循环解析移动终端获取的图像信息的二进制流;
D14、将二进制流传入zxing接口判断是否是二维码;上述过程中不断地把从摄像头得到的图像信息的二进制流传入zxing接口进行试解析;
D15、当是二维码时,对所述二维码进行解码;
所述方法还包括:
步骤E、统计所有平面广告的访问次数、访问时间及访问位置,获得每一时间段及每一位置区域下各平面广告的访问量,并根据访问量对广告投放方式进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310502626.8A CN103561065B (zh) | 2013-10-22 | 2013-10-22 | 一种利用移动终端实现3d虚拟广告的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310502626.8A CN103561065B (zh) | 2013-10-22 | 2013-10-22 | 一种利用移动终端实现3d虚拟广告的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103561065A CN103561065A (zh) | 2014-02-05 |
CN103561065B true CN103561065B (zh) | 2017-05-24 |
Family
ID=50015215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310502626.8A Expired - Fee Related CN103561065B (zh) | 2013-10-22 | 2013-10-22 | 一种利用移动终端实现3d虚拟广告的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103561065B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103824210A (zh) * | 2014-02-13 | 2014-05-28 | 夷希数码科技(上海)有限公司 | 一种平面杂志立体展示方法及其系统 |
CN105335439A (zh) * | 2014-08-12 | 2016-02-17 | 上海基美文化传媒股份有限公司 | 广告牌照片识别互动方法 |
CN104516950A (zh) * | 2014-12-10 | 2015-04-15 | 百度在线网络技术(北京)有限公司 | 一种兴趣点的查询方法及装置 |
CN105993012B (zh) * | 2014-12-31 | 2019-12-06 | 华为技术有限公司 | 一种网络资源处理方法、装置以及终端 |
US10356493B2 (en) * | 2015-12-22 | 2019-07-16 | Google Llc | Methods, systems, and media for presenting interactive elements within video content |
CN105912555B (zh) * | 2016-02-04 | 2019-03-05 | 北京通感科技有限公司 | 一种数据信息与实景空间的交互再现方法 |
CN106228400A (zh) * | 2016-07-20 | 2016-12-14 | 大辅科技(北京)有限公司 | 一种应用增强现实技术的广告推送方法和系统 |
CN106817568A (zh) * | 2016-12-05 | 2017-06-09 | 网易(杭州)网络有限公司 | 一种增强现实显示方法和装置 |
CN107067474A (zh) * | 2017-03-07 | 2017-08-18 | 深圳市吉美文化科技有限公司 | 一种增强现实处理方法及装置 |
CN106980371B (zh) * | 2017-03-24 | 2019-11-05 | 电子科技大学 | 一种基于临近异构分布式结构的移动增强现实交互方法 |
CN107093107A (zh) * | 2017-04-18 | 2017-08-25 | 杭州乐见科技有限公司 | 一种处理虚拟广告的方法和移动终端 |
CN107864225A (zh) * | 2017-12-21 | 2018-03-30 | 北京小米移动软件有限公司 | 基于ar的信息推送方法、装置及电子设备 |
CN108269307B (zh) * | 2018-01-15 | 2023-04-07 | 歌尔科技有限公司 | 一种增强现实交互方法及设备 |
CN108805903B (zh) * | 2018-05-24 | 2021-07-27 | 讯飞幻境(北京)科技有限公司 | 一种基于ar引擎的多标记点识别方法和装置 |
CN109191586A (zh) * | 2018-08-23 | 2019-01-11 | 昆明理工大学 | 一种基于感知的增强现实交互方法 |
TWI701642B (zh) * | 2019-04-25 | 2020-08-11 | 國立臺北大學 | 虛擬廣告置換方法及電子裝置 |
CN110689379B (zh) * | 2019-09-30 | 2023-08-04 | 咪咕视讯科技有限公司 | 广告效果的监测方法、设备及计算机可读存储介质 |
CN110992859B (zh) * | 2019-11-22 | 2022-03-29 | 北京新势界科技有限公司 | 一种基于ar导视的广告牌展示方法及装置 |
CN111093033B (zh) * | 2019-12-31 | 2021-08-06 | 维沃移动通信有限公司 | 一种信息处理方法及设备 |
CN111275134A (zh) * | 2020-02-26 | 2020-06-12 | 上海明略人工智能(集团)有限公司 | 图像匹配方法及装置、存储介质和电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436283A (zh) * | 2007-11-15 | 2009-05-20 | 上海携昌电子科技有限公司 | 三维虚拟实景楼宇广告及管理系统 |
CN102592233A (zh) * | 2011-12-20 | 2012-07-18 | 姚武杰 | 一种导游、导览、导购的方法和平台 |
CN102902710A (zh) * | 2012-08-08 | 2013-01-30 | 成都理想境界科技有限公司 | 基于条形码的增强现实方法、系统及移动终端 |
CN103049728A (zh) * | 2012-12-30 | 2013-04-17 | 成都理想境界科技有限公司 | 基于二维码的增强现实方法、系统及终端 |
CN103164518A (zh) * | 2013-03-06 | 2013-06-19 | 杭州九树网络科技有限公司 | 移动终端增强现实应用系统及方法 |
-
2013
- 2013-10-22 CN CN201310502626.8A patent/CN103561065B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436283A (zh) * | 2007-11-15 | 2009-05-20 | 上海携昌电子科技有限公司 | 三维虚拟实景楼宇广告及管理系统 |
CN102592233A (zh) * | 2011-12-20 | 2012-07-18 | 姚武杰 | 一种导游、导览、导购的方法和平台 |
CN102902710A (zh) * | 2012-08-08 | 2013-01-30 | 成都理想境界科技有限公司 | 基于条形码的增强现实方法、系统及移动终端 |
CN103049728A (zh) * | 2012-12-30 | 2013-04-17 | 成都理想境界科技有限公司 | 基于二维码的增强现实方法、系统及终端 |
CN103164518A (zh) * | 2013-03-06 | 2013-06-19 | 杭州九树网络科技有限公司 | 移动终端增强现实应用系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103561065A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103561065B (zh) | 一种利用移动终端实现3d虚拟广告的系统及其方法 | |
CN101346000B (zh) | 基于gps和移动终端的提供本地移动地理信息服务的系统 | |
Zlatanova | Augmented reality technology | |
CN110008293B (zh) | 地理位置查询方法及装置 | |
CN103870485B (zh) | 实现增强现实应用的方法及设备 | |
CN103003847A (zh) | 用于渲染基于位置的用户界面的方法和装置 | |
CN110019600B (zh) | 一种地图处理方法、装置及存储介质 | |
US8745090B2 (en) | System and method for exploring 3D scenes by pointing at a reference object | |
CN103857989A (zh) | 用于在活动用户接口元素中呈现搜索结果的方法和装置 | |
CN105323252A (zh) | 基于增强现实技术实现互动的方法、系统和终端 | |
CN105719343A (zh) | 一种构建虚拟街景地图的方法 | |
US20150187139A1 (en) | Apparatus and method of providing augmented reality | |
US8996551B2 (en) | Managing geographic region information | |
EP3996378A1 (en) | Method and system for supporting sharing of experiences between users, and non-transitory computer-readable recording medium | |
CN102800065A (zh) | 基于二维码识别跟踪的增强现实设备及方法 | |
CN103593450A (zh) | 建立街景空间数据库的系统和方法 | |
US11722847B2 (en) | Method and apparatus for augmented reality service in wireless communication system | |
CN105117399A (zh) | 一种图像搜索方法和装置 | |
CN104426933A (zh) | 一种筛选增强现实内容的方法、装置及系统 | |
CN101720475A (zh) | 用于对象的识别的方法和系统 | |
US8918087B1 (en) | Methods and systems for accessing crowd sourced landscape images | |
CN107170038A (zh) | 一种生成室内地图的方法及装置 | |
CN114419267A (zh) | 一种三维模型构建方法、装置和存储介质 | |
CN108388636B (zh) | 基于自适应分段最小外接矩形的街景影像检索方法及装置 | |
CN106888433B (zh) | 一种基于泰森多边形的相同服务请求位置隐私保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170524 Termination date: 20201022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |