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

文档序号:27138890发布日期:2021-10-30 00:05阅读:153来源:国知局
语音通信方法、电子设备和可读介质与流程

1.本技术涉及通信技术领域,尤其涉及一种语音通信方法、电子设备和可读介质。


背景技术:

2.随着通信技术的快速发展,当前越来越多的终端设备能够支持承载于4g通信技术的volte(voice over lte,vonr)业务,或者承载于5g通信技术中的语音(voice over nr,vonr)业务。其中,volte业务是一种基于多媒体子系统(ip multimedia subsystem,ims)的承载于长期演进(longterm evolution,lte)网络的语音业务,该语音业务中的模拟语音信号通过国际互连协议(internet protocol,ip)数据包进行传输。
3.目前,当在发起语音通话的终端设备(以下简称为主叫端)和被呼叫的终端设备(以下简称为被叫端)之间创建volte业务时,通常主叫端和被叫端分别将自身所支持的语音编/解码方式上报给网络侧设备(例如:基站),由网络侧设备按照预设的筛选方法,分别为主叫端和被叫端筛选出相应的语音编/解码方式,主叫端与被叫端分别采用网络侧设备筛选出的语音编/解码方式对二者之间交互的模拟语音信号进行编/解码。
4.然而,在一些应用场景中,网络侧设备筛选出的语音编/解码方式不一定是最适用于主叫端(被叫端)与网络侧设备之间的语音编/解码方式。例如,网络侧设备的建设时间较早,网络侧设备筛选出的语音编/解码方式的出现时间较晚,虽然网络侧设备已经升级,但仍无法保证网络侧设备对筛选出的语音编/解码方式足够的支持能力。进而,主叫端(被叫端)在采用网络侧设备筛选出的语音编/解码方式对主叫端与网络侧设备之间交互的模拟语音信号进行编/解码时,可能出现主叫端和被叫端之间的语音通话断续、无声、甚至呼叫失败的情况,降低语音通话质量,影响用户体验。


技术实现要素:

