一种喷泉码的编解码方法和装置的制作方法

文档序号:7753173阅读:135来源:国知局
专利名称:一种喷泉码的编解码方法和装置的制作方法
技术领域
本发明涉及网络传输中的差错控制技术领域,尤其涉及一种喷泉码的编解码方法 和装置。
背景技术
对于异构网络或异构终端来说,在多媒体组播传输中,由于各个接收者具有不同 的带宽及信道状况,因此通常采用分层编码技术,使得接收者能够通过接收越来越多的 数据来改善重构的视频质量。接收者可能会随着网络状况性能的提升而体验到更好的 视频质量,即使信道状况差的接收者也能观看到基本的重构视频。但是,即使对于信道 状况较好的接收者来说,由于分层编码数据对传输中的丢包问题十分敏感,因此可能会严 重降低重构视频的质量,例如在分层编码数据传输过程中,低层数据包的丢失可能导致 严重的误码扩散。从而,分层视频编码都会依靠视频服务器端的前向纠错(FEC,Forward ErrorCorrection)技术来完善对分层信源输出比特流的保护,以增强其鲁棒性。近年来,喷泉编码作为一种非固定码率的分组级信道编码已成为研究热点。其编 译码算法复杂度很低,喷泉码的编码器如同喷泉一样源源不断地紧挨原始数据编码发送, 无需反馈重传;用户只需接收到足够数量的编码数据即可恢复发送端的原始数据,而与编 码包的接收顺序无关。在这个过程中,发送端无需考虑异质用户的信道特性及接入时刻、断 续传输等具体应用方式的影响。因此,喷泉码特别适用于分布式网络存储、可靠数据广播/ 多播、无线协作与中继等应用环境中。非固定码率是喷泉码的一个重要特性,它使得发送端可以灵活地决定发送数据的 长度,从而充分利用信道容量。但在实时视频流传输等有严格延时要求的应用中,发送端只 能以相对固定的码率进行发送。事实上,对于每个原始数据块来说,编码端只能生成有限 数量的编码符号,然后对下一个原始数据块进行编码。当信道质量很差,丢包情况严重时, 许多接收者不能收到足够的编码符号进行完全解码,接收端的译码性能就会受到很大的影 响。此外,采用分层编码技术就是为了满足不同用户的需要,因此并不要求每个接收者都能 恢复全部的原始数据块。对于实时分层视频流,现有的喷泉多播方案主要存在以下问题1、发送的编码符号数目有限;对于带宽有限或者信道状况很差的接收者来说,如 果有很少一部分编码数据没有接收到,则会由于喷泉码的雪崩解码效应,迭代译码器只能 重构所传输视频块的一小部分,从而无法保证视频的基本播放质量。2、现有的标准喷泉编码是一种基于平等差错保护机制的编码方式,然而分层视频 传输由于其分层比特流数据的重要性不同,需要一种基于不等差错保护机制的FEC技术, 因此现有的标准喷泉编码无法满足分层视频传输的需要。

