对象显示方法和装置与流程

文档序号:11961412阅读:253来源:国知局
对象显示方法和装置与流程

本发明涉及数据处理领域,具体而言,涉及一种对象显示方法和装置。



背景技术:

在现有社会中,随着网络直播平台和视频直播的普及和流行,用户可以通过网络直播平台观看由视频直播者(例如,网络主播)提供的唱歌、跳舞等娱乐节目,用户在观看直播节目的过程中,还可以通过赠送虚拟礼物的方式来表达对主播的喜爱。在赠送礼物时,如果观众赠送的都是相同或者类似的礼物特效,主播会感到没有新鲜感和惊喜,但是独一无二的、个性化的礼物特效除了可以让主播在收到礼物时获得惊喜感外,还可以满足赠送者的成就感以及荣耀感。

一般地,由于即时视频特效生成技术和可视化技术的局限性,导致为主播赠送的礼物特效难以实现个性化需求,即同一个礼物特效在不同主播、不同视频分辨率下,只会以同一大小、同一位置和同一特效效果的形式展示。因此,现有技术中为主播赠送礼物特效的方案,存在特效播放期间位置不可移动、大小不可改变的问题,更不能根据不同主播的不同特点(例如,主播的五官特征、兴趣爱好)来个性化展示不同的特效效果。如此单一、普通的特效生成和展示模式,容易导致收礼者和送礼者失去对礼物的新鲜感和期待感,更无法满足更高层次的个性化互动需求。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种对象显示方法和装置,以至少解决现有技术中对用户展示的对象的显示效果比较单一的技术问题。

根据本发明实施例的一个方面,提供了一种对象显示方法,包括:获取第一用户的特征,其中,来自所述第一用户的视频流用于在一个或多个第二用户侧进行播放;获取所述一个或多个第二用户中的至少一个第二用户向所述第一用户发送的对象;根据所述第一用户的特征对所述对象进行显示效果的调整,并按照所述显示效果显示所述对象。

可选地,获取所述第一用户的特征包括以下至少之一:所述第一用户的用于指示所述第一用户喜好的喜好参数;所述第一用户的脸部特征。

可选地,所述喜好参数根据以下至少之一得到:所述第一用户预先设置的;根据所述第一用户的行为推算的;根据所述第一用户的用户资料推算的,其中,所述用户资料包括以下至少之一:年龄、性别、民族、居住地、籍贯地、学历、昵称。

可选地,所述第一用户的脸部特征包括以下至少之一:所述第一用户脸部的位置、所述第一用户脸部的大小、所述第一用户脸部的表情。

可选地,获取所述第一用户的脸部特征包括:对所述视频流进行单元化帧处理得到视频帧;对所述视频帧进行人脸检测得到所述第一用户的脸部特征。

可选地,从所述视频帧进行人脸检测得到所述第一用户的脸部特征包括:第一检测步骤,在第一视频帧中检测所述第一用户的脸部特征;判断步骤,判断从所述第一视频帧中是否识别到所述第一用户的脸部特征;如果判断出未识别到所述第一用户的脸部特征,则将所述第一视频帧的下一个视频帧作为所述第一视频帧重复执行所述第一检测步骤;如果判断出检测到所述第一用户的脸部特征,则记录包括所述第一用户的脸部特征的脸部区域,并执行第二检测步骤;直至在最后一个视频帧中检测所述第一用户的脸部特征;所述第二检测步骤,在预设区域中检测第二视频帧中所述第一用户的脸部特征,其中,所述脸部区域为所述预设区域中的部分区域。

可选地,所述第二检测步骤包括:检测子步骤,在所述预设区域中检测所述第二视频帧中所述第一用户的脸部特征;判断子步骤,判断在所述第二视频帧中是否检测到所述第一用户的脸部特征;如果判断出在所述第二视频帧中未检测到所述第一用户的脸部特征,则将所述第二视频帧作为所述第一视频帧,执行所述第一检测步骤;如果判断出在所述第二视频帧中检测到所述第一用户的脸部特征,则记录所述第二视频帧的脸部区域,将第三视频帧作为所述第二视频帧,并将所述第二视频帧的脸部区域作为所述第一视频帧的脸部区域,重复执行所述检测子步骤。

可选地,对所述视频帧进行人脸检测得到所述第一用户的脸部特征还包括:获取所述视频帧的显示参数;根据所述显示参数对所述视频帧进行人脸检测得到所述第一用户的脸部特征。

可选地,根据所述显示参数对所述视频帧进行人脸检测得到所述第一用户的脸部特征包括:根据所述视频帧的分辨率对所述视频帧中的人脸的大小和/或位置进行调整;调整之后进行人脸检测得到所述第一用户的脸部特征。

可选地,根据所述视频帧的分辨率对所述视频帧中的人脸的大小和/或位置进行调整包括:判断所述视频帧的分辨率是否大于预设分辨率;如果判断出所述视频帧的分辨率大于预设分辨率,则将所述视频帧的分辨率按照第一预设比例进行缩放,得到调整之后的所述视频帧中的人脸的大小和/或位置,其中,所述第一预设比例为所述预设分辨率与所述视频帧的分辨率的比值。

可选地,在对所述视频帧进行人脸检测得到所述第一用户的脸部特征之后,所述方法还包括:获取所述第二用户侧的显示器中视频显示窗口的大小;根据所述第二用户侧的显示器中视频显示窗口的大小对检测到的包括所述第一用户的脸部特征的人脸区域的位置和/或大小进行修正。

可选地,根据所述第二用户侧的显示器中视频显示窗口的大小对检测到的包括所述第一用户的脸部特征的人脸区域的位置和/或大小进行修正包括:将所述人脸区域的位置和/或大小按照第二预设比例进行修正,得到修正之后的所述第一用户的脸部特征的人脸区域的位置和/或大小,其中,所述第二预设比例为所述视频帧的分辨率和所述第二用户侧的显示器中视频显示窗口的大小的比值。

可选地,所述显示效果包括以下至少之一:在所述对象上增加显示内容、调整所述对象的显示颜色、调整所述对象的位置、调整所述对象的大小。

可选地,在所述对象上增加的所述显示内容和/或所述对象的显示颜色根据以下至少之一确定:所述喜好参数、所述第一用户脸部的表情;和/或,调整所述对象的位置和/或调整所述对象的大小根据所述第一用户脸部特征确定。

