基于VoLTE的视频通话码率调整方法、装置及移动终端与流程

文档序号:12829546阅读:2940来源:国知局
基于VoLTE的视频通话码率调整方法、装置及移动终端与流程

本发明涉及视频通话技术领域,尤其涉及一种基于volte的视频通话码率调整方法、装置及移动终端。



背景技术:

volte(voice&videooverlte,lte网络音视频通话)是通过lte(longtermevolution,长期演进)网络作为业务接入、ims(ipmultimediasubsystem,ip多媒体子系统)网络实现业务控制的音视频解决方案,它支持高清语音、高清视频等通信业务,也可实现与2g/3g网络的语音兼容互通。

作为volte的核心业务之一,视频通话业务为移动终端用户提供了新的通话体验。而在进行视频通话的过程中,视频质量的好坏也成为了用户最为关注的焦点。移动终端进行视频通话时,会根据视频分辨率和帧率来配置视频编码的码率,如果码率过大的话,会造成网络丢包使得对端视频画面出现马赛克,影响用户体验。

目前,常见的码率配置方案是将通话建立时通话双方协商的网络带宽作为参照值,并基于此来进行码率的动态调整。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

通话建立时通话双方协商的网络带宽只是一个经验值,不能精确表征当前网络的实际带宽,如果基于此来做动态调整不能保证视频通话质量。



技术实现要素:

本发明提供的基于volte的视频通话码率调整方法、装置及移动终端,能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

第一方面,本发明提供一种基于volte的视频通话码率调整方法,所述方法应用于数据接收方,所述数据接收方用于发送tmmbr包,所述方法包括:

判断所述数据接收方是否为第一次发送tmmbr包或是否接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数是否超过预定次数;

若为第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数,则估计下行接收码率并计算rtp包的下行丢包率;

根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率;

根据所述请求对端发送的码率,向所述数据发送方发送tmmbr包。

可选的,所述方法还包括:

若不是第一次发送tmmbr包且未接收到所述数据发送方的tmmbn包且同一个tmmbr包重传的次数未超过预定次数,则根据上一次计算出的请求对端发送的码率向所述数据发送方发送tmmbr包。

可选的,所述估计下行接收码率包括:

当tcur≥tstart+tperiod时,按照公式(1)更新上一个统计周期的平均码率bprev:

bprev=(stotal-sprev)×8/(tcur-tstart),tstart>0(1)

其中,stotal为当前rtp包有效载荷长度的累积值,sprev为上一个周期rtp包有效载荷长度的累积值,tcur为当前时间,tstart为当前周期收到第一个包的时间,tperiod为时间周期,每个统计周期结束之后,tstart被清零,sprev则更新为stotal;

当tcur∈[tstart,tstart+tperiod)时,按照公式(2)对下行码率进行估计:

best=(1-α)·bprev+α·bcur(2)

其中,best为码率估计值,bprev为上一个统计周期的平均码率,bcur为当前的 平均码率,α为权重系数,其中,α按照公式(3)取值:

可选的,所述计算rtp包的下行丢包率包括:

若累计的应接收的rtp数据包的个数(slast-sstart)大于等于阈值nthres,则根据公式(4)计算丢包率ploss:

ploss=(slast-sstart-nrecv)/(slast-sstart),slast-sstart≥nthres(4)

其中,slast为最近一个rtp包的序列号,sstart为统计周期内第一个rtp包的序列号,nrecv为统计周期内实际收到的rtp包个数。

可选的,所述根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率包括:

若ploss≥p1,p1为预设的第一丢包率阈值,则令n=0,初始化步进长度h0,并按照公式(5)和(6)计算请求对端发送的码率btmmbr,

h0=β·best(5)

btmmbr=best-hn(6)

其中,β为比例系数,0<β<1;

令n=n+1,若ploss≥p2,p2为预设的第二丢包率阈值,根据公式(7)更新步进长度hn,

其中,λ为常数,0<λ<1,p2为丢包率的收敛值,0<p2<p1;

