(57)【要約】【課題】伝送パケットの受信状況を監視し、送信装置へその受信状況を返却する受信装置と、伝送路の状態にあわせた誤り耐性を有する伝送パケットを作成し、受信装置の処理負荷を軽減させる送信装置、送信プログラム、受信プログラム、および送受信プログラムを提供する。【解決手段】受信装置６は、受信バッファ部７、誤り判定部８、データパケット送出部１１、誤り位置特定部９、誤り訂正部１０、伝送パケットモニタ部１２を備え、伝送パケットモニタ部１２は、受信バッファ部７、および誤り判定部８を監視し、伝送パケットの受信間隔、破棄パケット数、スループット等を取得し、送信装置１へ取得結果を送信する。また、送信装置１は、フレーム化部２、パケット分割部３、パケット生成部４、伝送パラメータ決定部５を備え、伝送パラメータ決定部５は、受信装置６からの情報を元に、インターリーブ長、ペイロード長を決定する。【選択図】　　　図１
2004032283.tif 000002
【特許請求の範囲】
【請求項１】
前方向誤り訂正方式でデータを符号化して伝送パケットを生成し、送信する送信装置であって、
前記送信装置は、
送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信すると、当該伝送パラメータに従って、前記伝送パケットを生成するパケット生成手段と、
を備えることを特徴とする送信装置。
【請求項２】
前記送信装置は、
前記伝送パケットの送信先から少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として受信すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択するパラメータ決定手段を備えることを特徴とする請求項１に記載の送信装置。
【請求項３】
前記伝送パラメータは、前記伝送パケットのペイロードサイズＰと、インターリーブ長Ｔであって、
データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成するフレーム構成手段と、
前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成する符号化手段と、
前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成するインターリーブ手段と、
インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加するヘッダ付加手段と、
を備えることを特徴とする請求項１または請求項２に記載の送信装置。
【請求項４】
前方向誤り訂正方式を用いて符号化された伝送パケットを受信し、誤り訂正を行った後、伝送パケットを復号する受信装置であって、
前記受信装置は、
前記符号化された伝送パケットを保存する受信バッファと、
前記受信バッファに保存される前記伝送パケットの受信状態を監視し、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得し、当該伝送パケットの送信元へ当該モニタ結果を返信するパケット監視手段と、
を備えることを特徴とする受信装置。
【請求項５】
前記受信装置は、
前記パケット監視手段が前記モニタ結果を取得すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択し、当該伝送パラメータを前記伝送パケットの送信元へ返信するパラメータ決定手段を備えることを特徴とする請求項４に記載の受信装置。
【請求項６】
前記受信バッファに保存されるデータは、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列に対して、符号長（ｎ−ｋ）の誤り訂正符号を付加して誤り訂正符号を含むｎ×Ｔのデータ行列を生成し、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長Ｔ、前記ペイロードサイズＰ、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、
前記受信バッファに保存される伝送パケットを用いて前記１フレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元する誤り訂正手段を備えることを特徴とする請求項４または請求項５に記載の受信装置。
【請求項７】
送信装置に、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させる送信プログラムであって、
前記送信プログラムは、
送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信させ、当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能、
を実現させることを特徴とする送信プログラム。
【請求項８】
前記伝送パラメータは、前記伝送パケットのペイロードサイズＰと、インターリーブ長Ｔであって、
データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成させるフレーム構成機能と、
前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成させる符号化機能と、
前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、
インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、
を実現させることを特徴とする請求項７に記載の送信プログラム。
【請求項９】
受信装置に、前方向誤り訂正方式を用いて符号化された伝送パケットを受信させ、誤り訂正を行った後、伝送パケットを復号させる受信プログラムであって、
前記受信プログラムは、
前記符号化された伝送パケットを受信バッファに保存させる保存機能と、
前記受信バッファに保存される前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、当該伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、
を実現させることを特徴とする受信プログラム。
【請求項１０】
前記受信バッファに保存されるデータは、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列に対して、符号長（ｎ−ｋ）の誤り訂正符号を付加して誤り訂正符号を含むｎ×Ｔのデータ行列を生成し、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長Ｔ、前記ペイロードサイズＰ、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、
前記受信バッファに保存される伝送パケットを用いて前記１フレームを再構成させる際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元させる誤り訂正機能を実現させることを特徴とする請求項９に記載の受信プログラム。
【請求項１１】
送受信装置に、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させ、さらに、符号化された伝送パケットを受信させ、誤り訂正を実行させた後、前記データを復号させる送受信プログラムであって、
前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、前記伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、
前記モニタ結果を受信させ、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択させるパラメータ決定機能と、
前記パラメータ決定機能で選択された当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能と、
を実現させることを特徴とする送受信プログラム。
【請求項１２】
前記伝送パラメータはインターリーブ長ＴおよびペイロードサイズＰであって、
データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成させるフレーム構成機能と、
前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成させる符号化機能と、
前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、
インターリーブ機能によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、
受信した伝送パケットからフレームを再構成させる際に、破棄された伝送パケットがあるか判定させ、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元させる誤り訂正機能と、
を実現させることを特徴とする請求項１１に記載の送受信プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、前方向誤り訂正方式を用いて符号化した伝送パケットの送受信を行い、さらに伝送パケットの受信状態を監視する送信装置、受信装置、送信プログラム、受信プログラム、および送受信プログラムに関する。
【０００２】
【従来の技術】
伝送誤りを訂正する方法の一つとして、情報ビットに冗長ビットを付加して伝送し、伝送途中で一部のビットに誤りが生じた場合、冗長ビットを利用して受信側で誤ったビットを訂正する前方向誤り訂正方式（Ｆｏｒｗａｒｄ　Ｅｒｒｏｒ　Ｃｏｒｒｅｃｔｉｏｎ：以下「ＦＥＣ」と略す）がある。リアルタイムで誤り訂正が要求されるデジタル無線通信システムの制御信号伝送などでは、誤り制御方式としてよく用いられる。
【０００３】
また、冗長ビットとしてリード・ソロモン符号を用いて情報を復号する際の誤り位置を特定する手法としては、例えば、ピーターソン法、ＢＭ法、ユークリッド法等があり、誤り位置多項式が導出され、チェン探索によって誤りロケータが計算され、誤り位置を特定している。
【０００４】
【発明が解決しようとする課題】
しかしながら、ＯＳＩ参照モデルの第３層以上のレイヤーでソフトウェア処理によってこのＦＥＣを用いる場合、受信データの誤り位置を特定するための演算処理の負荷が大きいという問題点があった。
【０００５】
また、使用する伝送路によって最適な伝送パケットの構成（パケットサイズや誤り耐性）は異なる。そのため、例えば、下位層で用いられる伝送パケットを、誤り位置を特定する単位とすると、第３層以上のレイヤーでソフトウェア処理によって誤り位置を特定するには演算量が多くなってしまうという問題点があった。
【０００６】
本発明は上記事情を鑑みてなされたものであり、ＯＳＩ参照モデルの第３層以上のレイヤーにおいて、伝送中に誤りの発生した伝送パケットを、ＦＥＣ方式で訂正する送受信法であって、伝送パケットの受信状況を監視し、送信装置へその受信状況を返却する受信装置と、伝送路の状態にあわせた誤り耐性を有する伝送パケットを作成し、受信装置の処理負荷を軽減させる送信装置、送信プログラム、受信プログラム、および送受信プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明である送信装置は、前方向誤り訂正方式でデータを符号化して伝送パケットを生成し、送信する送信装置であって、前記送信装置は、送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信すると、当該伝送パラメータに従って、前記伝送パケットを生成するパケット生成手段とを備えることを特徴とする。
【０００８】
また、請求項２に記載の発明である送信装置は、請求項１に記載の送信装置であって、前記送信装置は、前記伝送パケットの送信先から少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として受信すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択するパラメータ決定手段を備えることを特徴とする。
【０００９】
また、請求項３に記載の発明である送信装置は、請求項１または請求項２に記載の送信装置であって、前記伝送パラメータは、前記伝送パケットのペイロードサイズＰと、インターリーブ長Ｔであって、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成するフレーム構成手段と、前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成する符号化手段と、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成するインターリーブ手段と、インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加するヘッダ付加手段とを備えることを特徴とする。
【００１０】
ここで、インターリーブ長Ｔ、ペイロードサイズＰ等、本発明において扱うデータの単位は、ビット、バイト、または任意のビット数またはバイト数からなるシンボル（１シンボル＝ｍビットまたはｍバイト）であることとする。
【００１１】
また、請求項４に記載の発明である受信装置は、前方向誤り訂正方式を用いて符号化された伝送パケットを受信し、誤り訂正を行った後、伝送パケットを復号する受信装置であって、前記受信装置は、受信バッファを備え、前記受信バッファに保存される前記伝送パケットの受信状態を監視し、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得し、当該伝送パケットの送信元へ当該モニタ結果を返信するパケット監視手段を備えることを特徴とする。
【００１２】
また、請求項５に記載の発明である受信装置は、請求項４に記載の受信装置であって、前記受信装置は、前記パケット監視手段が前記モニタ結果を取得すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択し、当該伝送パラメータを前記伝送パケットの送信元へ返信するパラメータ決定手段を備えることを特徴とする。
【００１３】
また、請求項６に記載の発明である受信装置は、請求項４または請求項５に記載の受信装置であって、前記受信バッファに保存されるデータは、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列に対して、符号長（ｎ−ｋ）の誤り訂正符号を付加して誤り訂正符号を含むｎ×Ｔのデータ行列を生成し、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長Ｔ、前記ペイロードサイズＰ、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、前記受信バッファに保存される伝送パケットを用いて前記１フレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元する誤り訂正手段を備えることを特徴とする。
【００１４】
また、請求項７に記載の発明である送信プログラムは、送信装置に、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させる送信プログラムであって、前記送信プログラムは、送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信させ、当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能を実現させることを特徴とする。
【００１５】
また、請求項８に記載の発明である送信プログラムは、請求項７に記載の送信プログラムであって、前記伝送パラメータは、前記伝送パケットのペイロードサイズＰと、インターリーブ長Ｔであって、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成させるフレーム構成機能と、前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成させる符号化機能と、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能とを実現させることを特徴とする。
【００１６】
また、請求項９に記載の発明である受信プログラムは、受信装置に、前方向誤り訂正方式を用いて符号化された伝送パケットを受信させ、誤り訂正を行った後、伝送パケットを復号させる受信プログラムであって、前記受信プログラムは、前記符号化された伝送パケットを受信バッファに保存させる保存機能と、前記受信バッファに保存される前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、当該伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能とを実現させることを特徴とする。
【００１７】
また、請求項１０に記載の発明である受信プログラムは、請求項９に記載の受信プログラムであって、前記受信バッファに保存されるデータは、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列に対して、符号長（ｎ−ｋ）の誤り訂正符号を付加して誤り訂正符号を含むｎ×Ｔのデータ行列を生成し、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長Ｔ、前記ペイロードサイズＰ、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、前記受信バッファに保存される伝送パケットを用いて前記１フレームを再構成させる際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元させる誤り訂正機能を実現させることを特徴とする。
【００１８】
また、請求項１１に記載の発明である送受信プログラムは、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させ、さらに、符号化された伝送パケットを受信させ、誤り訂正を実行させた後、前記データを復号させる送受信プログラムであって、前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、前記伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、前記モニタ結果を受信させ、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから１つの伝送パラメータを選択させるパラメータ決定機能と、前記パラメータ決定機能で選択された当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能とを実現させることを特徴とする。
【００１９】
請求項１１の発明によれば、伝送路の状況に応じて変化する伝送パケットの受信間隔、伝送パケットの破棄率、伝送スループットをモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【００２０】
また、請求項１２に記載の発明である送受信プログラムは、請求項１１に記載の送受信プログラムであって、前記伝送パラメータはインターリーブ長ＴおよびペイロードサイズＰであって、データ長ｋのデータ、インターリーブ長Ｔからなるｋ×Ｔのデータ行列を１フレ−ムとして構成させるフレーム構成機能と、前記１フレームを構成する前記データ長ｋのデータに対して符号長（ｎ−ｋ）の誤り訂正符号を付加して、誤り訂正符号を含むｎ×Ｔのデータ行列を生成させる符号化機能と、前記ｎ×Ｔのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズＰに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、インターリーブ機能によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長Ｔ、当該ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、受信した伝送パケットからフレームを再構成させる際に、破棄された伝送パケットがあるか判定させ、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長ｋのデータの誤り訂正位置として前記データ長ｋのデータを復元させる誤り訂正機能とを実現させることを特徴とする。
【００２１】
請求項１２の発明によれば、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズＰに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長Ｔ、ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータの誤り訂正位置としてデータを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データの復号に関する演算負荷を低減することができる。
【００２２】
【発明の実施の形態】
図１〜図１１に基づいて本発明の実施形態を説明する。
【００２３】
まず図１を用いて本発明の送信装置１と受信装置６の構成について説明する。
【００２４】
送信装置１は、図１（ａ）に示す通り、フレーム化部２、パケット分割部３、パケット生成部４、伝送パラメータ決定部５を備える。
【００２５】
フレーム化部２は、バッファメモリを備え、伝送パラメータ決定部５が決定する誤り訂正の符号長、インターリーブ長に従って、上位層または同位層から受信したデータをメモリに展開し、１データフレームを形成する機能を有する。
【００２６】
パケット分割部３は、伝送パラメータ決定部５が決定するペイロード長に従って、１フレームを分割し、それぞれのペイロードにシーケンス番号を割り当てる機能を有する。
【００２７】
パケット生成部４は、ペイロードに所定のヘッダを付加して、伝送パケットを作成し、同位層または下位層にパケットを送出する機能を有する。
【００２８】
伝送パラメータ決定部５は、受信装置６からの情報を元に、インターリーブ長、ペイロード長を決定する機能を有する。
【００２９】
また、受信装置６は、図１（ｂ）に示す通り、受信バッファ部７、誤り判定部８、データパケット送出部１１、誤り位置特定部９、誤り訂正部１０、伝送パケットモニタ部１２を備える。
【００３０】
受信バッファ部７は、同位層または下位層から伝送パケットを受信し、受信した伝送パケットをフレーム毎にシーケンス番号順に保存する機能を有する。
【００３１】
誤り判定部８は、受信した１フレームの情報に破棄された伝送パケットがあるか、破棄された伝送パケットがある場合、誤り訂正可能な範囲内の破棄数か、誤り訂正符号のみの伝送パケットが破棄されていないか判定を行う機能を有する。
【００３２】
データパケット送出部１１は、データパケットを同位層、または上位層に送出する機能を有する。
【００３３】
誤り位置特定部９は、破棄された伝送パケットのシーケンス番号から、元のデータパケットに対する誤り位置を特定する機能を有する。
【００３４】
誤り訂正部１０は、伝送パケットの破棄があり、かつ誤り訂正可能な範囲内の破棄数である場合、データパケットの復元を行う機能を有する。
【００３５】
伝送パケットモニタ部１２は、受信バッファ部７、および誤り判定部８を監視し、伝送パケットの受信間隔、破棄パケット数、スループット等を取得し、送信装置１へ取得結果を送信する機能を有する。
【００３６】
＜伝送パケット送出処理＞
まず始めに、送信装置１から伝送パケットを送出する処理について、図２〜図４に基づいて説明する。
【００３７】
なお、本実施形態においては、データの最小単位（誤り訂正の単位）を“バイト”と称す。ただし、１バイトは８ビットとは限らない。また、符号化の方法として、リード・ソロモン符号（ＲＳ（ｎ，ｋ））を用い、インターリーブ長をＴとして、１フレームのデータサイズをｎ×Ｔバイトとする。
【００３８】
まず、フレーム化部２は、伝送パラメータ決定部５に記録されている誤り訂正の方法、誤り訂正符号長、データ長、フレーム化方法、インターリーブ長から、１フレームのデータサイズとデータの展開方向を決定する（ステップＳ０１）。
【００３９】
フレーム化部２は上位層、または同位層から、データ長ｋバイトのデータパケットを受信し（ステップＳ０２）、受信したデータパケットに（ｎ−ｋ）バイトの誤り訂正符号を付加し、バッファメモリに保存する（ステップＳ０３）。
【００４０】
図３に示す通り、フレーム化の方法には（ａ）、（ｂ）の２通りある。図３（ａ）はデータパケットを書き込んだ方向に誤り訂正符号を負荷する方法であり、また、図３（ｂ）はデータパケットを書き込んだ方向に対して直行した方向に誤り訂正符号を負荷する方法である。
【００４１】
また、図３（ａ）のように、予めデータパケットに誤り訂正符号が付加された状態でフレーム化部２がデータパケットを受信する場合も考えられる。その場合は、ステップＳ０３の処理は省略することができる。
【００４２】
次に、所定のデータパケット数を読み込んだか、または、１フレーム分のデータパケットを読み込んだか判定を行い（ステップＳ０４）、１フレーム分読み込んでいない場合は、ステップＳ０２の処理に戻り、データパケットを受信する。図３に示すように、誤り訂正符号を付加したデータパケットを縦方向に順次バッファメモリに保存する。１フレーム分のデータパケットをバッファメモリに保存するまでステップＳ０２〜ステップＳ０３の処理を繰り返す。
【００４３】
１フレーム分のデータを読み込んだ後、パケット分割部３は伝送パラメータ決定部５に記録されているペイロード長を読み込む（ステップＳ０５）。パケット分割部３は読み込んだペイロード長で、１フレームを複数のペイロードに分割し、それぞれのペイロードにシーケンス番号を割り当てる（ステップＳ０６）。
【００４４】
図４では、ペイロードサイズは２Ｔとなっており、１フレームを複数のペイロードに分割する方向は、誤り訂正符号を付加した方向に対して直行する方向となる。
【００４５】
次に、パケット生成部４は、ペイロードにヘッダを付加して伝送パケットを生成し（ステップＳ０７）、伝送パケットを同位層、または下位層に送出する（ステップＳ０８）。ここでヘッダとは、図４下部に示すように、シーケンス番号、ペイロード長、インターリーブ長、符号化方法、インターリーブ方法等を含む。
【００４６】
次に、１フレーム分全ての伝送パケットを送出したか判定を行い（ステップＳ０９）、１フレーム分全ての伝送パケットを送出していない場合は、ペイロードにヘッダを付加して伝送パケットを生成する処理に戻る。１フレーム分全ての伝送パケットを送出するまで、上記の処理（ステップＳ０７〜ステップＳ０８）を繰り返す。１フレーム分全ての伝送パケットを同位層、または下位層に送出した後、次のフレームの送出処理へ移行する（ステップＳ１０）。
【００４７】
＜伝送パケット受信、復号処理＞
次に、受信装置６が伝送パケットを受信する処理について、図５および図６に基づいて説明する。
【００４８】
受信バッファ部７は伝送パケットを受信すると、ヘッダに記述された情報に従って、バッファメモリに伝送パケットを保存し、フレームの再構築を行う。この時、伝送パケットに誤りが発生していた場合、パケットは破棄される（ステップＳ２１）。図６（ａ）に示すように、インターリーブ方法とシーケンス番号に従って伝送パケットを順番に保存する。
【００４９】
次に、所定の伝送パケット数を読み込んだか、またはタイムアウトが発生したか判定を行う（ステップＳ２２）。所定の伝送パケット数を読み込んでいない場合、またはタイムアウトが発生していない場合は、ステップＳ０１の処理に戻る。所定の伝送パケット数を読み込んだ場合、またはタイムアウトが発生した場合は、誤り判定部８は、伝送パケットの破棄があったか判定を行う（ステップＳ２３）。
【００５０】
１フレームを構成する全ての伝送パケットを正常（誤りが発生していない状態）に受信した場合、誤り判定部８は、受信バッファ部７に保存されている１フレーム分のデータパケットをデータパケット送出部１１に転送し、データパケット送出部１１は同位層、または上位層にデータパケットを送出し（ステップＳ２４）、次のフレームの受信処理へ移行する（ステップＳ２５）。
【００５１】
伝送パケットの破棄が１以上あった場合、誤り判定部８は、伝送パケットの破棄数は訂正可能な範囲内か、また、誤り訂正符号を含む伝送パケットが破棄されていないか判定を行う（ステップＳ２６）。例えば、ＲＳ（２５５，２３９）であれば、１６バイトの誤り訂正が可能となる。
【００５２】
また、誤り訂正が不可能な数の伝送パケットが破棄されている場合は、送信側に伝送パケットの再送信を要求し（ステップＳ２７）、次のフレームの受信処理へ移行する（ステップＳ２８）。また、伝送パケットの破棄はあったが、訂正可能な範囲である場合、誤り位置特定部９は、破棄された伝送パケットのシーケンス番号を取得する（ステップＳ２９）。
【００５３】
次に、誤り位置特定部９は、破棄された伝送パケットのシーケンス番号を元のデータパケットの誤り位置として誤り訂正部１０に転送し、誤り訂正部１０は、データパケットの誤り訂正を行う（ステップＳ３０）。図６（ｂ）の例では、シーケンス番号ｓ３が破棄されており、またこの例ではインターリーブ長が２Ｔとなっているので、データパケットの誤り位置は５，６番となる。
【００５４】
次に、誤り訂正部１０は、誤り訂正が完了した後、正常な情報に復元されたデータパケットをデータパケット送出部１１に転送し、データパケット送出部１１は同位層または上位層へデータパケットを送出する（ステップＳ３１）。
【００５５】
データパケット送出部１１は、１フレーム全てのデータパケットを送出したか判定を行い（ステップＳ３２）、全てのデータパケットを送出した場合は、次のフレームの受信処理へ移行する（ステップＳ３３）。全てのデータパケットを送出していない場合は、ステップＳ３０の処理に戻る。
【００５６】
このように、伝送パケット送出処理、および伝送パケット受信、復号処理を行うことによって、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズＰに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長Ｔ、ペイロードサイズ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータパケット内の誤り訂正位置としてデータパケットを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データパケットの復号に関する演算負荷を低減することができる。また、誤り訂正符合のみからなる伝送パケットが破棄された場合には、データパケットの復号の際に誤り訂正を行う必要がない。
【００５７】
＜伝送パケットモニタ処理＞
次に、受信装置６の伝送パケットモニタ部１２の処理について、図７に基づいて説明する。
【００５８】
まず、伝送パケットモニタ部１２は、１フレーム最初の伝送パケットの受信を検出すると（ステップＳ４１）、その伝送パケットから送信元を取得する（ステップＳ４２）。
【００５９】
次に、伝送パケットモニタ部１２は、伝送パケットが受信バッファ部７に保存される度に、直前に保存した伝送パケットの受信時刻から受信間隔を算出する（ステップＳ４３）。
【００６０】
次に、伝送パケットモニタ部１２は、所定の伝送パケット数を受信したか、またはタイムアウトが発生したか判定する誤り判定部８の判定結果を取得する（ステップＳ４４）。
【００６１】
次に、所定の伝送パケット数を受信したか、またはタイムアウトが発生したことを取得した場合は、伝送パケットモニタ部１２は、誤り判定部８から破棄パケット数を取得する（ステップＳ４５）。そして、１フレームの伝送パケット数に対する破棄された伝送パケット数から伝送パケットの破棄率を算出する（ステップＳ４６）。さらに、最初に受信した伝送パケットと最後に受信した伝送パケットとの受信間隔と、１フレームの総データ量とから伝送スループットを算出する（ステップＳ４７）。
【００６２】
次に、伝送パケットモニタ部１２は、送信元へその各算出結果を返信する条件を満たしているか、予め設定された閾値と各算出結果を比較し（ステップＳ４８）、予め設定された条件を超えている場合は、パケットの受信間隔、破棄パケット数、破棄率、および伝送スループットを送信元へ送信する（ステップＳ４９）。また、予め設定された閾値を超えていない場合は、別フレームの受信状態のモニタ処理へ移行する（ステップＳ５０）。モニタ結果を送信元へ返信する条件としては、受信間隔の乱れ（ジッターの発生）が生じている場合、１フレームにおいて破棄されたパケット数が閾値以上の場合、スループットが伝送容量に対して閾値以上の割合に上昇した場合、同じフレームの再送信要求を閾値回数繰り返した場合等が上げられる。
【００６３】
なお、ステップＳ４８の判定処理は行わずに、無条件で各算出結果を送信元へ返信しても良い。
【００６４】
＜伝送パラメータ決定処理＞
次に、送信装置１の伝送パラメータ決定部５の処理について、図８〜図１０に基づいて説明する。
【００６５】
まず、伝送パラメータ決定部５は、受信装置６からパケットの受信間隔、破棄された伝送パケット数、伝送パケットの破棄率、および伝送スループットを受信する（ステップＳ６１）。
【００６６】
次に、受信したモニタ結果から、伝送パラメータを変更しなければならない条件を満たしているか判定する（ステップＳ６２）。伝送パラメータを変更しなければならない条件としては、受信間隔の乱れ（ジッターの発生）が生じている場合、１フレームにおいて破棄されたパケット数が閾値以上の場合、スループットが伝送容量に対して閾値以上の割合に上昇した場合、同じフレームの再送信要求を閾値回数繰り返した場合等が上げられるが、この送信装置１での閾値は受信装置６での閾値と同じ値でもよいが、送信装置１の符号化等の処理能力や伝送容量によって、送信装置１独自の閾値を設けても良い。
【００６７】
次に、伝送パラメータを変更する条件を満たしていれば、問題の発生している項目を抽出し、さらに、図９に示す問題の発生状況とその対処案の記録されたデータテーブルから該当する対処案を抽出し、伝送パラメータを決定し（ステップＳ６３）、伝送パラメータを変更する条件を満たしていなければ、そのまま処理を終了する。決定された伝送パラメータは、フレーム化部２、パケット分割部３、パケット生成部４に転送される。
【００６８】
図９は、モニタ結果のうち、パケットの受信間隔、伝送パケットの破棄率、および伝送スループットのそれぞれの状態、および状態の組み合わせにおいて、インターリーブ長、ペイロードサイズの対処案を記録したデータテーブルの一例であり、伝送パラメータ決定部５が有している。例えば、ジッターが発生している状態において（データテーブルにおいてａの状態）、１フレームのデータの再送信を行う場合は、ペイロードサイズを大きく変更して伝送パケットを生成し、また、新たなフレームを送信する場合は、インターリーブ長を大きくすることによって１フレームのデータサイズを大きくし、さらにペイロードサイズを大きくするといったことが行われる。
【００６９】
例えば図１０に示すように、ペイロードサイズを２Ｔから４Ｔに２倍に変更すると、１伝送パケットが破棄された場合、誤り訂正を行わなければならない箇所が２倍に増え、また、１フレーム中に許容される破棄パケット数が半減することになる。しかし、ペイロードサイズを２Ｔから４Ｔに２倍に変更することによって、１フレームを構成する伝送パケット数は半減し、伝送パケット数が半減した分だけヘッダのデータ量も減るので、伝送路の負荷を低減することができる。
【００７０】
なお、図９に示す対処案はこれに限定されるものではなく、実際の伝送路の条件によっては、図９に示す対処案とは異なる場合もある。また、具体的に破棄された伝送パケット数に応じて対処案を設定しておくことも考えられる。
【００７１】
このように、伝送パケットモニタ処理、伝送パラメータ決定処理によって、伝送路の状況に応じて変化する伝送パケットの受信間隔、伝送パケットの破棄率、伝送スループットをモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【００７２】
なお、本実施形態においては、送信装置１が伝送パラメータを決定する機能を有しているが、受信装置６が伝送パラメータを決定する機能を有しても良く、モニタ結果に問題が発生した場合は、受信装置６側で最適になるように伝送パラメータを決定し、送信装置１にその伝送パラメータを送信する場合も考えられる。
【００７３】
また、本発明の実施形態として、図１１に示すように送信装置１と受信装置６とから構成される送受信装置１３６も考えられる。この送受信装置１３６を用いて相互通信を行う場合において、上述した伝送パケット送出処理、伝送パケット受信、復号処理、伝送パケットモニタ処理、および伝送パラメータ決定処理によって、送信側、受信側相互に上述の実施形態と同様の効果を得ることが可能となる。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、伝送路の状況に応じて変化する伝送パケットの受信状態をモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【００７５】
また、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズＰに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長Ｔ、ペイロードサイズＰ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータの誤り訂正位置としてデータを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データの復号に関する演算負荷を低減することができる。
【図面の簡単な説明】
【図１】送信装置と受信装置の機能ブロック図である。
【図２】送信装置の伝送パケット送出処理の手順を示すフローチャートである。
【図３】フレーム化部で行われるデータのフレーム化と符号化を表した模式図である。
【図４】パケット分割部とパケット生成部で行われるインターリーブ処理と伝送パケットかを表した模式図である。
【図５】受信装置の伝送パケット受信、復号処理の手順を示すフローチャートである。
【図６】フレームの再構築を表した模式図である。
【図７】伝送パケットモニタ部の伝送パケットを監視するモニタ処理の手順を示すフローチャートである。
【図８】伝送パラメータ決定部の伝送パラメータを決定する処理の手順を示すフローチャートである。
【図９】モニタ結果と伝送パラメータの対処案の関係を示すテーブルである。
【図１０】伝送パケットのペイロードサイズと誤り訂正位置の関係を表す模式図である。
【図１１】送受信装置の機能ブロック図である。
【符号の説明】
１　送信装置
２　フレーム化部
３　パケット分割部
４　パケット生成部
５　伝送パラメータ決定部
６　受信装置
７　受信バッファ部
８　誤り判定部
９　誤り位置特定部
１０　誤り訂正部
１１　データパケット送出部
１２　伝送パケットモニタ部
１３　送受信装置
【図１】
2004032283.tif 000003
【図２】
2004032283.tif 000004
【図３】
2004032283.tif 000005
【図４】
2004032283.tif 000006
【図５】
2004032283.tif 000007
【図６】
2004032283.tif 000008
【図７】
2004032283.tif 000009
【図８】
2004032283.tif 000010
【図９】
2004032283.tif 000011
【図１０】
2004032283.tif 000012
【図１１】
2004032283.tif 000013