CN116382896A - 图像处理算法的调用方法、终端设备、介质及产品 - Google Patents

图像处理算法的调用方法、终端设备、介质及产品 Download PDF

Info

Publication number
CN116382896A
CN116382896A CN202310209152.1A CN202310209152A CN116382896A CN 116382896 A CN116382896 A CN 116382896A CN 202310209152 A CN202310209152 A CN 202310209152A CN 116382896 A CN116382896 A CN 116382896A
Authority
CN
China
Prior art keywords
execution environment
memory
interface
terminal device
terminal equipment
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
CN202310209152.1A
Other languages
English (en)
Other versions
CN116382896B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310209152.1A priority Critical patent/CN116382896B/zh
Publication of CN116382896A publication Critical patent/CN116382896A/zh
Application granted granted Critical
Publication of CN116382896B publication Critical patent/CN116382896B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例提供一种图像处理算法的调用方法、终端设备、介质及产品。该方法包括:所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存;其中,所述运行内存用于运行图像处理算法对所述终端设备采集的人脸图像进行图像处理;所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存。这样,当确定无需进行人眼注视检测时,可以释放前期所申请创建的运行内存,有利于提高终端设备的内存资源使用效率。

Description

图像处理算法的调用方法、终端设备、介质及产品
技术领域
本申请涉及终端技术领域,尤其涉及一种图像处理算法的调用方法、终端设备、介质及产品。
背景技术
目前,终端设备可以基于可信执行环境(Trusted execution environment,简称TEE)对摄像头拍摄的人脸图像进行处理,并得到的处理结果返回至终端设备的富执行环境(Rich Execution Environment,简称REE)侧。其中,人脸图像处理具体可以为人脸注视点识别的处理、人脸标定框的识别处理等。
然而,在可信执行环境进行图像处理时,由于各个算法所对应的运行内存已被提前分配好,无法被释放给其余算法或者进程使用,因此,容易造成内存空间的浪费。
发明内容
本申请实施例提供一种图像处理算法的调用方法、终端设备、介质及产品,应用于终端技术领域,用于减少终端设备的内存占用,提高内存空间利用率。
第一方面,本申请实施例提出一种图像处理算法的调用方法。该方法包括:所述终端设备部署有富执行环境和可信执行环境,所述方法包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存;其中,所述运行内存用于运行图像处理算法对所述终端设备采集的人脸图像进行图像处理;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存。
上述方法中,可以在终端设备的富执行环境所创建的运行内存中,运行人眼注视检测时所进行的图像处理算法,以便当无需进行人眼注视检测时,可以在富执行环境中对所创建的运行内存进行释放,以提高设备内存空间的使用效率
在一种可能的实现方式中,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到所述第一界面不包括所述通信信息,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面。
进而,可以通过检测终端设备的第一界面是否存在通知消息,来确定是否需要进行人眼注视检测,以便可以及时在富执行环境中创建的运行内存进行及时的释放,提高终端设备的内存空间使用效率。
在一种可能的实现方式中,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到不显示所述第一界面且显示第二界面,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面,所述第二界面为通信信息的列表的界面。
上述方法中,通过检测终端设备的显示界面,从不再显示通信信息的第一界面切换至显示通信信息的列表界面来确定无需进行人眼注视检测,有利于及时在富执行环境中创建的运行内存进行及时的释放,提高终端设备的内存空间使用效率。
在一种可能的实现方式中,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到不显示所述第一界面且显示第三界面,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面,所述第三界面为所述通信信息展开后的显示界面。
上述方式中,通过检测当前是否已经对通信信息进行展开显示,来确定是否无需进行人眼注视检测,有利于尽快进行运行内存的释放,并且,通过上述方法,有利于用户快速查看通信信息,无需手动操作,以提升用户的使用体验。
在一种可能的实现方式中,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第四界面包括第一组件、第二组件以及至少一个标志符,且检测到针对所述第一组件的控制操作,在所述富执行环境中创建运行内存;所述控制操作用于指示开始录入人脸;所述第二组件表征录入进度;所述标志符的位置用于表征预期的人眼注视点的位置;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到显示第五界面,在所述富执行环境中释放所述运行内存;其中,所述第五界面包括所述第二组件和指示信息,所述指示信息表征录入成功。
本实施方式中,通过检测用户对指定组件的触发操作来确定需要进行人眼检测处理;此外,还可以通过检测显示界面中是否切换至存在指示信息的显示界面的方式,确定是否仍需要进行人眼注视检测,进而完成对人眼校准数据的获取,以便后续确定人眼注视点位置。
在一种可能的实现方式中,所述方法还包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中创建共享内存;其中,所述共享内存用于存储在所述可信执行环境中进行加密处理后的人脸图像;所述运行内存用于运行图像处理算法对所述加密处理后的人脸图像进行图像处理;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述共享内存。
通过上述方式,可以提高终端设备中的内存空间的占用率,并且,采用了加密处理的方式和共享内存的方式进行人脸图像的传递,有利于提高人脸图像的安全性。
在一种可能的实现方式中,所述方法还包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中生成随机数,并确定所述可信执行环境中需要调用的可信应用的识别码;其中,所述随机数和所述识别码用于对所述终端设备采集的人脸图像进行加密和解密;
所述终端设备在所述可信执行环境中,生成加密后的人脸图像。
在每次需要进行人眼注视检测时,都会基于在富执行环境中生成的随机数和需要调用的可信应用的标识符进行加解密处理,有利于提高人脸图像的安全性。
在一种可能的实现方式中,所述方法还包括:
在所述富执行环境中获取所述终端设备采集的人脸图像的存储位置信息;
在所述可信执行环境中的安全内存中,获取所述终端设备采集的人脸图像;所述安全内存用于存储所述终端设备采集的人脸图像。
可以理解的是,在相机获取到人脸图像之后,还可以基于在富执行环境中获取到的存储位置信息,在可信执行环境中获取到安全内存中的人脸图像,以便及时获取到所拍摄到的人脸图像,提高人眼注视检测效率。
第二方面,本申请实施例提供一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行如第一方面的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第四方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种终端设备的结构示意图;
图2为本申请实施例的一种终端设备的软件结构框图;
图3为本申请实施例提供的一种图像处理算法的调用方法的流程示意图;
图4为本申请实施例提供的第一种图像处理算法的调用方法的界面示意图;
图5为本申请实施例提供的第二种图像处理算法的调用方法的界面示意图;
图6为本申请实施例提供的第三种图像处理算法的调用方法的界面示意图;
图7为本申请实施例提供的第四种图像处理算法的调用方法的界面示意图;
图8为本申请实施例提供的第五种图像处理算法的调用方法的界面示意图;
图9为本申请实施例提供的第六种图像处理算法的调用方法的界面示意图;
图10为本申请实施例提供的第七种图像处理算法的调用方法的界面示意图;
图11为本申请实施例提供的又一种图像处理算法的调用方法的流程示意图;
图12为本申请实施例提供的一种终端设备的架构图的示意图;
图13为本申请实施例提供的一种芯片的结构示意图;
图14为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
目前,随着终端技术的发展,终端设备已成为人们生活中的重要工具。其中,终端设备可以为用户提供多种功能,例如,终端设备在用户的操作或者其余指令的触发下,进行人脸图像处理,实现人脸解锁、人脸支付等。
并且,随着当前用户设备安全性的要求,通常会在终端设备中部署有可信执行环境,在可信执行环境中可以运行图像处理算法对终端设备所采集到的人脸图像进行处理,以确保人脸图像的安全性。
然而,由于可信执行环境各个图像处理算法运行时所占用的内存空间为预先在内存配置中配置好的,后续各图像处理算法即使不被调用时,其所对应的内存空间不会被释放,即,该内存空间仅用于运行其所对应的算法,不会被用于其余用途,进而导致内存空间的浪费。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。此外,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。
电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍:
图1示出了终端设备100的结构示意图。终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用以及数据处理。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端设备100根据压力传感器180A检测触摸操作强度。终端设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
距离传感器180F,用于测量距离。终端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端设备100通过发光二极管向外发射红外光。终端设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端设备100附近有物体。当检测到不充分的反射光时,终端设备100可以确定终端设备100附近没有物体。终端设备100可以利用接近光传感器180G检测用户手持终端设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端设备100是否在口袋里,以防误触。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构,等。本申请实施例以分层架构的Android系统为例,示例性说明终端设备100的软件结构。
图2是本申请实施例的终端设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,日历,电话,地图,电话,音乐,设置,邮箱,视频,社交等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图系统,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通信信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合应用程序启动或应用程序中发生界面切换的场景,示例性说明终端设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸力度,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为邮箱应用图标的控件为例,邮箱应用调用应用框架层的接口,启动邮箱应用,进而通过调用内核层启动显示驱动,显示邮箱应用的功能界面。
下面结合附图对本申请实施例提供的方案进行详细地介绍。
图3为本申请实施例提供的一种图像处理算法的调用方法的流程示意图,如图3所示,该方法包括:
S301、终端设备确定进行人眼注视检测,在富执行环境中创建运行内存;其中,运行内存用于运行图像处理算法对终端设备采集的人脸图像进行图像处理。
示例性地,本实施例以执行主体为终端设备进行介绍。本实施例中的终端设备中部署有富执行环境和可信执行环境。
本实施例中的人眼注视检测可以理解为对人脸图像进行图像处理时,识别人眼所对应的注视点位置或者人眼的特征等检测。
当终端设备确定当前需要进行人眼注视检测时,此时,终端设备可以在富执行环境中创建运行内存,以便终端设备可以在富执行环境中所创建的运行内存中对运行图像处理算法以便对终端设备所采集到的人脸图像进行处理。
一个示例中,为了便于终端设备在富执行环境中调用图像处理算法,可以将上述图像处理算法存储于在富执行环境中所创建的内存空间中。
S302、终端设备确定无需进行人眼注视检测,在富执行环境中释放运行内存。
示例性地,终端设备还可以实时监测当前是否需要进行人眼注视检测,若确定无需再次进行人眼注视检测时,此时,则可以在富执行环境中对所创建的运行内存进行释放,以便提高终端设备中的内存空间的占用率。
举例来说,终端设备可以通过检测当前显示的屏幕状态,例如,确定当前屏幕是否处于亮屏解锁状态。若确定当前终端设备处于黑屏锁屏状态,则确定此时无需进行人眼注视检测,则此时可以对所创建的运行内存进行释放。
可以理解的是,本实施例中可以在终端设备的富执行环境所创建的运行内存中,运行人眼注视检测时所进行的图像处理算法,以便当无需进行人眼注视检测时,可以在富执行环境中对所创建的运行内存进行释放,以提高设备内存空间的使用效率。
一个示例中,图4为本申请实施例提供的第一种图像处理算法的调用方法的界面示意图。其中,如图4中的图(a)所示,在终端设备接收到新的通信信息时,此时,会在终端设备的第一界面中显示该通信信息,其中,第一界面可以为终端设备的桌面界面,桌面界面中可以包括有一种或者多种应用软件图标,例如,终端设备可以采用图4(a)中横幅通知的显示,新接收到的通信信息(图(a)中,第一界面的上方的显示框即为通知横幅通知显示区域)。其中,横幅通知显示区域中显示的内容可以为提示用户当前接收到一条新消息的提示语,也可以为新的通知消息中所包含的部分字符,图中用“xxxx,xxxxx”表征。当终端设备当前检测到第一界面中出现的通信信息时,此时终端设备可以确定此时需要进行人眼注视检测,则在终端设备的富执行环境中创建运行内存。
之后,当终端设备通过进行人眼注视检测确定当前人眼注视的位置不在横幅通知显示区域时,此时,终端设备可以不再显示横幅通知显示区域。或者,当终端设备检测到在用户针对横幅显示区域的触发操作,且该触发操作用于指示不再显示该通知消息,例如,用户对横幅通知显示区域进行向左或向右的滑动操作时,此时终端设备则关闭通信信息时,即不再显示该通信信息。此时,终端设备的所显示的界面图切换为了图4中的图(b)中的样式。
进而,终端设备可以通过确定第一界面中不再显示通信信息时,确定无需再次进行人眼注视检测,并在富执行环境中对创建的运行内存进行释放。
可以理解的是,本实施例中,可以通过检测终端设备的第一界面是否存在通知消息,来确定是否需要进行人眼注视检测,以便可以及时在富执行环境中创建的运行内存进行及时的释放,提高终端设备的内存空间使用效率。
一个示例中,图5为本申请实施例提供的第二种图像处理算法的调用方法的界面示意图。其中,如图5中的图(a)所示,在终端设备接收到新的通信信息时,此时,会在终端设备的第一界面中显示该通信信息,其中,第一界面可以为终端设备的桌面界面,桌面界面中可以包括有一种或者多种应用软件图标,例如,终端设备可以采用图5的图(a)中横幅通知的显示,新接收到的通信信息(图(a)中,第一界面的上方的显示框即为横幅通知显示区域)。其中,显示框中显示的内容可以为提示用户当前接收到一条新消息的提示语,也可以为新的通知消息中所包含的部分字符,图中用“xxxx,xxxxx…”表征。当终端设备当前检测到第一界面中出现的通信信息时,此时终端设备可以确定此时需要进行人眼注视检测,则在终端设备的富执行环境中创建运行内存。其中,上述检测到通信信息的步骤可以由终端设备中基于应用(Application,简称app)层面执行。
并且,当app层检测到横幅通知显示区域中的通信信息之后,此时,可以基于app层,启动应用程序框架(Framwork,FWK)层中的智慧感知服务,其中,智慧感知服务为进行人眼注视检测所对应设置的服务。之后,再根据智慧感知服务调起硬件抽象(HardwareAbstraction Layer,HAL)层中智慧感知服务所对应的智慧感知HAL。此时,终端设备基于智慧感知HAL,一方面依次经过FWK层中的相机服务、HAL层中的相机HAL、内核(Kenrel)层中的内核以及内核层中的相机驱动,控制终端设备所配置的相机开启,进行人脸图像拍摄。另一方面,智慧感知HAL还用于创建运行内存,并在智慧感知HAL获取到相机拍摄的人脸图像之后,在运行内存中运行图像处理算法对所获取到的人脸图像进行处理,进行人眼注视检测。在得到处理结果之后,智慧感知HAL还会通过智慧感知服务向app层返回处理结果。
在人眼注视检测的过程中,若终端设备中的app层基于人眼注视检测的结果确定出人眼当前注视的位置为图5(a)中的通信信息所显示的通知横幅显示区域时,此时,终端设备可以基于app层显示第二界面,例如,如图5(b)所示的界面样式。其中,在图5(b)所展示的界面中,为终端设备中的通信信息的展示列表的界面。例如,终端设备中的短信通知列表、或者其余社交软件等的通信信息的列表界面。或者,也可以在用户的触发下进入上述第二界面,例如,用户通过对第一界面中的短信图标进行操作进而进入通信信息列表界面。图(b)中,通信信息1左上角的识别①表征该通信信息为未读状态。
当终端设备检测到所显示的界面由上述的第一界面切换至显示第二界面时,即终端设备检测到不显示第一界面且显示第二界面,则确定无需进行人眼注视检测,进而,可以在富执行环境中释放运行内存。
在实际应用场景中,当用户存在一条或多条未读的通信信息时,若此时又确定接收到新的通信信息时,此时,可以通过横幅通知的方式通知向用户显示以下提示信息“当前存在N条未读短信”。此时,终端设备可以确定开始人眼注视检测,并在富执行环境中创建运行内存。若根据人眼注视检测结果确定出人眼注视点为横幅通知栏所处位置,则向用户显示短信列表的界面,以便用户后续对短信进行查看。并且,在终端设备确定当前的显示界面切换至短信的列表界面时,此时,可以在富执行环境中进行运行内存的释放操作。
如图6所示,图6为本申请实施例提供的第三种图像处理算法的界面示意图。如图6中的图(a)的显示界面所示,当终端设备在app层中检测到横幅通知栏,且横幅通知栏中显示“当前存在N条未读通信信息”的字符时,此时,终端设备确定需要进行人眼注视检测,并且,当确定人眼注视检测的检测结果指示人眼注视点的坐标位于横幅通知栏时,此时,可以为用户显示如图6中的图(b)所示的界面,即通信信息的列表界面,以便用户在该列表界面中选择所需查看的内容。并且,在跳转至上述列表界面之后,可以释放之前申请的运行内存。
本实施例中,通过检测终端设备的显示界面,从不再显示通信信息的第一界面切换至显示通信信息的列表界面来确定无需进行人眼注视检测,有利于及时在富执行环境中创建的运行内存进行及时的释放,提高终端设备的内存空间使用效率。
一个示例中,图7为本申请实施例提供的第四种图像处理算法的调用方法的界面示意图,其中,图7中的图(a)中的描述,可以参见图4中图(a)的描述,此处不再赘述。
当终端设备确定检测到第一界面,并在富执行环境中创建运行内存之后,可以在运行内存中运行图像处理算法,对人脸图像进行处理,进而进行人眼注视检测。
一种可能的情况中,如图6中的图(a)所示,受通信信息所对应显示的通知横幅显示区域大小的限制,在该区域中无法完全显示出所接收到的通信信息。此时,在终端设备进行人眼检测时,若根据人眼检测结果确定人眼注视点位于通知横幅显示区域,则此时,终端设备会向用户显示第三显示界面。例如,图6中的图(b)所示,其中,第三显示界面中用于显示完整的通信信息,即,展开后的通信信息,以便用户查看完整的信息。例如,通信信息为短信时,可以通过调起短信消息显示界面,显示完整的短信。
并且,当终端设备检测到当前的显示界面为第三界面时,此时终端设备确定无需进行人眼检测处理,进而在富执行环境中对运行内存进行释放。
可以理解的是,本实施例中,可以通过检测当前是否已经对通信信息进行展开显示,来确定是否无需进行人眼注视检测,有利于尽快进行运行内存的释放,并且,通过上述方法,有利于用户快速查看通信信息,无需手动操作,以提升用户的使用体验。
在一种可能的实现方式中,终端设备可以在确定用户注视横幅通知栏,且横幅通知栏中的信息表征当前仅有一条通知信息时,此时可以显示完整的通知信息界面,即参考上述图7所示的界面示意;若终端设备在确定用户注视横幅通知栏,且横幅通知栏中的信息表征当前仅存在多条条通知信息时,可以向用户显示通知信息列表界面,即参考上述图6的显示方式。
一种可能的实现方式中,图8为本申请实施例提供的第五种图像处理算法的调用方法的界面示意图。如图8所示,图8中的图(a)的界面描述,可以参见图4中图(a)的描述,此处不再赘述。当终端设备检测到横幅通知出现时,此处终端设备会在富执行环境中创建运行内存,进行人眼注视检测。在人眼注视检测过程中,当终端设备根据人眼注视检测结果确定用户在预设时段内持续注视横幅通知时,此时,会采用半屏显示的方式显示横幅通知中的通知信息,例如,如图8中的图(b)中的界面所示。即,相比于图8中的图(a)而言,扩大了界面中的横幅通知显示区域在页面中所占比例,以便显示出所接收到的通知消息中的更多信息。
进一步的,终端设备持续进行人脸注视检测处理,在显示出图8中的图(b)所示的显示界面之后,若确定用户不再注视图(b)中的横幅通知区域,则进一步的可以将显示界面切换至图4中的图(b)所示的界面样式,进而减少终端设备的界面切换的处理。
在显示出图8中的图(b)所示的显示界面之后,若在人眼注视检测过程中确定用户在预设时段内仍持续注视图8中的图(b)的横幅通知区域时,此时,会将终端设备的显示页面切换至如图7中的图(b)所示的界面,即显示该通信信息所对应的应用程序的显示界面,以便完全展示接收到的通信信息。并且,在展开通信信息之后,确定无需进行人眼注视检测,对运行内存进行释放。
一种可能的实现方式中,当接收到的通信信息为社交软件类型的应用程序对应的通知信息时,此时图9为本申请实施例提供的第六种图像处理算法的调用方法的界面示意图。并且,当检测到人眼注视横幅通知区域时,开始创建运行内存,并进行人眼注视检测。
如图9所示,图9为本申请实施例提供的第六种图像处理算法的调用方法的界面示意图。图9中的图(a)可以参照图4中的图(a)的描述,唯一区别是,横幅通知栏中的显示样式不同,本场景中为社交软件类型的通信信息,其中,填充阴影的方框可以理解为发送通信信息的用户社交头像。在通信信息为社交软件类型的聊天消息时,此时,若终端设备确定人眼在一段时间中在持续注视横幅通知区域,则可以进一步的打开与所接收到的通信信息对应的联系人的聊天界面,方便用户快速回复。如图9中的图(b)所示,图(b)所示的界面为与用户A对应的聊天界面,界面中两种不同的阴影的方框可以看作两个不同的用户。并且,在终端设备确定出以显示该聊天界面,并在聊天界面中显示该通知信息时,则此时,确定无需进行人眼注视检测,进而对运行内存进行释放。
一个示例中,图10为本申请实施例提供的第七种图像处理算法的调用方法的界面示意图,如图10中的图(a)所示,图(a)为终端设备的设置界面。在终端设备开启人眼注视检测之前,首先要获取人眼校准数据,其中,人眼校准数据为终端设备在进行人眼注视点检测时所需要的数据。举例来说,人眼校准数据,可以为终端设备通过引导用户观察指定标志点时所采集的人脸图像所确定的人眼特征,也可以为终端设备通过引导用户观察指定标志点时,根据采集的人脸图像所确定出的人眼注视点的坐标和指定标志点的坐标之间的差值。当终端设备进行人眼注视检测时,可以基于所采集到的人脸图像、人眼校准数据以及预先存储的图像处理算法,确定人眼注视的位置信息。
在图(a)所显示的设置界面中显示有多个设置选项,用户可以通过选择人眼注视选项,进入人眼校准数据采集界面,例如,如图(b)所示的界面。在图(b)所示的界面中,包括:包括第一组件、第二组件以及至少一个标志符,例如图中,包括的三个标志符分别用数字1、2、3表征。其中,第二组件可以为进度条类型组件,可以通过所显示的进度条的长度指示当前录入的进度。标志符所处的位置即为预定的标志点的位置,即期望用户人眼注视的注视点位置。当终端设备监测到上述图(b)所示的界面,且监测到用户针对于第一组件的控制操作时,其中,控制操作用于指示开始录入人脸,则此时终端设备在富执行环境中创建运行内存。例如,第一组件上可以包括“开始录制”的文字,当用户点击该第一组件之后,终端设备开始创建运行内存。
在录入过程中,例如如图10中的图(c)所示,其中,第二组件的进度条用于展示整个录入过程的进度。终端设备的界面中可以轮流逐一显示标志符,例如,图中当前仅显示标志符2。并且,在显示每一标志符时,还可以在每一标识符处显示用户剩余所需观察的时长,例如,图中所采用的方式为在标志符2的周围设置圆形曲线,由圆形曲线的剩余曲线长度表征还需要用户人眼注视该标志符的剩余时长。
在实际处理过程中,终端设备可以基于app层检测用户针对第一组件的控制操作;并基于app层,启动应用程序框架(Framwork,FWK)层中的智慧感知服务,其中,智慧感知服务为进行人眼注视检测所对应设置的服务。之后,再根据智慧感知服务调起硬件抽象(Hardware Abstraction Layer,HAL)层中智慧感知服务所对应的智慧感知HAL。此时,终端设备基于智慧感知HAL,一方面依次经过FWK层中的相机服务、HAL层中的相机HAL、内核(Kenrel)层中的内核以及内核层中的相机驱动,控制相机开启,进行人脸图像拍摄。另一方面,智慧感知HAL还用于创建运行内存,并在智慧感知HAL获取到相机拍摄的人脸图像之后,在运行内存中运行图像处理算法对所获取到的人脸图像进行处理,确定处理结果,此时,处理结果表征预定标志点处所对应的人眼校准数据是否成功获取。在得到处理结果之后,智慧感知HAL还会通过智慧感知服务向app层返回处理结果。
当app层确定上述预定标志点的人眼校准数据已采集成功时,此时,终端设备可以基于app层向用户展示如图10中的图(d)所示的界面,如图所示,该界面中包括有第二组件和指示信息,以通过指示信息向用户表征当前已录入成功。图(d)中的“录入成功”文字以及文字上方的对钩符号,即为此处的指示信息。需要说明的是,本申请中所展示的界面图仅为示例性的说明,不做具体限定。
一个示例中,当确定人眼校准数据获取失败时,此时,还可以在终端设备显示界面中显示录入失败或者提示用户重新录入的信息。
一个示例中,所获取到的人眼校准数据,可以存储在富执行环境所申请的内存存储空间中。
可以理解的是,本实施例中,可以通过检测用户对指定组件的触发操作来确定需要进行人眼检测处理;此外,还可以通过检测显示界面中是否切换至存在指示信息的显示界面的方式,确定是否仍需要进行人眼注视检测,进而完成对人眼校准数据的获取,以便后续确定人眼注视点位置。
图11为本申请实施例提供的又一种图像处理算法的调用方法的流程示意图,如图11所示,该方法包括:
S901、终端设备确定进行人眼注视检测,在富执行环境中创建运行内存和共享内存,共享内存用于存储在可信执行环境中进行加密处理后的人脸图像;运行内存用于运行图像处理算法对加密处理后的人脸图像进行图像处理。
示例性地,本实施例以执行主体为终端设备进行介绍。本实施例中的终端设备中部署有富执行环境和可信执行环境。
本实施例中的人眼注视检测可以理解为对人脸图像进行图像处理时,识别人眼所对应的注视点位置或者人眼的特征等检测。
在终端设备中,当相机采集到人脸图像之后,为了确保人脸图像的安全性,通常会将所采集到的人脸图像存储至预先申请的安全内存中,其中,该安全内存仅能有可信执行环境侧进行访问,富执行环境侧无法访问该安全内存。举例来说,当相机采集到人脸图像时,此时,终端设备可以基于内核层将所采集到的人脸图像直接存储在安全内存中。
为了方便终端设备可以在富执行环境中获取到采集的人脸图像,本实施例中当终端设备确定当前需要进行人眼注视检测时,此时,终端设备不仅在富执行环境中创建运行内存,还需要在富执行环境中创建共享内存。其中,共享内存中用于存储终端设备在可信执行环境中所获取到的人脸采集图像。
具体地,当相机所采集到的人脸图像存入安全内存之后,终端设备可以在可信执行环境中获取安全内存中所存储的人脸数据,并对获取到的人脸数据进行加密处理,之后,将加密后的人脸数据存入所创建的共享内存中。其中,共享内存的内存空间地址可以由终端设备中在富执行环境中的应用发送给在可信执行环境中的可信应用。
之后,终端设备可以基于HAL层中的智慧感知HAL在富执行环境中创建的共享内存中,获取到加密后的人脸数据,之后,在对加密后的人脸数据进行图像处理。
一个示例中,为了便于终端设备在富执行环境中调用图像处理算法,可以将上述图像处理算法存储于在富执行环境中所创建的内存空间中。
S902、终端设备确定无需进行人眼注视检测,在富执行环境中释放运行内存和共享内存。
示例性地,终端设备还可以实时监测当前是否需要进行人眼注视检测,若确定无需再次进行人眼注视检测时,此时,则可以在富执行环境中对所创建的运行内存以及共享内存进行释放,以便提高终端设备中的内存空间的占用率,并且,采用了加密处理的方式和共享内存的方式进行人脸图像的传递,有利于提高人脸图像的安全性。
一个示例中,终端设备确定进行人眼注视检测,在富执行环境中生成随机数,并确定可信执行环境中需要调用的可信应用的识别码;其中,随机数和识别码用于对终端设备采集的人脸图像进行加密和解密;终端设备在可信执行环境中,生成加密后的人脸图像。
示例性地,本实施例中,提供了一种加密方法。当终端设备确定需要进行人眼注视检测时,此时,会在富执行环境中生成一个随机数,并进一步确定可信执行环境中需要调用的可信应用的识别码。之后,基于该标识码和随机数,确定加密处理的密钥信息。此外,终端设备还会基于HAL层中的智慧感知HAL,向需要调用的可信应用发送生成的随机数。之后,当终端设备在可信执行环境中获取到安全内存中的人脸图像之后,会根据需要调用的可信应用的识别码和获取到的随机数,生成密钥信息,需要说明的是,此时,在可信执行环境中生成的密钥信息和在富执行环境中生成的密钥信息为同一信息。即,在可信执行环境中根据该密钥信息对人脸图像进行加密处理之后,在富执行环境中在获取到共享内存中的加密后的人脸图像信息之后,也可以基于在富执行环境中得到的密钥信息进行解密处理,之后,再进行人眼注视检测。
此外,本实施例中,当终端设备确定无需进行人眼注视检测时,此时,可以将生成的随机数删除,当需要再次进行人眼注视检测时,仍可以随机生成一个随机数。
可以理解的是,本实施例中,在每次需要进行人眼注视检测时,都会基于在富执行环境中生成的随机数和需要调用的可信应用的标识符进行加解密处理,有利于提高人脸图像的安全性。
一个示例中,在富执行环境中获取终端设备采集的人脸图像的存储位置信息;
在可信执行环境中的安全内存中,获取终端设备采集的人脸图像;安全内存用于存储终端设备采集的人脸图像。
示例性地,本实施例中,当相机采集到人脸图像时,此时,一方面会将采集到的图像存储至安全内存中,一方面,会基于内核层向HAL层中的相机HAL返回人脸图像在安全内存中的存储位置信息,在实际应用中该存储位置信息可以为基于人脸图像所对应的图像句柄消息携带。之后,该存储位置信息依次基于相机HAL、相机服务、智慧感知HAL传输至可信执行环境中需要调用的可信应用(Trust Application,简称TA)。之后,终端设备在可信执行环境中由TA根据存储位置信息,在安全内存中获取相机拍摄到的图像。
可以理解的是,本实施例中,在相机获取到人脸图像之后,还会通知可信执行环境中需要进行调用的TA,以便可以及时获取到所拍摄到的人脸图像,提高人眼注视检测效率。
一个示例中,在可信执行环境中将加密后的人脸图像存储在共享内存之后,也可以向HAL层的智慧感知HAL发送通信信息,以便终端设备基于智慧感知HAL和通信信息所指示的加密后的图像的存储位置,进行加密图像的获取。
图12为本申请实施例提供的一种终端设备的架构图的示意图。如图12所示,在终端设备中部署有富执行环境和可信执行环境。其中,富执行环境所对应的软件层包括:App层、FWK层、系统运行库层、HAL层、以及Linux内核层。
其中,当终端设备基于App层确定需要进行人眼注视检测时,此时,可以依次通过智慧感知服务、智慧感知HAL、相机服务、相机HAL、内核、相机驱动,驱动控制终端设备中所配置的相机进行人脸图像的采集。并且,在智慧感知HAL在上述过程中被调用时,还会创建共享内存、运行内存,并调起在可信执行环境中的可信相机服务以及智慧感知TA,并将所建立的共享内存的地址信息发送给智慧感知TA。在一种实现方式中,智慧感知HAL在启动时,还可以进一步生成随机数,并将随机数发送给智慧感知TA,以便后续可以基于智慧感知TA进行图像加密处理。
当相机启动之后,相机会实时采集人脸图像,并将采集到的图像通过安全通道传输至终端设备中的安全内存中。此步骤的具体过程可以参见相关技术中的描述,此处不再赘述。
并且,在相机将采集到的人脸图像传输至安全内存之后,进一步的还会依次经过相机驱动、内核、相机HAL、相机服务,向智慧感知HAL传输所采集到的人脸图像在安全内存中的存储位置信息,以便终端设备中的HAL可以向可信执行环境中的智慧感知TA发送该存储信息。在该存储信息的指示下,终端设备中在可信执行环境中部署的可信服务将从安全内存中获取的人脸图像传输给智慧感知TA,并基于智慧感知TA在可信执行环境中对获取到的人脸图像进行加密处理。并且,可信执行环境中的智慧感知TA将加密后的人脸图像存储至共享内存。
智慧感知HAL可以在智慧感知TA的通知触发下去共享内存中获取加密后的人脸图像,并由智慧感知HAL进行解密,并在运行内存中调用并运行存储在富执行环境可访问的内存空间中的图像处理算法,对人脸图像进行人眼注视检测。其中,该图像处理算法可以存储在终端设备的富执行环境可访问的算法存储库中。在一种可能的实现方式中,算法存储库中不仅可以用于存储用于人脸注视检测的图像处理算法,还可以用于存储人眼校准数据;相机参数(例如,飞行时间TOF相机的标定参数)。在一种可能的实现方式中算法存储库中还用于存储对相机参数进行调整的算法,该算法可以用于根据所获取到的人脸图像,确定下一帧图像采集时相机所需要的曝光参数,并将曝光参数由智慧感知HAL,基于图中的数据传输通路依次传输至相机。
当智慧感知HAL获取到人眼注视检测结果之后,会将检测结果通过智慧感知服务返回给APP层。终端设备基于APP层和接收到的检测结果,确定是否需要进行人眼注视检测。
若确定无需进行人眼注视检测,则可以经由智慧感知服务下发指令给智慧感知HAL,由智慧感知HAL进行相机的关闭、共享内存和运行内存的释放。
需要说明的是,本实施例中对于终端设备中的相机(摄像头)的种类和数量不做具体限定。
上面已对本申请实施例的设备列表排序的方法进行了说明,下面对本申请实施例提供的执行上述列表排序的方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的相关装置可以执行上述列表排序的方法中的步骤。
本申请实施例可以根据上述方法示例对上述方法的装置进行功能模块的划分,例如可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图13所示为本申请实施例提供的一种芯片的结构示意图。芯片1100包括一个或两个以上(包括两个)处理器1101、通信线路1102、通信接口1103和存储器1104。
在一些实施方式中,存储器1104存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
上述本申请实施例描述的方法可以应用于处理器1101中,或者由处理器1101实现。处理器1101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述终端设备执行方法的各步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1101可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1101可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1104,处理器1101读取存储器1104中的信息,结合其硬件完成上述方法的步骤。
处理器1101、存储器1104以及通信接口1103之间可以通过通信线路1102进行通信。
图14为本申请实施例提供的一种终端设备的结构示意图,如图14所示,终端设备1200包括上述芯片和显示单元。显示单元中设置有集成电路面板,集成电路面板用于发出周期性中断事件。其中,集成电路面板去除了用于计算与触控操作对应的坐标信息的集成电路单元。
本申请实施例提供的图像处理算法的调用方法,可以应用在具备通信功能的电子设备中。电子设备包括终端设备,终端设备的具体设备形态等可以参照上述相关说明,此处不再赘述。
本申请实施例提供一种终端设备,该终端设备包括:包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行上述方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (11)

