表情符号人偶化的制作方法
未命名
09-29
阅读:69
评论:0
表情符号人偶化
1.本技术是申请日为2018年1月25日的、名称为“表情符号人偶化”的发明专利申请no.201810070546.2的分案申请。
技术领域
2.本公开涉及表情符号图像领域。
背景技术:
3.表情符号(emoji)是可以传达表情或情绪的小图形或图标,诸如表达快乐的笑脸或表达喜爱的吻。即时消息系统的用户可以在消息中包括表情符号,从而凭借表情符号来表达情绪。表情符号可具有固定的动画,诸如该表情符号眨眼睛,或飞吻。然而,用户无法改变表情符号的固定动画。
4.一些动画和增强现实(ar)系统可以将对象添加到图像。例如,ar系统可以将滑稽的鼻子添加到人的照片,或者将一个人(诸如用户)的照片变形为另一个人(诸如着名演员或公众人物)的照片。这些系统通常使用相机输出(例如,rgb数据)来确定人的轮廓,以提供数据来执行变形。仅使用rgb数据来获得深度信息在低光照条件下可能存在问题。
技术实现要素:
5.公开了用于根据客户端设备的用户的面部表情、头部运动和语音所记录的图像、深度和可选的音频信息,来生成人偶化表情符号的视频的系统和方法。可以经由消息将人偶化表情符号视频传输给一个或多个消息接收人。可以使用所记录的表情、动作以及语音来以动画方式显示人偶化表情符号或对其进行人偶化。
6.在第一实施方案中,生成用于在消息中发送到一个或多个接收客户端设备的人偶化表情符号视频的方法,可以使用即时消息应用程序的表情符号人偶化应用扩展程序从即时消息应用程序内生成。人偶化表情符号可以看起来像是在模仿客户端设备的用户的面部表情、头部动作、眉毛动作、语音,以及其他表情。该方法可以包括使用深度传感器接收表示对象(诸如人类头部和面部)的多个深度信息帧。对象也可以是例如用户宠物的头部或面部,或其他移动的表现对象。该方法还可包括接收表示该对象的多个图像信息帧。可以根据该多个深度信息帧和图像信息帧,来呈现人偶化表情符号的视频。在一个实施方案中,视频还可以包括从与多个图像信息帧和深度信息帧同时记录的多个音频数据帧中生成的音频。然后,可以经由即时消息服务,将带有人偶化表情符号视频的消息传输给一个或多个消息接收人。消息接收人可以各自具有带不同设备和即时消息能力的计算设备。在一个实施方案中,发送客户端设备上的即时消息应用程序可以从即时消息系统接收对于传输表情符号的视频所用的一个或多个版本或格式的指示,其对应于消息接收人的一个或多个设备的设备和即时消息应用程序能力。在一个实施方案中,可以使用富链接(rich link)或指示表情符号视频的回放参数的元数据标签,在消息中传输表情符号视频。富链接可以指示统一资源定位符(url),统一资源标识符(uri)或其他访问所呈现的人偶化表情符号的标引。富链
接或元数据标签可以包括用于回放人偶化表情符号的参数,诸如回放人偶化表情符号的次数、在重复回放之前的延迟时间、是循环回放人偶化表情符号还是回放人偶化表情符号一次、是否应该在接收人打开含有人偶化表情符号的消息时自动播放人偶化表情符号,还是应该等到点击了人偶化表情符号才播放,以及人偶化表情符号的其他回放参数。在一个实施方案中,客户端发送设备可以存储所呈现的人偶化表情符号视频,并且富链接可以指存储所呈现的视频的位置。该位置可以是发送设备、消息服务器、第三方服务器、云存储或其他存储位置。接收客户端可以通过访问富链接而访问人偶化表情符号视频。另选地,可以将人偶化表情符号视频嵌入到消息中,并以接收设备、消息应用程序或设置参数所指定的默认方式将其传输给接收人进行回放。
7.在另一个实施方案中,消息系统可以接收来自发送客户端设备对于如下内容的指示:包括人偶化表情符号视频的消息将被发送给多个消息接收人。消息系统可以确定发送客户端设备的设备能力。消息系统还可确定每个消息接收人的客户端设备的设备能力。然后,消息系统可以向发送客户端设备发送用于呈现人偶化表情符号视频的版本或格式列表,使得每个接收客户端设备可以根据客户端设备硬件和软件能力来播放视频。所呈现的人偶化表情符号版本还可考虑发送客户端设备呈现该人偶化表情符号视频的硬件和软件能力。消息系统可以另外地接收发送给每个消息接收人的消息,每个消息包括消息系统所指定的、来自发送客户端设备的人偶化表情符号视频的版本。消息系统可按适用于接收客户端设备的硬件和软件能力的版本,向每个消息接收人传输消息和人偶化表情符号视频。然后消息系统可以通知发送客户端设备,消息已经成功发送到接收人客户端设备。
8.在又一个实施方案中,接收客户端设备可以从消息系统接收消息,该消息包括人偶化表情符号。在一个实施方案中,接收客户端设备的即时消息应用程序可以解密该消息。可以使用消息接收人的非对称密钥对的私有密钥来解密该消息。在一个实施方案中,消息可以使用对称密钥来解密。消息内的文本可以显示在即时消息应用程序内的转译本窗口中的消息会话内。如果接收客户端设备上安装了表情符号人偶化应用扩展程序,则消息应用程序显示并循环来自消息的人偶化表情符号。响应于用户输入,可以将来自人偶化表情符号的音频打开或静音。如果接收客户端设备不包括表情符号人偶化应用扩展程序,则可以在接收人客户端设备的显示器上将人偶化表情符号显示为视频。在一个实施方案中,视频可以显示在消息应用程序的转译本窗口内。在一个实施方案中,视频可以响应于重放视频的用户输入而被重放。
9.在一个另外的实施方案中,表情符号人偶化应用扩展程序可以经由一个或多个应用编程接口(api)或框架来调用增强现实(ar)api,音频/视频api、呈现ap、面部跟踪api和表情符号人偶化api,执行表情符号的人偶化。面部跟踪api可以接收图像传感器数据和深度传感器数据,并生成用户头部和/或面部的基网格。图像传感器可以用来检测用户面部的存在情况。在一个实施方案中,可以使用图像传感器和深度传感器中的任一者或两者来检测用户的面部的存在情况。在一个实施方案中,深度传感器可以在检测用户的面部期间断电。在一个实施方案中,可以显示围绕所检测的用户面部的边界框,并且可以生成指示用户面部已经被检测到的硬件信号。在检测到用户的面部之后,可以使用深度传感器来扫描用户的面部,并生成基网格或“轮廓型”面部。在一个实施方案中,深度传感器可以响应于由rgb传感器检测到用户的面部而被开启。在一个实施方案中,如果不再检测到用户的面部,
则可以关闭深度传感器。随着用户改变其面部表情,面部跟踪api可以继续接收图像传感器数据和深度传感器数据的帧,并且可以确定基网格与图像传感器数据及深度传感器数据的附加帧之间的差异。该差异可以被表示为3d向量,其中每个向量元素在基网格的每个顶点具有诸如0-255的值。在一个实施方案中,可以跟踪基网格中的不同顶点,诸如用户的嘴巴或眉毛,其中每个顶点可以被称为界标。基网格与图像传感器数据及深度传感器数据的附加帧之间的差异可以表示为,代表用户面部表情变化的一个或多个混合形状值。基网格以及从图像传感器数据及深度传感器数据的帧导出的混合形状的顺序,可以用于映射基网格的混合形状值,以混合表情符号的形状值。在一个实施方案中,对基网格的混合形状值所作的改变(其映射到表情符号的混合形状),可以被用于以动画方式显示表情符号或将表情符号“人偶化”。可以使用呈现api将以动画方式显示的表情符号呈现为一种或多种格式的视频。
10.在一个实施方案中,非暂态计算机可读介质可以存储可执行指令,该可执行指令在由处理系统执行时,可以执行上述任何功能。
11.在又一个实施方案中,联接到编程有可执行指令的存储器的处理系统可以在执行该指令时,执行上述任何功能。在一个实施方案中,处理系统包括至少一个硬件处理器。
12.本文所述的一些实施方案包括环境中的一个或多个应用编程接口(api),其中调用程序代码与通过一个或多个接口而受调用的其他程序代码进行交互。各种功能调用、消息或其他类型的调用还可包括各种参数,这些调用可以经由调用程序和被调用代码之间的apl而传输。此外,api可以给调用程序代码提供使用在api中定义的、并在被调用程序代码中实现的数据类型或类别的能力。
13.通过附图并且通过详细描述,其他特征和好处将显而易见。
附图说明
14.本发明的实施方案以举例的方式进行说明,而不仅限于各个附图的图示,在附图中类似的附图标号是指类似的元件。
15.图1以框图形式示出了根据一些实施方案的用于生成和发送带有人偶化表情符号的消息的系统概况。
16.图2a以框图形式示出了根据一些实施方案的系统中的示例性客户端发送设备的详细视图,其用于生成人偶化表情符号,以供在消息中向一个或多个消息接收人进行发送。
17.图2b以框图形式示出了根据一些实施方案的系统中的示例性客户端发送设备部件的详细视图,其用于生成人偶化表情符号,以供在消息中向一个或多个消息接收人进行发送。
18.图3a示出了根据一些实施方案的图像传感器和深度传感器,其分别从该发送客户端设备的用户的面部、表情、运动和头部收集图像信息和深度信息。
19.图3b示出了包括人偶化表情符号的消息转译本,该表情符号是在来自该发送客户端设备的消息中接收到的。
20.图3c示出了人脸和头部、根据图像和深度数据生成的人脸和头部的基网格、基网格上的一个或多个跟踪点,以及具有与一个或多个基网格跟踪点相对应的跟踪点的表情符号。
21.图4示出了根据一些实施方案的当生成人偶化表情符号并在消息中将表情符号发送到接收客户端设备时,发送客户端设备、消息服务和接收客户端设备之间的握手。
22.图5a至图5c示出了根据一些实施方案的由发送设备生成人偶化表情符号视频并在消息中将该视频发送到接收设备的方法。
23.图6示出了根据一些实施方案的由服务器接收具有人偶化表情符号的消息并将该消息发送到一个或多个接收设备的方法。
24.图7以框图形式示出了根据一些实施方案的由接收客户端设备处理消息的方法,该消息具有人偶化表情符号。
25.图8示出了可在本发明的一些实施方案中使用的软件栈的示例性实施方案。
26.图9为计算系统的一个实施方案的框图。
27.图10示出了图像数据帧与深度数据帧及音频帧的同步。
具体实施方式
28.在以下对实施方案的详细描述中将引用附图,附图中类似的附图标记表示相似的元素,并且其中以示例方式示出了可实践的具体实施方案。这些实施方案被足够详细地描述以允许本领域的技术人员实践本发明,并且应当理解,可使用其他实施方案,并可在不脱离本公开内容的范围的情况下进行逻辑修改、机械修改、电气修改、功能修改和其他修改。因此,下面的详细描述不应该被理解为限制性的意义,并且本发明的范围仅由所附权利要求书所限定。
29.图1以框图形式示出了根据一些实施方案的用于生成和发送带有人偶化表情符号的消息的系统100的概况。系统100可以包括一个或多个发送客户端设备110,其经由网络120与一个或多个接收人客户端设备115和消息系统130通信。
30.发送客户端设备110可以包括即时消息应用程序,该即时消息应用程序使得用户能够编写消息并将消息发送到各自具有接收客户端设备115的多位消息接收人处。消息可以是任何类型的消息,包括文本消息、sms消息、mime格式消息、电子邮件或其他消息类型。发送客户端设备110还可包括表情符号人偶化应用扩展程序,其使得用户能够在消息内包括人偶化表情符号。如本文所述,人偶化表情符号是已由用户输入以动画方式显示或控制的表情符号。用户输入可以包括捕捉面部表情、头部运动和/或用户的语音。人偶化表情符号还可以接收特殊的图形特征,其包括可从用户输入推导出的移动。例如,如果表情符号是鹰,并且用户移动她的手臂,则表情符号动画可以包括扇动其翅膀的鹰。如果表情符号是狗,并且用户将头部左右移动,则狗的耳朵和毛发可以响应于用户的头部移动而以动画方式显示为发生移动。
31.客户端设备110可以包括图像传感器、深度传感器和音频记录硬件。在一个实施方案中,深度传感器可以检测深度和图像数据两者。图像数据可以是颜色数据,诸如但不限于红-绿-蓝(rgb)图像数据。深度数据可以包括距图像传感器的距离。在一个实施方案中,深度传感器可以包括红外激光器。在一个实施方案中,可以使用相机或其他电荷耦合器件(ccd)来获得图像数据。
32.客户端设备110还可以包括处理系统,该处理系统具有至少一个硬件处理器,该处理器联接到深度传感器、图像传感器和音频硬件。深度、图像和音频数据可以作为数据帧在
时间上得到同步。可以使用深度数据和图像数据来生成至少表示用户的面部和/或头部以及用户的其他身体部位(例如颈部、手臂、手等等)的图形网格。表情符号可以具有映射到从图像信息和深度信息生成的网格的一个或多个顶点的顶点或“界标”。可以生成用户的被跟踪面部的一个或多个表情的混合形状值(其映射到一个或多个表情符号混合形状),以根据用户的面部、表情、身体动作和头部动作来以动画方式显示表情符号。获取用户动作并将这些动作转换为表情符号的过程被称为将表情符号“人偶化”。
33.客户端设备110可以使用任何视频编码标准(诸如但不限于任何mpeg标准、h.264或h.265)来生成人偶化表情符号的视频。根据消息接收人的接收客户端设备115的硬件和软件能力,发送客户端设备110可以生成针对接收客户端设备115能力而优化的适合版本的人偶化表情符号。发送客户端设备110即时消息应用程序280(未示出)可以将消息接收人列表发送到消息系统130。消息系统130可以查找每个消息接收人的接收客户端设备115。消息系统130可以确定每个接收客户端设备115的硬件和软件能力,并且向消息发送人客户端设备110发送带有消息接收人列表以及如下指示的消息:关于应该如何呈现人偶化表情符号,以及应该如何针对每个接收人的接收客户端设备115硬件和软件能力来准备和优化发送消息的指示。在一个实施方案中,消息系统130可以在数据库中查找每个接收人,并确定向接收人注册的接收客户端设备115品牌和型号。确定硬件能力可以包括,确定处理器类型和速度以及显示器规格,包括像素分辨率和用于表示每个像素颜色的每个像素的位数。确定软件功能可以包括,确定接收客户端设备115的操作系统的版本、确定接收客户端设备115是否包括支持人偶化表情符号的软件,以及确定接收客户端设备115上的消息应用程序280的版本。如果接收人没有向消息系统130注册,或者如果接收人的接收客户端设备115的品牌和型号未被找到或者以其他方式是未知的,则消息系统130可以为接收人接收客户端设备115使用一组默认的硬件和软件能力。默认特性可以包括显示器的默认像素分辨率,每个像素的默认颜色信息位数,以及接收客户端设备115未安装有人偶化表情符号应用扩展程序270(未示出)。基于每个消息接收人的接收客户端设备115的硬件和软件能力,消息服务器可以确定用于人偶化表情符号视频的呈现参数,诸如分辨率、帧速率和颜色深度。消息系统130可以准备传输给发送客户端设备110的消息,该消息指示出针对每个消息接收人而言的发送客户端设备110用于呈现人偶化表情符号视频的呈现参数,以及接收人的接收客户端设备115是否安装有人偶化表情符号应用扩展程序。消息系统130可以将该消息发送到发送客户端设备110。发送客户端设备110然后可以根据用于每个消息接收人的呈现参数,为每个消息接收人的接收客户端设备呈现人偶化表情符号视频。对于每个接收人来说,发送客户端设备110可以将可能伴随着人偶化表情符号视频的任何消息文本,连同用于该消息接收人的接收客户端设备的所呈现的人偶化表情符号视频的适当版本打包在消息中。如果接收人的接收客户端设备115已经安装了人偶化表情符号应用扩展程序270,则发送客户端设备110还可包括链接到发给接收人的消息中的人偶化表情符号视频的富链接。在一个实施方案中,客户端发送设备可以存储所呈现的人偶化表情符号视频,并且富链接可以指存储所呈现的视频的位置。该位置可以是发送设备、消息服务器、第三方服务器、云存储或其他存储位置。接收客户端设备115可以通过访问富链接而访问人偶化表情符号视频。在一个实施方案中,发送客户端设备110可以另选地包括伴随人偶化表情符号视频的元数据标签,该标签指示出用于回放人偶化表情符号视频的参数。发送客户端设备110可以可选地使用与
接收人相关联的加密密钥来加密该消息。在一个实施方案中,加密密钥可以是非对称密钥对的公共密钥。在一个实施方案中,加密密钥可以是对称密钥。
34.客户端设备115可以包括与发送客户端设备110相同、相似或不同的软件和硬件能力。发送客户端设备110和接收客户端设备115的硬件和软件之间的相似点和差异可以包括,设备是否具有相同的制造商(例如或设备)、设备是否订阅同一即时消息系统130(例如)、消息系统130是否可以访问发送设备110和接收设备115的硬件和软件设备能力,以及发送设备110和接收设备115是否具有相同或不同的软件能力,包括软件应用程序和版本。发送客户端设备110和接收客户端设备115可以包括便携式电子设备、诸如智能电话、台式计算机(诸如)、平板电脑(诸如)或以下参照图9所述的其他计算设备。
35.网络120可以是任何类型的网络,诸如以太网、令牌环、火线、usb、蓝牙、光纤通道、wifi、ieee 802.11g、802.11n、802.11ac,蜂窝网络诸如lte、umts、wimax或其他网络类型。
36.消息系统130可以是任何类型的消息传送系统,诸如文本消息系统、sms消息系统、电子邮件消息系统、或messenger。消息系统130可以在一个或多个服务器上实现。以下参考图9来描述示例性服务器。消息系统130可以包括身份服务器132和即时消息服务器134。具有即时消息系统130账户的用户可以经由身份服务器132向消息系统130注册。身份服务器132可以存储关于对消息系统130有用的注册用户的信息,诸如注册用户所拥有和使用的特定设备,以及这些设备的硬件和软件能力。消息系统130可以访问身份服务器132,以确定消息系统130中的消息的发送人和接收人的硬件和软件能力。即时消息服务器134可以转发从发送客户端设备110接收到的发往一个或多个接收人设备115的消息。消息系统130可以经由网络120联接到客户端设备110和115。身份服务器132和即时消息服务器134可以通过网络120或其他网络而联接到即时消息系统130。
37.图2a以框图形式示出了根据一些实施方案的系统100中的示例性客户端发送设备110的详细视图,其用于生成人偶化表情符号,以供在消息中向一个或多个消息接收人进行发送。客户端接收设备115可以具有相同、相似或不同的能力。
38.客户端设备110的内部部件可以包括硬件210、操作系统220、面部跟踪api 230、音频/视频(a/v)api 240、增强现实(ar)api 250、表情符号api 260、表情符号木偶化应用扩展程序270,以及消息应用程序280。以下参考图8来描述示例性api调用。
39.硬件210可以包括相机或图像传感器211、深度传感器212、麦克风213、音频处理器214、一个或多个中央处理单元或特殊处理单元215,存储器216、存储装置217和网络接口218。图像传感器211可以包括产生图像数据的电荷耦合器件(ccd)相机或其他传感器。其他传感器类型可以包括互补金属氧化物半导体(cmos)、n型金属氧化物半导体(nmos或live mos)技术、或者由结合到ccd成像基板上的cmos读出集成电路(roic)组成的混合ccd/cmos结构中的有源像素传感器。图像数据可以包括红-绿-蓝(rgb)数据,相机支持的分辨率的像素图,强度和像素颜色信息。图像信息可按其他数据格式得到捕捉,包括以例如一个亮度(y')和两个色度(uv)分量,或者以ycbcr,y'cbcr,ypbpr或其他形式表示的亮度(明亮度)和色度(颜色)信号格式。图像传感器211可按具有诸如每秒60帧(fps)的帧速率的帧来产生图
像数据。深度传感器212可以包括捕捉深度信息的红外传感器,该深度信息具有像素图,其中每个像素具有某一深度值。深度信息可以具有像素分辨率,诸如如720像素/英寸(720p)。深度信息可以被存储为具有诸如15fps的帧速率的深度信息帧。在一个实施方案中,rgb传感器211捕捉帧速率和深度传感器212捕捉帧速率两者都可以独立地变化。在一个实施方案中,响应于电子设备的温度或高能耗或者作为其函数,rgb捕捉帧速率和/或深度传感器捕捉帧速率中的一个或两个可以被降低。可以独立于rgb传感器211捕捉帧速率和深度传感器212捕捉帧速率,来改变呈现人偶化表情符号的帧速率。在一个实施方案中,深度传感器212还可以包括生成rgb图像数据的图像传感器。麦克风213可以是任何类型的麦克风,诸如具有铁电性带电材料的驻极体(静电磁体)麦克风。音频处理器214可以包括数字信号处理器(dsp)、一个或多个模数转换器、滤波器、放大器,以及接收并处理例如来自麦克风213的声音并且从所接收的声音生成音频数据帧的其他部件。音频处理器214可以根据采样频率(诸如44.1khz、48khz或其它采样频率)来产生音频数据。下文参考图9详细描述了cpu 215、存储器216、存储装置217和网络接口218。
40.操作系统220可以是任何类型的操作系统,诸如操作系统220可以是任何类型的操作系统,诸如linux、或其他操作系统。操作系统220可以实现将硬件210联系到用户应用程序所需的资源,其中用户应用程序为诸如消息应用程序280(例如表情符号人偶化应用扩展程序270)、操作系统服务以及api,诸如面部跟踪api 230、a/v api 240、ar api 250和表情符号api 260。
41.面部跟踪api 230可以从例如图像传感器211和深度传感器212接收图像信息和深度信息。面部跟踪api 230能够以帧为单位将图像信息和深度信息在时间上同步。例如,可按60帧/秒(fps)来接收图像信息,并且可按15fps来接收深度信息,如下文参考图9所述。面部跟踪api 230可以将这些帧在时间上对齐到关键帧和交织帧中。关键帧可以包括深度信息和图像信息两者,并且在时间上被一个或多个图像帧交织。在该60fps图像信息和15fps深度信息的示例中,每个关键帧将被三(3)个图像信息帧交织。深度信息帧和图像信息帧可以传递给例如a/v api 240。在一个实施方案中,面部跟踪api 230可以在关键帧之间内插深度信息。
42.a/v api 240可以生成记录会话241,其中可以获取图像信息、深度信息和/或音频信息并将其用于人偶化表情符号。可以从麦克风213和/或音频处理器214接收音频信息。音频信息可以包括表情符号人偶化会话期间的语音,或其他声音,例如狗吠声。会话241可以响应于来自(例如)表情符号人偶化应用扩展程序270或表情符号api 260的调用而被发起。在一个实施方案中,音频处理器214可以从麦克风213接收音频信号,并且使用音频处理器214的模数转换器(adc)对麦克风214输出进行采样。adc可以具有例如48khz、10khz或其他采样频率的采样频率。av api 240会话241可以将深度帧和图像帧传递给面部跟踪api 230。面部跟踪api 230可以处理这些帧,然后向av api 240输出姿势、网格和混合形状元数据,其中它被同步并传递给ar api 250。音频处理器214或a/v api 240可以将采样的音频数据打包成对应于图像信息帧的分块或帧,例如60fps或15fps的深度信息帧。a/v api 240可以使音频帧与深度信息帧和图像信息帧同步。会话241可以将所同步的图像信息、深度信息和音频信息存储到例如存储器216或存储装置217中。a/v api 240可以将图像信息、深度
信息和音频信息传递给ar api 250、表情符号api 260或表情符号人偶化应用扩展程序270以供进一步处理。
43.ar api 250可以使用从a/v api 240或面部跟踪api 230接收到的图像信息和深度信息,来生成“网格”数据结构,其表示被用来使表情符号人偶化的对象的面部、头部或的其他部分的3d深度轮廓。ar api 250可以将网格数据结构传递给表情符号api 260或表情符号人偶化应用扩展程序270。基网格数据结构可以从一个或多个图像传感器信息帧和深度传感器信息帧中生成。随后的图像帧和深度帧可以用来确定在基网格的一个或多个顶点处随帧而发生的变化。在基网格上,诸如眼睛、眉毛、微笑、脸颊、耳朵和额头等感兴趣的区域可随着面部表情而改变。基网格的一个或多个顶点可被分组成表示每个感兴趣的区域。可以将每个感兴趣区域中的顶点映射到表情符号中相应感兴趣区域中的一个或多个顶点。在一个实施方案中,表情符号的3d版本的无表情基网格可以存储在资产261或表情符号api 260中。在一个实施方案中,表情符号可以具有多个表情,每个表情具有表示该表情的基网格。表情可以是例如,眨左眼、右耳向上、嘴角向上微笑、眉毛下弯等。每个表情基网格可以被称为混合形状。对于每个表情而言,无表情基网格、用户面部扫描和表情基网格之间的差异可以被称为混合形状值。混合形状值确定了每个混合形状被激活的程度。混合形状值可用于以动画方式显示表情符号。混合形状可以用来确定用户或使表情符号人偶化的其他对象的表情。另一个对象可以是例如狗、鸟、其他宠物或动物。
44.表情符号api 260具有对如下资产的访问权限:该资产用于生成在用户编写消息时可以循环回放给用户的人偶化表情符号的动画和/或视频。用户可以从资产261中选择另选的表情符号。资产可以包括带有一个或多个表情符号的库261,每个表情符号已经被准备用于将用户的基网格数据结构应用到所选的一个表情符号。表情符号可以具有相关联的“网格”数据结构,其具有大量顶点。可以将顶点分组到感兴趣区域或“界标”中,其将被映射到从用户的图像信息和深度信息所生成的用户基网格数据结构的一个或多个对应顶点。“大量”可以是例如500个表情符号的顶点,并且从图像信息和深度信息产生的网格数据结构可以具有例如1000个或更多个顶点。表情符号api 260可以将用户的基网格顶点映射到表情符号顶点,从而可以根据用于生成网格数据结构的图像数据和深度数据,以动画方式显示表情符号。表情符号api 260还可以生成用户受跟踪的面部的混合形状,每个混合形状捕捉用户面部的表情,并且将用户面部的混合形状映射到表情符号的一个或多个混合形状,以使得表情符号得到人偶化。例如,表情符号可以具有对应于眉毛、微笑、耳朵、鼻子或表情符号的其他特征的多个顶点,并且表情符号api 260可以将网格数据结构的顶点映射到对应的表情符号顶点。在一个实施方案中,表情符号可以具有多个混合形状,每个混合形状代表眉毛、微笑、耳朵、鼻子或表情符号的其他特征的表情,并且表情符号api 260可以将用户面部表情中的变化映射到表情符号的一个或多个混合形状。表情符号api 260还可以添加从图像信息帧和深度信息帧中检测到的运动所导出的物理属性。例如,如果表情符号是狗,则表情符号api 260可以检测到用户头部以上下运动或左右摇头运动来移动,这将导致狗的耳朵以与使用者移动方式相同的狗所采用的方式拍动。然后,表情符号api 260可以添加与所检测的动作相对应的耳朵拍打动作。另外,表情符号api 260还可以从图像信息帧和深度信息帧中检测出用户在一段时间内保持特定的姿势。响应于检测到用户保持该姿势,表情符号api 260可以将补充图形添加到表情符号。例如,表情符号api 260可以检测到
用户皱眉达预定的时间段。为了响应于检测到皱眉,表情符号api 260可以将眼泪添加到人偶化表情符号的眼睛上。响应于检测到微笑的姿势,表情符号api 260可以例如将心形添加到狗的眼睛,以指示快乐或很喜爱。表情符号api 260还可以生成人偶化表情符号的动画版本(其不同于人偶化表情符号的完全呈现的视频),以供向用户显示,以使得用户能够了解人偶化表情符号在完全呈现时大致看起来是怎么样的。
45.可以由消息应用程序280调用表情符号人偶化应用扩展程序(应用扩展)270以生成用于在消息中发送到一个或多个接收人(每个接收人都具有接收客户端设备115)的人偶化表情符号。表情符号人偶化应用扩展270可以调用上述一个或多个api,以启用表情符号人偶化应用扩展270的功能。表情符号人偶化应用扩展270可以接收来自上述api的混合形状、添加的图形特征、表情符号和网格数据结构,并且将人偶化表情符号呈现271为完全呈现的视频。可以根据发送客户端设备110的硬件和软件能力,以及消息接收人的接收客户端设备115的硬件和软件能力,由发送客户端设备110来呈现271人偶化表情符号。消息系统130可以从接收人列表中确定发件人的客户端设备100和每个接收人的接收客户端设备115的设备能力。在一个实施方案中,消息系统130具有对如下详细信息数据库的访问权限:该详细信息是关于安装在每个发送人和接收人客户端设备上的特定硬件和/或软件的详细信息。设备能力可以包括硬件和软件能力,以及接收人的接收客户端设备115是否支持在消息应用中显示人偶化表情符号。消息系统130可以通知发送客户端设备110要呈现的人偶化表情符号的特定版本,以及要接收每个版本的接收人。发送客户端设备110然后可以根据由消息系统130针对将包括人偶化表情符号的消息的相应消息接收人所指示的版本,来呈现人偶化表情符号的一个或多个不同版本。发送客户端设备110可采用将任何视频编码标准(诸如但不限于任何mpeg标准、h.264或h.265)将所呈现的人偶化表情符号编码为视频。
46.消息应用程序280可以是诸如applemessenger、文本消息应用程序、电子邮件应用程序或其他消息应用程序之类的应用程序。用户可以从消息应用程序280内选择表情符号人偶化应用扩展程序270来生成人偶化表情符号。可以在从消息应用程序280发送给一个或多个接收人的消息中包括该人偶化表情符号。
47.图2b以框图形式示出了根据一些实施方案的系统100中的另一个示例性客户端发送设备110的详细视图,其用于生成人偶化表情符号,以供在消息中向一个或多个消息接收人进行发送。
48.客户端设备110的内部部件可以包括图像传感器211和深度传感器212。图像传感器211可以生成图像数据,例如1280
×
720像素和60帧/秒的rgb彩色图像数据。深度传感器212可以生成深度数据,例如具有32位浮点分辨率和15帧/秒的640
×
360像素的深度数据。图像传感器211和深度传感器212可以将它们各自的传感器数据提供给面部跟踪api 230和ar api 250。在一个实施方案中,深度传感器212可以包括发射器和传感器,其中深度传感器212发射器发射出光束(诸如红外激光束)的扫描图案,其中扫描图案中每个所发射的光束对应于扫描空间中的顶点。深度传感器可以读取由用户面部反射的扫描图案中每个所发射的扫描光束的反射强度。图像传感器211也可以获取用户面部的图像数据。可以在用户面部的记录时间期间以预定扫描速率(例如,每秒15帧)获取并存储深度传感器信息。可以在用户面部的记录时间期间以预定速率(例如,每秒60帧)获取并存储图像传感器信息。面部跟踪api 230可以使用通用接口(gp接口)将所扫描的深度信息和图像信息传递给图像信号
处理器(isp)215,以执行卷积神经网络(cnn)功能,包括用于面部跟踪的深度学习。cnn功能可以为用户的面部生成无表情基网格,并且可以基于扫描图像的一个或多个顶点的变化和用户面部的深度信息,来检测用户面部表情的变化。在一个实施方案中,cnn功能可以针对多个表情的每个表情生成基网格,并且可以估计用户的受跟踪的面部、用户面部的无表情基网格和每个表情网格之间的差异量。在一个实施方案中,cnn功能可以被实现为集成电路,该集成电路可以被训练以接收从rgb传感器211捕捉的rgb值和从深度传感器212捕捉的深度传感器值,并且由cnn实现的训练模型可以输出面部跟踪数据,以允许随着时间的推移而跟踪面部。isp 215可以包括一个或多个处理器,包括被设计用于图像处理的处理器、数字信号处理器、图形处理器、通用处理器或其他处理器。isp 215可以使用gp接口将元数据返回到面部跟踪api 230。所返回的元数据可以由isp 215从接收自面部跟踪api 230的所扫描的深度信息和图像信息导出到isp 215。
49.最初,第一多个图案扫描可以用来检测用户面部的存在情况。在一个实施方案中,可以使用图像扫描传感器和深度传感器二者来检测用户的面部的存在情况。在一个实施方案中,可以使用图像传感器或深度传感器中的任一者或两者来检测用户的面部的存在情况。然后,图像扫描和深度扫描可以用来“获取”用户的面部。获取用户的面部可以包括,确定通用面部网格和从用户面部所扫描的深度信息和图像信息生成的用户面部网格之间的差异。表示通用面部的网格可以被称为“身份”面部。所扫描的用户面部深度信息和图像信息可以用于确定代表用户面部的网格。表示用户面部的网格可以被称为基网格或“轮廓”面部。轮廓面部网格可以是用户面部的无表情网格。除了轮廓面部网格之外,可以生成用户面部的多个表情网格。
50.表情可以包括,向左微笑、向右微笑、眨左眼、眨右眼、下巴张开、下巴向左、下巴向右、左眼睁开、右眼睁开、左侧眉毛向下、左侧眉毛向上、右侧眉毛向下、右侧眉毛向上、左耳向上、左耳向下、右耳向上、右耳向下、左侧嘴角微笑、右侧嘴角微笑等。每个表情网格都可以是针对特定面部表情的从无表情剖面网格发生的估计最大变形。例如,微笑表情网格可以表示面部的一个或多个部分的最大变形,如从无表情剖面网格所测量的那样,从而为用户生成最大估计微笑表情。面部跟踪算法可以针对每个表情网格来估计与无表情轮廓网格和针对某一表情的网格相比较,用户受扫描的面部的差值。每个表情的差值可以是标量值,诸如0-1、0-255、0%-100%或其他标量范围。受扫描的面部,受扫描的面部的无表情轮廓网格和表情基网格之间的估计差异可以被称为混合形状。用于所扫描的面部,无表情基网格和用于某一表情的表情基网格之间的差异量的标量值可以被称为混合形状值。一个或多个混合形状可以映射到表情符号上的一个或多个相应的表情网格。可以根据每个混合形状的混合形状值,将用户的受扫描面部的混合形状值应用于表情符号。
51.在一个实施方案中,元数据可以表示身份面部和轮廓面部之间的差异,其将轮廓面部表示为身份面部的顶点和轮廓面部的对应顶点之间的差异。差异可以表示为百分比变化,诸如0-100%,或者例如表示身份网格和轮廓网格的对应顶点之间的变化量的8位值0-255。在检测并获取到用户的面部之后,可以将用户面部的后续扫描的元数据表示为用户的基网格(轮廓面部)与用户面部任何特定后续扫描之间的差值。同样,差异可以表示为百分比变化,诸如0-100%,或者表示为具有范围的标量值,诸如0-255(字节值)。可以使用该差值来确定对于用户面部的深度数据和图像数据的每次扫描而言,与用户面部高精度对应的“皮肤”的变化。
52.面部跟踪api 230可以处理图像传感器数据和深度传感器数据,并将传感器数据打包成帧。ar api 250可以接收并同步深度信息帧和图像信息帧。深度信息帧或图像信息帧可以表示在特定时间点对用户面部的深度信息或图像信息所做的扫描。在一个实施方案中,深度信息可按例如每秒15帧(15fps)受到扫描,而图像信息可按例如每秒60帧(60fps)受到扫描。下文结合图10详细描述了深度数据和图像数据的同步。在一个实施方案中,从代表用于收集深度传感器数据和图像传感器数据的开始时间的时间t0起,对帧进行同步。在一个实施方案中,可将例如以15帧/秒产生的深度数据存储为60帧/秒,以将深度数据与图像数据对齐。在一个实施方案中,可以将例如以15帧/秒接收的深度帧,通过对15帧/秒的任何两帧之间的变化进行平均来从15帧/秒到60帧/秒进行内插。面部跟踪api 230可以从图像传感器数据和深度传感器数据生成表示用户面部和/或头部的基网格。随着另外的图像数据帧和深度数据帧被接收到,面部跟踪api 230可以确定基网格和从所接收的图像帧和深度帧产生的网格之间的差异。可以确定基网格的每个顶点的差异。在一个实施方案中,面部跟踪api 230可以向ar api 250传输作为数据帧和元数据帧的、从所接收的图像传感器帧和深度传感器帧导出的基网格和每个顶点的差异。
53.增强现实(ar)api 250可以将面部跟踪技术252应用于所接收的帧,以确定基网格的跟踪点中的改变。面部跟踪技术252可以分析用户面部网格的多个顶点处的元数据,以确定网格上的一个或多个激活点。例如,如果对用户面部进行的扫描的元数据指示出,对于与脸颊、嘴唇、眼睑或其他激活区域相对应的一个或多个顶点而言,一个或多个顶点已经以指示表情(抛媚眼、眨眼、接吻动作、眉毛提起、微笑等)的方式发生了值的改变,则人脸跟踪技术252可以在数据结构或“包装”中将表情表示为ar面部数据(arfacedata)的帧。ar api 250可以将ar面部数据传递给会话253。
54.ar api 250的会话253可以接收包括基网格、每帧元数据以及图像帧数据和深度帧数据的ar面部数据。会话253可以分析从面部跟踪技术252接收到的ar面部数据,以确定是否有任何表情信息映射到表情符号的一个或多个混合形状,以及ar面部数据是否指示了触发激活表情符号的一个或多个混合形状的表情的激活。会话253可以将包括用户面部的扫描网格的ar帧数据(arframedata)以及由面部跟踪技术252检测到的任何混合形状打包到ar帧(arframe)中。会话253可以将ar帧传递到表情符号api 260的表情符号人偶视图262。在记录图像传感器数据和深度传感器数据期间,表情符号人偶化视图262可以产生与所呈现的人偶化表情符号视频分开的人偶化表情符号的动画,以供在记录时向用户显示。
55.表情符号api 260可以根据基网格、每帧的元数据以及从会话252接收的图像帧信息和深度帧信息,来呈现人偶化表情符号视频的一个或多个版本。
56.表情符号人偶化应用扩展程序270可以接收或以其他方式检索所呈现的人偶化表情符号视频的一个或多个版本,以供发送给一个或多个消息接收人。
57.图3a示出了根据一些实施方案的图像传感器和深度传感器,其分别从该发送客户端设备110的用户的面部、表情、运动和头部收集图像信息和深度信息。
58.如上所述,发送客户端设备110可以从消息应用程序280内启动表情符号人偶化应用扩展程序270。发送客户端设备110可以包括图像传感器211和深度传感器212,其分别用于在一段时间内捕捉多个图像信息帧和深度信息帧。在一个实施方案中,时间段可以是预
定的时间段,诸如10秒。
59.深度传感器212可以通过扫描用户面部、头部和表情来检测详细的面部表情信息,如由扫描线390所表示。图像传感器211可以检测具有观察区域395的一系列拍摄帧中的用户面部、头部和表情的图像信息。深度传感器212扫描线390可以包括头发305、发际线315、眉毛320、眼睑325、眼镜框架330、微笑线335、酒窝340和下巴线345。深度传感器扫描线390还可包括面部、头部或面部特征结构的运动,诸如左右运动350、点头或上下运动。示例性扫描线是通过举例而非限制的方式给出的。深度传感器212可以捕捉扫描深度信息的精细网格。可以通过例如ar api 250来分析深度信息,以生成一个或多个网格数据结构,其表示用户的面部轮廓、表情以及在预定时间段内的移动。表情符号api 260和/或表情符号人偶化应用扩展程序270的呈现模块271可以将在网格数据结构中捕捉的表情和移动应用于将表情符号人偶化的操作。例如,如图3b所示,可以将用户移动应用于狗表情符号,以将该表情符号人偶化为包括对应于用户眨眼325的眨眼运动325
′
,以及分别对应于用户移动355、340和350的眉毛移动355
′
、微笑线340
′
和头部动作350
′
。在一个实施方案中,具有长耳朵的狗表情符号也可以被呈现为其耳朵响应于头部运动350
′
而拍动。在一个实施方案中,表情符号api 260可以检测到用户正在保持某一姿势(例如微笑),并且响应于检测到用户的微笑姿势而生成额外的图形,诸如表情符号眼睛中的心形。
60.图3b示出了包括人偶化表情符号的消息转译本,该表情符号接收自该发送客户端设备。当用户发送包括人偶化表情符号的消息时,类似于发送客户端设备110和接收客户端设备115之间的消息会话的转译本中可出现的其他文本和图形,该人偶化表情符号可以在消息的转译本中出现。在记录图像传感器211数据和深度传感器212数据期间,可以根据用户的面部表情和/或头部运动,对人偶化表情符号(在这种情况下为狗)进行动画化或“人偶化”。例如,用户的微笑线340可以作为微笑线340
′
而被人偶化表现在表情符号上。用户的眉毛运动355可以作为眉毛运动355
′
被人偶化表现在表情符号上。用户的头部运动350也可以被动画化表现在表情符号350
′
上。在一个实施方案中,可以添加额外的特殊效果,诸如可由真正的狗以与用户一样的方式移动其头部而得到的表情符号耳朵的拍动运动。特殊效果可以包括其他物理因素,例如考虑狗的耳朵上的重力或风。
61.图3c示出了用户的面部和头部301,从一个或多个图像数据帧和深度数据帧生成的人脸和头部的一般面部302的网格、基网格上的一个或多个跟踪点,其中每个跟踪点包括一般面部的一个或多个网格顶点,以及具有对应于一个或多个基网格302跟踪点的跟踪点的表情符号303。通用基网格302可用于生成用户面部的无表情基网格或“轮廓网格”。在一个实施方案中,可以生成表示特定表情的多个表情基网格。每个表情基网格可以表示无表情基网格针对该表情的最大估计变形,诸如前额线355、眉毛320、耳朵325或脸颊线360。
62.使用由面部跟踪api 230所接收的轮廓面部以及图像信息和深度信息,面部跟踪api 230可以生成用户面部和头部的高分辨率基网格。当接收到图像信息附加帧和深度信息附加帧时,可以确定基网格与所接收的图像帧和深度帧之间的差异。可以在称为界标的组中跟踪差异。例如,可以将耳朵365的柔性部分周围的一组顶点作为移动的组进行跟踪。类似地,微笑线340、嘴部335、脸颊线360、眉毛320、眼睑325和前额355可以分别作为一组网格顶点或界标而被跟踪。表情符号(例如狗)的基网格可以被存储在表情符号api 260的资产261中。用户基网格的界标可以映射到表情基网格的相应界标。在一个实施方案中,用户
的基网格可以具有比表情符号的基网格多得多的顶点。在这种情况下,用户基网格上的界标的多个顶点可以映射到表情符号基网格上的较少的多个顶点或一个顶点。在一个实施方案中,用户的无表情基网格与用于某一表情的表情基网格之间的差异量可以表示为混合形状值。受跟踪的用户的面部的一个或多个混合形状以及相关联的混合形状值可以被映射到表情符号上的一个或多个混合形状,从而有助于以动画方式显示表情符号并且呈现人偶化表情符号视频。
63.图4示出了根据一个实施方案的当发送客户端设备110生成用于在消息中向接收客户端设备115发送的人偶化表情符号时,发送客户端设备110、消息系统130和接收客户端设备115之间的握手400。数字箭头表示图中实体之间的通信流。
64.在通信405中,发送客户端设备110的消息应用280可以通知消息系统130关于发送客户端设备110已准备好向一个或多个接收人发送消息。通信405可以包括接收人列表、对于该消息将包括人偶化表情符号的指示,并且可选地包括对发送人的识别。在一个实施方案中,消息系统130可以访问身份服务器132(在图1中示出)来查找与发送人和接收人相关联的硬件,并且确定发送人和每个接收人的硬件和软件能力。
65.在通信410中,消息系统130可以向发送客户端设备110通知需要呈现的人偶化表情符号的一个或多个版本,以满足接收人客户端设备115的硬件和软件能力。在一个实施方案中,消息系统130可以检测发送客户端设备110是否能够在通信410中产生由消息系统130指示的任何或全部版本。例如,如果一个或多个接收人具有比发送客户端设备110能力更强的硬件或软件,则消息系统130可以在通信410中仅指示发送客户端设备110能够呈现的那些人偶化表情符号的版本。版本可以包括呈现具有音频的视频,该视频包括允许接收人接收并循环回放人偶化表情符号的富链接。版本可以另选地包括呈现具有音频的视频,该视频包括指示用于视频回放的参数的元数据标签。消息中可以包括富链接或元数据标签中的一者,以及人偶化表情符号。富链接可以引用消息中的人偶化表情符号。富链接还可包括确定表情符号将如何由接收人接收客户端设备115回放的参数。富链接或元数据标签可以包括人偶化表情符号视频的长度、循环视频的次数、视频在播放期间是否应该被静音等。在一个实施方案中,客户端发送设备可以存储所呈现的人偶化表情符号视频,标签富链接可以指所呈现的视频的存储位置。该位置可以是发送设备、消息服务器、第三方服务器、云存储或其他存储位置。接收客户端设备115可以通过访问富链接而访问人偶化表情符号视频。版本可以包括嵌入在消息中的视频,当接收到消息时该视频可以由接收人查看。在一个实施方案中,该版本可以包括响应于用户输入而重放视频。版本可以包括由接收人设备115支持的像素分辨率、帧速率或颜色深度。在一个实施方案中,消息410可以包括用于消息的每个接收人的公共加密密钥。消息410还可指示要将哪个版本的所呈现表情符号发送给哪个接收人。
66.在通信415中,消息应用程序280可以调用表情符号人偶化应用扩展程序270,该扩展包继而可以调用如图2所示的呈现服务271,以呈现由消息系统130通信410所指示的人偶化表情符号的版本。
67.在通信420中,表情符号人偶化应用扩展程序270可以生成人偶化表情符号的一个或多个所呈现的版本,并使这些版本可用于消息应用程序280。在一个实施方案中,表情符号人偶化应用扩展程序270可以将所呈现的版本返回给消息应用280,以供发送到消息系统
130。在一个实施方案中,表情符号人偶化应用扩展程序270可以将链接到人偶化表情符号的所呈现版本的链接或存储器地址返回到消息应用程序280。
68.在通信425中,消息应用程序280可以生成消息,该消息包括适用于该消息的接收人的人偶化表情符号的所呈现版本,并将该消息发送到消息系统130。如果接收人的接收客户端设备115已经安装了表情符号人偶化应用扩展程序270,则消息应用程序280还可包括链接到人偶化表情符号的富链接或者元数据标签,该元数据标签包括人偶化表情符号视频的回放参数。在一个实施方案中,消息应用程序280可以在将消息发送到消息系统130以供传递给接收人之前,使用由消息系统130返回的每个接收人的公共加密密钥来加密包括人偶化表情符号的消息。消息应用程序280可以针对每个接收人重复该过程。
69.在通信430中,发送客户端设备110的每个消息可以由消息系统130发送到接收人客户端设备115a、115b、115c。在一个实施方案中,即时消息服务器134执行向每个接收人发送各个消息的操作。
70.图5a至图5c示出了根据一些实施方案的由发送客户端设备110生成人偶化表情符号视频并在消息中将该视频发送到接收客户端设备115的方法500。图5a描述了开始记录用户的面部表情、运动等从而用于使表情符号人偶化以供包括在消息中的过程。图5b描述了记录图像、深度和音频数据以用于使表情符号人偶化的过程。图5c描述了用于向各自具有接收客户端设备115的一个或多个接收人发送包括人偶化表情符号的消息的过程。
71.参照图5a,在操作505中,消息应用程序280可以启动表情符号人偶化应用扩展程序270。在一个实施方案中,可以从消息应用程序280内启动表情符号人偶化应用扩展程序270。
72.在操作510中,可以选择默认表情符号,或者用户可以从显示的表情符号列表中选择表情符号,以用于将表情符号人偶化。在一个实施方案中,默认表情符号可以是出厂默认表情符号或由用户选择的最近一个表情符号。响应于对表情符号的选择,表情符号人偶化应用扩展程序270可以调用表情符号api 260,来从资产261中检索所选择的表情符号。
73.在操作515中,表情符号人偶化应用扩展程序270可以调用a/v api 240来发起会话241,以记录图像、深度和音频信息,以供用于将选择的表情符号人偶化。在一个实施方案中,a/v api 240可以调用面部跟踪api 230,以初始化硬件和驱动器软件,并为会话241提供图像和深度信息的记录会话。a/v api 240还可进行一个或多个操作系统调用,以初始化音频硬件并提供音频的记录会话。
74.在操作520中,面部跟踪api 230可以开始获取一个或多个深度信息帧和/或图像信息帧。面部跟踪api 230可以确定深度信息和/或图像信息是否指示用户的面部或其他对象已经被检测到。在一个实施方案中,图像传感器211和/或深度传感器212可以确定用户的面部或其他对象已经被检测到。在一个实施方案中,响应于来自传感器的指示面部已被检测到的硬件信号,确定用户的面部被检测到。在一个实施方案中,使用rgb传感器211检测面部。在一个实施方案中,深度传感器212可以在面部检测期间处于断电状态,并且响应于由rgb传感器211检测到面部的情况而被供电。
75.在操作525中,可以确定用户的面部、头部或其他对象是否受到跟踪(检测)。如果是,则方法500在操作527处继续,否则方法500在操作520处继续。
76.在操作527中,面部跟踪api 230可以使用一个或多个图像信息帧和深度信息帧来
生成用户面部和/或头部的高分辨率基网格。在一个实施方案中,面部跟踪api 230可以生成用户面部的无表情基网格,并且针对多个表情中的每个表情(诸如微笑、眨眼、耳朵移动等)生成表情基网格。用户的脸被称为是“被采集的”。
77.在操作530中,可以确定是否开始记录图像、深度和音频数据。在跟踪用户头部、面部或其他对象经过预定时间量之后,即可开始记录。在一个实施方案中,记录可以响应于用户输入而开始。在一个实施方案中,记录可以响应于检测到用户的语音或其他预定的声音(诸如开始记录的口头命令)而开始。如果确定要开始记录,则方法500在参考图5b所述的操作535处继续。否则,方法500在操作530处继续。
78.在图5b的操作535中,面部跟踪api 230可以接收并同步多个图像信息帧和深度信息帧。同步的多个图像信息帧和数据信息帧可以与会话相关联地返回到a/v api 240。a/v api 240可以从麦克风213和/或音频处理器214接收多个音频数据帧。在一个实施方案中,响应于对操作系统220的服务的一个或多个调用,可以从音频处理器214和/或麦克风213检索多个音频数据帧。a/v api 240或arapi 250可以将接收到的数据音频帧与从面部跟踪api 230接收到的多个深度信息帧和图像信息帧同步。会话(诸如但不限于会话241)可以管理、存储并且处理所同步的音频信息帧、图像信息帧和深度信息帧。
79.在操作540中,可以确定所接收的多个图像信息帧和深度信息帧是否指示用户维持某一姿势长达一阈值时间段。例如,2秒或120帧。如果是,则方法500在操作545处继续,否则方法500在操作547处继续。
80.在操作545中,可分析图像信息和深度信息,以确定该特定姿势是否被识别为表情符号api 260具有资产261的一个姿势。如果是,则a/v api 240、ar api 250或表情符号api 260可以生成与所识别的姿势相关联的特殊图形效果。例如,如果所识别的姿势是微笑,那么特殊图形效果可能是将心形添加到人偶化表情符号的眼睛。还可按动画方式显示该心形,诸如从人偶化表情符号的眼睛中跳动出或涌出心形。执行特殊图形效果的资产可以存储在资产261中。方法500在操作550处继续。
81.在操作547中,面部跟踪api 230可以生成用户面部和/或头部的基网格与所接收的图像数据帧及深度数据帧之间的差异。在一个实施方案中,该差异可以表示为基网格的每个顶点的变化幅度值,例如0-255。在一个实施方案中,总的来说,可以为每个界标中的顶点确定界标(顶点组)的差异,并且可以为代表界标顶点中变化的界标的混合形状表示一个值。在一个实施方案中,面部跟踪api 230可以生成用户的受跟踪的面部、用户面部的无表情基网格,以及多个表情基网格中的每个基网格之间的差异,以确定用于映射到表情符号的一个或多个相应混合形状的混合形状。
82.在操作550中,表情符号api 260可按动画方式为用户显示人偶化表情符号的某一版本,以指示完全呈现的版本看起来可以是怎么样的。基于特定表情符号的属性,动画可以包括更多特殊效果。例如,狗表情符号可具有长耳朵。如果深度信息和图像信息指示出例如用户的头部或面部发生上下移动或左右移动,则进一步的动画可以包括特殊的图形效果,以动画方式将狗的耳朵显示为根据所检测用户运动而拍起来或动起来。
83.在操作555中,可以确定记录是否已经完成。当表情符号人偶化应用程序270从用户接收到停止记录的指示时,可以完成记录。在一个实施方案中,记录在诸如10秒的预定时间段结束。在一个实施方案中,当在预定时间段内没有从图像信息和深度信息和/或音频信
息中检测到运动和/或声音时,记录结束。在一个实施方案中,当用户发出停止记录的可听命令时,记录结束。在这种情况下,所记录的音频可以省略停止记录的命令。如果确定记录已经完成,则方法500在操作560处继续,否则方法500在操作535处继续。
84.在操作560中,表情符号人偶化应用扩展程序或消息应用程序280可以接收这样的指示:包括多个同步的深度信息帧、图像信息帧和音频信息帧的表情符号人偶化信息应当被保存,并且包括人偶化表情符号的消息应当被发送到多个消息接收人。方法500在下文参照图5c所述的操作565处继续,该图描述了用于向一个或多个消息接收人发送带有人偶化表情符号的消息的过程。
85.在图5c的操作565中,消息应用程序280可以将一个或多个消息接收人的列表和表情符号人偶化信息发送给消息服务器130。在一个实施方案中,表情符号人偶化应用扩展程序270可以呈现用于包括在发往消息系统130的消息中的人偶化表情符号视频的版本。在一个实施方案中,发送到消息系统130的所呈现的版本是针对发送客户端设备110的硬件和软件能力而定制的。在一个实施方案中,发送到消息系统130的人偶化表情符号的所呈现版本具有发送客户端设备110可以产生的最高像素密度、颜色密度和帧速率。在一个实施方案中,所呈现的人偶化表情符号视频具有接收客户端设备115可以重现的最高像素密度、最高帧速率、最高颜色数量。
86.在操作570中,消息应用程序280可以从消息系统130接收对于要呈现给一个或多个接收人的人偶化表情符号的一个或多个版本的指示。在一个实施方案中,可能的是,消息接收人中的一个或多个正在使用较老版本的软件或较旧的硬件,其将不会对发送客户端设备能够呈现的人偶化表情符号的版本产生良好的用户体验。消息系统130可以确定接收设备115的硬件和软件能力,并确定适用于每个接收人客户端设备115的硬件和软件能力的人偶化表情符号的版本。
87.在操作575中,发送客户端设备110、表情符号人偶化应用扩展程序270可以呈现271由消息系统130所指示的适用于接收人客户端设备115的人偶化表情符号视频的版本。在一个实施方案中,由发送客户端设备110呈现的每个版本可以单独呈现自根据图像传感器数据帧和深度传感器数据帧所产生的表情符号、基网格和混合形状。在一个实施方案中,可以呈现人偶化表情符号视频的最高像素密度、颜色、密度和帧速率版本,然后可以从最高像素密度、色彩密度和帧速率版本产生出由消息系统130所指示的、由消息的接收人所需的其他版本。
88.在操作580中,对于每个接收人消息,应用程序280可以向消息系统130传输由消息系统130指示的、对于一个或多个消息接收人的接收客户端设备115而言最佳的消息和人偶化表情符号视频的版本。可选地,消息应用程序280可以在将消息发送到消息系统130以供转发给消息接收人之前,使用接收人的公共密钥来加密包括人偶化表情符号的消息。
89.图6示出了根据一些实施方案的由消息系统130接收具有人偶化表情符号的消息并将该消息发送到一个或多个接收设备115的方法600。
90.在操作605中,消息系统130可以从发送客户端设备110接收对于该发送客户端设备110的用户想要向一个或多个消息接收人发送消息的指示,以及对于该消息将包括人偶化表情符号的指示。
91.在操作610中,消息系统130可以确定发送消息设备110的硬件和软件生成所呈现
的人偶化表情符号的能力。
92.在操作615中,消息系统130可以类似地确定一个或多个接收人中的每个接收人的接收客户端设备115的硬件和软件能力。在一个实施方案中,消息系统130的每个用户(包括发送人和接收人)均向消息系统130注册。消息系统130可以查找硬件和软件制造商、型号、修订级别、制造数据、当前操作系统版本(例如,10、9.1或8.3)、所安装的软件和软件的版本,以及其他识别信息。消息系统130可以访问相关性表或数据库,以确定每个接收人的装置接收并显示人偶化表情符号的能力。
93.在操作620中,消息系统130可以基于包括人偶化表情符号的消息的接收人的发送客户端设备110和接收客户端设备115的硬件和软件能力,向客户端设备110、消息应用程序280发送要呈现的人偶化表情符号的版本列表。
94.在操作625中,消息系统130可以从发送客户端设备110针对每个接收人接收发送给该接收人的消息,该消息包括在操作620中由消息系统130指示的所呈现的人偶化表情符号视频的版本。
95.在操作630中,针对每个接收人,消息系统130可以将消息和所呈现的人偶化表情符号的适当版本传输给接收人。
96.在操作635中,消息系统130可以向客户端设备110的消息应用程序280传输关于消息和人偶化表情符号被成功发送给每个消息接收人的这一通知。
97.图7以框图形式示出了根据一些实施方案的由接收客户端设备115处理消息的方法700,该消息具有人偶化表情符号。如上所述,参考图6,消息系统130可以确定每个消息接收人的设备能力(硬件和软件)。消息系统130可以向客户端设备115传输消息格式或版本,以使用由每个接收人的接收设备115支持的消息格式或版本。消息格式可以包括传输消息文本、人偶化表情符号以及接收客户端设备115可以用来显示、循环,静音以及以其他方式与人偶化表情符号进行交互的链接到人偶化表情符号视频的富链接。在一个实施方案中,客户端发送设备可以存储所呈现的人偶化表情符号视频,并且富链接可以指存储所呈现的视频的位置。该位置可以是发送设备、消息服务器、第三方服务器、云存储或其他存储位置。接收客户端可以通过访问富链接而访问人偶化表情符号视频。另选地,消息格式可以包括人偶化表情符号视频,以及包括用于人偶化表情符号视频的回放参数的元数据标签。消息格式还可包括该消息是否在发送到消息服务器之前被加密(端对端加密)。在一个实施方案中,消息格式可以包括将人偶化表情符号视频嵌入要发送给接收人的消息中,而无需采用链接至所嵌入视频的富链接。
98.在操作705中,接收客户端设备115可以从发送客户端设备110接收来自消息系统130的包括人偶化表情符号视频的消息。
99.在操作710中,如果接收到的消息被加密,则接收客户端设备115的消息应用程序280可以将该消息解密。在发送客户端设备和接收客户端设备使用端对端加密的实施方案中,发送设备110可以使用接收人的公共密钥对消息进行加密,并且接收设备115可以使用接收人的对应私有密钥对消息进行解密。在一个实施方案中,端对端加密可以使用共享对称密钥或其他安全方案来实现。在发送客户端设备和接收客户端设备不使用端到端加密的实施方案中,在接收人客户端处不执行解密。
100.在操作715中,接收客户端设备115可以在发送客户端设备和接收客户端设备之间
的消息会话的转译本中显示消息文本(如果有的话)。
101.在操作720中,可以确定接收客户端设备115是否支持对表情符号进行人偶化。支持对表情符号进行人偶化的设备可以具有表情符号人偶化应用扩展程序270,其有利于表情符号人偶化功能。此类设备可以使用富链接或元数据标签来进行支持,其中该元数据标签具有回放参数,以显示人偶化表情符号、循环该表情符号并允许用户将该表情符号静音或取消静音。
102.如果在操作720中确定接收客户端设备115支持人偶化表情符号,则方法700在操作725处继续,否则方法700在操作735处继续。
103.在操作725中,可以在消息应用程序280中发送人与接收人之间的消息会话的转译本内的显示区域上播放人偶化表情符号,并且播放与该人偶化表情符号一起记录的任何相关联的音频。在一个实施方案中,人偶化表情符号可以无限地循环。
104.在操作730中,可响应于用户输入而可选地将人偶化表情符号音频静音。作为响应,用户输入可被输入到表情符号人偶化应用扩展程序270的用户界面中。
105.在操作735中,其中接收设备不支持表情符号人偶化,可以在接收设备的显示器上回放从消息中检索到的人偶化表情符号的视频。在一个实施方案中,在发送人和接收人之间的消息会话的消息转译本内进行该回放。在一个实施方案中,音频也可以用人偶化表情符号的视频来回放。在一个实施方案中,人偶化表情符号视频仅播放一次。
106.在操作740中,可响应于用户输入而可选地将人偶化表情符号视频重放。在一个实施方案中,用户输入可被输入到表情符号人偶化应用扩展程序的用户界面中。
107.在图8(“软件栈”)中,一个示例性实施方案,应用可使用若干服务api调用服务1或2,以及使用若干os api调用操作系统(os)。服务1和2可使用若干os api调用操作系统。面部跟踪api 230、音频/视频(a/v)api 240、增强现实(ar)api 250、表情符号api 260可以根据如下所述的软件堆栈来实现。
108.请注意,服务2具有两个ap,其中一个(服务2api 1)从应用程序1接收调用并向其返回值,另一个(服务2api 2)从应用程序2接收调用并向其返回值,服务1(其可以是,例如软件库)对os api 1进行调用并自其接收返回值,服务2(其可以是,例如软件库)对api 1和os api 2进行调用并自其接收返回值,应用程序2调用api 2并自其接收返回值。
109.图9为计算系统900的一个实施方案的框图。图9示出的计算机系统旨在表示一系列计算系统(有线或无线的),包括例如台式计算机系统、膝上型计算机系统、平板电脑系统、蜂窝电话、包括支持蜂窝的pda的个人数字助理(pda)、机顶盒、娱乐系统或其他消费电子设备。另选的计算系统可以包括更多、更少和/或不同的部件。图9的计算系统可被用于提供计算设备和/或服务器设备。
110.计算机系统900包括总线905或用于传递信息的其他通信设备,和与总线905联接的可处理信息的处理器910。
111.虽然计算系统900被图示为具有单个处理器,但是计算系统900可以包括多个处理器和/或协处理器910。计算系统900还可以包括随机存取存储器(ram)或其他动态存储设备920(称为主存储器),其联接到总线905并且可以存储可由处理器910执行的信息和指令。在由处理器910执行指令期间,主存储器920还可用于存储临时变量或其他中间信息。
112.计算系统900还可包括只读存储器(rom)和/或联接到总线905的可存储用于处理
器910的静态信息和指令的其他静态存储设备940。数据存储设备940可以联接到总线905以存储信息和指令。数据存储设备940(诸如闪存或磁盘或光盘)以及相应的驱动器可以被联接到计算系统900。
113.计算系统900还包括联接到总线905的深度传感器945。深度传感器945可以包括每秒可记录15帧(fps)的红外传感器,以及可按每英寸720像素记录60fps红-绿-蓝(rgb)数据的rgb传感器。距离范围可以是20cm到60cm(8到24英寸)。深度传感器945可按60fps产生数据帧,包括以15fps产生关键帧,其在60fps下与rgb帧交织。关键帧可以包括红外深度数据和rgb深度数据两者。
114.计算系统900还可包括相机975,其以例如60fps捕捉rgb格式的图像数据。另选地,可以使用以例如一个亮度(y')和两个色度(uv)分量,或者以ycbcr,y'cbcr,ypbpr或其他形式表示的亮度(明亮度)和色度(颜色)来捕捉图像。相机975可以包括电荷耦合器件(ccd)传感器\互补金属氧化物半导体(cmos)、n型金属氧化物半导体(nmos或live mos)技术、或者由结合到ccd成像基板上的cmos读出集成电路(roic)组成的混合ccd/cmos结构中的有源像素传感器。相机975可以补充由深度传感器945捕捉的rgb数据。在一个实施方案中,由相机975rgb数据捕捉的rgb数据可以代替由深度传感器945捕捉的rgb数据而用于确定深度信息和图像信息。
115.计算系统900还可以经由总线905联接到显示设备950,诸如液晶显示器(lcd)、发光二极管(led)显示器或触摸屏,以向用户显示信息。计算系统900还可以包括数字字母混合输入设备960,该设备包括数字字母键和其他键,其可以联接到总线905以将信息和命令选项发送到处理器910。数字字母小键盘可以实现为触摸屏显示器上的小键盘图像。另一种用户输入设备是光标控件970,诸如触控板、鼠标、轨迹球触摸屏输入或光标方向键,用于向处理器910传递方向信息和命令选择以及在显示器950上控制光标移动。计算系统900还可以经由一个或多个网络接口980从通信地耦接到计算系统900的远程设备接收用户输入。
116.计算系统900还可以包括一个或多个网络接口980,以提供对诸如局域网之类的网络的访问。网络接口980可以包括,例如具有天线985的无线网络接口,该天线可以表示一个或多个天线。计算系统900可以包括多个无线网络接口,诸如wifi和和蜂窝电话接口的组合。网络接口980也可以包括例如有线网络接口,以经由网络电缆987与远程设备通信,该电缆可以是例如,以太网电缆、同轴电缆、光纤电缆、串行电缆或并行电缆。
117.在一个实施方案中,网络接口980可以例如通过符合ieee 802.11b和/或ieee 802.11g标准来提供对局域网的接入,并且/或者无线网络接口可以例如通过符合蓝牙标准提供对个人区域网络。其他无线网络接口和/或协议也可得到支持。除了经由无线lan标准进行通信之外或代替经由无线lan标准进行通信,网络接口980可以使用例如时分多址(tdma)协议、全球移动通信系统(gsm)协议、代码分割多址(cdma)协议,和/或任何其他类型的无线通信协议来提供无线通信。
118.图10示出了将图像数据帧与深度数据帧及音频数据帧进行同步。在深度传感器帧和图像传感器帧的对齐处,深度传感器数据和图像传感器数据的组合可以包括关键帧。关键帧包括未内插在帧之间的深度传感器数据。在下面的示例中,深度数据帧1001和图像数据帧2001例如包括测量的传感器数据,并且当二者组合时包括关键帧。出于说明对帧进行同步的目的,以下示例使用60帧/秒(fps)的rgb传感器211帧速率和15fps的深度传感器帧
速率。在一个实施方案中,rgb传感器211捕捉帧速率和深度传感器212捕捉帧速率两者都可以独立地变化。在一个实施方案中,响应于电子设备的温度或高能耗或者作为其函数,rgb捕捉帧速率和/或深度传感器捕捉帧速率中的一个或两个可以被降低。可以使用与下文在60fps rgb数据和15fps深度数据的示例中所述的相同原理,将rgb传感器数据和深度传感器数据同步到帧中。可以独立于rgb传感器211捕捉帧速率和深度传感器212捕捉帧速率,来改变呈现人偶化表情符号的帧速率。
119.从时间t0开始,可按例如15帧每秒(fps)接收深度传感器数据1000,其中对于1秒的深度帧数据,帧编号为例如1001-1015。
120.可按不同的帧速率(例如60fps)接收图像传感器数据2000,并且帧编号为例如2001-2060。
121.从时间t0开始,深度传感器数据1000可以内插在15fps分区传感器数据的每个帧之间。例如,可以生成数据结构,从而按60fps存储深度传感器1000数据。在t0处的第一帧1001能够按60fps被存储在位置1001处。在1002处,第二个15fps帧1002可以被存储在60fps数据结构中。内插帧1001-1、1001-2和1001-3可以通过例如对帧1001和1002的帧数据之间的差进行平均而生成。在一个实施方案中,对帧1001和1002之间的差进行平均,可以发生在帧1001和1002的帧数据中的每个深度数据顶点处。类似地,帧1002-1、1002-2和1002-3可以根据帧1002和1003之间的平均差来计算。
122.从时间t0开始,音频数据可由联接到例如麦克风的音频处理器采样。在一个实施方案中,可按48khz对音频数据进行采样。对于60fps的图像数据帧率,可以将800个音频样本与每个帧相关联地存储,使得60fps的音频数据包括以48khz采样的1秒音频数据。用于深度、图像和音频数据的具体帧速率仅以举例的方式给出。其他帧速率可以与深度数据或图像数据一起使用,酌情内插在帧之间。
123.在以上说明书中,结合本发明的特定实施方案已描述了本发明。但显而易见的是,在不脱离本发明的更广泛的实质和范围的情况下,可对这些实施方案进行各种修改和变更。因此,说明书和附图应被视为是例示性的而非限制性的。
技术特征:
1.一种方法,包括:由设备接收包括人的面部表情的多个图像帧;由所述设备接收包括所述人的所述面部表情的深度信息;由所述设备基于所述多个图像帧和所述深度信息确定所述人的所述面部表情;由所述设备至少部分地基于所述人的所述面部表情以动画方式显示化身;由所述设备基于所述面部表情使第一版本动画化身被呈现;将接收方信息和所呈现的第一版本动画化身从所述设备传输到消息系统,以用于传输到与所述接收方信息相关联的接收方计算设备;在所呈现的第一版本动画化身送达所述接收方计算设备之前,在所述设备处接收来自所述消息系统的响应;在来自所述消息系统的所述响应之后,在所述设备处基于所述面部表情使第二版本动画化身被呈现,所述第二版本对应于与所述接收方信息相关联的所述接收方计算设备的一个或多个能力;以及将所呈现的第二版本动画化身从所述设备传输到所述接收方计算设备,而不将第一版本动画化身从所述设备传输到所述接收方计算设备。2.根据权利要求1所述的方法,其中所述传输包括:传输具有元数据标签的所呈现的第二版本动画化身,所述元数据标签使所述接收方计算设备能够循环回放所述动画化身多次。3.根据权利要求1所述的方法,其中接收所述深度信息包括:接收与包括所述人的面部表情的所述多个图像帧对应的多个深度帧,其中所述多个图像帧和所述多个深度帧被同步,并且其中所述同步包括将所述多个图像帧和所述多个深度帧在时间上对齐,使得在时间上对齐的一个图像信息帧和一个深度帧构成一个关键帧,并且一个或多个关键帧被一个或多个图像信息帧交织。4.根据权利要求1所述的方法,其中所述消息系统包括一个或多个身份服务器和一个或多个消息服务器。5.根据权利要求1所述的方法,还包括:接收与所述人的面部表情相关联的多个音频帧;以及将所述多个音频帧与所述多个图像帧在时间上对齐,其中以动画方式显示所述化身包括添加基于所述多个音频帧的音频。6.根据权利要求1所述的方法,其中与所述人的面部表情分离的所述人的移动使得动画效果被应用于所述化身。7.根据权利要求1所述的方法,其中所述化身对应于除了人以外的对象。8.根据权利要求7所述的方法,其中所述对象是动物。9.根据权利要求1所述的方法,其中所述第一版本是基于发送方设备的一个或多个属性而被呈现的,并且其中所述第二版本是基于所述接收方计算设备的一个或多个属性而被呈现的。10.一种非暂态计算机可读介质,所述非暂态计算机可读介质被编程有指令,所述指令在由处理系统执行时,执行包括以下的操作:
由设备接收包括人的面部表情的多个图像帧;由所述设备接收包括所述人的所述面部表情的深度信息;由所述设备基于所述多个图像帧和所述深度信息确定所述人的所述面部表情;由所述设备至少部分地基于所述多个图像帧中的所述人的所述面部表情以动画方式显示化身;由所述设备基于所述面部表情使第一版本动画化身被呈现;将接收方信息和所呈现的第一版本动画化身从所述设备传输到消息系统,以用于传输到与所述接收方信息相关联的接收方计算设备;在所呈现的第一版本动画化身送达所述接收方计算设备之前,在所述设备处接收来自所述消息系统的响应;在所述响应之后,在所述设备处基于所述面部表情使第二版本动画化身被呈现,所述第二版本对应于与所述接收方信息相关联的所述接收方计算设备的一个或多个能力;以及将所呈现的第二版本动画化身从所述设备传输到所述接收方计算设备,而不将第一版本动画化身从所述设备传输到所述接收方计算设备。11.根据权利要求10所述的非暂态计算机可读介质,其中所述传输包括:传输具有元数据标签的所呈现的第二版本动画化身,所述元数据标签使所述接收方计算设备能够循环回放所述动画化身多次。12.根据权利要求10所述的非暂态计算机可读介质,接收所述深度信息包括:接收包括所述人的面部表情的多个深度帧,其中所述多个图像帧和所述多个深度帧被同步,并且其中所述同步包括将所述多个图像帧和所述多个深度帧在时间上对齐,使得在时间上对齐的一个图像信息帧和一个深度帧构成一个关键帧,并且一个或多个关键帧被一个或多个图像信息帧交织。13.根据权利要求10所述的非暂态计算机可读介质,其中所述消息系统包括一个或多个身份服务器和一个或多个消息服务器。14.根据权利要求10所述的非暂态计算机可读介质,所述操作还包括:接收与所述人的面部表情相关联的多个音频帧;以及将所述多个音频帧与所述多个图像帧在时间上对齐,其中以动画方式显示所述化身包括添加基于所述多个音频帧的音频。15.根据权利要求10所述的非暂态计算机可读介质,其中与所述人的面部表情分离的所述人的移动使得动画效果被应用于所述化身。16.根据权利要求10所述的非暂态计算机可读介质,其中所述第一版本是基于包括所述处理系统的发送方设备的一个或多个属性而被呈现的,并且其中所述第二版本是基于所述接收方计算设备的一个或多个属性而被呈现的。17.一种设备,包括:处理系统,所述处理系统耦接到编程有可执行指令的存储器,所述可执行指令在由所述处理系统执行时执行操作,所述操作包括:接收包括人的面部表情的多个图像帧;接收包括所述人的所述面部表情的深度信息;
基于所述多个图像帧和所述深度信息确定所述人的所述面部表情;至少部分地基于所述多个图像帧中的所述人的所述面部表情生成动画化身;基于所述面部表情使第一版本动画化身被呈现;将接收方信息和所呈现的第一版本动画化身传输到消息系统,以用于传输到与所述接收方信息相关联的接收方计算设备;在所呈现的第一版本动画化身送达所述接收方计算设备之前,从所述消息系统接收响应;在所述响应之后,基于所述面部表情使第二版本动画化身被呈现,所述第二版本对应于与所述接收方信息相关联的所述接收方计算设备的一个或多个能力;以及将所呈现的第二版本动画化身传输到所述接收方计算设备,而不将第一版本动画化身从所述设备传输到所述接收方计算设备。18.根据权利要求17所述的设备,其中所述传输包括:传输具有元数据标签的所呈现的第二版本动画化身,所述元数据标签使接收计算设备能够循环回放所述动画化身多次。19.根据权利要求17所述的设备,其中与所述人的面部表情分离地识别的所述人的移动使得动画效果被应用于所述化身。20.根据权利要求17所述的设备,其中所述第一版本是基于所述处理系统的一个或多个属性而被呈现的,并且其中所述第二版本是基于所述接收方计算设备的一个或多个属性而被呈现的。
技术总结
本发明涉及表情符号(EMOJICON)人偶化。本发明提供了用于生成表情符号的视频的系统和方法,其中已使用来自图像、深度和音频的输入来人偶化该表情符号。该输入可以捕捉用户的面部表情、眼睛、眉毛、嘴和头部动作。用户所作的姿势可以被检测到,并且可以用来生成补充动画。还可以使用与表情符号和所捕捉的移动相关联的物理属性来以动画方式显示表情符号。狗表情符号可以响应于头部的上下移动或摇头而使其耳朵移动。可在消息中将视频发送给一个或多个接收人。发送设备可以根据接收人的计算机设备的硬件和软件能力来呈现人偶化视频。备的硬件和软件能力来呈现人偶化视频。备的硬件和软件能力来呈现人偶化视频。
技术研发人员:J
受保护的技术使用者:苹果公司
技术研发日:2018.01.25
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:理发机器人的制作方法 下一篇:医疗网页响应性能的测试方法及装置与流程