一种基于声纹的数码相机图片加密解密方法

文档序号:7919659阅读:290来源:国知局
专利名称:一种基于声纹的数码相机图片加密解密方法
技术领域
本发明属于图象处理技术领域,具体涉及一种基于声纹技术的数码相机图片的加密解密方法。

背景技术
目前,市场上的数码相机普遍没有数据加密功能,当相机或相机上的存储设备意外丢失后,别人可以任意查看相机上已拍的照片和视频内容,从而导致个人隐私的泄露。
另外,即使采用类似银行卡密码等身份鉴别手段对相机及所拍摄的照片数据进行加密,安全性也不够高,容易伪造和盗用,且使用不够方便。


发明内容
本发明就是针对现有技术的不足,提供一种通过人的声纹来辨别人的身份,进而对所拍摄的照片数据进行加密、解密方法。
本发明包括图片加密方法和图片解密方法。
图片加密方法的具体步骤是 (1)对用户的声音进行声纹训练,产生声纹模板数据并存储在数据存储器中。声纹训练的方法具体是 ①对输入的语音数据序列进行预处理,预处理的具体方法是 a.首先录取一段k(k≥2)秒钟的语音数据序列{x(1),x(2),…x(8000×k)},计算语音数据各时刻的累积能量E,N=1,2,…8000×k,如果累积能量E小于预设静音阈值,则去除该时刻前的所有语音数据,保留该时刻后的s(s≥1)秒钟的语音数据序列;如果去除静音后的语音数据序列不足s秒,则重新输入。
b.利用式y(n)=x(n)-αx(n-1)对语音数据序列进行预加重处理,其中α为预加重系数,0.9≤α≤1.0,x为输入,y为输出。
c.将语音数据序列分成P个帧,每个帧包含256个语音数据,相邻帧重叠128个语音数据。
d.对每个帧的语音数据进行加窗平滑处理。
②计算预处理后的语音数据序列的梅尔频率倒谱系数(MFCC)矢量,并对其进行矢量量化。
梅尔频率倒谱系数的具体计算过程为 a.对各帧的语音数据进行快速傅里叶变换(FFT),得到线性频谱。
b.计算线性频谱的能量谱|X|2,并对该能量谱通过一组M个梅尔尺度的三角形滤波器组,进行带通滤波。
c.计算每个滤波器输出的对数能量S(m),m=0,1,…,M-1,计算公式为其中Hm(k)为第m个梅尔尺度的三角形滤波器的频率响应。
d.对对数能量进行离散余弦变换(DCT)得到梅尔频率倒谱系数矢量C(r),r=0,1,…,M-1,计算公式为 矢量量化的具体过程为 采用迭代方法进行梅尔频率倒谱系数的聚类,每迭代一次生成一个相应的特征矢量。
③重复①和②L(3≤L≤5)次,取L次梅尔频率倒谱系数的矢量量化的矢量中心作为声纹模板数据。
(2)将所拍照片进行JPEG编码; (3)将编码后的照片数据的前两个字节分别修改为十六进制数据0xEE和0xCC,作为加密照片的标志; (4)调用数据存储器中的声纹模板数据,并将声纹模板数据的每一个字节依次与编码后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板数据全部用完为止,由此图片加密完成。
图片解密方法的具体步骤是 (1)对用户输入的身份认证语音进行语音预处理,计算其梅尔频率倒谱系数,并进行矢量量化,作为输入的身份认证声纹特征,并与保存在数据存储器中的声纹模板进行匹配,匹配的具体方法是首先调用数据存储器中的声纹模板,并计算其与身份认证声纹特征间的欧氏距离;如果该欧氏距离小于等于设定的阈值,则认为声纹匹配成功;如果该欧氏距离大于设定的阈值,则认为声纹不匹配;声纹匹配成功后进行照片的解密。
(2)将前两个字节为十六进制数据0xEE和0xCC的照片数据,修改为0xFFD8,作为JPEG数据的起始标志; (3)调用数据存储器中的声纹模板数据,并将声纹模板数据的每一个字节依次与加密后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板数据全部用完为止,图片恢复为普通图片。
本发明方法利用人的声音特征,具有相对稳定性和相对唯一性,采用声纹作为照片加密技术,具有方便、安全、不易破解的特点。相机上照片加密功能的实现对相机成本的增加有限,而加密功能非常实用。



