一种移动游戏的语音聊天模块转让专利

申请号 : CN201810656098.4

文献号 : CN108854062B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘泳徐伟王磊

申请人 : 广州银汉科技有限公司

摘要 :

本发明涉及一种移动游戏的语音聊天模块,其特征在于:判断控制组件(1)、语音聊天组件(2)、文字聊天组件(3)、游戏组件(4)和界面配置组件(5);判断控制组件(1)包括带宽流量检测部(11)和计算控制部(12);语音聊天组件(2)包括声音处理部(22),计算控制部(12)根据其所检测到的语音聊天组件(2)的带宽占比来控制声音处理部(22)对于语音的分段结果。降低了聊天数据传输量,并能够提供可自定义样式的界面支持的移动游戏。

权利要求 :

1.一种移动游戏的语音聊天模块,其特征在于:判断控制组件(1)、语音聊天组件(2)、文字聊天组件(3)、游戏组件(4)和界面配置组件(5);判断控制组件(1)包括带宽流量检测部(11)和计算控制部(12);语音聊天组件(2)包括声音处理部(22);

其中,声音处理部(22)对录制得到的音频数据进行实时的语音激活状态检测,并对声音源文件进行分段处理,具体为在划分语音段之前,首先根据语音激活状态检测的结果,区分彼此掺杂的有语音区段V1,V2,……,Vn和无语音区段W1,W2,……,Wn;当无语音区段W1,W2,……,Wn中的任意一个的语音帧时段超过语音帧时段阈值时,声音处理部(22)会将该无语音区段两侧的语音区段提取出来,编码形成单独的语音包,对于该无语音区段编码形成静音包;当无语音区段W1,W2,……,Wn中的任意一个的语音帧时段没有超过语音帧时段阈值时,声音处理部(22)将其作为衔接两侧有语音区段之间的部分,进而将两侧的有语音区段和该无语音区段整体编码形成一个语音包;

计算控制部(12)根据其所检测到的语音聊天组件(2)的带宽占比来控制声音处理部(22)对于语音的分段结果;具体地,当计算控制部(12)计算出在一定时间内的语音聊天组件(2)产生的流量所占带宽的平均比例后,会将该比例与一个带宽占比阈值进行比较,判断语音聊天组件(2)产生的流量所占带宽的平均比例是否超过该带宽占比阈值;当语音聊天组件(2)产生的流量所占带宽的平均比例超过该带宽占比阈值时,语音帧时段阈值的取值为T1;当语音聊天组件(2)产生的流量所占带宽的平均比例没有超过该带宽占比阈值时,语音帧时段阈值的取值为T2; T1=0.5 0.1T2。

~

2.根据权利要求1中所述的移动游戏的语音聊天模块,其特征在于:语音聊天组件(2)还包括声音录制部(21)、声音服务器(23)、声音解码部(24)和声音播放部(25)。

3.根据权利要求1中所述的移动游戏的语音聊天模块,其特征在于:界面配置组件(5)包括参数设置部(51)、界面切换部(52)和配置保存存储器(53)。

4.根据权利要求1中所述的移动游戏的语音聊天模块,其特征在于:文字聊天组件(3)包括文字录入部(31)、序列化部(32)、服务器(33)、反序列化部(34)、文字显示部(35)。

5.根据权利要求1中所述的移动游戏的语音聊天模块,其特征在于:所述语音聊天组件(2)的带宽占比是测试点前的一段时间内的语音聊天组件(2)的流量占据总带宽容量的百分比平均值。

6.根据权利要求1中所述的移动游戏的语音聊天模块,其特征在于:所述语音聊天组件(2)的带宽占比是语音聊天组件(2)的流量占据总带宽容量的实时的百分比。

7.根据权利要求4中所述的移动游戏的语音聊天模块,其特征在于:序列化部(32)和反序列化部(34)采用Protobuf格式进行序列化。

