CN103533458B - 一种视频水印的嵌入和提取方法 - Google Patents

一种视频水印的嵌入和提取方法 Download PDF

Info

Publication number
CN103533458B
CN103533458B CN201310524653.5A CN201310524653A CN103533458B CN 103533458 B CN103533458 B CN 103533458B CN 201310524653 A CN201310524653 A CN 201310524653A CN 103533458 B CN103533458 B CN 103533458B
Authority
CN
China
Prior art keywords
watermark
video
coefficient
length
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310524653.5A
Other languages
English (en)
Other versions
CN103533458A (zh
Inventor
关虎
曾智
刘杰
张树武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese Academy Of Press And Publication
Institute of Automation of Chinese Academy of Science
Original Assignee
Chinese Academy Of Press And Publication
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chinese Academy Of Press And Publication, Institute of Automation of Chinese Academy of Science filed Critical Chinese Academy Of Press And Publication
Priority to CN201310524653.5A priority Critical patent/CN103533458B/zh
Publication of CN103533458A publication Critical patent/CN103533458A/zh
Application granted granted Critical
Publication of CN103533458B publication Critical patent/CN103533458B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种视频水印的嵌入和提取方法。其中水印嵌入方法包括:对于选定的进行水印嵌入的视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割处理;基于所述子块的奇异值分解SVD及基于所述宏块的离散余弦变换DCT,选择变换系数并嵌入水印;通过反离散余弦变换、奇异值分解的逆过程、图像小尺度缩小重构视频帧图像。所述视频水印的提取方法与嵌入方法对应,从视频帧中提取出的水印需要进行一系列的后处理得到最终的水印序列。本发明具有很好的普适性,用于水印嵌入的视频帧及其变换系数的选取提高了水印的不可见性和鲁棒性,在抵抗转码、噪声、帧插入、帧删除、分辨率改变等攻击的同时,提高了水印嵌入与提取的效率。

Description

一种视频水印的嵌入和提取方法
技术领域
本发明属于数字媒体内容版权保护领域,具体涉及一种视频水印的嵌入和提取方法,该方法所嵌入的水印具有较好的不可见性和鲁棒性,并且算法具有很好的通用性,能抵抗常见的编辑处理攻击,可应用于数字视频的版权保护。
背景技术
近年来,随着互联网技术和数字媒体技术的飞速发展,目前在网络上或各种手持设备上存在大量的数字媒体资源(图像、视频、音频、文档等),用户可以很容易地对这些数字媒体资源的内容进行复制、修改、传播和使用,因此,对数字媒体内容的版权保护越来越引起学术界和商业界的普遍关注。在解决这个问题的过程中,对数字媒体内容添加水印是一种广泛采用的技术手段。数字水印技术是通过将代表其版权信息的标识符隐蔽地嵌入到数字媒体内容中,使其不易被感知和篡改,必要的时候通过水印提取和比对来进行数字媒体内容版权的追踪和认证,从而从技术上实现对数字媒体内容的版权保护。经过近二十年的发展,目前的数字水印技术已经取得了一定的成果,但仍存在一些不足。
目前的视频水印技术发展相对于图像水印来讲较为滞后,按嵌入位置的不同,视频水印可以大致分为原始视频水印和压缩域视频水印两类。原始视频水印算法是指对未压缩的视频数据嵌入水印的处理。这类算法又可以细分为时空域算法和变换域算法,比较有代表性的包括基于扩频理论的水印算法、基于模板估计的水印算法、基于DCT(DiscreteCosine Transformation)、3D-DFT(Discrete Fourier Transformation)、3D-DWT(Discrete Wavelet Transformation)等变换的水印算法等。这类算法相对来讲水印嵌入量大,鲁棒性较好;但若对已经编码压缩的视频数据进行水印嵌入,就需要对视频进行全解全编,水印嵌入和检测的效率会有所下降,可能达不到实时性的要求。压缩域视频水印算法是指直接在压缩的视频流或者部分解码的压缩视频中嵌入和检测水印的算法。比较有代表性的包括基于DCT域、基于VLC(Variable Length Coding)域、基于运动矢量的视频水印算法等。这类算法复杂度低,能够满足视频水印的实时性要求;但由于压缩比特率的限制,嵌入水印数据量的大小非常有限,嵌入水印的强度受视频解码误差的约束,且嵌入策略受相应视频压缩算法和编码标准的限制,在通用性方面受到很大限制。
Zhen Li,Kim-Hui Yap,Bai-Ying Lei在2011年的图像处理国际会议(IEEEInternational Conference on Image Processing)上发表的论文“A new blind robustimage watermarking scheme in SVD-DCT composite domain”提出了一种在图像的SVD(Singular Value Decomposition)-DCT联合域内嵌入水印的算法,该算法能够很好地抵抗常见的滤波、噪声、JPEG压缩等图像处理攻击,但不能够抵抗常见的几何攻击,特别是在视频编辑处理过程中很可能发生的视频分辨率的变化(对应图像的等尺度缩放或纵横比改变的缩放)等该文章的算法不具有很好的抵抗能力。
发明内容
针对目前的视频水印嵌入与提取方法在鲁棒性、通用性、高效性等方面存在的问题,结合上述SVD-DCT联合域内的图像水印算法,在改进该图像水印算法的基础上,将其应用于视频水印算法的设计和实现中,本发明提出了一种高效、通用的能够抵抗常见编辑处理的视频水印嵌入与提取的新方法。本发明的特点在于对解码后的视频I帧进行基于改进的SVD-DCT的水印嵌入,其中水印置乱过程通过密钥进行控制,这样一是可以在不受视频编码标准限制的前提下完成水印的嵌入,提高了算法的通用性和安全性;二是只需在少量的视频帧上进行水印的嵌入,提高了水印嵌入的效率。水印提取过程在所有视频帧上进行,通过标志位的设置和验证来提高水印提取的准确率以及抵抗常见编辑处理的能力。
本发明的目的在于提出一种具有普适性的、不可见性好、鲁棒性强且效率较高的视频水印嵌入与提取方法,用于解决数字视频内容的版权保护问题。
按照本发明的一方面,提供了一种视频水印的嵌入方法,其包括:
步骤1:对于选定的进行水印嵌入的视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割处理;
步骤2:基于所述子块的奇异值分解SVD及基于所述宏块的离散余弦变换DCT,选择变换系数并嵌入水印;
步骤3:通过反离散余弦变换、奇异值分解的逆过程、图像小尺度缩小重构视频帧图像。
按照本发明的另一方面,提供了一种视频水印的提取方法,其包括:
步骤1:对视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割处理;
步骤2:基于所述子块的奇异值分解及基于所述宏块的离散余弦变换,定位变换系数并提取水印;
步骤3:对从同一视频帧图像中提取出的水印进行处理,得到该视频帧中提取出的水印信息。
本发明结合图像水印的基本思想将水印嵌入到解码后的视频I帧中,使得方法具有很好的普适性,不受视频编码格式的影响;在视频I帧的低频区域进行水印嵌入,增强了水印抵抗编码压缩、噪声等攻击的能力并提高了水印的不可见性及嵌入的效率;自适应的分块方式使得水印能够抵抗视频分辨率改变的问题;选择在所有视频帧中提取水印并利用标志位进行水印的筛选和处理,大幅度提高了水印提取的准确率以及抵抗帧插入、帧删除等攻击的能力。
附图说明
图1为本发明实施例中视频水印嵌入和视频水印提取的方法流程图;
图2为本发明实施例中对4×4的二维矩阵进行之字形扫描的示意图;
图3为本发明实施例中从奇异值矩阵的DCT系数中选择变换系数对的示意图;
图4a为本发明实施例中采用的avi格式的视频I帧图像,视频帧图像大小为320×240;
图4b为本发明实施例中采用的原始水印序列,其长度设置为64;
图4c为本发明实施例中嵌入水印后的视频I帧图像,其中控制水印嵌入强度的两个参数设置为:α=0.3,β=0.9;
图4d为本发明实施例中从嵌入水印的视频中提取出的水印序列,以及与原始水印比对后得到的比特错误率(Bit Error Rate,BER);
图4e为本发明实施例中对嵌入水印后的视频进行转码(avi格式转换成mp4格式)后的视频I帧图像;
图4f为本发明实施例中从转码后的含水印视频中提取出的水印序列,以及与原始水印比对后得到的比特错误率;
图4g为本发明实施例中对嵌入水印后的视频改变分辨率(改变为256×192)后的视频I帧图像;
图4h本发明实施例中从分辨率改变(改变为256×192)后的含水印视频中提取出的水印序列,以及与原始水印比对后得到的比特错误率;
图4i为本发明实施例中对嵌入水印后的视频改变分辨率(改变为480×360)后的视频I帧图像;
图4j为本发明实施例中从分辨率改变(改变为480×360)后的含水印视频中提取出的水印序列,以及与原始水印比对后得到的比特错误率;
图4k为本发明实施例中对嵌入水印后的视频添加高斯噪声(均值为0,方差为0.01)后的视频I帧图像;
图4l为本发明实施例中从添加噪声后的含水印视频中提取出的水印序列,以及与原始水印比对后得到的比特错误率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
图1示出了本发明实施例中视频水印嵌入及提取方法的流程图。如图1所示,其左半部分S1示出了视频水印嵌入方法的主要流程图,如图1所示,视频水印的嵌入具体包括:
步骤S11:对原始水印序列进行预处理:主要包括添加标志位、位置置乱和序列重复。
步骤S12:根据原始视频的编码格式采用相对应的解码器对其进行解码,识别出其中的I帧并获取解码后I帧图像的数据;并且在视频解码过程中保存与编码相关的一些参数,如块类型、预测模式、运动矢量等。这里的I帧是指视频在编码过程中根据其编码方式被指定成关键帧的视频帧,这里的指定过程主要是通过在视频编码时对该帧的数据附加一个特定标志位的方式来实现,解码时也可以通过检测该标志位的值来确定该帧是否是关键帧(I帧)。
步骤S13:对于视频I帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割。
步骤S14:基于子块的奇异值分解(SVD)及基于宏块的离散余弦变换(DCT),选择变换系数嵌入水印。
步骤S15:通过反离散余弦变换IDCT(Inverse Discrete CosineTransformation)、奇异值分解的逆过程、图像小尺度缩小等环节重构视频帧图像。
步骤S16:待所有的视频I帧中均嵌入了相同的预处理后的水印序列后,采用合适的编码器对视频帧进行重新编码,编码方式根据视频解码时保存的编码参数来决定,最终得到含水印的压缩视频。
图1的右半部分S2示出了视频水印提取方法的主要流程图,如图1所示,视频水印提取具体包括:
步骤S21:根据含水印压缩视频(此时的视频可能已经经过了视频传播、使用过程中的一些编辑、处理等操作)的编码格式采用相对应的解码器对其进行解码,获取解码后所有视频帧图像的数据。
步骤S22:对视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割。
步骤S23:基于子块的SVD及基于宏块的DCT,定位变换系数提取水印。
步骤S24:对从同一视频帧中提取出的水印进行后处理。
步骤S25:对从所有视频帧中提取出的水印进行后处理,得到最终提取出的水印信息。
下面对上述方法步骤进行详细说明:
对于步骤S11,所述的对原始水印序列进行预处理的方法包括如下具体步骤:
步骤S111:假设原始水印序列(0-1二值序列)长度为K,首先,在该水印序列的前面补充P个标志位(P个0或者P个1),使其总长度为M=K+P;
步骤S112:利用密钥key生成长度为M的随机整数序列,其中的每个随机整数均不小于1且不大于M,而且两两不同;根据此序列中各个整数的具体位置相对应地调整添加标志位后的水印序列中各个比特位的位置,从而置乱水印序列;具体过程如下:
假设添加标志位后的水印序列为W=[a1,a2,…,aM],其中ai∈{0,1},i=1,2,…,M;
利用密钥key生成的随机整数序列为R=[r1,r2,…,rM],其中ri∈{m|1≤m≤M,m∈Z+},i=1,2,…,M;并且有ri≠rj,i,j=1,2,…,M且i≠j;
则置乱后的水印序列为SW=[b1,b2,…,bM],其中bi=ari,i=1,2,…,M;
步骤S113:若添加标志位后水印序列的长度M小于N,其中N为视频中能够嵌入的水印长度的最大值,可选为512位,则对置乱后的水印序列进行重复处理,直至其长度等于N,即重复处理后的水印序列为:
RW=[rw1,rw2,…,rwN],rwi=bki=1,2,…,N。
若添加标志位后水印序列的长度M等于N,则不需要做重复处理,只将带有标志位的水印序列作为后续嵌入的序列即可;
若添加标志位后水印序列的长度M大于N,则说明需要嵌入的水印序列长度过长,不能满足该方法的约束条件,不能进行水印嵌入。
对于步骤S13,所述对视频I帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割包括如下具体步骤:
步骤S131:根据原始视频I帧图像的高度和宽度(这里用oH和oW表示),计算出进行小尺度放大后图像的高度和宽度(这里用SH和sW表示)。小尺度放大后图像的高度sH和宽度sW均为满足如下两个条件的最小正整数:一是均能够被L整除;二是分别不小于原始I帧图像的高度oH和宽度oW;这里,L=X·Z,其中为方便后续操作,Z一般为大于3的正整数。根据以上计算,采用非等尺度放大的方法将原始I帧图像的高度oH和宽度oW分别放大成sH和sW;对于高度或宽度小于192的图像,由于不利于后续操作和水印的稳定性,此类视频不适用于本方法,不能进行水印嵌入。这里采用非等尺度放大的原因在于原始视频帧的高度oH和宽度oW可以单独进行处理而互相之间不受影响,即图像放大时高度方向和宽度方向可以采取不同的缩放因子,只要满足上述的两个条件即可,目的在于能够使得后续分割出的所有宏块尺寸相同,所有子块尺寸也相同。
步骤S132:将小尺度放大后的视频I帧图像分割成互不重叠的N/2个宏块,每个宏块的高度和宽度均分别为放大后图像高度和宽度的l/X;将每一个宏块再分割成互不重叠的Y个子块,每个子块的高度和宽度均分别为宏块高度和宽度的l/Z,其中X、Y、Z和N应该满足如下关系:N=2·X2,Y=Z2,Z为大于3的正整数。
对于步骤S14,所述的基于子块的SVD及基于宏块的DCT,选择变换系数嵌入水印的方法包括如下具体步骡:
步骤S14l:对同一宏块中的Y个子块分别进行奇异值分解,抽取每个子块分解后得到的最大奇异值,组成一个Z×Z的方阵;
步骤S142:对该Z×Z的方阵进行DCT变换,对Z×Z的DCT变换系数矩阵进行之字形扫描(Zig-Zag Scan)得到一个长度为Z2的一维系数向量;其中,之字形扫描的方式可参考图2所示出的对4×4的矩阵的扫描过程进行。
步骤S143:为了使得嵌入的水印信息具有较好的不可见性,选择上述长度为Z2的一维系数向量中的后半部分系数进行修改,这些系数对应的是视频帧的中低频信息,能够在水印的鲁棒性和不可见性之间达到较好的权衡。这里可以选择随机的四个位置上的系数组成两个系数对,并且在每个系数对中分别嵌入1比特(bit)水印信息。
图3示出了本发明实施例中从4×4奇异值矩阵的DCT系数中选择变换系数对的示意图。如图3所示,所述之字形扫描后得到的一维系数向量的位置编号从1开始记,即位置编号为1~16,所选择的系数对为系数向量的第10、11位组成一个系数对,第13、14位组成另一个系数对(也可选择其他位置处的系数组成系数对);具体在系数对中嵌入水印的步骤如下:
①假设一个系数对中的两个系数值分别为F1和F2,首先求得这两个系数绝对值的差:D=|F1|-|F2|;
②根据上述D值的符号以及需要在该系数对内嵌入的水印比特位rw(0或1),利用以下规则修改两个系数F1和F2的值,从而达到嵌入水印比特位的目的:
·当rw=1且F1≈F2≈0时,修改后的系数值F1′和F2′满足:
F 1 ′ = 0.5 × strength F 2 ′ = - 0.5 × strength ,
·当rw=1且D≥strength时,修改后的系数值F1′和F2′满足:
F 1 ′ = F 1 F 2 ′ = F 2 ,
·当rw=1且D<strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = sign ( F 1 ) &times; [ ( | F 1 | + | F 2 | ) / 2 + 0.5 &times; strength ] F 2 &prime; = sign ( F 2 ) &times; [ ( | F 1 | + | F 2 | ) / 2 - 0.5 &times; strength ]
·当rw=0且F1≈F2≈0时,修改后的系数值F1′和F2′满足:
F 1 &prime; = - 0.5 &times; strength F 2 &prime; = 0.5 &times; strength ,
·当rw=0且D≥strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = sign ( F 1 ) &times; [ ( | F 1 | + | F 2 | ) / 2 - 0.5 &times; strength ] F 2 &prime; = sign ( F 2 ) &times; [ ( | F 1 | + | F 2 | ) / 2 + 0.5 &times; strength ]
·当rw=0且D<strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = F 1 F 2 &prime; = F 2 ,
以上公式中的strength称为水印嵌入强度,计算方法为strength=α·edge+β,其中α和β为控制水印嵌入强度的参数,可以通过调节这两个参数的值来在水印的不可见性和鲁棒性之间达到较好的权衡;edge为前面所述的经过之字形扫描后得到的长度为Z2的一维向量中后Z2/2个系数绝对值的和;
以上公式中的sign(·)为求得数值符号的函数,即 sign ( t ) = - 1 t < 0 0 t = 0 1 t > 0 ;
③利用以上规则得到修改后的系数值F1′和F2′,并用F1′和F2′替换一维系数向量对应位置上的F1和F2,得到嵌入水印后的一维系数向量。
对于步骤S15,所述的通过IDCT、奇异值分解的逆过程、图像小尺度缩小等环节重构视频帧图像的方法包括如下具体步骤:
步骤S151:对嵌入水印后的变换系数的一维向量进行之字形扫描的逆操作,得到Z×Z的系数方阵,再对该方阵进行IDCT变换,得到嵌入水印后的最大奇异值组成的方阵;这里的之字形扫描的逆操作可以参考图2所示出的之字形扫描的过程,逆操作就是针对图2中的一维向量,将其根据之字形扫描的轨迹映射回二维矩阵的过程。
步骤S152:用该嵌入水印后的最大奇异值组成的方阵来更新同一宏块中每个子块原始位置上的最大奇异值,得到嵌入水印后的各个子块的奇异值分解系数,将同一宏块中Y个子块的分解系数分别采用与奇异值分解相反的过程进行运算,得到嵌入水印后各个子块的数据,进而得到嵌入水印后各个宏块的数据;
步骤S153:待所有宏块中均嵌入了水印比特位后,将嵌入水印后的放大图像再缩小到原始视频I帧的尺寸,得到嵌入水印后的视频帧图像。
对于步骤S22,所述的根据需要对视频帧图像进行小尺度放大并进行宏块与子块的自适应分割的方法包括如下具体步骤:
步骤S221:对于高度或宽度小于192的视频帧图像,由于不利于后续操作和水印的稳定性,首先将其采用高度和宽度等比例的放大方式将图像放大一定的倍数,使其高度和宽度均不小于192;若原始视频帧图像的高度和宽度均不小于192,则不需要进行放大操作;根据视频帧图像的高度和宽度,计算出进行小尺度放大后图像的高度和宽度。小尺度放大后图像的高度和宽度均为满足如下两个条件的最小正整数:一是均能够被L整除;二是分别不小于原始视频帧图像的高度和宽度;根据以上计算,采用非等尺度放大的方法将原始视频帧图像放大到后者的尺寸;
步骤S222:将小尺度放大后的视频帧图像分割成互不重叠的N/2个宏块,每个宏块的高度和宽度均分别为放大后图像高度和宽度的l/X;将每一个宏块再分割成互不重叠的Y个子块,每个子块的高度和宽度均分别为宏块高度和宽度的l/Z。
对于步骤S23,所述的基于子块的SVD及基于宏块的DCT,定位变换系数提取水印的方法包括如下具体步骤:
步骤S231:对同一宏块中的Y个子块分别进行奇异值分解,抽取每个子块分解后得到的最大奇异值,组成一个Z×Z的方阵;
步骤S232:对该Z×Z的方阵进行DCT变换,对Z×Z的DCT变换系数矩阵进行之字形扫描得到一个长度为Z2的一维系数向量;
步骤S233:根据与S143中相同的方式抽取系数向量中的两个系数对,从这两个系数对中分别提取1比特(bit)水印信息。
图3示出了本发明实施例中从奇异值矩阵的DCT系数中选择变换系数对的示意图。如图3所示,所述之字形扫描后得到的一维系数向量的位置编号从1开始记,即位置编号为1~16,所选择的系数对为系数向量的第10、11位组成一个系数对,第13、14位组成另一个系数对(也可选择其他位置处的系数组成系数对,但需要与水印嵌入方法中选择系数的位置相同);具体从系数对中提取水印的过程如下:
①假设一个系数对中的两个系数值分别为F1′和F2′,首先求得这两个系数绝对值的差:D′=|F1′|-|F2′|;
②根据上述D′值的符号确定提取出的水印比特位rw′,规则如下:
rw &prime; = 1 D &prime; &GreaterEqual; 0 0 D &prime; &le; 0 .
对于步骤S24,所述的对从同一视频帧中提取出的水印进行后处理的方法包括具体步骤如下:
步骤S241:将从每个宏块中提取出的2比特水印信息按提取顺序依次排列起来形成一个一维水印向量,对于整个视频帧来讲,因为会被分割成N/2个宏块,所以这里一维水印向量的长度为N,对这个长度为N的一维水印向量做如下处理:
若待提取出的水印序列长度K加上标志位的长度P等于N,则不对该水印向量做任何处理;
若待提取出的水印序列长度K加上标志位的长度P大于N,则说明待提取出的水印长度过长,不能满足该方法的约束条件,不能进行水印提取;
若待提取出的水印序列长度K加上标志位的长度P小于N,则将上述水印向量分离成互不重叠的若干段,每段的长度与待提取出的水印长度加上标志位的长度相同(此时,最后一段的长度可能会小于待提取的水印长度加上标志位的长度);对分离出的若干水印序列段逐位进行统计,选择同一位置上出现次数较多的比特位(0或1)作为最终提取出的该位置上的水印比特位;具体过程如下:
假设待提取的带标志位的水印序列长度为M,提取出的未经处理的水印向量为RW′=[rw1′,rw2′,…,rwN′],其中rwi′∈{0,1},i=1,2,…,N;
将其分成L段,其中为上取整函数,取得不小于原始值的最小整数;其中的每一个水印序列段表示为:
RW l &prime; = [ rw lM - M + 1 &prime; , rw lM - M + 2 &prime; , . . . , rw lM &prime; ] l = 1,2 , . . . L - 1 RW l &prime; = [ rw lM - M + 1 &prime; , rw lM - M + 2 &prime; , . . . , rw N &prime; ] l = L ;
统计以上L段水印向量的对应位置上的水印信息位得到处理后的水印向量,记为SW′=[b1′,b2′,…,bM′],其中bi′,i=1,2,…,M的确定规则如下:
·当(L-1)M+i≤N时,若 ( &Sigma; k = 1 L rw kM - M + i &prime; ) / 2 &GreaterEqual; L / 2 , 则bi′=1;
·当(L-1)M+i≤N时,若 ( &Sigma; k = 1 L rw kM - M + i &prime; ) / 2 < L / 2 , 则bi′=0;
·当(L-1)M+i>N时,若 ( &Sigma; k = 1 L rw kM - M + i &prime; ) / 2 &GreaterEqual; ( L - 1 ) / 2 , 则bi′=1;
·当(L-1)M+i>N时,若 ( &Sigma; k = 1 L rw kM - M + i &prime; ) / 2 < ( L - 1 ) / 2 , 则bi′=0;
步骤S242:将处理后的所述水印向量中的序列进行反置乱处理:
假设待提取出的水印序列长度为K,实际需要提取出的水印序列为M,其中包括P=M-K个标志位信息,利用与水印嵌入时相同的密钥key生成长度为M的随机整数序列,其中的每个随机整数均不小于1且不大于M,而且两两不同;根据此序列中各个整数的具体位置相对应地调整水印序列中各个比特位的位置,从而使提取出来的水印恢复原始的排列次序;具体操作过程如下:
假设经过上述统计处理后的带标志位的水印序列为SW′=[b1′,b2′,…,bM′],其中bi′∈{0,1},i=1,2,…,M;
利用密钥key生成的随机整数序列为R=[r1,r2,…,rM],其中ri∈{m|1≤m≤M,m∈Z+},i=1,2,…,M;并且有ri≠rj,i,j=1,2,…,M且i≠j;
则恢复次序后的带标志位的水印序列为W′=[a1′,a2′,…,aM′],其中ari′=bi′,i=1,2,…,M;
步骤S243:考察水印序列W′的前P位是否恰好是水印嵌入时增加的标志位(P个0或P个1),若是,则去除标志位,将剩余的长度为K的序列作为从该视频帧中提取出的有效水印序列用作后续处理;若标志位出现错误,则认为从该视频帧中没有提取出有效的水印信息。
对于步骤S25,所述的对从所有视频帧中提取出的水印进行后处理的方法具体包括:
假设整个含水印视频中共有T个视频帧存在有效水印序列的输出(即这些视频帧中提取出的水印序列的标志位与嵌入时设置的标志位完全相同),分别表示为:Wi′=[ai1′,ai2′,…,aik′],其中i=1,2,…,T,水印长度均为K;
统计以上T个水印向量的对应位置上的水印信息位得到最终处理后的水印向量,记为EW′=[ew1′,ew2′,…,ewk′],其中ewk′,k=1,2,…,K的确定规则如下:
·若 ( &Sigma; i = 1 T a ik &prime; ) / 2 &GreaterEqual; T / 2 , 则ewk′=1;
·若 ( &Sigma; i = 1 T a ik &prime; ) / 2 < T / 2 , 则ewk′=0;
至此得到了最终提取出的视频水印序列EW′。
图4示出了本发明实施例中使用的视频帧图像。以图4示出的视频图像为例对上述方法进行详细说明:
首先,对原始视频(avi格式,图4a示出的视频I帧,视频帧大小为320×240)进行解码,保存必要的编码参数,获取其中的所有视频I帧,对每个I帧根据需要进行小尺度放大并进行不重叠的宏块与子块的自适应分割,选择能够嵌入和提取的水印序列的长度最大值为N=512,分割出的宏块的个数为N/2=X2=256,每个宏块分割出的子块的个数为Y=Z2=16。
然后,对每个宏块中的16个子块分别进行奇异值分解,抽取各自的最大奇异值组成4×4的方阵,对该方阵进行DCT变换,根据图3示出的方式选择变换系数对嵌入预处理后的水印,本实施例中采用的原始水印序列如图4b,其长度为64,水印预处理过程中标志位的长度为10,采用全0标志位,水印嵌入强度设置为:α=0.3,β=0.9。利用修改后的变换系数替换对应位置上的原系数,进行IDCT变换和SVD分解的逆操作,并进行图像小尺度的缩小,反变换回原来的尺寸。
最后,待所有I帧中均嵌入水印后,利用解码时保存的编码参数对视频帧进行重新编码,得到嵌入水印后的视频,图4c示出的是嵌入水印后的视频I帧。
通过对比图4a及图4c示出的嵌入水印前后的两幅视频I帧图像,可知,本发明所产生的含水印视频与原始视频没有明显的视觉差异,水印的不可见性较好。
采用本发明所述的水印提取方法对含水印视频中的水印进行提取,图4d示出了所提取出的水印序列,图4b示出了原始的水印序列,通过二者的比对可知水印能够完整地被提取出来(BER=0.00%)。
这里,计算原始水印W=[w1,w2,…,wK]和提取出的水印W′=[w1′,w2′,…,wK′]之间的比特错误率的方法如下:
BER = &Sigma; i = 1 K m i K &times; 100 % , 其中 m i = 0 w i = w i &prime; 1 w i &NotEqual; w i &prime; , i=1,2,…,K,K为水印序列的长度。
转码是视频在编辑过程中常见的处理方式,图4e示出了视频经过avi格式到mp4格式的转码后对应的视频帧,图4f示出了从转码后的视频中提取出的水印序列,通过与原始水印的比对可知视频转码后水印仍能够较准确地提取出来(BER=1.56%)。
帧插入、帧删除是视频在编辑过程中常见的处理方式,根据本发明的基本原理,通过在对含水印的视频进行帧插入(每10帧插入1帧)和帧删除(每10帧删除1帧)处理后,进行水印提取时,均能够从处理后的视频中准确地将水印提取出来(BER=0.00%)。
分辨率改变是视频在编辑过程中常见的处理方式,图4g示出了视频分辨率变为256×192后对应的视频帧,图4h示出了从该分辨率的视频中提取出的水印序列;图4i示出了视频分辨率变为480×360后对应的视频帧,图4j示出了从该分辨率的视频中提取出的水印序列;通过与原始水印的比对可知视频分辨率改变后水印仍能够很准确地被提取出来(BER=0.00%)。
噪声是视频在传播过程中常见的处理方式,图4k示出了视频添加了均值为0方差为0.01的高斯噪声后对应的视频帧,图4l示出了从添加噪声后的视频中提取出的水印序列,通过与原始水印的比对可知视频添加噪声后水印仍能够较准确地被提取出来(BER=3.13%)。
由以上可知,利用本发明中的水印嵌入方法得到的含水印的视频内容,在经过常见的编辑、处理变换(转码、帧插入、帧删除、改变分辨率、添加噪声)后,利用本发明的水印提取方法仍然能够准确地提取出代表其版权信息的水印序列。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种视频水印的嵌入方法,其包括:
步骤1:对于选定的进行水印嵌入的视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割处理;
步骤2:基于所述子块的奇异值分解SVD及基于所述宏块的离散余弦变换DCT,选择变换系数并嵌入水印;
步骤3:通过反离散余弦变换、奇异值分解的逆过程、图像小尺度缩小重构视频帧图像;
其中,步骤1具体包括:
步骤11:根据选定的进行水印嵌入的视频帧图像的高度和宽度,计算出进行小尺度放大后图像的高度和宽度;并根据所计算出的图像的高度和宽度采用非等尺度放大方式对选定的进行水印嵌入的视频帧图像进行小尺度放大;
步骤12:将小尺度放大后的视频帧图像分割成互不重叠的N/2个宏块,其中N为视频中能够嵌入的水印序列长度的最大值,每个宏块的高度和宽度均分别为放大后图像高度和宽度的1/X;将每一个宏块再分割成互不重叠的Y个子块,每个子块的高度和宽度均分别为宏块高度和宽度的1/Z,其中X、Y、Z和N应该满足如下关系:N=2·X2,Y=Z2;Z为大于3的正整数。
2.如权利要求1所述的嵌入方法,其还包括对于要嵌入的原始水印序列进行预处理,具体包括:
步骤Z1:在原始水印序列前添加固定数目的标志位,添加标志位后的水印序列长度用M表示;
步骤Z2:利用密钥生成长度为M的随机整数序列,且每个随机整数均不小于1且不大于M,且两两不同;
步骤Z3:置乱所述添加标志位后的水印序列顺序,使得置乱后一维向量中与所述随机整数序列中各个整数大小代表的位置处的比特为置乱前一维向量中与所述随机整数序列各个整数所在的下标处的比特;
步骤Z4:若所述置乱后的水印序列长度M恰好等于N,其中N为能够嵌入视频的水印序列长度的最大值,则不对其进行处理,直接将该序列作为将要被嵌入到视频中的水印序列;若所述置乱后的水印序列长度M大于N,则说明需要嵌入的水印长度太长,不能满足本方法的条件,不能采用本方法进行水印嵌入;若所述置乱后的水印序列长度M小于N,则对所述置乱后的水印序列进行若干次重复,直至其长度等于N,将所述长度为N的序列作为将要被嵌入到视频中的水印序列。
3.如权利要求1所述的嵌入方法,其中步骤2具体包括:
步骤21:对同一宏块中的多个子块分别进行奇异值分解,抽取每个子块分解后得到的最大奇异值,组成一个方阵;
步骤22:对该方阵进行DCT变换得到一个变换系数矩阵,对该变换系数矩阵进行之字形扫描得到一个一维系数向量;
步骤23:抽取该一维系数向量中的两个系数组成第一个系数对,抽取另外两个系数组成第二个系数对,在这两个系数对中分别嵌入1比特的水印信息。
4.如权利要求3所述的嵌入方法,其中步骤23中在这两个系数对中分别嵌入1比特的水印信息具体包括:
步骤231:计算每个系数对中两个系数F1和F2的绝对值差D=|F1|-|F2|;
步骤232:根据上述绝对值差D的符号以及在该系数对内嵌入的水印比特值rw,利用以下规则修改两个系数F1和F2的值,从而达到嵌入水印信息的目的:
a)当rw=1且F1≈F2≈0时,修改后的系数值F1′和F2′满足:
F 1 &prime; = 0.5 &times; s t r e n g t h F 2 &prime; = - 0.5 &times; s t r e n g t h ,
b)当rw=1且D≥strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = F 1 F 2 &prime; = F 2 ,
c)当rw=1且D<strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = s i g n ( F 1 ) &times; &lsqb; ( | F 1 | + | F 2 | ) / 2 + 0.5 &times; s t r e n g t h &rsqb; F 2 &prime; = s i g n ( F 2 ) &times; &lsqb; ( | F 1 | + | F 2 | ) / 2 - 0.5 &times; s t r e n g t h &rsqb; ,
d)当rw=0且F1≈F2≈0时,修改后的系数值F1′和F2′满足:
F 1 &prime; = - 0.5 &times; s t r e n g t h F 2 &prime; = 0.5 &times; s t r e n g t h ,
e)当rw=0且D≥strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = s i g n ( F 1 ) &times; &lsqb; ( | F 1 | + | F 2 | ) / 2 - 0.5 &times; s t r e n g t h &rsqb; F 2 &prime; = s i g n ( F 2 ) &times; &lsqb; ( | F 1 | + | F 2 | ) / 2 + 0.5 &times; s t r e n g t h &rsqb; ,
f)当rw=0且D<strength时,修改后的系数值F1′和F2′满足:
F 1 &prime; = F 1 F 2 &prime; = F 2 ,
其中,strength为水印嵌入强度,计算方法为strength=α·edge+β,其中α和β为控制水印嵌入强度的参数;edge为所述一维向量中后半部分共8个系数绝对值的和;sign(·)为求得数值符号的函数。
5.一种视频水印的提取方法,其包括:
步骤1:对视频帧图像根据需要进行小尺度放大并进行宏块与子块的自适应分割处理;
步骤2:基于所述子块的奇异值分解及基于所述宏块的离散余弦变换,定位变换系数并提取水印;
步骤3:对从同一视频帧图像中提取出的水印进行处理,得到从该视频帧中提取出的水印信息;
其中步骤1具体包括:
步骤11:根据选定的进行水印提取的视频帧图像的高度和宽度,计算出进行小尺度放大后图像的高度和宽度;并根据所计算出的图像的高度和宽度采用非等尺度放大方式对选定的进行水印提取的视频帧图像进行小尺度放大;
步骤12:将小尺度放大后的视频帧图像分割成互不重叠的N/2个宏块,其中N为视频中能够提取的水印序列长度的最大值),每个宏块的高度和宽度均分别为放大后图像高度和宽度的1/X;将每一个宏块再分割成互不重叠的Y个子块,每个子块的高度和宽度均分别为宏块高度和宽度的1/Z,其中X、Y、Z和N应该满足如下关系:N=2·X2,Y=Z2,Z为大于3的正整数。
6.如权利要求5所述的提取方法,其中步骤2具体包括:
步骤21:对同一宏块中的多个子块分别进行奇异值分解,抽取每个子块分解后得到的最大奇异值,组成一个方阵;
步骤22:对该方阵进行DCT变换得到一个变换系数矩阵,对该变换系数矩阵进行之字形扫描得到一个一维系数向量;
步骤23:抽取该一维系数向量中的两个系数组成第一个系数对,抽取另外两个系数组成第二个系数对,从这两个系数对中分别提取1比特的水印信息。
7.如权利要求6所述的提取方法,其中步骤23中从这两个系数对中分别提取1比特的水印信息具体包括:
步骤231:计算每个系数对中两个系数F1′和F2′绝对值的差D′=|F1′|-|F2′|;
步骤232:根据上述D′值的符号确定提取出的水印比特位rw′,规则如下:
rw &prime; = 1 D &prime; &GreaterEqual; 0 0 D &prime; < 0 .
8.如权利要求5-7任一项所述的提取方法,其还包括对从同一视频帧图像提取出的水印信息进行后处理,具体包括:
步骤Z1:将从每个宏块中提取出的水印信息按提取顺序依次排列起来,组成一个长度为N的一维向量,其中N为能够嵌入视频中的水印序列长度的最大值;
步骤Z2:若待提取出的水印序列长度加上标志位的长度等于所述一维向量的长度,则不做任何处理;若待提取出的水印序列长度加上标志位的长度大于所述一维向量的长度,则说明待提取出的水印序列长度太长,不能满足本方法的条件,不能进行水印提取;若待提取出的水印序列长度加上标志位的长度小于所述一维向量的长度,则将所述一维向量分离成互不重叠的若干段,每段的长度与需要提取的水印长度加上标志位的长度相同;对分离出的若干段逐位进行统计,选择同一位置上出现次数较多的比特位作为最终提取出的该位置上的水印比特位;
步骤Z3:利用密钥生成长度为M的随机整数序列,且每个随机整数均不小于1且不大于M,且两两不同,其中M为待提取水印序列的长度加上标志位的长度;
步骤Z4:反置乱所述处理过的一维向量,使得反置乱后的一维向量中各个比特为反置乱前一维向量中与所述随机整数序列中对应的整数大小代表的位置处的比特;
步骤Z5:检测所述反置乱处理后的一维向量,若其前面一部分为嵌入时增加的标志位,则去除所述标志位,其余部分为从该视频帧中提取出的有效水印信息。
9.如权利要求5-7任一项所述的提取方法,其还包括对从所有视频帧中提取出的水印进行后处理,得到最终提取出的水印信息,具体包括:对于从所有视频帧中提取出的T个有效水印序列,根据以下规则进行统计得到最终的水印序列:
则ewk′=1,若则ewk′=0;
其中,ewk′为最终水印序列中的第k个位置的比特位,k=1,2,…,K,K为水印序列的长度,Wi′=[ai1′,ai2′,…,aiK′]为从第i个视频帧中提取出的水印序列,i=1,2,…,T。
CN201310524653.5A 2013-10-30 2013-10-30 一种视频水印的嵌入和提取方法 Expired - Fee Related CN103533458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310524653.5A CN103533458B (zh) 2013-10-30 2013-10-30 一种视频水印的嵌入和提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310524653.5A CN103533458B (zh) 2013-10-30 2013-10-30 一种视频水印的嵌入和提取方法

Publications (2)

Publication Number Publication Date
CN103533458A CN103533458A (zh) 2014-01-22
CN103533458B true CN103533458B (zh) 2016-08-17

Family

ID=49935062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310524653.5A Expired - Fee Related CN103533458B (zh) 2013-10-30 2013-10-30 一种视频水印的嵌入和提取方法

Country Status (1)

Country Link
CN (1) CN103533458B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898324A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 视频水印隐藏插入方法及装置
CN105701758A (zh) * 2016-01-13 2016-06-22 华南理工大学 基于图形码的数字水印图像生成方法及装置
CN107592579B (zh) * 2016-05-31 2022-04-15 马克西姆综合产品公司 用于保护实时安全性和安全相关视频数据的装置和方法
CN106210928A (zh) * 2016-08-10 2016-12-07 深圳市企拍文化科技有限公司 在视频中添加实时地理位置信息水印系统以及方法
CN106373077B (zh) * 2016-08-19 2019-04-23 西安电子科技大学 基于相对比值的数字水印方法
CN106454510B (zh) * 2016-10-31 2019-07-16 广东工业大学 一种原始视频水印处理方法及装置
CN107995500B (zh) * 2017-10-27 2019-01-01 北京达佳互联信息技术有限公司 视频水印识别方法、装置及终端
CN108616757B (zh) * 2018-05-09 2020-10-23 电子科技大学 一种翻拍后能提取水印的视频水印嵌入与提取方法
CN108648761B (zh) * 2018-05-10 2023-05-09 北京泛融科技有限公司 一种在音频数字水印中嵌入区块链账本的方法
CN109300078B (zh) * 2018-08-31 2022-12-30 太原理工大学 一种具有自适应嵌入强度的图像扩频水印嵌入方法
CN109379642B (zh) * 2018-12-14 2020-12-08 连尚(新昌)网络科技有限公司 一种用于添加和检测视频水印的方法与设备、计算机可读介质
CN115222575B (zh) * 2022-06-06 2023-11-24 苏州科技大学 利用频率域系数比值的矢量数据水印嵌入和提取方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385459C (zh) * 2006-07-11 2008-04-30 电子科技大学 一种基于有限脊波变换的图像水印方法
CN101393590A (zh) * 2008-10-17 2009-03-25 南京邮电大学 一种四角号码数字水印制作方法

Also Published As

Publication number Publication date
CN103533458A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103533458B (zh) 一种视频水印的嵌入和提取方法
Jo et al. A digital image watermarking scheme based on vector quantisation
CN103152578B (zh) 基于混合编解码的h.264视频水印嵌入及提取方法
CN102238388B (zh) 基于avs标准的自适应鲁棒视频水印方法
CN102685500B (zh) 基于信息变长分组结构的h.264大容量信息隐藏方法
CN104065976B (zh) 一种基于视频的图像压缩及保密传输方法
CN108009975A (zh) 基于二维直方图修改的jpeg图像可逆信息隐藏方法
CN102263951B (zh) 一种快速的分形视频压缩与解压缩方法
CN104683811A (zh) 一种基于整数dct系数调制的信息隐藏及提取方法
CN101572819B (zh) 一种基于量化dct系数零值索引的可逆图像水印方法
CN108965887B (zh) 一种基于块间去耦合的视频信息隐藏方法和装置
CN108769700A (zh) 减小h.264帧间漂移失真的鲁棒性视频隐写方法
CN102364949A (zh) 一种基于h.264_avc视频流完整性认证脆弱水印的方法
CN103237209A (zh) 一种基于区域dct系数的h264视频水印方法
CN105072453B (zh) 一种面向移动终端的视频水印方法
CN106875324A (zh) 基于sbde的无损图像信息隐藏方法
CN112218078B (zh) 面向监控视频的高效视频编码标准量化参数级联方法
CN102065286B (zh) 基于运动矢量的视频水印嵌入和提取方法
CN108616757B (zh) 一种翻拍后能提取水印的视频水印嵌入与提取方法
CN101222620A (zh) 基于小波域和独立主成份分析的盲视频水印方法
CN103647969B (zh) 一种基于对象的快速分形视频压缩与解压缩方法
CN114598887A (zh) 一种控制比特率增加的抗重压缩视频水印方法
Jiang et al. A high capacity steganographic method based on quantization table modification
CN101267557B (zh) 一种用复合矢量量化进行图像压缩和解码的方法
Ren et al. Reversible Data Hiding Scheme based on Fractal Image Coding.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151118

Address after: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Applicant after: INSTITUTE OF AUTOMATION, CHINESE ACADEMY OF SCIENCES

Applicant after: CHINESE ACADEMY OF PRESS AND PUBLICATION

Address before: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Applicant before: Institute of Automation, Chinese Academy of Sciences

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

CF01 Termination of patent right due to non-payment of annual fee