一种编解码动态协商方法及设备转让专利

申请号 : CN201110376705.X

文献号 : CN103138874B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓灵莉陆璐彭晋陈艾姜怡

申请人 : 中国移动通信集团公司

摘要 :

本发明提供一种编解码动态协商方法及设备,其中方法包括:监测当前网络环境,得到当前可用带宽;根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表;监测当前已建立媒体流的传输质量;在所述当前已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。本发明的方案对采用的媒体编解码算法进行动态协商,确保使用会话媒体质量,提高用户体验。

权利要求 :

1.一种编解码动态协商方法,其特征在于,包括:

监测当前网络环境,得到当前可用带宽;

根据所述当前可用带宽,调整媒体流采用的包含多个编解码格式的第一协商列表,得到第二协商列表;其中,所述第二协商列表中的编解码格式的个数与第一协商列表中的编解码格式的个数不同;

监测当前已建立媒体流的传输质量;

在所述当前已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程;

其中,根据所述当前可用带宽,调整媒体流采用的包含多个编解码格式的第一协商列表,得到第二协商列表的步骤包括:遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入候选协商列表,并检测当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表。

2.根据权利要求1所述的编解码动态协商方法,其特征在于,所述监测当前网络环境,得到当前可用带宽的步骤包括:根据外部事件监测当前网络环境,得到当前可用带宽;或者

在实时媒体流传输过程中,实时监测当前网络环境,得到当前可用带宽。

3.根据权利要求2所述的编解码动态协商方法,其特征在于,所述外部事件包括:设备启动、设备所处网络类型切换或者网络信号强度变化。

4.根据权利要求1所述的编解码动态协商方法,其特征在于,所述当前已建立媒体流的传输质量为:当前已建立媒体流的丢包率。

5.一种编解码动态协商的设备,其特征在于,包括:

第一监测模块,用于监测当前网络环境,得到当前可用带宽;

调整模块,用于根据所述当前可用带宽,调整媒体流采用的包含多个编解码格式的第一协商列表,得到第二协商列表;其中,所述第二协商列表中的编解码格式的个数与第一协商列表中的编解码格式的个数不同;具体的,遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入候选协商列表,并检测当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表;

第二监测模块,用于监测当前已建立媒体流的传输质量;

协商模块,用于在所述已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。

6.根据权利要求5所述的设备,其特征在于,还包括:

编解码模块,用于在所述协商模块与对端设备进行编解码格式的重协商过程成功后,从所述当前已建立媒体流采用的编解码格式切换至重协商过程确定的新的编解码格式,并按照所述新的编解码格式对传输的媒体流进行编解码;

传输模块,用于将采用所述新的编解码格式编码后的媒体流发送给对端设备,或者从所述对端设备接收按照所述新的编解码格式编码的媒体流。

说明书 :

一种编解码动态协商方法及设备

技术领域

[0001] 本发明涉及通信领域,特别是指一种编解码动态协商方法及设备。

背景技术

[0002] 在基于IP和以SIP(Session Initiation Protocol,会话初始化协议)作为控制信令的语音通信系统中,会话双方(SIP终端之间,或者SIP终端与媒体网关(Media Gateway,MGW)之间)在会话建立之际利用SIP消息携带会话描述协议(Session Description Protocol,SDP)消息体描述SIP终端的媒体能力信息(包括语音或视频使用的编解码算法、IP地址和媒体流使用的端口等),并通过SDP协议的提供/应答(offer/answer)实现与对端的媒体协商。之后建立媒体会话交互的语音/视频编解码算法就采用协商确定的算法。
[0003] 在网络上传输的语音/视频等媒体数据是在终端采集后按照一定的编码算法进行压缩,然后通过实时媒体传输协议RTP发送到对端;再由对端使用相应的解码算法进行解码还原。不同的编解码算法,数据压缩比例有高低,算法复杂度有差异。同样带宽的情况下,低速率的编解码格式能传送更多的语音话路,但所传送的话音质量会有所下降。
[0004] 传统的动态语音编解码切换方法,是在网络侧进行,由媒体网关监视是否发生拥塞,向软交换上报网络拥塞事件,软交换对该媒体网关上后续新建立的呼叫使用低速率的编解码格式,拥塞严重时甚至对新呼叫建立进行限制。甚至在极端的情况下,命令媒体网关对已建立的呼叫向低速率编解码强行切换。此时,如果呼叫的两端有一侧网关不支持低速率的编解码格式,媒体流就会中断,从而使会话媒体质量得不到保证。

