一种语音数据传输方法及装置与流程

文档序号:16629960发布日期:2019-01-16 06:28阅读:224来源:国知局
一种语音数据传输方法及装置与流程

本发明涉及数据通信技术领域,具体而言,涉及一种语音数据传输方法及装置。



背景技术:

现如今,随着移动互联网越来越普及,实时语音通讯应用越来越流行,但因网络状况及相关因素的影响,实时语音通讯的丢包问题在所难免。为修复在实时语音通信中由于丢包导致的通信质量不佳的问题,现有的语音数据传输方法通常在发生音频数据丢包时,插入一个填充包(如静音包、噪声包或重复前面的包)来修复丢包;或者采用固定的交织编码技术或者固定的前项差错纠正技术对语音数据进行编码以减少丢包率。然而在实践中发现,现有方法容易引起信号传输带宽增加,传输效率低,传输性能差。



技术实现要素:

鉴于上述问题,本发明提供了一种语音数据传输方法及装置,能够在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

为了实现上述目的,本发明采用如下的技术方案:

本发明第一方面公开了一种语音数据传输方法,包括:

构建用于预测网络丢包率的神经网络预测模型;

接收包括待传输语音数据的传输请求信息;

获取预先存储的历史丢包数据,并根据所述历史丢包数据通过所述神经网络预测模型预测当前网络的当前丢包率;

从预存的编码方案库中选择与所述当前丢包率相匹配的编码方案,并根据所述编码方案对所述待传输语音数据进行编码处理得到编码数据;

将所述编码数据和所述编码方案的标识发送至接收设备,以使所述接收设备根据所述编码方案的标识选择对应的解码方案对所述编码数据进行解码处理得到解码数据,进而完成语音数据的传输。

作为一种可选的实施方式,在本发明第一方面中,所述神经网络预测模型为多层前馈神经网络,所述构建用于预测网络丢包率的神经网络预测模型包括:

通过误差反向传播算法建立初始神经网络模型;

通过选定的无丢包网络和有丢包网络对所述初始神经网络模型进行误差反传训练,得到用于预测网络丢包率的神经网络预测模型。

作为一种可选的实施方式,在本发明第一方面中,所述预先存储的历史丢包数据包括所述误差反传训练得到的历史预测数据以及在所述获取预先存储的历史丢包数据之前所有通过所述神经网络预测模型得到的网络丢包率。

作为一种可选的实施方式,在本发明第一方面中,在所述接收包括待传输语音数据的传输请求信息之前,所述方法还包括:

在发送设备与接收设备建立通信连接之后,向所述接收设备发送编解码对应方案,所述编解码对应方案包括多个编码方案的标识和与每个所述编码方案的标识对应的解码方案。

作为一种可选的实施方式,在本发明第一方面中,所述从预存的编码方案库中选择与所述当前丢包率相匹配的编码方案包括:

判断所述当前丢包率是否大于预设的第一丢包阈值;

如果判断出所述当前丢包率大于所述第一丢包阈值,则从预存的编码方案库中选择冗余深度为预设的第一深度值的前项纠错编码方案为编码方案;

如果判断出所述当前丢包率不大于所述第一丢包阈值,则判断所述当前丢包率是否大于预设的第二丢包阈值,其中,所述第一丢包阈值大于所述第二丢包阈值;

如果判断出所述当前丢包率大于所述第二丢包阈值,则从所述预存的编码方案库中选择冗余深度为预设的第二深度值的前项纠错编码方案为编码方案;

如果判断出所述当前丢包率不大于所述第二丢包阈值,则从所述预存的编码方案库中选择冗余深度为预设的第三深度值的前项纠错编码方案为编码方案。

本发明第二方面公开一种语音数据传输装置,包括:

构建模块,用于构建用于预测网络丢包率的神经网络预测模型;

接收模块,用于接收包括待传输语音数据的传输请求信息;

预测模块,用于获取预先存储的历史丢包数据,并根据所述历史丢包数据通过所述神经网络预测模型预测当前网络的当前丢包率;

方案选择模块,用于从预存的编码方案库中选择与所述当前丢包率相匹配的编码方案;

编码模块,用于根据所述编码方案对所述待传输语音数据进行编码处理得到编码数据;

发送模块,用于将所述编码数据和所述编码方案的标识发送至接收设备,以使所述接收设备根据所述编码方案的标识选择对应的解码方案对所述编码数据进行解码处理得到解码数据,进而完成语音数据的传输。

