(57)【要約】【課題】受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な受信装置を提供すること。【解決手段】マトリクス生成部３２は、受信部３１によって受信されたデータパケットをマトリクス状に配置し、マトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成する。なお、欠損したデータパケットはすでに破棄されている。パリティ計算部３３は、欠損数判定部３４によってパケット欠損数が１となっていると判定された行または列の対応するパリティパケットおよび他のデータパケットに基づいてパリティを計算し、データパケットを復元する。したがって、欠損したデータパケットを容易に復元することが可能となる。【選択図】        図９
2004274214.tif 000002
【特許請求の範囲】
【請求項１】
パケット単位でデータを送信する送信装置であって、
複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、
前記データパケットおよび前記パリティパケット生成手段によって生成されたパリティパケットを送信するための送信手段とを含む、送信装置。
【請求項２】
前記データパケットが可変長の場合、前記パリティパケット生成手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して前記マトリクスを生成し、当該マトリクスに基づいて前記パリティパケットを生成する、請求項１記載の送信装置。
【請求項３】
前記パリティパケット生成手段は、前記パディングデータを含んだデータからパリティを計算して前記パリティパケットを生成する、請求項２記載の送信装置。
【請求項４】
前記パリティパケット生成手段は、前記マトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ３軸以上のパリティを計算してパリティパケットを生成する、請求項１〜３のいずれかに記載の送信装置。
【請求項５】
パケット単位でデータを受信する受信装置であって、
パケットを受信するための受信手段と、
前記受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、受信装置。
【請求項６】
前記復元手段は、前記受信手段によって受信されたデータパケットをマトリクス状に配置して第１のマトリクスを生成し、該第１のマトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、
前記マトリクス生成手段によって生成された第１のマトリクスにおけるパケット欠損数が１となっている行または列の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む、請求項５記載の受信装置。
【請求項７】
前記データパケットが可変長の場合、前記パリティ計算手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して第２のマトリクスを生成し、該第２のマトリクスに基づいて欠損したデータパケットを復元する、請求項６記載の受信装置。
【請求項８】
前記パリティ計算手段は、前記パディングデータを含んだデータからパリティを計算して欠損したデータパケットを復元する、請求項７記載の受信装置。
【請求項９】
前記パリティ計算手段は、前記第２のマトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ３軸以上のパリティパケットに基づいてパリティを計算して欠損したデータパケットを復元する、請求項５〜８のいずれかに記載の受信装置。
【請求項１０】
パケット単位でデータを通信する送信装置および受信装置を含んだ通信システムであって、
前記送信装置は、複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、
前記データパケットおよび前記パリティパケット生成手段によって生成されたパリティパケットを前記受信装置へ送信するための送信手段とを含み、
前記受信装置は、前記送信装置からパケットを受信するための受信手段と、
前記受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、通信システム。
【請求項１１】
パケット単位でデータを送信する送信方法であって、
複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するステップと、
前記データパケットおよび前記生成されたパリティパケットを送信するステップとを含む、送信方法。
【請求項１２】
パケット単位でデータを受信する受信方法であって、
データパケットおよび少なくとも水平方向または垂直方向のパリティパケットを受信するステップと、
前記受信されたデータパケットに欠損が発生した場合には、当該データパケットを破棄し、前記受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するステップとを含む、受信方法。
【請求項１３】
パケット単位で誤りを訂正する誤り訂正装置であって、
パケットを入力するための入力手段と、
前記入力手段によって入力されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記入力手段によって入力された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、誤り訂正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信における誤り訂正技術に関し、特に、パケット全体が消失した場合であっても復元が可能なようにパケットを送信する送信装置、消失したパケットを復元する受信装置、それらの方法およびそれらを接続した通信システム、並びに誤り訂正装置に関する。
【０００２】
【従来の技術】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）、ＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）などのブロードバンドアクセスに対する要望も急速に高まってきている。
【０００３】
このような通信において、パケットのビット誤りに対してはリードソロモン符号やハミング符号などでビット誤りを訂正し、パケット全体の消失に対しては再送などによってパケットの復元が行なわれていた。これに関連する技術として、特開２０００−３０７４３８号公報に開示された発明がある。
【０００４】
この特開２０００−３０７４３８号公報に開示された誤り訂正符号化・復号化方法においては、データを横方向で並列状態のマトリクスに並べ替え、このマトリクスの各横列ブロックおよび各縦列ブロックに対して、それぞれチェックビットを付加してブロック符号を生成することにより、情報ビットについて２重に符号化を行なうものである。
【０００５】
【特許文献１】
特開２０００−３０７４３８号公報
【０００６】
【発明が解決しようとする課題】
上述した特開２０００−３０７４３８号公報に開示された誤り訂正符号化・復号化方法を用いた場合、ビット誤り訂正の能力を向上させることができる。しかし、パケット全体が消失した場合には、これを復元することができず、パケットの再送によってこれに対応しなければならない。したがって、パケットの伝送速度が低下するといった問題点があった。
【０００７】
また、受信専用の装置においては、再送要求を送ることができず、パケットの復元が不可能であるといった問題点もあった。
【０００８】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、受信側でデータパケットが欠損した場合でも、データパケットを復元できるようにパケットを送信する送信装置およびその方法を提供することである。
【０００９】
第２の目的は、受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な受信装置、その方法および通信システムを提供することである。
【００１０】
第３の目的は、入力したデータパケットが欠損した場合でも、データパケットを復元することが可能な誤り訂正装置を提供することである。
【００１１】
【課題を解決するための手段】
請求項１に記載の送信装置は、パケット単位でデータを送信する送信装置であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するための送信手段とを含む。
【００１２】
送信手段は、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【００１３】
請求項２に記載の送信装置は、請求項１記載の送信装置であって、データパケットが可変長の場合、パリティパケット生成手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入してマトリクスを生成し、当該マトリクスに基づいてパリティパケットを生成する。
【００１４】
したがって、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となる。
【００１５】
請求項３に記載の送信装置は、請求項２記載の送信装置であって、パリティパケット生成手段は、パディングデータを含んだデータからパリティを計算してパリティパケットを生成する。
【００１６】
したがって、パリティパケット生成手段がパリティを計算するときの処理速度を向上させることが可能となる。
【００１７】
請求項４に記載の送信装置は、請求項１〜３のいずれかに記載の送信装置であって、パリティパケット生成手段は、マトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ３軸以上のパリティを計算してパリティパケットを生成する。
【００１８】
したがって、受信側における誤り訂正能力を向上させることが可能となる。
請求項５に記載の受信装置は、パケット単位でデータを受信する受信装置であって、パケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【００１９】
復元手段は、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【００２０】
請求項６に記載の受信装置は、請求項５記載の受信装置であって、復元手段は、受信手段によって受信されたデータパケットをマトリクス状に配置して第１のマトリクスを生成し、第１のマトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、マトリクス生成手段によって生成された第１のマトリクスにおけるパケット欠損数が１となっている行または列の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む。
【００２１】
パリティ計算手段は、パケット欠損数が１となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第１のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となる。
【００２２】
請求項７に記載の受信装置は、請求項６記載の受信装置であって、データパケットが可変長の場合、パリティ計算手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して第２のマトリクスを生成し、第２のマトリクスに基づいて欠損したデータパケットを復元する。
【００２３】
したがって、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となる。
【００２４】
請求項８に記載の受信装置は、請求項７記載の受信装置であって、パリティ計算手段は、パディングデータを含んだデータからパリティを計算して欠損したデータパケットを復元する。
【００２５】
したがって、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となる。
【００２６】
請求項９に記載の受信装置は、請求項５〜８のいずれかに記載の受信装置であって、パリティ計算手段は、第２のマトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ３軸以上のパリティパケットに基づいてパリティを計算して欠損したデータパケットを復元する。
【００２７】
したがって、パリティ計算手段における誤り訂正能力を向上させることが可能となる。
【００２８】
請求項１０に記載の通信システムは、パケット単位でデータを通信する送信装置および受信装置を含んだ通信システムであって、送信装置は、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを受信装置へ送信するための送信手段とを含み、受信装置は、送信装置からパケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【００２９】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【００３０】
請求項１１に記載の送信方法は、パケット単位でデータを送信する送信方法であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するステップと、データパケットおよび生成されたパリティパケットを送信するステップとを含む。
【００３１】
データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【００３２】
請求項１２に記載の受信方法は、パケット単位でデータを受信する受信方法であって、データパケットおよび少なくとも水平方向または垂直方向のパリティパケットを受信するステップと、受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するステップとを含む。
【００３３】
欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【００３４】
請求項１３に記載の誤り訂正装置は、パケット単位で誤りを訂正する誤り訂正装置であって、パケットを入力するための入力手段と、入力手段によって入力されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、入力手段によって入力された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【００３５】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【００３６】
【発明の実施の形態】
図１は、イーサネット（Ｒ）などのパケット単位の通信の概略を説明するための図である。図１においては、ｎ個のパケット１〜ｎが順次送受信されることを示している。
【００３７】
図２は、本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。ｎ個のパケット１〜ｎは、水平方向にｍ個、垂直方向にｋ個のマトリクス状に並べられる。そして、水平方向に並べられた各パケット内の対応するビットのパリティ（以下、水平パリティと呼ぶ。）が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケット１〜ｍの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットＨＰ１が生成される。水平パリティパケットは、行数に対応してｋ個だけ生成される。
【００３８】
また、垂直方向に並べられた各パケット内の対応するビットのパリティ（以下、垂直パリティと呼ぶ。）が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケットｍ，２ｍ，３ｍ，…，ｎの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットＶＰｍが生成される。垂直パリティパケットは、列数に対応してｍ個だけ生成される。
【００３９】
図３は、本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。図３においては、９個のパケット▲１▼〜▲９▼から、水平パリティパケットＨＰ１〜ＨＰ３および垂直パリティパケットＶＰ１〜ＶＰ３が生成された場合を示している。たとえば、パケット▲１▼が欠損した場合でも、パケット▲２▼、▲３▼および水平パリティパケットＨＰ１の対応するビットのパリティ（排他的論理和（以下、ＥＸ−ＯＲとも呼ぶ。））を計算することによって、パケット▲１▼を復元することができる。
【００４０】
また、パケット▲１▼〜▲３▼が全て欠損した場合でも、パケット▲４▼、▲７▼および垂直パリティパケットＶＰ１の対応するビットのパリティ（ＥＸ−ＯＲ）を計算することによって、パケット▲１▼を復元することができる。同様にして、パケット▲５▼、▲８▼および垂直パリティパケットＶＰ２によってパケット▲２▼が復元でき、パケット▲６▼、▲９▼および垂直パリティパケットＶＰ３によってパケット▲３▼が復元できる。
【００４１】
このように、バースト欠損が発生した場合でも、連続的に欠損したパケットがｍ個以下であれば、復元できることが分かる。
【００４２】
図４は、イーサネット（Ｒ）パケットの構成例を示す図である。イーサネット（Ｒ）パケットは、６バイトのＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、６バイトのＳＡ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、２バイトのタイプ、最大１５００バイトのデータおよび４バイトのＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｙ）を含む。ルータなど中継器は、このＦＣＳを参照してパケット自体の誤りを検出する機能を有しており、誤りがあればパケット自体が破棄される。
【００４３】
また、本発明の実施の形態においては、データの一部をシーケンス番号に割付けており、図１や図２に示すパケットのシーケンス番号１〜ｎのいずれかが格納される。
【００４４】
図５は、本発明の実施の形態における送信装置および受信装置（以下、併せて送受信装置と呼ぶ。）の概略構成を示すブロック図である。この送受信装置は、コンピュータ本体１、ディスプレイ装置２、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）４が装着されるＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８が装着されるＣＤ−ＲＯＭ装置７、およびネットワーク通信装置９を含む。
【００４５】
送受信プログラムは、ＦＤ４またはＣＤ−ＲＯＭ８等の記録媒体によって供給される。送受信プログラムがコンピュータ本体１によって実行されることによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。また、送受信プログラムは他のコンピュータよりネットワーク通信装置９を経由し、コンピュータ本体１に供給されてもよい。
【００４６】
図５に示すコンピュータ本体１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２およびハードディスク１３を含む。ＣＰＵ１０は、ディスプレイ装置２、ＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ装置７、ネットワーク通信装置９、ＲＯＭ１１、ＲＡＭ１２またはハードディスク１３との間でデータを入出力しながら処理を行う。
【００４７】
ＦＤ４またはＣＤ−ＲＯＭ８に記録された送受信プログラムは、ＣＰＵ１０によりＦＤドライブ３またはＣＤ−ＲＯＭ装置７を介して一旦ハードディスク１３に格納される。ＣＰＵ１０は、ハードディスク１３から適宜送受信プログラムをＲＡＭ１２にロードして実行することによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。
【００４８】
図６は、本発明の実施の形態における送信装置の機能的構成を示すブロック図である。この送信装置は、送信すべきデータパケットを生成するデータパケット生成部２１と、水平パリティおよび垂直パリティを計算するパリティ計算部２２と、パケットのヘッダ部を生成するヘッダ生成部２３と、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを生成するＩＰパケット生成部２４と、イーサネット（Ｒ）パケットを生成するイーサネット（Ｒ）パケット生成部２５と、イーサネット（Ｒ）パケット生成部２５によって生成されたパケットを送信する送信部２６と、計算中の水平パリティを一時的に格納する水平パリティレジスタ２７と、計算中の垂直パリティを一時的に格納する垂直パリティレジスタ２８−１〜２８−ｍとを含む。
【００４９】
データパケット生成部２１は、アプリケーションレベルにおけるデータパケットの生成を行なう。したがって、本実施の形態における送信装置は、データパケット生成部２１がなくてもよい。その場合は、アプリケーションプログラムから直接パリティ計算部２２にデータパケットが入力されることになる。
【００５０】
パリティ計算部２２は、シーケンス番号の順番にデータパケットを入力し、水平パリティおよび垂直パリティを計算する。したがって、１行分のデータパケットのパリティ計算が行なわれた時点で、水平パリティが生成されるため、水平パリティレジスタ２７は１つあればよいが、最後の行のデータパケットのパリティ計算が行なわれるまで垂直パリティが生成されないので、垂直パリティレジスタ２８はｍ個用意される。
【００５１】
図７は、イーサネット（Ｒ）パケットの構成例を示す図である。イーサネット（Ｒ）パケットは、ヘッダとデータ（ＩＰパケット）とを含む。また、ＩＰパケットは、ＩＰヘッダと、データとを含む。さらには、ＩＰパケット内のデータは、ヘッダ（シーケンス番号を含む）と、データとを含む。
【００５２】
ヘッダ生成部２３は、図７に示すＩＰパケット内のデータ（シーケンス番号、データ）を生成する。また、ＩＰパケット生成部２４は、図７に示すＩＰパケットを生成する。また、イーサネット（Ｒ）パケット生成部２５は、図７に示すイーサネット（Ｒ）パケットを生成する。
【００５３】
図８は、本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。まず、データパケット生成部２１は、送信すべきデータパケットを生成する（Ｓ１１）。
【００５４】
次に、パリティ計算部２２は、水平パリティレジスタ２７に格納される値と、データパケット生成部２１によって生成されたデータパケットとの対応するビットのＥＸ−ＯＲを計算し、水平パリティレジスタ２７の対応するビットに順次格納する。また、パリティ計算部２２は、垂直パリティレジスタ２８−１〜２８−ｍのうち対応する垂直パリティレジスタに格納される値と、データパケット生成部２１によって生成されたデータパケットとの対応するビットのＥＸ−ＯＲを計算し、垂直パリティレジスタの対応するビットに順次格納する（Ｓ１２）。なお、水平パリティレジスタ２７および垂直パリティレジスタ２８−１〜２８−ｍは、初期値として０が設定されているものとする。
【００５５】
次に、ヘッダ生成部２３、ＩＰパケット生成部２４およびイーサネット（Ｒ）パケット生成部２５は、データパケット生成部２１によって生成されたデータパケットに対応したイーサネット（Ｒ）パケットを生成する。そして、送信部２６は、そのイーサネット（Ｒ）パケットを送信先へ送信する（Ｓ１３）。
【００５６】
次に、パリティ計算部２２は、水平パリティの計算が終了したか否かを判定する（Ｓ１４）。水平パリティの計算が終了していれば（Ｓ１４，Ｙｅｓ）、ヘッダ生成部２３、ＩＰパケット生成部２４およびイーサネット（Ｒ）パケット生成部２５は、パリティ計算部２２によって計算された水平パリティに対応したイーサネット（Ｒ）パケットを生成する。そして、送信部２６は、その水平パリティパケットを送信先へ送信し（Ｓ１５）、ステップＳ１６へ処理が進む。また、水平パリティの計算が終了していないと判定されれば（Ｓ１４，Ｎｏ）、そのままステップＳ１６へ進む。
【００５７】
次に、パリティ計算部２２は、垂直パリティの計算が終了したか否かを判定する（Ｓ１６）。垂直パリティの計算が終了していれば（Ｓ１６，Ｙｅｓ）、ヘッダ生成部２３、ＩＰパケット生成部２４およびイーサネット（Ｒ）パケット生成部２５は、パリティ計算部２２によって計算された垂直パリティに対応したイーサネット（Ｒ）パケットを生成する。そして、送信部２６は、その垂直パリティパケットを送信先へ送信し（Ｓ１７）、ステップＳ１８へ処理が進む。また、垂直パリティの計算が終了していないと判定されれば（Ｓ１６，Ｎｏ）、そのままステップＳ１８へ進む。
【００５８】
最後に、全てのパケットの送信が終了したか否かが判定される（Ｓ１８）。未だ送信されていないパケットがあれば（Ｓ１８，Ｎｏ）、ステップＳ１１に戻って以降の処理を繰返す。また、未だ送信されていないパケットがなければ（Ｓ１８，Ｙｅｓ）、処理を終了する。
【００５９】
図９は、本発明の実施の形態における受信装置の機能的構成を示すブロック図である。この受信装置は、イーサネット（Ｒ）パケット（データパケット、パリティパケット）を受信する受信部３１と、受信部３１によって受信されたデータパケットからパケットの欠損数を示すマトリクスを生成するマトリクス生成部３２と、マトリクス生成部３２によって生成されたマトリクスを参照してパリティを計算するパリティ計算部３３と、マトリクス生成部３２によって生成されたマトリクスを参照してパケットの欠損数を判定すると共に、パケットの欠損数を更新する欠損数判定部３４とを含む。
【００６０】
図１０は、マトリクス生成部３２によって生成されたマトリクスの一例を示す図である。このマトリクスは図２に対応しており、ｎ個のデータパケットのうちどのパケットが欠損しているか、１行のうち幾つデータパケットが欠損しているか、および１列のうち幾つデータパケットが欠損しているかを示している。たとえば、第１行、第３列のパケットなどの３つのパケットが欠損していることを示している。また、第１行においては２つのデータパケットが欠損し、第３列においては１つのデータパケットが欠損していることを示している。
【００６１】
図１１は、本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。まず、受信部３１は、イーサネット（Ｒ）パケット（データパケット、パリティパケット）を受信する（Ｓ２１）。受信したパケットは、ＲＡＭ１２などに格納される。
【００６２】
次に、マトリクス生成部３２は、受信部３１によって受信されたデータパケット３１に基づいて、図１０に示すマトリクスを生成する（Ｓ２２）。そして、変数ｉおよびｊのそれぞれに初期値として１が設定される（Ｓ２３）。
【００６３】
次に、欠損数判定部３４は、第ｉ行のパケット欠損数が１であるか否かを判定する（Ｓ２４）。第ｉ行のパケット欠損数が１の場合には、パリティ計算部３３は、第ｉ行の他のデータパケットと第ｉ行の水平パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報（当該パケットが欠損していることを示す情報）を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする（Ｓ２５）。
【００６４】
次に、変数ｉが行の総数ｋと等しいか否かが判定される（Ｓ２６）。変数ｉが行の総数ｋと等しくなければ（Ｓ２６，Ｎｏ）、変数ｉをインクリメントし（Ｓ２７）、ステップＳ２４に戻って以降の処理を繰返す。また、変数ｉが行の総数ｋと等しければ（Ｓ２６，Ｙｅｓ）、ステップＳ２８へ進む。
【００６５】
次に、欠損数判定部３４は、第ｊ列のパケット欠損数が１であるか否かを判定する（Ｓ２８）。第ｊ列のパケット欠損数が１の場合には、パリティ計算部３３は、第ｊ列の他のデータパケットと第ｊ列の垂直パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報（当該パケットが欠損していることを示す情報）を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする（Ｓ２９）。
【００６６】
次に、変数ｊが列の総数ｍと等しいか否かが判定される（Ｓ３０）。変数ｊが列の総数ｍと等しくなければ（Ｓ３０，Ｎｏ）、変数ｊをインクリメントし（Ｓ３１）、ステップＳ２８に戻って以降の処理を繰返す。また、変数ｊが列の総数ｍと等しければ（Ｓ３０，Ｙｅｓ）、欠損数判定部３４は、パケットの欠損数が１の行または列があるか否かを判定する（Ｓ３２）。
【００６７】
パケットの欠損数が１の行または列がある場合には、変数ｉおよびｊをそれぞれ１に初期化し（Ｓ２３）、ステップＳ２４以降の処理を繰返す。また、パケットの欠損数が１の行または列がない場合には、処理を終了する。なお、欠損数が１の行または列がなく、欠損数が２以上の行または列がある場合には、復元できないパケットが存在することになる。
【００６８】
図１２は、パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。図１２においては、パケットが１列に並べられた場合を示しているが、図２のようにパケットが複数の列に並べられる場合も同様である。それぞれのパケットをマトリクスに配置するとき、そのパケット長が最大パケット長Ｌｍａｘに満たない場合には、パケット長がＬｍａｘになるようにパディングデータを挿入する。これによって、全てのパケット長をＬｍａｘに統一した後に、水平パリティおよび垂直パリティを計算する。
【００６９】
図１３は、パディングデータが挿入された後のマトリクスの一例を示す図である。図１３においては、全てのパケットのパケット長が最大パケット長“４”に統一されており、“×”がパディングデータを示している。パリティ計算部２２または３３がパリティを計算する場合、パディングデータを“０”として計算すればよい。したがって、パディングデータ以外の箇所（実際にビットが存在する箇所）を計算するだけでパリティを計算することができ、処理速度の向上を図ることが可能となる。
【００７０】
図１４は、欠損したパケットを復元できない場合の一例を示す図である。図１４に示すように、四角形の４隅のパケットが全て欠損している場合、これらのパケットを含んだ行および列の欠損数が必ず２以上となるので、これらのパケットを復元することができない。
【００７１】
これを防止するために、水平方向および垂直方向の２軸のパリティパケットを生成する以外に、例えば斜め方向のパリティパケットも生成するようにすれば、誤り訂正能力を向上させることができる。
【００７２】
以上説明したように、本実施の形態における送信装置によれば、データパケットに対応した水平パリティパケットおよび垂直パリティパケットを生成して送信するようにしたので、受信装置においてデータパケットの欠損が発生した場合でも、当該データパケットを復元することが可能となった。
【００７３】
また、本発明の実施の形態における受信装置によれば、データパケットの欠損が発生した場合には、当該データパケットを破棄した後、水平パリティパケットおよび垂直パリティパケットを用いて欠損したデータパケットを復元するようにしたので、簡単な構成でデータパケットの復元が可能になると共に、連続的に発生するバースト欠損が発生した場合でもデータパケットを復元することが可能となった。
【００７４】
また、データパケットが可変長の場合には、パディングデータを付加してマトリクスに配置し、パリティの計算の際にはパディングデータ以外のデータからパリティを計算するようにしたので、パリティの計算に要する時間を短縮することが可能となった。
【００７５】
さらには、水平方向および垂直方向の２軸のパリティパケットを生成するだけでなく、たとえば斜め方向を加えた３軸のパリティパケットを生成するようにしたので、誤り訂正能力をさらに向上させることが可能となった。
【００７６】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７７】
【発明の効果】
請求項１に記載の送信装置によれば、送信手段が、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【００７８】
請求項２に記載の送信装置によれば、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となった。
【００７９】
請求項３に記載の送信装置によれば、パリティパケット生成手段が、パディングデータ以外のデータからパリティを計算してパリティパケットを生成するので、パリティを計算するときの処理速度を向上させることが可能となった。
【００８０】
請求項４に記載の送信装置によれば、パリティパケット生成手段が、マトリクスに基づいて水平方向、垂直方向および斜め方向の３軸のパリティを計算してパリティパケットを生成するので、受信側における誤り訂正能力を向上させることが可能となった。
【００８１】
請求項５に記載の受信装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【００８２】
請求項６に記載の受信装置によれば、パリティ計算手段が、パケット欠損数が１となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第１のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となった。
【００８３】
請求項７に記載の受信装置によれば、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となった。
【００８４】
請求項８に記載の受信装置によれば、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となった。
【００８５】
請求項９に記載の受信装置によれば、パリティ計算手段における誤り訂正能力を向上させることが可能となった。
【００８６】
請求項１０に記載の通信システムによれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【００８７】
請求項１１に記載の送信方法によれば、データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【００８８】
請求項１２に記載の受信方法によれば、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【００８９】
請求項１３に記載の誤り訂正装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【図面の簡単な説明】
【図１】イーサネット（Ｒ）などのパケット単位の通信の概略を説明するための図である。
【図２】本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。
【図３】本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。
【図４】イーサネット（Ｒ）パケットの構成例を示す図である。
【図５】本発明の実施の形態における送受信装置の概略構成を示すブロック図である。
【図６】本発明の実施の形態における送信装置の機能的構成を示すブロック図である。
【図７】イーサネット（Ｒ）パケットの構成例を示す図である。
【図８】本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。
【図９】本発明の実施の形態における受信装置の機能的構成を示すブロック図である。
【図１０】マトリクス生成部３２によって生成されたマトリクスの一例を示す図である。
【図１１】本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。
【図１２】パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。
【図１３】パディングデータが挿入された後のマトリクスの一例を示す図である。
【図１４】欠損したパケットを復元できない場合の一例を示す図である。
【符号の説明】
１  コンピュータ本体、２  ディスプレイ装置、３  ＦＤドライブ、４  ＦＤ、５  キーボード、６  マウス、７  ＣＤ−ＲＯＭ装置、８  ＣＤ−ＲＯＭ、９ネットワーク通信装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ハードディスク、２１  データパケット生成部、２２，３３  パリティ計算部、２３  ヘッダ生成部、２４  ＩＰパケット生成部、２５  イーサネット（Ｒ）パケット生成部、２６  送信部、２７  水平パリティレジスタ、２８−１〜２８−ｍ  垂直パリティレジスタ、３１  受信部、３２  マトリクス生成部、３４  欠損数判定部。
【図１】
2004274214.tif 000003
【図２】
2004274214.tif 000004
【図３】
2004274214.tif 000005
【図４】
2004274214.tif 000006
【図５】
2004274214.tif 000007
【図６】
2004274214.tif 000008
【図７】
2004274214.tif 000009
【図８】
2004274214.tif 000010
【図９】
2004274214.tif 000011
【図１０】
2004274214.tif 000012
【図１１】
2004274214.tif 000013
【図１２】
2004274214.tif 000014
【図１３】
2004274214.tif 000015
【図１４】
2004274214.tif 000016