首页 / 专利库 / 电脑图像 / 表情符号 / 反应性简档肖像

反应性简档肖像

阅读:408发布:2020-05-15

专利汇可以提供反应性简档肖像专利检索,专利查询,专利分析的服务。并且通过在诸如社交媒体 网站 的在线系统中,作为对观看用户做出的动作的反应而显示表达相关情绪的目标用户的短视频 片段 , 反应性 简档图片使简档图像栩栩如生,观看用户的动作与和目标用户相关联的内容相关。因此,观看用户以类似于面对面交互的方式体验实时反应。反应性简档图片可以从目标用户的视频输入或者从目标用户的单个输入图像自动生成。,下面是反应性简档肖像专利的具体信息内容。

1.一种方法,包括:
由在线系统的服务器接收描绘目标个体的肖像的输入视频;
在所述输入视频的每个中检测所述目标个体的面部特征点的位置
从所述输入视频获得描绘处于中性表情的所述目标个体的空闲帧;
将所述空闲帧中的所述目标个体的面部特征点的基线位置与所述输入视频的每个非空闲帧中的面部特征点的位置进行比较,以生成所述空闲帧与每个所述非空闲帧之间的相应的距离度量;
识别所述相应的距离度量达到第一局部峰值的第一峰值表情帧;
识别所述第一峰值表情帧之前的第一起始帧和所述第一峰值表情之后的第一结束帧;
生成包括第一范围的帧的第一情绪片段,所述第一范围的帧在所述第一起始帧处开始,并在所述第一结束帧处结束;以及
将所述第一情绪片段存储到存储介质。
2.根据权利要求1所述的方法,还包括:
识别所述相应的距离度量达到第二局部峰值的第二峰值表情帧;
识别所述第二峰值表情帧之前的第二起始帧和所述第二峰值表情之后的第二结束帧;
生成包括第二范围的帧的第二情绪片段,所述第二范围的帧在所述第二起始帧处开始,并在所述第二结束帧处结束;以及
将所述第二情绪片段存储到所述存储介质。
3.根据权利要求1所述的方法,其中,将所述第一情绪片段存储到所述存储介质包括:
确定与所述第一峰值表情帧相关联的时间位置;
从查找表识别与所述时间位置相关联的预期情绪;
生成表示与所述第一情绪片段相关联的预期情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
4.根据权利要求1所述的方法,其中,将所述第一情绪片段存储到所述存储介质包括:
实施面部分析以识别与所述第一情绪片段相关联的情绪;
生成表示与所述第一情绪片段相关联的情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
5.根据权利要求1所述的方法,其中,获得所述视频中的所述空闲帧包括:
识别包括一定范围的帧的空闲片段;
检测所述空闲片段内满足具有在满足预定义标准的位置中的面部特征点的帧;以及将满足所述预定义标准的帧分配为所述空闲帧。
6.根据权利要求1所述的方法,其中,获得所述视频中的所述空闲帧包括:
识别包括一定范围的帧的空闲片段;以及
通过对所述空闲片段中的所述一定范围的帧求平均值来合成所述空闲帧。
7.根据权利要求1所述的方法,其中,识别所述第一起始帧和所述第一结束帧包括:
在所述第一峰值表情帧之前的预定义的范围内识别起始范围的帧;
从所述起始范围的帧中选择与所述空闲帧具有最佳匹配的所述第一起始帧;
在所述第一峰值表情帧之后的预定义的范围内识别结束范围的帧;以及从所述结束范围的帧中选择与所述空闲帧具有最佳匹配的所述第一结束帧。
8.一种非暂时性计算机可读存储介质,其存储能够由处理器执行的指令,所述指令在被执行时使得所述处理器实施包括以下项的步骤:
由在线系统的服务器接收描绘目标个体的肖像的输入视频;
在所述输入视频的每个帧中检测所述目标个体的面部特征点的位置;
从所述输入视频获得描绘处于中性表情的所述目标个体的空闲帧;
将所述空闲帧中的所述目标个体的面部特征点的基线位置与所述输入视频的每个非空闲帧中的面部特征点的位置进行比较,以生成所述空闲帧与每个所述非空闲帧之间的相应的距离度量;
识别所述相应的距离度量达到第一局部峰值的第一峰值表情帧;
识别所述第一峰值表情帧之前的第一起始帧和所述第一峰值表情之后的第一结束帧;
生成包括第一范围的帧的第一情绪片段,所述第一范围的帧在所述第一起始帧处开始,并在所述第一结束帧处结束;以及
将所述第一情绪片段存储到存储介质。
9.根据权利要求8所述的非暂时性计算机可读存储介质,所述指令在被执行时还使得所述处理器实施包括以下项的步骤:
识别所述相应的距离度量达到第二局部峰值的第二峰值表情帧;
识别所述第二峰值表情帧之前的第二起始帧和所述第二峰值表情之后的第二结束帧;
生成包括第二范围的帧的第二情绪片段,所述第二范围的帧在所述第二起始帧处开始,并在所述第二结束帧处结束;以及
将所述第二情绪片段存储到所述存储介质。
10.根据权利要求8所述的非暂时性计算机可读存储介质,其中,将所述第一情绪片段存储到所述存储介质包括:
确定与所述第一峰值表情帧相关联的时间位置;
从查找表识别与所述时间位置相关联的预期情绪;
生成表示与所述第一情绪片段相关联的预期情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
11.根据权利要求8所述的非暂时性计算机可读存储介质,其中,将所述第一情绪片段存储到所述存储介质包括:
实施面部分析以识别与所述第一情绪片段相关联的情绪;
生成表示与所述第一情绪片段相关联的情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
12.根据权利要求8所述的非暂时性计算机可读存储介质,其中,获得所述视频中的所述空闲帧包括:
识别包括一定范围的帧的空闲片段;
检测所述空闲片段内满足具有在满足预定义标准的位置中的面部特征点的帧;以及将满足所述预定义标准的帧分配为所述空闲帧。
13.根据权利要求8所述的非暂时性计算机可读存储介质,其中,获得所述视频中的所述空闲帧包括:
识别包括一定范围的帧的空闲片段;以及
通过对所述空闲片段中的所述一定范围的帧求平均值来合成所述空闲帧。
14.根据权利要求8所述的非暂时性计算机可读存储介质,其中,识别所述第一起始帧和所述第一结束帧包括:
在所述第一峰值表情帧之前的预定义的范围内识别起始范围的帧;
从所述起始范围的帧中选择与所述空闲帧具有最佳匹配的所述第一起始帧;
在所述第一峰值表情帧之后的预定义的范围内识别结束范围的帧;以及从所述结束范围的帧中选择与所述空闲帧具有最佳匹配的所述第一结束帧。
15.一种计算机系统,包括:
处理器;以及
非暂时性计算机可读存储介质,其存储能够由所述处理器执行的指令,所述指令在被执行时使得所述处理器实施包括以下项的步骤:
接收描绘目标个体的肖像的输入视频;
在所述输入视频的每个帧中检测所述目标个体的面部特征点的位置;
从所述输入视频获得描绘处于中性表情的所述目标个体的空闲帧;
将所述空闲帧中的所述目标个体的面部特征点的基线位置与所述输入视频的每个非空闲帧中的面部特征点的位置进行比较,以生成所述空闲帧与每个所述非空闲帧之间的相应的距离度量;
识别所述相应的距离度量达到第一局部峰值的第一峰值表情帧;
识别所述第一峰值表情帧之前的第一起始帧和所述第一峰值表情之后的第一结束帧;
生成包括第一范围的帧的第一情绪片段,所述第一范围的帧在所述第一起始帧处开始,并在所述第一结束帧处结束;以及
将所述第一情绪片段存储到存储介质。
16.根据权利要求15所述的计算机系统,所述指令在被执行时还使得所述处理器实施包括以下项的步骤:
识别所述相应的距离度量达到第二局部峰值的第二峰值表情帧;
识别所述第二峰值表情帧之前的第二起始帧和所述第二峰值表情之后的第二结束帧;
生成包括第二范围的帧的第二情绪片段,所述第二范围的帧在所述第二起始帧处开始,并在所述第二结束帧处结束;以及
将所述第二情绪片段存储到所述存储介质。
17.根据权利要求15所述的计算机系统,其中,将所述第一情绪片段存储到所述存储介质包括:
确定与所述第一峰值表情帧相关联的时间位置;
从查找表识别与所述时间位置相关联的预期情绪;
生成表示与所述第一情绪片段相关联的预期情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
18.根据权利要求15所述的计算机系统,其中,将所述第一情绪片段存储到所述存储介质包括:
实施面部分析以识别与所述第一情绪片段相关联的情绪;
生成表示与所述第一情绪片段相关联的情绪的元数据标签;以及
将所述元数据标签与所述第一情绪片段相关联地存储。
19.根据权利要求15所述的计算机系统,其中,获得所述视频中的所述空闲帧包括:
识别包括一定范围的帧的空闲片段;
检测所述空闲片段内满足具有在满足预定义标准的位置中的面部特征点的帧;以及将满足所述预定义标准的帧分配为所述空闲帧。
20.根据权利要求15所述的计算机系统,其中,识别所述第一起始帧和所述第一结束帧包括:
在所述第一峰值表情帧之前的预定义的范围内识别起始范围的帧;
从所述起始范围的帧中选择与所述空闲帧具有最佳匹配的所述第一起始帧;
在所述第一峰值表情帧之后的预定义的范围内识别结束范围的帧;以及从所述结束范围的帧中选择与所述空闲帧具有最佳匹配的所述第一结束帧。
21.一种方法,包括:
将描绘目标用户的肖像的多个视频片段与目标用户的简档相关联地存储到存储介质,其中所述多个视频片段中的每一个与不同的情绪相关联,并且描绘表达对应情绪的所述目标用户,所述多个视频片段包括描绘处于中性表情的所述目标用户的空闲片段;
向观看用户的客户端设备提供所述空闲片段连同与所述目标用户相关联的内容的呈现;
检测所述观看用户在所述客户端设备上与和所述目标用户相关联的内容的交互;
由处理器分析所述交互以确定与所述交互相关联的情感;
基于所述情感,从所述多个视频片段中选择反应性视频片段,所述反应性视频片段与对应于所述交互的情感的情绪相关联;以及
向所述客户端设备呈现所述反应性视频片段。
22.根据权利要求21所述的方法,其中,呈现所述反应性视频片段包括:
将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合,以生成过渡帧序列;以及
呈现所述过渡帧以从所述空闲片段过渡到所述反应性视频片段。
23.根据权利要求22所述的方法,其中,将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合包括:
确定变换序列,所述变换序列扭曲所述结束重叠帧序列,以将所述结束重叠帧序列中面部标志的位置对齐到所述起始重叠帧序列中面部标志的位置;
在所述结束重叠帧序列和所述起始重叠帧序列的持续时间内,用增加的权重对所述变换序列进行加权,以生成加权的变换序列;
将所述加权的变换序列应用于所述结束重叠帧,以生成所述过渡帧序列。
24.根据权利要求21所述的方法,还包括:
将与所述空闲片段相关联的起始重叠帧的集合和与所述反应性视频片段相关联的结束重叠帧的集合混合,以生成结束过渡帧的集合;以及
呈现所述结束过渡帧以从所述反应性视频片段过渡回到所述空闲视频片段。
25.根据权利要求21所述的方法,其中,检测所述交互包括检测所述观看用户对表情符号的选择,所述表情符号与和所述目标用户相关联的内容相关联,并且其中分析所述交互包括:
识别所述表情符号和所述情感之间的预定义的关联。
26.根据权利要求21所述的方法,其中,检测所述交互包括检测所述观看用户的与和所述目标用户相关联的内容相关联的书面帖子,并且其中分析所述交互包括:
对所述书面帖子的文本实施情感分析;以及
从所述情感分析中确定所述情感。
27.根据权利要求21所述的方法,其中,检测所述交互包括在所述观看用户观看与所述目标用户相关联的内容时捕获所述观看用户的视频,并且其中分析所述交互包括:
实施面部分析以检测所述观看用户的表情;以及
根据检测到的表情确定所述情感。
28.一种非暂时性计算机可读存储介质,其存储能够由处理器执行的指令,所述指令在被执行时使得所述处理器实施包括以下项的步骤:
将描绘目标用户的肖像的多个视频片段与目标用户的简档相关联地存储,其中所述多个视频片段中的每一个与不同的情绪相关联,并且描绘表达对应情绪的所述目标用户,所述多个视频片段包括描绘处于中性表情的所述目标用户的空闲片段;
向观看用户的客户端设备提供所述空闲片段连同与所述目标用户相关联的内容的呈现;
检测所述观看用户在所述客户端设备上与同所述目标用户相关联的内容的交互;
分析所述交互以确定与所述交互相关联的情感;
基于所述情感,从所述多个视频片段中选择反应性视频片段,所述反应性视频片段与对应于所述交互的情感的情绪相关联;以及
向所述客户端设备呈现所述反应性视频片段。
29.根据权利要求28所述的非暂时性计算机可读存储介质,其中,呈现所述反应性视频片段包括:
将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合,以生成过渡帧序列;以及
呈现所述过渡帧以从所述空闲片段过渡到所述反应性视频片段。
30.根据权利要求29所述的非暂时性计算机可读存储介质,其中,将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合包括:
确定变换序列,所述变换序列扭曲所述结束重叠帧序列,以将所述结束重叠帧序列中面部标志的位置对齐到所述起始重叠帧序列中面部标志的位置;
在所述结束重叠帧序列和所述起始重叠帧序列的持续时间内,用增加的权重对所述变换序列进行加权,以生成加权的变换序列;
将所述加权的变换序列应用于所述结束重叠帧,以生成所述过渡帧序列。
31.根据权利要求28所述的非暂时性计算机可读存储介质,其中,所述指令在被所述处理器执行时还使得所述处理器实施包括以下项的步骤:
将与所述空闲片段相关联的起始重叠帧的集合和与所述反应性视频片段相关联的结束重叠帧的集合混合,以生成结束过渡帧的集合;以及
呈现所述结束过渡帧以从所述反应性视频片段过渡回到所述空闲视频片段。
32.根据权利要求28所述的非暂时性计算机可读存储介质,其中,检测所述交互包括检测所述观看用户对表情符号的选择,所述表情符号与和所述目标用户相关联的内容相关联,并且其中分析所述交互包括:
识别所述表情符号和所述情感之间的预定义的关联。
33.根据权利要求28所述的非暂时性计算机可读存储介质,其中,检测所述交互包括检测所述观看用户的与和所述目标用户相关联的内容相关联的书面帖子,并且其中分析所述交互包括:
对所述书面帖子的文本实施情感分析;以及
从所述情感分析中确定所述情感。
34.根据权利要求28所述的非暂时性计算机可读存储介质,其中,检测所述交互包括在所述观看用户观看与所述目标用户相关联的内容时捕获所述观看用户的视频,并且其中分析所述交互包括:
实施面部分析以检测所述观看用户的表情;以及
根据检测到的表情确定所述情感。
35.一种计算机系统,包括:
处理器;以及
非暂时性计算机可读存储介质,其存储能够由所述处理器执行的指令,所述指令在被执行时使得所述处理器实施包括以下项的步骤:
将描绘目标用户的肖像的多个视频片段与目标用户的简档相关联地存储,其中所述多个视频片段中的每一个与不同的情绪相关联,并且描绘表达对应情绪的所述目标用户,所述多个视频片段包括描绘处于中性表情的所述目标用户的空闲片段;
向观看用户的客户端设备提供所述空闲片段连同与所述目标用户相关联的内容的呈现;
检测所述观看用户在所述客户端设备上与和所述目标用户相关联的内容的交互;
分析所述交互以确定与所述交互相关联的情感;
基于所述情感,从所述多个视频片段中选择反应性视频片段,所述反应性视频片段与对应于所述交互的情感的情绪相关联;以及
向所述客户端设备呈现所述反应性视频片段。
36.根据权利要求35所述的计算机系统,其中,呈现所述反应性视频片段包括:
将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合,以生成过渡帧序列;以及
呈现所述过渡帧以从所述空闲片段过渡到所述反应性视频片段。
37.根据权利要求36所述的计算机系统,其中,将与所述反应性视频片段相关联的起始重叠帧序列和与所述空闲片段相关联的结束重叠帧序列混合包括:
确定变换序列,所述变换序列扭曲所述结束重叠帧序列,以将所述结束重叠帧序列中面部标志的位置对齐到所述起始重叠帧序列中面部标志的位置;
在所述结束重叠帧序列和所述起始重叠帧序列的持续时间内,用增加的权重对所述变换序列进行加权,以生成加权的变换序列;
将所述加权的变换序列应用于所述结束重叠帧,以生成所述过渡帧序列。
38.根据权利要求35所述的计算机系统,其中,所述指令在被所述处理器执行时还使得所述处理器实施包括以下项的步骤:
将与所述空闲片段相关联的起始重叠帧的集合和与所述反应性视频片段相关联的结束重叠帧的集合混合,以生成结束过渡帧的集合;以及
呈现所述结束过渡帧以从所述反应性视频片段过渡回到所述空闲视频片段。
39.根据权利要求35所述的计算机系统,其中,检测所述交互包括检测所述观看用户对表情符号的选择,所述表情符号与和所述目标用户相关联的内容相关联,并且其中分析所述交互包括:
识别所述表情符号和所述情感之间的预定义的关联。
40.根据权利要求35所述的计算机系统,其中,检测所述交互包括检测所述观看用户的与和所述目标用户相关联的内容相关联的书面帖子,并且其中分析所述交互包括:
对所述书面帖子的文本实施情感分析;以及
从所述情感分析中确定所述情感。