5.本技术的目的在于解决主叫端和被叫端之间的语音通话断续、无声、甚至呼叫失败的情况,降低语音通话质量,影响用户体验的技术问题。基于此本技术提供了一种语音通信方法、电子设备和可读介质。本技术中的语音通话方法为:终端中对应存储有与不同位置信息对应的语音编/解码列表,当用户想要通过终端与其他用户进行语音通话时,终端将与用户当前位置信息对应的语音编/解码列表发送给网络侧设备,以使得网络侧设备从语音编/解码列表中筛选出与终端和网络侧设备最为适配的语音编/解码方式。终端发送的语音编/解码列表中的语音编/解码方式是根据用户在当前位置处历史语音通话数据的质量更新得到的编/解码方式。上述语音通信方法,通过调整终端上报给网络侧设备的语音编/解码方式,进而在无需调整网络设备筛选方法的情况下,合理调整网络侧设备筛选出的优选的语音编/解码方式,以使得筛选出的语音编/解码方式为真实有效的优选方式,更贴近用户的真实需求,提高用户语音通话质量,提升用户的体验感。
6.本技术的第一方面提供了一种语音通信方法,该方法包括:终端向网络侧设备发送终端的语音编/解码列表,其中语音编/解码列表中的语音编/解码方式是基于终端在当
前位置处的历史语音通话质量所确定的;终端从网络侧设备接收网络侧设备从语音编/解码列表中选择出的,语音通信中终端所要使用的语音编/解码方式。
7.其中,终端可以是移动电话、平板电脑、手表等能够插入sim卡的、且具有语音通话功能的电子设备中的任意一种。终端可以是主叫端,也可以是被叫端,主叫端和被叫端可以是同类型的电子设备,主叫端和被叫端还可以是不同类型的电子设备。网络侧设备可以是为各种运营商提供的基站。语音编/解码方式可以为自适应多速率音频编/解码方式(adaptive multi

rate audio codec,amr)、自适应多速率宽带语音编/解码方式(adaptive multi

rate wideband speech codec,amr

wb)、增强语音服务编/解码方式(enhance voice services,evs)等语音编/解码方式。语音编/解码列表是指终端所支持的与当前位置信息对应的语音编/解码方式的集合,终端中对应存储有与不同位置信息对应的语音编/解码列表。当前位置处是指终端当前所处的位置。历史语音通话数据是指一次语音通话结束后,满足预设条件的语音通话数据。例如,历史语音通话数据包括终端当前位置信息,以及与终端当前位置信息对应的、一周内的音频数据。再例如,历史语音通话数据包括终端当前位置信息,以及与终端当前位置信息对应的、最近两条语音通话数据。历史语音通话质量是指历史语音通话数据的语音通话质量。
8.即在本技术的实施例中,终端对应存储有与不同位置信息对应的语音编/解码列表,当用户在某一位置处想要通过终端与其他用户进行语音通话时,终端将与用户当前位置信息对应的语音编/解码列表发送给网络侧设备。网络侧设备从语音编/解码列表中筛选出与终端和网络侧设备最为适配的语音编/解码方式,并将筛选出的语音编/解码方式返回给终端,以使得终端根据筛选出的语音编/解码方式与网络侧设备进行语音通话。其中,语音编/解码列表能够根据与位置信息对应的历史语音通话数据的通话质量不断更新。具体地,语音编/解码列表的更新方式包括语音编/解码列表内语音编/解码方式种类的更新,以及语音编/解码列表内语音编/解码方式排列次序的更新。
9.例如,本技术中的语音编/解码方式的筛选方案应用于主叫端与网络侧设备之间,主叫端首先查询主叫端的当前位置信息,并将与当前位置信息对应的、最新的语音编/解码列表发送给网络侧设备,网络侧设备根据筛选逻辑从接收到的语音编/解码列表中,筛选出与主叫端和网络侧设备最为适配的主叫语音编/解码方式,并将主叫语音编/解码方式返回给主叫端,以使得主叫端根据主叫语音编/解码方式与网络侧设备进行语音通话。其中,语音编/解码列表能够根据与位置信息对应的历史语音通话数据的通话质量不断更新。
10.再例如,本技术中的语音编/解码方式的筛选方案应用于网络侧设备与被叫端之间,网络侧设备在接收到主叫端发送的起呼消息的情况下,网络侧设备根据起呼消息中携带的目标号码向被叫端发送寻呼消息。被叫端接收到寻呼消息后,查询被叫端当前的位置信息,并将与当前的位置信息对应的、最新的语音编/解码列表发送给网络侧设备。网络侧设备根据筛选逻辑从接收到的语音编/解码列表中,筛选出与被叫端和网络侧设最为适配的被叫语音编/解码方式,并将主叫语音编/解码方式返回给主叫端,以使得主叫端根据主叫语音编/解码方式与网络侧设备进行语音通话。其中,语音编/解码列表能够根据与位置信息对应的历史语音通话数据的通话质量不断更新。
11.上述语音通信方法,通过历史语音通话数据在不同位置处分别调整终端上报给网络侧设备的语音编/解码方式,进而在无需调整网络设备筛选方法的情况下,合理调整网络
侧设备筛选出的优选的语音编/解码方式,以使得网络侧设备筛选出的语音编/解码方式为终端真实有效的优选方式,更符合及贴近用户的真实需求。因此,本技术提供的语音编/解码方式的筛选方案能够提高用户语音通话质量,提升用户的体验感。
12.在上述第一方面另一种可能的实现中,在终端向网络侧设备发送终端的语音编/解码列表之前,还包括:终端将终端所支持的语音编/解码方式中,在当前位置处的历史语音通话质量不满足通话需求的语音编/解码方式从已有的语音编/解码列表中删除。
13.即在本技术的实施例中,终端的语音编/解码列表的更新方式为删除语音编/解码列表中的优先级最高或某一顺位的语音编/解码方式,保留其他优先级或其他顺位的语音编/解码方式。也即,终端删减终端所支持的所有语音编/解码方式中在当前位置处通话质量较差的语音通话时的语音编/解码方式,得到对应当前位置的语音编/解码方式的集合,完成语音编/解码列表中的语音编/解码方式的更新。
14.例如,主叫端中预设的更新方式为删除语音编/解码列表中的优先级最高的语音编/解码方式,保留其他优先级的语音编/解码方式,得到更新后的语音编/解码列表。对应地,网络侧设备的筛选逻辑为按照语音编/解码方式的优先级筛选主叫语音编/解码列表的数据处理规则。
15.再例如,主叫端中预设的更新方式为删除语音编/解码列表中的第一顺位的语音编/解码方式,其他顺位的语音编/解码方式顺次前移,得到更新后的语音编/解码列表。对应地,网络侧设备的筛选逻辑为第一顺位的语音编/解码方式为认优选的语音编/解码方式的数据处理规则。
16.上述语音通信方法中语音编/解码列表的更新方式,能够避免终端处于当前位置时,通话质量较差的语音编/解码方式再次被上报给网络侧,进而避免网络侧再次筛选到通话质量较差的语音编/解码方式,改善用户通话质量,提高用户体验。
17.在上述第一方面另一种可能的实现中,在终端向网络侧设备发送终端的语音编/解码列表之前,还包括:终端调整终端所支持的语音编/解码方式中,当前位置处的历史语音通话质量不满足通话需求的语音编/解码方式在已有的语音编/解码列表中的排列次序。
18.即在本技术的实施例中,与用户当前位置信息对应的语音编/解码列表中的语音编/解码方式,可以是终端根据终端处于当前位置处时的历史语音通话数据的通话质量持续调整终端所支持的所有语音编/解码方式排列次序后,得到的语音编/解码方式的组合。
19.例如,主叫端中预设的更新方式为移动语音编/解码列表中的第一顺位的语音编/解码方式至语音编/解码列表中的最后一位,其他顺位的语音编/解码方式顺次前移。筛选逻辑可以为筛选主叫语音编/解码列表中的预定顺位的语音编/解码方式的数据处理规则。
20.上述语音通信方法中语音编/解码列表的更新方式,能够在终端处于当前位置时,降低上报给网络侧的语音编/解码方式中通话质量较差的语音编/解码方式的优先级,进而避免网络侧再次筛选到通话质量较差的语音编/解码方式。
21.在上述第一方面另一种可能的实现中,终端为主叫端,并且语音编/解码列表包括在主叫端向网络侧设备发送的起呼消息中。
22.例如,主叫端中的调制解调器向网络侧设备发送起呼消息。起呼消息中的sdp协议中携带有与主叫端和主叫位置信息对应的语音编/解码列表。
23.在上述第一方面另一种可能的实现中,终端为被叫端,并且语音编/解码列表包括
在被叫端发送给网络侧设备的应答消息中。
24.例如,网络侧设备向被叫端发送寻呼消息,被叫端查询被叫端当前对应的被叫位置信息,被叫端向网络侧设备发送应答消息。其中,应答消息中的sdp协议携带有与被叫位置信息对应的语音编/解码列表。
25.在上述第一方面另一种可能的实现中,语音通信承载于volte业务。
26.例如,volte业务中,网络侧设备一直选择evs作为语音编/解码方式。然而有些建设时间较早的网络侧设备,由于硬件设备未升级,无法支持上述语音编/解码方式,或硬件设备虽然后期升级,但对上述语音编/解码方式支持能力较差,导致局部区域内终端与网络侧设备之间采用进行语音通话时,出现语音通话断续、无声、甚至呼叫失败等现象。
27.evs作为新一代的语音频编/解码方式,由于其能够提供更高的音频质量和抗干扰能力,而被许多运营商作为语音业务中优选编/解码方式。当终端上报给网络侧设备的语音编/解码方式中包括evs时,网络侧设备将筛选出evs。然而,在ip多媒体系统网络建设初期,许多后期才支持volte业务的运营商对evs的编/解码支持能力较差,或者存在兼容性问题,导致在部分地区或个别基站范围内采用evs进行语音通话时,整个语音通话断续、无声、甚至呼叫失败,导致在某些区域用户语音通话质量较差,影响用户的体验。基于此,上述语音通信方法尤其适用于volte业务。上述语音通信方法能够避免volte业务中,终端处于当前位置时,通话质量较差的语音编/解码方式再次被上报给网络侧,进而避免网络侧再次筛选到通话质量较差的语音编/解码方式。
28.在上述第一方面另一种可能的实现中,上述方法还包括,当终端满足以下任意一种情形时,终端初始化语音编/解码列表:终端开关机;终端与sim卡中断信号;终端的语音编/解码列表持续了预设时长;终端删除了语音编/解码列表中的所有语音编/解码方式;终端调整了语音编/解码列表中的所有语音编/解码方式的排列次序。
29.即在本技术的实施例中,当终端检测到初始化条件被触发时,终端将初始化终端中的语音编/解码列表,使得终端中的语音编/解码列表恢复至初始化状态。其中初始化状态的语音编/解码列表为包括终端所支持的所有语音编/解码方式的数据列表以及所有语音编/解码方式初始的排列顺序。其中,初始化条件是指用于触发终端对当前的语音编/解码列表初始化的触发条件。
30.其中,终端与sim卡中断信号可以是sim卡在终端设备中的热插拔,以使得sim卡与终端信号中断。
31.上述语音通信方法,能够在终端按照上述语音编/解码方式筛选方案筛选编/解码方式,且并未得到与终端适配的语音编/解码方式的情况下,恢复终端所支持的被删除或者被调整次序的语音编/解码方式,增加了终端上报给网络侧的语音编/解码方式,扩大了网络侧设备的可选择范围。
32.在上述第一方面另一种可能的实现中,语音编/解码列表的初始化方式包括下列中的任一种:终端在语音编/解码列表中恢复终端支持的所有语音编/解码方式;终端在语音编/解码列表中恢复语音编/解码方式的排列次序;终端删除语音编/解码列表,并根据终端支持的所有语音编/解码方式生成语音编/解码列表。
33.即在本技术的实施例中,当语音编/解码列表的更新方式为删除不满足通话需求的语音编/解码方式时,语音编/解码列表的初始化方式包括终端在语音编/解码列表中恢
复终端支持的所有语音编/解码方式。当语音编/解码列表的更新方式为调整不满足通话需求的语音编/解码方式的排列次序,语音编/解码列表的初始化方式包括终端在语音编/解码列表中恢复语音编/解码方式的排列次序。此外,对于上述任意一种更新方式的语音编/解码列表而言,语音编/解码列表还可以通过删除原有的语音编/解码列表,并根据终端支持的所有语音编/解码方式生成新的语音编/解码列表的方式来实现语音编/解码列表的初始化。
34.本技术的第二方面提供了一种语音通信方法,该方法具体包括:终端向网络侧设备发送终端的语音编/解码列表,其中语音编/解码列表中的语音编/解码方式是基于终端在当前位置处的历史语音通话质量所确定的;网络侧设备根据语音编/解码列表选择出语音通信中终端所要使用的语音编/解码方式,并将选择出的语音编/解码方式发送给终端。
35.本技术的第三方面提供了一种语音通信方法,该方法具体包括:网络侧设备接收终端发送的终端的语音编/解码列表,其中语音编/解码列表中的语音编/解码方式是基于终端在当前位置处的历史语音通话质量所确定的;网络侧设备根据语音编/解码列表选择出语音通信中终端所要使用的语音编/解码方式,并将选择出的语音编/解码方式发送给终端。
36.本技术的第四方面提供了一种电子设备,包括:存储器,存储有指令;处理器,处理器和存储器耦合,当存储器存储的程序指令被处理器执行时使得电子设备执行如上述第一方面、第二方面和第三方面中的任一种语音通信方法。
37.本技术的第五方面提供了一种可读介质,可读介质中存储有指令,其特征在于,当指令在可读介质上运行时,使得可读介质执行如上述第一方面、第二方面和第三方面中的任一种语音通信方法。
附图说明
38.图1(a)为本技术一些实施例中应用场景;
39.图1(b)为本技术一些实施例中模拟语音信号在主叫端100、网络侧设备200与被叫端300之间的传输过程;
40.图2(a)为一些相关技术方案中主叫端100、网络侧设备200与被叫端300之间语音编/解码方式的协商方案;
41.图2(b)为本技术一些实施例中主叫端100、网络侧设备200与被叫端300之间语音编/解码方式的协商方案;
42.图3为本技术一些实施例中主叫端100与网络侧设备200的结构示意图;
43.图4为本技术一些实施例中主叫端100与网络侧设备200筛选语音编/解码方式时的交互图;
44.图5为本技术一些实施例中主叫端100的主叫位置信息的示意图;
45.图6为本技术一些实施例中主叫端100中的语音编/解码列表的更新流程图;
46.图7为本技术另一些实施例中主叫端100中的语音编/解码列表的更新流程图;
47.图8为本技术一些实施例中网络侧设备200与被叫端300的结构示意图;
48.图9为本技术一些实施例中网络侧设备200与被叫端300筛选语音编/解码方式时的交互图;
49.图10为本技术一些实施例中筛选语音编/解码方式时,主叫端100、网络侧设备200与被叫端300三者之间的交互图;
50.图11为本技术一些实施例,示出了手机100