若p2≤ploss<p1且不满足hn<hmin,则根据公式(6)计算btmmbr;

若0≤ploss<p2且不满足hn<hmin,则根据公式(8)计算btmmbr,

btmmbr=best+hn(8)。

第二方面,本发明提供一种基于volte的视频通话码率调整方法,所述数据发送方用于接收tmmbr包,所述方法应用于数据发送方,所述方法包括:

接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,其中,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到;

向所述数据接收方发送tmmbn包;

从所述tmmbr包中解析出对端请求的码率信息;

根据所述对端请求的码率信息计算将要配置的编码码率;

根据所述将要配置的编码码率完成编码码率的配置。

可选的,所述根据所述对端请求的码率信息计算将要配置的编码码率包括:

按照公式(9)计算将要配置的编码码率bconfig:

其中,btmmbr为从tmmbr包解析出来的码率,bmax和bmin分别为码率配置区间的上限值和下限值。

第三方面,本发明提供一种基于volte的视频通话码率调整装置,所述装置位于数据接收方,所述数据接收方用于发送tmmbr包,所述装置包括:

判断单元,用于判断所述数据接收方是否为第一次发送tmmbr包或是否接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数是否超过预定 次数;

估计单元,用于当所述判断单元判断为第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时,估计下行接收码率;

第一计算单元,用于计算rtp包的下行丢包率;

第二计算单元,用于根据所述第一计算单元计算出的rtp包的下行丢包率和所述估计单元估计出的下行接收码率计算请求对端发送的码率;

第一发送单元,用于根据所述请求对端发送的码率,向所述数据发送方发送tmmbr包。

可选的,所述第一发送单元,还用于在所述判断单元判断不是第一次发送tmmbr包且未接收到所述数据发送方的tmmbn包且同一个tmmbr包重传的次数未超过预定次数时,根据上一次计算出的请求对端发送的码率向所述数据发送方发送tmmbr包。

可选的,所述估计单元,用于按照如下方式估计下行接收码率:

当tcur≥tstart+tperiod时,按照公式(1)更新上一个统计周期的平均码率bprev:

bprev=(stotal-sprev)×8/(tcur-tstart),tstart>0(1)

其中,stotal为当前rtp包有效载荷长度的累积值,sprev为上一个周期rtp包有效载荷长度的累积值,tcur为当前时间,tstart为当前周期收到第一个包的时间,tperiod为时间周期,每个统计周期结束之后,tstart被清零,sprev则更新为stotal;

当tcur∈[tstart,tstart+tperiod)时,按照公式(2)对下行码率进行估计:

best=(1-α)·bprev+α·bcur(2)

其中,best为码率估计值,bprev为上一个统计周期的平均码率,bcur为当前的平均码率,α为权重系数,其中,α按照公式(3)取值:

可选的,所述第一计算单元,用于按照如下方式计算rtp包的下行丢包率:

若累计的应接收的rtp数据包的个数(slast-sstart)大于等于阈值nthres,则根据公式(4)计算丢包率ploss:

ploss=(slast-sstart-nrecv)/(slast-sstart),slast-sstart≥nthres(4)

其中,slast为最近一个rtp包的序列号,sstart为统计周期内第一个rtp包的序列号,nrecv为统计周期内实际收到的rtp包个数。

可选的,所述第二计算单元,用于按照如下方式计算请求对端发送的码率:

若ploss≥p1,p1为预设的第一丢包率阈值,则令n=0,初始化步进长度h0,并按照公式(5)和(6)计算请求对端发送的码率btmmbr,

h0=β·best(5)

btmmbr=best-hn(6)

其中,β为比例系数,0<β<1;

令n=n+1,若ploss≥p2,p2为预设的第二丢包率阈值,根据公式(7)更新步进长度hn,

其中,λ为常数,0<λ<1,p2为丢包率的收敛值,0<p2<p1;

若p2≤ploss<p1且不满足hn<hmin,则根据公式(6)计算btmmbr;

若0≤ploss<p2且不满足hn<hmin,则根据公式(8)计算btmmbr,

btmmbr=best+hn(8)。

