5. Acoustic Echo Cancellation (AEC) (声学回声消除)
主导的近中期WebRTC使用模型很可能是人们使用交互式音频和视频功能通过在笔记本电脑上运行的网络浏览器相互通信,该笔记本电脑具有内置麦克风和扬声器。笔记本作为通信设备的范例提出了具有挑战性的回声消除问题,其具体补救措施在此不作强制规定。但是,虽然WebRTC兼容端点不需要特定的算法或标准,但回声消除将改善用户体验,应由端点设备实现。
WebRTC端点应该 (SHOULD) 包括AEC或某种其他形式的回声控制。在通用平台(例如PC)上,用于音频捕获的模数转换器 (Analog-to-Digital Converter, ADC) 和用于音频播放的数模转换器 (Digital-to-Analog Converter, DAC) 使用不同的时钟是很常见的。在这些情况下,例如当使用网络摄像头进行捕获而使用单独的声卡进行播放时,采样率可能会略有不同。端点AEC应该 (SHOULD) 对此类条件具有鲁棒性,除非它们与保证捕获和播放从同一时钟采样的硬件一起提供。
端点应该 (SHOULD) 允许对于不适合非线性处理 (Nonlinear Processing, NLP) 中通常使用的频谱衰减方法的应用程序(如音乐),关闭整个AEC和/或NLP。类似地,端点应该 (SHOULD) 具有检测耳机存在并禁用回声消除的能力。
对于某些远程端点可能没有回声消除器的应用程序,本地端点可以 (MAY) 包括远端回声消除器 (far-end echo canceller),但如果包括,它应该 (SHOULD) 默认禁用。