语音转发方法、系统、服务器及存储介质与流程

文档序号:30786067发布日期:2022-07-16 08:04阅读:81来源:国知局
语音转发方法、系统、服务器及存储介质与流程

1.本发明涉及一种通信技术领域,尤其涉及一种语音转发方法、系统、服务器及存储介质。


背景技术:

2.目前,基于mcptt(mission critical push to talk,关键任务一键通)协议的集群系统逐步受到人们的重视。在政务、医疗、能源、交通、应急通信等领域有着广泛的应用,其主要服务于特定群组人员之间的快速通信。在进行组呼时,由于各个用户终端的语音编码方式可能存在不同,因此,在将作为语音发送端的用户终端的语音数据转发给各个作为语音接收端的用户终端时,需要将语音数据基于每个语音接收端的语音编码方式进行转码之后再发送到语音接收端。这样的方式造成语音数据的转发过程耗时过长,用户体验感。因此,急需一种方法,可以提高语音转发效率,改善用户体验性。


技术实现要素:

3.本发明实施例提供一种语音转发方法、系统、服务器及存储介质,以实现待转发语音数据的转码,得到目标语音数据,提高转码的效率,进而提高目标语音数据转发的效率。
4.第一方面,本发明实施例提供了一种语音转发方法,包括:针对多个用户终端,当接收到第一用户终端发送的待转发语音数据,基于所述第一用户终端的第一语音编码方式对所述待转发语音数据进行解码,得到待转码语音数据;其中,所述第一用户终端为语音发送端,所述第一用户终端所属组呼内的除所述第一用户终端以外的用户终端为语音接收端;针对各个语音接收端的语音编码方式,若存在与所述第一语音编码方式不同的第二语音编码方式,则基于所述第二语音编码方式对所述待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为所述第二语音编码方式的至少一个语音接收端。
5.优选的,在所述当接收到第一用户终端发送的待转发语音数据之后,还包括:
6.针对各个语音接收端的语音编码方式,若存在至少一个与第一语音编码方式相同的语音编码方式,则将所述待转发语音数据作为所述目标语音数据发送至语音编码方式为所述第一语音编码方式的至少一个语音接收端。
7.优选的,在所述得到待转码语音数据之后,还包括:
8.将所述待转码语音数据存储在内部存储器中;
9.所述基于所述第二语音编码方式对所述待转码语音数据进行编码,包括:
10.从内部存储器中获取所述待转码语音数据,并基于所述第二语音编码方式对所述待转码语音数据进行编码。
11.优选的,在所述接收到第一用户终端发送的待转发语音数据之前,还包括:
12.若相同时刻接收到多个用户终端发送的通话权限申请,且当前没有任一用户终端作为语音发送端,则获取发送通话权限申请的多个用户终端的用户优先级;其中,所述用户优先级为用户终端发送待转发语音数据的优先级;
13.根据所述用户优先级从所述发送通话权限申请的多个用户终端中确定第一用户终端,并将所述第一用户终端作为语音发送端,将所述第一用户终端所属组呼内的除所述第一用户终端以外的用户终端作为语音接收端。
14.优选的,在所述接收到第一用户终端发送的待转发语音数据之前,还包括:
15.若相同时刻接收到多个用户终端发送的通话权限申请,且当前存在任一用户终端作为语音发送端,则获取发送通话权限申请的多个用户终端的用户优先级;
16.根据作为语音发送端的用户终端以及所述发送通话权限申请的多个用户终端的用户优先级,确定第一用户终端,并将第一用户终端作为所述语音发送端,将所述第一用户终端所属组呼内的除所述第一用户终端以外的用户终端作为语音接收端。
17.优选的,所述根据作为语音发送端的用户终端以及发送通话权限申请的多个用户终端的用户优先级,确定第一用户终端,包括:若作为语音发送端的用户终端,以及发送通话权限申请的多个用户终端的用户优先级相同,则获取作为语音发送端的用户终端以及发送通话权限申请的多个用户终端的用户标识,并根据用户标识确定第一用户终端;所述根据所述用户优先级从发送通话权限申请的多个用户终端中确定第一用户终端,包括:若发送通话权限申请的用户终端的用户优先级相同,则获取发送通话权限申请的多个用户终端的用户标识,基于所述用户标识确定第一用户终端。
18.优选的,在所述根据作为语音发送端的用户终端以及所述发送通话权限申请的多个用户终端的用户优先级,确定第一用户终端之后,还包括:获取所述第一用户终端所属组呼内的每个用户终端的语音编码方式、媒体ip地址和端口号;所述将得到的目标语音数据发送至语音编码方式为所述第二语音编码方式的至少一个语音接收端,包括:基于所述至少一个语音接收端的媒体ip地址和端口号,将所述目标语音数据发送至相对应的语音接收端。
19.第二方面,本发明实施例还提供了一种语音转发系统,包括:
20.多个用户终端,包括第一用户终端和所述第一用户终端所属组呼内除了所述第一用户终端的用户终端,所述第一用户终端作为语音发送端,用于发送待转发语音数据,所述第一用户终端所属组呼内除了所述第一用户终端的用户终端作为语音接收端,用于接收目标语音数据;
21.服务器,与所述多个用户终端通信连接,用于接收所述语音发送端发送的待转发语音数据,基于所述第一用户终端的第一语音编码方式对所述待转发语音数据进行解码,得到待转码语音数据;并针对各个语音接收端的语音编码方式,判断是否存在与所述语音发送端的第一语音编码方式不同的第二语音编码方式,若是存在与所述语音发送端的第一语音编码方式不同的第二语音编码方式,则基于所述第二语音编码方式对所述待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为所述第二语音编码方式的至少一个语音接收端。
22.第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
23.一个或多个处理器;
24.存储装置,用于存储一个或多个程序,
25.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的语音转发方法。
26.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的语音转发方法。
27.本发明实施例的技术方案,通过针对多个用户终端,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。第一用户终端作为语音发送端,在第一用户终端所属的组呼内的除了第一用户终端的用户终端作为语音接收端。针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。通过本发明实施例的技术方案,实现了存在与第一语音编码方式不同的第二语音编码方式时,可以仅进行一次编码,即通过第二语音编码方式对待转码语音数据进行编码,得到目标语音数据可以发送至语音编码方式为第二语音编码方式的至少一个语音接收端,这样,当第二语音编码方式的语音接收端存在多个时,也仅进行一次编码,提高了编码的效率,提高了目标语音数据发送的效率,提高用户体验度。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.其中:
30.图1为本发明实施例一中的一种mcptt系统组呼的工作原理示意图;
31.图2为本发明实施例一中的一种语音转发方法的流程示意图;
32.图3为本发明实施例二中的一种语音转发方法的流程示意图;
33.图4为本发明实施例二中的一种语音转发方法的流程示意图;
34.图5为本发明实施例三中的一种语音转发系统的结构示意图;
35.图6为本发明实施例四中的一种服务器520的结构示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.实施例一
38.图2为本发明实施例一提供的语音转发方法的流程示意图,本实施例可适用于mcptt系统的组呼中进行语音转发情况,该方法可以由语音转发系统来执行。
39.在阐述本发明实施例的技术方案之前,首选对本发明实施例的应用场景进行示例性说明:
40.本发明实施例应用于mcptt系统的组呼中,组呼是一种点对多点的呼叫方式,也即
一个用户终端510作为语音发送端,该用户终端510所属的组呼内的其他用户终端510作为语音接收端,接收语音发送端发送的待转发语音数据。组呼的呼叫方式均是直接建立半双工呼叫。参与呼叫的用户终端510可以通过申请通话权限得到组呼的通话权限。当拥有通话权限的用户终端510发出待转发语音数据,其他的组呼内的用户终端510只能接收基于待转发语音数据得到目标语音数据。
41.参见图1,服务器520包括mcptt子服务器和mcptt媒体子服务器。在任一用户终端510可以通过sip(session initialization protocol,会话初始协议)向mcptt子服务器发送通话权限申请的情况下,mcptt子服务器接收到通话权限申请,并且当前没有任一用户终端510为语音接收端,则将该发送通话权限申请的用户终端510作为第一用户终端。并将预先配置好的同组内的其他用户终端510通过sip协议,全部加入到组呼内进行接通。第一用户终端作为语音发送端,其他的用户终端510作为语音接收端。mcptt子服务器对mcptt媒体子服务器下发语音编码获取指令,mcptt媒体子服务器基于语音编码获取指令,获取组呼内的各个用户终端510的语音编码方式。mcptt媒体子服务器用于对待转发语音数据的发送和/接收,对待转发语音数据的解码,对解码后的待转码语音数据的编码,得到目标语音数据,对目标语音数据的发送等操作。用户终端11申请到通话权限,通过rtp(real-time transport protocol网络传输协议)流发送待转发语音数据,用户终端11作为语音发送端,用户终端12、用户终端13和用户终端14作为语音接收端。用户终端11使用语音编码pcma,用户终端12和用户终端13使用pcmu编码,用户终端14使用g729编码,mcptt媒体子服务器收到用户终端11的待转发语音数据,转发给用户终端12,由于用户终端11和用户终端12的语音编码方式不一样,首先将待转发语音数据进行解码,并将解码后的语音数据根据用户终端12的语音编码方式进行编码,得到目标语音数据,将得到目标语音数据转发给用户终端12。同理,将待转发语音数据转发给用户终端13和用户终端14。也即,在将待转发语音数据转发给用户终端12、用户终端13和用户终端14时,需要将待转发语音数据进行解码,之后基于每个用户终端510的语音编码方式进行编码。这样,每次目标语音数据的转发都需要对待转发语音数据进行解码再编码得到目标语音数据,增加了mcptt媒体子服务器的运算量。若是用户终端510过多,mcptt媒体子服务器的计算量过大,将造成作为语音接收端的各个用户终端510等待时间过长。本发明实施例的技术方案,可以首先将待转发语音数据进行解码,之后存储解码后得到待转码语音数据,当检测到与语音发送端的第一语音编码方式不同的第二语音编码方式,对待转码语音数据进行编码,得到目标语音数据,并将目标语音数据发送至与第二语音编码方式对应的至少一个语音接收端,提高了编码的效率,进而提高了作为语音接收端的各个用户终端510接收目标语音数据的效率。
42.本发明实施例的语音转发方法具体包括如下步骤:
43.s110、针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。
44.其中,用户终端510是指具有发送和接收语音数据功能的终端,多个用户终端510是指两个及以上的用户终端510。需要说明的是,在本发明实施例中,多个是指两个以上的含义。在本发明实施例中,每个用户终端510都具有语音数据的编码功能和解码功能。可选地,每个用户终端510的语音编码方式可以相同,也可以不同。组呼是指在mcptt系统中的呼叫方式,是指点对多点,也即组呼中的一个用户终端510作为语音发送端,除了作为语音发
送端的用户终端510之外的用户终端510作为语音接收端,从而进行语音数据的传输。第一用户终端为语音发送端,第一用户终端所属组呼内的除第一用户终端以外的用户终端510为语音接收端。待转发语音数据是指基于第一用户终端的第一语音编码方式对原始语音数据进行编码后得到的语音数据。
45.具体的,当接收到第一用户终端发送的待转发语音数据,根据第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据,为后续进行待转码语音数据的编码以及转发做准备工作。
46.s120、针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。
47.其中,各个语音接收端的语音编码方式可以相同,也可以不同。
48.具体的,若是在各个语音接收端的语音编码方式中,存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码处理,得到目标语音数据。并将目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。当存在多个的语音接收端的语音编码方式相同时,通过本步骤可以实现,仅进行一次编码,就可以将编码后的目标语音数据发送至语音编码方式相同的多个语音接收端,而不需要针对每个语音接收端的语音编码方式进行待转码语音数据的编码,提高了待转码语音数据的转码效率,进而提高了目标语音数据的发送效率,提高用户体验度。
49.进一步的,在本发明实施例中,在接收到第一用户终端发送的待转发语音数据之前,还包括:若相同时刻接收到多个用户终端510发送的通话权限申请,且当前没有任一用户终端510作为语音发送端,则获取发送通话权限申请的多个用户终端510的用户优先级;根据用户优先级从发送通话权限申请的多个用户终端510中确定第一用户终端,并将第一用户终端作为语音发送端,将第一用户终端所属组呼内的除第一用户终端以外的用户终端510作为语音接收端。
50.其中,通话权限申请是指组呼内进行语音数据转发的权限申请。用户优先级为用户终端510发送待转发语音数据的优先级。
51.具体的,若在相同时刻接收到多个用户终端510发送的用户权限申请,并且当前没有任一用户终端510作为语音发送端,则获取发送通话权限申请的多个用户终端510的用户优先级。并根据各个用户优先级确定第一用户终端。可选地,确定用户优先级最高的用户终端510为第一用户终端,并将第一用户终端作为语音发送端,将第一用户终端所属组呼内的除了第一用户终端以外的用户终端510作为语音接收端。这样可以避免在多个用户终端510同时发送通话权限申请时,无法确定语音发送端,造成用户体验感差。
52.进一步的,在本发明实施例中,在接收到第一用户终端发送的待转发语音数据之前,还包括:若相同时刻接收到多个用户终端510发送的通话权限申请,且当前存在任一用户终端510作为语音发送端,则获取发送通话权限申请的多个用户终端510的用户优先级;根据作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级,确定第一用户终端,并将第一用户终端作为语音发送端,将第一用户终端所属组呼内的除第一用户终端以外的用户终端510作为语音接收端。
53.具体的,在当前存在某个用户终端510作为语音发送端,并且同时接收到多个用户
终端510发送的有通话权限申请的情况下,获取发送通话权限申请的多个用户终端510的用户优先级,根据作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级,确定第一用户终端。可选地,从各个用户优先级中确定最高的用户优先级,并将最高的用户优先级的用户终端510确定为第一用户终端,将第一用户终端作为新的语音发送端。应当理解,在本发明实施例中仅有一个语音发送端,因此,原始的语音发送端的用户终端510也将作为语音接收端。
54.进一步的,在本发明实施例中,根据作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级,确定第一用户终端,包括:若作为语音发送端的用户终端510,以及发送通话权限申请的多个用户终端510的用户优先级相同,则获取作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户标识,并根据用户标识确定第一用户终端;根据用户优先级从发送通话权限申请的多个用户终端510中确定第一用户终端,包括:若发送通话权限申请的用户终端510的用户优先级相同,则获取发送通话权限申请的多个用户终端510的用户标识,基于用户标识确定第一用户终端。
55.其中,用户标识是指用户终端510的唯一标识。用户标识的表现形式可以是数字、可以是英文字母,还可以是数据与英文字母的组合等。比如,用户标识为a1、a2、a3来确定三个用户终端510。
56.具体的,在作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级相同的情况下,获取作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户标识。根据用户标识确定第一用户终端。在发送通话权限申请的用户终端510的用户优先级相同的情况下,获取发送通话权限申请的多个用户终端510的用户标识,根据用户标识确定第一用户终端。示例性,根据各个用户终端510的用户标识以及预先设置的用户标识与用户等级之间的映射关系表,确定最高的用户等级,将用户等级最高的用户终端510作为第一用户终端。
57.进一步的,在本发明实施例中,在根据作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级,确定第一用户终端之后,还包括:获取第一用户终端所属组呼内的每个用户终端510的语音编码方式、媒体ip地址和端口号;将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端,包括:基于至少一个语音接收端的媒体ip地址和端口号,将目标语音数据发送至相对应的语音接收端。
58.其中,媒体ip地址和端口号可以唯一确定一个用户终端。
59.具体的,获取组呼内每个用户终端510的语音编码方式、媒体ip地址和端口号,为后续进行目标语音数据的发送做准备工作。在进行目标语音数据的发送时,根据媒体ip地址和端口号确定各个语音接收端,进而将目标语音数据发送至语音接收端,提高了目标语音数据发送的准确度。
60.本发明实施例的技术方案,通过针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。第一用户终端作为语音发送端,在第一用户终端所属的组呼内的除了第一用户终端的用户终端510作为语音接收端。针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码
语音数据进行编码,将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。通过本发明实施例的技术方案,实现了存在与第一语音编码方式不同的第二语音编码方式时,可以仅进行一次编码,即通过第二语音编码方式对待转码语音数据进行编码,得到目标语音数据可以发送至语音编码方式为第二语音编码方式的至少一个语音接收端,这样,当第二语音编码方式的语音接收端存在多个时,也仅进行一次编码,提高了编码的效率,提高了目标语音数据发送的效率,提高用户体验度。
61.实施例二
62.图3是本发明实施例提供的一种语音转发方法的流程示意图,本发明实施例在上述实施例的可选方案的基础上增加将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的至少一个语音接收端的步骤。其中,与上述实施例相同或者相似的技术术语将不再赘述。
63.如图3所示,本发明实施例所提供的语音转发方法具体包括如下步骤:
64.s210、针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。
65.s220、针对各个语音接收端的语音编码方式,若存在至少一个与第一语音编码方式相同的语音编码方式,则将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的至少一个语音接收端。
66.具体的,若是存在语音编码方式与第一语音编码方式相同,则直接将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的至少一个语音接收端。通过本步骤,不需要对待转发语音数据进行解码,之后基于第一语音编码方式对解码的待转码语音数据进行编码,提高了待转发语音数据处理的效率。
67.s230、针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。
68.进一步的,在本发明实施例中,在得到待转码语音数据之后,还包括:将待转码语音数据存储在内部存储器中;基于第二语音编码方式对待转码语音数据进行编码,包括:从内部存储器中获取待转码语音数据,并基于第二语音编码方式对待转码语音数据进行编码。
69.其中,内部存储器是指具有存储功能,可以存储待转码数语音数据。
70.具体的,将待转码语音数据存储在内部存储器中,在对待转码语音数据进行转码时,可以从内部存储器中调取待转码语音数据,避免待转码语音数据的丢失。
71.示例性的,参见图4,在同一个组呼内包括用户终端1和用户终端5的语音编码方式相同,为pcma编码,用户终端2和用户终端3的语音编码方式相同,为pcmu编码,用户终端4的语音编码类型为g729。用户终端1作为语音发送端,用户终端2、用户终端3、用户终端4以及用户终端5作为语音接收端。mcptt媒体子服务器收到用户终端1的待转发语音数据,并对待转发语音数据进行解码,得到待转码语音数据并存储在内部存储器中。mcptt媒体子服务器检测到用户终端5的语音编码方式与用户终端1相同,则将待转发语音数据作为目标语音数据发送至终端5。检测到用户终端2、用户终端3和用户终端4的语音编码方式与用户终端1的语音编码方式不同,则将待转发语音数据进行解码,并将得到待转码语音数据存储在内部
存储器中,根据用户终端2和用户终端3的pcmu编码,对待转码语音数据进行编码,得到目标语音数据,分别发送至用户终端2和用户终端3。根据用户终端4的g729编码对待转码语音数据进行编码,得到目标语音数据,并将目标语音数据发送至用户终端4。这样,在作为语音接收端的用户终端2和用户终端3由于语音编码方式相同,所以仅对待转码语音数据进行一次语音编码,提高了编码的效率,进而提高了接收端接收语音数据的效率。
72.本发明实施例的技术方案,通过针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。第一用户终端作为语音发送端,在第一用户终端所属的组呼内的除了第一用户终端的用户终端510作为语音接收端。针对各个语音接收端的语音编码方式,若存在至少一个与第一语音编码方式相同的语音编码方式,则将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的至少一个语音接收端。针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。通过本发明实施例的技术方案实现了根据语音接收端的不同语音编码方式进行不同的待转发语音数据的处理,当语音编码方式与第一语音编码方式相同时,直接将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的语音接收端。提高了目标语音数据的发送效率,进而提高了用户体验度。
73.实施例三
74.图5为本发明实施例提供的一种语音转发系统的结构示意图,本发明实施例所提供的语音转发系统可执行本发明任意实施例所提供的语音转发方法,具备执行方法相应的功能模块和有益效果。该系统包括多个用户终端510和服务器520:其中:
75.多个用户终端510,包括第一用户终端和所述第一用户终端所属组呼内除了所述第一用户终端的用户终端510,所述第一用户终端作为语音发送端,用于发送待转发语音数据,所述第一用户终端所属组呼内除了所述第一用户终端的用户终端510作为语音接收端,用于接收目标语音数据;
76.服务器520,与所述多个用户终端510通信连接,用于接收语音发送端发送的待转发语音数据,基于所述第一用户终端的第一语音编码方式对所述待转发语音数据进行解码,得到待转码语音数据;并针对各个语音接收端的语音编码方式,判断是否存在与所述语音发送端的第一语音编码方式不同的第二语音编码方式,若是存在与所述语音发送端的第一语音编码方式不同的第二语音编码方式,则基于所述第二语音编码方式对所述待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为所述第二语音编码方式的至少一个语音接收端。
77.其中,多个用户终端510是指两个及以上的用户终端510。在本发明实施例中,用户终端510用于接收目标语音数据和发送待转发语音数据。用户终端510具有对原始语音数据进行编码得到待转发语音数据的功能,也具有将目标语音数据进行解码的功能。在同一个组呼内,每个用户终端510的语音编码方式可以相同,也可以不同。在本发明实施例中,服务器包括mcptt子服务器和mcptt媒体子服务器,mcptt子服务器和mcptt媒体子服务器的具体应用参见上述方法实施例的阐述,这里不再赘述。
78.进一步的,服务器520还包括:第一发送模块,用于针对各个语音接收端的语音编
码方式,若存在至少一个与第一语音编码方式相同的语音编码方式,则将待转发语音数据作为目标语音数据发送至语音编码方式为第一语音编码方式的至少一个语音接收端。
79.进一步的,服务器520还包括:存储模块,用于将待转码语音数据存储在内部存储器中;服务器520还包括:语音编码模块,用于从内部存储器中获取待转码语音数据,并基于第二语音编码方式对待转码语音数据进行编码。
80.进一步的,服务器520还包括:用户终端第一确定模块,用于若相同时刻接收到多个用户终端510发送的通话权限申请,且当前没有任一用户终端510作为语音发送端,则获取发送通话权限申请的多个用户终端510的用户优先级;其中,用户优先级为用户终端510发送待转发语音数据的优先级;根据用户优先级从发送通话权限申请的多个用户终端510中确定第一用户终端,并将第一用户终端作为语音发送端,将第一用户终端所属组呼内的除第一用户终端以外的用户终端510作为语音接收端。
81.进一步的,服务器520还包括:用户终端第二确定模块,用于若相同时刻接收到多个用户终端510发送的通话权限申请,且当前存在任一用户终端510作为语音发送端,则获取发送通话权限申请的多个用户终端510的用户优先级;根据作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户优先级,确定第一用户终端,并将第一用户终端作为语音发送端,将第一用户终端所属组呼内的除第一用户终端以外的用户终端510作为语音接收端。
82.进一步的,用户终端第二确定模块还包括:用户终端确定子模块,用于若作为语音发送端的用户终端510,以及发送通话权限申请的多个用户终端510的用户优先级相同,则获取作为语音发送端的用户终端510以及发送通话权限申请的多个用户终端510的用户标识,并根据用户标识确定第一用户终端;
83.服务器520还包括:用户终端获得模块,用于若发送通话权限申请的用户终端510的用户优先级相同,则获取发送通话权限申请的多个用户终端510的用户标识,基于用户标识确定第一用户终端。
84.进一步的,服务器520还包括:数据获取模块,用于获取第一用户终端所属组呼内的每个用户终端510的语音编码方式、媒体ip地址和端口号;服务器520还包括:目标语音数据发送模块,用于基于至少一个语音接收端的媒体ip地址和端口号,将目标语音数据发送至相对应的语音接收端。
85.本发明实施例的技术方案,通过针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据。第一用户终端作为语音发送端,在第一用户终端所属的组呼内的除了第一用户终端的用户终端510作为语音接收端。针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。通过本发明实施例的技术方案,实现了存在与第一语音编码方式不同的第二语音编码方式时,可以仅进行一次编码,即通过第二语音编码方式对待转码语音数据进行编码,得到目标语音数据可以发送至语音编码方式为第二语音编码方式的至少一个语音接收端,这样,当第二语音编码方式的语音接收端存在多个时,也仅进行一次编码,提高了编码的效率,提高了目标语音数据发送的效率,提高用户体验度。
86.值得注意的是,上述系统所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
87.实施例四
88.图6为本发明实施例提供的一种服务器520的结构示意图。图6示出了适于用来实现本发明实施例实施方式的示例性服务器520的框图。图6显示的服务器520仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
89.如图6所示,服务器520以通用计算设备的形式表现。服务器520的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。
90.总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
91.服务器520典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器520访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
92.系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)504和/或高速缓存存储器505。服务器520可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统506可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。存储器502可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
93.具有一组(至少一个)程序模块507的程序/实用工具508,可以存储在例如存储器502中,这样的程序模块507包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块507通常执行本发明所描述的实施例中的功能和/或方法。
94.服务器520也可以与一个或多个外部设备509(例如键盘、指向设备、显示器510等)通信,还可与一个或者多个使得用户能与该服务器520交互的设备通信,和/或与使得该服务器520能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口511进行。并且,服务器520还可以通过网络适配器512与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器512通过总线503与服务器520的其它模块通信。应当明白,尽管图6中未示出,可以结合服务器520使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
95.处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以
及数据处理,例如实现本发明实施例所提供的语音转发方法。
96.实施例五
97.本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种语音转发方法,方法包括:
98.针对多个用户终端510,当接收到第一用户终端发送的待转发语音数据,基于第一用户终端的第一语音编码方式对待转发语音数据进行解码,得到待转码语音数据;其中,第一用户终端为语音发送端,第一用户终端所属组呼内的除第一用户终端以外的用户终端510为语音接收端;针对各个语音接收端的语音编码方式,若存在与第一语音编码方式不同的第二语音编码方式,则基于第二语音编码方式对待转码语音数据进行编码,并将得到的目标语音数据发送至语音编码方式为第二语音编码方式的至少一个语音接收端。
99.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
100.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
101.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
102.可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
103.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1