一种音频信号数据协同处理方法、系统、设备及介质与流程

摘要: 本发明涉及数据处理,具体涉及一种音频信号数据协同处理方法、系统、设备及介质。背景技术:1、在便携式音频设备、实时通信终端、移动直播设备、会议终端以及具备本地音频...
一种音频信号数据协同处理方法、系统、设备及介质与流程

本发明涉及数据处理,具体涉及一种音频信号数据协同处理方法、系统、设备及介质。

背景技术:

1、在便携式音频设备、实时通信终端、移动直播设备、会议终端以及具备本地音频处理能力的多媒体设备中,音频信号处理链路通常包括音频采集、输入缓存写入、数字信号处理、输出缓存暂存和播放输出等连续环节。随着音频处理场景从单一语音采集扩展到多通道混音、回声抑制、降噪、动态范围控制、均衡处理和延迟补偿等复合处理任务,处理端在不同处理周期内的计算负载会发生变化,进而影响输入缓存消耗速度和输出缓存补充速度。

2、现有音频处理方案通常将采集端、处理端和播放输出端分别按照固定策略运行。例如,采集端按照基础采样率持续写入音频样本,处理端按照固定线程预算或固定资源档位执行数字信号处理,播放输出端按照固定缓存读取策略输出音频样本。当有效通道占用数量增加、启用音效处理单元数量增加或处理端实际处理延迟上升时,固定资源配置难以及时反映上一处理周期的执行结果,也难以及时结合播放输出端的输出缓存水位对输入缓存预算进行调整。

3、部分方案虽然能够根据处理延迟或缓存水位调整缓存大小,但通常只依据单一延迟数据或单一缓存占用数据进行判断,缺少对当前主负载来源、历史缓存覆盖不足趋势和输入缓存越界趋势的联合判定。同时,输入缓存样本预算属于样本数量,实际处理延迟属于时间长度,如果未将输入缓存样本预算按照基础采样率换算为缓存覆盖时长,而根据缓存数量和处理延迟进行控制,可能导致判断边界不清楚,影响对当前处理周期缓存覆盖不足状态的判断。

4、此外,在处理端出现短时延迟上升时,若停止采集或丢弃当前处理周期的音频帧,可能影响音频输出连续性;在处理端出现持续积压时,若继续向输入缓存写入新增音频样本,则会增加处理端排空负担,并可能使输出缓存水位继续下降。因此,需要一种面向同一音频信号处理链路的协同处理方式,使采集端、处理端和播放输出端能够根据上一处理周期状态、当前处理周期负载、输出缓存水位和实际处理延迟进行周期级联动。

技术实现思路

1、针对上述背景技术中存在的技术问题,本发明提供了一种音频信号数据协同处理方法、系统、设备及介质,解决了同一音频信号处理链路内采集、处理和播放输出之间因周期负载变化导致的缓存覆盖不足和输出连续性下降问题。

2、一种音频信号数据协同处理方法,方法包括:获取同一音频信号处理链路的周期协同基础数据,以及上一处理周期的音频链路负载等级、延迟状态标志、输出缓存水位等级和资源档位执行结果,生成当前处理周期的处理周期协同状态码;根据有效通道占用数量、启用音效处理单元数量、输出缓存可播放样本数量、缓存覆盖不足上升次数和输入缓存越界次数,获取音频链路负载调节量,并结合处理周期协同状态码确定处理端资源执行档位;根据音频链路负载调节量、处理端资源执行档位和输出缓存水位等级确定周期输入缓存样本预算,将周期输入缓存样本预算按基础采样率换算为缓存覆盖时长,并根据缓存覆盖时长和实际处理延迟获取缓存覆盖不足时长;根据缓存覆盖不足时长执行正常处理、轻度缓存覆盖不足处理或重度缓存覆盖不足处理,并在满足恢复条件后恢复处理周期调度。

