Android 音视频之音频编码

前言

    上一篇的时候,已经简单介绍过一些音频的基础知识。我们说到,通常采用脉冲代码调制编码,即PCM(Pulse Code Modulation)编码,通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。但是这和市场上常见的编解码有什么区别呢?
    市场上存在多种类型的编码,我们该如何选择呢?

编码分类

    根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的话音质量高,但编码速率也很高;参数编码的编码速率很低,产生的合成语音的音质不高;混合编码使用参数编码技术和波形编码技术,编码速率和音质介于它们之间。

波形编码
    波形编码是指不利用生成音频信号的任何参数,直接将时间域信号变换为数字代码,使重构的语音波形尽可能地与原始语音信号的波形形状保持一致。波形编码的基本原理是在时间轴上对模拟语音信号按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。
    波形编码方法简单、易于实现、适应能力强并且语音质量好。不过因为压缩方法简单也带来了一些问题:压缩比相对较低,需要较高的编码速率。一般来说,波形编码的复杂程度比较低,编码速率较高、通常在16 kbit/s以上,质量相当高。但编码速率低于16 kbit/s时,音质会急剧下降。
    最简单的波形编码方法是PCM(Pulse Code Modulation,脉冲编码调制),它只对语音信号进行采样和量化处理。优点是编码方法简单,延迟时间短,音质高,重构的语音信号与原始语音信号几乎没有差别。不足之处是编码速率比较高(64 kbit/s),对传输通道的错误比较敏感。

参数编码
    参数编码是从语音波形信号中提取生成语音的参数,使用这些参数通过语音生成模型重构出语音,使重构的语音信号尽可能地保持原始语音信号的语意。也就是说,参数编码是把语音信号产生的数字模型作为基础,然后求出数字模型的模型参数,再按照这些参数还原数字模型,进而合成语音。
    参数编码的编码速率较低,可以达到2.4 kbit/s,产生的语音信号是通过建立的数字模型还原出来的,因此重构的语音信号波形与原始语音信号的波形可能会存在较大的区别、失真会比较大。而且因为受到语音生成模型的限制,增加数据速率也无法提高合成语音的质量。不过,虽然参数编码的音质比较低,但是保密性很好,一直被应用在军事上。典型的参数编码方法为LPC(Linear Predictive Coding,线性预测编码)。

混合编码
    混合编码是指同时使用两种或两种以上的编码方法进行编码。这种编码方法克服了波形编码和参数编码的弱点,并结合了波形编码高质量和参数编码的低编码速率,能够取得比较好的效果。

编码格式

PCM编码

    PCM是Pulse Code Modulation的缩写。上一篇我们提到了PCM大致的工作流程,我们现在不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。PCM编码的最大的优点就是音质好,最大的缺点就是体积大。
    PCM被约定俗成为无损编码,是相对于mp3,aac编码的。相对自然界的信号,音频编码最多只能做到无限接近(至少目前的技术只能这样),任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。PCM代表了数字音频中最佳的保真水准,但是并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。

Opus编码

    Opus是一个有损声音编码的格式,Opus的前身是celt编码器。是由IETF开发,适用于网络上的实时声音传输,标准格式为RFC6716。使用上没有任何专利或限制。
    在当今的有损音频格式争夺上,拥有众多不同编码器的AAC格式打败了同样颇有潜力的Musepack、Vorbis等格式,而在Opus格式诞生后,情况似乎不同了。通过诸多的对比测试,低码率下Opus完胜曾经优势明显的HE AAC,中码率就已经可以媲敌码率高出30%左右的AAC格式,而高码率下更接近原始音频。
    简单来说,opus是一个高保真的适合在网络中传输的开源的语音编码格式,相对于其他编码格式来讲,保真性更好,但体积会稍微大一些。
Opus官网地址:http://www.opus-codec.org/

OGG编码

    OGG全称是OGG Vorbis,是一种新的音频压缩格式。OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案!OGG的信念就是:OPEN!FREE!Vorbis这个词汇是特里·普拉特柴特的幻想小说《Small Gods》中的一个"花花公子"人物名。这个词汇成为了OGG项目中音频编码的正式命名。目前Vorbis已经开发成功,并且开发出了编码器。
    和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。因此,它的声音质量将会越来越好,和MP3相似,Ogg Vorbis更像一个音频编码框架,可以不断导入新技术逐步完善。和MP3一样,OGG也支持VBR。

AAC编码

    AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。
    AAC本身编解码器质量非常高。作为一种高压缩比的音频压缩算法,AAC通常压缩比为18:1  (也有资料说为20:1),但是还能保存较好的音质。在后面的文章《Android 音视频之音频录制》中,我用demo验证过,1分钟录制的音频文件只有101KB的大小,想比较pcm数据,的确被压缩很多。

编码比较

    之前文章中介绍过。目前市场编解码器性能比较Opus > Vorbis > AAC 。我们先来看一张音频编码器的性能对比图:


    注意,图中绿色线条是免费的,开源的;蓝色线条是免费的,但是不开源的;红色线条是收费的,不开源的
    图中我们可以很直观的看到,Opus编码从低码率到高码率上都是支持的,并且在高码率上也是略强于AAC和Vorbis编码的。而且相比较在64kb/s上的G.711编码,Opus的质量是远远高于他的。
    AAC编码在2000年之后也新添加了一些技术算法,使他在低码率上也能较好的支持。之后我会在《Android 音视频之AAC编码》中着重介绍AAC,有兴趣的伙伴可以关注一下。

上一篇:Android 音视频之音频入门讲解

有问题的地方请大家帮忙指出,谢谢。
持续更新中...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容