8.一种根据权利要求1中所述的移动游戏的语音聊天模块的语音聊天组件的工作方法,其特征在于:该方法包括S1 声音录制部(21)接受到声音源,并将该声音源发送至声音处理部(22);

S2 声音处理部(22)对声音源文件进行去噪处理;

S3 声音处理部(22)对录制得到的音频数据进行实时的语音激活状态检测(VAD),并对该声音源文件进行分段处理,根据语音聊天组件(2)的带宽占比来控制声音处理部(22)对于语音的分段结果;

具体地,声音处理部(22)对录制得到的音频数据进行实时的语音激活状态检测,并对该声音源文件进行分区分彼此掺杂的有语音区段V1,V2,……,Vn和无语音区段W1,W2,……,Wn;当无语音区段W1,W2,……,Wn中的任意一个的语音帧时段超过语音帧时段阈值时,声音处理部(22)会将该无语音区段两侧的语音区段提取出来,编码形成单独的语音包,对于该无语音区段编码形成静音包;当无语音区段W1,W2,……,Wn中的任意一个的语音帧时段没有超过语音帧时段阈值时,声音处理部(22)将其作为衔接两侧有语音区段之间的部分,进而将两侧的有语音区段和该无语音区段整体编码形成一个语音包;

当计算控制部(12)计算出在一定时间内的语音聊天组件(2)产生的流量所占带宽的平均比例后,会将该比例与一个带宽占比阈值进行比较,判断语音聊天组件(2)产生的流量所占带宽的平均比例是否超过该带宽占比阈值;当语音聊天组件(2)产生的流量所占带宽的平均比例超过该带宽占比阈值时,语音帧时段阈值的取值为T1;当语音聊天组件(2)产生的流量所占带宽的平均比例没有超过该带宽占比阈值时,语音帧时段阈值的取值为T2; T1=

0.5 0.1T2;

~

S4 通过声音服务器(23)将处理后的语音包发送至相应的地址;

S5 在相应地址的客户端接收到语音包后,通过声音解码部(24)进行解码,如果该数据为静音包,则不做处理;如果该数据为正常的音频数据,则对该音频数据进行解码;

S6 通过声音播放部(25)对已经解码的语音包进行播放。

说明书 :

一种移动游戏的语音聊天模块

技术领域

[0001] 本发明涉及一种网络通信领域,具体地涉及一种移动游戏的语音聊天模块。

背景技术

[0002] 随着移动游戏市场的迅猛发展,越来越多的厂商参与到移动游戏的市场中来,而这也导致移动游戏的同质化问题越来越突出,移动游戏间的竞争越来越激烈,因而,各游戏厂商纷纷寻找新的亮点来吸引游戏玩家。近年来,不断涌现出的各种社交类移动游戏,吸引了大批游戏玩家,为游戏厂商创造了十分可观的经济效益。这种社交类移动游戏的一大特点,是在原有文字聊天的基础上,增加了各种适应移动游戏快节奏特征的语音交流模式,如离线语音、语音翻译、实时语音等,这些语音交流模式极大地促进了游戏玩家的互动,提高了游戏的活跃度,成为社交类移动游戏能够取得成功的一个关键因素。
[0003] 与此同时,各第三方语音交流服务商也纷纷推出了用于移动游戏的语音聊天组件,从而降低了语音聊天在游戏中应用的技术门槛,使游戏厂商能够专注于游戏核心内容的开发。目前移动游戏的语音聊天流程大致如图1,从图1中可以看到,客户端录制语音数据,并进行编码转换,数据压缩,然后把语音数据发送到语音服务器,语音服务器进行派发功能,此外语音服务器也可以对语音进行翻译。当客户端请求或是接收到语音服务器推送过来的语音数据后,对数据进行解压,转为可播放的编码,然后进行播放。
[0004] 但是,现有的语音聊天组件存在着以下几个问题:
[0005] 1)现有的语音聊天组件多使用JSON作为聊天数据传输的格式,这一格式需要在传输的数据中加入占据大量空间的字段名称,从而明显降低了数据传输的利用率,使珍贵的网络流量产生了不必要的消耗。
[0006] 2)移动游戏数据和语音数据共同占用数据传输的带宽,而游戏数据传输的实时性对玩家的游戏体验有很大的影响,如果语音数据占用较大的带宽,会降低正常游戏数据的传输速率,从而影响到玩家的游戏体验。
[0007] 3)为了迎合手机游戏玩家的使用习惯,手机游戏的聊天界面通常大同小异,游戏开发者需要在客户端上对这些相似的内容进行重复的开发。
[0008] 因此,需要提供一种降低聊天数据传输量,降低对游戏数据传输速率的影响,并能够提供可自定义样式的界面支持的移动游戏的语音聊天模块。

