逐像素纹理生成式信息隐藏及恢复方法、设备及介质与流程

文档序号:23664125发布日期:2021-01-15 14:02阅读:160来源:国知局
逐像素纹理生成式信息隐藏及恢复方法、设备及介质与流程

本发明属于信息安全和文本信息隐藏的交叉领域,涉及一种生成式隐藏方法,特别涉及一种逐像素纹理生成式信息隐藏及恢复方法、设备及介质。



背景技术:

近年来,计算机网络技术飞速发展,越来越多的信息在公有信道中传输,使得信息传输的安全性备受关注。为保障信息在信道中传输的安全性,专家学者提出了通过修改载体中的冗余信息来隐藏秘密信息的修改式信息隐藏方法,例如,针对密写:毛炳华,2019(毛炳华,王子驰,张新鹏.基于dct域相关性的非对称jpeg隐写[j].计算机科学,2019,46(01):203-207.);swaing,2016(swaing.adaptivepixelvaluedifferencingsteganographyusingbothverticalandhorizontaledges[j].multimediatoolsandapplications,2016,75(21):13541-13556.);yangt,2017(yangt,chenh.matrixembeddinginsteganographywithbinaryreed–mullercodes[j].ietimageprocessing,2017,11(7):522-529.)和张洋,2018(张洋,邵利平,任平安.免基向量emd(n,m)模型及其在图像密写上的应用[j].计算机辅助设计与图形学学报,2018,30(08):1490-1504.);针对分存:欧阳显斌,2017(欧阳显斌,邵利平,乐志芳.非等量备份和双认证自修复有限域图像分存[j].软件学报,2017,12(28):3306-3346.)和黄燕燕,2018(黄燕燕,邵利平.结合emd-cl嵌入的多载体密图分存方法[j].中国图象图形学报,2018,23(8):1108-1130.);针对水印:bhnassyma,2019(bhnassyma,hagraseaa,el-badawyea,etal.imageencryptionandwatermarkingcombineddynamicchaotichoppingpatternwithdoublerandomphaseencodingdrpe[j].opticalandquantumelectronics,2019,51(7):246.1-246.18.)和qiuy,2019(qiuy,duanh,sunj,etal.rich-informationreversiblewatermarkingschemeofvectormaps[j].multimediatoolsandapplications,2019,78:24955-24977.)。尽管该类方法不易被人类视觉系统察觉,但会对嵌密载体的统计特征造成较大影响,从而易引起密写分析者的怀疑。