可选地,获取所述第一用户的脸部特征包括:将所述视频流以映射文件的形式保存在内存中;获取所述视频流的每个视频帧中所述第一用户的脸部特征。

根据本发明实施例的另一方面,还提供了一种对象显示装置,包括:第一获取模块,用于获取第一用户的特征,其中,来自所述第一用户的视频流用于在一个或多个第二用户侧进行播放;第二获取模块,用于获取所述一个或多个第二用户中的至少一个第二用户向所述第一用户发送的对象;调整模块,用于根据所述第一用户的特征对所述对象进行显示效果的调整,并按照所述显示效果显示所述对象。

可选地,所述第一获取模块用于获取以下至少之一:所述第一用户的用于指示所述第一用户喜好的喜好参数;所述第一用户的脸部特征。

可选地,所述第一获取模块通过以下至少之一的方式获取到所述喜好参数:所述第一用户预先设置的;根据所述第一用户的行为推算的;根据所述第一用户的用户资料推算的,其中,所述用户资料包括以下至少之一:年龄、性别、民族、居住地、籍贯地、学历、昵称。

可选地,所述第一用户的脸部特征包括以下至少之一:所述第一用户脸部的位置、所述第一用户脸部的大小、所述第一用户脸部的表情。

可选地,所述第一获取模块用于:对所述视频流进行单元化帧处理得到视频帧;对所述视频帧进行人脸检测得到所述第一用户的脸部特征。

可选地,所述第一获取模块包括:第一检测单元,在第一视频帧中检测所述第一用户的脸部特征;判断单元,判断从所述第一视频帧中是否识别到所述第一用户的脸部特征;如果判断出未识别到所述第一用户的脸部特征,则将所述第一视频帧的下一个视频帧作为所述第一视频帧,通过所述第一检测单元在第一视频帧中检测所述第一用户的脸部特征;如果判断出检测到所述第一用户的脸部特征,则记录包括所述第一用户的脸部特征的脸部区域,并通过第二检测单元在预设区域中检测第二视频帧中所述第一用户的脸部特征;直至在最后一个视频帧中检测所述第一用户的脸部特征;所述第二检测单元,在预设区域中检测第二视频帧中所述第一用户的脸部特征,其中,所述脸部区域为所述预设区域中的部分区域。

可选地,所述第二检测单元用于:在所述预设区域中检测所述第二视频帧中所述第一用户的脸部特征;判断在所述第二视频帧中是否检测到所述第一用户的脸部特征;如果判断出在所述第二视频帧中未检测到所述第一用户的脸部特征,则将所述第二视频帧作为所述第一视频帧,通过所述第一检测单元在第一视频帧中检测所述第一用户的脸部特征;如果判断出在所述第二视频帧中检测到所述第一用户的脸部特征,则记录所述第二视频帧的脸部区域,将第三视频帧作为所述第二视频帧,并将所述第二视频帧的脸部区域作为所述第一视频帧的脸部区域,再次在所述预设区域中检测所述第二视频帧中所述第一用户的脸部特征。

可选地,所述第一获取模块还用于:获取所述视频帧的显示参数;根据所述显示参数对所述视频帧进行人脸检测得到所述第一用户的脸部特征。

可选地,所述第一获取模块还用于:根据所述视频帧的分辨率对所述视频帧中的人脸的大小和/或位置进行调整;调整之后进行人脸检测得到所述第一用户的脸部特征。

可选地,所述第一获取模块还用于:判断所述视频帧的分辨率是否大于预设分辨率;如果判断出所述视频帧的分辨率大于预设分辨率,则将所述视频帧的分辨率按照第一预设比例进行缩放,得到调整之后的所述视频帧中的人脸的大小和/或位置,其中,所述第一预设比例为所述预设分辨率与所述视频帧的分辨率的比值。

可选地,所述装置还包括:第三获取模块,用于获取所述第二用户侧的显示器中视频显示窗口的大小;修正模块,用于在根据所述显示参数对所述视频帧进行人脸检测得到所述第一用户的脸部特征之后,根据所述第二用户侧的显示器中视频显示窗口的大小对检测到的包括所述第一用户的脸部特征的人脸区域的位置和/或大小进行修正。

可选地,所述修正模块用于:将所述人脸区域的位置和/或大小按照第二预设比例进行修正,得到修正之后的所述第一用户的脸部特征的人脸区域的位置和/或大小,其中,所述第二预设比例为所述视频帧的分辨率和所述第二用户侧的显示器中视频显示窗口的大小的比值。

可选地,所述显示效果包括以下至少之一:在所述对象上增加显示内容、调整所述对象的显示颜色、调整所述对象的位置、调整所述对象的大小。

可选地,在所述对象上增加的所述显示内容和/或所述对象的显示颜色根据以下至少之一确定:所述喜好参数、所述第一用户脸部的表情;和/或,调整所述对象的位置和/或调整所述对象的大小根据所述第一用户脸部特征确定。

可选地,所述第一获取模块用于:将所述视频流以映射文件的形式保存在内存中;获取所述视频流的每个视频帧中所述第一用户的脸部特征。

在本发明实施例中,采用获取第一用户的特征,其中,来自所述第一用户的视频流用于在一个或多个第二用户侧进行播放;获取所述一个或多个第二用户中的至少一个第二用户向所述第一用户发送的对象;根据所述第一用户的特征对所述对象进行显示效果的调整,并按照所述显示效果显示所述对象的方式,通过获取到的第一用户的特征,来调整第二用户为第一用户发送的对象的显示效果的方式,相对于现有技术中不能依据第一用户的特征对对象的显示效果进行调整的方式,达到了为不同的用户添加不同显示效果的对象的目的,从而实现了提高了为用户添加的对象的显示效果的多样性的技术效果,进而解决了现有技术中对用户展示的对象的显示效果比较单一的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种对象显示方法的流程图;

图2是根据本发明实施例的另一种对象显示方法的流程图;

图3是根据本发明实施例的一种对象显示装置的示意图一;

图4是根据本发明实施例的一种对象显示装置的示意图二;

图5是根据本发明实施例的一种对象显示装置的示意图三;

图6是根据本发明实施例的一种对象显示装置的示意图;

图7是根据本发明实施例的一种视频流接收单元的示意图;

图8是根据本发明实施例的另一种视频流接收单元的示意图;

图9是根据本发明实施例的一种人脸识别单元的示意图;

