视频直播中的图像处理方法和装置与流程

文档序号:12379133阅读:338来源:国知局
视频直播中的图像处理方法和装置与流程

本发明涉及图像处理领域,具体而言,涉及一种视频直播中的图像处理方法和装置。



背景技术:

在现有社会中,随着网络直播平台和视频直播的普及和流行,用户可以通过网络直播平台观看由视频直播者(例如,网络主播,以下均简称为主播)提供的唱歌或者跳舞等娱乐节目。用户在观看直播节目的过程中,可以通过赠送虚拟特效礼物的方式来表达对主播的喜爱。主播在收到绚丽夺目的虚拟礼物特效的瞬间,主播表现出的既惊喜又意外的神情往往是最美丽和独特耀眼的,而赠送者也会因为这美丽一刻的到来而获得极高的满足感和荣耀感。

一般地,由于礼物特效显示的时间较短,然而在这较短的时间内,主播的神态和动作也是稍纵即逝的。因此,为了同时保存绚丽的特效和主播那一刻的神态动作,主播和用户往往通过屏幕截图或者手机拍摄电脑屏幕的方法来实现抓拍。但是,在主播侧,无论是以上哪种抓拍方式都会使得主播因为额外的操作而分散注意力,导致主播在被拍照时的表情和动作无法做到最自然和到位。在用户侧,用户在抓拍时又无法准确捕捉主播和特效都是最佳状态时的那一刻,加之特效播放时间较短,主播和用户往往都来不及准备和反应,那绚丽特效就已经结束了。即使用户抓拍到绚丽的特效,也会因为一些其他因素(例如,截图软件使用不当、手机拍照没成功对焦或拍照时抖动等问题)而导致抓拍到的图像内容模糊、粗糙而不够完美。进一步地,即使用户真的抓拍到了绚丽完美的一刻,如果不进行照片共享,那么其他用户还是无法看到并共享这绚丽美丽的一刻,因而无法做到美丽瞬间的永久保存和公开展示。

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



技术实现要素:

本发明实施例提供了一种视频直播中的图像处理方法和装置,以至少解决现有技术中无法精确地获取包含视频流图像和对象图像的图像的技术问题。

根据本发明实施例的一个方面,提供了一种视频直播中的图像处理方法,包括:确定对象被触发并展示在视频直播中;监测预定条件是否满足;在所述预定条件满足时,获取当前所述视频直播中的视频流图像;获取所述对象的对象图像;至少将所述视频流图像与所述对象图像进行合成。

进一步地,所述预定条件至少包括以下之一:所述视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;所述视频直播中所述用户的人脸图像与所述视频直播的图像比例在预定范围内。

进一步地,若所述预定条件包括:所述视频直播中所述用户做出的手势与所述预定手势的相似度大于或者等于所述预定相似度,则在确定所述对象被触发并展示在视频直播中之后,所述方法还包括:向所述用户显示所述预定手势。

进一步地,若在第一预定时间段内未监测到所述预定条件满足,则在所述第一预定时间段结束时刻视为预定条件已满足。

进一步地,在确定对象被触发并展示在视频直播中之后,向所述用户显示第一倒计时,其中,所述第一倒计时对应于所述第一预定时间段。

进一步地,所述第一预定时间段为所述对象的展示时间。

进一步地,在确定对象被触发并展示在视频直播中之后,所述方法还包括:向用户显示第二倒计时,其中,所述预定条件为第二预定时间段结束,所述第二倒计时对应于所述第二预定时间段。

进一步地,所述第二预定时间段为所述对象展示开始时刻至所述对象展示最佳效果出现时刻。

进一步地,所述获取当前所述视频直播中的视频流图像及所述获取所述对象的对象图像包括:获取当前视频播放窗口中所述视频流图像和所述对象图像的截图,其中,所述视频播放窗口用于直播所述视频流及所述对象。

进一步地,至少将所述视频流图像与所述对象图像进行合成包括:将获取到的所述视频流图像按照第一预设比例进行缩放;将获取到的所述对象的对象图像按照第二预设比例进行缩放;至少将缩放之后的所述视频流图像和所述对象图像进行合成。

根据本发明实施例的另一方面,还提供了一种视频直播中的图像处理装置,包括:确定模块,用于确定对象被触发并展示在视频直播中;监测模块,用于监测预定条件是否满足;第一获取模块,用于在所述预定条件满足时,获取当前所述视频直播中的视频流图像;第二获取模块,用于获取所述对象的对象图像;合成模块,用于至少将所述视频流图像与所述对象图像进行合成。

进一步地,所述预定条件至少包括以下之一:所述视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;所述视频直播中所述用户的人脸图像与所述视频直播的图像比例在预定范围内。

进一步地,所述装置还包括:第一显示模块,用于在所述预定条件包括:所述视频直播中所述用户做出的手势与所述预定手势的相似度大于或者等于所述预定相似度的情况下,并在确定所述对象被触发并展示在视频直播中之后,向所述用户显示所述预定手势。

进一步地,若在第一预定时间段内未监测到所述预定条件满足,则在所述第一预定时间段结束时刻视为预定条件已满足。

进一步地,所述装置还包括:第二显示模块,用于在确定对象被触发并展示在视频直播中之后,向所述用户显示第一倒计时,其中,所述第一倒计时对应于所述第一预定时间段。

进一步地,所述第一预定时间段为所述对象的展示时间。

进一步地,所述装置还包括:第三显示模块,用于在确定对象被触发并展示在视频直播中之后,向用户显示第二倒计时,其中,所述预定条件为第二预定时间段结束,所述第二倒计时对应于所述第二预定时间段。

