视频水印添加方法、装置、电子设备及存储介质与流程

文档序号:20286933发布日期:2020-04-07 16:14阅读:185来源:国知局
视频水印添加方法、装置、电子设备及存储介质与流程

本公开实施例涉及互联网技术领域,尤其涉及一种视频水印处理方法、装置、电子设备及存储介质。



背景技术:

当前,人们对版权的保护越来越重视,尤其是对音像作品、数字图书等。因此在不破坏原始作品的情况下,常通过添加盲水印的方式实现版权的防护与追踪,其中,所述盲水印是指正常情况下人感知不到的、且只有通过特殊方法才能显形的水印。

目前,常见的添加盲水印的方法是通过傅里叶变换将图像从时域变换到频域,在频域对图像添加水印,再通过傅里叶逆变换把图像从频域转换到时域,得到水印图像。然而利用这种方法添加盲水印,在将图像从时域转换到频域时,需要对整幅图像都进行转换,计算量大且转换过程复杂。



技术实现要素:

本公开实施例提供一种视频水印添加方法、装置、电子设备及存储介质,以解决现有技术中在频域添加视频水印时存在的计算量大且转换过程复杂的技术问题。

第一方面,本公开实施例提供了一种视频水印添加方法,该方法包括:

将目标视频帧的图像数据从rgb格式转换到yuv格式;

在所述yuv格式下,为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值;

将叠加所述偏移值后的目标视频帧进行编码。

可选的,所述目标视频帧为按照如下规则从原始视频中确定的待添加水印的视频帧:隔帧提取、预设时间段内所有的视频帧或通过随机算法抽取的视频帧。

可选的,所述为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值,包括:

确定目标视频帧中用于添加水印的目标区域,其中,所述目标区域为根据展示目标视频帧的用户操作界面上的显示内容所确定的在目标视频帧的图像上对应的区域;

为所述目标视频帧的目标区域上,与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

可选的,所述为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值,包括:

为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值。

可选的,所述叠加偏移值的像素点还具有如下特点:

该像素点的像素值与其邻域内各像素点的像素值的平均值相比,差值不超过预设阈值。

可选的,所述方法还包括:

在需要检测水印时,读取已添加水印的目标视频帧的图像数据并进行解码,提取解码后得到的yuv格式的u通道数据或v通道数据,通过加大对比度以检测水印的存在性。

第二方面,本公开实施例还提供了一种视频水印添加装置,该装置包括:

转换模块,用于将目标视频帧的图像数据从rgb格式转换到yuv格式;

偏移模块,用于在所述yuv格式下,为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值;

编码模块,用于将叠加所述偏移值后的目标视频帧进行编码。

可选的,所述目标视频帧为按照如下规则从原始视频中确定的待添加水印的视频帧:隔帧提取、预设时间段内所有的视频帧或通过随机算法抽取的视频帧。

可选的,所述偏移模块用于:

确定目标视频帧中用于添加水印的目标区域,其中,所述目标区域为根据展示目标视频帧的ui界面上的显示内容所确定的在目标视频帧的图像上对应的区域;

为所述目标视频帧的目标区域上,与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

可选的,所述偏移模块还用于:

为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值。

可选的,所述叠加偏移值的像素点还具有如下特点:

该像素点的像素值与其邻域内各像素点的像素值的平均值相比,差值不超过预设阈值。

可选的,所述装置还包括:

检测模块,用于在需要检测水印时,读取已添加水印的目标视频帧的图像数据,并进行解码,提取解码后得到的yuv格式的u通道数据或v通道数据,通过加大对比度以检测水印的存在性。

第三方面,本公开实施例还提供了一种电子设备,包括:

一个或多个处理装置;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开任一实施例所述的视频水印添加方法。

第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开任一实施例所述的视频水印添加方法。

本公开实施例公开了一种视频水印添加方法、装置、电子设备及存储介质,通过将目标视频帧的图像数据从rgb格式转换到yuv格式,并在所述yuv格式下,为目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值,再将叠加所述偏移值后的目标视频帧压缩编码成视频,即可再不进行时域和频域转换的情况下,实现实时的添加视频水印,降低添加水印过程的复杂度,提高添加视频水印的效率。

附图说明

图1a是本公开实施例提供的视频水印添加方法的流程图;

图1b是公开明实施例提供的水印的示意图;

图2是本公开实施例提供的视频水印添加方法的流程图;

图3是本公开实施例提供的视频水印添加方法的流程图;

图4是本公开实施例提供的视频水印添加装置的结构示意图;

图5是本公开实施例中的电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。

图1a为本公开实施例提供的视频水印添加方法的流程图,本实施例可适用于为视频添加视频水印的情况,该方法可以由视频水印添加装置来执行,该装置可以采用软件和/或硬件的方式实现,并可配置于电子设备中。如图1a所示,该方法具体包括:

s110、将目标视频帧的图像数据从rgb格式转换到yuv格式。

在本实施例中,所述目标视频帧为从原始视频中确定的待添加水印的视频帧,而在确定目标视频帧时,示例性的,可按照如下规则进行提取:

1)隔帧提取目标视频帧,而具体隔几帧提取可根据实际需求确定,本实施例中,例如可每隔5帧提取目标视频帧。

2)预设时间段内所有的视频帧作为目标视频帧,示例性的,选取原始视频中的头部、尾部和中间的3秒内所有的视频帧均为目标视频帧。

3)通过随机算法抽取的视频帧作为目标视频帧。

由于现代的显示器技术通过组合不同强度的红(red)绿(green)蓝(blue)三原色,来达成几乎任何一种可见光的颜色。在图像储存中,可通过记录每个像素的红绿蓝强度,来记录图像。而提取的目标视频帧的图像数据也即是rgb格式数据。可通过数学公式将rgb三通道转换为一个代表亮度的通道(y,又称为luma),和两个代表色度的通道(uv,并称为chroma),以此实现rgb格式的图像数据转换成yuv格式的图像数据,以便于传输。此外,目前对视频进行存储之前通常都是基于yuv色彩空间进行压缩编码。

s120、在所述yuv格式下,为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

本实施例中,通过对待添加水印进行处理,确定待添加水印的形状,示例性的,通过确定水印数据不为零的像素点组成的图像即为待添加水印的形状,例如图1b所示的水印,通过确定矩形框内像素数据不为零的像素点组成的字符为“2”,即“2”为待添加水印的形状。确定所述目标视频帧上与待添加水印的形状对应的像素点,并将所述像素点的像素值叠加预设数量的偏移值,即可实现水印的添加。由于水印添加是在所述yuv格式下进行的,而由于人眼对亮度变化比较敏感,对色彩变化不敏感,因此可通过修改u或v通道数据添加水印,从而在很大程度上确保水印的隐身性。因此具体实现时,可通过为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值,以此实现水印的添加。其中,所述预设数量可以示例性的为1-3之间的任意值。

s130、将叠加所述偏移值后的目标视频帧进行编码。

对于已叠加偏移值的yuv格式的目标视频帧,可直接对其进行编码压缩,以便后续视频的存储或发布。

本公开实施例中,通过将目标视频帧的图像数据从rgb格式转换到yuv格式,并在所述yuv格式下,为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值,即可实现视频水印的添加,只需再将叠加所述偏移值后的目标视频帧进行压缩编码即可。由此,在不进行时域和频域转换的情况下,实现实时的添加视频水印,降低添加水印过程的复杂度,提高添加视频水印的效率。

下面参考图2,其示出了本公开实施例提供的视频水印添加方法的流程图,本实施例是在上述实施例的基础上,对“为目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值”的操作进一步进行优化。如图2所示,所述为目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值,进一步包括:

s210、确定目标视频帧中用于添加水印的目标区域,其中,所述目标区域为根据展示目标视频帧的用户操作界面上的显示内容所确定的在目标视频帧的图像上对应的区域。

本实施例中,将目标视频帧的图像数据从rgb格式转换到yuv格式后,在yuv格式的目标视频帧上确定要添加水印的目标区域,为确保水印的隐匿性和不影响视频主体的观看,目标区域可以为根据展示目标视频帧的ui界面上的显示内容所确定的在目标视频帧的图像上对应的区域,示例性的,可将ui界面上文字显示比较集中的地方在目标视频帧的图像上对应的区域作为目标区域。

s220、在所述yuv格式下,为所述目标视频帧的目标区域上,与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

本实施例中,针对yuv格式下目标区域内的图像数据,确定目标区域内与待添加水印的形状对应的像素点,并将所述像素点的像素值叠加预设数量的偏移值。具体实施时,可通过为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值,其中,预设数量可以示例性的为1-3之间的任意值。

进一步的,对于目标区域内比较凸显的像素点,例如目标区域内某一像素点色彩比较深,其邻域像素点色彩比较浅,可对该像素点不作偏移。也即是为了避免对原始图像产生影响,并保证水印的隐身性,需预先判断目标区域内与待添加水印的形状对应的像素点是否满足做偏移的条件。示例性的,如果目标区域内像素点的像素值与其邻域内各像素点的像素值的平均值相比,差值不超过预设阈值,则对该像素点叠加偏移值。例如,预设阈值为10,某一像素点的u/v通道数据像素值为128,该像素点邻域内各像素点的像素值的平均100,差值为28大于预设阈值10,因此该像素点不需要做偏移。

在本公开实施例中,在所述yuv格式的目标视频帧上确定一目标区域,为所述目标视频帧的目标区域上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值,如此即可实现水印的添加。由此,再不进行时域和频域转换的情况下,只需对目标区域内的图像数据进行格式转换和偏移,实现实时的添加视频水印,降低添加水印过程的复杂度,提高添加视频水印的效率。

下面参考图3,其示出了本公开实施例提供的一种视频水印添加方法的流程图,本实施例是在上述实施例的基础上进一步进行优化。如图3所示,所述方法包括:

s310、将目标视频帧的图像数据从rgb格式转换到yuv格式。

s320、在所述yuv格式下,为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

s330、将叠加所述偏移值后的目标视频帧转换进行编码。

s340、在需要检测水印时,读取已添加水印的目标视频帧的图像数据并进行解码,提取解码后得到的yuv格式的u通道数据或v通道数据,通过加大对比度以检测水印的存在性。

示例性的,针对判定侵权的情况,需要检测视频水印,根据选取目标视频帧的规则,读取已添加水印的一个或多个目标视频帧的图像数据并进行解码,提取解码后得到的yuv格式的u通道数据或v通道数据,通过加大对比度,示例性的,对比度加大到30%,通过肉眼即可观看水印是否存在,以此实现鉴权。

本公开实施例在鉴权的时候,只需提取解码后的yuv格式的图像数据中的u通道数据或v通道数据,并通过加大对比度的方式,即可检测视频中的水印,如此可实现视频的快速鉴权。

下面参考图4,其示出了本公开实施例提供的视频水印添加装置的结构示意图,本实施例可适用于为录制的视频添加盲水印的情况。如图3所示,视频水印添加装置包括:

转换模块410,用于将目标视频帧的图像数据从rgb格式转换到yuv格式;

偏移模块420,用于在所述yuv格式下,为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值;

编码模块430,用于将叠加所述偏移值后的目标视频帧进行编码。

本实施例中,转换模块将目标视频帧的图像数据从rgb格式转换到yuv格式后,偏移模块为所述目标视频帧上与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值,即可实现水印的添加,编码模块将叠加所述偏移值后的目标视频帧进行编码压缩,便于后续传输。如此在不进行时域和频域转换的情况下,实现实时的添加视频水印,降低添加水印过程的复杂度,提高添加视频水印的效率。

在上述实施例的基础上,所述目标视频帧为按照如下规则从原始视频中确定的待添加水印的视频帧:隔帧提取、预设时间段内所有的视频帧或通过随机算法抽取的视频帧。

在上述实施例的基础上,

所述偏移模块用于:

确定目标视频帧中用于添加水印的目标区域,其中,所述目标区域为根据展示目标视频帧的用户操作界面上的显示内容所确定的在目标视频帧的图像上对应的区域;

为所述目标视频帧的目标区域上,与待添加水印的形状对应的像素点的像素值叠加预设数量的偏移值。

在上述实施例的基础上,所述偏移模块还用于:

为所述目标视频帧上,与待添加水印的形状对应的像素点的u通道数据或v通道数据叠加预设数量的偏移值。

在上述实施例的基础上,所述叠加偏移值的像素点还具有如下特点:

该像素点的像素值与其邻域内各像素点的像素值的平均值相比,差值不超过预设阈值。

在上述实施例的基础上,所述装置还包括:

检测模块,用于在需要检测水印时,读取已添加水印的目标视频帧的图像数据并进行解码,提取解码后得到的yuv格式的u通道数据或v通道数据,通过加大对比度以检测水印的存在性。

本公开实施例所提供的视频水印添加装置可执行本公开任意实施例所提供的视频水印添加方法,具备执行方法相应的功能模块和有益效果。

下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。

或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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