DSP如何进行算法解码
当讨论利用DSP结构进行算法解码时,必须将视野扩展到最终消费者。只有这样才能更好地了解消费者的决策过程及购买模式。一般说来,消费者的主要选择标准应包括一系列的基本技术特性,比如杜比音频解码和DVD视频支持。此外,一些审美因素和比较新颖的特性也会在决策考虑之列。考虑到这些因素,可编程引擎应该是半导体供应商最佳的结构性方案。有了可编程特性,整个系统才可以有多种形式供选择,以满足不同消费者的偏好和特殊要求。
第一个结构性选择是决定在芯片内采用DSP引擎。必须基于解码算法确定这一引擎的具体要求。Cirrus Logic开发各种各样的音频、视频和网络应用,而且每一种应用都有自己特殊的要求。举个简单的例子,一个MPEG视频解码器可工作于8位数据总线上(即每个RGB或Y、Cr、Cb视频分量的字长是8位),内核引擎应能够处理24位宽数据总线以便所有三个视频分量可同时工作。尽管采用24 位引擎会使得DSP引擎变大三倍,但它可以以原来1/3的速度运行。这种成本/性能的平衡方法是开发任何芯片方案的关键决策。
每一组算法或应用也需要类似的折衷,但这些折衷可能会有深远的影响,并需要系统级的交互。我们将通过对Cirrus的Audio DSP方案进行分析来说明这一点。这一方案主要针对音频/视频接收器市场,Cirrus约占该市场60%-65%的份额。音频算法经过多年的发展,现已包括各种压缩方案、环绕声和音效增强方案。一般地,当从存储媒质读取数据流或从广播源将音频馈送至系统时,首先要执行的任务是数据流解压缩。可以采用行业标准算法进行解压缩,但即便在这种环境下设计折衷也是存在的。最重要的决定是如何选择遍及整个DSP的数据路径的宽度。为了更全面地了解这一问题,有必要介绍一些这方面的知识。
自从便于存储和传输的音频数字化出现时,两个重要参数一直就是系统设计的核心。它们分别是转换速度和转换分辨率(每采样的位数),而且它们决定了声音播放的特征。早期的数字化音频一般采用8-12位数据转换器,采样率为32kHz至48kHz。所选频率是在人耳能够听到的奈奎斯特频率范围之内,分辨率是现有转换器技术与在给定分辨率下声音质量之间的折衷。当然,随着时间的推移,系统要求也在不断提高。现在的系统采用20到24位的采样分辨率,而采样率则高达192kHz。高性能扬声器系统及更高的系统性能要求驱动着采样分辨率的不断提高。
提高采样分辨率可降低噪声,并大大提高系统动态范围。因此,在喧闹和动态的音乐现场,比较静的音乐也不会听到音乐在高音量播放时所发出的嘶嘶声。当采用有损耗的压缩方案时,低噪声也同样重要。在有较高的噪声存在时,有损耗的压缩性能表现不会太好。因此,这类压缩方案对低分辨率音频的负面影响比较大。高分辨率在降低带内噪音的同时,较高的采样率还可减少信号失真。选择奈奎斯特作为转换器采样率可确保频率达到采样率的一半时仍可再生。尽管如此,高频失真仍比低频失真严重。设想一个采样率为48kHz的系统,如果输入是1kHz,该系统可使用48个采样来再生一个完整的周期。但如果输入是24kHz,只有两个采样可用来完成同样的任务。两个采样将生成一个三角波,而不是正弦波,结果信号就会严重失真。在整个输入频率范围内,这一失真将会线性增加。如果将采样率提高至96kHz或192kHz,高频信号的失真就会大大降低。数字音频的这些演变对用于音频解码和处理的DSP的结构有着重要影响。
两个关键音频参数对应于两个DSP指标。采样率要求有足够的处理周期对最高速率的音频流进行解码和后处理,将处理器内核的分辨率提高至高于采样分辨率即可满足音频采样分辨率的要求。这样可确保执行乘法或加法运算时所产生的截断误差不会累积到对最终结果有明显影响的程度。例如,当处理24位音频时,一般可选择一个32位的处理器用于数据路径。另一种方法是采用较小的数据路径,对音频采样进行双倍精度的计算。当然,这需要更多的处理周期,而且对整个运算过程中的所有中间结果都必须密切关注。
音频和视频处理器的结构性折衷促成了完全可编程DSP内核的产生。这种DSP内核可处理有特定分辨率和带宽要求的数据。在音频领域,工作频率约为100至200 MHz的24位和32位DSP内核可满足这类应用的音频编/解码要求。
|