掌桥专利:专业的专利平台
掌桥专利
首页

一种低延迟医疗对讲控制方法、系统、设备及存储介质

文献发布时间:2024-04-18 20:01:55


一种低延迟医疗对讲控制方法、系统、设备及存储介质

技术领域

本发明属于医疗对讲技术领域,尤其涉及一种低延迟医疗对讲控制方法、系统、设备及存储介质。

背景技术

现有的网络化对讲设备采用常规的TCP/IP或UDP网络传输协议,基于无线传输方式极大提高了通信效率,因此,被广泛应用于医疗领域。目前医院病房中为了便于患者寻呼医护人员,一般设置有寻呼装置,当病患出现不适的症状时,病患或者病患的家属通过按下呼叫按钮来呼叫医护人员。而针对医疗影像检查室内,由于机器启动后的噪声可能过大,为了便于控制室内医生和检查室内病人交谈,一般也设置对讲装置。

然而,针对带AI语音交互的医疗对讲系统或产品,即在多语音业务混合与叠加的情况下,对讲功能是对讲系统中最重要的一个业务,但由于所有功能共用一个嵌入式终端系统的硬件或软件资源,会发生抢占(CPU、内存、网络宽带等),以及不同语音业务的调入调出均会引起对讲实时性的波动。因此,保持医疗对讲功能的实时性与低延迟一直是领域内持续关注与改进的话题。

目前,相关领域的研究人员通常将包含多种业务的混音、播报控制等逻辑交给ALSA音频系统来管控,以降低应用开发的复杂度,这种做法会导致研究人员忽视对不同业务优先级的判别,以及在应用层监控、控制、改善延迟的需求。

因此,如何实现在多语音业务混合与叠加情况下仍能保障对讲延迟指标达到优秀水平是亟待解决的问题。

发明内容

本发明的目的在于提供一种低延迟医疗对讲控制方法、系统、设备及存储介质,能够在多语音业务混合与叠加情况下,实现对讲低延迟指标始终保持于优秀水平。

为达到上述目的,本发明提供如下技术方案:

第一方面,本发明实施例提供一种低延迟医疗对讲控制方法,所述方法包括:

接收音频流,根据所述音频流的类型将其存储至对应的音频流队列中;所述音频流包括对话音频流和非对话音频流,所述对话音频流为发送端发送的音频流;

按照预设的周期循环读取每个音频流队列中的音频帧;

判断读取的音频帧中是否存在有效待播音频,若任一音频流队列中存在有效待播音频,则执行混音操作,将混音音频输出至环形数据缓存区。

进一步地,所述执行混音操作之前,所述方法还包括:

查询所述环形数据缓存区当前空闲区间和当前占用区间;

若所述当前空闲区间小于所述混音音频的帧长或者所述当前占用区间大于第一预设阈值,则直接进入下一个读取周期;

若所述当前占用区间大于第二预设阈值,则删除所述环形数据缓存区中的原有数据后进入下一个读取周期;

其中,所述第一预设阈值小于所述第二预设阈值。

所述第一预设阈值和所述第二预设阈值与第三预设阈值呈正相关;所述第三预设阈值为音频输出时所述环形数据缓存区的数据量阈值。

进一步地,当所述音频流为对讲音频流时,读取对话音频流队列中的音频帧之前,还包括:

判断所述对讲音频流是否处于断流状态;

若所述对讲音频流不处于断流状态,执行所述读取对讲音频流队列中的音频帧的操作。

进一步地,所述方法还包括:以阻塞方式读取对话音频流队列中的对话音频帧,以非阻塞方式读取非对话音频流中的非对话音频帧。

所述以阻塞方式读取对话音频流队列中的对话音频帧时,若经过预设的超时时间后所述对话音频流队列中剩余音频帧长度小于所述对话音频帧帧长则进入下一个读取周期;所述预设的超时时间为所述对讲音频帧帧长的2-4倍。

进一步地,上述任一所述的低延迟医疗对讲控制方法,当所述接收端掉线重连后,读取掉线重连后的第一帧对讲音频后,删除所述对讲音频流队列中预设时间内的对讲音频帧;所述预设时间基于掉线时间确定。

