VoIP通信方法及装置转让专利

申请号 : CN201610587183.0

文献号 : CN106231353B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙恒区颖怡李志刚

申请人 : 北京小米移动软件有限公司

摘要 :

本公开是关于一种VoIP通信方法及装置。所述VoIP通信方法包括:在终端进行VoIP通信过程中,获取终端所处网络的网络带宽状况;根据所述网络带宽状况,确定编码参数;将所述编码参数发送给终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送。本公开解决了VoIP服务质量差的技术问题,达到了依据网络带宽状况,调整分辨率、帧率以及码率等编码参数,避免网络拥塞,保证服务质量的效果。

权利要求 :

1.一种VoIP通信方法,应用于服务端,其特征在于,包括:在终端进行VoIP通信的过程中,获取所述终端所处网络的网络带宽状况;

根据所述网络带宽状况,确定编码参数;

将所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;

所述获取网络带宽状况的步骤包括:

根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;

所述网络性能参数包括:丢包率和时延;所述根据接收到的音视频数据和网络性能参数确定所述网络带宽状况的步骤包括:每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;

将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。

2.根据权利要求1所述的方法,其特征在于,所述编码参数包括以下至少一种:分辨率、码率和帧率。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述网络状况满足第二预设条件时,根据所述网络状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送;

将所述数据发送策略发送给所述终端,以供所述终端按照所述数据发送策略进行音视频数据的发送。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述网络状况从满足所述第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。

5.一种VoIP通信装置,应用于服务端,其特征在于,包括:第一获取模块,被配置为在终端进行VoIP通信的过程中,获取所述终端所处网络的网络带宽状况;

第一确定模块,被配置为根据所述第一获取模块获取的所述网络带宽状况,确定编码参数;

第一发送模块,被配置为将所述第一确定模块确定的所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;

所述第一获取模块包括:

第一网络带宽状况确定子模块,被配置为根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;

所述网络性能参数包括:丢包率和时延;

所述第一网络带宽状况确定子模块包括:

第一测量子模块,被配置为每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;

第一加权子模块,被配置为将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。

6.根据权利要求5所述的装置,其特征在于,

所述编码参数包括以下至少一种:分辨率、码率和帧率。

7.根据权利要求5所述的装置,其特征在于,所述装置还包括:数据发送策略确定模块,被配置为在当前网络带宽状况满足第二预设条件时,根据所述当前网络带宽状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送;

第二发送模块,被配置为将所述数据发送策略确定模块确定的所述数据发送策略发送给所述终端,以供所述终端按照所述数据发送策略进行音视频数据的发送。

8.根据权利要求7所述的装置,其特征在于,所述数据发送策略确定模块,还被配置为在所述当前网络带宽状况从满足所述第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。

9.一种VoIP通信装置,其特征在于,包括:处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为,在终端进行VoIP通信的过程中,获取所述终端的网络带宽状况;根据所述网络带宽状况,确定编码参数;将所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;

所述获取网络带宽状况的步骤包括:

根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;

所述网络性能参数包括:丢包率和时延;所述根据接收到的音视频数据和网络性能参数确定所述网络带宽状况的步骤包括:每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;

将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。

10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-4中任一项所述方法的步骤。

说明书 :

VoIP通信方法及装置

技术领域

[0001] 本公开涉及通信技术领域,尤其涉及一种VoIP通信方法及装置。

背景技术

[0002] VoIP(Voice over IP,IP承载语音)是一种将数字化信号以数据封包的形式在IP网络中实时传输的技术。VoIP采用Internet和全球IP互连环境,提供比传统业务更好的服务。VoIP在IP网络上传输业务可包括:语音、视频和数据等业务。VoIP的基本原理是通过数据压缩算法对数字信号进行编码压缩处理,然后将这些数据按TCP/IP标准打包,经过IP网络将数据包分发到接收终端。
[0003] 在终端中,VoIP通话已得到越来越广泛的应用。服务质量(QoS)保证技术作为VoIP的关键技术之一,已经变的越来越重要。在保证服务质量(QoS)的技术中,根据带宽自适应传输VoIP数据是重要技术之一。
[0004] 相关技术中,通常采用根据网络带宽情况调整视频数据的分辨率的方式,避免造成网络拥塞,保证VoIP的服务质量(QoS)。其具体实现是,终端采用可扩展视频编码标准,当网络带宽较窄时,发送较小分辨率视频数据,而当网络带宽较大时,则发送较大分辨率视频数据。
[0005] 但,通过相关技术中的上述保证VoIP的服务质量(QoS)的技术方案,对视频编码器要求较高,必须采用可扩展视频编码标准,其并不能适用于采用其它编码标准的VoIP通话。

