本文涉及但不限于光通信技术,尤指一种编码方法、译码方法、编码装置及译码装置。
背景技术:
在远距离高速光通信的发展中,前向纠错码是一种不可或缺的部分,可在接收端直接对接收到的数据进行纠错处理,保证数据传输效率和正确性。常用的前向纠错码包括:低密度奇偶校验码(ldpc)、turbo乘积码(tpc)。
目前,远距离高速光通信使用的前向纠错码依然以tpc为主,其构造简单,并且有非常良好的误码平层,能实现超低的误码率。但tpc的原始码型的比特数为2n-1,不便于硬件实现,故常常选择增加1比特的开销,使得其成为2n的比特数;增加的比特开销占据一定的传输带宽,需要将其合理的利用起来,tpc厂商一般将其做成奇偶校验位进行传输,图1位相关技术中tpc码块的组成结构示意图,如图1所示,tpc码块包括:对原始信息进行编码处理后获得的行编码、列编码;其中,行编码包含m行信息行,列编码包含n行信息列;生成的行编码开销、列编码开销;添加的行的奇偶校验位、列的奇偶校验位;其中,奇偶检验位在tpc译码纠错过程中,仅用作增加不同码字之间距离的一种手段;一般的tpc译码均需要全部迭代完成或者至少连续两次行列译码迭代均正确才可退出整个译码过程;图2为相关技术中译码处理的方法流程图,如图2所示,包括:步骤200、进行行译码;步骤201、行译码成功时,判断在前一次的列译码是否成功;在前一次列译码成功时,执行步骤202;步骤202、结束译码;在前一次列译码失败时,执行步骤203;步骤203、进行列译码;步骤204、判断列译码是否成功时,列译码成功时,执行步骤202;列译码失败时,重新回到步骤200进行行译码。这种高运算量的退出机制决定了tpc功耗较高。
在10g、40g的光通信中,前向纠错码的译码过程对低功耗要求并不高,随着传输带宽逐渐演变到100g、400g,功耗问题成为一个需要解决的问题。
技术实现要素:
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种编码方法、译码方法、编码装置及译码装置,能够降低tpc译码的功耗。
本发明实施例提供了一种编码方法,包括:
根据原始信息生成编码校验信息;
根据原始信息及生成的编码校验信息生成turbo乘积码tpc码块。
可选的,所述生成编码校验信息包括:
对所述原始信息进行行编码和列编码;
对行编码的每一信息行产生奇偶校验元,并由行编码的所有信息行的奇偶校验元构建编码校验行;
对列编码的每一信息列产生奇偶校验元,并由列编码的所有信息列的奇偶校验元构建编码校验列;
确定构建获得的所述编码校验行和所述编码校验列为编码校验信息。
可选的,所述生成tpc码块之前,所述方法还包括:
生成所述行编码的行编码开销;
生成所述列编码的列编码开销;
生成所述编码校验行的编码校验行开销;
生成所述编码校验列的编码校验列开销。
可选的,所述生成tpc码块包括:
根据所述行编码、所述列编码、所述编码校验行、所述编码校验列、所述编码校验行开销和编码校验列开销生成所述tpc码块。
可选的,所述生成tpc码块包括:
将所述行编码、所述行编码开销、所述编码校验行及所述编码校验行开销依序进行tpc码块行的排列;
将所述列编码、所述列编码开销、所述编码校验列及所述编码校验列开销依序进行tpc码块列的排列。
另一方面,本发明实施例还提供一种译码方法,包括:
对turbo乘积码tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
可选的,所述tpc码块包括由第一方向的信息和第二方向的信息构成,其中,
所述第一方向为行时,所述第二方向为列;
所述第一方向为列时,所述第一方向为行。
可选的,所述根据第一方向的译码生成第一译码校验信息包括:
所述第一方向为行时,所述第二方向为列时,对行译码的每一信息行产生奇偶校验元,并由行译码的所有信息行的奇偶校验元构建译码校验行;将所述行译码按列划分后,产生划分的每一列的奇偶校验元;由构建的译码校验行和产生的所述划分的每一列的奇偶校验元作为第一译码校验信息;
所述第一方向为列时,所述第一方向为行时,对列译码的每一信息列产生奇偶校验元,并由列译码的所有信息列的奇偶校验元构建译码校验列;将所述列译码按行划分后,产生划分的每一列的奇偶校验元;由构建的译码校验列和产生的所述划分的每一行的奇偶校验元作为第一译码校验信息。
可选的,所述确定是否结束译码包括:
所述第一方向为行时,所述第二方向为列时,当行译码中包含的编码校验行与构建的所述译码校验行相等,且行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比均相等时,确定结束译码;当行译码中包含的编码校验行与构建的所述译码校验行不相等,或行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比存在不相等的情况时,确定不结束译码;
所述第一方向为列时,所述第二方向为行时,当列译码中包含的编码校验列与构建的所述译码校验列相等,且列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比均相等时,确定结束译码;当列译码中包含的编码校验列与构建的所述译码校验列不相等,或列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比存在不相等的情况时,确定不结束译码。
可选的,确定不结束译码时,所述译码方法还包括:
对tpc码块进行第二方向的译码后,根据第二方向的译码生成第二译码校验信息;
将生成的第二译码校验信息与第二方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
再一方面,本发明实施例还提供一种编码装置,包括:第一单元和第二单元;其中,
第一单元用于,根据原始信息生成编码校验信息;
第二单元用于,根据原始信息及生成的编码校验信息生成turbo乘积码tpc码块。
可选的,所述第一单元具体用于:
对所述原始信息进行行编码和列编码;
对行编码的每一信息行产生奇偶校验元,并由行编码的所有信息行的奇偶校验元构建编码校验行;
对列编码的每一信息列产生奇偶校验元,并由列编码的所有信息列的奇偶校验元构建编码校验列;
确定构建获得的所述编码校验行和所述编码校验列为编码校验信息。
可选的,所述装置还包括第三单元,用于生成所述行编码的行编码开销、所述列编码的列编码开销、所述编码校验行的编码校验行开销、所述编码校验列的编码校验列开销。
可选的,所述第二单元具体用于:根据所述行编码、所述列编码、所述编码校验行、所述编码校验列、所述编码校验行开销和编码校验列开销生成所述tpc码块。
可选的,所述第二单元具体用于:将所述行编码、所述行编码开销、所述编码校验行及所述编码校验行开销依序进行tpc码块行的排列;将所述列编码、所述列编码开销、所述编码校验列及所述编码校验列开销依序进行tpc码块列的排列。
还一方面,本发明实施例还提供一种译码装置,包括:第四单元和第五单元;其中,
第四单元用于:对turbo乘积码tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
第五单元用于:将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
可选的,所述tpc码块包括由第一方向的信息和第二方向的信息构成,其中,
所述第一方向为行时,所述第二方向为列;
所述第一方向为列时,所述第一方向为行。
可选的,所述第四单元具体用于:
所述第一方向为行时,所述第二方向为列时,对行译码的每一信息行产生奇偶校验元,并由行译码的所有信息行的奇偶校验元构建译码校验行;将所述行译码按列划分后,产生划分的每一列的奇偶校验元;由构建的译码校验行和产生的所述划分的每一列的奇偶校验元作为第一译码校验信息;
所述第一方向为列时,所述第一方向为行时,对列译码的每一信息列产生奇偶校验元,并由列译码的所有信息列的奇偶校验元构建译码校验列;将所述列译码按行划分后,产生划分的每一列的奇偶校验元;由构建的译码校验列和产生的所述划分的每一行的奇偶校验元作为第一译码校验信息。
可选的,所述第五单元具体用于:
所述第一方向为行时,所述第二方向为列时,当行译码中包含的编码校验行与构建的所述译码校验行相等,且行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比均相等时,确定结束译码;当行译码中包含的编码校验行与构建的所述译码校验行不相等,或行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比存在不相等的情况时,确定不结束译码;
所述第一方向为列时,所述第二方向为行时,当列译码中包含的编码校验列与构建的所述译码校验列相等,且列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比均相等时,确定结束译码;当列译码中包含的编码校验列与构建的所述译码校验列不相等,或列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比存在不相等的情况时,确定不结束译码。
可选的,所述装置还包括第六单元,用于第五单元确定不结束译码时,对tpc码块进行第二方向的译码后,根据第二方向的译码生成第二译码校验信息;将生成的第二译码校验信息与第二方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
还一方面,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述的编码方法。
还一方面,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述的译码方法。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
根据原始信息生成编码校验信息;
根据原始信息及生成的编码校验信息生成turbo乘积码tpc码块。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
对turbo乘积码tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
与相关技术相比,本申请技术方案包括:根据原始信息生成编码校验信息;根据原始信息及生成的编码校验信息生成turbo乘积码(tpc)码块。对tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。本发明实施例降低了tpc译码的功耗。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1位相关技术中tpc码块的组成结构示意图;
图2为相关技术中译码处理的方法流程图;
图3为本发明实施例编码方法的流程图;
图4为本发明实施例tpc码块的组成结构示意图;
图5为本发明实施例译码方法的流程图;
图6为本发明实施例编码装置的结构框图;
图7为本发明实施例译码装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3为本发明实施例编码方法的流程图,如图3所示,包括:
步骤300、根据原始信息生成编码校验信息;
可选的,本发明实施例生成编码校验信息包括:
对原始信息进行行编码和列编码;对行编码的每一信息行产生奇偶校验元,并由行编码的所有信息行的奇偶校验元构建编码校验行;对列编码的每一信息列产生奇偶校验元,并由列编码的所有信息列的奇偶校验元构建编码校验列;确定构建获得的编码校验行和编码校验列为编码校验信息。
需要说明的是,对原始信息进行行编码和列编码可以采用相关技术中已有的实现方法实现;构建的编码校验行一般按照信息行的排序将产生的奇偶校验元进行排序。例如、编码校验行中的排序在第一个信息位的奇偶校验元为行编码中第一信息行产生的奇偶校验元,排序在第二个信息位的奇偶校验元为行编码中第二信息行产生的奇偶校验元,排序在第三个信息位的奇偶校验元为行编码中第三信息行产生的奇偶校验元,依次类推构建编码校验行;同理,依照上述原理,构建编码校验列。
步骤301、根据原始信息及生成的编码校验信息生成(tpc)码块。
可选的,生成tpc码块之前,本发明实施例方法还包括:
生成下述开销:行编码的行编码开销、列编码的列编码开销、编码校验行的编码校验行开销和编码校验列的编码校验列开销。
需要说明的是,开销可以采用相关技术中已有的方法实现。
可选的,本发明实施例生成tpc码块包括:
根据行编码、列编码、编码校验行、编码校验列、编码校验行开销和编码校验列开销生成tpc码块。
可选的,生成tpc码块包括:
将所述行编码、所述行编码开销、所述编码校验行及所述编码校验行开销依序进行tpc码块行的排列;
将所述列编码、所述列编码开销、所述编码校验列及所述编码校验列开销依序进行tpc码块列的排列。
图4为本发明实施例tpc码块的组成结构示意图,如图4所示,tpc码块中,行编码、行编码开销、编码校验行及编码校验行开销依序排列;列编码、列编码开销、编码校验列及编码校验列开销依序排列。
图5为本发明实施例译码方法的流程图,如图5所示,包括:
步骤500、对tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
步骤501、将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
可选的,本发明实施例tpc码块包括由第一方向的信息和第二方向的信息构成,其中,第一方向为行时,第二方向为列;第一方向为列时,第一方向为行。
可选的,本发明实施例根据第一方向的译码生成第一译码校验信息包括:
第一方向为行时,第二方向为列时,对行译码的每一信息行产生奇偶校验元,并由行译码的所有信息行的奇偶校验元构建译码校验行;将所述行译码按列划分后,产生划分的每一列的奇偶校验元;由构建的译码校验行和产生的所述划分的每一列的奇偶校验元作为第一译码校验信息;
第一方向为列时,第一方向为行时,对列译码的每一信息列产生奇偶校验元,并由列译码的所有信息列的奇偶校验元构建译码校验列;将所述列译码按行划分后,产生划分的每一列的奇偶校验元;由构建的译码校验列和产生的所述划分的每一行的奇偶校验元作为第一译码校验信息。
需要说明的是,译码校验行和译码校验列按照编码校验行的排序规则进行排序。
可选的,本发明实施例确定是否结束译码包括:
第一方向为行时,第二方向为列时,当行译码中包含的编码校验行与构建的所述译码校验行相等,且行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比均相等时,确定结束译码;当行译码中包含的编码校验行与构建的所述译码校验行不相等,或行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比存在不相等的情况时,确定不结束译码;
第一方向为列时,第二方向为行时,当列译码中包含的编码校验列与构建的所述译码校验列相等,且列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比均相等时,确定结束译码;当列译码中包含的编码校验列与构建的所述译码校验列不相等,或列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比存在不相等的情况时,确定不结束译码。
需要说明的是,本发明实施例仅需要通过一个方向的译码处理,即可以判断是否结束译码过程,简化了译码过程的运算,降低了译码过程的功耗。
可选的,确定不结束译码时,本发明实施例译码方法还包括:
对tpc码块进行第二方向的译码后,根据第二方向的译码生成第二译码校验信息;
将生成的第二译码校验信息与第二方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
需要说明的是,生成第一译码校验信息和第二译码校验信息的实施原理相同;当第一译码校验信息为对tpc码块进行行译码后,根据行译码生成的译码校验信息时,则根据列译码生成第二译码校验信息,即采用上述第一方向分别为行和列的情况对应生成第一译码校验信息和第二译码校验信息;当第一译码校验信息为对tpc码块进行列译码后,根据列译码生成的译码校验信息时,则根据行译码生成第二译码校验信息;即采用上述第一方向分别为列和行的情况对应生成第一译码校验信息和第二译码校验信息。
图6为本发明实施例编码装置的结构框图,如图6所示,包括:第一单元和第二单元;其中,
第一单元用于,根据原始信息生成编码校验信息;
可选的,本发明实施例第一单元具体用于:
对所述原始信息进行行编码和列编码;
对行编码的每一信息行产生奇偶校验元,并由行编码的所有信息行的奇偶校验元构建编码校验行;
对列编码的每一信息列产生奇偶校验元,并由列编码的所有信息列的奇偶校验元构建编码校验列;
确定构建获得的所述编码校验行和所述编码校验列为编码校验信息。
可选的,本发明实施例装置还包括第三单元,用于生成所述行编码的行编码开销、所述列编码的列编码开销、所述编码校验行的编码校验行开销、所述编码校验列的编码校验列开销。
第二单元用于,根据原始信息及生成的编码校验信息生成turbo乘积码tpc码块。
可选的,本发明实施例第二单元具体用于:根据行编码、列编码、编码校验行、编码校验列、编码校验行开销和编码校验列开销生成所述tpc码块。
可选的,本发明实施例第二单元具体用于:将行编码、行编码开销、编码校验行及编码校验行开销依序进行tpc码块行的排列;将列编码、列编码开销、编码校验列及编码校验列开销依序进行tpc码块列的排列。
图7为本发明实施例译码装置的结构框图,如图7所示,包括:第四单元和第五单元;其中,
第四单元用于:对tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
可选的,本发明实施例第四单元具体用于:
第一方向为行时,第二方向为列时,对行译码的每一信息行产生奇偶校验元,并由行译码的所有信息行的奇偶校验元构建译码校验行;将所述行译码按列划分后,产生划分的每一列的奇偶校验元;由构建的译码校验行和产生的所述划分的每一列的奇偶校验元作为第一译码校验信息;
第一方向为列时,第一方向为行时,对列译码的每一信息列产生奇偶校验元,并由列译码的所有信息列的奇偶校验元构建译码校验列;将所述列译码按行划分后,产生划分的每一列的奇偶校验元;由构建的译码校验列和产生的所述划分的每一行的奇偶校验元作为第一译码校验信息。
第五单元用于:将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
可选的,本发明实施例tpc码块包括由第一方向的信息和第二方向的信息构成,其中,第一方向为行时,第二方向为列;第一方向为列时,第一方向为行。
可选的,本发明实施例第五单元具体用于:
第一方向为行时,第二方向为列时,当行译码中包含的编码校验行与构建的所述译码校验行相等,且行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比均相等时,确定结束译码;当行译码中包含的编码校验行与构建的所述译码校验行不相等,或行译码的最后一行信息行的每一个信息位按序与所述划分的每一列的奇偶校验元进行对比存在不相等的情况时,确定不结束译码;
第一方向为列时,第二方向为行时,当列译码中包含的编码校验列与构建的所述译码校验列相等,且列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比均相等时,确定结束译码;当列译码中包含的编码校验列与构建的所述译码校验列不相等,或列译码的最后一列信息列的每一个信息位按序与所述划分的每一行的奇偶校验元进行对比存在不相等的情况时,确定不结束译码。
可选的,本发明实施例装置还包括第六单元,用于第五单元确定不结束译码时,对tpc码块进行第二方向的译码后,根据第二方向的译码生成第二译码校验信息;将生成的第二译码校验信息与第二方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
需要说明的是,本发明实施例可以由编码装置、译码装置组成包含编码和译码的系统。
还一方面,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述的编码方法。
还一方面,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述的译码方法。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
根据原始信息生成编码校验信息;
根据原始信息及生成的编码校验信息生成tpc码块。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
对tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;
将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。
与相关技术相比,本申请技术方案包括:根据原始信息生成编码校验信息;根据原始信息及生成的编码校验信息生成turbo乘积码(tpc)码块。对tpc码块进行第一方向的译码后,根据第一方向的译码生成第一译码校验信息;将生成的第一译码校验信息与第一方向的译码中包含的编码校验信息进行匹配,以确定是否结束译码。本发明实施例降低了tpc译码的功耗。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。