一种视频通话控制方法、装置、终端设备及存储介质与流程

文档序号:21201965发布日期:2020-06-23 19:25阅读:225来源:国知局
一种视频通话控制方法、装置、终端设备及存储介质与流程

本发明涉及通信技术领域,尤其涉及一种视频通话控制方法、装置、终端设备及存储介质。



背景技术:

随着国家经济的飞速发展,人们生活水平的不断提高,终端设备逐渐走进了千家万户,成为人们生活中必不可少的一类电子设备,并且随着网络带宽的不断提升,通过终端设备进行视频通话已经成为人们沟通交流的主要通信方式,给人们的生产和生活带来了巨大的便利。

虽然,现有运营商提供的4g网络的带宽能够满足视频通话的带宽需求,但是流量成本较高,因此通过免费的无线保真(wireless-fidelity,wi-fi)热点等网络实现视频通话成为了人们使用视频通话的主要方式。但是wi-fi热点等网络的网络状况很不稳定,带宽变化较大,在带宽不足时会出现丢包等问题,导致视频通话的流畅性大大降低,会出现卡顿等现象,影响了用户体验。因此,如何在视频通话中避免卡顿,保证视频通话的流畅性成为一个亟待解决的问题。



技术实现要素:

本发明提供一种视频通话控制方法、装置、终端设备及存储介质,用以解决现有视频通话存在卡顿、不流畅的问题。

第一方面,本发明公开了一种视频通话控制方法,所述方法包括:

获取视频通话的接收端当前接收视频通话的数据包的网络参数,其中所述网络参数包括延时、丢包率和网络抖动中的至少一种;

根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值;

根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

在一个可选的设计中,预先对带宽检测模型训练的过程包括:

针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;

将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

在一个可选的设计中,所述根据所述当前带宽值,调整所述视频通话的视频编码带宽值之前,所述方法还包括:

判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;

如果是,使用所述初始带宽值进行所述视频通话的视频编码;

如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

在一个可选的设计中,所述根据所述当前带宽值,调整所述视频通话的视频编码带宽值包括:

判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;

如果是,使用所述当前带宽值进行所述视频通话的视频编码;

如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

第二方面,本发明公开了一种视频通话控制装置,所述装置包括:

获取模块,用于获取视频通话的接收端当前接收视频通话的数据包的网络参数,其中所述网络参数包括延时、丢包率和网络抖动中的至少一种;

确定模块,用于根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值;

控制模块,用于根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

在一个可选的设计中,所述装置还包括:

训练模块,用于针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

在一个可选的设计中,所述控制模块,还用于判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;如果是,使用所述初始带宽值进行所述视频通话的视频编码;如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

在一个可选的设计中,所述控制模块,具体用于判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;如果是,使用所述当前带宽值进行所述视频通话的视频编码;如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

第三方面,本发明公开了一种终端设备,包括:存储器、处理器和收发机;

所述处理器,用于读取存储器中的程序,执行下列过程:通过收发机获取视频通话的接收端当前接收视频通话的数据包的网络参数,其中所述网络参数包括延时、丢包率和网络抖动中的至少一种;根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值;根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

在一个可选的设计中,所述处理器,还用于针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

在一个可选的设计中,所述处理器,还用于判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;如果是,使用所述初始带宽值进行所述视频通话的视频编码;如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

在一个可选的设计中,所述处理器,具体用于判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;如果是,使用所述当前带宽值进行所述视频通话的视频编码;如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

第四方面,本发明公开了一种终端设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面或第一方面的任一种可选的设计中所述的方法。

第五方面,本发明公开了一种计算机可读存储介质,其存储有可由终端设备执行的计算机程序,当所述程序在所述终端设备上运行时,使得所述终端设备执行上述第一方面或第一方面的任一种可选的设计中所述的方法。

本发明有益效果如下:

由于在本发明实施例中,根据视频通话的接收端当前接收视频通话的数据包的网络参数及预先训练完成的带宽检测模型,确定进行视频通话的网络的当前带宽值;并根据当前带宽值,调整视频通话的视频编码带宽值,使得视频编码带宽值适应网络的当前带宽值,避免了视频通话出现卡顿,保证了视频通话的流畅性,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种视频通话控制方法示意图;

图2为本发明实施例提供的一种带宽检测模型训练示意图;

图3为本发明实施例提供的一种视频通话控制过程示意图;

图4为本发明实施例提供的一种视频通话控制装置结构示意图;

图5为本发明实施例提供的一种终端设备结构示意图之一;

图6为本发明实施例提供的一种终端设备结构示意图之二。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

图1为本发明实施例提供的一种视频通话控制方法示意图,该方法包括:

s101:获取视频通话的接收端当前接收视频通话的数据包的网络参数。

本发明实施例提供的通话控制方法应用于终端设备,该终端设备可以是手机、平板电脑、笔记本电脑、掌上电脑、个人电脑(pc)等设备。具体的,该终端设备在视频通话过程中作为视频通话的发送端,向接收端发送视频通话的数据包,并根据视频通话的接收端当前接收视频通话数据包的延时、丢包率和网络抖动等网络参数,进行视频通话的控制,其中视频通话的接收端也可以同样为手机、平板电脑、笔记本电脑等设备。

