前向纠错码Zigzag贪婪轮转解码方法技术

技术编号:37244382 阅读:17 留言:0更新日期:2023-04-20 23:24
本发明专利技术涉及通信技术领域,具体是信道编码中纠删码技术,涉及一种前向纠错码Zigzag贪婪轮转解码方法,现有方法对于可解数据位的判断存在很大程度冗余,并且随着编码数据包增多,冗余量会逐渐增大,影响可Zigzag解码的前向纠删码的解码效率;本方法首先将Zigzag解码算法分为三个阶段,非轮转解码阶段,轮转判断阶段,轮转解码阶段。在非轮转解码阶段,通过调整解码特定顺序,确保轮转阶段一定会出现长度固定的循环并最大化每次判断后解码的数据位的个数。在轮转解码阶段,按照轮转判断阶段的结果直接解码,无需判断可解数据位的位置。本发明专利技术在保证适用于所有移位异或编码的前提下,通过调整解码顺序和特殊的解码流程,大幅度降低Zigzag解码对于可解数据位的判断,从而降低整体复杂度。体复杂度。体复杂度。

【技术实现步骤摘要】
前向纠错码Zigzag贪婪轮转解码方法


[0001]本专利技术涉及通信
,具体是信道编码中纠删码技术,涉及一种前向纠错码Zigzag贪婪轮转解码方法。

技术介绍

[0002]新型网络最明显的特征是视频在社交中占据的比例越来越大,对视频的清晰度的需求越来越大,从标清,高清,到4K超高清,8K超高清。流媒体业务不同于一般的数据传输业务,为保证流媒体业务的可靠性需要考虑每个数据包的传输时延,使数据包在规定时间内,按照顺序送入解码器。前向纠错码是一种在网络传输中应对丢包的技术。考虑实际的流媒体业务的场景,在丢包多、时延大的场景下,适当加入前向纠错编码可以大量节省超时重传的等待时间,从而提高流媒体的服务质量。
[0003]有学者最初提出了一种Zigzag解码方法,该解码方法是一种数据位级解码方法,通过遍历的方式从每个编码数据包中寻找可解数据位并进行解码,计算复杂度为O(K3L);而后进一步优化了Zigzag解码方法,通过统计编码数据包每个数据位上的未解码数据位的个数,减少对不存在可解数据位的编码数据包的判断,降低复杂度为O(K2L)。由于Zigzag方法只包含移位和异或运算,有足够低的计算复杂度,但是需要对于每个可解数据位依次进行判断。如果能够进一步降低Zigzag解码算法中可解数据位判断的次数,可以进一步减少Zigzag前向纠错码计算复杂度,使其能够更有效的应用于流媒体服务当中。

技术实现思路

[0004]本专利技术的内容是提供一种前向纠错码Zigzag贪婪轮转解码方法,其能够克服Zigzag解码中对于遍历寻找可解数据位的过程过于重复冗余和每次判断后仅解码一个数据位的问题。该方法适用于任何Zigzag编码方法。
[0005]根据本专利技术的一种前向纠错码Zigzag贪婪轮转解码方法,其包括以下步骤:
[0006]1)收到K个编码数据包;
[0007]2)初始化解码移位矩阵,初始化已经有数据位被恢复的原始数据包序号的集合为空;
[0008]3)从序号为0的编码数据包按照顺序遍历寻找符合条件的编码数据包序号i'和原始数据包序号j';
[0009]4)判断可解数据位长度d,解码对应d个数据位,并更新;
[0010]5)将序号j

添加到集合中;如果集合的元素个数等于K,表明该原始数据包分组中的所有原始数据包中都有数据位被解码,执行下一步;否则返回步骤3);
[0011]6)初始化轮转解码顺序队列K
*
为空,轮转解码最优步长d
max
,未被选择的编码数据包集合
[0012]7)从序号为0的编码数据包按照顺序遍历寻找符合条件的编码数据包序号和原
始数据包序号
[0013]8)判断最优解码步长d
max
,解码对应d
max
个数据位,并更新;
[0014]9)将编码数据包序号和原始数据包序号作为一个元素添加到轮转解码顺序队列K
*
的尾部,如果队列K
*
中的元素个数等于K,执行下一步;否则返回步骤7);
[0015]10)依次从轮转解码顺序队列K
*
中读取元素从第个编码数据包中解码第的原始数据包d
max
个数据位,并更新变量,直到轮转解码顺序队列K
*
为空,结束解码过程,输出原始数据包x(z)。
[0016]作为优选,步骤2)中,具体为:初始化未被完全解码的原始数据包集合初始化所有编码数据包序号的集合缓存收到的K个编码数据包y(z);初始化K个原始数据包x(z);初始化第j个原始数据包未被解码的数据位η
j
(z);缓存编码数据包的编码移位矩阵T;初始化已经有数据位被恢复的原始数据包序号的集合为空。
[0017]作为优选,步骤4)中,具体为:判断可解数据位长度d,得到解码序号为j'的编码数据包d个数据位,从而得到对应原始数据包d个数据位;将原始数据包d个数据位保存;更新对应序号为j'的未被解码的数据位;根据得到的对应原始数据包d个数据位,去除所有编码数据包中相关信息。
[0018]作为优选,步骤5)中,如果集合中已经存在序号j

