语音传输方法、可读介质和电子设备与流程

文档序号:33622136发布日期:2023-03-25 12:38阅读:70来源:国知局
语音传输方法、可读介质和电子设备与流程

1.本技术涉及语音处理技术领域,特别涉及一种语音传输方法、可读介质和电子设备。


背景技术:

2.随着通讯技术的发展,用户对语音通话质量的要求越来越高,在实际应用中,语音通话质量与网络质量密切相关。但是,用户在无线网络信号弱覆盖区域进行语音通话,经常会出现语音数据丢包的情况。
3.例如,如图1所示,用户a与用户b进行语音通话时,用户a对手机10说“今天天气很好”,手机10采集“今天天气很好”的语音数据,但是,由于无线网络信号弱,手机10无法及时将“今天天气很好”的语音数据发送给基站20。为了保证语音通话的实时性,手机10只能将“今天很好”的语音数据发送给基站20,基站20将“今天很好”的语音数据转发给手机30,则手机30播放的语音为“今天很好”。这样就造成了户a与用户b进行语音通话时,用户b无法接收用户a说的完整的语义内容,从而导致用户通话体验差的问题。


技术实现要素:

4.本技术实施例提供了一种语音传输方法、可读介质和电子设备。
5.第一方面,本技术实施例提供了一种语音传输方法,包括:第一电子设备获取待传输语音的多帧数据帧组成的第一数据帧组,其中,第一数据帧组包括包含语义内容的语音帧和不包括语义内容的静音帧;第一电子设备在满足预设条件的情况下,删除第一数据帧组中的至少一个静音帧得到第二数据帧组;
6.第一电子设备将第二数据帧组中的每个数据帧封装成对应的数据包。
7.例如,第一数据帧组中的数据帧可以是第一电子设备通过语音端点检测对包含语义数据的语音进行分帧操作,生成的连续多帧数据帧,其中,联系多帧数据帧包括静音帧和语音帧,语音帧是指包括实际语义的数据帧;静音帧是指不包括实际语义的数据帧。第一电子设备可以是下文的电子设备10。
8.例如,第二数据帧组可以是第一电子设备对连续多帧数据帧中的连续多个静音帧进行删除(即裁剪或丢弃)得到的多帧数据帧。第二数据帧组也可以是第一电子设备对连续多帧数据帧中的连续多个静音帧进行间隔裁剪得到的多帧数据帧。第二数据帧组还可以是第一电子设备对连续多帧数据帧中的连续多个静音帧的首个静音帧不裁剪,只裁剪连续多个静音帧的其他静音帧得到的多帧数据帧。
9.例如,数据包可以是实时传输协议(real-time transport protocol,rtp)报文,第一电子设备将第二数据帧组中的每个数据帧封装成rtp报文。具体地,第一电子设备可以将一帧语音帧封装成一个rtp报文,也可以将一帧静音帧封装成一个rtp报文,第一电子设备可以将包含静音帧或语音帧的rtp报文发送给第二电子设备,第二电子设备还可以将rtp报文转发给其他电子设备。
10.在上述第一方面的一种可能的实现中,上述方法还包括:数据包为实时传输协议报文。
11.在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备向第二电子设备发送rtp报文。
12.例如,第二电子设备可以是下文的接入网设备20和/或电子设备30。
13.在上述第一方面的一种可能的实现中,上述方法还包括:rtp报文包含序列号,序列号用于唯一标识rtp报文。
14.在上述第一方面的一种可能的实现中,上述方法还包括:第二电子设备接收第一电子设备发送的实时传输协议报文;第二电子设备根据接收的实时传输协议报文的序列号,判断接收的实时传输协议报文的排列顺序与第二数据帧组中的数据帧的排列顺序是否一致,以及判断实时传输协议报文是否丢失。
15.例如,rtp报文的组成部分包括:一个固定rtp包头、数据帧;rtp包头中包含序列号,序列号可以用于唯一标识rtp报文。第一电子设备可以每发送一个rtp报文,序列号递增1。可以理解的是,第二电子设备可以根据rtp报文的序列号,检测是否丢失rtp报文或接收的多个rtp报文的排列顺序是否正确。
16.在上述第一方面的一种可能的实现中,上述方法还包括:预设条件包括:第一电子设备的无线网络传输的信号强度小于强度阈值。
17.例如,第一电子设备在获取待处理的语音数据的平均速率高于将已处理的语音数据发送给第二电子设备的平均速率的值大于预设阈值的情况下,对连续的多帧数据帧中的静音帧进行裁剪,生成裁剪后的多帧数据帧。
18.例如,强度阈值可以是下文中的第一预设值。具体地,第一电子设备可以根据采集待处理的语音数据的码率确定第一电子设备获取待处理的语音数据的平均速率。在无线数据网络下的语音数据传输或语音通话等场景中(例如,下文中的图2或图3的场景),第一电子设备还可以根据第一电子设备的无线网络信号强度确定第一电子设备将已处理的语音数据(即rtp报文)发送给第二电子设备的平均速率。可以理解,第一电子设备可以获取无线网络的信号强度;在无线网络的信号强度小于强度阈值的情况下,第一电子设备删除第一数据帧组中的至少一个静音帧得到第二数据帧组。从而使得在无线网络信号弱的情况下,第一电子设备将已处理的语音数据发送给第二电子设备的平均速率变小,第一电子设备可以通过主动裁剪连续多帧数据帧中的静音帧,避免出现丢失连续多帧数据帧中的包含语义内容的语音帧的情况,提高用户通话体验,其中,连续多帧数据帧包括语音帧和静音帧,语音帧为包括语义内容的数据帧,静音帧为不包括语义内容的数据帧。
19.在上述第一方面的一种可能的实现中,上述方法还包括:预设条件包括:第一电子设备中缓存的实时传输协议报文的缓存时长大于时长阈值。
20.例如,第一电子设备在获取待处理的语音数据的平均速率高于将已处理的语音数据发送给第二电子设备的平均速率的值大于预设阈值的情况下,对连续的多帧数据帧中的静音帧进行裁剪,生成裁剪后的多帧数据帧。
21.例如,时长阈值可以是下文中的第三预设值。具体地,第一电子设备可以根据采集待处理的语音数据的码率确定第一电子设备获取待处理的语音数据的平均速率。第一电子设备可以根据第二电子设备的授权信息以及已处理的语音数据的语音编码类型确定第一
电子设备将已处理的语音数据发送给第二电子设备的平均速率;其中,授权信息可以包括调制编码策略(modulation and coding scheme,mcs)和资源块(resource block,rb)数。在第一电子设备在获取待处理的语音数据的平均速率高于将已处理的语音数据发送给第二电子设备的平均速率的值大于预设阈值的情况下,缓存模块中会暂存堆积的rtp报文。在缓存模块中缓存的rtp报文的缓存时长大于最大允许缓存时长的情况,为保证语音通话的实时性,第一电子设备会主动删除接收的rtp报文。为避免第一电子设备删除报文,第一电子设备可以通过主动裁剪连续多帧数据帧中的静音帧,避免出现丢失连续多帧数据帧中的包含语义内容的语音帧的情况,提高用户通话体验。
22.例如,在运营商网络的语音通话场景的场景中(例如,下文的图4的场景),第一电子设备(即下文的电子设备10)的缓存模块(即下文的语音缓存模块131)的最大允许缓存时长可以是第二电子设备(即下文的电子设备20)通过pdcp层发送的最大允许的缓存时长。可以理解,时长阈值可以是不大于最大允许的缓存时长的值。
23.在上述第一方面的一种可能的实现中,上述方法还包括:第一电子设备包括音频模块,第一电子设备的音频模块删除第一数据帧组中的至少一个静音帧得到第二数据帧组。
24.第二方面,本技术实施例提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行上述第一方面以及第一方面的各种可能实现中的任意一种语音传输方法。
25.第三方面,本技术实施例提供了一种电子设备,包括:
26.存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
27.处理器,是电子设备的处理器之一,用于执行上述第一方面以及第一方面的各种可能实现中的任意一种语音传输方法。
附图说明
28.图1根据本技术的一些实施例,示出了一种基于现有技术的语音传输场景;
29.图2根据本技术的一些实施例,示出了一种语音传输场景;
30.图3根据本技术的一些实施例,示出了另一种语音传输场景;
31.图4根据本技术的一些实施例,示出了另一种语音传输场景;
32.图5根据本技术的一些实施例,示出了一种语音传输方法的流程图;
33.图6根据本技术的一些实施例,示出了一种电子设备的组成结构示意图;
34.图7根据本技术的一些实施例,示出了一种语音传输方法的交互图;
35.图8根据本技术的一些实施例,示出了一种rtp包头的格式示意图;
36.图9根据本技术的一些实施例,示出了另一种电子设备的组成结构示意图;
37.图10根据本技术的一些实施例,示出了另一种语音传输方法的交互图;
38.图11a至图11b根据本技术的一些实施例,示出了一种在上行发送受限或无线网络的信号强度弱的情况下,在第0ms至第1260ms内,数据收发模块丢弃rtp报文的示意图;
39.图12a至图12b根据本技术的一些实施例,示出了一种在上行发送受限或无线网络的信号强度弱的情况下,在第0ms至第1260ms内,rtp处理模块剪切静音帧前后的示意图;
40.图13a至图13b根据本技术的一些实施例,示出了一种在上行发送受限或无线网络
的信号强度弱的情况下,在第0ms至第1260ms内,数据收发模块接收和发送的rtp报文的示意图;
41.图14根据本技术的一些实施例,示出了一种电子设备的硬件结构示意图。
具体实施方式
42.本技术的说明性实施例包括但不限于语音传输方法、可读介质和电子设备。
43.为解决上述问题,本技术的提出一种语音传输方法,应用于电子设备。在网络覆盖弱的情况下,电子设备可以通过主动裁剪连续多帧数据帧中的静音帧,从而避免丢失连续多帧数据帧中的包含语义内容的语音帧,提高用户通话体验,其中,连续多帧数据帧包括语音帧和静音帧,语音帧为包括语义内容的数据帧,静音帧为不包括语义内容的数据帧。
44.例如,对于图1所示的场景,在本技术的语音传输技术中,手机10采集“今天天气很好”的语音数据,并对“今天天气很好”的语音数据进行分帧操作,生成连续多帧数据帧,包括语音帧和静音帧,语音帧为包含“今天天气很好”语义的数据帧,静音帧为不包含“今天天气很好”中任意一个字的语义的数据帧。
45.具体地,手机10可以有选择的对封装成rtp报文之前的连续多帧数据帧中的静音帧进行裁剪,即有选择的主动丢弃连续多帧数据帧中的静音帧,保留语音帧。可以理解,手机10丢弃部分静音帧不仅不会影响“今天天气很好”的语义,还可以减少需要发送给基站20的数据帧的数量。在网络覆盖弱的情况下,虽然手机10传输数据的能力变弱,手机10通过裁剪连续多帧数据帧中的静音帧,使得待发送的数据帧的数量相应减少,从而使得手机10可以将包含“今天天气很好”语义的数据帧发送给基站20。基站20将“今天天气很好”的语音数据转发给手机30,则手机30播放的语音为“今天天气很好”(例如如图2所示的场景)。从而使得户a与用户b进行语音通话时,用户b能够接收到用户a说的完整的语义内容,提高用户通话体验。
46.进一步地,例如,手机10可以将裁剪后的每个数据帧封装成rtp报文发送给基站20,其中,rtp报文包括序列号,序列号可以用于唯一标识rtp报文,并且序列号还可以用于标识生成的每个数据帧的先后顺序。手机30可以根据接收的rtp报文的序列号,对rtp报文进行校验,避免rtp报文在传输过程中,出现丢失rtp报文或者接收的多个rtp报文的乱序的情况,确保用户b接收用户a说的完整的语义内容,进一步提高用户通话体验。本技术的技术方案可以应用于无线数据网络下的语音数据传输或语音通话等场景,无线数据网络可以包括但不限于蜂窝网络(例如5g,4g,3g或gprs)和无线局域网络(wifi),例如,基于ott的voip通话(例如,“实时通讯”软件的语音通话)场景,基于无线数据网络下的语音交互提供的娱乐服务(例如,语音助手的使用)场景等。本技术的技术方案还可以应用于运营商网络的语音通话场景。例如,基于ims技术的volte、vonr、vowifi等的语音通话场景。可以理解,本技术的语音传输的方案可以适用于各种场景,根据实际应用需要,本技术对场景不做具体限定。
47.可以理解的是,在本技术的语音传输方法适用的场景中,本技术适用的语音编码类型可以包括但不限于自适应多平均速率窄带语音编码(adaptive multirate speech codec,amr)(即amr-nb,narrow band)、自适应多平均速率宽带语音编码(adaptive multi-ratewideband speech codec,amr wb、增强语音服务(英文:enhancedvoice service,简
称:evs)编码以及网络音频视频流ivas(interleaved video and audio stream)编码等。
48.在详细披露本技术的具体实施方案的细节之前,为便于理解,这里先对本技术实施例使用的关键名词进行解释:
49.实时传输协议(real-time transport protocol,rtp):rtp在多点传送或单点传送的网络服务上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。其中,网络服务包括有效载荷类型定义,序列号,时间戳和传输监测控制。
50.rtp报文(rtp packet):一种数据包,其组成部分包括:一个固定rtp报头、负载数据;图1为rtp包头的格式。
51.基于网际协议的语音传输(voice over internet protocol,voip):一种语音通话技术,经由网际协议(internet protocol,ip)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。
52.基于长期演进语音承载的语音传输(voice over long-term evolution,volte):一种ip数据传输技术,又称长期演进(英文:long term evolution,简称:lte)网络的语音传输,例如,在语音通话过程中,语音通话数据全部承载于4g网络上。
53.基于新无线的语音传输(voice over new radio,vonr):与volte技术相同,语音基于网路通信,差别在于承载于5g新无线之上。
54.基于无线保真的语音传输(voice over wireless fidelity,vowifi):与volte相同,语音基于网路通信,差别在于全部业务承载于wifi之上。
55.ott(over the top)业务:是指互联网公司越过运营商,发展基于开放互联网的各种视频及数据服务业务;即通过互联网向用户提供各种应用服务。
56.ip多媒体系统(ip multimedia subsystem,ims):是一种全新的多媒体业务形式,它能够满足的终端客户更新颖、更多样化多媒体业务的需求。
57.为使本技术的目的、技术方案和优点更加清楚,下面结合图1至图14详细说明本技术的技术方案。
58.图2为根据本技术的实施例,示出了一种语音传输场景图。图2的场景包括:用户a,电子设备10,接入网设备20,电子设备30以及用户b。用户a与用户b通过“实时通讯”软件的进行语音通话。具体地,电子设备10基于采集的用户a的语音向接入网设备20发送上行语音数据,电子设备30基于接收的接入网设备20发送的下行语音数据向用户b播放语音,从而实现用户a与用户b的实时语音通话。
59.在一些实施例中,图2的场景可以是应用于无线网络数据无线数据网络下语音传输场景,无线网络数据无线数据网络可以包括但不限于蜂窝网络(例如5g,4g,3g或gprs)和无线局域网络(wifi),例如,基于ott的voip通话(例如,“实时通讯”软件的语音通话)场景,其中,“实时通讯”软件可以是facetime
tm
、skype
tm
、welink
tm
、微信
tm
等。
60.例如,在图2的场景中,电子设备10或电子设备30可以是手机,接入网设备20可以是基站。如图2所示,手机10采集用户a说的“今天天气很好”的语音,手机10可以通过语音端点检测对该段语音进行分帧操作,生成连续多帧数据帧,其中,连续多帧数据帧包括语音帧和静音帧,语音帧包括实际语义的数据帧,静音帧不包括实际语义的数据帧;并且手机10可以实时获取无线网络的信号强度,手机10根据无线网络的信号强度确定手机10向基站20发送语音数据的平均速率,在手机10向基站20发送数据帧的平均速率高于手机10生成数据帧
的平均速率的值大于预设阈值的情况下,手机10可以通过对连续多帧数据帧中的静音帧进行裁剪,保证连续多帧数据帧中的语音帧的完整性,从而使得用户b收听的语音的语义与用户a说的语音的语义相同(例如均是“今天天气很好”)。从而避免手机10为了减少多帧数据帧在手机10端的堆积,主动丢弃数据帧(丢弃的数据帧可能是语音帧)的情形。
61.进一步地,手机10可以将裁剪后多帧数据帧中的每帧数据帧封装成rtp报文发送给基站20,基站20将rtp报文发送给手机30,手机30可以根据接收的rtp报文的序列号是否连续,判断接收的数据帧相较于手机10发送的数据帧是否出现丢失数据帧或者数据帧重新排序的情况,从而进一步保证了用户b接收的语音的语义内容与用户a说的语音的语义内容相同。
62.可以理解的是,本技术的语音传输方法不仅适用于图2中的基于无线网络数据的语音通话场景,例如,基于ott的voip通话(例如,“实时通讯”软件的语音通话)场景。还适用于基于无线数据网络下的语音交互提供的娱乐服务(例如,语音助手的使用)场景等。例如,图3为根据本技术的实施例,示出了另一种语音传输场景图。
63.图3的场景包括:用户a,电子设备10,接入网设备20。用户a可以通过电子设备10的语音助手唤醒并使用电子设备10。具体地,电子设备10基于采集的用户a的语音向接入网设备20发送上行语音数据,接入网设备20可以根据接收的语音数据,识别语音数据对应的语义信息,从而提供用户a语义信息对应的功能服务。
64.在一些实施例中,图3的场景可以是应用于无线数据网络下语音传输场景,无线数据网络可以包括但不限于蜂窝网络(例如5g,4g,3g或gprs)和无线局域网络(wifi),例如,基于语音操作启动并使用电子设备10的功能(例如,用户使用“语音助手”与电子设备10实时“聊天”)场景。图3场景中的电子设备10可以是包含“语音助手”的电子设备10。
65.例如,在图3的场景中,电子设备10为包含“语音助手”的音箱,接入网设备20可以是服务器。具体地,音箱10可以采集用户a说的“小e,今天天气怎么样?”的语音,音箱10可以通过语音端点检测对该段语音进行分帧操作,生成连续多帧数据帧,其中,连续多帧数据帧包括语音帧和静音帧,语音帧为包括实际语义数据的数据帧,静音帧为不包括实际语义的数据帧;并且音箱10可以实时获取无线网络的信号强度,音箱10根据无线网络的信号强度确定音箱10向服务器20发送语音数据的平均速率;在音箱10向服务器20发送数据帧的平均速率高于音箱10生成数据帧的平均速率的值大于预设阈值的情况下,音箱10可以通过对连续多帧数据帧中的静音帧进行裁剪,保证连续多帧数据帧中的语音帧的完整性,从而使得服务器20接收的语义与用户a说的语音的语义相同(例如均是“今天天气怎么样?”),服务器20根据该语义,生成应答该语义内容的文本信息(例如,应答内容为“今天天气晴,温度30摄氏度”)。从而使得音箱10为了减少多帧数据帧在音箱10端的堆积,主动丢弃数据帧(丢弃的数据帧可能是语音帧)的情形。
66.进一步地,音箱10可以将裁剪后多帧数据帧中的每帧数据帧封装成rtp报文发送给服务器20,服务器20可以根据接收的rtp报文的序列号是否连续,判断接收的数据帧相较于音箱10发送的数据帧是否出现丢失数据帧或者数据帧重新排序的情况,从而进一步保证了服务器20接收的语音的语义与用户a说的语音的语义相同。
67.可以理解的是,图2至图3是基于无线网络数据的语音传输的应用场景,在其他一些实施例中,本技术的语音传输方法还可以应用于运营商网络的语音通话场景。例如,基于
ims技术的volte、vonr、vowifi等的语音通话场景。例如,图4为根据本技术的实施例,示出了另一种语音传输场景图。
68.图4的场景包括:用户a,电子设备10,接入网设备20,电子设备30以及用户b。用户a可以使用运营商网络通过语音呼叫的方式与用户b进行语音通话。具体地,电子设备10基于采集的用户a的语音向接入网设备20发送上行语音数据,电子设备30基于接收的接入网设备20发送的下行语音数据向用户b播放语音,从而实现用户a与用户b的实时语音通话。
69.在一些实施例中,图4的场景可以是应用于用于运营商网络的语音通话场景,运营商网络的语音通话可以包括但不限于语音数据承载于2g网络(例如全球移动通信系统(global system for mobile communication,gsm))、3g网络、4g网络、5g网络等。在电子设备10与接入网设备20之间传输的语音数据可以是2g/3g的语音数据;也可以是volte(voice to lte)的语音数据,volte是基于ip多媒体子系统(ip multimedia subsystem,ims)的语音业务,是一种ip数据传输技术,全部业务承载与4g网络上;也可以是5g通话的语音数据(vonr)或视频通话的语音数据。其中,vonr是voice over 5g,5g新的无线网(new radio,nr),即5gnr。
70.例如,在图4的场景中,电子设备10或电子设备30可以是手机,接入网设备20可以是基站。如图4所示,手机10采集用户a说的“今天开心吗?”的语音,手机10可以通过语音端点检测对该段语音进行分帧操作,生成连续多帧数据帧,其中,连续多帧数据帧包括语音帧和静音帧,语音帧为包括实际语义数据的数据帧,静音帧为不包括实际语义的数据帧;手机10可以根据堆积的语音数据的缓存时长以及堆积的语音数据的数据量,确定手机10向基站20发送数据帧的平均速率高于手机10生成数据帧的平均速率的值,在手机10向基站20发送数据帧的平均速率高于手机10生成数据帧的平均速率的值大于预设阈值的情况下,手机10可以通过对连续多帧数据帧中的静音帧进行裁剪,保证连续多帧数据帧中的语音帧的完整性,从而使得用户b收听的语音的语义与用户a说的语音的语义相同(例如均是“今天开心吗?”)。从而避免手机10为了减少多帧数据帧在手机10端的堆积,主动丢弃数据帧(丢弃的数据帧可能是语音帧)的情形。
71.进一步地,在图4的场景中,手机10可以将裁剪后多帧数据帧中的每帧数据帧封装成rtp报文发送给基站20,基站20将rtp报文发送给手机30,手机30可以根据接收的rtp报文的序列号是否连续,判断接收的数据帧相较于手机10发送的数据帧是否出现丢失数据帧或者数据帧重新排序的情况,从而进一步保证了用户b接收的语音的语义与用户a说的语音的语义相同。
72.可以理解,应用于本技术技术方案的电子设备10或电子设备30,又称之为用户设备(user equipment,ue),可以是一种向用户提供语音和/或数据连通性的设备,例如,具有网络接入功能的传感器、具有无线连接功能的手持式设备、车载设备等。也可以是常见的终端,例如包括但不限于:移动电话、手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备(例如智能手表、智能手环)、智能电视(或者称为智慧大屏、智慧屏、或大屏电视等)、智能音箱、电子书阅读器(英文:e-book reader)等。可以理解,根据实际的应用场景,本技术对电子设备10或电子设备30不做具体限定。
73.可以理解,应用于本技术技术方案的接入网设备20包括但不限于服务器,普通的基站(如node b或enb),新无线控制器(new radio controller,nr controller),5g系统中
的gnode b(gnb),集中式网元(centralized unit),新无线基站,射频拉远模块,微基站,中继(relay),分布式网元distributed unit),接收点(transmission reception point,trp)或传输点(transmission point,tp)或者任何其它无线接入设备等的至少一种,可以理解,根据实际的应用场景,本技术对接入网设备20不做具体限定。
74.基于上述场景,图5示出了一种语音传输的流程图,如图5所示,具体包括:
75.s501:电子设备10获取待处理的语音数据。
76.在一些实施例中,电子设备10获取的待处理的语音数据可以是实时采集的用户发出的包含实际语义的语音。
77.s502:电子设备10通过语音端点检测对包含语义数据的语音进行分帧操作,生成连续多帧数据帧,其中,数据帧包括静音帧和语音帧,语音帧是指包括实际语义的数据帧;静音帧是指不包括实际语义的数据帧。
78.s503:电子设备10在获取待处理的语音数据的平均速率高于将已处理的语音数据发送给接入网设备20的平均速率的值大于预设阈值的情况下,对连续的多帧数据帧中的静音帧进行裁剪,生成裁剪后的多帧数据帧。
79.在一些实施例中,电子设备10可以根据采集待处理的语音数据的码率确定电子设备10获取待处理的语音数据的平均速率。
80.在一些实施例中,电子设备10可以根据接入网设备20的授权信息以及已处理的语音数据的语音编码类型确定电子设备10将已处理的语音数据发送给接入网设备20的平均速率;其中,授权信息可以包括调制编码策略(modulation and coding scheme,mcs)和资源块(resource block,rb)数。电子设备10还可以根据电子设备10的无线网络信号强度确定电子设备10将已处理的语音数据发送给接入网设备20的平均速率。
81.在一些实施例中,电子设备10可以对连续多帧数据帧中的连续多个静音帧进行裁剪。电子设备10也可以对连续多帧数据帧中的连续多个静音帧进行间隔裁剪。电子设备10还可以对连续多帧数据帧中的连续多个静音帧的首个静音帧不裁剪,只裁剪连续多个静音帧的其他静音帧。
82.例如,在连续多帧数据帧中,第11帧至第20帧数据帧为静音帧。电子设备10可以保留第11帧,裁剪第12帧至第20帧。电子设备10可以裁剪第12帧、第14帧、第16帧、第18帧、第20帧静音帧,保留第11帧、第13帧、第15帧、第17帧、第19帧静音帧不裁剪。
83.s504:电子设备10将裁剪后的多帧数据帧中的每帧数据帧封装成rtp报文。
84.在一些实施例中,电子设备10可以将裁剪后的多帧数据帧中的每帧数据帧封装成rtp报文。例如,电子设备10可以将一帧语音帧封装成一个rtp报文,也可以将一帧静音帧封装成一个rtp报文,电子设备10可以将包含静音帧或语音帧的rtp报文发送给接入网设备20,接入网设备20还可以将rtp报文转发给电子设备30。
85.在一些实施例中,rtp报文的组成部分包括:一个固定rtp包头、数据帧;rtp包头中包含序列号,序列号可以用于唯一标识rtp报文。电子设备10可以每发送一个rtp报文,序列号递增1。可以理解的是,接入网设备20和/电子设备30可以根据rtp报文的序列号,检测是否丢失rtp报文或接收的多个rtp报文的排列顺序是否正确。
86.可以理解的是,电子设备10可以将裁剪后的每个数据帧封装成rtp报文发送给接入网设备20,其中,rtp报文包括序列号,序列号可以用于唯一标识rtp报文,并且序列号还
可以用于标识生成的每个数据帧的先后顺序。接入网设备20或电子设备30可以根据接收的rtp报文的序列号,对rtp报文进行校验,避免rtp报文在传输过程中,出现丢失rtp报文或者接收的多个rtp报文的乱序的情况,确保用户b接收用户a说的完整的语义内容,进一步提高用户通话体验。
87.s505:电子设备10将rtp报文发送给接入网设备20。
88.在本技术的一些实施例中,在网络覆盖弱(即网络信号强度差)的情况下,电子设备10可以通过内部的组成结构中的各个模块实现图3描述的语音传输过程,例如,如图6所示,电子设备10可以包括:hifi模块11、rtp处理模块12、信号检测模块14、数据收发模块13。
89.下面对图6中的电子设备10的组成结构做具体描述。
90.hifi模块11:用于采集用户a发出的语音,并对采集的语音进行分帧处理,生成连续多帧数据帧。
91.rtp处理模块12:用于对连续多帧数据帧中的静音帧进行裁剪,获得裁剪后的连续多帧数据帧;rtp处理模块12还可以用于对裁剪后的连续多帧数据帧按顺序进行封装,获得rtp报文,其中,rtp报文包含序列号和数据帧信息。rtp报文包含的序列号可以用于标识数据帧的顺序。
92.信号检测模块14:用于检测无线网络的信号强度,在无线网络的信号强度小于第一预设值时,通知rtp处理模块12裁剪连续多帧数据帧中的静音帧。
93.数据收发模块13:用于通过数据传输层将从rtp处理模块12接收rtp报文发送给接入网设备20。
94.在一些实施例中,在数据收发模块13将rtp报文通过数据传输层发送给接入网设备20的平均速率小于从rtp处理模块12接收rtp报文的平均速率,数据收发模块13可以将rtp报文暂存在语音缓存模块131,当数据收发模块13中暂存的rtp报文的时长大于最大缓存时长时,数据收发模块13会主动丢弃接收的rtp报文。其中,数据收发模块13可以根据最大允许的语音时延设置最大缓存时长。
95.数据缓存模块131:用于缓存rtp处理模块12发送的rtp报文。
96.数据传输层:包括分组数据汇聚协议(packet data convergence protocol,pdcp)层,无线链路控制(radio link control,rlc)层,媒体访问控制(media access control,mac)层,物理(physical,phy)层。
97.在一些实施例中,hifi模块11可以是语音采集或编码模块,rtp处理模块12可以是音频模块,数据收发模块13可以是调制解调处理器。
98.基于图2或图3的语音传输场景,下面通过图6中的电子设备10的各个模块之间的交互过程,详细描述本技术的语音传输方法的执行过程。
99.图7为根据本技术的实施例,示出了一种语音传输方法的交互图,具体包括:
100.s701:hifi模块11获取待处理的语音数据。
101.例如,在图1所示的场景,电子设备10的hifi模块11可以获取用户a发出的待处理的语音数据。例如,待处理的语音数据可以是“今天天气很好”的语音。
102.s702:hifi模块11对待处理的语音数据进行语音端点检测,生成连续多帧数据帧;其中,数据帧包括静音帧和语音帧。
103.在一些实施例中,hifi模块11可以通过语音端点检测算法对待处理的语音数据进
行语音端点检测,生成连续多帧数据帧,其中,数据帧包括静音帧和语音帧,语音帧是指包括实际语义的数据帧;静音帧是指不包括实际语义的数据帧。
104.在一些实施例中,语音端点检测算法可以包括但不限于基于信噪比的语音端点检测(voice activity detection,vad)算法,基于深度神经网络的语音端点检测(voice activity detection,vad)算法,基于解码器和深度神经网络混合的语音端点检测(voice activity detection,vad)算法等。
105.s703:hifi模块11将连续多帧数据帧发送给rtp处理模块12。
106.s704:rtp处理模块12将连续多帧数据帧中的每帧数据帧封装成rtp报文。
107.在一些实施例中,rtp处理模块12接收hifi模块11发送的连续多帧数据帧,并将每帧数据帧封装成rtp报文。例如,rtp处理模块12可以将一帧语音帧封装成一个rtp报文,也可以将一帧静音帧封装成一个rtp报文,rtp处理模块12可以将包含静音帧或语音帧的rtp报文发送给数据收发模块13,数据收发模块13通过数据传输层将该rtp报文发送给接入网设备20,接入网设备20再将rtp报文转发给电子设备30。
108.在一些实施例中,rtp报文的组成部分包括:一个固定rtp包头、数据帧;图8为rtp包头的格式。如图8所示,rtp包头中包含序列号(sequence number),序列号用于唯一标识rtp报文。其中,序列号的长度为16比特,rtp处理模块12可以每发送一个rtp报文,序列号加1。在一些实施例中,rtp处理模块12发送的第一个rtp报文的序列号可以是随机产生的,从而增加rtp报文传输时被截获破译的难度(源本身可以是未加密的,但可以在通信协议的底层或传输中被加密)。其中,序列号递增到最大值后翻转为0,即再从0开始计数。可以理解的是,接入网设备20和/电子设备30可以根据rtp报文的序列号,检测是否丢失rtp报文或接收的多个rtp报文的排列顺序是否正确。
109.s705:rtp处理模块12将rtp报文发送给数据收发模块13。
110.s706:数据收发模块13将rtp报文缓存在语音缓存模块131。
111.在一些实施例中,数据收发模块13接收rtp处理模块12发送的rtp报文,同时,数据收发模块13将接收的rtp报文通过数据传输层发送给接入网设备20。在数据收发模块13将rtp报文发送给接入网设备20的平均速率小于rtp处理模块12将rtp报文发送给数据收发模块13的平均速率的情况下,语音缓存模块131中会暂存堆积的rtp报文,数据收发模块13可以实时获取语音缓存模块131中存储的rtp报文的缓存时长,在语音缓存模块131中缓存的rtp报文的缓存时长大于最大允许缓存时长的情况,数据收发模块13主动丢弃接收的rtp报文。
112.例如,在无线数据网络下的语音数据传输或语音通话等场景中(例如,图2或图3的场景),语音缓存模块131的最大允许缓存时长与电子设备10最大允许的语音通话时延有关。例如,电子设备10可以设置最大允许的语音通话时延为500ms,则最大允许缓存时长可以是500ms。
113.例如,在无线数据网络下的语音数据传输或语音通话等场景中(例如,图2或图3的场景),数据收发模块13从rtp处理模块12接收rtp报文的平均速率与hifi模块11采集语音的码率有关。rtp处理模块12将rtp报文发送给数据收发模块13的平均速率与rtp报文传输时的无线网络的信号强度有关,信号强度越高,rtp处理模块12将rtp报文发送给数据收发模块13的平均速率越高。
114.s707:数据收发模块13通过数据传输层将将语音缓存模块131中的rtp报文发送给接入网设备20。
115.在一些实施例中,数据收发模块13可以通过phy层将待发送的rtp报文发送给接入网设备20。之后接入网设备20的通过phy层接收数据收发模块13发送的待发送的rtp报文,完成语音数据的传输。
116.s708:信号检测模块13实时获取无线网络的信号强度。
117.在一些实施例中,无线网络可以是局域网,也可以是通过中继(relay)设备转接的广域网。当该通信网络为广域网时,示例性的,该广域网可以是第二代移动通信技术(the secondgeneration mobile communication technology,2g)网络(例如全球移动通信系统(global system for mobile communication,gsm))、第三代移动通信技术(3rd-generation wireless telephone technology,3g)网络、第四代移动通信技术(the 4thgeneration mobile communication technology,4g)网络,又称基于长期演进(long-term evolution,lte)网络、第五代移动通信技术(5th-generation mobile communication technology,5g)网络,又称新无线(new radio,nr)网络、未来演进的公共陆地移动网络(public land mobile network,plmn)或因特网等。当该通信网络为局域网时,示例性的,该局域网可以是wifi热点网络、wifi直连网络等近距离通信网络。
118.在一些实施例中,在无线网络的信号强度弱的情况下,数据收发模块13将rtp报文发送给接入网设备20的平均速率会变低,从而出现数据收发模块13将rtp报文发送给接入网设备20的平均速率小于rtp处理模块12将rtp报文发送给数据收发模块13的平均速率,这将使得语音缓存模块131中缓存较多的rtp报文,当语音缓存模块131缓存的rtp报文的缓存时长超过最大允许缓存时长时,数据收发模块13会将语音缓存模块131中的超过最大允许缓存时长的rtp报文丢掉,若rtp报文包含语音帧,则将会出现丢失语音帧的情况(例如图1场景中用户b接收的语音内容)。因此,信号检测模块13通过实时获取无线网络的信号强度,在信号强度小于第一预设值的情况下,信号检测模块13通知rtp处理模块12裁剪数据帧中的静音帧,从而避免语音缓存模块13较多的rtp报文,导致的丢失rtp报文的丢失的情况,保证语音通话质量,提升用户体验。
119.s709:在无线网络的信号强度小于第一预设值的情况下,信号检测模块13通知rtp处理模块12裁剪数据帧中的静音帧。
120.在一些实施例中,信号检测模块13可以基于不同的无线网络设置第一预设值;例如,图1场景中,用户a与用户b通过“即时通讯”软件进行语音通话时,在wifi 2.4g局域网下,第一预设值可以设置为-82db;在wifi 5g局域网下,第一预设值可以设置为-79db;在nr广域网下,第一预设值可以设置为-115db;在lte广域网下,第一预设值可以设置为-112db。
121.在其他一些实施例中,信号检测模块13可以基于不同的语音通话类型设置第一预设值;例如,在wifi 2.4g局域网下,用户a与用户b通过“即时通讯”软件进行语音通话时,第一预设值可以设置为-82db;用户a与用户b通过“即时通讯”软件进行语音视频通话时,第一预设值可以设置为-130db;可以理解,在不同的应用场景下,本技术对信号检测模块13设置的第一预设值的大小不做具体限定。
122.s710:rtp处理模块12裁剪连续多帧数据帧中的静音帧,生成裁剪后的多帧数据帧。
123.在一些实施例中,在无线网络的信号强度小于第一预设值的情况下,信号检测模块13通知rtp处理模块12裁剪数据帧中的静音帧,rtp处理模块12可以对接收的数据帧中的静音帧进行裁剪。具体地,例如,rtp处理模块12可以对连续多帧数据帧中的静音帧进行裁剪,在对静音帧进行裁剪时,语音帧之后的首个静音帧不裁剪。下文对裁剪连续多帧数据帧中的静音帧做详细描述,在此不做赘述。
124.s711:rtp处理模块12将裁剪后的多帧数据帧中的每帧数据帧封装成rtp报文,其中,rtp报文包含静音帧或语音帧。详细内容参考步骤s704,在此不做赘述。
125.s712:rtp处理模块12将rtp报文发送给数据收发模块13。
126.s713:数据收发模块13将rtp报文缓存在语音缓存模块131。
127.s714:数据收发模块13通过数据传输层将语音缓存模块131中的rtp报文发送给接入网设备20。
128.s715:信号检测模块13实时获取无线网络的信号强度。详细内容参考步骤s708,在此不做赘述。
129.s716:在无线网络的信号强度不小于第二预设值的情况下,信号检测模块13通知rtp处理模块12停止裁剪数据帧中的静音帧。
130.在一些实施例中,第二预设值可以等于第一预设值,也可以大于第一预设值,本技术对第二预设值不做具体限定。
131.需要说明的是,在图7所示的语音传输的交互过程的执行顺序并不限于上述的步骤s701至步骤s716的执行顺序,在本技术的其他实施例中,图7的语音传输过程也可以是其他执行顺序,例如,信号检测模块13实时获取电子设备10的无线网络的信号强度,同时hifi模块11获取待处理的语音数据,即步骤s701与s708可以同时执行;可以理解,根据实际的应用,本技术对步骤s701至步骤s716的执行顺序不做具体限定。
132.需要说明的是,本技术的语音传输方法并不限于上述图7中的全部或部分步骤。在本技术的其他实施例中,rtp处理模块12也可以将包含剪切后的数据帧的rtp报文,发送给其他模块,通过其他模块发送给接入网设备20。可以理解,根据实际的应用,本技术对步骤s701至步骤s716的具体执行步骤不做具体限定。
133.由上述图7的语音传输的交互过程可知,在网络覆盖弱(即网络信号强度差)的情况下,rtp处理模块12在信号强度小于第一预设值的情况下,剪切连续多帧数据帧中的静音帧,避免语音缓存模块13缓存的rtp报文的缓存时长超过最大允许缓存时长,导致的丢失rtp报文的丢失的情况,保证语音通话质量,提升用户体验。
134.在本技术的其他实施例中,语音传输方法还可以用于上行发送受限的场景。在上行发送受限的情况下,rtp处理模块12还可以直接获取语音缓存模块13缓存的rtp报文的缓存时长,rtp处理模块12在语音缓存模块13缓存的rtp报文的缓存时长大于第三预设值的情况下,剪切连续多帧数据帧中的静音帧,避免语音缓存模块13缓存的rtp报文的缓存时长超过最大允许缓存时长,导致的丢失rtp报文的丢失的情况,保证语音通话质量,提升用户体验。
135.基于图4的应用场景,本技术提供另一种电子设备10的结构示意图,如图9所示,电子设备10可以与接入网设备20进行语音数据传输。其中,电子设备10包括:hifi模块11、rtp处理模块12、数据收发模块13。其中,hifi模块11和rtp处理模块12具体参考图6中的hifi模
块11和rtp处理模块12的描述内容,在此不做赘述。
136.相较于图6中的数据收发模块13,图9中的数据收发模块13还可以实时获取语音缓存模块131中缓存的rtp报文的缓存时长,并将获取的缓存时长发送给rtp处理模块12。数据收发模块13还可以接收接入网设备20通过pdcp层发送的语音缓存模块131最大允许的缓存时长,在语音缓存模块131缓存的rtp报文的缓存时长大于最大允许的缓存时长时,会出现丢包。数据收发模块13还可以接收接入网设备20通过mac层发送的授权信息,数据收发模块13可以根据接收的授权信息以及语音编码类型(例如,编码类型为amr-nb)确定向接入网设备20发送rtp报文的速率,其中,授权信息可以包括调制编码策略(modulation and coding scheme,mcs)和资源块(resource block,rb)数。
137.基于图4的数据处理场景,下面通过图9中的电子设备10的各个模块之间的交互过程,详细描述本技术的语音传输方法的执行过程。
138.图10为根据本技术的实施例,示出了另一种语音传输方法的交互图,具体包括:
139.s1001:hifi模块11获取待处理的语音数据。具体内容参考s701,在此不赘述。
140.s1002:hifi模块11对待处理的语音数据进行语音端点检测,生成连续多帧数据帧;其中,数据帧包括静音帧和语音帧。具体内容参考s702,在此不赘述。
141.s1003:hifi模块11将连续多帧数据帧发送给rtp处理模块12。
142.s1004:rtp处理模块12将连续多帧数据帧中的每帧数据帧封装成rtp报文;具体内容参考s704,在此不赘述。
143.s1005:rtp处理模块12将rtp报文发送给数据收发模块13。
144.s1006:数据收发模块13将rtp报文缓存在语音缓存模块131。
145.在一些实施例中,数据收发模块13接收rtp处理模块12发送的rtp报文,同时,数据收发模块13将接收的rtp报文通过数据传输层发送给接入网设备20。在数据收发模块13将rtp报文发送给接入网设备20的平均速率小于rtp处理模块12将rtp报文发送给数据收发模块13的平均速率的情况下,语音缓存模块131中会暂存堆积的rtp报文,数据收发模块13可以实时获取语音缓存模块131中存储的rtp报文的缓存时长,在语音缓存模块131中缓存的rtp报文的缓存时长大于最大允许缓存时长的情况,数据收发模块13主动丢弃接收的rtp报文。
146.例如,在运营商网络的语音通话场景的场景中(例如,图4的场景),语音缓存模块131的最大允许缓存时长可以是接入网设备20通过pdcp层发送的最大允许的缓存时长。数据收发模块13从rtp处理模块12接收rtp报文的平均速率与hifi模块11采集语音的码率有关。rtp处理模块12将rtp报文发送给数据收发模块13的平均速率与接入网设备20通过mac层发送的授权信息以及语音编码类型(例如,编码类型为amr-nb)有关。其中,其中,授权信息可以包括调制编码策略(modulation and coding scheme,mcs)和资源块(resource block,rb)数。
147.s1007:数据收发模块13通过数据传输层将将语音缓存模块131中的rtp报文发送给接入网设备20。详细内容参考步骤s707,在此不做赘述。
148.s1008:数据收发模块13实时获取语音缓存模块131中缓存的rtp报文的缓存时长。
149.s1009:数据收发模块13在语音缓存模块131中缓存的rtp报文的缓存时长大于第三预设值时,通知rtp处理模块12裁剪数据帧中的静音帧。
transport protocol,rtp)头)+3(pdcp+rlc+mac头)=15字节。在volte中amr-nb采用的的编码制式是12.2kpbs;在volte中amr-wb采用的编码制式是23.85kbps。
163.amr-nb12.2kpbs在层2的最小包大小为32+5+3=40字节;由于amr-nb时主要场景mode-set=7,即无法调速。
164.amr-wb最高速率23.85kbps在层2的最小包大小为61+5+3=69字节,最低码率6.6kbps在层2的最小包大小为18+5+3=26字节。
165.在上行受限的场景下,以mcs=0、资源块数(rbnum)=3为例,基站(enb)一次调度是7字节,以tdd配比2、混合自动重传请求(hybrid automatic repeat request,harq)平均传4次、harq进程数=2为例,平均每20ms正好可以传输7字节。
166.在amr-nb场景,即使rohc稳态压缩,语音入队数据量是出队的40/7=5.7倍,共5.7*20=135ms,造成堆积。
167.在amr-wb场景,即使强大的包头压缩(robust header compression,rohc)稳态压缩,语音入队数据量也是出队的69/7=9.8倍,共9.8*20=196ms,即使调速到最低速度,语音入队数据量也是出队的26/7=3.7倍,共3.7*20=74ms,因为调速需要pdcp堆积到80%才触发,故amr-wb时实际堆积会比amr-nb时严重。
168.基于以上数据,因为静音帧160ms才产生一帧,所以剪切静音帧可缓解语音数据的堆积。但静音帧本身大小有15字节,也需要15/7*20=43ms传输,所以通过剪切连续静音帧可加快缓解语音数据的堆积。
169.下面对数据收发模块13丢弃rtp报文的情形,以及rtp处理模块12如何通过丢弃静音帧避免丢弃rtp报文的内容做详细描述。
170.示例性的,图11为在上行发送受限或无线网络的信号强度弱的情况下,在第0ms至第1260ms内,数据收发模块13丢弃rtp报文的示意图。
171.具体地,图11a为在第0ms至第1260ms内,rtp报文进语音缓存模块131的示意图。例如,如图11a所示,rtp处理模块12将rtp报文发送给数据收发模块13的平均速率为:每20ms发送一个包含语音帧的rtp报文,每160ms发送一个包含静音帧的rtp报文。如图11a所示,在第0ms至第1260ms内,rtp处理模块12发送给数据收发模块13的rtp报文共16个,rtp报文包括序列号,其中,序列号1至序列号4以及,序列号10至序列号14为包含语音帧的rtp报文;序列号5至序列号9以及序列号15至序列号16为包含静音帧的rtp报文。
172.图11b为rtp报文出语音缓存模块131的示意图。在上行发送受限或无线网络的信号强度弱的情况下,数据收发模块13将rtp报文发送给接入网设备20的平均速率为每隔200ms发送给一个包含静音帧或语音帧的rtp报文。若语音缓存模块131的最大允许缓存时长为500ms,则序列号6至序列号13的rtp报文将会被数据收发模块13丢弃,其中,序列号6至序列号9的rtp报文为包含静音帧的rtp报文,序列号10至序列号13的rtp报文为包含语音帧的rtp报文。如图11b所示,在第0ms至第1260ms中,数据收发模块13通过数据传输层将序列号1至序列号5以及序列号14的rtp报文发送给接入网设备20。可以理解的是,语音帧包括实际语义数据,数据收发模块13丢弃序列号10至序列号13的包含语音帧的rtp报文,无法发送给接入网设备20,这将使得用户b无法收到完整的语义数据,影响用户体验,例如,如图1所示的用户b听到的语音。
173.下面对数据在语音缓存模块131中缓存的rtp报文以及缓存的rtp报文的时长大于
预设值的情况下,rtp处理模块131剪切静音帧的内容做详细描述。
174.图12为在上行发送受限或无线网络的信号强度弱的情况下,在第0ms至第1260ms内,rtp处理模块131剪切静音帧前后的示意图。
175.具体地,图12a为rtp处理模块131剪切静音帧前的连续多帧数据帧的示意图。例如,如图12a所示,第0ms至第1260ms rtp处理模块131接收到hifi模块11发送的连续多帧数据帧,其中,连续多帧数据帧中,第1帧至第4帧以及第10帧至第14帧为语音帧;第5帧至第9帧以及第15帧至第16帧为静音帧。
176.图12b为rtp处理模块131接收到信号检测模块14或数据收发模块13发送的剪切静音帧的通知,即语音缓存模块131中缓存的rtp报文的缓存时长大于预设值的情况下,剪切连续多帧数据帧中的静音帧的示意图。如图12b所示,rtp处理模块131可以剪切第6帧至第9帧以及第16帧静音帧,则剪切后的数据帧为第1帧至第4帧语音帧、第5帧静音帧、第10帧至第14帧静音帧以及第15帧静音帧。rtp处理模块131可以将图12b中的剪切后的每帧数据帧封装成rtp报文发送给数据收发模块13。
177.图13为在上行发送受限或无线网络的信号强度弱的情况下,在第0ms至第1260ms内,数据收发模块13接收和发送的rtp报文的示意图。
178.具体地,图13a为在第0ms至第1260ms,rtp报文进语音缓存模块131的示意图。例如,如图11a所示,rtp处理模块12将rtp报文发送给数据收发模块13的平均速率为:每20ms发送一个包含语音帧的rtp报文,每160ms发送一个包含静音帧的rtp报文,如图13a所示,在第0ms至第1260ms rtp处理模块12发送给数据收发模块13的rtp报文共12个,其中,序列号1至序列号4以及序列号6至序列号10为包含语音帧的rtp报文;序列号5以及序列号12为包含静音帧的rtp报文。
179.图13b为在第0ms至第1260ms,rtp报文出语音缓存模块131的示意图。在上行发送受限或无线网络的信号强度弱的情况下,数据收发模块13将rtp报文发送给接入网设备20的平均速率为每隔200ms发送给一个包含静音帧或语音帧的rtp报文,语音缓存模块131的最大允许缓存时长为500ms。如图13b所示,在第0ms至第1260ms内,数据收发模块13通过数据收发层发送给接入网设备20的rtp报文包括:序列号1至序列号6的rtp报文。由于语音缓存模块131的最大允许缓存时长为500ms,序列号7至序列号12的rtp报文的时长为320ms,小于最大允许缓存时长500ms,可以暂时缓存在语音缓存模块131中。
180.由图11至图13的示例可知,上行发送受限或网络信号的强度弱等的情况下,即rtp处理模块12将rtp报文发送给数据收发模块13的平均速率大于数据收发模块13将rtp报文发送给接入网设备20的平均速率的情况下,导致语音缓存模块131中缓存的rtp报文的缓存时长大于预设值。rtp处理模块12可以通过剪切连续多帧数据帧中的静音帧,生成剪切后的多帧数据帧。rtp处理模块12将剪切后的多帧数据帧封装成rtp报文,发送给数据收发模块13,从而使得数据收发模块13接收的剪切后的rtp报文较剪切前的rtp报文数量变少,避免rtp报文在语音缓存模块131中的堆积,避免导致的丢rtp报文,从而避免导致用户b无法接收完整语义的情况,提高用户体验。
181.进一步地,由图13可知,rtp处理模块12将剪切后的多帧数据帧封装成rtp报文,其中,rpt报文包含序列号信息,序列号信息可以用于标识rtp报文,例如,序列号1至序列号12的rtp报文。可以理解,rtp处理模块12可以将序列号1至序列号12的rtp报文发送给数据收
发模块13,数据收发模块13通过数据收发层将序列号1至序列号12的rtp报文发送给接入网设备20,接入网设备20可以将序列号1至序列号12的rtp报文转发给电子设备30,电子设备30可以根据rtp报文包含的序列号信息,对接收的rtp报文进行校验,避免rtp报文在传输过程中,出现丢失的情况,确保用户b接收的语音数据的完整性,提高用户体验。
182.根据本技术的实施例,图14示出了一种电子设备10或电子设备30的硬件结构示意图。
183.如图14所示,电子设备10或电子设备30可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,传感器模块180,按键190,显示屏194等。其中传感器模块180可以包括触摸传感器180k,加速度传感器180e,摄像头11等。
184.可以理解的是,本技术实施例示意的结构并不构成对电子设备10或电子设备30的具体限定。在本技术另一些实施例中,电子设备10或电子设备30可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
185.在组成电子设备10或电子设备30的上述结构中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
186.例如,调制解调处理器用于执行数据收发模块13的功能,具体地,调制解调处理器可以用于通过数据传输层将从rtp处理模块12接收rtp报文发送给接入网设备20。调制解调处理器还可以用于实时获取语音缓存模块131中缓存的rtp报文的缓存时长,并将获取的缓存时长发送给rtp处理模块12。
187.在一些实施例中,调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
188.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。例如,语音缓存模块131可以是设置在调制解调处理器内的存储器,该存储器可以用于暂时存储rtp报文。
189.在一些实施例中,处理器110可以包括一个或多个接口。外部存储器接口120可以
用于连接外部存储卡,例如micro sd卡,实现扩展电子设备10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、视频等文件保存在外部存储卡中。
190.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备10使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备10的各种功能应用以及数据处理。在本技术实施例中,内部存储器121的存储区域可以用于存储摄像头11采集的原始预览图像。
191.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。
192.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备10的结构限定。在本技术另一些实施例中,电子设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
193.充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头11,和无线通信模块160等供电。
194.电子设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
195.天线1和天线2用于发射和接收电磁波信号。电子设备10中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
196.移动通信模块150可以提供应用在电子设备10上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
197.无线通信模块160可以提供应用在电子设备10上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接
收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
198.在一些实施例中,电子设备10的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备10可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
199.电子设备10通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
200.显示屏194用于显示图像,视频等。显示屏194包括显示面板。
201.电子设备10可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
202.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
203.例如,音频模块170可以对采集的语音进行分帧处理,生成连续多帧数据帧。音频模块170还可以对连续多帧数据帧中的静音帧进行裁剪,获得裁剪后的连续多帧数据帧;音频模块170还可以用于对裁剪后的连续多帧数据帧按顺序进行封装,获得rtp报文。
204.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备10可以通过扬声器170a收听音乐,或收听免提通话。例如,在语音通话过程中,电子设备10可以通过扬声器170a与用户a通话的用户b的声音。在用户a使用“语音助手”与电子设备10实时“聊天”的过程中,电子设备10可以通过扬声器170a播放回复用户a的语音。
205.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备10接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。例如,在语音通话过程中,可以通过将扬声器170a靠近用户a人耳接听用户b的语音。
206.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备10可以设置至少一个麦克风170c。
207.在另一些实施例中,电子设备10可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备10还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
208.例如,用户a可以对电子设备10的麦克风170c说话,麦克风170c可以采集用户a发
出的语音。
209.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
210.触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。
211.摄像头11用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备10可以包括1个或n个摄像头11,n为大于1的正整数。
212.按键190包括开机键,音量键等。电子设备10可以接收按键输入,产生与电子设备10的用户设置以及功能控制有关的键信号输入。
213.本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
214.可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,dsp)、微控制器、专用集成电路(application specific integrated circuit,asic)或微处理器之类的处理器的任何系统。
215.程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
216.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因
此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
217.在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
218.需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
219.需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
220.虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1