一种视频水印嵌入方法及装置制造方法

文档序号:7806055阅读:123来源:国知局
一种视频水印嵌入方法及装置制造方法
【专利摘要】本发明实施例公开了一种视频水印嵌入方法及装置,涉及视频处理【技术领域】,该方法包括:获得待嵌入水印信息的二进制数据;根据待嵌入水印信息的二进制数据以及预设的编码规则,确定待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量;根据预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块;根据所确定的编码块数量以及运动矢量,从起始编码块开始,对目标视频帧中需嵌入带嵌入水印信息的各个编码块编码,以在目标视频帧中嵌入待嵌入水印信息。应用本发明实施例提供的方案嵌入视频水印时,待嵌入水印信息不会被视频编码破坏。
【专利说明】一种视频水印嵌入方法及装置
【技术领域】
[0001]本发明涉及视频处理【技术领域】,特别涉及一种视频水印嵌入方法及装置。
【背景技术】
[0002]近年来数字水印技术快速发展,在数字版权保护领域得到了越来越广泛的应用。数字载体(如视频)中嵌入水印信息后,可通过特定方式提取所嵌入的水印信息,根据所提取的水印信息能够确认版权所有者等信息,进而保护版权所有者的合法权益。
[0003]现有技术中,在视频中嵌入水印信息时,通常是先在原始视频帧中嵌入水印信息,再对嵌入水印信息后的原始视频帧进行视频编码。应用上述方法嵌入水印信息后,由于水印信息已嵌入原始视频帧中,很难通过转码的方式去掉原始视频帧中已嵌入的水印信息,因此,该方法具有较强的抗转码特性。但在原始视频帧中嵌入水印信息后修改了原始视频帧中的图像数据,会降低原始视频帧的图像质量。而且,常用的视频编码方法一般为有损编码,嵌入水印后的原始视频帧,经视频编码后,会有信息损失,所嵌入的水印信息可能会被破坏,这样在提取水印信息时,易提取失败。

【发明内容】

