王立众:学习多媒体开发从编解码开始


认识王立众,是通过一位热心的读者引荐,一番波折后才有了此文,这也是『下一代编解码器』系列采访的第9篇。随着云平台服务的普及,大多数多媒体开发者并不需要了解底层技术。但如果有兴趣扎根于多媒体技术,就需要学习底层技术,而编解码器则是关键的一环。中国三星研究院的音频研发负责人王立众通过LiveVideoStack分享了音频编解码器生态的方方面面。


责编 / Ant


关于编解码器


LiveVideoStack:相对于视频编解码器,音频编解码器有哪些特点?


王立众:简而言之, 我认为音频编解码器要比想象的复杂。


音频编解码, 也就是音频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。


LiveVideoStack:评定编解码器质量的标准有哪些?


王立众:音频编码器质量的评定,是一个研究领域。很多人说,音频不止是一门科学,还是一门艺术。所以音频编码的质量评价,也需要从主客观多个维度考察,尤其是需要注重主观评价标准, 因为很多音频编码器的最终目的是给人听的。


音频编码的客观评价标准,也是需要根据具体的情况来分别考虑,比如Voice Codec,常用的有PESQ,最近新出的客观测试标准是POLQA,而Audio Codec,常用的客观测试标准有PSNR、PEAQ等。


而无论客观评价如何,对于音频来说都只是个参考,人的真正的听觉感受更重要。


对于Voice Codec来说,常见的主观评价方法是MOS值评分,就是找一些人根据自己的听觉感受进行打分,最后得出1~5分的一个评价指标。


对于Audio Codec来说就更加复杂,需要根据设计的Audio Codec所面向的应用,选择目标用户进行专业的主观测试,一些专业的主观评价组织,会储备一些“金耳朵”来专门进行高端应用的音频性能评价。


为此ITU-T 设计了一系列的音频主观评价方法,例如:


  1. ITU-T Rec.P.800《Methods for subjective determination of transmission quality》/ITU-T Rec.P.830《Subjective performance assessment of telephone-band and wideband digital codecs》:主要针对各类语音处理系统的输出声音质量进行主观评价,典型方法为MOS平均意见分测试。单次32人次的听音测试项目周期为2-3周。 

  2. ITU-T P.805《Subjective evaluation of conversational quality》:对话意见测试,能够提供更接近真实环境下双向交互通讯系统的话音质量评估。典型的单次对话测试实验规模为16组成对测试人员,一般项目周期为1-2个月。 

  3. ITU-R Rec.BS.1534《Method for the subjective assessment of intermediate quality level of coding systems》:带隐藏参考和基准的多激励测试(MUSHRA),宜评估中等音频质量的数字音频系统。单次20人次的测试实验周期为3-4周。 

  4. ITU-R  BS.1116《Methods for the subjective assessment of small impairments in audio systems》:带隐藏参考的三次听音双盲听评法,宜评估小损伤的高质量音频系统。单次15人次的测试实验周期为1-2月。 

  5. ITU-R BS.1285《Pre-Selection Methods for the Subjective Assessment of Small Impairments in Audio Systems》:用于预选测试的双向比较听评方法,宜作为BS1116小损伤音频系统主观测试的预选实验方法。单次15人次的测试实验周期为2-3周。


上面谈到的,仅仅是对编码质量的评价,实际上音频编码的目的,主要还是为了压缩,那么编解码的码率,也是评价编解码的一个因素,它主要反应反映在对音频信息的压缩程度上。从编码后的码率,和编码前的码率对比上,就可以得出一个编码器的压缩率。


除此之外,音频编码的复杂度和延迟,也是一个重要的考察指标,在某些特定领域,如蓝牙可穿戴设备,音频编码的复杂度就占据了更重要的地位。


LiveVideoStack:主流的音频编解码器各自的特点及应用场景分别是什么?


王立众:正如前面说的,大体上音频编解码主要分为两类Voice Codec 和Audio Codec,而且从事音频编解码的组织众多。


从标准化组织看,有ISO/IEC组织制定的MEPEG系列标准,最著名的MP3就是出自这个标准,从MP3的应用可以看出来,MPEG主要面向的是音乐存储和传输的Audio Codec。还有主要面向VoIP应用的ITU-T的G.7xx系列的Voice Codec。针对移动电话的应用,有两大组织3GPP和3GPP2各自推出了以AMR WB、AMR NB、EVRC、EVS为代表的一系列Voice Codec。