进一步地,所述第二预定时间段为所述对象展示开始时刻至所述对象展示最佳效果出现时刻。

进一步地,所述第一获取模块和所述第二获取模块包括:获取单元,用于获取当前视频播放窗口中所述视频流图像和所述对象图像的截图,其中,所述视频播放窗口用于直播所述视频流及所述对象。

进一步地,所述合成模块包括:第一缩放单元,用于将获取到的所述视频流图像按照第一预设比例进行缩放;第二缩放单元,用于将获取到的所述对象的对象图像按照第二预设比例进行缩放;合成单元,用于至少将缩放之后的所述视频流图像和所述对象图像进行合成。

在本发明实施例中,采用确定对象被触发并展示在视频直播中;在预定条件的触发下,获取所述视频直播中与所述预定条件对应的视频流图像,其中,所述预定条件是在所述对象被展示的过程中出现的;获取与所述预定条件对应的所述对象的对象图像;至少将所述视频流图像与所述对象图像进行合成的方式,通过在预定条件的触发下,获取视频直播中视频流图像,并获取与预定条件对应的对象图像,然后,将对象图像和视频流图像进行合成,得到包含对象和主播的图像,相对于现有技术中,通过抓拍的方式获取图片的方式,达到了准确获取包含对象图像的视频流图像的目的,从而实现了提高了获取包含对象图像的视频流图像的技术效果,进而解决了现有技术中无法精确地获取包含视频流图像和对象图像的图像的技术问题。

附图说明

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

图1是根据本发明实施例的一种视频直播中的图像处理方法的流程图;

图2是根据本发明实施例的一种视频直播中的图像处理装置的示意图;

图3是根据本发明实施例的另一种视频直播中的图像处理装置的示意图;

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

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

图6是根据本发明实施例的一种礼物特效管理单元的示意图;

图7是根据本发明实施例的一种特效动画显示单元的示意图;

图8是根据本发明实施例的一种照片合成单元的示意图;

图9是根据本发明实施例的一种照片合成单元另一实施例的示意图;以及

图10是根据本发明实施例的一种照片后期处理单元的示意图。

具体实施方式

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

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

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

图1是根据本发明实施例的一种视频直播中的图像处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,确定对象被触发并展示在视频直播中。

本发明实施例提供的视频直播中的图像处理方法可以应用在网络直播平台或者视频直播平台。如果应用在网络直播平台,则主播直播过程中的视频流将在一个或多个观众的终端中进行播放,其中,上述对象可以为虚拟礼物的特效动画。

在本发明实施例中,在观众向主播赠送虚拟礼物时,如果观众赠送的虚拟礼物满足不同的条件,那么将触发不同的特效动画。例如,虚拟礼物“棒棒糖”,当观众赠送的棒棒糖的数量为10个时,那么特效动画可以是一个闪闪发光的棒棒糖,当观众赠送的棒棒糖的数量为60个时,那么特效动画可以是大量从天而降的棒棒糖。因此,在本发明实施例中,当观众赠送的虚拟礼物达到特效触发条件时,则确定虚拟礼物的特效动画(即,上述对象)被触发,并显示在视频直播中。

步骤S104,监测预定条件是否满足。

在本发明实施例中,当确定出对象被触发并展示在视频直播中之后,主播可以跟随对象做出相应地手势或者表情。但是,为了保证下述步骤S110中合成的图像包含对象的最佳展示效果,以及主播的最佳手势或者最佳表情,因此,在本发明实施例中,可以预先设置预定条件,其中,上述预定条件至少包括以下之一:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。然后,在预定条件满足时,执行下述步骤S106,即获取当前视频直播中的视频流图像。

步骤S106,在预定条件满足时,获取当前视频直播中的视频流图像。

在本发明实施例中,在对象(即,特效动画)被触发之后,主播客户端判断是否满足预定条件,如果满足预定条件,则获取当前时刻视频直播中的视频流图像,以及执行步骤S108,即获取对象的对象图像。

步骤S108,获取对象的对象图像。

步骤S110,至少将视频流图像与对象图像进行合成。

在本发明实施例中,主播客户端在获取到对象图像和视频流图像之后,会将视频流图像和对象图像进行合成,合成为一张图片,并将合成的图片进行保存。在合成之后的图像中,包含对象的最佳展示效果,以及主播的最佳手势或者最佳表情等。

在本发明实施例中,通过在预定条件的触发下,获取视频直播中视频流图像,并获取与预定条件对应的对象图像,然后,将对象图像和视频流图像进行合成,得到包含对象和主播的图像,相对于现有技术中,通过抓拍的方式获取图片的方式,达到了准确获取包含对象图像的视频流图像的目的,从而实现了提高了获取包含对象图像的视频流图像的技术效果,进而解决了现有技术中无法精确地获取包含视频流图像和对象图像的图像的技术问题。

通过步骤S104中的描述可知,在本发明实施例中,预定条件至少包括以下之一:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;以及视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。

也就是说,上述预定条件可以为:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度,还可以为:视频直播中用户的人脸图像与视频直播的图像比例在预定范围内,还可以为:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度,以及视频直播中用户的人脸图像与视频直播的图像比例在预定范围内的组合,下面将就上述三种情况进行介绍。

情况一、视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度。

主播客户端在确定对象被触发,并将对象展示在视频播放窗口中之后,主播客户端可以获取视频直播中的视频流图像,即获取每个视频帧图像;然后,确定视频直播中是否出现用户做出的手势,也即,在每个视频帧图像中确定是否出现用户做出的手势。其中,在确定出在视频直播中出现用户做出的手势的情况下,计算确定用户做出的手势与预定手势的相似度,并判断计算出的相似度是否大于或者等于预设相似度。如果判断出计算出的相似度大于或者等于预设相似度,则确定满足预定条件,然后,获取当前时刻视频直播的视频流图像和对象图像。最后,将获取到的视频流图像和对象图像进行合成,得到合成之后的图片。

