纠错方法以及装置的制作方法

文档序号:6566351阅读:168来源:国知局
专利名称:纠错方法以及装置的制作方法
技术领域
本发明涉及例如在ATM、IP、LAN等分组传送方式中对比特差错和分组丢失进行补偿的纠错技术。
背景技术
作为对数字数据的比特差错和丢失进行补偿的方式,公知有FEC方式(FECForward Error Correction,向前纠错)。在FEC方式中,在发送方通过纠错码对数据进行编码,在接收方检测差错或丢失并进行修正。作为纠错码,提出有BCH码、Reed-Solomon码、卷积码等各种纠错码(例如,参照非专利文献1)。
在纠错码中,将对N位的数据附加n位的纠错码后得到的N+n位的位串称为码字。当码字中的比特产生差错时,如果该差错数在纠错能力以内,可以在接收方检测出差错位置,从而可以完全修正差错。纠错能力根据纠错码而不同,例如,在(15,10)汉明码、即对10位的数据附加5位的纠错码而形成15位码字的汉明码中,可以修正2位以下的突发错误。另外,虽然以奇偶校验码、CRC码为代表的检错码与纠错码一样也对数据附加检错码,但仅对码字内是否有错进行检测,而无法进行修正。
为了应对仅通过纠错码自身而难以修正的差错、例如突发性错误,提出并使用了组合使用多个纠错码或组合使用纠错码和检错码的各种FEC方式。
现有技术中的FEC方式可以大致分为三类。第一类是在串流传送方式中使用的FEC方式,第二类是在分组传送方式中对分组丢失进行补偿的FEC方式,第三类是在分组传送方式中对分组的丢失和分组内的比特差错进行修正的FEC方式。以下,使用图6~图9来说明现有技术中的FEC方式。
图6是说明在串流传送方式中使用的FEC方式的图,其中(a)示出了使用单一纠错码的方式,(b)示出了使用两种纠错码的方式。
在图6的(a)所示的、使用单一纠错码的方式中的发送方,以规定的位数为单位来划分发送数据,对已划分的数据计算纠错码并生成码字。在接收方,根据纠错码来进行纠错。
图6的(b)示出了组合两种纠错码的、所谓的乘积码的方式。如图6的(b)所示,将一定长度的数据配置成矩阵状,例如首先在纵向或列方向上计算纠错码,将作为纠错码的外码附加在各列的最后。另外,所谓外码是指所使用的两种码中先计算的码。
然后,在横向或行方向上计算纠错码,将作为纠错码的内码附加在各行的最后。另外,作为内码是指所使用的两种码中后计算的码。
在乘积码中,例如当由于突发错误而在1行内产生了超出内码的纠错能力的差错时,由于在列方向上不存在突发错误,因此可以通过外码来修正所有的差错,从而可以提高其纠错能力。例如,在日本国内的地上数字广播中采用使用乘积码的FEC方式(例如,参照非专利文献2、3),该乘积码使用收缩卷积码作为内码,使用(204,188)缩短Reed-Solomon码作为外码。
图7是说明在分组传送方式中对分组丢失进行补偿的FEC方式的图,其记载在专利文献1中。根据专利文献1,如图7所示,继在有效负载部分具有数据A~D的ATM信元之后,发送在有效负载部分具有奇偶校验位的奇偶校验信元。对数据A~数据D的第k位的奇偶校验位放在奇偶校验信元的有效负载部分的第k位中。另外,根据发送顺序赋予ATM信元连续的信元编号。
例如,当丢失了具有数据B的ATM信元时,在接收方可以根据信元编号而识别出信元的丢失,从而可以根据奇偶校验信元恢复数据B。该方式可以通过简单的结构对分组的丢失进行补偿,但是无法修正比特差错。即,即使在数据B的第1位产生了差错,能够通过奇偶校验信元判断出来的也仅是在数据A~D的某一个或多个第1位上产生了差错。
图8及图9是说明在分组传送方式中对分组丢失和分组内的差错进行修正的FEC方式的图,它们例如记载在非专利文献4、专利文献2、以及专利文献3中。
在本实施方式中,如图8的(a)所示,将数据列划分成规定长度的数据A~D并配置成矩阵状,然后在行方向上计算外码并分别给数据A~D赋予外码A~D。然后,针对数据和外码,在列方向上计算内码并赋予内码Z。即,计算乘积码。
然后,将各行的数据分割成ATM信元的大小,从矩阵的第1行顺次作为赋予了信元编号的ATM信元而进行发送,该信元编号表示信元的发送顺序。在图8的(b)中,各个数据被一分为二。
如图9所示,在接收方,根据信元编号将数据排列成与发送方相同的矩阵状。此时,对根据信元编号检测出的丢失信元插入伪数据。在图9中,由于丢失了数据B-1的ATM信元,所以在数据B-1的位置插入伪数据。另外,在该阶段无法检测出产生了差错的数据,因此将具有差错的状态的数据配置成矩阵状。在图9中,在数据D-2产生了差错。
然后,通过内码和外码对配置成矩阵状的数据进行纠错,进行伪数据和差错的修正处理。本方式与使用图7来说明的专利文献1所记载的结构不同,虽然也可以对比特差错进行补偿,但存在着效率低、延迟高、以及电路结构复杂等缺点。
效率低的原因在于存在着存储外码的专用信元。例如,在非专利文献4中,(442,424)BCH码的传送效率是21/22,(460,424)BCH码的传送效率是10/11。
另外,在接收方进行纠错时会发生高延迟,这依赖于接收全部码字的时间,即接收数据、内码、以及外码的时间。例如,如果是非专利文献4所记载的、使用(460,424)BCH码作为外码并使用(15,14)奇偶校验码作为内码的方式的话,横向(数据+外码)的码字长度为11信元,纵向(数据+内码)的码字长度为15信元,乘积码整体的码字长度为11×15=165信元。即,接收165信元的时间决定延迟时间。
并且,当内码和外码均使用纠错码时,其电路结构会变得复杂。另外,例如在非专利文献5中记载有进行纠错编码的纠错编码器、根据纠错码进行纠错的纠错器、进行检错编码的检错编码器、以及根据检错码进行检错的检错器。
另外,也考虑如乘积码那样使用Turbo Product Code进行二元编码的方法,但是Turbo Product Code的计算量很大,尤其是在解码时需要重复运算,因此非常复杂。例如在专利文献4中记载有使用Turbo Product Code的方法。
专利文献1日本专利文献特许第2762815号说明书;专利文献2日本专利文献特开平03-254240号公报;专利文献3日本专利文献特开平04-207734号公报;专利文献4美国专利文献US2004-0260996A1;非专利文献1今井秀樹監修、“エレクトロニクスエツセンシャルズNo.20誤り訂正符号の要点”、日本工業センタ一;非专利文献2山田宰監修、“映像情報メデイア学会編、デジタル放送ハンドブツク”、オ一ム社、pp18-19;非专利文献3ITU-R勧告BT.1306-1;非专利文献4岩瀬亮一、小原仁、“ATM網における伝送路符号誤りおよびセル廃棄の補償法”、電子情報通信学会和文論文誌、J75-B1No.1、pp1-11、1992年1月;非专利文献5原島博監修、“誤り訂正符号化技術の応用事例<デジタル記録編>”、トリケツプス刊、pp43-44、pp67-68。

