一种基于柯西rs编码的视频帧数据网络传输方法

文档序号:7553516阅读:358来源:国知局
专利名称:一种基于柯西rs编码的视频帧数据网络传输方法
技术领域
本发明涉及音视频数据网络传输领域,具体涉及一种基于柯西RS编码的视频帧数据网络传输方法。
背景技术
目前国内外在网络数据可靠传输研究方面已经取得了诸多成果,如自动重传机制(ARQ)、无需重传的前向纠错编码算法(FEC)或者结合自动重传和前向纠错的实现机制,其中FEC的实现又有多种方法,如Turbo码、Pro-MPEG CoP3码、Raptor码和RS码等。自动重传机制(ARQ)即当接收端检测到数据包丢失时需要发送重传请求给发送端,发送端根据接收到的重传请求包再次发送需要重传的数据包。这种方法原理上简单,但实现上存在诸多问题,如需要在发送端缓存已经发送的但还未进行确认的数据包,直到被确认或需要进行重传;并且当应用于复杂的网络拓扑结构(如存在多级路由的网络环境),或者运用于诸如深空通信领域之类的高延时高丢包率环境时,重传数据会引入较大的延时,这在实时性要求较高的视频系统领域是无法令人接受的。FEC (Forward Error Correction,前向纠错)是一种基于差错和纠错编码的数据编码技术,通信领域中常使用它对通信过程中出现的差错进行纠正。FEC是一种很好的适用于实时视频应用的丢包恢复策略。Raptor码是FEC编码方法中的一种,其主要思想是采用两步编码方法,首先用传统纠删码对源符号进行预编码,生成中间符号,然后对中间符号采用弱化的LT进行再次编码,最终生成编码符号。这样实现编码时需要对源符号做两次运算,并且两次运算是不同的运算,实现起来会比较复杂。

发明内容
本发明提供了一种基于柯西RS编码的视频帧数据网络传输方法,操作简单,易于实现,可以高效率地恢复在网络传输过程中丢失的视频帧数据包。—种基于柯西RS编码的视频帧数据网络传输方法,包括以下步骤:a、预先定义一个柯西RS生成矩阵;该柯西RS生成矩阵的行数大于每一帧视频帧的数据包数;b、将压缩后的视频帧数据打包成符合网络应用层协议的数据包序列;C、动态选取所述柯西RS生成矩阵的柯西子矩阵,利用选取出的柯西子矩阵,通过一次矩阵运算对各视频帧的数据包序列进行两次柯西RS编码得到对应的校验包;所述两次柯西RS编码包括:c-Ι、每一视频帧的数据包序列与对应的柯西子矩阵进行运算生成一次校验包;c-2、将所有视频帧分成若干视频帧组,各个视频帧组中的所有数据包序列与对应的柯西子矩阵进行运算生成二次校验包;d、对步骤b数据包序列中的所有数据包和步骤c中的一次校验包做对角交织,生成交织后乱序的数据包和一次校验包序列;进行对角交织时,在数据包和一次校验包所构成的阵列中,若最后一行的末尾包含空位,则该空位不参与对角交织时的循环移位;e、将二次校验包序列、乱序的数据包和一次校验包序列发送至网络;f、从网络接收所述二次校验包序列、乱序的数据包和一次校验包序列,根据步骤d对角交织的逆过程,对乱序的数据包和一次校验包序列重新排序;g、根据所述二次校验包序列以及重新排序后的数据包和一次校验包序列判断是否有数据包丢失,如果没有数据包丢失,则将接收到的数据包送至视频解码器解码;如果有数据包丢失,则利用一次校验包或者二次校验包对丢失的数据包进行恢复后,与接收到的数据包一起送至视频解码器解码。所述步骤g中丢失的数据包恢复具体操作如下:g_l、针对每一视频帧组中的各个视频帧,如果该视频帧的数据包丢失数量小于等于正确接收到的该视频帧对应的一次校验包的数量,则将接收到的该视频帧的数据包和一次校验包序列与该视频帧对应的柯西RS子矩阵的逆矩阵相乘做一次解码恢复丢失的数据包;g_2、针对每一视频帧组中的所有视频帧,如果经过步骤g-Ι后该视频帧组中尚未恢复的数据包丢失数量小于等于正确接收到的该视频帧组对应的二次校验包的数量,则将接收到的该视频帧组的数据包和二次校验包序列与该视频帧组对应的柯西RS子矩阵的逆矩阵相乘做二次解码恢复丢失的数据包。经过步骤g-Ι后,每一视频帧组中已有部分丢失的数据包利用一次校验包进行了恢复,将没有恢复的丢失的数据包的数量与正确接收到的视频帧组对应的二次校验包的数量做比较,如果尚未恢复的数据包丢失数量小于等于正确接收到的该视频帧组对应的二次校验包的数量,则利用二次校验包进行丢失数据包的恢复,如果尚未恢复的数据包丢失数量大于正确接收到的该视频帧组对应的二次校验包的数量,则不能实现对丢失的数据包的恢复。相对于自动重传机制,本发明充分利用了 FEC丢包恢复算法适用于实时视频应用的优点,能够在不进行重传的前提下实现丢失包的实时恢复。相对于Raptor码之类的FEC丢包恢复算法,本发明的原理简单,且算法实现过程中的两次编码是同种类型的运算,因此可以通过一次运算来实现两次编码生成所需的校验包序列,实现容易,充分利用交织引入的延时,在增加少量校验包和延时的情况下,能够明显提高接收端丢失的数据包恢复率。