为避免这类问题,人们提出了纹理生成式无载体信息隐藏,它主要包括纹理构造式信息隐藏和纹理拼接式信息隐藏。其中纹理构造式信息隐藏主要是通过marbling形变生成纹理来对秘密信息进行掩盖。例如,xuj,2015(xuj,maox,jinx,etal.hiddenmessageinadeformation-basedtexture[j].visualcomputerinternationaljournalofcomputergraphics,2015,31(12):1653-1669.)首先在空白图上放置有意义的信息,然后使用相似的背景图案填充剩余位置,最后利用模拟marbling的形变方法来生成具有复杂纹理结构的数字图像;为进一步对二进制数据隐写,潘琳,2016(潘琳,钱振兴,张新鹏.基于构造纹理图像的数字隐写[j].应用科学学报,2016,34(5):625-632.)首先建立秘密信息二进制数和图像化码元之间的对应关系,将秘密信息借助图形化码元进行表达,然后添加遮盖元素和可逆形变操作来形成含密纹理。进一步,zhen-xinq,2018(zhen-xinq,linp,shengl,etal.steganographybyconstructingmarblingtexture[c]//proceedingsofthe14thchinainformationhidingworkshop(cihw2018),guangzhou:2018,1-19.)通过随机点坐标的奇偶性来表达秘密信息,将邻近点连成闭合曲线并着色,然后引入形变操作来产生含密纹理。纹理构造式信息隐藏方法尽管通过变形可产生纹理复杂且构图美观的纹理,但其本质难以生成具有真实质地的纹理图像,从而不能对秘密信息进行有效地掩盖。

纹理拼接式信息隐藏最早来源于otorih,2007(otorih,kuriyamas.data-embeddabletexturesynthesis[c]//internationalsymposiumonsmartgraphics,kyoto,japan,2007:146-157.)和otorih,2009(otorih,kuriyamas.texturesynthesisformobiledatacommunications[j].ieeecomputergraphicsandapplications,2009,29(6):74-81.),这类方法通过样例纹理填充的方式来对表达秘密信息的局部二值模式像素点进行掩盖,但由于不能很好地对局部二值模式进行掩盖,从而易引起密写分析者的怀疑和导致秘密信息泄露。为避免此问题kuo-chenw,2015(kuo-chenw,chung-mingw.steganographyusingreversibletexturesynthesis[j].ieeetransactionsonimageprocessing,2015,24(1):130-139.)zheng-caiq,2017(zheng-caiq,limengwb.robuststeganographyviapatch-basedtexturesynthesis[c]//internationalconferenceoninternetmultimediacomputingandservice,singapore:2017,429-439.)zhen-xingq,2017(zhen-xingq,hangz,wei-mingz.robuststeganographyusingtexturesynthesis[c]//advancesinintelligentinformationhidingandmultimediasignalprocessing,berlin:2017,21-23.)qianz,2018(qianz,huangn,lis,etal.constructivesteganographyusingtexturesynthesis[j].ietetechnicalreview,2018,35(sup1):14-22.)zhouh,2018(zhouh,chenk,zhangw,etal.targetedattackandsecurityenhancementontexturesynthesisbasedsteganography[j].journalofvisualcommunicationandimagerepresentation,2018,54:100-107.)杜耀刚,2019(杜耀刚,王泽豪,赵耿,等.一种安全的无载体纹理合成信息隐藏方案[j].计算机应用与软件,2019,36(6):287-291,321.)和李国利,2019(李国利,邵利平,任平安.差异聚类和误差纹理合成的生成式信息隐藏[j].中国图象图形学报,2019,24(12):2126-2148.)都是通过纹理小块拼接的方式来产生与给定样本相似的含密纹理。其中kuo-chenw,2015将给定样例图像分为若干个样本小块,通过样本小块的mse排序来编码秘密信息,同时引入镜像操作使得编码和非编码样本小块存在明显的区别特征,导致编码小块直接泄露。zheng-caiq,2017进一步将样例图像分成的样本小块的核心区域分块,根据相邻小块的均值对比表达秘密信息,进而通过纹理拼接式纹理合成方法进行掩盖。zhen-xingq,2017通过不同类别小块表达秘密信息。qianz,2018将给定样本通过基于像素点纹理合成和基于纹理块拼接纹理合成生成两张纹理图像。将第一张纹理图像得到的全部分块随机放置在空白图像中,将第二张纹理图像中的部分小块作为编码样本小块,通过纹理拼接生成含密纹理图像。为了更好地抵抗密写分析者的攻击,zhouh,2018在合成图像的外围填充不携带任何消息的空白区域。杜耀刚,2019是针对kuo-chenw,2015进行的改进,通过干扰块的放置来提升找到kuo-chenw,2015中编码小块的困难程度。kuo-chenw,2015,zheng-caiq,2017,zhen-xingq,2017,qianz,2018,zhouh,2018,杜耀刚,2019存在以下问题:①秘密信息分段和样本小块类别之间存在着固定的一一对应关系,安全性较低。②未考虑样本小块存在的差异度与含密纹理在遭受攻击后样本小块类别提取错误的情况,导致方法抗攻击能力差。③含密图像是采用efrosa,2001(efrosa,freemanw.imagequiltingfortexturesynthesisandtransfer[c]//proc.ofthe28thannualconferenceoncomputergraphicsandinteractivetechniques,newyork,usa,2001,341-346.)中的缝合线算法来对重叠区域的纹理进行拼接,将由特定位置出发连接重叠区域相邻像素差异最小的误差线为边界把两侧位于不同分块的像素融合在一起。但特定起始位置出发的误差线并不意味着是经历重叠区域所有像素差异最小的误差线,当存在多个相邻重叠块时,若拼接顺序不恰当将容易产生拼接痕迹,从而不能对秘密信息进行掩盖。李国利,2019虽然通过计算最小误差线使得含密纹理的拼接痕迹有所改善,但仍无法彻底解决拼接痕迹与减少重复模式。

针对以上问题,赵艺,2020(赵艺,邵利平.逐像素纹理合成的生成式信息隐藏[j].光电子激光,2020,31(3):334-344.)提出了逐像素纹理合成的生成式信息隐藏方法,减少了含密纹理的重复模式并解决了拼接痕迹的问题,但仍存在以下问题:秘密信息直接由调色板序列中的像素表达,无法容忍jpeg攻击和含密纹理图像的生成过程中需接收双方共享样例图像。



技术实现要素:

本发明的目的在于克服上述现有技术中秘密信息直接由调色板序列中的像素表达,无法容忍jpeg攻击和含密纹理图像的生成过程中需接收双方共享样例图像的缺点,提供一种逐像素纹理生成式信息隐藏及恢复方法、设备及介质。

为达到上述目的,本发明采用以下技术方案予以实现:

本发明第一方面,一种逐像素纹理生成式信息隐藏方法,包括以下步骤:

s1:输入长度为n的2值秘密信息比特序列b=(bi)n,bi∈{0,1},初始化分辨率为h2×w2的r阶空白图像输入分辨率为h1×w1的纹理样例图

s2:通过聚类从t中挑选出m种颜色构成调色板序列v=(vi)m;

s3:生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中,(xn·i+k,yn·i+k)∈h2×w2,且,c中坐标两两不等;通过v将b转换为t中的颜色构成的序列并根据c=((xn·i+k,yn·i+k))n·n将v′放置到k中;

s4:在k中,对在t中截取以ki,j为中心的γ×γ邻域n(ki,j),其中,γ为大于0的整数,通过γ×γ邻域的块偏移像素相似性的像素纹理合成,在t中找出与ki,j最相似的像素作为ki,j;

s5:重复s4至k中所有元素ki,j且赋值完毕,然后将k输出作为生成的含密纹理。

本发明逐像素纹理生成式信息隐藏方法进一步的改进在于:

所述s2的具体方法为:

s2-1:初始化聚类中心序列tc=φ,根据用户密钥k0,从t中随机选择r=2个像素作为初始聚类中心放入聚类中心序列tc,聚类中心序列更新为按式(1)计算的距离记为disttemp;

s2-2:按式(2)计算的距离,按式(3)距离最小找到tx,y所属的类别则将tx,y加入到中;若则更新r=r+1,将放入聚类中心序列tc中;

s2-3:按式(4)计算聚类中心序列tc中所有元素两两之间的距离,得到最小距离distmin,更新disttemp=distmin;

s2-4:重复s2-2至s2-3,直至不再出现新的聚类中心;

s2-5:记中像素的个数,中第s个像素,其中,按式(5)计算中所有像素的均值按式(6)寻找最优像素然后按式(7)更新聚类中心其中

s2-6:迭代s2-2至s2-5,直至聚类中心不发生变化或达到预设迭代次数,输出m0,m1,…,mr-1与每个类别的聚类中心

s2-7:从m0,m1,…,mr-1中挑选出在t中出现频率最高的前m个类别,其中,m可被4整除,将这m个类别的聚类中心作为调色板序列v=(vi)m。

所述s3中生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中,(xn·i+k,yn·i+k)∈h2×w2,且,c中坐标两两不等的具体方法为:通过密钥k2生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中,(xn·i+k,yn·i+k)∈h2×w2,且,c中坐标两两不等;

所述通过v将b转换为t中的颜色构成的序列的具体方法为:

s3-1:由密钥k1生成包含v中m=m/2个中频像素的索引信息并与k等大的参考图

s3-2:记像素rx,y代表的索引信息为按式(8)确定其中,i=0,1,…,n-1,按式(9)确定按式(10)确定d;

s3-3:重复s3-2直至c中所有坐标(xn·i+k,yn·i+k)处理完毕,按式(11)得到颜色序列v′;

所述s4的具体方法为:

s4-1:初始化λ=3,将样例图像t分为个大小为λ×λ的小块

s4-2:按式(12)与式(13)计算t的均值et和方差dt,按式(14)与式(15)计算tk的均值和方差按式(16)计算的均值

s4-3:记若δd≤δ,则令γ=λ,若δd>δ,更新λ=λ+2,重复执行s4-2至s4-3;其中,阈值δ>0;

s4-4:初始化ki,j的候选像素坐标位置为将n(ki,j)中除ki,j之外的像素记为序列且,不能同时为0,按式(17)初始化最小距离dmin;

s4-5:对于在t中找出所有与值相同的像素坐标位置,记为序列其中,为序列中像素坐标数量,且,不能同时为0,对将t中以为中心像素的γ×γ邻域记为按式(18)找到和n(ki,j)最相似的γ×γ邻域

式(18)中,是n(ki,j)和的距离,按式(19)计算;

s4-6:若则更新

s4-7:重复s4-4至s4-6,直至k中所有像素处理完毕,得到ki,j的最相似像素赋值给ki,j。

本发明第二方面,一种逐像素纹理生成式信息恢复方法,包括以下步骤:

t1:输入含密纹理图像生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中,(xn·i+k,yn·i+k)∈h2×w2,且,c中坐标两两不等;

t2:通过聚类从含密纹理图像中挑选出m种颜色构成调色板序列v=(vi)m;

t3:根据c从中获取颜色索引序列

t4:根据多备份与最小编码距离解码策略,从vd中获取长度为n的2值秘密信息比特序列b=(bi)n,bi∈{0,1}。

本发明逐像素纹理生成式信息恢复方法进一步的改进在于:

所述t2的具体方法为:

t2-1:初始化聚类中心序列kc=φ,根据用户密钥k0从k中随机选择r=2个像素作为初始聚类中心放入聚类中心序列kc,聚类中心序列kc更新为按式(20)计算的距离记为disttemp;

t2-2:按式(21)计算的距离,按式(22)距离最小找到kx,y所属的类别则将kx,y加入到中;若则更新r=r+1,将放入聚类中心序列kc中;

t2-3:按式(23)计算聚类中心序列kc中所有元素两两之间的距离,得到最小距离distmin,更新disttemp=distmin;

t2-4:重复t2-2至t2-3,直至不再出现新的聚类中心;

t2-5:记中像素的个数,中第s个像素,其中按式(24)计算中所有像素的均值按式(25)寻找最优像素然后按式(26)更新聚类中心其中

t2-6:重复执行t2-2到t2-5,直至聚类中心不发生变化或达到指定的迭代次数,输出m′0,m′1,…,m′r-1与每个类别的聚类中心

t2-7:从m′0,m′1,…,m′r-1中挑选出在k中出现频率最高的前m个类别,其中,m可被4整除,将其聚类中心作为调色板序列v=(vi)m。

所述t1的具体方法为:

输入含密纹理图像由密钥k2生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中,(xn·i+k,yn·i+k)∈h2×w2,且,c中坐标两两不等;

所述t3的具体方法为:

对于寻找在v中的索引d′ik,d′ik∈[0,m-1],按式(27)计算d″ik,得到颜色索引序列

d″ik=(d′ik+(m-1)(xn·i+k+yn·i+k+xn·i+k·yn·i+k))modm(27)。

所述t4的具体方法为:

t4-1:由密钥k1生成包含v中m=m/2个中频像素的索引信息并且与k等大的参考图

t4-2:对于将像素在v中的索引记为按式(28)计算vd中的元素d″ik相对于的参考值对于所有的按式(29)提取bi,i=0,1,…,n-1;

式(29)中,若的累计值为0,则由rand函数随机产生的0或1作为bi的提取值;

t4-3:重复t4-2,直至c中所有坐标处理完毕,按式(30)得到长度为n的秘密信息序列b:

b=b0||b1||…||bi||…||bn(30)。

本发明第三方面,一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述逐像素纹理生成式信息隐藏方法的步骤,或者实现上述逐像素纹理生成式信息恢复方法的步骤。

本发明第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述逐像素纹理生成式信息隐藏方法的步骤,或者实现上述逐像素纹理生成式信息恢复方法的步骤。

与现有技术相比,本发明具有以下有益效果:

本发明逐像素纹理生成式信息隐藏方法,通过自适应分块和块偏移相似性的逐像素快速纹理合成策略来生成含密纹理,解决了传统基于块拼接纹理合成信息隐藏中存在的拼接痕迹问题,并减少了传统基于块拼接纹理合成信息隐藏中含密纹理存在的重复模式。同时,解决了现有方法中缺乏的分块参数的自适应确定问题,减少了与待合成像素进行相似度比较的像素数量,在保持同等含密纹理生成质量的同时,提高了含密纹理生成速度。通过聚类来生成调色板序列,加大了调色板序列中各像素之间的差异,使得含密纹理中代表秘密信息的像素在遭受攻击后仍然大概率地落在原像素所在的聚类类别中,从而可准确地提取出秘密信息。同时,利用中频颜色在调色板序列中的序号加减编码距离来表达秘密信息1和0,进而将其编码为颜色序列,使得含密纹理即使遭受jpeg攻击,只要像素仍然落在编码距离范围内就可提取出正确的秘密信息,因此相对于现有方法中直接使用调色板序列中的像素来表达秘密信息,本发明含密纹理可抵抗jpeg攻击。

本发明逐像素纹理生成式信息恢复方法,通过利用含密纹理生成调色板序列,进一步获取编码的秘密信息,通信双方无需共享样例图像,避免了共享样例图像的额外传输。

附图说明

图1为本发明逐像素纹理生成式信息隐藏方法流程图;

图2为本发明逐像素纹理生成式信息恢复方法流程图;

图3为本发明纹理样例图,为64×64分辨率的8位图像纹理1;

图4为本发明纹理样例图,为64×64分辨率的8位图像纹理2;

图5为本发明纹理样例图,为64×64分辨率的8位图像纹理3;

图6为本发明纹理样例图,为64×64分辨率的8位图像纹理4;

图7为本发明密图,为64×64分辨率的8位灰度图像lena;

图8为本发明以图3为纹理样例图,图7为密图生成的分辨率为512×512含密纹理1;

图9为本发明以图4为纹理样例图,图7为密图生成的分辨率为512×512含密纹理2;

图10为本发明以图5为纹理样例图,图7为密图生成的分辨率为512×512含密纹理3;

图11为本发明以图6为纹理样例图,图7为密图生成的分辨率为512×512含密纹理4;

图12为本发明由图8恢复出的密图,相对于图7的误码率br为0%;

图13为本发明由图9恢复出的密图,相对于图7的误码率br为0%;

图14为本发明由图10恢复出的密图,相对于图7的误码率br为0%;

图15为本发明由图11恢复出的密图,相对于图7的误码率br为0%;

图16为本发明对图8进行1.9%的剪裁攻击图;

图17为本发明对图9进行3.4%的剪裁攻击图;

图18为本发明对图10进行4.1%的剪裁攻击图;

图19为本发明对图11进行2.6%的剪裁攻击图;

图20为本发明对图8进行8%的随机噪声攻击图;

图21为本发明对图9进行20%的随机噪声攻击图;

图22为本发明对图10进行15%的随机噪声攻击图;

图23为本发明对图11进行10%的随机噪声攻击图;

图24为本发明对图8进行质量因子为90的jpeg攻击图;

图25为本发明对图9进行质量因子为70的jpeg攻击图;

图26为本发明对图10进行质量因子为80的jpeg攻击图;

图27为本发明对图11进行质量因子为60的jpeg攻击图;

图28为本发明由图16恢复出的密图,相对于图7的误码率br为0.20%,峰值信噪比psnr为33.9291db;

图29为本发明由图17恢复出的密图,相对于图7的误码率br为0.68%,峰值信噪比psnr为31.0404db;

图30为本发明由图18恢复出的密图,相对于图7的误码率br为0.93%,峰值信噪比psnr为28.1750db;

图31为本发明由图19恢复出的密图,相对于图7的误码率br为0.42%,峰值信噪比psnr为32.4369db;

图32为本发明由图20恢复出的密图,相对于图7的误码率br为1.10%,峰值信噪比psnr为28.1845db;

图33为本发明由图21恢复出的密图,相对于图7的误码率br为3.49%,峰值信噪比psnr为24.1492db;

图34为本发明由图22恢复出的密图,相对于图7的误码率br为2.12%,峰值信噪比psnr为25.0833db;

图35为本发明由图23恢复出的密图,相对于图7的误码率br为1.20%,峰值信噪比psnr为27.8163db;

图36为本发明的由图24恢复出的密图,相对于图7的误码率br为1.10%,峰值信噪比psnr为28.1951db;

图37为本发明的由图25恢复出的密图,相对于图7的误码率br为2.93%,峰值信噪比psnr为23.8170db;

图38为本发明的由图26恢复出的密图,相对于图7的误码率br为1.98%,峰值信噪比psnr为25.0434db;

图39为本发明的由图27恢复出的密图,相对于图7的误码率br为3.91%,峰值信噪比psnr为22.4175db。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

以下以javajdk1.8.0_65为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例。

参见图1,本发明一个实施例中,提供了一种逐像素纹理生成式信息隐藏方法,由聚类从样例图像获取高频颜色序列并由密钥生成颜色序列全部像素索引信息的参考图;根据中频颜色与参考图来编码秘密信息并伪随机地放置在空白待合成纹理图像中;最后结合自适应分块和块偏移相似性逐像素快速纹理合成策略来生成含密纹理。具体包括以下步骤:

s1:输入长度为n的2值秘密信息比特序列b=(bi)n,bi∈{0,1},初始化分辨率为h2×w2的r阶空白图像输入分辨率h1×w1为纹理样例图

例如:若取n=2,输入长度为n=2的2值秘密信息比特序列b=(bi)n=(bi)2=(0,0);取h2=w2=512,r=8,可初始化分辨率为512×512的8阶空白图像k=(ki,j=28-1=255)512×512,即将k中所有的像素ki,j都初始化为255;取h1=w1=64,可输入分辨率为64×64的纹理样例图为t=(tx,y)64×64。

s2:通过聚类从t中挑选出m种颜色构成调色板序列v=(vi)m,其具体方法是:

例如:若取m=16,则通过聚类可从t中挑选出m=16种颜色构成调色板序列v=(vi)m。

s2-1:初始化聚类中心序列tc=φ,根据用户密钥k0从t中随机选择r=2个像素作为初始聚类中心放入聚类中心序列tc,聚类中心序列更新为按式(1)计算的距离记为disttemp;

例如:首先初始化聚类中心序列tc是空集φ,由用户密钥k0从中随机随机筛选出r=2个像素,若取h1=w1=64,则从t=(tx,y)64×64可随机选择两个像素,例如位于(23,45)位置的像素t23,45,位于(41,57)位置的像素t41,57,因此可将t23,45作为第0个聚类中心t41,57作为第1个聚类中心从而可将聚类中心序列tc由空集φ更新为此时(x0,y0)=(23,45),(x1,y1)=(41,57),若t23,45=197,t41,57=133,则按式(1)可计算的距离记为disttemp,则disttemp=64。

s2-2:按式(2)计算的距离,按式(3)距离最小找到tx,y所属的类别则将txy加入到中;若则更新r=r+1,将放入聚类中心序列tc中;

例如:若取h2=w2=64,disttemp=64,r=2则对于t=(tx,y)64×64中的任意像素tx,y,则可按式(2)计算tx,y到中的聚类中心的距离,若假设任意像素tx,y中的t0,0=130,则按式(2)可计算出:由于所以按式(3)知道t0,0所对应的类别为此时则将t0,0加入到类别中,即t0,0∈m1。若disttemp=2,此时则由r=r+1=2+1=3,将t0,0作为放入聚类中心序列tc中,此时

s2-3:按式(4)计算聚类中心序列tc中所有元素两两之间的距离,得到最小距离distmin,更新disttemp=distmin:

例如:假设聚类中心序列则按式(4):因此distmin=3,更新disttemp=distmin,所以disttemp=3。

s2-4:重复s2-2至s2-3,直至不再出现新的聚类中心;

例如:重复第s2-2步至第s2-3步,若聚类中心序列tc不发生变化,即tc中的元素不发生变化且保持不变,此时第s2-2步至第s2-3步的循环终止。

s2-5:记中像素的个数,中第s个像素,其中按式(5)计算中所有像素的均值按式(6)寻找最优像素然后按式(7)更新聚类中心其中

例如:若类别中像素的个数为3,则式(5)是对类别中的元素进行累计,然后再除以类别的像素数作为像素的均值;式(6)是从类别中的所有像素找到最接近均值的像素按式(7)将作为的聚类中心其中对应的坐标位置。

s2-6:重复s2-2至s2-5,直至聚类中心不发生变化或达到指定的迭代次数,输出m0,m1,…,mr-1与每个类别的聚类中心

例如:重复第s2-2步至第s2-5步,可使聚类中心序列tc趋于稳定,即tc不发生变化,或达到指定的迭代次数,此时可输出所有像素的类别m0,m1,…,mr-1和与之对应聚类中心

s2-7:从m0,m1,…,mr-1中挑选出在t中出现频率最高的前m个类别,其中m可被4整除,将这m个类别的聚类中心作为调色板序列v=(vi)m;

例如:对类别m0,m1,…,mr-1中每个类别统计该类别中的所有像素在t中的出现次数,记为因此可计算该类别在t中出现的总次数从而可从m0,m1,…,mr-1中挑选出在t中出现频率最高的前m个类别,若取m=4,则m可被4整除,若m0,m1,…,mr-1在t中出现频率最高的前m=4个类别为m1,m3,m5,m7,则将m1,m3,m5,m7对应的聚类中心则将:从而得到v=(vi)m=(v0,v1,v2,v3)。

s3:由密钥k2生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1且(xn·i+k,yn·i+k)∈h2×w2且c中坐标两两不等;

例如:若取n=2,n=2,h2=w2=512,则由密钥k2生成长度为n·n=2·2=4的随机坐标序列c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),且(x0,y0),(x1,y1),(x2,y2),(x3,y3)∈h2×w2且c中坐标两两不等,则有:x0,x1,x2,x3∈{0,1,…,h2-1}={0,1,…,511},y0,y1,y2,y3∈{0,1,…,w2-1}={0,1,…,511}且(x0,y0)≠(x1,y1)≠(x2,y2)≠(x3,y3)。

通过v将b转换为t中的颜色构成的序列其具体方法是:

s3-1:由密钥k1生成包含v中m=m/2个中频像素的索引信息并与k等大的参考图

例如:取m=4,则对于v=(vi)m=(v0,v1,v2,v3),取m=m/2=4/2=2,则v中m=m/2个中频像素对应为v1,v2,其中m/4=1,3m/4-1=2;取h2=w2=512,则由密钥k1可生成与k等大的参考图且rx,y仅能为1和2,对应为v1,v2的索引1和2。

s3-2:记像素rx,y代表的索引信息为按式(8)确定其中i=0,1,…,n-1,按式(9)确定,d按式(10)确定;

例如:继续s3-1的例子,rx,y代表的索引信息为由于m=m/2=4/2=2,则按式(10),假设按式(9)若bi=1,则按式(9)若bi=0,则这里假设:则有由于b0=0,则由于b1=0,则取n=2,n=2,则有i=0,1,…,n-1=0,1,k=0,1,…,n-1=0,1,当:i=0,k=0,(xni+k,yni+k)=(x0,y0),取则有i=0,k=1,(xni+k,yni+k)=(x1,y1),取则有i=1,k=0,(xni+k,yni+k)=(x2,y2),取则有i=1,k=1,(xni+k,yni+k)=(x3,y3),取则有s3-3:重复s3-2直至所有的c中所有的(xn·i+k,yn·i+k)处理完毕,按式(11)得到颜色序列v′:

然后根据c=((xn·i+k,yn·i+k))n·n将v′放置到k中;

例如:重复s3-2直至所有的c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3))处理完毕,则可得到:从而按式(11)可得到颜色序列v′=(v0,v1,v2,v0);然后根据c=((xn·i+k,yn·i+k))n·n将v′放置到上,即由c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),将置为v0,将置为v1,将置为v2,将置为v0。