3、可选地,生成当前处理周期的处理周期协同状态码包括:读取相同的初始链路配置数据、当前处理周期编号、上一处理周期的音频链路负载等级、上一处理周期的延迟状态标志、上一处理周期的输出缓存水位等级和上一处理周期的资源档位执行结果;按照相同字段顺序将初始链路配置数据、当前处理周期编号、上一处理周期的音频链路负载等级、上一处理周期的延迟状态标志、上一处理周期的输出缓存水位等级和上一处理周期的资源档位执行结果拼接为状态输入数据;对状态输入数据中的上一处理周期的音频链路负载等级、上一处理周期的延迟状态标志、上一处理周期的输出缓存水位等级和上一处理周期的资源档位执行结果分别进行字段编码,得到状态字段;对状态输入数据执行确定性校验运算,得到校验字段;将状态字段和校验字段按照预设字段顺序组合,并映射到处理周期协同状态码取值范围内,得到当前处理周期的处理周期协同状态码。

4、可选地,获取音频链路负载调节量包括:根据有效通道占用数量和最大有效通道数量获取通道占用比例;根据启用音效处理单元数量和最大音效处理单元数量获取音效处理单元占用比例;根据输出缓存可播放样本数量和目标播放水位获取输出缓存水位不足程度;根据最近若干个已确认处理周期中缓存覆盖不足时长相对于前一处理周期发生上升的次数,获取缓存覆盖不足上升比例;根据最近若干个已确认处理周期中输入缓存占用超过输入缓存占用边界的次数,获取输入缓存越界比例;选取通道占用比例、音效处理单元占用比例和输出缓存水位不足程度中的最大者作为主负载值,并根据主负载值、缓存覆盖不足上升比例和输入缓存越界比例获取音频链路负载调节量。

5、可选地,确定处理端资源执行档位包括:处理端根据处理周期协同状态码读取上一处理周期的延迟状态标志,并按照第三资源执行档位、第二资源执行档位、第一资源执行档位的顺序进行优先判定。当音频链路负载调节量处于第三范围,或者上一处理周期发生重度缓存覆盖不足状态且已经满足恢复条件时,确定为第三资源执行档位;当不满足第三资源执行档位条件,并且音频链路负载调节量处于第二范围,或者上一处理周期发生轻度缓存覆盖不足状态时,确定为第二资源执行档位;当不满足第三资源执行档位和第二资源执行档位条件,并且音频链路负载调节量处于第一范围且上一处理周期未发生缓存覆盖不足状态时,确定为第一资源执行档位。若上一处理周期发生重度缓存覆盖不足状态且未满足恢复条件,则当前处理周期继续执行重度缓存覆盖不足处理,不恢复普通处理周期调度;其中,处理端资源执行档位用于确定处理线程预算、音效处理单元执行预算、数据搬运优先级和工作频率上限。

6、可选地,确定周期输入缓存样本预算包括:当处理端资源执行档位为第一资源执行档位,且输出缓存水位等级为第二水位等级或第三水位等级时,根据基准周期输入缓存样本预算确定周期输入缓存样本预算;当处理端资源执行档位为第二资源执行档位时,根据基准周期输入缓存样本预算和与音频链路负载调节量对应的样本增量,确定周期输入缓存样本预算;当处理端资源执行档位为第三资源执行档位,或者输出缓存水位等级为第一水位等级时,增加周期输入缓存样本预算;当输出缓存水位等级为第三水位等级时,限制周期输入缓存样本预算的增长幅度;其中,周期输入缓存样本预算不低于基准周期输入缓存样本预算,且不高于最大周期输入缓存样本预算。

7、可选地,获取缓存覆盖不足时长包括:根据周期输入缓存样本预算和基础采样率,将周期输入缓存样本预算换算为缓存覆盖时长;在当前处理周期对应的音频帧写入输入缓存完成时,记录输入完成时刻;在音频帧完成数字信号处理并写入输出缓存完成时,记录输出完成时刻;根据输出完成时刻和输入完成时刻之间的时间间隔获取实际处理延迟;将实际处理延迟与缓存覆盖时长进行同量纲比较,并将实际处理延迟超过缓存覆盖时长的时间确定为缓存覆盖不足时长;当实际处理延迟未超过缓存覆盖时长时,将缓存覆盖不足时长确定为零。