第四方面,本发明提供一种基于volte的视频通话码率调整装置,所述数据发送方用于接收tmmbr包,所述装置位于数据发送方,所述装置包括:

接收单元,用于接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,其中,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到;

第二发送单元,用于向所述数据接收方发送tmmbn包;

解析单元,用于从所述tmmbr包中解析出对端请求的码率信息;

第三计算单元,用于根据所述对端请求的码率信息计算将要配置的编码码率;

配置单元,用于根据所述将要配置的编码码率完成编码码率的配置。

可选的,所述第三计算单元,用于按照如下方式计算将要配置的编码码率:

按照公式(9)计算将要配置的编码码率bconfig:

其中,btmmbr为从tmmbr包解析出来的码率,bmax和bmin分别为码率配置区间的上限值和下限值。

第五方面,本发明提供一种移动终端,包括上述位于数据接收方的基于volte的视频通话码率调整装置。

第六方面,本发明提供一种移动终端,包括上述位于数据发送方的基于volte的视频通话码率调整装置。

本发明实施例提供的基于volte的视频通话码率调整方法、装置及移动终端,当为第一次发送tmmbr包或接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时,估计下行接收码率并计算rtp包的下行丢包率,根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率,根据所述请求对端发送的码率,向数据发送方发送tmmbr包,以便数据发送方从所述tmmbr包中解析出对端请求的码率信息,并计算将要配置的编码码率,根据所述将要配置的编码码率完成编码码率的配置。与现有技术相比,本发明能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

附图说明

图1为本发明一实施例基于volte的视频通话码率调整方法的流程图;

图2为本发明另一实施例基于volte的视频通话码率调整方法的流程图;

图3为本发明再一实施例基于volte的视频通话码率调整方法的流程图;

图4为图3中计算请求对端发送的码率时的算法状态迁移示意图;

图5为本发明一实施例基于volte的视频通话码率调整装置的结构示意图;

图6为本发明另一实施例基于volte的视频通话码率调整装置的结构示意图。

具体实施方式

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

本发明实施例提供一种基于volte的视频通话码率调整方法,所述方法应用于数据接收方,所述数据接收方用于发送tmmbr(temporarymaximummediastreambitraterequest,临时最大媒体流比特率请求)包,如图1所示,所述方法包括:

s11、判断所述数据接收方是否为第一次发送tmmbr包或是否接收到数据发送方的tmmbn(temporarymaximummediastreambitratenotification,临时最大媒体流比特率通知)包或同一个tmmbr包重传的次数是否超过预定次数;

可选的,所述预定次数可以为2次。

s12、若为第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数,则估计下行接收码率并计算rtp(real-timetransportprotocol,实时传输协议)包的下行丢包率;

s13、根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率;

s14、根据所述请求对端发送的码率,向所述数据发送方发送tmmbr包。

本发明实施例提供的基于volte的视频通话码率调整方法,当为第一次发送tmmbr包或接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时,估计下行接收码率并计算rtp包的下行丢包率,根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率,根据所述请求对端发送的码率,向数据发送方发送tmmbr包,以便数据发送方从所述tmmbr包中解析出对端请求的码率信息,并计算将要配置的编码码率,根据所述将要配置的编码码率完成编码码率的配置。与现有技术相比,本发明能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

本发明实施例还提供一种基于volte的视频通话码率调整方法,所述方法应用于数据发送方,所述数据发送方用于接收tmmbr包,如图2所示,所述方法包括:

s21、接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,其中,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到;

s22、向所述数据接收方发送tmmbn包;

s23、从所述tmmbr包中解析出对端请求的码率信息;

s24、根据所述对端请求的码率信息计算将要配置的编码码率;

s25、根据所述将要配置的编码码率完成编码码率的配置。

本发明实施例提供的基于volte的视频通话码率调整方法,接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到,从所述tmmbr包中解析出对端请求的码率信息,并计算将要配置的编码码率,根据所述将要配置的编码码率完成编码码率的配置。与现有技术相比,本发明能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