的结构示意图;
51.图12为本技术一些实施例,示出了手机100

的软件结构框图。
52.其中,附图说明:100

主叫端;101

拨号盘;102

拨号应用;103

调制解调器;103a

nvram;104

语音编/解码模块;104a

接收子模块;104b

解码子模块;104c

统计子模块;104d

计算子模块;104e

编码子模块;200

网络侧设备;300

被叫端;303

调制解调器;303a

nvram;304

语音编/解码模块;304a

接收子模块;304b

解码子模块;304c

统计子模块;304d

计算子模块;304e

编码子模块。
具体实施方式
53.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
54.可以理解,本技术技术方案中,网络侧设备可以是lte系统中的演进型基站设备(evolutional node b,enb),或者5g网络中的基站设备,传输接收点(transmission and receptionpoint,trp)等。为了便于说明,下文以网络侧设备为lte系统中的演进型基站设备为例进行说明。
55.为了便于理解本技术的技术方案,下面先介绍一种终端设备之间通过基站进行语音通话的场景。具体地,图1(a)根据本技术的实施例示出了一种语音通话的场景示例。如图1(a)所示,主叫端100通过网络侧设备200与被叫端300

1以及被叫端300

2进行语音通话。
56.可以理解的是,主叫端100的数量为一个,被叫端300的数量可以为若干个。其中,主叫端100和被叫端300可以是移动电话、平板电脑、手表等能够插入sim卡的、且具有语音通话功能的电子设备中的任意一种。此外,主叫端100和被叫端300可以是同类型的电子设备,例如主叫端100和被叫端300均为移动电话;主叫端100和被叫端300还可以是不同类型的电子设备,例如主叫端100为移动电话,被叫端300为平板电脑。网络侧设备200为各种运营商提供的基站。语音编/解码方式可以为自适应多速率音频编/解码方式(adaptive multi

rate audio codec,amr)、自适应多速率宽带语音编/解码方式(adaptive multi

rate wideband speech codec,amr

wb)、增强语音服务编/解码方式(enhance voice services,evs)等语音编/解码方式。
57.由于终端(主叫端和/或被叫端)支持的语音编/解码方式与终端的型号和运营商的类别相关,因此需要分别协商出主叫端100与网络侧设备200之间的主叫语音编/解码方式,以及被叫端300与网络侧设备200之间的被叫语音编/解码方式。为了便于理解,在介绍语音编/解码方式的协商方案之前,先简要阐述模拟语音信号在主叫端100与被叫端300之间的流通过程。
58.由图1(b)可知,主叫端100中,语音编/解码模块104根据主叫语音编/解码方式对模拟语音信号进行编码得到音频数据,并将音频数据发送给调制解调器(modem)103,modem 103将音频数据转换为主叫语音包,并将主叫语音包发送给网络侧设备200。
59.网络侧设备200中,调制解调器(modem)203接收主叫语音包并将主叫语音包转换为音频数据,而后将音频数据发送给语音编/解码模块204。语音编/解码模块204先采用主
叫语音编/解码方式对音频数据进行解码,得到模拟语音信号,再根据被叫语音编/解码方式对模拟语音信号进行编码形成音频数据,并将新形成的音频数据发送给modem 203。modem 203将音频数据转换为被叫语音包,并将被叫语音包发送给被叫端300。
60.被叫端300中,调制解调器(modem)303接收被叫语音包,并将被叫语音包转换为音频数据,而后将音频数据发送给语音编/解码模块304,语音编/解码模块304根据被叫语音编/解码方式对音频数据进行解码得到模拟语音信号。
61.至此,完成一次主叫端100和被叫端300之间的模拟语音信号的传输。
62.由此可见,主叫语音编/解码方式和被叫语音编/解码方式对于主叫端100与被叫端300之间的语音通话尤为重要。下面将结合图2(a)介绍一些相关技术方案中主叫端100、网络侧设备200和被叫端300之间主叫语音编/解码和被叫语音编/解码方式的协商方案:主叫端100向网络侧设备200发送起呼消息(记为invite消息),并通过起呼消息上报给网络侧设备200主叫端100所支持的全部语音编/解码方式。网络侧设备200根据起呼消息中携带的目标号码匹配出被叫端300,并向被叫端300发起寻呼消息(记为query消息),同时,网络侧设备200按照预定的筛选逻辑,从主叫端100上报的语音编/解码方式中选取主叫语音编/解码方式。待被叫端300返回应答消息后,网络侧设备200将主叫语音编/解码方式返回给主叫端100。此外,被叫端300通过应答消息上报给网络侧设备200被叫端300所支持的全部语音编/解码方式。网络侧设备200按照预定的筛选逻辑,从被叫端300上报的语音编/解码方式中选取被叫语音编/解码方式,并将被叫语音编/解码返回给被叫端300。
63.然而,在上述主叫语音编/解码方式或被叫语音编/解码方式的协商方案中,由于主叫端100(被叫端300)上报给网络侧设备200的语音编/解码方式为主叫端100(被叫端300)支持的所有语音编/解码方式。也即,主叫端100(被叫端300)上报的语音编/解码方式始终相同,且网络侧设备200的筛选逻辑始终不变,导致网络侧设备200一直选择某一种语音编/解码方式(例如:evs)作为主叫语音编/解码方式(被叫语音编/解码方式)。然而有些建设时间较早的网络侧设备200,由于硬件设备未升级,无法支持上述主叫语音编/解码方式(被叫语音编/解码方式),或硬件设备虽然后期升级,但对上述主叫语音编/解码方式(被叫语音编/解码方式)支持能力较差,导致局部区域内主叫端100(被叫端300)与网络侧设备200之间采用evs进行语音通话时,出现语音通话断续、无声、甚至呼叫失败等现象。
64.为了解决上述问题,本技术提供了一种语音通信方法,其中的语音编/解码方式的筛选方案具体为,终端中对应存储有与不同位置信息对应的语音编/解码列表,当用户在某一位置处想要通过终端与其他用户进行语音通话时,终端将与用户当前位置信息对应的语音编/解码列表发送给网络侧设备,以使得网络侧设备从语音编/解码列表中筛选出与终端和网络侧设备最为适配的语音编/解码方式。其中,语音编/解码列表为终端所支持的与当前位置信息对应的语音编/解码方式的集合。此外,语音编/解码列表能够根据与位置信息对应的历史语音通话数据的通话质量不断更新。语音编/解码列表的更新方式包括语音编/解码方式种类的更新,以及语音编/解码方式排列次序的更新。
65.可以理解,在本技术的一些实施例中,与用户当前位置信息对应的语音编/解码列表中的语音编/解码方式,可以是根据用户在当前位置处历史语音通话数据的通话质量,对语音编/解码列表中的语音编/解码方式进行更新得到的,例如,删减终端所支持的所有语音编/解码方式中在当前位置处通话质量较差的语音通话时的语音编/解码方式,得到对应
当前位置的语音编/解码方式的集合。上述语音编/解码列表能够避免终端处于当前位置时,通话质量较差的语音编/解码方式再次被上报给网络侧,进而避免网络侧再次筛选到通话质量较差的语音编/解码方式。
66.可以理解,在本技术的另外一些实施例中,与用户当前位置信息对应的语音编/解码列表中的语音编/解码方式,可以是终端根据终端处于当前位置处时的历史语音通话数据的通话质量持续调整终端所支持的所有语音编/解码方式排列次序后,得到的语音编/解码方式的组合。上述语音编/解码列表能够在终端处于当前位置时,降低上报给网络侧的语音编/解码方式中通话质量较差的语音编/解码方式的优先级,进而避免网络侧再次筛选到通话质量较差的语音编/解码方式。
67.例如,如图2(b)所示,在一种实现方式中,本技术中的语音编/解码方式的筛选方案应用于上述场景中的主叫端100与网络侧设备200之间时,主叫端100首先查询主叫端100的当前位置信息,并将与当前位置信息对应的、最新的语音编/解码列表发送给网络侧设备200,网络侧设备200根据筛选逻辑从接收到的语音编/解码列表中,筛选出与主叫端100和网络侧设备200最为适配的主叫语音编/解码方式。
68.对应地,对于被叫端300,本技术中的语音编/解码方式的筛选方案应用于上述场景中的网络侧设备200与被叫端300之间时,网络侧设备200在接收到主叫端100发送的起呼消息的情况下,网络侧设备200根据起呼消息中携带的目标号码向被叫端300发送寻呼消息。被叫端300接收到寻呼消息后,查询被叫端300当前的位置信息,并将与当前的位置信息对应的、最新的语音编/解码列表发送给网络侧设备200。网络侧设备200根据筛选逻辑从接收到的语音编/解码列表中,筛选出与被叫端300和网络侧设备200最为适配的被叫语音编/解码方式。
69.本技术提供的语音编/解码方式的筛选方案,通过历史语音通话数据在不同位置处分别调整终端上报给网络侧设备的语音编/解码方式,进而合理调整网络侧设备筛选出的优选的语音编/解码方式,以使得网络侧设备筛选出的语音编/解码方式为终端真实有效的优选方式,更符合及贴近用户的真实需求。因此,本技术提供的语音编/解码方式的筛选方案能够提高用户语音通话质量,提升用户的体验感。
70.根据上述对本技术提供的语音编/解码方式的筛选方案的介绍,不难发现,主叫端100与网络侧设备200之间的主叫语音编/解码的协商过程与被叫端300与网络侧设备200之间的被叫语音编/解码的协商过程较为相似,为了便于说明,下文将以主叫端100与网络侧设备200之间的主叫语音编/解码的协商过程为主,详细描述本技术的技术方案。
71.图3示出了图1所示的语音通话场景中能够执行本技术的技术方案的主叫端100和网络侧设备200的结构示意图。如图3所示,主叫端100包括拨号盘101,拨号应用102,以及modem103和语音编/解码模块104等,网络侧设备200包括用于从语音编/解码列表中筛选出主叫语音编/解码方式的筛选模块201和modem 203。
72.其中,modem103用于发出invite消息和主叫语音包,用于接收200 ok消息,以及用于实现主叫语音包与音频数据的相互转换。此外,modem103还能够接收modem 203发送来的主叫语音包,其中该主叫语音包为被叫端300通过网络侧设备200向主叫端100发送的语音包,该主叫语音包对应的音频数据用于更新语音编/解列表中的语音编/解码方式,具体方案将在下文进行详细描述。其中,200 ok消息用于表征网络侧设备200已经成功收及理解主
叫端100发出的invite消息,也即网络侧设备200已成功响应invite消息。modem 103还包括非易失性随机访问存储器(non

volatile random access memory,nvram)103a。nvram 103a中存储有主叫端100的当前位置信息,以及不同位置信息对应的语音编/解码列表1、语音编/解码列表2、语音编/解码列表3、
……
、语音编/解码列表n。语音编/解码模块104用于采用主叫语音编/解码方式将模拟语音信号编码为音频数据,以及用于采用主叫语音编/解码方式将音频数据解码为模拟语音信号。语音编/解码模块104具体包括用于接收音频数据的接收子模块104a,用于根据主叫语音编/解码方式对音频数据进行解码的解码子模块104b,用于统计解码的音频数据对应的语音包的数量和帧数的统计子模块104c,用于计算音频数据对应的语音包解码效果的计算子模块104d,以及用于根据主叫语音编/解码方式对模拟语音信号进行编码的编码子模块104e。
73.图4示出了本技术的语音编/解码方式筛选方案应用于图1所示的语音通话场景中主叫端100与网络侧设备200时,主叫端100与网络侧设备200之间的交互图。下面将根据图3中的结构示意图和图4中的交互图,详细描述主叫端100要和被叫端300进行volte语音通话,主叫端100与网络侧设备200之间确定语音编/解码方式的协商过程。结合图3和图4可知,本技术中主叫端100与网络侧设备200之间的语音编/解码方式的协商过程具体包括以下步骤:
74.步骤s410:主叫端100查询主叫端100当前的主叫位置信息。
75.在一种实现方式中,主叫端100根据用户对触控面板的触摸操作打开拨号应用102,拨号应用102中的拨号盘101获取用户输入的目标号码,并响应于用户的拨号操作进行拨号。而后,拨号应用102向modem 103发送包括目标号码的拨号消息。modem 103接收到拨号消息后,查询主叫端100当前对应的主叫位置信息。其中,主叫位置信息是指主叫端100的当前位置信息。主叫位置信息可以存储于nvram 103a中,还可以存储于主叫端100的其他存储介质中。
76.在一种实现方式中,主叫位置信息为能够表征主叫端100当前所处区域的区域编码(记为cell id)。区域编码可以是网络侧设备200周围区域划分出的区域对应的编码。
77.图5示出了本技术一些实施例中,网络侧设备200周围各个区域编码的示意图。如图5所示,网络侧设备200周围区域可以根据距离网络侧设备200的远近及相对于网络侧设备200的方位进行划分。具体地,射线l1、射线l2、射线l3、射线l4、射线l5、射线l6、射线l7和射线l8以o点(p
o
所在位置处)为原点向四周呈发射状延伸,以将网络侧设备200的周围区域分割为8个扇形区域。此外,射线l1和射线l2之间的、射线l2和射线l3之间的、射线l3和射线l4之间的、射线l4和射线l5之间的,以及射线l5和射线l6之间的6个扇形区域还分别被曲线c1、曲线c2和曲线c3分割为4个区域(包括1个小扇形区域和3个环形区域),也即将网络侧设备200周围区域分割为26个编码区域,每个编码区域对应于一个区域编码。
78.其中网络侧设备200向26个编码区域发射不同的无线电频谱资源w。例如,网络侧设备200向编码区域ⅰ发送无线电频谱资源w1、网络侧设备200向编码区域ⅱ发送无线电频谱资源w2和网络侧设备200向编码区域ⅲ发送无线电频谱资源w3。其中,无线电频谱资源是指不用人工波导而在空间传播的3000ghz以下的一种无线电磁波。不同的无线电频谱资源是指不同波段的无线电磁波。主叫端100根据接收的无线电磁波确定主叫端100当前所处的编码区域。同一个编码区域内的任意两个点接收到的无线电磁波相同,同一个编码区域内
的任意两个点的区域编码相同。
79.如图5所示,p
o
为网络侧设备200(例如:基站)所分布的位置,p
a
位置点和p
b
位置点位于编码区域ⅰ内,主叫端100在p
a
位置点和p
b
位置点接收到的无线电磁波均为w1。因此p
a
位置点和p
b
位置点的区域编码相同,也即当主叫端100处于p
a
位置点或p
b
位置点时,主叫端100的主叫位置信息相同。p
c
位置点位于编码区域ⅱ和p
d
位置点位于编码区域ⅲ内,主叫端100在p
c
位置点接收到无线电磁波w2,主叫端100在p
d
位置点接收到无线电磁波w3。因此p
c
位置点和p
d
位置点的区域编码不同,也即当主叫端100处于p
c
位置点或p
d
位置点时,主叫端100的主叫位置信息不同。
80.在可替换的其他一种实现方式中,主叫位置信息为能够表征主叫端100当前位置的坐标信息。
81.步骤s420:主叫端100向网络侧设备200发送起呼消息。其中,起呼消息中携带有与主叫位置信息对应的语音编/解码列表。
82.在一种实现方式中,主叫端100中的modem 103向网络侧设备200发送起呼消息。起呼消息中的sdp(session description protocol)协议中携带有与主叫端100和主叫位置信息对应的语音编/解码列表。其中,sdp协议的文本信息包括媒体流和各个媒体流对应的编/解码集。编/解码集即为语音编/解码列表。语音编/解码列表可以存储于nvram 103a中,还可以存储于主叫端100的其他存储介质中。
83.可以理解的是,一般情况下,主叫端100为移动终端,当主叫端100所处的编码区域发生改变,也即主叫端100的主叫位置信息发生改变时,主叫端100适用的语音编/解码方式可能会发生改变,因此,对每一个主叫位置信息,主叫端100均具有一个与该主叫位置信息对应的语音编/解码列表。
84.其中,语音编/解码列表包括主叫端100内存储的主叫端100所支持的语音编/解码方式。与主叫位置信息对应的语音编/解码列表包括存储于主叫端100内的,主叫端100处于主叫位置信息处时主叫端100所支持的语音编/解码方式。为了便于描述,下文中将与主叫位置信息对应的语音编/解码列表简称为主叫语音编/解码列表。主叫语音编/解码列表为存储于nvram 103a中的数据列表,且一个主叫语音编/解码列表包括至少一种语音编/解码方式。主叫语音编/解码列表为根据历史语音通话数据实时更新的数据列表。也即,主叫语音编/解码列表能够根据场景的切换,而更新主叫语音编/解码列表中的语音编/解码方式。例如,主叫语音编/解码列表包括终端在当前位置处的历史语音通话数据的通话质量较好的语音编/解码方式。
85.例如,主叫端100根据场景的切换,而删减不适用于主叫端100与网络侧设备200之间的主叫语音编/解码列表中的语音编/解码方式。当主叫端100位于第一主叫位置信息处时,在一些场景下,主叫语音编/解码列表包括evs、amr

