一种编码器及控制方法与流程

文档序号:12479167阅读:332来源:国知局
一种编码器及控制方法与流程

本发明涉及通信领域,更具体地说,涉及一种编码器及控制方法。



背景技术:

近些年,由于通信技术、网络技术和视频压缩技术的发展,基于IP网络的音视频通信越来越受到广泛的应用,特别是在视频会议、视频监控、视频指挥调度、远程教育、远程医疗会诊等领域都广泛实用。其中音视频传输是其广泛应用的关键技术,而在一些特殊通信信道(比如无线网络),带宽有限并且带宽波动较大,网络抖动、延迟、丢包等不确定因素使得很难提供可靠的音视频业务。

现有的带宽自适应算法主要根据RTCP反馈的丢包率、时延、抖动等参数对带宽进行自动调整,但是这些算法简单且利用的信息单一,在实际的复杂网络环境下,带宽自动调整的效果并不理想,会出现卡顿,画面花屏,声音断续等问题,这严重影响了音视频业务的广泛应用。由于带宽的限制,编码器等设备产生的编码数据往往不能及时的通过网络发送出去,严重影响了音视频业务的实时传输。



技术实现要素:

本发明提供了一种编码器,所述编码器能根据当前预测带宽对目标码率进行调节,根据目标码率对分辨率参数、帧率参数进行调节,提高编码数据传输的可靠性。所述编码器包括:

控制模块,用于计算当前目标码率与当前预估带宽的比值γ,判断所述比值γ所处数值范围,查询所述比值γ所处数值范围对应的目标码率调节公式,根据所述目标码率调节公式计算目标码率,根据所述计算出的目标码率对当前目标码率进行调节,其中,所述目标码率调节公式为:目标码率=a*当前预估带宽,0<a<1。

进一步地,所述控制模块,还用于当γ<0.5时,将所述当前目标码率调整为0.5乘以所述当前预估带宽所得的值;

当0.5<=γ<0.6时,将所述当前目标码率调整为0.55乘以所述当前预估带宽所得的值;

当0.6<=γ<0.7时,将所述当前目标码率调整为0.65乘以所述当前预估带宽所得的值;

当0.7<=γ<0.8时,将所述当前目标码率调整为0.75乘以当前预估带宽所得的值;

当0.8<=γ<0.9时,将所述当前目标码率调整为0.85乘以当前时刻的预估带宽所得的值;

当0.9<=γ<1时,将所述当前目标码率调整为0.9乘以当前时刻的预估带宽所得的值。

进一步地,所述编码器还包括:

参数调节模块,用于判断所述调节后的目标码率所处的目标码率范围,根据所述调整后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

进一步地,所述参数调节模块,还用于判断所述当前目标码率是否在预设时间段内或者是否连续预设次数维持在同一目标码率范围内,当所述目标码率在预设时间段内或者连续预设次数维持在同一目标码率范围内、且所述调节后的目标码率与当前的目标码率所处的目标码率范围不同时,根据所述调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

进一步地,所述参数调节模块,还用于当所述目标码率大于2048kbps时,将分辨率调整为1080P、将帧率调整为25或者30帧/秒,当所述目标码率小于等于2048kbps且所述目标码率大于1024kbps时,将分辨率调整为720P、将帧率调整为25或者30帧/秒,当所述目标码率小于等于1024kbps且所述目标码率大于512kbps时,将分辨率调整为4CIF/D1/VGA、将帧率调整为25或者30帧/秒,当所述目标码率小于等于512kbps且所述目标码率大于128kbps时,将分辨率调整为CIF、将帧率调整为25或者30帧/秒,当所述目标码率小于等于128kbps时,将分辨率调整为QCIF、将帧率调整为15或者20帧/秒。

本发明还提供一种控制方法,所述控制方法能根据当前预测带宽对目标码率进行调节,根据目标码率对分辨率参数、帧率参数进行调节,提高编码数据传输的可靠性。所述控制方法包括:

计算当前目标码率与当前预估带宽的比值γ,判断所述比值γ所处数值范围;

查询所述比值γ所处数值范围对应的目标码率调节公式,根据所述目标码率调节公式计算目标码率;

根据所述计算出的目标码率对当前目标码率进行调节,其中,所述目标码率调节公式为:目标码率=a*当前预估带宽,0<a<1。

进一步地,所述控制方法还包括:

当γ<0.5时,将所述当前目标码率调整为0.5乘以所述当前预估带宽所得的值;

当0.5<=γ<0.6时,将所述当前目标码率调整为0.55乘以所述当前预估带宽所得的值;

当0.6<=γ<0.7时,将所述当前目标码率调整为0.65乘以所述当前预估带宽所得的值;

当0.7<=γ<0.8时,将所述当前目标码率调整为0.75乘以当前预估带宽所得的值;

当0.8<=γ<0.9时,将所述当前目标码率调整为0.85乘以当前时刻的预估带宽所得的值;

当0.9<=γ<1时,将所述当前目标码率调整为0.9乘以当前时刻的预估带宽所得的值。

进一步地,所述控制方法还包括:

判断所述调节后的目标码率所处的目标码率范围,根据所述调整后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

进一步地,所述控制方法还包括:

判断所述当前目标码率是否在预设时间段内或者是否连续预设次数维持在同一目标码率范围内,当所述目标码率在预设时间段内或者连续预设次数维持在同一目标码率范围内、且所述调节后的目标码率与当前的目标码率所处的目标码率范围不同时,根据所述调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

进一步地,所述控制方法还包括:

当所述目标码率大于2048kbps时,将分辨率调整为1080P、将帧率调整为25或者30帧/秒;

当所述目标码率小于等于2048kbps且所述目标码率大于1024kbps时,将分辨率调整为720P、将帧率调整为25或者30帧/秒;

当所述目标码率小于等于1024kbps且所述目标码率大于512kbps时,将分辨率调整为4CIF/D1/VGA、将帧率调整为25或者30帧/秒;

当所述目标码率小于等于512kbps且所述目标码率大于128kbps时,将分辨率调整为CIF、将帧率调整为25或者30帧/秒;

当所述目标码率小于等于128kbps时,将分辨率调整为QCIF、将帧率调整为15或者20帧/秒。

本发明提供的编码器及控制方法能计算当前目标码率与当前预估带宽的比值,并根据比值所在的数值范围对目标码率进行调节,根据调节后的目标码率对分辨率参数、帧率参数进行调节,确保在一定带宽下,能够传输音视频的编码数据,提高编码数据传输的可靠性。

附图说明

图1是本发明实施例一编码器的功能模块图;

图2是本发明实施例二编码器的功能模块图;

图3是本发明实施例三控制方法的流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1是本发明实施例一编码器的功能模块图。图1所示的编码器1包括控制模块2。控制模块2计算当前目标码率与当前预估带宽的比值γ,判断所述比值γ所处数值范围,查询所述比值γ所处数值范围对应的目标码率调节公式,根据所述目标码率调节公式计算目标码率,根据所述计算出的目标码率对当前目标码率进行调节,其中,所述目标码率调节公式为:目标码率=a*当前预估带宽,0<a<1。补充说明的是,在不同的数值范围,a对应的数值是不同的。

在一般情况下,可以对0到1之间的数值根据需要划分为多个数值范围,例如,将数值划分为γ<0.5、0.5<=γ<0.6、0.6<=γ<0.7、0.7<=γ<0.8、0.8<=γ<0.9、0.9<=γ。在划分数值范围的同时,设置每个数值范围对应的目标码率计算公式,设置公式如下:

为γ<0.5区间设置的公式为:目标码率等于0.5乘以所述当前预估带宽所得的值;

为0.5<=γ<0.6区间设置的公式为:目标码率等于0.55乘以所述当前预估带宽所得的值;

为0.6<=γ<0.7区间设置的公式为:目标码率等于0.65乘以所述当前预估带宽所得的值;

