一种基于h264的多路视频会议系统的抗误码方法及系统的制作方法

文档序号:9914474阅读:942来源:国知局
一种基于h264的多路视频会议系统的抗误码方法及系统的制作方法
【技术领域】
[0001]本发明属于信息技术领域,特别是涉及一种多路网络视频会议中的抗误码视频处理方法及系统。
【背景技术】
[0002]近年来,互联网、移动互联网、多媒体技术等都获得了快速发展,具有较好实时性和交互性的网络视频会议也得到了越来越广泛的应用。视频会议终端扩展到了手机、平板电脑、个人计算机等多种类型,视频质量面临着越来越高的要求,并且正逐渐成为各个厂商相互比拼的热点之一。
[0003]在网络视频会议系统中,各个终端一般处于不同的地点,终端之间的视频通话要经过互联网或移动互联网进行传输。然而网络通信一般都不能保证传输过程完全可靠,这就需要依靠一些技术手段来保证视频通信质量。目前,在视频编解码层面、码流传输层面、应用层面等都出现了很多新技术和新方法。
[0004]在编解码层面,H264编码器采用了数据分割、帧内编码、宏块级帧场自适应MBAFF、宏块重排FM0、长参考帧以及SP/SI帧技术等。当误码错误无法恢复时,可以使用错误隐藏技术来改善解码后的图像质量,但是这种改善无法恢复到原有的图像质量。另外,网络视频会议的特性限制了很多延迟大、复杂度高的抗误码技术的使用。
[0005]在码流传输层面,网络视频会议大多采用基于UDP协议的RTP/RTCP传输视频流,并采用冗余传输、错误检测和重传等技术来保证传输的可靠性。
[0006]近来,为了适应更加复杂的网络传输环境,满足网络视频会议的低延迟等特性,把视频编解码和视频码流传输结合起来设计整体抗误码方案,可以获得较好的效果。例如,在码流丢包时插入关键帧的实时流媒体丢包处理方案,根据解码器宏块错误信息反馈来灵活选择编码宏块的参考图像的方案,使用多个子序列并行独立编码和传输的方案,均获得了一定效果。
[0007]现有的技术方案或产品一般存在如下的问题:
[0008](I)在工程应用中,直接解码带有错误的视频码流,容易导致没有容错能力的视频解码器崩溃;网络视频会议的终端一般要支持多种不同的软件解码器、硬件解码器。逐个开发解码器的容错功能,一方面开发成本较高,另一方面将很难使用终端平台的通用硬件解码器来降低终端功耗和解码时间。
[0009](2)现有H264协议所述的抗误码机制和算法并不能保证码流传输的可靠性,他们只是为缓解码流传输错误出现几率提供了一些可选的工具和算法,并且很多工具和算法的实现复杂度较高,对编码处理器要求较高。
[0010](3)网络视频会议对延时比较敏感。如果在解码器模块处理码流错误并反馈错误信息,会增加会议系统的整体延时。
[0011](4)对于RTP层的视频码流错误检测和重传机制,如果重传次数太多则会加重网络负载和系统延时;如果重传次数少很难保证码流的完整性,只能依靠插入关键帧来保证视频帧的连续性,但是插入关键帧会导致码率突然增大,恶化网络传输环境。
[0012]因此,有必要提出一种新的技术方案。

【发明内容】