第二方面,本发明实施例还提供一种低延迟医疗对讲控制系统,采用如上述任一所述的低延迟医疗对讲控制方法,所述系统包括:

发送端,用于采集对讲音频信号,对所述对讲音频信号进行预处理,并发送给接收端;

接收端,用于接收音频流,根据所述音频流的类型将其存储至对应的音频流队列中;所述音频流包括对话音频流和非对话音频流,所述对话音频流为发送端发送的音频流;按照预设的周期循环读取每个音频流队列中的音频帧;判断读取的音频帧中是否存在有效待播音频,若任一音频流队列中存在有效待播音频,则执行混音操作,将混音音频输出至环形数据缓存区。

第三方面,本发明实施例还提供一种电子设备,其特征在于,所述电子设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述任一所述的低延迟医疗对讲控制方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述任一所述的低延迟医疗对讲控制方法。

本发明的有益效果在于:本发明实施例提供了一种低延迟医疗对讲控制方法,接收端接收不同类型的音频流,存储至对应的音频流队列中,播报之前,接收端循环读取音频流队列中的音频帧,判断读取的音频帧是否为有效待播音频,只有当存在有效待播音频时才将不同类型的音频流进行混音操作,以确保多种语音业务混叠时,接收端能正常播放各待播语音。同时,多环形队列读取模式,实时地查询数据缓存区的可用空间,判定当前延迟状态是否属于轻微或严重,并针对性地采取行之有效的方法,达到对讲延迟的控制与改善效果,保障医疗对讲系统中,即便多语音业务混叠,多待播音频共存,发送端和接收端之间的对讲延时指标始终保持于优秀水平。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

图1为本发明实施例提供的一种低延迟对讲控制系统的结构示意图;

图2为本发明实施例提供的一种低延迟对讲控制方法的流程示意图;

图3为本发明实施例中接收端处理音频流的流程示意图;

图4为本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种低延迟对讲控制系统,该控制系统包括发送端和接收端,通过网络系统建立通信连接。其中,发送端用于采集对讲音频,基于算法对音频进行预处理,将预处理后的对讲音频发送给接收端。接收端接收音频流,将音频流进行混音处理后进行播报。

在一示例性实施例中,低延迟对讲控制系统包括采集模块、算法组件、对讲模块、网络系统、混音模块和播报模块。采集模块负责采集麦克风传感器中的对讲音频。算法组件用于对对讲音频进行回声消除、降噪、人声增强、啸叫抑制等处理,得到高清对讲音频。对讲模块包含连接发送端和接收端的UDP套接字,其中发送端的对讲模块用于将算法组件输出的高清对讲音频按预设的高净荷比协议封装成对讲音频流,并路由至网络系统;接收端的对讲模块用于轮询网络系统中的对讲音频流和非对讲音频流,将不同类型的音频流暂存至对应的音频流环形队列中。网络系统基于TCP/IP网络协议栈进行终端的连接,从而使得发送端和接收端通信连接。混音模块工作于接收端,负责读取不同的音频流队列中音频帧,在以对讲音频流为基础音频,并兼顾对讲延迟监测与优化的情况下,只能选择是否执行混音以及交互至播报模块。播报模块接收混音模块的输出,通过调用Linux ALSA API接口,将待播音频交互至系统声卡,以实现不同音频的播报。

具体地,发送端基于对讲算法对对讲音频进行预处理,采集的每一帧对讲音频的长度小于或等于对讲算法处理的音频帧长,具体为对讲算法处理的音频帧长能被对讲音频的帧长整除。

图1所示的低延迟对讲控制系统的流程框图,不仅是单向对讲通话的框图,也是双向对讲通话的框图。当系统处于双向对讲通话模式时,单向时的发送端和接收端也可以充当双向对讲通话的接收端和发送端。

需要说明的是,该系统的对讲终端不局限于具体物理形态或基于何种硬件架构,终端间采取何种通信介质(以太网,WIFI,4G/5G等),及何种对讲音频帧传输与封装协议,对讲接收端无论是两路还是多路待播业务音频,下游对接的是原生Linux ALSA框架还是其他操作系统及类ALSA的声音处理框架,本系统均能实现接收端引起的对讲延迟的实时监测,控制与改善。