图10是根据本发明实施例的一种礼物特效动画生成单元示意图;

图11是根据本发明实施例的一种礼物特效动画可视化单元的示意图;以及

图12是根据本发明实施例的一种可选地对象显示装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种对象显示方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种对象显示方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取第一用户的特征,其中,来自第一用户的视频流用于在一个或多个第二用户侧进行播放。

本发明实施例提供的对象显示方法可以应用在网络直播平台或者视频直播平台。如果应用在网络直播平台,则第一用户可以是网络直播过程中的主播,第二用户可以是观看直播的用户(即,观众),此时,主播在直播过程中的视频流可以在一个或多个观众的客户端中进行播放。

步骤S104,获取一个或多个第二用户中的至少一个第二用户向第一用户发送的对象。

在本发明实施例中,对象可以为任一个特效动画,例如,爱的帽子或者暖心围巾等特效。一个或多个第二用户可以同时向第一用户发送特效动画,在第一用户的客户端可以根据至少一个第二用户的发送时间顺序对应地显示特效动画,在至少一个第二用户端的客户端,会根据每个第二用户发送的特效动画,在该第二用户对应的客户端显示该特效动画。

步骤S106,根据第一用户的特征对对象进行显示效果的调整,并按照显示效果显示对象。

在本发明实施例中,可以通过用户的喜好和该第一用户的脸部特征调整对象上增加的显示内容,以及调整对象的显示颜色,以实现对显示效果的调整,就一个对象而言(例如,爱心帽子),当获取到不同的喜好和脸部特征时,对象会根据喜好和脸部特征在对象上添加显示内容,以及调整对象的颜色。例如,主播A喜欢粉色,则可以显示一个粉色的爱心帽子,如果主播A喜欢蓝色,则可以显示一个蓝色的爱心帽子;又例如,主播A喜欢猫耳朵的帽子,则可以将该爱心帽子显示为粉色猫耳朵帽子等。

在本发明实施例中,除了上述根据脸部特征和喜好调整对象的显示效果之外,还可以根据第一用户脸部特征调整对象的位置和/或调整对象的大小,以实现对显示效果的调整。一般情况下,所添加的对象的大小和位置不会随第一用户的变化而变化,在本发明中,为第一用户所添加的对象的大小和位置可以根据第一用户的脸部特征的变化而变化。例如,第一用户向前移动,或者向后移动,都会导致在第一用户的脸部大小发生变化,此时,通过本发明提供的对象显示方法,可以自动地调整对象的大小,同时调整对象的位置,以保证对象能够准确地添加给第一用户。

在本发明实施例中,通过获取到的第一用户的特征,来调整第二用户为第一用户发送的对象的显示效果的方式,相对于现有技术中不能依据第一用户的特征对对象的显示效果进行调整的方式,达到了为不同的用户添加不同显示效果的对象的目的,从而实现了为用户添加的对象的显示效果的多样性,进而解决了现有技术中对用户展示的对象的显示效果比较单一的技术问题。

需要说明的是,本发明实施例提供的对象显示方法并不限定于仅用于网络直播平台,还可以应用在即时通信视频中。具体地,如果本发明实施例提供的对象显示方法应用在即时通信视频中,则第一用户和第二用户并不限定于是主播还是观看直播的用户(即,观众),此时,第一用户的视频流还可以在一个或多个第二用户的客户端中进行播放,进一步地,第二用户的视频流也可以在一个或多个第一用户的客户端中进行播放,并且上述第一用户和第二用户可以互相发送对象(即,特效动画)。

需要说明的是,在本发明下述实施例中,第一用户均以“主播”,第二用户均以“观众”,对象均以“特效动画”为例进行说明。

在本发明的一个可选实施方式中,获取到的第一用户的特征,包括以下至少之一:第一用户的用于指示第一用户喜好的喜好参数,以及第一用户的脸部特征。

在步骤S106中的描述可知,主播的喜好参数可以为多种,例如,颜色、形状、卡通效果等喜好参数。需要说明的是,在本发明实施例中,主播可以根据自己的喜好对应的设置喜好参数,并保存在对应的数据库中,当观众向主播发送特效时,可以根据预先存储在数据库中的喜好参数来调整该特效的显示效果。

第一用户的脸部特征可以为以下至少之一:第一用户脸部的位置、第一用户脸部的大小、第一用户脸部的表情。其中,主播(即,第一用户)脸部的位置是指主播的脸在观众端或者主播端的视频显示窗口中的相对位置,主播脸部的大小是指主播的脸在视频显示窗口中的大小,主播脸部的表情可以有很多种,例如,微笑、大笑、苦恼、忧愁、烦恼等多种表情。需要说明的是,可以通过人脸识别技术在视频流中识别人脸,还可以通过上述人脸识别技术识别人脸的表情。

具体地,当至少一个观众向主播发送特效时,可以读取当前主播在数据库中预先存储的喜爱参数,不同主播在数据库中存储的喜爱参数都不一样,例如,主播A在数据库中记录为喜欢红色、喜欢兔子等内容,主播B在数据库中记录为喜欢蓝色、喜欢猫等内容。

由于主播记录的喜好参数可以有很多个,因此,在本发明实施例中,可以在数据库中随机选择2到3个喜爱参数,例如,主播A的喜爱特征为喜欢红色、喜欢兔子,而主播B的喜爱特征为喜欢蓝色、喜欢猫。那么在主播A侧,可以生成以一些红色或者带有兔子外形的物件为内容的个性化特效动画,而在主播B侧,将会生成一些蓝色或者带有猫外形的物件为内容的个性化特效动画。

例如,主播A和主播B同时接收到同一个带有特效动画效果的特效对象:虚拟礼物“爱的帽子”,那么在主播A侧,将生成一顶红色帽子,帽子上会带有一对兔子耳朵作为装饰;而在主播B侧,将生成一顶蓝色帽子,帽子上会带有一对猫耳朵作为装饰。

需要说明的是,在本发明可选实施例中,可生成的内容不仅限于帽子,所有和人脸部位相关和相邻的区域,例如,五官、脸部、头部、颈部、肩部和胸部等区域都可以根据人脸位置和大小进行定位并生成相关的特效内容,而主播的兴趣爱好也不限于颜色和动物。因此,采用本发明实施例提供的对象显示方法可以根据主播的不同特征进行丰富的个性化内容展示。

