JP2004032283A - Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program - Google Patents
Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program Download PDFInfo
- Publication number
- JP2004032283A JP2004032283A JP2002184539A JP2002184539A JP2004032283A JP 2004032283 A JP2004032283 A JP 2004032283A JP 2002184539 A JP2002184539 A JP 2002184539A JP 2002184539 A JP2002184539 A JP 2002184539A JP 2004032283 A JP2004032283 A JP 2004032283A
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- packet
- data
- error correction
- transmission 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
- 230000005540 biological transmission Effects 0.000 claims abstract description 384
- 238000012544 monitoring process Methods 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000012937 correction Methods 0.000 claims description 105
- 238000000034 method Methods 0.000 claims description 61
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000009432 framing Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、前方向誤り訂正方式を用いて符号化した伝送パケットの送受信を行い、さらに伝送パケットの受信状態を監視する送信装置、受信装置、送信プログラム、受信プログラム、および送受信プログラムに関する。
【0002】
【従来の技術】
伝送誤りを訂正する方法の一つとして、情報ビットに冗長ビットを付加して伝送し、伝送途中で一部のビットに誤りが生じた場合、冗長ビットを利用して受信側で誤ったビットを訂正する前方向誤り訂正方式(Forward Error Correction:以下「FEC」と略す)がある。リアルタイムで誤り訂正が要求されるデジタル無線通信システムの制御信号伝送などでは、誤り制御方式としてよく用いられる。
【0003】
また、冗長ビットとしてリード・ソロモン符号を用いて情報を復号する際の誤り位置を特定する手法としては、例えば、ピーターソン法、BM法、ユークリッド法等があり、誤り位置多項式が導出され、チェン探索によって誤りロケータが計算され、誤り位置を特定している。
【0004】
【発明が解決しようとする課題】
しかしながら、OSI参照モデルの第3層以上のレイヤーでソフトウェア処理によってこのFECを用いる場合、受信データの誤り位置を特定するための演算処理の負荷が大きいという問題点があった。
【0005】
また、使用する伝送路によって最適な伝送パケットの構成(パケットサイズや誤り耐性)は異なる。そのため、例えば、下位層で用いられる伝送パケットを、誤り位置を特定する単位とすると、第3層以上のレイヤーでソフトウェア処理によって誤り位置を特定するには演算量が多くなってしまうという問題点があった。
【0006】
本発明は上記事情を鑑みてなされたものであり、OSI参照モデルの第3層以上のレイヤーにおいて、伝送中に誤りの発生した伝送パケットを、FEC方式で訂正する送受信法であって、伝送パケットの受信状況を監視し、送信装置へその受信状況を返却する受信装置と、伝送路の状態にあわせた誤り耐性を有する伝送パケットを作成し、受信装置の処理負荷を軽減させる送信装置、送信プログラム、受信プログラム、および送受信プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明である送信装置は、前方向誤り訂正方式でデータを符号化して伝送パケットを生成し、送信する送信装置であって、前記送信装置は、送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信すると、当該伝送パラメータに従って、前記伝送パケットを生成するパケット生成手段とを備えることを特徴とする。
【0008】
また、請求項2に記載の発明である送信装置は、請求項1に記載の送信装置であって、前記送信装置は、前記伝送パケットの送信先から少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として受信すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択するパラメータ決定手段を備えることを特徴とする。
【0009】
また、請求項3に記載の発明である送信装置は、請求項1または請求項2に記載の送信装置であって、前記伝送パラメータは、前記伝送パケットのペイロードサイズPと、インターリーブ長Tであって、データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成するフレーム構成手段と、前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成する符号化手段と、前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成するインターリーブ手段と、インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加するヘッダ付加手段とを備えることを特徴とする。
【0010】
ここで、インターリーブ長T、ペイロードサイズP等、本発明において扱うデータの単位は、ビット、バイト、または任意のビット数またはバイト数からなるシンボル(1シンボル=mビットまたはmバイト)であることとする。
【0011】
また、請求項4に記載の発明である受信装置は、前方向誤り訂正方式を用いて符号化された伝送パケットを受信し、誤り訂正を行った後、伝送パケットを復号する受信装置であって、前記受信装置は、受信バッファを備え、前記受信バッファに保存される前記伝送パケットの受信状態を監視し、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得し、当該伝送パケットの送信元へ当該モニタ結果を返信するパケット監視手段を備えることを特徴とする。
【0012】
また、請求項5に記載の発明である受信装置は、請求項4に記載の受信装置であって、前記受信装置は、前記パケット監視手段が前記モニタ結果を取得すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択し、当該伝送パラメータを前記伝送パケットの送信元へ返信するパラメータ決定手段を備えることを特徴とする。
【0013】
また、請求項6に記載の発明である受信装置は、請求項4または請求項5に記載の受信装置であって、前記受信バッファに保存されるデータは、データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列に対して、符号長(n−k)の誤り訂正符号を付加して誤り訂正符号を含むn×Tのデータ行列を生成し、前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長T、前記ペイロードサイズP、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、前記受信バッファに保存される伝送パケットを用いて前記1フレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元する誤り訂正手段を備えることを特徴とする。
【0014】
また、請求項7に記載の発明である送信プログラムは、送信装置に、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させる送信プログラムであって、前記送信プログラムは、送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信させ、当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能を実現させることを特徴とする。
【0015】
また、請求項8に記載の発明である送信プログラムは、請求項7に記載の送信プログラムであって、前記伝送パラメータは、前記伝送パケットのペイロードサイズPと、インターリーブ長Tであって、データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成させるフレーム構成機能と、前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成させる符号化機能と、前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能とを実現させることを特徴とする。
【0016】
また、請求項9に記載の発明である受信プログラムは、受信装置に、前方向誤り訂正方式を用いて符号化された伝送パケットを受信させ、誤り訂正を行った後、伝送パケットを復号させる受信プログラムであって、前記受信プログラムは、前記符号化された伝送パケットを受信バッファに保存させる保存機能と、前記受信バッファに保存される前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、当該伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能とを実現させることを特徴とする。
【0017】
また、請求項10に記載の発明である受信プログラムは、請求項9に記載の受信プログラムであって、前記受信バッファに保存されるデータは、データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列に対して、符号長(n−k)の誤り訂正符号を付加して誤り訂正符号を含むn×Tのデータ行列を生成し、前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施して生成した伝送パケットに、伝送パケット毎に割り当てられるシーケンス番号、および前記インターリーブ長T、前記ペイロードサイズP、インターリーブの方向、誤り訂正方法をヘッダとして付加した前記伝送パケットであって、前記受信バッファに保存される伝送パケットを用いて前記1フレームを再構成させる際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元させる誤り訂正機能を実現させることを特徴とする。
【0018】
また、請求項11に記載の発明である送受信プログラムは、前方向誤り訂正方式でデータを符号化して生成された伝送パケットを送信させ、さらに、符号化された伝送パケットを受信させ、誤り訂正を実行させた後、前記データを復号させる送受信プログラムであって、前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、前記伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、前記モニタ結果を受信させ、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択させるパラメータ決定機能と、前記パラメータ決定機能で選択された当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能とを実現させることを特徴とする。
【0019】
請求項11の発明によれば、伝送路の状況に応じて変化する伝送パケットの受信間隔、伝送パケットの破棄率、伝送スループットをモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【0020】
また、請求項12に記載の発明である送受信プログラムは、請求項11に記載の送受信プログラムであって、前記伝送パラメータはインターリーブ長TおよびペイロードサイズPであって、データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成させるフレーム構成機能と、前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成させる符号化機能と、前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、インターリーブ機能によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、受信した伝送パケットからフレームを再構成させる際に、破棄された伝送パケットがあるか判定させ、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元させる誤り訂正機能とを実現させることを特徴とする。
【0021】
請求項12の発明によれば、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズPに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長T、ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータの誤り訂正位置としてデータを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データの復号に関する演算負荷を低減することができる。
【0022】
【発明の実施の形態】
図1〜図11に基づいて本発明の実施形態を説明する。
【0023】
まず図1を用いて本発明の送信装置1と受信装置6の構成について説明する。
【0024】
送信装置1は、図1(a)に示す通り、フレーム化部2、パケット分割部3、パケット生成部4、伝送パラメータ決定部5を備える。
【0025】
フレーム化部2は、バッファメモリを備え、伝送パラメータ決定部5が決定する誤り訂正の符号長、インターリーブ長に従って、上位層または同位層から受信したデータをメモリに展開し、1データフレームを形成する機能を有する。
【0026】
パケット分割部3は、伝送パラメータ決定部5が決定するペイロード長に従って、1フレームを分割し、それぞれのペイロードにシーケンス番号を割り当てる機能を有する。
【0027】
パケット生成部4は、ペイロードに所定のヘッダを付加して、伝送パケットを作成し、同位層または下位層にパケットを送出する機能を有する。
【0028】
伝送パラメータ決定部5は、受信装置6からの情報を元に、インターリーブ長、ペイロード長を決定する機能を有する。
【0029】
また、受信装置6は、図1(b)に示す通り、受信バッファ部7、誤り判定部8、データパケット送出部11、誤り位置特定部9、誤り訂正部10、伝送パケットモニタ部12を備える。
【0030】
受信バッファ部7は、同位層または下位層から伝送パケットを受信し、受信した伝送パケットをフレーム毎にシーケンス番号順に保存する機能を有する。
【0031】
誤り判定部8は、受信した1フレームの情報に破棄された伝送パケットがあるか、破棄された伝送パケットがある場合、誤り訂正可能な範囲内の破棄数か、誤り訂正符号のみの伝送パケットが破棄されていないか判定を行う機能を有する。
【0032】
データパケット送出部11は、データパケットを同位層、または上位層に送出する機能を有する。
【0033】
誤り位置特定部9は、破棄された伝送パケットのシーケンス番号から、元のデータパケットに対する誤り位置を特定する機能を有する。
【0034】
誤り訂正部10は、伝送パケットの破棄があり、かつ誤り訂正可能な範囲内の破棄数である場合、データパケットの復元を行う機能を有する。
【0035】
伝送パケットモニタ部12は、受信バッファ部7、および誤り判定部8を監視し、伝送パケットの受信間隔、破棄パケット数、スループット等を取得し、送信装置1へ取得結果を送信する機能を有する。
【0036】
<伝送パケット送出処理>
まず始めに、送信装置1から伝送パケットを送出する処理について、図2〜図4に基づいて説明する。
【0037】
なお、本実施形態においては、データの最小単位(誤り訂正の単位)を“バイト”と称す。ただし、1バイトは8ビットとは限らない。また、符号化の方法として、リード・ソロモン符号(RS(n,k))を用い、インターリーブ長をTとして、1フレームのデータサイズをn×Tバイトとする。
【0038】
まず、フレーム化部2は、伝送パラメータ決定部5に記録されている誤り訂正の方法、誤り訂正符号長、データ長、フレーム化方法、インターリーブ長から、1フレームのデータサイズとデータの展開方向を決定する(ステップS01)。
【0039】
フレーム化部2は上位層、または同位層から、データ長kバイトのデータパケットを受信し(ステップS02)、受信したデータパケットに(n−k)バイトの誤り訂正符号を付加し、バッファメモリに保存する(ステップS03)。
【0040】
図3に示す通り、フレーム化の方法には(a)、(b)の2通りある。図3(a)はデータパケットを書き込んだ方向に誤り訂正符号を負荷する方法であり、また、図3(b)はデータパケットを書き込んだ方向に対して直行した方向に誤り訂正符号を負荷する方法である。
【0041】
また、図3(a)のように、予めデータパケットに誤り訂正符号が付加された状態でフレーム化部2がデータパケットを受信する場合も考えられる。その場合は、ステップS03の処理は省略することができる。
【0042】
次に、所定のデータパケット数を読み込んだか、または、1フレーム分のデータパケットを読み込んだか判定を行い(ステップS04)、1フレーム分読み込んでいない場合は、ステップS02の処理に戻り、データパケットを受信する。図3に示すように、誤り訂正符号を付加したデータパケットを縦方向に順次バッファメモリに保存する。1フレーム分のデータパケットをバッファメモリに保存するまでステップS02〜ステップS03の処理を繰り返す。
【0043】
1フレーム分のデータを読み込んだ後、パケット分割部3は伝送パラメータ決定部5に記録されているペイロード長を読み込む(ステップS05)。パケット分割部3は読み込んだペイロード長で、1フレームを複数のペイロードに分割し、それぞれのペイロードにシーケンス番号を割り当てる(ステップS06)。
【0044】
図4では、ペイロードサイズは2Tとなっており、1フレームを複数のペイロードに分割する方向は、誤り訂正符号を付加した方向に対して直行する方向となる。
【0045】
次に、パケット生成部4は、ペイロードにヘッダを付加して伝送パケットを生成し(ステップS07)、伝送パケットを同位層、または下位層に送出する(ステップS08)。ここでヘッダとは、図4下部に示すように、シーケンス番号、ペイロード長、インターリーブ長、符号化方法、インターリーブ方法等を含む。
【0046】
次に、1フレーム分全ての伝送パケットを送出したか判定を行い(ステップS09)、1フレーム分全ての伝送パケットを送出していない場合は、ペイロードにヘッダを付加して伝送パケットを生成する処理に戻る。1フレーム分全ての伝送パケットを送出するまで、上記の処理(ステップS07〜ステップS08)を繰り返す。1フレーム分全ての伝送パケットを同位層、または下位層に送出した後、次のフレームの送出処理へ移行する(ステップS10)。
【0047】
<伝送パケット受信、復号処理>
次に、受信装置6が伝送パケットを受信する処理について、図5および図6に基づいて説明する。
【0048】
受信バッファ部7は伝送パケットを受信すると、ヘッダに記述された情報に従って、バッファメモリに伝送パケットを保存し、フレームの再構築を行う。この時、伝送パケットに誤りが発生していた場合、パケットは破棄される(ステップS21)。図6(a)に示すように、インターリーブ方法とシーケンス番号に従って伝送パケットを順番に保存する。
【0049】
次に、所定の伝送パケット数を読み込んだか、またはタイムアウトが発生したか判定を行う(ステップS22)。所定の伝送パケット数を読み込んでいない場合、またはタイムアウトが発生していない場合は、ステップS01の処理に戻る。所定の伝送パケット数を読み込んだ場合、またはタイムアウトが発生した場合は、誤り判定部8は、伝送パケットの破棄があったか判定を行う(ステップS23)。
【0050】
1フレームを構成する全ての伝送パケットを正常(誤りが発生していない状態)に受信した場合、誤り判定部8は、受信バッファ部7に保存されている1フレーム分のデータパケットをデータパケット送出部11に転送し、データパケット送出部11は同位層、または上位層にデータパケットを送出し(ステップS24)、次のフレームの受信処理へ移行する(ステップS25)。
【0051】
伝送パケットの破棄が1以上あった場合、誤り判定部8は、伝送パケットの破棄数は訂正可能な範囲内か、また、誤り訂正符号を含む伝送パケットが破棄されていないか判定を行う(ステップS26)。例えば、RS(255,239)であれば、16バイトの誤り訂正が可能となる。
【0052】
また、誤り訂正が不可能な数の伝送パケットが破棄されている場合は、送信側に伝送パケットの再送信を要求し(ステップS27)、次のフレームの受信処理へ移行する(ステップS28)。また、伝送パケットの破棄はあったが、訂正可能な範囲である場合、誤り位置特定部9は、破棄された伝送パケットのシーケンス番号を取得する(ステップS29)。
【0053】
次に、誤り位置特定部9は、破棄された伝送パケットのシーケンス番号を元のデータパケットの誤り位置として誤り訂正部10に転送し、誤り訂正部10は、データパケットの誤り訂正を行う(ステップS30)。図6(b)の例では、シーケンス番号s3が破棄されており、またこの例ではインターリーブ長が2Tとなっているので、データパケットの誤り位置は5,6番となる。
【0054】
次に、誤り訂正部10は、誤り訂正が完了した後、正常な情報に復元されたデータパケットをデータパケット送出部11に転送し、データパケット送出部11は同位層または上位層へデータパケットを送出する(ステップS31)。
【0055】
データパケット送出部11は、1フレーム全てのデータパケットを送出したか判定を行い(ステップS32)、全てのデータパケットを送出した場合は、次のフレームの受信処理へ移行する(ステップS33)。全てのデータパケットを送出していない場合は、ステップS30の処理に戻る。
【0056】
このように、伝送パケット送出処理、および伝送パケット受信、復号処理を行うことによって、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズPに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長T、ペイロードサイズ、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータパケット内の誤り訂正位置としてデータパケットを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データパケットの復号に関する演算負荷を低減することができる。また、誤り訂正符合のみからなる伝送パケットが破棄された場合には、データパケットの復号の際に誤り訂正を行う必要がない。
【0057】
<伝送パケットモニタ処理>
次に、受信装置6の伝送パケットモニタ部12の処理について、図7に基づいて説明する。
【0058】
まず、伝送パケットモニタ部12は、1フレーム最初の伝送パケットの受信を検出すると(ステップS41)、その伝送パケットから送信元を取得する(ステップS42)。
【0059】
次に、伝送パケットモニタ部12は、伝送パケットが受信バッファ部7に保存される度に、直前に保存した伝送パケットの受信時刻から受信間隔を算出する(ステップS43)。
【0060】
次に、伝送パケットモニタ部12は、所定の伝送パケット数を受信したか、またはタイムアウトが発生したか判定する誤り判定部8の判定結果を取得する(ステップS44)。
【0061】
次に、所定の伝送パケット数を受信したか、またはタイムアウトが発生したことを取得した場合は、伝送パケットモニタ部12は、誤り判定部8から破棄パケット数を取得する(ステップS45)。そして、1フレームの伝送パケット数に対する破棄された伝送パケット数から伝送パケットの破棄率を算出する(ステップS46)。さらに、最初に受信した伝送パケットと最後に受信した伝送パケットとの受信間隔と、1フレームの総データ量とから伝送スループットを算出する(ステップS47)。
【0062】
次に、伝送パケットモニタ部12は、送信元へその各算出結果を返信する条件を満たしているか、予め設定された閾値と各算出結果を比較し(ステップS48)、予め設定された条件を超えている場合は、パケットの受信間隔、破棄パケット数、破棄率、および伝送スループットを送信元へ送信する(ステップS49)。また、予め設定された閾値を超えていない場合は、別フレームの受信状態のモニタ処理へ移行する(ステップS50)。モニタ結果を送信元へ返信する条件としては、受信間隔の乱れ(ジッターの発生)が生じている場合、1フレームにおいて破棄されたパケット数が閾値以上の場合、スループットが伝送容量に対して閾値以上の割合に上昇した場合、同じフレームの再送信要求を閾値回数繰り返した場合等が上げられる。
【0063】
なお、ステップS48の判定処理は行わずに、無条件で各算出結果を送信元へ返信しても良い。
【0064】
<伝送パラメータ決定処理>
次に、送信装置1の伝送パラメータ決定部5の処理について、図8〜図10に基づいて説明する。
【0065】
まず、伝送パラメータ決定部5は、受信装置6からパケットの受信間隔、破棄された伝送パケット数、伝送パケットの破棄率、および伝送スループットを受信する(ステップS61)。
【0066】
次に、受信したモニタ結果から、伝送パラメータを変更しなければならない条件を満たしているか判定する(ステップS62)。伝送パラメータを変更しなければならない条件としては、受信間隔の乱れ(ジッターの発生)が生じている場合、1フレームにおいて破棄されたパケット数が閾値以上の場合、スループットが伝送容量に対して閾値以上の割合に上昇した場合、同じフレームの再送信要求を閾値回数繰り返した場合等が上げられるが、この送信装置1での閾値は受信装置6での閾値と同じ値でもよいが、送信装置1の符号化等の処理能力や伝送容量によって、送信装置1独自の閾値を設けても良い。
【0067】
次に、伝送パラメータを変更する条件を満たしていれば、問題の発生している項目を抽出し、さらに、図9に示す問題の発生状況とその対処案の記録されたデータテーブルから該当する対処案を抽出し、伝送パラメータを決定し(ステップS63)、伝送パラメータを変更する条件を満たしていなければ、そのまま処理を終了する。決定された伝送パラメータは、フレーム化部2、パケット分割部3、パケット生成部4に転送される。
【0068】
図9は、モニタ結果のうち、パケットの受信間隔、伝送パケットの破棄率、および伝送スループットのそれぞれの状態、および状態の組み合わせにおいて、インターリーブ長、ペイロードサイズの対処案を記録したデータテーブルの一例であり、伝送パラメータ決定部5が有している。例えば、ジッターが発生している状態において(データテーブルにおいてaの状態)、1フレームのデータの再送信を行う場合は、ペイロードサイズを大きく変更して伝送パケットを生成し、また、新たなフレームを送信する場合は、インターリーブ長を大きくすることによって1フレームのデータサイズを大きくし、さらにペイロードサイズを大きくするといったことが行われる。
【0069】
例えば図10に示すように、ペイロードサイズを2Tから4Tに2倍に変更すると、1伝送パケットが破棄された場合、誤り訂正を行わなければならない箇所が2倍に増え、また、1フレーム中に許容される破棄パケット数が半減することになる。しかし、ペイロードサイズを2Tから4Tに2倍に変更することによって、1フレームを構成する伝送パケット数は半減し、伝送パケット数が半減した分だけヘッダのデータ量も減るので、伝送路の負荷を低減することができる。
【0070】
なお、図9に示す対処案はこれに限定されるものではなく、実際の伝送路の条件によっては、図9に示す対処案とは異なる場合もある。また、具体的に破棄された伝送パケット数に応じて対処案を設定しておくことも考えられる。
【0071】
このように、伝送パケットモニタ処理、伝送パラメータ決定処理によって、伝送路の状況に応じて変化する伝送パケットの受信間隔、伝送パケットの破棄率、伝送スループットをモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【0072】
なお、本実施形態においては、送信装置1が伝送パラメータを決定する機能を有しているが、受信装置6が伝送パラメータを決定する機能を有しても良く、モニタ結果に問題が発生した場合は、受信装置6側で最適になるように伝送パラメータを決定し、送信装置1にその伝送パラメータを送信する場合も考えられる。
【0073】
また、本発明の実施形態として、図11に示すように送信装置1と受信装置6とから構成される送受信装置136も考えられる。この送受信装置136を用いて相互通信を行う場合において、上述した伝送パケット送出処理、伝送パケット受信、復号処理、伝送パケットモニタ処理、および伝送パラメータ決定処理によって、送信側、受信側相互に上述の実施形態と同様の効果を得ることが可能となる。
【0074】
【発明の効果】
以上説明したように、本発明によれば、伝送路の状況に応じて変化する伝送パケットの受信状態をモニタし、モニタ結果に応じて伝送パケットを生成するための伝送パラメータを決定し、その伝送パラメータに従って伝送パケットを生成するので、伝送路の状況に応じてパケットの破棄や遅延に対する耐性を変化させることができ、円滑なデータ伝送を実現することができる。
【0075】
また、誤り訂正符号を付加したデータの配列方向とは交錯する方向でペイロードサイズPに従って時間インターリーブ処理を行ってパケットを生成し、シーケンス番号、インターリーブ長T、ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加して伝送パケットを生成し、送信先に送信し、伝送パケットを用いてフレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットのシーケンス番号をデータの誤り訂正位置としてデータを復元するので、誤り位置多項式の導出、誤りロケータの導出に関する演算を削減することができ、データの復号に関する演算負荷を低減することができる。
【図面の簡単な説明】
【図1】送信装置と受信装置の機能ブロック図である。
【図2】送信装置の伝送パケット送出処理の手順を示すフローチャートである。
【図3】フレーム化部で行われるデータのフレーム化と符号化を表した模式図である。
【図4】パケット分割部とパケット生成部で行われるインターリーブ処理と伝送パケットかを表した模式図である。
【図5】受信装置の伝送パケット受信、復号処理の手順を示すフローチャートである。
【図6】フレームの再構築を表した模式図である。
【図7】伝送パケットモニタ部の伝送パケットを監視するモニタ処理の手順を示すフローチャートである。
【図8】伝送パラメータ決定部の伝送パラメータを決定する処理の手順を示すフローチャートである。
【図9】モニタ結果と伝送パラメータの対処案の関係を示すテーブルである。
【図10】伝送パケットのペイロードサイズと誤り訂正位置の関係を表す模式図である。
【図11】送受信装置の機能ブロック図である。
【符号の説明】
1 送信装置
2 フレーム化部
3 パケット分割部
4 パケット生成部
5 伝送パラメータ決定部
6 受信装置
7 受信バッファ部
8 誤り判定部
9 誤り位置特定部
10 誤り訂正部
11 データパケット送出部
12 伝送パケットモニタ部
13 送受信装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a transmission device, a reception device, a transmission program, a reception program, and a transmission / reception program for transmitting and receiving a transmission packet encoded using a forward error correction method, and further monitoring a reception state of the transmission packet.
[0002]
[Prior art]
One method of correcting transmission errors is to add redundant bits to information bits and transmit them.If errors occur in some of the bits during transmission, use the redundant bits to detect erroneous bits on the receiving side. There is a forward error correction method (hereinafter, abbreviated as “FEC”) for correction. It is often used as an error control method in control signal transmission of a digital wireless communication system that requires error correction in real time.
[0003]
Further, as a method of specifying an error position when decoding information using a Reed-Solomon code as a redundant bit, for example, there are a Peterson method, a BM method, a Euclidean method, and the like. An error locator is calculated by the search, and an error position is specified.
[0004]
[Problems to be solved by the invention]
However, when this FEC is used by software processing in the third and higher layers of the OSI reference model, there is a problem in that the load of arithmetic processing for specifying an error position in received data is large.
[0005]
Further, the optimum configuration of the transmission packet (packet size and error tolerance) differs depending on the transmission path used. Therefore, for example, if a transmission packet used in a lower layer is a unit for specifying an error position, a problem arises in that the amount of calculation increases to specify the error position by software processing in the third and higher layers. there were.
[0006]
The present invention has been made in view of the above circumstances, and is a transmission / reception method for correcting a transmission packet in which an error has occurred during transmission by the FEC method in a third or higher layer of the OSI reference model. Receiving apparatus for monitoring the receiving status of the receiving device and returning the receiving status to the transmitting device, and a transmitting device and a transmitting program for creating a transmission packet having error resilience corresponding to the state of the transmission path and reducing the processing load of the receiving device , A receiving program, and a transmitting / receiving program.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a transmitting apparatus according to the first aspect of the present invention is a transmitting apparatus that encodes data by a forward error correction method to generate a transmission packet and transmits the transmission packet. Receiving at least the transmission interval of the transmission packet calculated from the reception state of the transmission packet at the transmission destination, the discard rate of the transmission packet, and the transmission parameter selected from the transmission throughput, And a packet generating means for generating the packet.
[0008]
The transmitting device according to the second aspect of the present invention is the transmitting device according to the first aspect, wherein the transmitting device is configured to transmit at least a transmission interval of the transmission packet from a transmission destination of the transmission packet, When a discard rate and a transmission throughput of the transmission parameter are received as a monitoring result, a parameter determining unit that selects one transmission parameter from a plurality of transmission parameters set in advance according to the monitoring result is provided.
[0009]
The transmitting device according to the third aspect of the present invention is the transmitting device according to the first or second aspect, wherein the transmission parameters include a payload size P of the transmission packet and an interleave length T. Frame forming means for forming a k.times.T data matrix composed of data of data length k and interleave length T as one frame, and a code length (k) for the data of data length k forming one frame. encoding means for adding an nk) error correction code to generate an n × T data matrix including the error correction code; and data obtained by adding an error correction code to the nxT data matrix. Interleave means for performing time interleave processing in accordance with the payload size P in a direction intersecting with the arrangement direction of the packets to generate a packet; It assigns a sequence number to the packet, characterized in that it comprises the sequence number, the interleaving length T, the payload size P, the direction of the interleaving, a header adding means for adding an error correction method as a header of the packet.
[0010]
Here, the unit of data handled in the present invention, such as the interleave length T and the payload size P, is a bit, a byte, or a symbol having an arbitrary number of bits or bytes (1 symbol = m bits or m bytes). I do.
[0011]
The receiving apparatus according to the fourth aspect of the present invention is a receiving apparatus that receives a transmission packet encoded using a forward error correction method, performs error correction, and then decodes the transmission packet. The reception device includes a reception buffer, monitors a reception state of the transmission packet stored in the reception buffer, and acquires at least a reception interval of the transmission packet, a discard rate of the transmission packet, and a transmission throughput as a monitoring result. And a packet monitoring means for returning the monitoring result to the transmission source of the transmission packet.
[0012]
A receiving device according to a fifth aspect of the present invention is the receiving device according to the fourth aspect, wherein, when the packet monitoring unit acquires the monitoring result, the receiving device responds to the monitoring result. There is provided a parameter determining means for selecting one transmission parameter from a plurality of transmission parameters set in advance and returning the transmission parameter to the transmission source of the transmission packet.
[0013]
A receiving device according to a sixth aspect of the present invention is the receiving device according to the fourth or fifth aspect, wherein the data stored in the receiving buffer is a data having a data length k and an interleave length T. An n × T data matrix including an error correction code is generated by adding an error correction code having a code length (nk) to the k × T data matrix composed of On the other hand, a transmission packet generated by performing time interleaving according to the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added, a sequence number assigned to each transmission packet, and the interleave length T , The transmission packet to which the payload size P, the interleaving direction, and the error correction method are added as a header, which are stored in the reception buffer. When there is a discarded transmission packet when reconstructing the one frame using the transmission packet to be transmitted, the sequence number of the discarded transmission packet is used as the error correction position of the data having the data length k. It is characterized by comprising an error correction means for restoring data of length k.
[0014]
A transmission program according to a seventh aspect of the present invention is a transmission program that causes a transmission device to transmit a transmission packet generated by encoding data using a forward error correction method, wherein the transmission program includes: At least receiving a transmission parameter selected from a reception interval of the transmission packet calculated from a reception state of the transmission packet, a discard rate of the transmission packet, and transmission throughput, and generating the transmission packet according to the transmission parameter It is characterized by realizing a packet generation function.
[0015]
The transmission program according to the invention of
[0016]
A receiving program according to the ninth aspect of the present invention provides a receiving program for causing a receiving apparatus to receive a transmission packet encoded using a forward error correction method, perform error correction, and then decode the transmission packet. A receiving function of storing the encoded transmission packet in a reception buffer; and monitoring a reception state of the transmission packet stored in the reception buffer, at least receiving the transmission packet. A packet monitoring function of acquiring an interval, a discard rate of the transmission packet, and transmission throughput as a monitoring result and returning the monitoring result to a transmission source of the transmission packet is realized.
[0017]
A reception program according to a tenth aspect of the present invention is the reception program according to the ninth aspect, wherein the data stored in the reception buffer is k × data having a data length k and an interleave length T. An error correction code having a code length (nk) is added to the T data matrix to generate an n × T data matrix including the error correction code. Sequence numbers assigned to transmission packets generated by performing time interleaving according to the payload size P in a direction intersecting with the arrangement direction of the data to which the correction code is added, and the interleave length T, the payload size P, the transmission packet to which the interleaving direction and the error correction method are added as a header, When there is a discarded transmission packet when reconstructing the one frame using the transmission packet to be transmitted, the sequence number of the discarded transmission packet is used as an error correction position of the data having the data length k. It is characterized by realizing an error correction function for restoring data of length k.
[0018]
Further, the transmission / reception program according to the eleventh aspect causes the transmission packet generated by encoding the data by the forward error correction method to be transmitted, and further, causes the encoded transmission packet to be received, and performs error correction. After being executed, the transmission / reception program for decoding the data, the reception status of the transmission packet is monitored, and at least the reception interval of the transmission packet, the discard rate of the transmission packet, and the transmission throughput are obtained as monitoring results. A packet monitoring function for returning the monitoring result to the transmission source of the transmission packet; and a parameter determination for receiving the monitoring result and selecting one transmission parameter from a plurality of transmission parameters set in advance according to the monitoring result. Function, according to the transmission parameter selected in the parameter determination function, Characterized in that to realize the packet generation function to generate serial transmission packet.
[0019]
According to the invention of
[0020]
A transmission / reception program according to a twelfth aspect of the present invention is the transmission / reception program according to the eleventh aspect, wherein the transmission parameters are an interleave length T and a payload size P; A frame construction function for constructing a k × T data matrix composed of T as one frame, and adding an error correction code of code length (nk) to the data of data length k constituting one frame And an encoding function for generating an n × T data matrix including an error correction code, and the n × T data matrix is arranged in a direction intersecting with an arrangement direction of data to which an error correction code is added. An interleaving function that performs time interleaving processing according to the payload size P to generate a packet, and an interleaving function generated by the interleaving function. A header adding function for assigning a sequence number to the packet, adding the sequence number, the interleave length T, the payload size P, the interleaving direction, and the error correction method as a header of the packet, and reconstructing a frame from the received transmission packet At this time, it is determined whether or not there is a discarded transmission packet. If there is a discarded transmission packet, the sequence number of the discarded transmission packet is used as the error correction position of the data having the data length k. An error correction function for restoring k data is realized.
[0021]
According to the twelfth aspect of the present invention, a packet is generated by performing time interleave processing according to the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added, and the sequence number, the interleave length T, and the payload size P When a transmission packet is generated by adding the interleaving direction and the error correction method as a header of the packet, generating a transmission packet, transmitting the transmission packet to a destination, and reconstructing a frame using the transmission packet, when there is a discarded transmission packet Restores the data by using the sequence number of the discarded transmission packet as the error correction position of the data, so that the calculation for deriving the error locator polynomial and the error locator can be reduced, and the calculation load for decoding the data can be reduced. Can be reduced.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to FIGS.
[0023]
First, the configurations of the transmitting
[0024]
The
[0025]
The framing
[0026]
The
[0027]
The
[0028]
The transmission
[0029]
1B, the receiving
[0030]
The
[0031]
The
[0032]
The data
[0033]
The error
[0034]
The
[0035]
The transmission
[0036]
<Transmission packet transmission processing>
First, a process of transmitting a transmission packet from the
[0037]
In this embodiment, the minimum unit of data (unit of error correction) is referred to as “byte”. However, one byte is not limited to eight bits. As a coding method, a Reed-Solomon code (RS (n, k)) is used, the interleave length is T, and the data size of one frame is n × T bytes.
[0038]
First, the framing
[0039]
The framing
[0040]
As shown in FIG. 3, there are two methods of framing, (a) and (b). FIG. 3A shows a method of loading an error correction code in a direction in which a data packet is written, and FIG. 3B shows a method of loading an error correction code in a direction perpendicular to the direction in which a data packet is written. Is the way.
[0041]
Further, as shown in FIG. 3A, the case where the framing
[0042]
Next, it is determined whether a predetermined number of data packets has been read or one frame of data packets has been read (step S04). If one frame of data packets has not been read, the process returns to step S02 and the data packets are read. Receive. As shown in FIG. 3, data packets to which error correction codes have been added are sequentially stored in a buffer memory in the vertical direction. Steps S02 to S03 are repeated until a data packet for one frame is stored in the buffer memory.
[0043]
After reading the data for one frame, the
[0044]
In FIG. 4, the payload size is 2T, and the direction in which one frame is divided into a plurality of payloads is the direction orthogonal to the direction in which the error correction code is added.
[0045]
Next, the
[0046]
Next, it is determined whether or not all transmission packets for one frame have been transmitted (step S09). If not all transmission packets for one frame have been transmitted, a process of generating a transmission packet by adding a header to the payload. Return to The above processing (steps S07 to S08) is repeated until all transmission packets for one frame are transmitted. After transmitting all the transmission packets for one frame to the same layer or the lower layer, the processing shifts to the transmission processing of the next frame (step S10).
[0047]
<Transmission packet reception and decoding processing>
Next, a process in which the
[0048]
When receiving the transmission packet, the
[0049]
Next, it is determined whether a predetermined number of transmission packets has been read or a timeout has occurred (step S22). If the predetermined number of transmission packets has not been read or if no timeout has occurred, the process returns to step S01. If a predetermined number of transmission packets has been read, or if a timeout has occurred, the
[0050]
When all the transmission packets constituting one frame have been received normally (in a state where no error has occurred), the
[0051]
If the transmission packet is discarded by 1 or more, the
[0052]
If the number of transmission packets for which error correction cannot be performed has been discarded, a request is made to the transmitting side to retransmit the transmission packet (step S27), and the process proceeds to the next frame reception process (step S28). If the transmission packet has been discarded but is within the correctable range, the error
[0053]
Next, the error
[0054]
Next, after the error correction is completed, the
[0055]
The data
[0056]
As described above, by performing the transmission packet transmission processing, the transmission packet reception, and the decoding processing, the packet is generated by performing the time interleaving processing according to the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added. Then, a transmission packet is generated by adding a sequence number, an interleave length T, a payload size, an interleaving direction, and an error correction method as a header of the packet, transmitted to a transmission destination, and a frame is reconstructed using the transmission packet. At this time, if there is a discarded transmission packet, the data packet is restored using the sequence number of the discarded transmission packet as an error correction position in the data packet. Can be reduced to decrypt data packets. It is possible to reduce the calculation load to be. Further, when a transmission packet consisting of only an error correction code is discarded, there is no need to perform error correction when decoding a data packet.
[0057]
<Transmission packet monitoring process>
Next, the processing of the transmission
[0058]
First, when detecting the reception of the first transmission packet of one frame (step S41), the transmission
[0059]
Next, each time a transmission packet is stored in the
[0060]
Next, the transmission
[0061]
Next, when a predetermined number of transmission packets is received or when it is obtained that a timeout has occurred, the transmission
[0062]
Next, the transmission
[0063]
Note that each calculation result may be returned to the transmission source unconditionally without performing the determination processing in step S48.
[0064]
<Transmission parameter determination processing>
Next, the processing of the transmission
[0065]
First, the transmission
[0066]
Next, based on the received monitoring result, it is determined whether a condition for changing the transmission parameter is satisfied (step S62). The conditions for changing the transmission parameters are as follows: when the reception interval is disordered (jitter is generated), when the number of packets discarded in one frame is equal to or larger than a threshold, when the throughput is equal to or larger than the threshold for the transmission capacity. In this case, the request for retransmission of the same frame is repeated a threshold number of times, etc., but the threshold value in the transmitting
[0067]
Next, if the condition for changing the transmission parameter is satisfied, the item in which the problem has occurred is extracted, and further, the corresponding action is taken from the data table shown in FIG. The plan is extracted, the transmission parameters are determined (step S63), and if the conditions for changing the transmission parameters are not satisfied, the process is terminated. The determined transmission parameters are transferred to the
[0068]
FIG. 9 is an example of a data table that records a measure of interleave length and payload size for each state of the packet reception interval, transmission packet discard rate, and transmission throughput among the monitoring results, and a combination of the states. Yes, the transmission
[0069]
For example, as shown in FIG. 10, when the payload size is doubled from 2T to 4T, if one transmission packet is discarded, the number of places where error correction has to be performed doubles, and in one frame, The number of permissible discarded packets will be halved. However, by changing the payload size from 2T to 4T twice, the number of transmission packets constituting one frame is halved, and the data amount of the header is reduced by the halving of the number of transmission packets. Can be reduced.
[0070]
The countermeasure shown in FIG. 9 is not limited to this, and may differ from the countermeasure shown in FIG. 9 depending on the actual transmission path conditions. It is also conceivable to set a countermeasure in accordance with the number of transmission packets discarded specifically.
[0071]
As described above, the transmission packet monitoring process and the transmission parameter determination process monitor the reception interval of the transmission packet, the discard rate of the transmission packet, and the transmission throughput that change according to the status of the transmission path, and transmit the transmission packet according to the monitoring result. Since transmission parameters to be generated are determined and transmission packets are generated according to the transmission parameters, it is possible to change the resistance to packet discarding and delay according to the state of the transmission path, and realize smooth data transmission. Can be.
[0072]
In the present embodiment, the transmitting
[0073]
Further, as an embodiment of the present invention, a transmission / reception device 136 including a
[0074]
【The invention's effect】
As described above, according to the present invention, the reception state of a transmission packet that changes according to the status of a transmission path is monitored, a transmission parameter for generating the transmission packet is determined according to the monitoring result, and the transmission parameter is determined. Since the transmission packet is generated according to the parameters, the tolerance to packet discard and delay can be changed according to the status of the transmission path, and smooth data transmission can be realized.
[0075]
In addition, a packet is generated by performing time interleave processing according to the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added, and a sequence number, an interleave length T, a payload size P, an interleave direction, an error correction A transmission packet is generated by adding the method as a header of the packet, transmitted to a destination, and when reconstructing a frame using the transmission packet, if there is a discarded transmission packet, the discarded transmission packet is used. Since the data is restored using the packet sequence number as the error correction position of the data, the calculation for deriving the error locator polynomial and the error locator can be reduced, and the calculation load for decoding the data can be reduced.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a transmitting device and a receiving device.
FIG. 2 is a flowchart illustrating a procedure of a transmission packet transmission process of the transmission device.
FIG. 3 is a schematic diagram illustrating framing and encoding of data performed by a framing unit.
FIG. 4 is a schematic diagram illustrating an interleaving process performed by a packet division unit and a packet generation unit and a transmission packet.
FIG. 5 is a flowchart showing a procedure of a transmission packet reception and decoding process of the receiving device.
FIG. 6 is a schematic diagram illustrating reconstruction of a frame.
FIG. 7 is a flowchart illustrating a procedure of a monitoring process of monitoring a transmission packet by a transmission packet monitoring unit;
FIG. 8 is a flowchart illustrating a procedure of processing for determining a transmission parameter by a transmission parameter determining unit.
FIG. 9 is a table showing a relationship between a monitoring result and a measure for dealing with a transmission parameter;
FIG. 10 is a schematic diagram illustrating a relationship between a payload size of a transmission packet and an error correction position.
FIG. 11 is a functional block diagram of a transmission / reception device.
[Explanation of symbols]
1 transmitting device
2 Frame conversion unit
3 Packet division unit
4 Packet generator
5 Transmission parameter determination unit
6 Receiver
7 Receive buffer
8 Error judgment unit
9 Error location identification unit
10 Error correction unit
11 Data packet sending unit
12 Transmission packet monitor
13 Transceiver
Claims (12)
前記送信装置は、
送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信すると、当該伝送パラメータに従って、前記伝送パケットを生成するパケット生成手段と、
を備えることを特徴とする送信装置。A transmission device that encodes data by a forward error correction method to generate a transmission packet and transmits the transmission packet,
The transmitting device,
Upon receiving a transmission parameter selected from at least a reception interval of the transmission packet calculated from a reception state of the transmission packet at the transmission destination, a discard rate of the transmission packet, and a transmission throughput, generating the transmission packet in accordance with the transmission parameter Packet generating means for performing
A transmission device comprising:
前記伝送パケットの送信先から少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として受信すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択するパラメータ決定手段を備えることを特徴とする請求項1に記載の送信装置。The transmitting device,
When at least the reception interval of the transmission packet, the discard rate of the transmission packet, and the transmission throughput are received from the destination of the transmission packet as a monitoring result, one transmission is performed from a plurality of transmission parameters set in advance according to the monitoring result. The transmission device according to claim 1, further comprising parameter determination means for selecting a parameter.
データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成するフレーム構成手段と、
前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成する符号化手段と、
前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成するインターリーブ手段と、
インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加するヘッダ付加手段と、
を備えることを特徴とする請求項1または請求項2に記載の送信装置。The transmission parameters are a payload size P of the transmission packet and an interleave length T,
Frame forming means for forming a data matrix of k × T comprising data of data length k and interleave length T as one frame;
Coding means for adding an error correction code of code length (nk) to the data of data length k constituting the one frame to generate an nxT data matrix including the error correction code;
Interleaving means for performing a time interleaving process on the n × T data matrix in accordance with the payload size P in a direction intersecting with an arrangement direction of data to which an error correction code is added, to generate a packet;
Header adding means for allocating a sequence number to the packet generated by the interleaving means, adding the sequence number, the interleaving length T, the payload size P, the direction of the interleaving, and the error correction method as a header of the packet;
The transmission device according to claim 1, further comprising:
前記受信装置は、
前記符号化された伝送パケットを保存する受信バッファと、
前記受信バッファに保存される前記伝送パケットの受信状態を監視し、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得し、当該伝送パケットの送信元へ当該モニタ結果を返信するパケット監視手段と、
を備えることを特徴とする受信装置。A receiving apparatus for receiving a transmission packet encoded using a forward error correction method, performing error correction, and then decoding the transmission packet,
The receiving device,
A reception buffer for storing the encoded transmission packet;
The reception state of the transmission packet stored in the reception buffer is monitored, and at least the reception interval of the transmission packet, the discard rate of the transmission packet, and the transmission throughput are obtained as monitoring results, and the monitoring is performed to the transmission source of the transmission packet. Packet monitoring means for returning a result,
A receiving device comprising:
前記パケット監視手段が前記モニタ結果を取得すると、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択し、当該伝送パラメータを前記伝送パケットの送信元へ返信するパラメータ決定手段を備えることを特徴とする請求項4に記載の受信装置。The receiving device,
When the packet monitoring means obtains the monitoring result, a parameter for selecting one transmission parameter from a plurality of transmission parameters set in advance according to the monitoring result and returning the transmission parameter to the transmission source of the transmission packet The receiving device according to claim 4, further comprising a determination unit.
前記受信バッファに保存される伝送パケットを用いて前記1フレームを再構成する際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元する誤り訂正手段を備えることを特徴とする請求項4または請求項5に記載の受信装置。The data stored in the reception buffer is obtained by adding an error correction code having a code length (nk) to a k × T data matrix including a data length k and an interleave length T to generate an error correction code. An n × T data matrix is generated, and the n × T data matrix is subjected to time interleave processing in accordance with the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added. The transmission packet obtained by adding, as a header, a sequence number assigned to each transmission packet, and the interleave length T, the payload size P, the direction of the interleave, and an error correction method to the transmission packet,
When reconstructing the one frame using the transmission packet stored in the reception buffer, if there is a discarded transmission packet, the sequence number of the discarded transmission packet is replaced with the sequence number of the data having the data length k. The receiving apparatus according to claim 4, further comprising an error correction unit that restores the data having the data length k as an error correction position.
前記送信プログラムは、
送信先の前記伝送パケットの受信状態から算出される少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットから選択される伝送パラメータを受信させ、当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能、
を実現させることを特徴とする送信プログラム。A transmission program that causes a transmission device to transmit a transmission packet generated by encoding data using a forward error correction method,
The transmission program,
A transmission parameter selected from at least a reception interval of the transmission packet calculated from a reception state of the transmission packet of the transmission destination, a discard rate of the transmission packet, and a transmission throughput is received, and the transmission packet is generated according to the transmission parameter. Packet generation function,
A transmission program characterized by realizing:
データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成させるフレーム構成機能と、
前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成させる符号化機能と、
前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、
インターリーブ手段によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、
を実現させることを特徴とする請求項7に記載の送信プログラム。The transmission parameters are a payload size P of the transmission packet and an interleave length T,
A frame configuration function for configuring a data matrix of k × T including data of data length k and interleave length T as one frame;
An encoding function of adding an error correction code having a code length (nk) to the data having the data length k forming the one frame to generate an nxT data matrix including the error correction code;
An interleave function of performing time interleave processing on the n × T data matrix in accordance with the payload size P in a direction intersecting with an arrangement direction of data to which an error correction code is added, to generate a packet;
A header adding function of assigning a sequence number to the packet generated by the interleaving means, adding the sequence number, the interleave length T, the payload size P, the direction of the interleave, and the error correction method as a header of the packet;
8. The transmission program according to claim 7, wherein:
前記受信プログラムは、
前記符号化された伝送パケットを受信バッファに保存させる保存機能と、
前記受信バッファに保存される前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、当該伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、
を実現させることを特徴とする受信プログラム。A receiving program for causing the receiving device to receive the transmission packet encoded using the forward error correction method, perform error correction, and then decode the transmission packet,
The receiving program,
A storage function of storing the encoded transmission packet in a reception buffer,
The reception status of the transmission packet stored in the reception buffer is monitored, at least the reception interval of the transmission packet, the discard rate of the transmission packet, and the transmission throughput are obtained as monitoring results, and the transmission source of the transmission packet performs the monitoring. A packet monitoring function to return the result,
A receiving program characterized by realizing:
前記受信バッファに保存される伝送パケットを用いて前記1フレームを再構成させる際に、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元させる誤り訂正機能を実現させることを特徴とする請求項9に記載の受信プログラム。The data stored in the reception buffer is obtained by adding an error correction code having a code length (nk) to a k × T data matrix including a data length k and an interleave length T to generate an error correction code. An n × T data matrix is generated, and the n × T data matrix is subjected to time interleave processing in accordance with the payload size P in a direction intersecting with the arrangement direction of the data to which the error correction code is added. The transmission packet obtained by adding, as a header, a sequence number assigned to each transmission packet, and the interleave length T, the payload size P, the direction of the interleave, and an error correction method to the transmission packet,
When reconstructing the one frame using the transmission packet stored in the reception buffer, if there is a discarded transmission packet, the sequence number of the discarded transmission packet is replaced with the data of the data length k. 10. The receiving program according to claim 9, wherein an error correction function for restoring the data having the data length k as an error correction position is realized.
前記伝送パケットの受信状態を監視させ、少なくとも前記伝送パケットの受信間隔、前記伝送パケットの破棄率、伝送スループットをモニタ結果として取得させ、前記伝送パケットの送信元へ当該モニタ結果を返信させるパケット監視機能と、
前記モニタ結果を受信させ、前記モニタ結果に応じて予め設定されている複数の伝送パラメータから1つの伝送パラメータを選択させるパラメータ決定機能と、
前記パラメータ決定機能で選択された当該伝送パラメータに従って、前記伝送パケットを生成させるパケット生成機能と、
を実現させることを特徴とする送受信プログラム。A transmission / reception device that causes a transmission / reception device to transmit a transmission packet generated by encoding data using a forward error correction method, further receives an encoded transmission packet, performs error correction, and then decodes the data. A program,
A packet monitoring function for monitoring a reception state of the transmission packet, acquiring at least a reception interval of the transmission packet, a discard rate of the transmission packet, and a transmission throughput as a monitoring result, and returning the monitoring result to a transmission source of the transmission packet. When,
A parameter determination function of receiving the monitoring result and selecting one transmission parameter from a plurality of transmission parameters set in advance according to the monitoring result;
A packet generation function for generating the transmission packet according to the transmission parameter selected by the parameter determination function,
A transmission / reception program characterized by realizing:
データ長kのデータ、インターリーブ長Tからなるk×Tのデータ行列を1フレ−ムとして構成させるフレーム構成機能と、
前記1フレームを構成する前記データ長kのデータに対して符号長(n−k)の誤り訂正符号を付加して、誤り訂正符号を含むn×Tのデータ行列を生成させる符号化機能と、
前記n×Tのデータ行列に対して、誤り訂正符号を付加したデータの配列方向とは交錯する方向に前記ペイロードサイズPに従って時間インターリーブ処理を施してパケットを生成させるインターリーブ機能と、
インターリーブ機能によって生成された当該パケットにシーケンス番号を割り当て、当該シーケンス番号、当該インターリーブ長T、当該ペイロードサイズP、インターリーブの方向、誤り訂正方法を当該パケットのヘッダとして付加させるヘッダ付加機能と、
受信した伝送パケットからフレームを再構成させる際に、破棄された伝送パケットがあるか判定させ、破棄された伝送パケットがある場合は、その破棄された伝送パケットの前記シーケンス番号を前記データ長kのデータの誤り訂正位置として前記データ長kのデータを復元させる誤り訂正機能と、
を実現させることを特徴とする請求項11に記載の送受信プログラム。The transmission parameters are an interleave length T and a payload size P,
A frame configuration function for configuring a data matrix of k × T including data of data length k and interleave length T as one frame;
An encoding function of adding an error correction code having a code length (nk) to the data having the data length k forming the one frame to generate an nxT data matrix including the error correction code;
An interleave function of performing time interleave processing on the n × T data matrix in accordance with the payload size P in a direction intersecting with an arrangement direction of data to which an error correction code is added, to generate a packet;
A header adding function for allocating a sequence number to the packet generated by the interleave function, adding the sequence number, the interleave length T, the payload size P, the interleave direction, and the error correction method as a header of the packet;
When reconstructing a frame from a received transmission packet, it is determined whether there is a discarded transmission packet, and if there is a discarded transmission packet, the sequence number of the discarded transmission packet is set to the data length k. An error correction function for restoring the data having the data length k as an error correction position of data;
The transmission / reception program according to claim 11, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184539A JP2004032283A (en) | 2002-06-25 | 2002-06-25 | Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184539A JP2004032283A (en) | 2002-06-25 | 2002-06-25 | Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004032283A true JP2004032283A (en) | 2004-01-29 |
Family
ID=31180433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002184539A Pending JP2004032283A (en) | 2002-06-25 | 2002-06-25 | Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004032283A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008026551A1 (en) * | 2006-08-31 | 2008-03-06 | Sharp Kabushiki Kaisha | Communication system, program, and recording medium |
US7724775B2 (en) | 2006-02-10 | 2010-05-25 | Nec Computer Techno, Ltd. | Data transmission circuit and method for controlling the data transmission circuit |
US8649277B2 (en) | 2006-06-29 | 2014-02-11 | Nec Corporation | Communication apparatus and method |
US10749634B2 (en) | 2017-08-28 | 2020-08-18 | Fujitsu Limited | Transmission device, transmission reception system and control method for transmission reception system |
JP2021034769A (en) * | 2019-08-16 | 2021-03-01 | ソニー株式会社 | Communication device, communication method, and communication program |
-
2002
- 2002-06-25 JP JP2002184539A patent/JP2004032283A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7724775B2 (en) | 2006-02-10 | 2010-05-25 | Nec Computer Techno, Ltd. | Data transmission circuit and method for controlling the data transmission circuit |
US8649277B2 (en) | 2006-06-29 | 2014-02-11 | Nec Corporation | Communication apparatus and method |
WO2008026551A1 (en) * | 2006-08-31 | 2008-03-06 | Sharp Kabushiki Kaisha | Communication system, program, and recording medium |
US10749634B2 (en) | 2017-08-28 | 2020-08-18 | Fujitsu Limited | Transmission device, transmission reception system and control method for transmission reception system |
JP2021034769A (en) * | 2019-08-16 | 2021-03-01 | ソニー株式会社 | Communication device, communication method, and communication program |
JP7423934B2 (en) | 2019-08-16 | 2024-01-30 | ソニーグループ株式会社 | Communication device, communication method, and communication program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101366332B1 (en) | A method of automatic repeat request(ARQ) in communication system | |
JP4546246B2 (en) | Systematic encoding and decryption of chained encryption reactions | |
CA2336330C (en) | Method and apparatus for transmitting and receiving information packets using multi-layer error detection | |
JP3583677B2 (en) | Method and apparatus for transmitting packet data with high reliability | |
EP2136473B1 (en) | Method and system for transmitting and receiving information using chain reaction codes | |
US8386901B2 (en) | Method, device and software application for transmitting data packets in a communication system | |
EP1214793B9 (en) | Group chain reaction encoder with variable number of associated input data for each output group code | |
US20030023915A1 (en) | Forward error correction system and method for packet based communication systems | |
CN110943800B (en) | Data packet sending method, device and system, storage medium and electronic device | |
KR100730715B1 (en) | Flexible method of error protection in communications systems | |
US20030002502A1 (en) | System for recovering lost information in a data stream by means of parity packets | |
JP2010141413A (en) | Communication apparatus, communication method and program | |
JP2005518142A (en) | Method and apparatus for performing retransmission by ARQ | |
US8270436B2 (en) | Data structure boundary synchronization between a transmitter and receiver | |
US20020027911A1 (en) | Method and apparatus for protecting against packet losses in packet-oriented data transmission | |
JP2004032283A (en) | Transmitting device, receiving device, transmitting program, receiving agent, and transmitting/receiving program | |
JP3476788B2 (en) | Communication system, transmission device, reception device, and communication system including these | |
JP5376855B2 (en) | Data transmission apparatus and data transmission method | |
WO2022105753A1 (en) | Network data encoding transmission method and apparatus | |
US9319074B2 (en) | Communication device, communication method, and communication program | |
JP2005252622A (en) | Communication device and method | |
JP2004080188A (en) | Receiver, reception processing method for received data and program | |
Elfouly et al. | Efficient forward error correction for reliable transmission in packet networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070306 |