CN109857568B - 数据封装及处理方法、装置及电子设备 - Google Patents
数据封装及处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109857568B CN109857568B CN201711240292.6A CN201711240292A CN109857568B CN 109857568 B CN109857568 B CN 109857568B CN 201711240292 A CN201711240292 A CN 201711240292A CN 109857568 B CN109857568 B CN 109857568B
- Authority
- CN
- China
- Prior art keywords
- interface
- algorithm
- service
- image
- channel
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种数据封装及处理方法、装置及电子设备,其中,所述数据封装方法包括:设置用于与网页进行增强现实AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道;将所述AR业务接口、所述AR算法、所述AR算法接口、所述图像处理接口和所述通道,封装成AR业务可调用文件。通过本发明实施例,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据封装及处理方法、装置及电子设备。
背景技术
AR(Augmented Reality,增强现实技术)是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,其把原本在现实世界的一定时间空间范围内很难体验到的信息(如,视觉信息、声音信息等),模拟仿真后叠加到真实的信息中,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
随着移动通信技术的发展和智能终端处理能力的提高,应用于智能终端的增强现实技术开始得到重视。但是现有技术中需要依赖安装内嵌AR算法的App(Application,应用程序)的方式实现增强现实技术,若App不具有AR算法则无法实现AR功能。由此,造成AR实现复杂,且实现成本高,不利于AR的普及和发展。
发明内容
有鉴于此,本发明实施例提供一种数据封装及处理方法、装置及电子设备,以解决现有AR实现复杂,实现成本高的问题。
根据本发明实施例的第一方面,提供了一种数据封装方法,包括:设置用于与网页进行增强现实AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道;将所述AR业务接口、所述AR算法、所述AR算法接口、所述图像处理接口和所述通道,封装成AR业务可调用文件。
根据本发明实施例的第二方面,提供了一种数据处理方法,包括:通过网页接收增强现实AR业务请求;根据所述AR业务请求调用AR业务可调用文件,并接收所述AR业务可调用文件对所述AR业务请求的处理结果;根据所述处理结果进行AR业务展示;其中,所述AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道进行封装生成。
根据本发明实施例的第三方面,提供了一种数据封装装置,包括:第一设置模块,用于设置用于与网页进行增强现实AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;第二设置模块,用于设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道;封装模块,用于将所述AR业务接口、所述AR算法、所述AR算法接口、所述图像处理接口和所述通道,封装成AR业务可调用文件。
根据本发明实施例的第四方面,提供了一种数据处理装置,包括:接收模块,用于通过网页接收增强现实AR业务请求;调用模块,用于根据所述AR业务请求调用AR业务可调用文件,并接收所述AR业务可调用文件对所述AR业务请求的处理结果;展示模块,用于根据所述处理结果进行AR业务展示;其中,所述AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道进行封装生成。
根据本发明实施例的第五方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的数据封装方法对应的操作。
根据本发明实施例的第六方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第二方面所述的数据处理方法对应的操作。
根据本发明实施例的方案,将与网页交互实现AR业务的AR业务接口、AR算法及AR算法接口、图像处理接口,以及AR业务接口、AR算法接口和图像处理接口之间的通信通道,一起封装生成AR业务可调用文件。该AR业务可调用文件可实现WebAR功能,对于任一具有Web功能组件的AR业务端如某一App,通过加载调用该AR业务可调用文件,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节,也即,即使App不具有AR算法,也可以方便地实现AR功能。可见,通过本发明实施例的方案,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例一的一种数据封装方法的步骤流程图;
图2为根据本发明实施例二的一种数据封装方法的步骤流程图;
图3为根据本发明实施例的一种AR业务可调用文件的结构示意图;
图4为根据本发明实施例三的一种数据处理方法的步骤流程图;
图5为根据本发明实施例四的一种数据处理方法的步骤流程图;
图6为根据本发明实施例五的一种数据封装装置的结构框图;
图7为根据本发明实施例六的一种数据处理装置的结构框图;
图8为根据本发明实施例七的一种电子设备的结构示意图;
图9为根据本发明实施例八的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1,示出了根据本发明实施例一的一种数据封装方法的步骤流程图。
本实施例的数据封装方法包括以下步骤:
步骤S102:设置用于与网页进行AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口。
AR业务设置于前端(如通过前端HTML5页面中的JavaScript(JS)代码实现),实现的功能包括但不限于摄像头数据渲染或者其它图像数据渲染、AR特效绘制等功能。AR业务自身不具有AR算法能力,需要获取AR算法返回的结果,基于该结果最终实现AR业务。AR业务接口是用于与网页进行AR业务交互的接口,该接口通常采用脚本语言实现,如,JavaScript语言、ASP语言、PHP语言等。可选地,AR业务接口可实现为JS API的形式,AR业务接口通过与AR算法接口交互,传递AR业务参数,获取AR算法的算法结果;AR业务接口通过与图像处理接口交互,对图像采集设备进行控制,获取图像数据等。其中,AR业务接口的具体设置可以由本领域技术人员根据实际情况适当设置,如,可以设置统一的AR业务接口,也可以针对不同的AR业务或者针对不同的交互对象设置不同的AR业务接口。
AR算法是用于实现AR功能的底层算法,如,检测图像中的人脸并返回人脸关键点的信息,检测图像中设定的目标对象并返回目标对象的位置信息,检测图像中设定的目标对象是否具有某一属性如是否佩戴眼镜的信息,等等。算法注册是将算法的相关信息(如,算法标识(名称或ID等)、类名等)告知算法调用方的一种方式,算法注册可以采用函数注册或函数声明的方式实现。AR算法可以通过AR算法接口与算法外部交互,如,接收外部对AR算法的调用,向外部返回算法处理结果等等。AR算法可以采用编译语言(如C语言或C++语言)或解释语言(如Java语言或C#语言)实现。相比较于脚本语言如JS语言实现AR算法,编译语言或解释语言更为高效快速,可以有效满足AR业务对于时效的需求。
图像处理接口是与AR业务中涉及的图像处理相关的接口,通过图像处理接口可以访问其对应的算法或图像处理逻辑,以实现对AR业务中涉及的图像的处理,该处理包括但不限于:图像的采集、转换、交互等等。
需要说明的是,各个接口的具体实现方式可以由本领域技术人员根据实际需求采用任意适当的方式实现,本发明实施例对此不作限制。
步骤S104:设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道。
各个接口之间可以通过通信通道进行数据的传输、交互、处理等。其中,通信通道可以表现为相互之间的参数传递和/或接口调用等形式。
步骤S106:将AR业务接口、AR算法、AR算法接口、图像处理接口和建立的所述通道,封装成AR业务可调用文件。
通过AR业务可调用文件,自身不具有AR算法的AR业务端如App能加加载调用该AR业务可调用文件即可实现AR功能。
其中,AR业务可调用文件可以采用任意适当的文件形式,包括但不限于库文件的形式,如.so库文件,或者组件的形式,如aar组件或者COM组件等。通过可调用文件的方式,相关App或浏览器可直接加载调用AR业务可调用文件进行AR业务处理,无需自身实现AR算法,无需了解AR算法实现细节,从而使得AR功能实现更具灵活性和兼容性。
需要说明的是,在实际应用中,不限于上述AR算法和接口及所述通道,本领域技术人员还可以根据实际需求,将其它适当接口或通道或功能组件或功能模块封装入AR业务可调用文件。
通过本实施例,将与网页交互实现AR业务的AR业务接口、AR算法及AR算法接口、图像处理接口,以及AR业务接口、AR算法接口和图像处理接口之间的通信通道,一起封装生成AR业务可调用文件。该AR业务可调用文件可实现WebAR功能,对于任一具有Web功能组件的AR业务端如某一App,通过加载调用该AR业务可调用文件,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节,也即,即使App不具有AR算法,也可以方便地实现AR功能。可见,通过本发明实施例的方案,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
本实施例的数据封装方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例二
参照图2,示出了根据本发明实施例二的一种数据封装方法的步骤流程图。
本实施例的数据封装方法包括以下步骤:
步骤S202:设置用于与网页进行AR业务交互的AR业务接口。
本发明实施例设置了与网页进行AR业务交互的AR业务接口,以实现前端网页所需的各种AR功能。例如,AR业务接口可以接收前端HTML5页面发送的AR业务请求,一方面,可以将该AR业务请求中的业务参数交给相匹配的AR算法的算法接口;另一方面,可以根据该业务请求调用相应的图像设备接口或者图像获取接口以获得图像,等等。在一种可行方式中,AR业务接口可以通过脚本语言如JavaScript语言实现。
此外,还可以设置用于查询AR算法的算法信息的查询接口,该查询接口也与前端网页进行交互,通过该查询接口,前端网页可以获知AR业务可调用文件中封装的各种AR算法的算法信息,以为后续选择确定与AR业务相对应的AR算法提供参考。该查询接口也可以通过脚本语言如JavaScript语言实现。
步骤S204:设置AR算法及对应的AR算法接口。
AR算法可以包括一个或多个(两个及两个以上),AR算法通过AR算法接口与外部交互,在一种可行方案中,可以设定AR算法对外使用统一的接口,多个AR算法通过相同的接口类,以简化接口设置,提升算法兼容性。AR算法可以实现为常规的代码序列,也可以实现为底层算法组件,或者实现为其它形式等。
步骤S206:设置图像处理接口。
本实施例中,设置的图像处理接口包括:用于控制图像采集设备的图像设备接口;和/或,用于获取图像数据的图像获取接口。
其中,图像设备接口用于控制图像采集设备,如,控制摄像头的打开、拍摄、关闭、数据传输等等。通过图像设备接口,可以实时采集图像,以实现实时图像的AR处理。在具体实现时,图像设备接口可以通过图像设备控制算法控制图像采集设备,该图像设备控制算法可以是封装入AR业务可调用文件中的算法,也可以是AR业务可调用文件外但可被调用的算法。
图像获取接口用于获取图像数据,如,静态图像(如本地存储或网络下载的图像),或者,录制完成的视频中的视频帧图像。通过图像获取接口,可以实现非实时图像的AR处理。在具体实现时,图像获取接口可以通过图像获取算法获取图像数据,该图像获取算法可以是封装入AR业务可调用文件中的算法,也可以是AR业务可调用文件外但可被调用的算法。
图像设备接口和图像获取接口都接受AR业务接口的调用,根据该调用采集图像或获取图像,一方面将采集到的或者获取到的图像发送给AR算法接口由AR算法进行处理,另一方面会回传给AR业务接口,以供AR业务接口交由前端HTML5页面进行渲染绘制。
需要说明的是,为了描述方便,本实施例按照步骤S202-步骤S204的顺序对相应接口的设置进行说明,但本领域技术人员应当明了,在实际应用中,上述步骤的执行可以不分先后顺序,也可以并行执行。
步骤S208:设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道。
包括:设置AR业务接口和图像处理接口之间进行通信的通道、设置AR业务接口和AR算法接口之间进行通信的通道、设置AR算法接口和图像处理接口之间进行通信的通道。
如前所述,本实施例的图像处理接口包括图像设备接口和/或图像获取接口。基于此,在设置AR业务接口和图像处理接口之间进行通信的通道时,可以设置AR业务接口通过图像设备接口控制图像采集设备进行图像采集处理的通道;和/或,设置AR业务接口通过图像获取接口控制图像获取接口进行图像获取的通道。
可选地,设置AR业务接口通过图像设备接口控制图像采集设备进行图像采集处理的通道包括:设置AR业务接口通过图像设备接口启动图像采集设备进行图像采集和停止图像采集设备的通道。例如,当用户通过网页触发AR业务发送AR业务请求后,相应的AR业务接口会根据该AR业务请求启动摄像头拍摄图像,而接收到AR业务停止指令后,会停止摄像头。但不限于此,还可以设置AR业务接口通过图像设备接口对图像采集设备进行参数设置和/或选择图像采集设备的通道。例如,对图像采集设备的分辨率、打开前/后摄像头、图像的分辨率格式、图像帧率等参数进行设置;当图像采集设备包括多个(两个及两个以上)时,选择使用哪个图像采集设备,等等。
可见,通过上述过程,实现了AR业务接口与图像处理接口之间有效的信息交互和数据传递,且能通过AR业务接口对图像处理接口对应的图像采集设备或图像获取功能模块进行有效的管理和控制。
在设置AR业务接口和AR算法接口之间进行通信的通道时,一方面,AR业务接口会访问AR算法接口,需要设置所述AR业务接口访问所述AR算法接口的通道。其中,AR业务接口访问AR算法接口的通道至少包括:AR业务接口加载AR算法并访问加载的AR算法的算法接口的通道、AR业务接口通过AR算法接口初始化AR算法的通道、AR业务接口通过AR算法接口向AR算法发送待处理数据的通道、AR业务接口停止通过AR算法接口向AR算法发送待处理数据的通道。通过这些通道,在接收到AR业务请求后,可以根据AR业务请求加载并调用相应的AR算法进行信息交互和数据处理。
但不限于此,AR业务接口访问AR算法接口的通道还可以包括:AR业务接口创建用于处理从AR算法接口接收的AR算法的算法结果的通道;和/或,AR业务接口通过AR算法接口管理AR算法的通道。AR算法对相应的数据进行处理后会返回算法结果,如何对该算法结果进行进一步处理,以及,通过何种方式获取该算法结果都可以由AR业务接口创建相应的通道进行处理;对已存在的AR算法的管理,包括但不限于AR算法的开始、停止、替换等,也可以由AR业务接口通过相应的通道实现。
在一种可行方式中,用于处理从AR算法接口接收的AR算法的算法结果的通道包括:监测是否通过AR算法接口接收到AR算法的算法结果,以及,在确定接收到AR算法的算法结果后,将AR算法的算法结果发送给网页的事件。此种方式中,AR算法的算法结果通过事件的方式交给前端页面进行处理,提高了AR业务的处理速度;而且,AR算法结果直接交给前端页面,无需AR业务接口转交页面,简化了AR业务可调用文件的接口设计,降低了AR业务可调用文件的实现成本。此种方式在处理包含有较多信息的AR算法的算法结果时尤为有效,如,算法结果包含目标对象的关键点信息或位置信息等等,但包含简单信息的AR算法的算法结果也同样适用。
在另一种可行方式中,还可以设置通过AR算法接口将AR算法的算法结果发送给AR业务接口,由AR业务接口发送给网页的通道。这种方式在处理包含简单信息的AR算法的算法结果时尤为有效,如,算法结果指示图像中是否存在某种目标对象,或者,目标对象是否具有某种属性,返回的结果为“是”或者为“否”,但包含有较多信息的AR算法的算法结果也同样适用。通过这种方式,由AR业务接口将AR算法的算法结果转交给网页,前端网页与后端AR算法的交互均通过AR业务接口实现,可以使AR业务可调用文件的接口设计更为规范,通用性和兼容性更高。
可见,通过上述过程,实现了AR业务接口与AR算法接口之间有效的信息交互和数据传递,有效地实现了前端页面与后端算法之间的交互。
而针对图像处理接口,一方面其需要与AR业务接口交互,另一方面也需要与AR算法接口交互。也即,在获取到图像后,该图像即需要发送给AR算法进行相应处理,如检测关键点等,也需要发送给AR业务接口,以交由前端页面进行显示。因此,一方面,可以设置从图像处理接口获取图像数据并进行格式转换后,将转换后的图像数据发送给AR算法接口的通道;另一方面,可以设置从图像处理接口获取图像数据并进行格式转换后,通过AR业务接口发送给前端网页的通道。通过格式转换,可以将采集到的图像数据转换为适合AR算法处理或者适合前端页面渲染的图像数据,以提高AR算法处理或前端页面渲染速度。但需要说明的是,在某些情况下,采集的图像数据可能无需进行格式转换处理,也可以交给AR算法或者前端页面进行转换处理。
此外,可选地,还可以为图像处理接口采集的图像数据设置指定的存储空间,后续该存储空间的信息也将封装入AR业务可调用文件。与常规的AR处理中,图像数据的存储空间由系统分配,因而图像数据会占用较大空间相比,对图像数据设置指定的存储空间,一方面提高了图像的读写效率,另一方面AR处理中使用的图像数据将仅占用指定的存储空间,该存储空间远小于常规的系统分配的存储空间,因而大大节省了AR处理过程中的存储空间占用。进一步可选地,可以采用双缓存方式,一个缓存用于当前图像,另一缓存用于当前图像的后一图像。但不限于此,也可以设置比双缓存更多一些缓存的方式,如,双缓存至8缓存中的任意一种等,当然也可以更多。
步骤S210:将AR业务接口、AR算法、AR算法接口、图像处理接口、查询接口和建立的通信通道,封装成AR业务可调用文件。
AR业务可调用文件可以采用任意适当的文件形式,包括但不限于库文件的形式,如.so库文件,或者组件的形式,如AAR组件或者COM组件等。。但本领域技术人员应当明了,其它可调用文件形式也同样适用。
当为图像处理接口采集的图像数据设置了指定的存储空间时,将该存储空间的信息一并封装入AR业务可调用文件。可选地,如前所述,还可以将图像设备控制算法和/或图像获取算法也封装入AR业务可调用文件。
在具体实现时,与前端页面的交互可以通过脚本语言实现,如,将AR业务接口实现为脚本语言接口(如JS接口),而将AR业务可调用文件中的算法实现为编译语言算法或解释语言算法,如AR算法等。
需要说明的是,除了将上述接口和通道进行封装生成AR业务可调用文件外,在一种可行方式中,还可以基于网页视图组件设置上述接口和通道,并将网页视图组件与上述接口和通道一起进行封装,生成AR业务可调用文件。
网页视图组件是实现浏览器功能的组件,如WEBVIEW,其可以实现为一种基于浏览器内核的网页渲染引擎,通过加载HTML数据的方式即可展现相应的界面和网页。当使用WEBVIEW时,可以基于WEBVIEW组件实现上述接口和通道,将上述接口、通道和WEBVIEW组件一起封装生成AR业务可调用文件。
WEBVIEW是一个基于WEBKIT引擎、展现WEB页面的控件。WEBVIEW除了具有一般VIEW的属性和设置外,还可以对URL请求、页面加载、渲染、页面交互进行处理。通过WEBVIEW,可以显示和渲染WEB页面,直接使用HTML文件(网络上或本地assets中)作布局,可以和JavaScript交互调用,等等。浏览器App可以通过WEBVIEW实现浏览器的功能,而非浏览器App则可以通过WEBVIEW将浏览器功能嵌入自身应用中。
WEBVIEW还提供了扩展其自身功能的方法,例如,通过WEBVIEW提供的addJavascriptInterface()方法,以向WEBVIEW设置扩展的JS(JavaScript)接口,并将这些扩展的JS接口的调用方法转发到接口所注册的native函数中,从而实现上述接口。
基于上述过程实现的一种AR业务可调用文件的实例如图3所示,图3中的AR业务可调用文件封装了查询接口、AR业务接口(图3中仅示出一个AR业务接口,在实际应用中可能包括多个)、多个AR算法、AR算法接口(在实际应用中也可以实现为与多个AR算法对应的多个AR算法接口)、图像设备控制算法和图像设备接口。对于Android系统,封装成.so库文件或aar组件;对于iOS系统,可以封装成Framework。
本实例中,设定宿主App通过加载.so库文件或aar组件实现AR功能。其中,宿主App可以是浏览器App,也可以是内嵌有浏览器组件的其它非浏览器类App。
宿主App中,前端HTML5页面设置有AR业务1、AR业务2和AR业务3,AR业务与AR业务接口(JS接口)进行交互。其中,AR业务接口通过AR环境管理类ARSession实现。ARSession是一个通过管理设备摄像头与运动处理从而提供AR功能的共享对象,其协调AR众多的处理过程,其中包括从设备运动传感器中获取数据,控制内建camera,camera获取图像的处理分析。ARSession通过综合所有的结果来建立现实空间和虚拟坐标系空间之间的联系,从而实现AR效果。
本实例中,前端HTML5页面通过经由ARSession实现的AR业务接口初始化AR环境,打开摄像头和选择AR业务需要的Detector接口。HTML5页面通过AR业务接口获得摄像头拍摄的图像数据后,将图像数据的原始格式转换成适合绘制的格式,通过WebGL进行渲染。而Detector接口可以调用AR算法的对应能力,AR业务可调用文件负责将通过AR业务接口接收的调用消息以及摄像头拍摄的图像数据传递到AR算法,再将AR算法的处理结果返回给HTML5页面。
本实例中,每个AR算法采用独立的组件形式,所有AR算法均实现统一的接口类IDetector接口,IDetector接口中包含统一的流程接口、检测接口和回调接口,如,start()接口、pause()接口、stop()接口、resume()接口、init()接口、track()接口、onResult()接口等,这些接口在前端均有相对应的JS(JavaScript)映射接口即Detector接口,因此前端HTML5页面看起来就像直接调用了AR算法。
前端HTML5页面在初始化时可以通过查询接口(JS接口)查询当前可用的AR算法,并且选择激活所需要的AR算法。在实现AR业务时,通过AR业务接口的选择创建AR算法实例,但交互过程依靠IDetector完成。
摄像头拍摄的图像数据向当前被激活的AR算法实例输送,等待AR算法完成检测并将其返回的结果交由HTML5页面进行处理。
本实施中,对图像采集设备的控制和管理可以由相应的图像设备控制算法实现,本实施例中该图像设备控制算法实现为组件的形式,如摄像头管理组件,其通过相应的图像设备接口采集并传递摄像头数据。对于Android系统,可以通过系统接口android.hardware.Camera()或android.hardware.Camera2()采集摄像头数据;对于iOS系统,可以通过系统接口UIImagePickerController()采集摄像头数据。采集到的摄像头数据,通过图像设备接口(JS接口),传递到前端HTML5页面。HTML5页面通过调用AR业务接口,实时获取摄像头当前拍摄的图像数据。同时,使用WebGL技术在着色器将输入的YUV颜色编码的流媒体数据转换为RGB格式,并绘制到Canvas画布上,以此实现摄像头画面的渲染。
在具体实现时,当前端HTML5页面发起一个AR业务时,AR业务通过ARSession实现的AR业务接口和图像设备接口控制摄像头管理组件启动摄像头,并从AR算法中选择实现AR业务的AR算法,获得该AR算法的算法信息,如,IDetector接口的信息;图像设备接口一方面将摄像头采集的图像数据通过AR业务接口回传给前端HTML5页面;另一方面将摄像头采集的图像数据传递给确定的IDetector接口,交由IDetector接口对应的AR算法进行处理后,将处理结果发送给前端HTML5页面,由前端HTML5页面基于回传的图像数据和AR算法处理结果进行进一步处理,如,渲染绘制,或基于处理结果进行虚拟对象叠加等。
通过本实施例,将与网页交互实现AR业务的AR业务接口、AR算法及AR算法接口、图像处理接口,以及AR业务接口、AR算法接口和图像处理接口之间的通信通道,一起封装生成AR业务可调用文件。该AR业务可调用文件可实现WebAR功能,对于任一具有Web功能组件的AR业务端如某一App,通过加载调用该AR业务可调用文件,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节,也即,即使App不具有AR算法,也可以方便地实现AR功能。可见,通过本发明实施例的方案,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
本实施例的数据封装方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例三
参照图4,示出了根据本发明实施例三的一种数据处理方法的步骤流程图。
本实施例从安装AR业务可调用文件的宿主的角度为例进行说明,其中,AR业务可调用文件采用实施例一或二中所述的AR业务可调用文件实现AR业务的数据处理,与AR业务可调用文件相关的内容均可参考前述实施例。
本实施例的数据处理方法包括以下步骤:
步骤S302:通过网页接收AR业务请求。
其中,AR业务请求中携带有AR业务参数,如AR业务的业务类型、AR业务的操作参数,等等。该AR业务请求可以由前端HTML5页面发起,调用AR业务可调用文件进行处理。
步骤S304:根据AR业务请求调用AR业务可调用文件,并接收AR业务可调用文件对AR业务请求的处理结果。
其中,如实施例一或二中所述,AR业务可调用文件至少将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道进行封装生成。
当用户通过网页如HTML5页面触发AR业务,AR业务可调用文件所在宿主App或浏览器会生成相应的AR业务请求,调用AR业务可调用文件对该AR业务请求进行处理,将AR业务请求中的AR业务参数发送给AR业务可调用文件中的AR业务接口。
AR业务可调用文件被调起后,会根据AR业务参数选择适当的AR算法,并且控制图像采集设备如摄像头采集图像,将AR业务参数和图像数据发送给AR算法接口,通过AR算法接口调用AR算法根据AR业务参数对图像数据进行处理,并通过AR业务接口返回处理结果。或者,AR业务可调用文件被调起后,会控制图像获取接口中相应的图像获取算法获取图像,并根据AR业务参数选择适当的AR算法,将AR业务参数和图像数据发送给AR算法接口,通过AR算法接口调用AR算法根据AR业务参数对图像数据进行处理,并通过AR业务接口返回处理结果。
步骤S306:根据处理结果进行AR业务展示。
前端HTML5页面接收到处理结果后,会基于该处理结果进行相应的AR业务处理和展示,如,对当前图像中的人脸进行贴图等。
通过本实施例,使用封装有AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道的AR业务可调用文件,实现前端的AR业务。宿主App无需具有AR算法,也无需了解AR算法的实现细节,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
本实施例的数据处理方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例四
参照图5,示出了根据本发明实施例四的一种数据处理方法的步骤流程图。
本实施例从安装AR业务可调用文件的宿主的角度为例进行说明,其中,AR业务可调用文件采用实施例一或二中所述的AR业务可调用文件实现AR业务的数据处理,与AR业务可调用文件相关的内容均可参考前述实施例。
本实施例的数据处理方法包括以下步骤:
步骤S402:接收AR算法查询请求,通过AR业务可调用文件的查询接口查询AR业务可调用文件中的AR算法的算法信息。
本发明实施例中,设定AR业务可调用文件中除封装有AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道之外,还封装有查询接口、图像设备控制算法和/或图像获取算法。AR业务接口为脚本语言接口,AR算法为编译语言算法或解释语言算法。
AR业务可调用文件的宿主在初始化时,或者,在该宿主内嵌的浏览器组件初始化时,可以通过AR算法查询请求,获取AR业务可调用文件中设置的AR算法的算法信息,以便后续调用。
例如,当前端HTML5页面通过AR业务可调用文件中封装的查询接口进行AR算法查询,发送了AR算法查询请求时,AR业务可调用文件可接收并根据该AR算法查询请求,将AR算法的算法信息返回给前端HTML5页面,后续HTML5页面可以根据实际的AR业务需求通过AR业务接口和AR算法接口调用AR算法。
步骤S404:通过网页接收AR业务请求。
其中,AR业务请求中携带有AR业务参数,如,AR业务类型,AR操作参数等等。
例如,用户通过前端页面中的某一设置(如某一按键)触发执行AR业务,响应于该触发操作,前端页面生成AR业务请求。
步骤S406:根据AR业务请求调用AR业务可调用文件,并接收AR业务可调用文件对AR业务请求的处理结果。
如前所述,本实施例中,AR业务可调用文件采用实施例一或实施例二中的AR业务可调用文件。
AR业务可调用文件的宿主App或浏览器根据AR业务请求调用AR业务可调用文件。
在一种可行方式中,可以根据AR业务请求,通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据,以及,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口;接收AR算法接口返回的AR算法的算法结果,其中,算法结果由AR算法根据所述业务参数对所述图像数据进行处理后生成。
其中,基于步骤S402获取的AR算法的算法信息,在根据AR业务请求,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口时,可以根据AR业务请求,确定匹配的AR算法,并确定匹配的AR算法的算法接口;通过AR业务接口将AR业务请求中的业务参数发送给确定的AR算法的算法接口。
本实施例中,图像处理接口包括:用于控制图像采集设备的图像设备接口,和/或,用于获取图像数据的图像获取接口。在通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据时,可以通过AR业务可调用文件的AR业务接口访问图像设备接口,以通过图像设备接口调用图像采集设备进行图像采集;和/或,通过AR业务可调用文件的AR业务接口访问图像获取接口,以通过图像获取接口获取静态图像或视频帧图像。AR算法的处理对象是图像数据。基于此,在通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口之后,通过AR业务可调用文件将图像采集设备采集的或者图像获取接口获取的图像发送给AR算法接口。
本实施例中,在具体进行图像获取时,因AR业务可调用文件中封装有相应的图像设备控制算法和/或图像获取算法,因此,在通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据时,可以通过AR业务可调用文件的AR业务接口访问图像设备接口,以通过图像设备接口调用图像设备控制算法控制图像采集设备进行图像采集;和/或,通过AR业务可调用文件的AR业务接口访问图像获取接口,以通过图像获取接口调用图像获取算法以获取静态图像或视频帧图像。
可选地,接收AR业务可调用文件对AR业务请求的处理结果,包括:接收AR业务可调用文件通过AR业务接口返回的图像数据,和AR算法根据所述业务参数对所述图像数据进行处理后通过AR算法接口返回的处理结果。如,图像中目标对象的关键点信息、位置信息、某一属性信息等等。
步骤S408:根据所述处理结果对通过AR业务接口返回的图像数据进行AR处理,根据AR处理结果进行AR业务展示。
如,在接收到AR业务可调用文件通过AR业务接口返回的人脸图像中的人脸关键点位置数据后,对图像中的人脸进行贴图处理,等等。
通过本实施例,使用封装有AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道的AR业务可调用文件,实现前端的AR业务。宿主App无需具有AR算法,也无需了解AR算法的实现细节,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
本实施例的数据处理方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例五
参照图6,示出了根据本发明实施例五的一种数据封装装置的结构框图。
本实施例的数据封装装置包括:第一设置模块502,用于设置用于与网页进行AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;第二设置模块504,用于设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道;封装模块506,用于将AR业务接口、AR算法、AR算法接口、图像处理接口和所述通道,封装成AR业务可调用文件。
可选地,图像处理接口包括:用于控制图像采集设备的图像设备接口;和/或,用于获取图像数据的图像获取接口。
可选地,第二设置模块504包括:第一图像设置子模块5042,用于设置AR业务接口通过图像设备接口控制图像采集设备进行图像采集处理的通道;和/或,第二图像设置子模块5044,用于设置AR业务接口通过图像获取接口控制图像获取接口进行图像获取的通道。
可选地,第一图像设置子模块5042用于设置AR业务接口通过图像设备接口启动图像采集设备进行图像采集和停止图像采集设备的通道。
可选地,第一图像设置子模块5042还用于设置AR业务接口通过图像设备接口对图像采集设备进行参数设置和/或选择图像采集设备的通道。
可选地,第二设置模块504包括:第一通道设置子模块5046,用于设置AR业务接口访问AR算法接口的通道;其中,AR业务接口访问AR算法接口的通道包括:AR业务接口加载AR算法并访问加载的AR算法的算法接口的通道、AR业务接口通过AR算法接口初始化AR算法的通道、AR业务接口通过AR算法接口向AR算法发送待处理数据的通道、AR业务接口停止通过AR算法接口向AR算法发送待处理数据的通道。
可选地,AR业务接口访问AR算法接口的通道还包括:AR业务接口创建用于处理从AR算法接口接收的AR算法的算法结果的通道;和/或,AR业务接口通过AR算法接口管理AR算法的通道。
可选地,用于处理从AR算法接口接收的AR算法的算法结果的通道包括:监测是否通过AR算法接口接收到AR算法的算法结果,以及,在确定接收到AR算法的算法结果后,将AR算法的算法结果发送给网页的事件。
可选地,第二设置模块504包括:第二通道设置子模块5048,用于设置从图像处理接口获取图像数据并进行格式转换后,通过AR业务接口发送给网页的通道。
可选地,第二设置模块504包括:第三通道设置子模块5041,用于设置从图像处理接口获取图像数据并进行格式转换后,将转换后的图像数据发送给AR算法接口的通道。
可选地,第二设置模块504包括:第四通道设置子模块5043,用于设置通过AR算法接口将AR算法的算法结果发送给AR业务接口,由AR业务接口发送给网页的通道。
可选地,本实施例的数据封装装置还包括:第三设置模块508,用于设置用于查询AR算法的算法信息的查询接口,并将查询接口封装入AR业务可调用文件。
可选地,AR业务接口为脚本语言接口;AR算法为编译语言算法或解释语言算法。
可选地,本实施例的数据封装装置还包括:第四设置模块510,用于为图像处理接口采集的图像数据设置指定的存储空间,将所述存储空间的信息封装入AR业务可调用文件。
本实施例的数据封装装置用于实现前述多个方法实施例中相应的数据封装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例六
参照图7,示出了根据本发明实施例六的一种数据处理装置的结构框图。
本实施例的数据处理装置包括:接收模块602,用于通过网页接收AR业务请求;调用模块604,用于根据AR业务请求调用AR业务可调用文件,并接收AR业务可调用文件对AR业务请求的处理结果;展示模块606,用于根据所述处理结果进行AR业务展示;其中,AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道进行封装生成。
可选地,调用模块604包括:访问子模块6042,用于根据AR业务请求,通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据,以及,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口;接收子模块6044,用于接收AR算法接口返回的AR算法的算法结果,其中,所述算法结果由AR算法根据业务参数对图像数据进行处理后生成。
可选地,AR业务可调用文件中还封装有用于查询AR算法的算法信息的查询接口;本实施例的数据处理装置还包括:查询模块608,用于在接收模块602通过网页接收AR业务请求之前,接收AR算法查询请求,通过所述查询接口查询AR业务可调用文件中的AR算法的算法信息;访问子模块6042在根据AR业务请求,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口时,根据AR业务请求,确定匹配的AR算法,并确定匹配的AR算法的算法接口;通过AR业务接口将AR业务请求中的业务参数发送给确定的AR算法的算法接口。
可选地,图像处理接口包括:用于控制图像采集设备的图像设备接口,和/或,用于获取图像数据的图像获取接口;访问子模块6042在通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据时,通过AR业务可调用文件的AR业务接口访问图像设备接口,以通过图像设备接口调用图像采集设备进行图像采集;和/或,通过AR业务可调用文件的AR业务接口访问图像获取接口,以通过图像获取接口获取静态图像或视频帧图像;访问子模块6042还用于通过AR业务可调用文件将图像采集设备采集的或者图像获取接口获取的图像发送给AR算法接口。
可选地,调用模块602用于根据AR业务请求调用AR业务可调用文件,接收AR业务可调用文件通过AR业务接口返回的图像数据,和AR算法根据所述业务参数对所述图像数据进行处理后通过AR算法接口返回的处理结果;展示模块606用于根据所述处理结果对返回的所述图像数据进行AR处理,根据所述AR处理结果进行AR业务展示。
可选地,AR业务接口为脚本语言接口;AR算法为编译语言算法或解释语言算法。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
参照图8,示出了根据本发明实施例七的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图8所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它终端设备或服务器进行通信。
处理器702,用于执行程序710,具体可以执行上述数据封装方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:设置用于与网页进行AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道;将AR业务接口、AR算法、AR算法接口、图像处理接口和所述通道,封装成AR业务可调用文件。。
在一种可选的实施方式中,图像处理接口包括:用于控制图像采集设备的图像设备接口;和/或,用于获取图像数据的图像获取接口。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道时,设置AR业务接口通过图像设备接口控制图像采集设备进行图像采集处理的通道;和/或,设置AR业务接口通过图像获取接口控制图像获取接口进行图像获取的通道。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口通过图像设备接口控制图像采集设备进行图像采集处理的通道时,设置AR业务接口通过图像设备接口启动图像采集设备进行图像采集和停止图像采集设备的通道。
在一种可选的实施方式中,程序710还用于使得处理器702设置AR业务接口通过图像设备接口对图像采集设备进行参数设置和/或选择图像采集设备的通道。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道时,设置AR业务接口访问AR算法接口的通道;其中,AR业务接口访问AR算法接口的通道包括:AR业务接口加载AR算法并访问加载的AR算法的算法接口的通道、AR业务接口通过AR算法接口初始化AR算法的通道、AR业务接口通过AR算法接口向AR算法发送待处理数据的通道、AR业务接口停止通过AR算法接口向AR算法发送待处理数据的通道。
在一种可选的实施方式中,AR业务接口访问AR算法接口的通道还包括:AR业务接口创建用于处理从AR算法接口接收的AR算法的算法结果的通道;和/或,AR业务接口通过AR算法接口管理AR算法的通道。
在一种可选的实施方式中,用于处理从AR算法接口接收的AR算法的算法结果的通道包括:监测是否通过AR算法接口接收到AR算法的算法结果,以及,在确定接收到AR算法的算法结果后,将AR算法的算法结果发送给网页的事件。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道时,设置从图像处理接口获取图像数据并进行格式转换后,通过AR业务接口发送给网页的通道。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道时,设置从图像处理接口获取图像数据并进行格式转换后,将转换后的图像数据发送给AR算法接口的通道。
在一种可选的实施方式中,程序710还用于使得处理器702在设置AR业务接口、AR算法接口和图像处理接口之间进行通信的通道时,设置通过AR算法接口将AR算法的算法结果发送给AR业务接口,由AR业务接口发送给网页的通道。
在一种可选的实施方式中,程序710还用于使得处理器702设置用于查询AR算法的算法信息的查询接口,并将查询接口封装入AR业务可调用文件。
在一种可选的实施方式中,AR业务接口为脚本语言接口;AR算法为编译语言算法或解释语言算法。
在一种可选的实施方式中,程序710还用于使得处理器702为图像处理接口采集的图像数据设置指定的存储空间,将所述存储空间的信息封装入AR业务可调用文件。
程序710中各步骤的具体实现可以参见上述数据封装方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,将与网页交互实现AR业务的AR业务接口、AR算法及AR算法接口、图像处理接口,以及AR业务接口、AR算法接口和图像处理接口之间的通信通道,一起封装生成AR业务可调用文件。该AR业务可调用文件可实现WebAR功能,对于任一具有Web功能组件的AR业务端如某一App,通过加载调用该AR业务可调用文件,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节,也即,即使App不具有AR算法,也可以方便地实现AR功能。可见,通过本发明实施例的方案,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
实施例八
参照图9,示出了根据本发明实施例八的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图9所示,该电子设备可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:
处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。
通信接口804,用于与其它终端设备或服务器进行通信。
处理器802,用于执行程序810,具体可以执行上述数据处理方法实施例中的相关步骤。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序810具体可以用于使得处理器802执行以下操作:通过网页接收AR业务请求;根据AR业务请求调用AR业务可调用文件,并接收AR业务可调用文件对AR业务请求的处理结果;根据所述处理结果进行AR业务展示;其中,AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道进行封装生成。
在一种可选的实施方式中,程序810还用于使得处理器802在根据AR业务请求调用AR业务可调用文件,并接收AR业务可调用文件对AR业务请求的处理结果时,根据AR业务请求,通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据,以及,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口;接收AR算法接口返回的AR算法的算法结果,其中,所述算法结果由AR算法根据业务参数对图像数据进行处理后生成。
在一种可选的实施方式中,AR业务可调用文件中还封装有用于查询AR算法的算法信息的查询接口;程序810还用于使得处理器802在通过网页接收AR业务请求之前,接收AR算法查询请求,通过查询接口查询AR业务可调用文件中的AR算法的算法信息;程序810还用于使得处理器802在根据AR业务请求,通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口时,根据AR业务请求,确定匹配的AR算法,并确定匹配的AR算法的算法接口;通过AR业务接口将AR业务请求中的业务参数发送给确定的AR算法的算法接口。
在一种可选的实施方式中,图像处理接口包括:用于控制图像采集设备的图像设备接口,和/或,用于获取图像数据的图像获取接口;程序810还用于使得处理器802在通过AR业务可调用文件的AR业务接口访问图像处理接口以获取图像数据时,通过AR业务可调用文件的AR业务接口访问图像设备接口,以通过图像设备接口调用图像采集设备进行图像采集;和/或,通过AR业务可调用文件的AR业务接口访问图像获取接口,以通过图像获取接口获取静态图像或视频帧图像;程序810还用于使得处理器802在通过AR业务接口将AR业务请求中的业务参数发送给AR算法接口之后,通过AR业务可调用文件将图像采集设备采集的或者图像获取接口获取的图像发送给AR算法接口。
在一种可选的实施方式中,程序810还用于使得处理器802在接收AR业务可调用文件对AR业务请求的处理结果时,接收AR业务可调用文件通过AR业务接口返回的图像数据,和AR算法根据业务参数对图像数据进行处理后通过AR算法接口返回的处理结果;程序810还用于使得处理器802在根据所述处理结果进行AR业务展示时,根据所述处理结果对返回的所述图像数据进行AR处理,根据所述AR处理结果进行AR业务展示。
在一种可选的实施方式中,AR业务接口为脚本语言接口;AR算法为编译语言算法或解释语言算法。
程序810中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,使用封装有AR业务接口、AR算法、AR算法接口、图像处理接口,以及,AR业务接口、AR算法接口和图像处理接口之间进行通信的通道的AR业务可调用文件,实现前端的AR业务。宿主App无需具有AR算法,也无需了解AR算法的实现细节,大大降低了AR实现的复杂度,并且,降低了AR实现的成本。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (42)
1.一种数据封装方法,包括:
设置用于与网页进行增强现实AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;
设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道;
将所述AR业务接口、所述AR算法、所述AR算法接口、所述图像处理接口和所述通道,封装成AR业务可调用文件。
2.根据权利要求1所述的方法,其中,
所述图像处理接口包括:用于控制图像采集设备的图像设备接口;和/或,用于获取图像数据的图像获取接口。
3.根据权利要求2所述的方法,其中,设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道,包括:
设置所述AR业务接口通过所述图像设备接口控制所述图像采集设备进行图像采集处理的通道;
和/或,
设置所述AR业务接口通过所述图像获取接口控制所述图像获取接口进行图像获取的通道。
4.根据权利要求3所述的方法,其中,所述设置所述AR业务接口通过所述图像设备接口控制所述图像采集设备进行图像采集处理的通道,包括:
设置所述AR业务接口通过所述图像设备接口启动所述图像采集设备进行图像采集和停止所述图像采集设备的通道。
5.根据权利要求4所述的方法,其中,所述方法还包括:
设置所述AR业务接口通过所述图像设备接口对所述图像采集设备进行参数设置和/或选择所述图像采集设备的通道。
6.根据权利要求1或2所述的方法,其中,设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道,包括:
设置所述AR业务接口访问所述AR算法接口的通道;
其中,所述AR业务接口访问所述AR算法接口的通道包括:所述AR业务接口加载AR算法并访问加载的AR算法的算法接口的通道、所述AR业务接口通过AR算法接口初始化AR算法的通道、所述AR业务接口通过AR算法接口向AR算法发送待处理数据的通道、所述AR业务接口停止通过AR算法接口向AR算法发送待处理数据的通道。
7.根据权利要求6所述的方法,其中,所述AR业务接口访问所述AR算法接口的通道还包括:
所述AR业务接口创建用于处理从AR算法接口接收的AR算法的算法结果的通道;
和/或,
所述AR业务接口通过AR算法接口管理AR算法的通道。
8.根据权利要求7所述的方法,其中,所述用于处理从AR算法接口接收的AR算法的算法结果的通道包括:监测是否通过所述AR算法接口接收到AR算法的算法结果,以及,在确定接收到AR算法的算法结果后,将AR算法的算法结果发送给所述网页的事件。
9.根据权利要求1或2所述的方法,其中,设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道,包括:
设置从所述图像处理接口获取图像数据并进行格式转换后,通过所述AR业务接口发送给所述网页的通道。
10.根据权利要求1或2所述的方法,其中,设置所述AR业务接口、所述AR算法接口述图像处理接口之间进行通信的通道,包括:
设置从所述图像处理接口获取图像数据并进行格式转换后,将转换后的图像数据发送给所述AR算法接口的通道。
11.根据权利要求1或2所述的方法,其中,设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道,包括:
设置通过所述AR算法接口将AR算法的算法结果发送给所述AR业务接口,由所述AR业务接口发送给所述网页的通道。
12.根据权利要求1或2所述的方法,其中,所述方法还包括:
设置用于查询AR算法的算法信息的查询接口,并将所述查询接口封装入所述AR业务可调用文件。
13.根据权利要求1或2所述的方法,其中,所述AR业务接口为脚本语言接口;所述AR算法为编译语言算法或解释语言算法。
14.根据权利要求1或2所述的方法,其中,所述方法还包括:
为所述图像处理接口采集的图像数据设置指定的存储空间,将所述存储空间的信息封装入所述AR业务可调用文件。
15.一种数据处理方法,包括:
通过网页接收增强现实AR业务请求;
根据所述AR业务请求调用AR业务可调用文件,并接收所述AR业务可调用文件对所述AR业务请求的处理结果;
根据所述处理结果进行AR业务展示;
其中,所述AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道进行封装生成。
16.根据权利要求15所述的方法,其中,所述根据所述AR业务请求调用AR业务可调用文件,并接收所述AR业务可调用文件对所述AR业务请求的处理结果,包括:
根据所述AR业务请求,通过所述AR业务可调用文件的AR业务接口访问所述图像处理接口以获取图像数据,以及,通过所述AR业务接口将所述AR业务请求中的业务参数发送给所述AR算法接口;
接收所述AR算法接口返回的AR算法的算法结果,其中,所述算法结果由所述AR算法根据所述业务参数对所述图像数据进行处理后生成。
17.根据权利要求16所述的方法,其中,所述AR业务可调用文件中还封装有用于查询AR算法的算法信息的查询接口;
在通过网页接收增强现实AR业务请求之前,所述方法还包括:接收AR算法查询请求,通过所述查询接口查询所述AR业务可调用文件中的AR算法的算法信息;
所述根据所述AR业务请求,通过所述AR业务接口将所述AR业务请求中的业务参数发送给所述AR算法接口,包括:根据所述AR业务请求,确定匹配的AR算法,并确定匹配的所述AR算法的算法接口;通过所述AR业务接口将所述AR业务请求中的业务参数发送给确定的所述AR算法的算法接口。
18.根据权利要求16所述的方法,其中,所述图像处理接口包括:用于控制图像采集设备的图像设备接口,和/或,用于获取图像数据的图像获取接口;
所述通过所述AR业务可调用文件的AR业务接口访问所述图像处理接口以获取图像数据,包括:通过所述AR业务可调用文件的AR业务接口访问所述图像设备接口,以通过所述图像设备接口调用图像采集设备进行图像采集;和/或,通过所述AR业务可调用文件的AR业务接口访问所述图像获取接口,以通过所述图像获取接口获取静态图像或视频帧图像;
在所述通过所述AR业务接口将所述AR业务请求中的业务参数发送给所述AR算法接口之后,所述方法还包括:通过所述AR业务可调用文件将图像采集设备采集的或者图像获取接口获取的图像发送给所述AR算法接口。
19.根据权利要求16所述的方法,其中,
所述接收所述AR业务可调用文件对所述AR业务请求的处理结果,包括:接收所述AR业务可调用文件通过AR业务接口返回的图像数据,和AR算法根据所述业务参数对所述图像数据进行处理后通过AR算法接口返回的处理结果;
所述根据所述处理结果进行AR业务展示,包括:根据所述处理结果对返回的所述图像数据进行AR处理,根据所述AR处理结果进行AR业务展示。
20.根据权利要求15-19任一项所述的方法,其中,所述AR业务接口为脚本语言接口;所述AR算法为编译语言算法或解释语言算法。
21.一种数据封装装置,包括:
第一设置模块,用于设置用于与网页进行增强现实AR业务交互的AR业务接口、AR算法及AR算法接口,以及图像处理接口;
第二设置模块,用于设置所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道;
封装模块,用于将所述AR业务接口、所述AR算法、所述AR算法接口、所述图像处理接口和所述通道,封装成AR业务可调用文件。
22.根据权利要求21所述的装置,其中,
所述图像处理接口包括:用于控制图像采集设备的图像设备接口;和/或,用于获取图像数据的图像获取接口。
23.根据权利要求22所述的装置,其中,所述第二设置模块包括:
第一图像设置子模块,用于设置所述AR业务接口通过所述图像设备接口控制所述图像采集设备进行图像采集处理的通道;
和/或,
第二图像设置子模块,用于设置所述AR业务接口通过所述图像获取接口控制所述图像获取接口进行图像获取的通道。
24.根据权利要求23所述的装置,其中,所述第一图像设置子模块,用于设置所述AR业务接口通过所述图像设备接口启动所述图像采集设备进行图像采集和停止所述图像采集设备的通道。
25.根据权利要求24所述的装置,其中,所述第一图像设置子模块,还用于设置所述AR业务接口通过所述图像设备接口对所述图像采集设备进行参数设置和/或选择所述图像采集设备的通道。
26.根据权利要求21或22所述的装置,其中,所述第二设置模块包括:
第一通道设置子模块,用于设置所述AR业务接口访问所述AR算法接口的通道;其中,所述AR业务接口访问所述AR算法接口的通道包括:所述AR业务接口加载AR算法并访问加载的AR算法的算法接口的通道、所述AR业务接口通过AR算法接口初始化AR算法的通道、所述AR业务接口通过AR算法接口向AR算法发送待处理数据的通道、所述AR业务接口停止通过AR算法接口向AR算法发送待处理数据的通道。
27.根据权利要求26所述的装置,其中,所述AR业务接口访问所述AR算法接口的通道还包括:所述AR业务接口创建用于处理从AR算法接口接收的AR算法的算法结果的通道;和/或,所述AR业务接口通过AR算法接口管理AR算法的通道。
28.根据权利要求27所述的装置,其中,所述用于处理从AR算法接口接收的AR算法的算法结果的通道包括:监测是否通过所述AR算法接口接收到AR算法的算法结果,以及,在确定接收到AR算法的算法结果后,将AR算法的算法结果发送给所述网页的事件。
29.根据权利要求21或22所述的装置,其中,所述第二设置模块包括:
第二通道设置子模块,用于设置从所述图像处理接口获取图像数据并进行格式转换后,通过所述AR业务接口发送给所述网页的通道。
30.根据权利要求21或22所述的装置,其中,所述第二设置模块包括:
第三通道设置子模块,用于设置从所述图像处理接口获取图像数据并进行格式转换后,将转换后的图像数据发送给所述AR算法接口的通道。
31.根据权利要求21或22所述的装置,其中,所述第二设置模块包括:
第四通道设置子模块,用于设置通过所述AR算法接口将AR算法的算法结果发送给所述AR业务接口,由所述AR业务接口发送给所述网页的通道。
32.根据权利要求21或22所述的装置,其中,所述装置还包括:
第三设置模块,用于设置用于查询AR算法的算法信息的查询接口,并将所述查询接口封装入所述AR业务可调用文件。
33.根据权利要求21或22所述的装置,其中,所述AR业务接口为脚本语言接口;所述AR算法为编译语言算法或解释语言算法。
34.根据权利要求21或22所述的装置,其中,所述装置还包括:
第四设置模块,用于为所述图像处理接口采集的图像数据设置指定的存储空间,将所述存储空间的信息封装入所述AR业务可调用文件。
35.一种数据处理装置,包括:
接收模块,用于通过网页接收增强现实AR业务请求;
调用模块,用于根据所述AR业务请求调用AR业务可调用文件,并接收所述AR业务可调用文件对所述AR业务请求的处理结果;
展示模块,用于根据所述处理结果进行AR业务展示;
其中,所述AR业务可调用文件通过将AR业务接口、AR算法、AR算法接口、图像处理接口,以及,所述AR业务接口、所述AR算法接口和所述图像处理接口之间进行通信的通道进行封装生成。
36.根据权利要求35所述的装置,其中,所述调用模块包括:
访问子模块,用于根据所述AR业务请求,通过所述AR业务可调用文件的AR业务接口访问所述图像处理接口以获取图像数据,以及,通过所述AR业务接口将所述AR业务请求中的业务参数发送给所述AR算法接口;
接收子模块,用于接收所述AR算法接口返回的AR算法的算法结果,其中,所述算法结果由所述AR算法根据所述业务参数对所述图像数据进行处理后生成。
37.根据权利要求36所述的装置,其中,所述AR业务可调用文件中还封装有用于查询AR算法的算法信息的查询接口;
所述装置还包括:查询模块,用于在所述接收模块通过网页接收增强现实AR业务请求之前,接收AR算法查询请求,通过所述查询接口查询所述AR业务可调用文件中的AR算法的算法信息;
所述访问子模块在根据所述AR业务请求,通过所述AR业务接口将所述AR业务请求中的业务参数发送给所述AR算法接口时,根据所述AR业务请求,确定匹配的AR算法,并确定匹配的所述AR算法的算法接口;通过所述AR业务接口将所述AR业务请求中的业务参数发送给确定的所述AR算法的算法接口。
38.根据权利要求36所述的装置,其中,所述图像处理接口包括:用于控制图像采集设备的图像设备接口,和/或,用于获取图像数据的图像获取接口;
所述访问子模块在通过所述AR业务可调用文件的AR业务接口访问所述图像处理接口以获取图像数据时,通过所述AR业务可调用文件的AR业务接口访问所述图像设备接口,以通过所述图像设备接口调用图像采集设备进行图像采集;和/或,通过所述AR业务可调用文件的AR业务接口访问所述图像获取接口,以通过所述图像获取接口获取静态图像或视频帧图像;
所述访问子模块,还用于通过所述AR业务可调用文件将图像采集设备采集的或者图像获取接口获取的图像发送给所述AR算法接口。
39.根据权利要求36所述的装置,其中,
所述调用模块,用于根据所述AR业务请求调用AR业务可调用文件,接收所述AR业务可调用文件通过AR业务接口返回的图像数据,和AR算法根据所述业务参数对所述图像数据进行处理后通过AR算法接口返回的处理结果;
所述展示模块,用于根据所述处理结果对返回的所述图像数据进行AR处理,根据所述AR处理结果进行AR业务展示。
40.根据权利要求35-39任一项所述的装置,其中,所述AR业务接口为脚本语言接口;所述AR算法为编译语言算法或解释语言算法。
41.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-14任一项所述的数据封装方法对应的操作。
42.一种电子设备,包括:处理器、存储器、通信接口和和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求15-20任一项所述的数据处理方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711240292.6A CN109857568B (zh) | 2017-11-30 | 2017-11-30 | 数据封装及处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711240292.6A CN109857568B (zh) | 2017-11-30 | 2017-11-30 | 数据封装及处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857568A CN109857568A (zh) | 2019-06-07 |
CN109857568B true CN109857568B (zh) | 2023-07-25 |
Family
ID=66888460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711240292.6A Active CN109857568B (zh) | 2017-11-30 | 2017-11-30 | 数据封装及处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857568B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117420985B (zh) * | 2023-11-02 | 2024-03-29 | 湖南双鸿科技有限公司 | 一种使用JavaScript封装安卓服务功能的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105684075A (zh) * | 2013-10-01 | 2016-06-15 | 米斯创新有限公司 | 增强现实界面及其使用方法 |
CN105814565A (zh) * | 2013-12-15 | 2016-07-27 | 微软技术许可有限责任公司 | 在无线设备上的网页呈现 |
CN106200974A (zh) * | 2016-07-18 | 2016-12-07 | 上海卫高网络科技有限公司 | 一种基于移动设备浏览器的虚拟现实的实现方法 |
CN106231205A (zh) * | 2016-08-10 | 2016-12-14 | 苏州黑盒子智能科技有限公司 | 增强现实移动终端 |
CN106951233A (zh) * | 2017-03-02 | 2017-07-14 | 广州天高软件科技有限公司 | 混合模式智能手机应用开发框架 |
CN107085868A (zh) * | 2017-04-27 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 图像绘制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160335289A1 (en) * | 2015-05-12 | 2016-11-17 | Randy Alan Andrews | Registration of virtual object association rights for augmented reality environment |
US9805511B2 (en) * | 2015-10-21 | 2017-10-31 | International Business Machines Corporation | Interacting with data fields on a page using augmented reality |
-
2017
- 2017-11-30 CN CN201711240292.6A patent/CN109857568B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105684075A (zh) * | 2013-10-01 | 2016-06-15 | 米斯创新有限公司 | 增强现实界面及其使用方法 |
CN105814565A (zh) * | 2013-12-15 | 2016-07-27 | 微软技术许可有限责任公司 | 在无线设备上的网页呈现 |
CN106200974A (zh) * | 2016-07-18 | 2016-12-07 | 上海卫高网络科技有限公司 | 一种基于移动设备浏览器的虚拟现实的实现方法 |
CN106231205A (zh) * | 2016-08-10 | 2016-12-14 | 苏州黑盒子智能科技有限公司 | 增强现实移动终端 |
CN106951233A (zh) * | 2017-03-02 | 2017-07-14 | 广州天高软件科技有限公司 | 混合模式智能手机应用开发框架 |
CN107085868A (zh) * | 2017-04-27 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 图像绘制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109857568A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861754B (zh) | 数据封装、处理方法、装置及电子设备 | |
CN108563517B (zh) | 系统接口的调用方法及装置 | |
CN109144396B (zh) | 一种触摸信息处理方法、装置、设备和存储介质 | |
CN112770188B (zh) | 一种视频播放方法及装置 | |
EP2854348B1 (en) | Interface display method and system of home gateway applicable to multiple display types | |
CN110795097B (zh) | 一种页面处理方法、装置、计算机设备以及存储介质 | |
US11366564B2 (en) | Electronic device and method for multi-view browsing in an augmented reality environment | |
EP4210053A1 (en) | Application program control method and apparatus, electronic device, and storage medium | |
CN113032080B (zh) | 页面实现方法、应用程序、电子设备及存储介质 | |
CN110213265B (zh) | 图像获取方法、装置、服务器及存储介质 | |
US20140201619A1 (en) | Method And Device For Implementing Local Operation On Web Page | |
CN110874217A (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN104516885A (zh) | 浏览程序双内核组件的实现方法及装置 | |
CN113542757A (zh) | 云应用的图像传输方法、装置、服务器及存储介质 | |
CN108364324B (zh) | 图像数据处理方法、装置及电子终端 | |
CN113891167A (zh) | 投屏方法和电子设备 | |
CN109857568B (zh) | 数据封装及处理方法、装置及电子设备 | |
CN109445760B (zh) | 图像渲染方法和系统 | |
CN108363742B (zh) | 图像数据处理方法、装置及电子终端 | |
CN115237481A (zh) | 驱动外接设备的方法、装置、设备及存储介质 | |
CN108376090A (zh) | 网页图片的操作方法、装置、终端及存储介质 | |
CN113242398A (zh) | 一种三维标注的音视频通话方法和系统 | |
CN103916671A (zh) | Osd动态叠加方法及装置 | |
CN116661790B (zh) | 跨平台渲染方法、装置以及电子设备 | |
CN113821745A (zh) | 图片处理方法、云服务方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200528 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio square 14 storey tower Applicant before: Guangzhou Dongjing Computer Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |