一种视频的水印添加方法、装置、设备及存储介质转让专利

申请号 : CN201910348979.4

文献号 : CN110198492B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范志兴

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种视频的水印添加方法、装置、设备及存储介质,所述方法包括:获取水印信息的属性描述文件;基于目标视频的目标属性数据设置属性描述文件中的目标属性;将设置后的属性描述文件转换成第一格式的像素数据;在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。利用本申请提供的技术方案可以实现水印信息的目标属性的自适应的调整,提高添加有水印的视频画面的分辨率和流畅性。

权利要求 :

1.一种视频的水印添加方法,其特征在于,所述方法包括:

获取水印信息的属性描述文件,所述水印信息包括视频水印信息,所述属性描述文件包括描述所述水印信息的属性的数据交换格式的文件,所述属性描述文件描述的属性包括组成所述水印信息的每一运动对象的特征属性信息以及视频格式对应的属性信息;

基于目标视频的目标属性数据设置所述属性描述文件中的目标属性,所述目标视频的目标属性数据包括分辨率和帧率,所述属性描述文件中的目标属性包括分辨率属性和帧率属性;

基于所述属性描述文件中设置后的帧率属性确定所述视频水印信息对应的时间轴数据;

将设置后的所述属性描述文件按照所述时间轴数据和设置后的分辨率属性转换成第二格式的像素数据,所述第二格式包括所述属性描述文件转换成像素数据的初始格式;

将所述第二格式的像素数据转换成第一格式的像素数据,所述第一格式为所述目标视频解码后的像素数据的格式;

在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;

对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。

2.根据权利要求1所述的方法,其特征在于,所述获取水印信息的属性描述文件包括:获取描述所述水印信息的属性的json数据交换格式的文件。

3.根据权利要求1所述的方法,其特征在于,所述基于目标视频的目标属性数据设置所述属性描述文件中的目标属性包括:对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性和帧率属性;

获取所述目标视频的分辨率和帧率;

将所述属性描述文件中的分辨率属性和帧率属性分别设置为所述目标视频的分辨率和帧率。

4.根据权利要求1所述的方法,其特征在于,所述在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据包括:将所述目标视频进行解码处理,得到所述目标视频的第一格式的像素数据;

在所述目标视频的第一格式的像素数据的预设添加位置上添加所述水印信息的第一格式的像素数据,得到所述水印添加像素数据。

5.一种视频的水印添加装置,其特征在于,所述装置包括:

属性描述文件获取模块,用于获取水印信息的属性描述文件,所述水印信息包括视频水印信息,所述属性描述文件包括描述所述水印信息的属性的数据交换格式的文件,所述属性描述文件描述的属性包括组成所述水印信息的每一运动对象的特征属性信息以及视频格式对应的属性信息;

目标属性设置模块,用于基于目标视频的目标属性数据设置所述属性描述文件中的目标属性,所述目标视频的目标属性数据包括分辨率和帧率,所述属性描述文件中的目标属性包括分辨率属性和帧率属性;

时间轴数据确定单元,用于基于所述属性描述文件中设置后的帧率属性确定所述视频水印信息对应的时间轴数据;

像素数据转换模块,用于将设置后的所述属性描述文件按照所述时间轴数据和设置后的分辨率属性转换成第二格式的像素数据,所述第二格式包括所述属性描述文件转换成像素数据的初始格式;将所述第二格式的像素数据转换成第一格式的像素数据,所述第一格式为所述目标视频解码后的像素数据的格式;

水印添加模块,用于在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;

像素数据处理模块,用于对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。

6.根据权利要求5所述的装置,其特征在于,所述属性描述文件获取模块具体用于获取描述所述水印信息的属性的json数据交换格式的文件。

7.根据权利要求5所述的装置,其特征在于,所述目标属性设置模块包括:第一解析处理单元,用于对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性和帧率属性;

第一属性数据获取单元,用于获取所述目标视频的分辨率和帧率;

第一目标属性设置单元,用于将所述属性描述文件中的分辨率属性和帧率属性分别设置为所述目标视频的分辨率和帧率。

8.一种视频的水印添加设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至4任一所述的视频的水印添加方法。

9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至4任一所述的视频的水印添加方法。

说明书 :

一种视频的水印添加方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及视频信息处理技术领域,尤其涉及一种视频的水印添加方法、装置、设备及存储介质。

背景技术

[0002] 随着视频技术的发展,在视频中加入水印信息的需求也越来越强烈,例如,为了维护版权在视频中加入水印信息,或者为了进行广告推广等在视频中加入与广告相关的水印。
[0003] 目前,在视频中添加的水印信息时,往往是先将视频进行解码,得到解码后的视频信息;然后,在解码后的视频信息上直接添加水印信息;最后,将添加水印信息的解码后的视频信息再进行编码,以完成视频中水印信息的添加。但上述现有的视频的水印添加方法中,由于需要添加水印的视频和水印信息的分辨率等属性是固定的,往往会出现视频和水印信息的分辨率等属性是不一样的,需要在水印信息的添加过程中,基于视频分辨率的进行水印信息的缩放等调整,导致添加的水印出现变形、添加水印后的视频画面分辨率、流畅性差等问题。因此,需要提供更可靠或更有效的方案。

发明内容

[0004] 本申请提供了一种视频的水印添加方法、装置、设备及存储介质,可以实现水印信息的目标属性的自适应的调整,提高添加有水印的视频画面的分辨率和流畅性。
[0005] 一方面,本申请提供了一种视频的水印添加方法,所述方法包括:
[0006] 获取水印信息的属性描述文件;
[0007] 基于目标视频的目标属性数据设置所述属性描述文件中的目标属性;
[0008] 将设置后的所述属性描述文件转换成第一格式的像素数据;
[0009] 在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;
[0010] 对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。
[0011] 另一方面提供了一种视频的水印添加装置,所述装置包括:
[0012] 属性描述文件获取模块,用于获取水印信息的属性描述文件;
[0013] 目标属性设置模块,用于基于目标视频的目标属性数据设置所述属性描述文件中的目标属性;
[0014] 像素数据转换模块,用于将设置后的所述属性描述文件转换成第一格式的像素数据;
[0015] 水印添加模块,用于在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;
[0016] 像素数据处理模块,用于对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。
[0017] 在一些实施例中,所述水印添加模块包括:
[0018] 解码处理单元,可以用于将所述目标视频进行解码处理,得到所述目标视频的第一格式的像素数据;
[0019] 水印添加单元,可以用于在所述目标视频的第一格式的像素数据的预设添加位置上添加所述水印信息的第一格式的像素数据,得到所述水印添加像素数据。
[0020] 另一方面提供了一种视频的水印添加设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的视频的水印添加方法。
[0021] 另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的视频的水印添加方法。
[0022] 本申请提供的视频的水印添加方法、装置、设备及存储介质,具有如下技术效果:
[0023] 本申请通过获取水印信息的属性描述文件,而非直接获取固定属性的水印信息,可以基于目标视频的目标属性数据设置属性描述文件中的目标属性,实现对水印信息的目标属性的自适应的调整;然后,将设置后的所述属性描述文件转换成与目标视频的像素数据一致格式的像素数据,并直接添加到目标视频的像素数据中,得到水印添加像素数据,最后,对水印添加像素数据进行编码,得到画面流畅的添加水印后的视频数据;在添加有水印信息的水印添加像素数据的编码过程中,实现水印信息的渲染生成,可以避免现有的固定属性的水印信息在添加过程中因属性调整导致的水印变形、添加有水印的视频画面的分辨率低和流畅性差等问题。

附图说明

[0024] 为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0025] 图1是本申请实施例提供的一种应用环境的示意图;
[0026] 图2是本申请实施例提供的一种视频水印编辑界面的示意图;
[0027] 图3是本申请实施例提供的一种视频水印展示界面的示意图;
[0028] 图4是本申请实施例提供的一种视频的水印添加方法的流程示意图;
[0029] 图5是本申请实施例提供的一种水印信息的示意图;
[0030] 图6是本申请实施例提供的一种基于目标视频的目标属性数据设置所述属性描述文件中的目标属性的流程示意图;
[0031] 图7是本申请实施例提供的另一种基于目标视频的目标属性数据设置所述属性描述文件中的目标属性的流程示意图;
[0032] 图8是本申请实施例提供的一种将设置后的所述属性描述文件转换成第一格式的像素数据的流程示意图;
[0033] 图9是本申请实施例提供的一种目标视频和水印信息的帧率比较示意图;
[0034] 图10是本申请实施例提供的一种添加到目标视频中的视频水印信息的不同视频帧对应的图片的示意图;
[0035] 图11是本申请实施例提供的一种目标视频的某一帧的视频图片的示意图;
[0036] 图12是本申请实施例提供的一种添加水印后的视频数据的某一帧视频图片的示意图;
[0037] 图13是本申请实施例提供的一种视频的水印添加装置的结构示意图;
[0038] 图14是本申请实施例提供的目标属性设置模块的一种组成框图;
[0039] 图15是本申请实施例提供的像素数据转换模块的一种组成框图;
[0040] 图16是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

[0041] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0043] 请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括客户端01和服务器02。
[0044] 具体的,客户端01可以包括运行于实体设备中的软体,例如某些服务商提供的应用等,也可以包括安装有应用的智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备。本申请实施例中客户端01上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。具体的,所述客户端01可以为用户提供需要添加水印的视频的输入、水印信息的输入等视频中添加水印信息的编辑界面。
[0045] 具体的,所述服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。所述服务器02可以为所述客户端01的后台服务,用于进行视频的水印添加处理。
[0046] 在实际应用中,客户端01可以将视频和水印信息发送给服务器02,以便服务器02可以进行视频的水印添加处理。在一个具体的实施例中,如图2所示,图2是本申请实施例提供的一种视频水印编辑界面的示意图,从图2中的(a)对应的视频水印编辑界面可见,用户可以在客户端01提供的视频水印编辑界面添加视频以及水印信息。在添加完视频和水印信息之后,如图2中(b)对应的视频水印编辑界面,用户可以通过点击生成水印视频的按钮,以实现客户端01向服务器02发送视频和水印信息,进而由服务器02进行视频的水印添加处理。
[0047] 本说明书实施例中,客户端01发送给服务器02的水印信息可以为水印信息的属性描述文件。具体的,所述属性描述文件可以包括描述水印信息的属性的数据交换格式的文件。(其中,数据交换格式的文件可以包括计算机的不同程序,或者不同的编程语言均可以识别的描述数据文件,一般以文本等特定的形式来描述数据。),如图2中所示,描述水印信息的属性的数据交换格式的文件可以包括描述水印信息的属性的JSON(JavaScriptObject Notation,JS对象简谱)文件;另外,视频格式可以为FLV(FLASH VIDEO,流媒体格式)。
[0048] 此外,需要说明的是,上述图2仅仅是一种视频水印编辑界面的示例的示意图,在实际应用中,视频水印编辑界面中还可以包括其他信息,且支持的视频格式也并不仅限于FLV格式,还可以包括其他视频格式,例如RMVB(RealMedia Variable Bitrate,RealMedia可变比特率)等视频格式;支持的属性描述文件也并不仅限于JSON文件,在实际应用中,还可以包括其他数据交换格式的文件。
[0049] 在实际应用中,所述服务器02还可以将添加好水印信息的视频发送给客户端01,以便在客户端01进行播放展示。在一个具体的实施例中,如图3所示,图3是本申请实施例提供的一种视频水印展示界面的示意图,从图3中可见,通过点击播放,用户可以观看添加水印后的视频。
[0050] 此外,需要说明的是,上述图3仅仅是一种视频水印展示界面的示例的示意图,在实际应用中,视频水印展示界面中还可以包括其他信息,例如添加到视频中的水印信息等。
[0051] 以下介绍本申请一种视频的水印添加方法的具体实施例,图4是本申请实施例提供的一种视频的水印添加方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图4所示,所述方法可以包括:
[0052] S401:获取水印信息的属性描述文件。
[0053] 本说明书实施例中,水印信息可以包括图片格式的水印信息(简称:图片水印信息),也可以包括视频格式的水印信息(简称:视频水印信息)。具体的,水印信息的属性描述文件所描述的属性可以包括组成水印信息的对象的特征属性信息和水印的格式对应的属性信息。
[0054] 在一个具体的实施例中,如图5所示,假设水印信息为如图5的静态的图片水印信息,相应的,属性描述文件所描述的属性可以包括:组成水印信息的每一对象(地球、树、各种建筑物)的形状、尺寸大小、颜色等特征属性信息,以及静态的图片格式对应的分辨率等属性信息。此外,对于GIF等动态的图片格式还可以对应播放总时长等属性信息。
[0055] 此外,需要说明的是,图5仅仅是一种水印信息的示例,在实际应用中,可以基于属性描述文件中不同属性的数值调整,对应不同的水印信息,例如图5中树的颜色可以为绿色。
[0056] 在另一个具体的实施例中,假设水印信息为视频水印信息,具体的,例如图5对应的图片水印信息以一定速度往预设方向(例如顺时针)拍摄所形成的视频。相应的,属性描述文件所描述的属性可以包括:组成水印信息的每一运动对象(地球、树、各种建筑物)的形状、尺寸大小、颜色运动方向、运动速度等特征属性信息,以及视频格式对应的分辨率、帧率、播放总时长等属性信息。
[0057] 本说明书实施例中,在需要对某一视频进行水印信息的添加处理时,可以从前台的客户端侧来获取水印信息的属性描述文件,也可以从存储有水印信息的属性描述文件的数据库中获取。在一个具体的实施例中,所述获取水印信息的属性描述文件可以包括:获取描述水印信息的属性的json数据交换格式的文件。
[0058] 本说明书实施例中,在对视频进行水印添加处理时,获取水印信息的属性描述文件,而非直接获取固定属性的水印信息,以便可以结合需要添加水印的视频对水印信息的相关属性进行自适应的调整,降低水印信息的设计难度,保证在具有不同属性的视频上的水印添加效果。
[0059] S403:基于目标视频的目标属性数据设置所述属性描述文件中的目标属性。
[0060] 本说明书实施例中,所述目标视频可以包括需要添加水印的视频数据。所述目标属性可以包括影响水印信息画质的属性。
[0061] 在一个具体的实施例中,当水印信息为视频水印信息时,目标属性可以包括分辨率属性和帧率属性,目标视频的目标属性数据可以包括分辨率和帧率;相应的,如图6所示,所述基于目标视频的目标属性数据设置所述属性描述文件中的目标属性可以包括:
[0062] S4031:对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性和帧率属性。
[0063] 在实际应用中,属性描述文件在编码的时候往往按照一定的数据结构进行编码,例如,json文件的数据结构为对象(水印信息的属性)的键值对:{"t":25}(对象t的值为25)。相应的,在解析处理的时候,可以基于属性描述文件编码时的数据结构,对其进行解析,进而得到属性描述文件中所描述的水印信息的属性。
[0064] 具体的,属性描述文件包括大量水印信息的属性,当水印信息为视频水印信息时,由于影响视频水印信息的画质的属性包括分辨率属性和帧率属性,可以从解析后的信息中提取分辨率属性和帧率属性。
[0065] S4033:获取所述目标视频的分辨率和帧率。
[0066] S4035:将所述属性描述文件中的分辨率属性和帧率属性分别设置为所述目标视频的分辨率和帧率。
[0067] 在实际应用中,分辨率可以用于度量图像内数据量多少的一个参数,一般的,可以通过宽高来表示,例如,可以假设目标视频的分辨率为1920*1080(单位一般为像素)。相应的,可以将属性描述文件中的分辨率属性对应的宽高的值分别设置为1920和1080。
[0068] 在实际应用中,帧率可以用于测量显示帧数的量度,单位为:FPS(Frames per Second,每秒显示帧数)。例如,可以假设目标视频的帧率为60fps。相应的,可以将属性描述文件中的帧率属性的值设置为60。
[0069] 在另一个具体的实施例中,当水印信息为图片水印信息时,所述目标属性可以包括分辨率属性,目标视频的目标属性数据可以包括分辨率;相应的,如图7所示,所述基于目标视频的目标属性数据设置所述属性描述文件中的目标属性可以包括:
[0070] S4037:对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性。
[0071] S4039:获取所述目标视频的分辨率。
[0072] S40311:将所述述属性描述文件中的分辨率属性设置为所述目标视频的分辨率。
[0073] 具体的,当水印信息为图片水印信息时,对所述属性描述文件进行解析处理和进行分辨率的设置的相关步骤可以参见上述水印信息为视频水印信息的相关步骤,在此不再赘述。
[0074] 本说明书实施例中,可以直接对应水印信息的属性描述文件中影响水印信息画质的目标属性按照视频的目标属性数据进行设置,可以保证后续水印信息添加到视频时,无需再进行两者的属性匹配调整,直接进行添加;同时可以避免现有的直接对具有固定属性的水印信息进行属性调整带来的水印信息的变形等问题。
[0075] S405:将设置后的所述属性描述文件转换成第一格式的像素数据。
[0076] 在实际应用中,在视频中添加水印往往需要在解码后的视频(像素数据)中进行水印信息的添加,相应的,水印信息也可以转换成与解码后的视频数据一致格式的像素数据。
[0077] 具体的,所述第一格式为所述目标视频解码后的像素数据的格式。一般的所述第一格式可以为YUV,其中,“Y”表示明亮度“U”表示色度,“V”表示浓度。
[0078] 在一个具体的实施例中,如图8所示,当所述水印信息为视频水印信息时,所述将设置后的所述属性描述文件转换成第一格式的像素数据可以包括:
[0079] S4051:基于所述属性描述文件中设置后的帧率属性确定所述视频水印信息的时间轴数据。
[0080] 本说明书实施例中,属性描述文件中设置后的帧率属性可以包括帧率属性的数值。
[0081] 在实际应用中,视频水印信息往往对应着一个时间轴,例如30秒的视频水印信息对应着一个30秒的时间轴。本说明书实施例中,视频水印信息的时间轴数据可以包括视频水印信息的时间轴中每个时间点的帧数。
[0082] 在一个具体的实施例中,假设属性描述文件中设置后的帧率属性为60fps,相应的,可以确定视频水印信息的时间轴中每个时间点的帧数为60。
[0083] S4053:将设置后的所述属性描述文件按照所述时间轴数据和设置后的分辨率参数转换成第二格式的像素数据。
[0084] 具体的,所述第二格式可以包括属性描述文件转换成像素数据的初始格式,例如RGBA,其中,R可以表示Red(红色),G可以表示Green(绿色),B可以表示Blue(蓝色)和A可以表示的Alpha(一般用作不透明度参数)。
[0085] S4055:将所述第二格式的像素数据转换成第一格式的像素数据。
[0086] 本说明书实施例中,为了保证在目标视频的像素数据中添加水印信息的像素数据时,像素数据的格式一致,可以将第二格式的像素数据转换成第一格式的像素数据。
[0087] 在另一些实施例中,当所述水印信息为图片水印信息时,所述将设置后的所述属性描述文件转换成第一格式的像素数据可以包括:将设置后的所述属性描述文件按照设置后的分辨率属性转换成第二格式的像素数据。将所述第二格式的像素数据转换成第一格式的像素数据。
[0088] 本说明书实施例中,在基于目标视频的目标属性数据对水印信息的属性描述文件中的目标属性进行设置后,再将水印信息的属性描述文件转换成与目标视频解码后的像素数据一致格式的像素数据,避免了现有的固定属性的水印信息在添加过程中因属性调整导致的变形等问题。
[0089] S407:在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据。
[0090] 本说明书实施例中,在基于设置后的属性描述文件得到水印信息的第一格式的像素数据之后,可以在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据。具体的,所述水印添加像素数据可以包括添加有水印像素数据(水印信息的像素数据)的目标视频像素数据(目标视频的像素数据)。
[0091] 具体的,可以将所述目标视频进行解码处理,得到所述目标视频的第一格式的像素数据;在所述目标视频的第一格式的像素数据的预设添加位置上添加所述水印信息的第一格式的像素数据,得到所述水印添加像素数据。
[0092] 具体的,对目标视频的解码处理可以结合视频编码时的编码算法进行解码,具体可参见下述关于编码解码的相关步骤。
[0093] 本说明书实施例中,所述预设添加位置可以为预先设置的水印信息添加到视频中位置信息,例如,目标视频的第20秒至30秒。如图9所示,图9中包括视频水印信息的部分视频帧和目标视频的预设添加位置所对应的部分视频帧,由于视频水印信息对应的帧率和目标视频的帧率一致,相应的,从图9中可见,视频水印信息的视频帧和目标视频的预设添加位置所对应的视频帧一一对应,可以直接在目标视频的像素数据中添加水印信息的像素数据,避免现有技术中因帧率不同导致的补帧或丢帧的操作,提高水印添加处理过程中的处理效率。
[0094] S409:对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。
[0095] 本说明书实施例中,对水印添加像素数据进行处理,得到添加水印信息的视频数据可以包括但不限于采用H264编码算法对像素数据进行编码,以得到视频数据。具体的,H264为ITU‑T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
[0096] 本说明书实施例中,在编码过程中,以帧为单位依次编码每一帧对应的像素数据,具体的,可以基于像素数据(水印添加像素数据)确定模式(即每一帧的大小,例如16*16),判断当前需要编码的像素数据所对应的帧是否存在参考帧(参考帧可以为已经编码好,且像素数据与当前需要编码的像素数据相似度较高的帧)。
[0097] 在一些实施例中,若存在参考帧,可以基于当前需要编码的像素数据和参考帧的像素数据进行帧间预测处理,即基于参考帧的像素数据确定当前需要编码的像素数据的运动向量和残差恢复图像;
[0098] 在另一些实施例中,若不存在参考帧,可以基于当前需要编码的像素数据进行帧内预测处理,即基于当前需要编码的像素数据中不同像素点确定当前需要编码的像素数据的运动向量和残差恢复图像。
[0099] 进一步的,对帧间预测处理或帧内预测处理后的像素数据进行时频变换(通过时频变换可以把图像的低频(轮廓),高频(细节)部分分开来),得到频域数据;接着,将频域数据进行量化(即进行了有损压缩,例如时频变换后的频域数据为:22,30,45,量化步长20,量化结果1(22/20),1(30/20),2(45/20),即基于步长进行取整处理);接着,对量化后的数据进行熵编码,得到当前的像素数据的视频帧。基于每一像素数据对应的视频帧可以得到添加有水印信息的视频数据。
[0100] 另外,上述量化之后,还可以进行反量化,反时频变换,通过运动向量和残差恢复图像,把图像添加到参考帧序列,以便为后续的编码过程提供参考帧。
[0101] 具体的,对于基于上述的编码过程得到的视频数据进行解码的具体过程可以如下:
[0102] 对每一帧视频帧进行解析,得到熵编码的最小编码单元(宏块,即熵编码后的数据),然后,对每一最小编码单元进行熵解码;接着,对熵解码后的数据进行反量化(即乘以量化时的步长);接着,进行反时频变换(即将数据从频域转换到时域),得到时域的数据(即运动向量和运动残差恢复数据);接着,基于运动向量和运动残差恢复数据得到每一帧视频数据对应的像素数据。
[0103] 具体的,本说明书实施例中,在对水印添加像素数据进行编码处理过程中,基于每一帧所对应的水印添加像素数据得道添加有水印信息的视频数据的同时,实现了目标视频以及水印信息的每一帧的图片的渲染生成。
[0104] 由以上本说明书实施例提供的技术方案可见,本说明书实施例中通过获取水印信息的属性描述文件,而非直接获取固定属性的水印信息,可以基于目标视频的目标属性数据设置属性描述文件中的目标属性,实现对水印信息的目标属性的自适应的调整,然后,将设置后的所述属性描述文件转换成与视频解码后的像素数据一致格式的像素数据,并直接添加到目标视频解码后的像素数据,得到水印添加像素数据,最后,对水印添加像素数据进行编码,得到画面流畅的添加水印后的视频数据。利用本说明书实施例提供的技术方案可以基于目标视频的目标属性数据对水印信息的目标属性进行自适应的调整,在添加有水印信息的水印添加像素数据的编码过程中,实现水印信息的渲染生成,提高添加有水印的视频画面的分辨率和流畅性,可以避免现有的固定属性的水印信息在添加过程中因属性调整导致的水印变形、添加有水印的视频画面的分辨率低和流畅性差等问题。
[0105] 在一个具体的实施例中,以上述图5对应的图片以一定速度顺时针方向拍摄所形成的视频为视频水印信息为例,如图10所示,图10是本申请实施例提供的一种添加到目标视频中的视频水印信息的不同视频帧对应的图片的示意图。从图10中可见,由于在水印信息的添加过程中,是基于目标视频的目标属性数据对水印信息的属性描述文件进行目标属性的自适应调整;且在自适应调整后进行的水印信息的像素数据添加,得到水印添加像素数据;最后,在对水印添加像素数据进行编码处理过程中,实现水印信息的渲染生成,避免了现有的固定属性的水印信息在添加过程中因属性调整导致的水印变形的问题。
[0106] 在另一个具体的实施例中,如图11所示,图11是本申请实施例提供的一种目标视频的某一帧的视频图片的示意图。假设需要在图11所对应的目标视频中添加的水印信息为由飞机来投放炸弹的动态的视频水印信息。相应的,利用本申请实施例提供的技术方案,可以获取该视频水印信息的属性描述文件,该属性描述文件可以包括飞机和炸弹的尺寸大小、形状、颜色、飞行方向、飞行速度,以及和炸弹的尺寸大小、形状、颜色、投放后的运动方向、运动速度等对象特征属性信息,以及视频格式对应的分辨率、帧率、播放总时长等属性信息。相应的,在获取属性描述文件后,可以基于目标视频的目标属性数据对属性描述文件中影响视频水印信息画质的分辨率属性和帧率属性进行自适应调整,将自适应调整后的属性描述文件转换成与目标视频解码后的像素数据一致格式的像素数据,并直接添加到目标视频解码后的像素数据中,得到水印添加像素数据;最后,如图12所示,图12是本申请实施例提供的一种添加水印后的视频数据的某一帧视频图片的示意图。在添加有水印信息的水印添加像素数据的编码过程中,实现水印信息的渲染生成,得到画面流畅、高分辨率的视频水印数据。
[0107] 本申请实施例还提供了一种视频的水印添加装置,如图13所示,所述装置包括:
[0108] 属性描述文件获取模块1310,可以用于获取水印信息的属性描述文件;
[0109] 目标属性设置模块1320,可以用于基于目标视频的目标属性数据设置所述属性描述文件中的目标属性;
[0110] 像素数据转换模块1330,可以用于将设置后的所述属性描述文件转换成第一格式的像素数据;
[0111] 水印添加模块1340,可以用于在所述目标视频的第一格式的像素数据中添加所述水印信息的第一格式的像素数据,得到水印添加像素数据;
[0112] 像素数据处理模块1350,可以用于对所述水印添加像素数据进行处理,得到添加水印信息的视频数据。
[0113] 在一些实施例中,所述属性描述文件获取模块1310具体可以用于获取描述所述水印信息的属性的json数据交换格式的文件。
[0114] 在一些实施例中,如图14所示,当所述水印信息为视频水印信息时,所述目标属性包括分辨率属性和帧率属性;所述目标属性设置模块1320包括:
[0115] 第一解析处理单元1321,可以用于对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性和帧率属性;
[0116] 第一属性数据获取单元1323,可以用于获取所述目标视频的分辨率和帧率;
[0117] 第一目标属性设置单元1325,可以用于将所述述属性描述文件中的分辨率属性和帧率属性分别设置为所述目标视频的分辨率和帧率。
[0118] 在一些实施例中,如图15所示,当所述水印信息为视频水印信息时,所述像素数据转换模块1330可以包括:
[0119] 时间轴数据确定单元1331,可以用于基于所述属性描述文件中设置后的帧率属性确定所述视频水印信息对应的时间轴数据;
[0120] 第一像素数据转换单元1333,可以用于将设置后的所述属性描述文件按照所述时间轴数据和设置后的分辨率属性转换成第二格式的像素数据;
[0121] 第二像素数据转换单元1335,可以用于将所述第二格式的像素数据转换成第一格式的像素数据。
[0122] 在一些实施例中,当所述水印信息为图片水印信息时,所述目标属性包括分辨率属性;所述目标属性设置模块1320可以包括:
[0123] 第二解析处理单元,可以用于对所述属性描述文件进行解析处理,得到所述水印信息的分辨率属性;
[0124] 第二属性数据获取单元,可以用于获取所述目标视频的分辨率;
[0125] 第二目标属性设置单元,可以用于将所述述属性描述文件中的分辨率属性设置为所述目标视频的分辨率。
[0126] 在一些实施例中,当所述水印信息为图片水印信息时,所述像素数据转换模块1330可以包括:
[0127] 第三像素数据转换单元,可以用于将设置后的所述属性描述文件按照设置后的分辨率属性转换成第二格式的像素数据;
[0128] 第四像素数据转换单元,可以用于将所述第二格式的像素数据转换成第一格式的像素数据。
[0129] 在一些实施例中,所述水印添加模块1340可以包括:
[0130] 解码处理单元,可以用于将所述目标视频进行解码处理,得到所述目标视频的第一格式的像素数据;
[0131] 水印添加单元,可以用于在所述目标视频的第一格式的像素数据的预设添加位置上添加所述水印信息的第一格式的像素数据,得到所述水印添加像素数据。
[0132] 所述的装置实施例中的装置与方法实施例基于同样地申请构思。
[0133] 本申请实施例提供了一种视频的水印添加设备,该视频的水印添加设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的视频的水印添加方法。
[0134] 存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0135] 本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图16是本申请实施例提供的一种视频的水印添加方法的服务器的硬件结构框图。如图16所示,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1610(处理器1610可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1630,一个或一个以上存储应用程序1623或数据1622的存储介质1620(例如一个或一个以上海量存储设备)。其中,存储器1630和存储介质1620可以是短暂存储或持久存储。存储在存储介质1620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1610可以设置为与存储介质1620通信,在服务器1600上执行存储介质1620中的一系列指令操作。服务器1600还可以包括一个或一个以上电源1660,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1640,和/或,一个或一个以上操作系统1621,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0136] 输入输出接口1640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1600的通信供应商提供的无线网络。在一个实例中,输入输出接口1640包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1640可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0137] 本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1600还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。
[0138] 本申请的实施例还提供了一种存储介质,所述存储介质可设置于设备之中以保存用于实现方法实施例中一种视频的水印添加方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的视频的水印添加方法。
[0139] 可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0140] 由上述本申请提供的视频的水印添加方法、装置、服务器或存储介质的实施例可见,本申请中通过获取水印信息的属性描述文件,而非直接获取固定属性的水印信息,可以基于目标视频的目标属性数据设置属性描述文件中的目标属性,实现对水印信息的目标属性的自适应的调整,然后,将设置后的所述属性描述文件转换成与视频解码后的像素数据一致格式的像素数据,并直接添加到目标视频解码后的像素数据,得到水印添加像素数据,最后,对水印添加像素数据进行编码,得到画面流畅的添加水印后的视频数据。利用本说明书实施例提供的技术方案可以基于目标视频的目标属性数据对水印信息的目标属性进行自适应的调整,在添加有水印信息的水印添加像素数据的编码过程中,实现水印信息的渲染生成,可以避免现有的固定属性的水印信息在添加过程中因属性调整导致的水印变形、添加有水印的视频画面的分辨率低和流畅性差等问题。
[0141] 需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0142] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0143] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0144] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。