wb和amr三种语音编/解码方式。当主叫端100位于第一主叫位置信息处时,在另外一些场景下,主叫端语音编/解码列表仅包括amr

wb和amr两种语音编/解码方式。其中,一些场景和另一些场景可以为不同时段的场景。
86.再例如,主叫语音编/解码列表能够根据场景的切换,而调整主叫语音编/解码列表中的语音编/解码方式的排列次序。当主叫端100位于第二主叫位置信息处时,在一些场景下,主叫语音编/解码列表包括依次存储的evs、amr

wb和amr三种语音编/解码方式。当主
叫端100位于第二主叫位置信息处时,在另外一些场景下,主叫端语音编/解码列表包括依次存储的amr

wb、amr和evs三种语音编/解码方式。其中,一些场景和另一些场景可以为不同时段的场景。
87.再例如,主叫端100能够根据场景的切换,而删减主叫语音编/解码列表中的语音编/解码方式,以及调整主叫语音编/解码列表中的语音编/解码方式的排列次序,具体技术方案为上述两个技术方案的结合,在此不作赘述。
88.在一种实现方式中,当nvram 103a中尚未存储有与主叫位置信息对应的语音编/解码列表,则将初始状态下语音编/解码列表作为与主叫位置信息对应的语音编/解码列表。其中,初始状态下语音编/解码列表中存储有主叫端100所支持的语音编/解码方式。
89.步骤s430:网络侧设备200根据筛选逻辑和接收到的起呼消息中携带的语音编/解码列表,筛选出主叫语音编/解码方式。
90.在一些实施例中,网络侧设备200获取筛选逻辑,以及提取接收到的起呼消息中携带的语音编/解码列表,进而根据筛选逻辑从提取到的语音编/解码列表中筛选出与主叫端100适配的语音编/解码方式,并将筛选出的语音编/解码方式作为主叫语音编/解码方式。
91.在一种实现方式中,筛选逻辑为按照语音编/解码方式的优先级筛选主叫语音编/解码列表的数据处理规则。网络侧设备200中的筛选模块201根据筛选逻辑能够筛选出当前优先级级别最高的语音编/解码方式。筛选逻辑可以为当主叫端100上报的语音编/解码方式中包括优先级级别最高的语音编/解码方式时,将优先级级别最高的语音编/解码方式作为主叫语音编/解码方式,而当主叫语音编/解码列表中的语音编/解码方式中不包括优先级级别最高的语音编/解码方式时,判断主叫语音编/解码列表中语音编/解码方式是否包括当前优先级级别次高的语音编/解码方式。
92.例如,主叫端100上报给网络侧设备200的主叫语音编/解码列表中包括evs、amr

