(57)【要約】  【課題】  本発明はエラー訂正符号生成のための演算回路及びエラー検出訂正のための演算回路を、それぞれ１回路にして、繰り返し使用できるようにすることにより、回路規模を小さくするすることを目的とする。  【解決手段】  情報符号ｎシンボルに対してエラー訂正符号を含む付加符号ｍシンボル（ｍ＝ｎ＊ｌ、ｌは正整数）を付加して、（ｎ＋ｍ）シンボルの結合情報符号を生成するエラー訂正符号生成回路１０５及び（ｎ＋ｍ）シンボルの結合情報符号について、エラーの検出と訂正を行い、前記付加符号ｍシンボルを除去して、前記ｎシンボルの情報符号を取り出すエラー検出訂正回路１１０とを繰り返し使用することにより、回路規模の小さいエラー訂正復号化回路及びエラー訂正符号化回路を構成した。  【選択図】  図２
2005210643.tif 000002
【特許請求の範囲】
【請求項１】
情報符号ｎシンボルに対してエラー訂正符号を含む付加符号ｍシンボル（ｍ＝ｎ＊ｌ、ｌは正整数）を付加して、（ｎ＋ｍ）シンボルの結合情報符号を生成するエラー訂正符号生成回路と；
前記（ｎ＋ｍ）シンボルの結合情報符号を（ｌ＋１）個の新たなｎシンボルの情報符号に分割する分割回路と；
前記エラー訂正符号生成回路から出力される前記（ｎ＋ｍ）シンボルの結合情報符号を、全長（ｌ＋１）ｋ＊ｎシンボル分（ｋは正整数）蓄積する第１のデータバッファ回路と；
前記エラー訂正符号生成回路へ入力するデータを、前記第１のデータバッファ回路からの出力データとするかその他の入力データとするかを選択する第１の選択回路と；
前記エラー訂正符号生成回路から出力するデータを、前記第１のデータバッファ回路への入力データとするかその他の出力データとするかを選択する第２の選択回路と；
前記第１の選択回路及び前記第２の選択回路を制御することによりデータフローを制御する第１の制御回路と；
を備えるエラー訂正符号化回路。
【請求項２】
前記第１のデータバッファ回路に蓄積されたデータの並べ替えを行う第１のデータ組み換え回路を備える；
請求項１に記載のエラー訂正符号化回路。
【請求項３】
情報符号ｎシンボルに対してエラー訂正符号を含む付加符号ｍシンボル（ｍ＝ｎ＊ｌ、ｌは正整数）が付加された（ｎ＋ｍ）シンボルの結合情報符号について、エラーの検出と訂正を行い、前記ｍシンボルの付加符号を除去して、前記ｎシンボルの情報符号を取り出すエラー検出訂正回路と；
前記ｎシンボルの情報符号を（ｌ＋１）個連結して、新たな（ｎ＋ｍ）シンボルの結合情報符号にする連結回路と；
前記エラー検出訂正回路から出力される前記情報符号を、全長（ｌ＋１）ｋ＊ｎシンボル分（ｋは正整数）蓄積する第２のデータバッファ回路と；
前記エラー検出訂正回路へ入力するデータを、前記第２のデータバッファ回路からの出力データとするかその他の入力データとするかを選択する第３の選択回路と；
前記エラー検出訂正回路から出力するデータを、前記第２のデータバッファ回路への入力データとするかその他の出力データとするかを選択する第４の選択回路と；
前記第３の選択回路及び前記第４の選択回路を制御することによりデータフローを制御する第２の制御回路と；
を備えるエラー訂正復号化回路。
【請求項４】
前記第２のデータバッファ回路に蓄積されたデータの並べ替えを行う第２のデータ組み換え回路を備える；
請求項３に記載のエラー訂正復号化回路。
【請求項５】
ｎシンボルの情報符号を入力する工程と；
前記ｎシンボルの情報符号に対してエラー訂正符号を含むｍシンボルの付加符号（ｍ＝ｎ＊ｌ、ｌは正整数）を付加して、（ｎ＋ｍ）シンボルの結合情報符号を生成するエラー訂正符号付加工程と；
前記（ｎ＋ｍ）シンボルの結合情報符号を（ｌ＋１）個の新たなｎシンボルの情報符号に分割する分割工程と；
前記エラー訂正符号付加工程と前記分割工程とをｋ回（ｋは正整数）繰り返して、その結果、全長（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を生成する工程と；
前記（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を送信する工程と；
前記（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を受信する工程と；
前記受信された（ｌ＋１）ｋ−１＊ｎ個の（ｎ＋ｍ）シンボルの結合情報符号に対して、それぞれ、エラーの検出と訂正を行い、ｍシンボルの付加符号を除去して、ｎシンボルの情報符号を取り出すエラー検出訂正工程と；
前記ｎシンボルの情報符号を（ｌ＋１）個連結して、新たな（ｎ＋ｍ）シンボルの結合情報符号にする連結工程と；
前記エラー検出訂正工程と前記連結工程とをｋ回繰り返して、その結果、前記入力されたｎシンボルの情報符号を復元する工程と；
を備えるエラー訂正方法。
【請求項６】
前記エラー訂正符号付加工程の後に、前記（ｎ＋ｍ）シンボルの結合情報符号の並べ替えを行う工程と；
前記エラー検出訂正工程の前に、再度の並べ替えにより、前記（ｎ＋ｍ）シンボルの結合情報符号を復元する工程とを備える；
請求項５に記載のエラー訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエラー訂正符号化回路、エラー訂正復号化回路及びエラー訂正方法に関する。詳しくは、送信情報にエラー訂正符号を付加し、通信エラーが発生しても、元の送信情報に復元できるエラー訂正符号化回路、エラー訂正復号化回路及びエラー訂正方法に関する。
【背景技術】
【０００２】
従来、エラー訂正回路を備え、ＢＣＨ符号やリードソロモン符号等を用いて、通信エラー等の情報エラーの訂正が可能なシステムが提案されている（例えば非特許文献１、２参照）。通信エラーの訂正が可能な通信システムでは、送信時には送信情報データにエラー訂正符号を付加して送信し、受信時にはエラー訂正符号を用いてエラー情報を検出し、可能な範囲でエラー情報を訂正して、送信情報を復元する。
【０００３】
【非特許文献１】「マルチメディア時代の情報理論」  第７章  「実用的な誤り検出・訂正符号」  小川英一  コロナ社  ２０００年４月２１日  初版発行  （１０５頁−１３０頁、図７．１〜図７．１５）
【非特許文献２】「スペクトラム拡散技術のすべて」  第８章  「誤り訂正符号」  松尾憲一  東京電気大学出版局  ２００３年５月３０日  第１版発行  （１６７頁−１７７頁、図８−１１〜図８−１３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、伝送路に送信する送信情報を可変とし、送信情報の情報長に応じて、付加するエラー訂正符号の符号長やエラー検出訂正演算のシンドローム数を決めていたために、送信情報の情報長毎にエラー訂正符号生成のための演算回路やエラー検出訂正のための演算回路を必要としたため、回路規模が大きくなってしまうという問題があった。
【０００５】
本発明は、エラー訂正符号生成のための演算回路及びエラー検出訂正のための演算回路を、それぞれ１回路にして、繰り返し使用できるようにすることにより、回路規模を小さくすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載のエラー訂正符号化回路は、例えば図２に示すように、情報符号ｎシンボルに対してエラー訂正符号を含む付加符号ｍシンボル（ｍ＝ｎ＊ｌ、ｌは正整数）を付加して、（ｎ＋ｍ）シンボルの結合情報符号を生成するエラー訂正符号生成回路１０５と、前記（ｎ＋ｍ）シンボルの結合情報符号を（ｌ＋１）個の新たなｎシンボルの情報符号に分割する分割回路１１５と、エラー訂正符号生成回路１０５から出力される前記（ｎ＋ｍ）シンボルの結合情報符号を、全長（ｌ＋１）ｋ＊ｎシンボル分（ｋは正整数）蓄積する第１のデータバッファ回路１０７と、エラー訂正符号生成回路１０５へ入力するデータを、第１のデータバッファ回路１０７からの出力データとするかその他の入力データＤｉとするかを選択する第１の選択回路１０４と、エラー訂正符号生成回路１０５から出力するデータを、第１のデータバッファ回路１０７への入力データとするかその他の出力データＤｔとするかを選択する第２の選択回路１０６と、第１の選択回路１０４及び第２の選択回路１０６を制御することによりデータフローを制御する第１の制御回路１０３とを備える。
【０００７】
このように構成すると、エラー訂正符号生成演算に用いる情報符号及び付加符号の符号長が固定長であり、また、エラー訂正符号生成演算を１つのエラー訂正符号生成回路及び１つのデータバッファ回路を用いて繰り返し行うことができ、回路規模を小さくできる。
なお、エラー訂正符号化回路およびこれを構成する各回路は、必ずしも１基板に搭載される必要はなく、複数の基板、単数又は複数のボード、モジュール、ユニット又は装置に搭載されても良い。なお、記号＊は乗算を表す。
【０００８】
請求項２に記載の発明は、請求項１に記載のエラー訂正符号化回路において、例えば図９に示すように、第１のデータバッファ回路１０７に蓄積されたデータの並べ替えを行う第１のデータ組み換え回路１１３を備える。このように構成すると、バーストエラーについても訂正が可能である。
【０００９】
請求項３に記載のエラー訂正復号化回路は、例えば図６に示すように、情報符号ｎシンボルに対して訂正符号を含む付加符号ｍシンボル（ｍ＝ｎ＊ｌ、ｌは正整数）が付加された（ｎ＋ｍ）シンボルの結合情報符号について、エラーの検出と訂正を行い、ｍシンボルの付加符号を除去して、ｎシンボルの情報符号を取り出すエラー検出訂正回路１１０と、前記ｎシンボルの情報符号を（ｌ＋１）個連結して、新たな（ｎ＋ｍ）シンボルの結合情報符号にする連結回路１１６と、エラー検出訂正回路１１０から出力される前記情報符号を、全長（ｌ＋１）ｋ＊ｎシンボル分（ｋは正整数）蓄積する第２のデータバッファ回路１１２と、エラー検出訂正回路１１０へ入力するデータを、第２のデータバッファ回路１１２からの出力データとするかその他の入力データＤｒとするかを選択する第３の選択回路１０９と、エラー検出訂正回路１１０から出力するデータを、第２のデータバッファ回路１１２への入力データとするかその他の出力データＤｏとするかを選択する第４の選択回路１１１と、第３の選択回路１０９及び第４の選択回路１１１を制御することによりデータフローを制御する第２の制御回路１０８とを備える。
【００１０】
このように構成すると、エラー検出訂正演算に用いる情報符号及び付加符号の符号長が固定長であり、また、エラー検出訂正演算を１つのエラー検出訂正回路及び１つのデータバッファ回路を用いて繰り返し行うことができ、回路規模を小さくできる。
なお、エラー訂正復号化回路およびこれを構成する各回路は、必ずしも１基板に搭載される必要はなく、複数の基板、単数又は複数のボード、モジュール、ユニット又は装置に搭載されても良い。
【００１１】
請求項４に記載の発明は、請求項３に記載のエラー訂正復号化回路において、例えば図１０に示すように、第２のデータバッファ回路１１２に蓄積されたデータの並べ替えを行う第２のデータ組み換え回路１１４を備える。このように構成すると、バーストエラーについても訂正が可能である。
【００１２】
請求項５に記載のエラー訂正方法は、例えば図５及び図８に示すように、ｎシンボルの情報符号を入力する工程（Ｓ００１）と、前記ｎシンボルの情報符号に対してエラー訂正符号を含むｍシンボルの付加符号（ｍ＝ｎ＊ｌ、ｌは正整数）を付加して、（ｎ＋ｍ）シンボルの結合情報符号を生成するエラー訂正符号付加工程（Ｓ００２）と、前記（ｎ＋ｍ）シンボルの結合情報符号を（ｌ＋１）個の新たなｎシンボルの情報符号に分割する分割工程（Ｓ００５）と、前記エラー訂正符号付加工程と前記分割工程とをｋ回（ｋは正整数）繰り返して、その結果、全長（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を生成する工程と、前記（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を送信する工程（Ｓ００８）と、前記（ｌ＋１）ｋ＊ｎシンボル分の結合情報符号を受信する工程（Ｓ１００）と、前記受信された（ｌ＋１）ｋ−１＊ｎ個の（ｎ＋ｍ）シンボルの結合情報符号に対して、それぞれ、エラーの検出と訂正を行い（Ｓ１０２）、ｍシンボルの付加符号を除去して、ｎシンボルの情報符号を取り出す（Ｓ１０３）エラー検出訂正工程と、前記ｎシンボルの情報符号を（ｌ＋１）個連結して、新たな（ｎ＋ｍ）シンボルの結合情報符号にする連結工程（Ｓ１０６）と、前記エラー検出訂正工程と前記連結工程とをｋ回繰り返して、その結果、前記入力されたｎシンボルの情報符号を復元する工程（Ｓ１０９）とを備える。
【００１３】
このように構成すると、エラー訂正符号生成演算及びエラー検出訂正演算に用いる情報符号及び付加符号の符号長が固定長であり、また、エラー訂正符号生成演算を１つのエラー検出訂正回路及び１つのデータバッファ回路を用いて繰り返し行うことができ、エラー検出訂正演算を１つのエラー検出訂正回路及び１つのデータバッファ回路を用いて繰り返し行うことができ、回路規模を小さくできる。
【００１４】
請求項６に記載の発明は、請求項５に記載のエラー訂正方法において、エラー訂正符号付加工程の後に、前記（ｎ＋ｍ）シンボルの結合情報符号の並べ替えを行う工程と、前記エラー検出訂正工程の前に、再度の並べ替えにより、前記（ｎ＋ｍ）シンボルの結合情報符号を復元する工程とを備える。このように構成すると、バーストエラーについても訂正が可能である。
【発明の効果】
【００１５】
送信情報の情報長及び付加符号の符号長を固定長とし、また、エラー訂正符号生成のための演算回路及びエラー検出訂正のための演算回路を、それぞれ１回路にして、繰り返し使用でき、その結果、回路規模を小さくできる。
【発明を実施するための最良の形態】
【００１６】
以下に図面に基づき本発明の実施の形態について説明する。
［第１の実施の形態］
【００１７】
図１に本発明の実施の形態における情報通信の概念図を示す。本発明の実施の形態での通信に用いる通信システムは、それぞれエラー訂正符号化回路１０１とエラー訂正復号化回路１０２を備える。エラー訂正符号化回路１０１では、情報長ｎシンボルの原情報データにｍ＝ｎ＊ｌシンボル（ｌは正整数）のエラー訂正符号（単に訂正符号ともいう）を付加し、さらに、エラー訂正符号の付加演算をｋ回繰り返して、情報データをｎ＊（ｌ＋１）ｋシンボル（ｋは正整数）の結合情報データに延伸して、送信する。エラー訂正復号化回路１０２では、ｎ＊（ｌ＋１）ｋシンボルの結合情報データを受信し、エラー検出と訂正の演算をｋ回繰り返して、データを復号化し、終局的にはｎシンボルの原情報データを復元する。
【００１８】
図２に第１の実施の形態におけるエラー訂正符号化回路１０１の構成例を示す。１０５は情報データに付加するエラー訂正符号を作成し、情報データに付加するエラー訂正符号生成回路、１０７はエラー訂正符号生成回路１０５でエラー訂正符号の生成演算を行った結合情報データを蓄積する第１のデータバッファ回路、１０４はエラー訂正符号生成回路１０５に入力する情報データを、外部からの入力データＤｉとするか第１のデータバッファ回路１０７の蓄積データとするかを選択する第１の選択回路、１０６はエラー訂正符号生成回路１０５から出力するデータを、他の通信システムへの結合情報データＤｔとするか第１のデータバッファ回路１０７への蓄積データとするかを選択する第２の選択回路、１０３はエラー訂正符号化回路１０１内のデータフローを制御する第１の制御回路で、第１の選択回路１０４及び第２の選択回路１０６のスイッチング等を制御する。図において、実線はデータのフローを示し、破線は信号のフローを示す。なお、本実施の形態では、エラー訂正符号生成回路１０５に入力するデータを情報データ（情報符号ともいう）、エラー訂正符号生成回路１０５で付加されるデータを付加データ（付加符号ともいう）、エラー訂正に用いる付加データを訂正データ（訂正符号ともいう）、エラー訂正符号生成回路１０５から出力されるデータを結合情報データ（結合情報符号ともいう）と称することとする。
【００１９】
図３にエラー訂正符号の生成演算の例を示す。エラー訂正符号生成回路１０５では、外部からの情報データ（入力データ）Ｄｉを送信すべき情報長ｎシンボルの第１の情報データＡ０として取得する。情報長ｎシンボルの第１の情報データＡ０（＝Ａ１１１）にｍ＝ｎ＊ｌシンボル（ｌは正整数）の第１の訂正符号Ａ１１２＋Ａ１１３を付加して、（ｎ＋ｍ）＝（ｌ＋１）＊ｎシンボルの第１の結合情報データＡ１とする。
【００２０】
次に、この（ｎ＋ｍ）シンボルの第１の結合情報データＡ１をｎシンボルずつ（ｌ＋１）個のデータＡ１１１、Ａ１１２、Ａ１１３に分割して、それぞれを新たなｎシンボルの第２の情報データＡ２１１（＝Ａ１１１）、Ａ２２１（＝Ａ１１２）、Ａ２３１（＝Ａ１１３）とし、さらにそれぞれにｍシンボルの第２の訂正符号Ａ２１２＋Ａ２１３、Ａ２２２＋Ａ２２３、Ａ２３２＋Ａ２３３をを付加し、それぞれ（ｎ＋ｍ）シンボル、全長（ｌ＋１）２＊ｎシンボルの第２の結合情報データＡ２とする。
【００２１】
次に、この第２の結合情報データＡ２をｎシンボルの（ｌ＋１）２個のデータに分割し、それぞれを新たなｎシンボルの第３の情報データＡ２１１〜Ａ２３３として、さらにそれぞれにｍシンボルの第３の訂正符号を付加し、それぞれ（ｎ＋ｍ）シンボル、全長（ｌ＋１）３＊ｎシンボルの第３の結合情報データＡ３とする。このような分割と訂正符号の付加をｋ回（ｋは正整数）繰り返して、最終的に原情報データを、それぞれ（ｎ＋ｍ）シンボルの（ｌ＋１）ｋ−１個のデータ、全長（ｌ＋１）ｋ＊ｎシンボルの第ｋの結合情報データＡｋに延伸した後に、エラー訂正符号化回路１０１から送信する。
【００２２】
図４に訂正符号の生成演算データの例を示す。ｎ＝４、ｍ＝ｎ＊ｌ＝８の場合の例である。１順目の演算で、４シンボルの原情報データａに８シンボルの訂正データｂが付加される。２順目の演算で、４シンボルの原情報データａ及び、１順目で付加された４シンボルずつの２組の訂正符号ｂにそれぞれ８シンボルの訂正データｃが付加される。３順目の演算で、４シンボルの原情報データａ及び、１順目で付加された４シンボルずつの２組の訂正符号ｂ及び２順目で付加された４シンボルずつの６組の訂正符号ｃにそれぞれ８シンボルの訂正データｄが付加される。データの総シンボル数は１順目で（ｌ＋１）＊ｎ＝１２、２順目で（ｌ＋１）２＊ｎ＝３６、３順目で（ｌ＋１）３＊ｎ＝１０８となる。
【００２３】
図５にエラー訂正符号化回路１０１における処理フローの例を示す。ｎシンボルの原情報データ（入力データ）Ｄｉは、第１の制御回路１０３のコントロールにより第１の選択回路１０４を介してエラー訂正符号生成回路１０５に入力される（ステップＳ００１）。エラー訂正符号生成回路１０５は、ｎシンボルの原情報データＤｉに関し、ｍシンボル（ｍ＝ｎ＊ｌ；ｌは正整数）の訂正符号を生成して付加する（ステップＳ００２）。
【００２４】
エラー訂正符号としてＢＣＨ符号（リードソロモン符号を含む）等を使用できるが、本実施の形態ではリードソロモン符号を使用するものとする。ＢＣＨ符号やリードソロモン符号の場合、複数ビットを１シンボルとしてシンボル単位にデータ処理ができる利点がある。また、（ｎ＋ｍ）シンボルの結合情報データに対して、（ｎ＋ｍ−１）≧２ｔであれば、ｔシンボル以下の誤り訂正が可能である。コンピュータ関連では８ビット（１バイト）を単位とすることが多いので、本実施の形態では、８ビットを１シンボルとし、原始多項式ｘ８＋ｘ４＋ｘ３＋ｘ２＋１＝０の根をαとするＧＦ（ｑ＝２８）の元（０、１、２、…、２５５）を情報符号とするリードソロモン符号を用いるものとする。
【００２５】
情報データをを各項の係数とするｎ−１次の多項式をＡ（ｘ）、訂正符号を各項の係数とするｍ−１次の多項式をＲ（ｘ）、生成多項式（最小多項式）をＧ（ｘ）、除算の商をＱ（ｘ）として、多項式形式で表現すると、
Ａ（ｘ）＊ｘｍ＋Ｒ（ｘ）＝Ｇ（ｘ）＊Ｑ（ｘ）・・・・・・（式１）  
の関係が成立する。左辺が多項式Ｑ（ｘ）で割り切れるようにＲ（ｘ）を求めると、Ｒ（ｘ）の各項が求める訂正符号となる。この演算は、
Ｒ（ｘ）＝Ａ（ｘ）＊ｘｍ／Ｇ（ｘ）＊ｍｏｄＧ（ｘ）・・・・・・（式２）
なる（ｎ＋ｍ）シンボルの除算となる。結果として、ｍシンボル訂正符号Ｒ（ｘ）と、情報データｎシンボル＋訂正符号ｍシンボルからなる（ｎ＋ｍ）シンボルの結合情報データＡ（ｘ）が生成される。
【００２６】
ＢＣＨ符号において、加減乗除演算回路は、一般にシフトレジスタとＥＸＯＲ（排他的論理和）回路で構成可能である。最大シンボル長ｎ＋ｍのシフト演算とＥＸＯＲ演算が行われる。生成多項式Ｇ（ｘ）が決まると、情報データＡ（ｘ）に対して訂正符号が一意的に定まる。このエラー訂正符号生成演算は１順目からｋ順目まで、共通の生成多項式Ｇ（ｘ）を用いて同じ要領で行われるので、共通の演算回路で構成できる。また、ｋ回の繰り返し演算で生成される結合情報データは全長（ｌ＋１）ｋ＊ｎシンボルとなる。したがって、演算結果を蓄積するデータバッファ回路は（ｌ＋１）ｋ＊ｎシンボルの容量が求められる。ｎ＝８、ｍ＝２４（ｌ＝２）、Ｋ＝４とすると、６４８シンボル、５１８４ビットになる。
【００２７】
次に演算が何順目かをカウントし、予め定めた繰り返し回数ｋ順目に達していないか判断する（ステップＳ００３）。ｋ順目に達していなければ、ｎシンボルの情報データにエラー訂正符号生成演算を行って得た（ｎ＋ｍ）シンボルの結合情報データを第１のデータバッファ回路１０７に蓄積する（ステップＳ００４）。次に、分割回路１１５で、（ｎ＋ｍ）シンボルの結合情報データをｎシンボルの（ｌ＋１）個の新たな情報データに分割する（ステップＳ００５）。分割された新たな情報データをエラー訂正符号生成回路１０５に入力して（ステップＳ００６）、ステップＳ００２に戻りエラー訂正符号生成演算を行う。このとき、第１の制御回路１０３は第１の選択回路１０４及び第２の選択回路１０６を第１のデータバッファ回路１０７側に接続し、エラー訂正符号生成の処理をｋ回繰り返す。
【００２８】
例えば、繰り返し回数がｊ順目であったとすると、エラー訂正符号生成回路１０５の演算で、ｎシンボルの（ｌ＋１）ｊ−１個の情報データ（第ｊの情報データＡｊ−１）から、（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データ（第ｊの結合情報データＡｊ）を得られる。次に、（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データを第１のデータバッファ回路１０７に蓄積する。この結合情報データは分割回路１１５で、ｎシンボルの（ｌ＋１）ｊ個の情報データに分割される。このｎシンボルの（ｌ＋１）ｊ個の情報データ（第ｊ＋１の情報データＡｊ）をエラー訂正符号生成回路１０５に入力する。このフローをｋ順目まで繰り返す。
【００２９】
ｋ−１順目の演算後に、第１のデータバッファ回路１０７に（１＋１）ｋ−２個の（ｎ＋ｍ）シンボルの結合情報データ（第ｋ−１の結合情報データＡｋ−１）、全長（１＋１）ｋ−１＊ｎシンボルのデータが蓄積される。このデータを第１のデータバッファ回路１０７から出力し、エラー訂正符号生成回路１０５に入力してｋ順目の演算を行う。ｋ順目の演算で、エラー訂正符号生成回路１０５からは、（１＋１）ｋ−１個の（ｎ＋ｍ）シンボルの結合情報データ（第ｋの結合情報データＡｋ）、全長（１＋１）ｋ＊ｎシンボルのデータが順次出力され（ステップＳ００７）、第１の制御回路１０３のコントロールにより第２の選択回路１０６を介して、送信データＤｔとして他の通信システムに送信される（ステップＳ００８）。
【００３０】
エラー訂正符号化演算を情報データＡ（ｘ）とエラー訂正符号との対応表（ルックアップテーブル）を用いて行うことも可能である。この場合、ｎシンボルの情報データＡ（ｘ）はｑｎ通りあり得、それぞれｍシンボルの訂正符号を有するので、表を記録するのに合わせて（ｎ＋ｍ）＊ｑｎシンボルのメモリが必要となる。ｎ＝８、ｍ＝２４（ｌ＝２）、ｑ＝２８の場合には、表の記録に２１３シンボル、２１６ビットが必要となる。
【００３１】
図６に本実施の形態におけるエラー訂正復号化回路１０２の構成例を示す。１１０は情報データに生じたエラーを検出し、エラーを訂正するエラー検出訂正回路、１１２はエラー検出訂正回路１１０でのエラー検出訂正演算を行った結果生成される情報データを蓄積する第２のデータバッファ回路、１０９はエラー検出訂正回路１１０に入力するデータを、他の通信システムからの受信データＤｒ（図１の構成では送信データＤｔに同じ）とするか第２のデータバッファ回路１１２の蓄積データとするかを選択する第３の選択回路、１１１はエラー検出訂正回路１１０から出力するデータを、外部への出力データＤｏとするか第２のデータバッファ回路１１２への蓄積データとするかを選択する第４の選択回路、１０８はエラー訂正復号化回路１０２内のデータフローを制御する第２の制御回路で、第３の選択回路１０９及び第４の選択回路１１１のスイッチング等を制御する。図において、実線はデータのフローを示し、破線は信号のフローを示す。なお、本実施の形態では、エラー検出訂正回路１１０に入力するデータを結合情報データ（結合情報符号ともいう）、エラー検出訂正回路１１０から出力されるデータを情報データ（情報符号ともいう）と称することとする。
【００３２】
図７にエラー検出訂正演算の例を示す。エラー訂正復号化回路１０２では、受信データＤｒとして、（１＋１）ｋ−１個の（ｎ＋ｍ）シンボルの第ｋの結合情報データＡｋ、全長（１＋１）ｋ＊ｎシンボルのデータを受信する。エラー検出訂正回路１１０で、結合情報データＡｋをそれぞれ（ｎ＋ｍ）シンボルずつの（ｌ＋１）ｋ−１個の結合情報データ情報Ａｋ１１＋Ａｋ１２＋Ａｋ１３、Ａｋ２１＋Ａｋ２２＋Ａｋ２３、…、Ａｋ３ｋ−１１＋Ａｋ３ｋ−１２＋Ａｋ３ｋ−１３に分けて、復号化する。復号化においてエラー検出と訂正を行なう。（ｎ＋ｍ）シンボルの結合情報データ情報のうちｎシンボルの情報データついてのシンドロームが０の場合には、ｎシンボルの情報データを正しいデータとして取り扱う。シンドロームが０にならない場合には、誤り情報シンボルを検出し、訂正を行なう。この結果訂正されたｎシンボルの情報データを正しいデータとして扱う。このようにして、（ｌ＋１）ｋ−１個の（ｎ＋ｍ）シンボルの第ｋの結合情報データ情報Ａｋをｎシンボルの第ｋの情報データＡｋ−１に復号化する。
【００３３】
次に、連結回路１１６で、（ｌ＋１）ｋ−１個のｎシンボルの第ｋの情報データＡｋ−１を（ｌ＋１）ｋ−２個の（ｎ＋ｍ）シンボルの第ｋ−１の結合情報データに連結し、エラー検出訂正回路１１０に入力して、ｎシンボルの第ｋ−１の情報データＡｋ−２に復号化する。このような分割と復号化をｋ回繰り返して、終局的には（ｎ＋ｍ）シンボルの第１の結合情報データ情報Ａ１からｎシンボルの第１の情報データＡ０（原情報データ）を復号化する。
【００３４】
図８にエラー訂正復号化回路１０２における処理フローの例を示す。まず、他の通信システムから送信された（１＋１）ｋ−１個の（ｎ＋ｍ）シンボルの結合情報データ、全長（１＋１）ｋ＊ｎシンボルの送信情報Ｄｔ（受信データＤｒに同じ）を順次受信する（ステップＳ１００）。第２の制御回路１０８のコントロールにより第３の選択回路１０９を介して、受信データＤｒを（１＋１）ｋ−１個の（ｎ＋ｍ）シンボルの結合情報データに分けて、エラー検出訂正回路１１０に入力する（ステップＳ１０１）。次に、エラー検出訂正回路１１０でシンドロームを導出し、エラーの検出と訂正を行う（ステップＳ１０２）。エラー検出訂正回路１１０は誤りを訂正する際に、（ｎ＋ｍ）シンボルの結合情報データから、訂正符号分のｍシンボルを除去して、ｎシンボルの情報データに復号する（ステップＳ１０３）。
【００３５】
ｎシンボルの情報データとｍシンボルのエラー訂正符号から、ｍ個のシンドローム方程式が導出され、誤りシンボルの位置と値が求められる。この誤りシンボルの位置及び値の計算はｍ個の連立方程式（最長ｎ＋ｍシンボル）で解かれる。また、（ｎ＋ｍ）シンボルの結合情報データに対して、（ｎ＋ｍ−１）≧２ｔであれば、ｔシンボル以下の誤り訂正が可能である。例えばｎ＝８、ｍ＝１６とすると、１１シンボルまでのエラー訂正が可能となる。完全な訂正データを得るにはエラー訂正符号を多くするべきであるが、実用上、（バーストエラーを除けば、）付加符号長を情報シンボル長以上にすれば（したがってｍ≧ｎとすれば）、殆ど完全に訂正できる。これより、誤りシンボルの位置を求め、値の誤り訂正を行う。
【００３６】
シンドロームを用いたエラー訂正の演算は加減乗除演算であり、ＢＣＨ符号において加減乗除演算回路は、一般にシフトレジスタとＥＸＯＲ回路で構成可能である。最大シンボル長（ｎ＋ｍ）のシフト演算とＥＸＯＲ演算が行われる。
【００３７】
次に演算が何順目かをカウントし、予め定めた繰り返し回数ｋ順目に達していないか判断する（ステップＳ１０４）。ｋ順目に達していなければ、（ｎ＋ｍ）シンボルの結合情報データにエラー検出訂正演算を行って訂正されたｎシンボルの結合情報データを第２のデータバッファ回路１１２に蓄積する（ステップＳ１０５）。次に連結回路１１６でｎシンボルの蓄積データを（ｎ＋ｍ）シンボルに連結し（ステップＳ１０６）、連結された情報データをエラー検出訂正回路１１０に入力して（ステップＳ１０７）、ステップＳ１０２に戻りエラー検出訂正演算を行う。このとき、第２の制御回路１０８は第３の選択回路１０９及び第４の選択回路１１１を第２のデータバッファ回路１１２側に接続し、データのエラー検出訂正の処理をｋ回繰り返す。
【００３８】
例えば、繰り返し回数がｋ−ｊ順目であったとすると、エラー検出訂正回路１０５の演算で、（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ個の結合情報データ（第ｊ＋１の結合情報データＡｊ＋１）から、ｎシンボルの（ｌ＋１）ｊ個の情報データ（第ｊ＋１の情報データＡｊ）を得られる。次にｎシンボルの（ｌ＋１）ｊ個の情報データを第２のデータバッファ回路１１２に蓄積する。これは連結回路１１６で、（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データに連結される。この（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データ（第ｊの結合情報データＡｊ）をエラー検出訂正回路１１０に入力する。このフローをｋ順目まで繰り返す。
【００３９】
ｋ−１順目の演算後に、第２のデータバッファ回路１１２には（１＋１）個のｎシンボルの情報データ（第１の情報データＡ１）が蓄積される。このデータを第２のデータバッファ回路１１２から出力し、連結回路１１６で１個の（ｎ＋ｍ）シンボルの結合情報データに連結して、エラー検出訂正回路１１０に入力し、ｋ順目の演算を行う。ｋ順目の演算で、エラー検出訂正回路１１０からは、ｎシンボルの原結合情報データＡ０が出力され（ステップＳ１０８）、第２の制御回路１０８のコントロールにより第４の選択回路１１１を介して、出力データＤｏとして出力される（ステップＳ１０９）。
【００４０】
生成多項式Ｇ（ｘ）が決まると、誤りパターンに対してシンドロームが一意的に定まる。そこで、誤り検出訂正の演算を誤りパターンとシンドロームとの対応表（ルックアップテーブル）を用いて行うことも可能である。このｎシンボルの誤りパターン（位置及び値）はｑｎ通りあり、それぞれ（ｎ＋ｍ）シンボルのシンドロームを有するので、表を記録するのに合わせて（２ｎ＋ｍ）＊ｑｎシンボルのメモリが必要となる。ｎ＝８、ｍ＝１６、ｋ＝４、ｑ＝２８とすると、表の記録に２６９シンボル、２７２ビットが必要となる。また、誤り訂正は生成多項式Ｇ（ｘ）の根αｉ（ｉは０〜２５５の整数）を順次シンドロームに代入して探索するチェン探索によっても可能である。
［第２の実施の形態］
【００４１】
図９に第２の実施の形態におけるエラー訂正符号化回路１０１Ａの構成例を示す。図において、第１の実施の形態と同じ部分には、同一の符号を付して説明を省略する。第１の実施の形態とは、第１のデータバッファ回路１０７に接続された第１のデータ組替え回路１１３を追加した点、また、第１の制御回路１０３は第１のデータ組替え回路１１３も制御する点が異なる。第１のデータ組替え回路１１３では、繰り返し回数がｊ順目であったとすると、第１のデータバッファ回路１０７に蓄積された（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データ（第ｊの結合情報データＡｊ）、全長（ｌ＋１）ｊ＊ｎシンボルのデータの順序を入れ替えて第１のデータバッファ回路１０７に戻す。データの順序の入れ替えは、例えばデータ全体をマトリックスに配列し、行と列を交換したり、行単位で入れ替えたり、列単位で入れ替えたりして行なう。
【００４２】
例えば無線通信では、干渉波等の外乱により通信エラーが発生しうる。この場合もｎシンボルの情報に対して少数シンボルのエラーであれば、リードソロモン符号を用いて完全に訂正できる。しかしながら、バーストエラーのように連続するエラーが発生した場合には、ｎシンボルの情報データ内に複数のエラーが発生し、エラーの訂正が困難になる。このような場合に、全長（ｌ＋１）ｊ＊ｎシンボルの情報の順序を入れ替えて送信し、復元時に元に戻せば、バーストエラーの生じたデータを離散させて処理でき、訂正が可能になる。
【００４３】
図１０に第２の実施の形態におけるエラー訂正復号化回路１０２Ａの構成例を示す。図において、第１の実施の形態と同じ部分には、同一の符号を付して説明を省略する。第１の実施の形態とは、第２のデータバッファ回路１１２に接続された第２のデータ組替え回路１１４を追加した点、及び第２のデータバッファ回路１１２と連結回路１１６の順序を入れ替えた点、また、第２の制御回路１０８は第２のデータ組替え回路１１４も制御する点が異なる。第２のデータバッファ回路１１２の前に連結回路１１６を設けたのは、第２のデータバッファ回路１１２に蓄積されるデータを（ｎ＋ｍ）シンボルにして第１のデータバッファ回路１０７に蓄積されるデータと同じにするためである。第２のデータ組替え回路１１４では、繰り返し回数がｋ−ｊ順目であったとすると、第２のデータバッファ回路１１２には、エラー検出訂正回路１１０で訂正されたｎシンボルの（ｌ＋１）ｊ個の情報データ（第ｊ＋１の情報データＡｊ）を、連結回路１１６で連結した（ｎ＋ｍ）シンボルの（ｌ＋１）ｊ−１個の結合情報データ（第ｊの結合情報データＡｊ）、全長（ｌ＋１）ｊ＊ｎシンボルのデータが蓄積されており、その順序を入れ替えて第２のデータバッファ回路１１２に戻す。この時、第２のデータ組替え回路１１４では、第１のデータ組替え回路１１３で行った入れ替えを元に戻すように入れ替える。すなわち、第２のデータ組替え回路１１４は第１のデータ組替え回路１１３の逆変換を行う。ｋ回の繰り返し処理の後に、最終データとして復元したｎシンボルの原情報データを出力データＤｏ（Ｄｉと同じになる）として出力する。
【００４４】
以上、本発明の実施の形態について説明したが、これらに限られるものではなく、本発明の趣旨を逸脱しない範囲で、実施の形態に種々の変更を加え得ることは明白である。
【００４５】
例えば、エラー訂正符号をＢＣＨ符号とする例を説明したが、２元符号を使用しても良い。この場合には実施の形態におけるシンボルをビットに置換して説明できる。また、付加符号ｍシンボルを全て訂正符号とする例を説明したが、ｍシンボル未満の訂正符号とすることも可能である。この場合、残りを意味のない符号として０を用い、合計ｍシンボルとすれば良い。また、通信エラーへの適用について説明したが、記録情報のエラー訂正に利用することも可能である。
【００４６】
また、情報データを分割する際や連結する際に、データの順序を変えずに分割、連結する例を説明したが、一定の法則に従って順序を入れ替えても良い。なお、本実施の形態の例では、データの順序を変えずに分割、連結するため、ｋ回の演算後も原情報データが保存され、また原情報データに基づいて作成される符号データも同一のものが複数保存されるので、これらのデータを相互に比較することにより、エラーの検出や訂正を容易にする利点もある。また、第１のデータバッファ回路をエラー訂正符号生成回路と第２の選択回路の間に設け、エラー訂正符号付加後のデータを第１のデータバッファ回路に蓄積した後に、演算がｋ順目に到達したかを判断しても良い。この場合、結合情報データＤｔを送信するときに、（１＋１）ｋ−１個の（ｎ＋ｍ）シンボルの結合情報データを、１個ずつ第１のデータバッファ回路から取り出して順次送信するのに便宜である。
【００４７】
また、第２のデータバッファ回路をエラー検出訂正回路と第４の選択回路の間に設け、エラー検出訂正後のデータを第２のデータバッファ回路に蓄積した後に、演算がｋ順目に到達したかを判断しても良い。この場合、出力データＤｏを出力するときに、第２のデータバッファ回路から取り出して出力でき便宜である。また、分割回路と第１のデータバッファ回路の位置を交換しても良く、連結回路と第２のデータバッファ回路の位置を交換しても良い。また、第２の実施の形態において、第１、第２のデータ組替え回路を第１、第２のデータバッファ回路の後段に設け、並び替えたデータを第１、第２のデータバッファ回路に戻さず、エラー訂正符号生成回路やエラー検出訂正回路に導入しても良い。
【産業上の利用可能性】
【００４８】
通信エラーの自動訂正が可能な通信に利用できる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態における情報通信の概念図である。
【図２】第１の実施の形態におけるエラー訂正符号化回路の構成例を示す図である。
【図３】第１の実施の形態におけるエラー訂正符号の生成演算の例を示す図である。
【図４】第１の実施の形態におけるエラー訂正符号の生成演算データの例を示す図である。
【図５】第１の実施の形態におけるエラー訂正符号化回路の処理フローの例を示す図である。
【図６】第１の実施の形態におけるエラー訂正復号化回路の構成例を示す図である。
【図７】第１の実施の形態におけるエラー検出訂正演算の例を示す図である。
【図８】第１の実施の形態におけるエラー訂正復号化回路の処理フローの例を示す図である。
【図９】第２の実施の形態におけるエラー訂正符号化回路の構成例を示す図である。
【図１０】第２の実施の形態におけるエラー訂正復号化回路の構成例を示す図である。
【符号の説明】
【００５０】
１０１、１０１Ａ  エラー訂正符号化回路
１０２、１０２Ａ  エラー訂正復号化回路
１０３  第１の制御回路
１０４  第１の選択回路
１０５  エラー訂正符号生成回路
１０６  第２の選択回路
１０７  第１のデータバッファ回路
１０８  第２の制御回路
１０９  第３の選択回路
１１０  エラー検出訂正回路
１１１  第４の選択回路
１１２  第２のデータバッファ回路
１１３  第１のデータ組替え回路
１１４  第２のデータ組替え回路
１１５  分割回路
１１６  連結回路
【図１】
2005210643.tif 000003
【図２】
2005210643.tif 000004
【図３】
2005210643.tif 000005
【図４】
2005210643.tif 000006
【図５】
2005210643.tif 000007
【図６】
2005210643.tif 000008
【図７】
2005210643.tif 000009
【図８】
2005210643.tif 000010
【図９】
2005210643.tif 000011
【図１０】
2005210643.tif 000012