CN107111427A - 修改视频通话数据 - Google Patents
修改视频通话数据 Download PDFInfo
- Publication number
- CN107111427A CN107111427A CN201580058872.6A CN201580058872A CN107111427A CN 107111427 A CN107111427 A CN 107111427A CN 201580058872 A CN201580058872 A CN 201580058872A CN 107111427 A CN107111427 A CN 107111427A
- Authority
- CN
- China
- Prior art keywords
- face
- video
- frame
- user terminal
- user
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Abstract
一种方法,包括:显示UI以用于显示所接收的视频;检测对UI按钮的选择;在该按钮被选择时接收多个绘图输入,每个绘图输入定义了要应用在显示在所接收的视频帧中的用户脸部的第一侧面上的脸部位置处的图像数据;针对每个绘图输入,确定所述脸部的第二侧面上与所述脸部位置对称相反的另外的脸部位置;并且针对所接收的每个视频帧,所述方法包括:针对每个绘图输入(i)通过执行算法来确定在所述帧中所述脸部的位置,从而确定在所述帧中的所述脸部位置的定位以及所确定的另外的脸部位置的定位;以及(ii)将所述图像数据应用于所述脸部位置和所述所确定的另外的脸部位置;并且在所述UI中显示经修改的帧。
Description
背景技术
基于分组的通信系统允许诸如个人计算机之类的设备的用户使用诸如互联网协议(IP)之类的分组协议而跨计算机网络进行通信。基于分组的通信系统可以用于各种类型的通信事件。可以建立的通信事件包括语音通话、视频通话、即时消息传递、语音邮件、文件传输等。这些系统对用户是有益的是因为它们与固定线路或移动网络相比常常具有显著更低的成本。长途通信尤其是这样的情况。为了使用基于分组的系统,用户在其设备上安装并执行客户端软件。所述客户端软件提供了基于分组的连接以及诸如注册和认证之类的其他功能。
通信系统允许设备的用户跨诸如互联网之类的计算机网络来进行通信。可以建立的通信事件包括语音通话、视频通话、即时消息传递、语音邮件、文件传输等。利用视频通话,除了语音信息之外,通话者还能够查看另一方的视频图像。这使得各方之间能够进行更为自然的通信,因为脸部表情也被传送,由此使得视频通话更加类似于面对面对话。
众所周知的是,通信客户端应用提供了使得用户能够通过添加二维剪贴画效果来在用户设备处修改所捕获的视频的功能。例如,用户可以选择添加胡须效果,应用检测到用户的脸部在所捕获的帧中的位置,并且根据用户的脸部在所捕获的帧中的位置将所述胡须效果覆盖在所述帧中的位置处。因此,胡须以二维方式随着用户脸部在所捕获的视频中改变位置而进行移动。
发明内容
本公开的实施例涉及在视频通话期间向所显示的视频帧上进行绘制。用户所绘制的绘图被映射到视频帧中的用户脸部的多个点上,以使得该绘图以三维方式随用户脸部移动。
发明人已经认识到,由于该绘图是由用户徒手输入的,因此难以准确地绘制到所显示的视频帧上,尤其是当该视频帧中的用户的脸部正在移动时。该问题在用户绘制到另一个用户的脸部上,即无法控制所显示的视频帧中的脸部的移动量时更加严重。
根据本公开的第一方面,提供了一种在通过通信网络与至少一个另外的用户终端进行视频通话的期间在用户终端处实现的方法,所述方法包括:在所述用户终端的显示器上显示用户界面,以用于显示所接收的视频帧;检测由用户使用所述用户终端的输入设备对在所述用户界面中所显示的可选择的按钮的选择;在所述可选择的按钮处于被选择状态时接收多个绘图输入,每个绘图输入定义了要应用在显示在所接收的视频帧中的用户脸部的第一侧面上的脸部位置处的图像数据;针对所述多个绘图输入中的每个绘图输入,确定所述脸部的第二侧面上的另外的脸部位置,所述脸部的所述第二侧面上的所述另外的脸部位置与所述脸部的所述第一侧面上的所述脸部位置对称相反;以及针对所接收的每个视频帧,所述方法包括:针对所述多个绘图输入中的每个绘图输入,(i)通过在所述用户终端的处理器上执行脸部追踪器算法来确定在所述所接收的视频帧中的所述脸部的位置,从而确定在所述视频帧中所述脸部上的所述脸部位置的定位以及在所述视频帧中所确定的另外的脸部位置的定位;以及(ii)通过将所述图像数据应用于所述脸部的所述第一侧面上的所述脸部位置以及所述脸部的所述第二侧面上的所确定的另外的脸部位置来修改所述视频帧;并且在所述用户界面中显示经修改的视频帧。
根据本公开的另一个方面,提供了一种用户终端,包括:显示器;输入设备;网络接口,其被配置为在所述用户终端与至少一个另外的用户终端之间的视频通话期间,发送和接收所述用户终端与所述通信网络之间的视频数据;处理器,其被配置为运行在所述视频通话期间用于执行以下操作的应用:在所述用户终端的显示器上显示用户界面,以用于显示所接收的视频帧;检测由用户使用输入设备对在所述用户界面中所显示的可选择的按钮的选择;在所述可选择的按钮处于被选择状态时接收多个绘图输入,每个绘图输入定义了要应用在显示在所接收的视频帧中的用户脸部的第一侧面上的脸部位置处的图像数据;针对所述多个绘图输入中的每个绘图输入,确定所述脸部的第二侧面上的另外的脸部位置,所述脸部的所述第二侧面上的所述另外的脸部位置与所述脸部的所述第一侧面上的所述脸部位置对称相反;以及针对所接收的每个视频帧,所述方法包括:针对所述多个绘图输入中的每个绘图输入,(i)通过在所述用户终端的处理器上执行脸部追踪器算法来确定在所述所接收的视频帧中的所述脸部的位置,从而确定在所述视频帧中所述脸部上的所述脸部位置的定位以及在所述视频帧中所确定的另外的脸部位置的定位;以及(ii)通过将所述图像数据应用于所述脸部的所述第一侧面上的所述脸部位置以及所述脸部的所述第二侧面上的所确定的另外的脸部位置来修改所述视频帧;并且在所述用户界面中显示经修改的视频帧。
根据本公开的另一个方面,提供了一种计算机程序产品,所述计算机程序产品被实施在计算机可读介质上,并且被配置为当在用户终端与至少一个另外的用户终端之间的视频通话期间在所述用户终端的处理器上执行时,执行以下在本文中所描述的方法中的任何方法。
提供了该发明内容以用简化的形式引入了在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
为了更好地理解本公开并且示出可以如何实现本公开,现在将作为示例来参考以下附图,其中:
图1示出了通信系统;
图2示出了用户终端的示意图;
图3示出了在用户终端上执行的帧修改应用与通信客户端应用之间的通信;
图4示出了由帧修改应用所提供的用户界面;
图5示出了针对修改视频数据的过程的流程图;
图6示出了识别所捕获的视频帧中的脸部的多个点的三维三角网格;
图7示出了二位纹理图;和
图8示出了帧修改应用的镜像模式。
具体实施方式
仅仅作为示例对本公开的实施例进行了描述。
图1示出了通信系统100,其包括与用户终端102相关联的第一用户104(用户A)、与用户终端108相关联的第二用户110(用户B)。用户终端102和108可以在通信系统100中通过通信网络106进行通信,从而允许用户104和110通过通信网络106与彼此通信。通信网络106可以是具有在用户终端102与第二用户终端108之间提供通信信道的能力的任何合适的网络。例如,通信网络106可以是互联网或者诸如高数据速率移动网络之类的另一种类型的网络,例如第三代(“3G”)移动网络。
应当注意的是,在可替代的实施例中,用户终端可以经由未在图1中示出的额外的中间网络而连接至通信网络106。例如,如果用户终端102是移动设备,则其可以经由诸如GSM或UMTS网络之类的蜂窝移动网络(未在图1中示出)而连接至通信网络106。
用户终端102可以是例如移动电话、个人数字助理(“PDA”)、个人计算机(“PC”)(包括,例如WindowsTM、Mac OSTM和LinuxTM PC)、平板计算机、游戏设备、或者能够连接至通信网络106的其他嵌入式设备。用户终端102被设置为从用户A 104接收信息或者向用户A 104输出信息。
用户终端102执行由与通信系统100相关联的软件提供商所提供的通信客户端应用112。通信客户端应用112是在用户终端102中的本地处理器上执行的软件程序。通信客户端应用112在用户终端102处执行所需的处理,以便使得用户终端102通过通信系统100发送和接收数据。在用户终端102处所执行的通信客户端应用112可以通过数字证书的呈现(例如,证明用户104是通信系统的真实订阅者——在WO2005/009019中更加详细地进行了描述)而被认证以通过通信系统进行通信。
用户终端108可以对应于用户终端102。用户终端108在本地处理器上执行与在用户终端102处所执行的通信客户端应用112相对应的通信客户端应用114。在用户终端108处的通信客户端应用114执行所需要的处理以允许用户110通过网络106进行通信。在图1中所示出的用户终端是通信系统中的末端。为了清楚起见,图1仅仅示出了两个用户(104和110)和两个用户终端(102和108),但是更多的用户和用户设备可以被包括在通信系统100中,并且可以使用在相应的用户设备上执行的相应的通信客户端而通过通信系统100进行通信,如在本领域中公知的。
图2示出了其上执行有用于通过通信系统100来进行通信的通信客户端应用的用户终端102的详细视图。用户终端102包括连接有诸如屏幕或触摸屏之类的显示器204的中央处理单元(“CPU”)202、诸如小键盘206之类的输入设备、相机208、和触摸屏204。在下文中所描述的实施例中,相机208可以是集成到用户终端102中或者经由有线或无线连接耦合至用户设备的常规网络相机。可替代地,相机208可以是深度感知相机,例如,飞行时间或结构光相机。输出音频设备210(例如,扬声器)和输入音频设备212(例如,麦克风)连接至CPU202。可以将显示器204、小键盘206、相机208、输出音频设备210、和输入音频设备212集成到如在图2中所示出的用户终端102中。在可替代用户终端中,显示器204、小键盘206、相机208、输出音频设备210、和输入音频设备212中的一个或多个可以不集成到用户终端102中,并且可以经由相应的接口而连接至CPU 202。这样的接口的一个示例是USB接口。CPU 202连接到网络接口224,例如用于与通信网络106进行通信的调制解调器。可以将网络接口224集成到如在图2中所示出的用户终端102中。在可替代用户终端中,没有将网络接口224集成到用户终端102中。用户终端102还包括用于存储数据的存储器226,如在本领域中公知的那样。存储器226可以是永久性存储器,例如ROM。存储器226可以可替代是临时性存储器,例如RAM。
用户终端102安装有通信客户端应用112,其中通信客户端应用112被存储在存储器226中并且被设置为在CPU 202上执行。图2还示出了在CPU 202上执行的操作系统(“OS”)214。在OS 214顶层运行的是在上文中提到的通信客户端应用112的软件堆栈216。软件堆栈示出了I/O层218、客户端引擎层220、和客户端用户界面层(“UI”)222。每一层负责具体的功能。因为每一层通常与两个其他层进行通信,所以这些层被认为布置在堆栈中,如在图2中所示。操作系统214管理计算机的硬件资源,并且处理经由网络接口224而往来于通信网络106的数据。I/O层218包括音频和/或视频编码解码器,其接收到来的经编码的流并且对它们进行解码以适当地输出至扬声器210和/或显示器204,其还从麦克风212和/或相机208接收未编码的音频和/或视频数据并且对它们进行编码以作为流而传输至通信系统100的其他末端用户终端。客户端引擎层220处理如在上文中所讨论的VoIP系统的连接管理功能,例如通过基于服务器的或者P2P的地址查找和认证来建立呼叫或其他连接。客户端引擎还可以负责没有在本文中讨论的其他辅助功能。客户端引擎220还与客户端用户接口层222进行通信。客户端引擎220还可以被设置为控制客户端用户接口层222以经由在显示器204上显示的通信客户端应用112的用户界面向用户终端102的用户呈现信息,并且经由用户界面从用户终端102的用户接收信息。
也在OS 214上运行的是帧修改应用230。以下参考作为分别的应用的帧修改应用230和通信客户端应用112来对实施例进行描述,然而,在下文中更加详细地描述的帧修改应用230的功能可以被并入到通信客户端应用程序112之中。
图3示出了帧修改应用230如何与通信客户端应用112进行交互。
如在图3中所示,帧修改应用230被设置成接收所捕获的视频以及绘图指令。帧修改应用230被配置为根据所述绘图指令来修改所捕获的视频帧,并且将经修改的视频帧提供给通信客户端应用程序112。
在下文中所描述的实施例中,帧修改应用230从相机208接收所捕获的视频帧,并且帧修改应用230从用户A 104接收绘图指令。将已经响应于从用户A 104所接收的绘图指令而被修改的视频帧从帧修改应用230供应至通信客户端应用112,以用于通过网络106而传输至用户终端108。帧修改应用230经由在显示器204上所显示的用户界面向用户A 104呈现信息。
图4示出了在显示器204的可用区域400中显示内容的帧修改应用230。尽管在图4中显示器的可用区域是整个显示器,但显示器的可用区域(即对帧修改应用230可用的区域)可能仅构成该显示器的一部分,例如其中显示器的其余部分由操作系统和/或在其上执行的(多个)其他应用程序所使用以显示其他内容。
如在图4中所示,帧修改应用230所提供的用户界面显示相机208所捕获的视频数据(在图4中,用户A 104正在查看相机208)。
如在图4中所示,帧修改应用230可以将至少一个可选择的绘图工具按钮402覆盖在所显示的所捕获的视频上,以由用户A 104使用合适的输入设备(例如,鼠标、与触摸屏交互的触控笔、或者直接触摸触摸屏)来选择。可选择的绘图工具按钮402可以包括笔绘图工具按钮404a、口红绘图工具按钮404b、和刷子绘图工具按钮404c。响应于检测到对可选择的绘图工具按钮402中的一个绘图工具按钮的选择,帧修改应用230被设置为将调色板406覆盖在所显示的所捕获的视频上。覆盖在所显示的所捕获的视频上的调色板406与所选择的绘图工具按钮相关联。每个调色板406包括供用户A 104使用合适的输入设备来选择的至少一种可选择的颜色。图4示出了包括第一颜色408a、第二颜色408b、第三颜色408c、和第四颜色408d的调色板406。
绘图工具按钮404和颜色408的选择使得用户A 104能够在在由帧修改应用230所提供的用户界面中所显示的所捕获的视频数据上进行绘制。帧修改应用230包括三维脸部追踪器功能,其在所捕获的视频数据中识别用户的脸部的多个点,并且在用户移动时对这些点进行追踪。根据在下文中更加详细地描述的实施例,将由用户A 104绘制到所显示的所捕获的视频中的用户A的脸部上的绘图映射至由脸部追踪器所识别的用户脸部的点上,以使得绘图以三维的方式随着用户的脸部进行移动。
帧修改应用230可以将可选择的镜像模式按钮412覆盖在所显示的所捕获的视频上,以供用户A 104使用合适的输入设备来选择。响应于对可选择的镜像模式按钮412的选择,可选择镜像模式按钮412处于被选择状态,并且帧修改应用230以镜像操作模式来操作,直到用户A 104再次选择可选择镜像模式按钮412(则可选择的镜像模式按钮412因此处于未选择状态)以退出镜像操作模式为止。将参考图5详细地对帧修改应用230响应于检测到对镜像模式按钮412的选择的操作进行描述。
现在参考图5,其示出了当第一用户终端102和第二用户终端108之间正在进行视频通话时帧修改应用230所执行的方法的流程图500。
过程从步骤S502开始,由此帧修改应用230接收视频帧。在示例性实施例中,帧修改应用230从第一用户终端102的相机208接收所捕获的视频帧。
在步骤S504处,帧修改应用230检测用户的脸部在所接收到的视频帧中的位置。帧修改应用230可以通过执行脸部追踪器算法来执行步骤S504。所述脸部追踪器算法可以基于已知的活动外观模型(AAM)方法。所述脸部追踪器算法以二维方式追踪脸部特征点,并且将三维三角网格拟合至所追踪的脸部特征点。所述脸部追踪器算法确定被拟合至用户的脸部的三维三角网格的每个顶点的三维像素坐标(x,y,z)。所述三维三角网格包括定义了多个三角形的多个顶点。在图6中示出了被拟合至(在视频帧中所捕获的)用户脸部的示例三维三角网格。所述三维三角网格的每个顶点的坐标定义了该顶点在帧中的位置,这可以根据像素数量来定义。如上所述,相机208可以是常规相机或深度感知的相机。当相机208是深度感知相机时,由该深度感知相机所输出的深度信息被用作对脸部追踪器算法的额外的输入,但无论相机208是常规相机还是深度感知相机,所述脸部追踪器算法的输出都是相同的。
在步骤S506处,帧修改应用230检测到已经从用户A 104接收了绘图指令(在本文中另外被称为绘图输入),所述绘图指令定义了在步骤S502处所接收的要应用于视频帧的修改。帧修改应用230响应于用户A 104在由帧修改应用230所提供的用户界面的区域中进行绘制而接收绘图指令,其中所接收的视频帧被显示为已经选择了绘图工具按钮404和颜色408。在步骤S506,帧修改应用230确定由用户A 104所绘制的绘图的至少一组像素坐标(x,y)。
帧修改应用230被配置为计算三维三角网格的二维表示。这在本文中被称为二维纹理图700,其在图7中被示出。
用于计算三维三角网格的二维表示的各种可能技术对本领域技术人员而言是公知的,并且因此不在本文中详细讨论。一种示例性方法包括(i)将三维三角网格投影到椭球体上;以及(ii)将所述椭球体投影成二维(例如,使用Gall-Peters等面积图投影)。
二维纹理图700被覆盖在像素网格上,该像素网格是多个像素宽和多个像素高。该像素宽度和像素高度定义了像素网格的分辨率。像素网格的分辨率可以例如是512×512。UV坐标(被表达为像素网格的像素坐标)用于定义二维纹理图700中的位置。二维纹理图700中的每个u,v像素坐标在视频帧中具有对应的x,y像素坐标。像素网格的像素分辨率是相当随意的。如果像素分辨率太小,则纹理映射(在下文中参考步骤S522描述)将在经修改的图像中引入平滑/模糊。如果像素分辨率太大,则纹理映射和效果渲染将会不必要地变慢。因此,对于本领域技术人员将显而易见的是,选择与所接收的图像中的脸部的最大尺寸近似对应的像素网格的像素分辨率是合适的。脸部网格的u,v坐标对于脸部位置、表情、或姿态是恒定且不变的。在过程500开始之前,u,v坐标在离线预先计算步骤中被计算了一次。
在步骤S508处,帧修改应用230执行纹理映射处理,由此将三维三角网格中的每个三角形的纹理复制到二维纹理图700中的对应的三角形。对三维三角网格中的三角形的“纹理”的引用在本文中用于指示三维三角网格中的特定三角形中的每个像素的颜色值。像素颜色值可以根据RGB颜色模型来定义。
在步骤S510处,帧修改应用230确定与在步骤S504处所检测到的绘图的坐标(x,y)相对应的u,v坐标。在步骤S512处,帧修改应用230以(在步骤S510中所确定的)u,v坐标与相关联的效果信息的形式来将绘图命令存储在存储器226中。与u,v坐标相关联的效果信息包括基于由用户A104所选择的绘图工具按钮404和颜色408而在该u,v坐标处要应用于二维纹理图700的绘图修改的指示。在一些实施例中,效果信息不包括绝对颜色值。替代地,该效果信息包括取决于所选择颜色408的颜色修改因子。该颜色修改因子是根据乘法项和加法项来定义的。因此,具有原始颜色值(R,G,B)的像素根据以下方式而被修改为具有新的颜色值(R',G',B'):
R'=αRR+βR
G'=αGG+βG
B'=αBB+βB
从而,三个乘法项αR、αG、和αB以及三个加法项βR、βG、和βB描述了所要应用的效果。所述三个乘法项和三个加法项的值是预先配置的,并且根据所选择的颜色408而变化。通过以该方式应用颜色修改因子,像素以与视频帧中的未修改的像素保持一致的方式而被修改。例如,如果相机208正在捕获视频的房间中的光照水平改变,则颜色修改因子确保像素是基于其原始颜色值来修改的。实施例还扩展到定义了绝对颜色值的颜色408。所存储的效果信息还包括有关绘图笔划的宽度的信息,其给出了关于要修改的u,v坐标处的像素周围的像素的数量的指示。绘图笔划的宽度取决于所选择的绘图工具按钮404。例如,在选择刷子绘图工具按钮404c时所形成的绘图笔划的宽度可以比选择口红绘图工具按钮404b时所形成的绘图笔划更宽。类似地,在选择口红绘图工具按钮404b时所形成的绘图笔划的宽度可以比在选择钢笔绘图工具按钮404a时所形成的绘图笔划更宽。
在步骤S514处,帧修改应用230确定在帧修改应用230以镜像操作模式操作时是否接收了绘图指令。
如果在步骤S514处,帧修改应用230确定在帧修改应用230以镜像操作模式操作时接收到绘图指令,则过程进行至步骤S516。
二维纹理图700是对称的,其在于通过脸部中心的竖直的对称轴(如在图7中所示)将二维纹理图700分割,以这样的方式,在轴的一侧的二维纹理图700部分是处于该轴另一侧的二维纹理图700的部分的镜像图。
如果在步骤S510处所确定的u,v坐标落在轴线的一侧(即,不在轴线本身上),则在步骤S516,帧修改应用230确定镜像坐标umirror,v,其定义了与在步骤S510中所确定的u,v坐标对称地相反(在u方向上)的二维纹理图700中的位置。
在步骤S518处,帧修改应用230将以umirror,v坐标(其是在步骤S516中所确定的)为形式的绘图命令以及相关联的效果信息一起存储在存储器226中。与umirror,v坐标相关联的效果信息包括对要应用于二维纹理图700的绘图修改的指示,并且与在步骤S512处与u,v坐标相关联地存储的信息相同。
在实施例中,存储器226被设置为存储要由帧修改应用230读取并且被应用于二维纹理映射700的绘图命令(如上所述)。
在步骤S518之后,过程500进行到步骤S520。如果在步骤S514处确定当帧修改应用230以镜像操作模式操作时没有接收到绘图指令,则过程500也从步骤S514进行至步骤S520。
在步骤S520处,帧修改应用230取回存储在存储器226中的所有绘图命令,并且根据所取回的绘图命令来修改二维纹理图700。即,对于存储在存储器226中的u,v坐标中的每个u,v坐标,帧修改应用230根据其相关联的效果信息来修改二维纹理图700的u,v坐标。类似地,如果一个或多个umirror,v坐标被存储在存储器226中,则对于存储在存储器226中的umirror,v坐标中的每个umirror,v,帧修改应用230根据其相关联的效果信息来修改二维纹理图700的umirror,v坐标。
在步骤S522处,帧修改应用230执行与在步骤S508处所执行的纹理映射相反的纹理映射过程。在步骤S522处,二维纹理图700中的每个三角形的纹理被复制到在步骤S504处所确定的三维三角网格的对应的三角形。对二维纹理图700中的三角形的“纹理”的引用在本文中用于表示二维纹理图700中的特定三角形中的每个像素的颜色值。
响应于由帧修改应用230所执行的步骤S522,在步骤S502处所接收的视频帧在由帧修改应用230所提供的用户界面中以经修改的形式进行渲染。
步骤S522可以使用z缓冲来实现。如果三维三角网格中的三角形的一部分必须被渲染在视频帧中与三维三角网格的另一个三角形的一部分相同的x,y像素中,则对(从脸部追踪器算法的输出所获得的)这些部分的深度(z坐标)进行比较,并且视频帧的x,y像素从最接近于用户终端102的显示器204的观看者(例如,用户A)的三角形获得其颜色。使用z缓冲来执行步骤S522确保了属于三维三角网格中的多于一个三角形的x,y像素从最接近于观看者(例如,用户A)的三角形获得其颜色,即距离较远的三角形被最接近的一个三角形所遮挡。
z缓冲技术的替代物是从脸部追踪器算法的输出确定在三维三角网格中的每个三角形的中点处的深度(z坐标)值,并且根据三维三角网格中的所有三角形的中点z值将它们排序成经排序的列表。通过从距离显示器204的观看者最远的三维三角网格中的三角形开始渲染,并且完成有序列表而以渲染距离显示器204的观看者最近的三维三角网格中的三角形结束,这也将正确地对遮挡进行处理。
在步骤524处,帧修改应用230将经修改的视频帧供应至通信客户端应用112以便经由网络接口224通过网络106传输至第二用户终端108。本领域技术人员将意识到的是,可以在传输之前由通信客户端应用112对经修改的视频帧进行处理(例如,进行编码和分组)。
应当意识到的是,在帧修改应用230的功能被并入到通信客户端应用112中的实施例中,在步骤S522处,通信在由通信客户端应用112所提供的用户界面中渲染经修改的视频帧,并且不执行步骤S524。
过程接着返回至步骤S502,其中在示例性实施例中,帧修改应用230从第一用户终端102的相机208接收所捕获的接下来的视频帧。
必须针对每个视频帧而重新渲染二维纹理图700(在步骤S508),因为其必须包含来自所捕获图像(在视频帧中)的最新更新的纹理。在另一方面,可以将绘图效果预先渲染成分别的UV图(在本文中被称为“效果图”)。该“效果图”保持不变直到用户添加或删除绘图笔划为止。将该效果图混合到二维纹理图700上以创建三维三角网格的经混合的二维表示。通过将该效果图的分辨率设置为等于二维纹理图700的分辨率,该混合可以以简单的逐像素循环来完成,而不需要三维三角网格或遮挡的知识。三维三角网格的经混合的二维表示的u,v坐标中的每个从二维纹理图700的对应的u,v坐标获取纹理,除非该效果图已经在特定的u,v坐标处被修改,在被修改的情况下,三维三角网格的经混合的二维表示的u,v坐标从所述效果图获取纹理。
应当理解的是,在由用户A在所显示的视频数据上绘制绘图的时间期间,帧修改应用230将接收到多个视频帧(过程500将循环多次)。在步骤S504处所确定的x,y像素坐标定义了该绘图的一部分的位置。根据进行绘图的用户A的绘图笔划的速度以及在帧修改应用230处接收帧的速率。一旦用户A 104完成了绘制,通过迭代地执行过程500,帧修改应用将确定整个绘图的x,y像素坐标,并且存储器226将包括对应的u,v坐标和umirror,v坐标(如果绘图是在镜像模式下绘制的)。
在步骤S506处,帧修改应用230确定由用户A 104在所显示的帧中绘制的绘图的至少一组像素坐标(x,y)。
图8示出了用户界面,该用户界面是在用户A通过将光标802从点P1移动到点P2而绘制了刷子笔划804之后由帧修改应用230提供的,同时帧修改应用在镜像模式中操作。应当理解的是,当由用户A 104从点P1到点P2绘图笔划时,将在帧修改应用230从相机208接收每个视频帧时迭代地执行过程500。
根据在上文中所描述的过程500,帧修改应用230生成作为刷子笔划804的镜像图像的刷子笔划806。将由刷子笔划804和806所组成的绘图粘贴至所捕获的视频数据中的脸部的皮肤上,并且以三维方式随着脸部移动。例如,如果不同于如在图8中所示出的直接看向相机208,而是用户将他的头部转90度以侧对相机208,则将笔划804、806中的仅仅一个在由帧修改应用230所供用户界面中进行渲染(取决于用户是以顺时针还是逆时针转动他的头部的)。
应当理解的是,用户A可以绘制多个绘图。当帧修改应用230不处于镜像操作模式时,在存储器226中由多个u,v坐标来标识所绘制的绘图。当帧修改应用230处于镜像操作模式时,在存储器226中由多个u,v坐标以及多个umirror,v坐标来标识所绘制的绘图。
将每个绘图的u,v坐标以队列存储在存储器226中,由此,最近的绘图的u,v坐标被存储在队列顶部而最早的绘图的u,v坐标被存储在队列底部。
如在图4和8中所示,帧修改应用230可以将可选择的撤销按钮414覆盖在所显示的所捕获的视频上以供用户A 104使用合适的输入设备来选择。响应于检测到对可选择的撤销按钮414的选择,帧修改应用230被设置为移除存储器226中的队列顶部的u,v坐标。因此,当执行步骤S520时,用户A 104所绘制的最新的绘图不再被渲染(由帧修改应用230所接收的随后的视频帧不利用该最新绘图进行修改)。
如在图4和8中所示,帧修改应用230可以将可选择的新绘图按钮416覆盖在所显示的所捕获的视频上以供用户A 104使用合适的输入设备来选择。响应于检测到对可选择的新绘图按钮416的选择,帧修改应用230被设置为移除存储器226中的队列中所存储的所有绘图的u,v坐标。因此,用户A 104截止该时间点所绘制的所有绘图都不再由帧修改应用230来渲染。
如在图4和8中所示,帧修改应用230可以将可选择的保存按钮418覆盖在所显示的所捕获的视频上以供用户A 104使用合适的输入设备来选择。响应于检测到对可选择的保存按钮418的选择,帧修改应用230被设置为将绘图文件保存至存储器226。所保存的绘图文件包括在保存按钮418被选择时存储在存储器226中的所有u,v坐标(及其相关联的效果信息)以及所有umirror,v坐标(及其相关联的效果信息)。因此,绘图文件是以与脸部形状以及相机208的分辨率和类型无关的格式来保存的。这使得所保存的绘图文件能够在通信系统100的用户之间进行分享。
尽管已经参考从第一用户终端102的相机208接收所捕获的视频帧的帧修改应用230以及在这些所捕获的视频帧进行绘制的用户A 104(从用户A 104接收的绘图指令)而在上文中描述了示例性实现,但本公开的原理扩展至在下文中所描述的其他实施例。
为了连续性,参考在用户终端102上执行的帧修改应用230而在上文中描述了这些其他实施例。
在用户A 104与用户B 110之间的视频通话期间,将由第一用户终端的相机208所捕获的视频数据通过网络106传送至第二用户终端108,并且在第二用户终端108上执行的帧修改应用230的用户界面中进行显示。在另一个实施例中,由在第一用户终端108上执行的帧修改应用230所接收的所捕获的视频(在图3中所示)是从第一用户终端102的相机208接收的,而绘图指令(在图3中所示)是响应于用户B 110在用户A的脸部(其在第二用户终端108上执行的帧修改应用230的用户界面中显示)上进行绘制而通过网络106从第二用户终端108接收的。因此,在该实施例中,用户B 110在第二用户终端108上所显示的用户A的脸部上进行绘制,并且该绘图是在第一用户终端102的显示器204上渲染的。
在另一个实施例中,由在第一用户终端108上执行的帧修改应用230所接收的所捕获的视频(在图3中所示)是通过网络106从第二用户终端108接收的(由第二用户终端108的相机所捕获),而绘图指令(在图3中所示)是响应于用户B 110在用户B的脸部(其在第二用户终端108上执行的帧修改应用230的用户界面中显示)上进行绘制而通过网络106从第二用户终端108接收的。因此,在该实施例中,用户B 110在第二用户终端108上所显示的他们自己的脸部上进行绘制,并且该绘图是在第一用户终端102的显示器204上渲染的。
在另一个实施例中,由在第一用户终端108上执行的帧修改应用230所接收的所捕获的视频(在图3中所示)是通过网络106从第二用户终端108接收的(由第二用户终端108的相机所捕获),并且在由帧修改应用230所提供的用户界面中进行显示——绘图指令(在图3中所示)是响应于用户A 104在这些所显示的视频帧上进行绘制而从用户A 104接收的。因此,在该实施例中,用户A 104在第一用户终端102上所显示的用户B的脸部上进行绘制,并且该绘图是在第一用户终端102的显示器204上渲染的。
在用户终端102上执行的帧修改应用230可以根据在上文中所描述的一个或多个实施例来操作。
尽管已经参考通过用户在到来的直播视频的帧上绘制刷子笔划绘制的绘图而对实施例进行了描述,但是本公开的实施例扩展到包括将预先计算的三维图形对象应用至到来的直播视频的帧的绘图指令。例如,用户可以选择将帽子图形放置到脸上,因此根据在上文中所描述的实施例,该帽子图形将与三维三角网格的顶点相关联,并且因此以三维方式随着(在视频中所捕获的)用户的移动而移动。
已经在上文中描述了本公开的第一方面。
在示例性实施例中,确定在所述所接收的视频帧中的所述脸部的位置包括:以二维方式来识别所述脸部中的脸部特征点,并且将三维三角网格拟合至所追踪的脸部特征点,其中针对多个绘图输入中的每个绘图输入,所述脸部位置与所述三维三角网格上的位置相对应,而所确定的另外的脸部位置与所述三维三角网格上另外的位置相对应。
修改每个所接收的视频帧的步骤可以包括将所获得的所述三维三角网格中的每个三角形的纹理映射到所述三维三角网格的二维表示上;并且针对每个所接收到的绘图输入:确定在所述三维三角网格的所述二维表示中与所述三维三角网格上的所述位置和所述另外的位置相对应的位置和另外的位置;将所述图像数据应用于所述三维三角网格的所述二维表示中的所确定的位置和所确定的另外的位置;并且将所述三维三角网格的所述二维表示中的每个三角形的纹理映射到所述三维三角网格上。
修改每个所接收的视频帧的步骤可以包括将所述三维三角网格中的每个三角形的纹理映射到所述三维三角网格的第一二维表示上;并且针对所接收的每个绘图输入:确定在所述三维三角网格的第二二维表示中与所述三维三角网格上的所述位置和所述另外的位置相对应的位置和另外的位置;将所述图像数据应用于所述三维三角网格的所述第二二维表示中的所确定的位置和所确定的另外的位置;将所述三维三角网格的所述第二二维表示混合到所述三维三角网格的所述第一二维表示上,以创建所述三维三角网格的经混合的二维表示;并且将所述三维三角网格的所述经混合的二维表示中的每个三角形的纹理映射到所述三维三角网格上。
所述方法还可以包括在所述用户界面中显示至少一个可选择的绘图工具按钮。
所述至少一个可选择的绘图工具按钮可以包括以下中的一个或其任何组合:笔绘图工具按钮、口红绘图工具按钮、和刷子绘图工具按钮。
所述方法还可以包括响应于检测到由用户使用所述用户终端的输入设备对所述至少一个可选择的绘图工具按钮的选择而显示与所选择的绘图工具按钮相关联的多种可选择的颜色。
所述图像数据可以基于所选择的绘图工具按钮和多个可选择的颜色中与所选择的绘图工具按钮相关联的所选择的颜色。
所述图像数据可以包括要应用于所述脸部的所述第一侧面上的所述脸部位置处的至少一个像素的颜色修改因子,所述颜色修改因子是基于所述所选择的颜色的。
所述颜色修改因子可以包括:(i)要应用于所述至少一个像素中的每个像素的原始红色值的乘法项和加法项;(ii)要应用于所述至少一个像素中的每个像素的原始绿色值的乘法项和加法项;和(iii)要应用于所述至少一个像素中的每个像素的原始蓝色值的乘法项和加法项。
所述图像数据还可以包括要应用于所述脸部的所述第一侧面上的所述脸部位置处的至少一个像素的颜色值,该颜色值是基于所述所选择的颜色的。
所述方法还包括针对所述多个绘图输入中的每个绘图输入,将绘图命令存储在所述用户终端的存储器中,所述绘图命令包括与所述绘图输入相关联的图像数据、所述脸部的所述第一侧面上的所述脸部位置的指示、以及所述脸部的所述第二侧面上的所述所确定的另外的脸部位置的指示。
修改所述视频帧的步骤包括取回存储在所述存储器中的所有绘图命令,并且根据所取回的绘图命令来修改所述视频帧。
所述方法还可以包括将每个经修改的视频帧通过所述通信网络传送至所述至少一个另外的用户终端。
在上文中所提及的所述视频帧可以是通过所述通信网络从所述至少一个另外的用户终端接收的。
所述多个绘图输入可以是从与所述用户终端相关联的用户处接收的。
所述通信网络可以是基于分组的网络。
在图5中单独示出的步骤可以或可以不被实现为分别的步骤,并且可以或可以不以所示出的顺序来实现。
通常而言,在本文中所描述的任何功能都可以使用软件、固件、硬件(例如,固定逻辑电路)、或这些实现的组合来实现。如在本文中所使用的术语“控制器”、“功能”、“组件”和“应用”通常表示软件、固件、硬件、或其组合。在软件实现的情况下,控制器、功能、组件、或应用表示当在处理器(例如,一个或多个CPU)上执行时执行指定的任务的程序代码。可以将所述程序代码存储在一个或多个计算机可读存储器设备中。在下文中所描述的技术的特征是与平台无关的,这意味着可以在具有多种处理器的多种商业计算平台上实现所述技术。
例如,用户终端还可以包括使得用户终端的硬件执行操作的实体(例如,软件),例如,处理器功能块等。例如,用户设备可以包括计算机可读介质,其可以被配置为保存使得用户终端,并且更加特别地使得操作系统和用户终端的相关联的硬件执行操作的指令。因此,指令用于配置操作系统和相关联的硬件以执行操作,并且以该方式引起操作系统的状态的转换并且使得相关联的硬件执行功能。可以由计算机可读介质通过多种不同的配置而将指令提供至用户终端。
计算机可读介质的一种这样的配置是信号承载介质,并且因此被配置为将指令(例如,作为载波)发送至计算设备,例如,经由网络。计算机可读介质还可以被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括:随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器、以及可以使用磁、光、和其他技术来存储指令和其他数据的其他存储器设备。
尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解的是,在所附权利要求中所限定的主题不一定限于在上文中所描述的具体的特征或动作。相反,在上文中所描述的具体的特征和动作是作为实现所述权利要求的示例形式而公开的。
Claims (15)
1.一种在通过通信网络与至少一个另外的用户终端进行视频通话期间在用户终端处实现的方法,所述方法包括:
在所述用户终端的显示器上显示用户界面,以用于显示所接收的视频帧;
检测由用户使用所述用户终端的输入设备对在所述用户界面中所显示的可选择的按钮的选择;
在所述可选择的按钮处于被选择状态时接收多个绘图输入,每个绘图输入定义了要应用在显示在所述所接收的视频帧中的用户的脸部的第一侧面上的脸部位置处的图像数据;
针对所述多个绘图输入中的每个绘图输入,确定所述脸部的第二侧面上的另外的脸部位置,所述脸部的所述第二侧面上的所述另外的脸部位置与所述脸部的所述第一侧面上的所述脸部位置对称相反;以及
针对所接收的每个视频帧,所述方法包括:
针对所述多个绘图输入中的每个绘图输入,(i)通过在所述用户终端的处理器上执行脸部追踪器算法来确定在所述所接收的视频帧中的所述脸部的位置,从而确定在所述视频帧中所述脸部上的所述脸部位置的定位以及在所述视频帧中所确定的另外的脸部位置的定位;以及(ii)通过将所述图像数据应用于所述脸部的所述第一侧面上的所述脸部位置以及所述脸部的所述第二侧面上的所确定的另外的脸部位置来修改所述视频帧;并且
在所述用户界面中显示经修改的视频帧。
2.根据任何先前的权利要求所述的方法,其中,确定在所述所接收的视频帧中的所述脸部的位置包括:以二维方式来识别所述脸部中的脸部特征点,并且将三维三角网格拟合至所追踪的脸部特征点,其中针对所述多个绘图输入中的每个绘图输入,所述脸部位置与所述三维三角网格上的位置相对应,而所确定的另外的脸部位置与所述三维三角网格上另外的位置相对应。
3.根据权利要求2所述的方法,其中,修改每个所接收的视频帧的步骤包括将所获得的所述三维三角网格中的每个三角形的纹理映射到所述三维三角网格的二维表示上;并且针对每个所接收到的绘图输入:
确定在所述三维三角网格的所述二维表示中与所述三维三角网格上的所述位置和所述另外的位置相对应的位置和另外的位置;
将所述图像数据应用于所述三维三角网格的所述二维表示中的所确定的位置和所确定的另外的位置;并且
将所述三维三角网格的所述二维表示中的每个三角形的纹理映射到所述三维三角网格上。
4.根据权利要求2所述的方法,其中,修改每个所接收的视频帧的步骤包括将所述三维三角网格中的每个三角形的纹理映射到所述三维三角网格的第一二维表示上;并且针对所接收的每个绘图输入:
确定在所述三维三角网格的第二二维表示中与所述三维三角网格上的所述位置和所述另外的位置相对应的位置和另外的位置;
将所述图像数据应用于所述三维三角网格的所述第二二维表示中的所确定的位置和所确定的另外的位置;
将所述三维三角网格的所述第二二维表示混合到所述三维三角网格的所述第一二维表示上,以创建所述三维三角网格的经混合的二维表示;并且
将所述三维三角网格的所述经混合的二维表示中的每个三角形的纹理映射到所述三维三角网格上。
5.根据任何先前的权利要求所述的方法,其中,所述方法还包括在所述用户界面中显示至少一个可选择的绘图工具按钮。
6.根据权利要求5所述的方法,其中,所述至少一个可选择的绘图工具按钮包括以下中的一个或其任何组合:笔绘图工具按钮、口红绘图工具按钮、和刷子绘图工具按钮。
7.根据权利要求5或6所述的方法,其中,所述方法还包括响应于检测到由用户使用所述用户终端的输入设备对所述至少一个可选择的绘图工具按钮的选择而显示与所选择的绘图工具按钮相关联的多种可选择的颜色。
8.根据权利要求5至7中任何一项所述的方法,其中,所述图像数据是基于所选择的绘图工具按钮以及与所述所选择的绘图工具按钮相关联的所述多种可选择的颜色中的所选择颜色的。
9.根据权利要求8所述的方法,其中,所述图像数据包括要应用于所述脸部的所述第一侧面上的所述脸部位置处的至少一个像素的颜色修改因子,所述颜色修改因子是基于所述所选择的颜色的。
10.根据权利要求9所述的方法,其中所述颜色修改因子包括:(i)要应用于所述至少一个像素中的每个像素的原始红色值的乘法项和加法项;(ii)要应用于所述至少一个像素中的每个像素的原始绿色值的乘法项和加法项;和(iii)要应用于所述至少一个像素中的每个像素的原始蓝色值的乘法项和加法项。
11.根据任何先前的权利要求所述的方法,还包括针对所述多个绘图输入中的每个绘图输入,将绘图命令存储在所述用户终端的存储器中,所述绘图命令包括与所述绘图输入相关联的图像数据、所述脸部的所述第一侧面上的所述脸部位置的指示、以及所述脸部的所述第二侧面上的所述所确定的另外的脸部位置的指示。
12.根据权利要求11所述的方法,其中,修改所述视频帧包括取回存储在所述存储器中的所有绘图命令,并且根据所取回的绘图命令来修改所述视频帧。
13.根据任何先前的权利要求所述的方法,其中:
视频帧是从所述用户终端的相机接收的,所述方法还包括将每个经修改的视频帧通过所述通信网络传送至所述至少一个另外的用户终端;或者
视频帧是通过所述通信网络从所述至少一个另外的用户终端接收的。
14.一种用户终端,包括:
显示器;
输入设备;
网络接口,其被配置为在所述用户终端与至少一个另外的用户终端之间的视频通话期间,发送和接收所述用户终端与所述通信网络之间的视频数据;
处理器,其被配置为运行在所述视频通话期间用于执行以下操作的应用:
在所述用户终端的显示器上显示用户界面,以用于显示所接收的视频帧;
检测由用户使用所述输入设备对在所述用户界面中所显示的可选择的按钮的选择;
在所述可选择的按钮处于被选择状态时接收多个绘图输入,每个绘图输入定义了要应用在显示在所述所接收的视频帧中的用户脸部的第一侧面上的脸部位置处的图像数据;
针对所述多个绘图输入中的每个绘图输入,确定所述脸部的第二侧面上的另外的脸部位置,所述脸部的所述第二侧面上的所述另外的脸部位置与所述脸部的所述第一侧面上的所述脸部位置对称相反;以及
针对所接收的每个视频帧,所述方法包括:
针对所述多个绘图输入中的每个绘图输入,(i)通过在所述用户终端的处理器上执行脸部追踪器算法来确定在所述所接收的视频帧中的所述脸部的位置,从而确定在所述视频帧中的所述脸部上的所述脸部位置的定位以及在所述视频帧中的所述脸部上的所确定的另外的脸部位置的定位;以及(ii)通过将所述图像数据应用于所述脸部的所述第一侧面上的所述脸部位置以及所述脸部的所述第二侧面上的所确定的另外的脸部位置来修改所述视频帧;并且
在所述用户界面中显示经修改的视频帧。
15.一种计算机程序产品,所述计算机程序产品被实施在非瞬时性计算机可读介质上,并且被配置为当在用户终端与至少一个另外的用户终端之间的视频通话期间在所述用户终端的处理器上执行时,执行以下操作:
在所述用户终端的显示器上显示用户界面,以用于显示所接收的视频帧;
检测由用户使用所述用户终端的输入设备对在所述用户界面中所显示的可选择的按钮的选择;
在所述可选择的按钮处于被选择状态时接收多个绘图输入,每个绘图输入定义了要应用在显示在所接收的视频帧中的用户的脸部的第一侧面上的脸部位置处的图像数据;
针对所述多个绘图输入中的每个绘图输入,确定所述脸部的第二侧面上的另外的脸部位置,所述脸部的所述第二侧面上的所述另外的脸部位置与所述脸部的所述第一侧面上的所述脸部位置对称相反;以及
针对所接收的每个视频帧,所述计算机程序产品还被配置为当被执行时执行以下操作:
针对所述多个绘图输入中的每个绘图输入,(i)通过在所述用户终端的处理器上执行脸部追踪器算法来确定在所述所接收的视频帧中的所述脸部的位置,从而确定在所述视频帧中所述脸部上的所述脸部位置的定位以及在所述视频帧中所述脸部上的所确定的另外的脸部位置的定位;以及(ii)通过将所述图像数据应用于所述脸部的所述第一侧面上的所述脸部位置以及所述脸部的所述第二侧面上的所确定的另外的脸部位置来修改所述视频帧;并且
在所述用户界面中显示经修改的视频帧。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1419441.9A GB201419441D0 (en) | 2014-10-31 | 2014-10-31 | Modifying video call data |
GB1419441.9 | 2014-10-31 | ||
US14/596,112 | 2015-01-13 | ||
US14/596,112 US9445043B2 (en) | 2014-10-31 | 2015-01-13 | Modifying video call data |
PCT/US2015/057681 WO2016069669A2 (en) | 2014-10-31 | 2015-10-28 | Modifying video call data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111427A true CN107111427A (zh) | 2017-08-29 |
CN107111427B CN107111427B (zh) | 2020-06-05 |
Family
ID=52118527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580058872.6A Active CN107111427B (zh) | 2014-10-31 | 2015-10-28 | 修改视频通话数据 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9445043B2 (zh) |
EP (1) | EP3198559B1 (zh) |
KR (1) | KR20170078785A (zh) |
CN (1) | CN107111427B (zh) |
GB (1) | GB201419441D0 (zh) |
WO (1) | WO2016069669A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888845A (zh) * | 2017-11-14 | 2018-04-06 | 腾讯数码(天津)有限公司 | 一种视频图像处理方法、装置及终端 |
US11178275B2 (en) | 2019-01-15 | 2021-11-16 | Samsung Electronics Co., Ltd. | Method and apparatus for detecting abnormality of caller |
US20230386110A1 (en) * | 2020-04-21 | 2023-11-30 | Canva Pty Ltd | Systems and methods for applying effects to design elements |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150228106A1 (en) * | 2014-02-13 | 2015-08-13 | Vixs Systems Inc. | Low latency video texture mapping via tight integration of codec engine with 3d graphics engine |
GB201419441D0 (en) * | 2014-10-31 | 2014-12-17 | Microsoft Corp | Modifying video call data |
GB201419438D0 (en) * | 2014-10-31 | 2014-12-17 | Microsoft Corp | Modifying video call data |
EP3327661A4 (en) * | 2015-07-21 | 2019-04-10 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM |
US10559112B2 (en) * | 2016-03-11 | 2020-02-11 | Intel Corporation | Hybrid mechanism for efficient rendering of graphics images in computing environments |
US10586379B2 (en) * | 2017-03-08 | 2020-03-10 | Ebay Inc. | Integration of 3D models |
US11727656B2 (en) | 2018-06-12 | 2023-08-15 | Ebay Inc. | Reconstruction of 3D model with immersive experience |
KR20220088143A (ko) * | 2020-12-18 | 2022-06-27 | 삼성전자주식회사 | 증강 현실 콘텐츠를 제공하는 전자 장치 및 방법 |
KR20220162956A (ko) * | 2021-06-02 | 2022-12-09 | 삼성전자주식회사 | 영상 통화 중 다양한 커뮤니케이션을 지원하는 전자 장치 및 그의 동작 방법 |
US11763496B2 (en) * | 2021-09-30 | 2023-09-19 | Lemon Inc. | Social networking based on asset items |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901665A (zh) * | 2005-07-14 | 2007-01-24 | 罗技欧洲公司 | 局部化脸部特征和全程实时视频转变 |
US20090037447A1 (en) * | 2007-07-31 | 2009-02-05 | Shanmugasundaram Ravikumar | Mail Compression Scheme with Individual Message Decompressability |
US20120210261A1 (en) * | 2011-02-11 | 2012-08-16 | Apple Inc. | Systems, methods, and computer-readable media for changing graphical object input tools |
US20130147904A1 (en) * | 2011-12-13 | 2013-06-13 | Google Inc. | Processing media streams during a multi-user video conference |
CN103927161A (zh) * | 2013-01-15 | 2014-07-16 | 国际商业机器公司 | 实况视频的实时照片修饰 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6283858B1 (en) | 1997-02-25 | 2001-09-04 | Bgk International Incorporated | Method for manipulating images |
US6662210B1 (en) | 1997-03-31 | 2003-12-09 | Ncr Corporation | Method of remote collaboration system |
US7085842B2 (en) * | 2001-02-12 | 2006-08-01 | Open Text Corporation | Line navigation conferencing system |
US9400921B2 (en) * | 2001-05-09 | 2016-07-26 | Intel Corporation | Method and system using a data-driven model for monocular face tracking |
KR100747756B1 (ko) | 2003-07-16 | 2007-08-09 | 스카이프 리미티드 | 피투피 전화 시스템 |
US7920725B2 (en) * | 2003-09-09 | 2011-04-05 | Fujifilm Corporation | Apparatus, method, and program for discriminating subjects |
US7762886B2 (en) * | 2004-12-07 | 2010-07-27 | United Tote Company | Method and apparatus for enhancing a wagering experience using a wagering terminal adaptable to a self-service mode |
US7612794B2 (en) | 2005-05-25 | 2009-11-03 | Microsoft Corp. | System and method for applying digital make-up in video conferencing |
US7751599B2 (en) * | 2006-08-09 | 2010-07-06 | Arcsoft, Inc. | Method for driving virtual facial expressions by automatically detecting facial expressions of a face image |
KR101513616B1 (ko) * | 2007-07-31 | 2015-04-20 | 엘지전자 주식회사 | 이동 단말기 및 그 영상정보 관리방법 |
EP2263190A2 (en) * | 2008-02-13 | 2010-12-22 | Ubisoft Entertainment S.A. | Live-action image capture |
EP2141448B1 (en) * | 2008-07-04 | 2011-01-05 | Sick IVP AB | Calibration of a profile measuring system |
US8413054B2 (en) * | 2009-04-13 | 2013-04-02 | Cisco Technology, Inc. | Graphical user interface for still image capture from video footage |
JP5476955B2 (ja) * | 2009-12-04 | 2014-04-23 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
US9699431B2 (en) * | 2010-02-10 | 2017-07-04 | Satarii, Inc. | Automatic tracking, recording, and teleprompting device using multimedia stream with video and digital slide |
CN101959050A (zh) | 2010-09-01 | 2011-01-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种视频通话中传递信息的方法、系统及移动终端 |
JP5502706B2 (ja) * | 2010-11-18 | 2014-05-28 | ルネサスエレクトロニクス株式会社 | 映像処理装置及び映像処理方法 |
WO2012075565A1 (en) | 2010-12-06 | 2012-06-14 | Smart Technologies Ulc | Annotation method and system for conferencing |
US8698873B2 (en) | 2011-03-07 | 2014-04-15 | Ricoh Company, Ltd. | Video conferencing with shared drawing |
US20120236105A1 (en) | 2011-03-14 | 2012-09-20 | Motorola Mobility, Inc. | Method and apparatus for morphing a user during a video call |
US8767034B2 (en) | 2011-12-01 | 2014-07-01 | Tangome, Inc. | Augmenting a video conference |
CN104170358B (zh) * | 2012-04-09 | 2016-05-11 | 英特尔公司 | 用于化身管理和选择的系统和方法 |
KR101434728B1 (ko) | 2012-05-15 | 2014-08-29 | 조현근 | 영상 통화 시스템에서의 영상 통화 중 드로잉 협업 방법 |
KR101989016B1 (ko) * | 2012-08-29 | 2019-06-13 | 삼성전자주식회사 | 전자장치에서 영상통화중 파일 전송 방법 및 장치 |
CN102903265A (zh) | 2012-09-19 | 2013-01-30 | 河南智游网络技术有限公司 | 一种课堂教学自动记录的方法 |
US9143823B2 (en) | 2012-10-01 | 2015-09-22 | Google Inc. | Providing suggestions for optimizing videos to video owners |
US20140181910A1 (en) * | 2012-12-21 | 2014-06-26 | Jim Fingal | Systems and methods for enabling parental controls based on user engagement with a media device |
US20140258863A1 (en) * | 2013-03-11 | 2014-09-11 | United Video Properties, Inc. | Systems and methods for browsing streaming content from the viewer's video library |
US9251405B2 (en) * | 2013-06-20 | 2016-02-02 | Elwha Llc | Systems and methods for enhancement of facial expressions |
US20150189355A1 (en) * | 2013-12-26 | 2015-07-02 | United Video Properties, Inc. | Systems and methods for printing three-dimensional objects as a reward |
US9560254B2 (en) * | 2013-12-30 | 2017-01-31 | Google Technology Holdings LLC | Method and apparatus for activating a hardware feature of an electronic device |
GB2524473A (en) * | 2014-02-28 | 2015-09-30 | Microsoft Technology Licensing Llc | Controlling a computing-based device using gestures |
US20160019420A1 (en) * | 2014-07-15 | 2016-01-21 | Qualcomm Incorporated | Multispectral eye analysis for identity authentication |
GB201419441D0 (en) * | 2014-10-31 | 2014-12-17 | Microsoft Corp | Modifying video call data |
-
2014
- 2014-10-31 GB GBGB1419441.9A patent/GB201419441D0/en not_active Ceased
-
2015
- 2015-01-13 US US14/596,112 patent/US9445043B2/en active Active
- 2015-10-28 KR KR1020177014728A patent/KR20170078785A/ko not_active Application Discontinuation
- 2015-10-28 EP EP15794402.6A patent/EP3198559B1/en active Active
- 2015-10-28 WO PCT/US2015/057681 patent/WO2016069669A2/en active Application Filing
- 2015-10-28 CN CN201580058872.6A patent/CN107111427B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901665A (zh) * | 2005-07-14 | 2007-01-24 | 罗技欧洲公司 | 局部化脸部特征和全程实时视频转变 |
US20090037447A1 (en) * | 2007-07-31 | 2009-02-05 | Shanmugasundaram Ravikumar | Mail Compression Scheme with Individual Message Decompressability |
US20120210261A1 (en) * | 2011-02-11 | 2012-08-16 | Apple Inc. | Systems, methods, and computer-readable media for changing graphical object input tools |
US20130147904A1 (en) * | 2011-12-13 | 2013-06-13 | Google Inc. | Processing media streams during a multi-user video conference |
CN103927161A (zh) * | 2013-01-15 | 2014-07-16 | 国际商业机器公司 | 实况视频的实时照片修饰 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888845A (zh) * | 2017-11-14 | 2018-04-06 | 腾讯数码(天津)有限公司 | 一种视频图像处理方法、装置及终端 |
US11178275B2 (en) | 2019-01-15 | 2021-11-16 | Samsung Electronics Co., Ltd. | Method and apparatus for detecting abnormality of caller |
US20230386110A1 (en) * | 2020-04-21 | 2023-11-30 | Canva Pty Ltd | Systems and methods for applying effects to design elements |
Also Published As
Publication number | Publication date |
---|---|
GB201419441D0 (en) | 2014-12-17 |
US9445043B2 (en) | 2016-09-13 |
WO2016069669A2 (en) | 2016-05-06 |
WO2016069669A3 (en) | 2016-09-01 |
CN107111427B (zh) | 2020-06-05 |
EP3198559A2 (en) | 2017-08-02 |
US20160127682A1 (en) | 2016-05-05 |
EP3198559B1 (en) | 2019-03-20 |
KR20170078785A (ko) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111427A (zh) | 修改视频通话数据 | |
CN107113396A (zh) | 修改视频通话数据 | |
US10997787B2 (en) | 3D hand shape and pose estimation | |
US10984575B2 (en) | Body pose estimation | |
US11670059B2 (en) | Controlling interactive fashion based on body gestures | |
US11763481B2 (en) | Mirror-based augmented reality experience | |
US11798238B2 (en) | Blending body mesh into external mesh | |
US20220270332A1 (en) | Face animation synthesis | |
US11836866B2 (en) | Deforming real-world object using an external mesh | |
US11790614B2 (en) | Inferring intent from pose and speech input | |
KR20240056545A (ko) | 신체 메시에 기초한 커스텀 메시 변형 | |
WO2022006299A1 (en) | Motion representations for articulated animation | |
US11918888B2 (en) | Multi-user AR experience with offline synchronization | |
EP4272173A1 (en) | Flow-guided motion retargeting | |
US20230069614A1 (en) | High-definition real-time view synthesis | |
US11894989B2 (en) | Augmented reality experience event metrics system | |
US11948266B1 (en) | Virtual object manipulation with gestures in a messaging system | |
US20240087239A1 (en) | Sculpting augmented reality content using gestures in a messaging system | |
US20240087246A1 (en) | Trigger gesture for selection of augmented reality content in messaging systems | |
US20240087242A1 (en) | 3d cursor functionality for augmented reality content in messaging systems | |
US20240087245A1 (en) | Gestures to enable menus using augmented reality content in a messaging system | |
US20240087244A1 (en) | Cursor functionality for augmented reality content in messaging systems | |
US20240087609A1 (en) | Auto trimming for augmented reality content in messaging systems | |
KR20240067922A (ko) | 신체 메시의 외부 메시로의 블렌딩 |
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 |