情况二、视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。

主播客户端在确定对象被触发,并在将对象展示在视频直播的窗口中之后,主播客户端可以获取视频直播中的视频流图像,即获取每个视频帧图像;然后,确定视频直播中出现的用户的人脸图像与视频直播的图像比例是否在预定范围内,也即,在每个视频帧中确定是否出现用户的预定人脸图像。其中,在确定出在视频直播中出现用户的人脸图像与视频直播的图像比例在预定范围内的情况下,确定满足预定条件。其中,视频直播中用户的人脸图像与视频直播的图像比例小于或者等于第一比例值,并且大于第二比例值。

优选地,在本发明实施例中,第一比例值选取为2/3,第二比例值选取为1/100。此时,也可以理解为人脸图像在视频区域中的所占区域不大于视频直播中的图像2/3,并且不小于视频直播中的图像的1/100。也就是说,当判断出人脸图像满足上述条件时,确定检测到满足预定条件,此时,获取到的人脸图像即为清晰头像。

通过上述两个预设条件可知,如果满足上述预定条件,即,获取到清晰的人脸图像,或者获取到正常的手势,则可以直接从视频直播中获取包含正常手势或者清晰的人脸图像的视频流图像。如没有同时获取到清晰的人脸图像,或者获取到正常的手势,则需要在倒计时结束时,从视频直播流中获取视频流图像。其中,倒计时将在下述实施例中进行详细的介绍。

需要说明的是,在本发明实施例中,上述预定条件除了上述情况一和情况二之外,还包括另外一种情况,其中,该情况为:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度,以及视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。

在此情况下,主播客户端在确定对象被触发,并将对象展示在视频播放窗口中之后,主播客户端可以获取视频直播中的视频流图像,即获取每个视频帧图像;然后,确定视频直播中是否出现用户做出的手势,也即,在每个视频帧图像中确定是否出现用户做出的手势。其中,在确定出在视频直播中出现用户做出的手势的情况下,计算确定用户做出的手势与预定手势的相似度,并判断计算出的相似度是否大于或者等于预设相似度。

进一步地,如果判断出计算出的相似度大于或者等于预设相似度,则确定视频直播中出现用户的人脸图像与视频直播的图像比例是否在预定范围内。其中,在确定出出现用户的人脸图像与视频直播的图像比例在预定范围内的情况下,确定满足上述预定条件。

需要说明的是,在本发明实施例中,在将对象显示在视频播放窗口之后,还可以判断显示在视频播放窗口中的对象是否满足图片合成条件,其中,如果满足图片合成条件,则获取视频直播中与预定条件对应的视频流图像,并获取与预定条件对应的对象图像。例如,假设,用户送66个棒棒糖的特效动画给主播,当在视频播放窗口中有大量从天而降的棒棒糖时,则满足图片的合成条件;然而,假设,用户送10个棒棒糖的特效动画,如果在视频播放装口中仅显示一个闪闪发光的棒棒糖,则不满足图片的合成条件,那么当检测到特效队列中下一个即将播放的特效为满足图片合成条件的“大量从天而降的棒棒糖”特效动画时,则获取视频直播中与预定条件对应的视频流图像,并获取与预定条件对应的对象图像,并将获取到的图像进行合成。

在本发明的另一个可选实施方式中,若预定条件包括:视频直播中所述用户做出的手势与预定手势的相似度大于或者等于预定相似度,则在确定对象被触发并展示在视频直播中之后,方法还包括:向用户显示所述预定手势。

具体地,如果预定条件中包括条件:视频直播中所述用户做出的手势与预定手势的相似度大于或者等于预定相似度,那么在合成特效动画的图片被激活时,首先,会在手势特征数据库中指定选择或者随机选择一个手势,并提示主播摆出相应的手势并准备拍照。例如,主播A收到一个特效礼物“恭喜发财”(即,对象),那么在特效动画触发的同时,主播A的客户端将从手势特征数据库中指定选择抱拳手势(即,预定手势),并在主播侧的视频播放窗口的下方显示一个抱拳动作的卡通提示图标,提示主播A摆出响应手势。

在本发明的一个可选实施方式中,若在第一预定时间段内未监测到预定条件满足,则在第一预定时间段结束时刻视为预定条件已满足,其中,第一时间段为对象的展示时间。具体地,在本发明实施例中,若在对象的展示时间结束时,未监测到预定条件满足,那么将在对象的展示时间结束的时刻获取视频直播中的视频流图像和对象的对象图像。

可选地,在确定对象被触发并展示在视频直播中之后,还可以向用户显示第一倒计时,其中,第一倒计时对应于第一预定时间段。

例如,主播A收到一个特效礼物“恭喜发财”(即,对象),那么在特效动画被触发的同时,主播A的客户端将从手势特征数据库中指定选择抱拳手势(即,预定手势),并在主播侧的视频播放窗口的下方显示一个抱拳动作的卡通提示图标,提示主播A摆出响应手势。然后,在主播侧显示第一倒计时,并在第一倒计时结束之前,对视频直播的图像中人脸和手势进行识别,也即,在对象的展示时间结束之前,对视频直播的图像中人脸和手势进行识别,其中,第一倒计时用于提示主播已进行人脸图像和手势的识别。

