CN109101352A - 算法架构、算法调用方法、装置、存储介质及移动终端 - Google Patents

算法架构、算法调用方法、装置、存储介质及移动终端 Download PDF

Info

Publication number
CN109101352A
CN109101352A CN201811003849.9A CN201811003849A CN109101352A CN 109101352 A CN109101352 A CN 109101352A CN 201811003849 A CN201811003849 A CN 201811003849A CN 109101352 A CN109101352 A CN 109101352A
Authority
CN
China
Prior art keywords
algorithm
layer
platform
adaptation layer
interface
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
CN201811003849.9A
Other languages
English (en)
Other versions
CN109101352B (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 CN201811003849.9A priority Critical patent/CN109101352B/zh
Publication of CN109101352A publication Critical patent/CN109101352A/zh
Application granted granted Critical
Publication of CN109101352B publication Critical patent/CN109101352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例公开了算法架构、算法调用方法、装置、存储介质及移动终端。该算法架构包括:平台适配层、算法适配层和算法实现层。平台适配层用于将相机***硬件抽象层与算法实现层进行分离,并负责所述相机***硬件抽象层与所述算法实现层之间的通信;算法适配层用于接受平台适配层的调用,并负责平台适配层的业务实现;算法实现层用于接受算法适配层的调用,以对注册到图像处理算法架构的算法进行实现。本申请实施例通过采用上述技术方案,可以将算法实现层从相机***硬件抽象层中抽离出来,当移动终端的***平台发生变更时,无需将算法实现层重新写入新的平台中,保证图像处理算法架构能够跨平台复用,降低移动终端的开发成本。

Description

算法架构、算法调用方法、装置、存储介质及移动终端
技术领域
本申请实施例涉及计算机技术领域,尤其涉及算法架构、算法调用方法、装置、存储介质及移动终端。
背景技术
目前,拍照功能已成为多数移动终端的标准配置,终端用户可通过随身携带的移动终端随时记录身边的美好瞬间。
随着移动终端智能化的快速发展,许多移动终端的拍照功能下都具备图像处理功能,可以帮助用户轻松快捷地拍摄出经过美化处理的照片。然而,随着图像处理功能越来越丰富,图像处理算法大量增加,相关技术中的图像处理算法架构已出现各种缺点,需要改进。
发明内容
本申请实施例提供算法架构、算法调用方法、装置、存储介质及移动终端,可以优化图像处理算法架构的相关方案。
第一方面,本申请实施例提供了一种图像处理算法架构,包括:平台适配层、算法适配层和算法实现层;
所述平台适配层,用于将相机***硬件抽象层与所述算法实现层进行分离,并负责所述相机***硬件抽象层与所述算法实现层之间的通信;
所述算法适配层,用于接受所述平台适配层的调用,并负责所述平台适配层的业务实现;
所述算法实现层,用于接受所述算法适配层的调用,以对注册到所述图像处理算法架构的算法进行实现。
进一步的,该算法架构还包括:处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用。
第二方面,本申请实施例提供了一种算法调用方法,应用于本申请实施例提供的图像处理算法架构,该方法包括:
通过相机***硬件抽象层接收第一算法调用行为;
确定待处理的第一目标图像;
根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
第三方面,本申请实施例提供了一种算法调用方法,应用于本申请实施例第一方面进一步提供的图像处理算法架构,该方法包括:
接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序;
确定待处理的第二目标图像;
根据所述算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
第四方面,本申请实施例提供了一种算法调用装置,应用于本申请实施例提供的图像处理算法架构,该装置包括:
调用行为接收模块,用于通过相机***硬件抽象层接收第一算法调用行为;
第一图像确定模块,用于确定待处理的第一目标图像;
第一算法调用模块,用于根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
第五方面,本申请实施例提供了一种算法调用装置,应用于本申请实施例第一方面进一步提供的图像处理算法架构,该装置包括:
调用请求接收模块,用于接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序;
第二图像确定模块,用于确定待处理的第二目标图像;
第二算法调用模块,用于根据所述算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括本申请实施例提供的图像处理算法架构。
第七方面,本申请实施例提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述计算机程序包括本申请实施例提供的图像处理算法架构。
本申请实施例中提供的图像处理算法架构,包括平台适配层、算法适配层和算法实现层。其中,平台适配层用于将相机***硬件抽象层与所述算法实现层进行分离,并负责相机***硬件抽象层与算法实现层之间的通信;算法适配层,用于接受平台适配层的调用,并负责平台适配层的业务实现;算法实现层,用于接受算法适配层的调用,以对注册到图像处理算法架构的算法进行实现。通过采用上述技术方案,可以将算法实现层从相机***硬件抽象层中抽离出来,当移动终端的***平台发生变更时,无需将算法实现层重新写入新的平台中,保证图像处理算法架构能够跨平台复用,降低移动终端的开发成本。
附图说明
图1为相关技术中的一种图像处理算法架构示意图;
图2为本申请实施例提供的一种图像处理算法架构示意图;
图3为本申请实施例提供的一种平台适配层示意图;
图4为本申请实施例提供的一种算法适配层示意图;
图5为本申请实施例提供的又一种图像处理算法架构示意图;
图6本申请实施例提供的一种算法调用方法的流程示意图;
图7本申请实施例提供的另一种算法调用方法的流程示意图;
图8为本申请实施例提供的一种预览调用流程示意图;
图9为本申请实施例提供的一种拍照调用流程示意图;
图10为本申请实施例提供的一种第一应用调用流程示意图;
图11为本申请实施例提供的一种算法调用装置的结构框图;
图12为本申请实施例提供的一种算法调用装置的结构框图;
图13为本申请实施例提供的一种移动终端的结构示意图;
图14为本申请实施例提供的又一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在相关技术中,移动终端生产商为了丰富移动终端自身的图像处理功能,通常会自己研发图像处理算法或按照自身需求委托第三方公司代为研发图像处理算法,这些图像处理算法一般以算法开发包(Algorithm Software Development Kit,Algo SDK)的形式存在于算法实现层中,又称算法逻辑层。图1为相关技术中的一种图像处理算法架构示意图,如图1所示,相机***服务端(Cameraserver)110用于与相机***客户端(Cameraclient)进行通信,相机***服务端110通过调用相机***硬件抽象层(Camera HAL)120的代码实现具体功能,而算法实现层121处于相机***硬件抽象层中。硬件抽象层(HardwareAbstraction Layer,HAL)是位于操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。本申请实施例中对移动终端中安装的操作***不做限定,为了便于说明,下面将以安卓(Android)操作***为例进行说明。安卓操作***中的相机***(也称相机子***)的整体框架可以看成是一个客户端/服务端(client/service)的架构,其中的service端主要负责和***内核层(linux kernel)中的相机***驱动(camera driver)交互,收集camera driver传上来的数据,并交给显示***(surface)显示。service端一般实现在动态库libcameraservice.so中,service端调用Camera HAL的代码实现具体功能,camera HAL一般实现为一个动态库,如libcamera.so。移动终端中关于相机功能的相关功能调用最终会调用到HAL层这里,Camera HAL层的实现是主要的工作,它一般通过V4L2 command从linux kernel中的camera driver得到预览(preview)数据,然后交给surface(overlay)显示或者保存为文件。
对于Android来说Cameraserver是谷歌(Google)原生,而Camera HAL是平台原生,由于将图像处理算法写入了Camera HAL中,那么当***平台(可包括芯片平台和***版本)发生变化时,就需要将图像处理算法重新写入新的平台中的Camera HAL中,也即不同平台有不同的接入方式,每次版本升级或者更换平台,都需要重新做算法移植,另外,由于平台变更,还需要重新了解新的平台架构,且需要熟知算法逻辑才能够成功完成算法的重新植入,为移动终端开发人员,尤其是算法接入人员增加了沉重的负担。
图2为本申请实施例提供的一种图像处理算法架构示意图,如图2所示,该图像处理算法架构将算法实现层250从相机***硬件抽象层220中分离出来,并在相机***硬件抽象层220和算法实现层250之间添加了平台适配层220和算法适配层230。
其中,所述平台适配层230,用于将相机***硬件抽象层220与算法实现层250进行分离,并负责相机***硬件抽象层220与算法实现层250之间的通信,例如将硬件抽象层的相关数据(如硬件抽象层从服务端获取的调用行为数据)以及参数变量信息(以美颜算法为例,例如可包括美颜等级等数据)等导入平台适配层对应的接口中,并根据这些数据对算法实现层中的算法进行调用。平台适配层可以理解为与相机***硬件抽象层进行对接的接口,实现底层算法与平台之间的隔离,当平台升级或变更时,无需对平台适配层进行修改,平台按照接口规范和规定的调用流程就可以调用本申请实施例中图像处理算法架构中的算法,有效解决了跨平台复用的问题。
所述算法适配层240,用于接受所述平台适配层230的调用,并负责所述平台适配层230的业务实现。示例性的,在被平台适配层230调用时,算法适配层240可以对平台适配层230传递过来的平台参数进行解析,进而根据解析所得需求调用算法实现层的相应图像处理算法。
所述算法实现层250,用于接受所述算法适配层240的调用,以对注册到所述图像处理算法架构的算法进行实现。示例性的,算法实现层250中可以包含移动终端生产商自行开发的图像处理算法,也可包括第三方公司提供的图像处理算法,一般以算法开发包的形式存在。在被算法适配层240调用后,可以调用相应的图像处理算法开发包来对待处理的图像进行图像处理。由于算法实现层独立于相机***硬件抽象层而存在,算法开发人员只需关注算法逻辑而无需关注平台具体实现,可以方便算法的开发以及快速移植。
本申请实施例中提供的图像处理算法架构,包括平台适配层、算法适配层和算法实现层。其中,平台适配层用于将相机***硬件抽象层与所述算法实现层进行分离,并负责相机***硬件抽象层与算法实现层之间的通信;算法适配层,用于接受平台适配层的调用,并负责平台适配层的业务实现;算法实现层,用于接受算法适配层的调用,以对注册到图像处理算法架构的算法进行实现。通过采用上述技术方案,可以将算法实现层从相机***硬件抽象层中抽离出来,当移动终端的***平台发生变更时,无需将算法实现层重新写入新的平台中,保证图像处理算法架构能够跨平台复用,降低移动终端的开发成本。
在一些实施例中,所述平台适配层中包括第一接口层、第一注册层和第一单元层;所述算法适配层中包括第二接口层、第二注册层和第二单元层。
图3为本申请实施例提供的一种平台适配层示意图,如图3所示,平台适配层310中包括了第一接口层311、第一注册层312和第一单元层313。
其中,所述第一接口层311,用于将相机***硬件抽象层传递过来的算法调用行为进行抽象,并调用第一注册层312。示例性的,第一接口层可被称为通用接口层,承上将算法的调用行为抽象成固定的多个(如4个)接口平台端,或者由其他应用程序(如相册或其他第三方应用程序等)按照接口规范和流程对架构中提供的算法进行调用,启下直接调用注册到注册层的算法。
所述第一注册层312,用于提供将算法注册到所述图像处理算法架构的第一静态接口,并调用所述第一单元层313。示例性的,第一注册层可被称为平台注册层,向算法开发人员提供接入架构的静态接口,算法开发人员可以将设计好的算法注册到该平台注册层中,从而实现算法在平台适配层中的注册。第一注册层承上被第一接口层调用,启下调用第一单元层中的第一类算法开发模块。
所述第一单元层313,包含第一类算法开发模块,供算法开发人员进行开发;所述第一类算法开发模块用于对与用户或平台进行交互的相关参数进行适配,并调用所述第二接口层。示例性的,第一单元层可被称为适配单元层,算法开发人员可以对其中包含的第一类算法开发模块进行开发,承上主要对接用户交互设定,和平台相关参数适配等,启下调用算法适配层中的第二接口层。
图4为本申请实施例提供的一种算法适配层示意图,如图4所示,算法适配层410包括第二接口层411、第二注册层412和第二单元层413。
所述第二接口层411,用于向所述平台适配层提供调用接口,并调用所述第二注册层。示例性的,第二接口层可被称为核心接口层,承上向平台适配层提供通用调用接口,启下调用第二注册层。
所述第二注册层412,用于提供将算法注册到所述图像处理算法架构的第二静态接口,并调用所述第二单元层。示例性的,第二注册层可被称为核心注册层,向算法开发人员提供接入架构的静态接口,算法开发人员可以将设计好的算法注册到该核心注册层中,从而实现算法在算法适配层中的注册。第二注册层承上被第二接口层调用,启下调用第二单元层中的第二类算法开发模块。
所述第二单元层413,包含第二类算法开发模块,供算法开发人员进行开发;所述第二类算法开发模块用于对与用户或平台进行交互的相关参数进行解析,并调用所述算法实现层。示例性的,第二单元层可被称为核心单元层,算法开发人员可以对其中包含的第二类算法开发模块进行开发,承上主要对平台相关参数进行解析,提供算法的核心逻辑,启下调用算法实现层。
在一些实施例中,所述第一单元层中包含至少两个相互独立的第一类算法开发模块,所述第二单元层中包含至少两个相互独立的第二类算法开发模块;所述注册到所述图像处理算法架构的算法,与所述第一类算法开发模块以及所述第二类算法开发模块均为一一对应的关系。这样设置的好处在于,可以将不同算法之间进行隔离,这样算法之间互相不会形成干扰,在算法开发时,多个算法在同一个模块实现接入存在代码阅读、编译及运行等方面的耦合,在有新算法接入时更改必须十分谨慎,对单个算法进行独立封装,可有效解决这种强耦合问题,且各个算法模块功能单一,更便于算法开发人员进行开发。示例性的,图像处理算法可包括美颜算法、高动态范围算法、以及多帧降噪算法等等,每个算法可独立编写在对应的算法开发模块中。可选的,对于美颜算法,还可细分为磨皮算法、美白算法、瘦脸算法、亮眼算法、祛痘算法、去皱算法、美妆算法、以及发型更换算法等等,可以对这些算法也进行独立封装。对图像处理算法的具体划分方式本申请实施例不做限定。
在一些实施例中,所述平台适配层包括初始化算法接口函数、算法释放接口函数、算法执行接口函数和参数更新接口函数。所述初始化算法接口函数用于在所述平台适配层对算法进行初始化;所述算法释放接口函数用于在所述平台适配层对算法进行释放;所述算法执行接口函数用于在所述平台适配层实现图像处理;所述参数更新接口函数用于在所述平台适配层对与用户或平台进行交互的相关参数进行更新。所述算法适配层包括算法注册接口函数、算法析构接口函数、算法执行调用接口函数和算法参数更新接口函数。所述算法注册接口函数用于在所述算法适配层对算法进行初始化;所述算法析构接口函数用于在所述算法适配层对算法进行释放;所述算法执行调用接口函数用于在所述算法适配层实现图像处理;所述算法参数更新接口函数用于在所述算法适配层对与用户或平台进行交互的相关参数进行更新。利用以上的接口函数,可以使平台适配层和算法适配层更好地相互配合,完成相机***硬件抽象层与算法实现层之间的交互任务。
示例性的,初始化算法接口函数的函数返回值可以是布尔变量。可包括的形式参数(以下简称形参)有:指向参数的指针,用于算法基本配置;算法标识(flag),用于指定具体的算法对象,如美颜;算法需要的数据节点,具体个数可以和平台处理相关。当前所需要调用的算法可以通过初始化算法接口函数来在平台适配层进行初始化,算法可以配置需要的数据节点。可选的,初始化算法接口函数需要主动调用。
算法释放接口函数的函数返回值可以是布尔变量。可包括的形参数有:指向参数的指针,用于算法基本配置;算法标识,用于指定具体的算法对象,如美颜。当前已经注册的算法可以通过算法释放接口函数来释放。可选的,算法释放接口函数需要主动调用。
算法执行接口函数的函数返回值可以是布尔变量。可包括的形参数有:指向需要处理的图像数据的信息的形参;指向参数的指针,用于算法基本配置;算法标识,用于指定具体的算法对象,如美颜。算法执行接口函数是算法处理主要函数,可以通过该函数实现图像处理。可选的,算法执行接口函数需要主动调用。
参数更新接口函数的函数返回值可以是布尔变量。可包括的形参数有:指向需要算法更新到的参数的指针;指向算法内部更新之后的参数的指针;用于算法基本配置;算法标识,用于指定具体的算法对象,如美颜。参数更新接口函数的功能是作为需要和用户或者平台交互的参数的更新接口。可选的,算法执行接口函数需要主动调用。
算法注册接口函数的函数返回值可以是整型。可包括的形参有:指向参数的指针,用于算法基本配置;参数大小(size);算法特征(feature),用于指定具体的算法对象,如美颜;算法标识,用于指定具体的算法对象,如美颜。当前所需要调用的算法可以通过算法注册接口函数来在算法适配层进行初始化。可选的,算法注册接口函数需要主动调用。
算法析构接口函数的函数返回值可以是整型。可包括的形参数有:指向参数的指针,用于算法基本配置;参数大小;算法特征,用于指定具体的算法对象,如美颜;算法标识,用于指定具体的算法对象,如美颜。当前需要的算法可以通过算法析构接口函数来释放。可选的,算法释放接口函数需要主动调用。
算法执行调用接口函数的函数返回值可以是整型。可包括的形参数有:指向参数的指针,用于算法基本配置;参数大小;算法特征,用于指定具体的算法对象,如美颜;算法标识,用于指定具体的算法对象,如美颜。算法执行接口函数是算法处理主要函数,可以通过该函数实现图像处理。可选的,算法执行接口函数需要主动调用。
算法参数更新接口函数的函数返回值可以是整型。可包括的形参数有:指向参数的指针,用于算法基本配置;参数大小;算法特征,用于指定具体的算法对象,如美颜;算法标识,用于指定具体的算法对象,如美颜。参数更新接口函数的功能是作为需要和用户或者平台交互的参数的更新接口。可选的,算法执行接口函数需要主动调用。
在一些实施例中,图像处理算法架构还包括:处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用。这样设置的好处在于,提供一种后台处理机制,当相机应用程序退出前台运行后,可以通过异步调用的方式继续调用算法实现层,完成图像处理任务。相关技术中的图像处理算法是在相机***硬件抽象层内编写的,也即在相机应用程序内部编写的,当相机应用程序退出后,图像处理算法将无法继续被调用,而本申请实施例中,将图像处理算法从相机***硬件抽象层中分离出来,进行独立编写,那么对图像处理算法的调用不再受到相机应用程序的限制,只需在守护进程(如Deamon)的运行环境中通过跨进程调用的方式即可对底层的图像处理算法进行调用。示例性的,跨进程调用可以采用Binder机制实现。可选的,跨进程调用的发起者可以是相机应用程序,也可以是移动终端中的第三方应用程序。这样设置的好处在于,相机应用程序可以在需要退出前台时采用跨进程调用方式继续进行图像处理,例如,在相机中的拍照功能下,对拍摄的照片进行图像后处理,处理过程一般需要消耗一定时间,尤其是调用的算法较复杂或种类较多时,需要的时间更长,如30秒,而此次用户需要进入其他应用程序,在相关技术中,图像后处理过程需要暂停或终止,而本申请实施例中,可以采用跨进程调用的方式,在相机应用程序退出前台后继续完成图像后处理任务。另外,本申请实施例中还允许相机应用程序以外的应用程序(包括***中的如相册等应用程序以及第三方应用程序)对底层的图像处理算法进行调用,同样可在相机应用程序未启动或处于后台时,通过跨进程调用的方式调用图像处理算法。对于其他应用程序来说,应用程序的客户端可以通过本地调用接口对进程间通信接口层进行调用,本地调用接口例如可以是JNI(java Native Interface)。
图5为本申请实施例提供的又一种图像处理算法架构示意图,如图5所示,实线表示直接调用,而虚线表示跨进程调用(如基于Binder机制实现)。图左边为硬件抽象层服务端(HAL Server)运行环境中对图像处理算法的调用过程,图右边为守护进程(Deamon)运行环境中对图像处理算法的调用过程。图中以三种图像处理算法为例进行了说明,分别为美颜算法、高动态范围算法和多帧降噪算法,可以理解的是并不限于这几种算法。示例性的,在相机应用程序中的预览流程中,可以在HAL Server运行环境中采用直接调用方式逐层对算法实现层进行调用;在相机应用程序中的拍照流程中,可以在HAL Server运行环境中先直接调用通用接口层及相应的适配单元层,然后采用跨进程调用的方式调用处于Deamon运行环境中的进程间通信接口层,再逐层于Deamon运行环境中向下调用至算法实现层;在其他应用程序,如第三方应用程序进行图像处理算法调用时,可由应用程序客户端(APKClient)调用本地调用接口(如JNI),再通过本地调用接口采用跨进程调用的方式调用处于Deamon运行环境中的进程间通信接口层,再逐层于Deamon运行环境中向下调用至算法实现层。可选的,可以为拍照流程和其他应用程序调用流程中的进程间通信接口层进行不同命名以加以区分,如Binder API For Camera HAL,以及Binder API For Client。
图6本申请实施例提供的一种算法调用方法的流程示意图,该方法应用于本申请实施例提供的图像处理算法架构,可以由算法调用装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图6所示,该方法包括:
步骤601、通过相机***硬件抽象层接收第一算法调用行为。
示例性的,本申请实施例中的移动终端可包括手机、平板电脑以及照相机等移动设备。
在移动终端的相机功能下,一般可以包括预览流程和拍照流程,在这两个流程中均可发起算法调用行为。算法调用行为可以由***自动发起,如相机功能中默认预设情况下会调用图像处理算法,当移动终端检测到当前处于预设情况时,则可自动发起算法调用行为;算法调用行为也可以在用户作用下发起,如用户在预览界面选择图像编辑功能,并进行相关编辑操作,移动终端就会根据用户输入的编辑操作发起相应的算法调用行为。
算法调用行为可以通过相机***客户端传送至相机***服务端,相机***服务端再传送至相机***硬件抽象层,从而实现通过相机***硬件抽象层接收当前的第一算法调用行为。
步骤602、确定待处理的第一目标图像。
相机***硬件抽象层可以从相机驱动得到预览数据(例如可包括图像传感器采集的硬件参数等相关数据),预览数据对应于在预览界面显示的预览图像或即将用于生成照片的图像。对于不需要进行图像后处理的情况,相机***硬件抽象层可将预览数据返回给框架层,并用于在屏幕上显示。而本申请实施例中,在显示之前需要对图像进行后处理,因此可确定预览数据对应的第一目标图像,进而调用底层的图像处理算法对该图像进行后处理。
步骤603、根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
在相关技术中,算法实现层处于相机***硬件抽象层中,可在相机***硬件抽象层直接对第一目标图像进行图像处理。而本申请实施例中,采用了本申请实施例提供的图像处理算法架构,相机***硬件抽象层会将相关数据传递至平台适配层,再通过平台适配层逐层向下调用,最终调用到算法实现层中的具体算法,来对第一目标图像进行图像处理。
本申请实施例提供的算法调用方法,应用于本申请实施例提供的图像处理算法架构,利用平台适配层对平台的调用行为进行抽象并向下逐层调用,最终调用算法实现层中的具体算法来对待处理的图像进行后处理,能够快速准确地应用功能本申请实施例提供的全新的图像处理算法架构成功实现图像后处理。
在一些实施例中,在对第一目标图像进行图像处理后,还包括通过显示屏对经过图像处理后的第一目标图像进行显示。
在一些实施例中,所述图像处理算法架构中包括:处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用。当所述第一算法调用行为由照片拍摄流程发起时,所述根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,包括:根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、进程间通信接口层、算法适配层以及算法实现层,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。这样设置的好处在于,在相机中的拍照功能下,对拍摄的照片进行图像后处理,处理过程一般需要消耗一定时间,尤其是调用的算法较复杂或种类较多时,需要的时间更长,如30秒,而此次用户需要进入其他应用程序,在相关技术中,图像后处理过程需要暂停或终止,而本申请实施例中,可以采用跨进程调用的方式对处于守护进程环境中的进程间通信接口层、算法适配层以及算法实现层进行逐层调用,可以实现异步调用,在相机应用程序退出前台后继续完成图像后处理任务。
图7本申请实施例提供的另一种算法调用方法的流程示意图,该方法应用于本申请实施例提供的图像处理算法架构,可以由对应的算法调用装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图7所示,该方法包括:
步骤701、接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序。
示例性的,本申请实施例中的移动终端可包括手机、平板电脑以及照相机等移动设备。
示例性的,将移动终端***默认安装的应用程序称为***应用,第一应用程序可包括除相机应用程序以外的***应用;本申请中的第三方应用程序可包括***应用以外的应用程序,如微信和QQ等。
示例性的,第一应用程序可以在运行过程中自动发起算法调用请求,也可在用户的操作下发起算法调用请求,本申请实施例不做限定。第一应用程序可以利用应用程序客户端(APK Client)向本地调用接口(JNI)发起调用请求。
步骤702、确定待处理的第二目标图像。
示例性的,在接收到第一应用程序的算法调用请求后,可以确定当前需要进行处理的第二目标图像。一般的,第二目标图像为第一应用程序界面中当前显示的图像。
步骤703、根据算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
本申请实施例中,允许相机应用程序以外的应用程序按照图像处理算法架构规定的接口规范以及调用流程对移动终端底层的图像处理算法进行调用,可以扩展图像处理算法的应用范围,同时提高其他应用程序的图像处理效率。当第一应用发出算法调用请求时,一般相机应用程序处于关闭状态或后台运行状态,为了保证第一应用程序能够顺利对图像处理算法进行调用,可以在守护进程环境中进行调用。
本申请实施例提供的算法调用方法,可以允许相机应用以外的应用程序对注册到图像处理算法架构中的图像处理算法进行调用,可以扩展图像处理算法的应用范围,同时提高其他应用程序的图像处理效率。
为了便于比较不同的调用方式,可参考本申请实施例给出的调用流程示意图。图8为本申请实施例提供的一种预览调用流程示意图,图9为本申请实施例提供的一种拍照调用流程示意图,图10为本申请实施例提供的一种第一应用调用流程示意图。
图11为本申请实施例提供的一种算法调用装置的结构框图,该装置可由软件和/或硬件实现,一般集成在移动终端中,可通过执行算法调用方法来进行算法调用。如图11所示,该装置包括:
调用行为接收模块1101,用于通过相机***硬件抽象层接收第一算法调用行为;
第一图像确定模块1102,用于确定待处理的第一目标图像;
第一算法调用模块1103,用于根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
本申请实施例提供的算法调用装置,应用于本申请实施例提供的图像处理算法架构,利用平台适配层对平台的调用行为进行抽象并向下逐层调用,最终调用算法实现层中的具体算法来对待处理的图像进行后处理,能够快速准确地应用功能本申请实施例提供的全新的图像处理算法架构成功实现图像后处理。
可选的,所述图像处理算法架构中包括:处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用;
当所述第一算法调用行为由照片拍摄流程发起时,所述根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,包括:
根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、进程间通信接口层、算法适配层以及算法实现层,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
图12为本申请实施例提供的一种算法调用装置的结构框图,该装置可由软件和/或硬件实现,一般集成在移动终端中,可通过执行算法调用方法来进行算法调用。如图12所示,该装置包括:
调用请求接收模块1201,用于接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序;
第二图像确定模块1202,用于确定待处理的第二目标图像;
第二算法调用模块1203,用于根据所述算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
本申请实施例提供的算法调用装置,可以允许相机应用以外的应用程序对注册到图像处理算法架构中的图像处理算法进行调用,可以扩展图像处理算法的应用范围,同时提高其他应用程序的图像处理效率。
本申请实施例还提供一种包含计算机可执行指令的存储介质,其上存储有计算机程序,所述计算机程序包括本申请实施例提供的图像处理算法架构:
包括平台适配层、算法适配层和算法实现层;
所述平台适配层,用于将相机***硬件抽象层与所述算法实现层进行分离,并负责所述相机***硬件抽象层与所述算法实现层之间的通信;
所述算法适配层,用于接受所述平台适配层的调用,并负责所述平台适配层的业务实现;
所述算法实现层,用于接受所述算法适配层的调用,以对注册到所述图像处理算法架构的算法进行实现。
可选的,还可包括本申请实施例提供的其他任意一种图像处理算法架构。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***。第二计算机***可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,所存储的计算机程序不限于包括上述的图像处理算法架构,计算机可执行指令还可以执行本申请任意实施例所提供的算法调用方法中的相关操作。
本申请实施例提供了一种移动终端,图13为本申请实施例提供的一种移动终端的结构示意图。移动终端1300可以包括:存储器1301,处理器602及存储在存储器1301上并可在处理器1302运行的计算机程序,所述计算机程序包括本申请实施例提供的图像处理算法架构。
本申请实施例提供的移动终端,可以将算法实现层从相机***硬件抽象层中抽离出来,当移动终端的***平台发生变更时,无需将算法实现层重新写入新的平台中,保证图像处理算法架构能够跨平台复用,降低移动终端的开发成本。
另外,本申请实施例提供的移动终端,还可以集成本申请任一实施例提供的算法调用装置,所述处理器可在执行计算机程序时实现如本申请实施例所述的算法调用方法。
图14为本申请实施例提供的另一种移动终端的结构示意图,该移动终端可以包括:壳体(图中未示出)、存储器1401、中央处理器(central processing unit,CPU)1402(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU1402和所述存储器1401设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器1401,用于存储可执行程序代码;所述CPU1402通过读取所述存储器1401中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,计算机程序可包括本申请任意实施例提供的图像处理算法架构。
所述移动终端还包括:外设接口1403、RF(Radio Frequency,射频)电路1405、音频电路1406、扬声器1411、电源管理芯片1408、输入/输出(I/O)子***1409、其他输入/控制设备1410、触摸屏1412、其他输入/控制设备1410以及外部端口1404,这些部件通过一个或多个通信总线或信号线1407来通信。
应该理解的是,图示移动终端1400仅仅是移动终端的一个范例,并且移动终端1400可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的移动终端进行详细的描述,该移动终端以手机为例。
存储器1401,所述存储器1401可以被CPU1402、外设接口1403等访问,所述存储器1401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口1403,所述外设接口1403可以将设备的输入和输出外设连接到CPU1402和存储器1401。
I/O子***1409,所述I/O子***1409可以将设备上的输入输出外设,例如触摸屏1412和其他输入/控制设备1410,连接到外设接口1403。I/O子***1409可以包括显示控制器14091和用于控制其他输入/控制设备1410的一个或多个输入控制器14092。其中,一个或多个输入控制器14092从其他输入/控制设备1410接收电信号或者向其他输入/控制设备1410发送电信号,其他输入/控制设备1410可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器14092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏1412,所述触摸屏1412是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子***1409中的显示控制器14091从触摸屏1412接收电信号或者向触摸屏1412发送电信号。触摸屏1412检测触摸屏上的接触,显示控制器14091将检测到的接触转换为与显示在触摸屏1412上的用户界面对象的交互,即实现人机交互,显示在触摸屏1412上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路1405,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路1405接收并发送RF信号,RF信号也称为电磁信号,RF电路1405将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路1405可以包括用于执行这些功能的已知电路,其包括但不限于天线***、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路1406,主要用于从外设接口1403接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器1411。
扬声器1411,用于将手机通过RF电路1405从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片1408,用于为CPU1402、I/O子***及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的算法调用装置、存储介质及移动终端可执行本申请任意实施例所提供的算法调用方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的算法调用方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (12)

1.一种图像处理算法架构,其特征在于,包括:平台适配层、算法适配层和算法实现层;
所述平台适配层,用于将相机***硬件抽象层与所述算法实现层进行分离,并负责所述相机***硬件抽象层与所述算法实现层之间的通信;
所述算法适配层,用于接受所述平台适配层的调用,并负责所述平台适配层的业务实现;
所述算法实现层,用于接受所述算法适配层的调用,以对注册到所述图像处理算法架构的算法进行实现。
2.根据权利要求1所述的算法架构,其特征在于,所述平台适配层中包括第一接口层、第一注册层和第一单元层;所述算法适配层中包括第二接口层、第二注册层和第二单元层;
所述第一接口层,用于将所述相机***硬件抽象层传递过来的算法调用行为进行抽象,并调用所述第一注册层;
所述第一注册层,用于提供将算法注册到所述图像处理算法架构的第一静态接口,并调用所述第一单元层;
所述第一单元层,包含第一类算法开发模块,供算法开发人员进行开发;所述第一类算法开发模块用于对与用户或平台进行交互的相关参数进行适配,并调用所述第二接口层;
所述第二接口层,用于向所述平台适配层提供调用接口,并调用所述第二注册层;
所述第二注册层,用于提供将算法注册到所述图像处理算法架构的第二静态接口,并调用所述第二单元层;
所述第二单元层,包含第二类算法开发模块,供算法开发人员进行开发;所述第二类算法开发模块用于对与用户或平台进行交互的相关参数进行解析,并调用所述算法实现层。
3.根据权利要求2所述的算法架构,其特征在于,
所述第一单元层中包含至少两个相互独立的第一类算法开发模块,所述第二单元层中包含至少两个相互独立的第二类算法开发模块;
所述注册到所述图像处理算法架构的算法,与所述第一类算法开发模块以及所述第二类算法开发模块均为一一对应的关系。
4.根据权利要求1所述的算法架构,其特征在于,所述平台适配层包括初始化算法接口函数、算法释放接口函数、算法执行接口函数和参数更新接口函数;
所述初始化算法接口函数用于在所述平台适配层对算法进行初始化;所述算法释放接口函数用于在所述平台适配层对算法进行释放;所述算法执行接口函数用于在所述平台适配层实现图像处理;所述参数更新接口函数用于在所述平台适配层对与用户或平台进行交互的相关参数进行更新。
所述算法适配层包括算法注册接口函数、算法析构接口函数、算法执行调用接口函数和算法参数更新接口函数;
所述算法注册接口函数用于在所述算法适配层对算法进行初始化;所述算法析构接口函数用于在所述算法适配层对算法进行释放;所述算法执行调用接口函数用于在所述算法适配层实现图像处理;所述算法参数更新接口函数用于在所述算法适配层对与用户或平台进行交互的相关参数进行更新。
5.根据权利要求1所述的算法架构,其特征在于,还包括:
处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用。
6.一种算法调用方法,其特征在于,应用于如权利要求1-5任一所述的图像处理算法架构,包括:
通过相机***硬件抽象层接收第一算法调用行为;
确定待处理的第一目标图像;
根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
7.根据权利要求6所述的方法,其特征在于,所述图像处理算法架构中包括:处于守护进程运行环境中的进程间通信接口层,所述进程间通信接口层用于接受跨进程调用,并对所述算法适配层进行调用,以实现所述算法实现层的异步调用;
当所述第一算法调用行为由照片拍摄流程发起时,所述根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,包括:
根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、进程间通信接口层、算法适配层以及算法实现层,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
8.一种算法调用方法,其特征在于,应用于如权利要求5所述的图像处理算法架构,包括:
接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序;
确定待处理的第二目标图像;
根据所述算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
9.一种算法调用装置,其特征在于,应用于如权利要求1-5任一所述的图像处理算法架构,包括:
调用行为接收模块,用于通过相机***硬件抽象层接收第一算法调用行为;
第一图像确定模块,用于确定待处理的第一目标图像;
第一算法调用模块,用于根据所述第一算法调用行为顺次调用所述图像处理算法架构中的平台适配层、算法适配层以及算法实现层,以实现调用与所述第一算法调用行为相关的第一目标算法对所述第一目标图像进行图像处理。
10.一种算法调用装置,其特征在于,应用于如权利要求5所述的图像处理算法架构,包括:
调用请求接收模块,用于接收第一应用程序的算法调用请求,所述第一应用程序包括***应用中除相应应用程序以外的应用程序,以及第三方应用程序;
第二图像确定模块,用于确定待处理的第二目标图像;
第二算法调用模块,用于根据所述算法调用请求,通过本地调用接口依次调用进程间通信接口层、算法适配层以及算法实现层,以实现调用与所述算法调用请求相关的第二目标算法对所述第二目标图像进行图像处理,其中,所述进程间通信接口层、所述算法适配层以及所述算法实现层处于守护进程运行环境中。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序包括如权利要求1-5中任一所述的图像处理算法架构。
12.一种移动终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述计算机程序包括如权利要求1-5中任一所述的图像处理算法架构。
CN201811003849.9A 2018-08-30 2018-08-30 图像处理算法架构、算法调用方法、装置、存储介质及移动终端 Active CN109101352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811003849.9A CN109101352B (zh) 2018-08-30 2018-08-30 图像处理算法架构、算法调用方法、装置、存储介质及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811003849.9A CN109101352B (zh) 2018-08-30 2018-08-30 图像处理算法架构、算法调用方法、装置、存储介质及移动终端

Publications (2)

Publication Number Publication Date
CN109101352A true CN109101352A (zh) 2018-12-28
CN109101352B CN109101352B (zh) 2021-08-06

Family

ID=64864445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811003849.9A Active CN109101352B (zh) 2018-08-30 2018-08-30 图像处理算法架构、算法调用方法、装置、存储介质及移动终端

Country Status (1)

Country Link
CN (1) CN109101352B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109963083A (zh) * 2019-04-10 2019-07-02 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110062161A (zh) * 2019-04-10 2019-07-26 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110086967A (zh) * 2019-04-10 2019-08-02 Oppo广东移动通信有限公司 图像处理方法、图像处理器、拍摄装置和电子设备
CN110121022A (zh) * 2019-06-28 2019-08-13 Oppo广东移动通信有限公司 拍摄装置的控制方法、拍摄装置和电子设备
CN110177215A (zh) * 2019-06-28 2019-08-27 Oppo广东移动通信有限公司 图像处理方法、图像处理器、拍摄装置和电子设备
CN110177214A (zh) * 2019-06-28 2019-08-27 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍照装置及电子设备
CN110278373A (zh) * 2019-06-26 2019-09-24 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110290288A (zh) * 2019-06-03 2019-09-27 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110806932A (zh) * 2019-10-30 2020-02-18 广东博智林机器人有限公司 一种算法调度方法及装置
CN110941821A (zh) * 2019-12-09 2020-03-31 Oppo广东移动通信有限公司 数据处理方法、装置及存储介质
CN110941344A (zh) * 2019-12-09 2020-03-31 Oppo广东移动通信有限公司 获取注视点数据的方法及相关装置
CN110990088A (zh) * 2019-12-09 2020-04-10 Oppo广东移动通信有限公司 数据处理方法及相关设备
CN110995994A (zh) * 2019-12-09 2020-04-10 上海瑾盛通信科技有限公司 图像拍摄方法及相关装置
CN111061524A (zh) * 2019-12-09 2020-04-24 Oppo广东移动通信有限公司 一种应用数据处理方法及相关装置
CN111182223A (zh) * 2020-01-14 2020-05-19 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN111225153A (zh) * 2020-01-21 2020-06-02 Oppo广东移动通信有限公司 一种图像数据处理方法、图像数据处理装置及移动终端
CN112104807A (zh) * 2019-06-17 2020-12-18 北京小米移动软件有限公司 前置摄像头的控制方法、***及装置
CN113297024A (zh) * 2020-02-21 2021-08-24 北京猎户星空科技有限公司 一种硬件管理方法、算法执行方法、相关装置及机器人
CN113727035A (zh) * 2021-10-15 2021-11-30 Oppo广东移动通信有限公司 图像处理方法、***、电子设备及存储介质
CN114745495A (zh) * 2021-01-07 2022-07-12 北京小米移动软件有限公司 图像生成方法、装置及存储介质
WO2023160216A1 (zh) * 2022-02-28 2023-08-31 荣耀终端有限公司 流媒体特性架构、处理方法、电子设备及可读存储介质
CN117130680A (zh) * 2023-02-24 2023-11-28 荣耀终端有限公司 一种芯片资源的调用方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130133061A1 (en) * 2011-11-22 2013-05-23 Vmware, Inc. Method and system for vpn isolation using network namespaces
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130133061A1 (en) * 2011-11-22 2013-05-23 Vmware, Inc. Method and system for vpn isolation using network namespaces
CN103902389A (zh) * 2014-03-06 2014-07-02 厦门雅迅网络股份有限公司 基于android平台的支持双向通信的设备管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LEBRON_SIX: "Android 通过JNI实现守护进程", 《HTTP://BLOG.CSDN.NET/YYH352091626/ARTICLE/DETAILS/50542554》 *
私房菜: "HAL 详解之 hardware 详解", 《HTTP://BLOG.CSDN.NET/SHIFT_WWX/ARTICLE/DETAILS/54969612》 *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062161A (zh) * 2019-04-10 2019-07-26 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110086967A (zh) * 2019-04-10 2019-08-02 Oppo广东移动通信有限公司 图像处理方法、图像处理器、拍摄装置和电子设备
CN109963083B (zh) * 2019-04-10 2021-09-24 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN109963083A (zh) * 2019-04-10 2019-07-02 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
US11328449B2 (en) 2019-04-10 2022-05-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing apparatus, method for image processing, and electronic device
CN110290288B (zh) * 2019-06-03 2022-01-04 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110290288A (zh) * 2019-06-03 2019-09-27 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
EP3754967A1 (en) * 2019-06-17 2020-12-23 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for controlling front camera, and mobile terminal
US11064130B2 (en) 2019-06-17 2021-07-13 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for controlling front camera, mobile terminal and storage medium
CN112104807A (zh) * 2019-06-17 2020-12-18 北京小米移动软件有限公司 前置摄像头的控制方法、***及装置
CN110278373A (zh) * 2019-06-26 2019-09-24 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍摄装置和电子设备
CN110177214B (zh) * 2019-06-28 2021-09-24 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍照装置及电子设备
CN110177214A (zh) * 2019-06-28 2019-08-27 Oppo广东移动通信有限公司 图像处理器、图像处理方法、拍照装置及电子设备
CN110177215A (zh) * 2019-06-28 2019-08-27 Oppo广东移动通信有限公司 图像处理方法、图像处理器、拍摄装置和电子设备
CN110121022A (zh) * 2019-06-28 2019-08-13 Oppo广东移动通信有限公司 拍摄装置的控制方法、拍摄装置和电子设备
CN110806932A (zh) * 2019-10-30 2020-02-18 广东博智林机器人有限公司 一种算法调度方法及装置
CN110941821A (zh) * 2019-12-09 2020-03-31 Oppo广东移动通信有限公司 数据处理方法、装置及存储介质
CN110941344A (zh) * 2019-12-09 2020-03-31 Oppo广东移动通信有限公司 获取注视点数据的方法及相关装置
CN111061524A (zh) * 2019-12-09 2020-04-24 Oppo广东移动通信有限公司 一种应用数据处理方法及相关装置
CN110995994A (zh) * 2019-12-09 2020-04-10 上海瑾盛通信科技有限公司 图像拍摄方法及相关装置
CN110990088B (zh) * 2019-12-09 2023-08-11 Oppo广东移动通信有限公司 数据处理方法及相关设备
CN110990088A (zh) * 2019-12-09 2020-04-10 Oppo广东移动通信有限公司 数据处理方法及相关设备
CN110941344B (zh) * 2019-12-09 2022-03-15 Oppo广东移动通信有限公司 获取注视点数据的方法及相关装置
CN111182223B (zh) * 2020-01-14 2021-06-15 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN111182223A (zh) * 2020-01-14 2020-05-19 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN111225153B (zh) * 2020-01-21 2021-08-06 Oppo广东移动通信有限公司 一种图像数据处理方法、图像数据处理装置及移动终端
CN111225153A (zh) * 2020-01-21 2020-06-02 Oppo广东移动通信有限公司 一种图像数据处理方法、图像数据处理装置及移动终端
CN113297024A (zh) * 2020-02-21 2021-08-24 北京猎户星空科技有限公司 一种硬件管理方法、算法执行方法、相关装置及机器人
CN114745495A (zh) * 2021-01-07 2022-07-12 北京小米移动软件有限公司 图像生成方法、装置及存储介质
CN114745495B (zh) * 2021-01-07 2023-06-23 北京小米移动软件有限公司 图像生成方法、装置及存储介质
CN113727035B (zh) * 2021-10-15 2023-05-12 Oppo广东移动通信有限公司 图像处理方法、***、电子设备及存储介质
CN113727035A (zh) * 2021-10-15 2021-11-30 Oppo广东移动通信有限公司 图像处理方法、***、电子设备及存储介质
WO2023160216A1 (zh) * 2022-02-28 2023-08-31 荣耀终端有限公司 流媒体特性架构、处理方法、电子设备及可读存储介质
CN116701288A (zh) * 2022-02-28 2023-09-05 荣耀终端有限公司 流媒体特性架构、处理方法、电子设备及可读存储介质
CN117130680A (zh) * 2023-02-24 2023-11-28 荣耀终端有限公司 一种芯片资源的调用方法及电子设备
CN117130680B (zh) * 2023-02-24 2024-07-23 荣耀终端有限公司 一种芯片资源的调用方法及电子设备

Also Published As

Publication number Publication date
CN109101352B (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN109101352A (zh) 算法架构、算法调用方法、装置、存储介质及移动终端
CN110990075B (zh) 快应用的启动方法、装置、设备及存储介质
CN106484394B (zh) 一种双引擎快速软件开发***
CN111026396A (zh) 页面渲染方法、装置、电子设备及存储介质
US10019298B2 (en) Middleware interface and middleware interface generator
US20230057566A1 (en) Multimedia processing method and apparatus based on artificial intelligence, and electronic device
CN104281478B (zh) 更新应用程序的方法及装置
CN108804536A (zh) 人机对话与策略生成方法、设备、***及存储介质
CN109471626B (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN105468410B (zh) ***升级方法及装置
US20170083172A1 (en) Controlling a Device
CN113553039A (zh) 算子的可执行代码的生成方法及装置
CN113867848A (zh) 图形接口的调用方法、装置、设备及可读存储介质
CN110851240B (zh) 功能调用方法、装置及存储介质
CN110427213B (zh) 一种智能配置软件的实现方法、装置、设备及存储介质
CN111125602A (zh) 页面构建方法、装置、设备和存储介质
CN111443858B (zh) 应用界面的显示方法、装置、终端及存储介质
WO2021244459A1 (zh) 一种输入方法及电子设备
CN113687816B (zh) 算子的可执行代码的生成方法及装置
CN112230910B (zh) 嵌入型程序的页面生成方法、装置、设备及存储介质
CN115964331A (zh) 一种数据访问方法、装置及设备
CN110908629A (zh) 电子设备操作方法、装置、电子设备和存储介质
CN104040501A (zh) 显示控制器中断寄存器
CN110865760A (zh) 电子设备操作方法、装置、电子设备及存储介质
CN116501227B (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