iOS音视频---音频基础总结

作者: Theendisthebegi | 来源:发表于2019-03-28 16:49 被阅读35次

    一、数字音频

    自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码。PCM通过采样、量化和编码三个步骤将连续变化的模拟信号转换为数字编码,即模拟信号数字化

    1、采样

    采样就是在时间轴上对信号进行数字化,即对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。
    根据采样定理,按比声音最高频率高两倍以上的频率对声音进行采样,对于高质量的音频信号,其频率范围(人耳能听到的频率范围)是20Hz-20kHz,所以采样频率一般为44.1kHz,代表1秒会采样44100次

    2、量化

    量化是指在幅度轴上对信号进行数字化,用一组规定的电平,把瞬时抽样值用最接近的电平值来表示,通常是用二进制表示。
    比如用16比特的二进制信号来表示声音的一个采样,则共有65536个可能取值,因此最终模拟的音频信号在幅度上也分为了65536层

    3、编码

    编码就是按照一定格式记录采样和量化后的数字数据。
    这涉及到了很多种格式,通常所说的音频的裸数据格式就是脉冲编码调制(PCM)数据。描述一段PCM数据一般需要以下几个概念:量化格式、采样率、声道数。比如量化格式为16比特(2字节),采样率为44100,声道数为2,这些数据就描述了音质
    而对于声音格式,可以用数据比特率来描述其大小,即1s时间内的比特数,它用于衡量音视频数据单位时间内的容量大小

    44100 x 16 x 2 = 1378.125kbps

    则一分钟该音质的数据占用的存储空间则为:

    1378.25 x 60 / 8 / 1024 = 10.09MB

    所以一首无损音质的歌往往有几十M

    麦克风是如何采集声音的?

    麦克风里面有一层碳膜,非常薄并且十分敏感。声音实际是一种纵波,会压缩空气也会压缩这层碳膜,碳膜在收到挤压时也会发出振动,在碳膜的下方就是一个电极,碳膜在振动时会接触电极,接触时间的长短和频率与电波的振动幅度频率有关,这就完成了声音信号电信号的转换,之后在经过放大电路处理,就可以实施后面的采样量化编码了。

    二、音频编码

    上边说到一分钟的音频数据就有10M,这个数据量要想在网络中在线传播的话,就必须对其进行压缩编码
    压缩编码的基本指标之一就是压缩比,压缩比通常小于1。压缩算法包括有损压缩和无损压缩。

    • 无损压缩是指解压后的数据可以完全复原。
    • 有损压缩是指解压后的数据不能完全复原,会丢失一部分信息,压缩比越小,丢失的信息就越多,信号还原后的失真就越大。

    在实际应用中,有损压缩用的更多.
    可以选用不同的压缩编码算法,比如PCM、WAV、AAC、MP3、Ogg
    压缩编码的原理实际上就是压缩冗余的信号.冗余信号就是指不能被人耳感知的信号.包括人耳听觉范围之外的音频信号以及被掩盖掉的音频信号

    1、WAV编码

    WAV编码的一种实现方式就是在源PCM数据格式的前面加上44个字节.分别用来描述PCM的采样率,声道数,数据格式等信息

    • 特点:音质非常好,大量软件都支持
    • 适合场合:多媒体开发的中间文件,保存音乐和音效素材
    2、MP3编码

    MP3编码具有不错的压缩比,使用LAME编码(MP3编码格式的一种实现)的中高码率的MP3文件,听感非常接近于源WAV文件,当然在不同的环境下,应该调整合适的参数来达到更好的效果.

    • 特点:音质在128Kbit/s以上表现不错,压缩比比较高.大量软件和硬件都支持.兼容性好
    • 适合场合:高比特率下对兼容性有要求的音乐欣赏
    3、AAC编码

    AAC是新一代的有损压缩编码技术,它通过一些附加的编码技术(比如PS、SBR等),衍生出了LC-AAC、HE-AA、HE-AAC v2三种主要编码格式.

    • LC-AAC 是比较传统的AAC,主要应用于中高码率的场景编码(>= 80Kbit/s)
    • HE-AAC(相当于AAC+SBR) 主要应用于中低码率场景的编码(<= 80Kbit/s)
    • HE-AAC v2(相当于AAC+SBR+PS) 主要应用于低码率场景的编码(<= 48Kbit/s)

    事实上,大部分编码器都设置为<=48Kbit/s自动启用PS技术,而大于48Kbit/s则不加PS,相当于普通HE-AAC

    • 特点:在小于128Kbit/s的码率下表现优异,并且多用于视频中的音频编码
    • 适合场景:128Kbit/s以下的音频编码,多用于视频中的音频轨的编码
    4、Ogg编码

    Ogg编码是一种非常有潜力的编码,在各种码率下都有比较优秀的表现.尤其在中低码率场景下.Ogg除了音质好之外,还是完全免费的。此外Ogg有着非常出色的算法,可以用更小的码率达到更好的音质。128Kbit/s的Ogg比192Kbit/s甚至更高码率的MP3还要出色。但目前因为还没有媒体服务软件的支持,因此基于Ogg的数字广播还无法实现。Ogg目前受支持的情况还不够好,无论是软件上的还是硬件上的支持,都远无法与MP3相提并论

    -特点:可以用比MP3更小的码率实现比MP3更好的音质,高中低码率下均有良好的表现,兼容不够好,流媒体特性不支持。
    -适合场景:语言聊天的音频消息场景

    相关文章

      网友评论

        本文标题:iOS音视频---音频基础总结

        本文链接:https://www.haomeiwen.com/subject/awoqbqtx.html