通过上述描述可知,在上述实施例中的预定条件为视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度,或者视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。除此之外,预定条件还可以为第二预定时间段结束的时刻。也就是说,在确定对象被触发并展示在视频直播中之后,还包括:向用户显示第二倒计时,其中,预定条件为第二预定时间段结束,第二倒计时对应于第二预定时间段。可选地,上述第二预定时间段为对象展示开始时刻至对象展示最佳效果出现时刻。

在本发明可选实施方式中,可以在获取视频直播中视频流图像和对象图像之前,设置显示第二倒计时,其中,第二倒计时的计时时间为第二预定时间段。当第二倒计时结束时,即第二预定时间段结束的时刻,确定预定条件满足,此时,获取当时视频直播中的视频流图像和对象图像。需要说明是,在本发明实施例中,第二预定时间段为对象展示的开始时刻至对象展示最佳效果出现的时刻,也即,对象开始展示的时刻至视频流文件中最佳帧的展示时刻,其中,最佳帧中包含主播和对象的最佳展示效果。

其中,获取第二倒计时结束的时刻,获取当前视频直播中的视频流图像及获取对象的对象图像包括:获取当前视频播放窗口中视频流图像和对象图像的截图,其中,视频播放窗口用于直播视频流及所述对象。

具体地,在第二预定时间段结束的时刻,从视频播放窗口中获取视频流图像,并同时将正在播放的特效动画(即,对象)截获。然后,将获取到的视频流图像和截获的正在播放的特效动画进行合成,得到合成之后的图片。

在本发明的另一个可选的实施方式中,至少将视频流图像与对象图像进行合成包括:将获取到的视频流图像按照第一预设比例进行缩放,并将获取到的与预定条件对应的对象图像按照第二预设比例进行缩放,然后,至少将缩放之后的视频流图像和对象图像进行合成。

如果最终合成之后的图片的尺寸为PictureSize(pw,ph),那么需要将从视频直播中获取到的视频流图像的尺寸VideoSize(vw,vh)按照第一预设比例进行缩放,其中,缩放之后的大小为最终合成之后的图片的大小,然后绘制到画布上。第一预设比例包括宽度缩放比和高度缩放比,其中,宽度缩放比为:kw=pw/vw,高度缩放比为:kh=ph/vh。

需要说明的是,一般情况下,为了保持图像不失真,宽度缩放比和长度缩放比应该相同,也即,kw=kh。如果在特殊情况下,导致宽度缩放比和长度缩放比不相同时,为保证所有的图像内容都能缩放到最终合成之后的图片中,则需要使用两者的较小值作为缩放因子,也即,此时选取的缩放比为:k=min(kw,kh)。按照缩放比对视频流图像进行缩放时,最终生成的视频流图像的大小为:DestVideoSize(vw’=vw*k,vh’=vh*k)。

在画布上绘制视频流图像之后,就可以依次绘制对象图像(即,特效图像)。对象图像的绘制效果两种,即效果类型1和效果类型2,其中,效果类型1和效果类型2的添加均基于对象图像的位置信息:EffectRect(x,y,w,h)。

效果类型1:效果类型1即对象图像覆盖整个视频流图像,此时,对象图像的位置信息为:EffectRect(0,0,w,h)。此时,对象图像可以通过缩放因子k2获得更加适合的对象图像,即:EffectRect’(0,0,w’,h’)=EffectRect(0,0,w,h)*k2。

效果类型2:效果类型2即对象图像处于视频流图像中特定位置。首先从视频图像中获取对象图像显示的范围和位置信息,即:EffectRect’(x’,y’,w’,h’)。但是,由于该位置信息和显示范围是相对原始的视频流图像获取的,因此需要先将上述获取到的该位置信息和显示范围按照下述方式进行变化,即:EffectRect”(x”,y”,w”,h”)=EffectRect’(x’,y’,w’,h’)*k。然后,将对象图像的原始大小EffectSize(w,h)按照非等比缩放因子k3(α,β)进行缩放,缩放之后对象图像的大小为:EffectSize”(w”,h”)=EffectSize(w,h)*k3(α,β)。最后,在画布的(x”,y”)位置上绘制效果。

本发明实施例还提供了一种视频直播中的图像处理装置,该视频直播中的图像处理装置主要用于执行本发明实施例上述内容所提供的视频直播中的图像处理方法,以下对本发明实施例所提供的视频直播中的图像处理装置做具体介绍。

图2是根据本发明实施例的一种视频直播中的图像处理装置的示意图,如图2所示,该视频直播中的图像处理装置主要包括确定模块21、监测模块23、第一获取模块25、第二获取模块27和合成模块29,其中:

确定模块,用于确定对象被触发并展示在视频直播中;

本发明实施例提供的视频直播中的图像处理方法可以应用在网络直播平台或者视频直播平台。如果应用在网络直播平台,则主播直播过程中的视频流将在一个或多个观众的终端中进行播放,其中,上述对象可以为虚拟礼物的特效动画。

在本发明实施例中,在观众向主播赠送虚拟礼物时,如果观众赠送的虚拟礼物满足不同的条件,那么将触发不同的特效动画。例如,虚拟礼物“棒棒糖”,当观众赠送的棒棒糖的数量为10个时,那么特效动画可以是一个闪闪发光的棒棒糖,当观众赠送的棒棒糖的数量为60个时,那么特效动画可以是大量从天而降的棒棒糖。因此,在本发明实施例中,当观众赠送的虚拟礼物达到特效触发条件时,则确定虚拟礼物的特效动画(即,上述对象)被触发,并显示在视频直播中。

监测模块,用于监测预定条件是否满足。

