本发明属于通讯技术领域,尤其涉及多媒体数据传输过程中音视频数据包编码处理的方法。
背景技术:
随着网络技术日新月异的发展,流媒体技术成为当下最为热门的互联网技术之一,是保证我们可以快速高保真的分享图像、音频、视频等多媒体文件的基础。在流媒体技术中,视频图像由于数据量大以及网络带宽的限制,数据包丢失或出错现象不可避免。如果视频文件的丢包(本发明实例中对数据包出错或丢失简称为“丢包现象”)达到一定程度,则严重影响接收端的视频视觉效果,出现块效应,视频模糊,严重时甚至无法观看。
为了保证发送视频在接收端能够正常播放,则需要对丢包进行恢复,这一般都是通过在传输的视频媒体包中增加冗余包来实现的。视频纠错编码是一种能够恢复一定数量范围内丢包的编码方法。在纠错编码中,冗余包数量越多,则能够恢复的丢失或出错包数量越多。然而,冗余包的数量增多同样会导致占用网络带宽过大。在传输的数据包总数量一定的情况下,用尽量少的冗余包来达到最大可能恢复发送视频包,则纠错编码效率越高。fec编码是目前较常采用的一种数据恢复编码,其有较为高效的丢包恢复能力,fec又分为多种编码实现方式,rs编码是其中最为高效的一种编码方式。然而,目前的fec编码设计,存在对丢包恢复效果与编码效率之间难以达到平衡的难题。
技术实现要素:
本发明的目的在于提供一种数据传输的编码方法、装置及系统,可以根据预测的丢包率,计算信息包数量与冗余包数量的不同组合,即不同的rs编码模式下的视频完全恢复概率,并以此为依据来选择最佳的rs编码模式,从而找出最高效的fecrs编码设计。
本发明的一种数据传输的编码方法,包括以下步骤:步骤a:设置预测丢包率的初始值
优选的,上述步骤c中,具体包括:步骤c-1:把所述信息包划分子信息组包再分别进行rs编码,根据所述子信息包组中信息包的数量及冗余度r划分出出
步骤c-3:根据步骤c-1中选择出所有满足条件
优选的,上述步骤e进一步包括以下步骤:步骤e-1:求出伽罗华域
优选的,在上述步骤e中还包括:信道接收端对接收到的信息包构造伴随矩阵,并计算校验包进行丢包校验,进一步判断是否发生丢包现象。
优选的,在所述步骤e中,如果发生丢包现象,则根据校验包计算丢包发生位置,并对丢包恢复能力范围内的丢包进行丢包恢复,同时根据丢包情况对上述预测丢包率进行更新。
此外,本发明还公开了一种数据传输的编码发送装置,该装置主要包括:音视频编码器、计算单元、纠错编码单元、传输发送单元,其中,所述音视频编码器用于对信道当前发送音视频信号进行编码,生成若干信息包;上述计算单元用于根据预测丢包率计算丢包恢复概率,从而确定选择最优rs编码模式rs
优选的,计算单元确定最优rs编码模式rs
步骤(3):根据所述步骤(1)中选择出所有满足条件的rs编码模式,其中阈值
优选的,上述纠错编码单元通过以下操作得到
此外,本发明还公开一种数据传输系统,主要包括编码发送装置和解码接收装置,所述编码发送装置包括:音视频编码器、计算单元、纠错编码单元、传输发送单元,其中,音视频编码器用于对信道当前发送音视频信号进行编码,生成若干信息包;计算单元用于根据预测丢包率计算丢包恢复概率,从而确定选择最优rs编码模式rs
优选的,丢包恢复单元的丢包恢复是指根据校验包计算丢包发生位置,并对丢包恢复能力范围内的丢包进行丢包恢复。
优选的,当发生丢包现象时,则根据校验包计算丢包发生位置,对丢包恢复能力范围内的丢包进行丢包恢复,由音视频解码器用于对恢复后的信息包进行解码,同时根据丢包情况对预测丢包率进行更新;当没有发生丢包现象时,音视频解码器对接收到的信息包进行解码。
优选的,计算单元确定最优rs编码模式rs
步骤(3):根据所述步骤(1)中选择出所有满足条件
优选的,纠错编码单元通过以下操作得到
采用本发明的数据传输编码方法,通过设计高效的视频fec编码算法,在fec冗余度确定时,根据统计预测的丢包率选择发送包数量与冗余包数量的组合以实现最佳的丢包恢复效果。同时,对发送端视频进行rs编码时,在保证丢包恢复概率的前提下,选择信息包数量最小的rs编码模式,提高了编码的实时性。
本发明提供的方案通过在信道发送端发送信息包的同时发送高效编码的fec冗余包,保证了信道接收端能够对视频传输过程中的丢包进行恢复,从而保证了接收端的视频质量。
此外,本发明实例fecrs编码的计算过程中,对部分运算事先制作成为运算表,使得在编解码的过程中部分运算转换为查表的方式,提高了运算效率。
附图说明
图1为本发明具体实施例中数据传输的编解码方法流程图;
图2为本发明具体实施例中编码发送装置和解码接收装置的功能模块图。
具体实施方式
本发明提供的方案在发送冗余包与信息包数量比例一定的情况下,根据统计的丢包率选择最佳的rs编码模式,即确定rs编码最佳的信息包数量与冗余包数量,来进行fec编码,能够使丢包恢复率得到保证,从而保证信道接收端视频有较好的质量。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的发明原理:依据在fec冗余度一定的情况下,丢包恢复率随丢包率、发送包数量与冗余包数量组合变化的原理,以统计预测的丢包率作为发送包数量与冗余包数量组合调整的依据,从而实现对发送视频数据包进行最大概率的恢复,提高了接收端视频的质量。
图1为本发明具体实施例中数据传输的编解码方法流程图。如图1所示,本发明的主要流程步骤包括:
步骤110:设置预测丢包率初始值,fec冗余度。
步骤120:对信道发送端的视频进行编码得到信息包
步骤130:根据预测丢包率计算丢包恢复概率,选择最优rs编码模式。
步骤140:根据步骤120中的视频信息包及步骤130中选择的rs编码模式进行rs纠错编码,得到冗余包。
其中,步骤110至步骤140为本发明的编码部分,步骤160至步骤180为本发明的解码部分,步骤110的初始化只需对开始的发送视频组进行设置,步骤120至步骤130则是所有视频编码帧进行fec,rs编码不可少的部分。
步骤150:将编码完成的冗余包与信息包组合封装,一起发送至信道。
步骤160:在信道接收端对接收到的信息包进行校验,如果没有发生丢包则转至步骤180,否则转至步骤170。
步骤170:根据冗余包对接收到的信息包进行rs丢包恢复。
步骤180:对校验恢复后的视频数据包进行解码,对预测丢包率进行更新。
进一步的,在本发明具体实施例中,数据传输的编解码方法具体操作如下所述:
步骤210:根据经验值对预测丢包率
步骤220:对信道当前发送视频组的视频信号用主流视频编码器进行编码,得到当前视频组待发送的
本发明实例中,为了保证发送端视频在接收端能够抵抗信道中的丢包而正常播放,需要对其添加用于校验的冗余包。记发送端第
步骤230:根据预测丢包率
步骤230-a:在本发明具体实施例中,采用高效的rs纠错编码,对发送视频组中的k个信息包添加n-k个冗余包。为了保证视频编码传输的实时性,在进行rs编码时,需对信息包划分为子信息包组再分别进行rs编码,即选择发送视频组rs编码模式。由于设定的fec冗余度为r,即子信息包组的信息包数量与冗余包数量比例k/n为r。根据子信息包组信息包的数量可划分出种rs编码模式,分别记为模式1:rs
步骤230-b:根据预测丢包率
步骤230-c:根据步骤230-b中计算的各rs编码模式的丢包完全恢复概率,从步骤230-a中选择出所有满足条件:
步骤230-d:根据上述步骤230-c得到的所有rs编码模式中,选择其中子信息包数量最小的rs编码模式:rs
步骤240:根据步骤230选择的最优rs编码模式rs
步骤240-a:建立
步骤240-b:由rs编码模式rs
步骤240-c:根据生成矩阵构造校验矩阵。
步骤240-d:根据校验矩阵和
步骤250:将信息包和经过rs纠错编码得到的校验冗余包添加相关信息,一起发送至传输信道。在传输过程中,某些发送包可能会发生丢失或出错的情况。
步骤210至步骤240为本发明具体实施例的编码部分,在信道的发送端执行,用于对发送视频组添加校验冗余包,其中,步骤210的初始化只需对第1个发送视频组执行,步骤220至步骤230则是对所有发送视频组都需要执行的。
步骤260:在信道接收端对接收到的信息包构造伴随矩阵,并计算校验冗余包进行丢包校验,如果所有用于校验包均指示没有发生丢包,则转至步骤280,否则转至步骤270。
步骤270:根据校验包计算丢包发生位置,并对丢包恢复能力范围内丢失的包进行丢包恢复。
步骤280:对校验恢复后的视频信息包或者没有发生丢包的信息包进行视频解码,并根据丢包的情况对预测丢包率进行更新。此处的预测丢包率是作为选择rs编码模式的一个参数,其会不断被更新,更新的数据来自于接收端的反馈。
步骤260至步骤280为本发明实例的解码部分,在信道的接收端执行,用于对接收的视频组进行校验以及丢包恢复,再进行视频解码,得到播放视频。其中步骤260至步骤270为rs解码,其运算所用的数据表与步骤240-a中建立的运算数据表一致。
图2所示为本发明具体实施例中编码发送装置和解码接收装置的功能模块图。由图所示,本发明数据传输系统主要包括了编码发送装置和解码接收装置。
其中,所述编码发送装置包括:音视频编码器、计算单元、纠错编码单元、传输发送单元。
音视频编码器,用于对信道当前发送音视频信号进行编码,生成若干信息包。
计算单元,用于根据预测丢包率计算丢包恢复概率,从而确定选择最优rs编码模式rs
纠错编码单元,用于根据所述最优rs编码模式rs
传输发送单元,用于将所述冗余包与所述信息包一起封装后发送。
上述计算单元在确定所述最优rs编码模式rs
步骤(2):计算
步骤(3):根据上述步骤(1)中选择出所有满足条件
步骤(4):从所述步骤(3)中得到的所有rs编码模式中,选择其中子信息包数量最小的rs编码模式为所述最优rs编码模式:rs
解码接收装置包括:传输接收单元、丢包恢复单元、音视频解码器。
传输接收单元,用于接收所述冗余包和所述信息包数据,以及更新后的预测丢包率
丢包恢复单元,用于信息包构造伴随矩阵,并计算校验包进行丢包检验、丢包恢复。该丢包恢复是指根据校验包计算丢包发生位置,并对丢包恢复能力范围内的丢包进行丢包恢复,以及根据丢包的情况对预测丢包率
音视频解码器,用于对恢复后的信息包进行解码;当没有发生丢包现象时,所述音视频解码器对接收到的所述信息包进行解码。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。