发明内容

[0009] 本发明所要解决的技术问题是:提供一种降低聊天数据传输量,降低对游戏数据传输速率的影响,并能够提供可自定义样式的界面支持的移动游戏的语音聊天模块。
[0010] 本发明解决其技术问题所采取的技术方案是:
[0011] 一种移动游戏的语音聊天模块,判断控制组件1、语音聊天组件2、文字聊天组件3、游戏组件4和界面配置组件5;判断控制组件1包括带宽流量检测部11和计算控制部12;语音聊天组件2包括声音处理部22,计算控制部12根据其所检测到的语音聊天组件2的带宽占比来控制声音处理部22对于语音的分段结果。
[0012] 进一步地,语音聊天组件2还包括声音录制部21、声音服务器23、声音解码部24和声音播放部25。
[0013] 进一步地,界面配置组件5包括参数设置部51、界面切换部52和配置保存存储器53。
[0014] 进一步地,文字聊天组件3包括文字录入部31、序列化部32、服务器33、反序列化部34、文字显示部35。
[0015] 进一步地,所述语音聊天组件2的带宽占比是测试点前的一段时间内的语音聊天组件2的流量占据总带宽容量的百分比平均值。
[0016] 进一步地,所述语音聊天组件2的带宽占比是语音聊天组件2的流量占据总带宽容量的实时的百分比。
[0017] 进一步地,序列化部32和反序列化部34采用Protobuf格式进行序列化。
[0018] 进一步地,声音处理部22对录制得到的音频数据进行实时的语音激活状态检测,并对该声音源文件进行分段处理。
[0019] 一种根据所述的移动游戏的语音聊天模块的语音聊天组件的工作方法,该方法包括:
[0020] S1声音录制部21接受到声音源,并将该声音源发送至声音处理部22;
[0021] S2声音处理部22对该声音源文件进行去噪处理;
[0022] S3声音处理部22对录制得到的音频数据进行实时的语音激活状态检测(VAD),并对该声音源文件进行分段处理,根据语音聊天组件4的带宽占比来控制声音处理部22对于语音的分段结果;
[0023] S4通过声音服务器23将处理后的语音包发送至相应的地址;
[0024] S5在相应地址的客户端接收到语音包后,通过声音解码部24进行解码,如果该数据为静音包,则不做处理;如果该数据为正常的音频数据,则对该音频数据进行解码;
[0025] S6通过声音播放部25对已经解码的语音包进行播放。
[0026] 本发明提供的移动游戏的语音聊天模块,降低了聊天数据传输量,降低对游戏数据传输速率的影响,并能够提供可自定义样式的界面支持的移动游戏。

附图说明

[0027] 图1为现有技术中移动游戏的语音聊天流程图;
[0028] 图2为本发明提供的移动游戏的语音聊天模块的结构示意图;
[0029] 图3本发明提供的聊天界面参数配置的示意图;
[0030] 图4为本发明提供的创建聊天界面的流程图;
[0031] 图5为本发明提供的聊天界面的示意图;
[0032] 图6为提供的聊天文字信息发送的流程图。

