(57)【特許請求の範囲】
【請求項１】
有線又は無線によって接続された送信局と受信局とから構成され、送信局と受信局間でパケット単位でデータの伝送を行う通信システムにおいて、
前記送信局は、タイムスタンプ・クロックを基にパケットの入力時刻を示すタイムスタンプ値を入力パケットに付与し、送信待ちのパケット及びタイムスタンプ値毎のパケットの入力状況を示す制御情報を受信局へ送信し、受信局からの再送要求情報に従って送信済みパケットを再送するものであり、
前記受信局は、符号誤りなしに受信したパケットのタイムスタンプ値に基づいてタイムスタンプ値毎のパケット受信の有無を記録し、この記録と受信した制御情報とに基づいて未受信のパケットの再送要求情報を送信局へ送信し、送信局側と同期したタイムスタンプ・クロックが示す現在時刻を所定の時間だけシフトさせた第２の時刻を生成し、この第２の時刻と一致するタイムスタンプ値のパケットを受信済みの場合、該パケットを出力するものであり、
タイムスタンプ値のみをパケットに付与して、通信中に発生する符号誤りと遅延揺らぎを補償することを特徴とする通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記送信局は、現在時刻を示すタイムスタンプ・クロックを生成する第１のタイムスタンプ・クロック生成手段と、
タイムスタンプ・クロックを基にタイムスタンプ値を入力パケットに付与するタイムスタンプ付与手段と、
タイムスタンプ値毎にパケット入力の有無を記録する入力状態管理手段と、
パケット入力の有無に基づいて前記制御情報を生成する制御情報生成手段と、
送信待ちパケット及び送信済みパケットを保存するための送信バッファと、
受信局から送信された再送要求情報を受信する第１の受信手段と、
送信バッファ内の送信待ちパケットと制御情報とを受信局へ送信すると共に、受信局からの再送要求情報に従って送信バッファ内の送信済みパケットを再送する第１の送信手段とを備え、
前記受信局は、送受信局間で同期した現在時刻を示すタイムスタンプ・クロックを生成する第２のタイムスタンプ・クロック生成手段と、
送信局から送信されたパケット及び制御情報を受信する第２の受信手段と、
受信したパケットの符号誤りの有無を判定する誤り検出手段と、
符号誤りなしに受信したパケットを保存するための受信バッファと、
符号誤りなしに受信したパケットからタイムスタンプ値を分離するタイムスタンプ分離手段と、
分離されたタイムスタンプ値に基づいて、タイムスタンプ値毎のパケット受信の有無を示す受信状態情報を記録管理する受信状態管理テーブルと、
受信状態情報と受信した制御情報に基づいて、送信局におけるパケット入力の有無と自局におけるパケット受信の有無をタイムスタンプ値毎に示すよう前記受信状態情報を補正する受信状態補正手段と、
補正後の受信状態情報に基づいて、送信局への入力が行われ、かつ自局において未受信のパケットの再送要求情報を生成する再送要求情報生成手段と、
再送要求情報を送信局へ送信する第２の送信手段と、
タイムスタンプ・クロックが示す現在時刻を所定の時間だけシフトさせた第２の時刻を生成し、この第２の時刻と一致するタイムスタンプ値のパケットが存在する場合、該パケットを受信バッファから出力させる出力制御手段とを備えることを特徴とする通信システム。
【請求項３】
請求項１記載の通信システムにおいて、
前記タイムスタンプ・クロックの刻み幅の時間内に２つ以上のパケットが送信局に入力されないようにクロックレートを設定することを特徴とする通信システム。
【請求項４】
請求項１記載の通信システムにおいて、
前記送信局は、前記タイムスタンプ値が付与される前の入力パケットをいったん保存し、前記タイムスタンプ・クロックの刻み幅毎に１つのパケットを読み出して出力するリーキーバケット・バッファを備え、このリーキーバケット・バッファから出力されたパケットに前記タイムスタンプ値を付与することを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号誤りが無視できない伝送路を経由してパケット単位の伝送を行う通信システムにおいて、通信中に発生する符号誤り及び遅延揺らぎを補償するための技術に関し、特に、再送制御による誤り補償及びタイムスタンプによる遅延揺らぎ補償が必要となる場合に、有限の伝送路リソースを効率的に活用するための技術に関する。本発明は、特に、広帯域ワイヤレスアクセスシステムにて用いられる。
【０００２】
【従来の技術】
従来より、通信中に発生する符号誤りをシーケンス番号を用いて補償し、通信中に発生する遅延揺らぎをタイムスタンプを用いて補償する通信システムが知られている。図６は、シーケンス番号を用いた従来の符号誤り補償の動作概要を示す図である。図６において、１０１〜１０５，１１１，１１２は送信局から受信局に送信されるパケット、１０６〜１０８，１１３，１１４は受信局で受信されたパケット、１０９は受信局から送信局に送られる再送要求情報、１１０は受信局で受信された再送要求情報を示す。各パケット１０１〜１０８，１１１〜１１４を示す四角内の数字は、パケットが送信局に入力された際に、各パケットに通し番号として付与されたシーケンス番号である。送信局、受信局間の矢印は信号の流れを表し、×印は符号誤りによりパケットが紛失したことを示す。
【０００３】
送信局では、１〜５のシーケンス番号が付与されたパケット１０１〜１０５を送信し、受信局はそれを受信する。各パケットには、通常、誤り検出符号が付与されており、伝送路上で符号誤りが起きたパケットは廃棄される。受信局では、受信したパケット１０６〜１０８に付与されたシーケンス番号を参照して、不連続なシーケンス番号を検索し、その番号２，４を再送要求情報ｌ０９として送信する。送信局では、受信した再送要求情報１１０を参照し、シーケンス番号２，４のパケット１１１，１１２を再送する。ここで、パケット１０２とパケット１１１、及びパケット１０４とパケット１１２は全く同じものである。受信局では、受信したパケット１０６〜１０８，１１３，１１４のシーケンス番号を参照し、シーケンス番号の順にパケットを外部に出力する。
【０００４】
図７は、タイムスタンプを用いた従来の遅延揺らぎ補償の動作概要を示す図である。図７において、１１５〜１２０は送信局に入力されたパケット、１２１〜１２６は受信局で受信されたパケット、１２７〜１３２は受信局から出力されるパケットを示す。図７では、横軸が時間を示し、送信局側には、適当な刻み幅の周期でカウントアップするタイムスタンプ・クロックのタイムスタンプ値を時間軸と共に示した。また、受信局では、送信局のタイムスタンプ・クロックに同期したクロックが生成され、特に出力制御用には、図７のように送信側の時刻を所定の時間（以降、付加遅延時間と呼ぶ）だけシフトさせた時刻を管理している。パケット１１５〜１３２を示す四角内の数字は、送信局において付与されたタイムスタンプ値を示している。
【０００５】
送信局と受信局の間の通信においては、図７に示したように、通常は再送等の処理及びデータ送信のバースト処理等の理由により、送受信間での転送に要する時間が一定でなく、時として順番すら入れ替わることがある。例えば、送信局側においてはパケット１１７はパケット１１６よりも遅く入力されているが、受信局側ではパケット１２２の方がパケット１２３よりも先に受信され、順序の逆転が起きている。また、パケット１１８は、他のパケットと順序こそ入れ替わっていないが、受信局に届くまでの時間がパケット１１５，１１７，１１９，１２０に比べて長くなっている。したがって、このままの状態で出力してしまうと、パケットの順番の逆転、及び遅延時間の揺らぎが避けられない。そこで、受信局側で送信側のタイムスタンプ・クロックを付加遅延時間だけシフトさせたタイミングを管理し、このタイミングで対応するタイムスタンプ値のパケットを出力する。これにより、パケット１２２とパケット１２３の順番の逆転は、出力パケット１２８，１２９で解消され、全てのパケットが同じ遅延時間になるように調整される。
【０００６】
図８は、符号誤り補償及び遅延揺らぎ補償機能を備えた従来の通信システムの送受信局の構成を示すブロック図である。図８において、１３３はタイムスタンプ付与回路、１３４はタイムスタンプ・クロック生成回路、１３５はシーケンス番号付与回路、１３６は送信バッファ、１３７はパケット送信制御回路、１３８は誤り検出符号付与回路、１３９は送信回路、１４０は受信回路、１４１は誤り検出回路、１４２はシーケンス番号分離回路、１４３は受信状態管理テーブル、１４４は再送要求情報生成回路、１４５はタイムスタンプ分離回路、１４６は出力制御回路、１４７は受信バッファを示す。
【０００７】
まず、送信局にパケットが入力されると、タイムスタンプ付与回路１３３は、タイムスタンプ・クロック生成回路１３４からのタイムスタンプ・クロックを参照し、入力パケットにタイムスタンプ値を付与する。さらに、シーケンス番号付与回路１３５は、入力パケットにシーケンス番号を付与する。そして、入力パケットは、送信バッファ１３６に収容される。送信局のパケット送信制御回路１３７は、次に送信すべきパケットのシーケンス番号を管理し、送信すべきパケットを指示する。この指示により、送信バッファ１３６から出力されたパケットは、誤り検出符号付与回路１３８にて誤り検出符号が付与され、送信回路１３９より送信される。
【０００８】
一方、受信局の受信回路１４０は送信局から送信されたパケットを受信する。誤り検出回路１４１は、受信パケットの誤り判定を行い、符号誤りのある情報を廃棄すると共に、誤り検出符号を分離する。そして、誤り検出回路１４１は、受信した情報が再送要求情報の場合にはパケット送信制御回路１３７に転送し、パケットの場合にはシーケンス番号分離回路１４２に転送する。シーケンス番号分離回路１４２は、パケットに付与されたシーケンス番号を分離し、このシーケンス番号を受信状態管理テーブル１４３に通知する。これにより、受信状態管理テーブル１４３では、正常に受信したパケットのシーケンス番号を管理する。シーケンス番号が除去されたパケットは、タイムスタンプ分離回路１４５にてタイムスタンプ値が除去され、受信バッファ１４７に収容される。分離されたタイムスタンプ値は、出力制御回路１４６にて記録される。出力制御回路１４６は、現在時刻であるタイムスタンプ・クロックのタイムスタンプ値に対し、所定の付加遅延時間分だけ減算して得られるタイムスタンプ値が出力制御回路１４６にて記録されていた場合には、該当するパケットを受信バッファ１４７より出力させる。
【０００９】
【発明が解決しようとする課題】
無線回線を介して高速のデータ通信を行うシステムでは、有限の周波数資源を有効に利用することが求められている。つまり、転送すべきユーザデータに対し、可能な限り冗長的な制御情報は避けて転送する必要がある。
図９は、図８に示す従来の通信システムの送信局から送出されるパケット及びパケットに付与された情報の構造を示す図である。図９において、Ｎはシーケンス番号、ＴＳはタイムスタンプ値、Ｄはユーザデータを収容したパケット、Ｃは誤り検出符号を示す。
【００１０】
図９に示したように、シーケンス番号Ｎとタイムスタンプ値ＴＳは、パケット毎に付与される。通常、高い誤り率への対応と伝送遅延の抑制のために、伝送すべきデータは短いパケットに分割される。例えば、ＡＴＭ（Asynchronous Transfer Mode）の場合を例にとると、５３バイトの固定長のパケットが用いられる。ここで、高速の通信を仮定すると、短時間に膨大な数のパケットが転送されるため、シーケンス番号Ｎ及びタイムスタンプ値ＴＳは、１〜２バイト程度の長さに設定される。また、誤り検出符号Ｃの長さは、符号誤りの見逃し確率を抑えるために２〜４バイト程度の長さに設定される。ＡＴＭの場合、これらの制御情報が約５０バイト毎に付加されるため、制御用のオーバーヘッドによる全伝送容量の低下が問題となる。
以上のように、符号誤り補償及び遅延揺らぎ補償機能を備えた従来の通信システムでは、シーケンス番号Ｎとタイムスタンプ値ＴＳをパケット毎に付与するので、伝送効率が低下するという問題点があった。
本発明は、上記課題を解決するためになされたもので、符号誤り補償及び遅延揺らぎ補償機能を実現しつつ、従来よりも伝送効率を向上させることができる通信システムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の通信システムは、有線又は無線によって接続された送信局と受信局とから構成され、送信局と受信局間でパケット単位でデータの伝送を行う際、タイムスタンプ値のみをパケットに付与して、通信中に発生する符号誤りと遅延揺らぎを補償するものである。そして、送信局は、タイムスタンプ・クロックを基にパケットの入力時刻を示すタイムスタンプ値を入力パケットに付与し、送信待ちのパケット及びタイムスタンプ値毎のパケットの入力状況を示す制御情報を受信局へ送信し、受信局からの再送要求情報に従って送信済みパケットを再送するものであり、受信局は、符号誤りなしに受信したパケットのタイムスタンプ値に基づいてタイムスタンプ値毎のパケット受信の有無を記録し、この記録と受信した制御情報とに基づいて未受信のパケットの再送要求情報を送信局へ送信し、送信局側と同期したタイムスタンプ・クロックが示す現在時刻を所定の時間だけシフトさせた第２の時刻を生成し、この第２の時刻と一致するタイムスタンプ値のパケットを受信済みの場合、該パケットを出力するものである。本発明は、タイムスタンプ値毎のパケットの入力状況を示す制御情報を送信局から受信局へ送信し、受信局において、タイムスタンプ値毎のパケット受信の有無を記録し、この記録と受信した制御情報とを参照することにより、未受信のパケットの再送要求情報を送信局へ送信する点で従来の通信システムとは異なる。その結果、シーケンス番号を用いることなしに、タイムスタンプ値のみを用いてパケットの再送制御を行うことを可能にしている。
【００１２】
上述の通信システムの１構成例において、上記送信局は、現在時刻を示すタイムスタンプ・クロックを生成する第１のタイムスタンプ・クロック生成手段（１）と、タイムスタンプ・クロックを基にタイムスタンプ値を入力パケットに付与するタイムスタンプ付与手段（２）と、タイムスタンプ値毎にパケット入力の有無を記録する入力状態管理手段（４）と、パケット入力の有無に基づいて上記制御情報を生成する制御情報生成手段（５）と、送信待ちパケット及び送信済みパケットを保存するための送信バッファ（３）と、受信局から送信された再送要求情報を受信する第１の受信手段（９）と、送信バッファ内の送信待ちパケットと制御情報とを受信局へ送信すると共に、受信局からの再送要求情報に従って送信バッファ内の送信済みパケットを再送する第１の送信手段（６〜８）とを備え、上記受信局は、送受信局間で同期した現在時刻を示すタイムスタンプ・クロックを生成する第２のタイムスタンプ・クロック生成手段（１）と、送信局から送信されたパケット及び制御情報を受信する第２の受信手段（９）と、受信したパケットの符号誤りの有無を判定する誤り検出手段（１０）と、符号誤りなしに受信したパケットを保存するための受信バッファ（１２）と、符号誤りなしに受信したパケットからタイムスタンプ値を分離するタイムスタンプ分離手段（１１）と、分離されたタイムスタンプ値に基づいて、タイムスタンプ値毎のパケット受信の有無を示す受信状態情報を記録管理する受信状態管理テーブル（１３）と、受信状態情報と受信した制御情報に基づいて、送信局におけるパケット入力の有無と自局におけるパケット受信の有無をタイムスタンプ値毎に示すよう上記受信状態情報を補正する受信状態補正手段（１４）と、補正後の受信状態情報に基づいて、送信局への入力が行われ、かつ自局において未受信のパケットの再送要求情報を生成する再送要求情報生成手段（１５）と、再送要求情報を送信局へ送信する第２の送信手段（６〜８）と、タイムスタンプ・クロックが示す現在時刻を所定の時間だけシフトさせた第２の時刻を生成し、この第２の時刻と一致するタイムスタンプ値のパケットが存在する場合、該パケットを受信バッファから出力させる出力制御手段（１６）とを備えるものである。
【００１３】
また、上述の通信システムの１構成例として、上記タイムスタンプ・クロックの刻み幅の時間内に２つ以上のパケットが送信局に入力されないようにクロックレートを設定することも好ましい。これにより、タイムスタンプ値と該当するパケットの対応が１対１となることを保証することができる。
また、上述の通信システムの１構成例として、上記送信局が、上記タイムスタンプ値が付与される前の入力パケットをいったん保存し、上記タイムスタンプ・クロックの刻み幅毎に１つのパケットを読み出して出力するリーキーバケット・バッファを備えることも好ましい。これにより、タイムスタンプ・クロックの刻み幅の時間内に複数のパケットが送信局に入力されることがあっても、タイムスタンプ値と該当するパケットの対応が１対１となることを保証することができる。
【００１４】
【発明の実施の形態】
［実施の形態の１］
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施の形態となる通信システムの送受信局の構成を示すブロック図である。本発明の通信システムは、有線又は無線によって接続された送信局と受信局とから構成され、送信局と受信局間でパケット単位でデータ伝送を行う。
【００１５】
図１の送受信局は、タイムスタンプ・クロック生成回路１と、タイムスタンプ付与回路２と、送信バッファ３と、パケット入力状態管理回路４と、制御情報生成回路５と、パケット送信制御回路６と、誤り検出符号付与回路７と、送信回路８と、受信回路９と、誤り検出回路１０と、タイムスタンプ分離回路１１と、受信バッファ１２と、受信状態管理テーブル１３と、受信状態補正回路１４と、再送要求情報生成回路１５と、出力制御回路１６とを有している。
【００１６】
なお、図１では、送信局と受信局が同一の構成を有するものとしているが、送信局は、少なくともタイムスタンプ・クロック生成回路１と、タイムスタンプ付与回路２と、送信バッファ３と、パケット入力状態管理回路４と、制御情報生成回路５と、パケット送信制御回路６と、誤り検出符号付与回路７と、送信回路８と、受信回路９と、誤り検出回路１０とを備えていればよい。
【００１７】
また、受信局は、少なくともタイムスタンプ・クロック生成回路１と、パケット送信制御回路６と、誤り検出符号付与回路７と、送信回路８と、受信回路９と、誤り検出回路１０と、タイムスタンプ分離回路１１と、受信バッファ１２と、受信状態管理テーブル１３と、受信状態補正回路１４と、再送要求情報生成回路１５と、出力制御回路１６とを備えていればよい。
【００１８】
次に、本実施の形態の通信システムの動作について説明する。図２は、本実施の形態の通信システムによる符号誤り補償及び遅延揺らぎ補償の動作概要を示す図、図３は、後述するタイムスタンプ値ＴＳ、タイムスタンプ値毎のパケット入力の有無を示す入力状態情報、入力状態情報を反転させた制御情報、及びタイムスタンプ値毎のパケット受信の有無を示す受信状態情報を示す図である。
図２は、タイムスタンプ・クロックの刻み幅×４の周期（以下、送信周期と呼ぶ）毎に、パケットのバースト送信並びに制御情報の送信を行う場合を例にとり、本発明を適用した場合の符号誤り補償（再送制御）及び遅延揺らぎ補償の動作概要を示したものである。
【００１９】
図２において、２１ａ〜２６ａは送信局に入力されたパケット、２１ｂ〜２６ｂ，２２ｍ，２３ｍは送信局から受信局へ送信されたパケット、２１ｄ〜２６ｄは送信局から出力されたパケット、３１ｂ〜３５ｂは送信局から受信局へ送信された制御情報、４１ｃ〜４５ｃは受信局から送信局へ送信された再送要求情報を示している。
【００２０】
まず、送信局又は受信局のうちの一方（基準局）のタイムスタンプ・クロック生成回路１は、適当な刻み幅の周期でカウントアップするタイムスタンプ・クロックを生成する。また、通信相手となる他方（従局）のタイムスタンプ・クロック生成回路１は、相手局に同期したタイムスタンプ・クロックを生成する。
これにより、送受信局のタイムスタンプ・クロックが示すタイムスタンプ値ＴＳは、互いに同期しながらカウントアップする。
【００２１】
図２では、横軸が時間を示し、送信局のタイムスタンプ値ＴＳ＝１，２，３・・・・を時間軸と共に示している。
また、受信局では、出力制御のために、図２のように現在時刻（タイムスタンプ値ＴＳ）を所定の付加遅延時間だけシフトさせた第２の時刻を管理している。
なお、パケット２１ａ〜２６ａ，２１ｂ〜２６ｂ，２２ｍ，２３ｍ，２１ｄ〜２６ｄを示す四角内の数字は、送信局において付与されたタイムスタンプ値ＴＳを示している。また、図３において、○で示したビットは、その時点で新たに「０」から「１」に更新された状態を示す。
【００２２】
送信局のタイムスタンプ付与回路２は、外部から送信局にパケットが入力されたとき、タイムスタンプ・クロックが示すタイムスタンプ値ＴＳを入力パケットに付与する。例えば、タイムスタンプ値ＴＳ＝３のとき送信局に入力されたパケット２１ａには、タイムスタンプ値ＴＳ＝３が付与される。
【００２３】
そして、タイムスタンプ値ＴＳが付与されたパケットは、送信バッファ３にいったん格納される。
一方、パケット入力状態管理回路４は、タイムスタンプ値ＴＳ毎にパケット入力の有無を記録管理する。
【００２４】
図２の例では、タイムスタンプ値ＴＳ＝３，７，１０，１２，１７，１９でパケット入力があるので、パケット入力有りの状態を「１」、パケット入力無しの状態を「０」で記録するとすれば、パケット入力状態管理回路４に記録される入力状態情報は、図３（ｂ）に示すように、タイムスタンプ値ＴＳ＝１の場合から順番に「００１０００１００１０１００００１０１０・・・」となる。
【００２５】
続いて、制御情報生成回路５は、パケット入力状態管理回路４によって記録管理されている入力状態情報を基に、タイムスタンプ値ＴＳ毎のパケットの入力状況を示す制御情報を生成する。
本実施の形態では、受信局に送信する制御情報としてビットマップを用いている。制御情報生成回路５は、送信周期分の入力状態情報の各ビットを反転して制御情報を生成することを送信周期毎に行う。
【００２６】
タイムスタンプ値ＴＳ＝１〜４における入力状態情報は、「００１０」なので、このときの制御情報３１ａは、図３（ｃ）のように「１１０１」となる。
次に、パケット送信制御回路６は、送信周期が経過した時点、すなわちタイムスタンプ値ＴＳ＝４となった時点で、タイムスタンプ値ＴＳ＝１〜４の間に入力されたパケットの送信を送信バッファ３に指示する。これにより、送信バッファ３はパケット２１ａを出力する。
【００２７】
誤り検出符号付与回路７は、送信バッファ３から入力されたパケット２１ａに誤り検出符号を付与し、誤り検出符号を付与したパケット２１ｂを送信回路８に出力する。送信回路８は、誤り検出符号付与回路７から入力されたパケット２１ｂを受信局へ送信する。
【００２８】
また、誤り検出符号付与回路７は、制御情報生成回路５から送信周期毎に入力される制御情報３１ａに誤り検出符号を付与し、誤り検出符号を付与した制御情報３１ｂを送信回路８に出力する。送信回路８は、誤り検出符号付与回路７から入力された制御情報３１ｂを受信局へ送信する。
こうして、送信局は、送信周期毎に（ここでは、タイムスタンプ値ＴＳ＝４となった時点）、現送信周期の時間内に入力されたパケットを送信し、これに続けて、同送信周期に関するパケットの制御情報を送信する。
【００２９】
次に、受信局の受信回路９は、送信局から送信されたパケット２１ｂと制御情報３１ｂとを受信する。
誤り検出回路１０は、受信したパケット２１ｂと制御情報３１ｂの符号誤りの有無を誤り検出符号により判定する。誤り検出回路１０は、符号誤りを検出したパケット２１ｂ又は制御情報３１ｂについては、これを廃棄する。
【００３０】
符号誤りを検出しなかった場合、誤り検出回路１０は、パケット２１ｂから誤り検出符号を除去したパケットをタイムスタンプ分離回路１１へ出力し、制御情報３１ｂから誤り検出符号を除去した情報を受信状態補正回路１４へ出力する。
タイムスタンプ分離回路１１は、入力されたパケットからタイムスタンプ値ＴＳを取り出し、このタイムスタンプ値ＴＳを受信状態管理テーブル１３へ出力すると共に、タイムスタンプ値ＴＳを除去したパケット２１ｄを受信バッファ１２へ出力する。
【００３１】
タイムスタンプ分離回路１１からのパケットは、受信バッファ１２にいったん格納され、保存される。
受信状態管理テーブル１３は、タイムスタンプ分離回路１１から入力されたタイムスタンプ値ＴＳに基づいて、タイムスタンプ値ＴＳ毎にパケット受信の有無を記録管理する。
【００３２】
ここでは、タイムスタンプ値ＴＳ＝３が付与されたパケット２１ｂを受信したので、パケット受信有りの状態を「１」、パケット受信無しの状態を「０」で記録するとすれば、受信状態管理テーブル１３に記録される、タイムスタンプ値ＴＳ＝１〜４に関する受信状態情報は、図３（ｄ）に示すように「００▲１▼０」となり、ＴＳ＝３の受信状態が「０」から「１」に更新される。
【００３３】
次に、受信状態補正回路１４は、誤り検出回路１０から入力された制御情報と受信状態管理テーブル１３に記録された受信状態情報とを対応するタイムスタンプ値毎に論理和演算し、この論理和演算の結果を新たな受信状態情報とすることにより、受信状態情報を補正する。
ここでは、タイムスタンプ値ＴＳ＝１〜４に関する補正前の受信状態情報が「「００１０」で、受信した制御情報が「１１０１」なので、これらを対応するタイムスタンプ値毎に論理和演算した結果は、図３（ｅ）に示すように「▲１▼▲１▼１▲１▼」となり、ＴＳ＝１，２及び４の受信状態が「０」から「１」に更新される。
【００３４】
再送要求情報生成回路１５は、受信状態管理テーブル１３の受信状態情報を補正後の所定のタイミングで照会し、この受信状態情報に基づいて、送信局にパケットの再送を要求する再送要求情報を生成する。
上述のように、タイムスタンプ値ＴＳ＝１〜４に関する受信状態情報が「１１１１」、すなわちタイムスタンプ値ＴＳ＝１〜４の全ての時点においてパケットを受信したことを示しているので、このとき生成される再送要求情報は、再送要求無しを示している（図２では、「Ｎｏｎ」と表記）。
【００３５】
なお、受信状態補正回路１４により受信状態情報を補正する目的は、送信局側でパケット入力のなかったタイムスタンプ値ＴＳについて、その受信状態情報をパケット受信があったことを示す値に変更し、このタイムスタンプ値ＴＳを有するパケットの再送要求を行わないように調整することである。
【００３６】
例えば、上述の論理和演算を行わない場合、タイムスタンプ値ＴＳ＝１に関する受信状態情報は「０」となり、タイムスタンプ値ＴＳ＝１を有するパケットの再送要求を行うことになる。しかし、タイムスタンプ値ＴＳ＝１のパケットは存在しないので、このパケットの再送要求を行わないように受信状態情報を補正する。こうして、受信状態情報と制御情報の論理和演算を行うことにより、送信局へのパケット入力が行われ、かつ自局において未受信の場合のみ、受信状態情報が「０」となる。
【００３７】
誤り検出符号付与回路７は、再送要求情報生成回路１５から入力された再送要求情報に誤り検出符号を付与し、誤り検出符号を付与した再送要求情報４１ｃを送信回路８に出力する。送信回路８は、誤り検出符号付与回路７から入力された再送要求情報４１ｃを送信局へ送信する。
【００３８】
次に、送信局においてタイムスタンプ値ＴＳ＝５〜８に関する入力状態情報は、「００１０」なので、このときの制御情報３２ａは、図３（ｃ）のように「１１０１」となる。
パケット送信制御回路６は、タイムスタンプ値ＴＳ＝４から送信周期が経過した時点、すなわちタイムスタンプ値ＴＳ＝８となった時点で、タイムスタンプ値ＴＳ＝５〜８の間に入力されたパケットの送信を送信バッファ３に指示する。
【００３９】
これにより、パケット２２ａに誤り検出符号が付与されたパケット２２ｂが受信局へ送信され、続いて制御情報３２ａに誤り検出符号が付与された制御情報３２ｂが受信局へ送信される。
図２の例では、パケット２２ｂの送信時に符号誤りが発生する。よって、受信局の誤り検出回路１０は、受信したパケット２２ｂを廃棄する。
【００４０】
また、パケット２２ｂに符号誤りが発生したことにより、タイムスタンプ値ＴＳ＝５〜８の何れの時点においてもパケットを受信しなかったことになるので、受信局の受信状態管理テーブル１３に記録される、タイムスタンプ値ＴＳ＝５〜８に関する受信状態情報は、図３（ｆ）に示すように「００００」となる。
タイムスタンプ値ＴＳ＝５〜８に関する補正前の受信状態情報が「００００」で、受信した制御情報が「１１０１」なので、受信状態補正回路１４による論理和演算の結果、補正された受信状態情報は、図３（ｇ）に示すように「▲１▼▲１▼０▲１▼」となり、ＴＳ＝５，６及び８の受信状態が「０」から「１」に更新される。
【００４１】
したがって、ここではタイムスタンプ値ＴＳ＝７に対応する受信状態情報が「０」となる。受信局の再送要求情報生成回路１５は、補正後の受信状態情報が「・・・１１０１」なので、タイムスタンプ値ＴＳ＝７のパケットの再送を要求する再送要求情報を生成する。
受信局の誤り検出符号付与回路７は、再送要求情報に誤り検出符号を付与し、誤り検出符号を付与した再送要求情報４２ｃを送信回路８に出力する。送信回路８は、再送要求情報４２ｃを送信局へ送信する。
【００４２】
送信局の受信回路９は、再送要求情報４２ｃを受信する。誤り検出回路１０は、受信した再送要求情報４２ｃの符号誤りを検出しなかった場合、再送要求情報４２ｃから誤り検出符号を除去した情報をパケット送信制御回路６へ出力する。
【００４３】
送信局のパケット送信制御回路６は、再送要求情報が入力された場合、タイムスタンプ値ＴＳ＝８から送信周期が経過した時点、すなわちタイムスタンプ値ＴＳ＝１２となった時点で、再送要求情報が要求するタイムスタンプ値ＴＳ＝７のパケットの再送を送信バッファ３に指示する。
こうして、タイムスタンプ値ＴＳ＝７のパケットが送信バッファ３から出力され、このパケットに誤り検出符号が付与されたパケット２２ｍが受信局へ送信される。
【００４４】
続いて、パケット送信制御回路６は、タイムスタンプ値ＴＳ＝９〜１２の間に入力されたパケットの送信を送信バッファ３に指示する。
これにより、パケット２３ａ，２４ａに誤り検出符号が付与されたパケット２３ｂ，２４ｂが受信局へ送信され、続いて制御情報３３ａに誤り検出符号が付与された制御情報３３ｂが受信局へ送信される。
【００４５】
なお、送信局においてタイムスタンプ値ＴＳ＝９〜１２に関する入力状態情報は、「０１０１」なので、このときの制御情報３３ａは、図３（ｃ）のように「１０１０」となる。
図２の例では、パケット２３ｂの送信時に符号誤りが発生する。よって、受信局の誤り検出回路１０は、受信したパケット２３ｂを廃棄するが、パケット２２ｍ及び２４ｂは正常に受信されている。
【００４６】
パケット２３ｂに符号誤りが発生したことにより、受信局の受信状態管理テーブル１３に記録される、タイムスタンプ値ＴＳ＝９〜１２に関する受信状態情報は、図３（ｈ）に示すように「０００１」となる。また、ＴＳ＝５〜８に関しては、パケット２２ｍの受信により「１１▲１▼１」となる。
タイムスタンプ値ＴＳ＝９〜１２に関する補正前の受信状態情報が「０００１」で、受信した制御情報が「１０１０」なので、補正後の受信状態情報は、図３（ｉ）に示すように「・・・▲１▼０▲１▼１」となる。
【００４７】
受信局の再送要求情報生成回路１５は、補正後の受信状態情報が「・・・１０１１」なので、タイムスタンプ値ＴＳ＝１０のパケットの再送を要求する再送要求情報を生成する。この再送要求情報に誤り検出符号が付与された再送要求情報４３ｃが送信局へ送信される。
【００４８】
送信局の誤り検出回路１０は、受信した再送要求情報４３ｃの符号誤りを検出しなかった場合、再送要求情報４３ｃから誤り検出符号を除去した情報をパケット送信制御回路６へ出力する。
送信局のパケット送信制御回路６は、再送要求情報が入力された場合、タイムスタンプ値ＴＳ＝１２から送信周期が経過した時点、すなわちタイムスタンプ値ＴＳ＝１６となった時点で、再送要求情報が要求するタイムスタンプ値ＴＳ＝１０のパケットの再送を送信バッファ３に指示する。こうして、タイムスタンプ値ＴＳ＝１０のパケット２３ｍが受信局へ送信される。
【００４９】
続いて、パケット送信制御回路６は、タイムスタンプ値ＴＳ＝１３〜１６の間に入力されたパケットの送信を送信バッファ３に指示する。ここでは、パケット入力がないので、制御情報３４ｂのみが受信局へ送信される。
【００５０】
次に、送信局においてタイムスタンプ値ＴＳ＝１７〜２０に関する入力状態情報は、「１０１０」なので、このときの制御情報３５ａは、図３（ｃ）のように「０１０１」となる。
パケット送信制御回路６は、タイムスタンプ値ＴＳ＝１６から送信周期が経過した時点、すなわちタイムスタンプ値ＴＳ＝２０となった時点で、タイムスタンプ値ＴＳ＝１７〜２０の間に入力されたパケットの送信を送信バッファ３に指示する。
【００５１】
これにより、パケット２５ａ，２６ａに誤り検出符号が付与されたパケット２５ｂ，２６ｂが受信局へ送信され、続いて制御情報３５ａに誤り検出符号が付与された制御情報３５ｂが受信局へ送信される。
ここでは、符号誤りが発生しないので、受信局の受信状態管理テーブル１３に記録される、タイムスタンプ値ＴＳ＝１７〜２０に関する受信状態情報は、図３（ｌ）に示すように「▲１▼０▲１▼０」となる。
【００５２】
タイムスタンプ値ＴＳ＝１７〜２０に関する補正前の受信状態情報が「１０１０」で、受信した制御情報が「０１０１」なので、補正後の受信状態情報は、図３（ｍ）に示すように「・・・１▲１▼１▲１▼」となる。これにより、再送要求無しを示す再送要求情報４５ｃが送信局へ送信される。
【００５３】
以上の動作により、受信局の受信バッファ１２には、タイムスタンプ値ＴＳ＝３，７，１２，１０，１７，１９のパケットが順次格納されていくが、タイムスタンプ値ＴＳ＝１０のパケットに符号誤りが発生したために、ＴＳ＝１０のパケット２３ｍよりもＴＳ＝１２のパケット２４ｂの方が先に受信される状況が発生する。また、パケットの再送が行われない場合であっても、例えばＴＳ＝１７のパケット２５ｂとＴＳ＝１９のパケット２６ｂでは、送信局への入力から送信までの待ち時間が異なっていたりする。
【００５４】
このような遅延時間の大幅な揺らぎを補償するために、受信局の出力制御回路１６は、受信バッファ１２に格納された受信パケットと、この受信パケットから分離されたタイムスタンプ値ＴＳとの対応関係を記録すると共に、タイムスタンプ・クロックが示す現在時刻を所定の付加遅延時間だけシフトさせた第２の時刻を管理し、この第２の時刻と一致するタイムスタンプ値のパケットが到着していた場合、このパケットの出力を受信バッファ１２に指示する。
【００５５】
具体的には、第２の時刻が３となったとき、タイムスタンプ値ＴＳ＝３のパケット２１ｄの出力を受信バッファ１２に指示する。同様に、第２の時刻が７，１０，１２，１７，１９となったとき、タイムスタンプ値ＴＳ＝７，１０，１２，１７，１９のパケット２２ｄ，２３ｄ，２４ｄ，２５ｄ，２６ｄの出力を受信バッファ１２に指示する。
【００５６】
これにより、パケット２３ｍとパケット２４ｂの順番の逆転は、パケット２３ｄとパケット２４ｄのように修正されると共に、パケット２１ｄ，２２ｄ，２３ｄ，２４ｄ，２５ｄ，２６ｄの各出力タイミングは、パケット２１ａ，２２ａ，２３ａ，２４ａ，２５ａ，２６ａの各入力タイミングから付加遅延時間分だけずれたタイミングとなる。
【００５７】
図４は、送信局から送出されるパケット２１ｂ，２２ｂ，２３ｂ，２４ｂ，２５ｂ，２６ｂ，２２ｍ，２３ｍの構造を示す図である。図４において、ＴＳはタイムスタンプ値、Ｄはユーザデータを収容したパケット、Ｃは誤り検出符号を表す。
送信局から送出されるパケットには、従来、タイムスタンプ値ＴＳに加えてシーケンス番号が必要であったが、本発明ではシーケンス番号は不要である。
【００５８】
その結果、シーケンス番号分の伝送容量の実質的な増加が可能であり、従来の通信システムと比べて伝送効率を向上させることができる。
なお、本発明では、タイムスタンプ値毎のパケットの入力状況を示す制御情報を受信局へ送信する必要があるが、シーケンス番号が１パケット当たり１０〜１６ビット程度の長さになるのに対し、本発明の制御情報は、１タイムスタンプ当たり１ビットである。したがって、制御情報の伝送によるオーバーヘッドが増えたとしても、全体としては従来の通信システムよりもオーバーヘッドを減らすことができる。
【００５９】
なお、本実施の形態では、送信局側におけるパケットの入力状況を受信局側へ通知する制御情報として、送信周期毎に該当する送信周期内の入力状態をビットマップを用いて通知する例を示したが、受信局側において、制御情報の内容がどのタイムスタンプ値に関するものであるかを含め、送信局の入力状況が認識できるものであれば、如何なる形式の制御情報を用いても構わないことは言うまでもない。
【００６０】
［実施の形態の２］
本発明を実施する際には、タイムスタンプ値ＴＳとパケットの対応を１対１に限定できる必要がある。例えば、図２において、符号誤りが発生したタイムスタンプ値ＴＳ＝７，１０のパケットと同じタイムスタンプ値を有するパケットが他に存在しないため、ＴＳ＝７，１０のパケットの再送を要求すれば、送信局側では再送すべきパケットを特定することができる。
【００６１】
タイムスタンプ値ＴＳとパケットの対応が１対１であることを保証する簡易な方法としては、タイムスタンプ・クロックの刻み幅（周期）を、パケットが送信局に入力される最小時間間隔以下に設定すればよい。
これにより、同一タイムスタンプ値の間に複数のパケットが送信局に入力されることがなくなるので、タイムスタンプ値ＴＳとパケットの対応を１対１に限定することができる。
【００６２】
［実施の形態の３］
しかし、一般にはタイムスタンプ・クロックの刻み幅をあまり細かく設定はしないので、同一タイムスタンプ値ＴＳの間に複数のパケットが送信局に入力される可能性がある。
そこで、本実施の形態では、図１に示した送信局のタイムスタンプ付与回路２の前に、送信局に入力されたパケットをいったん保存し、タイムスタンプ・クロックの周期毎に１つのパケットを読み出してタイムスタンプ付与回路２へ出力するリーキーバケット・バッファを設ける。
【００６３】
図５は、本実施の形態のリーキーバケット・バッファによるタイムスタンプ値の補正の動作例を示す図である。図５において、５１ａ〜５６ａは送信局に入力されたパケット、５１ｂ〜５６ｂはリーキーバケット・バッファから出力されタイムスタンプ値ＴＳが付与されたパケットを示す。
タイムスタンプ値ＴＳ＝１，２，３・・・・の刻み幅は、パケット５２ａと５３ａ、及びパケット５４ａと５５ａのように、パケットの入力の最小間隔より大きく設定されているため、同一のタイムスタンプ時刻に複数のパケットが入力される場合がある。
【００６４】
このような場合、いったん入力されたパケットをリーキーバケット・バッファに収容し、タイムスタンプ・クロックの刻み幅周期で１つずつ出力することにより、パケット５２ｂと５３ｂ、及びパケット５４ｂと５５ｂのように、異なるタイムスタンプ値ＴＳが付与されて出力される。これにより、タイムスタンプ値ＴＳの刻み幅を大きめに設定することが可能となり、タイムスタンプ値ＴＳのビット長を短く設定し、オーバーヘッドを軽くすることができる。
【００６５】
なお、以上述べた実施の形態は、全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。したがって、本発明の範囲は、特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【００６６】
【発明の効果】
本発明によれば、パケットの連続性を確認するためのシーケンス番号を省略しながらも、タイムスタンプ値のみをパケットに付与することにより、再送制御と遅延揺らぎ補償を両立することが可能であり、その結果、シーケンス番号分の伝送容量の実質的な増加が実現可能となり、伝送効率を向上させることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態となる通信システムの送受信局の構成を示すブロック図である。
【図２】  図１の通信システムによる符号誤り補償及び遅延揺らぎ補償の動作概要を示す図である。
【図３】  タイムスタンプ値、入力状態情報、制御情報及び受信状態情報を示す図である。
【図４】  図１の通信システムの送信局から送出されるパケットの構造を示す図である。
【図５】  本発明の他の実施の形態におけるリーキーバケット・バッファによるタイムスタンプ値の補正の動作例を示す図である。
【図６】  シーケンス番号を用いた従来の符号誤り補償の動作概要を示す図である。
【図７】  タイムスタンプを用いた従来の遅延揺らぎ補償の動作概要を示す図である。
【図８】  従来の通信システムの送受信局の構成を示すブロック図である。
【図９】  図８に示す従来の通信システムの送信局から送出されるパケットの構造を示す図である。
【符号の説明】
１…タイムスタンプ・クロック生成回路、２…タイムスタンプ付与回路、３…送信バッファ、４…パケット入力状態管理回路、５…制御情報生成回路、６…パケット送信制御回路、７…誤り検出符号付与回路、８…送信回路、９…受信回路、１０…誤り検出回路、１１…タイムスタンプ分離回路、１２…受信バッファ、１３…受信状態管理テーブル、１４…受信状態補正回路、１５…再送要求情報生成回路、１６…出力制御回路、２１ａ〜２６ａ，２１ｂ〜２６ｂ，２２ｍ，２３ｍ，２１ｄ〜２６ｄ、５１ａ〜５６ａ、５１ｂ〜５６ｂ…パケット、３１ｂ〜３５ｂ…制御情報、４１ｃ〜４５ｃ…再送要求情報、ＴＳ…タイムスタンプ値。
【図１】
0004271787.tif 000002
【図２】
0004271787.tif 000003
【図３】
0004271787.tif 000004
【図４】
0004271787.tif 000005
【図５】
0004271787.tif 000006
【図６】
0004271787.tif 000007
【図７】
0004271787.tif 000008
【図８】
0004271787.tif 000009
【図９】
0004271787.tif 000010