图1为本发明基于柯西RS编码的视频帧数据网络传输方法流程示意图;图2为本发明基于柯西RS编码的视频帧数据网络传输方法对角交织时的示意图;图3为本发明基于柯西RS编码的视频帧数据网络传输方法中丢失数据包恢复过程流程图。
具体实施例方式下面结合附图,对本发明基于柯西RS编码的视频帧数据网络传输方法做详细描述。如图1所示,基于柯西RS编码的视频帧数据网络传输方法,首先,将摄像头采集到的视频数字信号通过视频编解码标准(如H.264)编码压缩后得到视频帧数据VFn,经过网络应用层协议打包成数据包序列Sn= [S1 S2-Sk];然后对Sn做两次柯西RS编码;为了增强在连续数据包丢失环境下的恢复率,本发明在对各个视频帧做完两次柯西RS编码之后,对多个视频帧数据包序列和各个视频帧对应的一次校验包序列做对角交织,使数据包序列和对应的一次校验包序列乱序;做完对角交织后,将数据包和校验包发送到IP网络上,网络的接收端接收到当前视频帧组中的所有数据包之后,根据解交织和解码恢复过程来恢复丢失的数据包,最后将恢复出来的数据包和接收到的数据包重新组成一帧视频数据发送给解码器进行视频解压缩解码,具体实现过程如下:a、预先定义一个柯西RS生成矩阵如下,该柯西RS生成矩阵的行数大于每一帧视
频帧的数据包数;
权利要求
1.一种基于柯西RS编码的视频帧数据网络传输方法,其特征在于,包括以下步骤: a、预先定义一个柯西RS生成矩阵; b、将压缩后的视频帧数据打包成符合网络应用层协议的数据包序列; C、动态选取所述柯西RS生成矩阵的柯西子矩阵,利用选取出的柯西子矩阵,通过一次矩阵运算对各视频帧的数据包序列进行两次柯西RS编码得到对应的校验包; 所述两次柯西RS编码包括: c-1、每一视频帧的数据包序列与对应的柯西子矩阵进行运算生成一次校验包; c-2、将所有视频帧分成若干视频帧组,各个视频帧组中的所有数据包序列与对应的柯西子矩阵进行运算生成二次校验包; d、对步骤b数据包序列中的所有数据包和步骤c中的一次校验包做对角交织,生成交织后乱序的数据包和一次校验包序列; e、将二次校验包序列、乱序的数据包和一次校验包序列发送至网络; f、从网络接收所述二次校验包序列、乱序的数据包和一次校验包序列,根据步骤d对角交织的逆过程,对乱序的数据包和一次校验包序列重新排序; g、根据所述二次校验包序列以及重新排序后的数据包和一次校验包序列判断是否有数据包丢失,如果没有数据包丢失,则将接收到的数据包送至视频解码器解码;如果有数据包丢失,则利用一次校验包或者二次校验包对丢失的数据包进行恢复后,与接收到的数据包一起送至视频解码器解码。
2.如权利要求1所述的基于柯西RS编码的视频帧数据网络传输方法,其特征在于,所述步骤a中定义的柯西RS生成矩阵的行数大于每一帧视频帧的数据包数。
3.如权利要求1所述的基于柯西RS编码的视频帧数据网络传输方法,其特征在于,所述步骤d中进行对角交织时,在数据包和一次校验包所构成的阵列中,若最后一行的末尾包含空位,则该空位不参与对角交织时的循环移位。
4.如权利要求1所述的基于柯西RS编码的视频帧数据网络传输方法,其特征在于,所述步骤g中丢失的数据包恢复具体操作如下: g-Ι、针对每一视频帧组中的各个视频帧,如果该视频帧的数据包丢失数量小于等于正确接收到的该视频帧对应的一次校验包的数量,则将接收到的该视频帧的数据包和一次校验包序列与该视频帧对应的柯西RS子矩阵的逆矩阵相乘做一次解码恢复丢失的数据包; g-2、针对每一视频帧组中的所有视频帧,如果经过步骤g-Ι后该视频帧组中尚未恢复的数据包丢失数量小于等于正确接收到的该视频帧组对应的二次校验包的数量,则将接收到的该视频帧组的数据包和二次校验包序列与柯西RS子矩阵的逆矩阵相乘做二次解码恢复丢失的数据包。
全文摘要
本发明公开了一种基于柯西RS编码的视频帧数据网络传输方法,包括以下步骤预先定义一个柯西RS生成矩阵,利用该柯西RS生成矩阵对各个视频帧做两次柯西RS编码之后,对多个视频帧数据包序列和各个视频帧对应的一次校验包序列做对角交织,使数据包序列和对应的一次校验包序列乱序;做完对角交织后,将数据包和校验包发送到至网络,网络的接收端接收到当前视频帧组中的所有数据包之后,利用一次校验包或者二次校验包对丢失的数据包进行恢复,将恢复出来的数据包和接收到的数据包重新组成视频数据后进行解码。本发明基于柯西RS编码的视频帧数据网络传输方法,操作简单,易于实现,可以高效率地恢复在网络传输过程中丢失的视频帧数据包。
文档编号H04N21/647GK103152652SQ20131008523
公开日2013年6月12日 申请日期2013年3月15日 优先权日2013年3月15日
发明者蒋荣欣, 李洪, 周凡, 陈耀武 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1