[0004]本发明实施例公开了一种视频水印嵌入方法及装置,以降低视频编码对所嵌入水印信息的影响。
[0005]为达到上述目的,本发明实施例公开了一种视频水印嵌入方法,所述方法包括:
[0006]获得待嵌入水印信息的二进制数据;
[0007]根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,所述编码块为:编码处理过程中使用的数据单元;
[0008]根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,其中,所述目标视频帧按照所述预设的编码规则,划分为若干编码块;
[0009]根据所确定的编码块数量以及运动矢量,从所述起始编码块开始,对所述目标视频帧中需嵌入所述待嵌入水印信息的各个编码块编码,以在所述目标视频帧中嵌入所述待嵌入水印信息。
[0010]可选的,所述根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,包括:
[0011]获得所述待嵌入水印信息的二进制数据的位数Numwm ;
[0012]根据如下关系式,计算嵌入所述待嵌入水印信息所需编码块的数量Numeb,
[0013]Numeb = (Numwm+Nummv—X+Nummv—y — I)/(Nummv—X+Nummv—y),
[0014]其中,Nummv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数;
[0015]以(Nummv X+Nummv y)为单位,对所述待嵌入水印信息的二进制数据进行分段;
[0016]根据分段结果,从所述待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
[0017]可选的,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,包括:
[0018]在所述目标视频帧中,确定嵌入所述待嵌入水印信息的标识编码块;
[0019]以预设的运动矢量对所述标识编码块编码,其中,对所述标识编码块编码后的数据,用于标识编码后的所述目标视频帧中已嵌入所述待嵌入水印信息;
[0020]根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,确定所述标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
[0021]可选的,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,包括:
[0022]根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块;或
[0023]根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块。
[0024]可选的,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块,包括:
[0025]根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,将预设位置的编码块确定为嵌入位置对应的起始编码块。
[0026]可选的,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块,包括:
[0027]在对所述目标视频帧的编码过程中,根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性;
[0028]若当前编码块各像素点之间的相关性满足预设条件,则将当前编码块确定为嵌入位置对应的起始编码块。
[0029]为达到上述目的,本发明实施例公开了一种视频水印嵌入装置,所述装置包括:
[0030]二进制数据获得模块,用于获得待嵌入水印信息的二进制数据;
[0031]信息确定模块,用于根据所述待嵌入水印信息的二进制数据以及预设的编码规贝U,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,所述编码块为:编码处理过程中使用的数据单元;
[0032]起始编码块确定模块,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,其中,所述目标视频帧按照所述预设的编码规则,划分为若干编码块;
[0033]水印信息嵌入模块,用于根据所确定的编码块数量以及运动矢量,从所述起始编码块开始,对所述目标视频帧中需嵌入所述待嵌入水印信息的各个编码块编码,以在所述目标视频帧中嵌入所述待嵌入水印信息。[0034]可选的,所述信息确定模块,包括:
[0035]位数获得子模块,用于获得所述待嵌入水印信息的二进制数据的位数Numwm ;
[0036]编码块数量计算子模块,用于根据如下关系式,计算嵌入所述待嵌入水印信息所需编码块的数量Nunu,
[0037]Numeb = (Numwm+Nummv—X+Nummv—y — I)/(Nummv—X+Nummv—y),
[0038]其中,Numniv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数;
[0039]数据分段子模块,用于以(Nummv X+Nummv y)为单位,对所述待嵌入水印信息的二进制数据进行分段;
[0040]运动矢量构成子模块,用于根据分段结果,从所述待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
[0041]可选的,所述起始编码块确定模块,包括:
[0042]标识编码块确定子模块,用于在所述目标视频帧中,确定嵌入所述待嵌入水印信息的标识编码块;
[0043]标识编码块编码子模块,用于以预设的运动矢量对所述标识编码块编码,其中,对所述标识编码块编码后的数据,用于标识编码后的所述目标视频帧中已嵌入所述待嵌入水印信息;
[0044]第一起始编码块确定子模块,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,确定所述标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
[0045]可选的,所述起始编码块确定模块,
[0046]具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块;或
[0047]具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块。
[0048]可选的,所述起始编码块确定模块,具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,将预设位置的编码块确定为嵌入位置对应的起始编码块。
[0049]可选的,所述起始编码块确定模块,包括:
[0050]相关性计算子模块,用于在对所述目标视频帧的编码过程中,根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性;
[0051]第二起始编码块确定子模块,用于在当前编码块各像素点之间的相关性满足预设条件的情况下,将当前编码块确定为嵌入位置对应的起始编码块。
[0052]由以上可见,本发明实施例提供的方案中,根据待嵌入水印信息的二进制数据,确定嵌入待嵌入水印信息所需的编码块数量以及编码各个编码块所需的运动矢量,并根据所确定的上述信息编码需嵌入待嵌入水印信息的编码块。与现有技术相比,本实施例提供的方案中,水印信息以编码块运动矢量的形式嵌入到编码后的目标视频帧中,由于运动矢量属于视频编码的语义元素,因此,待嵌入水印信息不会被视频编码破坏。【专利附图】