s4:在k中,对自适应确定以ki,j为中心的γ×γ邻域n(ki,j)参数γ的大小,其中γ为大于0的整数,其具体方法是:

例如:在分辨率为h2×w2的k中,对若c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),则对于选取的是(i,j)∈h2×w2且(i,j)≠(x0,y0),(i,j)≠(x1,y1),(i,j)≠(x2,y2),(i,j)≠(x3,y3)坐标,然后可根据样例图像t自身的特性,自适应地确定以ki,j为中心的γ×γ邻域n(ki,j)参数γ的大小。

s4-1:初始化λ=3,将样例图像t分为个大小为λ×λ的小块

例如:取h1=w1=64,输入分辨率为64×64的纹理样例图为t=(tx,y)64×64,则可将样例图像t划分为个小块即总计441个块。

s4-2:按式(12)与式(13)计算t的均值et和方差dt,按式(14)与式(15)计算tk的均值和方差按式(16)计算的均值

例如:式(12)中的均值et是对t中所有像素进行的累计,然后计算出的均值;式(13)是将t中所有像素与et的二次差异累计取平均值计算的方差dt;式(14)和式(15)是以t划分的λ×λ的小块为单位计算tk的均值计算tk的方差式(16)是对t划分的所有λ×λ的小块tk的方差累计对应的均值

