(57)【要約】【課題】パケット通信においてパケットが短時間に大量に受信端末へ送信される事態を回避し得る装置を提供する。【解決手段】本発明のパケット送受信装置は、通信ネットワークと送信端末と受信端末とパケット中継部から成り、前記パケット中継部は、前記送信端末から前記通信ネットワークへと順次送信されたパケット群を受信し、同一パケット番号などの同一パケット区分に属する前記パケット群を最小時間間隔以上の時間間隔で、前記通信ネットワークに再送信する。【選択図】図４
2008005030.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークと、
一連のデータパケットに基づいてFECパケットを生成しつつ、前記データパケットおよびFECパケットを順次前記通信ネットワークに送信する少なくとも１つの送信端末と、
前記通信ネットワークから前記データパケットおよびFECパケットを受信する少なくとも１つの受信端末と、を備えるパケット送受信装置であって、
前記通信ネットワーク上にある前記データパケットおよびFECパケットを取り込んで、同一受信区分に属する前記データパケットおよびFECパケットを最小時間間隔以上の時間間隔にて前記通信ネットワークに戻すパケット中継部を備えることを特徴とするパケット送受信装置。
【請求項２】
前記パケット中継部は、前記データパケット及び前記FECパケットを記憶するパケット記憶手段と、
前記パケット記憶手段から前記データパケット及び前記FECパケットを所定時間ごとに取り出して再送信する再送信手段と、を備えるパケット送受信装置。
【請求項３】
前記一連のデータパケットはｎ個であり、前記一連のFECパケットはｍ個であり、
前記再送信手段は、前記パケット記憶手段から前記データパケットを取り出して、これを一定時間ｔごとに再送信するデータパケット再送信手段と、
前記パケット記憶手段から前記FECパケットを取り出して、これを一定時間ｔ＊ｎ/ｍごとに再送信するFECパケット再送信手段と、からなることを特徴とする請求項1記載のパケット送受信装置。
【請求項４】
前記一連のデータパケットはｎ個であり、前記一連のFECパケットはｍ個であり、
前記再送信手段は、前記パケット記憶手段から前記データパケットを取り出して、これを一定時間ｓごとにｎ個全てを再送信し、続いて、前記パケット記憶手段から前記FECパケットを取り出して、これを一定時間ｓごとにｍ個全てを再送信することを特徴とする請求項1記載のパケット送受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信に使用されるパケット送受信装置に関し、特に、ＶＯＤ（Video on demand）サービスや放送サービス等を供するためのパケット通信に使用されるパケット送受信装置に関する。
【背景技術】
【０００２】
パケット通信ネットワークの高速化・広帯域化の実現とともに、高画質な動画像の配信サービスが可能となった。一般に、映像や音楽などのコンテンツを信号化して、一定のサイズの信号毎にこれを分割して、送信元や受信先のアドレスを表す信号を付加したデータ信号の一群の単位をパケットと呼ぶ。容量の大きいコンテンツ信号を容量の小さいパケット毎に分割して送受信することにより、送信端末−受信端末間の通信ネットワークが１つの信号の送受信に長時間に亘って占有されることを低減できるのである。また、送信ミスにより信号に誤りや一部の消失があっても、コンテンツ信号の全体を再度送信することなく、誤りや消失のあったパケット部分のみを再送するだけで済むので、送信効率の向上を図ることも出来る。
【０００３】
このようなパケット通信において、伝送中にパケットが消失してしまうことがある。これは、パケットが短時間に大量に送信されてネットワーク上にこれが輻輳してしまったような場合に、パケットの中継装置であるルータのバッファサイズをオーバーして中継装置内でパケットの一部が消失してしまうのである。パケットの消失は再現される動画像や音声等の質に大きな影響を与えるため、パケットの消失を防止・回復することがネットワークサービスの重要な課題とされている。
【０００４】
消失したパケットを回復する手段としては、（１）送信元から再度、消失したパケットを送信する、（２）あらかじめ誤り訂正符号をパケットに付加しておいて、パケットの消失が生じたときに受信先でパケットの信号の誤りやパケット自体の消失を回復する、など方法が公知である。
【０００５】
ここで前者の送信元から再度、消失したパケットを再送する場合においては、消失したパケットが再送されて送信端末に到達するまでの遅延（タイムラグ）を生じてしまうのである。よって、一連のパケットを順次、再現していかなければならないようなリアルタイム性が重視される動画像や音楽等の送受信においては問題を生じてしまうのである。
【０００６】
このようなリアルタイム性が重視される動画像等のパケット通信においては、パケットの消失を回復（復号）するためのリードソロモンＦＥＣ（Forward Error Correct：前方誤り訂正）の如き信号処理方法が知られている。かかる処理方法では、ｋ個のデータパケットをｎ個のパケットからなるパケット群を単位として送受信するのである。つまりデータパケットの消失を回復するための（ｎ−ｋ）個のＦＥＣパケットをデータパケットに付加してパケット群を構成して送受信を行うのである。このパケット群をリードソロモンＦＥＣ（ｎ，ｋ）と表すとする。リードソロモンＦＥＣ（ｎ，ｋ）では、（n−k）個のデータパケットの消失に対して、この回復が可能である。例えば、リードソロモンＦＥＣ（１５，１３）の場合には、２つのデータパケットの消失まで回復できるのである。
【０００７】
例えば、ＦＥＣ処理を用いたパケット通信については、特許文献１に開示されている。ここでは、受信したパケットを誤り訂正のためにバッファメモリに蓄積すると同時に、誤り訂正演算ブロック全体のパケットが到着するのを待つことなく、つまりＦＥＣ処理を行うことなく、受信したパケットを逐次、下流側に向けて送信することが開示されている。また、他の実施例として、誤り訂正演算ブロック全体のパケットが到着して、パケットの消失が検出された場合にあってはＦＥＣ処理を行ってこれを回復せしめて、これを先送りしたパケットに続けて送信することが開示されている。
【０００８】
一連のデータ信号をＦＥＣ処理した後に送信する場合、送信端末内にてＦＥＣ処理によって誤り訂正符号のパケット（ＦＥＣパケットと称する。）が生成されて、データ信号のビットレートなどに対応した送信スケジュールに則って、順次これらが送信されるのである。
【特許文献１】特開２００５−１２７５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＦＥＣ処理のための回路は、演算処理や送受信処理等を担う回路の一部として組み込まれているため、データパケットからＦＥＣパケットを生成している時には、他の演算処理や送受信処理等に負担を与えてしまう。特に、ＦＥＣパケット処理実行時にはネットワークへのパケットの送信が滞りがちになってしまう。これによりＦＥＣパケット処理終了時には、停滞していた大量のパケットが短時間に一気にネットワークへ向けて送信されるので、結果として、信号劣化を生じさせてしまうという問題があった。
【００１０】
また、ＦＥＣ処理終了時に短時間に送信された大量のパケットがネットワーク内の中継装置に到達して、該中継装置のバッファ部の記憶容量をオーバーフローしてしまった場合には、一部のパケットが消失してしまうのである。更に、該中継装置において、そのＦＥＣ処理能力の限界を超過してしまうと、消失したパケットを回復処理できない場合もある。
【００１１】
本発明は、上記した如き問題点に鑑みてなされたものであって、ネットワーク内におけるパケットの消失を低減するとともに、消失したパケットを確実に回復することが可能なパケット送受信装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるパケット送受信装置は、通信ネットワークと、一連のデータパケットに基づいてＦＥＣパケットを生成しつつ、前記データパケットおよびＦＥＣパケットを順次前記通信ネットワークに送信する少なくとも１つの送信端末と、前記通信ネットワークから前記データパケットおよびＦＥＣパケットを受信する少なくとも１つの受信端末と、を備えるパケット送受信装置であって、前記通信ネットワーク上にあるパケットを取り込んで、同一受信区分に属するパケットを最小時間間隔以上の時間間隔にて前記通信ネットワークに戻すパケット中継部を備えることを特徴とする。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係る実施例について説明する。
【実施例１】
【００１４】
図1は、本発明の第1の実施例であるパケット送受信装置を示す。パケット送受信装置は、通信ネットワーク４００と送信端末１００とパケット中継部２００と受信端末３００とから成る。
【００１５】
送信端末１００はデータパケットをもとに誤り訂正符号を生成する誤り訂正符合生成部１１０と、通信ネットワーク４００へパケットを送信するパケット送信部１２０とを備えている。
【００１６】
パケット中継部２００は通信ネットワーク４００に送信されたパケットを受信するパケット受信部２１０と、受信したパケットを記憶するパケット記憶部２２０と、通信ネットワーク４００にパケットを再送信するパケット送信部２３０と、送信時間を計測するタイマー２４０とを備えている。パケット記憶部２２０はデータパケットを記憶するデータパケット記憶部２２１と、ＦＥＣパケットを記憶するＦＥＣパケット記憶部２２２とを備えている。データパケット記憶部２２１はデータパケットを記憶する複数のデータバッファから成る。各ＦＥＣブロックは、ＦＥＣパケットを記憶する複数のＦＥＣバッファから成る。
【００１７】
受信端末３００は通信ネットワーク４００に再送信されたパケットを受信するパケット受信部３１０と、受信したパケットに誤りまたは消失があった場合にパケットを復号する誤り訂正符号復号部３２０とを備えている。
【００１８】
図１中の矢印に示すように、データパケットおよびＦＥＣパケットは送信端末１００から、順次、通信ネットワーク４００へ送信される。パケット中継部２００は通信ネットワーク４００から送信されたパケットを取り込み、これを通信ネットワーク４００へ再送信する。受信端末２００は再送信されたパケットを受信する。
【００１９】
送信端末１００から送信されるデータパケットは、動画像や音声などのコンテンツを構成するデータを一定のサイズに分割し、送信元や受信先のアドレス等を付加したデータの１単位であり、１つのコンテンツは通常、複数のデータパケットから構成される。送信端末１００は、このデータパケットを基にデータパケットの誤り訂正に用いられるＦＥＣパケットを生成する。データパケットと生成されたＦＥＣパケットはそれぞれ異なるストリームで送信される。以下に、パケットが送信端末１００からパケット中継部２００を介して、受信端末３００へと送信される過程について述べる。
【００２０】
送信端末１００内の誤り訂正符合生成部１１０は、送信しようとする映像、音声、その他のコンテンツを構成する情報であるデータパケットを基にＦＥＣパケットを生成する。ＦＥＣは送受信過程におけるパケット消失を回復する符号化アルゴリズムであり、リードソロモンＦＥＣ（ｎ，ｋ）の場合、n個のパケット中、k個がデータパケットで、n−k個がＦＥＣパケットである。データパケット群と、それらデータパケット群から生成された1つ以上のＦＥＣパケット群との組を1つのブロックとみなす。
【００２１】
図２は、送信端末におけるFECパケットの生成過程を示す図である。ｎ＝１５、ｋ＝１３のときは、データパケット13個からＦＥＣパケットが2個生成され、両パケットを併せた１５個を１ブロックとみなす。１〜１５の番号は、1ブロック内のパケット通し番号を表す。仮に通し番号1番、2番のデータパケット2個が送受信過程で消失したとしても、受信端でＦＥＣ符号の復号処理を施すことで消失パケットを回復できる。
【００２２】
誤り訂正符合生成部１１０は、通常、ＦＥＣ生成機能のみを有する単一の素子から成るのではなく、演算処理や送受信処理等を担うＣＰＵ等の素子内の一部に組み込まれているため、データパケットからＦＥＣパケットを生成する時には、ＦＥＣパケット生成部を含む素子の動作負荷が高くなり、ＦＥＣパケットの生成期間中はネットワークへのパケットの送信が滞りがちになる。この場合、ＦＥＣパケット生成後にパケットがまとめて大量に送信されるが、結果として複数のデータパケットおよびＦＥＣパケットの送信が短時間に集中する。
【００２３】
図３（ａ）はパケット送信部１２０が、データパケットおよびＦＥＣパケットをパケット中継部２００に送信するときの送信パケット群と時間経過を示すタイムチャートである。横軸が時間、縦軸がパケットサイズを表している。データパケット群と、そのデータパケット群から生成されたＦＥＣパケット群との組を１つのブロックとみなす。図３（ａ）中のｍ−１、ｍ、ｍ＋１がそれぞれ1つのブロックを示す。
【００２４】
データパケットとＦＥＣパケットは異なるストリームで送信されるため、同一ブロックのデータパケットとＦＥＣパケットはタイミングを合わせて送信されるわけではなく、例えば、図3（ａ）中におけるデータパケットのm＋１ブロックとＦＥＣパケットのｍブロックが時間軸で重なっている部分のように、前後の他ブロックと重なる場合もある。
【００２５】
図３（ａ）中の時間帯Aは、送信端末におけるＦＥＣパケット生成時にパケットの送信が滞り、パケット間の間隔が大きく空いた時間帯である。同図中の時間帯Bは、ＦＥＣパケット生成後にまとめて送信され、複数のパケットが短時間に集中している時間帯である。
【００２６】
図４は、パケット中継部２００内の（ａ）データパケットの受信、（ｂ）データパケットの送信、（ｃ）ＦＥＣパケットの受信、（ｄ）ＦＥＣパケットの送信の各サブルーチンを示すフローチャートである。
【００２７】
パケット受信部２１０は、パケット送信部１２０から順次送信されたデータパケットおよびＦＥＣパケットを受信する。このとき、データパケット群およびＦＥＣパケット群は図３の（ａ）に示した状態と同様に、短時間に集中している。
【００２８】
図４（ａ）に示すように、受信したデータパケットは、パケット記憶部２２０内のデータパケット記憶部２２１に記憶される。この受信と記憶は、受信するデータパケットの分だけ繰り返される。データパケットは受信した順序でデータパケット記憶部２２１に記憶される。例えば、１番目に受信したデータパケットは、データパケット記憶部２２１内のデータバッファ１に記憶され、２番目に受信したデータパケットはデータパケット記憶部２２１内のデータバッファ２に記憶される。また、図４（ｃ）に示すように、受信したＦＥＣパケットは、パケット記憶部２２０内のＦＥＣパケット記憶部２２２に記録される。この受信と記憶は、受信するＦＥＣパケットの分だけ繰り返される。ＦＥＣパケットは受信した順序でＦＥＣパケット記憶部２２２に記憶される。例えば、最初に受信したＦＥＣパケットは、ＦＥＣパケット記憶部２２２内のＦＥＣバッファ１に記憶され、２番目に受信したＦＥＣパケットはＦＥＣパケット記憶部２２２内のＦＥＣバッファ２に記憶される。
【００２９】
図４（ｂ）に示すように、バッファに記憶されたデータパケットは、送信時刻になると、バッファから取り出されてパケット送信部２０３から送信される。この送信は記憶したデータパケットの分だけ繰り返される。データパケットは記憶された順番に送信される。すなわち、［１］データバッファ１、［２］データバッファ２、・・・の順番にデータパケットが取り出されて送信される。また、図４（ｄ）に示すように、バッファに記憶されたＦＥＣパケットは、送信時刻になると、バッファから取り出されてパケット送信部２０３から送信される。この送信は記憶したＦＥＣパケットの分だけ繰り返される。ＦＥＣパケットは記憶された順番に送信される。すなわち、［１］ＦＥＣバッファ１、［２］ＦＥＣバッファ２、・・・の順番にＦＥＣパケットが取り出されて送信される。
【００３０】
送信時刻は、一定時間ｔごとに定められ、例えば、パケット装置内のタイマー２４０のある時刻をcとすると、送信時刻はｃ＋ｔ、ｃ＋２＊ｔ、ｃ＋３＊ｔ、・・・、となる。本実施例においては、送信時刻は、データストリームとＦＥＣストリームで個別に設定される。
【００３１】
データストリームにおける一定時間ｔ１とは例えば、データパケットのビットレートp、ビットサイズqより計算される時間ｑ／ｐで定められる。これは、パケットサイズqのパケットをビットレートpで送信するのに要する時間である。
【００３２】
ＦＥＣストリームにおける一定時間ｔ２とは例えば、データパケットのビットレートp、ビットサイズqおよびリードソロモンＦＥＣ（ｎ，ｋ）のパケット個数n、データパケット個数k、より計算される時間ｑ＊ｋ／ｐ（ｎ−ｋ）で定められる。これは、ＦＥＣパケットのビットレートをｐ＊（ｎ−ｋ）／ｋとみなしたとき、パケットサイズqのパケットをビットレートｐ＊（ｎ−ｋ）／ｋで送信するのに要する時間である。
【００３３】
このとき、ＦＥＣパケットにおける一定時間ｔ２＝ｑ＊ｋ／ｐ（ｎ−ｋ）はデータパケットにおける一定時間ｔ１＝ｑ／ｐのｋ／（ｎ−ｋ）倍になる。ｋは１ブロックにおけるデータパケットの個数（＝ｎとする）であり、ｎ−ｋは１ブロックにおけるＦＥＣパケットの個数（＝ｍとする）であるため、ＦＥＣパケットにおける一定時間ｔ２は、ｔ２＝ｔ１＊ｎ／ｍと表せる。
【００３４】
なお、本実施例ではデータパケットのビットレートｐやビットサイズｑおよびＦＥＣ（ｎ、ｋ）符号化のためのパラメータｎ、ｋの情報は、あらかじめパケット中継部２００内の半導体メモリなどの適当なメモリに記憶されている前提である。
【００３５】
以上、パケット中継部２００内の各手順の処理は、コンピュータプログラムにより実現可能なものである。このコンピュータプログラムを、パケット中継部内にあるメモリ等の適当な記録媒体に記録しておき、ＣＰＵ等の演算処理手段によって各手順の処理を実行する。
【００３６】
パケット送信部２３０は、受信端末３００が有するパケット受信部３１０にデータパケットおよびＦＥＣパケットを送信する。データパケットはｑ／ｐで計算される一定時間で送信され、ＦＥＣパケットはｑ＊ｋ／ｐ（ｎ−ｋ）で計算される一定時間で送信される。
【００３７】
図３（ｂ）はパケット送信部２３０が、データパケットおよびＦＥＣパケットを受信端末３００に送信するときの送信パケット群と時間経過を示すタイムチャートである。横軸が時間、縦軸がパケットサイズを表している。データパケット群と、そのデータパケット群から生成されたＦＥＣパケット群との組を１つのブロックとみなす。図３（ｂ）中のｍ−１、ｍ、ｍ＋１がそれぞれ1つのブロックを示す。
【００３８】
データパケットとＦＥＣパケットは異なるストリームで送信されるため、同一ブロックのデータパケットとＦＥＣパケットはタイミングを合わせて送信されるわけではなく、例えば、図3（ｂ）中におけるデータパケットのm＋１ブロックとＦＥＣパケットのｍブロックが時間軸で重なっている部分のように、前後の他ブロックと重なる場合もある。
【００３９】
図３（ｂ）中におけるａは、データパケット送信の一定時間を表しており、ｑ／ｐの時間である。図３（ｂ）中におけるｂは、ＦＥＣパケット送信の最小間隔を表しており、ｑ＊ｋ／ｐ（ｎ−ｋ）の時間である。
【００４０】
以上のように、送信端末１００の備えるパケット送信部１２０から順次送信されるパケットが短時間に集中していたとしても、パケット中継部を介することにより、受信端末３００が有するパケット受信部３１０では一定の間隔でパケットを受信することができる。
【００４１】
誤り訂正符号復号部３２０は、パケット受信部３０１からデータパケットおよびＦＥＣパケットを受け取り、送信過程でパケットの消失が生じた場合は、ＦＥＣパケットを基にパケット信号を復号する。パケットの受信間隔を最小時間以上の間隔とすることで、受信端末が短時間に大量のパケットを受け取ることを回避している。その結果として、ネットワーク内におけるパケットの消失を低減するとともに、消失したパケットの回復を確実にする。
【実施例２】
【００４２】
図５は、本発明の第２の実施例であるパケット送受信装置を示す。パケット記憶部２２０内の構成が実施例１と異なる。
【００４３】
パケット中継部２００内のパケット記憶部２２０は、データパケットを記憶するデータパケット記憶部２２１と、ＦＥＣパケットを記憶するＦＥＣパケット記憶部２２２とを備えている。データパケット記憶部２２１はデータパケットをブロック単位で記憶するための複数のデータブロックから成る。各データブロックは、データパケットを記憶する複数のデータバッファから成る。ＦＥＣパケット記憶部２２２はＦＥＣパケットをブロック単位で記憶するための複数のＦＥＣブロックから成る。各ＦＥＣブロックは、ＦＥＣパケットを記憶する複数のＦＥＣバッファから成る。
【００４４】
図６（ａ）はパケット送信部１２０が、データパケットおよびＦＥＣパケットをパケット中継部２００に送信するときの送信パケット群と時間経過を示すタイムチャートである。このとき、受信するデータパケット群およびＦＥＣパケット群は、実施例１と同様にＦＥＣパケットの生成に起因して、短時間に集中している。
【００４５】
図７はパケット中継部２００内の（ａ）パケットの送信と（ｂ）パケットの受信のサブルーチンを示すフローチャートである。
【００４６】
図７（ａ）に示すように、パケット受信部２１０は、パケット送信部１２０から順次送信されたデータパケットおよびＦＥＣパケットを受信する。
【００４７】
受信したパケットがデータパケットであれば、そのデータパケットは受信順にパケット記憶部２２０内のデータパケット記憶部２２１に記録される。同様に、受信したパケットがＦＥＣパケットであれば、受信順にパケット記憶部２２０内のＦＥＣパケット記憶部２２２に記録される。
【００４８】
例えば１つのデータブロックがｎ個のデータパケットから成るとする。１番目に受信したデータパケットは、データブロック１のデータバッファ１に記憶され、2番目に受信したデータパケットはデータブロック１のデータバッファ２に記憶され、ｎ番目に受信したデータパケットはデータブロック１のデータバッファｎに記憶される。
【００４９】
このｎ個という数値は、あらかじめパケット中継部内のメモリに記憶されており、パケット中継部は、各データブロックにおけるｎ個目のデータパケットが１つのデータブロックの最終パケットであることを判断可能である。受信したデータパケットがｎ個目すなわち１つのデータブロックの最終パケットであった場合、以降に受信するデータパケットを記憶するデータブロックの番号を変更する。例えば、ｎ個目のデータパケットの属するブロックがデータブロック１に記憶されていた場合、以降に受信する１個目からｎ個目までのデータパケットはデータブロック２に記憶される。以降も同様に、各データブロックの最終パケットを受信するごとに、記憶するデータブロックの番号が変更される。
【００５０】
ＦＥＣパケットの記憶は、データパケットの記憶手順と同様の手順により、ＦＥＣパケット記憶部２２０内のＦＥＣバッファへＦＥＣブロック単位で行われる。以上のように、受信のフローにおいては、パケットがブロック単位で記憶される点において実施例1とは異なる。
【００５１】
図７（ｂ）に示すように、データバッファに記憶されたデータパケットは、送信時刻になると記憶された順番にデータバッファから取り出されて、パケット送信部２３０から送信される。すなわち、［１］データブロック１のデータバッファ１、［２］データブロック１のデータバッファ２、・・・［ｎ］データブロック１のデータバッファｎの順番でデータパケットが取り出されて送信される。データバッファｎから取り出されたデータパケットはデータブロック１内の最終データパケットである。データブロック１内の最終データパケットが送信されると、データパケットを取り出すデータブロックはデータブロック２に変更される。
【００５２】
以降、同様に、同一データブロック内の最終データパケットを送信し終わると、データパケットを取り出すデータブロックの番号を1つずつ増やして行く。ただし、データブロック変更後はすぐにデータパケットの送信は行わず、続いて、ＦＥＣパケットを送信する手順に移る。
【００５３】
ＦＥＣバッファに記憶されたＦＥＣパケットは、送信時刻になると記憶された順番にバッファから取り出され、パケット送信部２３０から送信される。例えば１つのＦＥＣブロックがｍ個のデータパケットから成るとすると、［１］ＦＥＣブロック１のＦＥＣバッファ１、［２］ＦＥＣブロック１のＦＥＣバッファ２、・・・［ｍ］ＦＥＣブロック１のＦＥＣバッファｍの順番でＦＥＣパケットが取り出されて送信される。ＦＥＣバッファｍから取り出されたＦＥＣパケットはＦＥＣブロック１内の最終ＦＥＣパケットである。ＦＥＣブロック１の最終データパケットが送信されると、ＦＥＣパケットを取り出すＦＥＣブロックはＦＥＣブロック２に変更される。
【００５４】
以降、同様に、同一ＦＥＣブロック内の最終ＦＥＣパケットを送信し終わると、ＦＥＣパケットを取り出すＦＥＣブロックの番号を1つずつ増やして行く。ただし、ＦＥＣブロック変更後はすぐにＦＥＣパケットの送信は行わず、続いて、データパケットを送信する手順に移る。
【００５５】
以上のように、データバッファから同一ブロック内のデータパケットｎ個全てを順次取り出して送信時刻ごとに再送信し、続いてＦＥＣバッファから同一ブロック内のＦＥＣパケットｍ個全てを順次取り出して送信時刻ごとに再送信する。同一ブロック内のデータパケットおよびＦＥＣパケットを全て送信し終えたら、次のブロックのデータパケットから送信し始める。このデータパケットおよびＦＥＣパケットの送信は、記憶したパケットを全て送信するまで繰り返される。
【００５６】
送信時刻は、一定時間ｓごとに定められ、例えば、パケット装置内のタイマー２４０のある時刻をcとすると、送信時刻はｃ＋ｓ、ｃ＋２＊ｓ、ｃ＋３＊ｓ、・・・、となる。本実施例においては、送信時刻は、データストリームとＦＥＣストリームで同一に設定される。
【００５７】
ここでの一定時間ｓとは例えば、データパケットのビットレートp、ビットサイズqおよびリードソロモンＦＥＣ（ｎ，ｋ）のパケット個数n、データパケット個数k、より計算される時間ｑ／（ｐ＊（ｎ／ｋ））で定められる。これは、データパケットおよびＦＥＣパケットのビットレートをｐ＊（ｎ／（ｎ−ｋ））とみなしたとき、パケットサイズqのパケットをビットレートｐ＊（ｎ／（ｎ−ｋ））で送信するのに要する時間である。
【００５８】
なお、本実施例ではデータパケットのビットレートｐやビットサイズｑおよびＦＥＣ（ｎ、ｋ）符号化のためのパラメータｎ、ｋの情報は、あらかじめパケット中継部２００内のメモリに記憶させてある前提である。
【００５９】
以上、パケット中継部２００内の各手順の処理は、コンピュータプログラムにより実現可能なものである。このコンピュータプログラムを、パケット中継部内にあるメモリ等の適当な記録媒体に記録しておき、ＣＰＵ等の演算処理手段によって各手順の処理を実行する。
【００６０】
図６（ｂ）はパケット送信部２３０が、データパケットおよびＦＥＣパケットを受信端末３００に送信するときの送信パケット群と時間経過を示すタイムチャートである。横軸が時間、縦軸がパケットサイズを表している。実施例1と同様に、データパケット群と、そのデータパケット群から生成されたＦＥＣパケット群との組を１つのブロックとみなす。図６（ｂ）中のｍ−１、ｍ、ｍ＋１がそれぞれ1つのブロックを示す。
【００６１】
データパケットとＦＥＣパケットは異なるストリームで送受信されるが、1ブロック分のデータパケットを順次送信後に、直前に送信したデータパケットと同一ブロックのＦＥＣパケット1ブロック分を順次送信する点が、実施例1と異なる。図６（ｂ）に示されるとおり、データパケットのmブロックとＦＥＣパケットのｍブロックが時間軸で重なっており、前後の他ブロックと重なることはない。
図６（ｂ）中のａおよびｂは、データパケットおよびＦＥＣパケットの送信の一定時間を表しており、ｑ／（ｐ＊（ｎ／ｋ））の時間である。
【００６２】
実施例1は、データパケットとＦＥＣパケットを各々のストリームにおける一定時間で送信しており、データパケットとＦＥＣパケットを併せたブロック単位では送信間隔が調整されていない。それに対して本実施例2は、データパケットとＦＥＣパケットを併せたブロック単位で、かつ、同一の一定時間で送信しており、実施例1に比較して送信間隔が平滑化される。
【００６３】
以上のように、送信端末１００の備えるパケット送信部１２０から送信されるパケットが短時間に集中していたとしても、本発明であるパケット中継部を介することにより、受信端末３００が有するパケット受信部３１０では最小時間以上の間隔でパケットを受信することができる。
【００６４】
データパケットとＦＥＣパケットを併せたブロック単位でパケットの受信間隔を最小時間以上の間隔としているので、受信端末が短時間に大量のパケットを受け取る事態を回避している。その結果として、ネットワーク内におけるパケットの消失を低減するとともに、消失したパケットの回復を確実にする。
【００６５】
実施例１および実施例２の説明においては、送信端末と受信端末を単一としているが、送信端末または受信端末が複数の場合が通常である。複数の送信端末から同時期にパケットが送信される場合、パケット中継部では送信元の異なるパケットを混在して受信する。通常、１つのコンテンツを分割して得られるパケット群には同一の識別子が付与される。この識別子は、コンテンツごとに異なるため、パケットに付与された識別子をパケット受信区分とすることも可能である。
【００６６】
したがって、本発明においては、同一受信区分に属するパケットを最小時間間隔以上の時間間隔で通信ネットワークに戻すのである。
【００６７】
実施例１および実施例２においては、データパケットとＦＥＣパケットが送信端末から異なるストリームで送信されている例であるが、データパケットとＦＥＣパケットが同一のストリームで送信されている場合にも、本発明は適用可能である。
【００６８】
実施例１および実施例２においては、コンテンツのビットレートやビットサイズおよびＦＥＣ（ｎ、ｋ）符号化のためのパラメータｎ、ｋなどの情報は、あらかじめパケット中継部に記憶させておく前提であるが、本発明は、これらの情報をパケット送信直前にネットワークを通じてパケット中継部に通知し、コンテンツ毎に設定することも可能である。
【００６９】
なお、パケット中継部がデータパケットやＦＥＣパケットをネットワークに再送信する、すなわち、戻す時間間隔は、最小時間間隔を越えていれば良く、必ずしも一定時間間隔に限定されない。
【図面の簡単な説明】
【００７０】
【図１】本発明によるパケット送受信装置を示すブロック図
【図２】送信端末におけるFECパケットの生成過程を示す説明図
【図３】送信パケット群を経時的に示すタイムチャート
【図４】パケット中継部によって実行されるサブルーチンを示すフローチャート
【図５】本発明による別のパケット送受信装置を示すブロック図
【図６】送信パケット群を経時的に示すタイムチャート
【図７】パケット中継部によって実行されるサブルーチンを示すフローチャート
【符号の説明】
【００７１】
１００  送信端末
１１０  誤り訂正符号生成部
１２０  パケット送信部
２００  パケット中継部
２１０  パケット受信部
２２０  パケット記憶部
２２１  データパケット記憶部
２２２  ＦＥＣパケット記憶部
２３０  パケット送信部
３００  受信端末
３１０  パケット受信部
３２０  誤り訂正符号複合部
４００  通信ネットワーク
【図１】
2008005030.tif 000003
【図２】
2008005030.tif 000004
【図３】
2008005030.tif 000005
【図４】
2008005030.tif 000006
【図５】
2008005030.tif 000007
【図６】
2008005030.tif 000008
【図７】
2008005030.tif 000009