本发明实施例还提供一种基于volte的视频通话码率调整方法,如图3所示,所述方法包括:

s301、数据接收方判断是否为第一次发送tmmbr包或是否接收到对端的tmmbn包或同一个tmmbr包重传的次数是否超过预定次数,若是,则执行步 骤s302;若否,则执行步骤s305。

可选的,所述预定次数可以为2次。

其中,在volte网络中,数据发送方与数据接收方之间通过sip(sessioninitiationprotocol,会话发起协议)完成媒体能力协商和会话建立。当视频通话建立之后,数据发送方的视频采集模块将采集的数据输出给dsp编码模块,dsp编码模块会对原始数据进行压缩编码并通过rtp组包的方式经由网络发送至数据接收方。数据接收方接收rtp数据并解包,之后将数据输出至抖动抑制模块,dsp解码模块从抖动抑制模块中获取视频帧数据并对其进行解码,最后通过视频显示模块显示出来。如果数据接收方的下行rtp数据存在丢包,会出现视频卡顿和马赛克的情况,如果丢包严重将会对用户体验造成很大的影响。数据接收方针对下行丢包的情况,可以通过rtcp(rtpcontrolprotocol,rtp控制协议)的拓展协议tmmbr包来请求数据发送方降低视频编码码率,以减少数据接收方下行的吞吐量,进而降低rtp的丢包率。当数据发送方收到tmmbr包之后,会立刻反馈tmmbn包来响应数据接收方。

s302、数据接收方估计下行接收码率。

具体地,按照如下方式估计下行接收码率:

数据接收方每接收到一个rtp包,都要统计报文的payload(有效载荷)长度,并计算上一个统计周期的平均码率bprev,当tcur≥tstart+tperiod时,更新bprev,其公式如下:

bprev=(stotal-sprev)×8/(tcur-tstart),tstart>0(1)

其中,stotal为当前rtp包payload长度的累积值,sprev为上一个周期rtp包payload长度的累积值,tcur为当前时间,tstart为当前周期收到第一个包的时间,tperiod为时间周期。每个统计周期结束之后,tstart被清零,sprev则更新为stotal。

当tcur∈[tstart,tstart+tperiod)时,这里对下行码率的估计通过加权平均来进行平滑处理,公式如下:

best=(1-α)·bprev+α·bcur(2)

其中,best为码率估计值,bprev为上一个统计周期的平均码率,bcur为当前的平均码率,α为权重系数,在此按照公式(3)对其进行量化处理:

s303、数据接收方计算rtp包的下行丢包率。

具体地,按照如下方式计算rtp包的下行丢包率:

rtcp包被周期性地发送。在每次发送rtcp包时,如果累计的应接收的rtp数据包的个数(slast-sstart)大于等于阈值nthres,则根据公式(4)计算丢包率ploss:

ploss=(slast-sstart-nrecv)/(slast-sstart),slast-sstart≥nthres(4)

其中,slast为最近一个rtp包的序列号(sequencenumber),sstart为统计周期内第一个rtp包的序列号,nrecv为统计周期内实际收到的rtp包个数。

s304、数据接收方根据计算出的rtp包的下行丢包率计算请求对端发送的码率btmmbr,并判断是否满足发送tmmbr包的条件,若满足,则执行步骤s305;若不满足,则结束。

具体地,当发送tmmbr的标志位置1时,满足发送tmmbr包的条件;当发送tmmbr的标志位置0时,不满足发送tmmbr包的条件。

下述的状态1、状态2、状态3均为计算请求对端发送的码率btmmbr所采用的算法状态。

如图4所示,在状态1中,若ploss<p1,p1为预设的第一丢包率阈值,说明此时没有丢包或有少量丢包但不影响视频通话质量,那么算法状态不做改变,并将发送tmmbr包的标志位置0;

若ploss≥p1,则算法状态迁移到状态2,令n=0,初始化步进长度h0,并按照公式(5)和(6)计算请求对端发送的码率btmmbr,

h0=β·best(5)

btmmbr=best-hn(6)