为0.7<=γ<0.8区间设置的公式为:目标码率等于0.75乘以当前预估带宽所得的值;

为0.8<=γ<0.9区间设置的公式为:前目标码率调整为0.85乘以当前时刻的预估带宽所得的值;

为0.9<=γ<1区间设置的公式为:目标码率调整为0.9乘以当前时刻的预估带宽所得的值。

当γ<0.5时,控制模块2将所述当前目标码率调整为0.5乘以所述当前预估带宽所得的值;

当0.5<=γ<0.6时,控制模块2将所述当前目标码率调整为0.55乘以所述当前预估带宽所得的值;

当0.6<=γ<0.7时,控制模块2将所述当前目标码率调整为0.65乘以所述当前预估带宽所得的值;

当0.7<=γ<0.8时,控制模块2将所述当前目标码率调整为0.75乘以当前预估带宽所得的值;

当0.8<=γ<0.9时,控制模块2将所述当前目标码率调整为0.85乘以当前时刻的预估带宽所得的值;

当0.9<=γ时,控制模块2将所述当前目标码率调整为0.9乘以当前时刻的预估带宽所得的值。

参阅图2,图2是本发明实施例二编码器的功能模块图。图2所示的编码器1中包括控制模块2、参数调节模块3。图2所示的编码器1的控制模块2的功能与图1所示的编码器1的控制模块2的功能相同,在此不做赘述。参数调节模块3判断所述调节后的目标码率所处的目标码率范围,根据所述调整后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

为了防止太过频繁地调整分辨率和帧率等编码参数,所述参数调节模块3判断所述当前目标码率是否在预设时间段内或者是否连续预设次数维持在同一目标码率范围内,当所述目标码率在预设时间段内或者连续预设次数维持在同一目标码率范围内、且所述调节后的目标码率与当前的目标码率所处的目标码率范围不同时,根据所述调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数,例如,所述参数调节模块3判断目标码率在一个目标码率范围内维持至少2分钟或者连续20次以上,当目标码率在一个目标码率范围内维持至少2分钟或者连续20次以上,且调节后的目标码率与调节前的目标码率不在同一目标码率范围内时,根据调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。

具体而言,将目标码率范围及每个目标码率范围对应的分辨率参数、帧率参数按照以下原则制定:

目标码率>2048kbps时,设置分辨率为1080P、帧率为25或者30帧/秒;

1024kbps<目标码率<=2048kbps时,设置分辨率为720P、将帧率为25或者30帧/秒;

512kbps<目标码率<=1024kbps时,设置分辨率为4CIF/D1/VGA、将帧率为25或者30帧/秒;

128kbps<目标码率<=512kbps时,设置分辨率为CIF、帧率为25或者30帧/秒;

目标码率<=128kbps时,设置分辨率为QCIF、帧率为15或者20帧/秒。

当所述目标码率大于2048kbps时,所述参数调节模块3将分辨率调整为1080P、将帧率调整为25或者30帧/秒,当所述目标码率小于等于2048kbps且所述目标码率大于1024kbps时,参数调节模块3将分辨率调整为720P、将帧率调整为25或者30帧/秒,当所述目标码率小于等于1024kbps且所述目标码率大于512kbps时,参数调节模块3将分辨率调整为4CIF/D1/VGA、将帧率调整为25或者30帧/秒,当所述目标码率小于等于512kbps且所述目标码率大于128kbps时,参数调节模块3将分辨率调整为CIF、将帧率调整为25或者30帧/秒,当所述目标码率小于等于128kbps时,参数调节模块3将分辨率调整为QCIF、将帧率调整为15或者20帧/秒。

本发明还提供一种控制方法,该方法应用于图1、2所示的编码器1,下面对本实施例的控制方法进行详细介绍。

参阅图3,图3是本发明实施例三控制方法的流程图。

