基于GPU的视频隐形水印嵌入方法及系统技术方案

技术编号:33742322 阅读:61 留言:0更新日期:2022-06-08 21:40
本发明专利技术特别涉及一种基于GPU的视频隐形水印嵌入方法,包括如下步骤:S100、根据GPU型号确定其处理数据的最佳格式;S200、将视频数据使用GPU解码成该最佳格式得到多帧视频图像;S300、将隐形水印数据转换成该最佳格式并与每一帧视频图像进行叠加;S400、将添加水印后的多帧视频图像在GPU的编码芯片中进行编码得到含有隐形水印的视频数据。通过在视频的操作层面上进行水印的嵌入,在GPU中将视频解码得到NV12数据,再对NV12数据进行简单的计算,最后对NV12数据编码即可得到嵌有水印的视频,整个嵌入过程非常的简单,处理速度快,相对于传统的水印嵌入方法快了很多。的水印嵌入方法快了很多。的水印嵌入方法快了很多。

【技术实现步骤摘要】
基于GPU的视频隐形水印嵌入方法及系统


[0001]本专利技术涉及视频水印嵌入
,特别涉及一种基于GPU的视频隐形水印嵌入方法及系统。

技术介绍

[0002]目前市场的视频水印主要分为明文水印和隐形水印。明文水印的嵌入方式主要是在视频画面中的固定坐标位置添加logo标识来表明原创视频的所有者,其缺点是显示在视频画面上的水印一方面容易被定位攻击,另一方面影响了大众客户的观看体验。与明文水印不同的是,隐形水印一般是添加在整个页面上的,并且隐形水印一般是可不见或很难看到的,这样其就不容易被定位攻击,且不会影响到用户的观看体验。
[0003]目前,常见的隐形水印有以下几种。第一种是将水印数据信息封装到视频的前缀或后缀存储区域,这种方法的优点是隐形水印嵌入速度快,运算量小,因为它不会对视频原始数据进行处理,缺点在于被盗用翻拍时若重新编码存储,则水印会丢失,所以这种隐形水印方案很少使用。第二种是通过修改视频帧的像素值,如直接修改最低有效位的数据,即LSB(Least Significant Bit),这种修改方法对视频的视觉影响很小,但该方式经过有损压缩后,嵌入后的水印信息损失较大。第三种是通过对原始视频数据进行频域变换之后,再进行嵌入处理,也是现在主流的隐形水印算法,比如离散余弦变换(DCT),离散小波变换(DWT)以及奇异值分解(SVD);由于人眼对图像中不同频率的信号敏感程度不同,在频率域加水印有助于控制水印的鲁棒性以及图像的失真度;但水印数据所属的频率范围越低,鲁棒性越高,与此同时图像失真也越大,反之亦然;因此大部分实现会选择在中频范围内添加水印。对于第二、三种方案而言,由于需要对视频每一帧全局都进行处理,导致处理速度很慢,对于一定时长的视频,往往需要更多的时间去完成水印嵌入。

技术实现思路

[0004]本专利技术的首要目的在于提供一种基于GPU的视频隐形水印嵌入方法,能够快速的实现视频水印的嵌入。
[0005]为实现以上目的,本专利技术采用的技术方案为:一种基于GPU的视频隐形水印嵌入方法,包括如下步骤:S100、根据GPU型号确定其处理数据的最佳格式;S200、将视频数据使用GPU解码成该最佳格式得到多帧视频图像;S300、将隐形水印数据转换成该最佳格式并与每一帧视频图像进行叠加;S400、将添加水印后的多帧视频图像在GPU的编码芯片中进行编码得到含有隐形水印的视频数据。
[0006]本专利技术的另一个目的在于提供一种基于GPU的视频隐形水印嵌入系统,能够快速的实现视频水印的嵌入。
[0007]为实现以上目的,本专利技术采用的技术方案为:一种基于GPU的视频隐形水印嵌入系统,包括图片转换单元、图片存储单元、视频解码单元、数据叠加单元以及视频编码单元;所述的图片转换单元用于在GPU显存中将水印矩阵图转换成NV12格式,图片存储单元用于存
储转换后的图片数据,视频解码单元用于在GPU编解码芯片中将原视频解码为NV12格式,数据叠加单元用于在GPU显存中将水印和视频的NV12数据进行叠加操作,视频编码单元用于对修改后NV12数据流在GPU编解码芯片中编码得到视频信息并输出。
[0008]与现有技术相比,本专利技术存在以下技术效果:通过在视频的操作层面上进行水印的嵌入,在GPU中将视频解码得到NV12数据,再对NV12数据进行简单的计算,最后对NV12数据编码即可得到嵌有水印的视频,整个嵌入过程非常的简单,处理速度快,相对于传统的水印嵌入方法快了很多。
附图说明
[0009]图1是本专利技术的流程示意图;图2是本专利技术的原理框图。
具体实施方式
[0010]下面结合图1至图2,对本专利技术做进一步详细叙述。
[0011]参阅图1,一种基于GPU的视频隐形水印嵌入方法,包括如下步骤:S100、根据GPU型号确定其处理数据的最佳格式;S200、将视频数据使用GPU解码成该最佳格式得到多帧视频图像;S300、将隐形水印数据转换成该最佳格式并与每一帧视频图像进行叠加;S400、将添加水印后的多帧视频图像在GPU的编码芯片中进行编码得到含有隐形水印的视频数据。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理,这些都使得CPU的内部结构异常复杂;而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。本案中,正是利用了GPU的这个特性,通过上述步骤,可以实现在GPU中向视频数据中嵌入水印,这样可以极大的提高水印的嵌入速度。由于不同厂家生产的GPU,底层设计有所不同,其能处理的最佳数据格式也有所不同,因此这里需要先确定GPU能处理的最佳格式,以保证后续都能针对该最佳格式进行。
[0012]传统编解码通过代码将视频编码和解码的标准实现,然后放在CPU上面进行执行,导致速度相对比较缓慢。而GPU的编解码是通过ASIC来实现,而ASIC的优点就体现在放弃通用性追求速度,也就是说用电路将H264/HEVC的标准实现出来,而这部分电路只能用来做编解码,不能进行其他操作。而且在GPU中进行数据叠加可以拥有多核并行进行操作。尽管CPU也是拥有多核操作,但是CPU在计算机中需要处理的事情非常繁杂,会损失一部分计算能力。不仅如此,在隐形水印叠加方面,CPU既要对视频数据进行解码,又要对内存中的数据进行处理,需要消耗很多计算单元和寄存器,导致整个流程变得缓慢。而在GPU中,主要在显存进行统一处理,并且每个CUDA核心和编解码芯片的数据传输相对于CPU与内存的传输速度也是非常快。因此,采用上述GPU进行水印嵌入的操作,可以极大的提高视频水印的嵌入速度。
[0013]进一步地,所述的最佳格式为I420、YV12、NV12、NV21中的任一种,这几种是较为常见的数据格式,当然也可以是其他的数据格式,具体需要根据GPU来确定。
[0014]一般来说,待嵌入水印的视频都是视频文件,因此在进行水印嵌入的开始和结束,都需要进行视频文件和视频数据的转换。本专利技术中优选地,所述的步骤S200中,视频数据通
过如下方式获得:S210、读取待嵌入水印的视频文件的后缀名,判断文件的封装格式;S220、根据文件的封装格式,从视频文件中分离得到音频数据和视频数据,并将音频数据存储在临时文件中;步骤S400后,还包括如下步骤对得到的视频数据进行处理:S500、将临时文件中存储的音频数据和嵌入水印的视频数据进行重新封装得到嵌入水印的视频文件。对于视频数据而言,音频数据准确的封装至关重要,一般有两种方法可以实现音频文件的封装:第一种方案,在分离线程中增加一个回调函数,让音频数据存储在计算机的固定内存中,但是在后期的视频和音频重封装过程中无法进行很好的同步。因此,我们采用的是第二种方案:将分离线程中的音频数据保存在临时文件中,尽管磁盘读写方面会损失部分空间,但是为后续的重封装提供了便利。
[0015]下面以常见的PC机上使用的英伟达GPU为例详细阐述下上述步骤。所述的步骤S100中,最佳格式为NV12。所述的步骤S220中,包括如下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于GPU的视频隐形水印嵌入方法,其特征在于:包括如下步骤:S100、根据GPU型号确定其处理数据的最佳格式;S200、将视频数据使用GPU解码成该最佳格式得到多帧视频图像;S300、将隐形水印数据转换成该最佳格式并与每一帧视频图像进行叠加;S400、将添加水印后的多帧视频图像在GPU的编码芯片中进行编码得到含有隐形水印的视频数据。2.如权利要求1所述的基于GPU的视频隐形水印嵌入方法,其特征在于:所述的最佳格式为I420、YV12、NV12、NV21中的任一种。3.如权利要求1所述的基于GPU的视频隐形水印嵌入方法,其特征在于:所述的步骤S200中,视频数据通过如下方式获得:S210、读取待嵌入水印的视频文件的后缀名,判断文件的封装格式;S220、根据文件的封装格式,从视频文件中分离得到音频数据和视频数据,并将音频数据存储在临时文件中;步骤S400后,还包括如下步骤对得到的视频数据进行处理:S500、将临时文件中存储的音频数据和嵌入水印的视频数据进行重新封装得到嵌入水印的视频文件。4.如权利要求3所述的基于GPU的视频隐形水印嵌入方法,其特征在于:所述的步骤S100中,最佳格式为NV12。5.如权利要求4所述的基于GPU的视频隐形水印嵌入方法,其特征在于:所述的步骤S220中,包括如下步骤:S221、创建H264/H265解码器;S222、将H264/H265数据拷贝到显存中;S223、将显存中的数据传输到GPU内置的解码器函数中,从而获取到解码器解码过后的NV12数据;所述的步骤...

【专利技术属性】
技术研发人员:田辉刘海飞郭玉刚张志翔
申请(专利权)人:合肥高维数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1