可以检测声音信号的暂态位置的编码器及编码方法技术

技术编号:3046630 阅读:226 留言:0更新日期:2012-04-11 18:40
一种编码器包含多相滤波器组、暂态检测器以及编码处理单元。该编码器首先进行子带编码步骤,根据输入信号产生多个子带样本,每一子带样本中包含多个频率子带。接着进行选择步骤,选出多个子带样本作为参考采样数据,并根据该参考采样数据于预设频率范围内的频率子带的能量总合来决定该视窗数据的块长度。最后进行变换编码步骤,根据选择步骤所决定的视窗数据对该多个频率子带以预设的转换演算法进行变换产生输出信号。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术提供一种编码器,尤指一种可以检测声音信号的暂态位置的编码器。本专利技术的编码器亦可以进一步判断频域编码时使用视窗数据的块长度。
技术介绍
目前有许多编码器依据人类听觉系统的特性而采用特殊的编码演算法,可将数字声音信号数据压缩至十倍以上,如MP3、AAC、WWA及Dolby Digital等,这些编码器采用了知觉编码、频域编码、视窗切换及动态位分配等技术来消除原始声音信号数据中不必要的内容。知觉编码是通过消除一般人类听觉系统所感受不到的声音信号数据来进行压缩。一般来说,人类所能听到的声音频率约为20Hz到20kHz之间,而其他频域的声音一般人类是感受不到的。另一方面,人类的听觉系统在某些情况下也会产生听觉的屏蔽(mask),而无法分辨出量化的噪声,例如当有一个音量或音色特别突出的声音出现时,其邻近的细小的声音会比较难被察觉,因此在编码时不需要把所有的声音细节都编进去。频域编码是一种可以有效消除不必要数据的方法,将有很强相关性的时域数据转换到各元素几乎不相关的频域内,来除去除数据中不必要的内容,一般可分为变换编码或子带(subband)编码。变换编码的频谱解析度较高,而子带编码的解析度低但效率较高,所以可以将这两种编码结合成一个混合滤波器,在不同频率处有不同的解析度。然而,频域编码有一个显著的现象称为前向回波(preechoes),举例来说,一般静音之后倘若突然出现很大的声音,可能会使得量化误差增大。在变换编码和子带编码中都会产生这种现象,导致数据在转换回时域之后出现声音的前向回波。消除前向回波的一种方法是将误差限制在一个较小的时间段内,把声音的其它部分与前向回波分开,使前向回波产生于屏蔽区之中。将误差限制在一个较小的时间段内需要使用较小的块来进行频域变换,这种方法称为视窗切换,当信号稳定时使用较大的块来进行频域编码,而当信号有大幅度的暂态(Transient)时,就使用较小的块来进行频域编码。视窗切换的缺点是表示相同数据时需要更多的位数,因为随着编码数据数量的增加需要更多的信息。一个编码器是否有好的编码品质、与位在各个子带或系数之间的分配有很大的关系。为有效地分配位,必须不断地分析输入信号,并根据对人类听觉系统的知识所建立的模型,将较多位分配到人的听觉最有效的区域,在人耳不敏感的区域就不用分配或只分配很少的编码位。因为信号不停变化,人的听觉系统在不同条件下对信号也会有不同的反应,这就是动态位分配的技术。好的位分配方案需要精确的心理声学模型(psychoacoustic model)。请参考图1,图1为已知MPEG layer-3声音信号编码的示意图。首先,脉冲码调制(pulse code modulation,PCM)的输入信号10由多相滤波器组(polyphase filter bank)12分成32个等宽的频率子带(frequencysubbands),多相滤波器组12可以简易的分析频率对时间的关系,但是等宽的频率子带并不能准确地反映出人类听觉系统的听觉特性,此外,邻近的频率子带会有较多的重叠部分,所以多相滤波器组12的输出需使用修正离散余弦变换(modified discrete cosine transform,MDCT)14来补偿。修正离散余弦变换14进一步将频率子带做细分,以获得较好的频谱解析度,而且可以将一些由多相滤波器组12所产生的重叠消除掉。修正离散余弦变换14包含两个不同长度的视窗块,分别为一个十八采样的长块和一个六采样的短块,因为连续的转移视窗块有百分之五十的重叠,所以块的长度分别是三十六和十二。在声音信号稳定时,长块有较高的频率解析度及较好的压缩率,而短块则提供较好的时间解析度。由于长块的时间解析度较低,若在处理的块中发生暂态现象,因量化噪声(Quantization Noise)会扩散到整个块,使得能量较小的信号因本身屏蔽效应(Mask)较低无法遮蔽量化噪声而产生失真,如前向回波。为避免前向回波,已知MPEG声音信号编码使用心理声学模型16来检测声音信号的暂态(Transient)位置,以使用短块进行修正离散余弦变换14来避免前向回波。在将输入信号10使用频域编码的技术转换到频域后,接着进行量化程序18,根据心理声学模型16来量化数据,然后进行封装程序20,将数据封装后输出数据位流(bitstream)的输出信号22。由上述可知,在进行频域编码时,为避免前向回波,视窗切换是一种常用的技术,这时检测声音信号暂态位置的机制便很重要。已知MPEG声音信号编码使用心理声学模型16来检测声音信号的暂态位置,虽然很准确,但由于心理声模型16相当复杂,所需的成本也很高,若因为使用视窗切换需要检测声音信号的暂态位置而使用高成本的心理声学模型16,是相当不经济的。
技术实现思路
因此本专利技术的主要目的是提供一种可检测声音信号暂态位置的编码器。另一方面,本专利技术亦提供一种可判断频域编码时使用视窗数据的块长度的编码器及编码方法,以解决上述问题。本专利技术是提供一种编码器,用来将输入信号编码为输出信号。该编码器包含多相滤波器组,用来根据该输入信号产生多个子带样本,不同的子带样本对应于不同时段的输入信号波形,而每一子带样本中包含多个频率子带;暂态检测器,连接到该多相滤波器组,用来决定视窗数据的块长度,该视窗数据中包含有多个加权值,该暂态检测器包含子带选择器,用来选择该多个子带样本作为参考采样数据;能量计算器,连接到该子带选择器,用来计算该参考采样数据中频率子带的能量总合;分区器,连接到该子带选择器与该能量计算器之间,用来将该参考采样数据分成数组子采样数据,每一组子采样数据包含至少一个子带样本;以及比较器,连接到该能量计算器,用来将能量计算器的输出值与第一临界值作比较,根据该比较结果输出表示视窗数据的块长度的信号;以及编码处理单元,连接到该多相滤波器组与该暂态检测器,用来将该多个频率子带乘以该暂态视窗数据中的多个加权值以产生加权结果,再以预设的转换演算法根据该加权结果产生该输出信号。本专利技术另提供一种编码方法,用来将输入信号编码为输出信号。该编码方法包含有进行子带编码步骤,以根据该输入信号产生多个子带样本,不同的子带样本对应于不同时段的输入信号波形,而每一子带样本中包含多个频率子带;进行选择步骤,以提供对应于预设块长度的视窗数据,该视窗数据中包含有多个加权值;而该选择步骤中包含有在该多个子带样本中,选出多个子带样本作为参考采样数据,并根据该参考采样数据在预设频率范围内的频率子带的能量总合来决定该视窗数据的块长度;以及进行变换编码步骤,将该多个频率子带乘以该选择步骤所决定的视窗数据的多个加权值以产生加权结果,并以预设的转换演算法根据该加权结果产生该输出信号。相对已知技术,本专利技术提供一种编码器及编码方法可用来决定进行修正离散余弦变换时使用的视窗数据的块长度,利用编码器的过程中所产生的子带样本中频率子带所含的能量值为判断声音信号数据是否发生暂态,远比已知使用心理声学模型需要较低的成本,符合经济效益。附图说明图1为已知MPEG layer-3声音信号编码的示意图。图2为本专利技术实施例的编码器的示意图。图3为本实施例的子带样本的示意图。图4为本专利技术实施例中编码器检测声音信号的暂态位置方法的流程图。具体实施例方式本文档来自技高网
...

