APP下载

一种基于二维码的鲁棒性音频水印

2022-07-06刘思玮杜庆治邵玉斌

小型微型计算机系统 2022年7期
关键词:鲁棒性信噪比预处理

刘思玮,杜庆治,龙 华,邵玉斌,彭 艺

(昆明理工大学 信息工程与自动化学院,昆明 650500)

1 引 言

数字音频水印就是在音频中添加某些数字信息,用来保护音频的版权,或者用来鉴别音频的完整性,从而来证明产品的真实可靠性.

在过去的研究中,为了提高嵌入水印的鲁棒性,一般在水印的嵌入算法和水印信息的预处理这两面进行改进.水印的嵌入算法通常在频域进行[1-4].而水印信息的预处理,共有两种不同的处理方法.一种是将原始信息直接转化为二进制进行水印的嵌入[5].其缺点是造成鲁棒性不足,抗干扰能力弱.另一种是将原始信息先转化成中间量,如图片、音频以及差错控制编码等,然后再将中间量转化为二进制进行水印的嵌入[2,4,6,7].这样增加了待嵌入信息的冗余度,通过减少音频的不可感知性来提升鲁棒性以及抗干扰能力.以常见的图片作为中间两为例,在进行水印的嵌入和提取时,不易实现自动化检测,增加了复杂性.

将原始信息转化为二维码(QR码)作为待嵌入的水印,不仅利用了QR码自身的纠错能力,还可以通过自动化来进行QR码的读取以及识别.极大提高了效率.通过在知网上进行检索,发现近些年在采用QR码作为待嵌入水印,目前国内外主要在纯图像领域应用较多[8-11],但在音频方面应用较少.

本文在传统的数字音频水印算法上进行了改进,利用QR码自身纠错能力以及离散小波变换的多分辨特性和离散余弦变换的能量压缩能力,提出了一种新的盲水印嵌入算法.在水印信息预处理方面把原始信息转化成QR码作为作为待嵌入的水印信息.对待嵌入的水印图像进行分块,通过改进的Arnold变换以及密匙来增加水印的安全性与可靠性.在水印嵌入方面首先将原始音频信号进行分帧预处理,其次对得到的一维信号先进行DWT再进行DCT后,将得到的一维信号进行奇异值分解,最后通过对奇异值的量化,并利用重复码的特点,将水印信息进行嵌入.通过本文的算法,对嵌入水印的音频做常见的仿真攻击,并对水印进行提取,仿真结果证明本文的方法在提高了水印的抗噪能力具有有效性.

2 理论基础

2.1 QR码

QR码(Quick Response Code)最初是由日本的一家公司在1994年推出的一种矩阵二维码编码方式.因其具有的独特优势,使其成为目前世界上使用最为广泛的二维码编码方式.QR码不仅具有二维码的共同优点,即可存储内容多、花费少、掉码率低等优点,而且具有全方位快速识别的优势,QR码的编码对象不仅可以对现在广泛使用的各种文字进行编码,还可以对图形图像等几乎所有的数字媒体进行编码[12].

根据ISO(国际标准化组织)标准的规定,QR码由功能区和编码区组成,前者主要包含位置分隔符、探测图形、校正图形和定位图形,后者包含格式信息、版本信息、数据和纠错码等.详情如图1所示.

图1 QR码结构图Fig.1 QR code structure diagram

2.2 Arnold变换

Arnold变换是V.J.Aronld在遍历理论研究中提出的一种变换,其具有周期性的特点,并且能消除水印图像像素点之间的相关性[13].但是Arnold变换的局限性便是要求图像的长宽相等.为了满足图像的长宽不相等,方便后续使,所以将Arnold变换进行修改.

(1)

(2)

(3)

(4)

2.3 DWT的特性

小波变换是近些年发展起来的一种具有广泛应用价值的数学工具,小波变换可以对信号进行不同区域,不同分辨率的分析.

一维离散小波变换可以把信号分成高频子带和低频子带,低频子带进一步分解成高频和低频两个部分,这便是小波分解的过程,而且通过这些系数可以精确地重构原始信号,即离散小波逆变换,信号经过离散小波变换,能量主要集中在低频子带,高频自带所占据的能量较少.图2和图3分别是离散小波分解过程与离散小波重构过程.

图2 离散小波分解过程Fig.2 Discrete wavelet decomposition process