其中,β为比例系数,0<β<1,将其置为0.1;并将发送tmmbr包的标志位置1。

在状态2中,令n=n+1,若ploss≥p2,p2为预设的第二丢包率阈值,根据公式(7)更新步进长度hn,

其中,λ为常数,0<λ<1,可以取λ为0.5,p2为丢包率的收敛值,0<p2<p1,这里取p2为0.5%;若p2≤ploss<p1,则根据公式(6)计算btmmbr,并将发送tmmbr包的标志位置1;如果此时hn<hmin,则算法状态迁移到状态1;

若0≤ploss<p2,则算法状态迁移到状态3,根据公式(8)计算btmmbr,

btmmbr=best+hn(8)

并将发送tmmbr包的标志位置1;如果此时hn<hmin,则算法状态迁移到状态1。

在状态3中,令n=n+1,若ploss≥p2,则算法状态迁移到状态2,根据公式(7)更新步长hn,然后通过公式(6)计算btmmbr,并将发送tmmbr的标志位置1;如果此时hn<hmin,则算法状态迁移到状态1;

若0≤ploss<p2,则步长hn=hn-1,根据公式(8)计算btmmbr,并将发送tmmbr 包的标志位置1,此时算法状态不做迁移。

s305、数据接收方根据btmmbr设置tmmbr包中码率参数的相关字段。

其中,若在步骤s301中数据接收方判断为第一次发送tmmbr包或接收到对端的tmmbn包或同一个tmmbr包重传的次数超过预定次数,则根据步骤s304中计算出的btmmbr设置tmmbr包的相关字段;若在步骤s301中数据接收方判断不是第一次发送tmmbr包且未接收到对端的tmmbn包且同一个tmmbr包重传的次数未超过预定次数,则根据上一次计算出的btmmbr设置tmmbr包的相关字段。

s306、数据接收方向数据发送方发送tmmbr包。

s307、数据发送方接收到数据接收方发送的tmmbr包之后,向数据接收方发送tmmbn包。

s308、数据发送方从tmmbr包的字段中解析出对端请求的码率信息。

s309、数据发送方按照如下公式计算将要配置的编码码率bconfig:

其中,btmmbr为从tmmbr报文中解析出来的码率,bmax和bmin分别为码率配置区间的上限值和下限值。

s310、数据发送方的dsp编码模块根据bconfig完成编码码率的配置。

具体地,数据发送方的视频质量控制模块控制dsp编码模块根据根据bconfig完成编码码率的配置。

至此,数据发送方和数据接收方之间完成基于volte的视频通话码率调整。

本发明实施例还提供一种基于volte的视频通话码率调整装置,如图5所示,所述装置位于数据接收方,所述数据接收方用于发送tmmbr包,所述装 置包括:

判断单元11,用于判断所述数据接收方是否为第一次发送tmmbr包或是否接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数是否超过预定次数;

可选的,所述预定次数可以为2次。

估计单元12,用于当所述判断单元判断为第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时,估计下行接收码率;

第一计算单元13,用于计算rtp包的下行丢包率;

第二计算单元14,用于根据所述第一计算单元13计算出的rtp包的下行丢包率和所述估计单元14估计出的下行接收码率计算请求对端发送的码率;

第一发送单元15,用于根据所述请求对端发送的码率,向所述数据发送方发送tmmbr包。

本发明实施例提供的基于volte的视频通话码率调整装置,当为第一次发送tmmbr包或接收到数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时,估计下行接收码率并计算rtp包的下行丢包率,根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算请求对端发送的码率,根据所述请求对端发送的码率,向数据发送方发送tmmbr包,以便数据发送方从所述tmmbr包中解析出对端请求的码率信息,并计算将要配置的编码码率,根据所述将要配置的编码码率完成编码码率的配置。与现有技术相比,本发明能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

可选的,所述第一发送单元15,还用于在所述判断单元判断不是第一次发送tmmbr包且未接收到所述数据发送方的tmmbn包且同一个tmmbr包重 传的次数未超过预定次数时,根据上一次计算出的请求对端发送的码率向所述数据发送方发送tmmbr包。