发明内容

[0006] 为克服相关技术中存在的问题,本公开提供一种VoIP通信方法及装置。
[0007] 根据本公开实施例的第一方面,提供一种VoIP通信方法,应用于服务端,包括:在终端进行VoIP通信的过程中,获取所述终端所处网络的网络带宽状况;
[0008] 根据所述网络带宽状况,确定编码参数;
[0009] 将所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;
[0010] 所述获取网络带宽状况的步骤包括:
[0011] 根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;
[0012] 所述网络性能参数包括:丢包率和时延;所述根据接收到的音视频数据和网络性能参数确定所述网络带宽状况的步骤包括:
[0013] 每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;
[0014] 将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。
[0015] 在一个实施例中,所述编码参数包括以下至少一种:分辨率、码率和帧率。
[0016] 在一个实施例中,所述方法还包括:
[0017] 当所述网络状况满足第二预设条件时,根据所述网络状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送;
[0018] 将所述数据发送策略发送给所述终端,以供所述终端按照所述数据发送策略进行音视频数据的发送。
[0019] 在一个实施例中,所述方法还包括:
[0020] 当所述网络状况从满足所述第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。
[0021] 根据本公开实施例的第二方面,提供一种VoIP通信装置,应用于服务端,包括:
[0022] 第一获取模块,被配置为在终端进行VoIP通信的过程中,获取所述终端所处网络的网络带宽状况;
[0023] 第一确定模块,被配置为根据所述第一获取模块获取的所述网络带宽状况,确定编码参数;
[0024] 第一发送模块,被配置为将所述第一确定模块确定的所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;
[0025] 所述第一获取模块包括:
[0026] 第一网络带宽状况确定子模块,被配置为根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;
[0027] 所述网络性能参数包括:丢包率和时延;
[0028] 所述第一网络带宽状况确定子模块包括:
[0029] 第一测量子模块,被配置为每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;
[0030] 第一加权子模块,被配置为将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。
[0031] 在一个实施例中,所述编码参数包括以下至少一种:分辨率、码率和帧率。
[0032] 在一个实施例中,所述装置还包括:
[0033] 数据发送策略确定模块,被配置为在当前网络带宽状况满足第二预设条件时,根据所述当前网络带宽状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送;
[0034] 第二发送模块,被配置为将所述数据发送策略确定模块确定的所述数据发送策略发送给所述终端,以供所述终端按照所述数据发送策略进行音视频数据的发送。
[0035] 在一个实施例中,所述数据发送策略确定模块,还被配置为在所述当前网络带宽状况从满足所述第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。
[0036] 根据本公开实施例的第三方面,提供一种VoIP通信装置,包括:
[0037] 处理器;
[0038] 用于存储处理器可执行指令的存储器;
[0039] 其中,所述处理器被配置为,在终端进行VoIP通信的过程中,获取所述终端的网络带宽状况;根据所述网络带宽状况,确定编码参数;将所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;
[0040] 所述获取网络带宽状况的步骤包括:
[0041] 根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;
[0042] 所述网络性能参数包括:丢包率和时延;所述根据接收到的音视频数据和网络性能参数确定所述网络带宽状况的步骤包括:
[0043] 每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;
[0044] 将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。
[0045] 根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务端的处理器执行时,使得服务端能够执行一种VoIP通信方法,所述方法包括:在终端进行VoIP通信的过程中,获取所述终端的网络带宽状况;根据所述网络带宽状况,确定编码参数;将所述编码参数发送给所述终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送;所述获取网络带宽状况的步骤包括:
[0046] 根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;
[0047] 所述网络性能参数包括:丢包率和时延;所述根据接收到的音视频数据和网络性能参数确定所述网络带宽状况的步骤包括:
[0048] 每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况;
[0049] 将所述多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况,其中,所述预设加权规则包括按照时间顺序分配权重。
[0050] 本公开的实施例提供的技术方案可以包括以下有益效果:根据网络带宽状况,确定编码参数,并根据编码参数重新配置编码器进行视频数据编码后发送,以适应网络带宽,避免网络拥塞,保证服务质量;由此,可适用于各种视频编码标准。此外,当网络带宽情况较差,不能保证音、视频同时发送时,则停止视频数据发送,保证音频数据的发送质量,可以在较低的网络带宽状况下,保证基本的VoIP语音通话;由服务端进行编码参数和数据发送策略的调整,可降低终端的任务负担,降低复杂度。
[0051] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0052] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0053] 图1是根据一示例性实施例示出的一种VoIP通信方法的流程图;
[0054] 图2是根据一示例性实施例示出的采用点对点模式进行VOIP通话的网络结构图;
[0055] 图3是根据一示例性实施例示出的采用中继模式进行VOIP通话的网络结构图;
[0056] 图4是根据又一示例性实施例示出的一种VoIP通信方法的流程图;
[0057] 图5是根据再一示例性实施例示出的一种VoIP通信方法的流程图;
[0058] 图6是根据一示例性实施例示出的一种VoIP通信装置的框图;
[0059] 图7是根据另一示例性实施例示出的一种VoIP通信装置的框图;
[0060] 图8是根据一示例性实施例示出的一种VoIP通信系统的框图;
[0061] 图9是根据一示例性实施例示出的一种用于VoIP通信的装置的框图;
[0062] 图10是根据另一示例性实施例示出的一种用于VoIP通信的装置的框图。