,则保持不变。
[0019]作为优选,步骤8)中,计算当前编码数据包可解数据位长度更新当前步骤最优解码步长d
max
;得到解码序号为的编码数据包d
max
个数据位,从而得到对应原始数据包d
max
个数据位;将对应原始数据包d
max
个数据位保存;更新对应序号为的未被解码的数据位;根据得到的原始数据包d
max
个数据位,去除所有编码数据包中相关的信息。
[0020]本方法首先将Zigzag解码算法分为三个阶段,非轮转解码阶段[步骤3)~5)],轮转判断阶段[步骤7)~9)],轮转解码阶段[步骤10)]。在非轮转解码阶段,通过调整解码特定顺序,确保轮转阶段一定会出现长度固定的循环并最大化每次判断后解码的数据位的个数。在轮转解码阶段,按照轮转判断阶段的结果直接解码,无需判断可解数据位的位置。
[0021]本专利技术方法在保证Zigzag成功解码的前提下,利用特殊的解码过程并最大化每次判断后解码的数据位的个数,本专利技术方法基于对解码流程的调整和判断,产生一种轮转过程,避免了遍历寻找有效数据位的过程同时最大化每次判断后解码的数据位,相对于现有的Zigzag解码方法,可以显著减少对于可解数据位查询的算法计算复杂度,从而降低整体算法计算复杂度。
附图说明
[0022]图1为实施例中一种前向纠错码Zigzag贪婪轮转解码方法的流程图。
具体实施方式
[0023]为进一步了解本专利技术的内容,结合附图和实施例对本专利技术作详细描述。应当理解的是,实施例仅仅是对本专利技术进行解释而并非限定。
[0024]实施例
[0025]如图1所示,本实施例提供了一种前向纠错码Zigzag贪婪轮转解码方法,其包括以下步骤:
[0026]1)收到K个编码数据包;
[0027]编码端对接收到的原始数据包分组进行Zigzag编码,原始数据包分组具有K个原始数据包,编码后得到的编码数据包由相同的K个原始数据包移位异或得到;其中第j个原始数据包多项式表达x
j
(z)@x
j,0
+x
j,1
z+x
j,2
z2+...+x
j,L
‑1z
L
‑1,第i个编码数据包多项式表达y
i
(z)@y
i,0
+y
i,1
z+y
i,2
z2+...+y
i,L+r
‑1z
L+r
‑1;解码端每收到K个编码数据包,将其作为一个编码数据包分组进行Zigzag轮转解码。x
j,0
代表序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.前向纠错码Zigzag贪婪轮转解码方法,其特征在于:包括以下步骤:1)收到K个编码数据包;2)初始化解码移位矩阵,初始化已经有数据位被恢复的原始数据包序号的集合为空;3)从序号为0的编码数据包按照顺序遍历寻找符合条件的编码数据包序号i'和原始数据包序号j';4)判断可解数据位长度d,解码对应d个数据位,并更新;5)将序号j

添加到集合中;如果集合的元素个数等于K,表明该原始数据包分组中的所有原始数据包中都有数据位被解码,执行下一步;否则返回步骤3);6)初始化轮转解码顺序队列K
*
为空,轮转解码最优步长d
max
,未被选择的编码数据包集合7)从序号为0的编码数据包按照顺序遍历寻找符合条件的编码数据包序号和原始数据包序号8)判断最优解码步长d
max
,解码对应d
max
个数据位,并更新;9)将编码数据包序号和原始数据包序号作为一个元素添加到轮转解码顺序队列K
*
的尾部,如果队列K
*
中的元素个数等于K,执行下一步;否则返回步骤7);10)依次从轮转解码顺序队列K
*
中读取元素从第个编码数据包中解码第的原始数据包d
max
个数据位,并更新变量,直到轮转解码顺序队列K
*
为空,结束解码过程,输出原始数据包x(z)。2.根据权利要求1所述的前向纠错码Zigzag贪婪轮转解...

【专利技术属性】
技术研发人员:毛光辉王伟平潘民强
申请(专利权)人:浙江红苹果电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1