在本发明实施例中,当确定出对象被触发并展示在视频直播中之后,主播可以跟随对象做出相应地手势或者表情。但是,为了保证下合成模块中合成的图像包含对象的最佳展示效果,以及主播的最佳手势或者最佳表情,因此,在本发明实施例中,可以预先设置预定条件,其中,上述预定条件至少包括以下之一:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。然后,在预定条件满足时,通过下述第一获取模块获取当前视频直播中的视频流图像。

第一获取模块,用于在预定条件满足时,获取当前视频直播中的视频流图像。

在本发明实施例中,在对象(即,特效动画)被触发之后,主播客户端判断是否满足预定条件,如果满足预定条件,则获取当前时刻视频直播中的视频流图像,以及执行步骤S108,即获取对象的对象图像。第二获取模块,用于获取与预定条件对应的对象图像;

合成模块,用于至少将视频流图像与对象图像进行合成。

在本发明实施例中,主播客户端在获取到对象图像和视频流图像之后,会将视频流图像和对象图像进行合成,合成为一张图片,并将合成的图片进行保存。在合成之后的图像中,包含对象的最佳展示效果,以及主播的最佳手势或者最佳表情等。

在本发明实施例中,通过在预定条件的触发下,获取视频直播中视频流图像,并获取与预定条件对应的对象图像,然后,将对象图像和视频流图像进行合成,得到包含对象和主播的图像,相对于现有技术中,通过抓拍的方式获取图片的方式,达到了准确获取包含对象图像的视频流图像的目的,从而实现了提高了获取包含对象图像的视频流图像的技术效果,进而解决了现有技术中无法精确地获取包含视频流图像和对象图像的图像的技术问题。

可选地,预定条件至少包括以下之一:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度;视频直播中用户的人脸图像与视频直播的图像比例在预定范围内。

可选地,装置还包括:第一显示模块,用于在预定条件包括:视频直播中用户做出的手势与预定手势的相似度大于或者等于预定相似度的情况下,并在确定对象被触发并展示在视频直播中之后,向用户显示预定手势。

可选地,若在第一预定时间段内未监测到预定条件满足,则在第一预定时间段结束时刻视为预定条件已满足。

可选地,装置还包括:第二显示模块,用于在确定对象被触发并展示在视频直播中之后,向用户显示第一倒计时,其中,第一倒计时对应于第一预定时间段。

可选地,第一预定时间段为对象的展示时间。

可选地,装置还包括:第三显示模块,用于在确定对象被触发并展示在视频直播中之后,向用户显示第二倒计时,其中,预定条件为第二预定时间段结束,第二倒计时对应于第二预定时间段。

可选地,第二预定时间段为对象展示开始时刻至对象展示最佳效果出现时刻。

可选地,第一获取模块和第二获取模块包括:获取单元,用于获取当前视频播放窗口中视频流图像和对象图像的截图,其中,视频播放窗口用于直播视频流及对象;

可选地,合成模块包括:第一缩放单元,用于将获取到的视频流图像按照第一预设比例进行缩放;第二缩放单元,用于将获取到的对象的对象图像按照第二预设比例进行缩放;合成单元,用于至少将缩放之后的视频流图像和对象图像进行合成。

图3是根据本发明实施例的另一种视频直播中的图像处理装置的示意图,如图3所示,本发明实施例提供的视频直播中的图像处理装置包括:视频流接收单元301、特效管理单元302、特效动画显示单元303、照片合成单元304和照片后期处理单元305,其中:

视频流接收单元301,用于接收视频流图像,并提供视频流图像获取接口以获取视频流图像。视频流接收单元在主播端和观众端采用不同的处理方式进行视频流的处理,主播端视频流接收单元将在图4的实施例中进行详细描述,而观众端视频流接收单元将在图5的实施例中进行详细描述。

特效管理单元302,用于接收网络服务器分发的观众向主播赠送的虚拟礼物数据,以及管理礼物的基本信息和特效信息,并在赠送的虚拟礼物满足展示特效的条件时启动礼物特效模块,触发礼物特效。

特效动画显示单元303,用于合成视频流图像和对象图像,并将合成后的图像展示给主播和观众。特效动画显示单元包含时间控制单元、特效预处理单元、特效显示单元和特效结束单元,对于时间控制单元、特效预处理单元、特效显示单元和特效结束单元的作用将在下述实施例中进行详细描述。

照片合成单元304,用于将从视频流接收单元中获取到的视频流图像和从礼物特效管理单元获取到的礼物特效图像(即,对象图像)进行处理并合成,生成主播视频特效照片。其中,照片合成单元包含倒计时单元、人脸和手势识别单元、视频图像获取单元、特效图像获取单元和照片图像合成单元,具体每个单元的作用将在下述实施例中进行详细介绍。

可选地,照片合成单元304在特定的条件下可以从视频与特效合成单元中直接获取合成的图像数据。此时照片合成单元将包括倒计时单元、合成图像获取单元和合成图像处理单元。详细信息将在图7的实施流程图中进行详细描述。

照片后期处理单元305,用于收集、管理和展示用户的照片;用户从网络服务器中获取当前主播的照片并展示在特定的窗口位置中。用户还可以查看这些照片,所属主播也可以查看和管理这些照片。

图4是根据本发明实施例的一种主播端视频流接收单元的示意图,如图4所示,主播端视频流接收单元用于采集主播端的视频流信息,并输出主播端的视频流信息。

具体地,主播端视频流接收单元包括:

摄像头设备401,通过USB端口连接主播端的电脑,通过该设备采集主播的视频流信息,生成视频数据并输出到视频流采集单元。

视频流采集单元402,当视频流采集单元作用在主播端时,将实现如下两个功能:

功能1:采用现有的视频采集技术,将从摄像头设备采集到的视频数据转换为视频直播平台软件可识别以及可处理的视频映射文件。

功能2:为了便于网络传输,采用主流视频编码技术,对视频映射文件进行视频编码后生成rtmp格式的视频流文件,并以此作为输出发送到网络服务器403上,以便提供给观众端用户获取主播的视频流数据。

网络服务器403,接收由主播端上传的rtmp格式的视频流数据,对该数据进行短暂存储并实现视频数据分发功能,以便提供给观众端用户获取和下载主播的视频数据。

主播端视频接收单元404,接收从视频流采集单元输出的视频映射文件数据,将该视频映射文件数据以原始视频流的形式显示到本机的视频直播软件的视频播放窗口中,以便提供给主播进行视频预览。

图5是根据本发明实施例的一种观众端视频流接收单元的示意图,如图5所示,观众端视频接收单元用于采集观众端的视频流信息,并输出观众端的视频流信息。

具体地,观众端视频接收单元包括:

视频流采集单元501,与图4中的视频流采集单元402为同一单元,视频流采集单元501用于从主播端采集视频流数据,并提交到网络服务器502。

网络服务器502,与图4中的网络服务器403为同一单元,网络服务器502用于接收由主播端上传的rtmp格式的视频流数据,并对该数据进行短暂存储并实现视频流数据分发功能,以便提供给观众端用户获取和下载主播的视频流数据。

观众端视频流接收单元503,以网络服务器502分发的rtmp格式的视频流数据作为输入,对视频流数据进行解码处理,并在解码处理之后,将解码之后的视频流数据存放于系统内存映射文件中,然后,采用现有的视频显示技术,在观众端的视频直播软件的视频播放窗口内显示获得的视频流数据。

图6是根据本发明实施例的一种礼物特效管理单元的示意图,如图6所示,特效管理单元包含:礼物赠送单元601、特效动画单元602和特效动画调整单元603,其中:

礼物赠送单元601,以观众点击赠送虚拟礼物的行为作为输入,在窗口中输出用户赠送礼物的信息,当赠送的虚拟礼物满足不同的条件时,触发不同的动画效果,当观众赠送的虚拟礼物达到特效触发条件时,启动特效动画单元。

特效动画单元602,根据观众赠送礼物的信息,获取在网络服务器中指定的特效动画信息。一般来说,特效动画与观众赠送的礼物是息息相关的。如果赠送特效礼物“棒棒糖”达到一定条件(例如,棒棒糖的数量为10个),此时,在视频播放窗口中显示的特效动画可能是一个闪闪发光的棒棒糖;然而,如果赠送特效礼物“棒棒糖”达到一定条件(例如,棒棒糖的数量为66个),此时,特效动画就会是大量从天而降的棒棒糖,即不同的虚拟礼物在达到不同的条件时,将触发不同的特效动画效果。

特效动画调整单元603,用于在特效动画触发后,在保证视频动画不失真的情况下对特效动画的显示大小、显示位置、播放速率等进行初步调整,并将调整之后的特效动画发送到特效动画显示单元302中进行显示。

图7是根据本发明实施例的一种特效动画显示单元的示意图,如图7所示,特效动画显示单元包含:特效预处理单元701、时间控制单元702、特效显示单元703和特效结束单元704,其中:

特效预处理单元701用于从网络服务器中获取特效信息,并根据显示器分辨率、视频播放窗口的位置信息和视频区域信息调整特效动画的大小和位置。

例如,某个特效动画是“鲜花围绕主播”,那么“鲜花”的特效动画就需要出现在视频区域的四周才能达到围绕效果;又例如某个特效动画是“圣诞积雪”,那么“积雪”特效动画就需要出现在视频区下方才能达到积雪效果。然而,在分辨率较大的显示器下,由于视频播放窗口变大,因此鲜花和积雪的大小也会变大;而在分辨率较小的显示器下,由于视频播放窗口变小,因此鲜花和积雪的大小也会变小。即在不同显示器分辨率下,特效动画的大小会有所不同,因此需要对原始的特效动画大小需要进行拉伸或缩小操作。

进一步地,由于视频播放窗口在显示器屏幕内的位置会随视频播放窗口的移动而移动。例如,视频播放窗口被用户进行窗体拖拽、进行窗口拉伸或窗体缩放操作、以及进行窗口最大化等操作时,如果此时正在播放特效动画,那么就需要对其在显示器屏幕中的位置进行实时调整。

具体地,为了使得视频播放窗口在被拉伸或者缩小时,特效动画不失真,需要对特效动画的大小进行调整。假设视频流数据在视频播放窗口中的显示大小为videoSize(vw,vh),其中,vw为视频播放窗口宽度值,vh为视频播放窗口高度值;某个特效动画的原始大小为effectSize(ew,eh),其中,ew为特效动画的原始宽度值,eh为特效动画的原始高度值。经特效预处理单元进行处理并调整后的特效动画的大小为:effectSizeDest(edw,edh),其中,edw为特效动画调整后的宽度值,edh为特效动画调整后的高度值,此特效动画调整之后的大小与视频播放窗口存在关系,该关系可以从特效管理单元302中获取。假设,调整之后的大小与视频播放窗口之间的比例关系可以为:effectSizeDest(edw,edh)=videoSize(vw,vh)*ρ(ρw,ρh)。假设,特效动画缩放因子为σ(σw,σh),根据上述比例关系可得缩放因子σ(σw,σh)=videoSize(vw,vh)*ρ(ρw,ρh)/effectSize(ew,eh),则特效动画将会根据该缩放因子调整到目标大小,完成对特效动画大小的调整。