1.一种图像处理算法的调用方法,其特征在于,应用于终端设备,所述终端设备部署有富执行环境和可信执行环境,所述方法包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存;其中,所述运行内存用于运行图像处理算法对所述终端设备采集的人脸图像进行图像处理;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存。
2.根据权利要求1所述的方法,其特征在于,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到所述第一界面不包括所述通信信息,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面。
3.根据权利要求1所述的方法,其特征在于,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到不显示所述第一界面且显示第二界面,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面,所述第二界面为通信信息的列表的界面。
4.根据权利要求1所述的方法,其特征在于,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第一界面包括通信信息,在所述富执行环境中创建运行内存;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到不显示所述第一界面且显示第三界面,在所述富执行环境中释放所述运行内存;其中,所述第一界面为所述终端设备的桌面界面,所述第三界面为所述通信信息展开后的显示界面。
5.根据权利要求1所述的方法,其特征在于,所述终端设备确定进行人眼注视检测,在所述富执行环境中创建运行内存,包括:所述终端设备检测到第四界面包括第一组件、第二组件以及至少一个标志符,且检测到针对所述第一组件的控制操作,在所述富执行环境中创建运行内存;所述控制操作用于指示开始录入人脸;所述第二组件表征录入进度;所述标志符的位置用于表征预期的人眼注视点的位置;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述运行内存,包括:所述终端设备检测到显示第五界面,在所述富执行环境中释放所述运行内存;其中,所述第五界面包括所述第二组件和指示信息,所述指示信息表征录入成功。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中创建共享内存;其中,所述共享内存用于存储在所述可信执行环境中进行加密处理后的人脸图像;所述运行内存用于运行图像处理算法对所述加密处理后的人脸图像进行图像处理;
所述终端设备确定无需进行人眼注视检测,在所述富执行环境中释放所述共享内存。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述终端设备确定进行人眼注视检测,在所述富执行环境中生成随机数,并确定所述可信执行环境中需要调用的可信应用的识别码;其中,所述随机数和所述识别码用于对所述终端设备采集的人脸图像进行加密和解密;
所述终端设备在所述可信执行环境中,生成加密后的人脸图像。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
在所述富执行环境中获取所述终端设备采集的人脸图像的存储位置信息;
在所述可信执行环境中的安全内存中,获取所述终端设备采集的人脸图像;所述安全内存用于存储所述终端设备采集的人脸图像。
9.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
CN202310209152.1A 2023-02-27 2023-02-27 图像处理算法的调用方法、终端设备、介质及产品 Active CN116382896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310209152.1A CN116382896B (zh) 2023-02-27 2023-02-27 图像处理算法的调用方法、终端设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310209152.1A CN116382896B (zh) 2023-02-27 2023-02-27 图像处理算法的调用方法、终端设备、介质及产品

