- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
QIM隐写算法调研报告
第  PAGE  \* Arabic  \* MERGEFORMAT 6 页第  PAGE  \* Arabic  \* MERGEFORMAT 6 页第  PAGE  \* Arabic  \* MERGEFORMAT 6 页第  PAGE  \* Arabic  \* MERGEFORMAT 6 页第  PAGE  \* Arabic  \* MERGEFORMAT 6 页
QIM隐写算法调研报告
目录
1.介绍QIM隐写算法的基本原理
2.以音频载体为例介绍一种QIM算法
3.基于matlab实现该算法
4.针对该实现,分析算法的鲁棒性(通过误码率)、容量
5.参考文献
QIM隐写算法基本原理:
QIM 是由 Chen 等[8]提出的一种基于指标量化的隐藏方法,构造一个或一组包含索引集的量化器,以隐藏信息去调制索引集中的索引值,再对载体信号以相应的量化器进行量化,以量化的方式嵌入信息,QIM 在隐藏容量、顽健性以及不可感知性3 个方面达到了很好的折衷。 
传统的 QIM 技术采用均匀量化的方法
, 固定量化步长,将量化对象直接量化至量化步长的中点值,传统方法的最大的缺点是引入了较大的量化噪声,因此对于量化噪声引起的数据波动而导致的提取误码不够顽健。针对这一缺陷,本文提出一种
改进的 QIM 方案,构造音频 DCT 域QIM 量化器,量化器针对QIM的固有量化噪声进行了容错处理,提高了嵌入信息的顽健性,并且信息提取无需原始载体音频信息,可实现盲提取。
QIM 方案:
首先是构造一个步长为Δ 的量化器,量化器包括对量化区间划分和区间序号分配,量化器如图 1 所示。量化器对系数的整个取值区间以 0为起点,以Δ 为量化步长分别向正负方向将取值区间分割为若干个量化区间,对每一个量化区间赋予一个区间序号 Si, 序号定义方式如式(2), 其中? ? ? ?表
示向下取整。
以 fi’ (k)表示嵌入信息后的系数,信息比特ei对应的嵌入位置的系数fi (k)所在的量化区间为 Si,当 ei = LSB(Si)时,系数 fi (k)保持不变,即fi’ (k) = fi (k);否则将系数 fi (k)调整至与其最接近的量化区间内,调整幅度是将 fi (k)移至与最相邻的量化区间边界距离为δ 的位置。 以mid = (2Si+1)2/ Δ 表示区间 Si 的中点,上述 QIM 方案的数学形式表述为:
利用matlab实现:
QIM嵌入算法代码:
代码:
function [count,SNR]=qim(file,secret,goalfile)
[Y,FS,NBITS]=wavread(file);
AudioSize=size(Y);
LengthAudio=AudioSize(1); %表示语音文件
frr=fopen(secret,r);
[msg,count]=fread(frr,ubit1);
fclose(frr);
l=count;  %载体语音分段
lsegment=128;%表示每一段的长度
fPos=10000; 
for i=1:l
    for j=1:lsegment
        SegmentAudio(i,j)=Y(fPos+(i-1)*lsegment+j);  %获取段数据
    end
end;
r=10;
linterval=10;。
pos=1;
error_distance=0.0305; 
judge_distance=0.0001526; 
for i=1:l  %依次对l个秘密bit进行嵌入
    TempSegment=SegmentAudio(i,:);
    Dct_Temp=dct(TempSegment);
    e=msg(i);
    for j=1:r        Dct_Temp(pos+(j-1)*linterval)= QIMEmbed(Dct_Temp(pos+(j-1)*linterval),delta,error_distance,e);% 增强型QIM嵌入
    end;
    sTempSegment=idct(Dct_Temp);
    sSegmentAudio(i,:)=sTempSegment;
end;
for i=1:fPos
    sY(i)=Y(i);
end;
for i=1:l
    for j=1:lsegment
        sY(fPos+(i-1)*lsegment+j)=sSegmentAudio(i,j)    end
end;
for i=(fPos+l*lsegment+1):LengthAudio
    sY(i)=Y(i);
end;
c=0;
c1=0;
fo
                
原创力文档
                        

文档评论(0)