通过扩频和DCT变换算法将图像水印嵌入到音频信号中并提取水印matlab仿真

简介: 通过扩频和DCT变换算法将图像水印嵌入到音频信号中并提取水印matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:

8207402338136a87fd71652d0136bef7_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
8f5712e9fa3e0924340d95fc5227f230_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   数字多媒体技术及互联网技术的迅猛发展,使得图像、视频和音频等多种形式的多媒体数字作品的创作、存储和传输变得极其便利。以mp3为代表的音乐作品通过网络渗透到世界的每一个角落。人们可以很方便地通过网络下载自己喜欢的音乐,这不仅促进了信息的共享,同时也使得人们获得资源的成本大大减少。但随之带来的问题是:盗版者可以利用网络途径获得这些非授权资源,制作成大量的CD光盘等进行非法销售,并获得巨大的商业利益,使得作品的制作者或发行者蒙受巨大的损失。在水印技术提出之前,传统的加密技术是版权保护的主要手段,但是,由于数字产品发行量非常大,且易于复制,并且考虑到音乐制片公司需要在网络上宣传产品,这就给非法盗版者以可乘之机。因此,如何实施网络环境下的版权保护和信息安全已经成为一个亟待解决的问题。在这样的背景下,能够有效实现版权保护的数字音频水印产生了。

   数字水印技术利用多媒体信息(图像、视频、音频等)中存在的冗余信息及人类感知系统的特性,在不影响原始多媒体信息格式和质量的前提下把额外的信息(即水印)隐藏到多媒体信息中。数字水印是一个多学科高度交叉的新兴研究领域,它涉及了图像、视频、音频的信号处理和密码学、通信理论、编码理论信号压缩和人类听视觉理论等多门学科。数字音频水印技术是信息隐藏技术的一个分支,信息隐藏技术是一个新的研究方向。该技术的出现,无疑会给网络化的多媒体信息安全保存和传送开辟一条全新的捷径。近年来音频信息隐藏技术的研究工作的发展速度很快,尤其是在变换域音频信息的数据嵌入技术,能够更好的保护水印信息的稳健性和安全性,使得研究更加的具有现实性,所以数字音频水印技术一个发展前景很好的学科。

2.1音频水印

   目前数字音频水印算法研究主要分为三类,时间域水印算法、变换域水印算法、基于听觉特性的水印算法。时间域水印算法通常采用扩展频谱的方法,即把代表水印信息的伪随机序列,通过具备心理声学模型频域掩蔽效应的滤波器进行滤波,使这种全频带的噪声完全位于听觉掩蔽曲线以下,人耳完全不能觉察。回到时域以一定的强度叠加到音频信号的振幅上,水印提取的时候根据伪随机序列的自相关性值为1和互相关性为0的特点来验证水印信号的存在.变换域的水印算法通过快速傅立叶变换,离散余弦变换离散小波变换,在频域的适当位置通过抖动调制或直接叠加的方法,改变变换域系数来嵌入水印。主要利用音频信号在时域的后向掩蔽,即用弱信号在强信号消失50-200ms之后变得无法听见。将原始音频数据以一定的衰减程度并延迟一定的时间迭加到原始音频数据以产生回声,并以不同的延迟时间和衰减振幅来标志水印数据的“0”或“1”,水印数据提取时,根据回声间距检测,利用倒谱的自相关峰值的位置来判断“0”或“1“。

   算法流程图如图2所示。

c9ce73cee230502ea1f2950c9547da4c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.2水印的嵌入
设A是原始音频信号,根据音频文件类型将它分为两部分

   A = AH +AL                                (1)

其中:AH 是与文件类型相关的部分,所以保留下来不做处理;AL是可以嵌入水印的部分,长度是L ,它可以表示为

   A ={a(l),0 l<L}                             (2)

其中a(l) 是AL第I个数据的幅值。

  假设水印是视觉可辨别的、大小为M1×M2的二值图像,它可以表示为

   W ={w(I,j), 0I<M1, 0j<M2}                       (3)

其中w(I,j) {0,1}。具体水印嵌入算法步骤如下。

水印的降维操作:因为音频信号是一维信号,所以图像水印必须进行降维处理,降维后的水印信号表示为

V={v(k)=w(I,j) , k=I×M1+j,kM1×M2}                (4)

水印信号的置乱:为了进一步提高安全性,对待嵌入的水印信号进行置乱,在这里,用线形反馈移位寄存器进行置乱。

原始音频信号的一维离散小波变换:选择合适的小波基进行一维小波三级分解。

DL=DWT(AL)= cA3 cD3cD2cD1                 (5)

离散小波逆变换:以C*’代替5式的cA3作离散小波变换,得到嵌入水印后的小波变换域的表示式为

D’L=C*’ cD3 cD2 cD1

再作离散小波反变换,就得到了时域中含有水印信号的音频信号

A’L=IDWT(D’L) (6)

将A’L代替AL最终得到含有水印的音频信号

Aw=AH + A’L (7)

2.3水印的提取
设AS 是待检测的数字音频信号,水印的提取过程可描述如下。

信号分段:先对待检测的音频信号进行分段,即 As=AsH +AsL, 然后对含有水印的音频段进行三级离散小波分解,即

DsL=DWT(AsL)= cAs3 cDs3 cDs2 cDs1 (12)

散余弦变换:将1)的近似分量cAs3 提取出来,对其进行离散余弦变换,长度为Ls’,

CLs’ =DCT(cAs3)={cls’(n),0nLs’-1} (13)

水印的提取:通过排序选择长度满足水印长度的离散余弦系数Csk,进行水印提取,根据水印嵌入的位置和原始音频信号的离散余弦系数Ck ,依据下式得到序列

dabc95fc84f9c002be1874ad80c4dc8d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

                   (14)

逆置乱:将得到的序列{v’( k)}进行逆置乱,得到水印信号的一维序列{v(k)}。

升维处理:对水印序列{v(k)} 作升维处理,将一维的序列变为二维的图像

Ws={ws(I,j)=vk, 0≤i≤M1-1, 0≤ j≤M2-1, k=I×M1+j} (15)

3.MATLAB核心程序

M = imread('china.bmp');%读取图像存入变量M做水印信号
BW = im2bw(M);%二值图
 
[M1,M2] = size(BW);
M12 = M1*M2; 
C = reshape(BW,1,M12);% 降维,将水印信息得到的一维序列存入序列C中
n = M12;
 
% 对水印信号进行扩频处理
n = M12*2;
M = zeros(n,1);
for k = 1 : n
    if mod(k,4) == 0
        M(k) = 1;
    else 
        M(k) = 0;
    end
    % 水印信号序列分别按位与密钥异或
    l = ceil(k/2);
    S(k) = bitxor(C(l),M(k));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N = 10; %嵌入一个水印信息需要的音频数据为N
length = n*10;
i = 1 : length;% 将原始音频信号分解为Ae和Ar两部分 
j = [1];
Ae = A(i,j);% 取矩阵A的l到length行构建矩阵Ae
i = length+1 : L;
Ar = A(i,j);% 取矩阵A的length到L行第一列构建矩阵Ar
 
k = 1;
B = cell(n,1);% 建立M1 x M2行l列的元胞
th = n*N;
while ( k < th )
    i = k : k+9;
    m = (k+9)/10;
    B{m,1} = Ae(i,j);
    k = k+10;
end
D = cell(n,1);
for i = 1 : n
    D{i,1} = dct(B{i,1});%DCT变化
end
 
E = cell(n,1);% 建立元胞E,储存嵌有水印信号的中频系数
E = D;
for i = 1 : n
    E{i,1}(3) = (D{i,1}(3))*(1+2*S(i)); % 将扩频了的水印信息S嵌入音频中
end
相关文章
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
11月前
|
机器学习/深度学习 算法 语音技术
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
308 4
|
算法 芯片 Python
使用变动和观察(Perturb and Observe)最大功率点跟踪(MPPT)算法控制升压变换器的MOSFET/IGBT(开关),以从光伏阵列中提取最大功率(Simulink仿真实现)
使用变动和观察(Perturb and Observe)最大功率点跟踪(MPPT)算法控制升压变换器的MOSFET/IGBT(开关),以从光伏阵列中提取最大功率(Simulink仿真实现)
437 1
|
算法 数据安全/隐私保护 计算机视觉
基于sift变换的农田杂草匹配定位算法matlab仿真
本项目基于SIFT算法实现农田杂草精准识别与定位,运行环境为Matlab2022a。完整程序无水印,提供详细中文注释及操作视频。核心步骤包括尺度空间极值检测、关键点定位、方向分配和特征描述符生成。该算法通过特征匹配实现杂草定位,适用于现代农业中的自动化防控。
|
编解码 算法 数据安全/隐私保护
一维信号的小波变换与重构算法matlab仿真
本程序使用MATLAB2022A实现一维信号的小波变换与重构,对正弦测试信号进行小波分解和重构,并计算重构信号与原信号的误差。核心步骤包括:绘制分解系数图像、上抽取与滤波重构、对比原始与重构信号及误差分析。小波变换通过多分辨率分析捕捉信号的局部特征,适用于非平稳信号处理,在信号去噪、压缩等领域有广泛应用。
|
算法 数据安全/隐私保护 C++
基于二维CS-SCHT变换和扩频方法的彩色图像水印嵌入和提取算法matlab仿真
该内容是关于一个图像水印算法的描述。在MATLAB2022a中运行,算法包括水印的嵌入和提取。首先,RGB图像转换为YUV格式,然后水印通过特定规则嵌入到Y分量中,并经过Arnold置乱增强安全性。水印提取时,经过逆过程恢复,使用了二维CS-SCHT变换和噪声对比度(NC)计算来评估水印的鲁棒性。代码中展示了从RGB到YUV的转换、水印嵌入、JPEG压缩攻击模拟以及水印提取的步骤。
|
机器学习/深度学习 算法
基于BP神经网络和小波变换特征提取的烟草香型分类算法matlab仿真,分为浓香型,清香型和中间香型
```markdown 探索烟草香型分类:使用Matlab2022a中的BP神经网络结合小波变换。小波分析揭示香气成分的局部特征,降低维度,PCA等用于特征选择。BP网络随后处理这些特征,以区分浓香、清香和中间香型。 ```
|
算法
基于小波变换的图像自适应增强算法
基于小波变换的图像自适应增强算法
291 0
|
算法 计算机视觉
图像处理之基于采样距离变换算法
图像处理之基于采样距离变换算法
271 0
|
机器学习/深度学习 算法 数据安全/隐私保护
基于DCT变换和位平面分解的数字水印嵌入提取算法matlab仿真
这是一个关于数字水印算法的摘要:使用MATLAB2022a实现,结合DCT和位平面分解技术。算法先通过DCT变换将图像转至频域,随后利用位平面分解嵌入水印,确保在图像处理后仍能提取。核心程序包括水印嵌入和提取,以及性能分析部分,通过PSNR和NC指标评估水印在不同噪声条件下的鲁棒性。

热门文章

最新文章