CN110990088A - 数据处理方法及相关设备 - Google Patents

数据处理方法及相关设备 Download PDF

Info

Publication number
CN110990088A
CN110990088A CN201911252524.9A CN201911252524A CN110990088A CN 110990088 A CN110990088 A CN 110990088A CN 201911252524 A CN201911252524 A CN 201911252524A CN 110990088 A CN110990088 A CN 110990088A
Authority
CN
China
Prior art keywords
images
preset number
party application
hardware abstraction
module
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
CN201911252524.9A
Other languages
English (en)
Other versions
CN110990088B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201911252524.9A priority Critical patent/CN110990088B/zh
Publication of CN110990088A publication Critical patent/CN110990088A/zh
Application granted granted Critical
Publication of CN110990088B publication Critical patent/CN110990088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开一种数据处理方法及相关设备,应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述方法包括:所述第三方应用向所述操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。从而实现第三方应用直接使用系统提供的连拍功能。

Description

数据处理方法及相关设备
技术领域
本申请涉及电子设备领域,具体涉及一种数据处理方法及相关设备。
背景技术
目前,操作系统平台的第三方应用通过标准的安卓应用程序编程接口(Application Programming Interface,API)虽然具有访问底层的基本能力,但只能被动接收底层送上来的拍照数据和预览数据。若想要使用底层的更多的增强功能或通过算法处理相机拍摄到的图像,却没有相应的标准接口来映射底层的能力给第三方应用访问。因此,第三方应用实现连拍的方案是通过预览流实现的,而不能直接使用系统提供的连拍功能。
发明内容
本申请实施例提供一种数据处理方法及相关设备,以期实现第三方应用直接使用系统提供的连拍功能。
第一方面,本申请实施例提供一种数据处理方法,应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述方法包括:
所述第三方应用向所述操作系统的硬件抽象层发送数据请求;
所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;
所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;
所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
第二方面,本申请实施例提供一种数据处理装置,应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述装置包括处理单元和通信单元,其中,
所述处理单元用于:控制所述第三方应用通过所述通信单元向所述操作系统的硬件抽象层发送数据请求;以及控制所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;以及控制所述硬件抽象层通过所述通信单元向所述第三方应用发送所述第二预设数量张第二图像;以及控制所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第六方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请提供的技术方案,电子设备的操作系统中应用层设置的第三方应用向所述操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。可见,通过本申请提供的技术方案,第三方应用可以直接使用系统提供的连拍功能。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的软件架构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的另一种数据处理方法的流程示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5是本申请实施例提供的一种电子设备的结构示意图;
图6是本申请实施例提供的一种数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子设备可以是具备通信能力的电子设备,该电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。
请参阅图1,图1是本申请实施例提供的一种电子设备的软件架构示意图。如图1所示,本申请实施例所涉及的电子设备包括媒体服务模块(OMedia Service)和操作系统(例如安卓系统,此处不做唯一限定),所述操作系统的应用层设置有第三方应用和媒体软件开发工具包模块(OMedia SDK),所述操作系统的硬件抽象层设置有媒体策略模块(OMediaStrategy)、算法管理模块(Algo Manager)以及相机硬件抽象模块(Camera HAL)。其中,所述第三方应用与所述媒体软件开发工具包模块通信连接,所述媒体软件开发工具包模块与所述媒体服务模块通信连接,所述媒体服务模块与所述相机硬件抽象模块通信连接,所述相机硬件抽象模块与所述媒体策略模块通信连接,所述媒体策略模块与所述算法管理模块通信连接。另外,所述媒体服务模块还可以与所述媒体策略模块和/或所述算法管理模块通信连接。
其中,所述媒体软件开发工具包模块包含控制接口,可以获取能力值、配置能力值等信息,其不会存放静态配置信息,可以binder通信到所述媒体服务模块,将所述第三方应用配置信息传给所述媒体服务模块。
其中,所述媒体服务模块常驻系统的服务模块,在电子设备开机后就会运行、鉴权、响应所述第三方应用的配置请求,使能配置信息到底层。在本申请中,所述媒体服务模块获取到所述第三方应用的数据处理请求或者连拍请求,设置数据处理方案或者连拍方案,该数据处理方案或者连拍方案可以设置该平台支持的特效处理,例如去躁、美颜等。
其中,所述媒体策略模块为底层策略模块,其可以将所述媒体服务模块配置的信息发送到底层,转换成底层能识别的能力,防止所述第三方应用直接耦合看到底层的能力,将上层的请求转换到专有的pipeline,以及调用到算法信息。
其中,所述算法管理模块可以使能上层下发的能力配置信息,同时可以利用相应算法。
其中,所述第三方应用可以直接通知所述媒体服务模块需要数据处理或者连拍。
本申请实施例的电子设备采用基于媒体平台(OMedia)框架,让第三方应用可以使用底层连拍的pipeline,上传给第三方应用的为清晰拍照图而非预览流,还可以通过所述媒体平台设置媒体服务模块和硬件抽象层使用图像信号处理器(ISP)和系统软件提供的高分辨率、去噪和美颜等系统功能。
同时,由于使用图像信号处理器和系统软件提供的高分辨率处理会带来出图速度过慢的问题,可以通过以下方案解决该问题:底层可以做到将清晰的YUV送给第三方应用,中间可以上报缩略图给第三方应用显示,待第三方应用收到缩略图后,第三方应用再去做后处理和JPG生成。
请参阅图2,图2是本申请实施例提供的一种数据处理方法的流程示意图,所述数据处理方法可以应用于如图1所示的电子设备。
如图2所示,所述数据处理方法包括以下操作。
S201、所述第三方应用向所述操作系统的硬件抽象层发送数据请求。
举例来说,当电子设备安装的第三方应用需要使用操作系统自带的连拍功能时,第三方应用向所述操作系统的硬件抽象层发送数据请求,所述数据请求可以是对连拍得到的多张图像进行清晰度选择。可选的,所述数据请求还可以包括去噪和/或美颜等。
S202、所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的。
其中,所述第一预设数量张第一图像可以是所述硬件抽象层设置的相机硬件抽象模块控制相机驱动获取的多张连拍图像,其获取来源还可以是其他,本申请对此不作限定。
其中,需要指出的是,在第三方应用使用连拍功能之前,电子设备可以通过媒体服务模块对操作系统自带的图像处理算法进行使能,所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的,从而使得第三方应用可以直接使用操作系统自带的连拍功能及图像效果处理功能等。
S203、所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像。
S204、所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
其中,所述预设存储位置可以是所述电子设备中用于存储所述第三方应用的数据的存储位置,也可以是其他预设的存储位置。
可以看出,本申请实施例提供的数据处理方法,电子设备的操作系统中应用层设置的第三方应用向所述操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。可见,通过本申请实施例提供的数据处理方法,第三方应用可以直接使用系统提供的连拍功能及图像效果处理功能。
在一个可能的示例中,所述目标效果包括清晰度选择;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:所述硬件抽象层将所述第一预设数量张第一图像分成第二预设数量个图像组,每个图像组包括多个连续图像;针对所述每个图像组,选择当前图像组中清晰度最高的图像作为第二图像,得到第二预设数量张第二图像。
可见,本示例中,第三方应用可以直接使用系统提供的图像清晰度选择功能。
在一个可能的示例中,所述目标效果还包括去噪、美颜中的至少一种;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,还包括:针对每张第二图像,检测是否包括人脸信息;若是,则针对所述每张第二参考图像中的人脸影像信息进行去噪和/或美颜处理,得到处理后的多张第二图像。
可见,本示例中,第三方应用可以直接使用系统提供的去噪和/或美颜功能。
在一个可能的示例中,所述第三方应用向所述操作系统的硬件抽象层发送数据请求之后,所述方法还包括:所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图;所述硬件抽象层向所述第三方应用发送所述第三预设数量张缩略图;所述第三方应用将所述第三预设数量张缩略图显示在所述第三方应用的操作界面。
可见,本示例中,通过将连拍的图像生成缩略图送第三方应用显示,有利于提高连拍的出图速度,以及提高预览的流畅度。
在一个可能的示例中,所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图,包括:所述硬件抽象层根据图像的获得顺序按照预设间隔从所述第一预设数量张第一图像中提取第一目标图像,以得到第四预设数量张第一目标图像;所述硬件抽象层从所述第四预设数量张第一目标图像中选取清晰度大于预设清晰度阈值的第一目标图像,以得到第三预设数量张第一目标图像;所述硬件抽象层将所述第三预设数量张第一目标图像按照预设比例进行压缩,得到第三预设数量张缩略图。
可见,本示例中,从连拍得到的多张图像中根据图像获得顺序按照预设间隔选取图像若干张图像,然后再从若干张图像中选取清晰度大于预设清晰度阈的预设数量张图像,再对预设数量张图像进行压缩得到缩略图,用于第三方应用显示,既能保证选取图像的随机性,又能保证选取得到的图像的清晰度,从而有利于确保送显图像与连拍图像的真实性。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块和算法管理模块,所述相机硬件抽象模块连接所述算法管理模块;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:所述相机硬件抽象模块获取第一预设数量张第一图像,向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
可见,本示例中,第三方应用可以直接使用系统提供的相机硬件抽象模块获取连拍图像,以及直接使用系统提供的算法管理模块调用效果处理算法对连拍图像进行处理。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块;所述相机硬件抽象模块通过所述媒体策略模块连接所述算法管理模块;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:所述相机硬件抽象模块获取第一预设数量张第一图像,通过所述媒体策略模块向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
可见,本示例中,第三方应用可以直接使用系统提供的相机硬件抽象模块获取连拍图像,以及直接使用系统提供的算法管理模块调用效果处理算法对连拍图像进行处理。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块,所述相机硬件抽象模块连接所述媒体策略模块,所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理之前,所述方法还包括:所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息;所述媒体服务模块接收所述第一配置信息,向所述媒体策略模块发送所述第一配置信息;所述媒体策略模块接收所述第一配置信息,转换所述第一配置信息为所述算法管理模块能够识别的第二配置信息,并向所述算法管理模块发送所述第二配置信息;所述算法管理模块接收所述第二配置信息,根据所述第二配置信息开放所述第三方应用针对所述目标效果的算法的使用权限。
可见,本示例中,第三方应用向媒体服务模块发送目标效果的第一配置信息,然后媒体服务模块将第一配置信息发给媒体策略模块,媒体策略模块将第一配置信息转化成算法管理模块能够识别的第二配置信息,算法管理模块再根据第二配置信息开放目标效果的算法的使用权限,有利于使得第三方应用的可以直接使用系统提供的图像处理功能。
在一个可能的示例中,所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息之前,所述方法还包括:所述第三方应用向所述媒体服务模块发送携带有鉴权码的媒体平台版本获取请求;所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过;所述媒体服务模块向所述第三方应用发送所述媒体平台版本信息。
可见,本示例中,第三方应用请求系统开放目标效果的算法的使用权限之前,进行鉴权,有利于保证目标效果的算法开放的安全性。
在一个可能的示例中,所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过之后,所述方法还包括:所述第三方应用接收所述媒体平台版本信息,向所述媒体服务模块发送携带有所述媒体平台版本信息的能力获取请求;所述媒体服务模块接收所述能力获取请求,查询所述媒体平台版本信息的应用能力列表,向所述第三方应用发送所述应用能力列表;所述第三方应用接收所述应用能力列表,查询所述应用能力列表以获取当前媒体平台针对所述第三方应用所支持的多个安卓原生效果;以及确定所述多个安卓原生效果中被选择开放的目标效果。
可见,本示例中,校验所述鉴权码且校验通过之后,向第三方应用返回媒体平台版本信息,明确校验结果,第三方应用再向媒体服务模块请求应用能力列表,选择对第三方应用开放的目标效果,有利于准确选择开放的目标效果的处理算法对图像进行处理。
在一个可能的示例中,所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像,包括:所述硬件抽象层对所述第二预设数量张第二图像进行压缩,得到所述第二预设数量张第二图像的压缩数据;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像的压缩数据。
其中,所述硬件抽象层对所述第二预设数量张第二图像进行压缩可以是JPEG编码压缩。
可见,本示例中,对目标效果处理后的图像进行压缩后再传输给第三方应用,有利于传输的流畅性。
在一个可能的示例中,所述目标效果的算法对所述第一预设数量张第一图像进行处理的步骤如下:根据图像的获得顺序将所述第一预设数量张第一图像分成N个第一图像集合,其中,每个第一图像集合包括M张第一图像;从所述每个第一图像集合的M张第一图像中选取清晰度最高的第一图像,得到N张第二目标图像;对所述N张第二目标图像进行去噪处理,得到N张第三目标图像;根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像;将所述第二预设数量张第三目标图像作为所述第二预设数量张第二图像。
可见,本示例中,按照图像获得顺序将连拍得到的多张图像分阶段,得到若干个顺序段的图像集合;然后从图像集合中选取一张清晰度最高的图像,得到若干张最高清晰度的图像;再对若干张最高清晰度的图像进行去噪处理,得到处理后的图像,最后再从处理后的图像中根据图像质量由高到低选取,既有利于得到清晰的图像,又有利于保证处理后的图像与连拍图像的真实性。
在一个可能的示例中,所述根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像,包括:根据图像的获得顺序从所述N张第三目标图像中选取第一张获得的图像,作为基准图像;将所述基准图像分割为若干预设大小的第一像素块;根据所述基准图像确定N-1张第三目标图像的移动矢量,得到N-1个移动矢量,所述N-1个移动矢量与所述N-1张第三目标图像一一对应,所述N-1张第三目标图像是指所述基准图像之外的第三目标图像;将所述N-1张第三目标图像作为待比对图像,并分别将每张所述待比对图像分割为若干预设大小的第二像素块;根据所述每张待比对图像对应的移动矢量确定所述基准图像中与所述第二像素块对应的第一像素块;计算每张待比对图像中各个第二像素块与其对应的第一像素块中的各个像素点之间的残差值,并根据每张待比对图像对应的若干个第二像素块对应的所述残差值计算每张待比对图像对应的平均残差值;根据每张待比对图像对应的所述平均残差值由低到高从所述N-1张第三目标图像中选取第二预设数量张第二图像。
可见,本示例中,通过设定基准图像,以及获取连拍图像中的每张图像相对于基准图像的移动矢量,对每张图像进行分块,根据移动矢量将每张图像的每张像素块在基准图像中对应的像素块,然后计算对应的残差值以及平均残差值,再根据平均残差值高低选取图像,有利于保证从效果处理后的图像中选取的图像与原始图像的真实度。
在一个可能的示例中,在根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像之前,所述目标效果的算法对所述第一预设数量张第一图像进行处理的步骤还包括:检测所述第三目标图像中是否存在人脸;若所述第三目标图像中存在人脸,则对所述第三目标图像中的人脸进行美颜处理。
可见,本示例中,检测到连拍图像中存在人脸时,对人脸进行美颜处理,从而第三方应用可以使用系统的更多连拍功能。
请参阅图3,图3是本申请实施例提供了一种数据处理方法的流程示意图,所述数据处理方法可以应用于如图1所示的电子设备。
如图3所示,所述数据处理方法包括以下操作。
S301、所述第三方应用通过所述媒体软件开发工具包模块向所述媒体服务模块发送连拍请求。
其中,所述第三方应用与所述媒体软件开发工具包模块通信连接,该媒体软件开发工具包模块还与媒体服务模块通信连接,故第三方应用和媒体服务模块能通过媒体软件开发工具包模块进行通信。
S302、所述媒体服务模块根据所述连拍请求确定连拍的效果处理方案,并向所述相机硬件抽象模块发送所述连拍请求和所述效果处理方案。
也即媒体服务模块对连拍请求做初步分析,确定本次连拍对应的效果处理方案,然后下发给底层的相机硬件抽象模块去执行。举例来说,在夜间采用第三个相机应用对某栋建筑物进行连拍,需要增加图像的对比度以使得建筑物凸显,去掉图像中的模糊和噪声,以及对连拍图像中的建筑物几何畸变进行修正,则媒体服务模块可以根据这些需要确定连拍该建筑物对应的效果处理方案,然后媒体服务模块将第三方应用拍摄该建筑物的连拍请求以及对应的效果处理方案下发给底层的相机硬件抽象模块去执行。
S303、所述相机硬件抽象模块根据所述连拍请求获取第一预设数量张第一图像。
举例来说,相机硬件抽象模块在接收到媒体服务模块发送的拍摄该建筑物的连拍请求后,相机硬件抽象模块控制驱动采集30fps数据作为本次连拍的数据帧,得到一定数量的该建筑物的第一图像。
S304、所述相机硬件抽象模块根据所述第一预设数量张第一图像生成第三预设数量张缩略图。
其中,需要指出的是,生成的第三预设数量张缩略图是用于在第三发相机应用显示的,所述缩略图的大小较小,因此可以对所述第一图像进行处理生成分辨率较小的图像。例如,可以对所述第一预设数量张第一图像进行压缩,生成10fps缩略图。
S305、所述相机硬件抽象模块向所述媒体策略模块发送所述效果处理方案和所述第一预设数量张第一图像,以及向所述第三方应用发送所述第三预设数量张缩略图。
其中,所述媒体策略模块可以调用到效果处理算法信息。因此,将相机硬件抽象模块连拍的处理方案和需要进行效果处理的第一图像发送给所述媒体策略模块,以获取本次连拍效果处理方案对应的效果处理算法信息。
其中,向所述第三方应用发送的所述第三预设数量张缩略图是用于所述第三方应用供显示的,由于送显是缩略图,会减少带宽、处理等,可以达到降低功耗的目的。
S306、所述媒体策略模块根据所述效果处理方案获取对应的效果处理算法信息,并向所述算法管理模块发送所述第一预设数量张第一图像和所述效果处理算法信息。
其中,算法管理模块也即算法管理模块,可以调用图像的效果处理算法,因此媒体策略模块确定了本次连拍的效果处理算法具体是电子设备中存储的哪一个算法后,媒体策略模块发送通知,告知算法管理模块去调用该算法对连拍得到的第一图像进行处理,故媒体策略模块还将连拍得到的第一图像一并发送给算法管理模块。
S307、所述算法管理模块根据所述效果处理算法信息调用相应的效果处理算法对所述第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
也即算法管理模块调用效果处理算法对驱动上传的数据帧进行处理,例如先做清晰度选择,平均每3帧选1帧最清晰的;如果检测到人脸信息,还可以做去噪、美颜等。
举例来说,连拍图像是夜间的建筑物,需要增加图像的对比度以使得建筑物凸显,去掉图像中的模糊和噪声,以及对连拍图像中的建筑物几何畸变进行修正。算法管理模块调用对比度增加算法、去模糊和噪声算法、几何畸变修正算法对该建筑物的第一图像进行处理,得到了清晰的高质量的该建筑物的第三图像。
S308、所述算法管理模块向所述第三方应用发送所述第二预设数量张第二图像。
也即算法管理模块将处理后的图像发给第三方应用,从而第三方应用可以直接调用电子设备系统的连拍功能。例如,选择出处理效果最好的10fps数据帧(大图YUV),利用硬件JPEG编码压缩后再发送给第三方应用。
S309、所述第三方应用将所述第三预设数量张缩略图显示在所述第三方应用的操作界面。
其中,可以理解的是,通过缩略图送第三方应用显示,可以提高预览的流畅度。
S310、所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
举例来说,连拍图像是夜间的建筑物,进行对比度增加、去模糊和噪声、几何畸变修正处理后的该建筑物清晰的高质量图像存储在预设的存储位置。
可以看出,本申请实施例提供的数据处理方法,电子设备中的第三方应用通过媒体软件开发工具包模块向媒体服务模块发送连拍请求;媒体服务模块根据连拍请求确定连拍的效果处理方案,并将效果处理方案发送给相机硬件抽象模块;相机硬件抽象模块获取第一预设数量张第一图像,并根据第一预设数量张第一图像生成第三预设数量张缩略图,再将效果处理方案和第一预设数量张第一图像发送给媒体策略模块,以及将第三预设数量张缩略图发送给第三方应用;媒体策略模块从效果处理方案中获取对应的效果处理算法信息,并将效果处理算法信息发送给算法管理模块;算法管理模块调用相应的效果处理算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,并将第二预设数量张第二图像发送给第三方应用;第三方应用将第三预设数量张缩略图显示在其操作界面,并将第二预设数量张第二图像存储在预设存储位置。可见,通过本申请实施例提供的数据处理方法,第三方应用可以直接使用系统提供的连拍功能,实现清晰连拍。
请参阅图4,图4是本申请实施例提供了一种数据处理方法的流程示意图,所述数据处理方法可以应用于如图1所示的电子设备。
如图4所示,所述数据处理方法包括以下操作。
S401、在开启第三方应用的相机时,所述第三方应用向媒体服务模块发送连拍请求。
举例来说,当用户在使用第三方应用时,其需要进行连拍,点击第三方应用中的拍照按钮,开启了第三方应用的相机,则向媒体服务模块发送连拍请求。
S402、所述媒体服务模块对所述连拍请求进行分析,设置连拍方案,并向相机硬件抽象模块发送所述连拍请求和所述连拍方案。
其中,可以理解的是,所述连拍方案包括连拍效果处理方案,所述媒体服务模块在接收到不同的连拍请求之后,对连拍请求进行分析,确定连拍的效果处理方案。
S403、所述相机硬件抽象模块接收所述连拍请求和所述连拍方案,并根据所述连拍请求向底层驱动发送拍照请求。
S404、所述底层驱动接收所述拍照请求,并根据所述拍照请求采集图像,以及向所述相机硬件抽象模块发送采集到的图像。
举例来说,电子设备的底层硬件相机开启后,会采集图像数据。
S405、所述相机硬件抽象模块根据所述采集到的图像生成缩略图,并向所述第三方应用发送所述缩略图。
S406、所述第三方应用将所述缩略图显示在所述第三方应用的界面上。
S407、所述相机硬件抽象模块根据连拍方案对所述采集到的图像进行连拍效果处理。
S408、所述相机硬件抽象模块将从处理之后的图像中选定的数据帧向所述第三方应用发送。
S409、所述第三方应用将所述数据帧存储在指定的存储位置。
可以看出,本申请实施例提供的数据处理方法,第三方应用向媒体服务发送连拍请求;媒体服务根据连拍请求确定连拍的效果处理方案,以及通过底层驱动采集图像;根据连拍图像生成缩略图发送给第三方应用;调用系统的效果处理算法对连拍图像进行处理,得到清晰的连拍图像,并将清晰的连拍图像发送给第三方应用;第三方应用将缩略图在其操作界面,并将清晰的连拍图像存储在预设存储位置,从而实现第三方应用直接使用系统提供的连拍功能。
与上述图2、图3和图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种电子设备500的结构示意图。如图5所示,所述电子设备500包括应用处理器510、存储器520、通信接口530以及一个或多个程序521,其中,所述一个或多个程序521被存储在上述存储器520中,并且被配置由上述应用处理器510执行,所述一个或多个程序521包括用于执行上述方法实施例中任一步骤的指令。
在一个可能的示例中,所述程序521中包括用于执行以下步骤的指令:所述第三方应用向所述操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
可以看出,本申请实施例提供的电子设备,第三方应用向操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。可见,通过本申请实施例提供的电子设备,第三方应用可以直接使用系统提供的连拍功能及图像效果处理功能。
在一个可能的示例中,所述目标效果包括清晰度选择;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述程序521中的指令具体用于执行以下操作:所述硬件抽象层将所述第一预设数量张第一图像分成第二预设数量个图像组,每个图像组包括多个连续图像;针对所述每个图像组,选择当前图像组中清晰度最高的图像作为第二图像,得到第二预设数量张第二图像。
在一个可能的示例中,所述目标效果还包括去噪、美颜中的至少一种;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述程序521中的指令具体还用于执行以下操作:针对每张第二图像,检测是否包括人脸信息;若是,则针对所述每张第二参考图像中的人脸影像信息进行去噪和/或美颜处理,得到处理后的多张第二图像。
在一个可能的示例中,所述第三方应用向所述操作系统的硬件抽象层发送数据请求之后,所述程序521中的指令还用于执行以下操作:所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图;所述硬件抽象层向所述第三方应用发送所述第三预设数量张缩略图;所述第三方应用将所述第三预设数量张缩略图显示在所述第三方应用的操作界面。
在一个可能的示例中,在所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图方面,所述程序521中的指令具体还用于执行以下操作:所述硬件抽象层根据图像的获得顺序按照预设间隔从所述第一预设数量张第一图像中提取第一目标图像,以得到第四预设数量张第一目标图像;所述硬件抽象层从所述第四预设数量张第一目标图像中选取清晰度大于预设清晰度阈值的第一目标图像,以得到第三预设数量张第一目标图像;所述硬件抽象层将所述第三预设数量张第一目标图像按照预设比例进行压缩,得到第三预设数量张缩略图。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块和算法管理模块,所述相机硬件抽象模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述程序521中的指令具体用于执行以下操作:所述相机硬件抽象模块获取第一预设数量张第一图像,向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块;所述相机硬件抽象模块通过所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述程序521中的指令具体用于执行以下操作:所述相机硬件抽象模块获取第一预设数量张第一图像,通过所述媒体策略模块向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块,所述相机硬件抽象模块连接所述媒体策略模块,所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理之前,所述程序521中的指令还用于执行以下操作:所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息;所述媒体服务模块接收所述第一配置信息,向所述媒体策略模块发送所述第一配置信息;所述媒体策略模块接收所述第一配置信息,转换所述第一配置信息为所述算法管理模块能够识别的第二配置信息,并向所述算法管理模块发送所述第二配置信息;所述算法管理模块接收所述第二配置信息,根据所述第二配置信息开放所述第三方应用针对所述目标效果的算法的使用权限。
在一个可能的示例中,所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息之前,所述程序521中的指令还用于执行以下操作:所述第三方应用向所述媒体服务模块发送携带有鉴权码的媒体平台版本获取请求;所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过;所述媒体服务模块向所述第三方应用发送所述媒体平台版本信息。
在一个可能的示例中,在所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过之后,所述程序521中的指令还用于执行以下操作:所述第三方应用接收所述媒体平台版本信息,向所述媒体服务模块发送携带有所述媒体平台版本信息的能力获取请求;所述媒体服务模块接收所述能力获取请求,查询所述媒体平台版本信息的应用能力列表,向所述第三方应用发送所述应用能力列表;所述第三方应用接收所述应用能力列表,查询所述应用能力列表以获取当前媒体平台针对所述第三方应用所支持的多个安卓原生效果;以及确定所述多个安卓原生效果中被选择开放的目标效果。
在一个可能的示例中,在所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像方面,所述程序521中的指令具体用于执行以下操作:所述硬件抽象层对所述第二预设数量张第二图像进行压缩,得到所述第二预设数量张第二图像的压缩数据;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像的压缩数据。
在一个可能的示例中,在所述目标效果的算法对所述第一预设数量张第一图像进行处理方面,所述程序521中的指令具体用于执行以下操作:根据图像的获得顺序将所述第一预设数量张第一图像分成N个第一图像集合,其中,每个第一图像集合包括M张第一图像;从所述每个第一图像集合的M张第一图像中选取清晰度最高的第一图像,得到N张第二目标图像;对所述N张第二目标图像进行去噪处理,得到N张第三目标图像;根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像;将所述第二预设数量张第三目标图像作为所述第二预设数量张第二图像。
在一个可能的示例中,在所述根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像方面,所述程序521中的指令具体用于执行以下操作:根据图像的获得顺序从所述N张第三目标图像中选取第一张获得的图像,作为基准图像;将所述基准图像分割为若干预设大小的第一像素块;根据所述基准图像确定N-1张第三目标图像的移动矢量,得到N-1个移动矢量,所述N-1个移动矢量与所述N-1张第三目标图像一一对应,所述N-1张第三目标图像是指所述基准图像之外的第三目标图像;将所述N-1张第三目标图像作为待比对图像,并分别将每张所述待比对图像分割为若干预设大小的第二像素块;根据所述每张待比对图像对应的移动矢量确定所述基准图像中与所述第二像素块对应的第一像素块;计算每张待比对图像中各个第二像素块与其对应的第一像素块中的各个像素点之间的残差值,并根据每张待比对图像对应的若干个第二像素块对应的所述残差值计算每张待比对图像对应的平均残差值;根据每张待比对图像对应的所述平均残差值由低到高从所述N-1张第三目标图像中选取第二预设数量张第二图像。
在一个可能的示例中,在根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像之前,所述程序521中的指令还用于执行以下操作:检测所述第三目标图像中是否存在人脸;若所述第三目标图像中存在人脸,则对所述第三目标图像中的人脸进行美颜处理。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图6,图6是本申请实施例中所涉及的数据处理装置600的功能单元组成框图。所述数据处理装置600应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述操作系统的硬件抽象层设置有相机硬件抽象模块,所述数据处理装置600包括处理单元601和通信单元602,其中,所述处理单元601,用于执行如上述方法实施例中的任一步骤,且在执行诸如发送等数据传输时,可选择的调用所述通信单元602来完成相应操作。下面进行详细说明。
在一个可能的示例中,所述处理单元601用于:控制所述第三方应用通过所述通信单元向所述操作系统的硬件抽象层发送数据请求;以及控制所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;以及控制所述硬件抽象层通过所述通信单元向所述第三方应用发送所述第二预设数量张第二图像;以及控制所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
可以看出,本申请实施例提供的数据处理装置,第三方应用向操作系统的硬件抽象层发送数据请求;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。可见,通过本申请实施例提供的数据处理装置,使得第三方应用可以直接使用系统提供的连拍功能及图像效果处理功能。
在一个可能的示例中,所述目标效果包括清晰度选择;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述处理单元601具体用于控制:所述硬件抽象层将所述第一预设数量张第一图像分成第二预设数量个图像组,每个图像组包括多个连续图像;针对所述每个图像组,选择当前图像组中清晰度最高的图像作为第二图像,得到第二预设数量张第二图像。
在一个可能的示例中,所述目标效果还包括去噪、美颜中的至少一种;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述处理单元601具体用于控制:针对每张第二图像,检测是否包括人脸信息;若是,则针对所述每张第二参考图像中的人脸影像信息进行去噪和/或美颜处理,得到处理后的多张第二图像。
在一个可能的示例中,所述第三方应用向所述操作系统的硬件抽象层发送数据请求之后,所述处理单元601具体用于控制:所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图;所述硬件抽象层向所述第三方应用发送所述第三预设数量张缩略图;所述第三方应用将所述第三预设数量张缩略图显示在所述第三方应用的操作界面。
在一个可能的示例中,在所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图方面,所述处理单元601具体用于控制:所述硬件抽象层根据图像的获得顺序按照预设间隔从所述第一预设数量张第一图像中提取第一目标图像,以得到第四预设数量张第一目标图像;所述硬件抽象层从所述第四预设数量张第一目标图像中选取清晰度大于预设清晰度阈值的第一目标图像,以得到第三预设数量张第一目标图像;所述硬件抽象层将所述第三预设数量张第一目标图像按照预设比例进行压缩,得到第三预设数量张缩略图。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块和算法管理模块,所述相机硬件抽象模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述处理单元601具体用于控制:所述相机硬件抽象模块获取第一预设数量张第一图像,向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块;所述相机硬件抽象模块通过所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像方面,所述处理单元601具体用于控制:所述相机硬件抽象模块获取第一预设数量张第一图像,通过所述媒体策略模块向所述算法管理模块发送所述第一预设数量张第一图像;所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
在一个可能的示例中,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块,所述相机硬件抽象模块连接所述媒体策略模块,所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理之前,所述处理单元601具体用于控制:所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息;所述媒体服务模块接收所述第一配置信息,向所述媒体策略模块发送所述第一配置信息;所述媒体策略模块接收所述第一配置信息,转换所述第一配置信息为所述算法管理模块能够识别的第二配置信息,并向所述算法管理模块发送所述第二配置信息;所述算法管理模块接收所述第二配置信息,根据所述第二配置信息开放所述第三方应用针对所述目标效果的算法的使用权限。
在一个可能的示例中,所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息之前,所述处理单元601具体用于控制:所述第三方应用向所述媒体服务模块发送携带有鉴权码的媒体平台版本获取请求;所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过;所述媒体服务模块向所述第三方应用发送所述媒体平台版本信息。
在一个可能的示例中,在所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过之后,所述处理单元601具体用于控制:所述第三方应用接收所述媒体平台版本信息,向所述媒体服务模块发送携带有所述媒体平台版本信息的能力获取请求;所述媒体服务模块接收所述能力获取请求,查询所述媒体平台版本信息的应用能力列表,向所述第三方应用发送所述应用能力列表;所述第三方应用接收所述应用能力列表,查询所述应用能力列表以获取当前媒体平台针对所述第三方应用所支持的多个安卓原生效果;以及确定所述多个安卓原生效果中被选择开放的目标效果。
在一个可能的示例中,在所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像方面,所述处理单元601具体用于控制:所述硬件抽象层对所述第二预设数量张第二图像进行压缩,得到所述第二预设数量张第二图像的压缩数据;所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像的压缩数据。
在一个可能的示例中,在所述目标效果的算法对所述第一预设数量张第一图像进行处理方面,所述处理单元601具体用于:根据图像的获得顺序将所述第一预设数量张第一图像分成N个第一图像集合,其中,每个第一图像集合包括M张第一图像;从所述每个第一图像集合的M张第一图像中选取清晰度最高的第一图像,得到N张第二目标图像;对所述N张第二目标图像进行去噪处理,得到N张第三目标图像;根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像;将所述第二预设数量张第三目标图像作为所述第二预设数量张第二图像。
在一个可能的示例中,在所述根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像方面,所述处理单元601具体用于:根据图像的获得顺序从所述N张第三目标图像中选取第一张获得的图像,作为基准图像;将所述基准图像分割为若干预设大小的第一像素块;根据所述基准图像确定N-1张第三目标图像的移动矢量,得到N-1个移动矢量,所述N-1个移动矢量与所述N-1张第三目标图像一一对应,所述N-1张第三目标图像是指所述基准图像之外的第三目标图像;将所述N-1张第三目标图像作为待比对图像,并分别将每张所述待比对图像分割为若干预设大小的第二像素块;根据所述每张待比对图像对应的移动矢量确定所述基准图像中与所述第二像素块对应的第一像素块;计算每张待比对图像中各个第二像素块与其对应的第一像素块中的各个像素点之间的残差值,并根据每张待比对图像对应的若干个第二像素块对应的所述残差值计算每张待比对图像对应的平均残差值;根据每张待比对图像对应的所述平均残差值由低到高从所述N-1张第三目标图像中选取第二预设数量张第二图像。
在一个可能的示例中,在根据图像质量由高到低从所述N张第三目标图像中选取第二预设数量张第三目标图像之前,所述处理单元601具体用于:检测所述第三目标图像中是否存在人脸;若所述第三目标图像中存在人脸,则对所述第三目标图像中的人脸进行美颜处理。
其中,所述数据处理装置600还可以包括存储单元603,用于存储电子设备的程序代码和数据。所述处理单元601可以是处理器,所述通信单元602可以是触控显示屏或者收发器,存储单元603可以是存储器。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
本申请实施例还提供了一种芯片,其中,该芯片包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述方法实施例中电子设备所描述的部分或全部步骤。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种数据处理方法,其特征在于,应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述方法包括:
所述第三方应用向所述操作系统的硬件抽象层发送数据请求;
所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;
所述硬件抽象层向所述第三方应用发送所述第二预设数量张第二图像;
所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
2.根据权利要求1所述的方法,其特征在于,所述目标效果包括清晰度选择;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:
所述硬件抽象层将所述第一预设数量张第一图像分成第二预设数量个图像组,每个图像组包括多个连续图像;
针对所述每个图像组,选择当前图像组中清晰度最高的图像作为第二图像,得到第二预设数量张第二图像。
3.根据权利要求2所述的方法,其特征在于,所述目标效果还包括去噪、美颜中的至少一种;所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,还包括:
针对每张第二图像,检测是否包括人脸信息;
若是,则针对所述每张第二参考图像中的人脸影像信息进行去噪和/或美颜处理,得到处理后的多张第二图像。
4.根据权利要求3所述的方法,其特征在于,所述第三方应用向所述操作系统的硬件抽象层发送数据请求之后,所述方法还包括:
所述硬件抽象层根据所述第一预设数量张第一图像生成第三预设数量张缩略图;
所述硬件抽象层向所述第三方应用发送所述第三预设数量张缩略图;
所述第三方应用将所述第三预设数量张缩略图显示在所述第三方应用的操作界面。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述硬件抽象层设置有相机硬件抽象模块和算法管理模块,所述相机硬件抽象模块连接所述算法管理模块;
所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:
所述相机硬件抽象模块获取第一预设数量张第一图像,向所述算法管理模块发送所述第一预设数量张第一图像;
所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块;所述相机硬件抽象模块通过所述媒体策略模块连接所述算法管理模块;
所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,包括:
所述相机硬件抽象模块获取第一预设数量张第一图像,通过所述媒体策略模块向所述算法管理模块发送所述第一预设数量张第一图像;
所述算法管理模块接收所述第一预设数量张第一图像,调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述硬件抽象层设置有相机硬件抽象模块、媒体策略模块和算法管理模块,所述相机硬件抽象模块连接所述媒体策略模块,所述媒体策略模块连接所述算法管理模块;在所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理之前,所述方法还包括:
所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息;
所述媒体服务模块接收所述第一配置信息,向所述媒体策略模块发送所述第一配置信息;
所述媒体策略模块接收所述第一配置信息,转换所述第一配置信息为所述算法管理模块能够识别的第二配置信息,并向所述算法管理模块发送所述第二配置信息;
所述算法管理模块接收所述第二配置信息,根据所述第二配置信息开放所述第三方应用针对所述目标效果的算法的使用权限。
8.根据权利要求7所述的方法,其特征在于,所述第三方应用向所述媒体服务模块发送携带有所述目标效果的第一配置信息之前,所述方法还包括:
所述第三方应用向所述媒体服务模块发送携带有鉴权码的媒体平台版本获取请求;
所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过;
所述媒体服务模块向所述第三方应用发送所述媒体平台版本信息。
9.根据权利要求8所述的方法,其特征在于,所述媒体服务模块接收所述媒体平台版本获取请求,校验所述鉴权码且校验通过之后,所述方法还包括:
所述第三方应用接收所述媒体平台版本信息,向所述媒体服务模块发送携带有所述媒体平台版本信息的能力获取请求;
所述媒体服务模块接收所述能力获取请求,查询所述媒体平台版本信息的应用能力列表,向所述第三方应用发送所述应用能力列表;
所述第三方应用接收所述应用能力列表,查询所述应用能力列表以获取当前媒体平台针对所述第三方应用所支持的多个安卓原生效果;以及确定所述多个安卓原生效果中被选择开放的目标效果。
10.一种数据处理装置,其特征在于,应用于电子设备,所述电子设备包括媒体服务模块和操作系统,所述操作系统的应用层设置有第三方应用,所述装置包括处理单元和通信单元,其中,
所述处理单元用于:控制所述第三方应用通过所述通信单元向所述操作系统的硬件抽象层发送数据请求;以及控制所述硬件抽象层调用用于实现目标效果的算法对第一预设数量张第一图像进行处理,得到第二预设数量张第二图像,所述目标效果的算法是通过所述媒体服务模块预先请求所述操作系统针对所述第三方应用开放的;以及控制所述硬件抽象层通过所述通信单元向所述第三方应用发送所述第二预设数量张第二图像;以及控制所述第三方应用将所述第二预设数量张第二图像存储在预设存储位置。
11.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1-9中任一项所述的方法。
12.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-9任一项所述的方法中的步骤的指令。
13.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-9任一项所述的方法。
CN201911252524.9A 2019-12-09 2019-12-09 数据处理方法及相关设备 Active CN110990088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911252524.9A CN110990088B (zh) 2019-12-09 2019-12-09 数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911252524.9A CN110990088B (zh) 2019-12-09 2019-12-09 数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN110990088A true CN110990088A (zh) 2020-04-10
CN110990088B CN110990088B (zh) 2023-08-11

