基于嵌入区域选择的音频水印方法及系统与流程

文档序号:11136032阅读:464来源:国知局
基于嵌入区域选择的音频水印方法及系统与制造工艺

本发明涉及数字音频水印技术领域,尤其涉及基于嵌入区域选择的音频水印方法及系统。



背景技术:

数字音频水印是向音频信号中添加某些数字信息以达到文件真伪鉴别、版权保护、信息隐藏等目的的信号处理操作。音频水印嵌入区域的选择技术是指在水印嵌入到音频信号之前,选择合适音频区域嵌入水印。传统音频水印技术,没有考虑到音频信号的特征,对整个音频文件都进行水印的嵌入,这样会导致1)音频信号幅度低的区域嵌入水印后,幅值超出了掩蔽阈值产生噪音,破坏了感知透明性;2)对于音频信号中出现变化剧烈的瞬态信号,该区域的音频信号的方差很大,嵌入水印后导致检测水印时的水印误码率很高;3)在频域嵌入水印,如果选择人耳感知不显著的区域嵌入水印,在经过信号处理或音频有损压缩后,水印将会丢失一部分,导致水印检测误码率高。



技术实现要素:

本发明的目的是提供选择区域嵌入的音频水印技术,使水印能够嵌入到合适的音频区域中去,避免出现不必要的噪声以及减少误码的发生。

为达到上述目的,本发明提供的技术方案提供一种基于嵌入区域选择的音频水印方法,包括嵌入过程和检测过程,

所述嵌入过程包括以下步骤,

步骤A1,读取音频文件,得到采样率fs1和分帧后第n帧时域音频的信号xn,帧长为N,

先对每帧信号xn进行是否能够作为嵌入区域的判断,

然后针对能够作为嵌入区域的各帧信号xn,进行音频水印的嵌入频率段的选择,进行音频水印的嵌入频率段的选择,设根据人耳感知敏感的频率部分预设的嵌入的开始频率为FWMIN、结束频率为FWMAX,一帧的开始嵌入点freqmin1和嵌入结束点freqmax1求取如下,

freqmin1=floor((FWMIN×2.0/fs1)×N)

freqmax1=floor((FWMAX×2.0/fs1)×N)

其中,floor为向下取整函数;

步骤A2,对能够嵌入水印的各帧信号xn,进行离散傅立叶变换得到频域信号Xn

步骤A3,利用密钥key作为随机数种子,生成长度为freqmax1-freqmin1+1的二进制伪随机的扩频序列u;

步骤A4,根据扩频序列u、频域信号Xn和水印比特b,进行水印的嵌入,得到嵌入水印后的频域信号,计算如下,

|X′n|=|Xn|+bαu

其中,α为常数,控制水印的嵌入强度,|Xn|和|X′n|分别表示嵌入水印前的频域幅值和嵌入水印后的频域幅度,然后通过欧拉公式得到嵌入水印后的频域信号

其中,∠Xn表示频域信号的相位,X′n表示嵌入水印后的频域信号,e为数学自然指数;

步骤A5,将嵌入水印后的频域信号X′n变换到时域,生成嵌入水印的音频文件;

所述检测过程包括以下步骤,

步骤B1,读取待检测的音频文件,得到的时域分帧后的第n帧信号zn和采样率fs2,

先对每帧信号xn进行是否能够作为嵌入区域的判断;

针对能够作为嵌入区域的各帧信号xn,作为待检测的信号,计算检测范围的起始点freqmin2和频域结束点freqmax2

freqmin2=floor((FWMIN×2.0/fs2)×N)

freqmax2=floor((FWMAX×2.0/fs2)×N)

步骤B2,进行离散傅立叶变换得到待检测信号的频域信号Zn,相应频域幅度值记为|Zn|;

步骤B3,利用密钥key作为随机数种子,生成长度为freqmax2-freqmin2+1的二进制伪随机的扩频序列u;

步骤B4,根据扩频序列u和待检测信号的频域幅度值|Zn|,计算出检测的充分统计量rn如下,

如果充分统计量rn≥0,那么检测到的水印比特为b=1;否则,检测到的水印比特为b=0。

而且,步骤A1和步骤B1中,对每帧信号xn进行是否能够作为嵌入区域的判断,实现方式如下,

1)信号xn的平均能量的大小超出预设的相应阈值τ1,是则为静音区,不允许嵌入水印;

2)如果信号xn内包含瞬态信号,则不允许嵌入水印。

而且,信号xn内是否包含瞬态信号,通过以下方式判断,

设将一帧信号分解为S个块,分别计算出S个块的能量,比较最大能量的块与最小能量块的能量比rate和预设的相应阈值τ2,如果rate大于τ2则认为该帧信号包含瞬态信号。

本发明还相应提供一种基于嵌入区域选择的音频水印系统,包括音频水印嵌入子系统和水印检测子系统,

所述音频水印嵌入子系统包括以下模块,

选择合适区域嵌入模块,用于读取音频文件,得到采样率fs1和分帧后第n帧时域音频的信号xn,帧长为N,

先对每帧信号xn进行是否能够作为嵌入区域的判断,

然后针对能够作为嵌入区域的各帧信号xn,进行音频水印的嵌入频率段的选择,进行音频水印的嵌入频率段的选择,设根据人耳感知敏感的频率部分预设的嵌入的开始频率为FWMIN、结束频率为FWMAX,一帧的开始嵌入点freqmin1和嵌入结束点freqmax1求取如下,

freqmin1=floor((FWMIN×2.0/fs1)×N)

freqmax1=floor((FWMAX×2.0/fs1)×N)

其中,floor为向下取整函数;

第一时频转换模块,用于对能够嵌入水印的各帧信号xn,进行离散傅立叶变换得到频域信号Xn

第一扩频序列生成模块,用于利用密钥key作为随机数种子,生成长度为freqmax1-freqmin1+1的二进制伪随机的扩频序列u;

水印嵌入模块,用于根据扩频序列u、频域信号Xn和水印比特b,进行水印的嵌入,得 到嵌入水印后的频域信号,计算如下,

|X′n|=|Xn|+bαu

其中,α为常数,控制水印的嵌入强度,|Xn|和|X′n|分别表示嵌入水印前的频域幅值和嵌入水印后的频域幅度,然后通过欧拉公式得到嵌入水印后的频域信号

其中,∠Xn表示频域信号的相位,X′n表示嵌入水印后的频域信号,e为数学自然指数;

时频逆变换模块,用于将嵌入水印后的频域信号X′n变换到时域,生成嵌入水印的音频文件;

所述水印检测子系统包括以下模块,

选择合适区域检测模块,用于读取待检测的音频文件,得到的时域分帧后的第n帧信号zn和采样率fs2,

先对每帧信号xn进行是否能够作为嵌入区域的判断;

针对能够作为嵌入区域的各帧信号xn,作为待检测的信号,计算检测范围的起始点freqmin2和频域结束点freqmax2

freqmin2=floor((FWMIN×2.0/fs2)×N)

freqmax2=floor((FWMAX×2.0/fs2)×N)

第二时频转换模块,用于进行离散傅立叶变换得到待检测信号的频域信号Zn,相应频域幅度值记为|Zn|;

第二扩频序列生成模块,用于利用密钥key作为随机数种子,生成长度为freqmax2-freqmin2+1的二进制伪随机的扩频序列u;

相关检测模块,用于根据扩频序列u和待检测信号的频域幅度值|Zn|,计算出检测的充分统计量rn如下,

如果充分统计量rn≥0,那么检测到的水印比特为b=1;否则,检测到的水印比特为b=0。

而且,选择合适区域嵌入模块和选择合适区域检测模块中,对每帧信号xn进行是否能够 作为嵌入区域的判断,实现方式如下,

1)信号xn的平均能量的大小超出预设的相应阈值τ1,是则为静音区,不允许嵌入水印;

2)如果信号xn内包含瞬态信号,则不允许嵌入水印。

而且,信号xn内是否包含瞬态信号,通过以下方式判断,

设将一帧信号分解为S个块,分别计算出S个块的能量,比较最大能量的块与最小能量块的能量比rate和预设的相应阈值τ2,如果rate大于τ2则认为该帧信号包含瞬态信号。

本发明提出了通过帧内最大能量与最小能量比来滤除瞬态信号提升水印检测的准确率,通过将水印嵌入在人耳感知显著的频段来提升水印的鲁棒性,进一步地,提出利用平均能量来滤除安静区域提升感知透明性。本发明技术方案具有重要的市场价值。

附图说明

图1是本发明实施例的嵌入子系统结构框图。

图2是本发明实施例的检测子系统结构框图。

图3是本发明实施例的嵌入过程流程图

图4是本发明实施例的检测过程流程图。

具体实施方式

下面以具体实施例结合附图对本发明的技术方案作进一步说明。

本发明实施例提供一种基于嵌入区域选择的音频水印系统,包括音频水印嵌入子系统和水印检测子系统。

参见图1,本发明实施例提供的嵌入区域选择的音频水印技术嵌入子系统,包括选择合适区域嵌入模块1、第一时频转换模块2、第一扩频序列生成模块3、水印嵌入模块4和时频逆变换模块5,具体实施时可以采用软件固化技术实现各模块。

所述选择合适区域嵌入模块1,对读取的时域音频信号帧进行判断,具体实施时可以逐帧判断是否能够满足嵌入水印的条件:不满足就跳过此帧,继续下一帧的判断;如果满足就将信号输出给第一时频变换模块2,根据读取到的时域音频信号的采样率和人耳较为敏感的频率范围计算此频域信号嵌入水印的范围,并将可嵌入范围内的频域信号输出给水印嵌入模块4,将该嵌入范围的最大值和最小值输出给第一扩频序列生成模块3;

所述第一时频转换模块2,用于将读取到的时域音频信号转换为频域信号,输出给水印嵌入模块4;

所述第一扩频序列生成模块3,用于根据随机数种子和选择合适区域嵌入模块1输入的 嵌入范围的最大值和最小值生成与嵌入范围同长度的幅值为1或-1均匀分布的随机序列,并将此随机序列输出给水印嵌入模块4;

所述水印嵌入模块4,对于频域信号中的幅度谱,生成频域的带有水印信息的音频信号输出给时频逆变换模块5;

所述时频逆变换模块5,用于将水印嵌入模块4输入的频域的带有水印信息的音频信号转换为时域的带有水印信息的音频信号,并将此时域的带有水印信息的音频信号生成音频文件,就得到带有水印信息的音频文件。

参见图2,本发明实施例提供的基于相位编码的自适应音频水印检测子系统,包括选择合适区域检测模块6、第二时频转换模块7、第二扩频序列生成模块8、相关检测模块9,具体实施时可以采用软件固化技术实现各模块。

所述选择合适区域检测模块6与选择合适区域嵌入模块1的功能基本相同,不满足水印嵌入条件的区域,一般也不含有水印,检测时可以不用考虑:具体实施时可以逐帧判断,对于不满足检测条件的帧,跳过不检测,继续下一帧的判断;满足检测条件的音频信号输出给第二时频变换模块7,同样将频率检测区域的最大值与最小值输出给第二时频转换模块7和第二扩频序列生成模块8;

所述第二时频转换模块7,用于将读取到的时域音频信号转换为频域信号,输出给相关检测模块9;

所述第二扩频序列生成模块8与第一扩频序列生成模块3的功能基本相同,将产生的结果输出给相关检测模块9;

所述相关检测模块9,用于根据检测范围对输入的待检测的频域幅值信号和扩频序列生成模块9输入的扩频序列,计算相关值,根据相关值的符号,判断出水印。

各模块具体实现参见方法相应步骤,本发明不予赘述。本发明实施例提供的基于嵌入区域选择的音频水印方法,包括嵌入过程和检测过程。

参见图3,本发明实施例提供的基于选择区域的音频水印嵌入过程可以采用计算机软件技术手段自动进行流程,具体包括以下步骤:

步骤A1,读取音频文件,对时域的音频信号x先分帧,得到采样率fs1和分帧后的第n帧时域音频信号xn(帧长为N),对每帧信号xn进行是否能够作为嵌入区域的判断,判断包含两方面的判断:

1)判断xn的平均能量的大小是否超出设定的阈值,来判断当前帧xn是否为静音区,如 果是静音区就不允许嵌入水印,否则超出阈值就不是静音区,可能进行嵌入。通过下面的公式计算第n帧的平均能量

其中,N为帧长,即一帧内的样本点数;i为一帧内的样本点索引序号,取值在0到N-1之间;xn2(i)表示第n帧时域信号xn在帧内第i点的能量;τ1为平均能量的判决阈值,具体实施时本领域技术人员可自行预设取值,例如根据经验得到;如果超出阈值,则满足条件1),进行下面条件2)的判断。

2)对于一帧内出现瞬态信号的情况,由于其频率剧烈变化,会造成的较大的方差,在检测时信号方差越大造成的水印检测的错误概率越高,这种情况也不应该嵌入水印。通过将一帧分解为S个块,分别计算出S个块的能量,通过最大能量的块与最小能量块的能量比rate和阈值τ2的比较,rate大于τ2则认为是该帧信号包含瞬态信号不予嵌入水印,否则可以嵌入水印。具体实施时,本领域技术人员可自行预设S的取值。

具体实现方式如下:

首先将一帧信号xn分成S个块,则每个子块内的样本点数M为

M=N/S (2)

每个块的能量Ei计算如下

其中,i表示帧内块的索引序号,j表示帧内样本点的索引序号,xn2(j)表示第n帧时域信号xn在帧内第j点的能量。

找出块能量中的最大能量EMax和最小能量EMin

EMax=MAX{Ei},EMin=MIN{Ei},i∈[0,S-1] (4)

其中,MAX,MIN分别表示求最大值函数和最小值函数。

最大能量和最小能量的比rate计算如下:

如果rate>τ2,就认为信号帧xn内存在瞬态信号,该帧不嵌入水印;否则,可以嵌入水印。其中τ2为阈值,具体实施时本领域技术人员可自行预设取值,例如τ2为瞬态信号的检测阈值,根据经验得到。

然后针对能够作为嵌入区域的各帧信号xn,对于音频水印的嵌入频率段的选择,应为人耳感知较为显著的区域,本领域技术人员可根据人耳感知特性自行预先设定,例如1000-7000Hz。因为这些区域的信号在经过滤波、音频压缩等攻击后,不会被去除。所以将水印嵌入到感知明显的区域,在经受一些信号攻击后不会被抹掉,能够检测出来。设设根据人耳感知敏感的频率部分预设的嵌入的开始频率为FWMIN、结束频率为FWMAX,对应一帧的开始嵌入点freqmin1和嵌入结束点freqmax1求取如下,

freqmin1=floor((FWMIN×2.0/fs1)×N) (6)

freqmax1=floor((FWMAX×2.0/fs1)×N) (7)

其中,floor为向下取整函数。

根据开始嵌入点freqmin1和嵌入结束点freqmax1,选取此范围内的频域音频信号。

具体实施时可以逐帧判断,不满足条件的跳过,进行下一帧的判断。

步骤A2,对能够嵌入水印的信号帧xn,进行FFT变换(快速离散傅立叶变换)为频域信号Xn

步骤A3,利用密钥key作为随机数种子,生成长度为freqmax1-freqmin1+1的二进制伪随机扩频序列u。

在MATLAB中的实施例具体过程如下:

首先,利用密钥key,调用RandStream函数(随机种子函数)对rand函数(随机数生成函数)进行初始化,然后调用rand函数生成随机数,由于rand函数生成的随机数是0~1之间的数,还需对这些数进行四舍五入变成0和1的二进制伪随机序列,然后将此单极性的伪随机序列,转为双极性只含有+1和-1的伪随机序列u。

步骤A4,根据扩频序列u、频域信号Xn和水印比特b,利用下面的公式(8)进行水印的嵌入,得到嵌入水印后的频域信号,计算实现如下

|X′n|=|Xn|+bαu (8)

其中,α为常数,控制水印的嵌入强度,具体实施时本领域技术人员可预设取值;|Xn|和|X′n|分别表示嵌入水印前的频域幅值和嵌入水印后的频域幅度,然后通过欧拉公式得到嵌入 水印后的频域信号。

其中,∠Xn表示频域信号的相位,X′n表示嵌入水印后的频域信号,e为数学自然指数。

步骤A5,将嵌入水印后的频域信号X′n变换到时域,最后生成音频文件,即得到嵌入水印的音频文件。

参见图4,本发明实施例提供的基于选择区域嵌入的音频水印检测过程,可以采用计算机软件技术手段自动进行流程,具体包括以下步骤:

步骤B1,读取待检测的音频文件,得到的时域分帧后的第n帧信号zn和采样率fs2,对各时域信号zn采取步骤A1中一样的判决方法,

即考虑如下两个条件,

1)信号xn的平均能量的大小超出预设的相应阈值τ1,是则为静音区,不允许嵌入水印;

2)如果信号xn内包含瞬态信号,则不允许嵌入水印。

则不为静音区且不包含瞬态信号的帧信号,能够嵌入水印并有待检测。

具体实施时可以逐帧判断,不满足条件的跳过,进行下一帧的判断。

针对能够作为嵌入区域的各帧信号xn,作为待检测的信号,计算检测范围的频域起始点freqmin2和频域结束点freqmax2

freqmin2=floor((FWMIN×2.0/fs2)×N) (10)

freqmax2=floor((FWMAX×2.0/fs2)×N) (11)

步骤B2,对于满足检测条件的信号zn,进行离散傅立叶变换得到待检测信号的频域信号Zn,相应频域幅度值记为|Zn|。

步骤B3,利用密钥key,生成二进制扩频序列u(与上面嵌入方法得到的u方式相同),即利用密钥key作为随机数种子,生成长度为freqmax2-freqmin2+1的二进制伪随机扩频序列u。

步骤B4,根据扩频序列u和待检测信号的频域幅度值|Zn|,通过计算扩频序列u和待检测信号的频域幅度值|Zn|的相关值,计算出检测的充分统计量rn

其中,<·>表示信号的内积计算。

如果充分统计量rn≥0,那么检测到的水印比特为b=1;否则,检测到的水印比特为b=0。

本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1