压缩编码

压缩编码,其原理是压缩掉冗余的信号,冗余信号是指不能被人耳感知到的信号,包括范围之外的音频信号以及被掩蔽掉的音频信号。
原始的数字⾳频信号(通常称为PCM,脉冲编码调制)数据量⾮常庞⼤。
例如,CD⾳质的⽴体声⾳频(采样率44.1 kHz,位深度16位,双声道
数据速率 = 采样率×位深度×声道数 = 44100 * 16 * 2 = 1,411,200‬ bps,即⼤约1.4 Mbps 。对于⼀分钟的⾳频,其数据量将达到约10.6 MB。
如此⾼的数据量对于嵌⼊式系统的存储和传输来说都是⼀个巨⼤的挑战 。因此,⾳频编码(或⾳频压缩)技术应运⽽⽣,其⽬的是在保证⼀定⾳质的前提下,尽可能地减少⾳频数据所占⽤的存储空间或传输带宽。
⾳频编码算法主要分为两⼤类:⽆损压缩有损压缩

⽆损压缩

⽆损压缩算法,如FLAC(Free Lossless Audio Codec)和ALAC(Apple Lossless Audio Codec),通过消除⾳频数据中的统计冗余来实现压缩,但不会丢弃任何原始⾳频信息 。这意味着经过⽆损压缩编码后再解码的⾳频数据与原始PCM数据完全⼀致,⾳质没有任何损失。⽆损压缩的压缩⽐通常不⾼,⼀般在2:1到3:1之间(即压缩到原始⼤⼩的50%-70%),具体取决于⾳频信号的复杂程度 。它主要适⽤于对⾳质要求极⾼、不允许有任何信息丢失的场景,例如专业⾳频⺟带存档、⾼质量⾳乐分发等。在嵌⼊式系统中,如果存储空间相对充裕且对⾳质有极致追求,可以考虑使⽤⽆损压缩格式。

有损压缩

有损压缩算法,如MP3(MPEG-1 Audio Layer III)、AAC(Advanced Audio Coding)和 Opus,则通过利⽤⼈⽿的听觉特性来去除⾳频信号中那些被认为⼈⽿不易察觉或不太重要的信息,从⽽实现更⾼的压缩⽐ 。这些被去除的信息⼀旦丢失便⽆法恢复, 因此有损压缩是⼀种不可逆的过程。有损压缩的核⼼思想是“感知编码”,即只保留那些对听觉感知贡献最⼤的信号成分。

主要的原理包括:

1. 频谱掩蔽效应

⼀个强⾳调会掩蔽其附近频率的较弱声⾳,使得这些弱声⾳即使被去除,⼈⽿也难以察觉 。编码器会分析⾳频信号的频谱,找出被掩蔽的成分并将其舍弃。

人耳所能察觉的声音信号的频率范围为 20Hz~20KHz,在这个频率范围以外的音频信号属于冗余信号。

2. 时域掩蔽效应
⼀个响亮的声⾳会在其出现前后的短暂时间内降低⼈⽿对较弱声⾳的敏感度。编码器可以利⽤这⼀特性,在强⾳前后适当降低对弱信号的编码精度 。
3. 绝对听阈
⼈⽿对不同频率声⾳的敏感度不同,低于绝对听阈的声⾳是⽆法被听到的。编码器会移除这些听不⻅的信号成分。
有损压缩的压缩⽐可以⾮常⾼,例如MP3可以将CD⾳质的⾳频压缩到原来的1/10甚⾄更低,⽽仍然保持可接受的⾳质 。这使得有损压缩成为互联⽹⾳频流媒体、便携式⾳乐播放器以及存储空间有限的嵌⼊式设备的⾸选。

常见的音频编码器

  • OPLUS 编码

    OPLUS 是 OPPO 公司开发的音频编码技术,主要用于其手机和其他音频设备,提供高质量的音频传输和播放体验。OPLUS 编码通常用于蓝牙音频传输,支持高解析度音频,并与 OPPO 的硬件深度优化。

    • 特点:高音质、低延迟、兼容性较好(主要在 OPPO 设备上表现最佳)。
    • 应用场景:OPPO 手机、蓝牙耳机、无线音频传输。
  • AAC 编码

    AAC(Advanced Audio Coding)是一种广泛使用的音频编码标准,由 MPEG(Moving Picture Experts Group)开发,是 MP3 的后继者。AAC 提供更高的压缩效率和更好的音质,适用于多种场景。

    • 特点:高效压缩、广泛兼容(支持 iOS、Android、流媒体平台等)、音质优于 MP3。
    • 应用场景:音乐流媒体(如 Apple Music、Spotify)、视频音频编码、移动设备存储。

特定⾳频格式在嵌⼊式系统中的应⽤

在嵌⼊式⾳频系统中,选择合适的⾳频格式对于平衡⾳质、⽂件⼤⼩、处理复杂度和功耗⾄关重要。不同的应⽤场景对⾳频格式的要求各不相同。以下是⼀些在嵌⼊式系统中常⻅的特定⾳频格式及其应⽤特点:

1. PCM (Pulse Code Modulation) / WAV:

  • 特点:未压缩的原始⾳频数据格式,通常以 .wav ⽂件形式存在。它忠实地记录了⾳频的采样值,因此⾳质最⾼,但数据量也最⼤。
  • 嵌⼊式应⽤:适⽤于对⾳质有极致要求且存储和处理资源相对充裕的场景,例如专业⾳频录制与编辑设备、⾼质量的语⾳识别前端(需要原始⾳频数据以保证识别准确率)、以及⼀些简单的提示⾳或⾳效播放(如果⾳效⽂件本身较⼩)。由于没有压缩和解压缩的开销,PCM数据的处理延迟较低。
  • 考量:需要较⼤的存储空间和较⾼的数据传输带宽。

2. MP3 (MPEG-1 Audio Layer III):

  • 特点:⼀种⼴泛使⽤的有损⾳频压缩格式。它通过⼼理声学模型去除⼈⽿不敏感的⾳频信息,从⽽实现较⾼的压缩⽐(通常可以将CD⾳质的⾳频压缩到原来的1/10到 1/12),同时保持可接受的⾳质。
  • 嵌⼊式应⽤:⼴泛应⽤于便携式⾳乐播放器、⽹络⾳频流、以及需要存储⼤量⾳乐或语⾳⽂件的嵌⼊式设备中 。许多嵌⼊式处理器或专⽤的⾳频编解码芯⽚都内置了MP3硬件解码器,可以降低CPU负载。
  • 考量:压缩过程是有损的,会丢失部分⾳频信息。编码和解码过程需要⼀定的计算资 源。

3. AAC (Advanced Audio Coding):

  • 特点:MP3的后继者,也是⼀种有损⾳频压缩格式。与MP3相⽐,AAC在相同的⽐特率下通常能提供更好的⾳质,或者在相同的⾳质下可以达到更⾼的压缩⽐。
  • 嵌⼊式应⽤:被⼴泛应⽤于数字⼴播(如DAB+)、在线视频流(如YouTube, Netflix)、移动设备(如iOS默认的⾳频格式)以及⾼质量的语⾳通信系统中 。
  • 考量:与MP3类似,也是有损压缩。解码复杂度略⾼于MP3,但现代嵌⼊式处理器通常能够较好地⽀持。

4. Opus:

  • 特点:⼀种开源、免版税、⾼度灵活的有损⾳频编解码格式。它结合了SILK(⽤于语⾳)和CELT(⽤于⾳乐)两种编码技术,⽀持从极低⽐特率(6 kbps)的窄带语⾳到⾼⽐特率(510 kbps)的全频带⽴体声⾳乐。Opus具有⾮常低的编码和解码延迟(通常为⼏毫秒到⼏⼗毫秒),⾮常适合实时通信应⽤。
  • 嵌⼊式应⽤:⼴泛应⽤于VoIP(如WebRTC)、视频会议、游戏内语⾳聊天、以及需要低延迟⾳频传输的物联⽹设备(如对讲机、实时监控)。
  • 考量:虽然Opus性能优越,但其在嵌⼊式系统中的硬件⽀持可能不如MP3或AAC普遍,更多依赖软件编解码。

5. FLAC (Free Lossless Audio Codec):

  • 特点:⼀种开源的⽆损⾳频压缩格式。它能够将PCM⾳频数据压缩到原始⼤⼩的 50%-70%,并且在解码后能够完全恢复原始⾳频数据,⾳质没有任何损失。
  • 嵌⼊式应⽤:适⽤于对⾳质要求极⾼且存储空间相对充⾜的嵌⼊式设备,例如⾼端便携式⾳乐播放器、专业⾳频录制设备、以及⾳频档案系统。
  • 考量:压缩⽐不如有损格式⾼,解码过程需要⼀定的计算资源。

6. AMR (Adaptive Multi-Rate):

  • 特点:⼀系列专为语⾳压缩设计的编解码器,包括窄带(AMR-NB,主要⽤于8 kHz采样率)和宽带(AMR-WB,主要⽤于16 kHz采样率)版本。它们通过⾃适应地调整⽐特率来优化语⾳质量和带宽占⽤。
  • 嵌⼊式应⽤:主要⽤于移动通信系统(如GSM、3GPP)中的语⾳通话,以及⼀些对带宽有严格限制的语⾳记录和传输应⽤,如某些类型的智能⻔铃或对讲系统 。
  • 考量:主要针对语⾳优化,不适⽤于⾳乐或⾼质量⾳频。
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