进一步地,为了使得特效动画出现在视频播放窗口中正确的区域位置上,因此,需要对特效动画的位置进行调整。在本发明实施例中,可以根据视频播放窗口的坐标位置和视频播放窗口的坐标位置,设置4个特效动画可能出现的原始位置点,它们分别是:origin1(即,视频直播平台的房间窗口左上角)、origin2(即,视频直播平台的房间窗口正中)、origin3(即,视频直播软件视频播放窗口左上角)和origin4(即,视频直播软件视频播放窗口正中)。

在本发明实施例中,每个特效动画都会包含一个根据自身大小而设定的相对偏移值offsize(ox,oy),此值用于美术人员人工调整特效动画的位置。假设,视频直播平台的房间窗口的大小为roomSize(rw,rh),视频播放窗口的相对房间窗口的位置为videoPos(vx,vy),视频播放窗口大小为videoSize(vw,vh),此时,根据4个原始位置点就可以计算出对应特效动画的合成位置effectPos(ex,ey),具体如下:

Origin1:特效合成位置位于房间的左上角,则effectPos(ex,ey)=offsize(ox,oy)。

Origin2:特效合成位置位于房间的正中,effectPos(ex,ey)=offsize(ox,oy)+roomSize(rw,rh)/2。

Origin3:特效合成位置相对视频偏移,effectPos(ex,ey)=offsize(ox,oy)+videoPos(vx,vy)。

Origin4:特效合成位置相对视频偏移,effectPos(ex,ey)=offsize(ox,oy)+(videoPos(vx,vy)+videoSize(vw,vh)/2)。

时间控制单元702,在特效动画被触发后,所有特效按照被触发的时间先后顺序进行排队,进入到特效动画队列中,并在时间单元的控制下依次显示特效动画。时间控制单元用于触发特效的显示,并控制特效显示的持续时长。当特效动画播放完成时,将调用特效结束单元704进行资源回收和内存释放。进一步地,时间控制单元在启动特效显示单元后,将判断该特效动画是否满足照片的合成条件,如果满足照片的合成条件,则发送激活指令到照片合成单元304。假设,用户送66个棒棒糖的特效动画给主播,当在视频播放窗口中有大量从天而降的棒棒糖时,则满足图片的合成条件;然而,假设设定送10个棒棒糖的特效动画,如果在视频播放装口中仅显示一个闪闪发光的棒棒糖,则不满足图片的合成条件,那么当检测到特效队列中下一个即将播放的特效为满足图片合成条件的“大量从天而降的棒棒糖”特效动画时,则获取视频直播中与预定条件对应的视频流图像,并获取与预定条件对应的对象图像,并将获取到的图形进行合成。

特效显示单元703,以特效预处理单元701的输出作为输入,在时间控制单元的控制下,在视频流数据上方,显示特效动画。

特效结束单元704,用于结束并关闭特效动画,并回收特效动画使用的资源,以及重置特效动画状态,为下一个特效的播放做准备。

图8是根据本发明实施例的一种照片合成单元的示意图,如图8所示,在具体实施中,照片合成单元包含:手势特征数据库801、手势动作提醒单元802、倒计时单元803、人脸和手势识别单元804、视频图像获取单元805、特效图像获取单元806和照片图像合成单元807,其中:

在本发明实施例中,图片合成的时间点将决定图片内容是否成功“抓拍”到“最美一刻”,而计算最美一刻的时间点,将由以下单元计算获得:

手势特征数据库801,用于存放各种手势的特征数据和对应手势的卡通提示图标,包含但不限于各种动作及手势,例如,抱拳手势、yeah手势、爱心手势等各种流行手势。

当照片合成单元被激活时,首先启动手势动作提醒单元802,该单元会在手势特征数据库中指定选择或者随机选择一个手势,并提示主播摆出相应的手势并准备拍照。例如,主播A收到一个能触发拍照的虚拟礼物“恭喜发财”,那么在特效动画触发的同时,手势动作提醒单元会从手势特征数据库中指定选择抱拳手势,并在主播侧视频区域下方显示一个抱拳动作的卡通提示图标,提示主播摆出响应手势。

在照片合成单元被激活时,还可以通过倒计时单元803设置人脸图像和主播手势的识别时间。例如,当倒计时开始时进行人脸图像和主播手势识别,当倒计时结束后关闭人脸图像和主播手势的识别。

人脸和手势识别单元804,用于在倒计时单元结束之前,对视频流数据中的人脸图像和主播的手势动作进行检测和识别。

具体地,在本发明实施例中,在对人脸图像和主播的手势进行识别时,是以视频帧为单位进行识别,分别每个视频帧中的人脸图像和主播手势进行识别,当识别到人脸图像比较清晰,或者主播的手势与预定手势的相似度值满足预定相似度值时,返回人脸图像的数据和主播手势的动作编码。其中,人脸图像的数据包含人脸所在矩形的范围,眼睛,鼻子,嘴唇,耳朵相对人脸矩形的矩形范围。假设成功识别到双手食指拇指组合成一个心型图案的爱心手势,则返回手势动作编码1。

视频图像获取单元805,用于从视频流接收单元中获取实时视频流图像。并判断人脸图像是否为预定人脸图像,其中,当判断出人脸图像为预定人脸图像,即人脸图像所在的人脸矩形在视频区域中所占区域不大于视频区域的2/3,不小于视频区域的1/100时,判断为预定人脸图像,即清晰头像。