发明内容
因此,本发明的目的在于提供一种可以对分组丢失和分组内的比特差错进行补偿的、高效率、低延迟、并且可以通过简单的电路结构来实现的纠错方法、纠错编码装置、以及纠错解码装置。
根据本发明的纠错方法,在发送方装置中以规定的位数为单位对作为发送对象的数据进行编码并通过分组进行发送,在接收方装置中对分组的比特差错和分组丢失进行补偿,所述纠错方法的特征在于,在发送方装置中包括以下步骤将数据配置成矩阵状的步骤;在配置成矩阵状的数据的列方向上计算纠错码,并将该纠错码配置成与数据相同列数的矩阵状的步骤;对具有数据或纠错码的各行赋予与行号相对应的编号信息的步骤;以及将具有编号信息和数据、或编号信息和纠错码的各行分别封装在一个分组中并将检错码也封装在该分组中而进行发送的步骤,其中所述检错码至少检测针对包含在分组中的编号信息和数据、或编号信息和纠错码的比特差错;在接收方装置中包括以下步骤废弃根据包含在接收到的分组中的检错码而检测出差错的分组的步骤;根据包含在分组中的编号信息检查分组的丢失的步骤;和利用纠错码恢复已丢失的数据的步骤。
根据本发明的纠错方法的其他实施方式,优选的是,在恢复所述数据的步骤中,将在检查所述分组的丢失的步骤中未检测出丢失的分组的编号信息用于恢复数据。
本发明的纠错编码装置的特征在于,包括纠错码单元,将输入的规定位数的数据配置成矩阵状,对各列计算纠错码,将所计算的纠错码附加到各列;编号信息赋予单元,将与行号相对应的编号信息附加到纠错码单元输出的各行;检错码单元,将检测各行的比特差错的检错码附加到编号信息赋予单元输出的各行;以及分组发送单元,将检错码单元输出的各行封装在一个分组中进行发送。
本发明的纠错解码装置接收所述纠错编码装置输出的分组并进行解码,其特征在于,包括检错单元,对包含在各个分组中的检错码进行解码,仅输出未检测出差错的编号信息和数据的组、或未检测出差错的编号信息和纠错码的组;以及纠错单元,使检错单元输出的数据或纠错码对应于行号的位置而成矩阵状,根据包含在同一列中的纠错码对各个列进行纠错,其中所述行号与和所述数据或纠错码一同输出的编号信息相对应。
根据本发明的纠错解码装置的其他实施方式,优选的是,所述纠错单元将由检错单元与数据或纠错码同时输出的编号信息用于纠错。
将乘积码中的一个码作为附加位数比纠错码少、电路结构也简单的检错码,并通过与数据或纠错码相同的分组来发送检错码,由此可以对分组丢失和分组内的比特差错这两者进行补偿,同时可以削减冗长并实现低延迟和高效率,另外还可以实现编码装置和解码装置的简化。
并且,由于赋予各个分组编号信息,因此可以通过编号信息而得知未接收到的分组的纵向的位置,甚至可以使用如单一纠错码这样的简单的纠错码,从而可以提高修正性能。