s4-3:记若δd≤δ,则令γ=λ;若δd>δ,更新λ=λ+2并重复执行s4-2至s4-3,其中阈值δ>0;

例如:若λ太小,则t的方差dt和所有划分块的方差均值会存在较大差异,随着λ=λ+2的逐步增大并重复执行s4-2~s4-3,方差dt会趋近于方差均值当两者之间的绝对值差异δd小于等于设定的阈值δ>0,则可通过γ=λ自适应地确定γ的大小。

然后寻找最相似γ×γ邻域的块偏移像素相似性的像素纹理合成在t中找出与ki,j最相似的像素作为ki,j,其具体方法是:

s4-4:初始化ki,j的候选像素坐标位置为将n(ki,j)中除ki,j之外的像素记为序列不能同时为0,按式(17)初始化最小距离dmin:

例如:初始化t中找出的与ki,j最相似的像素的坐标位置为取γ×γ=3×3,则n(ki,j)对应为k上以ki,j为中心的γ×γ邻域可表示为:其中ki-1,j-1对应的记为同理可得:由此可得到:对于n(ki,j)=n(k0,0),p∈n(k0,0)对应为p∈{k0,0,k0,1,k1,0,k1,1},可按式(17)将k0,0,k0,1,k1,0,k1,1进行累计作为最小值dmin。