发明内容
有鉴于此,本发明的主要目的在于提供一种喷泉码的编解码方法和装置,以实现 在分层组播环境中高效、可靠的视频传输。
为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种喷泉码的编码方法,该方法包括将原始数据块按优先级从高到低的顺序分为不同的信息层;对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层 进行级联后送入优先级LT编码器;所述优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的 输入符号集的大小,控制不同优先级数据的不等保护程度。所述将各个编码层进行级联后送入优先级LT编码器,具体为为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层 号越高的编码层对应的α越小;将所述各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入 优先级LT编码器。所述在LT编码过程中根据调整参数动态调整每个编码符号的输入符号集的大 小,控制不同优先级数据的不等保护程度,具体为根据度分布函数为当前编码符号随机生成一个度d ;如果所述当前编码符号的度d < L,则定义随机变量X服从以ρ为参数的两点分 d
^ai * m'/
M,P = jT-,并产生一个服从
均勻分布的随机数r,若r满足0 < r < P,则X
^at * m\
i=\
=O ;若不满足,则X = 1 ;其中,L表示所述信息层的层数,α i表示第i层编码层的优先级 系数,m' i表示第i层编码层的长度;如果X = 0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中
d<L
=如果X= 1,则确定所述当前编码符号的输入符号集为{1,...,η},其中
/=1
L
η = ^m'ι ;
仁]如果所述当前编码符号的度数(1 > L,则确定所述当前编码符号的输入符号集为
L
{1,...,11},其中"=5^^^;
i=\从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的 输入符号进行异或运算,生成一个编码符号。本发明还提供了一种喷泉码的解码方法,该方法包括将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错保护功 能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器根据层号将所述输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器,经过预编码解码后,恢复为各个信
息层ο所述优先级LT解码器和预编码解码器采用置信传播(BP)译码算法。
本发明还提供了一种喷泉码的编码装置,该装置包括分层模块、预编码编码器和 优先级LT编码器,其中,所述分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层;所述预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到 编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符 号的输入符号集的大小,控制不同优先级数据的不等保护程度。该装置进一步包括数据整合器,相应的,所述预编码编码器进一步用于,为每个编码层分别设定一个优先级系数 α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码 层送入数据整合器;所述数据整合器,用于对所述编码层按α从大到小的顺序进行重新排序后送入 优先级LT编码器。所述优先级LT编码器进一步用于,根据度分布函数为当前编码符号随机生成一
个度d ;在所述当前编码符号的度d < L时,定义随机变量X服从以ρ为参数的两点分布, d
^at * η ι
P = jT-,并产生一个服从
均勻分布的随机数r,若r满足0 < r < p,则X =
^ai * nii
(=1
0 ;若不满足,则X = 1 ;其中,L表示所述信息层的层数,α i表示第i层编码层的优先级系 数,m' i表示第i层编码层的长度;如果X = 0,则确定所述当前编码符号的输入符号集
d<L
为{1,...,Md},其中M/ = Σ历’<;如果x= 1,则确定所述当前编码符号的输入符号集为
/=1
{1,. . .,η},其中《 = Σ^,;在所述当前编码符号的度数d > L时,确定所述当前编码符号
/=1
的输入符号集为{1,...,11},其中^ = ;^ ^;从确定的所述输入符号集中随机选取^1个不
i=l
同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。本发明还提供了一种喷泉码的解码装置,该装置包括优先级LT解码器、数据分 流器和预编码解码器,其中,所述优先级LT解码器,用于对收到的编码数据包进行解码,得到具有不等差错保 护功能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器,用于根据层号将所述输出数据分为各个不同的编码层,并将每 个编码层分别送入对应的预编码解码器;所述预编码解码器,用于对送入的编码层进行预编码解码,恢复为信息层。所述优先级LT解码器和预编码解码器采用BP译码算法。本发明所提供的一种喷泉码的编解码方法和装置,通过将多个预编码器与一个优 先级LT编码器相结合,提出了一种具有不等差错保护功能的喷泉码结构;优先级LT编码器 的输出构成一个具有不等差错保护功能的编码块,其中,高优先级的层包含更多的信息,而低优先级的层包含相对较少的信息。通过对不同优先级的数据给予不同程度的保护,系统 具有适应复杂多变的信道状况的能力,可以在分层组播环境中实现高效、可靠的视频传输。另外,本发明通过对视频数据进行分层编码并依靠喷泉码对低层数据进行重点保 护之后,尽管在信道恶劣的情况下会丢失很多高层数据,但携带最基本信息的底层数据被 保留了下来,从而用户可以保证最基本视频观看质量,通信的有效性得到了极大的提高。与标准的基于等差错保护的喷泉码相比,本发明提出的具有不等差错保护功能的 喷泉码,在保持喷泉码总体译码性能稳定的基础上,大大减小了高优先级数据的恢复时间, 且将对低优先级数据恢复时间的影响减小到最低程度。将本方法应用到分层多播环境中, 对于信道状况很差的接收者来说,当接收端接收不到足够的编码数据以成功译码时,也能 以更短的时间恢复出大部分的高优先级数据,保证基本的恢复效果。


图1为本发明实施例中喷泉码的编码示意图;图2为本发明实施例中喷泉码的解码示意图;图3为本发明实施例中服务器实现喷泉码编码过程的示意图;图4为本发明实施例中客户端实现喷泉码解码过程的示意图。
具体实施例方式下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。为实现在分层组播环境中高效、可靠的视频传输,本发明提供的一种喷泉码的编 解码方法,包括编码和解码两个部分。且本发明针对的是经过分层编码的视频信源,对于视 频数据来说,分层编码的方法有很多种,例如时域可分级、空域可分级、质量可分级等等。在发送端实现的编码方法包括A、将原始数据块按优先级从高到低的顺序分为不同的信息层。B、对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码 层进行级联后送入优先级LT编码器。具体的,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α 越大,层号越高的编码层对应的α越小;将各个编码层送入数据整合器,按α从大到小的 顺序进行重新排序后送入优先级LT编码器。其中,所述层号是在步骤A中进行信息层划分 时,为每个不同的信息层分配的,原始数据的优先级越高,其所在信息层的层号就越高;原 始数据的优先级越低,其所在信息层的层号就越低。C、优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输 入符号集的大小,以控制不同优先级数据的不等保护程度。下面结合图1所示的喷泉码编码示意图,对上述编码方法进一步详细说明。该编 码方法主要包括以下步骤步骤1、假设原始数据块表示为S1, S2, ... , sk,将原始数据块按优先级从高到低 的顺序分成L(L ( k)个信息层,每个信息层的输入符号总数分别为Hi1, m2,· · ·,其 步骤2、对每个信息层分别独立的进行相同码率的预编码后,由信息层变为编码 层,每个编码层的长度分别为m' i;m' 2,...,m' ^其中m' i = Hii/(k/n),Hii为第i层信 息层的输入符号总数,m' i表示第i层编码层的长度,1 ^ i ^ L, η为预编码输出序列的
总长度,且 步骤3、为每个编码层分别设定一个优先级系数α,层号越低的编码层,其优先级 系数α越大;层号越高的编码层,其优先级系数α越小。这样使得低层数据具有较高的优 先级,而高层数据则具有较低的优先级。其中Ci1彡Ci2彡...彡c^,且0< α <1。步骤4、将各个编码层送入数据整合器,经重新排序后,送入优先级 LT(LubyTransform)编码器,在LT编码过程中,根据调整参数动态调整每个编码符号的输 入符号集的大小,从而控制不同优先级数据的不等保护程度。其中,LT编码过程具体包括4. 1、根据度分布函数为当前编码符号随机生成一个度d。4. 2、如果当前编码符号的度d < L,则定义随机变量X服从以ρ为参数的两点分
布,其中P = jT-,并产生一个服从
均勻分布的随机数r,若r满足0 < r < p,
则X = O;若不满足,X= 1。其中,L表示信息层的层数,CIi表示第i层编码层的优先级系 数,m' i表示第i层编码层的长度,*表示相乘。4.3、如果X = 0,则确定当前编码符号的输入符号集为前d层数据,S卩{1,...,Md},
d<L
其中M/ = Σ ^。如果X = 1,则确定当前编码符号的输入符号集为所有数据,即U,..., /=1
L
η},其中 4. 4、如果当前编码符号的度(1>1^,则确定当前编码符号的输入符号集为{1,..., 4. 5、从输入符号集中随机选取d个不同的输入符号,并对这d个不同的输入符号 进行异或运算,生成一个编码符号。需要说明的是,上述发送端的编码过程中,优先级系数α的设置只要满足 Q1 ^ Q2 ^ ... ^ c^,且α e (0,1)都是可行的。优先级LT码所采用的度分布函数为 Shokrollahi在标准Raptor码中所采用的常数平均度分布函数,即Ω =0. 007969χ+0. 493570x2+0. 166220x3+0. 0726x4+0. 082558xs+0. 056058χ8+0. 03 7229χ9+0. 055590Χ19+0. 025023Χ64+0. 003135Χ66这可以极大地简化优先级LT码编译码的复杂度,使其具有线性编译码时间,但 却同时存在着严重的错误平层效应(所谓错误平层是指误码率随信噪比的增加而下降减 速甚至不再下降)。那么为了消除LT码错误平层带来的影响,更好的保证数据的传输质 量,本发明在优先级LT码之前增加了预编码过程,且预编码采用的编码方案为高码率的LDGM Triangle 或 LDGM Staris,这两种低密度生成器矩阵(LDGM,Low Density Generator Matrix)编码方案皆为系统码,具有线性的编译码复杂度。对应上述喷泉码的编码方法,本发明还提供了一种应用于发送端的编码装置,包 括分层模块、预编码编码器和优先级LT编码器。其中,分层模块,用于将原始数据块按优 先级从高到低的顺序分为不同的信息层。预编码编码器,用于对每个信息层分别独立的进 行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器。优 先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集 的大小,控制不同优先级数据的不等保护程度。较佳的,该装置还可以包括数据整合器。那么相应的,预编码编码器进一步用于, 为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的 编码层对应的α越小;将各个编码层送入数据整合器。数据整合器,用于对编码层按α从 大到小的顺序进行重新排序后送入优先级LT编码器。如图2所示,喷泉码的解码方法在接收端是通过以下步骤实现的步骤1、将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错 保护功能的输出数据。步骤2、将优先级LT解码器的输出数据送入数据分流器,数据分流器根据各输出 数据的层号分为L个编码层。步骤3、将每个编码层分别送入对应的预编码解码器,L个编码层经过预编码解码 器后,由编码层恢复为信息层,进而恢复出原始数据块。上述接收端预编码解码器与优先级LT解码器均采用置信传播(ΒΡ, BeliefPropagation) i華石马胃^去。对应上述喷泉码的解码方法,本发明还提供了一种应用于接收端的解码装置,包 括优先级LT解码器、数据分流器和预编码解码器。其中,优先级LT解码器,用于对收到的 编码数据包进行解码,得到具有不等差错保护功能的输出数据,并将输出数据送入数据分 流器。数据分流器,用于根据层号将输出数据分为各个不同的编码层,并将每个编码层分别 送入对应的预编码解码器。预编码解码器,用于对送入的编码层进行预编码解码,恢复为信 息层ο综上所述,本发明的喷泉码编解码方法和装置,通过将多个预编码器与一个优先 级LT编码器相结合,提出了一种具有不等差错保护功能的喷泉码结构;优先级LT编码器的 输出构成一个具有不等差错保护功能的编码块,其中,高优先级的层包含更多的信息,而低 优先级的层包含相对较少的信息。通过对不同优先级的数据给予不同程度的保护,系统具 有适应复杂多变的信道状况的能力,可以在分层组播环境中实现高效、可靠的视频传输。另外,本发明通过对视频数据进行分层编码并依靠喷泉码对低层数据进行重点保 护之后,尽管在信道恶劣的情况下会丢失很多高层数据,但携带最基本信息的底层数据被 保留了下来,从而用户可以保证最基本视频观看质量,通信的有效性得到了极大的提高。与标准的基于等差错保护的喷泉码相比,本发明提出的具有不等差错保护功能的 喷泉码,在保持喷泉码总体译码性能稳定的基础上,大大减小了高优先级数据的恢复时间, 且将对低优先级数据恢复时间的影响减小到最低程度。将本方法应用到分层多播环境中, 对于信道状况很差的接收者来说,当接收端接收不到足够的编码数据以成功译码时,也能
9以更短的时间恢复出大部分的高优先级数据,保证基本的恢复效果。上述编码方法的一种实际应用,如图3所示,在服务器端,原始视频序列经过 H. 264/SVC编码器后,分为一个基本层和多个增强层,根据层号、数据长度、总的层数等分层 编码信息分别提取出每层码流,再将每层码流分别进行对应的LDGM编码过程;之后将每个 LDGM编码器输出组合成一段码流,然后开始优先级LT编码过程;最后在优先级LT编码器 输出的编码数据包的包头加入包括数据块编号、层号以及编码种子、编码包序列号等在内 的信息,通过丢包网络信道发送给不同的客户端。上述解码方法的一种实际应用,如图4所示,在客户端,每个接收者收到编码数据 包后,开始执行优先级LT解码过程,并根据相应的包头参数,从优先级LT解码器的输出码 流中提取出相应的每层码流;然后每层码流分别开始对应的LDGM解码过程,之后将每个 LDGM解码器的输出组合成一段码流,再将组合后的码流送入H. 264/SVC解码器恢复出原始 视频序列。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
一种喷泉码的编码方法,其特征在于,该方法包括将原始数据块按优先级从高到低的顺序分为不同的信息层;对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。
2.根据权利要求1所述喷泉码的编码方法,其特征在于,所述将各个编码层进行级联 后送入优先级LT编码器,具体为为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越 高的编码层对应的α越小;将所述各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入优先 级LT编码器。
3.根据权利要求1或2所述喷泉码的编码方法,其特征在于,所述在LT编码过程中根 据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护 程度,具体为根据度分布函数为当前编码符号随机生成一个度d ;如果所述当前编码符号的度d < L,则定义随机变量X服从以ρ为参数的两点分布, 0 ;若不满足,则X = 1 ;其中,L表示所述信息层的层数,α i表示第i层编码层的优先级系 数,m' i表示第i层编码层的长度;d<L如果X = 0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中Mrf = YtWil ; 如果X = 1,则确定所述当前编码符号的输入符号集为{1,...,η},其中《 = ; 如果所述当前编码符号的度数(1>1^,则确定所述当前编码符号的输入符号集为L 从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入 符号进行异或运算,生成一个编码符号。
4.一种喷泉码的解码方法,其特征在于,该方法包括将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错保护功能的 输出数据,并将所述输出数据送入数据分流器;所述数据分流器根据层号将所述输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器,经过预编码解码后,恢复为各个信息层。
5.根据权利要求4所述喷泉码的解码方法,其特征在于,所述优先级LT解码器和预编 码解码器采用置信传播(BP)译码算法。
6.一种喷泉码的编码装置,其特征在于,该装置包括分层模块、预编码编码器和优先 级LT编码器,其中,所述分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层; 所述预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到编码 层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的 输入符号集的大小,控制不同优先级数据的不等保护程度。
7.根据权利要求6所述喷泉码的编码装置,其特征在于,该装置进一步包括数据整合器,相应的,所述预编码编码器进一步用于,为每个编码层分别设定一个优先级系数α,层 号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入 数据整合器;所述数据整合器,用于对所述编码层按α从大到小的顺序进行重新排序后送入优先 级LT编码器。
8.根据权利要求6或7所述喷泉码的编码装置,其特征在于,所述优先级LT编码器进一步用于,根据度分布函数为当前编码符号随机生成一个度d ;在所述当前编码符号的度d < L时,定义随机变量X服从以ρ为参数的两点分布, 并产生一个服从
均勻分布的随机数r,若r满足0 < r < p,则X = 0 ;若不满足,则X = 1 ;其中,L表示所 述信息层的层数,α i表示第i层编码层的优先级系数,m' i表示第i层编码层的长度;如果 X = 0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中 洳果X = 1,则确定所述当前编码符号的输入符号集为{1,...,11},其中 在所述当前编码 符号的度数d > L时,确定所述当前编码符号的输入符号集为{1,...,η},其中 从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号 进行异或运算,生成一个编码符号。
9.一种喷泉码的解码装置,其特征在于,该装置包括优先级LT解码器、数据分流器和 预编码解码器,其中,所述优先级LT解码器,用于对收到的编码数据包进行解码,得到具有不等差错保护功 能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器,用于根据层号将所述输出数据分为各个不同的编码层,并将每个编 码层分别送入对应的预编码解码器;所述预编码解码器,用于对送入的编码层进行预编码解码,恢复为信息层。
10.根据权利要求9所述喷泉码的解码装置,其特征在于,所述优先级LT解码器和预编 码解码器采用BP译码算法。
全文摘要
本发明公开了一种喷泉码的编解码方法,编码方法包括将原始数据块按优先级从高到低分为不同的信息层;对每个信息层进行相同码率的预编码,将得到的各个编码层进行级联并送入优先级LT编码器进行LT编码;在编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。解码方法包括优先级LT解码器对收到的编码数据包进行解码得到具有不等差错保护功能的输出数据;数据分流器根据层号将输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器进行预编码解码,恢复出各个信息层。本发明还公开了一种喷泉码的编解码装置。通过本发明,实现了在分层组播环境中高效、可靠的视频传输。
文档编号H04L1/00GK101902296SQ20101021744
公开日2010年12月1日 申请日期2010年6月23日 优先权日2010年6月23日
发明者刘峰, 夏宏飞, 温明才 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1