具体实施方式

[0063] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0064] 实施例1
[0065] 图1是根据一示例性实施例示出的一种VoIP通信方法的流程图,如图1所示,该VoIP通信方法用于服务端中,包括以下步骤:
[0066] 在步骤S11中,在终端进行VoIP通信的过程中,获取终端所处网络的网络带宽状况。
[0067] VoIP通话可通过点对点模式或中继模式实现。图2是根据一示例性实施例示出的采用点对点模式进行VoIP通话的网络结构图。如图2所示,终端间可直接进行音视频数据的传输,进行VoIP通信,而不需要经过服务端。
[0068] 图3是根据一示例性实施例示出的采用中继模式进行VoIP通话的网络结构图。如图3所示,终端的音视频数据发送到服务端,由服务端分发到其它终端。
[0069] 在终端进行VoIP通信的过程中,各个终端所处的网络的网络环境是不相同的。服务端通过获取终端在VoIP通信过程中所处网络的网络带宽状况,以进行后续编码参数、数据发送策略等的调整。
[0070] 针对图2和图3所示的两种模式,获取终端所处的网络带宽状况可通过两种方式:
[0071] 方式一:点对点模式下,由终端根据接收到的音视频数据和网络性能参数,确定所处网络的网络带宽状况,并发送给服务端。
[0072] 网络性能参数包括:丢包率、时延、抖动等。丢包率是数据在发送过程中丢失数据包占总发送数据包的百分比。时延,是一个数据包从发送终端发出后,到达接收终端的时间间隔,即发送终端到接收终端的一个回路时间。抖动是两个连续的数据包的端到端时延的差值,反应网络带宽的变化剧烈程度。
[0073] 在本公开的一个实施例中,网络性能参数包括:丢包率和时延。
[0074] 由于VoIP采用的实时传输协议(RTP)中包含有时间戳字段,因此,可通过该时间戳字段,将接收终端接收到数据包的时间与发送终端发送数据包的时间相减,获得时延。
[0075] 对于丢包率,在预设时间段内,发送的总数据包个数为N,接收到的数据包个数为M,则可采用如下公式1获得丢包率D:
[0076]
[0077] 参见表1,为一实施例的丢包率和时延与网络带宽状况的对应关系表。网络带宽状况采用网络级别的方式来进行衡量,表1中1至5的级别代表网络带宽状况由好到坏。
[0078] 表1
[0079]丢包率和时延 网络带宽状况
丢包率不超过1%、时延小于100毫秒时 1
丢包率不超过3%、时延小于200毫秒时 2
丢包率超过4%、时延大于300毫秒时 3
丢包率超过5%、时延大于500毫秒时 4
丢包率超过10%、时延大于1秒时 5
[0080] 由于不同分辨率的视频数据对网络带宽的要求不同,因此,在确定当前网络带宽情况时,需要以接收到的音视频数据为参考依据。不同的分辨率,划分网络级别的标准不相同。表1所示的丢包率和时延与网络带宽状况的对应关系,为与某一分辨率(例如,1024*576)相对应的。
[0081] 表1所示的对应关系表可预先设置并存储在终端中,当得到丢包率和时延的测量结果时,通过查询对应关系表,即可确定网络带宽状况。
[0082] 在一个实施例中,若测量的丢包率和时延同时满足某一网络带宽状况对应的丢包率和时延,则可直接确定其网络带宽状况,例如,测量得到的丢包率为超过10%,时延大于1秒,则可直接确定网络带宽状况为5。若测量的丢包率和时延只有其中一者与某一网络带宽状况相对应,则优先以时延为准,确认网络带宽状况。例如,若测量得到的丢包率为4%,时延为180毫秒,则以时延为优先,确定网络带宽状况为2。
[0083] 在本公开的一实施例中,为了更加准确地预测网络带宽变化的趋势,降低出现网络拥塞的概率,采用以下的加权方式获得网络带宽状况:
[0084] 每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的历史网络带宽状况。预设时间可设为5秒、10秒等。以预设时间为5秒为例,每隔5秒进行一次丢包率和时延的测量,根据测量结果和上述表1,可获得其对应的网络带宽状况。将这些网络带宽状况按照时间顺序进行存储。
[0085] 将多个时刻的历史网络带宽状况按照预设加权规则进行加权,以得到网络带宽状况。
[0086] 在一个实施例中,预设加权规则为:与当前时间越相近,则权重越高。在一个实施例中,可将3次历史网络带宽状况和当前的实时网络带宽状况进行加权,得到网络带宽状况。总权重设为1,则3次历史网络带宽状况(L1、L2、L3)的权重按照时间顺序依次分配为0.1、0.2、0.3,当前的实时网络带宽状况(D1)的权重为0.4,则通过公式(2)得到网络带宽状况Q:
[0087] Q=L1×0.1+L2×0.2+L3×0.3+D1×0.4  (公式2)
[0088] 通过加权的方式,结合历史数据和当前实时数据进行网络带宽状况的判断,能够对网络带宽变化的趋势有预测作用,不仅可以实现在网络情况发生变化前采取合适策略,还可保持策略调整过程的平滑性,防止网络频繁变化时,产生的视频传输策略的频繁切换问题。
[0089] 方式二:中继模式下,由服务端直接根据接收到的音视频数据和网络性能参数,确定网络带宽状况。
[0090] 在中继模式下,服务端接收终端发送的音视频数据,然后转发给另一个或多个终端,由此,终端可根据接收到的音视频数据,确定终端所处网络的网络带宽状况。
[0091] 与上述方式一的点对点模式相同,服务端可每隔预设时间进行一次丢包率和时延的测量。丢包率和时延的测量方式如上所述,在此不再赘述。服务端确定网络带宽状况的方式也和上述结合表1描述的终端确定网络带宽状况的方式相同,在此不再赘述。在本公开的一实施例中,为了保持策略调整过程的平滑性,服务端可采用上述所述的加权方式进行网络带宽状况的确定,在此不再赘述。
[0092] 在步骤S12中,根据网络带宽状况,确定编码参数。
[0093] 在本公开的一实施例中,网络带宽状况满足第一预设条件时,根据当前网络状况确定编码参数,编码参数包括以下至少一种:分辨率、码率和帧率。例如,第一预设条件可为:网络带宽状况为上述表1中的1至3。
[0094] 分辨率、码率和帧率是影响视频质量和显示效果的清晰度参数。
[0095] 其中,帧率是指每秒中包含的图像帧数,也可理解为图形处理器每秒钟进行刷新的次数,通常用fps(帧/秒)表示。帧率越高,每秒的帧图像数(fps)越多,可以得到更流畅、更逼真的动画,人眼感觉视频序列越流畅,视觉效果也越好。但是,帧率的提高会大大增加需要传输的视频数据量,从而提高对网络带宽的要求。例如,帧率可为10帧/秒、11帧/秒、12帧/秒或13帧/秒等。
[0096] 码率是指视频文件在单位时间内使用的数据流量,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码率的单位为比特/秒(bit/s),例如,码率为1000bit/s、1100bit/s、1200bit/s或1300bit/s等等。
[0097] 分辨率是指视频成像产品所成图像的大小或尺寸,在成像的两组数字中,图片长度和图片的宽度,两者相乘得出的是图片的像素。例如,分辨率可为720P、480P或320P等。网络带宽状况满足第一预设条件时,表明网络带宽状况较好可同时支持传输音频数据和视频数据,因此,通过调整编码参数的方式,适应网络带宽状况。
[0098] 在一个实施例中,在满足第一预设条件的情况下,若网络带宽状况在第一预设范围内时,表明网络带宽情况较好,则提高图像分辨率、帧率、码率等编码参数,以产生较高质量的视频数据进行发送。提高图像分辨率可为将图像分辨率提高到预设值(例如,将图像分辨率提高为1024*576),也可为将图像分辨率提高预设等级(例如,将图像分辨率提高320*240)。同样的提高帧率可为将帧率提高到预设值(例如,13帧/秒),也可为将帧率提高预设等级;提高码率可为将码率提高到预设值(例如,1100bit/s),也可为将码率提高预设等级。
[0099] 当前网络带级别宽在第二预设范围内时,表明网络带宽情况变差,则降低图像分辨率、帧率、码率等编码参数,以产生较低质量的视频数据进行发送。降低图像分辨率可为将图像分辨率降低到预设值,也可为将图像分辨率降低预设等级。同样的降低帧率可为将帧率降低到预设值,也可为将帧率降低预设等级;提高码率可为将码率降低到预设值,也可为将码率降低预设等级。
[0100] 在步骤S13中,将编码参数返回给终端,以供终端按照编码参数重新配置编码器进行视频数据编码后发送。
[0101] 服务端可采用信令传输的方式或按照自定义数据格式,将编码参数发送给终端。
[0102] 终端接收到服务端发送的编码参数,则根据编码参数,重新配置编码器,进行视频数据的编码。重新配置编码器即在编码器启动时,根据服务端返回的编码参数,对编码器进行配置,使得其按照设置的编码参数产生相应效果的视频流。编码参数至少包括以下之一:分辨率、帧率和码率,由此,本公开实施例的终端不仅可以调整视频数据的分辨率,还可调整帧率和码率,避免网络拥塞,保证服务质量。无论采用H.264/AVC视频编码标准,还是可扩展编码视频编码标准,都可通过重新配置的编码器,使得编码器按照编码参数进行编码,实现调整视频质量适应当前网络带宽的目的。
[0103] 本公开实施例的VoIP通信方法,具有更好的普适性,不要求视频编码器支持可扩展编码,支持各种类型的编码;同时根据网络带宽情况,确定分辨率、帧率、码率等编码参数,以调整编码器,能够更好的避免网络拥塞;此外,由服务端进行编码参数的调整,可降低终端的任务负担,降低复杂度。
[0104] 实施例2
[0105] 图4是根据又一示例性实施例示出的一种VoIP通信方法的流程图,如图4所示,VoIP通信方法用于服务端中,在上述实施例的基础上,该实施例的VoIP通信方法包括以下步骤:
[0106] 在步骤S41中,获取网络带宽状况。
[0107] 应理解,该步骤S41的实施细节和上述步骤S11相同,在此不再赘述其实施细节。
[0108] 在步骤S42中,当所述当前网络状况满足第二预设条件时,根据所述当前网络状况确定数据发送策略。
[0109] 在步骤S43中,将所述数据发送策略发送给终端,以供所述终端按照所述数据发送策略进行音视频数据的发送。
[0110] 当检测到网络带宽状况满足第二预设条件时,则网络带宽状况不能满足同时发送视频数据和音频数据时,发送数据发送策略发送给终端,以使终端停止发送视频数据,只进行音频数据的发送。
[0111] 在VoIP通话过程中,当网络带宽情况变差,例如,如上表1所示,当网络带宽状况为5级时,网络情况已不能保证基本的视频质量,同时视频数据的发送影响音频数据发送时,则停止发送视频数据,只发送音频数据。在步骤S43之后,还包括:
[0112] 在步骤S44中,当所述当前网络状况从满足第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。
[0113] 当检测到网络带宽状况可以满足同时发送视频数据和音频数据时,发送同时进行音频数据和视频数据的发送的数据发送策略给终端,以使终端恢复为同时发送视频数据和音频数据。
[0114] 本公开该实施例的VoIP通信方法,当网络带宽状况满足第一预设条件时,可通过调整编码参数的方式进行音视频数据发送,而当网络带宽状况满足第二预设条件时,不能保证音、视频同时发送时,则停止视频数据发送,保证音频数据的发送质量,可以在较低的网络带宽状况下,保证基本的VoIP语音通话;由此,可在网络带宽情况变差时暂停视频数据的发送,而在网络带宽情况变好之后恢复视频数据的发送,极大的提高了用户体验;此外,由服务端进行数据发送策略的调整,可减轻终端的数据处理负担。
[0115] 实施例3
[0116] 图5是根据再一示例性实施例示出的一种VoIP通信方法的流程图,如图5所示,VoIP通信方法用于终端中,包括以下步骤:
[0117] 在步骤S51中,获取网络带宽状况。
[0118] 在该实施例中,终端根据接收到的音视频数据和网络性能参数确定网络带宽状况。可采用上述实施例1中的步骤S11中的方式一,进行网络带宽状况的获取,在此不再赘述。
[0119] 在步骤S52中,根据网络带宽状况,获取编码参数。
[0120] 在步骤S53中,按照编码参数重新配置编码器进行视频数据编码后发送。
[0121] 在一个实施例中,VoIP通信方法还包括:
[0122] 在步骤S54中,当检测到网络带宽状况满足第二预设条件时,则采用停止视频数据发送,只进行音频数据发送的数据发送策略。
[0123] 在步骤S55中,当检测到网络带宽状况从满足第二预设条件转变为满足第一预设条件时,则采用同时发送视频数据和音频数据的数据发送策略。
[0124] 由此,可在网络带宽情况变差时暂停视频数据的发送,而在网络带宽情况变好之后恢复视频数据的发送,极大的提高了用户体验。在一个实施例中,上述步骤S53、S54和S55,由终端自行进行。在所述当前网络状况满足第一预设条件时,所述终端根据所述网络带宽状况确定编码参数。其中,编码参数包括:分辨率、码率和帧率。第一预设条件可为:网络带宽状况为上述表1中的1至3。
[0125] 而在所述当前网络状况满足第二预设条件时,终端根据所述当前网络状况确定数据发送策略,其中,数据发送策略为:停止发送视频数据,只进行音频数据的发送。第二预设条件可为:网络带宽状况为上述表1中的4和5。
[0126] 在当前网络状况从满足第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。
[0127] 在另一个实施例中,为了减轻终端的数据处理负担,由服务端进行编码参数或数据发送策略的确定。终端将网络带宽状况发送至服务端,并接收所述服务端在所述当前网络状况满足第一预设条件时,根据所述网络带宽状况确定的编码参数并发送给终端,以使得终端在步骤S52中获取到编码参数。终端根据接收到的编码参数进行视频数据编码后发送。而当前网络状况满足第二预设条件时,则服务器根据所述网络带宽状况确定的数据发送策略并发送给终端,其中,数据发送策略为:停止发送视频数据,只进行音频数据的发送。在当前网络状况从满足第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。终端根据接收到的数据发送策略进行音视频数据的发送。
[0128] 网络带宽状况满足第一预设条件时,表明网络带宽状况较好可同时支持发送音频数据和视频数据,因此,通过调整编码参数的方式,适应网络带宽状况。
[0129] 在一个实施例中,在满足第一预设条件的情况下,若网络带宽状况在第一预设范围内时,表明网络带宽情况较好,则提高图像分辨率、帧率、码率等编码参数,以产生较高质量的视频数据进行发送。提高图像分辨率可为将图像分辨率提高到预设值(例如,将图像分辨率提高为1024*576),也可为将图像分辨率提高预设等级(例如,将图像分辨率提高320*240)。同样的提高帧率可为将帧率提高到预设值,也可为将帧率提高预设等级;提高码率可为将码率提高到预设值,也可为将码率提高预设等级。
[0130] 当前网络带级别宽在第二预设范围内时,表明网络带宽情况变差,则降低图像分辨率、帧率、码率等编码参数,以产生较低质量的视频数据进行发送。降低图像分辨率可为将图像分辨率降低到预设值,也可为将图像分辨率降低预设等级。同样的降低帧率可为将帧率降低到预设值,也可为将帧率降低预设等级;提高码率可为将码率降低到预设值,也可为将码率降低预设等级。
[0131] 通过该实施例,终端根据编码参数重新配置编码器,进行视频数据的编码。由此,支持各种类型的编码;同时根据网络带宽情况,确定分辨率、帧率、码率等编码参数,以调整编码器,能够更好的避免网络拥塞;且可节省和服务端的交互过程,由于无需等待服务端发送的编码参数,可节省时间,使得编码参数的调整更加及时和灵活。且当网络带宽状况满足第一预设条件时,可通过调整编码参数的方式进行音视频数据发送,而当网络带宽状况满足第二预设条件时,不能保证音、视频同时发送时,则停止视频数据发送,保证音频数据的发送质量,可以在较低的网络带宽状况下,保证基本的VoIP语音通话;由此,可在网络带宽情况变差时暂停视频数据的发送,而在网络带宽情况变好之后恢复视频数据的发送,极大的提高了用户体验
[0132] 实施例4
[0133] 图6是根据一示例性实施例示出的一种VoIP通信装置的框图。参照图6,该装置600应用于服务端,其包括第一获取模块621,第一确定模块622和第一发送模块623。
[0134] 第一获取模块621,被配置为在终端进行VoIP通信的过程中,获取终端所处网络的网络带宽状况;
[0135] 第一确定模块622,被配置为根据第一获取模块621获取的网络带宽状况,确定编码参数;
[0136] 第一发送模块623,被配置为将第一确定模块622确定的编码参数发送给终端,以供所述终端按照所述编码参数重新配置编码器进行视频数据编码后发送。
[0137] 第一确定模块622包括:
[0138] 编码参数确定子模块6221,被配置为在所述当前网络状况满足第一预设条件时,根据所述当前网络状况确定编码参数;所述编码参数包括:分辨率、码率和帧率。
[0139] 在一个实施例中,装置600还包括:
[0140] 数据发送策略确定模块624,被配置为在所述当前网络状况满足第二预设条件时,根据所述当前网络状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送。
[0141] 第二发送模块625,被配置为将所述数据发送策略发送给终端,以供所述终端按照所述数据发送策略进行音视频数据的发送;
[0142] 数据发送策略确定模块624,还被配置为在所述当前网络状况从满足第二预设条件转变为满足第一预设条件时,将所述数据发送策略调整为同时进行音频数据和视频数据的发送。
[0143] 在一个实施例中,第一获取模块621包括:
[0144] 第一网络带宽状况确定子模块6211,被配置为根据接收到的音视频数据和网络性能参数确定所述网络带宽状况;所述网络性能参数包括:丢包率和时延。
[0145] 在一个实施例中,第一网络带宽状况确定子模块6211包括:
[0146] 第一测量子模块(图中未标号),被配置为每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的网络带宽状况;
[0147] 第一加权子模块(图中未标号),被配置为将所述多个时刻的网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况。
[0148] 在一个实施例中,第一获取模块621包括:
[0149] 接收子模块6213,被配置为接收终端发送的所述网络带宽状况;所述终端发送的所述网络带宽状况是所述终端根据接收到的音视频数据和网络性能参数确定的。
[0150] 本公开实施例的VoIP通信装置,具有更好的普适性,不要求视频编码器支持可扩展编码,支持各种类型的编码;同时根据网络带宽情况,确定分辨率、帧率、码率等编码参数,以调整编码器,能够更好的避免网络拥塞;此外,由服务端进行编码参数的调整,可降低终端的任务负担,降低复杂度。
[0151] 实施例5
[0152] 图7是根据一示例性实施例示出的一种VoIP通信装置的框图。参照图7,该装置700应用于终端,其包括:
[0153] 第二获取模块701,被配置为获取网络带宽状况;
[0154] 第三获取模块702,被配置为根据所述网络带宽状况,获取编码参数;
[0155] 第三发送模块703,被配置为按照所述编码参数重新配置编码器进行视频数据编码后发送。
[0156] 在一个实施例中,第三获取模块702包括:
[0157] 第一编码参数获取子模块7021,被配置为在所述当前网络状况满足第一预设条件时,根据所述网络带宽状况确定编码参数,其中,所述编码参数包括:分辨率、码率和帧率。
[0158] 在一个实施例中,第三获取模块702包括:
[0159] 发送子模块7022,被配置为将所述网络带宽状况发送至服务端;
[0160] 第二编码参数获取子模块7023,被配置为接收所述服务端在所述当前网络状况满足第一预设条件时,根据所述网络带宽状况确定的编码参数,其中,所述编码参数包括:分辨率、码率和帧率。
[0161] 在一个实施例中,装置700还包括:
[0162] 第一数据发送策略确定模块704,被配置为在所述当前网络状况满足第二预设条件时,根据所述当前网络状况确定数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送。在所述当前网络状况从满足第二预设条件转变为满足第一预设条件时,所述数据发送策略被调整为同时进行音频数据和视频数据的发送。
[0163] 第三发送模块703,还被配置为按照所述数据发送策略进行音视频数据的发送。
[0164] 在一个实施例中,装置700还包括:
[0165] 第四发送模块705,被配置为将所述网络带宽状况发送至服务端;
[0166] 第二数据发送策略确定模块706,被配置为接收所述服务端在所述当前网络状况满足第二预设条件时,根据所述当前网络状况确定的数据发送策略,其中,所述数据发送策略为:停止发送视频数据,只进行音频数据的发送。在所述当前网络状况从满足第二预设条件转变为满足第一预设条件时,所述数据发送策略被调整为同时进行音频数据和视频数据的发送。
[0167] 第三发送模块703,还被配置为按照所述数据发送策略进行音视频数据的发送。
[0168] 在一个实施例中,第二获取模块701包括:
[0169] 第二网络带宽状况确定子模块7011,被配置为根据接收到的音视频数据和网络性能参数确定所述网络带宽状况,其中,所述网络性能参数包括:丢包率和时延。
[0170] 在一个实施例中,第二网络带宽状况确定子模块7011包括:
[0171] 第二测量子模块(图中未标号),被配置为每隔预设时间进行一次丢包率和时延的测量,获得多个时刻的网络带宽状况;
[0172] 第二加权子模块(图中未标号),被配置为将所述多个时刻的网络带宽状况按照预设加权规则进行加权,以得到所述网络带宽状况。
[0173] 应理解,在该实施例中,VoIP通信装置可包括第一编码参数获取子模块7021和第一数据发送策略确定模块704,以由终端自行进行编码参数和数据发送策略的确定;或者,VoIP通信装置可包括发送子模块7022、第二编码参数获取子模块7023、第四发送模块705、第二数据发送策略确定模块706,以由终端将网络带宽状况发送给服务端,由服务端根据网络带宽状况返回编码参数或数据发送策略给终端。在一些实施例中,VoIP通信装置也可同时包括第一编码参数获取子模块7021、第一数据发送策略确定模块704、发送子模块7022、第二编码参数获取子模块7023、第四发送模块705和第二数据发送策略确定模块706。本公开对此不作限制。
[0174] 本公开实施例的VoIP通信装置,具有更好的普适性,不要求视频编码器支持可扩展编码,支持各种类型的编码;同时根据网络带宽情况,确定分辨率、帧率、码率等编码参数,以调整编码器,能够更好的避免网络拥塞;此外,由服务端进行编码参数的调整,可降低终端的任务负担,降低复杂度。
[0175] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0176] 实施例6
[0177] 图8是根据一示例性实施例示出的一种VoIP通信系统的框图,如图8所示,该VoIP通信系统包括服务端801、第一终端802和第二终端803,其中,第一终端802作为音视频数据的发送方,第二终端803作为音视频数据的接收方。
[0178] 服务端801被配置为,获取网络带宽状况,根据网络带宽状况,确定编码参数,以及将编码参数发送给第一终端802;
[0179] 第一终端802被配置为,按照编码参数重新配置编码器进行视频数据编码后发送。
[0180] 在一个实施例中,服务端801,被配置为在当前网络状况满足第一预设条件时,根据当前网络状况确定编码参数,其中,编码参数包括:分辨率、码率和帧率。
[0181] 在一个实施例中,服务端801,被配置为在当前网络状况满足第二预设条件时,根据当前网络状况确定数据发送策略,将数据发送策略发送给第一终端802,其中,数据发送策略为:停止发送视频数据,只进行音频数据的发送;
[0182] 第一终端802被配置为,按照数据发送策略进行音视频数据的发送。
[0183] 在一个实施例中,服务端801,被配置为在当前网络状况从满足第二预设条件转变为满足第一预设条件时,将数据发送策略调整为同时进行音频数据和视频数据的发送。
[0184] 应理解,终端还可自行根据网络带宽状况进行编码参数和数据发送策略的确定,以采用相应的策略进行音视频数据的发送。
[0185] 关于该实施例中的VoIP通信系统,其具体实现方式和细节已经在有关方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0186] 本公开实施例的VoIP通信系统,具有更好的普适性,不要求视频编码器支持可扩展编码,支持各种类型的编码;同时根据网络带宽情况,确定分辨率、帧率、码率等编码参数,以调整编码器,能够更好的避免网络拥塞,能够提供极佳的视频质量;此外,由服务端进行编码参数的调整,可降低终端的任务负担,降低复杂度。
[0187] 图9是根据一示例性实施例示出的一种用于VoIP通信的装置900的框图。例如,装置900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0188] 参照图9,装置900可以包括以下一个或多个组件:处理组件902,存储器904,电力组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。
[0189] 处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述VoIP通信方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
[0190] 存储器904被配置为存储各种类型的数据以支持在装置900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0191] 电力组件906为装置900的各种组件提供电力。电力组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。
[0192] 多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0193] 音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
[0194] I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0195] 传感器组件914包括一个或多个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到装置900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0196] 通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。
在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0197] 在示例性实施例中,装置900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述VoIP通信方法的终端执行部分。
[0198] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述VoIP通信方法的终端执行部分。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0199] 图10是根据一示例性实施例示出的一种用于VoIP通信的装置1000的框图。例如,装置1000可以被提供为一服务端。参照图10,装置1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理组件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述VoIP通信方法的服务端执行部分。装置1000还可以包括一个电源组件1026被配置为执行装置1000的电源管理,一个有线或无线网络接口1050被配置为将装置1000连接到网络,和一个输入输出(I/O)接口1058。装置1000可以操作基于存储在存储器1032的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
[0200] 流程图中或在本公开的实施例中以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,或仅执行其中的一个或几个步骤,这应被本公开的实施例所述技术领域的技术人员所理解。
[0201] 本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0202] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。