各大公司也有各自私有的音频编解码, 因为针对的应用不同,不再一一列举。目前比较有代表性的开源音频编解码是OPUS,他融合了SILK编码器和CELT编码器,在开源音频编解码器中具有较好的性能。


LiveVideoStack:既然主流的音频编解码器有很多, 那么如果使用的话,行业内是怎么付费的呢?


王立众:对于使用音频编码器的收费, 有两种费用: 1. 是算法和专利的费用 2.是商用化代码的费用.


在各个标准化的音频编码器中, 都会有对于音频编码器的专利费的规定, 所以使用标准化的音频编码器,要遵守各标准化组织的收费规定. 对于开源的音频编码器, 要注重其遵守的开源协议, 每个开源的音频编码器都会声明其遵守的开源协议, 使用的时候也需要注意. 如果需要使用各大公司私有的音频编解码, 则需要和他们单独联系商讨费用事宜.


上面说到的是算法和专利方面的费用, 交了这笔费用只代表可以使用这些音频编码器, 但是他们不一定提供商用化的代码. 有不少公司, 可以提供很多音频编码器的商用化代码, 并且收取费用, 那么一定问清楚他们这笔费用, 是仅仅代码的使用费, 还是包括了音频编码器的专利费. 


LiveVideoStack:当下对于音频编解码器的研发,业界主要的研究方向是什么?其难点是什么?


王立众:前几年,业界音频编解码器算法研究工作主要集中于Voice Codec 和Audio Codec的联合编码,也就是把两种应用统一到一个音频编码器中,于是在电信领域3GPP组织就诞生了庞大的EVS音频编码器,EVS的推广比较成功,目前已经被选为5G的音频编码器。


随着EVS的成功诞生和推广,大家也在考虑下一步应该做什么的问题。目前不少研究者在研究针对特定场景的音频编码器。


例如目前一些标准化组织正在进行的沉浸式音频编码器,MPEG,3GPP和中国AVS等标准化组织都在积极推进沉浸式音频编码器标准。沉浸式音频编码器的难点在于高质量的还原原始声音,它可能用在音乐会的录制和传输中,那么对于音质,方位感,主观听觉感受的要求都非常高。


针对一些特定领域音频编码起器,如蓝牙设备,可穿戴设备,加密通信领域的音频编码器也在继续的研究中。 这些领域的音频编码器,则要求低延迟,低码率,当然音质本身也要保证。


LiveVideoStack:对于应届生或从其他研发领域转行学习编解码、多媒体开发的技术人,有哪些建议?


王立众:对于学生,如果有意从事音频编码行业,我建议选择业内著名导师和实验室,音频编码是需要一定的积累,国内有不少老师和实验室长期从事音频编码行业,投身到一个有着深厚积累的实验室和严谨治学的导师门下,会打下终身受用的牢固的理论基础。


对从其他研发领域转行学习编解码,建议还是根据工作需要,选择适合的编解码参考代码和参考文档来学习。如果工作中没有需要,需要有强烈的学习兴趣才能坚持下来,毕竟编解码需要一定的积累,而且短期不会带来什么收益的任务,确实有强烈的兴趣学习的话,建议从一些标准化的音频编解码器学习入手。


对于想从事多媒体开发的技术人来说,从编解码入手是一个很好的选择,编解码涉及到多媒体技术的很多知识。比如音频领域,常见的还有音频预处理和音频后处理,这里所谓的“预”和“后”, 其实都是以音频编码器为中心来说的,可见音频编码器在音频领域的地位。


当然,还需要考虑将来目标公司的需求,如果目标是互联网,则需要能够快速的应用,所以需要把目前开源的和标准化的音频编码器都能快速的掌握起来。如果想专心做算法,那么应该选择一家具有雄厚积累的公司,正如之前说的,做音频编码器的算法短期不会带来什么收益,大公司和专业的音频公司会注重这方面的储备,通过产生自己的音频编码算法,申请专利后加入到标准化组织的标准中,然后通过标准中的专利带来长期的收益和回报,这个过程是比较长的, 一个音频编码器的标准,需要数年的制定过程。


LiveVideoStack:能否推荐一些系统学习编解码、多媒体开发的图书、资料?


王立众:学习音频编码的话,可以从标准化的代码和文档入手,学习Voice Codec,可以学习3GPP的AMR WB和EVS, ,3GPP官网的代码和文档都非常的详细。学习Audio Codec,可以选择MPEG的MP3和AAC。


至于图书,因为我个人接触面有局限性,不好一一列举,但是正如之前说过的,选择业内著名导师和实验室就没有错,对于具体方向,Voice Codec要学CELP模型,Audio Codec要学心理声学模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值