感觉系统/计算机模型/听觉系统仿真/感知音频编码
本页回顾了感知音频编码的基本原理。解释了潜在的心理声学原理,并指出了与耳蜗滤波特性和更高皮层处理阶段的关系。
Mp3 (MPEG-1 Layer 3, MPEG-2 和 MPEG-4 高级音频编码 (AAC) 的前身) 可能是目前最知名的利用音频信号的感知编码的音频格式。 AAC 是一种效率更高的扩展,通常能实现更好的音质,允许更广泛的带宽范围,但依赖于与 Mp3 相同的编码原理。这两种格式都由 ISO 和 IEC 标准化,但只有解码器是完全指定的,而编码器实现是开放的。这导致了各种可用的编码器在再现质量、可实现的比特率、性能和编码效率方面存在差异[1]。
与传统的信号压缩算法不同,传统的信号压缩算法的目标是用最少的比特数来表示信息,同时保持信号再现质量,而感知音频编码则考虑了人类听觉系统的知识,通过去除对大多数听众来说感知上无关紧要的信息来降低比特率。这种 有损压缩 是通过探索人类听觉系统的特性和统计冗余来实现的。Mp3 常用的编码比特率为 128 kbit/s,高效的编码器通常在压缩 CD 音质音频 (16 位 PCM,44.1 kHz,≈ 1411 kBit/s) 时能实现大约 10 倍的数据减少。换句话说,大约 90% 存储在 CD 上的数据是听众无法感知的。CD 音质是用户在听音乐时通常期待的(关于 CD 音质是否足以再现模拟原始音频,存在着长期争论。在许多不同的专家意见中,以下两个参考资料[1][2] 可能会对进一步阅读感兴趣)。对更高效的音频编码的需求来自于网络、多媒体系统和存储应用,而 Mp3 最初是为更高效地传输视听内容而创建的。
感知音频编码的理论极限由 Johnston[3] 进行了研究,这导致了 “感知熵” 的概念。根据测量结果,CD 音质音频的感知熵估计在每样本 2 比特左右。最先进的编码器证实了这种效率,用于透明(近乎)CD 音质音频编码[4]。感知编码算法的质量通常通过听觉测试来评估,最近也与一种标准化的算法结合使用,该算法用于客观地测量感知音频质量,称为 感知音频质量评估 (PEAQ)。
大多数感知音频编码器可以用图中所示的基本架构来描述。分析滤波器组近似于人类听觉系统的时域和频域分析特性。输入被分割成帧,然后被转换为可以被量化和编码的一组参数。量化和编码阶段利用统计冗余,并依赖于感知模型提供的阈值进行比特分配和量化噪声整形。感知模型描述了掩蔽阈值作为编码频率的函数。最后,编码阶段使用标准的 无损编码技术,例如 霍夫曼编码。关于技术算法解释和示例实现,请参考 J.O. Smith 的在线书籍。
感知音频编码的基本思想是将量化噪声整形,使其被音频信号本身掩蔽,从而不被听众感知。这是通过利用心理声学原理实现的,包括绝对听觉阈值、临界频带频率分析和听觉掩蔽[4]。由于播放电平在编码阶段通常是未知的,因此通常使用关于绝对听觉阈值的保守估计在编码过程中进行信号归一化。听觉掩蔽描述了现象,其中一种声音的感知受到另一种声音的存在的影响。掩蔽效应发生在频域(同时掩蔽)和时域(非同时掩蔽)。
对于同时掩蔽,耳蜗的频率分辨率起着至关重要的作用。在耳蜗内部,频率到位置的转换发生,并且创建了针对不同频带调谐的不同区域。这些不同的频率区域被称为听觉临界频带(或临界带宽)。临界带宽在高达 500 Hz 时保持恒定 ≈ 100 Hz,并且在 500 Hz 以上增加到中心频率的 20% 左右[4]。前 24 个临界频带由巴克刻度描述。一个音调的存在会导致基底膜的激发,这会影响其临界频带内第二个音调的检测阈值(带内掩蔽)。此外,相邻频带也会受到影响(带间掩蔽)。相邻频带的影响由扩展函数来描述。右侧图显示了不同强度临界频带噪声掩蔽器的测量扩展函数。如图所示,掩蔽器在掩蔽高频带方面比低频带更有效,这被称为掩蔽的上移现象。扩展函数的原因被认为是耳蜗机械滤波特性的副产品,其中外毛细胞放大基底膜的运动以提高频率分辨率[5]。掩蔽上移现象的原因尚不清楚,除了机械激发,抑制也起作用[6]。此外,如图中第二个峰值出现在大约 2 kHz(1 kHz 的第二谐波)处,在更高的声压级下,内耳和中耳的非线性传递特性也起作用[5]。
强噪声或音调掩蔽的存在会在基底膜上产生足够的兴奋,从而有效地阻断其临界频带内较弱信号的传输,并通过掩蔽的扩散影响相邻频带。已观察到两种类型的同时掩蔽:噪声掩蔽音调和音调掩蔽噪声。对于噪声掩蔽音调,音调的存在可以预测被掩蔽噪声频谱的阈值;而对于音调掩蔽噪声,噪声的存在可以预测被掩蔽音调的阈值。据报道,纯音和临界频带限制噪声的阈值有所不同。[4] 至于音乐的感知编码,这些阈值会在考虑扩散函数之前根据感知编码器的时频分析内容进行插值。客观信噪比 (SNR) 可能非常低,例如 20 dB,但取决于音频内容,而主观 SNR 足够高以实现透明编码。[5] 作为比较,音频 CD 的 SNR 为 96 dB。
非同时掩蔽
[edit | edit source]音频信号中的突然瞬变(或强烈的攻击)会在时间域中产生掩蔽效应。如图所示,瞬变之前(前掩蔽或后掩蔽)和之后的感知都会受到影响。后掩蔽区域持续时间约为毫秒,而前掩蔽区域持续时间更长,约为十分之几毫秒。[4]
时间掩蔽尚未完全了解,是一个活跃的研究课题。然而,有证据表明,高级皮层处理参与了这种现象。这种效应是否与声音的整合、神经处理的中断或抑制以及/或传输速度的差异有关尚不清楚。前掩蔽和后掩蔽表现出不同的特征,因此被认为源于人类听觉系统的不同属性。[7]
掩蔽和联合立体声编码
[edit | edit source]音频编码中的一种常见的有效技术是联合立体声编码。由于音乐信号的左右声道通常高度相关,因此有时对音频信号进行求和/差值 (L-R, L+R) 编码更为有效。在 Mp3 的情况下,求和/差值编码的潜力没有得到充分利用,一种有效的技术将比较左右声道和求和/差值编码的阈值,并动态选择效率更高的编码方式。在计算掩蔽阈值时,需要特别注意,因为联合声道编码会导致由于双耳聆听而产生的可听伪影。[5]
伪影 (w: 压缩伪影)
[edit | edit source]对于 Mp3 和 AAC,编码比特率是选择的,而不是压缩因子,因为压缩因子是内容相关的。较低的比特率会导致更高的压缩比,而较高的比特率会导致较低的压缩比,以及较低的可听伪影概率。这导致工作区域(或比特率),其中特定算法表现最佳,并且仅在更高的比特率下略有改善。[1] 与我们聆听 CD 时习惯的播放设备的噪声和失真伪影不同,感知编码器产生的可听伪影可能令人讨厌。如果比特率对于透明编码来说太低,则产生的噪声和失真可以描述为时变信号,其中失真不是谐波相关的,噪声是带限的,并且由于带宽可能在帧之间变化,信号可能听起来很粗糙。[1]
带宽损失
[edit | edit source]如果编码器用尽比特,则在频率带宽和低频内容的精确编码之间存在基本权衡。这会导致编码的频率带宽在帧之间发生变化,听起来非常令人不快。通常,这种伪影通过限制低比特率的频率带宽来抵消。
前奏
[edit | edit source]前奏是最难避免的错误,与感知编码器的帧大小有关。如果音频信号的强攻击发生在帧的中间,则由于帧的大小,计算出的噪声阈值可能会扩散到后掩蔽区域,从而变得可听。有多种技术可以最大限度地减少前奏的发生,例如可变帧大小分析滤波器组。[1]
与耳蜗的滤波特性有关
[edit | edit source]总而言之,感知编码广泛利用了人类听觉系统的特性。绝对听阈值与耳蜗的特性有关,但也与中耳和外耳的声学和机械特性有关。在同时掩蔽中,临界频带内和临界频带间掩蔽阈值(扩散函数)源于耳蜗的滤波特性。但是,掩蔽的向上扩散不仅可以通过耳蜗的特性来解释,其他现象,如抑制,也可能发挥作用。最后,时间掩蔽现象只能通过听觉系统中高级皮层处理来解释,并且由联合立体声编码产生的伪影,从而涉及双耳聆听以进行检测,表明人类听觉系统的各个阶段都参与其中。
- ↑ a b c d e Karlheinz Brandenburg。Mp3 和 aac 解释。在音频工程学会会议:第 17 届国际会议:高质量音频编码。音频工程学会,1999 年。
- ↑ J. R. Stuart 为了声学复兴音频。关于高密度 CD 载体的高质量音频应用的建议。1995 年。
- ↑ James D Johnston。使用噪声掩蔽准则估计感知熵。在 IEEE 1988 年声学、语音和信号处理国际会议论文集。
- ↑ a b c d e Ted Painter 和 Andreas Spanias。数字音频信号感知编码算法综述。在 IEEE 1997 年第 13 届数字信号处理国际会议论文集。
- ↑ a b c d e f Nikil Jayant、James Johnston 和 Robert Safranek。基于人类感知模型的信号压缩。IEEE 会刊,81(10):1385-1422,1993 年。
- ↑ Andrew J Oxenham 和 Christopher J Plack。抑制和掩蔽的向上扩散。美国声学学会杂志,104(6):3500-3510,1998 年。
- ↑ Renata Filippini。揭示听觉时间掩蔽,2015 年。 http://hearinghealthmatters.org/pathways/2015/unmasking-auditory-temporal-masking/