首页> 中国专利> 延迟约束条件下基于系统RS码的视频编解码系统及其方法

延迟约束条件下基于系统RS码的视频编解码系统及其方法

摘要

著录项

  • 公开/公告号CN102404572A

    专利类型发明专利

  • 公开/公告日2012-04-04

    原文格式PDF

  • 申请/专利权人 西交利物浦大学;

    申请/专利号CN201110372939.7

  • 发明设计人 林春雨;肖继民;罗天明;

    申请日2011-11-22

  • 分类号H04N7/26;H04N7/14;

  • 代理机构苏州创元专利商标事务所有限公司;

  • 代理人范晴

  • 地址 215123 江苏省苏州市工业园区独墅湖高等教育区仁爱路111号

  • 入库时间 2023-12-18 04:42:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-11-27

    授权

    授权

  • 2012-06-13

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20111122

    实质审查的生效

  • 2012-04-04

    公开

    公开

说明书

技术领域

本发明属于视频网络传输中的编解码技术领域,具体涉及一种延迟约束 条件下基于系统RS码的视频编解码系统及其方法。

背景技术

在一些实时性要求较高的视频通信应用场景中,对视频延迟往往有一定 的容忍范围,如视频会议的场景下,150~400ms是启动延迟的容忍范围。 当到某一视频包的传输超过了这一时间阈值,同时又轮到了这一视频包所在 视频帧的显示时刻,那么该视频包将被认为是丢失的。另一方面,由于大量 多媒体数据的传输,经常造成网络拥塞和网络丢包。而在H.264/AVC和其 它一些视频编码标准中,由于运动估计和运动补偿的使用,单个包的丢失往 往会对随后多帧造成影响。

对于第一个问题,常见的方法是加速编码器编码速度,同时减少传输过 程中时间。加速编码器无疑给编码器的设计带来了较大负担,为了减少编码 时间,编码性能经常会大大下降,如 http://x264dev.multimedia.cx/archives/249中说明X264中为了进行并行加 速同时减少编码时延,只能在帧内使用片级(Slice)并行,造成编码性能有较 大损失。

针对上面的第二个问题,目前常见的方法是使用一些容错编码技术。这 些技术包括帧内宏块刷新(Intra Macroblock Refreshment)[参见R.Zhang, S.L.Regunathan,and K.Rose.Video coding with optimalinter/intra-mode  switching for packet loss resilience.Selected Areas in Communications, IEEE Journal on,18(6):966-976,June 2000.Yuan Zhang,Wen Gao, Yan Lu,Qingming Huang,and Debin Zhao.Joint source-channel  rate-distortion optimization for h.264 video coding over error-prone  networks.Multimedia,IEEE Transactions on,9(3):445-454,2007.], 自动重传请求(ARQ)[参见S.Soltani,K.Misra,and H.Radha.Delay  constraint error control protocol for real-time video communication. Multimedia,IEEE Transactions on,11(4):742-751,2009.],基于反馈 的参考帧选择(RPS)[参见Shunan Lin,Shiwen Mao,Yao Wang,and S. Panwar.A reference picture selection scheme for video transmission over  ad-hoc networks using multiple paths.In Multimedia and Expo,2001. ICME 2001.IEEE International Conference on,pages 96-99,2001.]和 多描述编码(MDC)[参见I.Radulovic,P.Frossard,Ye-Kui Wang,M.M. Hannuksela,and A.Hallapuro.Multiple description video coding with  h.264/avc redundant pictures.Circuits and Systems for Video Technology, IEEE Transactions on,20(1):144-148,2010.和John G.Apostolopoulos  Brian A.Heng and Jae S.Lim.End-to-end ratedistortion optimized md  mode selection for multiple description video coding.EURASIP Journal on  Applied Signal Processing,2006.],以及前向纠错(FEC)编码技术[参见 E.Baccaglini,T.Tillo,and G.Olmo.Slice sorting for unequal loss  protection of video streams.Signal Processing Letters,IEEE,2008.X. Yang,Ce Zhu,Zheng Guo Li,Xiao Lin,and Nam Ling.An unequal  packet loss resilience scheme for video over the internet.Multimedia, IEEE Transactions on,7(4):753-765,2005.N.Thomos,S. Argyropoulos,N.V.Boulgouris,and M.G.Strintzis.Robust transmission  of h.264/avc video using adaptive slice grouping and unequal error  protection.In Multimedia and Expo,2006 IEEE International Conference  on,pages 593-596,2006.]。在这些抗误码技术中,帧内宏块刷新和多 描述编码不会产生额外延时,因此更适合实时视频通信。但是,就帧内宏块 刷新技术而言,由于帧内编码效率远低于帧间编码的效率,导致整体编码效 率显著降低。在多描述编码中,当冗余版本替代了原始版本或者当一些描述 在传输过程中丢失时,就会造成失配误差。而失配误差将会传播至整个图像 组(GOP)。