图1为语音预处理流程图; 图2为声纹特征提取流程图; 图3为声纹训练流程图; 图4为声纹匹配流程图; 图5为照片加密流程图; 图6为照片解密流程图。

具体实施例方式 基于声纹的数码相机图片加密解密方法包括语音预处理、声纹特征提取、声纹特征训练、声纹匹配、照片加密和照片解密。
参见图1、图2、图3、图4、图5、图6,详细说明本发明的实现原理和工作流程。语音预处理是对语音进行去静音、预加重及分帧操作后送给声纹训练模块或声纹特征提取模块进行声纹特征的提取;声纹特征提取模块接收预处理后的语音,提取出每一帧语音的梅尔尺度频率倒普系数(MFCC),并采用迭代矢量量化方法得到一组声纹特征向量;声纹训练则多次调用语音预处理模块和声纹特征提取模块进行声纹特征的提取,并采用动态规整算法对每次提取的特征进行训练规整成一个特征向量,形成声纹模板;声纹匹配是将对语音进行特征提取后与已保存的声纹模板进行声纹的匹配和身份认证;照片加密是利用保存好的声纹模板对所拍摄的经JPEG编码后的照片进行按位异或加密,并设置相应的加密标志;照片解密是利用保存好的声纹模板对加密后的照片进行按位异或解密,并修改相应的JPEG文件头,形成可直接浏览的未加密JPEG照片。
本发明方法各部分工作流程如下所述 一、语音预处理 接收到语音信号以后,将对语音信号进行预处理工作,以方便后续的声纹特征提取,具体过程如图1所示。
具体来说,语音预处理包括以下详细过程 a.静音去除由于静音对声纹特征的影响非常大,因此在进行声纹特征提取之前首先需将输入语音中的静音数据去除。在本优选实施例中,首先为程序分配一段能保持2秒钟语音数据的内存,当用户确认开始录音后需在2秒钟内输入自己的语音密钥。程序根据预设好的静音阈值判断静音末端,并将静音末端开始的时长为1秒的语音数据保存下来,作为后续声纹特征提取或训练的输入数据,若去除静音后的语音数据不足1秒则要求用户重新输入。
b.语音预加重因为发声过程中声带和嘴唇的效应,使得高频共振峰的振幅低于低频共振峰的振幅,造成语音信号的高频能量比较小。进行预加重的目的就是为了消除声带和嘴唇的效应,来补偿语音信号的高频部分。预加重公式为 y(n)=x(n)-αx(n-1),0.9≤α≤1.0 其中α为预加重系数,本优选实施例中取α为0.97。x为输入,y为输出。
c.分帧声纹提取时采用的是短时分析技术,因此需要进行语音的分帧。在本优选实施例中一帧数据的长度取256点,帧与帧之间的样本采用1/2帧重叠方式。
d.加窗为避免倒谱中的基因峰变得不清晰甚至消失,需对语音进行加窗平滑处理。本优选实施例中采用汉明窗。
经过上述过程后,输入的语音数据被分割成一帧一帧的加窗短时信号序列,在进行后续处理时,按帧从数据区中取出语音数据进行相应处理。
二、声纹特征提取 声纹特征提取是整个系统的基础,对语音识别率有着极为重要的影响。本发明的优选实施例采用经矢量量化后的MFCC特征作为提取出的声纹特征,具体过程如图2所示 a.对各帧语音数据进行快速傅里叶变换(EFT)后得到线性频谱。
b.求线性频谱的能量谱,并对该能量谱通过一组M个Mel尺度的三角形滤波器组,从而在频率域对能量谱进行带通滤波。在本优选实施例中,取M为20。
c.计算每个滤波器组输出的对数能量S(m),m=0,1,…,M-1,计算公式为其中Hm(k)为第m个梅尔尺度的三角形滤波器的频率响应。
d.对对数能量进行离散余弦变换(DCT)得到MFCC特征矢量C(r),r=0,1,…,M-1,计算公式为 e.对所有得到的MFCC特征矢量采用矢量量化方法进行聚类。在本优选实施例中,采用迭代方法进行特征的聚类,每迭代一次生成一个相应的特征矢量。在本优选实施例中,采用的迭代次数为16次。
经过上述过程后,输入的每帧语音数据可以得到20个MFCC特征,经过矢量量化聚类后形成的特征矢量维度为16×20,其中每一个特征需4个字节表示,因此,共可生成16×20×4=1280字节的声纹特征数据。
三、声纹特征训练 具体过程如图3所示,声纹的训练是多次调用声纹特征提取模块,形成相对较为稳定的声纹特征,并保存到数据存储器中。由于用来参与训练的语音固定且时间较短,声纹识别和语音文本存在较强的相关性,即同一个人说的不同词语也会被认为是不同的声纹,用户可以根据这个特点随时更换声纹密钥,增强系统的安全性。当然,更换声纹密钥需要首先删除原有密钥,并重新训练。
四、声纹匹配 具体过程如图4所示,采用固定阈值来比较存储好的声纹模板与新输入语音声纹间的欧氏距离,当该距离小于阈值时认为声纹匹配成功,否则声纹匹配不成功。
五、照片加密 由于数码相机的数据存储器存储空间有限,用户总是希望在同一张SD卡上存储越多的照片越好,因此,在本优选实施例中,所拍摄的所有照片不论是否加密均采用JPEG压缩格式。
另一方面,用户也希望保存好的加密照片在脱离相机后将无法浏览,从而达到保护隐私的目的,具体过程如图5所示 a)修改编码后的照片数据前两个字节分别为十六进制数据0xEE和0xCC,作为加密照片的标志。
b)通过文件系统调用数据存储器中的声纹模板,并将声纹模板数据的每一个字节依次与编码后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板中1280字节的声纹特征数据全部用完为止。
c)通过文件系统将加密后的照片属性改为“隐藏”,该操作使得一般用户无法直接在PC上看到加密照片。
上述加密过程具有以下特点加密照片与非加密照片可以非常方便地进行区分;任一照片在加密前后其数据量保持完全不变,加密过程可以在照片原位完成;用来进行加密的密钥足够长,破解将几乎不可能。
六、照片解密 照片解密是照片加密的逆过程,因此,具体过程如图6所示 1.首先判读照片数据前两个字节是否为十六进制数据0xEE和0xCC,若不是则表明该照片为非加密照片无需解密,若是则将这两个字节修改为0xFFD8,作为JPEG数据的起始标志。
2.通过文件系统将解密后的照片属性改为“非隐藏”。
3.通过文件系统调用数据存储器中的声纹模板,并将声纹模板数据的每一个字节依次与加密后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板中1280字节的声纹特征数据全部用完为止。
权利要求
1、一种基于声纹的数码相机图片加密解密方法,包括图片加密方法和图片解密方法,其特征在于
图片加密方法的具体步骤是
(1)对用户的声音进行声纹训练,产生声纹模板数据并存储在数据存储器中;声纹训练的方法具体是
①对输入的语音数据序列进行预处理,预处理的具体方法是
a.首先录取一段k秒钟的语音数据序列{x(1),x(2),…x(8000×k)},k≥2,计算语音数据各时刻的累积能量E,N=1,2,…8000×k,如果累积能量E小于预设静音阈值,则去除该时刻前的所有语音数据,保留该时刻后的s秒钟的语音数据序列;如果去除静音后的语音数据序列不足s秒,则重新输入,s≥1;
b.利用式y(n)=x(n)-αx(n-1)对语音数据序列进行预加重处理,其中α为预加重系数,0.9≤α≤1.0,x为输入,y为输出;
c.将语音数据序列分成P个帧,每个帧包含256个语音数据,相邻帧重叠128个语音数据;
d.对每个帧的语音数据进行加窗平滑处理;
②计算预处理后的语音数据序列的梅尔频率倒谱系数矢量,并对其进行矢量量化;其中
梅尔频率倒谱系数的具体计算过程为
e.对各帧的语音数据进行快速傅里叶变换,得到线性频谱;
f.计算线性频谱的能量谱|X|2,并对该能量谱通过一组M个梅尔尺度的三角形滤波器组,进行带通滤波;
g.计算每个滤波器输出的对数能量S(m),m=0,1,…,M-1,计算公式为其中Hm(k)为第m个梅尔尺度的三角形滤波器的频率响应;
h.对对数能量进行离散余弦变换(DCT)得到梅尔频率倒谱系数矢量C(r),r=0,1,…,M-1,计算公式为
矢量量化的具体过程为
采用迭代方法进行梅尔频率倒谱系数的聚类,每迭代一次生成一个相应的特征矢量;
③重复①和②L次,3≤L≤5,取L次梅尔频率倒谱系数的矢量量化的矢量中心作为声纹模极数据;
(2)将所拍照片进行JPEG编码;
(3)将编码后的照片数据的前两个字节分别修改为十六进制数据0xEE和0xCC,作为加密照片的标志;
(4)调用数据存储器中的声纹模板数据,并将声纹模板数据的每一个字节依次与编码后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板数据全部用完为止,由此图片加密完成;
图片解密方法的具体步骤是
(A)对用户输入的身份认证语音进行语音预处理,计算其梅尔频率倒谱系数,并进行矢量量化,作为输入的身份认证声纹特征,并与保存在数据存储器中的声纹模板数据进行匹配,匹配的具体方法是首先调用数据存储器中的声纹模板数据,并计算其与身份认证声纹特征间的欧氏距离;如果该欧氏距离小于等于设定的阈值,则认为声纹匹配成功;如果该欧氏距离大于设定的阈值,则认为声纹不匹配;声纹匹配成功后进行照片的解密;
(B)将前两个字节为十六进制数据0xEE和0xCC的照片数据,修改为0xFFD8,作为JPEG数据的起始标志;
(C)调用数据存储器中的声纹模板数据,并将声纹模板数据的每一个字节依次与加密后的照片数据从第三个字节开始进行按位异或操作,直至声纹模板数据全部用完为止,图片恢复为普通图片。
全文摘要
本发明涉及一种基于声纹的数码相机图片加密解密方法。目前的数码相机普遍没有数据加密功能。本发明的图片加密方法首先对用户的声音进行声纹训练产生声纹模板数据,然后将照片进行JPEG编码,再将前两个字节修改为十六进制数据0xEE和0xCC,将声纹模板数据的每一个字节依次与编码后的照片数据进行按位异或操作。图片解密方法首先将身份认证声纹特征与声纹模板进行匹配,然后将十六进制数据0xEE和0xCC的照片数据修改为0xFFD8,将声纹模板数据的每一个字节依次与加密后的照片数据进行按位异或操作,直至声纹模板数据全部用完为止。本发明方法具有相对稳定性和相对唯一性,具有方便、安全、不易破解的特点。
文档编号H04N1/44GK101409819SQ20081016215
公开日2009年4月15日 申请日期2008年11月27日 优先权日2008年11月27日
发明者何志伟, 玮 刘, 栾胜吉, 刘顺兰 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1