8、可选地,根据缓存覆盖不足时长执行正常处理、轻度缓存覆盖不足处理或重度缓存覆盖不足处理包括:当缓存覆盖不足时长未超过第一不足边界时,按照当前处理周期的周期输入缓存样本预算写入音频样本,按照当前处理周期的处理端资源执行档位完成数字信号处理,并将延迟状态标志记录为正常状态;当缓存覆盖不足时长超过第一不足边界但未超过第二不足边界时,停止向当前处理周期的输入缓存区域写入新增音频样本,将后续采集到的音频样本转入下一处理周期对应的输入缓存区域或临时保持区,将未完成处理的音频帧转入下一处理周期的待处理队列,输出上一处理周期末尾的短时保持帧或备用音频帧,并将延迟状态标志记录为轻度缓存覆盖不足状态;当缓存覆盖不足时长超过第二不足边界时,暂停向输入缓存写入新增音频样本,优先排空已经进入输入缓存的音频帧,暂停接收新增输入缓存写入请求,检测运算占用率、输入缓存占用率、输出缓存水位等级、处理线程阻塞状态和内存占用状态,输出保护音频帧,并将延迟状态标志记录为重度缓存覆盖不足状态;其中,恢复条件包括运算占用率低于运算占用率边界、输入缓存占用率低于输入缓存占用率边界、输出缓存水位等级为第二水位等级或第三水位等级,并且未检测到处理线程阻塞状态。

9、还提供了一种音频信号数据协同处理系统,包括:周期状态生成模块,用于获取同一音频信号处理链路的周期协同基础数据,以及上一处理周期的音频链路负载等级、延迟状态标志、输出缓存水位等级和资源档位执行结果,生成当前处理周期的处理周期协同状态码;资源档位确定模块,用于根据有效通道占用数量、启用音效处理单元数量、输出缓存可播放样本数量、缓存覆盖不足上升次数和输入缓存越界次数获取音频链路负载调节量,并结合处理周期协同状态码确定处理端资源执行档位;缓存预算确定模块,用于根据音频链路负载调节量、处理端资源执行档位和输出缓存水位等级确定周期输入缓存样本预算,将周期输入缓存样本预算按基础采样率换算为缓存覆盖时长,并根据缓存覆盖时长和实际处理延迟获取缓存覆盖不足时长;分级链路保护模块,用于根据缓存覆盖不足时长执行正常处理、轻度缓存覆盖不足处理或重度缓存覆盖不足处理,并在满足恢复条件后恢复处理周期调度。

10、还提供了一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行存储器中的所述计算机程序,用于实现音频信号数据协同处理方法。

11、还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现音频信号数据协同处理方法。

12、本发明的有益效果体现在:

13、在整个音频信号数据协同处理方法中,首先,通过处理周期协同状态码承接上一处理周期的音频链路负载等级、延迟状态标志、输出缓存水位等级和资源档位执行结果,使当前处理周期的资源配置和缓存预算能够参考上一处理周期已经确认的链路运行状态,而不是仅依据当前瞬时数据进行调整。进一步地,根据有效通道占用数量、启用音效处理单元数量、输出缓存可播放样本数量、缓存覆盖不足上升次数和输入缓存越界次数获取音频链路负载调节量,可以使负载调节量包含当前处理周期的主要负载来源、输出缓存水位不足情况以及最近若干个已确认处理周期内的失配变化趋势。进一步地,将周期输入缓存样本预算按照基础采样率换算为缓存覆盖时长,再与处理端实际处理延迟进行同量纲比较,可以判断输入缓存样本预算是否覆盖处理端实际处理耗时,并减少因样本数量和时间长度直接比较造成的控制边界不清。进一步地,根据缓存覆盖不足时长执行正常处理、轻度缓存覆盖不足处理或重度缓存覆盖不足处理;在轻度缓存覆盖不足时,执行输入缓存写入转移、待处理队列转移和短时保持帧输出;在重度缓存覆盖不足时,执行暂停新增写入、优先排空已进入输入缓存的音频帧和保护音频帧输出,以降低持续积压影响。