在本发明上述实施例中已经举例说明喜好参数可以为第一用户预先设置的,即主播手动设置,除该方式之外,还可以根据以下至少之一得到该喜好参数,例如,根据第一用户的行为推算的,或者根据第一用户的用户资料推算的,其中,用户资料包括以下至少之一:年龄、性别、民族、居住地、籍贯地、学历、昵称。

具体地,根据第一用户的行为推算的可以为该主播在主播侧的操作行为,例如,观众向主播发送了一个特效对象,主播在喜欢该特效时,可以向观众发送感谢信息,以表示答谢,此时可以将该行为记录下来。根据第一用户的用户资料推算可以为根据主播预先记录的个人资料来推荐主播的喜好,例如,主播记录的年龄为22岁,性别女,民族苗族,则可以根据为主播选择一个粉色,兔子耳朵的帽子;例如,主播记录的年龄为35岁,性别女,则可以为主播选择一个黑色圆边帽檐的帽子。

在视频流中获取脸部特征的方式有很多种,在本发明实施方式中,可以首先对视频流进行单元化帧处理得到视频帧,然后,对视频帧进行人脸检测得到第一用户的脸部特征。

图2是根据本发明实施例的一种检测第一用户的脸部特征的流程图,如图2所示,该方法包括如下步骤:

步骤S202,即,第一检测步骤,在第一个视频帧中检测第一用户的脸部特征;

步骤S204,即,判断步骤,判断从第一视频帧中是否识别到第一用户的脸部特征;其中,如果判断出未识别到第一用户的脸部特征,则执行下述步骤S206;如果判断出检测到第一用户的脸部特征,则执行记录包括第一用户的脸部特征的脸部区域,并在预设区域中检测第二视频帧中第一用户的脸部特征,即第二检测步骤,直至在最后一个视频帧中检测第一用户的脸部特征;

步骤S206,将第一视频帧的下一个视频帧作为第一视频帧,并重复执行第一检测步骤;

其中,第二检测步骤包括:

步骤S208,即,检测子步骤,记录包括第一用户的脸部特征的脸部区域,并在预设区域中检测第二视频帧中第一用户的脸部特征;

步骤S210,即,判断子步骤,判断在第二视频帧中是否检测到第一用户的脸部特征;其中,如果判断出在第二视频帧中未检测到第一用户的脸部特征,则执行下述步骤S212;如果判断出在第二视频帧中检测到第一用户的脸部特征,则执行步骤S214;

步骤S212,将第二视频帧作为第一视频帧,并返回执行第一检测步骤;

步骤S214,记录第二视频帧的脸部区域,将第三视频帧作为第二视频帧,并将第二视频帧的脸部区域作为第一视频帧的脸部区域,并重复执行检测子步骤。

在本发明实施例中,可以使用人脸矩形模型faceRect(x,y,w,h)检测第一个视频帧中第一用户(即,主播)的脸部特征,其中,检测的内容包括但不仅限于眼睛、耳朵、鼻子、嘴巴和嘴部细节等。

具体地,人脸矩形模型以视频显示窗口左上角为坐标原点O(x,y)=(0,0),检测一个人脸矩形模型faceRect(x,y,w,h),其中,x和y为矩形左上角相对于视频坐标原点的相对坐标值,w和h为矩形对应的宽度值和高度值。因此,检测到的人脸矩形的四个点对应视频显示窗口的原点坐标的相对位置为:矩形左上角O(x,y);右上角O(x+w,y);左下角O(x,y+h);右下角O(x+w,y+h),其中,在检测到该人脸矩形之后,将该人脸矩形作为人脸区域。

一般地,在视频流的连续视频帧中,第A帧和第A+1帧的内容相差不会很大,也就是说,如果第A帧和第A+1帧都存在人脸,那么第A帧和第A+1帧中的人脸位置不会相差太大。因此,在检测第A+1帧时,不需要从坐标原点开始检测,而是在第A帧检测到人脸区域的位置附近进行检测,即有很大概率能检测出人脸,其中,人脸区域的位置附近即为上述预设区域。

根据上述特征对人脸检测算法进行优化后,将会大大提高检测性能,具体步骤如下:在连续的视频帧中,首先执行第一检测步骤,即从视频显示窗口的坐标原点开始检测第A帧(第A帧的起始帧为视频流的第一个视频帧)。

接下来执行判断步骤,即判断从第A帧中是否能够检测到第一用户(例如,主播)的脸部特征,其中,如果能够检测到人脸矩形faceRect(x,y,w,h),则将该人脸矩形信息保存下来,作为第A帧的人脸区域,并执行第二检测步骤中的检测子步骤,即在第一区域中检测第A+1(即,第二视频帧)帧的人脸特征,也就是说,在检测第A+1帧的时候,可以从第A帧中记录下来的人脸矩形faceRect(x,y,w,h)的“周围”开始检测,即在预设区域中检测第A+1帧的人脸特征。例如,在一个宽度为w+2σ,高度为h+2σ的矩形区域S(w+2σ,h+2σ)(即,上述预设区域)内检测人脸。如果在判断步骤中判断出未检测到人脸特征,则从视频显示窗口的坐标原点开始检测第A+1帧。

然后,执行第二检测步骤中的判断子步骤,判断在第A+1帧是否检测到第一用户的脸部特征,其中,如果在该区域内检测到人脸,则将第A+1帧中检测到的人脸矩形信息保存下来,并在第A+1帧中记录下来的人脸矩形faceRect(x,y,w,h)的“周围”开始检测第A+2帧中的人脸特征。如果在该区域内检测不到人脸特征,则返回执行第一检测步骤,即从坐标原点开始检测人脸特征。

在本发明上述实施例中,重复上述第一检测步骤、判断步骤和第二检测步骤可以形成一个循环,利用这个循环可以高效地检测出人脸矩形(即,人脸区域)的相关信息,进而确定脸部区域和脸部特征。

进一步地,在本发明上述实施例中,由于上述第一检测步骤、判断步骤和第二检测步骤中所描述的人脸检测算法会对每个视频帧进行上述步骤的反复循环操作。虽然在前面第一检测步骤、判断步骤和第二检测步骤中已对人脸矩形的检测算法进行了优化,但为了更进一步地减少计算量,还可以获取视频帧的显示参数,然后,根据显示参数对视频帧进行人脸检测得到第一用户的脸部特征。其中,如果显示参数为视频帧的分辨率,则根据显示参数对视频帧进行人脸检测得到第一用户的脸部特征具体为:根据视频帧的分辨率对视频帧中的人脸的大小和/或位置进行调整,然后,调整之后进行人脸检测得到第一用户的脸部特征。