s4-5:对于在t中找出所有与值相同的像素坐标位置,记为序列其中为序列中像素坐标数量,且φ,不能同时为0,对将t中以为中心像素的γ×γ邻域记为按式(18)中找到和n(ki,j)最相似的γ×γ邻域

式(18)中,是n(ki,j)和的距离,按式(19)计算:

例如:对于在t中找出所有与值相同的像素坐标位置,记为序列即对于在t中与像素值相同的像素坐标位置被记为坐标序列(uη,vη)为在t中与像素值相同的第η个坐标位置;同样a-1,0是与值相同的t中坐标位置序列;a-1,1是与值相同的t中坐标位置序列;a0,-1是与值相同的t中坐标位置序列;a0,1是与值相同的t中坐标位置序列;a1,-1是与值相同的t中坐标位置序列;a1,0是与值相同的t中坐标位置序列;a1,1是与值相同的t中坐标位置序列。

中的(uη,vη)为例,则以为中心像素的γ×γ=3×3邻域为从中可以看出偏移为位置的元素就是按式(19)可计算出和n(ki,j)已存在像素的距离,从而按式(18)可找到位于中的所有坐标使得式(19)计算距离最小的

s4-6:若则更新

例如:按可确定找到的是否是当前找到的最优值,若为最优值,则记录所找到的最优像素位置。