作为一种可选的实施方式,在本发明第二方面中,所述神经网络预测模型为多层前馈神经网络,所述构建模块包括:

第一子模块,用于通过误差反向传播算法建立初始神经网络模型;

第二子模块,用于通过选定的无丢包网络和有丢包网络对所述初始神经网络模型进行误差反传训练,得到用于预测网络丢包率的神经网络预测模型。

作为一种可选的实施方式,在本发明第二方面中,所述方案选择模块包括:

第三子模块,用于判断所述当前丢包率是否大于预设的第一丢包阈值;

第四子模块,用于在所述第三子模块判断出所述当前丢包率大于所述预设的第一丢包阈值时,从预存的编码方案库中选择冗余深度为预设的第一深度值的前项纠错编码方案为编码方案;以及在所述第三子模块判断出所述当前丢包率不大于所述预设的第一丢包阈值时,判断所述当前丢包率是否大于预设的第二丢包阈值,其中,所述预设的第一丢包阈值大于所述预设的第二丢包阈值;

第五子模块,用于在所述第四子模块在判断出所述当前丢包率大于所述预设的第二丢包阈值时,从所述预存的编码方案库中选择冗余深度为预设的第二深度值的前项纠错编码方案为编码方案;以及在所述第四子模块在判断出所述当前丢包率不大于所述预设的第二丢包阈值,则从所述预存的编码方案库中选择冗余深度为预设的第三深度值的前项纠错编码方案为编码方案。

本发明第三方面公开一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行第一方面公开的部分或者全部所述的语音数据传输方法。

本发明第四方面公开一种计算机可读存储介质,其存储有第三方面所述的计算机设备中所使用的所述计算机程序。

根据本发明提供的语音数据传输方法及装置,先构建用于预测网络丢包率的神经网络预测模型;在接收到包括待传输语音数据的传输请求信息时,先获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率;然后从预存的编码方案库中选择与当前丢包率相匹配的编码方案,进一步地,根据编码方案对待传输语音数据进行编码处理得到编码数据;最后将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明范围的限定。

图1是本发明实施例一提供的一种语音数据传输方法的流程示意图;

图2是本发明实施例二提供的一种语音数据传输方法的流程示意图;

图3是本发明实施例三提供的一种语音数据传输装置的结构示意图;

图4是本发明实施例四提供的一种语音数据传输装置的结构示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有技术中的问题,本发明提供了一种语音数据传输方法及装置;先构建用于预测网络丢包率的神经网络预测模型;在接收到包括待传输语音数据的传输请求信息时,先获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率;然后从预存的编码方案库中选择与当前丢包率相匹配的编码方案,进一步地,根据编码方案对待传输语音数据进行编码处理得到编码数据;最后将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。并且,该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。

实施例1

请参阅图1,图1是本发明实施例提供的一种语音数据传输方法的流程示意图。其中,如图1所示,该语音数据传输方法可以包括以下步骤:

s101、构建用于预测网络丢包率的神经网络预测模型。

本实施例中,该神经网络预测模型为通过误差逆向传播算法训练的多层前馈神经网络。该多层前馈神经网络可以通过已知的训练样本对其权值和阈值进行训练修正。

本实施例中,对构建的初始神经网络模型的训练分为两个阶段。第一阶段为离线训练,在无丢包网络下对初始神经网络模型进行预测训练,得到第一阶段预测数据,然后再使用该第一阶段预测数据对该初始神经网络模型进行训练,训练好的初始神经模型可以作为初始预测模型;第二阶段为在线训练,在有丢包风险的网络下对初始预测模型进行预测训练,得到第二阶段预测数据,然后再使用该第二阶段预测数据对该初始预测模型进行训练,训练好的初始预测模型为上述神经网络预测模型。

作为一种可选的实施方式,在构建初始神经网络模型之后,可以通过微粒群算法对神经网络预测模型进行优化。通过微粒群算法在全局范围内获取初始神经网络模型的初始权值和初始阈值,然后通过误差逆向传播算法训练进行局部搜索。具体地,先随机配置初始神经网络模型的权值和阈值,然后将微粒群算法的粒子维数代替初始神经网络模型中所有神经元的权值和阈值后,再通过粒子群算法为初始神经网络模型找到合适的初始权值和初始阈值,最后,将初始权值和初始阈值设置为初始神经网络模型的权值和阈值,得到优化后的初始神经网络模型。