因此,在本发明实施例中,如果识别到清晰的人脸图像且获取到正常的手势编码,则可以直接从视频流中获取视频流图像。如果没有同时获取到上述信息,则需要在倒计时结束时,从视频流中获取视频流图像,其中,视频图像获取单元获取到的视频流图像为不带特效动画信息的图像。

特效图像获取单元806,用于从礼物信息数据库中获取存储的特效动画的图像信息,然后,根据特效动画的图像信息获取特效图像(即,上述对象图像)。

需要说明的是,在本发明实例中,特效图像有多种来源,主要包括:

1、存储在网络服务器上的图片文件,需要从网络服务器中下载该文件并加载到内存中。

2、特效动画帧描述,特效图像从特效动画中获取对应帧作为特效图像。

照片图像合成单元807,用于将视频流图像与特效图像合成为最终照片。如果最终合成之后的图片的尺寸为PictureSize(pw,ph),那么需要将从视频直播中获取到的视频流图像的尺寸VideoSize(vw,vh)按照第一预设比例进行缩放,其中,缩放之后的大小为最终合成之后的图片的大小,然后绘制到画布上。第一预设比例包括宽度缩放比和高度缩放比,其中,宽度缩放比为:kw=pw/vw,高度缩放比为:kh=ph/vh。

需要说明的是,一般情况下,为了保持图像不失真,宽度缩放比和长度缩放比应该相同,也即,kw=kh。如果在特殊情况下,导致宽度缩放比和长度缩放比不相同时,为保证所有的图像内容都能缩放到最终合成之后的图片中,则需要使用两者的较小值作为缩放因子,也即,此时选取的缩放比为:k=min(kw,kh)。按照缩放比对视频流图像进行缩放时,最终生成的视频流图像的大小为:DestVideoSize(vw’=vw*k,vh’=vh*k)。

在画布上绘制视频流图像之后,就可以依次绘制对象图像(即,特效图像)。对象图像的绘制效果两种,即效果类型1和效果类型2,其中,效果类型1和效果类型2的添加均基于对象图像的位置信息:EffectRect(x,y,w,h)。

效果类型1:效果类型1即对象图像覆盖整个视频流图像,此时,对象图像的位置信息为:EffectRect(0,0,w,h)。此时,对象图像可以通过缩放因子k2获得更加适合的对象图像,即:EffectRect’(0,0,w’,h’)=EffectRect(0,0,w,h)*k2。

效果类型2:效果类型2即对象图像处于视频流图像中特定位置。首先从视频图像中获取对象图像显示的范围和位置信息,即:EffectRect’(x’,y’,w’,h’)。但是,由于该位置信息和显示范围是相对原始的视频流图像获取的,因此需要先将上述获取到的该位置信息和显示范围按照下述方式进行变化,即:EffectRect”(x”,y”,w”,h”)=EffectRect’(x’,y’,w’,h’)*k。然后,将对象图像的原始大小EffectSize(w,h)按照非等比缩放因子k3(α,β)进行缩放,缩放之后对象图像的大小为:EffectSize”(w”,h”)=EffectSize(w,h)*k3(α,β)。最后,在画布的(x”,y”)位置上绘制效果。

图9是根据本发明实施例的一种照片合成单元另一实施例的示意图,如图9所示,在另一具体实施例中,图像合成的另一种实现方式包括:倒计时单元901、合成图像获取单元902和合成图像处理单元903,其中:

倒计时单元901,与图8中的倒计时单元为同一单元。具体地,当在特效动画显示在视频播放窗口上时,可以设定特效动画的指定时间即为拍照的时刻,此时间点的描述可以从特效礼物单元中获取,一般为特效动画中效果最佳帧的展示时间。倒计时单元在此指定时间点的前3~5s启动,并在视频播放窗口中展示倒计时信息,以提示主播和用户将在倒计时结束后将进行拍照,并在倒计时结束时启动合成图像获取单元。

合成图像获取单元902,用于从视频播放窗口中获取视频流图像和特效图像(即,对象)。该单元可以直接从视频播放窗口中获取视频播放窗口的截图,并同时将正在播放的特效动画截获,此时截获的特效动画为设定中的最佳帧。此处,合成图像获取单元获取到的图像已包含主播端的视频流图像和特效图像。

合成图像处理单元903,用于对合成图像处理单元合成的图像进行缩放处理,处理得到最终需要的大小。

图10是根据本发明实施例的一种照片后期处理单元的示意图,如图10所示,照片后期处理单元包括:照片上传单元1001、网络服务器1002和照片展示单元1003,其中:

照片上传单元1001用于将合成的图片上传到网络服务器中。

网络服务器1002,用于接收照片上传单元1001上传的照片,并对照片进行存储,和提供查询和下载服务。

照片展示单元1003,用于从网络服务器1002中获取已存储的当前主播的图片信息,并进行展示。用户还可以浏览该主播的所有照片,而主播在浏览照片的同时也可以进行删除和照片分组。

综上,在本发明实施例中,提供了一种视频直播中的图像处理方法和装置,该方法和装置能够使得在短暂的礼物特效出现的同时,通过人脸图像和手势的识别能够自动获取并保存主播的最优姿态和最佳特效的照片,从而让主播和观众在特效照片保存并展示之后能够回味、品评当时那精彩瞬间。

进一步地,本发明实施例提供的视频直播中的图像处理方法和装置可应用在传统实时视频直播中,且无需对视频直播流程和视频流数据进行改动。

进一步地,由于无需对视频直播流程和视频流数据进行改动,因此,本发明提供的技术方案实现了极高的复用性和移植性,即任何视频播放系统都无需作太多修改就可以很方便地加载本发明的装置进行基于视频图像合成的实时特效照片生成。

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

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

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

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

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

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

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

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