s4-7:反复执行s4-4至s4-6,直至k中所有像素处理完毕,可得到ki,j的最相似像素赋值给ki,j,即

例如:反复执行s4-4至s4-6,直至k中所有像素处理完毕,可以通过距离最小找到ki,j最相似像素从而获得ki,j的最优值

s5:反复执行s4,直至k中所有元素ki,j且赋值完毕,然后将k输出作为生成的含密纹理。

例如:反复执行s4,可将k中所有元素ki,j且赋值完毕,从而得到含密纹理k。

参见图2,本发明再一个实施例中,提供了一种逐像素纹理生成式信息恢复方法,根据密钥提取颜色索引序列,结合聚类从含密掩体中获取高频颜色序列,生成颜色序列所有像素索引信息的参考图,并通过多备份与最小编码距离解码策略获取秘密信息。具体包括以下步骤:

t1:输入含密纹理图像由密钥k2生成长度为n·n的随机坐标序列c=((xn·i+k,yn·i+k))n·n,i=0,1,…,n-1,k=0,1,…,n-1,其中(xn·i+k,yn·i+k)∈h2×w2且c中坐标两两不等;

例如:若取h2=w2=512,则可输入分辨率为512×512的含密纹理图像若取n=2,n=2,则由密钥k2生成长度为n·n=2·2=4的随机坐标序列c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),且(x0,y0),(x1,y1),(x2,y2),(x3,y3)∈h2×w2且c中坐标两两不等,则有:x0,x1,x2,x3∈{0,1,…,h2-1}={0,1,…,511},y0,y1,y2,y3∈{0,1,…,w2-1}={0,1,…,511}且(x0,y0)≠(x1,y1)≠(x2,y2)≠(x3,y3)。