作为进一步可选的实施方式,在得到优化后的初始神经网络模型之后,还可以计算优化后的初始神经网络模型输出的均方误差,并判断该均方误差是否符合预设要求,如果不符合,将该均方误差作为粒子群的适应度函数,再通过粒子群算法为初始神经网络模型找到另一个合适的初始权值和初始阈值,进而得到另一个优化的初始神经模型,如此反复迭代,直至网络输出的均方误差符合预设要求,最终得到最优化的初始权值和初始阈值,进而得到最优化的初始神经网络模型。

s102、接收包括待传输语音数据的传输请求信息。

本实施例所提供的语音数据传输方法的执行主体可以为发送带传输语音输出的通信设备,也可以为具有信号处理的通信设备,对此本实施例不作限定。

s103、获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率。

本实施例中,预先存储的历史丢包数据包括但不限于构建上述神经网络预测模型时得到的历史预测数据以及在获取预先存储的历史丢包数据之前所有通过神经网络预测模型所得到的网络丢包率,对此本实施例不作限定。

本实施例中,在根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率之后,将该当前丢包率添加至历史丢包数据中并存储。

本实施例中,当前丢包率可以为8%、12%、24%等,对此本实施例不作限定。

s104、从预存的编码方案库中选择与当前丢包率相匹配的编码方案,并根据编码方案对待传输语音数据进行编码处理得到编码数据。

作为一种可选的实施方式,该编码方案包括多个编码参数和与每个编码参数对应的编码技术。其中,该编码技术可以为差错纠正技术、交织抗包技术等,对此本实施例不作限定。

作为一种可选的实施方式,当编码技术为前向差错纠正技术时,其对应的编码参数为冗余深度值,当预测到的当前丢包率低较低时,可以选择较低的冗余深度值,当预测到的当前丢包率低较高时,可以选择较高的冗余深度值,能够依据当前通信网络状况,选择出适合的冗余两,有效提升带宽利用率,提升通信编码的适应性,进而提升语音数据传输性能。

s105、将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输。

本实施例中,接收设备为具有通信功能的电子设备,其具体可以为智能手机(如android手机、ios手机等)、平板电脑、掌上电脑、智能手表以及移动互联网设备(mobileinternetdevices,mid)、pc等设备,本发明实施例不作限定。

在图1所描述的语音数据传输方法中,先构建用于预测网络丢包率的神经网络预测模型;在接收到包括待传输语音数据的传输请求信息时,先获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率;然后从预存的编码方案库中选择与当前丢包率相匹配的编码方案,进一步地,根据编码方案对待传输语音数据进行编码处理得到编码数据;最后将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输。可见实施图1所描述的语音数据传输方法,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

实施例2

请参阅图2,图2是本发明实施例提供的一种语音数据传输方法的流程示意图。其中,如图2所示,该语音数据传输方法可以包括以下步骤:

s201、构建用于预测网络丢包率的神经网络预测模型。

作为一种可选的实施方式,神经网络预测模型为多层前馈神经网络。

作为进一步可选的实施方式,构建用于预测网络丢包率的神经网络预测模型可以包括以下步骤:

通过误差反向传播算法建立初始神经网络模型;

通过选定的无丢包网络和有丢包网络对初始神经网络模型进行误差反传训练,得到用于预测网络丢包率的神经网络预测模型。

s202、接收包括待传输语音数据的传输请求信息。

作为一种可选的实施方式,在接收包括待传输语音数据的传输请求信息之前,方法还包括:

在发送设备与接收设备建立通信连接之后,向接收设备发送编解码对应方案,编解码对应方案包括多个编码方案的标识和与每个编码方案的标识对应的编码方案的标识。

本实施例中,接收设备在接收到编码语音数据和编码方案的标识之后,可以从编解码对应方案中选择与编码方案的标识对应的解码方案,然后根据解码方案对该编码语音数据进行解码处理得到解码语音数据,以完成语音数据的通信。

s203、获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率。

本实施例中,预先存储的历史丢包数据包括误差反传训练得到的历史预测数据以及在获取预先存储的历史丢包数据之前所有通过神经网络预测模型得到的网络丢包率。

s204、判断当前丢包率是否大于预设的第一丢包阈值,如果大于,执行步骤s205和步骤s209~步骤s210;如果不大于,执行步骤s206。

