用于执行脸部追踪功能的方法及其电子装置技术领域
本发明涉及一种一般用于执行一脸部追踪功能的方法及其电子装置,且
特别是涉及一种在一视讯通话(VideoCall)下用于执行一脸部追踪功能的方
法及其电子装置。
背景技术
近年来,电子装置的前摄影镜头的分辨率越来越高,而且视讯通话(Video
Talk)的使用亦越来越普及。因此,如何给使用者提供更多样化的视讯通话的
应用,乃业界所重视的技术发展议题。
发明内容
根据本发明的一方面,提供了一种在一电子装置中执行一脸部追踪功能
的方法。电子装置具有一触控面板、一摄像镜头和一处理器。该方法包括下
列步骤。由触控面板接收一触控信号。在一视讯通话下,由处理器基于触控
信号进入一脸部追踪模式。由处理器在摄像镜头所撷取的一撷取画面上进行
脸部追踪以取得撷取画面中的至少一感兴趣区域(RegionofInteresting,
ROI),每一感兴趣区域(ROI)具有一脸部的一影像。由处理器借助结合至少
一感兴趣区域(ROI)而产生一目标画面(TargetFrame)。由处理器传送目标画
面到另一电子装置,以使目标画面作为一视讯通话画面而显示在另一电子装
置上。
根据本发明的另一方面,提供了一种用于执行一脸部追踪功能的电子装
置。电子装置包括一触控面板、一摄像镜头和一处理器。触控面板是用于接
收一触控信号。摄像镜头是用于撷取一撷取画面。处理器是用于基于触控信
号而在一视讯通话下进入一脸部追踪模式,并在摄像镜头所撷取的撷取画面
上进行脸部追踪以取得撷取画面中的至少一感兴趣区域(ROI),每一感兴趣
区域(ROI)具有一脸部的一影像。处理器还用以借助结合至少一感兴趣区域
(ROI)而产生一目标画面,并用于传送目标画面到另一电子装置,以使目标
画面作为一视讯通话画面而显示在另一电子装置上。
根据本发明的又一方面,提供了一种用于储存一程序码的非暂时性储存
媒介。当由一电子装置执行程序码时,电子装置执行一方法以执行一脸部追
踪功能。电子装置具有一触控面板、一摄像镜头和一处理器。该方法包括下
列步骤。由触控面板接收一触控信号。在一视讯通话下,由处理器基于触控
信号进入一脸部追踪模式。由处理器在摄像镜头所撷取的一撷取画面上进行
脸部追踪以取得撷取画面中的至少一感兴趣区域(ROI),每一感兴趣区域
(ROI)具有一脸部的一影像。由处理器借助结合至少一感兴趣区域(ROI)而产
生一目标画面。由处理器传送目标画面到另一电子装置,以使目标画面作为
一视讯通话画面而显示在另一电子装置上。为了对本发明的上述及其他方面
有更佳的了解,下文列举实施例并配合附图,做详细说明如下:
附图说明
图1是根据本发明的一实施例在一电子装置中执行一脸部追踪功能的
一方法的一流程图。
图2是电子装置的功能方块图。
图3是一白名单的一例子。
图4是根据本发明的一实施例的电子装置的一浮动控制界面的一例子。
图5A~5E是显示在一电子装置A上的相应画面。
图6A~6E是显示在一电子装置B上的相应画面。
图7是具有脸部追踪功能的电子装置的一软件/硬件架构的一例子。
图8A~8C是一脸部检测器、一脸部追踪引擎以及一切割拼接单元的操
作示意。
图9是具有三个感兴趣区域的一目标画面的另一例子。
在下面的详细描述中,出于解释的目的,许多具体细节被阐述以提供对
本发明揭示的实施例的彻底理解。然而,显而易见地,一个或多个实施例可
以在没有这些具体细节的情况下加以实施。在其他实施例中,一般的结构与
装置为了简化而仅做示意地图式呈现。
附图符号说明
102~110:步骤
200:电子装置
202:触控面板
204:处理器
206:摄像镜头
208:通讯模块
402:浮动控制界面
404:一般模式图标
406:脸部追踪图标
410:补光图标
502:画面
602:画面
702:视讯通话(VT)应用程序
704:视讯通话增强(VTE)浮动控制界面
706:相机服务程序
708:视讯通话增强(VTE)原生应用程序
710:相机硬件适配层(HAL)
712:相机感应器
714:影像信号处理器
716:脸部检测器
718:脸部追踪引擎
720:切割拼接单元
722:缩放器
802:画面缓冲器
804、806:区块
ROI1~ROI4:区域
FHQ:高分辨率画面
FT1、FT2:目标画面
具体实施方式
图1是根据本发明的一实施例在一电子装置中执行一脸部追踪功能的
方法的流程图。电子装置200的功能方块图则如图2所示。电子装置200具
有一触控面板202、一处理器204和一摄像镜头206。此方法包括下列步骤。
首先,在步骤102,触控面板202接收一触控信号。其次,在步骤104,在
一视讯通话下,处理器204基于触控信号进入一脸部追踪模式。接着,在步
骤106,处理器204在摄像镜头206所撷取的一撷取画面上进行脸部追踪以
取得撷取画面中的至少一感兴趣区域(ROI)。每一感兴趣区域(ROI)具有一脸
部的一影像。之后,在步骤108,处理器204借助结合至少一感兴趣区域(ROI)
而产生一目标画面(TargetFrame)。最后,在步骤110,处理器204传送目标
画面到另一电子装置,以使目标画面作为一视讯通话画面而显示在另一电子
装置上。
因此,即使目前由电子装置200在视讯通话上的应用程序并不提供脸部
追踪功能,根据本实施例的电子装置200也可以执行脸部追踪功能,并传送
目标画面到另一电子装置以作为一视讯通话画面。也就是说,目标画面可以
取代其视讯通话的画面,并且目标画面可以借助以相同于视讯通话的一画面
传送方式,而被传送到另一电子装置,来实现脸部追踪功能。
当电子装置200执行一通讯程序而执行与另一电子装置的视讯通话时,
触控面板202可进一步地显示一浮动控制界面。浮动控制界面具有一脸部追
踪控制项目。当脸部追踪控制项目被选择时,触控面板202将接收到触控信
号,并且处理器204基于触控信号而在一视讯通话下对应地进入一脸部追踪
模式。
此外,触控面板202具有触控和/或显示的功能。如果触控面板202不
具有显示的功能,则电子装置200可具有一显示器(未示出)。画面可以显示
在触控面板202的屏幕上或是在显示器的屏幕上。电子装置200可进一步具
有一通讯模块208,用于通过无线通讯或通过因特网的方式而与其他电子装
置进行通讯。
电子装置200可以是行动装置,例如智能手机或平板计算机。电子装置
200的操作系统可例如是Android操作系统。处理器204借助判断用于视讯
通话的通讯程序是否在前台(Foreground)被执行和摄像镜头206是否被开启,
从而决定电子装置200是否在执行视讯通话。当用于视讯通话的通讯程序在
前台被执行且摄像镜头206被开启时,处理器204确定电子装置200在执行
视讯通话。通讯程序可以是列在一白名单(WhiteList)中能够执行视讯通话的
多个应用程序之一。白名单还包含有其他候选的通讯程序。而在图3中呈现
了白名单的一例子。
如果目前由电子装置200在前台所执行的应用程序包含在图3的白名单
中且摄像镜头206已被开启,则确定电子装置200在执行视讯通话,而浮动
控制界面将被显示在屏幕上。浮动控制界面是来自有别于这些通讯程序的一
独立的应用程序,且浮动控制界面并不包含在白名单中。浮动控制界面可以
用来作为一使用者操作界面。
请参见图4,其是根据本发明的一实施例的电子装置200的浮动控制界
面的一例子。浮动控制界面402具有一脸部追踪(FaceTracking)图标406,作
为上述的脸部追踪控制项目。浮动控制界面402可以进一步例如包括一般模
式(NormalMode)图标404以及补光(LightFilling)图标410,但不限于此。根
据电子装置200的功能需求,可以在浮动控制界面402中加入其他图标或可
移除一些图标。
当使用者按下或选择脸部追踪图标406时,电子装置200将执行以下操
作。在此,以由一电子装置A执行如在图5A~5E所示的操作为例做说明。
电子装置A例如正与一电子装置B进行视讯通话,而相应的画面被显示在
如图6A~6E所示的电子装置B上。请参见图5A,假设由电子装置A的摄像
镜头206在本地所拍摄的画面是一画面502,画面502将进一步被传送到电
子装置B,并显示为如图6A所示的一画面602。
如果目前在电子装置A的前台所执行的应用程序包含在图3的白名单中
且摄像镜头206已被开启,则浮动控制界面402将以迭加方式显示在电子装
置A的画面上,如图5A所示。当电子装置A的使用者选择浮动控制界面
402的脸部追踪图标406时,处理器204将进入脸部追踪模式,而电子装置
A将启动脸部追踪功能,如图5B所示。电子装置A将在所撷取的撷取画面
上进行脸部追踪,以取得至少一感兴趣区域(ROI)。
如果一个ROI被取得,则此ROI将被放大,并且目标画面(TargetFrame)
便根据所放大的ROI而产生。也就是说,如果电子装置A的使用者选择了
区域ROI1,则电子装置A将会仅将区域ROI1放大以形成一目标画面,并
进一步传送目标画面到电子装置B,如图6B所示。这种方法的优点是,区
域ROI1所对应的人脸不管移动到何处,电子装置A仍可进行检测与追踪,
让电子装置B得以持续地看到区域ROI1所对应的人脸,而不会受到区域
ROI1所对应的人脸的移动情形的影响。
如果所取得的ROI多于一个,则这些ROI都被放大,并且借助结合所
放大的这些ROI而产生目标画面。例如,如果电子装置A的使用者选择了
区域ROI1与ROI2,则电子装置A将会把两个区域ROI1与ROI2均放大以
形成一目标画面,并进一步将此目标画面传送到电子装置B,如图6C所示。
每一区域ROI1与ROI2可以各占了目标画面二分之一的区域。如此,电子
装置A可以仅将使用者感兴趣的区域ROI1与ROI2传送到电子装置B,让
电子装置B的使用者可以看到放大的清晰的区域ROI1与ROI2。
如果电子装置A的使用者选择了区域ROI1、ROI2与ROI3,则电子装
置A将会把区域ROI1、ROI2与ROI3均放大以形成一目标画面,并进一步
将此目标画面传送到电子装置B,如图6D所示。每一区域ROI1、ROI2与
ROI3可以例如各占了目标画面三分之一的区域。如果电子装置A的使用者
选择了区域ROI1、ROI2、ROI3与ROI4,则电子装置A将会把区域ROI1、
ROI2、ROI3与ROI4均放大以形成一目标画面,并进一步将此目标画面传
送到电子装置B,如图6E所示。每一区域ROI1、ROI2、ROI3与ROI4可
以例如各占了目标画面四分之一的区域。
请参见图7,其是具有脸部追踪功能的电子装置200的一软件/硬件架构
的一例子。当通讯程序启动视讯通话功能之后,浮动控制界面402将会被自
动执行并显示在电子装置200的屏幕上。通讯程序可例如是一视讯通话
(VideoTalk,VT)应用程序702,而浮动控制界面402可例如是一视讯通话增
强(VideoTalkEnhancement,VTE)浮动控制界面704。VT应用程序702包含
在图3的白名单中,例如是Skype或Line。视讯通话功能是否由通讯程序开
启,借助判断是否VT应用程序702在前台被执行和摄像镜头206已被开启
(这代表使用者正在使用视讯通话的功能)来加以确定。当VT应用程序702
在前台被执行且摄像镜头206已被开启(代表使用者正在使用视讯通话的功
能)之后,视讯通话增强(VTE)浮动控制界面704(例如是图4所示的浮动控制
界面402),将会被自动执行并显示在电子装置200的屏幕上。
在一般模式下的视讯通话期间,VT应用程序702将会接着呼叫一相机
服务程序(CameraService)706以启动一摄像功能,而VTE浮动控制界面704
则会呼叫一VTE原生应用程序(NativeApplication)708。当电子装置A的使
用者选择浮动控制界面402的脸部追踪图标406时,电子装置A将会启动脸
部追踪功能。同时,VTE浮动控制界面704将会立即呼叫VTE原生应用程
序708。然后,VTE原生应用程序708通知相机服务程序706电子装置A将
进入脸部追踪模式。VTE原生应用程序708将会控制相机服务程序706,以
取得呈现仅具有一个或一个以上的ROI的一目标画面来执行脸部追踪功能,
并将目标画面显示在电子装置200的屏幕上且进一步传送到电子装置B。
在此,将上述的目标画面的产生方法的一例叙述如下。首先,由一相机
感应器(CameraSensor)712取得一影像,此影像经由一影像信号处理器(Image
SignalProcessor,ISP)714处理之后,得到一高分辨率画面(Highresolution
frame)FHQ。此高分辨率画面FHQ的分辨率例如是相机感应器712所能产生的
最高分辨率,或者是大于目标画面分辨率的分辨率。其中,目标画面的分辨
率取决于VT应用程序702所选择或所使用的分辨率。
接着,当使用者选择脸部追踪功能时,高分辨率画面FHQ被传送到一脸
部检测器716。脸部检测器716检测至少一高分辨率画面FHQ的脸部影像的
位置。然后,脸部检测器716输出至少一脸部影像的位置信息到一脸部追踪
引擎718。脸部追踪引擎718根据脸部影像的位置信息而在一画面缓冲器中
选择位置,其中画面缓冲器是用于储存所要显示的画面。来自脸部检测器
716的至少一脸部影像的位置信息、由脸部追踪引擎718所决定的在画面缓
冲器中的位置,以及高分辨率画面FHQ被输入到一切割拼接单元720。切割
拼接单元720进一步将使用者所选择的至少一感兴趣区域做切割和拼接,从
而对应地形成一目标画面FT1。脸部检测器716、脸部追踪引擎718和切割
拼接单元720可借助例如一图形处理器(GPU)、一中央处理器(CPU)或其他
处理器来实现。
然后,目标画面FT1通过一相机硬件适配层(HardwareAdaptationLayer,
HAL)710传送到相机服务程序706,并进一步借助使用VTE应用程序702
而显示在电子装置200的屏幕上。然后,目标画面FT1被电子装置A传送到
视讯通话的另一端的电子装置B。
如果使用者没有选择脸部追踪功能,而仅选择一般模式时,则高分辨率
画面FHQ被传送到一缩放器(Scaler)722,以将高分辨率画面FHQ的分辨率降
低而产生较低分辨率的一目标画面FT2,并进一步传送目标画面FT2到相机硬
件适配层710。然后,目标画面FT2被电子装置A传送到视讯通话的另一端
的电子装置B。
上述的VT应用程序702与VTE浮动控制界面704例如是由Java语言
写成的Java应用程序。而相机服务程序706、VTE原生应用程序708和相机
硬件适配层710则例如是原生应用程序(NativeApplication)。VTE原生应用
程序708可以应用Android的进程间通讯(Inter-ProcessCommunication,IPC)
机制的联结机制(Bindermechanism)。上述架构可在Android操作系统或其他
操作系统来实现。
脸部检测器716、脸部追踪引擎718和切割拼接单元720的操作将以图
8A至8C所示的例子进行更详细的说明。在高分辨率画面FHQ被传送到脸部
检测器716之后,脸部检测器716对高分辨率画面FHQ中的至少一脸部影像
的位置进行检测。如图8A所示,这些脸部影像的位置被检测并标示为多个
感兴趣区域ROI1、ROI2、ROI3和ROI4。假设使用者选择了两个感兴趣区
域,例如ROI1和ROI2被选择;接着,脸部检测器716将这些脸部影像的
位置信息,例如高分辨率画面FHQ中的ROI1和ROI2的坐标(例如矩形的
ROI1和ROI2在对角线的两个角的坐标),输出到脸部追踪引擎718。
如图8B所示,脸部追踪引擎718放大ROI1和ROI2中的至少一区域,
或缩放ROI1和ROI2中的至少一区域,以使ROI1和ROI2的大小适合于将
二者结合。脸部追踪引擎718还为ROI1和ROI2在一画面缓冲器802中选
择位置,其中画面缓冲器802用于储存在电子装置200的屏幕上所要显示的
画面。脸部追踪引擎718根据ROI1和ROI2的坐标以及ROI1和ROI2进行
缩放或放大的尺寸而在画面缓冲器802中选择位置。假设脸部追踪引擎718
针对ROI1和ROI2选择画面缓冲器802中的区块804和806。然后,脸部追
踪引擎718例如输出画面缓冲器802中这些区块804和806的地址到切割拼
接单元720。高分辨率画面FHQ以及高分辨率画面FHQ中的ROI1和ROI2的
坐标也被输入到切割拼接单元720。根据高分辨率画面FHQ中的ROI1和ROI2
的坐标,切割拼接单元720从高分辨率画面FHQ中切割出ROI1和ROI2,并
分别将ROI1和ROI2储存在画面缓冲器802的区块804和806中,再将结
合在一起的ROI1和ROI2的影像形成目标画面FT1进行输出,而如图8C所
示的显示在电子装置200的屏幕上。其中目标画面FT1(即ROI1和ROI2的
组合的影像)的分辨率低于高分辨率画面FHQ的分辨率。
请参见图9,其是具有三个感兴趣区域的一目标画面的另一例子。当使
用者选择三个感兴趣区域ROI1~ROI3时,目标画面FT1中的三个感兴趣区域
ROI1~ROI3除了可以如同图6D所显示的方式排列之外,亦可如同图9所显
示的方式进行排列。在图9中,将较为重要的感兴趣区域ROI1以较大面积
的方式显示。其他不同数目的感兴趣区域亦可依照区域的重要性或是距离摄
像镜头的远近等参数,来决定其显示面积的大小。
此外,电子装置200还可提供一补光(LightFilling)功能。根据脸部的位
置或在环境中的亮度,一前置闪光灯可被控制以执行补光功能而来改变撷取
画面的色温,或是改变在进行撷取时的光强度。例如,前置闪光灯的光的颜
色可被调变以改变撷取画面的色温,或是前置闪光灯的光强度可被调变以改
变在进行撷取时的光强度。
再者,电子装置200可以提供一泛焦(PanFocus)功能,或是摄像镜头206
可以聚焦在相距电子装置200从0.5米到2.5米的距离的目标物上。因此,
目标物(例如脸部)的影像即使是在移动,在0.5米到2.5米的距离内仍是可以
清楚撷取的,而这有助于脸部追踪功能。
重要的感兴趣区域除了上述的脸部影像之外,亦可为使用者所感兴趣的
其他物件或对象。此外,虽然以上实施例以Android操作系统作说明,然而
本发明实施例并不限于此。本发明实施例也可应用于其他操作系统。
此外,根据本发明的另一实施例还提供了一种非暂时性储存媒介
(non-transitorystoragemedia),用于储存一程序码。当由电子装置200执行程
序码时,电子装置200执行上述的方法以执行上述的脸部追踪功能。
使用VTE浮动控制界面704的优点是,可以达到脸部追踪功能和/或将
重要的感兴趣区域放大与拼接成一新的目标画面的功能,而不需要修改VT
应用程序702(例如Skype和Line等应用程序)的程序码,尤其是在VT应用
程序702不支持前述功能时。也就是说,通过由原始设备制造商(Original
EquipmentManufacturer,OEM)所提供的VTE浮动控制界面704、VTE原生
应用程序708、脸部检测器716、脸部追踪引擎718以及切割拼接单元720
等,可以让白名单中的各种不同的视讯通话应用程序软件都能够搭配着脸部
追踪功能和/或将感兴趣区域放大与拼接成一新的目标画面的功能。由于针
对视讯通话不必修改其通讯程序(VT应用程序702)(例如Skype和Line)的程
序码,即可达到上述目的,使得可以给使用者提供更多的视讯通话功能,并
提升视讯通话的品质、实现了使用上的更好体验以及增加了产品的市场竞争
力。
虽然本发明已以实施例揭示如上,然而其并非用以限定本发明。本领域
技术人员在不脱离本发明的精神和范围下,当可做各种的更动与润饰。因此,
本发明的保护范围当以本发明的权利要求为准。