【附图说明】
[0053]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054]图1为本发明实施例提供的视频水印嵌入方法的第一种流程示意图;
[0055]图2为本发明实施例提供的视频水印嵌入方法的第二种流程示意图;
[0056]图3为本发明实施例提供的视频水印嵌入方法的第三种流程示意图;
[0057]图4为本发明实施例提供的视频水印嵌入装置的第一种结构示意图;
[0058]图5为本发明实施例提供的视频水印嵌入装置的第二种结构示意图;
[0059]图6为本发明实施例提供的视频水印嵌入装置的第三种结构示意图。
【具体实施方式】
[0060]首先对本发明实施例提供的一种视频水印嵌入方法进行说明,该方法可以包括以下步骤:
[0061]获得待嵌入水印信息的二进制数据;
[0062]根据待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量;
[0063]根据预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块;
[0064]根据所确定的编码块数量以及运动矢量,从起始编码块开始,对目标视频帧中需嵌入待嵌入水印信息的各个编码块编码,以在目标视频帧中嵌入待嵌入水印信息。
[0065]由于常用的编码规则一般为有损编码,因此,应用这些编码规则进行视频编码时,会造成视频帧中图像信息损失,若将水印信息嵌入到未编码的视频帧中,经视频编码后,会或多或少的带来水印信息损失,易造成后期提取水印信息失败。然而,运动矢量属于编码规则中规定的语法元素,视频编码过程中,会直接将运动矢量等语法元素写入视频码流中,不会改变这些语法元素的值,因此,应用上述方法在视频中嵌入水印信息时,不会造成水印信息损失。
[0066]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]图1为本发明实施例提供的视频水印嵌入方法的第一种流程示意图,该方法包括:
[0068]SlOl:获得待嵌入水印信息的二进制数据。
[0069]实际应用中,待嵌入水印信息可以是以八进制、十进制、十六进制等方式表示的,根据八进制、十进制、十六进制等与二进制之间的转换关系,可以得到该待嵌入水印信息的二进制数据。[0070]当然,实际应用中,该待嵌入水印信息也可以是以二进制方式表示的,本申请并不对待嵌入水印信息的表示方式进行限定。
[0071]S102:根据待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量。
[0072]其中,编码块为:编码处理过程中使用的数据单元。不同的编码规则中规定的编码块的大小可以不同,例如,8x8、8xl6、16x8、16x16等等。
[0073]在本发明的一个具体实施例中,参见图2,提供了根据待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量(S102)的具体实现方式,包括:
[0074]S102A:获得待嵌入水印信息的二进制数据的位数Num.。
[0075]S102B:计算嵌入待嵌入水印/[目息所需编码块的数量Numeb。
[0076]对各个编码块进行编码所需的运动矢量,一般包括X方向分量和Y方向分量,另夕卜,运动矢量作为编码规则的语法元素,在预设的编码规则中会规定表示运动矢量的一个分量的取值范围,根据该取值范围可以得知该分量对应的二进制位数,例如,编码规则中规定表示运动矢量的一个分量的取值范围为:[-32768,32768],由于32768对应的二进制位数为15位,另外需要一个二进制位表示正数或负数,则该分量的取值范围对应的二进制位数为:16位。
[0077]视频编码过程中,通常需通过运动搜索获得参考视频帧中,与当前编码块相似度较高的编码块作为当前编码块的参考编码块,进而根据参考编码块在参考视频帧中的位置,得到当前编码块对应的运动矢量,在本发明的一个优选实施例中,可以不进行运动搜索,而直接根据待嵌入水印信息的二进制数据获得编码块对应的运动矢量。
[0078]该优选实施例中,可以通过如下表达式计算嵌入待嵌入水印信息所需编码块的数量。
[0079]Numeb = (Numwm+Nummv—X+Nummv—y — I)/ (Nummv—X+Nummv—y)
[0080]其中,Numniv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数。
[0081]S102C:以(Nummv X+Nummv y)为单位,对待嵌入水印信息的二进制数据进行分段。
[0082]S102D:根据分段结果,从待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
[0083]其中,每个分段对应的数据中,可以是低Numniv x位为运动矢量X方向分量值,高Nummv y位为运动矢量Y方向分量值;也可以是高Nummv-x位为运动矢量X方向分量值,低Nummv y位为运动矢量Y方向分量值。
[0084]S103:根据预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块。
[0085]其中,目标视频帧按照预设的编码规则,划分为若干编码块。
[0086]实际应用中,可以在对目标视频帧编码之前,确定嵌入位置对应的起始编码块,也可以在对目标视频帧进行编码的过程中,确定嵌入位置对应的起始编码块。
[0087]在对目标视频帧编码之前,确定嵌入位置对应的起始编码块,可以根据预设位置确定嵌入位置对应的起始编码块。
[0088]具体的,预设位置可以是编码块左上角顶点的坐标,例如:(0,16),即左上角顶点坐标为(0,16)的编码块;
[0089]可以是编码块在视频帧中的块位置,例如:(2,3),即第三编码块行、第四编码块列对应的编码块(假设,编码块行和编码块列的序号从O开始);
[0090]可以是编码块序号,例如:5,即按照预设的编码规则中规定的视频帧中编码块的编码顺序,第6个编码块(假设,编码块序号从O开始)。
[0091]当然,本申请并不限定预设位置的具体表现方式,实际应用中,可以根据具体情况确定。
[0092]在对目标视频帧的编码过程中,确定嵌入位置对应的起始编码块,可以先根据预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性,在当前编码块各像素点之间的相关性满足预设条件的情况下,将当前编码块确定为嵌入位置对应的起始编码块。
[0093]其中,计算当前编码块中各像素点之间的相关性,可以通过计算当前编码块中各个像素点之间的均方差得到,也可以通过计算当前编码块中各个像素点之间的梯度值得至IJ。本申请并不限定计算当前编码块中各像素点之间的相关性的方法。
[0094]需要说明的是,S102和S103没有严格的执行顺序限制,S103可以在S102之后执行,也可以在S102之前执行,还可以与S102同时执行。
[0095]S104:根据所确定的编码块数量以及运动矢量,从起始编码块开始,对目标视频帧中需嵌入待嵌入水印信息的各个编码块编码,以在目标视频帧中嵌入待嵌入水印信息。
[0096]由以上可见,本实施例提供的方案中,根据待嵌入水印信息的二进制数据,确定嵌入待嵌入水印信息所需的编码块数量以及编码各个编码块所需的运动矢量,并根据所确定的上述信息编码需嵌入待嵌入水印信息的编码块。与现有技术相比,本实施例提供的方案中,水印信息以编码块运动矢量的形式嵌入到编码后的目标视频帧中,由于运动矢量属于视频编码的语义元素,因此,待嵌入水印信息不会被视频编码破坏。
[0097]视频编码过程中,由于当前视频帧与参考视频帧之间存在较强的时间相关性,所以,通过运动搜索得到的各个编码块的运动矢量一般数值较小,而若根据待嵌入水印信息的二进制数据,得到的嵌入水印信息所需的编码块的运动矢量有可能也较小,并依此嵌入水印信息后,后续使用中提取所嵌入的水印信息时,由于所嵌入的水印信息与其他根据运动搜索得到的运动矢量相似,所以难于提取所嵌入的水印信息,进而难于证明版权所有者等信息。
[0098]在本发明的一个具体实施例中,参见图3,提供了视频水印嵌入方法的第三种流程示意图,其中,根据预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块(S103),包括:
[0099]S103A:在目标视频帧中,确定嵌入待嵌入水印信息的标识编码块。
[0100]S103B:以预设的运动矢量对标识编码块编码。
[0101]其中,对标识编码块编码后的数据,用于标识编码后的目标视频帧中已嵌入待嵌入水印信息,主要通过编码后的数据中的预设运动矢量体现。
[0102]本领域内的技术人员可以理解的是,为了能够更好的区别于通过运动搜索得到的运动矢量,预设的运动矢量可以选择数值较大的值。
[0103]从已编码的视频帧中提取嵌入的水印信息时,可以先检测编码块的运动矢量是否为预设的运动矢量,若是预设的运动矢量,则进一步按照预设的编码规则中规定的视频帧中编码块的编码顺序,从该编码块之后的若干编码块对应的运动矢量中提取已嵌入的水印信息。
[0104]S103C:根据预设的编码规则中规定的视频帧中编码块的编码顺序,确定标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
[0105]需要说明的是,S103B和S103C没有严格的执行顺序限制,S103C可以在S103B之后执行,也可以在S103B之前执行,还可以与S103B同时执行。
[0106]由以上可见,本实施例提供的方案中,通过预设的运动矢量对标识编码块进行编码,以标识编码后的目标视频帧中已嵌入水印信息,便于后续提取水印信息,并根据所提取的水印信息证明版权所有者等信息。
[0107]图4为本发明实施例提供的视频水印嵌入装置的第一种结构示意图,该装置包括:二进制数据获得模块401、信息确定模块402、起始编码块确定模块403和水印信息嵌入模块404。
[0108]其中,二进制数据获得模块401,用于获得待嵌入水印信息的二进制数据;
[0109]信息确定模块402,用于根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,所述编码块为:编码处理过程中使用的数据单元;
[0110]起始编码块确定模块403,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,其中,所述目标视频帧按照所述预设的编码规则,划分为若干编码块;
[0111]水印信息嵌入模块404,用于根据所确定的编码块数量以及运动矢量,从所述起始编码块开始,对所述目标视频帧中需嵌入所述待嵌入水印信息的各个编码块编码,以在所述目标视频帧中嵌入所述待嵌入水印信息。
[0112]在本发明的一个具体实施例中,参见图5,提供了一种信息确定模块402的具体结构示意图,包括:位数获得子模块4021、编码块数量计算子模块4022、数据分段子模块4023和运动矢量构成子模块4024。
[0113]其中,位数获得子模块4021,用于获得所述待嵌入水印信息的二进制数据的位数Numwm ;
[0114]编码块数量计算子模块4022,用于根据如下关系式,计算嵌入所述待嵌入水印信息所需编码块的数量Nunu,
[0115]Numeb = (Numwm+Nummv—X+Nummv—y — I)/(Nummv—X+Nummv—y),
[0116]其中,Nummv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数;
[0117]数据分段子模块4023,用于以(Nummv X+Nummv y)为单位,对所述待嵌入水印信息的二进制数据进行分段;
[0118]运动矢量构成子模块4024,用于根据分段结果,从所述待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
[0119]可选的,起始编码块确定模块403,具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块;或
[0120]具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块。
[0121]可选的,起始编码块确定模块403,具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,将预设位置的编码块确定为嵌入位置对应的起始编码块。
[0122]在本发明的一个具体实施例中,起始编码块确定模块403可以包括:相关性计算子模块和第二起始编码块确定子模块(图中未示出)。
[0123]其中,相关性计算子模块,用于在对所述目标视频帧的编码过程中,根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性;
[0124]第二起始编码块确定子模块,用于在当前编码块各像素点之间的相关性满足预设条件的情况下,将当前编码块确定为嵌入位置对应的起始编码块。
[0125]由以上可见,本实施例提供的方案中,根据待嵌入水印信息的二进制数据,确定嵌入待嵌入水印信息所需的编码块数量以及编码各个编码块所需的运动矢量,并根据所确定的上述信息编码需嵌入待嵌入水印信息的编码块。与现有技术相比,本实施例提供的方案中,水印信息以编码块运动矢量的形式嵌入到编码后的目标视频帧中,由于运动矢量属于视频编码的语义元素,因此,待嵌入水印信息不会被视频编码破坏。
[0126]在本发明的一个具体实施例中,参见图6,提供了视频水印嵌入装置的第三种流程示意图,其中,起始编码块确定模块403,包括:标识编码块确定子模块4031、标识编码块编码子模块4032和第一起始编码块确定子模块4033。
[0127]其中,标识编码块确定子模块4031,用于在所述目标视频帧中,确定嵌入所述待嵌入水印信息的标识编码块;
[0128]标识编码块编码子模块4032,用于以预设的运动矢量对所述标识编码块编码,其中,对所述标识编码块编码后的数据,用于标识编码后的所述目标视频帧中已嵌入所述待嵌入水印信息;
[0129]第一起始编码块确定子模块4033,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,确定所述标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
[0130]由以上可见,本实施例提供的方案中,通过预设的运动矢量对标识编码块进行编码,以标识编码后的目标视频帧中已嵌入水印信息,便于后续提取水印信息,并根据所提取的水印信息证明版权所有者等信息。
[0131]对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0132]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0133]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0134 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种视频水印嵌入方法,其特征在于,所述方法包括: 获得待嵌入水印信息的二进制数据; 根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,所述编码块为:编码处理过程中使用的数据单元; 根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,其中,所述目标视频帧按照所述预设的编码规则,划分为若干编码块; 根据所确定的编码块数量以及运动矢量,从所述起始编码块开始,对所述目标视频帧中需嵌入所述待嵌入水印信息的各个编码块编码,以在所述目标视频帧中嵌入所述待嵌入水印信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,包括: 获得所述待嵌入水印信息的二进制数据的位数Numwm ; 根据如下关系式,计算嵌入所述待嵌入水印信息所需编码块的数量Nunu, Numeb =(Nurnwil^Nummv-JNummvj — I)/(Nummv—X+Nummv—y), 其中,Numniv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数; 以(Nummv X+Nummv y)为单位,对所述待嵌入水印信息的二进制数据进行分段; 根据分段结果,从所述待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,包括: 在所述目标视频帧中,确定嵌入所述待嵌入水印信息的标识编码块; 以预设的运动矢量对所述标识编码块编码,其中,对所述标识编码块编码后的数据,用于标识编码后的所述目标视频帧中已嵌入所述待嵌入水印信息; 根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,确定所述标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,包括: 根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块;或 根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块。
5.根据权利要求4所述的方法,其特征在于,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块,包括:根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,将预设位置的编码块确定为嵌入位置对应的起始编码块。
6.根据权利要求4所述的方法,其特征在于,所述根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块,包括: 在对所述目标视频帧的编码过程中,根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性; 若当前编码块各像素点之间的相关性满足预设条件,则将当前编码块确定为嵌入位置对应的起始编码块。
7.一种视频水印嵌入装置,其特征在于,所述装置包括: 二进制数据获得模块,用于获得待嵌入水印信息的二进制数据; 信息确定模块,用于根据所述待嵌入水印信息的二进制数据以及预设的编码规则,确定嵌入所述待嵌入水印信息所需的编码块数量以及对各个编码块进行编码所需的运动矢量,所述编码块为:编码处理过程中使用的数据单元; 起始编码块确定模 块,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在目标视频帧中,确定嵌入位置对应的起始编码块,其中,所述目标视频帧按照所述预设的编码规则,划分为若干编码块; 水印信息嵌入模块,用于根据所确定的编码块数量以及运动矢量,从所述起始编码块开始,对所述目标视频帧中需嵌入所述待嵌入水印信息的各个编码块编码,以在所述目标视频帧中嵌入所述待嵌入水印信息。
8.根据权利要求7所述的装置,其特征在于,所述信息确定模块,包括: 位数获得子模块,用于获得所述待嵌入水印信息的二进制数据的位数Numwm ; 编码块数量计算子模块,用于根据如下关系式,计算嵌入所述待嵌入水印信息所需编码块的数量Numeb,
Numeb = (Numwm+Nummv—X+Nummv—y — I)/(Nummv—X+Nummv—y), 其中,Numniv x为所述预设的编码规则中规定的运动矢量X方向分量的取值范围对应的二进制位数,Numfflvj为所述预设的编码规则中规定的运动矢量Y方向分量的取值范围对应的二进制位数; 数据分段子模块,用于以(Nummv X+Nummv y)为单位,对所述待嵌入水印信息的二进制数据进行分段; 运动矢量构成子模块,用于根据分段结果,从所述待嵌入水印信息的二进制数据的低位开始,利用每个分段对应的数据构成对一个编码块编码所需的运动矢量。
9.根据权利要求7或8所述的装置,其特征在于,所述起始编码块确定模块,包括: 标识编码块确定子模块,用于在所述目标视频帧中,确定嵌入所述待嵌入水印信息的标识编码块; 标识编码块编码子模块,用于以预设的运动矢量对所述标识编码块编码,其中,对所述标识编码块编码后的数据,用于标识编码后的所述目标视频帧中已嵌入所述待嵌入水印信息; 第一起始编码块确定子模块,用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,确定所述标识编码块之后的第一个编码块为嵌入位置对应的起始编码块。
10.根据权利要求7或8所述的装置,其特征在于,所述起始编码块确定模块, 具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,确定嵌入位置对应的起始编码块;或 具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧的编码过程中,确定嵌入位置对应的起始编码块。
11.根据权利要求10所述的装置,其特征在于,所述起始编码块确定模块,具体用于根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,在对所述目标视频帧编码之前,将预设位置的编码块确定为嵌入位置对应的起始编码块。
12.根据权利要求10所述的装置,其特征在于,所述起始编码块确定模块,包括: 相关性计算子模块,用于在对所述目标视频帧的编码过程中,根据所述预设的编码规则中规定的视频帧中编码块的编码顺序,计算当前编码块中各像素点之间的相关性; 第二起始编码块确定子模块,用于在当前编码块各像素点之间的相关性满足预设条件的情况下,将当 前编码块确定为嵌入位置对应的起始编码块。
【文档编号】H04N19/467GK103997652SQ201410261584
【公开日】2014年8月20日 申请日期:2014年6月12日 优先权日:2014年6月12日
【发明者】朱洪波 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1