图3 离散小波重构过程Fig.3 Discrete wavelet reconstruction process

2.4 DCT的特性

在1974年,Ahmed和Rao首先给出了离散余弦变换(DCT)的定义.离散余弦变换是数字信号处理技术当中最常用的线性变化之一,DCT和离散傅里叶变换(DFT)一样,也存在着快速算法,由于具有较强的能量压缩能力和去相关的能力,因此它在数字音频信号压缩和图像压缩等领域得到了广泛的应用.在数字音频水印算法中,由于离散余弦变换是实变换,便于水印的直接嵌入,也得到了普遍的应用[14].

一维离散余弦变换和反变换的定义如下:

(5)

(6)

3 音频水印算法

3.1 水印图像预处理

数字水印系统的安全性与水印信息密切相关,为了保障水印系统的安全性,通常在水印信息嵌入到载体前,对其进行加密置乱预处理,处理后的水印图像可以消除像素点之间的关联性,具有较高的随机性,并能抵抗一定程度的破译攻击.

因为其QR码的特殊性,根据QR码本身的性质,将原始QR码按照如图4所示进行分割.其中区域1、5、6为QR码的位置探测区域,只是由两条黑白相间的直线组成,便于确定QR码的角度,纠正扭曲.对信息传输、纠错并无作用,所以并不需要传输.2、3、4部分为QR码存储信息的区域,并带有纠错功能.所以,本文以此为基础,将2、3、4作为水印数据进行嵌入.具体处理过程如下:

假设原始水印的大小为M×M,按照如图所示划分为6个区域.其中1、5、6区域的大小为n×n,那么2区域的大小为(M-2×n)×n,3区域的大小为M×(M-2×n),4区域的大小为(M-n)×n.

图4 QR码分割Fig.4 QR code segmentation

按照不同的变换规则对3块区域进行预处理,将经过Arnold变换得到的二值图像通过降维与密匙进行异或,得到新的二值图像,将新的二值图像进行加密得到待嵌入水印.具体加密过程为:

1)选取前4位数值转化为10进制,得到数值H,如果Hmod 2=0,则将二值图像向左循环,否则向右循环.

2)选取后4位数值转化为10进制来决定循环位数.

图像预处理如图5所示.

图5 水印预处理过程Fig.5 Watermark preprocessing process

3.2 嵌入算法

嵌入过程如图6所示.具体步骤如下.

图6 水印嵌入过程Fig.6 Watermark embedding process

Step1.将2、3、4这3个区域降维至一维向量,并计算3个区域的大小,然后得到对应区域的占比.假设2、3、4区域的占比为a∶b∶c.

Step2.对原始音频进行分帧(每帧为10ms左右.长度为N),确保分帧的帧数大于或者等于3×(M×M-3×n×n).

Step3.对待嵌入水印的音频帧先进行3级DWT.将得到的ca3再进行DCT.得到A.

Step4.将得到A按照a∶b∶c∶a∶b∶c∶a∶b∶c的比例分成9段.利用重复码的原理,将区域2嵌入到Aa1、Aa2、Aa3,将区域3嵌入到Ab1、Ab2、Ab3,将区域4嵌入到Ac1、Ac2、Ac3.

Step5.对Aij进行SVD分解,得到S,D矩阵以及奇异矩阵V.其中i=a,b,c、j=1,2,3

Step6.因为Aij为一维向量,得到的奇异矩阵V只有第1个元素有值,其余全为0,所以将第1个元素记为V1,并按照如下进行量化:

(7)

其中q为量化步长,⎣·」为向下取整.

Step7.如果对量化后的奇异矩阵进行模二运算等于待嵌入水印值,则不进行任何修改,即:

mod(Q,2)=W(k)

(8)

如果对量化后的奇异矩阵进行模二运算不等于待嵌入水印值,按照如下规则进行嵌入:

(9)

Step8.将得到的新的V与之前的S,D进行奇异值分解逆运算.

Aij=SVDT

(10)

Step9.将Aij进行重组,并进行DCT与DWT的逆运算.

Step10.重复以上步骤,直到所有的水印信息全部嵌入完成.

3.3 提取算法

水印提取的流程图如图7所示,具体实施步骤如下.

图7 水印提取过程Fig.7 Watermark extraction process

Step1.对已嵌入水印音频进行分帧(每帧为10ms左右.长度为N),确保分帧的帧数大于或者等于3×(M×M-3×n×n).

Step2.对待嵌入水印的音频帧先进行3级DWT.将得到的ca3再进行DCT.得到B.

Step3.将得到B按照a∶b∶c∶a∶b∶c∶a∶b∶c的比例分成9段.得到Bij,其中i=a,b,c、j=1,2,3.

Step4.因为Bij为一维向量,得到的奇异矩阵U只有第1个元素有值,其余全为0,所以讲第1个元素记为U1,并按照如下进行量化:

(11)

其中q为量化步长,⎣·」为向下取整.

Step5.按照如下规则进行提取:

Mij(k)=mod(P,2)

(12)

Step6.将得到的Mij(k)通过重复码的原理进行选取,得到Mij(k).

(13)

Step7.将得到的Mi(k)进行重组,然后进行各个区域相应的图片预处理的逆运算,与区域1、区域5、区域6进行结合,最终得到QR码图像.

4 实验分析

为了验证本算法的有效性,本文使用MATLAB 2017作为实验仿真平台,将文本信息′Yunnan′和′Shanxi′生成容错等级为“H”的QR码作为水印图片,提升小波方案采用“haar”小波基函数,嵌入强度q为0.6.原始音频使用5种不同种类的音乐类型,每种音乐种类有100首音乐,共500首音乐.且每首音乐为16位单声道,采样频率为44.100kHz,长度约为30s.

4.1 实验参数选取

在满足水印鲁棒性的同时,还必须满足水印的不可感知性.所以要选取QR码的容错等级和嵌入强度q大小.

4.1.1 QR码容错等级

QR码本身具有纠错功能,即使QR码破损,也可以进行数据读取.容错能力等级分为:“L”、“M”、“Q”、“H”4级,对应不同的容错率.QR码的纠错能力越高,随之数据量也会增加,编码尺寸也会增加.详细如表1所示.

表1 各参数含义Table 1 Meaning of each parameter

为了选定合适的容错等级的QR码作为待嵌入的水印.将相同信息制作成不同等级的QR码,在鲁棒性相近的情况下,不同容错率与信噪比的关系如图8所示.

图8 不同容错率与信噪比的关系Fig.8 Relationship between different fault tolerance rates and signal-to-noise ratio

通过上述实验,经过综合考虑,本文选取容错等级为“H”,即容错率为30%的QR码作为原始水印图像.

4.1.2 水印嵌入强度

水印的不可感知性经常使用信噪比(signal noise ratio SNR)来作为评价标准.国际留声机工业联盟要求嵌入水印后的音频可以提供20dB或更高的信噪比[15].信噪比的定义如下:

(14)

其中:x(i)表示原始音频信号,xw(i)表示嵌入了水印之后的音频信号.

随着嵌入强度的改变,其信噪比也会随之发生改变.嵌入强度的关系如图9所示.

图9 信噪比随嵌入强度的变化Fig.9 SNR changes with embedding intensity

通过上述实验对比,为满足嵌入水印后信噪比大于20dB,所以选取嵌入强度q为0.6.

4.2 不可感知性分析

水印的不可感知性也称之为保真性或透明性,是指经过一系列隐藏处理,使目标数据没有产生明显的将质,而隐藏的数据无法人为的感知到,即原始载体和加入水印后的载体之间的感知性相近,对于水印的不可感知性评价标准一般有主观评价和客观评价.

4.2.1 主观评价

在使用本文算法对原始音频加入水印,与原始音频波形在时域上进行对比,发现无明显差异.以hip-hop为例,结果如图10所示.其中横坐标表示时间,单位为秒.纵坐标表示信号归一化到[-1,1]的幅值.

图10 hip-hop音乐类型Fig.10 Hip-hop music types

4.2.2 客观评价

根据本文的算法,得到的5种不同种类的音乐嵌入水印后的SNR值,实验结果如图11所示.5种不同音乐的SNR都在20dB以上.其中横坐标代表的是音乐类型,纵坐标代表的是信噪比.

4.3 鲁棒性分析

鲁棒性是指含水印音频在经过常规信号处理之后仍然可以将水印检测出来.鲁棒性用来衡量水印算法的抗攻击能力,用于判断水印破坏者在不影响或者很少影响音频质量的前提下去掉水印的能力.

