[发明专利]一种基于双缓冲区智能缓存的语音对讲实现方法有效
申请号: | 201910697141.6 | 申请日: | 2019-07-30 |
公开(公告)号: | CN110418021B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 洪靖云;李雪松;殷翰扬 | 申请(专利权)人: | 南京安谱软件有限公司 |
主分类号: | H04M7/00 | 分类号: | H04M7/00;H04L29/08 |
代理公司: | 北京中企鸿阳知识产权代理事务所(普通合伙) 11487 | 代理人: | 苏艳 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 缓冲区 智能 缓存 语音 对讲 实现 方法 | ||
本发明提出了一种基于双缓冲区智能缓存的语音对讲实现方法,包括:设置第一语音缓冲区和第二语音缓冲区;对第一语音缓冲区和第二语音缓冲区进行初始化;当检测到一个讲话方的语音到来时,发出话权信令将话权切换到第一语音缓冲区,根据写指针的位置向第一语音缓冲区写入语音数据直至话权结束;当话权切换至另一个讲话方时,则发出话权信令将话权切换到第二语音缓冲区,根据写指针的位置向第二语音缓冲区写入语音数据直至话权结束;当话权再次切换时,则发出话权信令将话权切换到第一语音缓冲区,如此往复。本发明采用语音双缓冲区的方案,解决网络不佳引发的报文抖动、语音不连续、语音话权切换等问题,提升公网对讲语音的质量。
技术领域
本发明涉及信息通讯技术领域,特别涉及一种基于双缓冲区智能缓存的语音对讲实现方法。
背景技术
众所周知,基于运营商网络的VOIP语音在实际传输和业务应用中,都会碰到网络丢包、网络抖动等问题,从而导致语音不连续、质量下降,影响客户体验。而解决网络抖动问题的主要手段就是进行语音缓存,通过语音缓存保证语音连续性。
然而基于运营商网络的语音对讲业务,除了解决网络抖动的语音缓存外,还需要解决话权切换场景下的语音播放问题。语音对讲业务,解决的方法一般还是延续VOIP语音的方案,采用单缓冲区进行语音缓存,这种方案存在如下一些问题:
(1)无法灵活调整缓冲区大小,导致语音不连续或者语音延时较大。
(2)语音话权切换时,无法准确判断语音播放的起始和停止点,从而导致语音漏字现象,也无法准确播放提示音。
(3)尤其是在遇到语音话权抢占时,可能导致话权切换失败,状态异常,从而影响正常对讲业务。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的目的在于提出一种基于双缓冲区智能缓存的语音对讲实现方法。
为了实现上述目的,本发明的实施例提供一种基于双缓冲区智能缓存的语音对讲实现方法,包括如下步骤:
步骤S1,设置第一语音缓冲区和第二语音缓冲区,其中,每个所述语音缓冲区对应一段语音通话的一个话权的讲话方,当话权切换时,语音缓冲区也相应切换;
步骤S2,对所述第一语音缓冲区和第二语音缓冲区进行初始化;
步骤S3,当检测到一个讲话方的语音到来时,发出话权信令将话权切换到第一语音缓冲区,根据写指针的位置向第一语音缓冲区写入语音数据直至话权切换;当话权切换至另一个讲话方时,则发出话权信令将话权切换到第二语音缓冲区,根据写指针的位置向第二语音缓冲区写入语音数据直至话权切换;当话权再次切换时,则发出话权信令将话权切换到第一语音缓冲区,如此往复。
进一步,在所述步骤S1中,采用智能缓冲策略根据统计得到的网络时延对所述第一语音缓冲区和第二语音缓冲区的大小进行调整。
进一步,在所述步骤S2中,所述对第一语音缓冲区和第二语音缓冲区进行初始化,包括如下步骤:将第一语音缓冲区和第二语音缓冲区的数据清零、初始化读指针的位置和写指针的位置。
进一步,每个所述语音缓冲区设置有读数据指针标识和写数据指针标识,其中,所述读数据指针标识用于判断读语音数据标识,所述写数据指针标识用于判断写语音数据标识。
进一步,每个语音缓冲区均循环使用。
进一步,在所述步骤S3中,从每个语音缓冲区读取语音数据时,等待语音数据在语音缓冲区缓冲到预设长度后开始读取数据,并持续读数据和播放语音,直到将所有写的数据读完为止。
进一步,在所述步骤S3中,在根据话权信令的基础上,进一步根据当前语音播放的位置判断话权切换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京安谱软件有限公司,未经南京安谱软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910697141.6/2.html,转载请声明来源钻瓜专利网。