|
音频编解码器有哪些特点?
音频编解码, 也就是音频Codec, 实际上分成两类:
一种是在电声领域的硬件音频编解码器, 严格说应称作D/A(数字/模拟)转换器, 其主要作用是编码端把模拟音频信号转换成数字信号,解码端把读取的数字音频信息转换成模拟音频信号输出,供功率放大重放。
另一种即是经常和视频编解码器并列的基于软件的音频编解码器。
无论音频编码器还是视频编码器, 都是信源编码器,其本质是在尽可能保证编码质量情况下,对信源信号进行压缩, 降低音视频文件需要的存储空间和传输码率。而对信源信号的压缩, 是依靠音视频信号本身的冗余性和相关性, 音频是一维信号, 一维信号的音频可利用的冗余性和相关性要少,因此音频编码器的设计并不简单。
说到音频编码器, 实际上在业内又细分为两个领域,Voice Codec和Audio Codec,Voice Codec一般是指对人的语音进行编码压缩,而Audio Codec是指对音乐信号进行编码压缩。Voice Codec主要用于电信领域,比如手机通话,VoIP,军事保密通信等领域,它要求低延迟,低码率,一般是采用对人的发声过程进行建模,比如经典的CELP模型,就是完美的模拟了人的发声过程。而对于音乐信号,CELP模型就无法完美的模拟各种乐器的发音过程了,所以针对音乐的Audio Codec则从听觉的角度来出发,利用心理声学模型来进行编码。
由于Voice Codec和Audio Codec在各个领域有着不同的应用,也就带来有很多组织在做音频编码器,使得音频编码器种类繁多,既有标准的音频编码器,也有开源的音频编码器,还有各个公司私有的音频编码器。
无论音频编码器还是视频编码器,商用化的时候都需要二次开发。而二次开发的过程,它俩也是存在很大差别。视频编码器一般会给出一套庞大的参考代码,由具体商用化的组织根据自己的需求进行裁减、算法层面的优化、以及针对目标平台的优化。而音频编码器给出的参考代码相对精简一些,尤其是Voice Codec, 在商用化的过程要求任何的优化必须保证bit exact。音频编码器之所以要求这么严格, 是因为人的耳朵会对异常的声音特别敏感,突兀的噪声或者短暂严重的损伤都会严重影响听感,这也是音频编解码的难度所在。所以Voice Codec算法一旦固定下来,商用化的任何改动都要求与原始算法保持bit exact。 |
|