一种快速破坏广播音频文件病毒的方法

文档序号:2833116阅读:337来源:国知局
专利名称:一种快速破坏广播音频文件病毒的方法
技术领域
本发明属于数字音频处理技术,特别涉及广播音频文件处理技木。
背景技术
我国电台网络经过几十年的发展,逐步形成了以播出网(内网)和办公网(外网)为核心的网络系统。为了保证电台业务和节目播出的安全,国家广电总局规定广播电台的内网必须与外网隔离,以防止恶意的攻击和病毒的感染。然而在另一方面,大量的素材信息如音乐节目、采访录音、新闻稿件等需要在内外网间进行交換,封闭的内网将严重影响电台的工作效率和节目质量。为解决这个问题,安全隔离网闸产品应运而生并快速发展起来,在国内电台中得到了广泛的应用。来自于互联网的安全威胁主要有黑客攻击和病毒感染两种。网闸提供了对前ー种 黑客攻击的防范作用,但对后ー种病毒感染却无能为力。病毒通常以文件为载体进行传播,很多网闸设备通过采用检查文件扩展名、文件头等格式审查手段来防范文件病毒,但这些方法都无法从根本上防止病毒感染,因为病毒可能藏匿在文件数据(如音频数据)中。我国广播电台现行的音频文件格式的行业标准是IS011172-3标准中的MPEG-I第ニ层格式(简称mp2)。该格式文件是通过采用运动图像专家组(Moving Pictures ExpertGroUp,MPEG)制定的一种音频数据压缩编码第二层标准方法对原始的音频数据进行压缩而产生的。mp2音频文件由若干个音频帧组成,每个音频帧的帧信息包含帧头、位分配、缩放因子选择、缩放因子、通道子带样本码字和辅助数据等6部分,如图I所示。其中,通道子带样本码字部分包含了左右通道的32个频率子带样本的编码信息,而量化各通道子带样本所用的比特数由前面的位分配部分決定。位分配的值越大,分配给对应通道子带的量化比特位就越多,该通道子带样本值的表达就越精确。本文所述通道子带是指由通道编号与子带编号一同确定的对应通道的子带,如通道子带(i,j)表示为通道编号为i,子带编号为j对应的子帯。在标准中,一个通道子带的36个样本,被划分为了 12节(granule),姆节包含3个连续样本。由图I知,各通道子带的样本码字在音频帧中是按节交替排列的,即先排各通道子带的第I节,然后排它们的第2节,直至最后的第12节。通道子带样本码字是音频帧的主体部分,而这部分没有校验机制,可以被任意篡改而不被发觉。因此,音频文件可成为病毒的优良载体。藏匿在音频文件中的病毒可以利用播放软件的漏洞实现对内网机器的攻击,而这种病毒攻击是使用格式审查方法无法防范的。目前防止文件病毒入侵的方法大体分两类检测病毒和破坏病毒。检测病毒的方法是通过检测出病毒来实现防御。典型的方法有比较法和防篡改法。比较法是通过将文件数据和病毒特征进行比对来发现病毒的。类似于查毒软件,这种方法需要不断更新病毒特征;防篡改法是预先在文件中加入认证或校验码,通过检测文件是否被篡改来判断是否感染病毒,这种方法需要在音频制作的源头作处理,使用也很不方便。破坏病毒的方法是ー种较好的主动防御方法,其目标是直接破坏病毒。该类方法可分为非压缩域处理和压缩域处理两类。非压缩域处理首先将压缩的音频解码成原始脉冲编码调制(Pulse Code Modulation, PCM)数据,然后通过一定的方式改变PCM数据,最后通过编码还原成压缩文件。这种方法经历了解码和再编码过程,计算复杂度较高;压缩域处理则直接对压缩编码的比特流进行改变,如加入水印、改变缩放因子或编码码字等。压缩域处理方法虽然简单,但往往对音质有较大的损伤。总之,目前破坏病毒方法主要面临着两个技术难点,即如何降低计算复杂度和如何在破坏病毒的同时尽可能地保证音质。这两个问题在现有的方法中没有得到很好的解决。

发明内容
本发明所要解决的技术问题是提供ー种新的、快速的并能够保证广播音频文件音质的病毒破坏方法。本发明为解决上述技术问题所采用的技术方案是ー种快速破坏广播音频文件病毒的方法,其特征在于,逐一对编码流中的音频帧进行量化比特位的调整,将经重量化编码后的音频帧重新写入编码流中,对音频帧进行比特位调整包括以下步骤 a.解析当前音频帧的帧头和子带编码信息,得到当前音频帧中所有通道子带的位分配与样本码字;b.在參与当前音频帧编码的所有通道子带中先选择I个通道子带进行位分配减I调整,再选择I个或多个通道子带进行位分配加I调整;被选择的通道子带满足的条件是进行位分配减少调整的通道子带在位分配減少后所释放的样本码字比特数大于等于进行位分配增加调整的所有通道子带在位分配増加后需耗费的样本码字的总比特数,且进行位分配减少调整的子带编号与进行增加调整的子带编号不同;c.对经过位分配调整的所有通道子带的样本码字进行解码和反量化,生成对应通道子带的频率样本,再根据调整后的分配位对这些频率样本进行重新量化和编码,生成新的样本码字;d.将包含通道子带新位分配和新样本码字的所有帧信息按标准组织生成变化后的音频帧。可见,本发明不需要将音频解码成PCM形式,而是仅在压缩域对少数几个通道子带的样本进行简单处理,其计算复杂度很低。由于音频帧中的不同通道子带的样本码字是按节交替排列的,当音频帧中某ー个通道子带的样本码字发生改变后,变化的码字将分布在该音频帧的整个通道子带样本码字区域,又由于该区域大小占据音频帧码流的绝大部分,故本发明可大范围的对音频文件进行改变,进而保证对藏匿在音频文件中的病毒进行破坏。另外,本发明没有改变音频帧中的缩放因子、缩放因子选择等对量化误差影响较大的信息,而仅对I个通道子带的位分配进行减I调整,使得音质损失较小。同时,本发明将释放的比特尽可能地分配给其他通道子帯,即对I个或多个通道子带的位分配进行加I调整,使音质损失得到了补偿。为了进一步减小音质损失,在选择进行位分配减少调整的通道子带时,优先选择位分配减少I后所引起信号噪声比(Signalto Noise Ratio, SNR)下降量最小的通道子带。这是从编码的位分配原理中得到的启发。在mp2标准编码算法中,位分配是迭代完成的。姆一次迭代,算法将I个单位的比特数分配给具有最小掩蔽噪声比(Mask to Noise Ratio,MNR)的通道子帯。掩蔽噪声比表示当前信号被其他信号掩蔽之后的信噪比,其值越小表示掩蔽之后的噪声越大,音质越差。掩蔽噪声比由信号噪声比和信号掩蔽比(Signal to MaskRatio, SMR)的差来决定,即MNR=SNR-SMR其中SNR由量化比特位決定,可通过查表直接得到,而SMR是根据声学模型计算得到的,在编码之后可视为固定不变。基于这 个结果,本方法选择SNR下降最小的通道子帯,并将其位分配減少1,也就使MNR下降最小的通道子带的位分配減少1,即从声学模型角度保证了重新位分配引起的主观音质损失为最小。进ー步地,在选择进行位分配增加调整的通道子带时,优先选择位分配増加I所引起的信号噪声比的增长量最大的通道子带,使音质损失得到最大的补偿。更进一歩地,为了最大限度地弥补音质损失,步骤a还计算当前音频帧在最初编码时未用完的比特数;在步骤b中,被选择的通道子带满足的条件变为进行位分配减少调整的通道子带在位分配減少后释放的样本码字比特数与最初编码时未用完的比特数之和大于等于进行位分配增加调整的所有通道子带在位分配増加后需耗费的样本码字的总比特数。本发明的有益效果是,计算复杂度很低,且可大范围的对音频文件进行改变,以保证对藏匿在音频文件中的病毒进行破坏;与原文件相比,处理后的文件主观音质几乎不损失;位分配调整后,无法对其进行恢复,可以避免该方法本身被黑客攻击;处理后的文件保持了原文件的如大小、通道数、采样率、比特率等原有属性,可被任何标准解码器解码。