图1是说明本发明的纠错编码的图;图2是本发明的纠错方法中的发送分组的示意图;图3是说明本发明的纠错方法的解码的图;图4是本发明的纠错编码装置的框图;图5是本发明的纠错解码装置的框图;图6是说明用于串流传送方式的FEC方式的图;图7是说明在分组传送方式中对分组丢失进行补偿的FEC方式的图;图8是说明在分组传送方式中对分组丢失和分组内的比特差错进行修正的FEC方式的图;图9是说明在分组传送方式中对分组丢失和分组内的比特差错进行修正的FEC方式的另一个图。
具体实施例方式
下面,使用附图来详细地说明用于实施本发明的最佳实施方式。
图1是说明本发明的纠错方法的编码的图。如图1的(a)所示,在发送方装置中,以N位为单位来划分发送数据,将M个N位数据(数据#1~#M)配置成矩阵状,进行编码处理。即,发送方装置以N×M位为单位进行编码处理。这里,N和M是规定的自然数。另外,在图1中,以从第1行开始按照行的升序进行配置的形式示出了发送数据,但只要发送方和接收方相同即可,对N×M位数据的配置顺序没有限制,例如也可以是从第1列开始按照列的升序进行配置的方式等。
然后,通过纠错码对纵向或列方向进行编码,赋予作为纠错码的外码。如图1的(b)所示,在本例子中,外码是对M位的数据生成的m位的纠错码,将生成的m位的外码附加到与计算对象列相同的列。因此,外码为m行N列的矩阵状。然后,如图1的(b)所示,将外码的第k位的行称为外码#M+k(1≤k≤m)。
然后,将Q位的编号信息赋予数据#1至数据#M和外码#M+1至外码#M+m的各行的开头。编号信息是表示行号的信息。然后,如图1的(b)所示,将第k行(1≤k≤M+m)的编号信息称为编号信息#k。
最后,通过纠错码对由Q+N位构成的各行进行编码,赋予作为检错码的内码。如图1的(b)所示,在本例中,内码是对Q+N位生成的n位的检错码,将生成的n位的内码赋予与计算对象行相同的行。然后,如图1的(b)所示,将第k行(1≤k≤M+m)的内码称为内码#k。
图2是本发明的纠错方法中的发送分组的示意图。发送方装置将分组的报头赋给图1的(b)所示的Q+N+n位的各行并作为一个分组来进行发送。即,发送方装置通过M+m个分组来发送N×M位的数据。
在接收方装置中,首先通过一定存在于接收分组中的、作为检错码的内码来检查是否产生了差错,当检测出差错时废弃该分组。然后,根据接收分组的编号信息,将除去了编号信息的有效负载部分、即包含数据或外码的部分配置成矩阵状。此时,对由于检测出差错而废弃的分组和由于网络中的丢失而未接收到的分组,可以配置适当的伪数据。图3是说明本发明的纠错方法的解码的图,在图3中,由于在数据#4的分组中检测出了差错、或者由于根本未接收到数据#4的分组,在数据#4的位置配置伪数据。
最后,在接收方装置中,通过正确接收到的编号信息和外码进行纠错,进行伪数据的纠错。
另外,虽然示出的是在发送方装置中将分组报头赋予由Q+N+n位构成的各行并进行发送的示例,但也可以在一个分组中存储用于位调整的填充位等其他位。另外,此时在检错码的检测对象范围内也可以包含其他位。即,满足以下条件即可检错码的检测对象范围至少包含Q位的编号信息和N位的数据或外码,接收方装置可以区分Q位的编号信息、N位的数据或外码、n位的检错码、以及其他位,发送方装置和接收方装置的n位的检错码的对象范围相同。另外,虽然各个块的处理延迟会引起数据、块信号、各个控制信号不同步,但可以通过插入适当的延迟电路对此进行补偿。在以后的说明中将省略延迟电路。
图4是本发明的纠错编码装置、即发送方装置的框图。根据图4,纠错编码装置包括RAM(Random Access Memory,随机存取存储器)2、纠错编码器3、检错编码器4、以及分组报头赋予器5。另外,标号1是数据输入端口,标号6是分组输出端口。
如由图1的(b)所说明的那样,以N×M位为单位来处理输入到数据输出端口1的发送数据,在RAM2的、由图4的虚线划分出的区域中,在M行N列的中央上部的区域中依次写入该发送数据。
另外,将Q位的编号信息存储在RAM2的左侧Q列的各行、即第1行至第M+m行中。既可以在将发送数据写入各行时一并写入该编号信息,也可以在对RAM2进行初始化时将该编号信息作为固定值写入。
将发送数据存储在RAM2的M行N列的区域中之后,纠错编码器3生成对发送数据的各列的纠错码并将生成的纠错码存储在与作为修正对象的发送数据相同的列的第M+1行至第M+m行。对所有发送数据进行上述处理,即对RAM2的第Q+1列至第Q+N列进行上述处理。另外,也可以每次并列处理多列,而不是一列一列来处理。另外,也可以不是在将所有N×M位的发送数据存储在RAM2的M行N列的区域中之后进行纠错码的生成和存储处理,而是从所有行的数据已被存储的列开始,依次进行纠错码的生成和存储处理,从而可以减少处理时间。
所使用的纠错码也可以是非二元码。此时,进行以多位为最小单位的纠错编码。例如,当使用Reed-Solomon码RS(255,239)时,以8位为编码的单位来进行计算。
然后,检错编码器4生成对各行数据的检错码并将其存储在检错对象行的第Q+N+1列至第Q+N+n列。与纠错编码器3相同,检错编码器4也可以每次并列处理多行,而不是一行一行来处理。另外,也可以不是在将需要的数据即编号信息、发送数据、纠错码存储在RAM2的(Q+N)×(M+m)的全部区域中之后进行检错码的生成和存储处理,而是从所有的数据已被存储的行开始依次进行检错码的生成和存储处理,从而可以减少处理时间。
分组报头赋予器5输入RAM2的各行数据,即包含编号信息、发送数据或纠错码、检错码的数据,将分组报头赋予该数据并输出给分组输出端口6。
图5是本发明的纠错解码装置、即接收方装置的框图。根据图5,纠错解码装置包括分组报头分离器8、检错器9、编号信息分离器10、RAM11、以及纠错器12。另外,标号7是分组输入端口,标号13是数据输出端口。
分组报头分离器8终结从分组输入端口7输入的分组的报头,将包含编号信息、数据或纠错码、检错码的Q+N+n比特的有效负载输出给检错器9。
检错器9根据检错码检查在输入的编号信息+数据、或编号信息+纠错码中是否产生了差错。当未检测出差错时,检错器9将编号信息+数据、或编号信息+纠错码输出给编号信息分离器10,当检查出差错时不进行任何输出。
编号信息分离器10终结输入的编号信息+数据、或编号信息+纠错码的编号信息,将该数据或纠错码存储在RAM11的、与该编号信息相对应的行的第2列至第N+1列中,并使同一行的第1列的值为0。
RAM11的第1列是表示分组废弃的分组废弃标志区域,第2列至第N+1列的第1行至第M行是存储数据的区域,同列的第M+1行至M+m行是存储纠错码的区域。分组废弃标志表示同一行的数据或纠错码是否是正常接收到的数据或纠错码,当值为0时表示无差错地接收到了数据或纠错码,当值为1时表示检测出了废弃或差错。另外,在RAM11进行初始化时、以及每次N×M位的数据处理结束时,所有的分组废弃标志被设定为值1。
当分组废弃标志的第1行至第M行中即使有一个变为值1时,纠错器12根据纠错码和分组废弃标志的值对RAM11的第2列至第N+1列的数据进行纠错。另外,在纠错编码装置接收到M+m个分组之后、或者为了接收M+m个分组而从接收到最初的分组开始经过了足够长的时间之后,纠错器12开始纠错。另外,纠错器12也可以不是一列一列地执行纠错处理,而是每次并列处理多列。然后,将数据输出给数据输出端口13。
以下示出了与纠错有关的具体示例。例如,假定纠错码为偶校验码。此时,m=1,生成纠错码,使得每列的1的个数均为偶数个。当纠错解码装置接收到M+1个分组并且在其中一个中检测出差错而将其废弃时,仅该行的分组废弃标志变为值1。此时,如果将以RAM11的第2列至第N+1列的信号为元素的M+1行N列的矩阵作为DM+1,N、将分组废弃标志作为长度为M+1的纵向量FM+1、将(M+1)行(M+1)列的单位矩阵作为IM+1、将所有元素为1并且长度为M+1的横向量作为EM+1,则根据下式来计算被废弃的1行得以恢复的M+1行N列的矩阵D*M+1,N,D*M+1,N=[IM+1+FM+1·EM+1]DM+1,N(1)式(1)是以模2为基础的运算。例如,假定N=8,M=4,发送数据为[数1]00000001000000101111001111110100]]>则外码为
。如果在接收方装置中由于检测出差错而废弃了第2个分组,则RAM11的(M+1)行(N+1)列的存储内容变为[数2]0000000011xxxxxxxx011110011011110100000000100]]>这里,x表示由于废弃而造成的不确定的值。此时,式(1)右边的各个变量为[数3]
IM+1=1000001000001000001000001]]>FM+1=01000]]>EM+1=11111]]>DM+1,N=00000001xxxxxxxx111100111111010000000100]]>将它们代入式(1)进行计算,则得到[数4]D*M+1,N=0000000100000010111100111111010000000100]]>可以确认的是,包括第2行的上方4行与发送数据一致。可以仅通过矩阵的加法和乘法而简单地实现式(1)的计算。
通常,为了进行1位纠错,需要使用最小汉明距离为3位以上的代码。当为4位数据时,纠错码最低需要3位。例如,作为纠错码为3位的代码,有二元(7,4)BCH码。在本数值示例中,纠错码为1位,因此应发送的信息少,从而可以削减信号传送带宽。作为检错码,由于仅检测差错,因此也可以使用如奇偶校验位这样的简单代码。另外,如果将本发明应用于如以太网(注册商标)帧这样的、原本具有检错功能的分组,则不需要重新附加检错码,从而不需要多余的带宽。
如上所述,将乘积码中的一个码作为附加位数比纠错码少、电路结构也简单的检错码,通过与数据或纠错码相同的分组来发送检错码,可以对分组丢失和分组内的比特差错这两者进行补偿,同时可以削减冗长并实现低延迟和高效率,另外还可以实现纠错编码装置和解码装置的简化。并且,由于在纠错解码装置中根据各个分组的编号信息来识别纵向上的分组废弃位置,因此甚至可以使用如单一纠错码这样的简单的纠错码,从而可以提高修正性能。
权利要求
1.一种纠错方法,在发送方装置中以规定的位数为单位对作为发送对象的数据进行编码并通过分组进行发送,在接收方装置中对分组的比特差错和分组丢失进行补偿,所述纠错方法的特征在于,在发送方装置中具有将数据配置成矩阵状的步骤;在配置成矩阵状的数据的列方向上计算纠错码,并将该纠错码配置成与数据相同列数的矩阵状的步骤;对具有数据或纠错码的各行赋予与行号相对应的编号信息的步骤;和将具有编号信息和数据、或编号信息和纠错码的各行分别封装在一个分组中并将检错码也封装在该分组中来进行发送的步骤,其中所述检错码至少检测针对包含在分组中的编号信息和数据、或编号信息和纠错码的比特差错;在接收方装置中具有废弃根据包含在接收到的分组中的检错码而被检测出差错的分组的步骤;根据包含在分组中的编号信息检查分组的丢失的步骤;以及利用纠错码来恢复已丢失的数据的步骤。
2.如权利要求1所述的纠错方法,其特征在于,在恢复所述数据的步骤中,将在检查所述分组的丢失的步骤中未检测出丢失的分组的编号信息也用于恢复数据。
3.一种纠错编码装置,其特征在于,包括纠错码单元,将输入的规定位数的数据配置成矩阵状,对各列计算纠错码,将所计算的纠错码附加到各列;编号信息赋予单元,将与行号相对应的编号信息附加到纠错码单元输出的各行;检错码单元,将检测各行的比特差错的检错码附加到编号信息赋予单元输出的各行;以及分组发送单元,将检错码单元输出的各行封装在一个分组中进行发送。
4.一种纠错解码装置,接收权利要求3所述的纠错编码装置输出的分组并进行解码,其特征在于,包括检错单元,对包含在各个分组中的检错码进行解码,仅输出未检测出差错的编号信息和数据的组、或未检测出差错的编号信息和纠错码的组;以及纠错单元,使检错单元输出的数据或纠错码对应于行号的位置而成矩阵状,根据包含在同一列中的纠错码对各个列进行纠错,其中所述行号与和所述数据或纠错码一同输出的编号信息相对应。
5.如权利要求4所述的纠错解码装置,其特征在于,所述纠错单元将由检错单元与数据或纠错码同时输出的编号信息也用于纠错。
全文摘要
在本发明中,在发送方装置中,将数据配置成矩阵状,在数据的列方向上计算纠错码,将纠错码配置成与数据相同列数的矩阵状,对具有数据或纠错码的各行赋予与行号相对应的编号信息,将各行分别封装在一个分组中并将检错码也封装在该分组中而进行发送,该检错码用于至少检测包含在分组中的编号信息和数据、或编号信息和纠错码。在接收方装置中,废弃根据包含在接收分组中的检错码而检测出差错的分组,根据编号信息检查分组的丢失,根据纠错码恢复已丢失的数据。由此,可以提供一种能够补偿分组丢失和分组内的比特差错、高效率、低延迟、并且可通过简单的电路结构来实现的纠错方法。
文档编号G06F11/10GK101080875SQ200680000729
公开日2007年11月28日 申请日期2006年8月1日 优先权日2005年9月1日
发明者齐藤幸一, 深田阳一, 前田洋一, 云崎清美 申请人:日本电信电话株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1