所有产品

通过DSP算法技巧和优化音频解码器的质量

  通常在谈到关于DSP解码与系统整体性能表现时,我们主要利用了传统的SNR、瞬时误差和相位误差等方法进行判断。本文以心理-声学压缩设计的方法来考察DSP解码的性能与表现,介绍了基于心理-声学的音频压缩解码概念,并给出了基于心理-声学的DSP性能分析。

  从上个世纪90年代以来,数字信号处理技术便逐步在消费音频市场占据重要地位。数字信号处理器最初主要用于处理数字化的模拟音频信号,即PCM数据的处理。在当前的系统设计时代,基于具有灵活软件设计特性的DSP系统设计方案是传统设计的理想替代方法。

  在音频系统的设计中,通常在信号源进行压缩编码时采用心理-声学模型去除信号中的冗余数据,通过选择合适位数的DSP可以保证系统的性能。实际应用中DSP的选择需要涉及到很多因素,包括精度(24位/32位)、主频、成本和内存容量等。本文就音频解码应用中,基于心理-声学模型对DSP的性能进行了分析。

  本文在后面所述的数据都是在dBFS下的测量值,即满刻度分贝值。从可闻度来分析,需要将这些数值与dB SPL关联起来,即转换为声压强度的分贝数。在DSP之后的模拟信号链上包括DAC、前置放大器、功率放大器和扬声器,尽管对于不同的系统,每个元件的增益和性能可能会有显著的差异,但单纯从系统配置的角度而言,仍可能把dBFS与dB SPL以足够的准确性关联起来。

  通常,数字音轨以-20dBFS电平进行录音,完全满足信号峰值所要达到的幅值,同时也拥有足够的动态范围以展现音频文件的静音部分,在CD、Dolby Digital和DTS等不同格式下也不会失真。众所周知, THX推荐的听觉配置是在85dB声压强度下再现-20dBFS声音信号,这时音量通常会很大,而正常的收听时会比该强度低很多。

  从上面是的事实得出dBFS与dB SPL之间是线性映射的,具有以下关系:0dBFS的信号可在105dB SPL再现,需要注意的是这种情况下产生的声音非常高,不适合长时间收听; 0dB SPL对应与-105dBFS。

  人类的听觉是有极限的,通常在声压强度的设计上会把0dB设定为最低可听范围水平。声音频谱中的大部分(300Hz以下和10KHz以上)只有在10dB的声压强度之上才可以听到,正弦波的最高敏感度在3~4KHz,而且这样的声音在-3~-4的dB SPL就可以被听力极好的人感知。黄金城彩票

  从生理学上看,要达到声音听觉阈值,其能量需要大到能在人的耳鼓产生一个驻波,从而使那儿的细小毛发产生波动。没有这种波动,连接听觉皮层的神经元就不能被触发,因而声音不能被感知。从上面的讨论我们得到的关于音频系统设计的启发,即当噪音的水平低于人们的听觉阈值时,一味追求高精度的DSP实现方案并没有实际意义。

  利用先前得到的听力配置关系,最低的可听声压为-4dB SPL,即-109dBFS。假设在信号链所有其它部分(DAC、前置放大器等)均为零失真,这就意味着任何能够产生好于109dB信噪比的DSP都不会成为系统性能的瓶颈,这是采用DSP实现系统设计的一个很重要的问题。实际应用中,模拟信号链是系统中噪音的最主要来源,而DSP对噪音的贡献远远低于这些模拟器件。

  上面的分析是建立在-20dBFS平均水平和THX听力配置情况下。尽管这是一个极限情况,考虑到dBFS/dB SPL转换关系的变化,在设计时还要留出一些性能余量。因此,一个考虑周全的设计应该使DSP的位数比理论位数大约多出两位,即121dB使用6dB/位的配置,对应着PCM输出的20位动态范围。

  以上的分析与杜比公司的Dolby Digital设计方案的假设一致,该方案同样是采用20位的精度。同时,实际的ADC/DAC也限制在20位精度的性能(《120dB),即使是DAT录音也是采用20位的精度。所有的这些都验证了上面的分析的正确性。

  上述数据是基于最坏的情况,因为在实际情况下功率放大器、前置放大器和DAC产生的噪音量比DSP的性能对系统整体的性能影响更大。最好的功率放大器也仅仅能获得109dB的信噪比,因为噪音能量在线性区域中可累加,这意味着一个输出是121dB的20位DSP,仅仅会产生放大器6.66%的噪音。而如果扬声器的性能也作为考虑因素,那么DSP产生的噪音就是1/6??扬声器失真,这是可以完全忽略的。

  上面的分析甚至没有考虑编码的失真、ADC或麦克风产生的噪音,所有这些都是非常关键的。如果所有信号链都考虑到,很显然20位的DSP已经足够用。仅仅用非常态正弦波测试,人为的合成精度超过20位的信号才能得到可测量的差别,并且这种差别实际上是人类听觉不能感知的。

  心理-声学压缩设计是针对给定信号的有损压缩,进而了解在什么程度下不同的频域/时域信号是可听见或听不见,以便相应调整编码过程,使引入的噪音降到听觉阈值之下。基本的现象为信号中强音部分会掩蔽临近弱音部分,理想的情况下,这样的数据减少不会导致感觉到音质的损失,这样就引出“透明”音频编码或压缩的概念。

  这与简单的SNR测量有根本的不同,同时更为复杂,因为它需要精确再现特殊信号中相关的可听部分。换句话说,虽然SNR是不错的确定编/解码质量的准则,但它却不合适用这个标准去判定能够产生-140dB THD+N的DSP就一定比-130dB THD+N的好。因为心理-声学压缩设计是建立在人类听觉阈值曲线基础之上,上面的结论也就变得非常明显,在这个阈值之下的信号不能被听见。

  在实现编码/解码过程中,上述的因素均与算法精度无关,即使是使用无穷精度实现,上面的因素同样对音频质量起决定性影响。

  基于上面讨论的有损压缩系统,可以得出下面的结论:传统的SNR、THD+N、瞬态误差和相位误差等测量方法,在比较不同实现方案的性能时都不再是最终的度量标准,只能在鉴定和校验系统性能时作为参考,不能用来对与心理-声学验证的约120dB性能的阈值有细微的差别的系统进行评级。

  通常20位DSP已经能满足系统,而从心理-声学角度16位就已足够,对于一个给定的压缩方案而言,一旦解码器达到了一定的性能,单纯增加DSP的精度就不会进一步的提高系统性能。实际的DSP增值解决方案就变成了对解码音频程序的后期处理和它所提供的系统级特性。事实上,最终消费者还需要产品具有更多的附加特性,例如自动监测、错误屏蔽和拥有提供虚拟音效的后期处理器等。

  单从市场反映来看,采用32位DSP在概念上还是很成功,因为从数字上可以直观感觉到性能的进步。实际上,从整体性能和更多功能上来考虑是一种明显的误解,这种误解就相当于对PC机只比较CPU的主频,而不考虑系统的整体性能一样。

  32位的DSP并不能真正有助于提高系统最终性能,它需要更大的内存(比24位DSP多出大约33%)。同时,因为32×32MAC比24×24MAC慢,一个32位DSP核将始终比相应的24位核的解码器慢。就信噪比而言,实际应用效果证明,通过优化处理,24位DSP可以得到和32位DSP相同(甚至更高)的性能。

  需要注意的是,上面讨论仅仅基于基本的解码器,32位DSP在后期处理上仍然存在某些优势。因此,如果前端使用高度优化的24位DSP解码引擎,后端处理器为一个32位DSP,这样一个优化的设计结合了两者的优势是一种不错的选择,目前已经有这样的系统级芯片方案提供。

  在现实世界中利用心理-声学来压缩编码时,SNR测试方法在比较系统性能上并不是合适的标准。而ITU PEAQ测试平台方法则更适合测量可感知音频的质量。此外,当我们在评估一个DSP解决方案时,还需要考虑到系统的错误屏蔽、自动检测和后期处理的特性,以及系统的启动响应时间和批量延迟等。

  影响AV接收系统解码器质量的因素并不全是DSP精度的问题。通过较强的DSP算法技巧和优化,能使一个24位精度的性能超越32位DSP。然而,随着制造工艺的不断提高,32位的DSP将最终解决上述问题,使32位的解码器更具成本和技术上的比较优势。