具体实施方式

[0033] 以下将对本发明的一种移动游戏的语音聊天模块及其流程方法作进一步的详细描述。
[0034] 下面将参照附图对本发明进行更详细的描述,其中表示了本发明的优选实施例,应该理解本领域技术人员可以修改在此描述的本发明而仍然实现本发明的有益效果。因此,下列描述应当被理解为对于本领域技术人员的广泛知道,而并不作为对本发明的限制。
[0035] 为了清楚,不描述实际实施例的全部特征。在下列描述中,不详细描述公知的功能和结构,因为它们会使本发明由于不必要的细节而混乱。应当认为在任何实际实施例的开发中,必须作出大量实施细节以实现开发者的特定目标。
[0036] 为使本发明的目的、特征更明显易懂,下面结合附图对本发明的具体实施方式作进一步的说明。需要说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、清晰地辅助说明本发明实施例的目的。
[0037] 在本发明的实施例中,所述游戏客户端可为运行在移动智能终端上的应用软件,如手机网络游戏等。其中,移动智能终端可以为智能手机、平板电脑等,也可为台式电脑,笔记本电脑等,本发明不做具体限定。
[0038] 在本发明的实施例中,所述聊天组件客户端为可以运行在移动智能终端上的库、服务等应用软件。
[0039] 本发明提供的移动游戏的语音聊天模块结构如图2所示,该语音聊天模块包括:判断控制组件1、语音聊天组件2、文字聊天组件3、游戏组件4和界面配置组件5。游戏组件为本领域熟知的游戏组件结构,此处不再赘述。下面分别对于判断控制组件1、语音聊天组件2、文字聊天组件3、和界面配置组件5进行详细的介绍。
[0040] 其中,判断控制组件1包括带宽流量检测部11和计算控制部12。其中,带宽流量检测部11分别与游戏组件4、语音聊天组件2、文字聊天组件3和界面配置组件5连接,其对于上述组件的流量进行实时的监控。并且带宽流量检测部11通过连接移动设备的网卡能够监测移动设备的带宽情况。
[0041] 计算控制部12与带宽流量检测部11连接,接收并且处理该带宽流量检测部11的数据。该计算控制部12能够监测游戏组件4、语音聊天组件2、文字聊天组件3和界面配置组件5的数据流量占用带宽的比例情况。
[0042] 优选地,计算控制部12能够检测在一定时间内,例如检测时间的前1-5分钟的各组件的数据流量所占带宽的比例情况,并且计算平均值。也可以计算各组件的数据流量所占带宽的实时比例。并且根据上述带宽的占用情况进一步控制语音聊天组件2中的声音处理部22进行相应的操作。具体的操作方式在本申请的后文中会进行详细的说明。
[0043] 语音聊天组件2包括声音录制部21、声音处理部22、声音服务器23、声音解码部24和声音播放部25。声音录制部21用于通过客户端采集用户的声音数据;声音处理部22用于将声音录制部21采集的声音进行优化处理、分段、编码等后期声音和数据处理;声音服务器23用于发送音频数据;声音解码器24用于将接受到的音频编码数据解码处理;声音播放部
25用于将解码后的音频在另一客户端进行播放。
[0044] 具体的,语音聊天组件2的声音处理方法是:
[0045] S1声音录制部21接受到声音源,并将该声音源发送至声音处理部22;
[0046] S2声音处理部22对该声音源文件进行去噪处理,去噪处理可以采用自适应滤波器、维纳滤波法等方法。
[0047] S3.声音处理部22对录制得到的音频数据进行实时的语音激活状态检测(VAD),并对该声音源文件进行分段处理,具体为在划分语音段之前,首先根据语音激活状态检测的结果,区分彼此掺杂的有语音区段V1,V2.......Vn和无语音区段W1,W2.......,Wn。其中,当无语音区段W1,W2.......,Wn的语音帧时段超过语音帧时段阈值时,声音处理部22会将该无语音区段两侧的语音区段提取出来,编码形成单独的语音包,对于该无语音区编码形成静音包;当无语音区段W1,W2......,Wn的语音帧时段没有超过特定预设值时,声音处理部22不会在该无语音区段对声音源进行分段,而将其作为衔接两侧有语音区断之间的部分,进而将两侧的有语音区段和该无语音区段整体编码形成一个语音包。
[0048] 上述语音帧时段阈值可以为一定数量的语音帧,例如10-100语音帧,每个语音帧为20ms。
[0049] 需要特别指出的是,上述语音帧时段阈值受到计算控制部12的控制,声音处理部22用于接收来自计算控制部12的指令对于采集的声音源进行不同的分段处理。
[0050] 具体地,当计算控制部12计算出在一定时间内的语音聊天组件2产生的流量所占带宽的平均比例后,会将该比例与一个带宽占比阈值进行比较,判断语音聊天组2产生的流量所占带宽的平均比例是否超过该带宽占比阈值。当语音聊天组2产生的流量所占带宽的平均比例超过该带宽占比阈值时,语音帧时段阈值的取值为T1;当语音聊天组2产生的流量所占带宽的平均比例没有超过该带宽占比阈值时,语音帧时段阈值的取值为T2;T1<T2。优选地,T1=0.5~0.1T2。
[0051] 所述语音聊天组件的带宽占比是测试点前的一段时间内的语音聊天组件的流量占据总带宽容量的百分比平均值;或者语音聊天组件的流量占据总带宽容量的实时的百分比。优选地,带宽占比阈值可以为50%-30%。
[0052] 也就是说,当语音聊天组件2的带宽占比比较高时,即语音聊天流量可能存在占用过多带宽,影响游戏数据流量的情况下,声音处理部22将较为短暂的无语音区挑选出来形成数据量很小的静音包,而将有语音区段进行更细的划分,形成数量较多的小段语音包,进行先后的发送,这样可以在网络比较拥堵的时形成数据量更小的语音包,并可以将语音数据化整为零地进行发送,缓解了网络的拥堵情况,节约了网络资源;而当语音聊天组件2的带宽占比比较低,即影响游戏其他功能的数据流量可能性较小的情况下,声音处理部22将小段无语音区段融合到两侧的有语音区段中,形成一个整体的语音包进行发送。根据这种方式,对于相同的声音源,在网络资源比较拥堵时,能够将语音分段打包成静音包比例较高的声音包数据流,先后进行发送,降低了需要传送的数据的大小,节约了网络资源。而在网络不拥堵的时候,则不区分小段的无语音区段形成较为整体的数据包,又减少了计算量。
[0053] S4通过声音服务器23将处理后的语音包发送至相应的地址;
[0054] S5在相应地址的客户端接收到语音包后,通过声音解码部24进行解码,如果该数据为静音包,则不做处理;如果该数据为正常的音频数据,则对该音频数据进行解码。
[0055] S6通过声音播放部25对已经解码的语音包进行播放。
[0056] 本发明提供的移动游戏的语音聊天模块,还包括了界面配置组件5,该界面配置组件5包括参数设置部51、界面切换部52和配置保存存储器53。其中,参数设置部51用于设置聊天界面的参数,界面切换部52用于将聊天界面切换为用户设定的风格,配置保存存储器53用于保存设定的参数。
[0057] 请参阅图3,图3是本发明提供的聊天界面参数配置的示意图。
[0058] 游戏开发者可以在聊天组件后台服务端配置聊天界面的参数,可以配置的内容包括:
[0059] 启用界面参数101,用于设置是否启用聊天界面,本发明实施例中将该参数设置为″是″。
[0060] 频道名称参数102,用于设置聊天频道在聊天界面中显示的名称,本发明实施例中将该参数设置为″世界″。
[0061] 文字颜色参数103,用于设置聊天频道中显示的文字颜色,本发明实施例中将该参数设置为″#000000″,即黑色。
[0062] 显示输入框参数104,用于设置游戏玩家切换到该聊天频道时,是否显示聊天输入框,本发明实施例中将该参数设置为″是″。
[0063] 游戏开发者可以在修改聊天界面参数后,点击修改按钮105,保存游戏的聊天界面参数配置。
[0064] 请参阅图4,图4是本发明提供的创建聊天界面的流程图。
[0065] S201,聊天组件客户端在向聊天组件服务端发送初始化请求后,从返回的初始化结果中提取聊天界面参数。
[0066] S202,聊天组件客户端根据聊天界面参数,根据启用界面参数101,判断是否启用聊天界面。
[0067] S203,如果启用聊天界面,则按照聊天界面参数,创建聊天界面。
[0068] S204,如果不启用聊天界面,则停止创建聊天界面。
[0069] 请参阅图5,图5是本发明提供的聊天界面的示意图。
[0070] 当启用聊天界面时,聊天组件客户端按照聊天界面参数修改聊天界面的风格,修改的内容包括:
[0071] 世界频道的名称301,按照聊天界面参数中频道名称102的配置,将世界频道的显示名称设置为″世界″。
[0072] 世界频道的文字颜色302,按照聊天界面参数中文字颜色103的配置,将世界频道的文字显示颜色设置为黑色。
[0073] 聊天输入框的显示与否303,按照聊天界面参数中显示输入框104的配置,游戏玩家切换到世界频道时,显示聊天输入框。
[0074] 本发明提供的移动游戏的语音聊天模块,还包括了文字聊天组件3,该文字聊天组件3包括文字录入部31、序列化部32、服务器33、反序列化部34、文字显示部35。
[0075] 请参阅图6,图6是本发明提供的聊天文字信息发送的流程图。
[0076] 本发明的第一聊天组件客户端和第二聊天组件客户端,均为聊天组件客户端的一个实例。
[0077] S401,第一聊天组件客户端的游戏玩家输入聊天文字信息,并点击发送按钮。
[0078] S402,第一聊天组件客户端将聊天文字信息组装为发送文字聊天的原始请求数据。
[0079] S403,第一聊天组件客户端使用Protobuf,将发送文字聊天的原始请求数据序列化为文字聊天的实际请求数据。
[0080] S404,第一聊天组件客户端将发送文字聊天的实际请求数据发送到聊天组件服务端。
[0081] S405,聊天组件服务端使用Protobuf,对发送文字聊天的实际请求数据进行反序列化,得到发送文字聊天的原始请求数据。
[0082] S406,聊天组件服务端处理发送文字聊天的原始请求,查找该聊天频道中已连接的第二聊天组件客户端。
[0083] S407,聊天组件服务端使用Protobuf,对聊天文字和频道信息进行序列化,得到分发聊天文字的实际请求数据。
[0084] S408,聊天组件服务端将分发聊天文字的实际请求数据发送到第二聊天组件客户端。
[0085] S409,第二聊天组件客户端使用Protobuf,对分发聊天文字的实际请求数据进行反序列化,得到分发聊天文字的原始请求数据。
[0086] S410,第二聊天组件客户端将聊天的文字信息显示在聊天频道的界面中。
[0087] 本发明对文字聊天数据的传输格式进行了优化,采用Protobuf格式对聊天数据和其他聊天指令进行序列化,避免了在传输的数据中加入字段名称等重复数据,从而有效降低了数据传输量。
[0088] 本发明提供的移动游戏的语音聊天模块,降低了聊天数据传输量,并能够提供可自定义样式的界面支持的移动游戏。
[0089] 以上显示和描述了本发明的基本原理、主要特征和优点,因此以上所述仅为本发明的实施例。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下,本发明还包括各种等效变化和改进,这些变化和改进都将落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其效物界定。