用于执行脸部追踪功能的方法及其电子装置的制造方法_2

文档序号:9564284阅读:来源:国知局
括一般模式(Normal Mode)图标404以及补光(Light Filling)图标410,但不限于此。根据电子装置200的功能需求,可以在浮动控制界面402中加入其他图标或可移除一些图标。
[0052]当使用者按下或选择脸部追踪图标406时,电子装置200将执行以下操作。在此,以由一电子装置A执行如在图5A?5E所不的操作为例做说明。电子装置A例如正与一电子装置B进行视讯通话,而相应的画面被显示在如图6A?6E所示的电子装置B上。请参见图5A,假设由电子装置A的摄像镜头206在本地所拍摄的画面是一画面502,画面502将进一步被传送到电子装置B,并显示为如图6A所示的一画面602。
[0053]如果目前在电子装置A的前台所执行的应用程序包含在图3的白名单中且摄像镜头206已被开启,则浮动控制界面402将以迭加方式显示在电子装置A的画面上,如图5A所示。当电子装置A的使用者选择浮动控制界面402的脸部追踪图标406时,处理器204将进入脸部追踪模式,而电子装置A将启动脸部追踪功能,如图5B所示。电子装置A将在所撷取的撷取画面上进行脸部追踪,以取得至少一感兴趣区域(R0I)。
[0054]如果一个R0I被取得,则此R0I将被放大,并且目标画面(Target Frame)便根据所放大的R0I而产生。也就是说,如果电子装置A的使用者选择了区域R0I1,则电子装置A将会仅将区域R0I1放大以形成一目标画面,并进一步传送目标画面到电子装置B,如图6B所示。这种方法的优点是,区域R0I1所对应的人脸不管移动到何处,电子装置A仍可进行检测与追踪,让电子装置B得以持续地看到区域R0I1所对应的人脸,而不会受到区域R0I1所对应的人脸的移动情形的影响。
[0055]如果所取得的R0I多于一个,则这些R0I都被放大,并且借助结合所放大的这些R0I而产生目标画面。例如,如果电子装置A的使用者选择了区域R0I1与R0I2,则电子装置A将会把两个区域R0I1与R0I2均放大以形成一目标画面,并进一步将此目标画面传送到电子装置B,如图6C所示。每一区域R0I1与R0I2可以各占了目标画面二分之一的区域。如此,电子装置A可以仅将使用者感兴趣的区域R0I1与R0I2传送到电子装置B,让电子装置B的使用者可以看到放大的清晰的区域R0I1与R0I2。
[0056]如果电子装置A的使用者选择了区域R0IUR0I2与R0I3,则电子装置A将会把区域ROI 1、R0I2与R0I3均放大以形成一目标画面,并进一步将此目标画面传送到电子装置B,如图6D所示。每一区域R0I1、R0I2与R0I3可以例如各占了目标画面三分之一的区域。如果电子装置A的使用者选择了区域R0I1、R0I2、R0I3与R0I4,则电子装置A将会把区域R0I1、R0I2、R0I3与R0I4均放大以形成一目标画面,并进一步将此目标画面传送到电子装置B,如图6E所示。每一区域R0I1、R0I2、R0I3与R0I4可以例如各占了目标画面四分之一的区域。
[0057]请参见图7,其是具有脸部追踪功能的电子装置200的一软件/硬件架构的一例子。当通讯程序启动视讯通话功能之后,浮动控制界面402将会被自动执行并显示在电子装置200的屏幕上。通讯程序可例如是一视讯通话(Video Talk, VT)应用程序702,而浮动控制界面402可例如是一视讯通话增强(Video Talk Enhancement, VTE)浮动控制界面704。VT应用程序702包含在图3的白名单中,例如是Skype或Line。视讯通话功能是否由通讯程序开启,借助判断是否VT应用程序702在前台被执行和摄像镜头206已被开启(这代表使用者正在使用视讯通话的功能)来加以确定。当VT应用程序702在前台被执行且摄像镜头206已被开启(代表使用者正在使用视讯通话的功能)之后,视讯通话增强(VTE)浮动控制界面704 (例如是图4所示的浮动控制界面402),将会被自动执行并显示在电子装置200的屏幕上。
[0058]在一般模式下的视讯通话期间,VT应用程序702将会接着呼叫一相机服务程序(Camera Service) 706以启动一摄像功能,而VTE浮动控制界面704则会呼叫一 VTE原生应用程序(Native Applicat1n) 708。当电子装置A的使用者选择浮动控制界面402的脸部追踪图标406时,电子装置A将会启动脸部追踪功能。同时,VTE浮动控制界面704将会立即呼叫VTE原生应用程序708。然后,VTE原生应用程序708通知相机服务程序706电子装置A将进入脸部追踪模式。VTE原生应用程序708将会控制相机服务程序706,以取得呈现仅具有一个或一个以上的R0I的一目标画面来执行脸部追踪功能,并将目标画面显示在电子装置200的屏幕上且进一步传送到电子装置B。
[0059]在此,将上述的目标画面的产生方法的一例叙述如下。首先,由一相机感应器(Camera Sensor) 712取得一影像,此影像经由一影像信号处理器(Image SignalProcessor, ISP) 714处理之后,得到一高分辨率画面(High resolut1n frame) FHQO此高分辨率画面FH(j的分辨率例如是相机感应器712所能产生的最高分辨率,或者是大于目标画面分辨率的分辨率。其中,目标画面的分辨率取决于VT应用程序702所选择或所使用的分辨率。
[0060]接着,当使用者选择脸部追踪功能时,高分辨率画面匕^被传送到一脸部检测器716。脸部检测器716检测至少一高分辨率画面FH(j的脸部影像的位置。然后,脸部检测器716输出至少一脸部影像的位置信息到一脸部追踪引擎718。脸部追踪引擎718根据脸部影像的位置信息而在一画面缓冲器中选择位置,其中画面缓冲器是用于储存所要显示的画面。来自脸部检测器716的至少一脸部影像的位置信息、由脸部追踪引擎718所决定的在画面缓冲器中的位置,以及高分辨率画面FH(j被输入到一切割拼接单元720。切割拼接单元720进一步将使用者所选择的至少一感兴趣区域做切割和拼接,从而对应地形成一目标画面FT1。脸部检测器716、脸部追踪引擎718和切割拼接单元720可借助例如一图形处理器(GPU)、一中央处理器(CPU)或其他处理器来实现。
[0061]然后,目标画面FT^过一相机硬件适配层(Hardware Adaptat1nLayer, HAL) 710传送到相机服务程序706,并进一步借助使用VTE应用程序702而显示在电子装置200的屏幕上。然后,目标画面FT1被电子装置A传送到视讯通话的另一端的电子装置B。
[0062]如果使用者没有选择脸部追踪功能,而仅选择一般模式时,则高分辨率画面匕^被传送到一缩放器(Scaler) 722,以将高分辨率画面FH(j的分辨率降低而产生较低分辨率的一目标画面FT2,并进一步传送目标画面FT2到相机硬件适配层710。然后,目标画面FT2被电子装置A传送到视讯通话的另一端的电子装置B。
[0063]上述的VT应用程序702与VTE浮动控制界面704例如是由Java语言写成的Java应用程序。而相机服务程序706、VTE原生应用程序708和相机硬件适配层710则例如是原生应用程序(Native Applicat1n)。VTE原生应用程序708可以应用Android的进程间通讯(Inter-Process Communicat1n, IPC)机制的联结机制(Binder mechanism)。上述架构可在Android操作系统或其他操作系统来实现。
[0064]脸部检测器716、脸部追踪引擎718和切割拼接单元720的操作将以图8A至8C所示的例子进行更详细的说明。在高分辨率画面FH(j被传送到脸部检测器716之后,脸部检测器716对高分辨率画面FH(j中的至少一脸部影像的位置进行检测。如图8A所示,这些脸部影像的位置被检测并标示为多个感兴趣区域R0I1、R0I2、R0I3和R0I4。假设使用者选择了两个感兴趣区域,例如R0I1和R0I2被选择;接着,脸部检测器716将这些脸部影像的位置信息,例如高分辨率画面FH(j中的R0I1和R0I2的坐标(例如矩形的R0I1和R0I2在对角线的两个角的坐标),输出到脸部追踪引擎718。
[0065]如图8B所示,脸部追踪引擎718放大R0I1和R0I2中的至少一区域,或缩放R0I1和R0I2中的至少一区域,以使R0I1和R0I2的大小适合于将二者结合。脸部追踪引擎718还为R0I1和R0I2在一画面缓冲器802中选择位置,其中画面缓冲器802用于储存在电子装置200的屏幕上所要显示的画面。脸部追踪引擎718根据R0I1和R0I2的坐标以及R0I1和R0I2进行缩放或放大
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1