直播互动特效的实现方法及装置、存储介质、电子设备与流程

文档序号:30271219发布日期:2022-06-02 09:52阅读:261来源:国知局
直播互动特效的实现方法及装置、存储介质、电子设备与流程

1.本公开涉及视频直播技术领域,尤其涉及一种直播互动特效的实现方法与直播互动特效的实现装置、计算机可读存储介质及电子设备。


背景技术:

2.直播平台中经常出现用户赠送主播礼物的情况。当礼物金额达到一定金额阈值时,直播间内还会出现礼物赠送特效。以往的礼物赠送特效都是以播放一个mp4(moving picture experts group 4,动态图像专家组)或者svga(super video graphics array,超级视频图像阵列)资源为主进行设计。
3.虽然以svga资源作为礼物赠送特效相较于传统序列帧方案存在明显优势,但是也存在很多问题。例如,svga资源对粒子、渐变、光效、遮罩等复杂特效效果还原度较低。
4.鉴于此,本领域亟需开发一种新的直播互动特效的实现方法及装置。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种直播互动特效的实现方法、直播互动特效的实现装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的特效还原度差和播放效果不佳的技术问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本发明实施例的第一个方面,提供一种直播互动特效的实现方法,所述方法包括:
9.获取特效视频资源和主播轮廓图像,并对所述特效视频资源进行分类得到至少两种视频层叠资源;
10.对所述视频层叠资源的像素值进行存储得到特效通道图像,并对所述特效通道图像进行混合渲染得到特效纹理图像;
11.对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效。
12.在本发明的一种示例性实施例中,所述对所述特效视频资源进行分类得到至少两种视频层叠资源,包括:
13.获取所述特效视频资源在目标坐标轴上的坐标值,并获取与所述目标坐标轴对应的分类坐标区间;
14.利用所述分类坐标区间和所述坐标值对所述特效视频资源进行分类得到至少两种视频层叠资源。
15.在本发明的一种示例性实施例中,所述分类坐标区间包括:第一坐标区间和第二坐标区间,所述视频层叠资源,包括:视频顶部资源和视频底部资源,
16.所述利用所述分类坐标区间和所述坐标值对所述特效视频资源进行分类得到至少两种视频层叠资源,包括:
17.若所述坐标值属于所述第一坐标区间,确定所述特效视频资源为所述视频顶部资源;其中,所述视频顶部资源遮挡所述主播轮廓图像显示;
18.若所述坐标值属于所述第二坐标区间,确定所述特效视频资源为所述视频底部资源;其中,所述主播轮廓图像遮挡所述视频底部资源显示。
19.在本发明的一种示例性实施例中,所述像素值包括顶部像素值和底部像素值,
20.所述对所述视频层叠资源的像素值进行存储得到特效通道图像,包括:
21.对所述视频顶部资源进行划分得到第一左边图像和第一右边图像,并利用所述第一左边图像和所述第一右边图像存储所述顶部像素值得到顶部通道图像;
22.对所述视频底部资源进行划分得到第二左边图像和第二右边图像,并利用所述第二左边图像和所述第二右边图像存储所述底部像素值得到底部通道图像。
23.在本发明的一种示例性实施例中,所述顶部像素值包括顶部颜色值和顶部透明值,
24.所述利用所述第一左边图像和所述第一右边图像存储所述顶部像素值得到顶部通道图像,包括:
25.获取所述第一左边图像的所述顶部颜色值和所述第一右边图像的所述顶部透明值,并使用所述第一左边图像的第一颜色通道存储所述顶部颜色值;
26.使用所述第一右边图像的第一目标通道存储所述顶部透明值,并确定所述第一左边图像和所述第一右边图像构成顶部通道图像。
27.在本发明的一种示例性实施例中,所述底部像素值包括底部颜色值和底部透明值,
28.所述利用所述第二左边图像和所述第二右边图像存储所述底部像素值得到底部通道图像,包括:
29.获取所述第二左边图像的所述底部颜色值和所述第二右边图像的所述底部透明值,并使用所述第二左边图像的第二颜色通道存储所述底部颜色值;
30.使用所述第二右边图像的第二目标通道存储所述底部透明值,并确定所述第二左边图像和所述第二右边图像构成底部通道图像。
31.在本发明的一种示例性实施例中,所述对所述特效通道图像进行混合渲染得到特效纹理图像,包括:
32.将所述第一左边图像和所述第一右边图像进行混合渲染得到顶部纹理图像;
33.将所述第二左边图像和所述第二右边图像进行混合渲染得到底部纹理图像,并确定所述顶部纹理图像和所述底部纹理图像为特效纹理图像。
34.在本发明的一种示例性实施例中,所述对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效,包括:
35.对所述特效纹理图像进行层叠关系设置得到所述特效纹理图像的播放属性;
36.基于所述播放属性,对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效。
37.根据本发明实施例的第二个方面,提供一种直播互动特效的实现装置,包括:
38.层叠划分模块,被配置为获取特效视频资源和主播轮廓图像,并对特效视频资源进行分类得到至少两种视频层叠资源;
39.混合渲染模块,被配置为对所述视频层叠资源的像素值进行存储得到特效通道图像,并对所述特效通道图像进行混合渲染得到特效纹理图像;
40.叠加播放模块,被配置为对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效。
41.根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例中的直播互动特效的实现方法。
42.根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的直播互动特效的实现方法。
43.由上述技术方案可知,本公开示例性实施例中的直播互动特效的实现方法、直播互动特效的实现装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
44.在本公开的示例性实施例提供的方法及装置中,对特效视频资源进行分类和像素值存储得到四通道的特效纹理图像,为粒子、渐变、光效和遮罩等复杂特效效果提供了图像支持和理论基础,提升了直播互动特效的还原度。更进一步的,对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效,将主播轮廓图像融合进直播互动特效中,使得直播互动特效的播放更加细腻清晰,也在保证视觉效果的基础上增加了用户的交互感和体验感,呈现效果更加逼真。
45.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1示意性示出本公开示例性实施例中一种直播互动特效的实现方法的流程示意图;
48.图2示意性示出了本公开示例性实施例中得到视频层叠资源的方法的流程示意图;
49.图3示意性示出了本公开示例性实施例中进一步得到视频层叠资源的方法的流程示意图;
50.图4示意性示出了本公开示例性实施例中存储视频层叠资源的像素值的方法的流程示意图;
51.图5示意性示出了本公开示例性实施例中得到顶部通道图像的方法的流程示意图;
52.图6示意性示出了本公开示例性实施例中得到底部通道图像的方法的流程示意
图;
53.图7示意性示出了本公开示例性实施例中混合渲染的方法的流程示意图;
54.图8示意性示出了本公开示例性实施例中叠加播放的方法的流程示意图;
55.图9示意性示出本公开示例性实施例中一种直播互动特效的实现装置的结构示意图;
56.图10示意性示出本公开示例性实施例中一种用于实现直播互动特效的实现方法的电子设备;
57.图11示意性示出本公开示例性实施例中一种用于实现直播互动特效的实现方法的计算机可读存储介质。
具体实施方式
58.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
59.本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
60.直播平台中经常出现用户赠送主播礼物的情况。当礼物金额达到一定金额阈值时,直播间内还会出现礼物赠送特效。以往的礼物赠送特效都是以播放一个mp4或者svga资源为主进行设计。
61.虽然以svga资源作为礼物赠送特效相较于传统序列帧方案存在明显优势,但是也存在很多问题。例如,svga资源对粒子、渐变、光效、遮罩等复杂特效效果还原度较低;使用图片作为特效资源,软件的解码效率太低;由于软解的性能低,需要对资源解码后数据进行缓存,这也会在一定程度上占用内存资源。
62.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
63.针对相关技术中存在的问题,本公开提出了一种直播互动特效的实现方法。图1示出了直播互动特效的实现方法的流程图,如图1所示,直播互动特效的实现方法至少包括以下步骤:
64.步骤s110.获取特效视频资源和主播轮廓图像,并对特效视频资源进行分类得到至少两种视频层叠资源。
65.步骤s120.对视频层叠资源的像素值进行存储得到特效通道图像,并对特效通道
图像进行混合渲染得到特效纹理图像。
66.步骤s130.对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效。
67.在本公开的示例性实施例中,对特效视频资源进行分类和像素值存储得到四通道的特效纹理图像,为粒子、渐变、光效和遮罩等复杂特效效果提供了图像支持和理论基础,提升了直播互动特效的还原度。更进一步的,对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效,将主播轮廓图像融合进直播互动特效中,使得直播互动特效的播放更加细腻清晰,也在保证视觉效果的基础上增加了用户的交互感和体验感,呈现效果更加逼真。
68.下面对直播互动特效的实现方法的各个步骤进行详细说明。
69.在步骤s110中,获取特效视频资源和主播轮廓图像,并对特效视频资源进行分类得到至少两种视频层叠资源。
70.在本公开的示例性实施例中,该特效资源视频可以是mp4格式的,也可以是其他格式的,本示例性实施例对此不做特殊限定。
71.值得说明的是,该mp4格式的特效资源视频为r(red)、g(green)、b(blue)三种颜色通道的视频。
72.而该主播轮廓图像可以是从通过h.264编码的直播视频数据流中获取到的。
73.其中,h.264的基本流(elementary stream,es)的结构分为两层,包括视频编码层(vcl)和网络适配层(nal)。视频编码层负责高效的视频内容表示,而网络适配层负责以网络所要求的恰当的方式对数据进行打包和传送。引入nal并使之与vcl分离带来的好处包括两方面,一方面是使信号处理和网络传输分离,vcl和nal可以在不同的处理平台上实现;另一方面是vcl和nal分离设计,使得在不同的网络环境内,网关不需要因为网络环境不同而对vcl比特流进行重构和重编码。
74.h.264的基本流由一系列nalu(network abstraction layer unit,网络抽象层单元)组成,不同的nalu数据量各不相同。
75.因此,通过nalu包在视频流服务端和直播客户端之间传输同一帧数据中的主播的轮廓描边数据。该轮廓描边数据可以是主播在直播过程中展示的头部,或者上半身,或者全身的坐标点。
76.当直播客户端监听到nalu之后,可以对该nalu进行解析处理获取直播视频流中的主播的轮廓描边数据,并按照该轮廓描边数据中的坐标点进行轮廓描边处理,并对轮廓描边处理的结果进行抠图得到主播轮廓图像。
77.因此,该主播轮廓图像可以是主播的头部图像,也可以是主播的上半身图像,还可以是主播的全身图像,本示例性实施例对此不做特殊限定。
78.在得到特效视频资源之后,可以对特效视频资源进行分类得到至少两种视频层叠资源。
79.在可选的实施例中,图2示出了得到视频层叠资源的方法的流程示意图,如图2所示,该方法至少包括以下步骤:在步骤s210中,获取特效视频资源在目标坐标轴上的坐标值,并获取与目标坐标轴对应的分类坐标区间。
80.特效视频资源的每一帧图像都带有位置坐标,该位置坐标可以由x轴和y轴两个维度构成。并且,x轴和y轴上的位置坐标都可以在0-1之间。
81.为了确定特效视频资源中的每一帧图像在显示时是需要覆盖在主播轮廓图像上,还是被主播轮廓图像所覆盖,可以获取特效视频资源的每一帧在y轴上的坐标值。其中,y轴即为目标坐标轴。
82.进一步的,还可以获取与y轴对应的分类坐标区间。其中,该分类坐标区间可以包括第一坐标区间和第二坐标区间。
83.具体的,第一坐标区间可以是(0.5,1],第二坐标区间可以是[0,0.5],或者是第一坐标区间是[0.5,1],第二坐标区间是[0,0.5),本示例性实施例对此不做特殊限定。
[0084]
在步骤s220中,利用分类坐标区间和坐标值对特效视频资源进行分类得到至少两种视频层叠资源。
[0085]
在可选的实施例中,分类坐标区间包括:第一坐标区间和第二坐标区间,所述视频层叠资源,包括:视频顶部资源和视频底部资源,图3示出了进一步得到视频层叠资源的方法的流程示意图,如图3所示,该方法至少包括以下步骤:在步骤s310中,若坐标值属于第一坐标区间,确定特效视频资源为视频顶部资源;其中,视频顶部资源遮挡主播轮廓图像显示。
[0086]
特效视频资源中需要在主播轮廓图像的前面,并且通过遮挡主播轮廓图像显示的特效视频资源确定为层叠上文。亦即,该层叠上文为特效视频资源的上面两个通道,也就是视频顶部资源。
[0087]
当第一坐标区间为(0.5,1]或[0.5,1],且特效视频资源在y轴上的坐标值处于该第一坐标区间时,可以确定特效视频资源的对应帧图像为视频顶部资源。
[0088]
值得说明的是,视频顶部资源为显示时遮挡主播轮廓图像的资源。
[0089]
在步骤s320中,若坐标值属于第二坐标区间,确定特效视频资源为视频底部资源;其中,主播轮廓图像遮挡视频底部资源显示。
[0090]
特效视频资源中需要在主播轮廓图像的后面,并且可能会被主播轮廓图像遮挡的特效视频资源确定为层叠下文。亦即,该层叠下文为特效视频资源的下面两个通道,也就是视频底部资源。
[0091]
当第二坐标区间为[0,0.5]或[0,0.5),且特效视频资源在y轴上的坐标值属于该第二坐标区间时,可以确定特效视频资源的对应帧图像为视频底部资源。
[0092]
值得说明的是,视频底部资源为显示时被主播轮廓图像遮挡的资源。
[0093]
在本示例性实施例中,通过对特效视频资源在目标坐标轴上的坐标值和对应分类坐标区间的比较能够实现对视频层叠资源的分类,为直播互动特效的渲染和显示提供了数据基础和理论支持。
[0094]
在步骤s120中,对视频层叠资源的像素值进行存储得到特效通道图像,并对特效通道图像进行混合渲染得到特效纹理图像。
[0095]
在本公开的示例性实施例中,得到视频层叠资源之后,可以存储视频层叠资源的像素值得到特效通道图像。
[0096]
在可选的实施例中,像素值包括顶部像素值和底部像素值,图4示出了存储视频层叠资源的像素值的方法的流程示意图,如图4所示,该方法至少包括以下步骤:在步骤s410中,对视频顶部资源进行划分得到第一左边图像和第一右边图像,并利用第一左边图像和第一右边图像存储顶部像素值得到顶部通道图像。
[0097]
在对视频顶部资源划分时,可以从视频顶部资源在y轴等于0.5的位置进行平均划分,以得到左边的图像以及右边的图像。其中,左边的图像可以是第一左边图像,右边的图像可以是第一右边图像。
[0098]
在可选的实施例中,顶部像素值包括顶部颜色值和顶部透明值,图5示出了得到顶部通道图像的方法的流程示意图,如图5所示,该方法至少包括以下步骤:在步骤s510中,获取第一左边图像的顶部颜色值和第一右边图像的顶部透明值,并使用第一左边图像的第一颜色通道存储顶部颜色值。
[0099]
将视频顶部资源按照左右均分为两个部分。其中,左边部分为彩色的第一左边图像,右半部分为灰度的第一右边图像。
[0100]
由于视频顶部资源为rgb三通道,因此,在该第一左边图像中,可以通过第一左边图像的rgb三个颜色通道存储视频顶部资源中的顶部颜色值。
[0101]
在步骤s520中,使用第一右边图像的第一目标通道存储顶部透明值,并确定第一左边图像和第一右边图像构成顶部通道图像。
[0102]
将视频顶部资源中的第一右边图像的0-255之间的像素值转换为0-1之间的顶部透明值,因此在第一右边图像的r通道中存储第一右边图像的顶部透明(alpha)值。
[0103]
进一步的,可以确定第一左边图像和第一右边图像构成了顶部通道图像。
[0104]
在本示例性实施例中,通过对视频顶部资源进行划分和像素值存储得到两张顶部通道图像,为形成四通道层叠效果的特效纹理图像提供了图像支持和理论基础,并保证了直播互动特效的播放效果。
[0105]
在步骤s420中,对视频底部资源进行划分得到第二左边图像和第二右边图像,并利用第二左边图像和第二右边图像存储底部像素值得到底部通道图像。
[0106]
在对视频底部资源进行划分时,也可以从视频底部资源在y轴等于0.5的位置进行平均划分,以得到左边的图像以及右边的图像。其中,左边的图像可以是第二左边图像,右边的图像可以是第二右边图像。
[0107]
在可选的实施例中,底部像素值包括底部颜色值和底部透明值,图6示出了得到底部通道图像的方法的流程示意图,如图6所示,该方法至少包括以下步骤:在步骤s610中,获取第二左边图像的底部颜色值和第二右边图像的底部透明值,并使用第二左边图像的第二颜色通道存储底部颜色值。
[0108]
将视频底部资源按照左右均分为两个部分。其中,左边部分为彩色的第二左边图像,右半部分为灰度的第二右边图像。
[0109]
由于视频底部资源为rgb三通道,因此,在该第二左边图像中,可以通过第二左边图像的rgb三个颜色通道存储视频底部资源中的底部颜色值。
[0110]
在步骤s620中,使用第二右边图像的第二目标通道存储底部透明值,并确定第二左边图像和第二右边图像构成底部通道图像。
[0111]
将视频底部资源中的第二右边图像的0-255之间的像素值转换为0-1之间的底部透明值,因此在第二右边图像的r通道中存储第二右边图像的底部透明值。
[0112]
进一步的,可以确定第二左边图像和第二右边图像构成了底部通道图像。
[0113]
在本示例性实施例中,通过对视频底部资源进行划分和像素值存储得到两张底部通道图像,完善了形成四通道层叠效果的特效纹理图像的图像支持和理论基础,并保证了
直播互动特效的播放效果。
[0114]
基于此,顶部通道图像和底部通道图像构成了四通道的特效通道图像。
[0115]
进一步的,对特效通道图像进行混合渲染得到特效纹理图像。
[0116]
在可选的实施例中,图7示出了混合渲染的方法的流程示意图,如图7所示,该方法至少包括以下步骤:在步骤s710中,将第一左边图像和第一右边图像进行混合渲染得到顶部纹理图像。
[0117]
在得到第一左边图像和第一右边图像之后,可以在特效渲染的时候读取左半部分的第一左边图像的rgb值混合右半部分的r通道的值作为alpha进行混合渲染得到带透明度的顶部纹理图像。
[0118]
值得说明的是,该混合渲染方式可以是由opengl(open graphics library,开放图形库或者开放式图形库)es实现的,也可以是由metal(一种游戏技术)实现的,还可以是由webgl(web graphics library,web图形库)实现的。
[0119]
其中,opengl是用于渲染2d(second dimension,二维)、3d(three dimensional,三维)矢量图形的跨语言、跨平台的应用程序编程接口(application programming interface,api)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于microsoft windows(操作系统)上的direct3d(3d图形api)。opengl常用于cad(cad-computer aided design,计算机辅助设计)、虚拟实境、科学可视化程序和电子游戏开发。
[0120]
metal是一项全新的技术,专为开发高临场感主机游戏的开发者打造,可让开发者全力发挥a7(apple a7,a7处理器)和a8(apple a8,a8处理器)芯片的性能。该技术经过优化,使处理器和图形处理器能够协同工作来实现最优性能。它专为多线程而设计,并提供各种出色工具将所有素材整合在xcode(运行在操作系统mac os x上的集成开发工具)中。
[0121]
metal是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。metal提升了a7与a8处理器效能,让其性能完全发挥。
[0122]
webgl是一种3d绘图协议,这种绘图技术标准允许把javascript和opengl es 2.0结合在一起,通过增加opengl es 2.0的一个javascript绑定,webgl可以为html5(hypertext markup language 5,超文本5.0)canvas(画布页面)提供硬件3d加速渲染,这样web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3d场景和模型了,还能创建复杂的导航和数据视觉化。
[0123]
其中,javascript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。为浏览器的一部分,广泛用于客户端的脚本语言。
[0124]
在步骤s720中,将第二左边图像和第二右边图像进行混合渲染得到底部纹理图像,并确定顶部纹理图像和底部纹理图像为特效纹理图像。
[0125]
在得到第二左边图像和第二右边图像之后,可以在特效渲染的时候读取左半部分的第二左边图像的egb值混合右半部分的r通道的值作为alpha进行混合渲染得到带透明度的底部纹理图像。
[0126]
值得说明的是,底部纹理图像的混合渲染方式可以是由es实现的,也可以是由metal实现的,还可以是由webgl实现的。
[0127]
因此,顶部纹理图像和底部纹理图像都为rgba四个色彩空间构成的图像。其中,
rgba是代表red(红色)green(绿色)blue(蓝色)和alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实也可以看做是rgb模型附加了额外的信息。
[0128]
进一步的,可以确定顶部纹理图像和底部纹理图像为特效纹理图像。因此,特效纹理图像为两张图像构成的。
[0129]
在本示例性实施例中,通过分别对第一左边图像和第一右边图像,以及第二左边图像和第二右边图像的混合渲染能够得到特效纹理图像,支持了直播互动特效的透明度渲染。
[0130]
在步骤s130中,对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效。
[0131]
在本公开的示例性实施例中,得到特效纹理图像之后,可以对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效。
[0132]
在可选的实施例中,图8示出了叠加播放的方法的流程示意图,如图8所示,该方法至少包括以下步骤:在步骤s810中,对特效纹理图像进行层叠关系设置得到特效纹理图像的播放属性。
[0133]
由于想要将视频顶部资源作为层叠上文进行播放,将视频底部资源为层叠下文进行播放,因此可以对应设置顶部纹理图像和底部纹理图像的层叠上下文关系得到顶部纹理图像和底部纹理图像的播放属性,以使直播互动特效达到与视频流有上(顶部纹理图像)、中(主播轮廓图像)和下(底部纹理图像)的叠加效果。
[0134]
在步骤s820中,基于播放属性,对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效。
[0135]
在设置好顶部纹理图像和底部纹理图像的播放属性之后,可以对特效纹理图像和主播轮廓图像进行叠加播放。
[0136]
具体的,叠加播放可以是一秒设置播放60帧特效纹理图像和主播轮廓图像得到直播互动特效,也可以设置其他播放帧数,本示例性实施例对此不做特殊限定。
[0137]
该直播互动特效可以呈现顶部纹理图像遮挡主播轮廓图像显示,而底部纹理图像被主播轮廓图像遮挡显示的围绕旋转效果。并且,该围绕旋转效果可以穿越出礼物视频区形成全屏效果,增加视觉冲击。
[0138]
值得说明的是,除了主播轮廓图像之外,还可以将用户的昵称和当前直播间的直播视频流等元素动态的融合进直播互动特效中。
[0139]
在本示例性实施例中,通过设置特效纹理图像的播放属性得到叠加播放的直播互动特效,直播互动特效更加细腻清晰,并且播放效果更加逼真。
[0140]
本公开基于视频格式对动画及特效效果有很高的还原度。并且,采用h.264编码能够在延续资源体积上的优势的同时,还在主流设备中支持硬件解码,有效提升解码效果和资源利用率。因此,本公开的诞生弥补了svga方案的不足。
[0141]
具体的,参照表(1):
[0142] 文件大小解码方式特效支持lottie无法导出软解无粒子特效gif4.6m软解只支持8位色彩apng10.6m软解全支持
webp9.2m软解全支持mp41.5m硬解无透明背景svga5.2m软解全支持本公开1.5m硬解全支持
[0143]
相较于相关技术中采用的特效实现方式,本公开在具备硬件解码的性能的同时,还兼具支持所有特效和导出文件小的效果。其中,除了本公开可作矩阵的图像融合之外,其他的相关技术均无法实现。
[0144]
并且,由于相关技术中的软解的性能低,还需要对资源解码后的数据进行缓存,会在一定程度上占用内存资源,但是本公开通过硬解实现了带矩阵乘法的融合变换,提升了资源的利用率。
[0145]
在本公开的示例性实施例中的直播互动特效的实现方法,对特效视频资源进行分类和像素值存储得到四通道的特效纹理图像,为粒子、渐变、光效和遮罩等复杂特效效果提供了图像支持和理论基础,提升了直播互动特效的还原度。更进一步的,对特效纹理图像和主播轮廓图像进行叠加播放得到直播互动特效,将主播轮廓图像融合进直播互动特效中,使得直播互动特效的播放更加细腻清晰,也在保证视觉效果的基础上增加了用户的交互感和体验感,呈现效果更加逼真。
[0146]
此外,在本公开的示例性实施例中,还提供一种直播互动特效的实现装置。图9示出了直播互动特效的实现装置的结构示意图,如图9所示,直播互动特效的实现装置900可以包括:层叠划分模块910、混合渲染模块920和叠加播放模块930。其中:
[0147]
层叠划分模块910,被配置为获取特效视频资源和主播轮廓图像,并对特效视频资源进行分类得到至少两种视频层叠资源;
[0148]
混合渲染模块920,被配置为对所述视频层叠资源的像素值进行存储得到特效通道图像,并对所述特效通道图像进行混合渲染得到特效纹理图像;
[0149]
叠加播放模块930,被配置为对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效。
[0150]
在本发明的一种示例性实施例中,所述对所述特效视频资源进行分类得到至少两种视频层叠资源,包括:
[0151]
获取所述特效视频资源在目标坐标轴上的坐标值,并获取与所述目标坐标轴对应的分类坐标区间;
[0152]
利用所述分类坐标区间和所述坐标值对所述特效视频资源进行分类得到至少两种视频层叠资源。
[0153]
在本发明的一种示例性实施例中,所述分类坐标区间包括:第一坐标区间和第二坐标区间,所述视频层叠资源,包括:视频顶部资源和视频底部资源,
[0154]
所述利用所述分类坐标区间和所述坐标值对所述特效视频资源进行分类得到至少两种视频层叠资源,包括:
[0155]
若所述坐标值属于所述第一坐标区间,确定所述特效视频资源为所述视频顶部资源;其中,所述视频顶部资源遮挡所述主播轮廓图像显示;
[0156]
若所述坐标值属于所述第二坐标区间,确定所述特效视频资源为所述视频底部资源;其中,所述主播轮廓图像遮挡所述视频底部资源显示。
[0157]
在本发明的一种示例性实施例中,所述像素值包括顶部像素值和底部像素值,
[0158]
所述对所述视频层叠资源的像素值进行存储得到特效通道图像,包括:
[0159]
对所述视频顶部资源进行划分得到第一左边图像和第一右边图像,并利用所述第一左边图像和所述第一右边图像存储所述顶部像素值得到顶部通道图像;
[0160]
对所述视频底部资源进行划分得到第二左边图像和第二右边图像,并利用所述第二左边图像和所述第二右边图像存储所述底部像素值得到底部通道图像。
[0161]
在本发明的一种示例性实施例中,所述顶部像素值包括顶部颜色值和顶部透明值,
[0162]
所述利用所述第一左边图像和所述第一右边图像存储所述顶部像素值得到顶部通道图像,包括:
[0163]
获取所述第一左边图像的所述顶部颜色值和所述第一右边图像的所述顶部透明值,并使用所述第一左边图像的第一颜色通道存储所述顶部颜色值;
[0164]
使用所述第一右边图像的第一目标通道存储所述顶部透明值,并确定所述第一左边图像和所述第一右边图像构成顶部通道图像。
[0165]
在本发明的一种示例性实施例中,所述底部像素值包括底部颜色值和底部透明值,
[0166]
所述利用所述第二左边图像和所述第二右边图像存储所述底部像素值得到底部通道图像,包括:
[0167]
获取所述第二左边图像的所述底部颜色值和所述第二右边图像的所述底部透明值,并使用所述第二左边图像的第二颜色通道存储所述底部颜色值;
[0168]
使用所述第二右边图像的第二目标通道存储所述底部透明值,并确定所述第二左边图像和所述第二右边图像构成底部通道图像。
[0169]
在本发明的一种示例性实施例中,所述对所述特效通道图像进行混合渲染得到特效纹理图像,包括:
[0170]
将所述第一左边图像和所述第一右边图像进行混合渲染得到顶部纹理图像;
[0171]
将所述第二左边图像和所述第二右边图像进行混合渲染得到底部纹理图像,并确定所述顶部纹理图像和所述底部纹理图像为特效纹理图像。
[0172]
在本发明的一种示例性实施例中,所述对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效,包括:
[0173]
对所述特效纹理图像进行层叠关系设置得到所述特效纹理图像的播放属性;
[0174]
基于所述播放属性,对所述特效纹理图像和所述主播轮廓图像进行叠加播放得到直播互动特效。
[0175]
上述直播互动特效的实现装置900的具体细节已经在对应的直播互动特效的实现方法中进行了详细的描述,因此此处不再赘述。
[0176]
应当注意,尽管在上文详细描述中提及了直播互动特效的实现装置900的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0177]
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0178]
下面参照图10来描述根据本发明的这种实施例的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0179]
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
[0180]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0181]
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(rom)1023。
[0182]
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0183]
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0184]
电子设备1000也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0185]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0186]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0187]
参考图11所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者
与其结合使用。
[0188]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0189]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0190]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0191]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0192]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1