wb和amr三种语音编/解码方式,且三种语音编/解码方式按照优先级依次降低的排序顺序为:evs、amr

wb和amr。筛选逻辑为当主叫语音编/解码列表中包括evs时,将evs作为主叫语音编/解码方式,而当主叫语音编/解码列表中不包括evs时,则判断主叫语音编/解码列表中是否包括amr

wb,直至网络侧设备200通过筛选逻辑筛选出当前主叫语音编/解码列表中优先级最高的语音编/解码方式,并将筛选出的语音编/解码方式作为主叫语音编/解码方式。
93.在一些实施例中,语音编/解码方式的优先级级别主要取决于运营商的运营策略。例如,当升级了网络侧设备200,使得其中一种语音编/解码方式的语音通话质量提高时,运营商调整网络侧设备200的优选策略,以提高该语音编/解码方式的优先级级别。此外,筛选逻辑和语音编/解码方式的优先级级别均存储于网络侧设备200中。
94.在另一种实现方式中,主叫语音编/解码列表中的语音编/解码方式按照次序依次排列,筛选逻辑为筛选主叫语音编/解码列表中的预定顺位的语音编/解码方式的数据处理规则。例如,筛选逻辑为筛选出主叫语音编/解码列表中第一顺位的语音编/解码方式作为主叫语音编/解码方式。
95.步骤s440:网络侧设备200向主叫端100返回200 ok消息。其中,200 ok消息中携带有主叫语音编/解码方式。例如,网络侧设备200向主叫端100中的modem 103返回200 ok消息。
96.在一种实现方式中,网络侧设备200将筛选出的主叫语音编/解码方式填写在200ok消息中的sdp协议中,而后,网络侧设备200将该200 ok消息发送给主叫端100。其中,200 ok消息为用于表示主叫端100的通话请求已被被叫端300接起的消息。
97.步骤s450:主叫端100确定与网络侧设备200语音通话所采用的语音编/解码方式为主叫语音编/解码方式。
98.在一种实现方式中,主叫端100根据接收到的主叫语音编/解码方式与网络侧设备200进行语音通话,以实现主叫端100与网络侧设备200之间模拟语音信号的传输。其中,语音包可以基于标准协议rtp协议(real

time transport protocol)和rtcp协议(rtp control ptotocol)实现模拟语音信号和视频信号的传输。
99.在介绍完本技术中语音通话时语音编/解码方式的筛选方案之后,由于上述方案中需要使用与主叫端100当前的位置信息相关的语音编/解码列表,且语音编/解码列表还会随着用户通过主叫端100产生的历史语音通话数据不断更新。基于此,为了清楚完整的表述本技术的技术方案,本技术将进一步详细描述语音编/解码列表的更新方案。图6示出了本技术语音编/解码方式筛选方案中主叫端100对应的语音编/解码列表的更新方案。如图3、图4和图6所示,主叫端100中语音编/解码列表的更新方法具体包括以下步骤:
100.步骤s610:主叫端100获取历史语音通话数据。
101.在一些实施例中,一次语音通话结束后,主叫端100获取本次的语音通话数据,并将满足预设条件的语音通话数据作为历史语音通话数据。可以理解的是,每条历史模拟语音信号中包括当前位置信息和该次语音通话中传输的音频数据。例如,图3中,网络侧设备200中的modem 203向主叫端100中的modem 103发送主叫语音包。该主叫语音包为被叫端300向主叫端100发送的模拟语音信号对应的语音包,也即此场景下历史语音通话数据为与图3中主叫语音包对应的音频数据。
102.在一种实现方式中,预设条件可以是与主叫端100当前位置信息对应的、预设周期内语音通话数据。例如,历史语音通话数据包括主叫端100当前位置信息,以及与主叫端100当前位置信息对应的、一周内的音频数据。
103.在另一种实现方式中,预设条件还可以是与主叫端100当前位置信息对应的、最近预设条数的语音通话数据。例如,历史语音通话数据包括主叫端100当前位置信息,以及与主叫端100当前位置信息对应的、最近两条语音通话数据。
104.可以理解的是,由于“主叫端”表征的是在某一次语音通话中,根据用户想要主动与他人进行语音通话的意愿,而对某一电子设备的称呼,因此,主叫端实质上是一个电子设备,但并非一直为主叫端,而仅仅只能表征本次语音通话中该用户的主动意愿。基于此,主叫端100中的历史语音通话数据并不一定是主叫端100作为主叫端时的语音通话数据,主叫端100中的历史语音通话数据还可以是主叫端100作为被叫端时的语音通话数据。相应地,主叫端100中的历史语音通话数据还可以同时包括主叫端100作为主叫端时的语音通话数据,以及主叫端100作为被叫端时的语音通话数据。
105.步骤s620:主叫端100根据每条历史语音通话数据获取每条历史语音通话数据的误帧率和丢包率。
106.在一种实现方式中,主叫端100中的语音编/解码模块104中,接收子模块104a接收音频数据后,解码子模块104b对接收到的音频数据进行解码。当解码子模块104b根据主叫
语音编/解码方式能够成功解码一个主叫语音包转换出的所有音频数据时,统计子模块104c将主叫语音包的总数量增加一个。而当解码子模块104b无法解码一个主叫语音包转换出的所有音频数据时,统计子模块104c将主叫语音包的总数量和解码失败的主叫语音包的数量各增加一个。而后,计算子模块104d根据统计子模块104c统计得到的主叫语音包的总数量和解码失败的主叫语音包的数量计算得到该条语音通话数据的丢包率。丢包率为解码失败的主叫语音包的数量与主叫语音包的总数量的比值。
107.在另外一种实现方式中,由于modem 103没有按时接收到主叫语音包,导致接收子模块104a没有按时接收到的音频数据时,即使最终modem 103接收到了主叫语音包,也即接收子模块104a接收到了该音频数据,也认为该主叫语音包丢失,统计子模块104c将主叫语音包的总数量和解码失败的主叫语音包的数量各增加一个。而后,计算子模块104d根据统计子模块104c统计得到的主叫语音包的总数量和解码失败的主叫语音包的数量计算得到该条语音通话数据的丢包率。丢包率为解码失败的主叫语音包的数量与主叫语音包的总数量的比值。
108.此外,解码子模块104b根据主叫语音编/解码方式解码音频数据时,统计子模块104c还会统计音频数据内数据的总帧数以及解码错误的帧数。误帧率为解码错误的帧数与数据的总帧数的比值。
109.步骤s630:主叫端100根据每条历史语音通话数据的误帧率和丢包率判断语音编/解码列表是否符合更新条件。
110.如果是,则说明主叫端100根据历史语音通话数据的误帧率和丢包率得到,当前的主叫语音编/解码列表并不适用于当前位置信息处的主叫端100与网络侧设备200,也即需要对主叫端100的主叫语音编/解码列表进行更新,进入步骤s640。如果否,则说明主叫端100根据历史语音通话数据的误帧率和丢包率得到网络侧设备200根据当前的主叫语音编/解码列表筛选的主叫语音编/解码方式适用于主叫端100与网络侧设备200之间的语音通话,也就是说,当前的主叫语音编/解码列表适用于主叫端100,也即尚不需要对主叫端100当前的主叫语音编/解码列表进行更新,保留目前的主叫语音编/解码列表,返回步骤s610。
111.在本技术的一些实施例中,更新条件为预设条数的历史语音通话数据的丢包率均超过丢包阈值和/或预设条数的历史语音通话数据的误帧率均超过误帧阈值。
112.在一种实现方式中,更新条件为连续两条的历史语音通话数据的丢包率均超过丢包阈值和/或连续两条的历史语音通话数据的误帧率均超过误帧阈值。
113.例如,丢包阈值为20%,误帧阈值为20%。可以理解的是,丢包阈值对应的数值可以根据需求调整,本技术丢包阈值的取值不作具体限制,任何能够满足更新条件判别的丢包阈值均在本技术的保护范围之内。误帧阈值对应的数值可以根据需求调整,本技术误帧阈值的取值不作具体限制,任何能够满足更新条件判别的误帧阈值均在本技术的保护范围之内。
114.在另外一种实现方式中,更新条件为累计两条的历史语音通话数据的丢包率均超过丢包阈值和/或累计两条的历史语音通话数据的误帧率均超过误帧阈值。
115.步骤s640:主叫端100更新语音编/解码列表。
116.在一种实现方式中,主叫端100中的modem 103根据预先设定的更新方式更新主叫语音编/解码列表,并将更新后的主叫语音编/解码列表覆盖原有的主叫语音编/解码列表。
117.在一种实现方式中,主叫端100中预设的更新方式为删除语音编/解码列表中的第一顺位的语音编/解码方式,其他顺位的语音编/解码方式顺次前移。则网络侧设备200的筛选逻辑可以为按照语音编/解码方式的优先级筛选主叫语音编/解码列表的数据处理规则。
118.在另一种实现方式中,主叫端100中预设的更新方式为移动语音编/解码列表中的第一顺位的语音编/解码方式至语音编/解码列表中的最后一位,其他顺位的语音编/解码方式顺次前移。筛选逻辑可以为筛选主叫语音编/解码列表中的预定顺位的语音编/解码方式的数据处理规则。
119.在本技术的另外一些实施例中,图7示出了本技术语音编/解码方式筛选方案中主叫端100对应的语音编/解码列表的更新方法。如图7所示,主叫端100中语音编/解码列表的更新方法具体包括以下步骤:
120.步骤s710:主叫端100获取历史语音通话数据。
121.步骤s710中历史语音通话数据的获取步骤与步骤s610相同,在此不作赘述。
122.步骤s720:主叫端100根据每条历史语音通话数据获取每条历史语音通话数据的误帧率和丢包率。
123.步骤s720中每条历史语音通话数据的误帧率和丢包率的获取步骤与步骤s620相同,在此不作赘述。
124.步骤s730:主叫端100根据每条历史语音通话数据的误帧率和丢包率计算得到语音编/解码列表的解码得分。
125.在一种实现方式中,当一条历史语音通话数据的误帧率超过误帧阈值和/或丢包率超过丢包阈值时,主叫端100中的统计子模块104c将该条历史语音通话数据记为不成功,并将目前的主叫解码方式对应的解码得分减1。
126.例如,初始情况下,主叫语音解码方式对应的解码得分为100分,解码子模块104b根据主叫语音解码方式对主叫语音包进行解码时,每出现一次解码不成功,则解码得分减1。
127.步骤s740:主叫端100根据解码得分判断语音编/解码列表是否符合更新条件。如果为是时,进入步骤s750,如果为否,则返回步骤s710。
128.在一种实现方式中,更新条件为主叫语音解码方式对应的编/解码得分与其他语音解码方式对应的编/解码得分(例如:100分)的得分差值大于差值阈值。例如差值阈值为5,可以理解的是,差值阈值对应的数值可以根据需求调整,本技术差值阈值的取值不作具体限制,任何能够满足更新条件判别的差值阈值均在本技术的保护范围之内。
129.步骤s750:主叫端100更新语音编/解码列表。步骤s760与步骤s650相同,在此不作赘述。
130.在一些应用场景下,用户想要初始化主叫端100中的语音编/解码列表,在本技术的一些实施例中,当主叫端10检测到初始化条件被触发时,主叫端100中的语音编/解码列表恢复至初始化状态。
131.其中,初始化状态的语音编/解码列表可以为包括主叫端100所支持的所有语音编/解码方式的数据列表。初始化状态的语音编/解码列表还可以为包括主叫端100所支持的所有语音编/解码方式、且语音的编/解码方式的排列次序相同的数据列表。初始化条件是指用于触发主叫端100对当前的主叫语音编/解码列表初始化的触发条件。
132.在一些实现方式中,初始化条件为主动式条件,例如,通过用户操作主叫端100,以使主叫端100开关机或者主叫端100中的sim卡的热插拔。其中,sim卡的热插拔是指将sim卡从终端100中拔出及插入,以使得sim卡与主叫端100信号中断。
133.在本技术一些实施中,对于初始化条件为主动式条件的情形,主叫端100检测到用户语音通话质量较差时,可以向用户展示初始化提示信息。其中,初始化提示信息的内容包括提示用户进行相关初始化触发操作,以使得主叫端100满足初始化条件。
134.在另外一些实现方式中,初始化条件为主叫端100中的语音编/解码列表持续了预设时长。例如,预设时长为一周,也即主叫端100中的语音编/解码列表持续了一周。
135.在另外一些实现方式中,初始化条件还可以为主叫端100删除了语音编/解码列表中的所有语音编/解码方式。或者为,语音编/解码列表中仅剩一种语音编/解码方式。再或者为,主叫端100调整了语音编/解码列表中的语音编/解码方式的排列次序。
136.在一些实施例中,当语音编/解码列表的更新方式为删除不满足通话需求的语音编/解码方式时,语音编/解码列表的初始化方式为主叫端100在语音编/解码列表中恢复主叫端100支持的所有语音编/解码方式。当语音编/解码列表的更新方式为调整不满足通话需求的语音编/解码方式的排列次序,语音编/解码列表的初始化方式为主叫端100在语音编/解码列表中恢复语音编/解码方式的排列次序。此外,对于任意一种更新方式的语音编/解码列表,语音编/解码列表还可以通过删除原有的语音编/解码列表,并根据主叫端100支持的所有语音编/解码方式生成新的语音编/解码列表的方式来实现语音编/解码列表的初始化。
137.由于主叫端100与网络侧设备200之间的交互过程与被叫端300与网络侧设备200之间的交互过程较为相似,下面将简要介绍下本技术的语音编/解码方式的筛选方案在网络侧设备200与被叫端300之间的应用场景下的应用。
138.在一些应用场景中,主叫端100根据历史语音通话数据已将某一语音编/解码方式删除,但后期网络侧设备200升级后,能够支持被删除的语音编/解码方式,也即主叫端100采用被删除的语音编/解码方式和网络侧200进行语音通话时,通话质量有所提高。为了能够及时更新主叫端100上报的语音编/解码列表,在本技术一些实施例中,主叫端100根据增加指令在语音编/解码列表中增加该语音编/解码方式。其中增加指令是历史语音编/解码列表中不存在该语音编/解码方式时,主叫端100或者网络侧设备200生成的用于将该语音编/解码方式添加至语音编/解码列表中的调整指令。
139.在其中一种实现方式中,增加指令可以是网络侧设备200向主叫端100发送的、用于指示主叫端100增加该语音编/解码方式的指令。其中该指令由网络侧设备200根据主叫端100最近一次上报历史语音编/解码列表生成。
140.在另外一种实现方式中,增加指令还可以是用户通过触发主叫端100而生成的指令。其中网络侧设备200根据主叫端100最近一次上报的历史语音编/解码列表生成增加提示信息(例如:运营商通知信息),并将增加提示信息广播给主叫端100。
141.主叫端100将接收到的提示信息展示给用户,提示信息中包括提示内容和选项卡,例如,提示内容为“用户,您好!请问您是否想要优化当前语音通话方式?”,选项卡包括“立马升级”、“暂不升级”以及“不再提醒”。
142.主叫端100根据用户选择的选项卡以及主叫端100支持的语音编/解码方式确定是
否生成增加指令。当主叫端100支持的语音编/解码方式不包括该语音编/解码方式时,则说明主叫端100与网络侧设备200之间无法通过该语音编/解码方式进行语音通话。当主叫端100支持的语音编/解码方式包括该语音编/解码方式时,则说明主叫端100与网络侧设备200之间能够通过该语音编/解码方式进行语音通话,此时需要根据用户选择的选项卡判断是否需要生成增加指令。
143.当用户选择“立马升级”时,主叫端100生成增加指令;当用户选择“暂不升级”时,主叫端100不生成增加指令;当用户选择“不再提醒”时,主叫端100预设时长内不再展示此类提示信息。或者,当用户选择“不再提醒”时,主叫端100不再展示此类预设条数的提示信息。
144.在本技术其中一些实施例中,网络侧设备200完成升级后,网络侧设备200即向主叫端100发送增加指令或者提示信息。上述技术方案中,在语音编/解码列表中增加语音编/解码方式,和删减语音编/解列表中的语音编/解码方式为相互独立的两个过程。
145.在本技术其他一些实施例中,网络侧设备200完成升级,且主叫端100与网络侧设备200语音通话结束后,网络侧设备200向主叫端100发送增加指令或者提示信息。上述技术方案中,在语音编/解码列表中增加语音编/解码方式,和删减语音编/解列表中的语音编/解码方式可以合并为一个过程。也即,一次语音编/解码列表的更新过程中可以同时删减及增加语音编/解码方式。
146.用户选择“不再提醒”时,说明用户对当前语音通话质量较为满意,而不想要增加额外的语音编/解码方式,为了提升用户体验,避免持续展示用户不需要的提示信息,在本技术一些实施例中,主叫端100中还设有定时器,定时器用于在用户选择“不再提醒”选项卡时,限制主叫端100在预设周期内不展示增加提示信息,或者限制主叫端100不展示预设条数的增加提示信息。
147.图8示出了图1所示的语音通话场景中能够执行本技术的技术方案的被叫端300和网络侧设备200的结构示意图。如图8所示,被叫端300包括调制解调器(modem)303和语音编/解码模块304等,网络侧设备200包括用于从语音编/解码列表中筛选出与主叫端100最为适配的语音编/解码方式的筛选模块201。其中,modem 303用于发送200 ok消息和被叫语音包,用于接收query消息,以及用于实现被叫语音包与音频数据的相互转换。此外,modem103还能够接收modem 203发送来的主叫语音包,其中该主叫语音包为被叫端300通过网络侧设备200向主叫端100发送的语音包。modem 303还包括非易失性随机访问存储器(non

volatile random access memory,nvram)303a。nvram 303a中存储有被叫端300的当前位置信息,以及不同位置信息对应的语音编/解码列表1、语音编/解码列表2、语音编/解码列表3、
……
、语音编/解码列表n。语音编/解码模块304用于采用被叫语音编/解码方式将模拟语音信号编码为音频数据,以及用于采用被叫语音编/解码方式音频数据解码为模拟语音信号。语音编/解码模块304具体包括用于接收音频数据的接收子模块304a,用于根据被叫语音编/解码方式对音频数据的解码子模块304b,用于统计解码的音频数据对应的语音包数量和帧数的统计子模块304c,用于计算音频数据对应的语音包解码效果的计算子模块304d,以及用于根据被叫语音编/解码方式对模拟语音信号编码的编码子模块304e。
148.图9示出了本技术语音编/解码方式筛选方案应用于图1所示的语音通话应用场景中网络侧设备200与被叫端300时,网络侧设备200与被叫端300之间的交互图。下面将根据
图8中的结构图和图9中的交互图,简要描述主叫端100要和被叫端300进行volte语音通话时,网络侧设备200与被叫端300之间确定语音编/解码方式的协商过程。结合图8和图9可知,网络侧设备200与被叫端300之间的语音编/解码方式的协商过程具体包括以下步骤:
149.步骤s910:网络侧设备200向被叫端300发送寻呼消息。在一种实现方式中,主叫端100发送给网络侧设备200的起呼消息中还携带有与寻呼的被叫端300相对应的目标号码。网络侧设备200根据目标号码能够获取到对应的被叫端300,进而向被叫端300发送寻呼消息。可以理解的是,目标号码可以为与被叫端300一一对应的公共交换电话网络(public switched telephone network,pstn)号码或者会话初始协议(session initiation protocol,sip)号码。寻呼消息用于向被叫端300发起信令连接,以通过网络侧设备200建立主叫端100与被叫端300之间的通话连接。
150.步骤s920:被叫端300查询被叫端300当前对应的被叫位置信息。其中,被叫位置信息是指能够表征被叫端300当前所处区域的区域编码,步骤s920与步骤s410相似,在此不作赘述。
151.步骤s930:被叫端300向网络侧设备200发送应答消息。其中,应答消息中携带有与被叫位置信息对应的语音编/解码列表。步骤s930与步骤s420相似,在此不作赘述。
152.步骤s940:网络侧设备200根据筛选逻辑和接收到的语音编/解码列表筛选出被叫语音编/解码方式。其中,被叫语音编/解码方式是指网络侧设备200从被叫端300上报的被叫端300支持的所有语音编/解码方式中筛选出的,最适于被叫端300语音通话的语音编/解码方式,步骤s940与步骤s430相似,在此不作赘述。
153.步骤s950:网络侧设备200向被叫端300返回200 ok消息。其中,200 ok消息中携带有被叫语音编/解码方式。步骤s950与步骤s440相似,在此不作赘述。
154.步骤s960:被叫端100确定与网络侧设备200语音通话所采用的语音编/解码方式为被叫语音编/解码方式。步骤s950与步骤s450相似,在此不作赘述。
155.图10示出了本技术语音编/解码方式筛选方案应用于图1应用场景中主叫端100、网络侧设备200与被叫端300之间的交互图。下面将结合图3中的结构示意图、图8中的结构示意和图10中的交互图描述主叫端100和被叫端300通过网络侧设备200进行语音通话时,主叫端100、网络侧设备200与被叫端300之间采用volte业务时进行语音通话的过程。在本技术的一些实施例中,主叫端100想要与被叫端300进行volte业务时,主叫端100、网络侧设备200与被叫端300之间的语音编/解码方式的协商过程具体包括以下步骤:
156.步骤s1010:主叫端100查询主叫端100当前对应的主叫位置信息。步骤s1010与步骤s410相同,在此不作赘述。
157.步骤s1020:主叫端100向网络侧设备200发送起呼消息。其中,起呼消息中携带有与主叫位置信息对应的语音编/解码列表。步骤s1020与步骤s420相同,在此不作赘述。
158.步骤s1030a:网络侧设备200根据筛选逻辑和接收到的起呼消息中携带的语音编/解码列表,筛选出与主叫端100适配的主叫语音编/解码方式。步骤s1030a与步骤s430相同,在此不作赘述。
159.步骤s1030b:网络侧设备200向被叫端300发送寻呼消息步骤s1030b与步骤s910相同,在此不作赘述。
160.步骤s1040a:网络侧设备200向主叫端100发送100tring消息。100tring消息用于
identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
172.可以理解的是,本发明实施例示意的结构并不构成对手机100