具体地,根据视频帧的分辨率对视频帧中的人脸的大小和/或位置进行调整具体为:判断视频帧的分辨率是否大于预设分辨率;如果判断出视频帧的分辨率大于预设分辨率,则将视频帧的分辨率按照第一预设比例进行缩放,得到调整之后的视频帧中的人脸的大小和/或位置,其中,第一预设比例为预设分辨率与视频帧的分辨率的比值。

在本发明实施例中,通过对第一用户侧的视频中的每一帧视频图像数据进行压缩处理,然后,在压缩后的图像上进行人脸检测操作,以获得压缩的人脸矩形的位置和大小,再对该人脸矩形的位置和大小进行放大还原处理的处理方式,提高人脸检测的效率。

下面详细介绍上述进一步对人脸检测进行优化的处理方法。首先,可以根据实验结果设置一个默认的压缩后的视频分辨率(即,上述预设分辨率),也就是说视频流中的每一帧视频图像经过压缩后,分辨率图像大小都会变为D(w’,h’),其中,D(w’,h’)即为预设分辨率。由于D(w’,h’)的单位宽度和高度都是固定的,因此本发明实施例中提供的人脸检测算法可以复用与视频分辨率有关的内存,从而减少反复开辟内存的消耗。假设,原视频流中某一帧视频图像的原始分辨率为S(w,h),在判断出S(w,h)>D(w’,h’)成立的前提下,为了使得S(w,h)变为D(w’,h’),则要在原始分辨率S(w,h)的纵向和横向坐标上分别乘以缩放因子K(α,β)(即,上述第一预设比例),其中,K(α,β)=D(w’,h’)/S(w,h)。在本发明实施例中,视频图像的缩放操作可以在图形处理器(Graphics Processing Unit,简称为GPU)中进行。

在对原视频图像进行缩放之后,可以在大小为D(w’,h’)的视频图像中进行第一用户的脸部特征的检测,其中,如果检测到人脸矩形的位置和大小为F(x’,y’,w’,h’),则再将该人脸矩形F(x’,y’,w’,h’)乘以还原因子R(1/α,1/β),即可获得人脸在原视频图像中的位置和大小FW(x,y,w,h)=F(x’,y’,w’,h’)*R(1/α,1/β)。

在本发明另一可选实施方式中,在从视频帧进行人脸检测得到第一用户的脸部特征之后,还需对检测到的包含人脸部特征的人脸区域进行修正,具体修正的方法为:获取第二用户侧的显示器中视频显示窗口的大小,然后,根据第二用户侧的显示器中视频显示窗口的大小对检测到的包括第一用户的脸部特征的人脸区域的位置和/或大小进行修正,其中,根据第二用户侧的显示器中视频显示窗口的大小对检测到的包括第一用户的脸部特征的人脸区域的位置和/或大小进行修正包括:将人脸区域的位置和/或大小按照第二预设比例进行修正,得到修正之后的第一用户的脸部特征的人脸区域的位置和/或大小,其中,第二预设比例为视频帧的分辨率和第二用户侧的显示器中视频显示窗口的大小的比值。

通过上述方法对检测到的包含人脸部特征的人脸区域进行修正的原因有很多种,在本发明实施例中,主要包括以下几种原因:

原因一:由于第一用户侧的显示器和第二用户侧的显示器的尺寸不可能相同,所以第一用户侧的视频流到了第二用户侧后,在第二用户侧中的视频显示窗口大小会不一样,人脸位置也不一样,因此需要对不同大小的视频窗口下的人脸位置做修正。下面将对该原因进行具体介绍。

由于上述对脸部特征的检测过程是以视频图像的原始分辨率进行检测的,然而,实际在视频显示窗口中显示的视频可能会根据应用场景进行缩放和裁减。此时,就要对实际的视频显示窗口中的人脸的位置和大小进行缩放和偏移修正。例如,在观众端,会存在各种显示器下的不同分辨率的情况,如果都按同一分辨率显示视频,则会影响软件其它部分的展示,因此会根据每个观众端的显示器的实际分辨率的大小来改变视频显示窗口的大小。因此,在此情况下,就要对检测出来的人脸矩形的位置和大小进行修正。例如,原视频图像的分辨率为S(w,h),检测出的人脸矩形为FW(x,y,w,h),实际视频显示窗口的大小为W(w’,h’),则实际视频显示窗口中人脸矩形的位置和大小为FQ(x,y,w,h)=FW(x,y,w,h)*K(w/w’,h/h’),其中,K(w/w’,h/h’)即为上述第二预设比例,并且,K(w/w’,h/h’)=S(w,h)/W(w’,h’)。

原因二:当处于“视频连麦直播”的场景下时,还需对检测到的包含人脸部特征的人脸区域进行修正。下面将对该原因进行具体介绍。

如果主播(即,第一用户)使用了直播平台提供的“视频连麦直播”功能,则需要对上述中的人脸识别进行特殊处理。具体地,在“视频连麦直播”功能下,主播A可以和另一位主播B进行视频连麦,即同一个视频显示窗口中,会显示两个主播的视频,其中,主播A的视频在左侧,主播B的视频在右侧,两个视频各占一半。此时,主播A的视频只有平时视频的一半大小,而且截取的是主播A原始视频的中间部分,视频的左右两边内容将被去除。因此就需要偏移修正主播A的人脸矩形的位置和大小,偏移和修正得到新的人脸矩形的位置和大小例如:FQ(x,y,w,h)=FW(x,y,w,h)*K(w/w’,h/h’)+offset(wf,hf)。

原因三:为了去除视频帧中的非人脸物体而进行修正。下面将对该原因进行具体介绍。

在视频流的一个视频帧中可能会出现一些类似人脸,但不是人脸的物体,此时,由于视频直播平台的特殊性,主播的人脸在视频中占据的区域不会很小,所以需要对较小的人脸矩形进行过滤处理,即对于检测出的较小的人脸矩形进行忽略处理。

上述获取第一用户的脸部特征的方式可以有很多种,在本发明的可选实施方式中,获取第一用户的脸部特征可以为:首先将视频流以映射文件的形式保存在内存中,然后,获取视频流的每个视频帧中第一用户的脸部特征。