t2:通过聚类从含密纹理图像中挑选出m种颜色构成调色板序列v=(vi)m,其具体方法是:

例如:若取m=16,则通过聚类可从k中挑选出m=16种颜色构成调色板序列v=(vi)m。

t2-1:初始化聚类中心序列kc=φ,根据用户密钥k0从k中随机选择r=2个像素作为初始聚类中心放入聚类中心序列kc,此时聚类中心序列kc更新为按式(20)计算的距离记为disttemp:

例如:首先初始化聚类中心序列kc是空集φ,由用户密钥k0从中随机随机筛选出r=2个像素,若取h2=w2=512,则从可随机选择两个像素,例如位于(23,45)位置的像素k23,45,位于(41,57)位置的像素k41,57,因此可将k23,45作为第0个聚类中心k41,57作为第1个聚类中心从而可将聚类中心序列tc由空集φ更新为此时(x0,y0)=(23,45),(x1,y1)=(41,57),若k23,45=197,k41,57=133,则按式(20)可计算的距离记为disttemp,则disttemp=64。

t2-2:按式(21)计算的距离,按式(22)距离最小找到kx,y所属的类别则将kx,y加入到中,若则更新r=r+1,将放入聚类中心序列kc中;

例如:若取h1=w1=512,disttemp=64,r=2则对于中的任意像素kx,y,则可按式(21)计算kx,y到中的聚类中心的距离,若假设任意像素kx,y中的k0,0=130,则按式(21)可计算出:由于所以按式(22)知道k0,0所对应的类别为此时则将k0,0加入到类别中,即k0,0∈m′1。若disttemp=2,此时则由r=r+1=2+1=3,将k0,0作为放入聚类中心序列kc中,此时

t2-3:按式(23)计算聚类中心序列kc中所有元素两两之间的距离,得到最小距离distmin,更新disttemp=distmin:

例如:假设聚类中心序列则按式因此distmin=3,更新disttemp=distmin,所以disttemp=3。

t2-4:重复t2-2至t2-3,直至不再出现新的聚类中心;

例如:重复t2-2至t2-3,若聚类中心序列kc不发生变化,即kc中的元素不发生变化且保持不变,此时t2-2至t2-3的循环终止。

t2-5:记中像素的个数,中第s个像素,其中按式(24)计算中所有像素的均值按式(25)寻找最优像素然后按式(26)更新聚类中心其中

例如:若类别中像素的个数为3,则式(24)是对类别中的元素进行累计,然后再除以类别的像素数作为像素的均值;式(25)是从类别中的所有像素找到最接近均值的像素按式(26)将作为的聚类中心其中对应的坐标位置。

t2-6:重复执行t2-2至t2-5,直至聚类中心不发生变化或达到指定的迭代次数,输出m′0,m′1,…,m′r-1与每个类别的聚类中心

例如:重复t2-2至t2-5,可使聚类中心序列kc趋于稳定,即kc不发生变化,或达到指定的迭代次数,此时可输出所有像素的类别m′0,m′1,…,m′r-1和与之对应聚类中心

t2-7:从m′0,m′1,…,m′r-1中挑选出在k中出现频率最高的前m个类别,其中m可被4整除,将其聚类中心作为调色板序列v=(vi)m。

例如:对类别m′0,m′1,…,m′r-1中每个类别统计该类别中的所有像素在k中的出现次数,记为因此可计算该类别在k中出现的总次数从而可从m′0,m′1,…,m′r-1中挑选出在k中出现频率最高的前m个类别,若取m=4,则m可被4整除,若m′0,m′1,…,m′r-1在k中出现频率最高的前m=4个类别为m′1,m′3,m′5,m′7,则将m′1,m′3,m′5,m′7对应的聚类中心则将:从而得到v=(vi)m=(v0,v1,v2,v3)。

t3:对于寻找在v中的索引d′ik,d′ik∈[0,m-1],按式(27)计算d″ik,从而可得到颜色索引序列

d″ik=(d′ik+(m-1)(xn·i+k+yn·i+k+xn·i+k·yn·i+k))modm(27)。

例如:若取n=2,n=2,记由密钥k2生成长度为n·n=2·2=4的随机坐标序列c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),对应的k中像素分别为其中:

(x0,y0)对应的i=0,k=0,原因是(xn·i+k,yn·i+k)=(x2·0+0,y2·0+0)=(x0,y0);

(x1,y1)对应的i=0,k=1,原因是(xn·i+k,yn·i+k)=(x2·0+1,y2·0+1)=(x1,y1);