Family

ID=70091502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911252524.9A Active CN110990088B (zh) 2019-12-09 2019-12-09 数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN110990088B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112672046A (zh) * 2020-12-18 2021-04-16 闻泰通讯股份有限公司 连拍图像的存储方法、装置、电子设备和存储介质
WO2021115038A1 (zh) * 2019-12-09 2021-06-17 Oppo广东移动通信有限公司 一种应用数据处理方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101622641A (zh) * 2007-09-05 2010-01-06 索尼株式会社 图像选择设备、图像选择方法和程序
US20180027177A1 (en) * 2015-03-23 2018-01-25 Intel Corporation Workload scheduler for computing devices with camera
CN108022274A (zh) * 2017-11-29 2018-05-11 广东欧珀移动通信有限公司 图像处理方法、装置、计算机设备和计算机可读存储介质
CN109101352A (zh) * 2018-08-30 2018-12-28 Oppo广东移动通信有限公司 算法架构、算法调用方法、装置、存储介质及移动终端
CN109978774A (zh) * 2017-12-27 2019-07-05 展讯通信(上海)有限公司 多帧连续等曝光图像的去噪融合方法及装置
CN110113483A (zh) * 2019-04-19 2019-08-09 华为技术有限公司 使用电子设备的增强功能的方法及相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101622641A (zh) * 2007-09-05 2010-01-06 索尼株式会社 图像选择设备、图像选择方法和程序
US20180027177A1 (en) * 2015-03-23 2018-01-25 Intel Corporation Workload scheduler for computing devices with camera
CN108022274A (zh) * 2017-11-29 2018-05-11 广东欧珀移动通信有限公司 图像处理方法、装置、计算机设备和计算机可读存储介质
CN109978774A (zh) * 2017-12-27 2019-07-05 展讯通信(上海)有限公司 多帧连续等曝光图像的去噪融合方法及装置
CN109101352A (zh) * 2018-08-30 2018-12-28 Oppo广东移动通信有限公司 算法架构、算法调用方法、装置、存储介质及移动终端
CN110113483A (zh) * 2019-04-19 2019-08-09 华为技术有限公司 使用电子设备的增强功能的方法及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021115038A1 (zh) * 2019-12-09 2021-06-17 Oppo广东移动通信有限公司 一种应用数据处理方法及相关装置
CN112672046A (zh) * 2020-12-18 2021-04-16 闻泰通讯股份有限公司 连拍图像的存储方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN110990088B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
CN111277779B (zh) 一种视频处理方法及相关装置
CN106911943B (zh) 一种视频展示方法、装置及存储介质
CN110995994B (zh) 图像拍摄方法及相关装置
CN102868859B (zh) 多个终端组网实现媒体拍摄的方法、系统、以及终端
CN110958399B (zh) 高动态范围图像hdr实现方法及相关产品
CN107040794A (zh) 视频播放方法、服务器、虚拟现实设备以及全景虚拟现实播放系统
CN107818553B (zh) 图像灰度值调整方法和装置
CN110177210B (zh) 拍照方法及相关装置
US20190166410A1 (en) Methods for streaming visible blocks of volumetric video
CN110990088B (zh) 数据处理方法及相关设备
CN113691737B (zh) 视频的拍摄方法、设备、存储介质
CN110740316A (zh) 数据编码方法及装置
KR102164686B1 (ko) 타일 영상의 영상 처리 방법 및 장치
CN109982091A (zh) 一种图像的处理方法及装置
CN115883962A (zh) 摄像头控制方法、系统、电子设备和存储介质
CN114466145B (zh) 视频处理方法、装置、设备和存储介质
CN110941413B (zh) 显示画面的生成方法及相关装置
CN104135627A (zh) 物体运动轨迹拍摄方法和系统
JP2011129995A (ja) 通信端末装置、通信端末装置の画像処理方法およびプログラム、画像通信システム
CN110941344B (zh) 获取注视点数据的方法及相关装置
CN108924411B (zh) 拍照控制方法及装置
KR102524987B1 (ko) 스트리밍 컨텐츠 제공 방법, 스트리밍 컨텐츠 저장 방법 및 이를 위한 장치
KR20160148836A (ko) 하위 호환성을 고려한 hdr 영상 복호화 장치에서 다이나믹 레인지 매핑 정보를 이용하는 방법 및 장치
CN111093029A (zh) 图像处理方法及相关装置
CN112541858A (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
GR01 Patent grant
GR01 Patent grant