【技术保护点】
一种编码方法,用来将输入信号编码为输出信号,该方法包含有:进行子带编码步骤,以根据该输入信号产生多个子带样本,不同的子带样本对应于不同时段的输入信号波形,而每一子带样本中包含多个频率子带;进行选择步骤,以提供对应于预设块长度 的视窗数据,该视窗数据中包含有多个加权值;而该选择步骤中包含有:于该多个子带样本中,选出多个子带样本作为参考采样数据,并根据该参考采样数据于预设频率范围内的频率子带的能量总合来决定该视窗数据的块长度;以及进行变换编码 步骤,将该多个频率子带乘以该选择步骤所决定的视窗数据的多个加权值以产生加权结果,并以预设的转换演算法根据该加权结果产生该输出信号。

【技术特征摘要】
1.一种编码方法,用来将输入信号编码为输出信号,该方法包含有进行子带编码步骤,以根据该输入信号产生多个子带样本,不同的子带样本对应于不同时段的输入信号波形,而每一子带样本中包含多个频率子带;进行选择步骤,以提供对应于预设块长度的视窗数据,该视窗数据中包含有多个加权值;而该选择步骤中包含有于该多个子带样本中,选出多个子带样本作为参考采样数据,并根据该参考采样数据于预设频率范围内的频率子带的能量总合来决定该视窗数据的块长度;以及进行变换编码步骤,将该多个频率子带乘以该选择步骤所决定的视窗数据的多个加权值以产生加权结果,并以预设的转换演算法根据该加权结果产生该输出信号。2.如权利要求1所述的编码方法,其中当进行该选择步骤时,若该参考采样数据于该预设频率范围内的频率子带的能量总合大于第一临界值,则另进行比较步骤,其包含将该参考采样数据分成数组子采样数据,每一组子采样数据包含至少一个子带样本;以及计算相邻两组子采样数据于该预设频率范围内的频率子带的能量大小差值,若该差值大于第二临界值,则于该变换编码步骤时,使用短块长度的视窗数据。3.如权利要求2所述的编码方法,其中该选择步骤另包含当进行该比较步骤时,若相邻两组子采样数据于该预设频率范围内的频率子带的能量大小差值小于或等于该第二临界值,则进行另一次比较步骤,并使此比较步骤中的子采样数据所含有的子带样本相异于前一次比较步骤中的子采样数据。4.如权利要求2所述的编码方法,其中若该参考采样数据于该预设频率范围内的频率子带的能量总合小于该第一临界值时,则于该变换编码步骤时,使用一长块长度的视窗数据。5.如权利要求1所述的编码方法,其中该输入信号是为脉冲码调制信号。6.如权利要求1所述的编码方法,其中该输出信号是为编码位流。7.如权利要求1所述的编码方法,其中该预设的转换演算法是为修正离散余弦变换。8.一种编码器,用来将输入信号编码为输出信号,其包含多相滤波器组,用来根据该输入信号产生多个子带样本,不同的子带样本对应于不同时段的输入信号波形,而每一子带样本中包含多个频率子带;暂态检测器,连接到该多相滤波器组,用来决定视窗数据的块长度,该视窗数据中包含有多个加权值,该暂态检测器包含子带选择器,用来选择该多个子带样本作为参考采样数据;能量计算器,连接到该子带选择器,用来计算该参考采样数据中频率子带的能量总合;分区器,连接到该子带选择器与该能量计算器之间,用来将该参考采样数据分成数组子采样数据,每一组子采样数据包含至少一个子带样本;以及比较器,连接到该能量计算器,用来将能量计算器的输出值与第一临界值作比较,根据该比较结果输出表示视窗数据的块长度的信号;以及编码处理单元,连接到该多相滤波器组与该暂态检测器,用来将该多个频率子带乘以该暂态视窗数据中的多个加权值以产生加权结果,再以预设的转换演算法根据该加权结果产生该输出信号。9.如权利要求8所述的编码器,其中该能量计算器会计算相邻两组子采样数据中频率...

【专利技术属性】
技术研发人员:徐建华
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1