的具体限定。在本技术另一些实施例中,手机100

可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
173.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编/解码器,音频编/解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural

network processing unit,npu)等。视频解码其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
174.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
175.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter

integrated circuit,i2c)接口,集成电路内置音频(inter

integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general

purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
176.内部存储器121作为计算机可读存储介质,可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。例如,内部存储器121可以包括闪存等任何合适的非易失性存储器和/或任何合适的非易失性存储设备,例如一个或多个硬盘驱动器(hard

disk drive,hdd(s)),一个或多个光盘(compact disc,cd)驱动器,和/或一个或多个数字通用光盘(digital versatile disc,dvd)驱动器。根据本技术的一些实施例,作为计算机可读存储介质的存储器121上存储有指令,该指令在计算机上执行时使处理器110执行根据本技术实施例中的音频处理方法,具体可参照上述实施例的方法,在此不再赘述。
177.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100

的结构限定。在本技术另一些实施例中,手机100

也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
178.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展手机100

的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
179.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100

使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100

的各种功能应用以及数据处理。
180.手机100

可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
181.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170中的语音编/解码模块104还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
182.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。手机100

可以通过扬声器170a收听音乐,或收听免提通话。
183.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当手机100

接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
184.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。手机100

可以设置至少一个麦克风170c。在另一些实施例中,手机100

可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机100

还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
185.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
186.语音编/解码模块104用于对音频信号编码和解码。语音编/解码模块104包括接收子模块104a、解码子模块104b、统计子模块104c和计算子模块104d。其中,接收子模块104a用于接收网络侧设备200传输的语音包,解码子模块104b用于根据筛选出的语音编/解码方式解码接收子模块接收到的语音包,统计子模块104c用于统计解码的语音包的数量以及语音包内音频信号的帧数,计算子模块104d用于计算解码结果,编码子模块104e用于根据筛选出的语音编/解码方式对将要传输到的语音信息进行编码。
187.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解码出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解
码心率信息,实现心率检测功能。
188.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
189.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和手机100

的接触和分离。手机100

可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。手机100

通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100

采用esim,即:嵌入式sim卡。esim卡可以嵌在手机100

中,不能和手机100

分离。本技术中通过解除sim卡与sim卡接口195的连接关系以实现手机100

中sim卡的热插拔。
190.图12根据本技术的实施例示出了手机100

的一种架构图。如图12所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
191.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
192.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
193.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
194.电话管理器用于提供手机100

的通信功能。例如通话状态的管理(包括接通,挂断等)。
195.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
196.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
197.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
198.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
199.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线
程管理,安全和异常的管理,以及垃圾回收等功能。
200.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
201.系统库可以包括多个功能模块。例如:表面管理器(surface manager,sm),媒体库(media libraries,ml),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
202.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
203.在说明书对“一些实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
204.本公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括由被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、cd

rom、磁光盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、eprom、eeprom、磁或光卡、专用集成电路(application specific integrated circuit,asic)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
205.本文所提出的过程和显示器固有地不涉及任何具体计算机或其他装置。各种通用系统也可以与根据本文中的教导的程序一起使用,或者构造更多专用装置以执行一个或多个方法步骤可以证明是方便的。在一下描述中讨论了用于各种这些系统的结构。另外,可以使用足以实现本公开的技术和实施方案的任何具体编程语言。各种编程语言可以被用于实施本公开,如本文所讨论的。
206.另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本公开旨在说明而非限制本文所讨论的概念的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1