[0013]针对上述问题,本发明提出一种基于H264的多路视频会议系统抗误码方法及系统,把视频编解码和RTP传输统一考虑,降低了抗误码功能对视频解码器的依赖性和开发成本,降低了会议整体延时,避免了插入关键帧的码率增大。
[0014]本发明提供一种基于H264的多路视频会议系统的抗误码方法,所述抗误码方法包括如下步骤:
[0015]S1、把H264视频编码器配置成N个线程并行编码模式,将每帧待编码图像划分为N个Slice图像,把H264视频解码器缓存的参考帧数设置为M;
[0016]S2、在发送方客户端建立参考图像标志位列表,所述参考图像标志位列表与编码器输出的Ι/P帧参考图像对应,每个H264视频编码器对应一个唯一的长度为MXN的参考图像标志位列表;
[0017]S3、所述参考图像标志位列表接收H264视频编码器输出的编码码流和参考信息,所述参考信息为IP帧的帧号和SI i Ce图像;
[0018]S4、发送方客户端把包括编码码流和参考信息的视频码流打包成RTP包进行发送,每个RTP包最多包含一个slice图像的码流数据,并建立图像帧号、slice图像号和RTP包序号之间的关系唯一对应关系列表,所述对应关系列表最多保存M帧图像的对应关系;
[0019]S5、接收方客户端接收RTP包并判断RTP包序号是否连续、CRC校验是否正确,将序号连续、CRC校验正确的RTP包的视频码流发送给H264视频编码器,否则将RTP包的错误信息反馈给发送方客户端,所述H264视频解码器接收正确视频码流,并对视频码流进行解码。
[0020]进一步的,所述H264视频编码器把编码码流和参考信息输入至所述参考图像标志位列表,所述H264视频编码器开始编码P/B帧类型的图像前,从所述参考图像标志位列表中读取当前可用的参考图像的slice图像信息,更新至H264视频编码器的参考图像列表中。
[0021]进一步的,步骤S3中,所述参考图像标志位列表收到编码码流和参考信息后,若是IDR帧则清空参考图像标志位列表,否则按照帧号和slice图像信息插入到参考图像标志位列表,为每个s I ice图像设立一个标志位,并设置为“可参考”。
[0022]进一步的,步骤S5中,若接收方客户端判断RTP包错误,则将错误信息反馈到发送方客户端,发送方客户端可重传对应的RTP包,重传次数达到最大,则丢弃该RTP包,并根据图像帧号、sI ice图像号和RTP包序号,更新参考图像标志位列表中的sI ice图像为“不可参考,其中,重传次数最大可设置为2次。
[0023]进一步的,发送方客户端的参考图像标志位列表接收RTP包错误信息,并将错误信息反馈到H264视频编码器。
[0024]进一步的,根据权利要求1或2所述的基于H264的多路视频会议系统抗误码方法,步骤S5中,若H264视频解码器解码出的是Ι/P帧,则缓存该参考图像,根据系统延时要求,最大缓存可设置M= 15帧。
[0025]本发明还提供一种基于H264的多路视频会议系统的抗误码系统,所述抗误码系统包括发送方客户端和接收方客户端;
[0026]发送方客户端包括H264视频编码器、参考图像标志位列表模块和RTP包发送模块;
[0027]接收方客户端包括H264视频解码器和RTP包接收模块;
[0028]所述H264视频编码器用于输出编码码流和参考信息,所述参考信息为IP帧的帧号和slice图像,其中,所述H264视频编码器采用N个线程并行编码模式,将每帧待编码图像划分为N个Slice图像;
[0029]所述参考图像标志位列表模块,其用于建立参考图像标志位列表,所述参考图像标志位列表与H264视频编码器输出的Ι/P帧参考图像对应,所述参考图像标志位列表模块接收H264视频编码器输出的编码码流和参考信息,其中,每个H264视频编码器对应一个唯一的长度为MXN的参考图像标志位列表,M为解码器缓存的参考帧数;
[0030]所述RTP包发送模块,用于将参考图像标志位列表模块输出的包括编码码流和参考信息的视频码流打成RTP包发送,其中,每个RTP包最多包含一个slice图像的码流数据,并建立图像帧号、si ice图像号和RTP包序号之间的唯一对应关系列表,该对应关系列表最多保存M帧图像的对应关系;
[0031]所述RTP包接收模块,用于接收所述RTP包发送模块发送的RTP包,并判断RTP包序号是否连续、CRC校验是否正确;
[0032]所述H264视频解码器,用于解码RTP包接收模块发送序号连续、CRC校验正确的RTP包的视频码流,H264视频解码器缓存的参考帧数为M。
[0033]进一步的,所述H264视频编码器把编码码流和参考信息输入至所述参考图像标志位列表模块,所述H264视频编码器开始编码P/B帧类型的图像前,从所述参考图像标志位列表模块中读取当前可用的参考图像的slice图像信息,更新至H264视频编码器的参考图像列表中。
[0034]进一步的,所述参考图像标志位列表模块收到编码码流和参考信息后,若是IDR帧则清空参考图像标志位列表,否则按照帧号和slice图像信息插入到参考图像标志位列表,为每个slice图像设立一个标志位,并设置为“可参考”。
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1