(57)【特許請求の範囲】
【請求項１】
送信側装置において送信対象であるデータを、所定ビット数単位で符号化してパケットにより送信し、受信側装置においてパケットのビット誤り及びパケット消失を補償する誤り訂正方法であって、
送信側装置において、
データを行列状に配置するステップと、
行列状に配置したデータの列方向に誤り訂正符号を計算し、データと同一列数の行列状に配置するステップと、
データ又は誤り訂正符号を有する各行に、行番号に対応する番号情報を付与するステップと、
各行の（番号情報とデータ）又は（番号情報と誤り訂正符号）に対するビット誤りを検出する誤り検出符号を付加して、それぞれ、１つのパケットに格納して送信するステップと
を有し、
受信側装置において、
受信したパケットの誤り検出符号によって、（番号情報とデータ）又は（番号情報と誤り訂正符号）の行単位でビット誤りを検出するステップと、
誤りを検出しなかった行では（番号情報＋データ）又は（番号情報＋誤り訂正符号）の番号情報を分離した（データ）又は（誤り訂正符号）の行の第１列目に０を付加した行と、誤りを検出した行では第１列目が１でその他の列が不定値の行とで作成した行列（Ｍ＋１行（Ｍは自然数），Ｎ＋１列（Ｎは自然数））の第１列目を行列ＦＭ＋１とし、第２列目以降を行列ＤＭ＋１，Ｎとするステップと、
（Ｍ＋１）行（Ｍ＋１）列の単位行列ＩＭ＋１と、総ての要素が１である長さがＭ＋１の横ベクトルをＥＭ＋１とを用いて、式（１）により誤り訂正した行列Ｄ＊Ｍ＋１，Ｎを得るステップと
Ｄ＊Ｍ＋１，Ｎ＝［ＩＭ＋１＋ＦＭ＋１・ＥＭ＋１］ＤＭ＋１，Ｎ    …（１）
を有することを特徴とする誤り訂正方法。
【請求項２】
入力される所定ビット数のデータを行列状に配置し、各列に対して誤り訂正符号を計算し、計算した誤り訂正符号を、各列に付加する誤り訂正符号手段と、
前記誤り訂正符号手段が出力する各行に、行番号に対応する番号情報を付加する番号情報付与手段と、
前記番号情報付与手段が出力する各行に、各行の（番号情報とデータ）又は（番号情報と誤り訂正符号）に対するビット誤りを検出する誤り検出符号を付加する誤り検出符号手段と、
前記誤り検出符号手段が出力する各行を、１つのパケットに格納して送信するパケット送信手段と
で構成される誤り訂正符号化装置が出力するパケットを受信して復号化する誤り訂正装置であって、
各パケットに含まれる誤り検出符号によって、（番号情報とデータ）又は（番号情報と誤り訂正符号）の行単位でビット誤りを検出する誤り検出手段と、
誤りを検出しなかった行では（番号情報＋データ）又は（番号情報＋誤り訂正符号）の番号情報を分離した（データ）又は（誤り訂正符号）の行の第１列目に０を付加した行と、誤りを検出した行では第１列目が１でその他の列が不定値の行とで作成した行列（Ｍ＋１行（Ｍは自然数），Ｎ＋１列（Ｎは自然数））の第１列目を行列ＦＭ＋１とし、第２列目以降を行列ＤＭ＋１，Ｎとするステップと、
（Ｍ＋１）行（Ｍ＋１）列の単位行列ＩＭ＋１と、総ての要素が１である長さがＭ＋１の横ベクトルをＥＭ＋１とを用いて、式（１）により誤り訂正した行列Ｄ＊Ｍ＋１，Ｎを得る誤り訂正手段と
Ｄ＊Ｍ＋１，Ｎ＝［ＩＭ＋１＋ＦＭ＋１・ＥＭ＋１］ＤＭ＋１，Ｎ    …（１）
を有することを特徴とする誤り訂正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ＡＴＭ、ＩＰ、ＬＡＮといったパケット型伝送方式において、ビット誤り及びパケット消失を補償する誤り訂正技術に関する。
【背景技術】
【０００２】
デジタルデータのビット誤り及び消失を補償する方式として、ＦＥＣ方式（ＦＥＣ：Ｆｏｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）が知られている。ＦＥＣ方式は、送信側において、データを誤り訂正符号により符号化し、受信側において誤り又は消失を検出して、訂正を行う方式である。誤り訂正符号としては、ＢＣＨ符号、リードソロモン符号、畳み込み符号等の各種符号が提案されている（例えば、非特許文献１参照）。【０００３】
誤り訂正符号において、Ｎビットのデータに対して、ｎビットの誤り訂正符号を付加したＮ＋ｎビットのビット列を符号語と呼ぶ。符号語中のビットに誤りが発生した場合でもその誤り数が誤り訂正能力以下である場合は、受信側において誤り位置を検知することができ、よって誤りを完全に修正することができる。誤り訂正能力は、誤り訂正符号により異なり、例えば、（１５、１０）ハミング符号、即ち、１０ビットのデータに５ビットの誤り訂正符号を付加して１５ビットの符号語とするハミング符号では、２ビットまでのバースト誤りを訂正することができる。尚、パリティ符号や、ＣＲＣ符号に代表される誤り検出符号も、誤り訂正符号と同様に、データに対して誤り検出符号を付加するが、符号語内に誤りがあることを検出するのみで、その訂正はできない。【０００４】
誤り訂正符号単体では訂正困難な誤り、例えば、バースト的な誤りに対処するため、複数の誤り訂正符号を組み合わせて、又は、誤り訂正符号と誤り検出符号を組み合わせて使用する各種ＦＥＣ方式が提案され、使用されている。
従来技術によるＦＥＣ方式は、大きく３つに分類することができる。１番目はストリーム型伝送方式に用いられるＦＥＣ方式であり、２番目はパケット型伝送方式において、パケット消失の補償を行うＦＥＣ方式であり、３番目はパケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うＦＥＣ方式である。以下、図６〜９を用いて、従来技術によるＦＥＣ方式について説明を行う。【０００５】
図６は、ストリーム型伝送方式に用いられるＦＥＣ方式を説明する図であり、（ａ）は、単一の誤り訂正符号を用いる方式を、（ｂ）は２種類の誤り訂正符号を用いる方式を示している。
図６（ａ）に示す単一の誤り訂正符号を用いる方式の送信側においては、送信データを、所定のビット数を単位として区切り、区切ったデータに対して誤り訂正符号を計算して符号語を生成する。受信側においては、誤り訂正符号に基づき誤りの訂正を行う。【０００６】
図６（ｂ）は、２種類の誤り訂正符号を組み合わせた積符号と呼ぶ方式を示す図である。図６（ｂ）に示す様に、一定長のデータを行列状に配置し、例えば、まず縦方向又は列方向において誤り訂正符号を計算して、誤り訂正符号である外符号を、各列の最後に付加する。尚、外符号とは、使用する２種類の符号のうち、先に計算する符号を示す用語である。【０００７】
続いて、横方向又は行方向において誤り訂正符号を計算して、誤り訂正符号である内符号を、各行の最後に付加する。尚、内符号とは、使用する２種類の符号のうち、後に計算する符号を示す用語である。
積符号では、例えば、バースト誤りにより、１つの行に内符号の誤り訂正能力以上の誤りが発生した場合であっても、列方向では、バースト誤りとはならないため、外符号により総ての誤りが訂正できる等、その誤り訂正能力が向上する。例えば、国内の地上デジタル放送では、内符号としてパンクチャド畳み込み符号を、外符号として（２０４、１８８）短縮化リードソロモン符号を用いた積符号によるＦＥＣ方式を採用している（例えば、非特許文献２、３参照。）。【０００８】
図７は、パケット型伝送方式において、パケット消失の補償を行うＦＥＣ方式を説明する図であり、特許文献１に記載されている。特許文献１によれば、図７に示す様に、データＡ〜Ｄをペイロード部分に有するＡＴＭセルに続いて、パリティをペイロード部分に有するパリティセルが送信される。データＡ〜データＤの第ｋビットに対するパリティビットは、パリティセルのペイロードの第ｋビットに格納される。また、ＡＴＭセルには送信順に連続するセル番号が付与される。【０００９】
例えば、データＢを有するＡＴＭセルが消失した場合、受信側では、セル番号よりセルの消失を認識し、パリティセルからデータＢを復元することができる。この方式は、簡単な構成でパケット消失の補償を可能とするが、ビット誤りの訂正はできない。即ち、データＢの第１ビットに誤りが発生したとしても、パリティセルにより判定できるのは、データＡ〜Ｄの第１ビットのいずれかに、又は、複数に誤りが発生していることのみである。【００１０】
図８及び図９は、パケット型伝送方式において、パケット消失及びパケット内の誤り訂正を行うＦＥＣ方式を説明する図であり、例えば、非特許文献４、特許文献２及び特許文献３に本方式が記載されている。
本方式では、図８（ａ）に示す様に、データ列を所定長のデータＡ〜Ｄに区切り、行列状に配置した上で、行方向に外符号を計算し、データＡ〜Ｄそれぞれに外符号Ａ〜Ｄを付与する。続いて、データ及び外符号に対して、列方向に内符号を計算し、内符号Ｚを付与、即ち、積符号を計算する。【００１１】
続いて、各行のデータをＡＴＭセルサイズに分割し、行列の第１行から順に、セルの送出順序を示すセル番号を付与したＡＴＭセルとして送信する。図８（ｂ）においては、各データは２分割されている。
受信側においては、図９に示す様に、セル番号に基づき、送信側と同じ行列状にデータを並べる。このとき、セル番号から検出できる消失セルについては、ダミーデータを挿入しておく。図９においては、データＢ−１のＡＴＭセルが消失したため、データＢ−１の位置にダミーデータを挿入している。また、誤りが発生したデータについては、この段階では検出できず、従って誤りを有したままのデータが行列状に配置される。図９においては、データＤ−２に誤りが発生している。【００１２】
続いて、行列状に配置したデータに対して、内符号及び外符号により誤り訂正を行い、ダミーデータ及び誤りの訂正処理を行う。本方式は、図７を用いて説明した特許文献１に記載の構成とは異なり、ビットの誤りについても補償可能であるが、低効率、高遅延及び複雑な回路構成という欠点がある。
低効率となる原因は、外符号を格納する専用セルの存在である。例えば、非特許文献４では、（４４２、４２４）ＢＣＨ符号で伝送効率が２１／２２であり、（４６０、４２４）ＢＣＨ符号で、伝送効率が１０／１１としている。【００１３】
また、高遅延は、受信側での誤り訂正時に発生し、これは、全符号語、即ち、データ、内符号及び外符号を受信する時間に依存する。例えば、非特許文献４に記載の、外符号に（４６０、４２４）ＢＣＨ符号を用い、内符号に（１５、１４）パリティ符号を用いる方式であれば、横方向（データ＋外符号）の符号語長は１１セル、縦方向（データ＋内符号）の符号語長は１５セルであり、積符号全体の符号語長１１×１５＝１６５セルである。つまり、１６５セルを受信する時間が、遅延時間を決定することとなる。【００１４】
更に、内符号及び外符号共に誤り訂正符号を用いる場合には、その回路構成は複雑になる。尚、誤り訂正符号化を行う誤り訂正符号器、誤り訂正符号に基づき誤り訂正を行う誤り訂正器、誤り検出符号化を行う誤り検出符号器及び誤り検出符号に基づき誤り検出を行う誤り検出器については、例えば、非特許文献５に記載されている。
また、Ｔｕｒｂｏ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅを用いて積符号のように二次元に符号化する方法も考えられているが、Ｔｕｒｂｏ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅは計算量が多く、特に復号時に繰り返し演算が必要となり処理が複雑になる。Ｔｕｒｂｏ  Ｐｒｏｄｕｃｔ  Ｃｏｄｅを用いる方法については、例えば、特許文献４に記載されている。
【特許文献１】特許第２７６２８１５号明細書
【特許文献２】特開平０３−２５４２４０号公報
【特許文献３】特開平０４−２０７７３４号公報
【特許文献４】ＵＳ２００４−０２６０９９６Ａ１
【非特許文献１】今井秀樹監修、“エレクトロニクスエッセンシャルズＮｏ．２０  誤り訂正符号の要点”、日本工業センター
【非特許文献２】山田宰監修、“映像情報メディア学会編、デジタル放送ハンドブック”、オーム社、ｐｐ１８−１９
【非特許文献３】ＩＴＵ−Ｒ勧告  ＢＴ．１３０６−１
【非特許文献４】岩瀬亮一、小原仁、“ＡＴＭ網における伝送路符号誤りおよびセル廃棄の補償法”、電子情報通信学会和文論文誌、Ｊ７５−Ｂ１  Ｎｏ．１、ｐｐ１−１１、１９９２年１月
【非特許文献５】原島博監修、“誤り訂正符号化技術の応用事例＜デジタル記録編＞”、トリケップス刊、ｐｐ４３―４４、ｐｐ６７−６８
【発明の開示】
【発明が解決しようとする課題】
【００１５】
従って、本発明は、パケット消失及びパケット内のビット誤りの補償が可能であり、高効率、低遅延で、簡易な回路構成により実現できる誤り訂正方法及び誤り訂正装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明における誤り訂正方法は、送信側装置において送信対象であるデータを、所定ビット数単位で符号化してパケットにより送信し、受信側装置においてパケットのビット誤り及びパケット消失を補償する誤り訂正方法であって、送信側装置において、データを行列状に配置するステップと、行列状に配置したデータの列方向に誤り訂正符号を計算し、データと同一列数の行列状に配置するステップと、データ又は誤り訂正符号を有する各行に、行番号に対応する番号情報を付与するステップと、各行の（番号情報とデータ）又は（番号情報と誤り訂正符号）に対するビット誤りを検出する誤り検出符号を付加して、それぞれ、１つのパケットに格納して送信するステップとを有し、受信側装置において、受信したパケットの誤り検出符号によって、（番号情報とデータ）又は（番号情報と誤り訂正符号）の行単位でビット誤りを検出するステップと、誤りを検出しなかった行では（番号情報＋データ）又は（番号情報＋誤り訂正符号）の番号情報を分離した（データ）又は（誤り訂正符号）の行の第１列目に０を付加した行と、誤りを検出した行では第１列目が１でその他の列が不定値の行とで作成した行列（Ｍ＋１行（Ｍは自然数），Ｎ＋１列（Ｎは自然数））の第１列目を行列ＦＭ＋１とし、第２列目以降を行列ＤＭ＋１，Ｎとするステップと、（Ｍ＋１）行（Ｍ＋１）列の単位行列ＩＭ＋１と、総ての要素が１である長さがＭ＋１の横ベクトルをＥＭ＋１とを用いて、式（１）により誤り訂正した行列Ｄ＊Ｍ＋１，Ｎを得るステップとを有することを特徴とする。
Ｄ＊Ｍ＋１，Ｎ＝［ＩＭ＋１＋ＦＭ＋１・ＥＭ＋１］ＤＭ＋１，Ｎ    …（１）
【００１７】
本発明における誤り訂正装置は、入力される所定ビット数のデータを行列状に配置し、各列に対して誤り訂正符号を計算し、計算した誤り訂正符号を、各列に付加する誤り訂正符号手段と、前記誤り訂正符号手段が出力する各行に、行番号に対応する番号情報を付加する番号情報付与手段と、前記番号情報付与手段が出力する各行に、各行の（番号情報とデータ）又は（番号情報と誤り訂正符号）に対するビット誤りを検出する誤り検出符号を付加する誤り検出符号手段と、前記誤り検出符号手段が出力する各行を、１つのパケットに格納して送信するパケット送信手段とで構成される誤り訂正符号化装置が出力するパケットを受信して復号化する誤り訂正装置であって、各パケットに含まれる誤り検出符号によって、（番号情報とデータ）又は（番号情報と誤り訂正符号）の行単位でビット誤りを検出する誤り検出手段と、誤りを検出しなかった行では（番号情報＋データ）又は（番号情報＋誤り訂正符号）の番号情報を分離した（データ）又は（誤り訂正符号）の行の第１列目に０を付加した行と、誤りを検出した行では第１列目が１でその他の列が不定値の行とで作成した行列（Ｍ＋１行（Ｍは自然数），Ｎ＋１列（Ｎは自然数））の第１列目を行列ＦＭ＋１とし、第２列目以降を行列ＤＭ＋１，Ｎとするステップと、（Ｍ＋１）行（Ｍ＋１）列の単位行列ＩＭ＋１と、総ての要素が１である長さがＭ＋１の横ベクトルをＥＭ＋１とを用いて、式（１）により誤り訂正した行列Ｄ＊Ｍ＋１，Ｎを得る誤り訂正手段とを有することを特徴とする。
Ｄ＊Ｍ＋１，Ｎ＝［ＩＭ＋１＋ＦＭ＋１・ＥＭ＋１］ＤＭ＋１，Ｎ    …（１）
【発明の効果】
【００２０】
積符号の一方の符号を、誤り訂正符号よりも付加するビット数が少なく、回路構成も簡易な誤り検出符号とし、誤り検出符号をデータ又は誤り訂正符号と同一のパケットにより送信することで、パケット消失とパケット内のビット誤りの双方を補償しつつ、冗長を削減して低遅延、高効率を実現し、また、符号化装置及び復号化装置の簡易化を実現している。【００２１】
更に、各パケットには番号情報が付与されているため、番号情報を用いることにより、受信しなかったパケットの縦方向の位置を知ることができ、単一誤り訂正符号のような簡易な誤り訂正符号が使用可能になるほど訂正性能を向上することができる、という効果がある。
【図面の簡単な説明】
【００２２】
【図１】本発明による誤り訂正の符号化を説明する図である。
【図２】本発明による誤り訂正方法での送信パケットを示す図である。
【図３】本発明による誤り訂正方法の復号化を説明する図である。
【図４】本発明による誤り訂正符号化装置のブロック図である。
【図５】本発明による誤り訂正復号化装置のブロック図である。
【図６】ストリーム型伝送方式に用いられるＦＥＣ方式を説明する図である。
【図７】パケット型伝送方式において、パケット消失の補償を行うＦＥＣ方式を説明する図である。
【図８】パケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うＦＥＣ方式を説明する図である。
【図９】パケット型伝送方式において、パケットの消失及びパケット内のビット誤りの訂正を行うＦＥＣ方式を説明する他の図である。
【発明を実施するための最良の形態】
【００２３】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
図１は、本発明による誤り訂正方法の符号化を説明する図である。図１（ａ）に示す様に、送信側装置では、送信データをＮビット単位に区切り、Ｍ個のＮビットデータ（データ＃１〜＃Ｍ）を、行列状に配置して符号化処理を行う。即ち、送信側装置は、符号化処理を、Ｎ×Ｍビット単位で行う。ここで、Ｎ及びＭは、所定の自然数である。尚、図１においては、送信データを、第１行から行の昇順に配置する形態で示しているが、第１列から列の昇順に配置する形態等、送受信側で共通であればＮ×Ｍビットデータの配置順には制限はない。【００２４】
続いて、縦方向又は列方向に対して誤り訂正符号により符号化を行い、誤り訂正符号である外符号を付与する。図１（ｂ）に示す様に、本例において、外符号はＭビットのデータに対してｍビットの誤り訂正符号を生成するものとし、生成したｍビットの外符号を、計算対象列と同一列に付加している。よって、外符号は、ｍ行Ｎ列の行列状となる。以後、図１（ｂ）に示す様に、外符号の第ｋビットの行を外符号＃Ｍ＋ｋと呼ぶ（１≦ｋ≦ｍ）。【００２５】
続いて、データ＃１からデータ＃Ｍ及び外符号＃Ｍ＋１から外符号＃Ｍ＋ｍそれぞれの行の先頭にＱビットの番号情報を付与する。番号情報は、行番号を示す情報である。以後、図１（ｂ）に示す様に、第ｋ行（１≦ｋ≦Ｍ＋ｍ）の番号情報を番号情報＃ｋと呼ぶ。
最後に、Ｑ＋Ｎビットからなる各行に対して、誤り検出符号により符号化を行い、誤り検出符号である内符号を付与する。図１（ｂ）に示す様に、本例において、内符号はＱ＋Ｎビットに対してｎビットの誤り検出符号を生成するものとし、生成したｎビットの内符号を、計算対象行と同一行に付与している。以後、図１（ｂ）に示す様に、第ｋ行（１≦ｋ≦Ｍ＋ｍ）の内符号を内符号＃ｋと呼ぶ。【００２６】
図２は、本発明による誤り訂正方法での送信パケットを示す図である。送信側装置は、図１（ｂ）に示すＱ＋Ｎ＋ｎビットの各行にパケットのヘッダを付与し、１つのパケットとして送信する。即ち、送信側装置は、Ｎ×Ｍビットのデータを、Ｍ＋ｍ個のパケットで送信する。
受信側装置においては、まず受信パケットに必ず存在する、誤り検出符号である内符号により、誤りが生じているか否かの検査を行い、誤りを検出した場合には、当該パケットを廃棄する。続いて、受信パケットの番号情報に基づき、番号情報を除いたペイロード部分、即ちデータ又は外符号を含んでいる部分を、行列状に配置する。このとき、誤り検出により廃棄したパケット及びネットワークでの消失により受信しなかったパケットについては、適当なダミーデータを配置しても良い。図３は、本発明による誤り訂正方法の復号化を説明する図であり、図３においては、データ＃４のパケットで誤りが検出されたことにより、或いは、データ＃４のパケットをそもそも受信しなかったことにより、データ＃４の位置にはダミーデータが配置されている。【００２７】
最後に、受信側装置において、正しく受信した番号情報と外符号により誤り訂正を行い、ダミーデータの誤り訂正を行う。
尚、送信側装置において、Ｑ＋Ｎ＋ｎビットからなる各行にパケットヘッダを付与して送信する例を示したが、１つのパケットには、ビット調整のためのパディング等、他のビットを格納することもできる。またその場合、誤り検出符号の検出対象範囲に他のビットを含めてもよい。即ち、Ｑビットの番号情報と、Ｎビットのデータ又は外符号とが、少なくとも、誤り検出符号の検出対象範囲であり、受信側装置で、Ｑビットの番号情報と、Ｎビットのデータ又は外符号と、ｎビットの誤り検出符号と、その他のビットの区別ができ、ｎビットの誤り検出符号が対象とする範囲が送信側装置と受信側装置で共通であればよい。尚、各ブロックによる処理遅延は、データ、クロック信号、各制御信号の非同期の原因となるが、適切な遅延回路の挿入によりこれを補償することができる。以降の説明では、遅延回路は省略する。【００２８】
図４は、本発明による誤り訂正符号化装置、即ち、送信側装置のブロック図である。図４によると、誤り訂正符号化装置は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２と、誤り訂正符号器３と、誤り検出符号器４と、パケットヘッダ付与器５とを備えている。また、符号１はデータ入力ポートであり、符号６はパケット出力ポートである。
データ入力ポート１に入力される送信データは、図１（ｂ）にて説明したようにＮ×Ｍビットを単位として処理され、ＲＡＭ２の図４の点線で区切られた領域のうち、Ｍ行Ｎ列である中央上段の領域に順次書き込まれる。【００２９】
また、ＲＡＭ２の左側Ｑ列の各行、つまり第１行から第Ｍ＋ｍ行には、Ｑビットの番号情報を格納する。この番号情報は、各行に送信データを書き込む際に、合わせて書き込んでも、ＲＡＭ２を初期化する際に固定値として書き込んでも良い。
ＲＡＭ２のＭ行Ｎ列の領域に送信データを格納後、誤り訂正符号器３は、送信データの各列に対する誤り訂正符号を生成し、生成した誤り訂正符号を、訂正対象である送信データと同一列の第Ｍ＋１行から第Ｍ＋ｍ行に格納する。以上の処理を送信データ総てに対し、つまり、ＲＡＭ２の第Ｑ＋１列から第Ｑ＋Ｎ列まで行う。尚、1列ずつではなく、複数列ずつ並列に処理しても良い。また、Ｎ×Ｍビットの送信データが、総て、ＲＡＭ２のＭ行Ｎ列の領域に格納された後に誤り訂正符号の生成と格納処理を行うのではなく、総ての行のデータが格納された列から順に、誤り訂正符号の生成と格納処理を行ってもよく、処理時間を低減することができる。【００３０】
使用する誤り訂正符号は、非２元符号であっても良い。この場合、複数のビットを最小単位とする誤り訂正符号化を行う。例えば、リードソロモン符号ＲＳ（２５５、２３９）を用いる場合、８ビットを符号化の単位として計算する。
続いて、誤り検出符号器４が、各行のデータに対する誤り検出符号を生成し、誤り検出の対象行の第Ｑ＋Ｎ＋１列から第Ｑ＋Ｎ＋ｎ列に格納する。誤り訂正符号器３と同様、誤り検出符号器４は、1行ずつではなく、複数行ずつ並列に処理しても良い。また、ＲＡＭ２の（Ｑ＋Ｎ）×（Ｍ＋ｍ）の領域総てに必要なデータ、つまり、番号情報、送信データ、誤り訂正符号が格納された後に、誤り検出符号の生成と格納処理を行うのではなく、総てのデータが格納された行から順に、誤り検出符号の生成と格納処理を行ってもよく、処理時間を低減することができる。【００３１】
パケットヘッダ付与器５は、ＲＡＭ２の各行のデータ、つまり、番号情報と、送信データ又は誤り訂正符号と、誤り検出符号とを含むデータを入力し、このデータにパケットヘッダを付与し、パケット出力ポート６に出力する。
図５は、本発明による誤り訂正復号化装置、即ち、受信側装置のブロック図である。図５によると、誤り訂正復号化装置は、パケットヘッダ分離器８と、誤り検出器９と、番号情報分離器１０と、ＲＡＭ１１と、誤り訂正器１２とを備えている。また、符号７はパケット入力ポートであり、符号１３はデータ出力ポートである。【００３２】
パケットヘッダ分離器８は、パケット入力ポート７から入力されるパケットのヘッダを終端し、番号情報と、データ又は誤り訂正符号と、誤り検出符号とを含むＱ＋Ｎ＋ｎビットのペイロードを誤り検出器９に出力する。
誤り検出器９は、誤り検出符号に基づき、入力された番号情報＋データ、又は、番号情報＋誤り訂正符号に誤りが発生しているか否かを検査する。誤り検出器９は、誤りを検出しなかった場合には、番号情報＋データ、又は、番号情報＋誤り訂正符号を番号情報分離器１０に出力し、誤りを検出した場合には、何も出力をしない。【００３３】
番号情報分離器１０は、入力される番号情報＋データ、又は、番号情報＋誤り訂正符号の番号情報を終端し、そのデータ又は誤り訂正符号を、ＲＡＭ１１のその番号情報に対応する行の第２列から第Ｎ＋１列に格納し、同一行の第１列の値を０にする。
ＲＡＭ１１の第１列は、パケット廃棄を示すパケット廃棄フラグ領域であり、第２列から第Ｎ＋１列の第１行から第Ｍ行は、データを格納する領域であり、同列の第Ｍ＋１行からＭ＋ｍ行は、誤り訂正符号を格納する領域である。パケット廃棄フラグは、同一行のデータ又は誤り訂正符号が正常に受信されたものであるか否かを示し、値が０である場合には誤りなく受信したことを、値が１である場合には廃棄又は誤り検出されたことを示している。尚、総てのパケット廃棄フラグには、ＲＡＭ１１の初期化時と、Ｎ×Ｍビットのデータ処理が完了するごとに値１が設定される。【００３４】
誤り訂正器１２は、パケット廃棄フラグの第１行から第Ｍ行までのうち１つでも値１となっているものがある場合には、誤り訂正符号とパケット廃棄フラグの値に基づきＲＡＭ１１の第２列から第Ｎ＋１列のデータの誤り訂正を行う。尚、誤り訂正器１２による誤り訂正の開始は、誤り訂正符号化装置がＭ＋ｍ個のパケットを受信した後、或いは、最初のパケットの受信からＭ＋ｍ個のパケットを受信するのに十分な時間の経過後に開始する。尚、誤り訂正器１２は、１列ずつ誤り訂正処理を実行するのではなく、複数列ずつ並列に処理しても良い。その後、データは、データ出力ポート１３に出力される。【００３５】
以下に、誤り訂正に関する具体例を示す。例えば、誤り訂正符号を偶パリティとする。このときｍ＝１であり、誤り訂正符号は、どの列も１の個数が偶数個になるように生成される。誤り訂正復号化装置がＭ＋１個のパケットを受信し、その中の１つに誤りが検出されて廃棄された場合、該当する行のパケット廃棄フラグのみが値１になる。このとき、ＲＡＭ１１の第２列から第Ｎ＋１列までの信号を要素とするＭ＋１行Ｎ列の行列をＤM+1,N、パケット廃棄フラグを長さＭ＋１の縦ベクトルＦM+1、（Ｍ＋１）行（Ｍ＋１）列の単位行列をＩM+1、総ての要素が１である長さがＭ＋１の横ベクトルをＥM+1とすると、廃棄された１行が復元されたＭ＋１行Ｎ列の行列Ｄ*M+1,Nは、次式によって計算される。
Ｄ*M+1,N＝［ＩM+1＋ＦM+1・ＥM+1］ＤM+1,N              （１）
ただし、式（１）はモジュロ２上での演算である。例えば、Ｎ＝８、Ｍ＝４とし、送信データを、【００３６】
【数１】
0004503613.tif 000002
【００３７】
とすると、外符号は、［０  ０  ０  ０  ０  １  ０  ０］となる。受信側装置で、２番目のパケットを、誤り検出により廃棄したものとすると、ＲＡＭ１１の（Ｍ＋１）行（Ｎ＋１）列のメモリ内容は、【００３８】
【数２】
0004503613.tif 000003
【００３９】
となる。ここで、ｘは廃棄による不定値を示している。このとき、式（１）の右辺の各変数は、【００４０】
【数３】
0004503613.tif 000004
【００４１】
である。これらを式（１）に代入して計算すると、【００４２】
【数４】
0004503613.tif 000005
【００４３】
となり、第２行も含めて上側４行は送信データと一致していることが確認できる。式（１）の計算は、行列の加算と乗算のみであり簡単に実現可能である。
通常、１ビットの誤り訂正を行うには、最小ハミング距離が３ビット以上の符号を用いる必要がある。４ビットのデータの場合には、最低でも誤り訂正符号として３ビット必要である。例えば、誤り訂正符号が３ビットである符号として、２元（７，４）ＢＣＨ符号がある。本数値例では誤り訂正符号は１ビットであり、送信すべき情報が少なくてすむので信号伝送帯域を削減できる。誤り検出符号としては、誤りを検出するのみなのでパリティビットのような簡易な符号も適用可能である。また、イーサネット（登録商標）フレームのような、誤り検出機能をもともと有しているパケットに対して適用すれば、誤り検出符号を新たに付加する必要は無く、帯域を余分に必要とせずに済む。【００４４】
以上説明したように、積符号の一方の符号を、誤り訂正符号よりも付加するビット数が少なく、回路構成も簡易な誤り検出符号とし、誤り検出符号をデータ又は誤り訂正符号と同一のパケットにより送信することで、パケット消失とパケット内のビット誤りの双方を補償しつつ、冗長を削減して低遅延、高効率を実現し、また、誤り訂正符号化装置及び復号化装置の簡易化を実現している。更に、誤り訂正復号化装置では、各パケットの番号情報に基づき縦方向でのパケット廃棄位置を認識するため、単一誤り訂正符号の様な簡易な誤り訂正符号が使用可能になるほど訂正性能を向上させることができる、という効果がある。
【図１】
0004503613.tif 000006
【図２】
0004503613.tif 000007
【図３】
0004503613.tif 000008
【図４】
0004503613.tif 000009
【図５】
0004503613.tif 000010
【図６】
0004503613.tif 000011
【図７】
0004503613.tif 000012
【図８】
0004503613.tif 000013
【図９】
0004503613.tif 000014