JP2004274214A - 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 - Google Patents
送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 Download PDFInfo
- Publication number
- JP2004274214A JP2004274214A JP2003059812A JP2003059812A JP2004274214A JP 2004274214 A JP2004274214 A JP 2004274214A JP 2003059812 A JP2003059812 A JP 2003059812A JP 2003059812 A JP2003059812 A JP 2003059812A JP 2004274214 A JP2004274214 A JP 2004274214A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- parity
- data
- matrix
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
- H03M13/2912—Product codes omitting parity on parity
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な受信装置を提供すること。
【解決手段】マトリクス生成部32は、受信部31によって受信されたデータパケットをマトリクス状に配置し、マトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成する。なお、欠損したデータパケットはすでに破棄されている。パリティ計算部33は、欠損数判定部34によってパケット欠損数が1となっていると判定された行または列の対応するパリティパケットおよび他のデータパケットに基づいてパリティを計算し、データパケットを復元する。したがって、欠損したデータパケットを容易に復元することが可能となる。
【選択図】 図9
【解決手段】マトリクス生成部32は、受信部31によって受信されたデータパケットをマトリクス状に配置し、マトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成する。なお、欠損したデータパケットはすでに破棄されている。パリティ計算部33は、欠損数判定部34によってパケット欠損数が1となっていると判定された行または列の対応するパリティパケットおよび他のデータパケットに基づいてパリティを計算し、データパケットを復元する。したがって、欠損したデータパケットを容易に復元することが可能となる。
【選択図】 図9
Description
【0001】
【発明の属する技術分野】
本発明は、通信における誤り訂正技術に関し、特に、パケット全体が消失した場合であっても復元が可能なようにパケットを送信する送信装置、消失したパケットを復元する受信装置、それらの方法およびそれらを接続した通信システム、並びに誤り訂正装置に関する。
【0002】
【従来の技術】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ADSL(Asymmetric Digital Subscriber Line)、FTTH(Fiber To The Home)などのブロードバンドアクセスに対する要望も急速に高まってきている。
【0003】
このような通信において、パケットのビット誤りに対してはリードソロモン符号やハミング符号などでビット誤りを訂正し、パケット全体の消失に対しては再送などによってパケットの復元が行なわれていた。これに関連する技術として、特開2000−307438号公報に開示された発明がある。
【0004】
この特開2000−307438号公報に開示された誤り訂正符号化・復号化方法においては、データを横方向で並列状態のマトリクスに並べ替え、このマトリクスの各横列ブロックおよび各縦列ブロックに対して、それぞれチェックビットを付加してブロック符号を生成することにより、情報ビットについて2重に符号化を行なうものである。
【0005】
【特許文献1】
特開2000−307438号公報
【0006】
【発明が解決しようとする課題】
上述した特開2000−307438号公報に開示された誤り訂正符号化・復号化方法を用いた場合、ビット誤り訂正の能力を向上させることができる。しかし、パケット全体が消失した場合には、これを復元することができず、パケットの再送によってこれに対応しなければならない。したがって、パケットの伝送速度が低下するといった問題点があった。
【0007】
また、受信専用の装置においては、再送要求を送ることができず、パケットの復元が不可能であるといった問題点もあった。
【0008】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、受信側でデータパケットが欠損した場合でも、データパケットを復元できるようにパケットを送信する送信装置およびその方法を提供することである。
【0009】
第2の目的は、受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な受信装置、その方法および通信システムを提供することである。
【0010】
第3の目的は、入力したデータパケットが欠損した場合でも、データパケットを復元することが可能な誤り訂正装置を提供することである。
【0011】
【課題を解決するための手段】
請求項1に記載の送信装置は、パケット単位でデータを送信する送信装置であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するための送信手段とを含む。
【0012】
送信手段は、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【0013】
請求項2に記載の送信装置は、請求項1記載の送信装置であって、データパケットが可変長の場合、パリティパケット生成手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入してマトリクスを生成し、当該マトリクスに基づいてパリティパケットを生成する。
【0014】
したがって、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となる。
【0015】
請求項3に記載の送信装置は、請求項2記載の送信装置であって、パリティパケット生成手段は、パディングデータを含んだデータからパリティを計算してパリティパケットを生成する。
【0016】
したがって、パリティパケット生成手段がパリティを計算するときの処理速度を向上させることが可能となる。
【0017】
請求項4に記載の送信装置は、請求項1〜3のいずれかに記載の送信装置であって、パリティパケット生成手段は、マトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティを計算してパリティパケットを生成する。
【0018】
したがって、受信側における誤り訂正能力を向上させることが可能となる。
請求項5に記載の受信装置は、パケット単位でデータを受信する受信装置であって、パケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0019】
復元手段は、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0020】
請求項6に記載の受信装置は、請求項5記載の受信装置であって、復元手段は、受信手段によって受信されたデータパケットをマトリクス状に配置して第1のマトリクスを生成し、第1のマトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、マトリクス生成手段によって生成された第1のマトリクスにおけるパケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む。
【0021】
パリティ計算手段は、パケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第1のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となる。
【0022】
請求項7に記載の受信装置は、請求項6記載の受信装置であって、データパケットが可変長の場合、パリティ計算手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して第2のマトリクスを生成し、第2のマトリクスに基づいて欠損したデータパケットを復元する。
【0023】
したがって、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となる。
【0024】
請求項8に記載の受信装置は、請求項7記載の受信装置であって、パリティ計算手段は、パディングデータを含んだデータからパリティを計算して欠損したデータパケットを復元する。
【0025】
したがって、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となる。
【0026】
請求項9に記載の受信装置は、請求項5〜8のいずれかに記載の受信装置であって、パリティ計算手段は、第2のマトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティパケットに基づいてパリティを計算して欠損したデータパケットを復元する。
【0027】
したがって、パリティ計算手段における誤り訂正能力を向上させることが可能となる。
【0028】
請求項10に記載の通信システムは、パケット単位でデータを通信する送信装置および受信装置を含んだ通信システムであって、送信装置は、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを受信装置へ送信するための送信手段とを含み、受信装置は、送信装置からパケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0029】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0030】
請求項11に記載の送信方法は、パケット単位でデータを送信する送信方法であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するステップと、データパケットおよび生成されたパリティパケットを送信するステップとを含む。
【0031】
データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【0032】
請求項12に記載の受信方法は、パケット単位でデータを受信する受信方法であって、データパケットおよび少なくとも水平方向または垂直方向のパリティパケットを受信するステップと、受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するステップとを含む。
【0033】
欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0034】
請求項13に記載の誤り訂正装置は、パケット単位で誤りを訂正する誤り訂正装置であって、パケットを入力するための入力手段と、入力手段によって入力されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、入力手段によって入力された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0035】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0036】
【発明の実施の形態】
図1は、イーサネット(R)などのパケット単位の通信の概略を説明するための図である。図1においては、n個のパケット1〜nが順次送受信されることを示している。
【0037】
図2は、本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。n個のパケット1〜nは、水平方向にm個、垂直方向にk個のマトリクス状に並べられる。そして、水平方向に並べられた各パケット内の対応するビットのパリティ(以下、水平パリティと呼ぶ。)が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケット1〜mの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットHP1が生成される。水平パリティパケットは、行数に対応してk個だけ生成される。
【0038】
また、垂直方向に並べられた各パケット内の対応するビットのパリティ(以下、垂直パリティと呼ぶ。)が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケットm,2m,3m,…,nの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットVPmが生成される。垂直パリティパケットは、列数に対応してm個だけ生成される。
【0039】
図3は、本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。図3においては、9個のパケット▲1▼〜▲9▼から、水平パリティパケットHP1〜HP3および垂直パリティパケットVP1〜VP3が生成された場合を示している。たとえば、パケット▲1▼が欠損した場合でも、パケット▲2▼、▲3▼および水平パリティパケットHP1の対応するビットのパリティ(排他的論理和(以下、EX−ORとも呼ぶ。))を計算することによって、パケット▲1▼を復元することができる。
【0040】
また、パケット▲1▼〜▲3▼が全て欠損した場合でも、パケット▲4▼、▲7▼および垂直パリティパケットVP1の対応するビットのパリティ(EX−OR)を計算することによって、パケット▲1▼を復元することができる。同様にして、パケット▲5▼、▲8▼および垂直パリティパケットVP2によってパケット▲2▼が復元でき、パケット▲6▼、▲9▼および垂直パリティパケットVP3によってパケット▲3▼が復元できる。
【0041】
このように、バースト欠損が発生した場合でも、連続的に欠損したパケットがm個以下であれば、復元できることが分かる。
【0042】
図4は、イーサネット(R)パケットの構成例を示す図である。イーサネット(R)パケットは、6バイトのDA(Destination Address)、6バイトのSA(Source Address)、2バイトのタイプ、最大1500バイトのデータおよび4バイトのFCS(Frame Check Sequency)を含む。ルータなど中継器は、このFCSを参照してパケット自体の誤りを検出する機能を有しており、誤りがあればパケット自体が破棄される。
【0043】
また、本発明の実施の形態においては、データの一部をシーケンス番号に割付けており、図1や図2に示すパケットのシーケンス番号1〜nのいずれかが格納される。
【0044】
図5は、本発明の実施の形態における送信装置および受信装置(以下、併せて送受信装置と呼ぶ。)の概略構成を示すブロック図である。この送受信装置は、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc−Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。
【0045】
送受信プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。送受信プログラムがコンピュータ本体1によって実行されることによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。また、送受信プログラムは他のコンピュータよりネットワーク通信装置9を経由し、コンピュータ本体1に供給されてもよい。
【0046】
図5に示すコンピュータ本体1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行う。
【0047】
FD4またはCD−ROM8に記録された送受信プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介して一旦ハードディスク13に格納される。CPU10は、ハードディスク13から適宜送受信プログラムをRAM12にロードして実行することによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。
【0048】
図6は、本発明の実施の形態における送信装置の機能的構成を示すブロック図である。この送信装置は、送信すべきデータパケットを生成するデータパケット生成部21と、水平パリティおよび垂直パリティを計算するパリティ計算部22と、パケットのヘッダ部を生成するヘッダ生成部23と、IP(Internet Protocol)パケットを生成するIPパケット生成部24と、イーサネット(R)パケットを生成するイーサネット(R)パケット生成部25と、イーサネット(R)パケット生成部25によって生成されたパケットを送信する送信部26と、計算中の水平パリティを一時的に格納する水平パリティレジスタ27と、計算中の垂直パリティを一時的に格納する垂直パリティレジスタ28−1〜28−mとを含む。
【0049】
データパケット生成部21は、アプリケーションレベルにおけるデータパケットの生成を行なう。したがって、本実施の形態における送信装置は、データパケット生成部21がなくてもよい。その場合は、アプリケーションプログラムから直接パリティ計算部22にデータパケットが入力されることになる。
【0050】
パリティ計算部22は、シーケンス番号の順番にデータパケットを入力し、水平パリティおよび垂直パリティを計算する。したがって、1行分のデータパケットのパリティ計算が行なわれた時点で、水平パリティが生成されるため、水平パリティレジスタ27は1つあればよいが、最後の行のデータパケットのパリティ計算が行なわれるまで垂直パリティが生成されないので、垂直パリティレジスタ28はm個用意される。
【0051】
図7は、イーサネット(R)パケットの構成例を示す図である。イーサネット(R)パケットは、ヘッダとデータ(IPパケット)とを含む。また、IPパケットは、IPヘッダと、データとを含む。さらには、IPパケット内のデータは、ヘッダ(シーケンス番号を含む)と、データとを含む。
【0052】
ヘッダ生成部23は、図7に示すIPパケット内のデータ(シーケンス番号、データ)を生成する。また、IPパケット生成部24は、図7に示すIPパケットを生成する。また、イーサネット(R)パケット生成部25は、図7に示すイーサネット(R)パケットを生成する。
【0053】
図8は、本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。まず、データパケット生成部21は、送信すべきデータパケットを生成する(S11)。
【0054】
次に、パリティ計算部22は、水平パリティレジスタ27に格納される値と、データパケット生成部21によって生成されたデータパケットとの対応するビットのEX−ORを計算し、水平パリティレジスタ27の対応するビットに順次格納する。また、パリティ計算部22は、垂直パリティレジスタ28−1〜28−mのうち対応する垂直パリティレジスタに格納される値と、データパケット生成部21によって生成されたデータパケットとの対応するビットのEX−ORを計算し、垂直パリティレジスタの対応するビットに順次格納する(S12)。なお、水平パリティレジスタ27および垂直パリティレジスタ28−1〜28−mは、初期値として0が設定されているものとする。
【0055】
次に、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、データパケット生成部21によって生成されたデータパケットに対応したイーサネット(R)パケットを生成する。そして、送信部26は、そのイーサネット(R)パケットを送信先へ送信する(S13)。
【0056】
次に、パリティ計算部22は、水平パリティの計算が終了したか否かを判定する(S14)。水平パリティの計算が終了していれば(S14,Yes)、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、パリティ計算部22によって計算された水平パリティに対応したイーサネット(R)パケットを生成する。そして、送信部26は、その水平パリティパケットを送信先へ送信し(S15)、ステップS16へ処理が進む。また、水平パリティの計算が終了していないと判定されれば(S14,No)、そのままステップS16へ進む。
【0057】
次に、パリティ計算部22は、垂直パリティの計算が終了したか否かを判定する(S16)。垂直パリティの計算が終了していれば(S16,Yes)、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、パリティ計算部22によって計算された垂直パリティに対応したイーサネット(R)パケットを生成する。そして、送信部26は、その垂直パリティパケットを送信先へ送信し(S17)、ステップS18へ処理が進む。また、垂直パリティの計算が終了していないと判定されれば(S16,No)、そのままステップS18へ進む。
【0058】
最後に、全てのパケットの送信が終了したか否かが判定される(S18)。未だ送信されていないパケットがあれば(S18,No)、ステップS11に戻って以降の処理を繰返す。また、未だ送信されていないパケットがなければ(S18,Yes)、処理を終了する。
【0059】
図9は、本発明の実施の形態における受信装置の機能的構成を示すブロック図である。この受信装置は、イーサネット(R)パケット(データパケット、パリティパケット)を受信する受信部31と、受信部31によって受信されたデータパケットからパケットの欠損数を示すマトリクスを生成するマトリクス生成部32と、マトリクス生成部32によって生成されたマトリクスを参照してパリティを計算するパリティ計算部33と、マトリクス生成部32によって生成されたマトリクスを参照してパケットの欠損数を判定すると共に、パケットの欠損数を更新する欠損数判定部34とを含む。
【0060】
図10は、マトリクス生成部32によって生成されたマトリクスの一例を示す図である。このマトリクスは図2に対応しており、n個のデータパケットのうちどのパケットが欠損しているか、1行のうち幾つデータパケットが欠損しているか、および1列のうち幾つデータパケットが欠損しているかを示している。たとえば、第1行、第3列のパケットなどの3つのパケットが欠損していることを示している。また、第1行においては2つのデータパケットが欠損し、第3列においては1つのデータパケットが欠損していることを示している。
【0061】
図11は、本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。まず、受信部31は、イーサネット(R)パケット(データパケット、パリティパケット)を受信する(S21)。受信したパケットは、RAM12などに格納される。
【0062】
次に、マトリクス生成部32は、受信部31によって受信されたデータパケット31に基づいて、図10に示すマトリクスを生成する(S22)。そして、変数iおよびjのそれぞれに初期値として1が設定される(S23)。
【0063】
次に、欠損数判定部34は、第i行のパケット欠損数が1であるか否かを判定する(S24)。第i行のパケット欠損数が1の場合には、パリティ計算部33は、第i行の他のデータパケットと第i行の水平パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報(当該パケットが欠損していることを示す情報)を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする(S25)。
【0064】
次に、変数iが行の総数kと等しいか否かが判定される(S26)。変数iが行の総数kと等しくなければ(S26,No)、変数iをインクリメントし(S27)、ステップS24に戻って以降の処理を繰返す。また、変数iが行の総数kと等しければ(S26,Yes)、ステップS28へ進む。
【0065】
次に、欠損数判定部34は、第j列のパケット欠損数が1であるか否かを判定する(S28)。第j列のパケット欠損数が1の場合には、パリティ計算部33は、第j列の他のデータパケットと第j列の垂直パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報(当該パケットが欠損していることを示す情報)を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする(S29)。
【0066】
次に、変数jが列の総数mと等しいか否かが判定される(S30)。変数jが列の総数mと等しくなければ(S30,No)、変数jをインクリメントし(S31)、ステップS28に戻って以降の処理を繰返す。また、変数jが列の総数mと等しければ(S30,Yes)、欠損数判定部34は、パケットの欠損数が1の行または列があるか否かを判定する(S32)。
【0067】
パケットの欠損数が1の行または列がある場合には、変数iおよびjをそれぞれ1に初期化し(S23)、ステップS24以降の処理を繰返す。また、パケットの欠損数が1の行または列がない場合には、処理を終了する。なお、欠損数が1の行または列がなく、欠損数が2以上の行または列がある場合には、復元できないパケットが存在することになる。
【0068】
図12は、パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。図12においては、パケットが1列に並べられた場合を示しているが、図2のようにパケットが複数の列に並べられる場合も同様である。それぞれのパケットをマトリクスに配置するとき、そのパケット長が最大パケット長Lmaxに満たない場合には、パケット長がLmaxになるようにパディングデータを挿入する。これによって、全てのパケット長をLmaxに統一した後に、水平パリティおよび垂直パリティを計算する。
【0069】
図13は、パディングデータが挿入された後のマトリクスの一例を示す図である。図13においては、全てのパケットのパケット長が最大パケット長“4”に統一されており、“×”がパディングデータを示している。パリティ計算部22または33がパリティを計算する場合、パディングデータを“0”として計算すればよい。したがって、パディングデータ以外の箇所(実際にビットが存在する箇所)を計算するだけでパリティを計算することができ、処理速度の向上を図ることが可能となる。
【0070】
図14は、欠損したパケットを復元できない場合の一例を示す図である。図14に示すように、四角形の4隅のパケットが全て欠損している場合、これらのパケットを含んだ行および列の欠損数が必ず2以上となるので、これらのパケットを復元することができない。
【0071】
これを防止するために、水平方向および垂直方向の2軸のパリティパケットを生成する以外に、例えば斜め方向のパリティパケットも生成するようにすれば、誤り訂正能力を向上させることができる。
【0072】
以上説明したように、本実施の形態における送信装置によれば、データパケットに対応した水平パリティパケットおよび垂直パリティパケットを生成して送信するようにしたので、受信装置においてデータパケットの欠損が発生した場合でも、当該データパケットを復元することが可能となった。
【0073】
また、本発明の実施の形態における受信装置によれば、データパケットの欠損が発生した場合には、当該データパケットを破棄した後、水平パリティパケットおよび垂直パリティパケットを用いて欠損したデータパケットを復元するようにしたので、簡単な構成でデータパケットの復元が可能になると共に、連続的に発生するバースト欠損が発生した場合でもデータパケットを復元することが可能となった。
【0074】
また、データパケットが可変長の場合には、パディングデータを付加してマトリクスに配置し、パリティの計算の際にはパディングデータ以外のデータからパリティを計算するようにしたので、パリティの計算に要する時間を短縮することが可能となった。
【0075】
さらには、水平方向および垂直方向の2軸のパリティパケットを生成するだけでなく、たとえば斜め方向を加えた3軸のパリティパケットを生成するようにしたので、誤り訂正能力をさらに向上させることが可能となった。
【0076】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0077】
【発明の効果】
請求項1に記載の送信装置によれば、送信手段が、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【0078】
請求項2に記載の送信装置によれば、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となった。
【0079】
請求項3に記載の送信装置によれば、パリティパケット生成手段が、パディングデータ以外のデータからパリティを計算してパリティパケットを生成するので、パリティを計算するときの処理速度を向上させることが可能となった。
【0080】
請求項4に記載の送信装置によれば、パリティパケット生成手段が、マトリクスに基づいて水平方向、垂直方向および斜め方向の3軸のパリティを計算してパリティパケットを生成するので、受信側における誤り訂正能力を向上させることが可能となった。
【0081】
請求項5に記載の受信装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0082】
請求項6に記載の受信装置によれば、パリティ計算手段が、パケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第1のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となった。
【0083】
請求項7に記載の受信装置によれば、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となった。
【0084】
請求項8に記載の受信装置によれば、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となった。
【0085】
請求項9に記載の受信装置によれば、パリティ計算手段における誤り訂正能力を向上させることが可能となった。
【0086】
請求項10に記載の通信システムによれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0087】
請求項11に記載の送信方法によれば、データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【0088】
請求項12に記載の受信方法によれば、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0089】
請求項13に記載の誤り訂正装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【図面の簡単な説明】
【図1】イーサネット(R)などのパケット単位の通信の概略を説明するための図である。
【図2】本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。
【図3】本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。
【図4】イーサネット(R)パケットの構成例を示す図である。
【図5】本発明の実施の形態における送受信装置の概略構成を示すブロック図である。
【図6】本発明の実施の形態における送信装置の機能的構成を示すブロック図である。
【図7】イーサネット(R)パケットの構成例を示す図である。
【図8】本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。
【図9】本発明の実施の形態における受信装置の機能的構成を示すブロック図である。
【図10】マトリクス生成部32によって生成されたマトリクスの一例を示す図である。
【図11】本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。
【図12】パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。
【図13】パディングデータが挿入された後のマトリクスの一例を示す図である。
【図14】欠損したパケットを復元できない場合の一例を示す図である。
【符号の説明】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、21 データパケット生成部、22,33 パリティ計算部、23 ヘッダ生成部、24 IPパケット生成部、25 イーサネット(R)パケット生成部、26 送信部、27 水平パリティレジスタ、28−1〜28−m 垂直パリティレジスタ、31 受信部、32 マトリクス生成部、34 欠損数判定部。
【発明の属する技術分野】
本発明は、通信における誤り訂正技術に関し、特に、パケット全体が消失した場合であっても復元が可能なようにパケットを送信する送信装置、消失したパケットを復元する受信装置、それらの方法およびそれらを接続した通信システム、並びに誤り訂正装置に関する。
【0002】
【従来の技術】
近年、インターネットが広く普及しており、利用者は世界各地で運営されているサイトの様々な情報にアクセスし、その情報を入手することが可能である。それに伴って、ADSL(Asymmetric Digital Subscriber Line)、FTTH(Fiber To The Home)などのブロードバンドアクセスに対する要望も急速に高まってきている。
【0003】
このような通信において、パケットのビット誤りに対してはリードソロモン符号やハミング符号などでビット誤りを訂正し、パケット全体の消失に対しては再送などによってパケットの復元が行なわれていた。これに関連する技術として、特開2000−307438号公報に開示された発明がある。
【0004】
この特開2000−307438号公報に開示された誤り訂正符号化・復号化方法においては、データを横方向で並列状態のマトリクスに並べ替え、このマトリクスの各横列ブロックおよび各縦列ブロックに対して、それぞれチェックビットを付加してブロック符号を生成することにより、情報ビットについて2重に符号化を行なうものである。
【0005】
【特許文献1】
特開2000−307438号公報
【0006】
【発明が解決しようとする課題】
上述した特開2000−307438号公報に開示された誤り訂正符号化・復号化方法を用いた場合、ビット誤り訂正の能力を向上させることができる。しかし、パケット全体が消失した場合には、これを復元することができず、パケットの再送によってこれに対応しなければならない。したがって、パケットの伝送速度が低下するといった問題点があった。
【0007】
また、受信専用の装置においては、再送要求を送ることができず、パケットの復元が不可能であるといった問題点もあった。
【0008】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、受信側でデータパケットが欠損した場合でも、データパケットを復元できるようにパケットを送信する送信装置およびその方法を提供することである。
【0009】
第2の目的は、受信したデータパケットが欠損した場合でも、データパケットを復元することが可能な受信装置、その方法および通信システムを提供することである。
【0010】
第3の目的は、入力したデータパケットが欠損した場合でも、データパケットを復元することが可能な誤り訂正装置を提供することである。
【0011】
【課題を解決するための手段】
請求項1に記載の送信装置は、パケット単位でデータを送信する送信装置であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するための送信手段とを含む。
【0012】
送信手段は、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【0013】
請求項2に記載の送信装置は、請求項1記載の送信装置であって、データパケットが可変長の場合、パリティパケット生成手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入してマトリクスを生成し、当該マトリクスに基づいてパリティパケットを生成する。
【0014】
したがって、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となる。
【0015】
請求項3に記載の送信装置は、請求項2記載の送信装置であって、パリティパケット生成手段は、パディングデータを含んだデータからパリティを計算してパリティパケットを生成する。
【0016】
したがって、パリティパケット生成手段がパリティを計算するときの処理速度を向上させることが可能となる。
【0017】
請求項4に記載の送信装置は、請求項1〜3のいずれかに記載の送信装置であって、パリティパケット生成手段は、マトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティを計算してパリティパケットを生成する。
【0018】
したがって、受信側における誤り訂正能力を向上させることが可能となる。
請求項5に記載の受信装置は、パケット単位でデータを受信する受信装置であって、パケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0019】
復元手段は、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0020】
請求項6に記載の受信装置は、請求項5記載の受信装置であって、復元手段は、受信手段によって受信されたデータパケットをマトリクス状に配置して第1のマトリクスを生成し、第1のマトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、マトリクス生成手段によって生成された第1のマトリクスにおけるパケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む。
【0021】
パリティ計算手段は、パケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第1のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となる。
【0022】
請求項7に記載の受信装置は、請求項6記載の受信装置であって、データパケットが可変長の場合、パリティ計算手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して第2のマトリクスを生成し、第2のマトリクスに基づいて欠損したデータパケットを復元する。
【0023】
したがって、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となる。
【0024】
請求項8に記載の受信装置は、請求項7記載の受信装置であって、パリティ計算手段は、パディングデータを含んだデータからパリティを計算して欠損したデータパケットを復元する。
【0025】
したがって、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となる。
【0026】
請求項9に記載の受信装置は、請求項5〜8のいずれかに記載の受信装置であって、パリティ計算手段は、第2のマトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティパケットに基づいてパリティを計算して欠損したデータパケットを復元する。
【0027】
したがって、パリティ計算手段における誤り訂正能力を向上させることが可能となる。
【0028】
請求項10に記載の通信システムは、パケット単位でデータを通信する送信装置および受信装置を含んだ通信システムであって、送信装置は、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを受信装置へ送信するための送信手段とを含み、受信装置は、送信装置からパケットを受信するための受信手段と、受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0029】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0030】
請求項11に記載の送信方法は、パケット単位でデータを送信する送信方法であって、複数のデータパケットをマトリクス状に配置し、マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するステップと、データパケットおよび生成されたパリティパケットを送信するステップとを含む。
【0031】
データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となる。
【0032】
請求項12に記載の受信方法は、パケット単位でデータを受信する受信方法であって、データパケットおよび少なくとも水平方向または垂直方向のパリティパケットを受信するステップと、受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するステップとを含む。
【0033】
欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0034】
請求項13に記載の誤り訂正装置は、パケット単位で誤りを訂正する誤り訂正装置であって、パケットを入力するための入力手段と、入力手段によって入力されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、入力手段によって入力された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む。
【0035】
復元手段は、ビット誤りが発生したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となる。
【0036】
【発明の実施の形態】
図1は、イーサネット(R)などのパケット単位の通信の概略を説明するための図である。図1においては、n個のパケット1〜nが順次送受信されることを示している。
【0037】
図2は、本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。n個のパケット1〜nは、水平方向にm個、垂直方向にk個のマトリクス状に並べられる。そして、水平方向に並べられた各パケット内の対応するビットのパリティ(以下、水平パリティと呼ぶ。)が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケット1〜mの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットHP1が生成される。水平パリティパケットは、行数に対応してk個だけ生成される。
【0038】
また、垂直方向に並べられた各パケット内の対応するビットのパリティ(以下、垂直パリティと呼ぶ。)が計算され、対応するビットに格納したパリティパケットが生成される。たとえば、パケットm,2m,3m,…,nの各パケットの対応するビットのパリティが計算され、それらのパリティが格納されたパリティパケットVPmが生成される。垂直パリティパケットは、列数に対応してm個だけ生成される。
【0039】
図3は、本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。図3においては、9個のパケット▲1▼〜▲9▼から、水平パリティパケットHP1〜HP3および垂直パリティパケットVP1〜VP3が生成された場合を示している。たとえば、パケット▲1▼が欠損した場合でも、パケット▲2▼、▲3▼および水平パリティパケットHP1の対応するビットのパリティ(排他的論理和(以下、EX−ORとも呼ぶ。))を計算することによって、パケット▲1▼を復元することができる。
【0040】
また、パケット▲1▼〜▲3▼が全て欠損した場合でも、パケット▲4▼、▲7▼および垂直パリティパケットVP1の対応するビットのパリティ(EX−OR)を計算することによって、パケット▲1▼を復元することができる。同様にして、パケット▲5▼、▲8▼および垂直パリティパケットVP2によってパケット▲2▼が復元でき、パケット▲6▼、▲9▼および垂直パリティパケットVP3によってパケット▲3▼が復元できる。
【0041】
このように、バースト欠損が発生した場合でも、連続的に欠損したパケットがm個以下であれば、復元できることが分かる。
【0042】
図4は、イーサネット(R)パケットの構成例を示す図である。イーサネット(R)パケットは、6バイトのDA(Destination Address)、6バイトのSA(Source Address)、2バイトのタイプ、最大1500バイトのデータおよび4バイトのFCS(Frame Check Sequency)を含む。ルータなど中継器は、このFCSを参照してパケット自体の誤りを検出する機能を有しており、誤りがあればパケット自体が破棄される。
【0043】
また、本発明の実施の形態においては、データの一部をシーケンス番号に割付けており、図1や図2に示すパケットのシーケンス番号1〜nのいずれかが格納される。
【0044】
図5は、本発明の実施の形態における送信装置および受信装置(以下、併せて送受信装置と呼ぶ。)の概略構成を示すブロック図である。この送受信装置は、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc−Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。
【0045】
送受信プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。送受信プログラムがコンピュータ本体1によって実行されることによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。また、送受信プログラムは他のコンピュータよりネットワーク通信装置9を経由し、コンピュータ本体1に供給されてもよい。
【0046】
図5に示すコンピュータ本体1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行う。
【0047】
FD4またはCD−ROM8に記録された送受信プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介して一旦ハードディスク13に格納される。CPU10は、ハードディスク13から適宜送受信プログラムをRAM12にロードして実行することによって、パリティパケットの送信、欠損したパケットの復元などが行なわれる。
【0048】
図6は、本発明の実施の形態における送信装置の機能的構成を示すブロック図である。この送信装置は、送信すべきデータパケットを生成するデータパケット生成部21と、水平パリティおよび垂直パリティを計算するパリティ計算部22と、パケットのヘッダ部を生成するヘッダ生成部23と、IP(Internet Protocol)パケットを生成するIPパケット生成部24と、イーサネット(R)パケットを生成するイーサネット(R)パケット生成部25と、イーサネット(R)パケット生成部25によって生成されたパケットを送信する送信部26と、計算中の水平パリティを一時的に格納する水平パリティレジスタ27と、計算中の垂直パリティを一時的に格納する垂直パリティレジスタ28−1〜28−mとを含む。
【0049】
データパケット生成部21は、アプリケーションレベルにおけるデータパケットの生成を行なう。したがって、本実施の形態における送信装置は、データパケット生成部21がなくてもよい。その場合は、アプリケーションプログラムから直接パリティ計算部22にデータパケットが入力されることになる。
【0050】
パリティ計算部22は、シーケンス番号の順番にデータパケットを入力し、水平パリティおよび垂直パリティを計算する。したがって、1行分のデータパケットのパリティ計算が行なわれた時点で、水平パリティが生成されるため、水平パリティレジスタ27は1つあればよいが、最後の行のデータパケットのパリティ計算が行なわれるまで垂直パリティが生成されないので、垂直パリティレジスタ28はm個用意される。
【0051】
図7は、イーサネット(R)パケットの構成例を示す図である。イーサネット(R)パケットは、ヘッダとデータ(IPパケット)とを含む。また、IPパケットは、IPヘッダと、データとを含む。さらには、IPパケット内のデータは、ヘッダ(シーケンス番号を含む)と、データとを含む。
【0052】
ヘッダ生成部23は、図7に示すIPパケット内のデータ(シーケンス番号、データ)を生成する。また、IPパケット生成部24は、図7に示すIPパケットを生成する。また、イーサネット(R)パケット生成部25は、図7に示すイーサネット(R)パケットを生成する。
【0053】
図8は、本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。まず、データパケット生成部21は、送信すべきデータパケットを生成する(S11)。
【0054】
次に、パリティ計算部22は、水平パリティレジスタ27に格納される値と、データパケット生成部21によって生成されたデータパケットとの対応するビットのEX−ORを計算し、水平パリティレジスタ27の対応するビットに順次格納する。また、パリティ計算部22は、垂直パリティレジスタ28−1〜28−mのうち対応する垂直パリティレジスタに格納される値と、データパケット生成部21によって生成されたデータパケットとの対応するビットのEX−ORを計算し、垂直パリティレジスタの対応するビットに順次格納する(S12)。なお、水平パリティレジスタ27および垂直パリティレジスタ28−1〜28−mは、初期値として0が設定されているものとする。
【0055】
次に、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、データパケット生成部21によって生成されたデータパケットに対応したイーサネット(R)パケットを生成する。そして、送信部26は、そのイーサネット(R)パケットを送信先へ送信する(S13)。
【0056】
次に、パリティ計算部22は、水平パリティの計算が終了したか否かを判定する(S14)。水平パリティの計算が終了していれば(S14,Yes)、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、パリティ計算部22によって計算された水平パリティに対応したイーサネット(R)パケットを生成する。そして、送信部26は、その水平パリティパケットを送信先へ送信し(S15)、ステップS16へ処理が進む。また、水平パリティの計算が終了していないと判定されれば(S14,No)、そのままステップS16へ進む。
【0057】
次に、パリティ計算部22は、垂直パリティの計算が終了したか否かを判定する(S16)。垂直パリティの計算が終了していれば(S16,Yes)、ヘッダ生成部23、IPパケット生成部24およびイーサネット(R)パケット生成部25は、パリティ計算部22によって計算された垂直パリティに対応したイーサネット(R)パケットを生成する。そして、送信部26は、その垂直パリティパケットを送信先へ送信し(S17)、ステップS18へ処理が進む。また、垂直パリティの計算が終了していないと判定されれば(S16,No)、そのままステップS18へ進む。
【0058】
最後に、全てのパケットの送信が終了したか否かが判定される(S18)。未だ送信されていないパケットがあれば(S18,No)、ステップS11に戻って以降の処理を繰返す。また、未だ送信されていないパケットがなければ(S18,Yes)、処理を終了する。
【0059】
図9は、本発明の実施の形態における受信装置の機能的構成を示すブロック図である。この受信装置は、イーサネット(R)パケット(データパケット、パリティパケット)を受信する受信部31と、受信部31によって受信されたデータパケットからパケットの欠損数を示すマトリクスを生成するマトリクス生成部32と、マトリクス生成部32によって生成されたマトリクスを参照してパリティを計算するパリティ計算部33と、マトリクス生成部32によって生成されたマトリクスを参照してパケットの欠損数を判定すると共に、パケットの欠損数を更新する欠損数判定部34とを含む。
【0060】
図10は、マトリクス生成部32によって生成されたマトリクスの一例を示す図である。このマトリクスは図2に対応しており、n個のデータパケットのうちどのパケットが欠損しているか、1行のうち幾つデータパケットが欠損しているか、および1列のうち幾つデータパケットが欠損しているかを示している。たとえば、第1行、第3列のパケットなどの3つのパケットが欠損していることを示している。また、第1行においては2つのデータパケットが欠損し、第3列においては1つのデータパケットが欠損していることを示している。
【0061】
図11は、本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。まず、受信部31は、イーサネット(R)パケット(データパケット、パリティパケット)を受信する(S21)。受信したパケットは、RAM12などに格納される。
【0062】
次に、マトリクス生成部32は、受信部31によって受信されたデータパケット31に基づいて、図10に示すマトリクスを生成する(S22)。そして、変数iおよびjのそれぞれに初期値として1が設定される(S23)。
【0063】
次に、欠損数判定部34は、第i行のパケット欠損数が1であるか否かを判定する(S24)。第i行のパケット欠損数が1の場合には、パリティ計算部33は、第i行の他のデータパケットと第i行の水平パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報(当該パケットが欠損していることを示す情報)を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする(S25)。
【0064】
次に、変数iが行の総数kと等しいか否かが判定される(S26)。変数iが行の総数kと等しくなければ(S26,No)、変数iをインクリメントし(S27)、ステップS24に戻って以降の処理を繰返す。また、変数iが行の総数kと等しければ(S26,Yes)、ステップS28へ進む。
【0065】
次に、欠損数判定部34は、第j列のパケット欠損数が1であるか否かを判定する(S28)。第j列のパケット欠損数が1の場合には、パリティ計算部33は、第j列の他のデータパケットと第j列の垂直パケットとの対応するビットのパリティを計算し、欠損したデータパケットの対応するビットを復元することにより、欠損したデータパケット全体を復元する。そして、復元したデータパケットに対応するマトリクスの情報(当該パケットが欠損していることを示す情報)を更新すると共に、当該データパケットに対応する行および列の欠損数をそれぞれデクリメントする(S29)。
【0066】
次に、変数jが列の総数mと等しいか否かが判定される(S30)。変数jが列の総数mと等しくなければ(S30,No)、変数jをインクリメントし(S31)、ステップS28に戻って以降の処理を繰返す。また、変数jが列の総数mと等しければ(S30,Yes)、欠損数判定部34は、パケットの欠損数が1の行または列があるか否かを判定する(S32)。
【0067】
パケットの欠損数が1の行または列がある場合には、変数iおよびjをそれぞれ1に初期化し(S23)、ステップS24以降の処理を繰返す。また、パケットの欠損数が1の行または列がない場合には、処理を終了する。なお、欠損数が1の行または列がなく、欠損数が2以上の行または列がある場合には、復元できないパケットが存在することになる。
【0068】
図12は、パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。図12においては、パケットが1列に並べられた場合を示しているが、図2のようにパケットが複数の列に並べられる場合も同様である。それぞれのパケットをマトリクスに配置するとき、そのパケット長が最大パケット長Lmaxに満たない場合には、パケット長がLmaxになるようにパディングデータを挿入する。これによって、全てのパケット長をLmaxに統一した後に、水平パリティおよび垂直パリティを計算する。
【0069】
図13は、パディングデータが挿入された後のマトリクスの一例を示す図である。図13においては、全てのパケットのパケット長が最大パケット長“4”に統一されており、“×”がパディングデータを示している。パリティ計算部22または33がパリティを計算する場合、パディングデータを“0”として計算すればよい。したがって、パディングデータ以外の箇所(実際にビットが存在する箇所)を計算するだけでパリティを計算することができ、処理速度の向上を図ることが可能となる。
【0070】
図14は、欠損したパケットを復元できない場合の一例を示す図である。図14に示すように、四角形の4隅のパケットが全て欠損している場合、これらのパケットを含んだ行および列の欠損数が必ず2以上となるので、これらのパケットを復元することができない。
【0071】
これを防止するために、水平方向および垂直方向の2軸のパリティパケットを生成する以外に、例えば斜め方向のパリティパケットも生成するようにすれば、誤り訂正能力を向上させることができる。
【0072】
以上説明したように、本実施の形態における送信装置によれば、データパケットに対応した水平パリティパケットおよび垂直パリティパケットを生成して送信するようにしたので、受信装置においてデータパケットの欠損が発生した場合でも、当該データパケットを復元することが可能となった。
【0073】
また、本発明の実施の形態における受信装置によれば、データパケットの欠損が発生した場合には、当該データパケットを破棄した後、水平パリティパケットおよび垂直パリティパケットを用いて欠損したデータパケットを復元するようにしたので、簡単な構成でデータパケットの復元が可能になると共に、連続的に発生するバースト欠損が発生した場合でもデータパケットを復元することが可能となった。
【0074】
また、データパケットが可変長の場合には、パディングデータを付加してマトリクスに配置し、パリティの計算の際にはパディングデータ以外のデータからパリティを計算するようにしたので、パリティの計算に要する時間を短縮することが可能となった。
【0075】
さらには、水平方向および垂直方向の2軸のパリティパケットを生成するだけでなく、たとえば斜め方向を加えた3軸のパリティパケットを生成するようにしたので、誤り訂正能力をさらに向上させることが可能となった。
【0076】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0077】
【発明の効果】
請求項1に記載の送信装置によれば、送信手段が、データパケットおよびパリティパケット生成手段によって生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【0078】
請求項2に記載の送信装置によれば、データパケットが可変長の場合でも、パリティパケットを容易に生成することが可能となった。
【0079】
請求項3に記載の送信装置によれば、パリティパケット生成手段が、パディングデータ以外のデータからパリティを計算してパリティパケットを生成するので、パリティを計算するときの処理速度を向上させることが可能となった。
【0080】
請求項4に記載の送信装置によれば、パリティパケット生成手段が、マトリクスに基づいて水平方向、垂直方向および斜め方向の3軸のパリティを計算してパリティパケットを生成するので、受信側における誤り訂正能力を向上させることが可能となった。
【0081】
請求項5に記載の受信装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0082】
請求項6に記載の受信装置によれば、パリティ計算手段が、パケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、第1のマトリクスにおけるパケット欠損数を更新しながら処理を行なうので、欠損したデータパケットを容易に復元することが可能となった。
【0083】
請求項7に記載の受信装置によれば、データパケットが可変長の場合でも、欠損したデータパケットを容易に復元することが可能となった。
【0084】
請求項8に記載の受信装置によれば、パリティ計算手段がパリティを計算するときの処理速度を向上させることが可能となった。
【0085】
請求項9に記載の受信装置によれば、パリティ計算手段における誤り訂正能力を向上させることが可能となった。
【0086】
請求項10に記載の通信システムによれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0087】
請求項11に記載の送信方法によれば、データパケットおよび生成されたパリティパケットを送信するので、受信側でデータパケットの欠損が発生した場合でも、データパケットを復元することが可能となった。
【0088】
請求項12に記載の受信方法によれば、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【0089】
請求項13に記載の誤り訂正装置によれば、復元手段が、欠損したデータパケットを破棄し、パリティパケットに基づいてパリティを計算するので、欠損したデータパケットを容易に復元することが可能となった。
【図面の簡単な説明】
【図1】イーサネット(R)などのパケット単位の通信の概略を説明するための図である。
【図2】本発明の実施の形態におけるパリティパケットの生成方法を概念的に示す図である。
【図3】本発明の実施の形態におけるパケットの復元方法を概念的に説明するための図である。
【図4】イーサネット(R)パケットの構成例を示す図である。
【図5】本発明の実施の形態における送受信装置の概略構成を示すブロック図である。
【図6】本発明の実施の形態における送信装置の機能的構成を示すブロック図である。
【図7】イーサネット(R)パケットの構成例を示す図である。
【図8】本発明の実施の形態における送信装置の処理手順を説明するためのフローチャートである。
【図9】本発明の実施の形態における受信装置の機能的構成を示すブロック図である。
【図10】マトリクス生成部32によって生成されたマトリクスの一例を示す図である。
【図11】本発明の実施の形態における受信装置の処理手順を説明するためのフローチャートである。
【図12】パケットが可変長の場合の水平パリティおよび垂直パリティの計算方法を説明するための図である。
【図13】パディングデータが挿入された後のマトリクスの一例を示す図である。
【図14】欠損したパケットを復元できない場合の一例を示す図である。
【符号の説明】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、21 データパケット生成部、22,33 パリティ計算部、23 ヘッダ生成部、24 IPパケット生成部、25 イーサネット(R)パケット生成部、26 送信部、27 水平パリティレジスタ、28−1〜28−m 垂直パリティレジスタ、31 受信部、32 マトリクス生成部、34 欠損数判定部。
Claims (13)
- パケット単位でデータを送信する送信装置であって、
複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、
前記データパケットおよび前記パリティパケット生成手段によって生成されたパリティパケットを送信するための送信手段とを含む、送信装置。 - 前記データパケットが可変長の場合、前記パリティパケット生成手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して前記マトリクスを生成し、当該マトリクスに基づいて前記パリティパケットを生成する、請求項1記載の送信装置。
- 前記パリティパケット生成手段は、前記パディングデータを含んだデータからパリティを計算して前記パリティパケットを生成する、請求項2記載の送信装置。
- 前記パリティパケット生成手段は、前記マトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティを計算してパリティパケットを生成する、請求項1〜3のいずれかに記載の送信装置。
- パケット単位でデータを受信する受信装置であって、
パケットを受信するための受信手段と、
前記受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、受信装置。 - 前記復元手段は、前記受信手段によって受信されたデータパケットをマトリクス状に配置して第1のマトリクスを生成し、該第1のマトリクスの水平方向および垂直方向におけるデータパケットの欠損数を生成するためのマトリクス生成手段と、
前記マトリクス生成手段によって生成された第1のマトリクスにおけるパケット欠損数が1となっている行または列の対応するパリティパケットに基づいてパリティを計算し、パケット欠損数を更新しながら欠損したデータパケットを復元するためのパリティ計算手段とを含む、請求項5記載の受信装置。 - 前記データパケットが可変長の場合、前記パリティ計算手段は、パケット長が最大パケット長となるようにデータパケットにパディングデータを挿入して第2のマトリクスを生成し、該第2のマトリクスに基づいて欠損したデータパケットを復元する、請求項6記載の受信装置。
- 前記パリティ計算手段は、前記パディングデータを含んだデータからパリティを計算して欠損したデータパケットを復元する、請求項7記載の受信装置。
- 前記パリティ計算手段は、前記第2のマトリクスに基づいて水平方向、垂直方向および斜め方向を含んだ3軸以上のパリティパケットに基づいてパリティを計算して欠損したデータパケットを復元する、請求項5〜8のいずれかに記載の受信装置。
- パケット単位でデータを通信する送信装置および受信装置を含んだ通信システムであって、
前記送信装置は、複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するためのパリティパケット生成手段と、
前記データパケットおよび前記パリティパケット生成手段によって生成されたパリティパケットを前記受信装置へ送信するための送信手段とを含み、
前記受信装置は、前記送信装置からパケットを受信するための受信手段と、
前記受信手段によって受信されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記受信手段によって受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、通信システム。 - パケット単位でデータを送信する送信方法であって、
複数のデータパケットをマトリクス状に配置し、該マトリクスに基づいて少なくとも水平方向または垂直方向のパリティパケットを生成するステップと、
前記データパケットおよび前記生成されたパリティパケットを送信するステップとを含む、送信方法。 - パケット単位でデータを受信する受信方法であって、
データパケットおよび少なくとも水平方向または垂直方向のパリティパケットを受信するステップと、
前記受信されたデータパケットに欠損が発生した場合には、当該データパケットを破棄し、前記受信された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するステップとを含む、受信方法。 - パケット単位で誤りを訂正する誤り訂正装置であって、
パケットを入力するための入力手段と、
前記入力手段によって入力されたデータパケットにビット誤りが発生した場合には、当該データパケットを破棄し、前記入力手段によって入力された少なくとも水平方向または垂直方向のパリティパケットに基づいて欠損したデータパケットを復元するための復元手段とを含む、誤り訂正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003059812A JP2004274214A (ja) | 2003-03-06 | 2003-03-06 | 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003059812A JP2004274214A (ja) | 2003-03-06 | 2003-03-06 | 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004274214A true JP2004274214A (ja) | 2004-09-30 |
Family
ID=33122529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003059812A Pending JP2004274214A (ja) | 2003-03-06 | 2003-03-06 | 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004274214A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527948A (ja) * | 2005-01-19 | 2008-07-24 | クゥアルコム・インコーポレイテッド | 符号化伝送のための節電方法 |
JP2010050809A (ja) * | 2008-08-22 | 2010-03-04 | Toshiba Corp | データ受信装置、データ受信方法、及びデータ受信プログラム |
JP2013085293A (ja) * | 2013-01-11 | 2013-05-09 | Thomson Licensing | インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法 |
US8990663B2 (en) | 2006-12-21 | 2015-03-24 | Thomson Licensing | Method to support forward error correction for real-time audio and video data over internet protocol networks |
JP2016143942A (ja) * | 2015-01-30 | 2016-08-08 | 日本放送協会 | 送信装置、受信装置、パリティパケット生成方法及びデータ回復方法 |
US11329910B2 (en) | 2017-10-16 | 2022-05-10 | Fujitsu Limited | Transmission apparatus including a plurality of switches and output circuits for transmitting data and transmission method |
-
2003
- 2003-03-06 JP JP2003059812A patent/JP2004274214A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008527948A (ja) * | 2005-01-19 | 2008-07-24 | クゥアルコム・インコーポレイテッド | 符号化伝送のための節電方法 |
US8826093B2 (en) | 2005-01-19 | 2014-09-02 | Qualcomm Incorporated | Power saving method for coded transmission |
US8990663B2 (en) | 2006-12-21 | 2015-03-24 | Thomson Licensing | Method to support forward error correction for real-time audio and video data over internet protocol networks |
JP2010050809A (ja) * | 2008-08-22 | 2010-03-04 | Toshiba Corp | データ受信装置、データ受信方法、及びデータ受信プログラム |
JP2013085293A (ja) * | 2013-01-11 | 2013-05-09 | Thomson Licensing | インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法 |
JP2016143942A (ja) * | 2015-01-30 | 2016-08-08 | 日本放送協会 | 送信装置、受信装置、パリティパケット生成方法及びデータ回復方法 |
US11329910B2 (en) | 2017-10-16 | 2022-05-10 | Fujitsu Limited | Transmission apparatus including a plurality of switches and output circuits for transmitting data and transmission method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5485008B2 (ja) | 連鎖的暗号化反応の系統的記号化および復号化 | |
ES2342465T3 (es) | Procedimiento y sistema de correccion de error de envio para la transmision fiable de datos en tiempo real por redes basadas en paquetes. | |
EP0917777B1 (en) | Method, apparatus and packet transmission system using error correction of data packets | |
JP6067637B2 (ja) | 集約されたパケットの送信におけるパケットレベル消去保護コーディング | |
JP4785836B2 (ja) | デジタルデータパケットを伝送する方法および該方法を実装する装置 | |
US8230316B2 (en) | Forward error correction for burst and random packet loss for real-time multi-media communication | |
EP1603268B1 (en) | Quantum key distribution method and communication apparatus | |
US20070165673A1 (en) | Method for reconstructing lost packets using a binary parity check | |
US6609226B1 (en) | Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication | |
US20090210773A1 (en) | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided fec encoding and decoding | |
KR101118194B1 (ko) | 손실된 패킷 재건을 위한 방법 및 상기 방법을 수행하기 위한 디바이스 | |
JP2002330116A (ja) | エラーからデータパケットを保護する方法 | |
US6697996B2 (en) | Multi-dimensional packet recovery system and method | |
JP2006074656A (ja) | 前方向誤り訂正方法とそれを用いた通信方法および通信装置 | |
JP2004274214A (ja) | 送信装置、受信装置、それらの方法およびそれらを接続した通信システム並びに誤り訂正装置 | |
JP2005323171A (ja) | 送信装置、誤り訂正装置、ネットワーク接続装置およびパケット中継方法 | |
US11948047B2 (en) | Method for sending classical data in quantum information processing systems and corresponding system | |
Tee et al. | Serially concatenated Luby transform coding and bit-interleaved coded modulation using iteratlive decoding for the wireless Internet | |
EP1758254A1 (en) | Improved erasure correction scheme based on XOR operations for packet transmission | |
WO2019064369A1 (ja) | 符号化装置、送信機、復号装置および受信機 | |
Stone | Checksums and the internet | |
JP2006314120A (ja) | 無線通信方法 | |
JP2005229504A (ja) | データ送信装置、データ受信装置およびデータ送受信方法 | |
Jolfaei et al. | Multicopy ARQ strategies for heterogeneous networks | |
Khayam et al. | Comparison of conventional and cross-layer multimedia transport schemes for wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060110 |