控制模块2计算当前目标码率与当前预估带宽的比值γ,判断所述比值γ所处数值范围,查询所述比值γ所处数值范围对应的目标码率调节公式,根据所述目标码率调节公式计算目标码率,根据所述计算出的目标码率对当前目标码率进行调节,其中,所述目标码率调节公式为:目标码率=a*当前预估带宽,0<a<1。补充说明的是,在不同的数值范围,a对应的数值是不同的。本实施例中的具体流程如下:

在步骤S11中,调整编码器,更新目标码率。

在步骤S12中,编码器1的控制模块2获取目标码率D、预测带宽p,控制模块2计算当前目标码率D与当前预估带宽p的比值γ,判断所述比值γ所处数值范围。

在步骤S13中,控制模块2判断出述比值γ<0.5,进入步骤S19。

在步骤S19中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.5*预测带宽p。

在步骤S14中,控制模块2判断出述比值0.5<=γ<0.6,进入步骤S20。

在步骤S20中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.55*预测带宽p。

在步骤S15中,控制模块2判断出述比值0.6<=γ<0.7,进入步骤S21。

在步骤S21中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.65*预测带宽p。

在步骤S16中,控制模块2判断出述比值0.7<=γ<0.8,进入步骤S22。

在步骤S22中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.75*预测带宽p。

在步骤S17中,控制模块2判断出述比值0.8<=γ<0.9,进入步骤S23。

在步骤S23中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.85*预测带宽p。

在步骤S18中,控制模块2判断出述比值0.9=<γ,进入步骤S24。

在步骤S24中,控制模块2根据所述目标码率调节公式计算目标码率,其中目标码率调节公式为:目标码率D=0.9*预测带宽p。

为了防止太过频繁地调整分辨率和帧率等编码参数,所述参数调节模块3判断所述当前目标码率是否在预设时间段内或者是否连续预设次数维持在同一目标码率范围内,当所述目标码率在预设时间段内或者连续预设次数维持在同一目标码率范围内、且所述调节后的目标码率与当前的目标码率所处的目标码率范围不同时,根据所述调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。具体步骤如下:

在步骤S25中,所述参数调节模块3判断目标码率是否在一个目标码率范围内维持至少2分钟或者连续20次以上,并且判断调节后的目标码率与调节前的目标码率是否不在同一目标码率范围内。

当目标码率在一个目标码率范围内维持至少2分钟或者连续20次以上,并且调节后的目标码率与调节前的目标码率不在同一目标码率范围内时,在步骤S26中,参数调节模块3根据调节后的目标码率所处的目标码率范围调整分辨率参数、帧率参数。具体调整步骤如下:

在步骤S27中,当参数调节模块3判断出所述目标码率大于2048kbps时,即BW>2M,所述参数调节模块3将分辨率调整为1080P、将帧率调整为25或者30帧/秒。

在步骤S28中,当参数调节模块3判断出所述目标码率小于等于2048kbps且所述目标码率大于1024kbps时,即1M<BW<=2M时,参数调节模块3将分辨率调整为720P、将帧率调整为25或者30帧/秒。

在步骤S29中,当参数调节模块3判断出所述目标码率小于等于1024kbps且所述目标码率大于512kbps时,即512K<BW<=1M时,参数调节模块3将分辨率调整为4CIF/D1/VGA、将帧率调整为25或者30帧/秒。

在步骤S30中,当所述目标码率小于等于512kbps且所述目标码率大于128kbps时,即1M<BW<=2M时,参数调节模块3将分辨率调整为CIF、将帧率调整为25或者30帧/秒。

在步骤S31中,当所述目标码率小于等于128kbps时,即BW<=128K时,参数调节模块3将分辨率调整为QCIF、将帧率调整为15或者20帧/秒。

本发明提供的编码器及控制方法能计算当前目标码率与当前预估带宽的比值,并根据比值所在的数值范围对目标码率进行调节,根据调节后的目标码率对分辨率参数、帧率参数进行调节,确保在一定带宽下,能够传输音视频的编码数据,提高编码数据传输的可靠性。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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