需要说明的是,在本发明实施例中,第一用户侧的原始视频流可以以映射文件的形式保存在系统内存中。由于在系统内存中的映射文件可以实现跨进程访问功能,因此在本发明中,可以直接获得视频流的相关数据,而不需要修改直播逻辑。

首先,本发明提供的对象显示方法和装置可应用在传统实时视频直播中,且无需对直播流程和视频流数据进行改动。

根据本发明提供的对象显示方法,当应用到网络直播平台中时,无需对视频重新解码、编码和修改视频流数据,无需在主播端进行一系列耗费CPU的操作,即不需要将特效动画数据和视频流数据进行流叠加处理并形成新的视频流,从而有效降低了主播端CPU消耗率。进一步地,由于无需对视频直播流程和视频流数据进行改动,因此,本发明提供的技术方案具有极高的复用性和移植性,即任何视频播放系统都无需作太多修改就可以很方便地加载本发明的方法进行人脸识别,得到人脸特征,并根据识别到的人脸特征为人脸添加特效动画。同时,采用本方案能够使得视频中的特效动画根据主播人脸的变化而变化,并能根据主播的不同特点进行个性化内容展示,从而让主播在收到独一无二的礼物时获得惊喜感、赠送者获得成就感,还可以满足直播平台的个性化互动需求。

本发明实施例还提供了一种对象显示装置,该对象显示装置主要用于执行本发明实施例上述内容所提供的对象显示方法,以下对本发明实施例所提供的对象显示装置做具体介绍。

图3是根据本发明实施例的一种对象显示装置的示意图一,如图3所示,该对象显示装置主要包括第一获取模块31、第二获取模块33和调整模块35,其中:

第一获取模块,用于获取第一用户的特征,其中,来自第一用户的视频流用于在一个或多个第二用户侧进行播放。

如果本发明实施例提供的对象显示方法应用在网络直播平台,则第一用户可以是网络直播过程中的主播,第二用户可以是观看直播的用户(即,观众),此时,主播在直播过程中的视频流在一个或多个观众的客户端中进行播放。

第二获取模块,用于获取一个或多个第二用户中的至少一个第二用户向第一用户发送的对象。

在本发明实施例中,对象可以为任一个特效对象,例如,爱的帽子或者暖心围巾等特效。一个或多个第二用户可以同时向第一用户发送特效对象,在第一用户的客户端可以根据至少一个第二用户的发送时间顺序对应地显示特效对象,在至少一个第二用户端的客户端,会根据每个第二用户发送的特效,在该第二用户对应的客户端显示该特效。

调整模块,用于根据第一用户的特征对对象进行显示效果的调整,并按照显示效果显示对象。

在本发明实施例中,第一用户的特征可以为该用户的喜好和该第一用户的脸部特征,具体将在下文中详细描述该特征。在获取到第一用户的特征,以及获取到至少一个第二用户向第一用户发送的对象之后,可以根据第一用户的喜好和脸部特征调整该对象的显示效果。也就是说,就一个对象而言(例如,爱心帽子),当获取到不同的喜好和脸部特征时,对象会显示不同的显示效果。例如,主播A喜欢粉色,则可以显示一个粉色的爱心帽子,如果主播A喜欢蓝色,则可以显示一个蓝色的爱心帽子;又例如,主播A喜欢猫耳朵的帽子,则可以将该爱心帽子显示为粉色猫耳朵帽子等。

在本发明实施例中,通过获取到的第一用户的特征,来调整第二用户为第一用户发送的对象的显示效果的方式,相对于现有技术中不能依据第一用户的特征对对象的显示效果进行调整的方式,达到了为不同的用户添加不同显示效果的对象的目的,从而提高了为用户添加的对象的显示效果的多样性,进而解决了现有技术中对用户展示的对象的显示效果比较单一的技术问题。

需要说明的是,本发明实施例提供的对象显示方法并不限定于仅用于网络直播平台,还可以应用在即时通信视频中。具体地,如果本发明实施例提供的对象显示方法应用在即时通信视频中,则第一用户和第二用户并不限定于是主播还是观看直播的用户(即,观众),此时,第一用户的视频流可以在一个或多个第二用户的客户端中进行播放,进一步地,第二用户的视频流也可以在一个或多个第一用户的客户端中进行播放,并且上述第一用户和第二用户可以互相发送对象。

可选地,第一获取模块用于获取以下至少之一:第一用户的用于指示第一用户喜好的喜好参数;第一用户的脸部特征。

可选地,第一获取模块通过以下至少之一的方式获取到喜好参数:第一用户预先设置的;根据第一用户的行为推算的;根据第一用户的用户资料推算的,其中,用户资料包括以下至少之一:年龄、性别、民族、居住地、籍贯地、学历、昵称。

可选地,第一用户的脸部特征包括以下至少之一:第一用户脸部的位置、第一用户脸部的大小、第一用户脸部的表情。

可选地,第一获取模块用于:对视频流进行单元化帧处理得到视频帧;对视频帧进行人脸检测得到第一用户的脸部特征。

图4是根据本发明实施例的一种对象显示装置的示意图二,如图4所示,第一获取模块31包括:第一检测单元41、判断单元43和第二检测单元45,其中:

第一检测单元,用于在第一视频帧中检测第一用户的脸部特征;

判断单元,用于判断从第一视频帧中是否识别到第一用户的脸部特征;如果判断出未识别到第一用户的脸部特征,则将第一视频帧的下一个视频帧作为第一视频帧,通过第一检测单元在第一视频帧中检测第一用户的脸部特征;如果判断出检测到第一用户的脸部特征,则记录包括第一用户的脸部特征的脸部区域,并通过第二检测单元在预设区域中检测第二视频帧中第一用户的脸部特征;直至在最后一个视频帧中检测第一用户的脸部特征;

第二检测单元,用于在预设区域中检测第二视频帧中第一用户的脸部特征,其中,脸部区域为预设区域中的部分区域。

可选地,第二检测单元用于:在预设区域中检测第二视频帧中第一用户的脸部特征;判断在第二视频帧中是否检测到第一用户的脸部特征;如果判断出在第二视频帧中未检测到第一用户的脸部特征,则将第二视频帧作为第一视频帧,通过第一检测单元在第一视频帧中检测第一用户的脸部特征;如果判断出在第二视频帧中检测到第一用户的脸部特征,则记录第二视频帧的脸部区域,将第三视频帧作为第二视频帧,并将第二视频帧的脸部区域作为第一视频帧的脸部区域,再次在预设区域中检测第二视频帧中第一用户的脸部特征。