s205、从预存的编码方案库中选择冗余深度为预设的第一深度值的前项纠错编码方案为对待传输语音数据进行编码处理的编码方案,并执行步骤s209~步骤s210。

s206、判断当前丢包率是否大于预设的第二丢包阈值,如果大于,执行步骤s207和s209~步骤s210,如果不大于,执行步骤s208~步骤s210。

本实施例中,预设的第一丢包阈值大于预设的第二丢包阈值。其中,预设的第一丢包阈值可以为20%,预设的第二丢包阈值可以为10%等,对此本实施例不作限定。

s207、从预存的编码方案库中选择冗余深度为预设的第二深度值的前项纠错编码方案为编码方案,并执行步骤s209~步骤s210。

s208、从预存的编码方案库中选择冗余深度为预设的第三深度值的前项纠错编码方案为编码方案,并执行步骤s209~步骤s210。

本实施例中,预设的第一深度值可以为2,预设的第二深度值可以为1,预设的第三深度值可以为0等,对此本实施例不作限定。

本实施例中,实施上述步骤s204~步骤s208,能够从预存的编码方案库中选择与当前丢包率相匹配的编码方案。

s209、根据编码方案对待传输语音数据进行编码处理得到编码数据。

s210、将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输。

可见实施图2所描述的语音数据传输方法,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

实施例3

请参阅图3,图3是本发明实施例提供的一种语音数据传输装置的结构示意图。其中,如图3所示,该语音数据传输装置包括:

构建模块301,用于构建用于预测网络丢包率的神经网络预测模型。

接收模块302,用于接收包括待传输语音数据的传输请求信息。

预测模块303,用于获取预先存储的历史丢包数据,并根据历史丢包数据通过神经网络预测模型预测当前网络的当前丢包率。

方案选择模块304,用于从预存的编码方案库中选择与当前丢包率相匹配的编码方案。

编码模块305,用于根据编码方案对待传输语音数据进行编码处理得到编码数据。

发送模块306,用于将编码数据和编码方案的标识发送至接收设备,以使接收设备根据编码方案的标识选择对应的解码方案对编码数据进行解码处理得到解码数据,进而完成语音数据的传输。

可见实施图3所描述的语音数据传输装置,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

实施例4

请参阅图4,图4是本发明实施例四提供的语音数据传输装置的结构示意图。其中,图4所示的语音数据传输装置是由图3所示的语音数据传输装置进行优化得到的。如图4所示,该构建模块301包括:

第一子模块3011,用于通过误差反向传播算法建立初始神经网络模型。

本实施例中,该神经网络预测模型为多层前馈神经网络。

第二子模块3012,用于通过选定的无丢包网络和有丢包网络对初始神经网络模型进行误差反传训练,得到用于预测网络丢包率的神经网络预测模型。

作为一种可选的实施方式,方案选择模块304包括:

第三子模块3041,用于判断当前丢包率是否大于预设的第一丢包阈值。

第四子模块3042,用于在第三子模块3041判断出当前丢包率大于预设的第一丢包阈值时,从预存的编码方案库中选择冗余深度为预设的第一深度值的前项纠错编码方案为编码方案;以及在第三子模块3041判断出当前丢包率不大于预设的第一丢包阈值时,判断当前丢包率是否大于预设的第二丢包阈值,其中,预设的第一丢包阈值大于预设的第二丢包阈值。

第五子模块3043,用于在第四子模块3042在判断出当前丢包率不大于预设的第二丢包阈值时,从预存的编码方案库中选择冗余深度为预设的第二深度值的前项纠错编码方案为编码方案;以及在第四子模块3042在判断出当前丢包率不大于预设的第二丢包阈值,则从预存的编码方案库中选择冗余深度为预设的第三深度值的前项纠错编码方案为编码方案。

可见实施图4所描述的语音数据传输装置,通过神经网络预测模型能够对当前网络的当前丢包率进行精确的预测,同时,根据当前网络的当前丢包率调整编码方案,能够减少不必要的冗余信息,在确保通信质量的前提下有效节省传输带宽,提升语音数据传输效率,进而提升语音数据传输性能。

此外,本发明还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器可用于存储计算机程序,处理器通过运行计算机程序,从而使该计算机设备执行上述方法或者上述语音数据传输装置中的各个模块的功能。

存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本实施例还提供了一种计算机存储介质,用于储存上述计算机设备中使用的计算机程序。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1