CN107861754A - 数据封装、处理方法、装置及电子设备 - Google Patents

数据封装、处理方法、装置及电子设备 Download PDF

Info

Publication number
CN107861754A
CN107861754A CN201711241821.4A CN201711241821A CN107861754A CN 107861754 A CN107861754 A CN 107861754A CN 201711241821 A CN201711241821 A CN 201711241821A CN 107861754 A CN107861754 A CN 107861754A
Authority
CN
China
Prior art keywords
business
interface
algorithms
algorithm
interfaces
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.)
Granted
Application number
CN201711241821.4A
Other languages
English (en)
Other versions
CN107861754B (zh
Inventor
汤锦鹏
陈晓升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Dongjing Computer Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Dongjing Computer Technology Co Ltd filed Critical Guangzhou Dongjing Computer Technology Co Ltd
Priority to CN201711241821.4A priority Critical patent/CN107861754B/zh
Publication of CN107861754A publication Critical patent/CN107861754A/zh
Priority to PCT/CN2018/104184 priority patent/WO2019105093A1/zh
Application granted granted Critical
Publication of CN107861754B publication Critical patent/CN107861754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种数据封装及处理方法、装置及电子设备,其中,所述数据封装方法包括:基于网页视图组件,设置用于注册增强现实AR算法的算法注册接口和用于与网页进行AR交互的AR业务接口;设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道;根据所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件。通过本发明实施例,大大降低了AR分发和部署成本。

Description

数据封装、处理方法、装置及电子设备
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据封装及处理方法、装置及电子设备。
背景技术
AR(Augmented Reality,增强现实技术)是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,其把原本在现实世界的一定时间空间范围内很难体验到的信息(如,视觉信息、声音信息等),模拟仿真后叠加到真实的信息中,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
随着移动通信技术的发展和智能终端处理能力的提高,应用于智能终端的增强现实技术开始得到重视。但是现有技术中需要依赖安装内嵌AR算法的App(Application,应用程序)的方式实现增强现实技术,采用这种方式时,上线新的AR业务需要进行App版本升级,替换或者新增AR算法也需要进行App版本升级,并且,即使同一个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算法的算法注册接口和用于与网页进行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业务时,仅需对前端如HTML页面进行小幅度的改动即可使用新AR业务;AR业务可调用文件所在的宿主App本身也可以不具有AR算法,通过它方注册的AR算法即可实现宿主App本身的AR业务;当替换或者新增不属于宿主App本身的AR算法时,无需改动宿主App本身;并且,可以轻松地实现同一个AR业务在不同的App上同时运行。可见,通过本发明实施例的方案,大大降低了AR的分发和部署成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例一的一种数据封装方法的步骤流程图;
图2为根据本发明实施例二的一种数据封装方法的步骤流程图;
图3为根据本发明实施例的一种AR业务可调用文件的结构示意图;
图4为根据本发明实施例的一种AR数据交互的示意图;
图5为根据本发明实施例三的一种数据处理方法的步骤流程图;
图6为根据本发明实施例四的一种数据处理方法的步骤流程图;
图7为根据本发明实施例五的一种数据封装装置的结构框图;
图8为根据本发明实施例六的一种数据处理装置的结构框图;
图9为根据本发明实施例七的一种电子设备的结构示意图;
图10为根据本发明实施例八的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1,示出了根据本发明实施例一的一种数据封装方法的步骤流程图。
本实施例的数据封装方法包括以下步骤:
步骤S102:基于网页视图组件,设置用于注册AR算法的算法注册接口和用于与网页进行AR交互的AR业务接口。
AR算法是用于实现AR功能的底层算法,如,检测图像中的人脸并返回人脸关键点的信息,检测图像中设定的目标对象并返回目标对象的位置信息,检测图像中的目标对象是否具有某一属性,等等。AR算法可采用适当的语言实现,可选地,可采用解释语言如Java语言或C#语言实现,或者,可采用编译语言如C语言或C++语言实现。相比较于脚本语言如JS语言实现AR算法,编译语言或解释语言更为高效快速,可以有效满足AR业务对于时效的需求。但不限于此,在实际使用中,脚本语言也同样适用于本发明实施例的AR算法。
算法注册是将算法的相关信息(如,算法标识(名称或I D等)、类名等)告知算法调用方的一种方式,算法注册可以采用函数注册或函数声明的方式实现。
采用注册的方式,AR算法可实现算法内部的灵活修改而无需调用方了解修改的具体细节;当出现了新的AR算法时,通过注册方式告知算法调用方相关算法信息即可实现新的AR算法的调用;当需要删除已注册的AR算法时,不再注册或调用即可。AR算法可以通过AR算法接口返回相应的信息,如通过AR业务接口向HTML5页面返回相应的信息,以供HTML5页面基于该信息进行进一步的AR处理。
本发明实施例中,通过设置算法注册接口接收AR算法的注册,AR算法通过该算法注册接口将算法信息告知算法调用方。其中,算法注册接口的具体实现方式可以由本领域技术人员根据实际需求适当设置,本发明实施例对此不作限制。
AR业务设置于前端(如通过前端HTML5页面中的JavaScript(JS)代码实现),实现的功能包括但不限于摄像头数据渲染或者其它图像数据渲染、AR特效绘制等功能。AR业务自身不具有AR算法能力,需要通过AR业务接口获取AR算法返回的结果,基于该结果最终实现AR业务。AR业务接口是用于与网页进行AR交互的接口,可通过脚本语言实现,可选地,可实现为JSAPI的形式,AR业务接口通过网页视图组件与AR算法接口交互,传递AR业务参数。
网页视图组件是实现浏览器功能的组件,如WEBVIEW,其可以实现为一种基于浏览器内核的网页渲染引擎,通过加载HTML数据的方式即可展现相应的界面和网页。
本实施例中,基于网页视图组件,设置算法注册接口和AR业务接口,也即,后端AR算法和前端如HTML5网页通过与网页视图组件中设置的上述对应接口即可实现算法注册和前端AR数据交互。
步骤S104:设置基于网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道。
在具体使用AR业务时,前端网页会将AR业务请求的业务参数通过AR业务接口交由网页视图组件,网页视图组件除根据业务参数调用内部的相应功能模块实现相应的功能外,还会为AR业务接口和AR算法接口建立通信通道,以进行AR数据和网页数据的传输、交互、处理等。AR业务接口和AR算法接口之间的通信通道可以表现为相互之间的参数传递和/或接口调用等。
步骤S106:根据网页视图组件、AR算法的算法注册接口、AR业务接口和建立的所述通道,封装生成AR业务可调用文件。
通过AR业务可调用文件,可以实现前端AR业务与后端AR算法之间的交互,最终实现AR功能。
其中,AR业务可调用文件可以采用任意适当的文件形式,包括但不限于组件的形式,如AAR组件或者COM组件等。通过可调用文件的方式,相关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业务时,仅需对前端如HTML页面进行小幅度的改动即可使用新AR业务;AR业务可调用文件所在的宿主App本身也可以不具有AR算法,通过它方注册的AR算法即可实现宿主App本身的AR业务;当替换或者新增不属于宿主App本身的AR算法时,无需改动宿主App本身;并且,可以轻松地实现同一个AR业务在不同的App上同时运行。可见,通过本发明实施例的方案,大大降低了AR的分发和部署成本。
本实施例的数据封装方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例二
参照图2,示出了根据本发明实施例二的一种数据封装方法的步骤流程图。
本实施例的数据封装方法包括以下步骤:
步骤S202:基于网页视图组件,设置用于与网页进行AR交互的AR业务接口。
其中,网页视图组件是实现浏览器功能的组件,其可以实现为一种基于浏览器内核的网页渲染引擎,通过加载HTML数据的方式可展现相应的界面和网页。在实际应用中,本领域技术人员可以根据实际情况采用任意适当的网页视图组件。本实施例中,以WEBVIEW网页视图组件为例。
WEBVIEW是一个基于WEBKIT引擎、展现WEB页面的控件。WEBVIEW除了具有一般VIEW的属性和设置外,还可以对URL请求、页面加载、渲染、页面交互进行处理。通过WEBVIEW,可以显示和渲染WEB页面,直接使用HTML文件(网络上或本地assets中)作布局,可以和JavaScript交互调用,等等。浏览器App可以通过WEBVIEW实现浏览器的功能,而非浏览器App则可以通过WEBVIEW将浏览器功能嵌入自身应用中。
WEBVIEW还提供了扩展其自身功能的方法,例如,通过WEBVIEW提供的addJavascriptInterface()方法,以向WEBVIEW设置扩展的JS(JavaScript)接口,并将这些扩展的JS接口的调用方法转发到接口所注册的native函数中。基于此,本发明实施例设置了与网页进行AR交互的AR业务接口,以便实现前端网页所需的各种AR功能。例如,AR业务接口可以接收前端HTML5页面发送的AR业务参数,一方面,通过WEBVIEW将该AR业务参数交给相匹配的AR算法的算法接口;另一方面,使得WEBVIEW根据该业务参数调用相应的图像设备接口或者图像获取接口以获得图像。此外,AR算法在根据AR业务参数对图像进行处理后,会将处理结果返回给AR业务接口,由AR业务接口交给HTML5页面进行处理。在一种可行方式中,AR业务接口可以通过JavaScript语言实现。
此外,还可以基于WEBVIEW的扩展功能,设置用于获取AR算法的算法信息的查询接口,该查询接口也与前端网页进行交互,通过该查询接口,前端网页可以获知已注册的各种AR算法的算法信息,以为后续选择确定与AR业务相对应的AR算法提供参考。
步骤S204:基于网页视图组件,设置用于注册AR算法的算法注册接口。
AR算法的算法注册接口用于实现AR算法的注册,通过注册告知AR算法调用方AR算法的算法信息,以供后续调用。其中,AR算法可以是设置于App中的算法,也可以是独立存在的算法如操作系统自带的AR算法。AR算法也可以内嵌于AR业务可调用文件中,即直接封装入AR业务可调用文件中。在一种可行方式中,AR算法可以实现为底层算法组件。
AR算法可以包括一个或多个(两个及两个以上),在一种可行方案中,可以设定AR算法对外使用统一的接口,多个AR算法通过相同的接口类进行注册,以简化接口设置,提升算法兼容性。
步骤S206:基于网页视图组件,设置用于控制图像采集设备的图像设备接口,和/或,设置用于获取图像数据的图像获取接口。
图像设备接口用于控制图像采集设备,如,控制摄像头的打开、拍摄、关闭、数据传输等等。一种可行方式中,图像设备接口也可以基于WEBVIEW的扩展功能设置。但不限于此,在实际应用中,本领域技术人员也可以根据实际需要,将对图像的采集和处理封装为独立的功能模块,向外提供相应的接口以供调用。通过图像设备接口,可以实时采集图像,实现实时图像的AR处理。在具体实现时,图像设备接口可以通过图像设备控制算法控制图像采集设备,该图像设备控制算法可以是封装入AR业务可调用文件中的算法,也可以是AR业务可调用文件外但可被调用的算法。
图像获取接口用于获取图像数据,如,静态图像(如本地存储或网络下载的图像),或者,录制完成的视频中的视频帧图像。图像获取接口也可以基于WEBVIEW的扩展功能设置。但不限于此,在实际应用中,本领域技术人员也可以根据实际需要,将其封装为独立的功能模块,向外提供相应的接口以供调用。通过图像获取接口,可以实现非实时图像的AR处理。在具体实现时,图像获取接口可以通过图像获取算法获取图像数据,该图像获取算法可以是封装入AR业务可调用文件中的算法,也可以是AR业务可调用文件外但可被调用的算法。
图像设备接口和图像获取接口都接受WEBVIEW的调用,根据该调用采集图像或获取图像,一方面将采集到的或者获取到的图像发送给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业务接口交由前端网页进行渲染绘制。
步骤S210:根据图像设备接口和图像获取接口中的至少一个接口,以及,网页视图组件、AR算法的算法注册接口、AR业务接口、AR算法接口和AR业务接口之间的通信通道、和查询接口,封装生成AR业务组件。
本实施例中,AR业务可调用文件实现为AR业务可调用组件,如aar组件的形式。但本领域技术人员应当明了,其它可调用文件形式也同样适用。
在一种可行方式中,可以将图像设备接口和图像获取接口中的至少一个接口,以及,AR算法的算法注册接口、网页视图组件、AR业务接口、AR算法接口和AR业务接口之间的通信通道、和查询接口进行封装,生成AR业务组件。
在另一种可行方式中,网页视图组件可以不封装进AR业务组件中,此种情况下,可以设置用于调用网页视图组件的调用接口,将图像设备接口和图像获取接口中的至少一个接口,以及,AR算法的算法注册接口、网页视图组件的调用接口、AR业务接口、AR算法接口和AR业务接口之间的通信通道、和查询接口进行封装,生成AR业务组件。
基于上述过程实现的一种AR业务可调用文件的实例如图3所示,图3中,AR业务可调用文件实现为一种采用WebAR框架形式的组件,也即,将WebAR框架整体封装成组件(简称为WebAR组件),让宿主App(如图3中的UC浏览器应用、淘宝应用、支付宝应用)引用。对于Android系统,封装成aar;对于iOS系统,封装成Framework。
宿主App通过引用WebAR组件中相应的AR算法注册接口(如图3中的AndroidJava接口和iOSOC接口)和AR算法组件中对应的算法类,将AR算法(如图3中的A算法1、A算法2、B算法)注册到WebAR组件中。其中,AR算法包括宿主App自身具有的AR算法和/或独立于宿主App的AR算法。
本实例中,前端通过HTML5页面设置有AR业务1、AR业务2和AR业务3,AR业务通过JS接口(AR业务接口)实现与WebAR组件的交互。其中,JS接口(AR业务接口)通过AR环境管理类ARSession实现。ARSession是一个通过管理设备摄像头与运动处理从而提供AR功能的共享对象,其协调AR众多的处理过程,其中包括从设备运动传感器中获取数据,控制内建camera,camera获取图像的处理分析。ARSession通过综合所有的结果来建立现实空间和虚拟坐标系空间之间的联系,从而实现AR效果。
本实例中,前端HTML5页面通过经由ARSession实现的JS接口(AR业务接口)初始化AR环境,打开摄像头和选择AR业务需要的Detector接口。HTML5页面通过JS接口(AR业务接口)获得摄像头拍摄的图像数据后,将图像数据的原始格式转换成适合绘制的格式,通过WebGL进行渲染。而Detector接口可以调用AR算法的对应能力,WebAR组件负责将通过JS接口接收的调用消息以及摄像头拍摄的图像数据传递到AR算法,再将AR算法的处理结果返回给HTML5页面。
本实例中,每个AR算法采用独立的组件形式,所有AR算法均实现统一的接口类IDetector接口,IDetector接口中包含统一的流程接口、检测接口和回调接口,如,start()接口、pause()接口、stop()接口、resume()接口、init()接口、track()接口、onResult()接口等,这些接口在前端均有相对应的JS(JavaScript)映射接口即Detector接口,因此前端HTML5页面看起来就像直接调用了AR算法。
宿主App在初始化时需要向WebAR组件注册需要用到的AR算法,前端HTML5页面可以通过JS接口(查询接口)查询当前可用的AR算法,并且选择激活所需要的AR算法。WebAR组件通过JS接口(AR业务接口)的选择创建AR算法实例,但交互过程依靠IDetector完成,因此具体的AR算法实现是A算法1还是B算法,甚至是与A算法1功能一致但实现细节不同的A算法2,对WebAR组件来说都是一样的,因此可以实现AR算法的随意替换。
WebAR组件向当前被激活的AR算法实例输送摄像头数据,等待AR算法完成检测并将其返回的结果回调至JS接口(AR业务接口),进而由JS接口(AR业务接口)交由HTML5页面进行处理。
本实施中,对图像采集设备的控制和管理由图3中示的摄像头管理组件实现,其通过相应的接口获取并传递摄像头数据。对于Android系统,可以通过系统接口android.hardware.Camera()或android.hardware.Camera2()获取摄像头数据;对于iOS系统,可以通过系统接口UIImagePickerController()获取摄像头数据。获取到的摄像头数据,通过JS接口(AR业务接口),传递到前端HTML5页面。HTML5页面通过调用WebAR组件的JS接口(AR业务接口),实时获取摄像头当前拍摄的图像数据。同时,使用WebGL技术在着色器将输入的YUV颜色编码的流媒体数据转换为RGB格式,并绘制到Canvas画布上,以此实现摄像头画面的渲染。
WebAR组件通过WebView的扩展功能,扩展出用于AR业务的JS接口,从而实现向前端HTML5页面提供WebAR组件的AR扩展接口。WebAR组件为JS接口和AR算法接口搭建通信通道,使通过JS接口接收的调用消息能到达AR算法组件,AR算法组件的算法接口能通过JS接口将处理结果通知给HTML5页面。其中,对于Android系统,WebView可以作为组件内嵌于WebAR框架中;对于iOS系统,WebView需要宿主App进行设置后引用,如,宿主App将UIWebView或者WKWebview注册到WebAR组件中。图3示出了Android系统的WebAR组件示例,其中,WebView作为组件内嵌于WebAR组件中。
基于图3所示WebAR组件,一种AR数据交互的过程如图4所示。由图4可见,当前端HTML5页面发起一个AR业务时,AR业务通过ARSession实现的JS接口(AR业务接口和图像设备接口)控制摄像头管理组件启动摄像头,并从Detector注册列表中查询已注册的AR算法,从中选择确定实现AR业务的AR算法,获得该AR算法的算法信息,如,IDetector接口的信息;JS接口(图像设备接口)将摄像头采集的摄像头数据传递给确定的IDetector接口,交由IDetector接口对应的AR算法进行处理后,将处理结果通过JS接口(AR业务接口)发送给前端HTML5页面,由前端HTML5页面进行进一步处理,如,渲染绘制,或基于处理结果进行虚拟对象叠加等。
本实例通过在WebAR组件内部与WebView进行数据交换,搭建摄像头数据传输到JS接口(AR业务接口)的数据通道,并且将WebAR组件的JS接口(AR业务接口和查询接口)与AR算法的接口进行映射绑定。JS接口(AR业务接口和查询接口)向前端提供统一的AR相关能力接口,因此前端AR业务逻辑可以随时更换;AR算法的算法注册接口用以桥接各种AR算法,因此AR算法的实现可以随时更换;整个WebAR框架作为一个组件让宿主App引用,因此不同的宿主App接入后,都可以向前端提供相同JS接口(AR业务接口和查询接口)和AR算法能力。
通过WebAR组件,让前端HTML5页面的AR业务,底层AR算法和宿主App分别只跟WebAR组件交互对接,三者间没有互相依赖。从而达到以WebAR组件为中心,AR业务,AR算法和宿主App都是可以随意独立插拔而不互相影响的状态。
例如,如果需要更换前端AR业务,只需要重新编写HTML5页面,宿主App和AR算法均保持不变,从而实现AR业务的快速上线,用户只需要访问新的HTML5页面的即可,无需更新App版本,由此解决了上线新的AR业务需要App发版升级的问题;如果需要新增AR算法,或者替换已有的AR算法,只需要让新的算法实现IDetector接口并在WebAR组件中注册以使宿主App引用,HTML5页面就可以直接使用新的AR算法,而HTML5页面和宿主App均无需变动,由此解决了替换、新增AR算法需要App发版升级的问题;如果有AR业务需要在多个App上同时运行,那么只需要在多个目标宿主App上均接入WebAR组件,就能达到一个AR业务在多个App上运行的效果,跟正常的HTML5网页没有差异,由此解决了同一个AR业务不能在不同App上同时运行的问题。
可见,通过本实例,实现了一个可插拔的WebAR组件,让前端AR业务、具体的AR算法和宿主App可以灵活更换,从而让AR业务变更和AR算法更新无需要等待App升级,且同一个前端AR业务可以运行在多个不同的宿主App上。
此外,本实例中以WebAR组件采用WEBVIEW为例,但不限于此,本领域技术人员还可以根据本发明实施例的描述,利用Weex或者RN(React Native)替代WebView实现本方案。Weex或者RN能像WEBVIEW那样解析JS语言,具体实现时只需遵从Weex或RN框架的规定即可。
通过本实施例,将AR算法的算法注册接口、实现网页功能的网页视图组件、实现AR业务的AR业务接口,以及AR算法接口和AR业务接口之间的通信通道,一起封装生成AR业务可调用文件。其中,AR算法本身独立于AR业务可调用文件,其仅需向AR业务可调用文件进行注册,告知AR业务可调用文件相应的算法信息,即可供AR业务可调用文件调用。AR业务可调用文件无需了解AR算法的修改、或者增加或者删除等的具体实现,只需通过注册操作获相应算法信息即可。此外,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节。由此,当上线新的AR业务时,仅需对前端如HTML页面进行小幅度的改动即可使用新AR业务;AR业务可调用文件所在的宿主App本身也可以不具有AR算法,通过它方注册的AR算法即可实现宿主App本身的AR业务;当替换或者新增不属于宿主App本身的AR算法时,无需改动宿主App本身;并且,可以轻松地实现同一个AR业务在不同的App上同时运行。可见,通过本发明实施例的方案,大大降低了AR的分发和部署成本。
本实施例的数据封装方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例三
参照图5,示出了根据本发明实施例三的一种数据处理方法的步骤流程图。
本实施例从安装AR业务可调用文件的宿主的角度为例进行说明,其中,AR业务可调用文件采用实施例一或二中所述的AR业务可调用文件实现AR业务的数据处理,与AR业务可调用文件相关的内容均可参考前述实施例。
本实施例的数据处理方法包括以下步骤:
步骤S302:接收AR业务请求。
其中,AR业务请求中携带有AR业务参数,如AR业务的业务类型、AR业务的操作参数,等等。该AR业务请求可以由前端HTML5页面发起,调用WebAR组件进行处理。
步骤S304:将AR业务请求中的AR业务参数发送给AR业务可调用文件。
其中,如实施例一或二中所述,AR业务可调用文件至少根据AR算法的算法注册接口、网页视图组件、AR业务接口和AR算法接口与AR业务接口之间的通信通道封装生成。如,实施例二中的WebAR组件。
当用户通过网页如HTML5页面触发AR业务,AR业务可调用文件所在宿主App或浏览器会生成相应的AR业务请求,调用AR业务可调用文件对该AR业务请求进行处理,将AR业务请求中的AR业务参数发送给AR业务可调用文件中的AR业务接口。
步骤S306:通过AR业务可调用文件对AR业务参数进行处理,并返回处理结果。
AR业务可调用文件被调起后,会根据AR业务参数选择适当的AR算法,并且控制图像采集设备如摄像头采集图像,将AR业务参数和图像数据发送给AR算法接口,通过AR算法接口调用AR算法根据AR业务参数对图像数据进行处理,并通过AR业务接口返回处理结果。
步骤S308:根据处理结果进行AR业务展示。
前端HTML5页面接收到处理结果后,会基于该处理结果进行相应的AR业务处理和展示,如,对当前图像中的人脸进行贴图等。
通过本实施例,使用封装有AR算法的算法注册接口、实现网页功能的网页视图组件、实现AR业务的AR业务接口,以及AR算法接口和AR业务接口之间的通信通道的AR业务可调用文件,实现前端的AR业务。前端无需实现AR算法,也无需了解AR算法的实现细节,大大降低了AR的分发和部署成本。
本实施例的数据处理方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例四
参照图6,示出了根据本发明实施例四的一种数据处理方法的步骤流程图。
本实施例从安装AR业务可调用文件的宿主的角度为例进行说明,其中,AR业务可调用文件采用实施例一或二中所述的AR业务可调用文件实现AR业务的数据处理,与AR业务可调用文件相关的内容均可参考前述实施例。
本实施例的数据处理方法包括以下步骤:
步骤S402:接收AR算法的注册请求,通过AR业务可调用文件的算法注册接口对AR算法进行注册。
通过AR算法注册,AR业务可调用文件可获知AR算法的算法信息,AR算法的注册可以采用接口注册的方式。
其中,AR业务可调用文件可以为AR业务可调用组件,如实施例二中的WebAR组件。
步骤S404:接收AR算法查询请求,通过AR业务可调用文件的查询接口返回AR算法的算法信息。
AR算法向AR业务可调用文件进行注册后,AR业务可调用文件中保存有注册成功的AR算法的算法信息,当前端HTML5页面通过AR业务可调用文件中封装的查询接口进行AR算法查询,发送了AR算法查询请求时,AR业务可调用文件可接收并根据该AR算法查询请求,将AR算法的算法信息返回给前端HTML5页面,后续HTML5页面可以根据实际的AR业务需求通过AR业务接口和AR算法接口调用AR算法。
步骤S406:接收AR业务请求。
其中,AR业务请求中携带有AR业务参数,如,AR业务类型,AR操作参数等等。
步骤S408:将AR业务请求中的AR业务参数发送给AR业务可调用文件。
如前所述,本实施例中,AR业务可调用文件采用实施例一或实施例二中的AR业务可调用文件。
AR业务可调用文件的宿主App或浏览器将AR业务参数发送给AR业务可调用文件中的AR业务接口。
步骤S410:通过AR业务可调用文件对AR业务参数进行处理,并返回处理结果。
在一种可行方式中,可以通过AR业务可调用文件的AR业务接口接收AR业务参数,并根据AR业务参数确定匹配的AR算法,通过网页视图组件将AR业务参数发送给匹配的AR算法的AR算法接口进行处理,并通过AR业务接口接收AR算法接口返回的AR业务数据。
当AR业务可调用文件中封装有用于控制图像采集设备的图像设备接口,和/或,封装有用于获取图像数据的图像获取接口时,还可以在根据AR业务参数确定匹配的AR算法之后,通过AR业务可调用文件的图像设备接口,调用图像采集设备进行图像采集;和/或,通过AR业务可调用文件的图像获取接口获取静态图像或视频帧图像。此种情况下,通过网页视图组件将AR业务参数发送给匹配的AR算法的AR算法接口进行处理包括:通过网页视图组件将图像采集设备采集的或者图像获取接口获取的图像,以及AR业务参数发送给AR算法接口进行处理。
步骤S412:根据所述处理结果进行AR业务展示。
如,在接收到AR业务可调用文件通过AR业务接口返回的人脸图像中的人脸关键点位置数据后,对图像中的人脸进行贴图处理,等等。
通过本实施例,使用封装有AR算法的算法注册接口、实现网页功能的网页视图组件、实现AR业务的AR业务接口,以及AR算法接口和AR业务接口之间的通信通道的AR业务可调用文件,实现前端的AR业务。前端无需实现AR算法,也无需了解AR算法的实现细节,大大降低了AR的分发和部署成本。
本实施例的数据处理方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于各种终端及服务器等。
实施例五
参照图7,示出了根据本发明实施例五的一种数据封装装置的结构框图。
本实施例的数据封装装置包括:第一设置模块502,用于基于网页视图组件,设置用于注册AR算法的算法注册接口和用于与网页进行AR交互的AR业务接口;第二设置模块504,用于设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道;封装模块506,用于根据AR算法的算法注册接口、网页视图组件、AR业务接口和所述通道,封装生成AR业务可调用文件。
可选地,本实施例的数据封装装置还包括:第三设置模块508,用于基于所述网页视图组件,设置用于控制图像采集设备的图像设备接口,和/或,设置用于获取图像数据的图像获取接口;封装模块506用于根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件、AR业务接口和所述通道,封装生成AR业务可调用文件。
可选地,封装模块506用于将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件、AR业务接口和所述通道进行封装,生成AR业务可调用文件;或者,设置用于调用网页视图组件的调用接口,将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件的调用接口、AR业务接口和所述通道进行封装,生成AR业务可调用文件。
可选地,第二设置模块504用于设置将网页视图组件通过AR业务接口接收的AR业务参数传递给注册成功的AR算法接口的通信通道。
可选地,第二设置模块504还用于设置经由所述网页视图组件的、用于控制图像采集设备的图像设备接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道;和/或,设置经由所述网页视图组件的、用于获取图像数据的图像获取接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道。
可选地,本实施例的数据封装装置还包括:第四设置模块510,用于设置用于获取AR算法的算法信息的查询接口,并将查询接口封装入AR业务可调用文件。
可选地,AR业务可调用文件为AR业务可调用组件。
可选地,AR算法包括多个,多个AR算法通过相同的接口类进行注册。
本实施例的数据封装装置用于实现前述多个方法实施例中相应的数据封装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例六
参照图8,示出了根据本发明实施例六的一种数据处理装置的结构框图。
本实施例的数据处理装置包括:接收模块602,用于接收AR业务请求,其中,AR业务请求中携带有AR业务参数;发送模块604,用于将AR业务请求中的AR业务参数发送给AR业务可调用文件,其中,AR业务可调用文件根据AR算法的算法注册接口、网页视图组件、AR业务接口和AR算法接口与AR业务接口之间的通信通道封装生成;处理模块606,用于通过AR业务可调用文件对AR业务参数进行处理,并返回处理结果;展示模块608,用于根据所述处理结果进行AR业务展示。
可选地,处理模块606用于通过AR业务可调用文件的AR业务接口接收AR业务参数,并根据AR业务参数确定匹配的AR算法;通过所述网页视图组件将所述AR业务参数发送给匹配的AR算法的AR算法接口进行处理,并通过所述AR业务接口接收所述AR算法接口返回的AR业务数据。
可选地,AR业务可调用文件中还封装有用于控制图像采集设备的图像设备接口,和/或,封装有用于获取图像数据的图像获取接口;处理模块606还用于根据所述AR业务参数确定匹配的AR算法之后,通过所述AR业务可调用文件的图像设备接口,调用图像采集设备进行图像采集;和/或,通过所述AR业务可调用文件的图像获取接口获取静态图像或视频帧图像;以及,通过所述网页视图组件将图像采集设备采集的或者图像获取接口获取的图像,以及所述AR业务参数发送给所述AR算法接口进行处理。
可选地,本实施例的数据处理装置还包括:注册模块610,用于在接收模块602接收AR业务请求之前,接收AR算法的注册请求,通过AR业务可调用文件的算法注册接口对AR算法进行注册。
可选地,AR业务可调用文件中还封装有用于获取AR算法的算法信息的查询接口;本实施例的数据处理装置还包括:查询模块612,用于在接收模块接收AR业务请求之前,接收AR算法查询请求,通过AR业务可调用文件的查询接口返回AR算法的算法信息。
可选地,AR业务可调用文件为AR业务可调用组件。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
参照图9,示出了根据本发明实施例七的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图9所示,该电子设备可以包括:处理器(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业务可调用文件。
在一种可选的实施方式中,程序710还用于使得处理器702基于所述网页视图组件,设置用于控制图像采集设备的图像设备接口;和/或,设置用于获取图像数据的图像获取接口;程序710还用于使得处理器702在根据所述算法注册接口、网页视图组件、AR业务接口和所述通道,封装生成AR业务可调用文件时,根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件、AR业务接口和所述通道,封装生成AR业务可调用文件。
在一种可选的实施方式中,程序710还用于使得处理器702在根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件、AR业务接口和所述通道,封装生成AR业务可调用文件时,将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件、AR业务接口和所述通道进行封装,生成AR业务可调用文件;或者,设置用于调用网页视图组件的调用接口,将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述算法注册接口、网页视图组件的调用接口、AR业务接口和所述通道进行封装,生成AR业务可调用文件。
在一种可选的实施方式中,程序710还用于使得处理器702在设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道时,设置将网页视图组件通过AR业务接口接收的AR业务参数传递给注册成功的AR算法接口的通信通道。
在一种可选的实施方式中,程序710还用于使得处理器702设置经由所述网页视图组件的、用于控制图像采集设备的图像设备接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道;和/或,设置经由所述网页视图组件的、用于获取图像数据的图像获取接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道。
在一种可选的实施方式中,程序710还用于使得处理器702设置用于获取AR算法的算法信息的查询接口,并将所述查询接口封装入所述AR业务可调用文件。
在一种可选的实施方式中,AR业务可调用文件为AR业务可调用组件。
在一种可选的实施方式中,AR算法包括多个,多个AR算法通过相同的接口类进行注册。
程序710中各步骤的具体实现可以参见上述数据封装方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,将AR算法的算法注册接口、实现网页功能的网页视图组件、实现AR业务的AR业务接口,以及AR算法接口和AR业务接口之间的通信通道,一起封装生成AR业务可调用文件。其中,AR算法本身独立于AR业务可调用文件,其仅需向AR业务可调用文件进行注册,告知AR业务可调用文件相应的算法信息,即可供AR业务可调用文件调用。AR业务可调用文件无需了解AR算法的修改、或者增加或者删除等的具体实现,只需通过注册操作获相应算法信息即可。此外,AR业务端仅需与AR业务可调用文件进行交互即可实现相应的AR功能,AR业务端无需内嵌AR算法,也无需了解AR算法的具体实现细节。由此,当上线新的AR业务时,仅需对前端如HTML页面进行小幅度的改动即可使用新AR业务;AR业务可调用文件所在的宿主App本身也可以不具有AR算法,通过它方注册的AR算法即可实现宿主App本身的AR业务;当替换或者新增不属于宿主App本身的AR算法时,无需改动宿主App本身;并且,可以轻松地实现同一个AR业务在不同的App上同时运行。可见,通过本发明实施例的方案,大大降低了AR的分发和部署成本。
实施例八
参照图10,示出了根据本发明实施例七的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图10所示,该电子设备可以包括:处理器(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业务可调用文件对AR业务参数进行处理,并返回处理结果;根据所述处理结果进行AR业务展示。
在一种可选的实施方式中,程序810还用于使得处理器802在通过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算法接口进行处理。
在一种可选的实施方式中,程序810还用于使得处理器802在接收AR业务请求之前,接收AR算法的注册请求,通过AR业务可调用文件的算法注册接口对AR算法进行注册。
在一种可选的实施方式中,AR业务可调用文件中还封装有用于获取AR算法的算法信息的查询接口;程序810还用于使得处理器802在接收AR业务请求之前,接收AR算法查询请求,通过AR业务可调用文件的查询接口返回AR算法的算法信息。
在一种可选的实施方式中,AR业务可调用文件为AR业务可调用组件。
程序810中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,使用封装有AR算法的算法注册接口、实现网页功能的网页视图组件、实现AR业务的AR业务接口,以及AR算法接口和AR业务接口之间的通信通道的AR业务可调用文件,实现前端的AR业务。前端无需实现AR算法,也无需了解AR算法的实现细节,大大降低了AR分发和部署成本。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

Claims (30)

1.一种数据封装方法,包括:
基于网页视图组件,设置用于注册增强现实AR算法的算法注册接口和用于与网页进行AR交互的AR业务接口;
设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道;
根据所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件。
2.根据权利要求1所述的方法,其中,
所述方法还包括:基于所述网页视图组件,设置用于控制图像采集设备的图像设备接口;和/或,设置用于获取图像数据的图像获取接口;
所述根据所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件,包括:根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件。
3.根据权利要求2所述的方法,其中,根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件,包括:
将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道进行封装,生成AR业务可调用文件;
或者,
设置用于调用所述网页视图组件的调用接口,将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件的调用接口、所述算法注册接口、所述AR业务接口和所述通道进行封装,生成AR业务可调用文件。
4.根据权利要求1-3任一项所述的方法,其中,所述设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道,包括:
设置将网页视图组件通过AR业务接口接收的AR业务参数传递给注册成功的AR算法接口的通信通道。
5.根据权利要求4所述的方法,其中,所述方法还包括:
设置经由所述网页视图组件的、用于控制图像采集设备的图像设备接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道;
和/或,
设置经由所述网页视图组件的、用于获取图像数据的图像获取接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道。
6.根据权利要求1-3任一项所述的方法,其中,所述方法还包括:
设置用于获取所述AR算法的算法信息的查询接口,并将所述查询接口封装入所述AR业务可调用文件。
7.根据权利要求1-3任一项所述的方法,其中,所述AR业务可调用文件为AR业务可调用组件。
8.根据权利要求1-3任一项所述的方法,其中,所述AR算法包括多个,多个所述AR算法通过相同的接口类进行注册。
9.一种数据处理方法,包括:
接收增强现实AR业务请求,其中,所述AR业务请求中携带有AR业务参数;
将所述AR业务请求中的AR业务参数发送给AR业务可调用文件,其中,所述AR业务可调用文件根据AR算法的算法注册接口、网页视图组件、AR业务接口和AR算法接口与AR业务接口之间的通信通道封装生成;
通过所述AR业务可调用文件对所述AR业务参数进行处理,并返回处理结果;
根据所述处理结果进行AR业务展示。
10.根据权利要求9所述的方法,其中,所述通过所述AR业务可调用文件对所述AR业务参数进行处理,并返回处理结果,包括:
通过所述AR业务可调用文件的AR业务接口接收所述AR业务参数,并根据所述AR业务参数确定匹配的AR算法;
通过所述网页视图组件将所述AR业务参数发送给匹配的AR算法的AR算法接口进行处理,并通过所述AR业务接口接收所述AR算法接口返回的AR业务数据。
11.根据权利要求10所述的方法,其中,所述AR业务可调用文件中还封装有用于控制图像采集设备的图像设备接口,和/或,封装有用于获取图像数据的图像获取接口;
在所述根据所述AR业务参数确定匹配的AR算法之后,所述方法还包括:通过所述AR业务可调用文件的图像设备接口,调用图像采集设备进行图像采集;和/或,通过所述AR业务可调用文件的图像获取接口获取静态图像或视频帧图像;
所述通过所述网页视图组件将所述AR业务参数发送给匹配的AR算法的AR算法接口进行处理,包括:通过所述网页视图组件将图像采集设备采集的或者图像获取接口获取的图像,以及所述AR业务参数发送给所述AR算法接口进行处理。
12.根据权利要求9-11任一项所述的方法,其中,在所述接收增强现实AR业务请求之前,所述方法还包括:
接收AR算法的注册请求,通过所述AR业务可调用文件的算法注册接口对所述AR算法进行注册。
13.根据权利要求9-11任一项所述的方法,其中,所述AR业务可调用文件中还封装有用于获取AR算法的算法信息的查询接口;
在所述接收增强现实AR业务请求之前,所述方法还包括:接收AR算法查询请求,通过所述AR业务可调用文件的查询接口返回AR算法的算法信息。
14.根据权利要求9-11任一项所述的方法,其中,所述AR业务可调用文件为AR业务可调用组件。
15.一种数据封装装置,包括:
第一设置模块,用于基于网页视图组件,设置用于注册增强现实AR算法的算法注册接口和用于与网页进行AR交互的AR业务接口;
第二设置模块,用于设置基于所述网页视图组件的、注册成功的AR算法的算法接口和AR业务接口之间进行通信的通道;
封装模块,用于根据所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件。
16.根据权利要求15所述的装置,其中,
所述装置还包括:第三设置模块,用于基于所述网页视图组件,设置用于控制图像采集设备的图像设备接口,和/或,设置用于获取图像数据的图像获取接口;
所述封装模块,用于根据所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道,封装生成AR业务可调用文件。
17.根据权利要求16所述的装置,其中,所述封装模块,用于将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件、所述算法注册接口、所述AR业务接口和所述通道进行封装,生成AR业务可调用文件;或者,设置用于调用所述网页视图组件的调用接口,将所述图像设备接口和所述图像获取接口中的至少一个接口,以及,所述网页视图组件的调用接口、所述算法注册接口、所述AR业务接口和所述通道进行封装,生成AR业务可调用文件。
18.根据权利要求15-17任一项所述的装置,其中,所述第二设置模块,用于设置将网页视图组件通过AR业务接口接收的AR业务参数传递给注册成功的AR算法接口的通信通道。
19.根据权利要求15-17任一项所述的装置,其中,所述第二设置模块,还用于设置经由所述网页视图组件的、用于控制图像采集设备的图像设备接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道;和/或,设置经由所述网页视图组件的、用于获取图像数据的图像获取接口分别与所述AR业务接口和所述AR算法的算法接口之间的通信通道。
20.根据权利要求15-17任一项所述的装置,其中,所述装置还包括:
第四设置模块,用于设置用于获取所述AR算法的算法信息的查询接口,并将所述查询接口封装入所述AR业务可调用文件。
21.根据权利要求15-17任一项所述的装置,其中,所述AR业务可调用文件为AR业务可调用组件。
22.根据权利要求15-17任一项所述的装置,其中,所述AR算法包括多个,多个所述AR算法通过相同的接口类进行注册。
23.一种数据处理装置,包括:
接收模块,用于接收增强现实AR业务请求,其中,所述AR业务请求中携带有AR业务参数;
发送模块,用于将所述AR业务请求中的AR业务参数发送给AR业务可调用文件,其中,所述AR业务可调用文件根据AR算法的算法注册接口、网页视图组件、AR业务接口和AR算法接口与AR业务接口之间的通信通道封装生成;
处理模块,用于通过所述AR业务可调用文件对所述AR业务参数进行处理,并返回处理结果;
展示模块,用于根据所述处理结果进行AR业务展示。
24.根据权利要求23所述的装置,其中,所述处理模块,用于通过所述AR业务可调用文件的AR业务接口接收所述AR业务参数,并根据所述AR业务参数确定匹配的AR算法;通过所述网页视图组件将所述AR业务参数发送给匹配的AR算法的AR算法接口进行处理,并通过所述AR业务接口接收所述AR算法接口返回的AR业务数据。
25.根据权利要求24所述的装置,其中,所述AR业务可调用文件中还封装有用于控制图像采集设备的图像设备接口,和/或,封装有用于获取图像数据的图像获取接口;
所述处理模块,还用于在所述根据所述AR业务参数确定匹配的AR算法之后,通过所述AR业务可调用文件的图像设备接口,调用图像采集设备进行图像采集;和/或,通过所述AR业务可调用文件的图像获取接口获取静态图像或视频帧图像;以及,通过所述网页视图组件将图像采集设备采集的或者图像获取接口获取的图像,以及所述AR业务参数发送给所述AR算法接口进行处理。
26.根据权利要求23-25任一项所述的装置,其中,所述装置还包括:
注册模块,用于在所述接收模块接收增强现实AR业务请求之前,接收AR算法的注册请求,通过所述AR业务可调用文件的算法注册接口对所述AR算法进行注册。
27.根据权利要求23-25任一项所述的装置,其中,所述AR业务可调用文件中还封装有用于获取AR算法的算法信息的查询接口;
所述装置还包括:查询模块,用于在所述接收模块接收增强现实AR业务请求之前,接收AR算法查询请求,通过所述AR业务可调用文件的查询接口返回AR算法的算法信息。
28.根据权利要求23-25任一项所述的装置,其中,所述AR业务可调用文件为AR业务可调用组件。
29.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8任一项所述的数据封装方法对应的操作。
30.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求9-14任一项所述的数据处理方法对应的操作。
CN201711241821.4A 2017-11-30 2017-11-30 数据封装、处理方法、装置及电子设备 Active CN107861754B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711241821.4A CN107861754B (zh) 2017-11-30 2017-11-30 数据封装、处理方法、装置及电子设备
PCT/CN2018/104184 WO2019105093A1 (zh) 2017-11-30 2018-09-05 数据封装、处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711241821.4A CN107861754B (zh) 2017-11-30 2017-11-30 数据封装、处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN107861754A true CN107861754A (zh) 2018-03-30
CN107861754B CN107861754B (zh) 2020-12-01

Family

ID=61704283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711241821.4A Active CN107861754B (zh) 2017-11-30 2017-11-30 数据封装、处理方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN107861754B (zh)
WO (1) WO2019105093A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325756A (zh) * 2018-08-03 2019-02-12 上海小渔数据科技有限公司 用于数据算法交易的数据处理方法及装置、服务器
WO2019105093A1 (zh) * 2017-11-30 2019-06-06 广州市动景计算机科技有限公司 数据封装、处理方法、装置及电子设备
CN110505273A (zh) * 2019-07-12 2019-11-26 苏州浪潮智能科技有限公司 一种服务能力限制的使用方法、设备及可读介质
CN111427529A (zh) * 2019-01-09 2020-07-17 阿里巴巴集团控股有限公司 交互方法、装置、设备及存储介质
WO2023092292A1 (zh) * 2021-11-23 2023-06-01 京东方科技集团股份有限公司 Flutter Web应用程序与宿主程序通信方法、计算机设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860982B (zh) * 2019-11-27 2024-05-10 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及计算机存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030139A (zh) * 2007-04-18 2007-09-05 杭州华为三康技术有限公司 一种Web界面扩展方法和装置
US20110018903A1 (en) * 2004-08-03 2011-01-27 Silverbrook Research Pty Ltd Augmented reality device for presenting virtual imagery registered to a viewed surface
CN103679800A (zh) * 2013-11-21 2014-03-26 北京航空航天大学 一种视频图像虚拟场景生成系统及其框架构造方法
CN105338117A (zh) * 2015-11-27 2016-02-17 亮风台(上海)信息科技有限公司 用于生成ar应用和呈现ar实例的方法、设备与系统
CN106412082A (zh) * 2016-10-31 2017-02-15 东北大学 一种基于云的电熔镁砂熔炼过程移动监视系统及方法
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107391201A (zh) * 2017-07-27 2017-11-24 艾迪森海安数字医疗装备有限公司 一种动态业务数据的软件框架的数据流动实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577931A (zh) * 2013-10-28 2014-02-12 北京邮电大学 一种基于语义的可复用软件服务管理系统及其实现方法
CN106201161B (zh) * 2014-09-23 2021-09-03 北京三星通信技术研究有限公司 电子设备的显示方法及系统
WO2017058960A1 (en) * 2015-09-28 2017-04-06 Wand Labs, Inc. Unified virtual reality platform
US10380800B2 (en) * 2016-04-18 2019-08-13 Disney Enterprises, Inc. System and method for linking and interacting between augmented reality and virtual reality environments
CN107861754B (zh) * 2017-11-30 2020-12-01 阿里巴巴(中国)有限公司 数据封装、处理方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110018903A1 (en) * 2004-08-03 2011-01-27 Silverbrook Research Pty Ltd Augmented reality device for presenting virtual imagery registered to a viewed surface
CN101030139A (zh) * 2007-04-18 2007-09-05 杭州华为三康技术有限公司 一种Web界面扩展方法和装置
CN103679800A (zh) * 2013-11-21 2014-03-26 北京航空航天大学 一种视频图像虚拟场景生成系统及其框架构造方法
CN105338117A (zh) * 2015-11-27 2016-02-17 亮风台(上海)信息科技有限公司 用于生成ar应用和呈现ar实例的方法、设备与系统
CN106412082A (zh) * 2016-10-31 2017-02-15 东北大学 一种基于云的电熔镁砂熔炼过程移动监视系统及方法
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107391201A (zh) * 2017-07-27 2017-11-24 艾迪森海安数字医疗装备有限公司 一种动态业务数据的软件框架的数据流动实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019105093A1 (zh) * 2017-11-30 2019-06-06 广州市动景计算机科技有限公司 数据封装、处理方法、装置及电子设备
CN109325756A (zh) * 2018-08-03 2019-02-12 上海小渔数据科技有限公司 用于数据算法交易的数据处理方法及装置、服务器
CN111427529A (zh) * 2019-01-09 2020-07-17 阿里巴巴集团控股有限公司 交互方法、装置、设备及存储介质
CN111427529B (zh) * 2019-01-09 2023-05-30 斑马智行网络(香港)有限公司 交互方法、装置、设备及存储介质
CN110505273A (zh) * 2019-07-12 2019-11-26 苏州浪潮智能科技有限公司 一种服务能力限制的使用方法、设备及可读介质
CN110505273B (zh) * 2019-07-12 2022-04-22 苏州浪潮智能科技有限公司 一种服务能力限制的使用方法、设备及可读介质
WO2023092292A1 (zh) * 2021-11-23 2023-06-01 京东方科技集团股份有限公司 Flutter Web应用程序与宿主程序通信方法、计算机设备

Also Published As

Publication number Publication date
CN107861754B (zh) 2020-12-01
WO2019105093A1 (zh) 2019-06-06

Similar Documents

Publication Publication Date Title
CN107861754A (zh) 数据封装、处理方法、装置及电子设备
CN107222529B (zh) 增强现实处理方法、web模块、终端和云端服务器
CN101553771B (zh) 绘制超文本标记语言内容
CN108563517B (zh) 系统接口的调用方法及装置
CN103946836B (zh) 使用非光栅地图数据的修改来渲染地图图像的方法和设备
CN110084877A (zh) 使用聚合特征标识符来管理地图元素
CN101059760B (zh) Opengl到opengl│es翻译器和opengl│es仿真器
CN105338117A (zh) 用于生成ar应用和呈现ar实例的方法、设备与系统
CN106846495B (zh) 实现增强现实的方法与装置
CN111696216B (zh) 三维增强现实全景融合方法及系统
CN110908712A (zh) 移动端跨平台的数据处理方法和设备
CN109634751B (zh) 一种利用electron框架实现应用层和底层通信的方法
CN106776939A (zh) 一种图像无损标注方法及系统
CN107223270A (zh) 一种显示数据处理方法及装置
CN110288692B (zh) 光照渲染方法和装置、存储介质及电子装置
CN108572772A (zh) 图片内容呈现方法及装置
CN108074210A (zh) 一种用于云渲染的对象获取系统和方法
CN110471701A (zh) 图像渲染的方法、装置、存储介质及电子设备
CN109343837A (zh) 游戏渲染方法及相关设备
CN106156189A (zh) 一种标签生成方法及装置、信息获取方法及装置
CN105989075A (zh) 一种浏览器显示图像的方法、装置和系统
CN107423117A (zh) 在云存储系统中虚拟机的创建方法和装置
CN108089929A (zh) 一种用插件操作应用程序的方法及装置
CN110069185A (zh) 用于联合运行寄宿应用的方法和设备
CN113419806B (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: 20200526

Address after: 310051 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 UCWEB COMPUTER TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant