一种视频数据处理方法以及装置的制造方法

文档序号:10580254阅读:343来源:国知局
一种视频数据处理方法以及装置的制造方法
【专利摘要】本发明实施例公开了一种视频数据处理方法以及装置,其中方法包括:获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。采用本发明,可以在iOS系统中对视频进行透明/半透明显示。
【专利说明】
一种视频数据处理方法以及装置
技术领域
[0001 ]本发明涉及计算机技术领域,尤其涉及一种视频数据处理方法以及装置。
【背景技术】
[0002]目前对视频进行透明/半透明显示的做法通常为:在视频编码时保留Alpha通道(即透明通道),使得将来在播放视频时,可以通过解码视频以获得视频中每个像素的Alpha值,并根据每个像素的Alpha值来与底图做混合,以得到可以透明/半透明显示的视频。
[0003]目前,可以支持携带Alpha通道的视频编码格式包括:JPEG2000(基于小波变换的图像压缩标准)、PNG(图像文件存储格式)、Planar RGB(一种图像文件格式)、TGA(—种图像文件格式)、TIFF(Tag Image File Format,标签图像文件格式)、RLE(run_lengthencoding,游程编码)。而1S(—种移动操作系统)系统所能支持的视频编码格式包括:
H.264(高度压缩数字视频编解码器标准)、MPEG4(Moving Pictures Experts Group 4,动态图象专家组)、Mot1n JPEG (Mot 1n Joint Photographic Experts Group,移动式连续图像专家组)。由此可见,1S系统所能支持的视频编码格式都无法对携带Alpha通道的视频进行编码,从而导致无法再1S系统中对视频进行透明/半透明显示。

【发明内容】

[0004]本发明实施例提供一种视频数据处理方法以及装置,可以在1S系统中对视频进行透明/半透明显示。
[0005]本发明实施例提供了一种视频数据处理方法,包括:
[0006]获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;
[0007]对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;
[0008]将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。[0009 ]相应地,本发明实施例还提供了一种视频数据处理装置,包括:
[0010]数据获取模块,用于获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;
[0011 ]解码获取模块,用于对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;
[0012]转换显示模块,用于将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。
[0013]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和蒙版数据分别对应的RGB值,再将蒙版数据对应的RGB值转换为透明度值,从而可以将解码后的原视频数据与所转换得到的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示。
【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本发明实施例提供的一种视频数据处理方法的流程示意图;
[0016]图1a是本发明实施例提供的一种待解码视频数据的视频画面示意图;
[0017]图2是本发明实施例提供的另一种视频数据处理方法的流程示意图;
[0018]图2a是本发明实施例提供的另一种待解码视频数据的视频画面示意图;
[0019]图3是本发明实施例提供的一种视频数据处理装置的结构示意图;
[0020]图4是本发明实施例提供的一种转换显示模块的结构示意图;
[0021]图5是本发明实施例提供的另一种视频数据处理装置的结构示意图;
[0022]图6是本发明实施例提供的一种终端设备的结构示意图。
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]请参见图1,是本发明实施例提供的一种视频数据处理方法的流程示意图,所述方法可以包括:
[0025]SlOl,获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;
[0026]具体的,一种终端设备可以获取本地或互联网中的预设的携带有原视频数据以及蒙版数据的待解码视频数据,该终端设备的操作系统为1S系统,该终端设备可以为智能手机、平板电脑等设备。所述待解码视频数据可以包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上。其中,所述蒙版数据可以为具有预设灰度值的且包含任意图像的视频数据,即所述蒙版数据的每一帧视频数据均可以为一张灰度图像,每一张灰度图像的作用是在后续为所述原视频数据的每一帧视频数据提供由灰度值(具体为RGB值)所转换得到的Alpha值,使得所述原视频数据的每一帧视频数据都能实现透明或半透明显示。所述蒙版数据的原理可以参见现有的Photoshop(—种主要处理以像素所构成的数字图像的图像处理软件)中的蒙版,Photoshop中的蒙版可以将不同灰度值转化为不同的透明度,并作用到它所在的图层,使图层不同部位透明度产生相应的变化;而本发明实施例所提供的所述蒙版数据同样可以提供不同的灰度值,然后通过所述终端设备将所述蒙版数据中的不同的灰度值转化为不同的透明度,并作用到所述原视频数据上,使所述原视频数据中的每一帧视频数据之间的透明度产生相应的变化。
[0027]进一步的,再请参见图la,是本发明实施例提供的一种待解码视频数据的视频画面示意图,图1a中的所述待解码视频数据100包括一个原视频数据10a和一个蒙版数据100b,即所述待解码视频数据包括两个相邻且互相分隔的单位显示区域,而图1a是以两个左右分隔的单位显示区域为例,其中,所述原视频数据10a处于左边的单位显示区域,所述蒙版数据10b处于右边的单位显示区域。当然,所述原视频数据10a和所述蒙版数据10b的排布方式并不仅限于图1a所示的所述待解码视频数据100,如所述原视频数据10a和所述蒙版数据10b可以上下分隔。
[0028]可选的,在SlOl的步骤之前,可以预先将所述原视频数据处理为所述待解码视频数据,处理得到所述待解码视频数据的步骤可以是在所述终端设备或其他可支持视频编辑处理的设备上执行,其具体的处理过程可以为:获取原视频数据,对所述原视频数据对应的视频画面尺寸(该视频画面尺寸可以为图1a中左边的单位显示区域的尺寸)进行扩展,以得到两个相互分隔且尺寸相同的单位显示区域(该两个单位显示区域可以分别为图1a中左边的单位显示区域和右边的单位显示区域);其中,所述原视频数据处于其中一个所述单位显示区域上,另一个所述单位显示区域的内容为空;再设置与所述原视频数据对应的所述蒙版数据,并将多个所述蒙版数据添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据。
[0029]S102,对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;
[0030]具体的,由于所述待解码视频数据中的所述原视频数据和所述蒙版数据都是只携带RGB颜色分量(即不包括Alpha通道),所以基于1S系统的所述终端设备所支持的视频编解码格式能够对所述待解码视频数据进行解码,并且在解码过程中可以获取到所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值,其中,所述蒙版数据对应的RGB值可以具体为灰度值。
[0031]其中,所述终端设备对所述待解码视频数据进行解码的具体过程可以为:CPU(Central Processing Unit,中央处理器)准备所述待解码视频数据,并将所述待解码视频数据送往解码硬件,解码硬件解码所述待解码视频数据后得到图像帧,CPU对所获得的图像帧进行显示或其他处理,由此可见,在这一过程中,解码硬件做了大部分工作;而且经测试可知在解码各种不同分辨率的视频时,CPU的开销都是几乎一样的(因为解码硬件的开销没有算在CPU上面),而将所述原视频数据处理为所述待解码视频数据时,主要是改变所述原视频数据的分辨率,所以对所述原视频数据进行解码和对所述待解码视频数据进行解码分别对应的CPU开销是大致相同的,即不会额外增加CPU开销。而1S系统运行的流畅度主要与CPU有关,因此视频解码过程中将大部分工作委托给解码硬件可以使CPU能够节省性能以更好的保持1S系统运行的流畅度。
[0032]S103,将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显不;
[0033]具体的,所述终端设备可以在预设的转换表中查找与所述蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。例如,假设RGB的取值范围为0.0—1.0,所述转换表中的映射关系包括:1?^(0,0,0)对应的透明度值可以为0,且表示为完全透明;1?^(0.5,0.5,0.5)对应的透明度值可以为0.5,且表示为半透明;RGB(1.0,1.0,1.0)对应的透明度值可以为1.0,且表示为完全不透明。
[0034]所述终端设备再将所述蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值,如所述原视频数据中某个像素的所述RGBA值具体包括该像素的所述原视频数据的R值、所述原视频数据的G值、所述原视频数据的B值(所述RGB值具体包括红色分量R值、绿色分量G值、蓝色分量B值)以及所述蒙版数据中与该像素相同位置上的透明度值。所述终端设备再根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。例如,若所述蒙版数据中左上角的像素对应的透明度值为0.5,则根据所述原视频数据中左上角的像素对应的RGBA值(其中的透明度值A为0.5,且表示为半透明)可以对解码后的原视频数据中左上角的像素进行半透明显示。
[0035]可选的,若所述蒙版数据中的每一帧视频数据中的RGB值都不同,那么所播放的解码后的原视频数据中的每一帧视频数据的透明显示效果都不同。
[0036]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和蒙版数据分别对应的RGB值,再将蒙版数据对应的RGB值转换为透明度值,从而可以将解码后的原视频数据与所转换得到的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示。
[0037]请参见图2,是本发明实施例提供的另一种视频数据处理方法的流程示意图,所述方法可以包括:
[0038]S201,获取原视频数据,对所述原视频数据对应的视频画面尺寸进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域;所述原视频数据处于其中一个所述单位显示区域上,且其余所述单位显示区域的内容均为空;
[0039]具体的,基于1S系统的终端设备可以通过本地或互联网获取到所述原视频数据。其中,可以将所述原视频数据对应的视频画面尺寸视为一个单位显示区域(所述原视频数据已设置在该单位显示区域上),然后所述终端设备基于这个单位显示区域进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域。其中,除了设置有所述原视频数据的单位显示区域之外的其他单位显示区域的内容均为空。
[0040]S202,设置与所述原视频数据对应的多个所述蒙版数据,并将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和多个所述蒙版数据共同构成的待解码视频数据;
[0041]具体的,所述终端设备通过设置与所述原视频数据对应的多个所述蒙版数据,可以将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和多个所述蒙版数据共同构成的待解码视频数据;其中,每个所述蒙版数据互不相同(具体体现为图像形状、像素的RGB值不同),一个所述蒙版数据对应一个内容为空的单位显示区域,所述蒙版数据的数量等于所述单位显示区域的数量减一;如若有4个单位显示区域,则可设置3个所述蒙版数据,所述原视频数据处于其中一个单位显示区域,3个所述蒙版数据处于另外3个单位显示区域。所述蒙版数据可以为具有预设灰度值的且包含任意图像的视频数据,即所述蒙版数据的每一帧视频数据均可以为一张灰度图像,每一张灰度图像的作用是在后续为所述原视频数据的每一帧视频数据提供由灰度值(具体为RGB值)所转换得到的Alpha值,使得所述原视频数据的每一帧视频数据都能实现透明或半透明显示。所述蒙版数据的原理可以参见现有的Ph0t0sh0p(—种主要处理以像素所构成的数字图像的图像处理软件)中的蒙版,Photoshop中的蒙版可以将不同灰度值转化为不同的透明度,并作用到它所在的图层,使图层不同部位透明度产生相应的变化;而本发明实施例所提供的所述蒙版数据同样可以提供不同的灰度值,然后通过所述终端设备将所述蒙版数据中的不同的灰度值转化为不同的透明度,并作用到所述原视频数据上,使所述原视频数据中的每一帧视频数据之间的透明度产生相应的变化。
[0042]进一步的,请一并参见图2a,是本发明实施例提供的另一种待解码视频数据的视频画面示意图,图2a中的所述待解码视频数据200包括原视频数据200a、蒙版数据200b、蒙版数据200c、蒙版数据200d(S卩3个蒙版数据),即所述待解码视频数据包括4个相邻且互相分隔的单位显示区域,而图2a是以“田”字型分隔的单位显示区域为例,其中,所述原视频数据200a处于左下方的单位显示区域,所述蒙版数据200b处于右下方的单位显示区域,所述蒙版数据200c处于右上方的单位显示区域,所述蒙版数据200d处于左上方的单位显示区域。当然,所述原视频数据200a和多个蒙版数据的排布方式并不仅限于图2a所示的所述待解码视频数据200。
[0043]S203,获取预设的携带有原视频数据以及多个所述蒙版数据的待解码视频数据;
[0044]具体的,通过S201和S202的步骤生成得到所述待解码视频数据后,所述终端设备可以获取预设的携带有原视频数据以及多个所述蒙版数据的待解码视频数据。
[0045]S204,对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和多个所述蒙版数据分别对应的RGB值;
[0046]具体的,由于所述待解码视频数据中的所述原视频数据和多个所述蒙版数据都是只携带RGB颜色分量(即不包括Alpha通道),所以基于1S系统的所述终端设备所支持的视频编解码格式能够对所述待解码视频数据进行解码,并且在解码过程中可以获取到所述待解码视频数据中的所述原视频数据和多个所述蒙版数据分别对应的RGB值,其中,每个所述蒙版数据对应的RGB值可以具体为灰度值。
[0047]其中,所述终端设备对所述待解码视频数据进行解码的具体过程可以为:CPU准备所述待解码视频数据,并将所述待解码视频数据送往解码硬件,解码硬件解码所述待解码视频数据后得到图像帧,CPU对所获得的图像帧进行显示或其他处理,由此可见,在这一过程中,解码硬件做了大部分工作;而且经测试可知在解码各种不同分辨率的视频时,CPU的开销都是几乎一样的(因为解码硬件的开销没有算在CPU上面),而将所述原视频数据处理为所述待解码视频数据时,主要是改变所述原视频数据的分辨率,所以对所述原视频数据进行解码和对所述待解码视频数据进行解码分别对应的CPU开销是大致相同的,即不会额外增加CPU开销。而1S系统运行的流畅度主要与CPU有关,因此视频解码过程中将大部分工作委托给解码硬件可以使(PU能够节省性能以更好的保持1S系统运行的流畅度。
[0048]S205,在多个所述蒙版数据中选择出目标蒙版数据,并将所述目标蒙版数据对应的RGB值转换为透明度值;
[0049]具体的,在多个所述蒙版数据中选择出目标蒙版数据后,所述终端设备可以在预设的转换表中查找与所述目标蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述目标蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。例如,假设RGB的取值范围为0.0—1.0,所述转换表中的映射关系包括:RGB(O,O,O)对应的透明度值可以为0,且表示为完全透明;1?8(0.5,0.5,0.5)对应的透明度值可以为0.5,且表示为半透明;RGB(1.0,1.0,1.0)对应的透明度值可以为1.0,且表示为完全不透明。
[0050]S206,将所述目标蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;
[0051 ]具体的,所述终端设备再将所述目标蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值,如所述原视频数据中某个像素的所述RGBA值具体包括该像素的所述原视频数据的R值、所述原视频数据的G值、所述原视频数据的B值(所述RGB值具体包括红色分量R值、绿色分量G值、蓝色分量B值)以及所述目标蒙版数据中与该像素相同位置上的透明度值。
[0052]S207,根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示;
[0053]具体的,所述终端设备可以根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。例如,若所述目标蒙版数据中左上角的像素对应的透明度值为0.5,则根据所述原视频数据中左上角的像素对应的RGBA值(其中的透明度值A为0.5,且表示为半透明)可以对解码后的原视频数据中左上角的像素进行半透明显不O
[0054]可选的,若所述目标蒙版数据中的每一帧视频数据中的RGB值都不同,那么所播放的解码后的原视频数据中的每一帧视频数据的透明显示效果都不同。
[0055]其中,由于有多个所述蒙版数据,所以在不同的播放环境中选择不同的蒙版数据进行透明显示,而且在不同的视频数据帧中可以选择不同的蒙版数据,使得所播放的视频的透明显示效果可以更多样化。
[0056]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和多个蒙版数据分别对应的RGB值,再选择出其中的目标蒙版数据的RGB值所对应的透明度值,从而可以将解码后的原视频数据与所对应的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示;而且由于存在多个蒙版数据,所以使得所播放的视频的透明显示效果也可以更多样化。
[0057]请参见图3,是本发明实施例提供的一种视频数据处理装置的结构示意图,所述视频数据处理装置I可以应用于基于1S系统的终端设备,所述视频数据处理装置I可以包括:数据获取模块10、解码获取模块20、转换显示模块30;
[0058]所述数据获取模块10,用于获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;
[0059]具体的,所述数据获取模块10可以获取本地或互联网中的预设的携带有原视频数据以及蒙版数据的待解码视频数据。所述待解码视频数据可以包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上。其中,所述蒙版数据可以为具有预设灰度值的且包含任意图像的视频数据,即所述蒙版数据的每一帧视频数据均可以为一张灰度图像,每一张灰度图像的作用是在后续为所述原视频数据的每一帧视频数据提供由灰度值(具体为RGB值)所转换得到的Alpha值,使得所述原视频数据的每一帧视频数据都能实现透明或半透明显示。所述蒙版数据的原理可以参见现有的Photoshop(—种主要处理以像素所构成的数字图像的图像处理软件)中的蒙版,Photoshop中的蒙版可以将不同灰度值转化为不同的透明度,并作用到它所在的图层,使图层不同部位透明度产生相应的变化;而本发明实施例所提供的所述蒙版数据同样可以提供不同的灰度值,然后通过所述终端设备将所述蒙版数据中的不同的灰度值转化为不同的透明度,并作用到所述原视频数据上,使所述原视频数据中的每一帧视频数据之间的透明度产生相应的变化。
[0060]可选的,在获取所述待解码视频数据之前,所述视频数据处理装置I可以预先将所述原视频数据处理为所述待解码视频数据,其具体的处理过程可以为:获取原视频数据,对所述原视频数据对应的视频画面尺寸(该视频画面尺寸可以为上述图1a中左边的单位显示区域的尺寸)进行扩展,以得到两个相互分隔且尺寸相同的单位显示区域(该两个单位显示区域可以分别为上述图1a中左边的单位显示区域和右边的单位显示区域);其中,所述原视频数据处于其中一个所述单位显示区域上,另一个所述单位显示区域的内容为空;再设置与所述原视频数据对应的所述蒙版数据,并将多个所述蒙版数据添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据。
[0061 ]所述解码获取模块20,用于对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;
[0062]具体的,由于所述待解码视频数据中的所述原视频数据和所述蒙版数据都是只携带RGB颜色分量(即不包括Alpha通道),所以所述解码获取模块20所支持的视频编解码格式能够对所述待解码视频数据进行解码,并且在解码过程中可以获取到所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值,其中,所述蒙版数据对应的RGB值可以具体为灰度值。
[0063]其中,所述解码获取模块20对所述待解码视频数据进行解码的具体过程可以为:CPU准备所述待解码视频数据,并将所述待解码视频数据送往解码硬件(即为所述解码获取模块20),解码硬件解码所述待解码视频数据后得到图像帧,CPU对所获得的图像帧进行显示或其他处理,由此可见,在这一过程中,解码硬件做了大部分工作;而且经测试可知在解码各种不同分辨率的视频时,CHJ的开销都是几乎一样的(因为解码硬件的开销没有算在CPU上面),而将所述原视频数据处理为所述待解码视频数据时,主要是改变所述原视频数据的分辨率,所以对所述原视频数据进行解码和对所述待解码视频数据进行解码分别对应的CPU开销是大致相同的,即不会额外增加CPU开销。而1S系统运行的流畅度主要与CPU有关,因此视频解码过程中将大部分工作委托给解码硬件可以使CPU能够节省性能以更好的保持1S系统运行的流畅度。
[0064]所述转换显示模块30,用于将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示;
[0065]具体的,请一并参见图4,是本发明实施例提供的一种转换显示模块30的结构示意图。所述转换显示模块30可以包括转换单元301、关联单元302、显示单元303;
[0066]所述转换单元301,用于将所述蒙版数据中的每个像素对应的RGB值转换为透明度值;
[0067]具体的,所述转换单元301具体用于在预设的转换表中查找与所述蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。例如,假设RGB的取值范围为0.0—1.0,所述转换表中的映射关系包括:1?^(0,0,0)对应的透明度值可以为0,且表示为完全透明;1?^(0.5,0.5,0.5)对应的透明度值可以为0.5,且表示为半透明;RGB( 1.0,1.0,1.0)对应的透明度值可以为1.0,且表示为完全不透明。
[0068]所述关联单元302,用于将所述蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值;
[0069]例如,所述原视频数据中某个像素的所述RGBA值具体包括该像素的所述原视频数据的R值、所述原视频数据的G值、所述原视频数据的B值(所述RGB值具体包括红色分量R值、绿色分量G值、蓝色分量B值)以及所述蒙版数据中与该像素相同位置上的透明度值。
[0070]所述显示单元303,用于根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示;
[0071 ]具体的,所述显示单元303根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。例如,若所述蒙版数据中左上角的像素对应的透明度值为0.5,则所述显示单元303根据所述原视频数据中左上角的像素对应的RGBA值(其中的透明度值A为0.5,且表示为半透明)可以对解码后的原视频数据中左上角的像素进行半透明显示。
[0072]可选的,若所述蒙版数据中的每一帧视频数据中的RGB值都不同,那么所播放的解码后的原视频数据中的每一帧视频数据的透明显示效果都不同。
[0073]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和蒙版数据分别对应的RGB值,再将蒙版数据对应的RGB值转换为透明度值,从而可以将解码后的原视频数据与所转换得到的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示。
[0074]再请参见图5,是本发明实施例提供的另一种视频数据处理装置的结构示意图,所述视频数据处理装置I可以应用于基于1S系统的终端设备,所述视频数据处理装置I可以包括上述图3对应实施例中的数据获取模块10、解码获取模块20以及转换显示模块30,进一步的,所述视频数据处理装置I还可以包括:获取扩展模块40、设置模块50;
[0075]所述获取扩展模块40,用于获取原视频数据,对所述原视频数据对应的视频画面尺寸进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域;所述原视频数据处于其中一个所述单位显示区域上,且其余所述单位显示区域的内容均为空;
[0076]具体的,所述获取扩展模块40可以通过本地或互联网获取到所述原视频数据。其中,可以将所述原视频数据对应的视频画面尺寸视为一个单位显示区域(所述原视频数据已设置在该单位显示区域上),然后所述获取扩展模块40基于这个单位显示区域进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域。其中,除了设置有所述原视频数据的单位显示区域之外的其他单位显示区域的内容均为空。
[0077]所述设置模块50,用于设置与所述原视频数据对应的多个所述蒙版数据,并将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据;
[0078]具体的,所述设置模块50通过设置与所述原视频数据对应的多个所述蒙版数据,可以将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和多个所述蒙版数据共同构成的待解码视频数据;其中,每个所述蒙版数据互不相同(具体体现为图像形状、像素的RGB值不同),一个所述蒙版数据对应一个内容为空的单位显示区域,所述蒙版数据的数量等于所述单位显示区域的数量减一;如若有4个单位显示区域,则可设置3个所述蒙版数据,所述原视频数据处于其中一个单位显示区域,3个所述蒙版数据处于另外3个单位显示区域。所述蒙版数据可以为具有预设灰度值的且包含任意图像的视频数据,即所述蒙版数据的每一帧视频数据均可以为一张灰度图像,每一张灰度图像的作用是在后续为所述原视频数据的每一帧视频数据提供由灰度值(具体为RGB值)所转换得到的Alpha值,使得所述原视频数据的每一帧视频数据都能实现透明或半透明显示。所述蒙版数据的原理可以参见现有的Photoshop(—种主要处理以像素所构成的数字图像的图像处理软件)中的蒙版,Photoshop中的蒙版可以将不同灰度值转化为不同的透明度,并作用到它所在的图层,使图层不同部位透明度产生相应的变化;而本发明实施例所提供的所述蒙版数据同样可以提供不同的灰度值,然后通过所述终端设备将所述蒙版数据中的不同的灰度值转化为不同的透明度,并作用到所述原视频数据上,使所述原视频数据中的每一帧视频数据之间的透明度产生相应的变化。
[0079]其中,由于所述待解码视频数据中的所述蒙版数据的数量为多个,所以所述解码获取模块20可以具体用于对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和多个所述蒙版数据分别对应的RGB值;且所述转换显示模块30也可以具体用于在多个所述蒙版数据中选择出目标蒙版数据,并将所述目标蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述目标蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。其中,所述将所述目标蒙版数据对应的RGB值转换为透明度值的具体过程可以参见上述图4对应实施例中的所述转换单元301;所述根据所述原视频数据对应的RGB值和所述目标蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示的具体过程可以参见上述图4对应实施例中的所述关联单元302和所述显示单元303,这里不再进行赘述。
[0080]其中,由于有多个所述蒙版数据,所以在不同的播放环境中选择不同的蒙版数据进行透明显示,而且在不同的视频数据帧中可以选择不同的蒙版数据,使得所播放的视频的透明显示效果可以更多样化。
[0081]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和多个蒙版数据分别对应的RGB值,再选择出其中的目标蒙版数据的RGB值所对应的透明度值,从而可以将解码后的原视频数据与所对应的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示;而且由于存在多个蒙版数据,所以使得所播放的视频的透明显示效果也可以更多样化。
[0082]请参见图6,是本发明实施例提供的一种终端设备的结构示意图。所述终端设备1000是基于1S系统的设备。所述终端设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口 1004,用户接口 1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口 1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口 1003还可以包括标准的有线接口、无线接口。网络接口 1004可选的可以包括标准的有线接口、无线接口(如W1-FI接口 )。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
[0083]在图6所示的终端设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输出的数据;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,并具体执行以下步骤:
[0084]获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上;
[0085]对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值;
[0086]将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。
[0087]在一个实施例中,所述待解码视频数据中的所述蒙版数据的数量为多个,
[0088]则所述处理器1001在执行将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示时,具体执行以下步骤:
[0089]在多个所述蒙版数据中选择出目标蒙版数据,并将所述目标蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述目标蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。
[0090]在一个实施例中,所述处理器1001在执行获取预设的携带有原视频数据以及蒙版数据的待解码视频数据之前,还执行以下步骤:
[0091]获取原视频数据,对所述原视频数据对应的视频画面尺寸进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域;所述原视频数据处于其中一个所述单位显示区域上,且其余所述单位显示区域的内容均为空;
[0092]设置与所述原视频数据对应的多个所述蒙版数据,并将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据;
[0093]其中,一个所述蒙版数据对应一个内容为空的单位显示区域,所述蒙版数据的数量等于所述单位显示区域的数量减一。
[0094]在一个实施例中,所述处理器1001在执行将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示时,具体执行以下步骤:
[0095]将所述蒙版数据中的每个像素对应的RGB值转换为透明度值;
[0096]将所述蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值;
[0097]根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。
[0098]在一个实施例中,所述处理器1001在执行将所述蒙版数据中的每个像素对应的RGB值转换为透明度值时,具体执行以下步骤:
[0099]在预设的转换表中查找与所述蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。
[0100]本发明实施例中的待解码视频数据中并无保留Alpha通道,因此,1S系统可以对待解码视频数据进行解码,并可以获取待解码视频数据中的原视频数据和多个蒙版数据分别对应的RGB值,再选择出其中的目标蒙版数据的RGB值所对应的透明度值,从而可以将解码后的原视频数据与所对应的透明度值进行混合,以实现对解码后的原视频数据进行透明或半透明显示,即实现了在1S系统中对视频进行透明或半透明显示;而且由于可以存在多个蒙版数据,所以使得所播放的视频的透明显示效果也可以更多样化。
[0101]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0102]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种视频数据处理方法,其特征在于,包括: 获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上; 对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值; 将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。2.如权利要求1所述的方法,其特征在于,所述待解码视频数据中的所述蒙版数据的数量为多个, 则所述将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示,具体包括: 在多个所述蒙版数据中选择出目标蒙版数据,并将所述目标蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述目标蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。3.如权利要求2所述的方法,其特征在于,在所述获取预设的携带有原视频数据以及蒙版数据的待解码视频数据之前,还包括: 获取原视频数据,对所述原视频数据对应的视频画面尺寸进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域;所述原视频数据处于其中一个所述单位显示区域上,且其余所述单位显示区域的内容均为空; 设置与所述原视频数据对应的多个所述蒙版数据,并将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据; 其中,一个所述蒙版数据对应一个内容为空的单位显示区域,所述蒙版数据的数量等于所述单位显示区域的数量减一。4.如权利要求1所述的方法,其特征在于,所述将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示,包括: 将所述蒙版数据中的每个像素对应的RGB值转换为透明度值; 将所述蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值; 根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。5.如权利要求4所述的方法,其特征在于,所述将所述蒙版数据中的每个像素对应的RGB值转换为透明度值,具体包括: 在预设的转换表中查找与所述蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。6.一种视频数据处理装置,其特征在于,包括: 数据获取模块,用于获取预设的携带有原视频数据以及蒙版数据的待解码视频数据;所述待解码视频数据包括多个相互分隔且尺寸相同的单位显示区域,所述原视频数据以及所述蒙版数据分别处于不同的所述单位显示区域上; 解码获取模块,用于对所述待解码视频数据进行解码,以获取所述待解码视频数据中的所述原视频数据和所述蒙版数据分别对应的RGB值; 转换显示模块,用于将所述蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。7.如权利要求6所述的装置,其特征在于,所述待解码视频数据中的所述蒙版数据的数量为多个, 则所述转换显示模块,具体用于在多个所述蒙版数据中选择出目标蒙版数据,并将所述目标蒙版数据对应的RGB值转换为透明度值,并根据所述原视频数据对应的RGB值和所述目标蒙版数据对应的所述透明度值,对解码后的原视频数据进行透明或半透明显示。8.如权利要求7所述的装置,其特征在于,还包括: 获取扩展模块,用于获取原视频数据,对所述原视频数据对应的视频画面尺寸进行扩展,以得到多个相互分隔且尺寸相同的单位显示区域;所述原视频数据处于其中一个所述单位显示区域上,且其余所述单位显示区域的内容均为空; 设置模块,用于设置与所述原视频数据对应的多个所述蒙版数据,并将多个所述蒙版数据分别添加至内容为空的单位显示区域中,以得到由所述原视频数据和所述蒙版数据共同构成的待解码视频数据; 其中,一个所述蒙版数据对应一个内容为空的单位显示区域,所述蒙版数据的数量等于所述单位显示区域的数量减一。9.如权利要求6所述的装置,其特征在于,所述转换显示模块包括: 转换单元,用于将所述蒙版数据中的每个像素对应的RGB值转换为透明度值; 关联单元,用于将所述蒙版数据中的每个像素对应的透明度值分别与所述原视频数据中对应位置的像素进行关联,以得到所述原视频数据中每个像素分别对应的RGBA值;所述RGBA值包括所述原视频数据对应的所述RGB值和所述透明度值; 显示单元,用于根据所述原视频数据中每个像素分别对应的RGBA值,对解码后的原视频数据进行透明或半透明显示。10.如权利要求9所述的装置,其特征在于, 所述转换单元,具体用于在预设的转换表中查找与所述蒙版数据中的每个像素的RGB值分别对应的透明度值,并将所述蒙版数据中的每个像素对应的RGB值转换为所查找到的对应透明度值;所述转换表包括多个RGB值与多个透明度值之间的映射关系,一个RGB值对应一个透明度值。
【文档编号】H04N21/234GK105959724SQ201610347925
【公开日】2016年9月21日
【申请日】2016年5月24日
【发明人】宋波
【申请人】腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1