(x2,y2)对应的i=1,k=0,原因是(xn·i+k,yn·i+k)=(x2·1+0,y2·1+0)=(x2,y2);

(x3,y3)对应的i=1,k=1,原因是(xn·i+k,yn·i+k)=(x2·1+1,y2·1+1)=(x3,y3);

然后从v=(vi)m=(v0,v1,v2,v3)中按像素绝对差值最小选取最接近的像素,这里假设最接近的像素是v0,最接近的像素是v1,最接近的像素是v2,最接近的像素是v0,则有:d′00=0,d′01=1,d′10=2,d′11=0,假设取(x0,y0)=(0,0),(x1,y1)=(0,1),(x2,y2)=(1,0),(x3,y3)=(1,1),则由式(27)知:

d″00=(d′00+(m-1)(x0+y0+x0·y0))modm=0;

d″01=(d′01+(m-1)(x1+y1+x1·y1))modm=0;

d″10=(d′10+(m-1)(x2+y2+x2·y2))modm=1;

d″11=(d′11+(m-1)(x3+y3+x3·y3))modm=1;

从而可得到颜色索引序列vd=(d″00,d″01,d″10,d″11)。

t4:按多备份与最小编码距离解码策略从vd中获取长度为n的2值秘密信息比特序列b=(bi)n,bi∈{0,1},其具体方法是:

例如:从vd=(d″00,d″01,d″10,d″11)中获取长度为n=2的2值秘密信息比特序列b=(bi)2=(b0,b1),bi∈{0,1}。

t4-1:由密钥k1生成包含v中m=m/2个中频像素的索引信息并且与k等大的参考图

例如:取m=4,则对于v=(vi)m=(v0,v1,v2,v3),取m=m/2=4/2=2,则v中m=m/2个中频像素对应为v1,v2,其中m/4=1,3m/4-1=2;取h2=w2=512,则由密钥k1可生成与k等大的参考图且rx,y仅能为1和2,对应为v1,v2的索引1和2。

t4-2:对于将像素在v中的索引记为按式(28)计算vd中的元素d″ik相对于的参考值对于所有的按式(29)提取bi,i=0,1,…,n-1;

式(29)中,若的累计值为0,则由rand函数随机产生的0或1作为bi的提取值;

例如:若取n=2,n=2,c=((xn·i+k,yn·i+k))n·n=((x0,y0),(x1,y1),(x2,y2),(x3,y3)),假设则对应为v中的索引为:对vd=(d″00,d″01,d″10,d″11)中的元素:d″00=0,d″01=0,d″10=1,d″11=1,则按式(28)有:

按式(29)有:

所以b0=0;所以b1=0。

t4-3:反复执行t4-2,直至c中所有坐标处理完毕,然后按式(31)得到长度为n的秘密信息序列b:

b=b0||b1||…||bi||…||bn(31)。

例如:b0=0,b1=0,所以b=(0,0)。

参见图3至39,其中,图3~图6为本发明纹理样例图,分别为分辨率64×64的8位纹理图1~纹理图4;图7为本发明密图,为64×64分辨率的8位灰度图像lena;图8~图11是分别以图3~图6为纹理样图,以图7为密图生成的分辨率为512×512的含密纹理1~4;图12~图15是分别由图8~图11恢复出的密图,相对于图7的误码率br均为0%。

图16~图19是分别对图8~图11进行剪裁攻击的实验图样1~实验图样4,对应的剪裁攻击比依次为1.9%、3.4%、4.1%和2.6%;图20~图23是分别对图8~图11进行噪声攻击的实验图样1~实验图样4,对应的随机噪声攻击强度为8%、20%、15%和10%;图24~图27是分别对图8~图11进行jpeg攻击的实验图样1~实验图样4,对应的质量因子为90、70、80和60。

图28是图16恢复出的密图1,相对于图7的误码率br为0.20%,峰值信噪比psnr为33.9291db;图29是图17恢复出的密图2,相对于图7的误码率br为0.68%,峰值信噪比psnr为31.0404db;图30是图18恢复出的密图3,相对于图7的误码率br为0.93%,峰值信噪比psnr为28.1750db;图31是图19恢复出的密图4,相对于图7的误码率br为0.42%,峰值信噪比psnr为32.4369db。

图32是图20恢复出的密图5,相对于图7的误码率br为1.10%,峰值信噪比psnr为28.1845db;图33是图21恢复出的密图6,相对于图7的误码率br为3.49%,峰值信噪比psnr为24.1492db;图34是图22恢复出的密图7,相对于图7的误码率br为2.12%,峰值信噪比psnr为25.0833db;图35是图23恢复出的密图8,相对于图7的误码率br为1.20%,峰值信噪比psnr为27.8163db。

图36是图24恢复出的密图9,相对于图7的误码率br为1.10%,峰值信噪比psnr为28.1951db;图37是图25恢复出的密图10,相对于图7的误码率br为2.93%,峰值信噪比psnr为23.8170db;图38是图26恢复出的密图11,相对于图7的误码率br为1.98%,峰值信噪比psnr为25.0434db;图39是图27恢复出的密图12,相对于图7的误码率br为3.91%,峰值信噪比psnr为22.4175db。

本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器用于逐像素纹理生成式信息隐藏方法和/或逐像素纹理生成式信息恢复方法的操作。

再一个实施例中,本发明还提供了一种计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,计算机可读存储介质中的一条或一条以上指令由处理器加载并执行逐像素纹理生成式信息隐藏方法和/或逐像素纹理生成式信息恢复方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

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