可选地,第一获取模块还用于:获取所述视频帧的显示参数;根据所述显示参数对所述视频帧进行人脸检测得到所述第一用户的脸部特征。

可选地,第一获取模块还用于:根据视频帧的分辨率对视频帧中的人脸的大小和/或位置进行调整;调整之后进行人脸检测得到第一用户的脸部特征。

可选地,第一获取模块还用于:判断视频帧的分辨率是否大于预设分辨率;如果判断出视频帧的分辨率大于预设分辨率,则将视频帧的分辨率按照第一预设比例进行缩放,得到调整之后的视频帧中的人脸的大小和/或位置,其中,第一预设比例为预设分辨率与视频帧的分辨率的比值。

图5是根据本发明实施例的一种对象显示装置的示意图三,如图5该装置还包括:第三获取模块51和修正模块53,其中,第三获取模块连接至第二获取模块33,用于获取第二用户侧的显示器中视频显示窗口的大小;修正模块53连接至第三获取模块51,用于在根据显示参数对视频帧进行人脸检测得到第一用户的脸部特征之后,获取第二用户侧的显示器中视频显示窗口的大小,然后,根据第二用户侧的显示器中视频显示窗口的大小对检测到的包括第一用户的脸部特征的人脸区域的位置和/或大小进行修正。

可选地,修正模块用于:将人脸区域的位置和/或大小按照第二预设比例进行修正,得到修正之后的第一用户的脸部特征的人脸区域的位置和/或大小,其中,第二预设比例为视频帧的分辨率和第二用户侧的显示器中视频显示窗口的大小的比值。

可选地,显示效果包括以下至少之一:在对象上增加显示内容、调整对象的显示颜色、调整对象的位置、调整对象的大小。

可选地,在对象上增加的显示内容和/或对象的显示颜色根据以下至少之一确定:喜好参数、第一用户脸部的表情;和/或,调整对象的位置和/或调整对象的大小根据第一用户脸部特征中的至少之一确定。

可选地,第一获取模块用于:将视频流以映射文件的形式保存在内存中;获取视频流的每个视频帧中第一用户的脸部特征。

图6是根据本发明实施例的一种对象显示装置的示意图,如图6所示,该装置包括视频流接收单元601、人脸识别单元602、礼物特效动画生成单元603和礼物特效动画可视化单元604。

在本发明可选实施方式中,视频流接收单元601可以作用在第一用户端(即,主播端),还可以作用在第二用户端(即,观众端),其中,当视频流接收单元601作用在不同的用户端时,将会调用不同的单元模块进行视频流的采集和接收处理。

具体地,当视频流接收单元作用在主播端时,该单元包括:视频流采集单元和主播端视频流接收单元。当视频流接收单元作用在观众端时,该视频流接收单元包括:视频流采集单元和观众端视频流接收单元。需要说明的是,在本发明实施例中,作用在主播端中的视频流采集单元与作用在观众端中的视频流采集单元为同一视频流采集单元。

人脸识别单元602与视频流接收单元601相连接,该单元同样可以设置在主播端和用户端,该人脸识别单元以视频流接收单元输出的视频帧为输入,在主播端和观众端分别进行第一用户脸部特征的识别,其中,该人脸识别单元包括人脸检测单元和人脸模型修正单元。人脸检测单元用于检测人脸矩形,人脸模型修正单元用于对检测到的人脸矩形进行修正。

礼物特效动画生成单元603与人脸识别单元602相连接,用于根据人脸识别结果(即,脸部特征)生成个性化礼物动画并进行特效动画(即,对象)调整处理。例如,人脸识别单元602识别到的第一用户的脸部特征为脸部的位置和脸部的大小,礼物特效动画生成单元就可以根据脸部的位置和大小进行特效动画的调整。其中,礼物特效动画生成单元包括赠送礼物单元、个性化特效动画单元和礼物特效动画调整单元。

礼物特效动画可视化单元604与礼物特效动画生成单元603相连接,用于在视频显示窗口中对应的位置显示礼物特效动画,其中,礼物特效动画可视化单元包括倒计时单元、视频与礼物特效动画合成单元和特效结束处理单元。

图7是根据本发明实施例的一种视频流接收单元的示意图,在本发明可选实施方式中,该视频流接收单元作用在第一用户端(即,主播端),其中,如图7所示,该单元包括:摄像头设备701、视频流采集单元702、主播端视频流接收单元703和网络服务器704。

具体地,本发明实施例提供的对象显示装置可以通过USB端口连接摄像头设备,其中,第一用户的摄像头设备的输出为采集到的视频流。当视频流采集单元作用在主播端时,视频流采集单元702以用户的摄像头设备701采集的视频流作为输入。在视频流采集单元702接收到输入的视频流后,主播端视频接收单元将视频流分成两个路径进行传输,即路径一和路径二,其中,路径一采用现有视频显示技术,在本机的视频直播软件中的视频显示窗口内直接显示原始视频,并以原始视频作为输出。路径二采用主流视频编码技术,经过视频编码后生成rtmp格式的视频流文件,并以此作为输出发送到网络服务器704上。

需要说明的是,在本发明可选实施方式中,主播端视频流接收单元703,以视频流采集单元702输出的原始视频流作为输入,以独立进程的形式,以每秒五帧的速度读取内存中的原始视频映射文件,对映射文件进行每0.2秒提取一帧的处理,在获取到视频帧数据后,再将每帧的视频数据输出到人脸识别单元602进行识别。

图8是根据本发明实施例的另一种视频流接收单元的示意图,在本发明可选实施方式中,该视频流接收单元作用在第二用户端(即,观众端),其中,如图8所示,该单元包括:视频流采集单元702、观众端视频流接收单元802和网络服务器803。

视频流采集单元702作用在观众端时,通过网络服务器803获得主播端传输的rtmp格式的视频流文件数据。为便于网络传输,该视频流文件数据会进行编码,因此,观众端视频流接收单元802在接收到该视频流文件之后,会对其进行解码。在对视频流文件数据进行解码处理后,可以将其存放于系统内存映射文件中,并采用现有视频显示技术,在本机的视频直播软件的视频显示窗口内显示获得的视频数据。