图2是根据一示例性实施例示出的一种低延迟医疗对讲控制方法的流程示意图,如图2所示,该方法包括以下步骤:

在步骤S101中,接收音频流,根据所述音频流的类型将其存储至对应的音频流队列中。

其中,音频流分为对话音频流和非对话音频流,对话音频流为发送端发送的音频流。本实施例中以非对话音频流为提示音音频流和背景音乐音频流为例进行说明,即下文中的提示音音频流和背景音乐音频流均属于非对话音频流,对应地,音频流队列包括:对话音频流队列、提示音音频流队列、背景音乐音频流队列。

需要说明的一点是,接收端的混音模块的输入端包含三个音频输入流,均以环形队列的形式存储在存储器中,环形队列包括对讲音频流队列RBi、AI语音对话提示音流队列RBt、背景音乐流队列RBm。在网络系统的UDP接收回调函数中,将发送端发送的高清对讲音频流在最短的时间内存储至对讲音频流队列RBi中。同时,当存在AI语音对话提示音待播放时,终端上的医疗语音云代理实时将语音云下发的提示音音频下载到本地,并在最短的时间内将提示音音频流存储至提示音流队列RBt;当存在终端背景音乐待播放时,终端上的医疗主机代理实时将医疗主机下发的音乐音频下载到本地,并在最短的时间内将背景音乐音频流存储至背景音乐流队列RBm。基于环形队列存储音频数据,能够提高数据存取速度以及节省存储空间。

在步骤S102中,按照预设的周期循环读取每个音频流队列中的音频帧。

具体地,混音模块以阻塞的方式从RBi中读取每帧对讲音频,以非阻塞的方式分别从RBt和RBm中读取每帧提示音音频和每帧背景音乐音频。本实施例中以阻塞的方式读取对讲音频帧能够保证对讲音频播放的优先级。

需要说明的一点是,以阻塞方式读取对话音频流队列中的对话音频帧时,若经过预设的超时时间后对话音频流队列中剩余音频帧长度小于对话音频帧帧长则进入下一个读取周期。其中,预设的超时时间为所述对讲音频帧帧长的2-4倍。具体地,从RBi中读取对讲音频帧时,设对讲音频操作帧长为16毫米,则设置超时时间T1为48毫秒,经过T1毫秒后如果RBi中的对讲音频不足一帧长度时则直接进入下一个读取周期。本发明实施例中为了避免音频数据的积压,为对讲音频的读取设置一个超时时间,尽可能保证接收端能够及时处理音频信号。

另外,当RBi阻塞等待,因超时退出,若此时发现存在非对话业务的待播音频,即RBt或RBm中存在有效数据,则在本次读取周期内,将T1时长的提示音频或者背景音乐的音频混音补偿至声卡PCM环形队列中,以保障非对话业务音频的流畅度。

需要说明的另一点是,网络UDP接收回调函数中还设置判断机制,用于判断接受的对讲音频流中是否存在断流现象。当所述音频流为对讲音频流时,读取对话音频流队列中的音频帧之前,包括:判断所述对讲音频流是否处于断流状态;若所述对讲音频流不处于断流状态,执行读取对讲音频流队列中的音频帧的操作。

在一个示例中,若200毫秒内没有收到任何发送端发送的对讲音频流,则判断当前处于断流状态。对讲业务音频流不处于断流状态时,混音模块才读取对讲音频流队列中的每帧音频,以避免断流状态下,因读取RBi中的对讲音频阻塞等待的时间过长而影响非对讲业务音频播放的流畅度。

在步骤S103中,判断读取的音频帧中是否存在有效待播音频,若任一音频流队列中存在有效待播音频,则执行混音操作,将混音音频输出至环形数据缓存区。

若所有音频流队列中均不存在有效待播音频,则直接进入下一个读取周期。

其中,执行混音操作时,如果某一个音频队列无有效待播音频,则以空数据代替,将最终的混音音频输出至环形数据缓存区,该环形数据缓存区可以为声卡的ALSA PCM环形队列。