Publications (2)

Publication Number Publication Date
CN116382896A true CN116382896A (zh) 2023-07-04
CN116382896B CN116382896B (zh) 2023-12-19

Family

ID=86962448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310209152.1A Active CN116382896B (zh) 2023-02-27 2023-02-27 图像处理算法的调用方法、终端设备、介质及产品

Country Status (1)

Country Link
CN (1) CN116382896B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733911A (zh) * 2017-10-30 2018-02-23 郑州云海信息技术有限公司 一种动力与环境监控系统客户端登录验证系统及方法
CN109840436A (zh) * 2017-11-29 2019-06-04 阿里巴巴集团控股有限公司 数据处理方法、可信用户界面资源数据的应用方法及装置
CN110727966A (zh) * 2018-07-16 2020-01-24 Oppo广东移动通信有限公司 图像处理方法和装置、存储介质、电子设备
CN111124668A (zh) * 2019-11-28 2020-05-08 宇龙计算机通信科技(深圳)有限公司 内存释放方法、装置、存储介质及终端
CN111866393A (zh) * 2020-07-31 2020-10-30 Oppo广东移动通信有限公司 显示控制方法、装置及存储介质
CN112307483A (zh) * 2019-07-30 2021-02-02 华为技术有限公司 可信用户界面的显示方法及电子设备
CN112513814A (zh) * 2020-04-01 2021-03-16 华为技术有限公司 任务调度方法及装置
CN113495616A (zh) * 2020-04-01 2021-10-12 中兴通讯股份有限公司 终端显示控制方法、终端以及计算机可读存储介质
CN113760090A (zh) * 2021-06-18 2021-12-07 荣耀终端有限公司 一种基于可信执行环境的业务流程执行方法及电子设备
WO2022042766A1 (zh) * 2020-08-25 2022-03-03 荣耀终端有限公司 信息显示方法、终端设备及计算机可读存储介质
CN115048642A (zh) * 2021-11-29 2022-09-13 荣耀终端有限公司 多可信执行环境下可信应用间的通信方法及电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733911A (zh) * 2017-10-30 2018-02-23 郑州云海信息技术有限公司 一种动力与环境监控系统客户端登录验证系统及方法
CN109840436A (zh) * 2017-11-29 2019-06-04 阿里巴巴集团控股有限公司 数据处理方法、可信用户界面资源数据的应用方法及装置
CN110727966A (zh) * 2018-07-16 2020-01-24 Oppo广东移动通信有限公司 图像处理方法和装置、存储介质、电子设备
CN112307483A (zh) * 2019-07-30 2021-02-02 华为技术有限公司 可信用户界面的显示方法及电子设备
CN111124668A (zh) * 2019-11-28 2020-05-08 宇龙计算机通信科技(深圳)有限公司 内存释放方法、装置、存储介质及终端
CN112513814A (zh) * 2020-04-01 2021-03-16 华为技术有限公司 任务调度方法及装置
CN113495616A (zh) * 2020-04-01 2021-10-12 中兴通讯股份有限公司 终端显示控制方法、终端以及计算机可读存储介质
CN111866393A (zh) * 2020-07-31 2020-10-30 Oppo广东移动通信有限公司 显示控制方法、装置及存储介质
WO2022042766A1 (zh) * 2020-08-25 2022-03-03 荣耀终端有限公司 信息显示方法、终端设备及计算机可读存储介质
CN113760090A (zh) * 2021-06-18 2021-12-07 荣耀终端有限公司 一种基于可信执行环境的业务流程执行方法及电子设备
CN115048642A (zh) * 2021-11-29 2022-09-13 荣耀终端有限公司 多可信执行环境下可信应用间的通信方法及电子设备