说明书全文

反应性简档肖像

[0001] 背景
[0002] 本公开涉及在在线系统中生成反应性简档(reactive profile)图片。
[0003] 在社交媒体网站和其他在线系统中,用户可以向在线系统提供其他用户可以查看并与之交互的内容。例如,用户可以对另一个用户的简档页面发表评论,对另一个用户的帖子发表评论,或者表达关于另一个用户提供的内容的情感。当在虚拟环境中进行交互时,这些交互缺乏可以在面对面交互中实现的关连(connection)感,因为没有现实世界中出现的面部表情或肢体语言形式的实时、富有表现的反馈。
[0004] 概述
[0005] 在实施例中,一种方法将输入视频分割成情绪片段,每个情绪片段描绘表达不同情绪的目标个体。在线系统的服务器接收描绘目标个体的肖像的输入视频。确定输入视频的每个中的目标个体的面部特征点的位置。从输入视频获得描绘处于中性表情(neutral expression)的目标的空闲帧(idle frame)。将空闲帧中的目标个体的面部特征点的基线位置与输入视频的每个非空闲帧中面部特征点的位置进行比较,以生成空闲帧与每个非空闲帧之间的相应的距离度量。识别相应的距离度量达到第一局部峰值的第一峰值表情帧(expression frame)。识别第一峰值表情帧之前的第一起始帧和识别在第一峰值表情之后的第一结束帧。生成包括第一范围的帧的第一情绪片段,该第一范围的帧在第一起始帧处开始,并在第一结束帧处结束。将第一情绪片段存储到存储介质。
[0006] 在实施例中,识别相应的距离度量达到第二局部峰值的第二峰值表情帧。识别第二峰值表情帧之前的第二起始帧和识别在第二峰值表情之后的第二结束帧。生成包括第二范围的帧的第二情绪片段,该第二范围的帧在第二起始帧处开始,并在第二结束帧处结束。将第二情绪片段存储到存储介质。
[0007] 在实施例中,确定与第一峰值表情帧相关联的时间位置,以及从查找表识别与该时间位置相关联的预期情绪。生成表示与第一情绪片段相关联的预期情绪的元数据标签。将元数据标签与第一情绪片段相关联地存储。
[0008] 在另一个实施例中,实施面部分析以识别与第一情绪片段相关联的情绪。生成表示与第一情绪片段相关联的情绪的元数据标签。将元数据标签与第一情绪片段相关联地存储。
[0009] 在实施例中,可以通过识别包括一定范围的帧的空闲片段并检测空闲片段内满足具有在满足预定义标准的位置中的面部特征点的帧来获得空闲帧。将满足预定义标准的帧分配为空闲帧。
[0010] 在另一个实施例中,可以通过识别包括一定范围的帧的空闲片段并通过对空闲片段中的一定范围的帧求平均值来合成空闲帧而获得空闲帧。
[0011] 在实施例中,在第一峰值表情帧之前的预定义的范围内识别起始范围的帧,并且从起始范围的帧中选择与空闲帧具有最佳匹配的第一起始帧。在第一峰值表情帧之后的预定义的范围内识别结束范围的帧,并且从结束范围的帧中选择与空闲帧具有最佳匹配的第一结束帧。
[0012] 在另一个实施例中,一种方法响应于动作生成反应性简档肖像。将描绘目标用户的肖像的多个视频片段与目标用户的简档相关联地存储。多个视频片段中的每一个与不同的情绪相关联,并且描绘表达对应情绪的目标用户。多个视频片段包括描绘处于中性表情的目标用户的空闲片段。向观看用户的客户端设备提供空闲片段连同与目标用户相关联的内容的呈现。检测在客户端设备上观看用户和与目标用户相关联的内容的交互。分析交互以确定与该交互相关联的情感。基于该情感,从多个视频片段中选择反应性视频片段。反应性视频片段与对应于交互的情感的情绪相关联。向客户端设备呈现反应性视频片段。
[0013] 在实施例中,将与反应性视频片段相关联的起始重叠帧序列和与空闲片段相关联的结束重叠帧序列混合,以生成过渡帧序列。呈现过渡帧以从空闲片段过渡到反应性视频片段。在实施例中,为了实施混合,可以确定变换序列,该变换序列扭曲(warp)结束重叠帧序列,以将结束重叠帧序列中的面部标志(facial landmark)的位置对齐到起始重叠帧序列中面部标志的位置。在结束重叠帧序列和起始重叠帧序列的持续时间内,用增加的权重对变换序列进行加权,以生成加权的变换序列。然后将加权的变换序列应用于结束重叠帧,以生成过渡帧序列。
[0014] 在实施例中,将与空闲片段相关联的起始重叠帧的集合和与反应性视频片段相关联的结束重叠帧的集合混合,以生成结束过渡帧的集合。呈现结束过渡帧以从反应性视频片段过渡回到空闲视频片段。
[0015] 在实施例中,检测观看用户对表情符号(emoticon)的选择,该表情符号与同目标用户相关联的内容相关联,并且识别表情符号和情感之间的预定义的关联。
[0016] 在实施例中,检测观看用户的与同目标用户相关联的内容相关联的书面帖子,并且对该书面帖子的文本实施情感分析。从情感分析中确定情感。
[0017] 在实施例中,交互包括在观看用户观看与目标用户相关联的内容时捕获该观看用户的视频。实施面部分析以检测观看用户的表情。根据检测到的表情确定情感。
[0018] 在另一个实施例中,非暂时性计算机可读存储介质存储可由处理器执行的指令,这些指令在被执行时使得处理器执行上述任何方法。
[0019] 在另一个实施例中,计算机系统包括处理器和存储可由该处理器执行的指令的非暂时性计算机可读存储介质,该指令在被执行时使得该处理器执行上述任何方法。
[0020] 附图简述
[0021] 图1是示出在线系统的系统环境的实施例的框图
[0022] 图2是示出在线系统的实施例的框图。
[0023] 图3是示出反应性简档图片生成器的实施例的框图。
[0024] 图4是示出用于基于检测峰值表情帧来将视频分割成情绪片段的过程的实施例的流程图
[0025] 图5是示出用于响应于动作生成反应性简档的过程的实施例的流程图。
[0026] 图6是示出片段获取模的实施例的框图。
[0027] 图7是示出用于从输入图像生成描绘不同情绪的肖像的视频片段的过程的实施例的流程图。
[0028] 图8是面部的示例图像上的面部标志的示例实施例。
[0029] 附图仅为了说明的目的而描绘各种实施例。本领域中的技术人员从下面的讨论中将容易认识到本文示出的结构和方法的替代的实施例可以被采用而不偏离本文所述的原理。
[0030] 详细描述
[0031] 综述
[0032] 通过在诸如社交媒体网站的在线系统中,作为对观看用户做出的动作的反应而显示表达相关情绪的目标用户的短视频片段,反应性简档图片使简档图像栩栩如生,观看用户的动作与和目标用户相关联的内容相关。因此,观看用户以类似于面对面交互的方式体验实时反应。反应性简档图片可以从目标用户的视频输入或者从目标用户的单个输入图像自动生成。
[0033] 系统架构
[0034] 图1是在线系统140的系统环境100的框图。图1所示的系统环境100包括一个或更多个客户端设备110、网络120、一个或更多个第三方系统130、以及在线系统140。例如,在线系统140可以是社交网络系统、内容共享网络或向用户提供内容的另一系统。在替代配置中,在系统环境100中可以包括不同的和/或附加的部件。
[0035] 客户端设备110是能够接收用户输入以及经由网络120传输和/或接收数据的计算设备。在一个实施例中,客户端设备110是传统的计算机系统,如台式计算机或膝上型计算机。可替代地,客户端设备110可以是具有计算机功能的设备,如个人数字助理(PDA)、移动电话、智能电话或另一合适的设备。客户端设备110被配置成经由网络120进行通信。在一个实施例中,客户端设备110执行允许客户端设备110的用户与在线系统140交互的应用。例如,客户端设备110执行浏览器应用,以使得在客户端设备110和在线系统140之间的交互通过网络120而成为可能。在另一个实施例中,客户端设备110通过运行在客户端设备110的本机(native)操作系统(如 或ANDROIDTM)上的应用编程接口(API)来与在线系统140交互。
[0036] 客户端设备110被配置成使用有线和/或无线通信系统经由网络120进行通信,网络120可以包括局域网和/或广域网的任何组合。在一个实施例中,网络120使用标准通信技术和/或协议。例如,网络120包括使用诸如以太网、802.11、全球微波接入互操作性(WiMAX)、3G、4G、5G、码分多址(CDMA)、数字用户线路(DSL)等技术的通信链路。用于经由网络120进行通信的网络协议的示例包括多协议标签交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)和文件传输协议(FTP)。可以使用任何合适的格式(诸如超文本标记语言(HTML)或可扩展标记语言(XML))来表示通过网络120交换的数据。在一些实施例中,网络120的所有或一些通信链路可以使用任何合适的一种或更多种技术加密。
[0037] 一个或更多个第三方系统130可以耦合到网络120,用于与在线系统140通信,这在下面结合图2进一步描述。在一个实施例中,第三方系统130是应用提供者服务器或服务器集合,其传送描述由客户端设备110执行的应用的信息,或者传送数据到客户端设备110以供在客户端设备110上执行的应用使用。在其他实施例中,第三方系统130提供用于经由客户端设备110呈现的内容或其他信息。第三方系统130还可以向在线系统140传送信息,如关于由第三方系统130提供的应用的广告、内容或信息。
[0038] 图2是在线系统140的架构的框图。图2所示的在线系统140包括用户简档储存器205、内容储存器210、动作记录器215、动作日志220、边(edge)储存器225、web服务器230、动态消息(newsfeed)管理器240和反应性简档图片生成器250。在其他实施例中,在线系统140可以包括用于各种应用的附加的、更少的或不同的部件。没有示出传统部件(如网络接口、安全功能、负载平衡器、故障转移服务器、管理和网络操作控制台等),以免使系统架构的细节模糊。
[0039] 在线系统140的每个用户与存储在用户简档储存器205中的用户简档相关联。用户简档包括用户明确共享的关于用户的声明性信息,并且还可以包括由在线系统140推断的简档信息。在一个实施例中,用户简档包括多个数据字段,每个数据字段描述对应的在线系统用户的一个或更多个属性。存储在用户简档中的信息的示例包括传记、人口统计和其他类型的描述性信息,如工作经历、教育历史、性别、爱好或偏好、位置等。用户简档还可以存储用户提供的其他信息,例如,图像或视频。在某些实施例中,用户的图像可以用识别图像中显示的在线系统用户的信息来标记,其中识别用户在其中被标记的图像的信息存储在用户的用户简档中。用户简档储存器205中的用户简档还可以维护由对应的用户对在内容储存器210中的内容项目执行的并存储在动作日志220中的动作的引用。
[0040] 用户简档还包括主简档图像,通常是用户的肖像,其可以在整个在线系统140中使用,以使其他用户能够识别用户。例如,主简档图像可以显示在用户简档页面上的显著位置,并且也可以与用户在在线系统140中发表的帖子一起显示。主简档图像也可以与从用户接收的消息一起显示,以当用户出现在另一用户的关连列表中时识别用户,或者显示在在线系统140中希望识别用户的任何其他地方。
[0041] 虽然用户简档储存器205中的用户简档经常与个人相关联,但是用户简档也可以被存储为关于实体(如企业或组织)的品牌页面。这允许实体在在线系统140上建立存在,用于与其他在线系统用户关连并交换内容。实体可以使用与实体的用户简档相关联的品牌页面发布关于其自身、关于其产品的信息或者向在线系统140的用户提供其他信息。在线系统140的其他用户可以连接到品牌页面以接收发布到品牌页面的信息或者从品牌页面接收信息。与品牌页面相关联的用户简档可以包括关于实体本身的信息,向用户提供关于实体的背景或信息数据。
[0042] 内容储存器210存储多个对象,每个对象表示各种类型的内容。由对象表示的内容的示例包括页面帖子、状态更新、照片、视频、链接、共享内容项目、游戏应用成绩、本地企业处的签到(check-in)事件、品牌页面或任何其他类型的内容。在线系统用户可以创建由内容储存器210存储的对象,如状态更新、被用户标记为与在线系统140中的其他对象相关联的照片、事件、团体或应用。在一些实施例中,从第三方应用或独立于在线系统140的第三方应用接收对象。在一个实施例中,内容储存器210中的对象表示单条内容,或者内容“项目”。因此,鼓励在线系统用户通过经由各种通信渠道(channel)向在线系统140发布文本和媒体的各种类型的内容项目来与彼此进行通信。这增加了用户与彼此的交互量,并增加了在线系统140内用户交互的频率。在一个实施例中,由特定用户发布的内容对象可以与用户的简档图片一起显示,以便识别提供内容或与内容相关联的用户。
[0043] 动作记录器215接收关于在线系统140内部和/或外部的用户动作的通信,用关于用户动作的信息填充动作日志220。动作的示例包括,添加与另一用户的关连、向另一用户发送消息、上传图像、从另一用户读取消息、查看与另一用户相关联的内容、以及参加另一用户发布的事件。此外,许多动作可能涉及对象和一个或更多个特定用户,因此这些动作也与特定用户相关联并存储在动作日志220中。
[0044] 在线系统140可以使用动作日志220来跟踪在线系统140上的用户动作、以及向在线系统140传送信息的第三方系统130上的动作。用户可以与在线系统140上的各种对象交互,并且描述这些交互的信息存储在动作日志220中。与对象交互的示例包括:评论帖子、共享链接、经由客户端设备110登记到物理位置、访问内容项目、以及任何其他合适的交互。包括在动作日志220中的与在线系统140上的对象的交互的附加示例包括:评论相册、与用户通信、与对象建立关连、加入事件、加入团体、创建事件、授权应用、使用应用、以及参与交易。交互还可以包括选择与对由另一用户发布的对象的特定情绪或反应相关联的表情符号。例如,表情符号可以包括“点赞(like)”表情符号、“爱”表情符号、“笑”表情符号、“惊喜”表情符号、“悲伤”表情符号、“愤怒”表情符号或与用户可能想要响应来自另一用户的对象而表达的不同情绪或反应相关联的其他表情符号。
[0045] 附加地,动作日志220可以记录用户与在线系统140上的广告以及与在线系统140上运行的其他应用的交互。在一些实施例中,来自动作日志220的数据用于推断用户的兴趣或偏好,对包括在用户的用户简档中的兴趣进行补充,并允许对用户偏好的更完整理解。
[0046] 动作日志220还可以存储在第三方系统130(诸如外部网站)上采取的并传送到在线系统140的用户动作。例如,电子商务网站可以通过使电子商务网站能够识别在线系统140的用户的社交插件来识别在线系统140的用户。因为在线系统140的用户是唯一可识别的,所以如在前面的示例中,电子商务网站可以向在线系统140传送关于用户在在线系统
140外部的动作的信息,用于与用户相关联。因此,动作日志220可以记录关于用户在第三方系统130上执行的动作的信息,包括网页查看历史、参与的广告、进行的购买、以及来自购物和购买的其他模式。附加地,用户经由与第三方系统130相关联并在客户端设备110上执行的应用所实施的动作可以由该应用传送到动作记录器215,用于在动作日志220中记录并与用户相关联。
[0047] 在一个实施例中,边储存器225存储描述在在线系统140上用户与其他对象之间的作为边的关连的信息。例如,用户之间的边可以表示社交图中的关连。一些边可以由用户定义,允许用户指定他们与其他用户的关系。例如,用户可以生成与其他用户的边,这些边并行于用户的真实生活关系,例如朋友、同事、伙伴等。当用户与在线系统140中的对象交互(如表达对在线系统140上页面的兴趣、与在线系统140的其他用户共享链接、以及评论由在线系统140的其他用户发表的帖子)时,其他的边被生成。
[0048] 边可以包括各种特征,每个特征表示用户之间的交互、用户和对象之间的交互、或者对象之间的交互的特性。例如,包括在边中的特征描述了两个用户之间的交互比率、两个用户最近如何彼此交互、一个用户检索到的关于对象的信息量或比率、或者用户发布的关于对象的评论数量和类型。这些特征还可以表示描述特定对象或用户的信息。例如,特征可以表示用户对特定主题的兴趣级别、用户登录到在线系统140的比率、或者描述关于用户的人口统计信息的信息。每个特征可以与源对象或用户、目标对象或用户以及特征值相关联。特征可以被指定为基于值的表达式,其描述源对象或用户、目标对象或用户、或者源对象或用户与目标对象或用户之间的交互;因此,边可以表示为一个或更多个特征表达式。
[0049] 边储存器225还存储关于边的信息,如关于对象、兴趣和其他用户的亲和力(affinity)分数。亲和力分数或“亲和力”可以由在线系统140在时间上计算,以基于用户实施的动作来近似用户对在线系统140中的对象或另一用户的兴趣。用户的亲和力可以由在线系统140在时间上计算,以基于用户实施的动作来近似用户对在线系统140中的对象、主题或另一用户的兴趣。在一个实施例中,用户和特定对象之间的多次交互可以作为单条边存储在边储存器225中。可替代地,用户和特定对象之间的每次交互都作为单独的边被存储。在一些实施例中,用户之间的关连可以存储在用户简档储存器205中,或者用户简档储存器205可以访问边储存器225来确定用户之间的关连。亲和力的计算在2010年12月23日提交的第12/978,265号美国专利申请、2012年11月30日提交的第13/690,254号美国专利申请、2012年11月30日提交的第13/689,969号美国专利申请、和2012年11月30日提交的第13/690,088号美国专利申请中有进一步的描述,这些专利申请中的每个由此通过引用以其整体并入。在一个实施例中,用户和特定对象之间的多次交互可以作为单个边存储在边储存器225中。可替代地,用户和特定对象之间的每次交互都作为单独的边被存储。在一些实施例中,用户之间的关连可以存储在用户简档储存器205中,或者用户简档储存器205可以访问边储存器225来确定用户之间的关连。
[0050] 在一个实施例中,在线系统140通过呈现给用户的“动态消息”来识别用户可能感兴趣的动态(story)。呈现给用户的动态描述了关连到该用户的附加用户所采取的动作,并识别该附加用户。在一些实施例中,描述由用户实施的动作的动态对于没有关连到实施该动作的用户的用户可以是可访问的。动态消息管理器240可以基于动作日志220和边储存器225中的信息生成呈现给用户的动态,或者可以选择包括在内容储存器210中的候选动态。
动态消息管理器240选择一个或更多个候选动态并将其呈现给用户。
[0051] 例如,动态消息管理器240接收向在线系统用户呈现一个或更多个动态的请求。动态消息管理器240访问用户简档储存器205、内容储存器210、动作日志220和边储存器225中的一个或更多个,以检索关于所识别的用户的信息。例如,检索与关连到所识别的用户的用户相关联的动态或其他数据。动态消息管理器240分析检索到的动态或其他数据,以识别候选内容项目,候选内容项目包括至少具有阈值可能性与用户相关的内容。例如,与未关连到所识别的用户的用户相关联的动态或者与所识别的用户针对其具有小于阈值亲和力的用户相关联的动态作为候选动态被丢弃。基于各种标准,动态消息管理器240选择候选动态中的一个或更多个以用于呈现给所识别的用户。
[0052] 在各种实施例中,动态消息管理器240通过动态消息向用户呈现动态,该动态消息包括被选择用于呈现给用户的多个动态。动态消息可以包括有限数量的动态,或者可以包括完整的候选动态集。动态消息中包括的动态数量可以部分地由用户简档储存器205中包括的用户偏好来确定。动态消息管理器240还可以确定经由动态消息呈现所选动态的顺序。例如,动态消息管理器240确定用户对特定用户具有最高亲和力,则增加在动态消息中与该特定用户相关联的动态数量,或者修改动态消息中呈现与该特定用户相关联的动态的位置。
[0053] 动态消息管理器240还可以考虑指示对动态类型的偏好的用户动作,并选择具有相同或相似类型的动态以包括在动态消息中。附加地,动态消息管理器240可以分析在线系统140从各种用户接收的动态,以从分析的动态中获得关于用户偏好或动作的信息。这种信息可用于优化对呈现给各种用户的动态消息的动态的后续选择。
[0054] web服务器230经由网络120将在线系统140链接到一个或更多个客户端设备110,以及链接到一个或更多个第三方系统130。web服务器230提供网页以及其他内容,如XML等。web服务器230可以在在线系统140和客户端设备110之间接收并路由消息,例如,即时消息、排队消息(例如,电子邮件)、文本消息、短消息服务(SMS)消息、或使用任何其他合适的消息传送技术发送的消息。用户可以向web服务器230发送请求,以上传存储在内容储存器210中的信息(例如,图像或视频)。此外,web服务器230可以提供应用编程接口(API)功能,以将数据直接发送到本机客户端设备操作系统,如
ANDROIDTM或Blackberry OS。
[0055] 授权服务器260实施在线系统140的用户的一个或更多个隐私设置。用户的隐私设置确定如何可以共享与用户相关联的特定信息,并且可以存储在用户简档储存器205中的用户的用户简档中,或者存储在授权服务器260中并与用户简档相关联。在一个实施例中,隐私设置指定与用户相关联的特定信息,并识别可与之共享指定信息的实体或多个实体。可以与其共享信息的实体的示例可以包括其他用户、应用、第三方系统130、或可能潜在地访问信息的任何实体。可以由用户共享的信息的示例包括:用户简档信息(像包括下述的反应性简档图片的简档照片)、与用户相关联的电话号码、用户的关连、由用户采取的动作(如添加关连、改变用户简档信息等)。
[0056] 可以以不同的粒度(granularity)级别提供隐私设置规范。在一个实施例中,隐私设置可以识别要与其他用户共享的特定信息。例如,隐私设置识别工作电话号码或一组特定的相关信息(诸如包括简档照片、家庭电话号码和状态的个人信息)。可替代地,隐私设置可以应用于与用户相关联的所有信息。也可以以各种粒度级别指定可以访问特定信息的实体集合的规范。可以与之共享信息的各种实体集合可以包括例如关连到用户的所有用户、关连到用户的用户集合、关连到关连到用户所有应用的用户的附加用户、所有第三方系统130、特定第三方系统130、或所有外部系统。
[0057] 一个实施例使用实体的枚举来指定被允许访问所识别信息的实体或者识别呈现给不同实体的信息类型。例如,用户可以指定传送给其他用户或传送给指定用户组的动作类型。可替代地,用户可以指定未发布或呈现给其他用户的动作类型或者其他信息。
[0058] 授权服务器260包括确定与用户相关联的某些信息是否可以由用户的朋友、第三方系统130和/或其他应用和实体访问的逻辑。例如,试图访问关于与第三方系统130相关联的统一资源定位符(URL)的用户评论的第三方系统130必须从授权服务器260获得访问与用户相关联的信息的授权。基于用户的隐私设置,授权服务器260确定另一用户、第三方系统130、应用、或另一实体是否被允许访问与用户相关联的信息,包括关于由用户采取的动作的信息。例如,授权服务器260使用用户的隐私设置来确定关于与第三方系统130相关联的URL的用户评论是可以呈现给第三方系统130还是可以呈现给另一用户。类似地,授权服务器260可以确定是观看用户还是第三方系统130可以访问目标用户的反应性简档图片。这使得用户的隐私设置能够指定哪些其他用户或其他实体被允许接收关于用户动作的数据或与用户相关联的其他数据。
[0059] 反应性简档图片生成器250生成反应性简档图片,该反应性简档图片可以选择性地替代上述主简档图像而被显示。反应性简档图片的用途及本文描述的相关特征可以作为可选特征可用,使得用户可以选择使用反应性简档图片。此外,可以使各种级别的选项可用,使得用户可以在某些情况下选择使用反应性简档,或者使其能够被某些观看者观看,而不必选择反应性简档图片的所有可用用途。
[0060] 例如,反应性简档图片可以显示在用户的简档页面上,或者可以与用户发布到在线系统140的内容一起显示。反应性简档图片生成器250可以针对每个用户存储用户肖像的多个短视频片段,每个片段表达不同的反应或情绪。例如,片段可以描绘用户表达诸如喜欢、不喜欢、爱、笑或感到震惊、悲伤、快乐、愤怒、惊喜、赞同、不赞同或其他情绪的反应或情绪。视频片段还可以包括处于中性表情的用户的片段。在使用反应性简档图片的情况下,反应性简档图片生成器250可以响应于在线系统140中出现的不同动作或其他触发事件而选择性地实时显示目标用户的相关片段。例如,目标用户的简档图片可以与目标用户在在线系统140中发布的帖子一起显示。当观看用户观看帖子时,最初可以向观看用户呈现目标用户的作为处于中性表情的目标用户的循环视频片段或静止图像的反应性简档图片。当观看用户选择表情符号来“点赞(like)”帖子时,反应性简档图片生成器250实时更新反应性简档图片(如观看用户所看到的),以显示表达快乐或赞同的目标用户的视频片段,来对观看用户点赞帖子做出反应。反应性简档图片生成器250然后可以将(如观看用户所看到的)反应性简档图片返回至处于中性表情的目标用户的静止图像或循环片段。如果观看用户替代地选择“愤怒”表情符号来对帖子做出反应,则反应性简档图片生成器250可以替代地实时更新目标用户的反应性简档图片(如观看用户所看到的),以显示表达愤怒的目标用户的视频片段,来对观看用户的动作做出反应。因此,当观看用户与和目标用户相关联的内容对象交互时,反应性简档图片使得目标用户的简档图像变得生动,从而为观看用户提供更逼真的交互体验。在图3中更详细地描述了反应性简档图片生成器250的示例实施例。
[0061] 图3示出了反应性简档图片生成器250的示例。反应性简档图片生成器250包括片段获取模块310、反应性片段储存器320、片段选择模块330和反应性简档图片显示模块340。替代实施例可以包括附加或不同的模块,以实现与本文描述的反应性简档图片生成器250相关联的功能。
[0062] 片段获取模块310获取关于用户的多个视频片段,每个视频片段与不同的反应或情绪相关联。每个视频片段可以描绘做出指示反应或情绪的不同面部表情的用户的肖像。在一个实施例中,片段获取模块310提供用户界面,该用户界面向用户提供一系列提示以在视频记录设备(例如,摄像机)记录用户肖像的视频时做出不同面部表情。例如,提示可以指示用户在不同的时间点“表现快乐”、“笑”、“表现愤怒”、“表现悲伤”等,以便捕获不同表情的视频。片段获取模块310然后可以处理捕获的视频,以将视频分割成单独的情绪片段,并将它们存储到情绪片段储存器320。例如,每个片段可以与用户标识符和指示与该片段相关联的情绪的一个或更多个元数据标签相关联地存储。在另一个实施例中,片段获取模块310直接从用户接收输入视频,而不必在捕获视频时向用户提供任何提示。下面参考图4更详细地描述用于将视频分割成片段的过程的实施例。
[0063] 情绪片段选择模块330响应于特定动作而选择适当的视频片段以显示在用户的反应性简档图片中。例如,响应于另一个用户选择特定表情符号作为对来自用户的帖子的反应,可以显示预定义的情绪片段。在另一示例中,情绪片段选择模块330可以应用自然语言处理来实施对来自用户的帖子的评论或回复的情感分析,并且选择与所确定的情感相关的视频片段(以用于向做出评论或回复的用户显示)。在又一个示例中,情绪片段选择模块330可以(例如,经由用户设备上的视频摄像机)监控观看与具有反应性简档图片的用户相关联的简档页面、帖子或其他对象的用户,并分析视频以检测观看用户的与特定情绪相关联的表情。视频片段选择模块330随后选择与检测到的观看用户的情绪相匹配的视频片段,以在反应性简档图片中向观看用户显示。在又一示例中,可以分析由观看用户的设备上的麦克捕获的音频,以确定观看用户在观看与具有反应性简档图片的用户相关联的简档页面、帖子或其他对象时表达的情绪。视频片段选择模块330然后可以选择与检测到的观看用户的情绪相匹配的视频片段。
[0064] 在又一实施例中,视频片段选择模块330可以响应于观看用户实施的特定姿势或与在线系统140的交互来选择要向观看用户显示的视频片段。例如,在一个实施例中,当观看用户滚动到与观看用户的动态消息中的与目标用户相关联的内容对象时,视频片段选择模块330自动选择预定义的基线视频片段(其可以不同于空闲片段)以显示给观看用户。在另一个示例中,当观看用户在使用虚拟现实头戴式设备(headset)观看在线系统140中的内容时转动他/她的头时,视频片段选择模块330自动选择预定义的视频片段,使得与目标用户相关联的内容进入视野
[0065] 在又一示例中,视频片段选择模块330可以响应于观看用户在观看与目标用户相关联的内容时在观看用户使用的客户端设备110的摄像机上捕获图像(例如,自拍图像),来选择要显示的视频片段。可以分析观看用户的表情,并且可以选择对观看用户做出反应的适当视频片段。
[0066] 在其他附加实施例中,片段选择模块330可以基于社交图中关连到观看用户的边或观看用户与其他对象或用户之间的亲和力而针对不同的观看用户不同地选择片段。此外,可以根据关连到目标用户的边、与反应性简档图片一起显示的特定内容对象、或与其他对象或用户的亲和力来不同地选择片段。例如,具有与目标用户的“最好的朋友”的关连或具有高亲和力关连的观看用户可以将目标用户的“快乐”片段(而不是中性表情片段)视为默认片段。在其他实施例中,即使观看用户没有直接表达与当前正在观看的内容对象具体相关的任何情感,也可以基于观看用户对相关内容对象的亲和力来选择片段。
[0067] 在捕获与观看用户相关联的视频、音频或其他内容以触发目标用户的反应性简档图片的改变的实施例中,向观看用户提供选择加入该特征的选项,使得不在观看用户不知道和不同意的情况下捕获音频或视频,也不在观看用户不知道和不同意的情况下以所描述的方式分析音频或视频。
[0068] 反应性简档图片显示模块340呈现所选的视频片段以用于在反应性简档图片中显示。反应性简档图片显示模块340可以对所选片段实施各种视频处理操作,以使得视频片段以片段之间平滑过渡的方式被显示。例如,在一个实施例中,处于中性表情的用户的空闲片段可以循环,直到接收到导致情绪片段选择模块330选择不同的情绪片段用于显示的动作。反应性简档图片显示模块340然后从空闲片段平滑过渡到所选的情绪片段,并且在完成时,平滑过渡回到空闲片段。片段之间的过渡可以以给出连续视频流而片段之间没有明显的切换(cut)的表象的方式显示,这将在下面进一步详细描述。
[0069] 反应性简档图片的视频片段获取
[0070] 图4示出了用于获取用于反应性简档图片的各种情绪片段的视频片段获取过程的实施例。片段获取模块310向客户端设备110发送402提示,以提示用户在客户端设备110捕获用户肖像的视频时执行与不同情绪相关联的特定面部表情序列。在实施例中,提示可以在预定义的定时出现,并且可以根据预定义的序列出现,使得预期接收的表情的顺序和定时是已知的。可替代地,可以在记录之前提示用户以特定的顺序表现不同的表情,而不必根据任何特定的定时进行提示。片段获取模块310然后接收404记录的输入视频,该视频包括面部表情序列。
[0071] 在替代实施例中,可以省略步骤402,并且提示用户以得到面部表情的脚本可以替代地直接在客户端设备110上执行,或者可以简单地向用户提供书面指令的集合。在这个实施例中,用户随后上传视频,并且该视频由在线系统140接收404。
[0072] 片段获取模块310然后识别406视频中的空闲帧。空闲帧表示描绘中性表情的用户的帧,其在接下来的步骤中将用作基线简档图片。在一个实施例中,可以从其间用户被提示提供中性表情的视频片段(即,空闲片段)提取空闲帧。例如,片段获取模块310可以(例如,从查找表)确定视频中预期出现中性表情的时间范围或帧范围。从这个空闲片段中,空闲帧被选择为最满足一组预定义标准的帧。例如,用于选择空闲帧的标准可以基于,例如,检测到的面部取向或面部上某些特征点的位置,其使得帧最适合用作空闲帧,诸如例如,面部直视前方并且具有小于阈值平的运动的帧。在另一个实施例中,可以基于空闲片段中帧的组合(诸如例如,通过对多个帧求平均值)来合成空闲帧。
[0073] 然后在每个视频帧中检测408面部标志。标志表示人面部上的解剖点,这些解剖点可以在不同的照明条件、取向等处在多个不同的主体之间以一致的方式自动检测。例如,面部标志可以指示嘴唇、眼睛、鼻子、眉毛、下巴、前额、朵或其他面部特征的某些突出点的位置。面部标志的示例在图8中示出,其中(由点表示的)每个标志对应于特定的解剖特征。图像中标志的特定位置可以根据主体的面部表情而变化。
[0074] 返回图4,片段获取模块310然后将所获取的视频的每一帧中的面部标志的位置与空闲帧中对应面部标志(即,对应于相同的面部特征)的位置进行比较410。例如,可以计算给定帧中的标志集合到空闲帧中各个对应标志之间的距离度量(例如,L2范数距离)。
[0075] 片段获取模块310定位412对应于计算的距离度量中的局部最大值的多个峰值表情帧。在一个实施例中,在不同的表情出现在输入视频中的已知时间段内的情况下,峰值表情帧可以被限制,使得从每个时间段选择一个峰值表情帧。例如,查找表可以指定预期哪个情绪对应于每个时间段。可替代地,可以通过寻找局部最大值而不必将其位置限制到特定的时间段来选择峰值表情帧。峰值表情帧对应于其中面部标志相对于其在空闲帧中的相应位置平均具有最大距离的帧。在该实施例中,每个峰值表情帧可以根据预定义的序列被分配给特定的情绪。可替代地,情绪可以基于面部分析自动确定。
[0076] 对于每个检测到的峰值表情帧,然后识别414峰值表情帧周围的情绪片段的起始帧和结束帧。在一个实施例中,起始帧和结束帧分别从峰值表情之前和之后的限制范围的帧中选择,使得情绪片段的长度落入预定义的长度范围内。在预定义的范围内,起始帧和结束帧可以被选择为与空闲帧最佳匹配(例如,面部标志到空闲帧中相应位置的距离最小)的帧。还可以识别空闲帧周围的空闲片段的起始帧和结束帧。起始帧和结束帧可以类似地被检测为与空闲帧强烈匹配的帧。选择与空闲帧紧密匹配的起始帧和结束帧确保可以在反应性简档图片中实现片段之间的看起来自然的过渡,因为过渡将出现在看起来相似的帧处。
[0077] 在实施例中,每个片段开始和结束处的一定范围的帧也可以被识别为重叠帧。当显示反应性简档图片时,一个视频片段的结束重叠帧可以与另一个视频片段的起始重叠帧混合,以产生片段之间的平滑过渡,这将在下面进一步详细描述。
[0078] 然后,视频被分割416成相应的起始帧和结束帧之间的情绪片段,并且这些片段被存储到情绪片段储存器320。
[0079] 生成反应性简档图片
[0080] 图5示出了用于生成用于响应于动作而显示的反应性简档图片的过程的实施例。反应性简档图片显示模块340最初向观看用户的客户端设备提供502目标用户的反应性简档图片的空闲片段,该观看用户观看在在线系统140中与目标用户相关联的内容。内容可以包括,例如,目标用户的简档页面、目标用户的帖子、来自目标用户的评论、来自目标用户的直接或群组消息、或者与描绘目标用户的反应性简档图片一起显示的与目标用户相关联的任何其他内容。空闲片段可以包括描绘具有中性表情的目标用户的片段。在一个实施例中,空闲片段可以连续循环,以给出目标用户的实时视频流的表象。为了避免在循环时空闲片段的最后一帧和空闲片段的第一帧之间的突然切换,空闲片段结束处的一组重叠帧可以与空闲片段开始处的一组重叠帧混合以产生平滑过渡。
[0081] 情绪片段选择模块330确定504是否在观看用户的客户端设备110上检测到动作,该观看用户观看在线系统140上与目标用户的反应性简档图片一起显示的内容。动作可以包括,例如,在观看用户的客户端设备110上选择与关于目标用户的内容相关联的表情符号,检测观看用户发布的关于目标用户的内容的评论的情感,在观看用户观看目标用户的内容时捕获的观看用户的视频中检测由观看用户表达的情绪,在观看用户观看目标用户的内容时捕获的音频剪辑中检测由观看用户表达的情绪,检测观看用户相对于和反应性简档图片一起显示的目标用户的内容的姿势(例如,在动态消息中滚动或在虚拟现实环境中转动观看用户的头)或任何其他交互。
[0082] 只要没有检测到相关动作504,空闲片段可以继续循环。如果检测到动作,片段选择模块330响应于检测到的动作选择506片段。选择的片段描绘了具有与检测到的特定动作相关的表情的目标用户。例如,所选择的片段可以描绘目标用户的表情,该表情模仿观看用户表达的情感或对其做出反应。例如,如果观看用户选择“点赞”表情符号,则可以选择与快乐或赞同相关联的片段。如果观看用户选择“愤怒”表情符号,则可以选择与愤怒表情相关联的片段。类似地,如果观看用户的视频检测到观看用户笑,则可以选择目标用户笑的片段。
[0083] 然后,所选择的情绪片段被提供508给观看用户的客户端设备110,以显示在反应性简档图片中。例如,在所选片段的起始处的多个重叠帧可以与空闲片段结束处的重叠帧混合,以便给出从中性表情到所选表情的自然过渡的表象。在提供所选片段之后,反应性简档图片然后可以类似地过渡510回到空闲片段。例如,所选片段结束处的重叠帧可以与空闲片段起始处的重叠帧混合,以使反应性简档图片自然地过渡回到中性表情。然后,该过程可以在空闲片段继续循环的情况下重新开始。
[0084] 在一个实施例中,可以应用混合算法来将从其过渡的片段中的结束重叠帧与过渡到的片段中的开始重叠帧混合。当在片段之间过渡或循环片段(例如,空闲片段)时,可以使用相同的混合过程。例如,在实施例中,确定对齐和扭曲变换的第一序列,该序列对齐(从其过渡的)片段的结束重叠帧的集合中的整体图像,并扭曲结束重叠帧的集合中的图像,以将结束重叠帧的集合中面部标志的位置对齐到它们在(过渡到的)开始重叠帧的集合的对应帧中的位置。例如,在每端具有M个重叠帧的一个N个帧的片段中,确定第一变换T1以将帧1对齐并扭曲到帧N-M+1,确定第二变换T2以将帧2对齐并扭曲到帧N-M+2,等等。然后对变换进行加权(例如,在重叠帧集合的持续时间内,利用从0增加到1的权重),以生成加权的变换序列。加权的变换序列被应用于从其过渡的结束重叠帧的集合,使得扭曲没有应用于结束重叠帧的集合中的第一帧,而完全扭曲被应用于结束重叠帧的集合中的最后一帧。在从其过渡的重叠帧的集合的持续时间内,扭曲量(例如,线性或非线性地)增加。类似地,确定对齐和扭曲变换的第二序列,该序列对齐(过渡到的)开始重叠帧的集合中的整体图像并扭曲图像,以将开始重叠帧的集合中面部标志的位置对齐到它们在(从其过渡的)结束重叠帧的集合的对应帧中的位置。例如,第二变换序列可以是第一变换序列的逆变换。第二变换集合也被加权(例如,在片段的持续时间内利用从1减小到0的权重),并且被应用到开始重叠帧的集合,使得完全扭曲被应用于开始重叠帧的集合中的第一帧,而没有扭曲被应用于开始重叠帧的集合的最后一帧。在过渡到的重叠帧集合的持续时间内,扭曲量(例如,线性或非线性地)减小。然后,扭曲的重叠帧集合被混合在一起。例如,可以应用加权的混合,其中从1减小到0的权重被应用到从其过渡的结束重叠帧的集合,而从0增加到1的权重被应用过渡到的开始重叠帧的集合。
[0085] 使用上述过程,反应性简档图片看起来以类似于典型的人与人交互的方式对观看用户的动作做出反应。这为观看用户创造了更加亲密和真实的体验。
[0086] 来自单个输入图像的反应性简档图片
[0087] 在替代实施例中,可以从目标用户的单个输入图像而不是从视频输入生成目标用户的反应性简档图片。在该实施例中,通过动画化输入图像来合成目标用户的表情。有益的是,在该实施例中,目标用户不一定需要提供描绘各种表情的输入视频。因此,可以基于用户的现有简档图像来在在线系统140中引入反应性简档图片特征,而用户不必提供任何新的输入视频来激活该特征。对于这种特征,目标用户可以选择加入该特征,以使得能够从由目标用户提供的存储的简档图像生成反应性简档图片,从而该特征在没有目标用户同意的情况下不可用。
[0088] 图6示出了片段获取模块310的示例实施例,片段获取模块310可用于从目标用户的单个输入图像生成情绪片段。驱动器视频(driver video)储存器610存储驱动器视频库,每个视频描绘执行与不同反应或情绪相关的表情序列的不同主体。驱动器视频可以类似于上述输入视频。在线系统140可以使驱动器视频中描绘的用户能够选择加入被包括在库中,使得用户同意使用驱动器视频来驱动其他用户的反应性简档图片,如下所述。
[0089] 驱动器视频选择模块620选择与输入图像最匹配的驱动器视频。例如,在一个实施例中,可以在目标用户的输入图像和每个驱动器视频中的参考帧(例如,空闲帧)之间确定相似性度量。驱动器视频选择模块620然后可以选择其中主体与目标用户具有最佳相似性的驱动器视频。在实施例中,相似性度量可以基于输入图像与驱动器主体参考图像中的面部标志之间的距离(例如,使用L2范数距离度量)来确定。在另一个实施例中,可以使用各种元数据来确定相似性。例如,可以比较指示种族、性别、年龄或其他信息的元数据,以确定最有可能具有与目标用户相似外表的驱动器主体。
[0090] 扭曲模块630将扭曲序列应用于输入图像,以生成输出图像序列。这里,每个输出图像对应于驱动器视频的帧之一,并且针对给定帧应用的扭曲是基于将驱动器视频的空闲帧中面部标志的位置变换至驱动器视频的给定帧的变换。因此,输出视频的每一帧扭曲输入图像,以匹配驱动器视频中面部标志的移动。以这种方式,(基于输入图像的)输出视频中的面部表情模仿驱动器视频中的主体表情。
[0091] 根据上述变换简单地扭曲输入图像可能导致输出视频中的各种伪像(artifact)。例如,诸如眼睑、牙齿和舌头的面部特征可能在输入图像中被遮挡。因此,例如,如果驱动器视频的主体张开她的嘴,由于嘴的内部被遮挡并且不存在于输入图像中,所以从扭曲输入图像生成的对应帧将在嘴部区域中描绘嘴唇的拉伸部分。为了减少这些伪像,合成模块640可以在生成输出帧时合成输入图像的潜在遮挡的面部特征。例如,在一个实施例中,眼睛和嘴的内部部分(例如,嘴唇内部)可以在每个扭曲帧处从驱动器图像转移到输入图像上。因此,输出视频可以实际地描绘驱动器主体的眼睛和嘴的内部,来代替输入图像的主体的那些面部特征。在实施例中,合成模块640可以应用各种颜色匹配和混合算法,以使合成的面部特征看起来自然。
[0092] 图7示出了用于从单个输入图像生成反应性简档图片的视频片段的过程的实施例。首先选择702驱动器视频,其将被用于从可用驱动器视频的库生成输出视频。例如,可以基于面部标志分析、描述性元数据或因素的组合来选择描绘与输入图像的主体最相似的主体的驱动器视频。
[0093] 然后确定704驱动器视频的空闲帧和输入图像之间的变换。例如,变换可以表示驱动器视频的空闲帧中面部标志的位置到输入图像中对应面部标志的位置的映射。然后,变换被应用706到驱动器视频的每一帧。该变换扭曲驱动器视频的每一帧,以生成扭曲的驱动器视频,其中面部标志被重新定位,以更好地对应于输入图像的主体。
[0094] 然后确定708变换序列,该变换序列针对扭曲的驱动器视频的每一帧表示将驱动器视频的扭曲的空闲帧映射到扭曲的驱动器视频的每个其他帧的变换。这些变换指示扭曲的驱动器视频中的面部特征点如何在驱动器主体表达不同的个人表情时,从空闲帧中的中性表情变化到扭曲的驱动器视频中的每个其他帧。然后,变换序列被分别应用710到输入图像,以生成输出帧序列。例如,将序列中的第一变换应用于输入图像以生成输出视频的第一帧,将序列中的第二变换应用于输入图像以生成输出视频的第二帧,以此类推。输出帧产生输出视频,其中输入图像被扭曲以模仿驱动器主体在驱动器视频中做出的表情。
[0095] 在一个实施例中,为了避免输出视频中的常见伪像,可以合成输入图像中被遮挡的面部特征。例如,扭曲的驱动视频中的驱动器主体的面部部分(如他们的眼睛和/或嘴的内部)可以被直接复制到输出视频。
[0096] 然后,获得的视频可被分割成不同的表情片段并被应用以使用上述技术生成反应性简档图片。
[0097] 在替代实施例中,代替在从输入图像和驱动器视频生成输出视频之后将其进行分割,可以替代地从驱动器视频的不同预分割的片段分别生成多个不同的情绪片段。因此,在该实施例中,情绪片段直接从驱动器视频的片段生成。
[0098] 附加实施例
[0099] 在适用于上述任何实施例的其他实现中,也可以检测不一定对应于面部特征的附加特征。例如,运动跟踪算法可以检测和跟踪上身的各个部分、头发或其他非面部特征。这些附加特征可用于与上述面部标志一起计算帧之间的相似性度量和变换。在实施例中,在计算相似性度量或变换时,可以以与面部特征不同的方式对非面部特征进行加权。
[0100] 在其他替代实施方式中,除了执行上述处理之外,图像帧可以被预处理以将主体的头部或其部分对齐到空闲图像或其他参考。在另外的实施例中,可以应用颜色匹配技术来补偿图像帧之间的色差。
[0101] 结论
[0102] 实施例的前述描述为了说明的目的被提出;它并不旨在是详尽无遗漏的或将专利权限制到所公开的精确形式。相关领域中的技术人员可以认识到,按照上面的公开,许多修改和变化是可能的。
[0103] 本描述的一些部分从对信息的操作的算法和符号表示方面描述了实施例。数据处理领域的技术人员通常使用这些算法描述和表示来向本领域的其他技术人员有效地传达他们工作的实质。这些操作虽然在功能上、计算上或逻辑上进行了描述,但应理解为由计算机程序或等效电路微码等来实现。此外,在不失一般性的情况下将操作的这些布置称为模块有时候也被证明是方便的。所描述的操作和它们的相关模块可以体现在软件固件硬件或其任何组合中。
[0104] 可以利用一个或更多个硬件或软件模块单独地或与其他设备组合地来执行或实现本文描述的任何步骤、操作或过程。在一个实施例中,利用包括包含计算机程序代码的计算机可读介质的计算机程序产品来实现软件模块,计算机程序代码可由计算机处理器执行,用于执行所描述的任何或全部步骤、操作或过程。
[0105] 实施例也可以涉及用于执行本文的操作的装置。该装置可以被特别构造成用于所需的目的,和/或它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这种计算机程序可以存储在非临时的有形计算机可读存储介质或者适合于存储电子指令的任何类型的介质中,介质可以耦合到计算机系统总线。此外,在说明书中提到的任何计算系统可以包括单个处理器,或者可以是为了提高的计算能力而采用多种处理器设计的体系结构。
[0106] 实施例也可以涉及由本文所述的计算过程产生的产品。这样的产品可以包括由计算过程产生的信息,其中信息被存储在非临时的有形计算机可读存储介质上且可以包括计算机程序产品或本文所述的其他数据组合的任何实施例。
[0107] 最后,在说明书中使用的语言主要为了可读性和指导目的而被选择,并且它可以不被选择来划定或限制专利权。因此,意图是专利权的范围不由该详细描述限制,而是由在基于其的申请上发布的任何权利要求限制。因此,实施例的公开意图对专利权的范围是说明性的,而不是限制性的,在所附权利要求中阐述了专利权的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