由于网络往返时延,自动重传请求和参考帧选择(RPS)技术都会产生 较长延时,因此,这两种技术都无法应用在实时视频通信中。而在前向纠错 码技术(FEC)中,时延的长短取决于FEC编码数据块的大小。如 Reed-Solomon(RS)码中在K个原始数据包中引入N-K个校验包来保护数 据,其中的原始数据称为信息位,对应的RS码称为(N,K)码。就RS编码 而言,对于相同的编码率K/N,增加K的值会提高RS编码的性能。但是, K值过大意味着需要较多大的RS编码块。对于实时视频编码,需要等待采 集多帧之后进行编码生成视频包,因此导致了较长的时延。 Reed-Solomon(RS)编码块包含了整个图像组,并且产生了一个图像组的延 时。对于视频会议等实时应用场景,这样的时延是不可接受的。本发明因此 而来。

发明内容

本发明目的在于提供一种延迟约束条件下基于系统RS码的视频编解码 系统,解决了现有技术中视频编解码传输时较长延时,无法应用在实时视频 通信中等问题。

为了解决现有技术中的这些问题,本发明提供的技术方案是:

一种延迟约束条件下基于系统RS码的视频编解码系统,包括处于网络 传输信道两端的编码端和解码端,其特征在于所述编码端包括用于对图像组 视频帧进行实时编码的主编码器和对图像组视频帧进行RS(N,K)编码的 RS编码器,所述编码端将视频图像组划分成若干个子图像组,所述主编码器 实时编码子图像组形成视频数据包放入传输信道传输,并将视频数据包存入 视频缓冲区;所述RS编码器以子图像组的视频数据包为信息位生成子图像 组的校验数据包,并放入传输信道传输;

所述解码端包括用于对图像组数据包进行实时解码和显示的主解码器、 用于通过校验数据包进行RS(Reed-Solomon)解码恢复视频数据包的RS解 码器和通过恢复视频数据包对图像组视频帧进行更新恢复的后端解码器,所 述解码端接收到视频数据包,如果是延迟到来的数据包,先要通过后端解码 器进行解码然后更新前面的参考帧,否则先通过主解码器进行视频实时解码 和显示视频帧;当主解码器不能解码时,根据校验数据包的情况调用RS解 码器解码;当RS解码器恢复视频数据包,则启用后端解码器重新解码后更 新视频参考帧;当RS解码器不能恢复视频数据包时,解码端通过错误掩盖 处理。

优选的,所述传输的带宽和丢包概率分别为w和p,每帧包含恒定的视 频数据包m个,每个包的大小为恒定值x,那么理想情况下,帧率为q fps 进行视频数据传输的同时具备的约束条件是:

N*(1-p)≥S*m                    (1);

N*x≤w*S/q                      (2);

其中,S为子图像组的大小,S*m为所有视频包的数量,即K的值,N 为视频包和校验包的总长度。

本发明的另一目的在于提供一种采用所述的系统进行延迟约束条件下 基于系统RS码的视频编解码方法,所述方法中编码端和解码端处于网络传 输信道两端的,其特征在于所述方法包括以下步骤:

(1)所述编码端将视频图像组划分成若干个子图像组,所述主编码器 实时编码子图像组形成视频数据包放入传输信道传输,并将视频数据包存入 视频缓冲区;所述RS编码器以子图像组的视频数据包为信息位进行RS(N, K)编码生成子图像组的校验数据包,并放入传输信道传输;

(2)所述解码端接收到视频数据包,如果是延迟到来的数据包,先要 通过后端解码器进行解码然后更新前面的参考帧,否则先通过主解码器进行 视频实时解码和显示视频帧;当主解码器不能解码时,根据校验数据包的情 况调用RS解码器解码;当RS解码器恢复视频数据包,则启用后端解码器重 新解码后更新视频参考帧;当RS解码器不能恢复视频数据包时,解码端通 过错误掩盖处理。

优选的,所述方法中所述传输的带宽和丢包概率分别为w和p,每帧包 含恒定的视频数据包m个,每个包的大小为恒定值x,那么理想情况下,帧 率为q fps进行视频数据传输需要同时具备的约束条件是:

