一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种带阿尔法通道的视频播放方法、装置和电子设备与流程

2022-06-29 20:01:14 来源:中国专利 TAG:


1.本技术涉及视频播放技术领域,更具体地说,涉及一种带阿尔法通道的视频播放方法、装置和电子设备。


背景技术:

2.目前由于广告播放或内容推广等的需求的增加,对于实现播放透明效果的需要日渐强烈,但是目前一般的视频播放终端不支持对阿尔法通道的播放,导致无法满足用户播放透明效果的需求。


技术实现要素:

3.有鉴于此,本技术提供一种带阿尔法通道的视频播放方法、装置和电子设备,以使移动终端等电子设备能够播放透明效果。
4.为了实现上述目的,现提出的方案如下:
5.一种带阿尔法通道的视频播放方法、应用于电子设备,所述视频播放方法包括步骤:
6.响应用户的播放请求,获取原始视频文件,所述原始视频文件带有阿尔法通道信息;
7.从所述原始视频文件提取出第一视频和第二视频,所述第一视频包括所述阿尔法通道信息,所述第二视频包括rgb信息;
8.对所述第一视频和所述第二视频进行处理,得到目标视频;
9.播放所述目标视频。
10.可选的,所述第一视频与所述第二视频处于同一视频轨道中或处于不同视频轨道中,当所述第一视频与所述第二视频处于同一视频轨道时,两者为左右关系或上下关系。
11.可选的,所述第一视频的尺寸与所述第二视频的尺寸相同。
12.可选的,所述对所述第一视频和所述第二视频进行处理,包括步骤:
13.针对所述第一视频中的每帧第一图像,依次取出其中的每个第一像素点的α分量,所述α分量表征所述第一图像的阿尔法通道的透明信息;
14.针对所述第二视频中的每帧与所述第一图像对应的第二图像,依次取出其中与所述第一像素点对应的第二像素点的rgb分量;
15.将所述α分量与所述rgb分量进行合并处理,得到所有处理后像素点,所述所有处理后像素点构成所述目标视频的每帧图像。
16.一种带阿尔法通道的视频播放装置、应用于电子设备,所述视频播放装置包括:
17.视频获取模块,被配置为响应用户的播放请求,获取原始视频文件,所述原始视频文件带有阿尔法通道信息;
18.视频提取模块,被配置为从所述原始视频文件提取出第一视频和第二视频,所述第一视频包括所述阿尔法通道信息,所述第二视频包括rgb信息;
19.视频处理模块,被配置二对所述第一视频和所述第二视频进行拼接处理,得到目标视频;
20.播放控制模块,被配置为播放所述目标视频。
21.可选的,所述第一视频与所述第二视频为左右关系或上下关系。
22.可选的,所述第一视频的尺寸与所述第二视频的尺寸相同。
23.可选的,所述视频处理模块包括:
24.第一提取单元,被配置为针对所述第一视频中的每帧第一图像,依次取出其中的每个第一像素点的α分量;
25.第二提取单元,被配置为针对所述第二视频中的每帧与所述第一图像对应的第二图像,依次取出其中与所述第一像素点对应的第二像素点的rgb分量;
26.合并处理单元,被配置为将所述α分量与所述rgb分量进行合并处理,得到所有处理后像素点,所述所有处理后像素点构成所述目标视频的每帧图像。
27.一种电子设备,设置有如上所述的视频播放方法。
28.一种电子设备,包括至少一个处理器和与所述处理器连接的存储器,其中:
29.所述存储器用于存储计算机程序或指令;
30.所述处理器用于执行所述计算机程序或指令,以使所述电子设备实现如上所述的视频播放方法。
31.从上述的技术方案可以看出,本技术公开了一种带阿尔法通道的视频播放方法、装置和电子设备,该方法和装置具体为响应用户的播放请求,获取原始视频文件,原始视频文件带有阿尔法通道信息;从原始视频文件提取出第一视频和第二视频,第一视频包括阿尔法通道信息,第二视频包括rgb信息;对第一视频和第二视频进行处理,得到目标视频;播放目标视频。基于本技术的方案,普通的播放器也能够实现透明播放效果,从而能够满足用户播放透明效果的需求。
附图说明
32.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术实施例的一种带阿尔法通道的视频播放方法的流程图;
34.图2为本技术实施例的视频拼接方法的流程图;
35.图3为本技术实施例的一种带阿尔法通道的视频播放装置的框图;
36.图4为本技术实施例的另一种带阿尔法通道的视频播放装置的框图;
37.图5为本技术实施例的一种电子设备的框图。
具体实施方式
38.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本技术保护的范围。
39.实施例一
40.图1为本技术实施例的一种带阿尔法通道的视频播放方法的流程图。
41.如图1所示,本实施例提供的视频播放方法应用于电子设备,该电子设备包括移动终端、计算机、智能电视或视频播放设备等物理设备,本视频播放方法具体包括如下步骤:
42.s1、根据用户的播放请求获取原始视频文件。
43.当用户通过电子设备发送播放请求,或者该电子设备接收到其他设备或定时设备发送的播放指令时,响应前述播放请求或播放指令,获取用户或系统指定的原始视频文件。鉴于不带阿尔法通道的普通视频文件适用于大部分的播放器,因此对于普通视频文件按现有的播放方式即可,因此,这里所针对的原始视频文件带有阿尔法通道信息。
44.s2、从原始视频文件中提取第一视频文件和第二视频文件。
45.即从原始视频文件中的每帧图像中分别提取出第一视频文件和第二视频文件,第一视频中包括阿尔法通道的透明信息,本技术表示为α分量,第二视频中包括rgb分量。rgb信息是指每帧图像的色彩信息,具体来说rgb分量是指其中的red、green和blue的颜色分量。
46.阿尔法通道是指图片的透明和半透明度,这里的阿尔法通道的透明信息即α分量是指该图片透明和不透明度的具体数值。例如:使用16比特存储的位图,其中的每个像素可能以5个比特表示红色、5个比特表示绿色、5个比特表示蓝色,最后一个比特是阿尔法。在这种情况下,它要么表示透明要么不是,因为此时信息值只有0或1两种。又如一个32比特的位图,如果用8个比特分别表示红绿蓝和阿尔法通道。在这种情况下,阿尔法通道的信息值可以表示256级的半透明度。
47.对第一视频和第二视频的提取可以用ae工具或ffmpeg工具实现。在完成提取后实际得到第一视频文件和第二视频文件,在对第一视频文件和第二视频文件进行暂存或存储,第一视频和第二视频处于同一视频轨道按左右关系或上下关系进行保存,最重要的是,本实施例中的第一视频的每帧图像的尺寸与第二视频的每帧图像的尺寸相同。
48.另外,第一视频和第二视频还可以保存于不同视频轨道,即将α分量和rgb分量分别当作图像编码到不同的视频轨道,播放器在播放的时候分别解析获取到编码数据进行解码,解码后再渲染时通过时间戳pts进行同步获取到α分量和rgb分量,用相应的的渲染技术实现背景透明效果,再将α分量和rgb分量分别当作图像编码到不同文件,或者也可以直接通过约定协议传输α分量和rgb分量,然后解码再渲染实现背景透明效果。
49.对于第一视频中的所有像素点来说,如果一个像素点是透明,则这个像素点是白色的,该像素点的α分量为1;如果一个像素点是不透明的,则这个像素点是黑色的,且该像素点的α分量为0。
50.本实施例中的ae全称为adobe after effects,是adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室,属于层类型后期软件。
51.adobe after effects软件可以高效且精确地创建无数种引人注目的动态图形和震撼人心的视觉效果。利用与其他adobe软件的紧密集成和高度灵活的2d和3d合成,以及数百种预设的效果和动画,能够为电影、视频、dvd和macromedia flash作品增添众多的效果。
52.ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用lgpl或gpl许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
53.ffmpeg在linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括windows、mac os x等。这个项目最早由fabrice bellard发起,2004年至2015年间由michael niedermayer主要负责维护。许多ffmpeg的开发人员都来自mplayer项目,而且当前ffmpeg也是放在mplayer项目组的服务器上。项目的名称来自mpeg视频编码标准,前面的"ff"代表"fast forward"。ffmpeg编码库可以使用gpu加速。
54.s3、对第一视频和第二视频进行处理。
55.在得到第一视频和第二视频的基础上,对第一视频和第二视频进行拼接处理,得到目标视频。具体来说,是通过如下步骤实现对第一视频和第二视频的拼接处理,如图2所示。
56.s31、提取第一视频中每个像素点的α分量。
57.具体来说,针对第一视频中每帧第一图像,依次提取该帧第一图像中每个第一像素点的α分量。这里的第一图像其实就是第一视频中的每帧图像,第一像素点就是每帧第一图像的像素点,将其称为第一是为了与后续的第二进行区别,防止混淆。
58.s32、提取第二视频中每个像素点的rgb分量。
59.针对第二视频中与每帧第一图像对应的每帧第二图像,依次提取该帧第二图像中与每个与第一像素点对应的第二像素点的rgb分量。这里的第二图像其实就是第二视频中的每帧图像,第二像素点就是每帧第二图像的像素点,将其称为第二是为了与前面的第一进行区别,防止混淆。
60.s33、将α分量与rgb分量进行合并处理。
61.在得到每帧第一图像中每个第一像素点的α分量和每帧第二图像中每个第二像素点的rgb分量后,将每个第一像素点的α分量与对应像素点的rgb分量进行合并处理,得到argb分量。该argb分量为合并得到的目标视频中每帧图像的每个像素点的视频向量,即所有argb分量构成目标视频的每一帧图像。
62.s4、播放该目标视频。
63.在得到上述目标视频后,基于特定的工具对该目标视频进行播放,即可得到透明播放效果。具体在实际播放时可以使用opengl渲染技术或metal渲染技术进行渲染,使用oes纹理,并对着色器进行相应处理。下面以opengl渲染技术为例对本步骤的操作内容做举例说明:
64.string alphashader="#extension gl_oes_egl_image_external:require\n"
65. "precision mediump float;\n"
66. "varying vec2 v_texcoord;\n"
67. "uniform samplerexternaloes stexture;\n"
68. "void main(){\n"
69. "gl_fragcolor=vec4(texture2d(stexture,v_texcoord).rgb,texture2d(stexture,"
70."v_texcoord vec2(-0.5,0)).r);\n"
71. "}\n";;
72.另外,当第一视频和第二视频处于不同视频轨道上时,需要对不同视频轨道上的第一视频和第二视频单独解码,然后根据pts进行同步渲染,渲染核心算法与对于单一视频轨道时的渲染核心算法相同。
73.从上述技术方案可以看出,本实施例提供了一种带阿尔法通道的视频播放方法,该方法应用于电子设备,具体为响应用户的播放请求,获取原始视频文件,原始视频文件带有阿尔法通道信息;从原始视频文件提取出第一视频和第二视频,第一视频包括阿尔法通道信息,第二视频包括rgb信息;对第一视频和第二视频进行处理,得到目标视频;播放目标视频。基于本技术的方案,普通的播放器也能够实现透明播放效果,从而能够满足用户播放透明效果的需求。
74.实施例二
75.图3为本技术实施例的一种带阿尔法通道的视频播放装置的框图。
76.如图3所示,本实施例提供的视频播放方法应用于电子设备,该电子设备包括移动终端、计算机、智能电视或视频播放设备等物理设备,本视频播放装置具体包括视频获取模块10、视频提取模块20、视频处理模块30和播放控制模块40。
77.视频获取模块用于根据用户的播放请求获取原始视频文件。
78.当用户通过电子设备发送播放请求,或者该电子设备接收到其他设备或定时设备发送的播放指令时,响应前述播放请求或播放指令,获取用户或系统指定的原始视频文件。鉴于不带阿尔法通道的普通视频文件适用于大部分的播放器,因此对于普通视频文件按现有的播放方式即可,因此,这里所针对的原始视频文件带有阿尔法通道信息。
79.视频提取模块用于从原始视频文件中提取第一视频和第二视频。
80.即从原始视频文件中的每帧图像中分别提取出第一视频和第二视频,第一视频中包括阿尔法通道的信息值,本技术表示为α分量,第二视频中包括rgb分量。对第一视频和第二视频的提取可以用ae工具或ffmpeg工具实现。在完成提取后实际得到第一视频文件和第二视频文件,在对第一视频文件和第二视频文件进行暂存或存储,第一视频和第二视频处于同一视频轨道按左右关系或上下关系进行保存,也可以按不同视频track保存;最重要的是,本实施例中的第一视频的每帧图像的尺寸与第二视频的每帧图像的尺寸相同。
81.另外,第一视频和第二视频还可以保存于不同视频轨道,即将α分量和rgb分量分别当作图像编码到不同的视频轨道,播放器在播放的时候分别解析获取到编码数据进行解码,解码后再渲染时通过时间戳pts进行同步获取到α分量和rgb分量,用相应的的渲染技术实现背景透明效果,再者α分量和rgb分量分别当作图像编码到不同文件,或者也可以直接通过约定协议传输r分量和rgb分量,然后解码再渲染实现背景透明效果。
82.对于第一视频中的所有像素点来说,如果一个像素点是透明,则这个像素点是白色的,该像素点的α分量为1;如果一个像素点是不透明的,则这个像素点是黑色的,且该像素点的α分量为0。
83.视频处理模块用于对第一视频和第二视频进行拼接处理。
84.在得到第一视频和第二视频的基础上,对第一视频和第二视频进行拼接处理,得到目标视频。具体来说,该视频拼接模块包括第一提取单元31、第二提取单元32和合并处理
单元33,如图4所示。
85.第一提取单元用于提取第一视频中每个像素点的α分量。
86.具体来说,针对第一视频中每帧第一图像,依次提取该帧第一图像中每个第一像素点的α分量。这里的第一图像其实就是第一视频中的每帧图像,第一像素点就是每帧第一图像的像素点,将其称为第一是为了与后续的第二进行区别,防止混淆。
87.第二提取单元用于提取第二视频中每个像素点的rgb分量。
88.针对第二视频中与每帧第一图像对应的每帧第二图像,依次提取该帧第二图像中与每个与第一像素点对应的第二像素点的rgb分量。这里的第二图像其实就是第二视频中的每帧图像,第二像素点就是每帧第二图像的像素点,将其称为第二是为了与前面的第一进行区别,防止混淆。
89.合并处理单元用于将α分量与rgb分量进行合并处理。
90.在得到每帧第一图像中每个第一像素点的α分量和每帧第二图像中每个第二像素点的rgb分量后,将每个第一像素点的α分量与对应像素点的rgb分量进行合并处理,得到argb分量。该argb分量为合并得到的目标视频中每帧图像的每个像素点的视频向量,即所有argb分量构成目标视频的每一帧图像。
91.播放控制模块用于播放该目标视频。
92.在得到上述目标视频后,基于特定的工具对该目标视频进行播放,即可得到透明播放效果。具体在实际播放时可以使用opengl渲染技术或metal渲染技术进行渲染,使用oes纹理,并对着色器进行相应处理。下面以opengl渲染技术为例对本步骤的操作内容做举例说明:
93.string alphashader="#extension gl_oes_egl_image_external:require\n"
94. "precision mediump float;\n"
95. "varying vec2 v_texcoord;\n"
96. "uniform samplerexternaloes stexture;\n"
97. "void main(){\n"
98. "gl_fragcolor=vec4(texture2d(stexture,v_texcoord).rgb,texture2d(stexture,"
99."v_texcoord vec2(-0.5,0)).r);\n"
100. "}\n";;
101.另外,当第一视频和第二视频处于不同视频轨道上时,需要对不同视频轨道上的第一视频和第二视频单独解码,然后根据pts进行同步渲染,渲染核心算法与对于单一视频轨道时的渲染核心算法相同。
102.从上述技术方案可以看出,本实施例提供了一种带阿尔法通道的视频播放装置,该装置应用于电子设备,具体为响应用户的播放请求,获取原始视频文件,原始视频文件带有阿尔法通道信息;从原始视频文件提取出第一视频和第二视频,第一视频包括阿尔法通道信息,第二视频包括rgb信息;对第一视频和第二视频进行处理,得到目标视频;播放目标视频。基于本技术的方案,普通的播放器也能够实现透明播放效果,从而能够满足用户播放透明效果的需求。
103.实施例三
104.本实施例提供了一种电子设备,该电子设备包括但不限于移动终端、计算机、智能电视或视频播放设备等物理设备,该电子设备设置有上一实施例提供的视频播放装置。该视频播放装置具体用于响应用户的播放请求,获取原始视频文件,原始视频文件带有阿尔法通道信息;从原始视频文件提取出第一视频和第二视频,第一视频包括阿尔法通道信息,第二视频包括rgb信息;对第一视频和第二视频进行处理,得到目标视频;播放目标视频。基于本技术的方案,普通的播放器也能够实现透明播放效果,从而能够满足用户播放透明效果的需求。
105.实施例四
106.图5为本技术实施例的一种电子设备的框图。
107.如图5所示,本实施例提供了一种电子设备,该电子设备包括但不限于移动终端、计算机、智能电视或视频播放设备等物理设备,且设置有至少一个处理器101和存储器102,两者通过数据总线103实现信号连接。该存储器用于存储计算机程序或指令,处理器则用于执行上述计算机程序或指令,以使该电子设备实现实施例一的视频播放方法。
108.该视频播放方法具体为响应用户的播放请求,获取原始视频文件,原始视频文件带有阿尔法通道信息;从原始视频文件提取出第一视频和第二视频,第一视频包括阿尔法通道信息,第二视频包括rgb信息;对第一视频和第二视频进行处理,得到目标视频;播放目标视频。基于本技术的方案,普通的播放器也能够实现透明播放效果,从而能够满足用户播放透明效果的需求。
109.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
110.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
111.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
112.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
113.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程
和/或方框图一个方框或多个方框中指定的功能的步骤。
114.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
115.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
116.以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献