具体地,判断读取的音频帧是否为有效待播音频的方法可以通过语音活动检测算法分析音频的频谱特性、能量变化等因素来判断音频帧中是否包含人声,也可以通过自然语言处理技术将音频进行文本转换,根据文本内容的有效性进行判断,本发明实施例不对有效待播音频的判断方法做具体限定。

在一示例性实施例中,在执行混音操作前,查询环形数据缓存区当前空闲区间和当前占用区间;若当前空闲区间小于混音音频的帧长或者当前占用区间大于第一预设阈值,则直接进入下一个读取周期;若当前占用区间大于第二预设阈值,则删除环形数据缓存区中的原有数据后进入下一个读取周期。如果当前已占用区间大于第一预设阈值,表明当前发生轻微对讲延迟,只需本轮读取周期进入下一周期。如果当前已占用区间大于第二预设阈值,表明当前发生严重的对讲延迟,此时借助ALSA API将PCM环形队列中过旧的音频数据清除后在结束本轮读取周期。其中,第一预设阈值小于第二预设阈值。

具体地,第一预设阈值和第二预设阈值与第三预设阈值呈正相关关系,第三预设阈值为音频输出时环形数据缓存区的数据量阈值。当音频输出的缓冲区中的数据量达到设定的阈值时,声卡就会开始播放音频,声卡启动播放的阈值与具体对讲系统的整体延时有关,实际处理过程中,采集人声的过程,算法处理、网络交互、混音等中间环节的处理耗时构成整个系统的链路延时。

如图3所示,为接收端处理音频流的流程框图,接收端接收到音频流会以最快的速度将其存储至对应的音频流队列中,将环形队列中的音频帧读取出来后在进行播报。在读取之前,首先判断对讲音频流是否存在断流,当存在断流时,直接以非阻塞的方式读取非对话音频,若不存在断流,则以阻塞的方式读取对讲音频后,判断是否存在有效待播音频,只有在存在有效待播音频,且不存在延时的情况下,才执行混音的操作,并将混音音频交互至播放模块。

另外,在实际的应用场景中,医疗对讲系统一般布局于局域网内,通过以太网或无线WIFI等方式在交换机或者路由器的配合下进行组网。然而在对讲过程中,若接收端因网络异常导致其处于离线状态,发送端是难以实时检测到接收端的异常状态,在接收端的掉线初期,发送端会照常发送对讲音频帧直至其接收端的邻居表失效。如果接收端网络恢复,缓存的对讲音频帧会被系统发送至接收端,这就导致接收端播报的音频为掉线前的对讲音频。具体地,当接收端网络出现异常,读取恢复正常状态后的第一帧对讲音频后,删除对讲音频流队列中预设时间内的对讲音频帧,预设时间基于接收端处于网络异常状态的时间确定。

本发明实施例通过在接收端在接收到恢复网络状态的第一帧对讲音频帧后,轮询预设时间,将该预设时间内的对讲帧进行清除操作,避免其进去声卡。

本发明实施例提供了一种低延迟医疗对讲控制方法,接收端接收不同类型的音频流,存储至对应的音频流队列中,播报之前,接收端循环读取音频流队列中的音频帧,判断读取的音频帧是否为有效待播音频,只有当存在有效待播音频时才将不同类型的音频流进行混音操作,以确保多种语音业务混叠时,接收端能正常播放各待播语音。同时,多环形队列读取模式,实时地查询数据缓存区的可用空间,判定当前延迟状态是否属于轻微或严重,并针对性地采取行之有效的方法,达到对讲延迟的控制与改善效果,保障医疗对讲系统中,即便多语音业务混叠,多待播音频共存,发送端和接收端之间的对讲延时指标始终保持于优秀水平。

本申请另一实施例提供的一种电子设备,如图4所示,电子设备包括:存储器20,用于存储计算机程序;处理器21,用于执行计算机程序时实现如上述实施例所提到的方法的步骤。

本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。

其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(ProgrammableLogic Array,简称PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing Unit,简称CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(GraphicsProcessing Unit,简称GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,简称AI)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于上述方法中所涉及的相关数据等。

本领域技术人员可以理解,图4中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件。

本申请实施例提供的电子设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现上述实施例提到的方法。

最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。

可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术分类

06120116566653