N*(1-p)≥S*m                    (1);

N*x≤w*S/q                      (2);

其中,S为子图像组的大小,S*m为所有视频包的数量,即K的值,N 为视频包和校验包的总长度。

优选的,所述方法步骤(1)中编码端的具体按照如下步骤进行:

A1)编码端先设置确定子图像组和RS码的长度,主编码器开始进行某 一子图像组的编码;

A2)主编码器编码按照子图像组的视频帧顺序进行,主编码器编码后将 子图像组的视频帧数据包发送到传输信道上发送,并且将子图像组的视频帧 数据包存入视频缓冲区,然后编码端根据子图像组的视频帧位置判断是否通 过RS编码器进行产生校验码;

A3)当子图像组的视频帧位置为该子图像组的视频结尾帧时,主编码器 编码后将子图像组的视频帧数据包发送到传输信道上发送,并且将子图像组 的视频帧数据包存入视频缓冲区,RS编码器对整体的子图像组的视频帧数据 包进行RS(N,K)编码产生校验码,发送到传输信道上发送;然后主编码 器进行编码下一个子图像组,继续循环。

优选的,所述方法步骤(2)具体按照如下步骤进行:

B1)当所述解码端接收到视频数据包后,如果是延迟到来的数据包,先 要通过后端解码器进行解码然后更新前面的参考帧,否则主解码器尝试进行 视频数据包解码;当主解码器能够进行视频实时解码时,主解码器输出显示 视频帧并同时将视频帧放入视频参考帧队列面;

B2)当主解码器不能够进行视频实时解码时,解码端判断是否通过RS解 码器RS解码已收到数据校验包恢复视频数据包;当RS解码器RS解码能够 恢复视频数据包时,解码端通过后端解码器重新解码恢复后的视频数据包, 并更新视频参考帧到恢复后的视频帧;

B4)当在允许的延时阈值内未接收到视频数据包或丢失的数据包大于 N-K时,解码端进行视频帧的错误掩盖处理。

优选的,所述方法步骤(1)中通过贪婪算法确定图像组中子图像组的 数量和子图像组的分配位置。

优选的,所述贪婪算法是根据校验包放在单幅影像画面帧的不同的位 置,获得不同子图像组分配造成的误差期望;当形成最小误差期望时,所放 置的单幅影像画面的位置为该校验包的位置;然后继续寻找下一个校验包的 位置。

优选的,所述方法步骤(1)中进行视频数据传输还满足以下约束条件:

S*m≤N                                (3);

其中,S为子图像组的大小,m为每帧包含恒定的视频数据包,S*m为 所有视频包的数量,即K的值,N为视频包和校验包的总长度。

正常情况下主编码器在视频数据包解码成1个帧后会直接显示,并同时 被放在参考帧队列里面供后面编码使用。主编码器在解码的同时放入参考帧 队列。

本发明提出了延迟约束条件下基于系统RS码的视频编解码系统,该系 统具有以下特点:第一,编码端一方面编码并发送视频包数据,同时将整个 子图像组编码生成的视频包存入缓存区并作为系统RS码(systematic  Reed-Solomon code)的信息位,由于利用整个子图像组的视频包作为信息位, 提高了RS编码的效率;第二,解码端使用后端解码器以利用延迟到达的视 频包;第三,解码端使用RS解码器以尽量恢复子图像组内丢失的视频包。

整个解码系统主要有三个优点,并且主要体现在后端解码器和RS解码 上。

第一,延迟到达的数据包并不完全丢掉,后端解码器将在后端对延迟到 达的数据包和与该包相关的所有以前到达的视频包做更新解码操作,同时更 新主解码器的视频参考帧,这样随后到达的视频包就有了正确的参考帧,由 于延迟包造成的误差扩散被截断。

第二,每多收到一个数据包,RS解码器都尝试使用RS解码器解码, 如果到达的总数据包数量大于K个,RS解码器可以还原子图像组中的所有 视频包,随后,后端解码器将会利用接收到的视频包和还原重建的视频包对 这个子图像组进行重新解码并更新主解码器参考帧。

第三,由于目前的Internet架构无法保证先发送的视频包在时间上一定 优先到达,因此后面发送的视频包经常有先到的可能,在未到达当前帧的显 示时刻前,如果整个子图像组的视频数据包超过了K个,那么尽管此时可能 当前帧的视频包还没有完全接收到,仍然可以使用RS解码恢复整个子图像 组的所有视频包,这样就实现了在当前帧视频包没有完全接收到的条件下, 却可以显示该视频帧的目的。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明实施例编码端的架构示意图;