具体的,在视频通话过程中,终端设备按照视频编码带宽值对视频通话的视频进行编码,其中视频通话开始,视频编码带宽值为设置的初始带宽值,如500kb/s,将编码得到的视频码流进行数据包的封装,并将封装后的数据包发送给视频通话的接收端,接收端根据接收到的数据包统计当前接收数据包的延时、丢包率和网络抖动等网络参数,并将统计的网络参数发送给终端设备。

在本发明实施例中,编码带宽值即对视频通话的视频编码的码率,如编码带宽值为500kb/s,则终端设备对视频通话的视频编码的码率为500kb/s。示例性的:终端设备中设定的视频通话的视频的分辨率为480p、帧率为25fps、初始带宽值为500kb/s,视频通话开始,终端设备按照分辨率为480p、帧率为25fps、编码带宽值(码率)为500kb/s对视频通话的视频进行h264编码,并将经过h264编码得到的视频码流使用实时传输协议(real-timetransportprotocol,rtp)进行封装,将封装后的rtp数据包发送给接收端,接收端根据接收到的rtp数据包统计当前接收rtp数据包的延时、丢包率和网络抖动等网络参数,并通过rtp控制协议(rtpcontrolprotocol,rtcp)数据包反馈给终端设备。

s102:根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值。

在本发明实施例中预先对带宽检测模型进行训练,并且在对带宽检测模型进行训练时,也是根据训练集中每组网络参数,对带宽检测模型训练完成的。训练完成的带宽检测模型,可以根据输入的网络参数,确定网络参数对应的带宽值,具体的,终端设备可以将接收端当前接收视频通话的数据包的网络参数输入到训练完成的带宽检测模型中,根据带宽检测模型输出的带宽值,确定进行视频通话的网络的当前带宽值。

s103:根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

具体的,终端设备根据确定的进行视频通话的网络的带宽值,调整视频通话的视频编码带宽值,对视频通话的视频进行编码。例如:当前带宽值为450kb/s,终端设备使用450kb/s的编码带宽值进行视频通话的视频编码。

在当前带宽值较大时,使用较大的编码带宽值也不能显著提升视频通话的质量,为了避免使用较大的编码带宽值进行视频编码造成对视频通话的发送端和接收端的处理资源等的浪费,所述根据所述当前带宽值,调整所述视频通话的视频编码带宽值之前,所述方法还包括:

判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;

如果是,使用所述初始带宽值进行所述视频通话的视频编码;

如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

在终端设备中还设置有进行视频通话的初始带宽值,也可以称为默认带宽值,例如500kb/s,使用初始带宽值作为编码带宽值时,能保证视频通话的质量,并避免过多的消耗视频通话的发送端和接收端的资源。

因此,在本发明实施例中,在根据当前带宽值,调整视频通话的视频编码带宽值之前,终端设备首先判断当前带宽值是否不小于设置的视频通话的初始带宽值,如果否,则说明当前带宽值支持使用初始带宽值进行视频通话的视频编码,为了避免资源浪费,终端设备使用初始带宽值进行视频通话的视频编码。

由于在本发明实施例中,根据视频通话的接收端当前接收视频通话的数据包的网络参数及预先训练完成的带宽检测模型,确定进行视频通话的网络的当前带宽值;并根据当前带宽值,调整视频通话的视频编码带宽值,使得视频编码带宽值适应网络的当前带宽值,避免了视频通话出现卡顿,保证了视频通话的流畅性,提高了用户体验。

实施例2:

为了保证视频通话的流畅性,在上述实施例的基础上,在本发明实施例中,预先对所述带宽检测模型训练的过程包括:

针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;

将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

在训练集中包含大量已知带宽值的网络参数样本,较佳的,可以通过网络损伤仪模拟不同带宽值,并统计在该带宽值下视频通话的数据包的延时、丢包率和网络抖动等网络参数,以充实训练集。终端设备根据训练集中每组网络参数对应的带宽值,为网络参数添加带宽值标签,将添加带宽值标签后的网络参数输入到带宽检测模型中,对带宽检测模型进行训练。带宽检测模型训练完成后,当网络参数输入到带宽检测模型后,带宽检测模型能检测出网络参数对应的带宽值并输出。较佳的,在本发明实施例中,带宽检测模型为深度学习模型,如tensorflow模型、卷积神经网络模型等。

实施例3:

为了保证视频通话的流畅性,在上述各实施例的基础上,在本发明实施例中,所述根据所述当前带宽值,调整所述视频通话的视频编码带宽值包括:

判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;

如果是,使用所述当前带宽值进行所述视频通话的视频编码;

如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

