音频筑基:时延、帧长选取的考量

音频筑基:时延、帧长选取的考量

音频算法中,时延和音频帧长的选择通常是个需要平衡的参数,这里分析下背后的考量因素。

帧长与时延的关系


一般来说,帧长是音频算法端到端时延的子集,是时延的组成元素,所以,帧长越长,时延越大。

那为啥会有音频帧长的概念呢?原因是一般会做分块频域变换,根据音频信号的短时平稳性(10-30ms,信号是周期重复的),从而进行分块分帧做短时傅里叶变换,于是有了帧长的概念。

时延指标里的那个why

那时延是啥?之前文章有讲,简单说,就是音频信号从发出到接收经历的时间延迟。过长的延迟带给人体验就是有卡顿感,而人耳对时延的敏感性是有范围的:

  • 人耳对端到端(嘴到耳的时延)

    • <150ms不会有明显感知
      • <50ms可能感知不大
      • 50~100ms之间可能轻微感知
      • 100~200ms可感知
    • >200ms能明显感知
    • >400ms会无法忍受
  • 蓝牙传输链路

    • 普通人对于80ms以下的声音延迟是没有知觉的
    • 经过听力专门训练的人员可识别50ms左右的延迟,例如专业电竞人员
    • 几乎没有人能识别35ms以下声音延迟

帧长变化的影响


以音频编解码为例,见下面描述:

First, the audio is sampled. Perceptual coding requires a codec to look at multiple, consecutive samples, as a lot of the opportunities for compression come from identifying periods of repeated sound (or lack of sound). This means that most codecs need to capture sufficient, successive samples to have enough data to characterise these changes. This period of sampling is called a frame.

Different encoding techniques use different frame lengths, but it's almost always a fixed duration. If it's too short, the limited number of samples starts to reduce the efficiency of the codec, as it doesn't have enough information to apply the perceptual coding techniques, which impacts the quality. On the other hand, if the frame sizes grow, the quality improves, but the latency increases, as the codec has to wait longer to collect each frame of audio data.

------《Introducing-Bluetooth-LE-Audio-book》

帧长选取里的那个why

语音短时平稳性是在10-30ms这个区间有效,从下图可以看出,从编码质量和时延两个维度综合看,频域编解码最佳帧长是10ms及以上,5ms短帧的低码率编码就不太占优势。

参考资料


  1. Introducing-Bluetooth-LE-Audio-book.pdf, link
相关推荐
SEU-WYL1 小时前
基于深度学习的视频摘要生成
人工智能·深度学习·音视频
兔云程序11 小时前
字节跳动收购Oladance耳机:强化音频技术,加速VR/AR生态布局
ar·音视频·vr
jndingxin12 小时前
OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
人工智能·opencv·音视频
芯橦17 小时前
【瑞昱RTL8763E】音频
单片机·嵌入式硬件·mcu·物联网·音视频·visual studio code·智能手表
9527华安18 小时前
FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
fpga开发·音视频·pcie·xdma·ov5640·hdmi
speop1 天前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
cuijiecheng20181 天前
音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
ffmpeg·音视频
Envyᥫᩣ1 天前
《ASP.NET Web Forms 实现视频点赞功能的完整示例》
前端·asp.net·音视频·视频点赞
HJ_SDK1 天前
探索私有化聊天软件:即时通讯与音视频技术的结合
音视频
jndingxin2 天前
OpenCV视频I/O(8)视频采集类VideoCapture之从视频源中读取一帧图像函数read()的使用
人工智能·opencv·音视频