图2为本发明实施例编码端的具体工作流程示意图;

图3为本发明实施例解码端的架构示意图;

图4为本发明实施例解码端的具体工作流程示意图;

图5为本发明实施例解码端数据包到达显示时序图;

图6为不同延迟允许条件下的PSNR实验结果;

图7为不同子图像组大小条件下的PSNR实验结果。

具体实施方式

以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是 用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以 根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的 条件。

实施例延迟约束条件下基于系统RS码的视频编解码系统

本实施例采用的延迟约束条件下基于系统RS码的视频编解码系统,包 括处于网络传输信道两端的编码端和解码端,所述编码端包括用于对图像组 视频帧进行实时编码的主编码器和对图像组视频帧进行RS(N,K)编码的 RS编码器,所述编码端将视频图像组划分成若干个子图像组,所述主编码器 实时编码子图像组形成视频数据包放入传输信道传输,并将视频数据包存入 视频缓冲区;所述RS编码器以子图像组的视频数据包为信息位生成子图像 组的校验数据包,并放入传输信道传输;所述解码端包括用于对图像组数据 包进行实时解码和显示的主解码器、用于通过校验数据包进行RS (Reed-Solomon)解码恢复视频数据包的RS解码器和通过恢复视频数据包 对图像组视频帧进行更新恢复的后端解码器,所述解码端接收视频数据包, 如果是延迟到来的数据包,先要通过后端解码器进行解码然后更新前面的参 考帧,否则先通过主解码器进行视频实时解码和显示视频帧;当主解码器不 能解码时,根据校验数据包的情况调用RS解码器解码;当RS解码器恢复视 频数据包,则启用后端解码器重新解码后更新视频参考帧;当RS解码器不 能恢复视频数据包时,否则解码端通过错误掩盖处理。

下面对编码端和解码端分别介绍如下:

图1所示为编码端示意图,首先对采集到的视频帧进行实时编码。在传 统编码器中,采集的视频进行编码然后将生成的视频包送入信道传输。在此 基础上,本发明主编码器同时将编码生成的视频包保存在视频缓存区中,缓 存区的作用相当于备份了信道中传输的视频包,以供RS编码的信息位使用。 当主编码器采集的视频帧达到子图像组的数量时(本实施例中子图像组与图 像组概念相近,但是所包含的视频帧数量不超过其对应的图像组,通常一个 图像组包含多个子图像组,具体数量和子图像组的分组位置通过贪婪算法确 定),将视频缓存区中备份的整个子图像组的视频包作为信息位进行RS(N, K)编码。由于这一编码技术在编码端使用系统RS码保护视频包,因此原始 的视频包数据不会受到改变,而这些视频包(K)之前就已经无延时地发送到 了接收端,因此只需要将校验包(N-K)再发送到接收端即可。这里使用了子 图像组作为RS编码的信息位,相当于增加了K的长度,进而提升了RS编码 的效率。此处将视频包和校验包统称为数据包。

编码端的具体流程如图2所示,其中子图像组的大小和RS编码的长度 可根据网络情况设定。假设信道的带宽和丢包概率分别为w和p,再假设每 帧包含恒定的数据包m个,每个包的大小为恒定值x,那么理想情况下,帧 率为25fp s的视频传输应用场景中,需要保证如下条件:

N*(1-p)≥S*m                                    (1);

N*x≤w*S/25                                     (2);

S*m≤N                                          (3);

其中,S为子图像组的大小,S*m为所有视频包的数量(K),N为视频包 和校验包的总和,即RS编码需要考虑的长度。

对于RS(N,K)编码,当传输N个数据包时,只要接收到的数据包大于K 个,RS码就可以恢复丢失的数据包。约束条件(1)表示经过RS编码后,以 丢包率p传输N个数据包时,接收到的数据包N*(1-p)需要大于S*m。约束 条件(2)表示整个RS编码后包括视频包和校验包的总和(N*x)要小于信 道的带宽,其中S/25表示子图像组所占的时间长度,即N个数据包需要在 S/25这段时间内传送出去,w*S/25为这段时间所占用的带宽。约束条件(3) 要求视频包的数量要小于视频包和校验包的总和(K≤N),否则这个子图像 组的大小需要增大。实际应用中,信道的带宽和丢包率可以通过数据包的发 送情况估计出来,即使网络情况不稳定,也可以估计出丢包率的上限值作为 约束条件。

编码端可以按照如下伪代码的方式实现:

图3所示为解码端示意图,其中,主解码器的作用与传统的解码器一致, 即完成实时解码和显示的功能。具体而言,主解码器在到达每一帧的显示时 刻将该帧解码并显示,此时只需要与此帧相关的数据包。如果这一帧中的某 些包在传输过程中丢失或超过允许的延时阈值,尝试使用当前子图像组的RS 解码恢复丢失或者超时的数据包,如果恢复失败,将使用误差掩盖技术来恢 复丢失包。这样,视频帧在解码端的显示不会产生额外时延。这里的误差掩 盖技术常用的如H.264里面正常的错误隐藏技术。

解码端的具体流程图如图4所示,其中T为启动延时,即接收端等待T 后开始显示第一帧数据;更新标志update_flag设置为1时表示需要后端解 码器或RS解码器重新解码并对参考帧进行更新操作。

解码端可以按照如下伪代码的方式实现:

以下结合三种具体情况对上述方案做进一步说明,图5所示为解码端数 据包到达显示时序示意图。

第一种情况为延迟包发生的情况。其中红色包为延迟发生情况下的示意 包,图中子图像组中的第一帧的第三个视频包在其显示时间t1没有到达, 此时解码端只能利用错误隐藏恢复该视频包,同时将重建的第一帧显示给用 户。在第二帧的显示时刻t2,第一帧的第三个视频包延迟到达了,此时后端 解码器将首先使用该视频包,同时结合之前接收到的第一帧的其它视频包进 行解码恢复出第一帧,然后利用该第一帧更新主解码器参考帧序列中已经存 储的第一帧数据,作为第二帧的参考。在这种情况下,延迟包带来的影响在 第二帧之后即被截断了。

第二种情况为发生丢包的情况。仍以第一个子图像组为例,其中采用的 RS码为(15,12)。在t3时刻,如果整个子图像组的视频包出现了丢包现象, 那么只要丢包的数量少于3个,即只要接收到的视频包数量(包括延迟到达 的视频包)大于等于12个,那么可以利用RS解码恢复丢失的视频包,这样 整个子图像组中由于丢包造成的误差影响在该子图像组内得以截断。

第三种情况为视频包随机到达的情况。以第一个子图像组为例,在第一 帧的显示时刻t1,如果第一帧的某些视频包发生了错误或延迟,此时只能显 示经过错误隐藏的视频数据给用户。但是如果此时第二帧和第三帧以及一些 校验包已经到达了,且所有到达的包的总数大于等于K(此处K=12),那么 可以在后端做RS解码并将正确的第一帧显示给用户,这样没有给后面帧造 成任何误差扩散。

可见这种解码机制的基本原理是对延迟到来的视频包加以利用,同时提 高RS编码中信息位K的大小,进而提高RS编码效率。值得指出的是,延迟 包的利用又会进一步提高RS编码性能,如在一个子图像组最后一帧的显示 时刻,第一帧或第二帧中的延迟包将以很大的概率接收到,此时相当于增加 了接收到的数据包的数量。

本实施例采用H.264JM软件来生成视频流,在生成视频包的时候采用 了固定包长度的方式,考虑到了无线网络的最大传输单元限制,将目标视频 包大小设成了400字节,每个分片(Slice)放在一个网络包中传送。在H.264 预测编码过程中只使用一个编码参考帧。H.264图像组(GOP)的结构为 IPPP…,即在一个图像组中除了第一帧是I帧外,其它的帧都为P帧。I帧 是帧组GOP的基础帧(第一帧),在一组中只有一个I帧。I帧不需要参考其 他画面而生成,I帧描述了图像背景和运动主体的详情,I帧是P帧的基础 参考帧(其质量直接影响到同组中以后各帧的质量)。P帧是以I帧或前面的 其它P帧为参考帧,在前面的I帧或P帧中找出当前P帧“某点”的预测值 和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I 帧I帧或前面的其它P帧中找出P帧“某点”的预测值并与差值相加以得到 P帧“某点”样值,从而可得到完整的P帧。P帧可以是其后面P帧的参考 帧,P帧可以使用I帧做预测,也可以使用前一个P帧做预测。测试所用的 视频序列为标准的CIF格式Foreman序列。

图6给出了在丢包率为10%条件下,不同的延迟允许条件下的实验结果, 其中子图像组的大小设为3,所有延迟到达的数据包,后端解码器都会对其 进行重新解码并更新参考帧。图7给出了丢包率为10%条件下,不同子图像 组大小对PSNR的影响。两个测试结果中,RS编码的冗余率均为40%,即 (N-K)/K=0.4。

上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技 术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护 范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的 保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号