图I为MPEG-I第二层的比特流数据帧格式;图2为本发明方法流程图;图3为第2000帧的数据在本发明方法处理前后的对比。
具体实施例方式本发明从编码流中得到原各通道子带的位分配信息,按照心理声学模型,选择通道子带进行位分配的微小调整,并将相应子带的样本码字解码反量化后重量化编码,最后重新组织合成编码流写入文件,从而改变原文件数据以达到破坏病毒的目的,如图2所示,逐帧对音频文件进行处理,其中对每一音频帧的处理步骤包括I.解析帧头按照IS011172-3标准从音频帧中解析得到相关的音频格式信息;2.解析子带编码信息按照IS011172-3标准从音频帧中解析得到各通道子带位分配和样本码字等信息,其中第i个通道的第j个子带的位分配表示为A(i,j);计算出在最初编码时未用完的比特数adb ;3.选择通道子带并调整位分配根据当前參与编码的最高子带的编号sublimit,在子带编号属于[1,sublimit]的所有通道子带中选择2个或更多的通道子带,将其记录到选中的通道子带集合M中,并对选中的通道子带进行位分配调整,具体的步骤如下3. I.对各通道子带,计算若将当前的位分配減少I所引起的信号噪声比的下降量,并将其记录到ー结构数组snr_dec的键值成员中。该结构数组还记录了键值key对应的通道编号ch和子带编号sub信息;对该snr_deC数组按key值大小,从小到大进行排序;对key值相同的项,随机决定其先后顺序;3. 2.对除位分配为0和已达到最大分配外的各个通道子带,计算若将当前的位分配増加I所引起的信号噪声比的增长量,并将其记录到另ー结构数组snr_enc的键值成员中。该结构数组还记录了键值key对应的通道编号ch和子带编号sub信息;对该snr_enc数组按key值大小,从大到小进行排序;对key值相同的项,随机决定其先后顺序;3. 3.设m和n分别为数组snr_dec和snr_enc的浏览下标。置初值m=l, n=l, M为空集;3. 4.取snr_dec的第m项snr_dec [m],该项对应于SNR下降量最小的通道子带,设其通道编号和子带编号分别表示为snr_dec[m]. ch和snr_dec[m]. sub,计算若将其当前位分配减少I后可释放的比特数DEC ;计算当前可用比特数avail_bits为当前可释放比特数加上最初编码未用完比特数的总和,即avail_bits=DEC+adb ; 3. 5.对snr_enc的姆一项n作取第n项snr_enc [n]的通道编号和子带编号,分别表示为snr_enc[n]. ch和snr_enc[n]. sub,计算若将其当前位分配增加I后需要消耗的比特数ENC,并判断若当前可用比特数大于等于需要消耗的比特数(即avail_bits彡ENC)且释放和消耗比特数的子带编号不相同,贝1J选择通道snr_enc[n]. ch、子带snr_enc[n]. sub作为将进行位分配增加调整的一个通道子帯,并将其带加入到M中,同时更新avail_bits,使得 avail_bit=avail_bits_ENC ;3. 6若M非空,则选择通道snr_dec [m]. ch、子带snr_dec [m]. sub作为将进行位分配减少调整的通道子带,并将其带加入到M中,否则置m=m+l,并转到步骤3. 4进行下ー轮的选择;3. 7对M中将进行位分配减少调整的I个通道子带的位分配减I ;对M中将进行位分配增加调整的I个或多个通道子带的位分配加I ;4.解码反量化样本码字按照IS011172-3标准将M中所有通道子带的样本码字进行解码和反量化,得到相应的频率样本;5.重量化编码频率样本根据调整后的分配位,按照IS011172-3标准对M中所有通道子带的频率样本进行重新量化和编码,生成新的样本码字;6.帧编码流格式化按照IS011172-3标准将包含通道子带新位分配和新样本码字的所有帧信息写入编码流中。实施例以标准256kbit/s的mp2音频“费翔-故乡的云.mp2”文件作为输入的原始音频为例。该音频时长为4分24秒,总帧数为11020帧。本实施方式对输入的音频文件按编码帧为单位进行处理,一次处理ー帧,直到处理完全部的11020帧。下面以2000帧为例,处理的具体实现过程如下I.解析帧头按照IS011172-3标准从音频帧中解析得到通道数为2,采样率为48000kHz,比特率为256kbps,參与编码的最高子带的编号sublimit为27,解码表为第0个
表等信息;2.解析子带编码信息按照IS011172-3标准从音频帧中解析得到各通道子带的位分配和样本码字等信息,其中各个通道子带位分配数组A的值为{{6,7,5,7,8,7,6,5,5,4,3,2,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, {6, 7, 5,8,8, 6, 5,6, 4, 5,4, 3, 2, 3, 3, 2, 2,I,1,1,0,0,0,0,0,0,0}},其中两组数据分别对应左右两个通道各27个子带的位分配,例如A(2,13)的值为2表示当前通道子带(2,13)的位分配为2 ;计算得到在最初编码时该帧未用完的比特数adb为4比持;3.选择通道子带并调整位分配按照心理声学模型,从包含左右通道的子带I至子带27的54个候选者中选择通道子带,对其位分配进行调整,具体的步骤如下3. I.对各通道子带,计算若将当前的位分配減少I所引起的信号噪声比的下降量,填写结构数组snr_deC的键值,通道编号和子带编号3个成员,用快速排序方法对snr_dec按键值进行从小到大排序,得到有序snr_dec ;其中第一项snr_dec[l]的值为{4. 00,2,13},表示键值(或SNR下降量)为4. 00,通道编号为2和子带编号为13,该项对应于当前最小的SNR下降量。
3. 2.对除位分配为0和已分配到最大外的11个通道子带,计算若将当前的位分配増加I所引起的信号噪声比的增长量,填写结构数组snr_enc的键值,通道编号和子带编号3个成员,用快速排序方法对snr_enc按键值进行从大到小排序,得到有序snr_enc ;其第一项snr_enc[l]的值为{4. 84,1,11},表示键值(或SNR增长量)为4. 84,通道编号为I和子带编号为11,该项对应于当前最大的SNR增长量;3. 3.置数组snr_dec的浏览下标m=l, snr_enc的浏览下标n=l, M为空集;3. 4.考察snr_dec数组的第m项,在第一次,即对snr_dec[l]所代表的第2个通道的第13个子帯,计算得到若将其位分配从2减少为I可释放的比特数DEC为24,计算avail_bits 为 28 ;3. 5.逐一考察snr_enc的姆ー项n,对其计算若将其当前位分配增加I后需要消耗的比特数 ENC,并判断条件 avail_bits ^ ENC 且 snr_enc [n]. sub 幸 snr_dec [m]. sub。考察完毕后发现只有第I项满足条件,其对应的ENC为12,通道编号为I,子带编号为11,则选中第I通道的第11子带作为将进行比特位增加调整的通道子带,并将通道子带(1,11)加入到M中,avail_bits被更新为16 ;3.6由于M非空,选择第2通道的第13子带作为将进行比特位减少调整的通道子带,并将通道子带(2,13)带加入到M中;3. 7使通道子带(2,13)的位分配减1,即A(2,13)=A(2,13)-1 ;使通道子带(1,11)的位分配加 1,即 A(1,11)=A(1,11)+1 ;4.解码反量化样本码字按照IS011172-3标准将通道子带(2,13)和通道子带(1,11)的样本码字进行解码和反量化,得到相应的频率样本;5.重量化编码频率样本根据更新位分配信息,按照IS011172-3标准通道子带(2,13)和通道子带(1,11)的频率样本进行重新量化和编码,生成新的样本码字;6.帧编码流格式化按照IS011172-3标准将包含通道子带新位分配和新样本码字的所有帧信息写入编码流中,未用完的16个比特用0填补。下面从文件的改变、音质及格式的保持和处理速度三个方面对本发明的有效性进行验证。在测试音质及格式保持和处理速度环节,除了本发明的方法外,还将引入一种减化方案,即去掉实施例的第4和5两个步骤(对进行位分配调整的通道子带的样本码字的反量化解码以及重量化编码步骤),即位分配调整后不对改变的通道子带进行重新量化编码,而直接用原子带样本码字组织成帧,这样改变的仅有通道子带的位分配信息而不足以破坏病毒。在音质评价环节采用标准ITU-R BS. 1387中描述的主观音频质量评价(PerceptualEvaluation of Audio Quality, PEAQ)方法,它是目前音频质量客观评价方法中与主观评价结果相关度最高的方法。该方法利用人耳主观感知特性计算出信号的掩蔽阈值和失真阈值,然后采用人工神经网络融合出ー个评价參数ODG (Object Difference Grade),本实施就采用这个參数来对音频质量进行客观评价。I.文件的改变首先将处理后的文件与原文件进行数据对比分析。由前面分析知,数据变动会发生在帧的位分配和通道子带样本码字两部分,而数据变动的大小主要跟位分配減少所释放比特数与位分配増加所耗费比特数的差值diff_bit有夫。由于各通道子带样本的码字在编码流中是交替排列的,參数diff_bit —旦不为0,就会造成处理后比特排列的严重错位,而带来帧数据的大范围的变动。
图3显示了前面列举的第2000帧在处理前后的数据对比情况,其中变动字节的背景用阴影显示出来。该帧位分配減少所释放的比特数为24,而位分配増加所耗费的比特数为12,即diff_bit=12。可以看到,在帧前面部分的变动有2个字节,对应于被改变的两个通道子带的位分配信息。在占到音频帧绝大部分的通道子带样本码字区域,数据几乎都被改变了,这是比特排列的严重错位的效果。对整个帧,数据变化率达84. 77%,连续不变的最大区域出现在帧的前面部分,其长度为95字节。2.音质及格式的保持用同一标准解码器对原mp2文件及通过本发明方法和其减化方法处理得到的文件进行解码。表I列出了 3个音频文件解码后的音质对比,评价參数为0DG。该參数值越接近0,表示音质越好。表I原文件、通过本发明及其减化方法处理后的文件的音质比较
权利要求
1.ー种快速破坏广播音频文件病毒的方法,其特征在于,逐一对编码流中的音频帧进行量化比特位的调整,将经重量化编码后的音频帧重新写入编码流中,对音频帧进行比特位调整包括以下步骤 a.解析当前音频帧的帧头和子带编码信息,得到当前音频帧中所有通道子带的位分配与样本码字; b.在參与当前音频帧编码的所有通道子带中先选择I个通道子带进行位分配减I调整,再选择I个或多个通道子带进行位分配加I调整;被选择的通道子带满足的条件是进行位分配减少调整的通道子带在位分配減少后所释放的样本码字比特数大于等于进行位分配增加调整的所有通道子带在位分配増加后需耗费的样本码字的总比特数,且进行位分配减少调整的子带编号与进行增加调整的子带编号不同; c.对经过位分配调整的所有通道子带的样本码字进行解码和反量化,生成对应通道子带的频率样本,再根据调整后的分配位对这些频率样本进行重新量化和编码,生成新的样本码字; d.将包含通道子带新位分配和新样本码字的所有帧信息按标准组织生成变化后的音频帧。
2.如权利要求I所述ー种快速破坏广播音频文件病毒的方法,其特征在于,在选择进行位分配减少调整的通道子带时,优先选择位分配減少I后所引起信号噪声比下降量最小的通道子帯。
3.如权利要求2所述ー种快速破坏广播音频文件病毒的方法,其特征在于,在选择进行位分配增加调整的通道子带时,优先选择位分配増加I所引起的信号噪声比的增长量最大的通道子帯。
4.如权利要求I所述ー种快速破坏广播音频文件病毒的方法,其特征在干,步骤a还计算当前音频帧在最初编码时未用完的比特数;在步骤b中,被选择的通道子带满足的条件变为进行位分配减少调整的通道子带在位分配減少后释放的样本码字比特数与最初编码时未用完的比特数之和大于等于进行位分配增加调整的所有通道子带在位分配増加后需耗费的样本码字的总比特数。
全文摘要
本发明提供一种快速破坏广播音频文件病毒的方法,逐一对编码流中的音频帧进行量化比特位的调整,将经重量化编码后的音频帧重新写入编码流中;在参与当前音频帧编码的所有通道子带中先选择1个通道子带进行位分配减1调整,再选择1个或多个通道子带进行位分配加1调整,本发明不需要将音频解码成PCM形式,而是仅在压缩域对少数几个通道子带的样本进行简单处理,其计算复杂度很低,并且可大范围的对音频文件进行改变,进而保证对藏匿在音频文件中的病毒进行破坏。
文档编号G10L19/00GK102831893SQ20121013851
公开日2012年12月19日 申请日期2012年5月7日 优先权日2012年5月7日
发明者甘涛, 何艳敏, 黄晓革, 周南, 兰刚 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1