发明内容
本发明的实施例提供一种视频数字水印的嵌入、提取方法和装置,能够在保证水印的透明性基础上,可以提高水印算法的鲁棒性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种视频数字水印的嵌入方法,所述方法包括:
获取原始水印信息的二进制序列码流,并根据所述二进制序列码流获取所述原始水印信息的嵌入码流序列;
将视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵;
根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入。
在第一种可能的实现方式中,结合第一方面,所述获取原始水印信息的二进制序列码流,并根据所述二进制序列码流获取所述原始水印信息的嵌入码流序列包括:
对所述原始水印信息进行二值化处理以获取所述原始水印信息的二进制码流序列;
对原始水印信息的二进制码流序列进行汉明码编码以获取所述原始水印信息的嵌入码流序列。
在第二种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式,将视频信号的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对纹理块的离散余弦变换系数进行量化系数Z行排序处理包括:
对视频流进行解码以获取所述视频信号的亮度分量,并将所述视频流的亮度分量按照规定分辨率划分为多个宏块;
对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数;
根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块;
对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,以获取量化系数Z行排序后每个纹理块的Z行排序系数矩阵。
在第三种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,所述根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块包括:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
在第四种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式或第一方面的第三种可能的实现方式,所述根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入包括:
选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值;
依次根据所述原始水印信息的嵌入码流序列中每一位的数值,确定是否将所述系数矩阵中次对角线位置上的数值进行互换,得到水印信息嵌入后的载密视频流。
第二方面,提供一种是视频数字水印的提取方法,所述方法包括;
将载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵;
根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取。
在第一种可能的实现方式中,结合第二方面,所述将载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵包括:
对所述载密视频流进行解码以获取所述视频信号的亮度分量,并将所述载密视频流的亮度分量按照规定分辨率划分为多个宏块;
对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数;
根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块;
对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,并得到每个纹理块的Z行排序系数矩阵。
在第二种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式,
所述根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块包括:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
在第三种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,所述根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取包括:
选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值;
根据所述离散余弦变换系数矩阵中次对角线位置上的数值还原出已嵌入水印的嵌入码流序列;
将已嵌入水印的嵌入码流序列按照汉明码编码还原出原始水印信息。
第三方面,提供一种水印嵌入装置,所述装置包括:
码流获取单元,用于获取原始水印信息的二进制序列码流,并根据所述二进制序列码流获取所述原始水印信息的嵌入码流序列,并将所述原始水印信息的嵌入码流序列发送至水印嵌入单元;
视频处理单元,用于将视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵,并将所述Z行排序系数矩阵发送至水印嵌入单元;
水印嵌入单元,用于从所述码流获取单元获取所述原始水印信息的嵌入码流序列,从所述视频处理单元获取所述Z行排序系数矩阵,并根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入。
在第一种可能的实现方式中,结合第三方面,所述码流获取单元包括:
水印转码子单元,用于对所述原始水印信息进行二值化处理以获取所述原始水印信息的二进制码流序列,并将所述原始水印信息的二进制码流序列发送至水印编码子单元;
水印编码子单元,用于从所述水印转码子单元接收所述原始水印信息的二进制码流序列,并对原始水印信息的二进制码流序列进行汉明码编码以获取所述原始水印信息的嵌入码流序列。
在第二种可能的实现方式中,结合第三方面或第三方面的第一种可能的实现方式,所述视频处理单元包括;
第一宏块划分子单元,用于对视频流进行解码以获取所述视频信号的亮度分量,并将所述视频流的亮度分量按照规定分辨率划分为多个宏块并将所述划分的多个宏块发送至第一宏块变换子单元;
第一宏块变换子单元,用于从所述第一宏块划分子单元接收所述划分的多个宏块,并对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数,进而将所述每个宏块的离散余弦变换系数发送至第一宏块选定子单元;
第一宏块选定子单元,用于从所述第一宏块变换子单元接收所述每个宏块的离散余弦变换系数,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并将所述每个纹理块的离散余弦函数系数发送至第一量化排序子单元;
第一量化排序子单元,用于从所述第一宏块选定子单元接收所述每个纹理块的离散余弦函数系数,对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,以获取量化系数Z行排序后每个纹理块的Z行排序系数矩阵。
在第三种可能的实现方式中,结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,所述第一宏块选定子单元包括:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
在第四种可能的实现方式中,结合第三方面或第三方面的第一种可能的实现方式或第三方面的第三种可能的实现方式,所述水印嵌入单元包括:
数值选取子单元,用于选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,并将所述每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值发送至数值交换子单元;
数值交换子单元,用于从所述数值选取子单元接收所述每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,并依次根据所述原始水印信息的嵌入码流序列中每一位的数值,确定是否将所述系数矩阵中次对角线位置上的数值进行互换,得到水印信息嵌入后的载密视频流。
第四方面,提供一种水印提取装置,所述装置包括:
视频分析单元,用于将载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵,将所述Z行排序系数矩阵发送至水印提取单元;
水印提取单元,用于从所述视频分析单元接收所述Z行排序系数矩阵,并根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取。
在第一种可能的实现方式中,结合第四方面,所述视频分析单元包括:
第二宏块划分子单元,对所述载密视频流进行解码以获取所述视频信号的亮度分量,并将所述载密视频流的亮度分量按照规定分辨率划分为多个宏块,将所述划分的多个宏块发送至第二宏块变换子单元;
第二宏块变换子单元,用于从所述第二宏块划分子单元接收所述划分的多个宏块,并对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数,将所述每个宏块的离散余弦变换系数发送至第二宏块选定子单元;
第二宏块选定子单元,用于从所述第二宏块变换子单元接收所述每个宏块的离散余弦变换系数,并根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,将所述选定的纹理块发送至第二量化排序子单元;
第二量化排序子单元,用于从所述第二宏块选定子单元接收所述选定的纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,并得到每个纹理块的Z行排序系数矩阵。
在第二种可能的实现方式中,结合第四方面或第四方面的第一种可能的实现方式,所述第二宏块选定子单元具体用于:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
在第三种可能的实现方式中,结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式,所述水印提取单元包括;
数值选取子单元,用于选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,将所述每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值发送至嵌入码流还原子单元;
嵌入码流还原子单元,用于从所述数值选取子单元接收所述每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,根据所述离散余弦变换系数矩阵中次对角线位置上的数值还原出已嵌入水印的嵌入码流序列,将所述还原出的已嵌入水印的嵌入码流序列发送至水印还原子单元;
水印还原子单元,用于从所述数值交换子单元接收所述还原出的已嵌入水印的嵌入码流序列,并将已嵌入水印的嵌入码流序列按照汉明码编码还原出原始水印信息。
本发明实施例提供一种视频数字水印的嵌入、提取方法和装置,在嵌入水印时,先获取原始水印信息的二进制序列,再将视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序得到纹理块的Z行排序系数矩阵,最后根据二进制序列和纹理块的Z行排序系数矩阵完成水印信息的嵌入;在提取时水印,先对载密视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行系数量化Z行排序得到纹理块的Z行排序系数矩阵,再根据纹理块的Z行排序系数矩阵得到原始水印的码流序列。本发明实施例用于在视频中的嵌入和提取数字水印,能够在保证水印的透明性基础上,在抵抗多次视频压缩后,仍然可以保证水印信息的正确读取,提高了水印算法的鲁棒性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种视频数字水印的嵌入方法,如图1所示,该方法包括:
S11、获取原始水印信息的二进制序列码流,并根据二进制序列码流获取原始水印信息的嵌入码流序列。
在一种实现方式下,可以先将原始水印信息进行二值化处理得到二进制序列码流,再对该二进制序列码流进行汉明码编码就能够得到原始水印信息的嵌入码流序列。
S12、将视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵。
具体的,宏块(Macro block)是视频编码技术中的一个基本概念,在视频编码中,一个编码图像通常划分成若干宏块组成,一个宏块由一个亮度像素和附加的两个色度像素块组成。一般来说,亮度块为16x16大小的像素块,而两个色度图像像素块的大小依据其图像的采样格式而定,例如:对于亮度和色差信号(Luma and Chroma,YUV)采样图像,色度块为8x8大小的像素块。每个图象中,若干宏块被排列成片的形式,视频编码算法以宏块为单位,逐个宏块进行编码,组织成连续的视频码流。因此,需要将视频流的亮度分量按照规定的分辨率划分为多个宏块。
S13、根据原始水印信息的嵌入码流序列和以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入。
本发明实施例提供一种视频数字水印的嵌入方法,通过获取原始水印信息的二进制序列,再将视频流划分宏块,并对每个宏块进行离散余弦变换处理,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序处理得到纹理块的Z行排序系数矩阵,最后根据原始水印信息的二进制序列和每个纹理块的Z行排序系数矩阵完成水印信息的嵌入,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例提供一种视频数字水印的提取方法,如图2所示,该方法包括:
S21、嵌入装置将水印信息嵌入后的载密视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵。
S22、嵌入装置根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取。
本发明实施例提供一种视频数字水印的提取方法,通过先对载密视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序得到纹理块的Z行排序系数矩阵,再根据纹理块的Z行排序系数矩阵得到原始水印的码流序列,能够使在保证水印的透明性基础上,在抵抗多次视频压缩后,仍然可以保证水印信息的正确读取,提高了水印算法的鲁棒性。
本发明的另一实施例提供了一种视频数字水印的嵌入方法,如图3所示,该方法包括:
S31、嵌入装置获取原始水印信息的二进制序列码流。
具体的,可以对原始水印信息进行二值化处理以获取原始水印信息的二进制码流序列。二值化处理,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
S32、嵌入装置根据二进制序列码流获取原始水印信息的嵌入码流序列。
具体的,可以对原始水印信息的二进制码流序列进行(7,4)汉明码编码以获取原始水印信息的嵌入码流序列。汉明码是一个错误校验码码集,是一种能检测所有一位和双位差错并纠正所有一位差错的二进制代码。
S33、嵌入装置将视频流的亮度分量按照规定分辨率划分为多个宏块。
示例性的,首先对视频流进行解码,以获取视频流每一帧图像的YUV分量,其中Y为亮度分量和UV为两个色差分量,由于亮度分量的纹理信息最为丰富,所以在亮度分量中嵌入水印可获得较为理想的鲁棒性。
故将每一帧图像的亮度分量按照规定分辨率划分为多个宏块,其中规定分辨率一般可以为8×8。
S34、嵌入装置对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数。
示例性的,对于每一帧图像,首先将该图像中所有的宏块进行离散余弦变换(Discrete Cosine Transform,DCT),以获取每个宏块的离散余弦变换系数。具体的,在图像编码中,离散余弦变换通常是先对每个8×8宏块的每行进行变换,然后每列进行变换,得到的是一个8×8的变换系数矩阵。该矩阵中(0,0)位置的元素就是直流分量,矩阵中的其他元素根据其位置表示不同频率的交流分量。
S35、嵌入装置根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块。
具体的,根据Weber定律,在不同的照度背景下,人眼所能分辨出来的照度差是不同的,假设在均匀背景照度I上有一照度为I+ΔI的光斑,则人眼能分辨出的照度差ΔI是I的函数,即在均匀照度背景下,物体的可检测性门限为:ΔI=αI,由该公式可知,背景越亮可见门限越高。而宏块在经过离散余弦变换后,其直流分量反映了图像概貌,可以认为是图像的平均灰度值,故将直流分量可以看成背景照度,将交流分量可以看成在当前背景照度下变化的照度差。其中,照度为从同一方向看,在给定方向上的任何表面的每单位投影面积上的光照强度。
故根据上述原理,可将每一帧图像的宏块分为纹理块和非纹理块,其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,在这里,α可以为0.02。
S36、嵌入装置对每个纹理块的离散余弦变换系数进行量化系数Z行排序(Zig-Zag)处理,以获取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵。
量化系数的Z行排序,是为了保证低频分量先出现,高频分量后出现,将经过离散余弦变换后得到的8×8系数矩阵中的第0~63个元素进行“Z”字型排序,示例性的,该排序的标准顺序定义如以下代码所示:
S37、嵌入装置根据原始水印信息的嵌入码流序列和量化系数Z行排序后的纹理块的离散余弦变换系数进行水印信息嵌入。
首先,嵌入装置选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值。示例性的,将量化系数Z行排序后的系数排布如下表所示:
在上图中,A1-A4、B1-B4表示量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值。
其次,嵌入装置根据原始水印信息的嵌入码流序列将系数矩阵中次对角线位置上的数值进行交换,得到水印信息嵌入后的载密视频流,具体的:
当原始水印信息的嵌入码流序列的第i位为0时,若
则不处理;若
则交换A
i和B
i的位置;
当原始水印信息的嵌入码流序列的第i位为1时,若
则交换A
i和B
i的位置;若
则不处理。
这样就完成了原始水印的嵌入,需要说明的是上述嵌入方法只是一种实现方式,水印信息的嵌入逻辑还可以和上述嵌入方法相反。
本发明实施例提供一种视频数字水印的嵌入方法,通过获取原始水印信息的二进制序列,再将视频流划分宏块,并对每个宏块进行离散余弦变换处理,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序处理得到纹理块的Z行排序系数矩阵,最后根据原始水印信息的二进制序列和每个纹理块的Z行排序系数矩阵完成水印信息的嵌入,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例提供一种视频数字水印的提取方法,如图4所示,该方法包括:
S41、提取装置将水印信息嵌入后的载密视频流的亮度分量按照规定分辨率划分为多个宏块。
示例性的,首先对载密视频流进行解码,以获取载密视频流每一帧图像的YUV分量,并将其中的亮度分量按照规定分辨率划分为多个宏块,其中规定分辨率一般可以为8×8。
S42、提取装置对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数(具体的变换方法与S34完全相同,可参照S34,不再赘述)。
S43、提取装置根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块(具体的选定纹理块的方法与S35类似,可参照S35,不再赘述)。
S44、提取装置对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,以获取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵(具体的排序方法与S36完全相同,可参照S36,不再赘述)。
S45、提取装置根据量化系数Z行排序后的纹理块的离散余弦变换系数进行水印信息提取。
具体的,首先,提取装置选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值;
示例性的,将量化系数Z行排序后的系数排布如下表所示:
在上图中,A1-A4、B1-B4表示量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值。
其次,提取装置根据离散余弦变换系数矩阵中次对角线位置上的数值还原出已嵌入水印的嵌入码流序列。
S46、提取装置将已嵌入水印的嵌入码流序列按照汉明码编码还原出原始水印信息。
本发明实施例提供一种视频数字水印的提取方法,通过先对载密视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序得到纹理块的Z行排序系数矩阵,再根据纹理块的Z行排序系数矩阵得到原始水印的码流序列,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例还提供一种水印嵌入装置01,如图5所示,该装置包括:
码流获取单元011,用于获取原始水印信息的二进制序列码流,并根据二进制序列码流获取原始水印信息的嵌入码流序列,并将原始水印信息的嵌入码流序列发送至水印嵌入单元013。
视频处理单元012,用于将视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵,并将所述Z行排序系数矩阵发送至水印嵌入单元013。
水印嵌入单元013,用于从码流获取单元011获取原始水印信息的嵌入码流序列,从视频处理单元012获取所述Z行排序系数矩阵,并根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入。
进一步的,如图6所示,码流获取单元011可以包括:
水印转码子单元0111,用于对原始水印信息进行二值化处理以获取原始水印信息的二进制码流序列,并将原始水印信息的二进制码流序列发送至水印编码子单元0112。
水印编码子单元0112,用于从水印转码子单元0111接收原始水印信息的二进制码流序列,并对原始水印信息的二进制码流序列进行汉明码编码以获取原始水印信息的嵌入码流序列。
视频处理单元012可以包括:
第一宏块划分子单元0121,用于对视频流进行解码以获取视频信号的亮度分量,并将视频流的亮度分量按照规定分辨率划分为多个宏块并将划分的多个宏块发送至第一宏块变换子单元0122;
第一宏块变换子单元0122,用于从第一宏块划分子单元0121接收划分的多个宏块,并对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数,进而将每个宏块的离散余弦变换系数发送至第一宏块选定子单元0123;
第一宏块选定子单元0123,用于从第一宏块变换子单元0122接收每个宏块的离散余弦变换系数,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并将每个纹理块的离散余弦函数系数发送至第一量化排序子单元0124;
第一量化排序子单元0124,用于从第一宏块选定子单元0123接收每个纹理块的离散余弦函数系数,对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,以获取量化系数Z行排序后每个纹理块的Z行排序系数矩阵。
再进一步的,第一宏块选定子单元0123可以具体用于:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
更进一步的,如图7所示,水印嵌入单元013可以包括:
数值选取子单元0131,用于选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,并将每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值发送至数值交换子单元0132;
数值交换子单元0132,用于从数值选取子单元0131接收每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,并依次根据所述原始水印信息的嵌入码流序列中每一位的数值,确定是否将所述系数矩阵中次对角线位置上的数值进行互换,得到水印信息嵌入后的载密视频流。
更进一步的,数值交换子单元0132可以具体用于:
当原始水印信息的嵌入码流序列的第i位为0时,若则不处理;若则交换Ai和Bi的位置;
当原始水印信息的嵌入码流序列的第i位为1时,若
则交换A
i和B
i的位置;若
则不处理。
本发明实施例提供一种水印嵌入装置,通过获取原始水印信息的二进制序列,再将视频流划分宏块,并对每个宏块进行离散余弦变换处理,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序处理得到纹理块的Z行排序系数矩阵,最后根据原始水印信息的二进制序列和每个纹理块的Z行排序系数矩阵完成水印信息的嵌入,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例提供一种水印提取装置02,如图8所示,该装置包括:
视频分析单元021,用于将载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵,将所述Z行排序系数矩阵发送至水印提取单元022。
水印提取单元022,用于从视频分析单元021接收Z行排序系数矩阵,并根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取。。
示例性的,如图9所示,视频分析单元021包括:
第二宏块划分子单元0211,对载密视频流进行解码以获取视频信号的亮度分量,并将载密视频流的亮度分量按照规定分辨率划分为多个宏块,将划分的多个宏块发送至第二宏块变换子单元0212。
第二宏块变换子单元0212,用于从第二宏块划分子单元0211接收划分的多个宏块,并对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数,将每个宏块的离散余弦变换系数发送至第二宏块选定子单元0213。
第二宏块选定子单元0213,用于从第二宏块变换子单元0212接收每个宏块的离散余弦变换系数,并根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,将选定的纹理块发送至第二量化排序子单元0214。
具体的,还用于:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。。
第二量化排序子单元0214,用于从第二宏块选定子单元0213接收选定的纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理并得到每个纹理块的Z行排序系数矩阵。
其中,如图10所示,水印提取单元022还包括:
数值选取子单元0221,用于选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,将每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值发送至数值交换子单元0222。
数值交换子单元0222,用于从数值选取子单元0221接收每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值,根据离散余弦变换系数矩阵中次对角线位置上的数值还原出已嵌入水印的嵌入码流序列,将还原出的已嵌入水印的嵌入码流序列发送至水印还原子单元0223。
水印还原子单元0223,用于从数值交换子单元0222接收还原出的已嵌入水印的嵌入码流序列,并将已嵌入水印的嵌入码流序列按照汉明码编码还原出原始水印信息。
本发明实施例提供一种水印提取装置,通过先对载密视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序得到纹理块的Z行排序系数矩阵,再根据纹理块的Z行排序系数矩阵得到原始水印的码流序列,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例还提供了一种水印嵌入装置1,包括存储器10、发射器11、接收器12、总线13,如图11所示,该装置还包括:
处理器14,用于获取原始水印信息的二进制序列码流,并根据二进制序列码流获取原始水印信息的嵌入码流序列。
处理器14还用于将视频流的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵。
处理器14还用于根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入。
进一步的,在将视频信号的亮度分量按照规定分辨率划分为多个宏块,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵,处理器14还可以具体用于:
对视频流进行解码以获取视频信号的亮度分量,并将视频流的亮度分量按照规定分辨率划分为多个宏块;
对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数;
根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块;
对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,以获取量化系数Z行排序后每个纹理块的Z行排序系数矩阵。
更进一步的,在根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块时,处理器14还可以具体用于:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
再进一步的,根据所述原始水印信息的嵌入码流序列,以及每个纹理块的Z行排序系数矩阵进行水印信息嵌入时,处理器14还可以具体用于:
选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值;
依次根据所述原始水印信息的嵌入码流序列中每一位的数值,确定是否将所述系数矩阵中次对角线位置上的数值进行互换,得到水印信息嵌入后的载密视频流;
再进一步的,根据原始水印信息的嵌入码流序列将系数矩阵中次对角线位置上的数值时,处理器14还可以具体用于:
当原始水印信息的嵌入码流序列的第i位为0时,若
则不处理;若
则交换A
i和B
i的位置;
当原始水印信息的嵌入码流序列的第i位为1时,若
则交换A
i和B
i的位置;若
则不处理。
接收器22用于将水印信息嵌入后的载密视频流发送至水印提取装置。
本发明实施例提供一种水印嵌入装置,通过获取原始水印信息的二进制序列,再将视频流划分宏块,并对每个宏块进行离散余弦变换处理,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序处理得到纹理块的Z行排序系数矩阵,最后根据原始水印信息的二进制序列和每个纹理块的Z行排序系数矩阵完成水印信息的嵌入,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
本发明实施例还提供了一种水印提取装置2,包括存储器20、发射器21、接收器22、总线23,如图10所示,该装置还包括:
处理器24,用于将水印信息嵌入后的载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵;
处理器24还用于根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取。
进一步的,将载密视频流的亮度分量按照规定分辨率划分为多个宏块,所述载密视频流中嵌入有水印信息;根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块,并对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理得到每个纹理块的Z行排序系数矩阵时,处理器24可以具体用于;
对载密视频流进行解码以获取视频信号的亮度分量,并将载密视频流的亮度分量按照规定分辨率划分为多个宏块;
对每个宏块进行离散余弦变换,获取每个宏块的离散余弦变换系数;
根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块;
对每个纹理块的离散余弦变换系数进行量化系数Z行排序处理,并得到每个纹理块的Z行排序系数矩阵。
更进一步的,根据每个宏块的离散余弦变换系数在所有宏块中选定纹理块时,处理器24还可以具体用于:
根据每个宏块的离散余弦变换系数的直流分量和交流分量选定在所有宏块中选定纹理块;
其中,若宏块的离散余弦变换系数的直流分量和交流分量满足:(∑|AC|)2<α×DC2,则确定该宏块为非纹理块;若(∑|AC|)2≥α×DC2,则确定该宏块为纹理块,其中AC表示离散余弦变换系数交流分量,DC表示直流分量,α为判别系数。
再进一步的,根据每个纹理块的Z行排序系数矩阵中的数值进行水印信息提取时,处理器24还可以具体用于:
选取量化系数Z行排序后每个纹理块的离散余弦变换系数矩阵中次对角线位置上的数值;
根据离散余弦变换系数矩阵中次对角线位置上的数值还原出已嵌入水印的嵌入码流序列;
将已嵌入水印的嵌入码流序列按照汉明码编码还原出原始水印信息。
本发明实施例提供一种水印提取装置,通过先对载密视频流划分宏块,并对每个宏块进行离散余弦变换,而后根据离散余弦变换系数筛选出纹理块并对纹理块进行量化系数Z行排序得到纹理块的Z行排序系数矩阵,再根据纹理块的Z行排序系数矩阵得到原始水印的码流序列,能够在保证水印的透明性基础上,提高水印算法的鲁棒性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。