一种自适应未知网络环境的视频编码及传输方法与流程

文档序号:11139208阅读:438来源:国知局
一种自适应未知网络环境的视频编码及传输方法与制造工艺

本发明涉及视频编码及传输技术领域,特别适用于承载视频通信的目标网络带宽及质量不可预知的情况。本发明提供的方法使视频发送者能够根据当前网络状况及时调整编码码率、前向纠错系数及平滑发送系数,保证视频流畅可靠地传输给接收端解码显示。



背景技术:

视频会议作为目前最先进的通讯技术,只需借助互联网即可实现高效高清的远程会议或办公,在持续提升用户沟通效率、缩减企业差旅费用成本、提高管理成效等方面具有得天独厚的优势,已部分取代商务出行,成为远程办公最新模式。

然而因为互联网环境异常复杂,视频会议各参会方可能处在不同质量的网络环境下,这就要求视频会议开始前需要专业技术人员花费大量时间提前试线,并根据结果调整视频编码、发送的各项参数,使视频会议的保障成本大幅升高;而且由于要兼顾到所有参会者,网络质量本来很好的参会者由于要适应网络质量不好的参会者,也不得不降低自己的要求,使视频会议的效果大打折扣。



技术实现要素:

本发明实施例提供一种自适应未知网络环境的视频编码及传输方法,使视频通话能够根据目标网络状况及时调整编码及传输参数,保证视频流畅可靠地传输给接收者解码显示,从而解决传统视频会议系统在未知网络环境下,开会前要花费大量时间提前试线并手工调整各项参数的问题。

为达到上术目的,本发明针对一对一视频通话和一对多视频通话这两种场景分别采用下述两种方案:

本发明实施例针对一对一视频通话,采用如下方案:

一方面,视频接收端实时统计接收带宽、接收帧率、丢包率,并将统计结果反馈给视频发送端;

另一方面,视频发送端统计发送带宽、发送帧率、长期不丢包时长、发送堆积系数,并结合接收端反馈的统计报告一起提交给NAC策略单元,NAC策略单元据此判断网络当前状况,并调整编码码率、前向纠错系数和平滑发送系数。

本发明实施例针对一对多视频通话,采用如下方案:

一方面,视频发送端编码三档不同码率的视频,满足不同接收者的差异化要求。

另一方面,视频经码流适配器分捡后再发送给各个接收者;码流适配器结合接收端反馈的统计报告和本地统计报告一起提交给NAC策略单元,NAC策略单元据此判断各接收者与码流适配器之间的网络状况,为各接收者分捡合适码率的视频、启用适当的前向纠错系数和平滑发送系数。

附图说明

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

图1为本发明一对一视频通话编码及发送示意图;

图2为本发明一对一视频通话发送端示意图;

图3为本发明一对一视频通话接收端示意图;

图4为本发明一对多视频通话编码、发送及码流适配器分捡示意图;

图5为本发明一对多视频通话码流适配器示意图。

具体实施方式

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

本发明的目标是,使视频通话能够自动适应未知网络,根据目标网络状况及时调整编码及传输参数,保证视频流畅可靠地传输给接收者解码显示。

本发明实施例针对两种不同的视频通信场景提供两种不同的自适应编码与传输方法,包括:

1. 一对一的视频通话,如图1所示。

2. 一对多的视频通话,如图4所示。

本发明实施例针对一对一视频通话,视频发送端结构如图2所示,包括:本地统计单元、接收端统计反馈接收单元、NAC策略单元、视频编码单元、前向纠错单元、平滑发送单元。

本发明实施例针对一对一视频通话,视频接收端结构如图3所示,包括:NAC统计与反馈单元、丢包恢复单元、解码显示单元。

本发明实施例针一对多的视频通话,码流适配器结构如图5所示,包括:分路本地统计单元、分路统计反馈接收单元、分路NAC策略单元、分路前向纠错单元、分路平滑发送单元。码流适配器功能包括:根据统计报告分别分析与每一个接收者之间的网络状况;从三路码流中分捡出一路合适码率的码流发送给接收者;为每路发送的码流设置合适的前向纠错和平滑发送系数。

本发明实施例针一对一视频通话和一对多的视频通话,接收端的设计相同。

本发明实施例针对一对一视频通话和一对一视频通话,自适应网络编码与传输是通过发送端(或码流适配器)和接收端各单元相互配合工作而实现的,具体步骤包括:

1. 选用三种为达到目标的手段,包括:

1) 调节平滑发送系数;

2) 调节编码码率;

3) 调节前向纠错系数;

2. 定义三种网络状况,包括:

1) 被认为可以稳定工作,其特征在于:

有丢包但丢包率一直在丢包可容忍度之内,或者,

偶尔有一次丢包超过容忍度,但小于两倍容忍度,且这种丢包间隔大于2分钟;

2) 被认为可以更好地工作,其特征在于,伤忆(上次丢包记忆)远离程度与连续不丢包时长满足下面条件::

伤忆发生在眼前(120秒内):离上次评估过了连续120秒无丢包才认为可更好地工作;

伤忆过了段时间(120秒外):离上次评估过了连续60秒无丢包才认为可更好地工作;

伤忆过去很久了(300秒外):离上次评估过了连续30秒无丢包才认为可更好地工作;

3) 被认为不能稳定工作,其特征在于:

丢包不在1) 2)范畴内;

3. 定义三个限定范围,包括:

1)码率调整范围

最大:程序设定的默认码率;

最小:编码器能编出且质量可被接受的最小码率;

2)平滑系数调整范围

最大:尽最大能力发送;

最小:以不产生发送堆积为前提条件;

3)前向纠错系数调整范围

默认能恢复5%丢包,最高50%。丢包容忍度等于前向纠错系数减2.5%;

4. 从两个来源收集信息用于评估网络状况,包括:

1) 接收者反馈的统计报告,其内容包括,平均统计码率、帧率、丢包率、平均丢包间隔;

2) 发送者统计报告,其内容包括,长期不丢包时长、发送堆积状况;

5. 根据1,2,3的定义和4中的信息来源评估出网络状况后,相应调整编码与传输参数,包括:

1) 可稳定工作状况,保持当前工作参数不变;

2) 可更好工作状况,上调质量,包括上调码率或降低延时(由上调平滑系数实现),平滑系数和码率在每个调整周期内只能调节一个,平滑与码率在调整中的占比如下:

平滑系数 平滑与码率在调整中的占比

< 1.5 1:1 - 上调1次平滑后上调1次码率

1.5 ~ 2.5 1:2 - 上调1次平滑后上调2次码率

2.5 ~ 4.0 1:4 - 上调1次平滑后上调4次码率

> 4.0 1:8 - 上调1次平滑后上调8次码率

平滑系数按下面系列顺序上调:

1.0 -> 1.5 -> 2.0 -> 3.0 -> 4.0 -> 6.0 -> 10.0 -> 20.0 -> 关闭平滑尽最大能力发送。

针对一对一视频通话,码率按下面系列顺序上调:

64 -> 128 -> 192 -> 256 -> 384 -> 512 -> 768 -> 1024 -> 1536 -> 2048 -> 3072 -> 4096 -> 之后每次加2048。

针对一对多视频通话,码率按编码端实际编码的三档码率顺序上调。

每调整一次参数后进入3秒长的调整保护期,期间不允许再调参数。

3) 不能稳定工作状况,下调质量,包括下调码率、加大平滑发送系数或加大前向纠错系数。

先按下面系列顺序下调平滑系数:

20.0 -> 10.0 -> 6.0 -> 4.0 -> 3.0 -> 2.0 -> 1.5 -> 1.0 -> 直到有数据堆积。

如果出现数据堆积或者满足下表条件,停止下调平滑,改为下调码率;

丢包率高出丢包容忍度8倍,并且,平滑系数小于10.0;或者,

丢包率高出丢包容忍度4倍,并且,平滑系数小于6.0;或者,

丢包率高出丢包容忍度3倍,并且,平滑系数小于4.0;或者,

丢包率高出丢包容忍度2倍,并且,平滑系数小于2.0;或者,

丢包率高出丢包容忍度1倍,并且,平滑系数小于1.5;

针对一对一视频通话,按下面系列下调码率:

大于4096每次减2048 -> 4096 -> 3072 -> 2048 -> 1536 -> 1024 -> 768 -> 512 -> 384 -> 256 -> 192 -> 128 -> 64。

针对一对多视频通话,按编码端实际编码的三档码率顺序下调。

如果码率已经到最小值,或者连续下调了3次码率,那么;

上调前向纠错系数2.5%(对应丢包容忍度跟着上调);

上述各参数在每个调整周期内只能调节一个,每调整一次参数后进入3秒长的调整保护期,期间不允许再调整参数。

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