音频筑基:算法时延分析

本文详细解释了音频算法中的时延概念,特别关注蓝牙链路中的延迟组成,包括编码解码处理时间、硬件延迟、传输和重传机制。以编解码算法为例,区分了硬件运行时间和算法时延,强调了lookahead在算法时延中的重要性。同时引用了相关资料进行深入探讨。
摘要由CSDN通过智能技术生成

音频筑基:算法时延分析

前言


音频算法中,经常遇到时延分析的问题,刚开始接触大多都比较迷惑,这里将自己对时延的学习思考梳理总结于此。

时延是啥


音频领域中,时延(delay/latency)主要指声音从源端发出,经链路传输,再到对端接收到声音,所经过的总时间延迟。一般人耳无法感知的蓝牙段链路时延是25-30ms以内。

一般来说,时延首先要分清楚计算器处理时延(依赖硬件)和算法时延(不依赖于硬件的)。这里以蓝牙链路为例,分析下传输延迟的组成:

  • 音频编解码所需缓存及处理时间,算法相关
  • 音频输入输出的硬件延迟和缓存时间,硬件相关
  • 蓝牙传输物理层和协议层及缓存时间,硬件相关
  • 蓝牙数据包重传机制,硬件与场景相关

举例分析


这里以音频编解码算法为例,看看算法维度里的时延:

  • 算法处理硬件运行时间
  • 算法处理端到端延迟时间

算法处理硬件运行时间,指跑完这个算法实际硬件所需时间,当下硬件处理水平普遍都小于编解码算法的帧长、look ahead等延迟总和,故而通常不予考虑。

算法处理端到端(E2E, end to end)延迟时间,指:1、进入编解码积攒的音频帧(Capturing)所需时间(如10ms),2、编解码低延迟频域转换所需look ahead(如2.5ms)。这两种延迟均是算法原理带来的,直接影响端到端延迟,不与硬件有关系,所以也简称为算法时延。

The look ahead delay is algorithmic only and represents a delay in audio content, and not actual processing time.

time: |-----|--------------------|----------|**********************|--------------|-------|
type:   adc,   capturing frame,    encoding,    transport/retrans,      decoding,    dac

如下图所示,硬件处理时间如adc, encoding(硬件运行), transport, retrans, decoding(硬件运行),dac。

整体过程简单理解就是音频物理信号产生,经过数模转换成数字信号,再经过编码压缩,通过网络传输/重传发送,对端接收到解码,再数模转换成模拟信号播放出来。

其中,encoding项经过算法后就会导致端到端信号偏移frame time + look ahead这么长的算法时延,硬件处理通常能在单帧时间内解码完毕,所以编解码硬件时间通常不考虑。

相关资料


  1. Introducing-Bluetooth-LE-Audio-book,link, P137, Figure 5.7
  2. Unraveling Bluetooth LE Audio,link,Table6-2. Figure 6-3
  3. BLE: Gaming Audio Profile, Section A.4, link
  4. Performance Characterization of the Low Complexity Communication Codec, 1.3.3 System delay, link
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值