观众端视频流接收单元802会以独立进程的形式,以每秒五帧的速度读取内存映射文件,对视频映射文件进行每0.2秒提取一帧的处理,在获取到视频帧数据后,再将每帧的视频数据输出到人脸识别单元502进行识别。

图9是根据本发明实施例的一种人脸识别单元的示意图,在本发明可选实施方式中,该人脸识别单元可以同时作用在观众端和主播端。当人脸识别单元作用在观众端和主播端时,如图9所示,包括:人脸检测单元901和人脸模型修正单元902。

人脸检测单元901用于对从视频流接收单元601获取到的视频流信息进行单元化帧处理,即以每一个视频帧为一个单元进行人脸检测,其中,主播端的人脸检测单元和观众端人脸检测单元可以分别进行脸部特征的检测。

人脸模型修正单元902以人脸检测单元检测出的人脸矩形作为输入,用于在不同的显示器分辨率下,修正人脸的大小和位置细节,并对人脸数据噪音进行有效处理和过滤,有效提高人脸识别正确率。由于人脸检测单元901是以视频的原始分辨率进行检测的,而实际在视频显示窗口中显示的视频可能会根据应用场景进行缩放和裁减。此时需要对实际视频显示窗口中的人脸的位置和大小进行缩放和偏移修正。

图10是根据本发明实施例的一种礼物特效动画生成单元的示意图,如图10所示,该单元包括:赠送礼物单元1001、个性化特效动画单元1002和礼物特效动画调整单元1003。

赠送礼物单元1001以观众点击赠送某个带有特效动画的虚拟礼物(即,上述对象)的行为作为输入。需要说明的是,在本发明可选实施方式中,人脸识别单元在未获取到观众的点击行为时,默认处于休眠状态,只有观众赠送带有特效动画的虚拟礼物后,赠送礼物单元1001将告知人脸识别单元602开始进行视频人脸检测,同时告知个性化特效动画单元1002进行原始大小的特效动画生成。

个性化特效动画单元1002在获取到赠送礼物单元1001告知的开始进行生成特效动画的信号后,个性化特效动画单元1002将会查询数据库信息,根据数据库查询返回的结果获得主播的特征,例如,主播的喜好参数,然后根据获得的喜好参数在视频显示窗口中对应的特效窗口内生成个性化的动画数据。

具体地,动画数据的大小、颜色和内容由美术人员提供,美术人员会在特效动画大小相同的前提下,制作出各种个性化的特效动画,如:①内容相同、颜色不同的特效动画;②内容不同、颜色相同的特效动画;③内容不同、颜色不同的特效动画。进一步地,美术人员在设计好礼物特效动画后,将会在动画数据中标记出人脸的坐标OE(x,y),这个坐标将在礼物特效动画的合成中用到。

礼物特效动画调整单元1003以个性化特效动画单元1002输出的默认大小的动画数据为输入。假设,美术人员根据默认的人脸大小F(120,120)进行制作,输出的默认礼物特效动画大小为E(w,h),当在视频中检测出的人脸矩形FW(x,y,w,h)中的S(w,h)值不是F(120,120)时,则要对礼物特效动画的大小进行缩放,最终得到的礼物特效动画大小为SE(we,he)=E(w,h)*S(w,h)/F(120,120)。

进一步地,上述在特效动画数据中由美术人员标记的人脸坐标OE(x,y)也要根据人脸位置和大小进行实时修正,即修正后的人脸坐标为OR(xo,yo)=OE(x,y)+(S(w,h)-S(120*120))/2。

图11是根据本发明实施例的一种礼物特效动画可视化单元的示意图,如图11所示,该单元包括:倒计时单元1101、视频与礼物特效动画合成单元1102和特效结束处理单元1103。

倒计时单元1101分别与视频与礼物特效动画合成单元1102和特效结束处理单元1103通信连接,用于在显示礼物特效的过程中,控制礼物特效在相应的时间内进行播放,还用于在倒计时单元1101倒计时结束时触发下一个特效动画,还用于在倒计时单元1101倒计时结束时向视频与礼物特效动画合成单元和特效结束处理单元发送信息,停止整个特效动画的播放。

视频与礼物特效动画合成单元1102的输入分别为以下几种:人脸识别单元602输出的人脸矩形FQ(x,y,w,h)、礼物特效动画生成单元输出的经过调整的礼物特效动画大小数据SE(we,he)和经过修正的人脸坐标OR(xo,yo),视频与礼物特效动画合成单元1102用于在特效窗口中输出最终特效动画效果。

具体地,视频与礼物特效动画合成单元1102将在视频显示窗口上面覆盖一层与视频大小和位置一样的透明的特效窗口,在获得输入的人脸矩形FQ(x,y,w,h)之后,可知人脸坐标为OF(x,y),由于OF(x,y)是基于视频窗口的相对坐标,OR(xo,yo)是基于礼物特效的坐标,要让这两个坐标重合上才能正常显示礼物特效。即在坐标EE(x,y)=OF(x,y)-OR(xo,yo)上显示大小为SE(we,he)的礼物特效动画。

视频与礼物特效动画合成单元在播放特效动画时,可以使用播放gif图片的方式来刷新画面,也可以用播放flash的方式来刷新画面。

特效结束处理单元1103在倒计时单元返回结束标志后,通知人脸识别单元结束工作,通知视频流接收单元结束工作,通知视频与礼物特效动画合成单元停止工作,结束特效播放,并最终向服务器发送特效结束标志,完成整个礼物特效动画展示流程。

图12是根据本发明实施例的一种可选地对象显示装置的示意图。如图12所示的为视频流接收单元601、人脸识别单元602、礼物特效动画生成单元603和礼物特效动画可视化单元604中每个单元之间的连接关系,具体工作原理在上述实施例中已经详细描述,此处不再赘述。

本发明实施例通过上述的一种对象显示方法和装置,实现在不同显示器分辨率下,视频特效动画可以根据主播脸部五官进行位置和大小的自动变化和调整,并能根据主播兴趣爱好进行独一无二的个性化特效动画生成,从而提升交互体验,满足更深层次的个性化需求。本发明实施例提供了一种对象显示方法和装置,能够使得视频中的特效动画根据主播人脸的变化而变化,并能根据主播的不同特点进行个性化内容展示,从而让主播在收到独一无二的礼物时获得惊喜感、赠送者获得成就感,还可以满足直播平台的个性化互动需求。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1