因使用设置的视频通话的初始带宽值作为编码带宽值时,能保证视频通话的质量,并避免过多的消耗视频通话的发送端和接收端的资源,在本发明实施例中,终端设备可以根据网络的当前带宽值与初始带宽值的比值调整视频编码带宽值,以保证视频通话的流畅性。

具体的,终端设备判断当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中设定阈值不小于0且不大于1,较佳的为0.5。如果当前带宽值与初始带宽值的比值大于设定阈值,为了保证视频通话的流畅性,终端设备使用当前带宽值进行视频通话的视频编码;如果当前带宽值与初始带宽值的比值小于等于设定阈值,则说明当前带宽值过小,为了保证视频通话的流畅性,及接收端观看视频的效果,终端设备使用初始带宽值的一半进行视频通话的视频编码,并将视频通话的视频帧率调整为设定帧率的一半。其中所述设定帧率为终端设备设定的视频通话的帧率,也可以是终端设备默认进行视频通话的帧率,如30fps。

参照图2和图3所述,终端设备根据训练集中包含的大量的已知带宽值的网络参数,对带宽检测模型进行学习训练,得到训练完成的带宽检测模型后,终端设备(发送端)对接收端发送的rtcp数据包进行解析,获得接收端当前接收视频通话的数据包的网络参数,将网络参数输入到训练完成的带宽检测模型,确定进行视频通话的网络的当前带宽值,识别当前带宽值与初始带宽值的比值,如果比值大于等于1,使用初始带宽值进行视频编码;如果比值大于0.5且小于1,使用当前带宽值进行视频编码;如果比值小于等于0.5,使用初始带宽值的一半进行视频编码,并将帧率调整为设定帧率的一半,终端设备将h264编码后的视频码流进行rtp封装发送给接收端,接收端根据接收到的rtp数据包统计当前接收rtp数据包的延时、丢包率和网络抖动等网络参数,并通过rtcp数据包反馈给终端设备,用于视频通话控制。

实施例4:

图4为本发明实施例提供的一种视频通话控制装置结构示意图,该装置包括:

获取模块41,用于获取视频通话的接收端当前接收视频通话的数据包的网络参数,其中所述网络参数包括延时、丢包率和网络抖动中的至少一种;

确定模块42,用于根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值;

控制模块43,用于根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

所述装置还包括:

训练模块44,用于针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

所述控制模块43,还用于判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;如果是,使用所述初始带宽值进行所述视频通话的视频编码;如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

所述控制模块43,具体用于判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;如果是,使用所述当前带宽值进行所述视频通话的视频编码;如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

实施例5:

基于同一发明构思,本发明实施例中还提供了一种终端设备,由于上述终端设备解决问题的原理与数据分享方法相似,因此上述终端设备的实施可以参见方法的实施,重复之处不再赘述。

如图5所示,其为本发明实施例提供的终端设备的结构示意图,其中在图5中,总线架构可以包括任意数量的互联的总线和桥,具体有处理器51代表的一个或多个处理器51和存储器53代表的存储器53的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机52可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器51负责管理总线架构和通常的处理,存储器53可以存储处理器51在执行操作时所使用的数据。

在本发明实施例提供的终端设备中:

所述处理器51,用于读取存储器53中的程序,执行下列过程:通过收发机52获取视频通话的接收端当前接收视频通话的数据包的网络参数,其中所述网络参数包括延时、丢包率和网络抖动中的至少一种;根据所述网络参数及预先训练完成的带宽检测模型,确定进行所述视频通话的网络的当前带宽值;根据所述当前带宽值,调整所述视频通话的视频编码带宽值。

优选地,所述处理器51,还用于针对训练集中每组网络参数样本,根据该网络参数样本对应的带宽值,为该网络参数样本添加带宽值标签;将添加带宽值标签后的每组网络参数样本输入到带宽检测模型中,对带宽检测模型进行训练。

优选地,所述处理器51,还用于判断所述当前带宽值是否不小于设置的视频通话的初始带宽值;如果是,使用所述初始带宽值进行所述视频通话的视频编码;如果否,进行根据所述当前带宽值,调整所述视频通话的视频编码带宽值的步骤。

优选地,所述处理器51,具体用于判断所述当前带宽值与设置的视频通话的初始带宽值的比值是否大于设定阈值,其中所述设定阈值不小于0且不大于1;如果是,使用所述当前带宽值进行所述视频通话的视频编码;如果否,使用所述初始带宽值的一半进行所述视频通话的视频编码,并将所述视频通话的视频帧率调整为设定帧率的一半。

实施例6:

在上述各实施例的基础上,本发明实施例还提供了一种终端设备,如图6所示,包括:处理器61、通信接口62、存储器63和通信总线64,其中,处理器61、通信接口62、存储器63通过通信总线64完成相互间的通信;

所述存储器63中存储有计算机程序,当所述程序被所述处理器61执行时,使得所述处理器61执行上述实施例描述的视频通话控制方法。

在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由终端设备执行的计算机程序,当所述程序在所述终端设备上运行时,使得所述终端设备执行上述实施例描述的视频通话控制方法。

对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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