发明内容

[0005] 本发明要解决的技术问题是提供一种编解码动态协商方法及设备,对媒体流采用的编解码格式进行动态协商,确保会话媒体质量,提高用户体验。
[0006] 为解决上述技术问题,本发明的实施例提供一种编解码动态协商方法,包括:监测当前网络环境,得到当前可用带宽;
[0007] 根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表;
[0008] 监测当前已建立媒体流的传输质量;
[0009] 在所述当前已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。
[0010] 其中,所述监测当前网络环境,得到当前可用带宽的步骤包括:
[0011] 根据外部事件监测当前网络环境,得到当前可用带宽;或者
[0012] 在实时媒体流传输过程中,实时监测当前网络环境,得到当前可用带宽。
[0013] 其中,所述外部事件包括:设备启动、设备所处网络类型切换或者网络信号强度变化。
[0014] 其中,所述根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表的步骤包括:
[0015] 遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入至候选协商列表,得到第二协商列表。
[0016] 其中,所述将所述编解码格式加入至候选协商列表后还包括:
[0017] 检测所述当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表。
[0018] 其中,所述当前已建立媒体流的传输质量为:当前已建立媒体流的丢包率。
[0019] 另一方面,本发明的实施例还提供一种设备,包括:
[0020] 第一监测模块,用于监测当前网络环境,得到当前可用带宽;
[0021] 调整模块,用于根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表;
[0022] 第二监测模块,用于监测当前已建立媒体流的传输质量;
[0023] 协商模块,用于在所述已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。
[0024] 其中,所述调整模块进一步用于遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入至候选协商列表,得到第二协商列表。
[0025] 其中,所述调整模块进一步用于检测当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表。
[0026] 其中,上述设备还可以包括:编解码模块,用于在所述协商模块与对端设备进行编解码格式的重协商过程成功后,从所述当前已建立媒体流采用的编解码格式切换至重协商过程确定的新的编解码格式,并按照所述新的编解码格式对传输的媒体流进行编解码;
[0027] 传输模块,用于将采用所述新的编解码格式编码后的媒体流发送给对端设备,或者从所述对端设备接收按照所述新的编解码格式编码的媒体流。
[0028] 本发明的上述技术方案的有益效果如下:
[0029] 上述方案中,通过对网络环境进行监测,得到当前可用带宽,并根据该当前可用带宽,从本地支持的编解码算法集合(即上述第一协商列表)中选择优选编解码算法子集(即上述第二协商列表),作为新建立或者已建立媒体流进行重协商的依据,也就是说对媒体流采用的编解码格式进行动态协商,从而避免媒体流在编解码格式切换时不会中断,确保会话媒体质量,提高用户体验。

附图说明

[0030] 图1为本发明的实施例编解码动态协商方法的流程图;
[0031] 图2为本发明的实施例设备的结构框图。

具体实施方式