可选的,所述估计单元12,用于按照如下方式估计下行接收码率:

当tcur≥tstart+tperiod时,按照公式(1)更新上一个统计周期的平均码率bprev:

bprev=(stotal-sprev)×8/(tcur-tstart),tstart>0(1)

其中,stotal为当前rtp包有效载荷长度的累积值,sprev为上一个周期rtp包有效载荷长度的累积值,tcur为当前时间,tstart为当前周期收到第一个包的时间,tperiod为时间周期,每个统计周期结束之后,tstart被清零,sprev则更新为stotal;

当tcur∈[tstart,tstart+tperiod)时,按照公式(2)对下行码率进行估计:

best=(1-α)·bprev+α·bcur(2)

其中,best为码率估计值,bprev为上一个统计周期的平均码率,bcur为当前的平均码率,α为权重系数,其中,α按照公式(3)取值:

可选的,所述第一计算单元13,用于按照如下方式计算rtp包的下行丢包率:

若累计的应接收的rtp数据包的个数(slast-sstart)大于等于阈值nthres,则根据公式(4)计算丢包率ploss:

ploss=(slast-sstart-nrecv)/(slast-sstart),slast-sstart≥nthres(4)

其中,slast为最近一个rtp包的序列号,sstart为统计周期内第一个rtp包的序列号,nrecv为统计周期内实际收到的rtp包个数。

可选的,所述第二计算单元14,用于按照如下方式计算请求对端发送的码率:

若ploss≥p1,p1为预设的第一丢包率阈值,则令n=0,初始化步进长度h0,并按照公式(5)和(6)计算请求对端发送的码率btmmbr,

h0=β·best(5)

btmmbr=best-hn(6)

其中,β为比例系数,0<β<1;

令n=n+1,若ploss≥p2,p2为预设的第二丢包率阈值,根据公式(7)更新步进长度hn,

其中,λ为常数,0<λ<1,p2为丢包率的收敛值,0<p2<p1;

若p2≤ploss<p1且不满足hn<hmin,则根据公式(6)计算btmmbr;

若0≤ploss<p2且不满足hn<hmin,则根据公式(8)计算btmmbr,

btmmbr=best+hn(8)。

本发明实施例还提供一种基于volte的视频通话码率调整装置,如图6所示,所述装置位于数据发送方,所述数据发送方用于接收tmmbr包,所述装置包括:

接收单元21,用于接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,其中,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到;

第二发送单元22,用于向所述数据接收方发送tmmbn包;

解析单元23,用于从所述tmmbr包中解析出对端请求的码率信息;

第三计算单元24,用于根据所述对端请求的码率信息计算将要配置的编码码率;

配置单元25,用于根据所述将要配置的编码码率完成编码码率的配置。

本发明实施例提供的基于volte的视频通话码率调整装置,接收数据接收方在第一次发送tmmbr包或接收到所述数据发送方的tmmbn包或同一个tmmbr包重传的次数超过预定次数时根据请求对端发送的码率发送的tmmbr包,所述请求对端发送的码率为所述数据接收方根据计算出的rtp包的下行丢包率和估计出的下行接收码率计算得到,从所述tmmbr包中解析出对端请求的码率信息,并计算将要配置的编码码率,根据所述将要配置的编码码率完成编码码率的配置。与现有技术相比,本发明能够基于实际网络带宽进行码率的动态调整,保证视频通话质量。

可选的,所述第三计算单元24,用于按照如下方式计算将要配置的编码码率:

按照公式(9)计算将要配置的编码码率bconfig:

其中,btmmbr为从tmmbr包解析出来的码率,bmax和bmin分别为码率配置区间的上限值和下限值。

本发明实施例还提供一种移动终端,包括上述位于数据接收方的基于volte的视频通话码率调整装置。

本发明实施例还提供一种移动终端,包括上述位于数据发送方的基于volte的视频通话码率调整装置。

在本发明实施例中,所述移动终端可以为支持volte的手机、pad等,但不仅限于此。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

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

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