Also Published As

Publication number Publication date
CN116382896B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN112269527B (zh) 应用界面的生成方法及相关装置
EP3958117A1 (en) User interface layout method and electronic device
CN113254120B (zh) 数据处理方法和相关装置
CN104869305B (zh) 处理图像数据的方法及其装置
WO2019072178A1 (zh) 一种通知处理方法及电子设备
EP4063203A1 (en) Authentication method and medium and electronic apparatus thereof
CN113806105B (zh) 消息处理方法、装置、电子设备和可读存储介质
US20180307819A1 (en) Terminal control method and terminal, storage medium
US20240031450A1 (en) Method and apparatus for processing push message
CN115079886B (zh) 二维码识别方法、电子设备以及存储介质
WO2022160991A1 (zh) 权限控制方法和电子设备
EP4030680A1 (en) Application processing method and related product
CN116010076A (zh) 一种应用运行方法以及相关设备
CN116028148B (zh) 一种界面处理方法、装置及电子设备
CN116382896B (zh) 图像处理算法的调用方法、终端设备、介质及产品
CN113312249A (zh) 日志数据生成方法、日志数据显示方法及装置
CN116755748B (zh) 卡片更新方法、电子设备以及计算机可读存储介质
CN116661584B (zh) 一种资源调度方法及相关设备
CN116688494B (zh) 生成游戏预测帧的方法和电子设备
CN116700819B (zh) 相机硬件模组的启动方法、设备以及存储介质
CN116672707B (zh) 生成游戏预测帧的方法和电子设备
CN116257139B (zh) 眼动追踪方法和电子设备
CN117148959A (zh) 眼动追踪的帧率调整方法及相关装置
CN114513479B (zh) 消息收发方法、装置、终端、服务器及存储介质
CN116048829B (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