[0032] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0033] 本发明的第一实施例:
[0034] 如图1所示,一种编解码动态协商方法,包括:
[0035] 步骤11,监测当前网络环境,得到当前可用带宽;
[0036] 步骤12,根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表;
[0037] 步骤13,监测当前已建立媒体流的传输质量;
[0038] 步骤14,在所述当前已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。
[0039] 该实施例通过对网络环境进行监测,得到当前可用带宽,并根据该当前可用带宽,从本地支持的编解码算法集合(即上述第一协商列表)中选择优选编解码算法子集(即上述第二协商列表),作为新建立或者已建立媒体流进行重协商的依据,也就是说,对媒体流采用的编解码格式进行动态协商,从而避免媒体流在编解码格式切换时不会中断,确保会话媒体质量,提高用户体验。
[0040] 优选的,在上述实施例中,步骤11具体至少有以下2种实现方式:
[0041] 1)根据外部事件监测当前网络环境,得到当前可用带宽;其中,所述外部事件包括:设备启动、设备所处网络类型切换或者网络信号强度变化;这里的设备可以是终端设备,也可以是网络侧设备;其中,网络侧设备如媒体网关,该种监测方式称为异步监测;特别地,作为整个监测调整过程的起始点,终端设备或者网络侧媒体网关启动时会对本地支持的编解码格式进行排序,形成启动的优选列表,如上述第一协商列表,即终端设备或者媒体网关启动时,监测其接入网络带宽b0,选择初始化列表C0中,带宽满足b0>bi(其中,bi为预设的需求带宽门限)的编解码格式,得到优选列表C1={Cj|b0>bi},作为后续进行编解码协商的列表,即第二协商列表;当然若在下一时刻又监测当前可用带宽满足b0>bi,则该第二协商列表又需要进行调整,此时,该第二协商列表又成为第一协商列表,调整后的协商列表为新的第二协商列表;总之,本发明的实施例中,每一次调整协商列表时,调整前的协商列表称为第一协商列表,调整后的列表称为第二协商列表。
[0042] 2)在实时媒体流传输过程中,实时监测当前网络环境,得到当前可用带宽;该种监测方式称为同步监测;优选的,在实时媒体流传输过程中,周期性地对实时媒体流进行传输质量的实时监测。
[0043] 在本发明的第二实施例中,同样包括上述步骤11-14;其中,步骤12具体包括:遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入至候选协商列表中,得到第二协商列表;
[0044] 该实施例中,第一协商列表中的编解码格式,如可以包括G.711、G.729和/或G.723;在终端设备中,初始部署或者出售时缺省静态设置初始化编解码格式列表(即第一协商列表)C0,如可以是网络条件无限好情况下的本地编解码优选顺序,包括终端设备支持的编解码格式全集:
[0045] 第一协商列表中的编解码格式排列顺序如可以是根据理想MOS值高低排序{Ci},比如G.711、G.729以及G.723;且为每种编解码格式预先设置一个通话质量下限值di以及一个需求带宽门限bi;
[0046] 其中,可以根据用户可接受的通话质量确定每个编解码格式对应的媒体流传输质量下限值di,如确定MOS数值m=3.5为其中一种编解码格式对应的媒体流传输质量下限值;当然这里仅是举例说明,不限于是3.5,还可以根据其它方式确定该媒体流传输质量下限值,如在SBC(会话边界控制)等核心网设备介入媒体传输的场景下,可以借助SBC的通话质量统计功能来确定一个合适的下限值;
[0047] 在第一协商列表C0中,从该第一协商列表C0的表头开始,针对每个列表项Ci(即每一个编解码格式),判断当前可用带宽b是否大于该Ci对应的预设的需求带宽门限bi,即针对每个列表项Ci,判断是否满足条件b>bi,若是,则将该Ci插入一候选列表,得到第二协商列表,即Cb={Ck|b>bk};
[0048] 再根据监测到的当前已建立媒体流的传输质量(如最新丢包率d)判断是否满足d>di,若是,则根据该第二协商列表,发起编解码格式的重协商过程;否则继续使用当前的编解码格式进行媒体流的编解码;当然,在某种情况下,如恶意包过滤环境下,当前已建立媒体流的丢包率d也会大于该门限di,此时,则不需要发起编解码格式的重协商,也不需要进行编解码格式切换,协商列表会保持当前正在使用的编解码格式。
[0049] 在本发明的第三实施例中,同样包括上述步骤11-14;其中,步骤12具体包括:遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入候选协商列表,并检测当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表。
[0050] 按照上述条件b>bi筛选得到的候选协商列表中,各个编解码格式还可以按照各自分别对应的理想MOS值高低进行排序,也可以是按照某种静态偏好进行排序,也可以是根据网络设备支持情况或者抗丢包能力进行排序,或者这些因素结合起来综合考虑进行排序,但无论以哪种方式排序,最终得到的第二协商列表在作为重协商过程的依据时,可以使重协商过程中可以确定一个更为理想的编解码格式进行媒体流的编解码,从而更进一步提高会话媒体质量。
[0051] 上述的实施例在具体实现时,第一协商列表调整为第二协商列表时,调整时刻优选在会话建立时(INVITE)和/或会话持续中进行调整;通话过程中第一协商列表调整为第二协商列表的调整方式优选为:通过媒体重协商和/或媒体直接切换;在SBC等核心网设备介入媒体传输的场景下,可以借助SBC的通话质量统计功能来完成,决策是否调整协商列表的实施可通过SBC修改主叫SDP offer来实现;在SBC媒体释放(即终端点对点媒体传输)的场景下,可以由终端来自主完成;或者SBC和终端侧结合起来,并在终端侧统一学习。
[0052] 作为编解格式切换依据的媒体流传输质量参数,比如MOS值,下限的设定:可以由运营商/设备厂商进行静态统一配置;或者可以通过SBC等核心网元,通过动态运营需求/统计数据,手动触发/自动周期性地对其进行局部/全局自适应调整;或者可以通过在终端提供语音质量评价反馈机制,来动态学习用户个体的使用偏好与质量敏感程度,进行个性化自适应调整;或者这三种方法根据需要组合进行,并通过一定渠道实现信息统筹,例如方法终端在本地收集的个体反馈数据可作为SBC的统计数据源等。
[0053] 综上,本发明的上述实施例通过进行网络环境的可使用带宽以及媒体流的传输质量实时监测,选择确保使用会话媒体质量高于预期下限的优选编解码算法子集(即上述第二协商列表)作为后续或者已建立媒体流质量优化协商的依据,确保媒体流在编解码格式切换时不会中断,确保会话媒体质量,提高用户体验。
[0054] 如图2所示,本发明的实施例还提供一种设备20,包括:
[0055] 第一监测模块21,用于监测当前网络环境,得到当前可用带宽;
[0056] 调整模块22,用于根据所述当前可用带宽,调整包含多个编解码格式的第一协商列表,得到第二协商列表;
[0057] 第二监测模块23,用于监测当前已建立媒体流的传输质量;
[0058] 协商模块24,用于在所述已建立媒体流的传输质量小于所述当前已建立媒体流采用的编解码格式对应的预设的传输质量门限时,根据所述第二协商列表,与对端设备进行编解码格式的重协商过程。
[0059] 优选的,在上述实施例中,步骤11具体至少有以下2种实现方式:
[0060] 1)根据外部事件监测当前网络环境,得到当前可用带宽;其中,所述外部事件包括:设备启动、设备所处网络类型切换或者网络信号强度变化;这里的设备可以是终端设备,也可以是网络侧设备;其中,网络侧设备如媒体网关,该种监测方式称为异步监测;特别地,作为整个监测调整过程的起始点,终端设备或者网络侧媒体网关启动时会对本地支持的编解码格式进行排序,形成启动的优选列表,如上述第一协商列表,即终端设备或者媒体网关启动时,监测其接入网络带宽b0,选择初始化列表C0中带宽满足b0>bi(其中,bi为预设的需求带宽门限)的编解码,得到优选列表C1={Cj|b0>bi},作为后续进行媒体协商的编解码协商列表,即第二协商列表;当然若又监测当前可用带宽满足b0>bi,则该第二协商列表又需要进行调整,此时,该第二协商列表又成为第一协商列表,调整后的协商列表为新的第二协商列表;总之,本发明的实施例中,每一次进行协商列表调整前的协商列表称为第一协商列表,调整后的列表称为第二协商列表。
[0061] 2)在实时媒体流传输过程中,实时监测当前网络环境,得到当前可用带宽;该种监测方式称为同步监测,优选的,在实时媒体流传输过程中,周期性地对实时媒体流进行传输质量的实时监测。
[0062] 优选的,所述调整模块进一步用于遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入至候选协商列表,得到第二协商列表;
[0063] 该实施例中,第一协商列表中的编解码格式,如可以包括G.711、G.729和/或G.723;在终端设备中,初始部署或者出售时缺省静态设置初始化编解码格式列表(即第一协商列表)C0,如可以是网络条件无限好情况下的本地编解码优选顺序,包括终端设备支持的编解码格式全集:
[0064] 第一协商列表中的编解码格式排列顺序如可以是根据理想MOS值高低排序{Ci},比如G.711、G.729以及G.723;且每种编解码格式对应一个通话质量下限值di以及一个需求带宽bi;
[0065] 其中,可以根据用户可接受的通话质量确定每个编解码格式对应的媒体流传输质量下限值di,如确定MOS数值m=3.5为其中一种编解码格式对应的媒体流传输质量下限值;当然这里仅是举例说明,不限于是3.5,还可以根据其它方式确定该媒体流传输质量下限值,如可以根据SBC(会话边界控制)等核心网设备介入媒体传输的场景下,可以借助SBC的通话质量统计功能来确定一个合适的下限值;
[0066] 在第一协商列表C0中,从该第一协商列表C0的表头开始,针对每个列表项Ci(即每一个编解码格式),判断当前可用带宽b是否大于该Ci对应的预设的需求带宽门限bi,即针对每个列表项Ci,判断是否满足条件b>bi,若是,则将该Ci插入一候选列表,得到第二协商列表,即Cb={Ck|b>bk};
[0067] 再根据监测到的当前已建立媒体流的传输质量(如最新丢包率d),判断是否满足d>di,若是,则根据该第二协商列表,发起编解码格式的重协商过程;否则继续使用当前的编解码格式进行媒体流的编解码。
[0068] 优选的,所述调整模块进一步用于遍历所述第一协商列表中各个编解码格式,若所述当前可用带宽大于所述编解码格式对应的预设的带宽需求门限,则将所述编解码格式加入候选协商列表,检测当前已建立媒体流采用的编解码格式是否在所述候选协商列表中,若在,则从所述候选协商列表中,删除所述当前已建立媒体流采用的编解码格式,得到所述第二协商列表。
[0069] 按照上述条件b>bi筛选得到的候选协商列表中,各个编解码格式还可以按照各自分别对应的理想MOS值高低进行排序,也可以是按照某种静态偏好进行排序,也可以是根据网络设备支持情况或者抗丢包能力进行排序,或者这些因素结合起来综合考虑进行排序,但无论以哪种方式排序,最终得到的第二协商列表在作为重协商过程的依据时,可以使重协商过程中可以确定一个更为理想的编解码格式进行媒体流的编解码,从而更进一步提高会话媒体质量。
[0070] 优选的,上述设备还可以包括:编解码模块,用于在所述协商模块与对端设备进行编解码格式的重协商过程成功后,从所述当前已建立媒体流采用的编解码格式切换至重协商过程确定的新的编解码格式,并按照所述新的编解码格式对传输的媒体流进行编解码;
[0071] 传输模块,用于将采用所述新的编解码格式编码后的媒体流发送给对端设备,或者从所述对端设备接收的按照所述新的编解码格式进行编码的媒体流。
[0072] 上述的设备实施例在具体实现时,第一协商列表调整为第二协商列表时,调整时刻优选在会话建立时(INVITE)和/或会话持续中进行调整;通话过程中第一协商列表调整为第二协商列表的调整方式优选为:通过媒体重协商和/或媒体直接切换;在SBC等核心网设备介入媒体传输的场景下,可以借助SBC的通话质量统计功能来完成,决策是否调整协商列表的实施可通过SBC修改主叫SDP offer来实现;在SBC媒体释放(即终端点对点媒体传输)的场景下,可以由终端来自主完成;或者SBC和终端侧结合起来,并在终端侧统一学习。
[0073] 作为编解格式切换依据的媒体流传输质量参数,比如MOS值,下限的设定:可以由运营商/设备厂商进行静态统一配置;或者可以通过SBC等核心网元,通过动态运营需求/统计数据,手动触发/自动周期性地对其进行局部/全局自适应调整;或者可以通过在终端提供语音质量评价反馈机制,来动态学习用户个体的使用偏好与质量敏感程度,进行个性化自适应调整;或者这三种方法根据需要组合进行,并通过一定渠道实现信息统筹,例如终端在本地收集的个体反馈数据可作为SBC的统计数据源等。
[0074] 综上,本发明的上述实施例通过进行网络环境的可使用带宽以及媒体流的传输质量实时监测,选择确保使用会话媒体质量高于预期下限的优选编解码算法子集(即上述第二协商列表)作为后续或者已建立媒体流质量优化协商的依据,确保媒体流在编解码格式切换时不会中断,确保会话媒体质量,提高用户体验。
[0075] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。