在本文中采用误码率(bit error rate BER)和检出率(detectable rate DR)来衡量水印的抗攻击能力.

图11 不同音乐类型的信噪比Fig.11 SNR of different music types

4.3.1 误码率

误码率反映的是提取出来的水印与原水印的差别性,设嵌入的提取的水印序列长度为N,则BER按照如下公式计算:

(15)

式中,W(i)为原始水印信息,M(i)为提取出来的水印信息.

BER值越接近1,则水印系统的鲁棒性越差;BER值越接近0,则水印系统的鲁棒性越好.

4.3.2 检出率

检出率为提取出来的水印能被扫描且正确识别的概率.设提取的水印个数为L,可以被正确识别时令st=1,否则令st=0,则DR按照如下公式计算:

(16)

对嵌入水印的音频信号进行常见的音频处理,以下是常见的仿真音频处理的操作:

叠加噪声:在含水印音频上叠加30dB的高斯白噪声.

低通滤波:利用巴特沃斯滤波器对含水印音频信号进行低通滤波.

重采样:把含水印音频的原44.100kHz采样频率降为22.050kHz,再恢复44.100kHz采样频率.

重量化:把含水印音频的原16位分辨率降为8位后,再恢复为16位分辨率.

压缩:将含水印音频信号压缩为原始音频水印的0.7倍.

剪切:截取含水印音频信号的后1/4部分,并利用原始音频信号相应位置的信号代替.

通过以上7种常见的攻击方式来攻击待已嵌入水印的音频,用来检验本文算法对水印提取的鲁棒性,其中表2是待测音频在各种常见攻击后,水印的提取效果.

表2 鲁棒性测试Table 2 Robustness test

图12为5种音乐类型且嵌入强度相同的情况下,使用本文算法,检出率与对含水印音频上叠加不同强度的高斯白噪声的变化.其中信噪比指的是含水印音频信号与噪声的比率.

图12 检出率随信噪比的变化Fig.12 Change of detection rate with signal-to-noise ratio

为进一步验证所提算法的鲁棒性以及普遍适用性,为了保证对比的公平性和一致性,我们对将水印信息直接嵌入的文献[5]以及将水印信息通过汉明码进行处理的文献[7]的进行相同的数据比较,选取相同的音乐作为原始音频,嵌入相同的水印,在经过相同的攻击来进行鲁棒性检测,将5种音乐类型经过以上7种常见的攻击方式来攻击待已嵌入水印的音频,用来检验本文算法对水印提取的鲁棒性.分别对每种音乐类型进行仿真实验,得到100个BER值和DR值,计算其平均值.详细数据如下:

含水印音频在不同的攻击操作下得到的BER值和DR值.从表3中可以看出,相较于直接将原始水印信息嵌入,而将原始信息转化成中间量再进行水印嵌入的鲁棒性较好.在整个测试音频信号的周期内,计算得出的BER值很小,都在0.0059以下,大部分情况下的BER值都接近于0,而DR值都在97%以上,大部分情况都接近于100%.

表3 不同音乐类型提取相同水印的BER值和DR值Table 3 BER and DR values of the same watermark extracted from different music types

5 结束语

本文在传统的水印图像上进行了改进,采用QR码作为待嵌入的水印图像,提出了一种新盲水印嵌入算法.将原始音频信号进行分帧预处理后得到的一维信号先进行DWT再进行DCT,将得到的信号进行奇异值分解,通过对奇异值的量化,并利用重复码的特点,将水印信息进行嵌入.此外,将待嵌入的水印图像进行分块,在Arnold变换的基础上,通过密匙来增加水印的安全性与可靠性.通过本文的算法,对嵌入水印的音频做常见的仿真攻击,并对水印进行提取,仿真结果证明本文的方法在提高了水印的抗噪能力具有有效性.

猜你喜欢

鲁棒性信噪比预处理
干/湿法烘焙预处理对稻壳燃烧反应特性的影响
手术器械预处理在手术室的应用
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
污泥预处理-厌氧消化体系的能源经济性评价
武汉轨道交通重点车站识别及网络鲁棒性研究
污泥预处理及其在硅酸盐制品中的运用
一种基于三维小波变换的鲁棒视频水印方案
电子节气门非线性控制策略
基于鲁棒性改进理论的大面积航班延误治理分析
小波包去噪在暂态电能质量信号去噪中的应用