声卡芯片的过去与未来(中)
|
|
声卡芯片的过去与未来(中)朱云1999.7(独家授权于《电脑报》) 声卡的体系结构声卡的体系结构并不复杂,概括地讲(如图所示)可以分为:音效芯片/芯片组、音效CODEC芯片、功率放大芯片和波表音色库等几部分。 其中,音效芯片/芯片组是声卡的核心,它的功能是对数字化的声音信号进行各种处理。音效芯片能够使用的数字音源有以下几种:首先是普通音频信号,可以来自WAV文件或CD唱片的,也可以是由CODEC芯片或S/PDIF接口送来的,因为未经压缩等处理,其数据量十分惊人;其次是MIDI,MIDI其实是一系列生成音乐的指令,由芯片接收后运用FM或波表合成等方式合成音乐,尽管实际效果在不同硬件上并不如普通音频信号那样一致,但数据量较少、易于存储、传输;还有一些其他的数据格式,如Dolby Digital(AC-3)和DTS的数据流等,也受到部分芯片的支持。声效芯片的处理功能,一是混音,即将多个不同的音频数据流合而为一,再通过CODEC变为声音放出来;二是特殊音效的处理,如简单的高低音调调节功能或较复杂的3D声像扩展功能;至于3D声源定位和环境音效的处理更是运算密集型工作。所有这些数据处理工作都由芯片的控制核心配合DSP(数字信号处理)核心来完成。近来的音效芯片还往往集成了S/PDIF数字信号的接口,可以方便而且较长距离地传输数字信号。另外很多芯片还具有ACAPI、APM等高级电源管理功能。 音频CODEC芯片是声卡的另一个重要组成部分,它负责的是将模拟信号转换为数字信号的AD转换和数字信号转化为模拟信号的DA转换。声卡上模拟的CD In、Line In、MIC In等线路电平输入和Line Out等线路电平输出都是通过CODEC来实现的,所以声卡的音质高低很大程度上取决于它,比如声音的幅值和相位的准确度、信噪比、动态范围等。 至于功率放大IC则是廉价声卡常常省去而高价声卡又常常被人忽略的部分。声卡上的功放一般功率都不太大(2W~10W),由于电源不足和空间、散热等的限制音质也不会太出色,但高档声卡上的功放并不输于普通有源音箱内的功放,有条件的朋友不妨试试高效率的优质无音源音箱。而MIDI使用的波表音色库是可选部件,因为波表数据既可存在在卡上,也可存在系统内存中。 过去的声卡芯片亦曾有过音效芯片、CODEC合而为一的产品,但AC 97’标准规定了现在这种分开的结构,原因也很容易解释:其一,模拟电路易受干扰(数字电路不太会),而数字电路恰恰是主要的模拟噪声源,自然应将数字处理芯片同数模接口分开、越远越好;其二,生产模拟电路和数字电路的工艺截然不同,要在一片硅片上同时集成这两种电路是困难而且矛盾的,所以当它们被分开后不但可以各自提高性能,也是使效芯片可以尽其所能地提高集成度,以至于接近显示芯片和CPU的生产工艺及处理能力。 声卡芯片的技术分类音频CODEC的分类十分简单,只是最初的单声道8位精度的、立体声8位的,通常的立体声16位的、以及多通道立体声16位的,将来还会有24位96KHz取样频率的(DVD音频标准)。一般当然是位数越高、取样频率越高的,精度越好,同样是16位CODEC则由信噪比、动态范围以及比较专业的时钟抖动等数据来区分其档次。音效芯片能够处理的数据位数自然也得与其互相配合。 音效芯片的第一个技术指标是声道数,最早的单声道芯片早已无处寻觅了,现在双声道立体声芯片逐渐变得很便宜,冉冉上升的新星是多声道环绕声的。音频数据量正日益增加,ISA又因其落后的IRQ、DMA设置被迅速淘汰,所以PCI总线的音效芯片正日渐替代ISA产品。由于MIDI回放中的多样性,从简单的FM合成用几个单音(正弦波)来模拟乐器,到十分耗费CPU处理能力的软件波表合成,直至由音效芯片硬件波表合成具有复杂频谱的接近真实乐器的声音;乐器的波表数据既可以存放在固化的ROM中焊在卡上,也可以是在声卡的可download的RAM中,甚至放在系统内存中,既省成本又方便更新(只是通过PCI总线读取稍慢些)。3D音效红透半边天虽然只是近年来的事,但实际上有3D功能的声卡由来已久。开始是用廉价的运放(OP Amp)加加减减以达到立体声加强和展宽的目的,但效果差而且会让两个声道的声音串来串去、含糊不清;SRS、QSound和Spatializer等模拟方式处理的3D立体声增强电路,可以利用立体声输出变化出比较宽大、清晰的音场;到真正的第一代3D音效出现,我们可以利用多声道(双声道效果差些)系统进行360°的全方向、距离的音源定位;而第二代3D音效则引入了环境效果,可以有更完整的环绕、包围感觉,甚至会有音源高度的感觉。 声卡系统的硬件实现方法也有很多。首先CODEC芯片永远是少不了的,因为计算机处理数字信号无论如何也得变成模拟信号才能从扬声器中放出来听(即使是USB音箱也还是使用了音箱里的CODEC)。音效芯片:最廉价可以用CPU代替,尽管比较耗费CPU的运算能力;用通用型IC制造声卡则比较类似于prototype(试验型号),虽然灵活性高,但由于IC数目多、又要使用性能较高(甚至过高)的DSP芯片,所以成本是高得没商量(例如MX 200声卡);专用芯片实现是最普遍的,这又分为两种,一种是部分处理程序(如BIOS等)可升级的芯片,其核心是较有灵活性的DSP(例如Emu 10k1),灵活性较好、但速度慢些,另一种是全部程序基本固化,而核心是专门目的、专用连线的DSP(例如Vortex 1/2系列),虽不甚灵活、但速度一流(就象3Dlabs的Gamma硬连线几何加速芯片一样)。从市场上的产品和走势可以看出,以部分程序可升级的专用IC最多见,也较易取得市场优势。 3D音效的原理为什么我们能用几个扬声器(5.1声道、4.1声道、5声道、4声道、甚至2声道)回放出接近于真实世界的各种声音和音乐效果?这就要从人类听觉产生的原理讲起。 人的耳朵从简单的方面看,类似于两个拾音器。单个拾音器同眼睛的简化类比棗照相机不同,它无法分辨声音的方向和距离,它只能了解声音在各种频率下的大小(幅频特性)和声音在各个频率下的时间先后(相频特性)。从这个有两个拾音器的简化模型中,我们看到人只能通过两耳听到的声音的大小差异和时间差异分辨出声源的远近和方向,而且这个方向仅仅是从左到右的180°内的方向,说180°是因为单凭这个模型理论上无法分辨前后方向的差异。 那为什么我们还能分辨出前后上下的声音呢?这就要讲到音响界几十年来最大的进步之一棗HRTF(Head Reference Transmition Function,头部相关传递函数)。HRTF简而言之,就是耳朵对从空间各个方向传来的声音有不同的感受,这主要是因为耳廓的“奇异”形状加上外、中、内耳通道的结构和周围头部组织的各向异性结构对不同方向的声音有着不同的机械滤波作用,从而使外来声音的幅频和相频特性的频谱结构有所改变(就是不同频率的声音的大小比例、先后次序产生了变化),所以乐器或物体的声音(包括人声)在不同的方向上显得有所不同,从婴儿时代起人们就逐渐学会了利用这些不同来分辨声音的方向棗当然只有一个频率的正弦波,你就无法分辨其方向了,如果听过测试音响时最简单的1KHz信号,你就会发现是难以准确判断其方向的。 第一代3D音效芯片就是将声音信号进行数字滤波,使该在后面的声音显出后面声音特有的频谱结构,使该在扬声器外面的声音显得如同它就在外面一样,还要有距离的感觉。因为运算能力的问题,第一代3D音效芯片只能做到近似的HRTF算法,因此效果一般,还很可能因为扬声器质量或环境问题而大打折扣。 第二代3D音效芯片,一是使用了更复杂、更精确的HRTF算法,方向和距离感自然更强烈;二是添加了初步的环境因素。我们知道声音在空间中的扩散、反射和吸收的规律是极其复杂而且不规则的时变函数,要计算出所有声音的衰减结果如同试图建立完全真实的3D视觉环境一样是永远不可能的,因此人们又使用了模型化这个有力武器来简化问题。环境音效模型应运而生,它使用HRTF的手段模拟出了各种典型环境下的声学特征,尽管仍很简陋,但无疑使大家在听觉上更加身临其境了。 关于HRTF算法的环绕声使用几个声道最合适这个问题,可以这么考虑:2声道时我们必须凭从前面听到的不同声音把它想象到后面去,人脑的“处理能力”浪费过大,是不是连玩游戏都要分神了?最简单的多声道是4声道,这样每个扬声器只负责90°左右的方向,HRTF更容易使它们的声像展宽到应有的范围,全频带的4声道系统是比较理想的选择。考虑到带有低音炮(subwoofer)的卫星式扬声器系统的性价比更高,4.1声道系统就比较完美了,当然5.1系统再添上了一个中置声道处理人物对白,更适合影视迷们。更多声道的系统由于成本、易用性、以及扬声器的互相干扰等问题,就变得不很实用了。
|
|