(57)【要約】【課題】リアルタイムストリームのジッタを最小すると共に、リアルタイムストリームの送信に影響を与えることなく、非リアルタイムストリームを効率的に送信できるようにする。【解決手段】リアルタイムストリームについては、各リアルタイムストリームのパケットの送出終了時間を算出し、送出時間が重複しているリアルタイムストリームのパケットの中で、送出終了時間の早い順に、送出順を決める。非リアルタイムストリームについては、非リアルタイムストリームのパケットの送出終了時間と、複数のリアルタイムストリームのパケットのスケジューリング時間とを比較し、非リアルタイムストリームのパケットの送出終了時間の方が、複数のリアルタイムストリームのパケットのスケジューリング時間の何れよりも早いときに、非リアルタイムストリームのパケットを送信する。【選択図】        図２
2004228777.tif 000002
【特許請求の範囲】
【請求項１】
複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信装置であって、
上記複数のリアルタイムデータを構成する第１のパケット及び上記非リアルタイムデータを構成する第２のパケットをそれぞれ保存する記憶手段と、
上記記憶手段に保存されている上記第１のパケットをそれぞれ所定の間隔で送信すると共に、上記第１のパケット間において送出時間が重なるときには、送出終了時刻が最も早い上記第１のパケットを送出し、第１のパケットの送出間隔が上記第２のパケットの送出時間より長い場合には上記第２のパケットを送信する送信手段を備えるデータ送信装置。
【請求項２】
上記送信手段は、上記第１のパケットのにおける送出間隔と上記第１のパケットの送出時間とから上記送出終了時刻を算出する請求項１に記載のデータ送信装置。
【請求項３】
上記送信手段は、上記第１のパケットが所定数送信される間において上記第２のパケットが送信されない場合には、上記第２のパケットの送出時間に１より小さな正の係数を乗じた時間を上記第２のパケットの新たな送出時間とみなす請求項１に記載のデータ送信装置。
【請求項４】
複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信方法であって、
上記複数のリアルタイムデータを構成する第１のパケット及び上記非リアルタイムデータを構成する第２のパケットをそれぞれ保存する第１のステップと、
上記第１のステップにおいて保存された上記第１のパケットをそれぞれ所定の間隔で送信すると共に、上記第１のパケット間において送出時間が重なるときには送出終了時刻が最も早い上記第１のパケットを送出し、上記第１のパケットの送出間隔が上記第２のパケットの送出時間より長い場合には、上記第２のパケットを送信する第２のステップとを有するデータ送信方法。
【請求項５】
上記第２のステップでは、上記第１のパケットが所定数送信される間において上記第２のパケットが送信されない場合には、上記第２のパケットの送出時間に１より小さな正の係数を乗じた時間を上記第２のパケットの新たな送出時間とみなす請求項４に記載のデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のリアルタイムデータと非リアルタイムデータを１つの伝送路に送出するようにしたデータ送信装置及び方法に関する。
【０００２】
【従来の技術】
複数のリアルタイムストリームを１つの伝送路上に送出して伝送する場合、各ストリームの伝送レートを維持できるように、各リアルタイムストリームのパケットの送出時間を略一定に割り付けることが行われている。すなわち、各ストリーム毎に、所定のインターバル時間が設定される。各ストリームでインターバル時間が計測され、インターバル時間が経過したら、各ストリームのパケットが送出される。このように、所定のインターバル時間毎に、各ストリームのパケットが送出されると、各ストリームのパケット間隔が略一定となり、一定の伝送レートが維持できる。
【０００３】
１つの伝送路上では、あるストリームのパケットを送出している間は、他のストリームのパケットを送出することはできない。このため、複数のストリームで同時にパケットを伝送することになるときには、調停を行う必要がある。調停により決められたストリームのみ、パケットの送信が許可され、他のストリームのパケットの送信は待機される。
【０００４】
したがって、上述のように、各ストリームの伝送レートを維持できるように、各リアルタイムストリームのパケットの送出時間を略一定に割り付けたとしても、実際にそのストリームのパケットを伝送される時刻には遅れ（ジッタ）が生じる。このようなジッタは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＭＰＥＧ２のような画像データを送出する際には、画面の乱れとなって現れる。
【０００５】
複数のストリーム間で同時にパケットの送出が行われるようになった場合の調停には、従来、ラウンドロビンが用いられている。
【０００６】
図１２は、複数のリアルタイムストリーム及び非リアルタイムストリームを１つの伝送路上に送出するための従来のストリーム送出装置の構成を示すものである。
【０００７】
図１２において、バッファメモリ１０１、１０２、１０３、１０４はＦＩＦＯで（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）あり、バッファメモリ１０１、１０２、１０３、１０４には、各ストリームのパケットが順に蓄積される。バッファメモリ１０１、１０２、１０３、１０４に各ストリームのパケットが蓄積されると、バッファメモリ１０１、１０２、１０３、１０４からラウンドロビン１０５に送信要求が送られる。ラウンドロビン１０５は、複数のバッファメモリ１０１、１０２、１０３、１０４からのパケットの送出時間が重なるときには、送信要求を調停する。
【０００８】
図１３は、ラウンドロビンによる調停を示すものである。図１３において、ラウンドロビン処理がリセットされ（ステップＳ１０１）、最初にバッファメモリに入ったパケットが送出される（ステップＳ１０２）。
【０００９】
バッファメモリにパケットがあるかどうかが判断され（ステップＳ１０３）、パケットがあれば、パケットを既に送信したストリームのバッファメモリは送出禁止とし、パケットを未だ送信していないストリームのバッファメモリに送出権を与える（ステップＳ１０４）。全てのバッファメモリのパケットの送出が終了したかどうかが判断され（ステップＳ１０５）、全てのバッファメモリのパケットの送出が終了するまで、ステップＳ１０３〜Ｓ１０５が繰り返される。
【００１０】
なお、ＭＰＥＧストリームのようなリアルタイムストリーム及び非リアルタイムストリームを１つの伝送路で送信する際に、パケットの衝突を回避するための従来技術としては、特許文献１に示すようなものが知られている。
【００１１】
【特許文献１】
特開２００１−８６４９９号公報
【００１２】
【発明が解決しようとする課題】
ところが、ラウンドロビンによる調停では、各ストリームに平等に送出権が与えられて調停されるか、又は、各ストリームが重み付けされ、優先順位が付けられて調停される。このため、あるストリームのパケットの送出中に他のストリームのパケットの送出が重なってしまった場合や、あるストリームは帯域が大きく他のストリームは帯域が小さい場合などでも、平等に送出権が与えられ、ジッタの影響が生じてしまうという不具合がある。
【００１３】
更に、複数のリアルタイムストリームと非リアルタイムストリームを１つの伝送路上に伝送する場合がある。非リアルタイムストリームはパケットの送出が送れても大きな問題とならないので、複数のリアルタイムストリームと非リアルタイムストリームを１つの伝送路上に伝送する場合には、リアルタイムストリームの伝送に支障が無いように、リアルタイムストリームのパケットを非リアルタイムストリームのパケットより優先させて伝送することが望まれる。しかしながら、ラウンドロビンによる調停では、非リアルタイムストリームにもリアルタイムストリームにも平等に送出権が与えられる。
【００１４】
したがって、この発明の目的は、複数のリアルタイムストリームと非リアルタイムストリームとを１つの伝送路上に送出する場合に、リアルタイムストリームのジッタを最小にすると共に、リアルタイムストリームの送信に影響を与えること無く、非リアルタイムストリームを効率的に送信することができるデータ送信装置及び方法を提供することにある。
【００１５】
【課題を解決するための手段】
この発明は、複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信装置であって、
複数のリアルタイムデータを構成する第１のパケット及び非リアルタイムデータを構成する第２のパケットをそれぞれ保存する記憶手段と、
記憶手段に保存されている第１のパケットをそれぞれ所定の間隔で送信すると共に、第１のパケット間において送出時間が重なるときには、送出終了時刻が最も早い第１のパケットを送出し、第１のパケットの送出間隔が第２のパケットの送出時間より長い場合には第２のパケットを送信する送信手段を備えるデータ送信装置である。
【００１６】
この発明は、複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信方法であって、
複数のリアルタイムデータを構成する第１のパケット及び非リアルタイムデータを構成する第２のパケットをそれぞれ保存する第１のステップと、
第１のステップにおいて保存された第１のパケットをそれぞれ所定の間隔で送信すると共に、第１のパケット間において送出時間が重なるときには送出終了時刻が最も早い第１のパケットを送出し、第１のパケットの送出間隔が第２のパケットの送出時間より長い場合には、第２のパケットを送信する第２のステップとを有するデータ送信方法である。
【００１７】
複数のリアルタイムストリームと、非リアルタイムストリームとを１つの伝送路上で送信する際に、リアルタイムストリームは、所定のインターバル時間毎に送信させ、非リアルタイムストリームは、リアルタイムストリームの送出に影響が無いように、送出させる。
【００１８】
複数のストリームでパケットの送出時刻が重なる場合には、リアルタイムストリームについては、各リアルタイムストリームのジッタが最小となるように、送出順を決めるようにしている。非リアルタイムストリームについては、リアルタイムストリームに影響が無く、且つ、遅延時間が最小となるように、送出させるようにしている。
【００１９】
すなわち、リアルタイムストリームについては、各リアルタイムストリームのパケットのインターバル時間と、各リアルタイムストリームのパケットの送出時間とから、各リアルタイムストリームのパケットの送出終了時間を算出し、送出時間が重複しているリアルタイムストリームのパケットの中で、送出終了時間の早い順に、送出順を決める。
【００２０】
非リアルタイムストリームについては、非リアルタイムストリームのパケットの送出終了時間と、複数のリアルタイムストリームのパケットのスケジューリング時間とを比較し、非リアルタイムストリームのパケットの送出終了時間の方が、複数のリアルタイムストリームのパケットのスケジューリング時間の何れよりも早いときに、非リアルタイムストリームのパケットを送信する。
【００２１】
これにより、リアルタイムストリームのジッタを少なくすることができると共に、非リアルタイムストリームを、リアルタイムストリームに影響を与えず、ベストエフォートで送信できる。
【００２２】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。図１は、この発明の実施の形態を示すものである。
【００２３】
図１において、パケット化ブロック１１にはデータＲＤ１が供給され、パケット化ブロック１２にはデータＲＤ２が供給され、パケット化ブロック１３にはデータＲＤ３が供給される。パケット化ブロック１１、１２、１３は、リアルタイム系のデータを処理するパケット化ブロックである。データＲＤ１、ＲＤ２、ＲＤ３は、具体的には、動画データや音声データなど、時間情報が重要となるデータである。
【００２４】
パケット化ブロック１１、１２、１３は、それぞれ、データＲＤ１、ＲＤ２、ＲＤ３をネットワーク上に伝送できるようにパケット化する処理を行っている。
【００２５】
パケット化ブロック１１からは、データＲＤ１をパケット化して形成されたリアルタイムストリームＲＳ１のパケットが出力され、パケット化ブロック１２からは、データＲＤ２をパケット化して形成されたリアルタイムストリームＲＳ２のパケットが出力され、パケット化ブロック１３からはデータＲＤ３をパケット化して形成されたリアルタイムストリームＲＳ３のパケットが出力される。パケット化ブロック１１、１２、１３は、具体的には、ＭＰＥＧやＭＰＥＧ２のエンコーダであり、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３は、例えば、ＭＰＥＧやＭＰＥＧ２のストリームである。勿論、ＭＰＥＧやＭＰＥＧ２のストリームに限定されるものではない。
【００２６】
パケット化ブロック１４には、データＮＤ１が供給される。パケット化ブロック１４は、非リアルタイム系のデータを処理するパケット化ブロックである。データＮＤ１は、具体的には、テキストデータなど、時間情報が大きな意味を持たないデータである。パケット化ブロック１４は、データＮＤ１をネットワークで伝送できるようにパケット化する処理を行っている。パケット化ブロック１４からは、データＮＤ１をパケット化して形成された非リアルタイムストリームＮＳ１のパケットが出力される。
【００２７】
パケット化ブロック１１、１２、１３からのリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケット、及び、パケット化ブロック１４からの非リアルタイムストリームＮＳ１のパケットは、ストリーム送出部１５に送られる。
【００２８】
ストリーム送出部１５は、複数のリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３及び非リアルタイムストリームＮＤ１を、１つの伝送路上に送るための処理を行っている。
【００２９】
また、ストリーム送出部１５は、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットが所定のインターバル時間で送出されるように、パケットの送出時間の割り当てを行う。そして、複数のストリームでパケットの送出時間が重なる場合には、調停を行う。
【００３０】
このとき、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットについては、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットのジッタが最小となるように、パケットの送出順を決定する。また、非リアルタイムストリームＮＳ１については、他のリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットの送出に影響が無いと共に、非リアルタイムパケットＮＳ１の遅延が大きくならないように、ベストエフォートで送出させる。ストリーム送出部１５の構成については、後に詳述する。
【００３１】
ストリーム送出部１５からは、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３及び非リアルタイムストリームＮＳ１が１つの伝送路で出力される。このストリーム送出部１５からのストリームは、通信プロトコルブロック１６に送られる。
【００３２】
通信プロトコルブロック１６は、ストリームをネットワークで転送できるように、プロトコル処理をするものである。通信プロトコルは、例えば、インターネットで使われているＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。なお、リアルタイムのストリームでは、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａ  Ｐｒｏｔｏｃｏｌ）が使われる。通信プロトコルは、これに限定されるものではない。
【００３３】
通信プロトコルブロック１６でプロトコル処理されたパケットは、物理層ブロック１７に送られ、物理層ブロック１７によりネットワーク１８上に送出される。物理層ブロックとしては、有線のインターフェースの他、無線インターフェースを用いることができる。無線インターフェースとしては、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｂやＩＥＥＥ８０２．１１ａが知られている。ネットワーク１８は、例えばインターネットである。勿論、情報機器との間や、情報機器と映像機器との間を繋ぐ専用のネットワークであっても良い。
【００３４】
以上のように、図１に示す実施の形態では、ストリーム送出部１５が設けられる。ストリーム送出部１５により、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３及び非リアルタイムストリームＮＳ１が、１つの伝送路上に送出される。
【００３５】
また、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットが一定間隔で送出されるように、各リアルタイムストリームの送出時間の割り当てを行っている。また、複数のストリームでパケットの送出時刻が重なる場合には、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３については、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のジッタが最小となるように、送出順を決めるようにしている。非リアルタイムストリームＮＳ１については、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３に影響が無く、且つ、遅延時間が最小となるように、ベストエフォートで、送出させるようにしている。このような動作を行うストリーム送出部１５について、以下に詳述する。
【００３６】
図２は、ストリーム送出部１５の構成を示すものである。図２において、バッファメモリ３１、３２、３３は、パケット化ブロック１１、１２、１３からのリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットを一時的に保存するものである。バッファメモリ３１、３２、３３、３４はＦＩＦＯで（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）あり、バッファメモリ３１、３２、３３には、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットが順に蓄積される。
【００３７】
バッファメモリ３１、３２、３３、３４に対して、インターバルカウンタ４１、４２、４３が設けられる。インターバルカウンタ４１、４２、４３は、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットのインターバル時間をカウントしている。
【００３８】
バッファメモリ３１、３２、３３に蓄積されたリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットは、各インターバルカウンタ４１、４２、４３で所定のインターバル時間になったことがカウントされると（以下、この時点をスケジューリング時間と称する）、スケジューラ３５に送信要求が送られスケジューラ３５から送信権が与えられるとそれぞれのバッファメモリ３１、３２、３３から読み出される。
【００３９】
バッファメモリ３４は、非リアルタイムストリームＮＳ１のパケットを一時的に蓄積するものである。バッファメモリ３４はＦＩＦＯであり、バッファメモリ３４には、非リアルタイムストリームＮＳ１のパケットが順に蓄積される。バッファメモリ３４にパケットが蓄積されると、バッファメモリ３４からスケジューラ３５に送信要求が送られる。スケジューラ３５から送信権が与えられるとバッファメモリ３４から読み出される。
【００４０】
図３は、リアルタイムストリームのインターバル時間を説明するものである。例えば、図３Ａに示すように、パケット化ブロック１１からのリアルタイムストリームＲＳ１のパケットＰａ１、Ｐａ２、Ｐａ３、…がバッファメモリ３１に入力されたとする。このリアルタイムストリームＲＳ１のパケットＰａ１、Ｐａ２、Ｐａ３、…は、ストリーム送出部１５のバッファメモリ３１に順に保存され、所定のインターバル時間Ｔ＿ｉｎｔａ毎に送出されることになる（他のストリームの送信が重なっていなければ）。
【００４１】
先ず、バッファメモリ３１にパケットＰａ１が入力されると、インターバルカウンタ４１にインターバル時間Ｔ＿ｉｎｔａに相当する値がセットされる。インターバルカウンタ４１にインターバル時間Ｔ＿ｉｎｔａに相当する値がセットされると同時に、インターバルカウンタ４１のダウンカウントが開始される。インターバルカウンタ４１の値は、時間の経過と共に小さくなり、インターバル時間Ｔ＿ｉｎｔａが経過すると、インターバルカウンタ４１の値は「０」になる。
【００４２】
インターバルカウンタ４１の値が「０」になった時点がスケジューリング時間である。インターバルカウンタ４１の値が「０」になると、スケジューラ３５に送信要求が出力される。この送信要求によりスケジューラ３５からバッファメモリ３１に送出許可が与えられ、バッファメモリ３１からパケットＰａ１が出力される（他のストリームの送信が重なっていなければ）。
【００４３】
バッファメモリ３１からパケットＰａ１が出力されると、バッファメモリ３１に次のパケットＰａ２が残っている場合には、インターバルカウンタ４１に新たにインターバル時間Ｔ＿ｉｎｔａに相当する値がセットされる。
【００４４】
そして、インターバル時間Ｔ＿ｉｎｔａが経過すると、インターバルカウンタ４１の値は「０」になり、インターバルカウンタ４１の値が「０」になると、スケジューラ３５に送信要求が出力され、この送信要求によりスケジューラ３５からバッファメモリ３１に送出許可が与えられ、バッファメモリ３１からパケットＰａ２が出力される（他のストリームの送信が重なっていなければ）。
【００４５】
このように、パケットの送出時間Ｔ＿ｉｎｔａに相当する値をインターバルカウンタ４１にセットし、インターバルカウンタ４１の値が「０」になったら送信要求を出すことにより、パケットの送出間隔が一定に保たれる。
【００４６】
他のリアルタイムストリームＲＳ２、ＲＳ３のバッファメモリ３２、３３についても、リアルタイムストリームＲＳ１のバッファメモリ３１と同様に、各バッファメモリ３２、３３の各インターバルカウンタ４２、４３に、所定のインターバル時間Ｔ＿ｉｎｔｂ、Ｔ＿ｉｎｔｃに相当する値をセットし、各インターバルカウンタ４２、４３の値が「０」になったら送信要求を出すことにより、バッファメモリ３２、３３からのリアルタイムストリームＲＳ１、ＲＳ２のパケットの送出間隔が一定に保たれる。
【００４７】
このように、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットを蓄積するバッファメモリ３１、３２、３３からは、所定のインターバル時間が経過する毎に、送信要求が送られる。非リアルタイムストリームＮＳ１を蓄積するバッファメモリ３４からは、パケットが入力されると、送信要求が送られる。複数のリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３及び非リアルタイムストリームＮＳ１からの送信要求が出されると、送出時間が重なることがある。
【００４８】
スケジューラ３５は、複数のストリームでパケットの送出時間が重なる場合には、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３については、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のジッタが最小となるように、送出順を決めるようにしている。非リアルタイムストリームＮＳ１１については、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３に影響が無く、且つ、遅延時間が最小となるように、ベストエフォートで、送出させるようにしている。
【００４９】
先ず、リアルタイムストリームのスケジューリング処理から説明する。図４に示すように、リアルタイムストリームＲＳ１のパケットＰａ１１のスケジューリング時間がＴ＿ａ０であり（図４Ａ）、リアルタイムストリームＲＳ２のパケットＰｂ１１のスケジューリング時間がＴ＿ｂ０であり（図４Ｂ）、リアルタイムストリームＲＳ３のパケットＰｃ１１のスケジューリング時間がＴ＿ｃ０であったとする。この場合、図４に示すように、リアルタイムストリームＲＳ１のパケットＰａ１１と、リアルタイムストリームＲＳ２のパケットＰｂ１１と、リアルタイムＲＳ３のパケットＰｃ１１の送出時間が重なるので、調停が必要になる。
【００５０】
このように、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のバッファメモリ３１、３２、３３からのパケットＰａ１１、Ｐｂ１１、Ｐｃ１１の送信時間が重なるような場合には、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のジッタが最小となるように、送出順を決めるようにする。
【００５１】
すなわち、リアルタイムストリームＲＳ１のバッファメモリ３１のパケットＰａ１１から先にパケットを送出した場合、リアルタイムストリームＲＳ２のバッファメモリ３２のパケットＰｂ１１から先にパケットを送出した場合、リアルタイムストリームＲＳ３のバッファメモリ３３のパケットＰｃ１１から先にパケットを送出した場合のそれぞれで、他のストリームのパケットに与えるジッタが計算される。そして、各ストリームのパケットのジッタの影響が最も少なくなるような順番で、各ストリームのパケットの送出順が決定される。
【００５２】
図４に示したような場合、パケットの送出順としては、パケットＰａ１１、Ｐｂ１１、Ｐｃ１１の送出順と、パケットＰａ１１、Ｐｃ１１、Ｐｂ１１の送出順と、パケットＰｂ１１、Ｐａ１１、Ｐｃ１１の送出順と、パケットＰｂ１１、Ｐｃ１１、Ｐａ１１の送出順と、パケットＰｃ１１、Ｐａ１１、Ｐｂ１１の送出順と、パケットＰｃ１１、Ｐｂ１１、Ｐａ１１の送出順とがある。この中で、各ストリームのパケットＰａ１１、Ｐｂ１１、Ｐｃ１１について、ジッタの影響が最も少なくなる送出順が決定される。
【００５３】
このように、全ての送出組み合わせについてのジッタ量を比較し、最も小さいものから送出していくことで、他のストリームへのジッタの影響が小さくなるスケジューリングが行える。
【００５４】
しかしながら、全ての送出組み合わせについてのジッタ量を比較し、最も小さいものから送出していくのでは、ストリームの数がＮであった場合には、Ｎの階乗分のジッタ計算が必要となってしまう。
【００５５】
この例では、各ストリームＲＳ１、ＲＳ２、ＲＳ３について、パケットの送信終了時間を計算し、この送出終了時間の早い順に、送信許可を与えるようにしている。
【００５６】
つまり、次に送るパケットは、その前に送ったパケットの送出終了時間に相当する時間遅れが生じる。このことから、次に送るパケットのジッタは、その前に送ったパケットの送出終了時間が遅いほど、大きくなると言える。したがって、送出終了時間の早い順に、スケジューリングすれば、各ストリームＲＳ１、ＲＳ２、ＲＳ３について、ジッタの影響が最も少なくなる。
【００５７】
リアルタイムストリームＲＳ１のパケットＰａ１１の送信終了時間Ｔ＿ａ１は、リアルタイムストリームＲＳ１のパケットＰａ１１の送出時間Ｔｔｒ＿ａ１と、リアルタイムストリームＲＳ１のインターバル時間Ｔ＿ｉｎｔａとの和になる。よって、リアルタイムストリームＲＳ１のパケットＰａ１１の送出終了時間Ｔ＿ａ１は、
Ｔ＿ａ１＝Ｔｔｒ＿ａ１（送出時間）＋Ｔｉｎｔ＿ａ１（インターバル時間）
として表せる。
【００５８】
同様に、リアルタイムストリームＲＳ２のパケットＰｂ１１の送出終了時間Ｔ＿ｂ１は、
Ｔ＿ｂ１＝Ｔｔｒ＿ｂ１（送出時間）＋Ｔｉｎｔ＿ｂ１（インターバル時間）として表せる。
【００５９】
リアルタイムストリームＲＳ３のパケットＰｃ１１の送出終了時間Ｔ＿ｃ１は、
Ｔ＿ｃ１＝Ｔｔｒ＿ｃ１（送出時間）＋Ｔｉｎｔ＿ｃ１（インターバル時間）
として表せる。
【００６０】
このリアルタイムストリームＲＳ１のパケットＰａ１１の送出終了時間Ｔ＿ａ１と、リアルタイムストリームＲＳ２のパケットＰｂ１１の送出終了時間Ｔ＿ｂ１と、リアルタイムストリームＲＳ３のパケットＰｃ１１の送出終了時間Ｔ＿ｃ１とを比較し、送出終了時間が早い順にスケジューリングが行われる。
【００６１】
すなわち、最初に送出するパケットは、
ｍｉｎ（Ｔ＿ａ１，Ｔｂ１，Ｔ＿ｃ１）
となる。但し、ｍｉｎ（ｘ，ｙ，ｚ）は、ｘ，ｙ，ｚの中で最小値を求める関数とする。
【００６２】
ここで、各パケットの送出時間Ｔｔｒ（Ｔｔｒ＿ａ１、Ｔｔｒ＿ｂ１、Ｔｔｒ＿ｃ１）は、パケットサイズＰａｃｋｅｔＳｉｚｅと、送出する伝送路の伝送レートＬｉｎｅＲａｔｅとから、
Ｔｔｒ（ｓｅｃ）  ＝  ＰａｃｋｅｔＳｉｚｅ（ｂｉｔ）  ／  ＬｉｎｅＲａｔｅ（ｂｉｔ／ｓｅｃ）
として求められる。伝送レートは、インターネット上の伝送スピードで例えば１００Ｍｂｐｓである。
【００６３】
インターバル時間Ｔｉｎｔ（Ｔ＿ｉｎｔａ、Ｔ＿ｉｎｔｂ、Ｔ＿ｉｎｔｃ）は、
Ｔｉｎｔ（ｓｅｃ）  ＝  Ｔｔｒ（ｓｅｃ）  ＊  ＬｉｎｅＲａｔｅ（ｂｉｔ／ｓｅｃ）  ／  ＳｅｔＲａｔｅ（ｂｉｔ／ｓｅｃ）
として求められる。ＳｅｔＲａｔｅ  は、バッファメモリ３１、３２、３３に予め設定する送信レートである。
【００６４】
図２において、リアルタイムストリームのバッファメモリ３１、３２、３３からは、スケジューラ３５でスケジューリングされた順番で、送信許可が送られる。各バッファメモリ３１、３２、３３は、送信許可を受け取ることで送信権を得る。送信権を得たバッファメモリ３１、３２、３３は、パケットが送信できる状態になったら、そのバッファメモリからパケットを送信することができる。
【００６５】
図４に示すように場合には、リアルタイムストリームＲＳ１のパケットＰａ１１の送出終了時間Ｔ＿ａ１が最も早くなり、次に、リアルタイムストリームＲＳ２のパケットＰｂ１１の送出終了時間Ｔ＿ｂ１が早く、リアルタイムストリームＲＳ３のパケットＰｃ１１の送出終了時間Ｔ＿ｃ１が最も遅い。したがって、パケットＰａ１１、Ｐｂ１１、Ｐｃ１１の順番でスケジューリングされる。その結果、図５に示すように、先ず、パケットＰａ１が出力され、次に、パケットＰｂ１が出力され、次に、パケットＰｃ１が出力されるようになる。
【００６６】
この発明の実施の形態では、送出終了時間の早い順に、スケジューリングするようにしている。例えば全探索でスケジューリングを行った場合には、スケジューリング時間で全ての送出組み合わせについてのジッタ量を比較して最も小さいものから送出していくので、精度が非常によい反面、ストリームの数がＮであった場合には、Ｎの階乗分のジッタ計算が必要となってしまう。本発明では、時分割的にスケジューリングを行っていくので、一回のスケジューリングでは、Ｎ通りのジッタ計算を行えばよいことがわかる。
【００６７】
次に、非リアルタイムストリームの処理について説明する。非リアルタイムパケットについては、リアルタイムストリームに影響が無く、且つ、遅延時間が最小となるときに、ベストエフォートで送信が行われる。具体的には、各リアルタイムストリームのスケジューリング時間と、非リアルタイムストリームの送出終了時間とを比較し、非リアルタイムストリームの送出終了時間の方がリアルタイムストリームのスケジューリング時間より早い場合に、送信許可が与えられる。
【００６８】
図６に示すように、送出開始時間Ｔ＿ｄ１０から非リアルタイムストリームＮＳ１のパケットＰｄ２１送信要求があったとする（図６Ｄ）。この場合、非リアルタイムストリームＮＳ１のパケットＰｄ２１の送出終了時間Ｔ＿ｄ１１は、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットＰａ２１（図６Ａ）、Ｐｂ２１（図６Ｂ）、Ｐｃ２１（図６Ｃ）のスケジューリング時間Ｔ＿ａ１０、スケジューリング時間Ｔ＿ｂ１０、スケジューリング時間Ｔ＿ｃ１０より前になる。この場合には、非リアルタイムストリームＮＳ１のパケットＰｄ２１を送出しても、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットＰａ２１、Ｐｂ２１、Ｐｃ２１の送出に影響を与えることが無いので、非リアルタイムストリームのパケットＰｄ２１送出は許可される。
【００６９】
これに対して、図７に示すように、送出開始時間Ｔ＿ｄ１０から非リアルタイムストリームＮＳ１のパケットＰｄ２１の送信要求があったとする（図７Ｄ）。この場合、非リアルタイムストリームＮＳ１のパケットＰｄ２１の送出終了時間Ｔ＿ｄ１１は、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットＰａ２１（図７Ａ）、Ｐｂ２１（図７Ｂ）、Ｐｃ２１（図７Ｃ）のスケジューリング時間Ｔ＿ａ１０、Ｔ＿ｂ１０、Ｔ＿ｃ１０より後になる。この場合には、非リアルタイムストリームＮＳ１のパケットＰｄ２１の送出がリアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のパケットＰａ２１、Ｐｂ２１、Ｐｃ２１の送出に影響を与えることになるため、非リアルタイムストリームのパケットＰｄ２１送出は許可されず、バッファメモリ３４内で待機される。
【００７０】
上述の非リアルタイムストリームに対する処理を式で表すと、
ｍｉｎ（Ｔ＿ａ１０，Ｔ＿ｂ１０，Ｔ＿ｃ１０）  ＞  Ｔｄ＿１１
のときに、送信許可となる。
【００７１】
ただし、リアルタイムパケットの送出間隔が短いと、いつまでたっても非リアルタイムパケットが送出されないので、ある時間を過ぎても、非リアルタイムパケットが送出されない場合は、Ｔｄ＿１１を０以上１以下の値αを乗じて送出できるような機構を実装する必要がある。
【００７２】
これを式で表すと
ｍｉｎ（Ｔ＿ａ１０，Ｔ＿ｂ１０，Ｔ＿ｃ１０）  ＞  Ｔｄ＿１１＊  α    （１＞α  ＞＝０  ）
となる。
【００７３】
図８は、リアルタイム系の各バッファメモリ３１、３２、３３の処理を示すフローチャートである。図８に示すように、各バッファメモリにパケットが入力されると（ステップＳ１）、送出時間Ｔｔｒａとインターバル時間Ｔｉｎｔを計算する（ステップＳ２）。この送出時間Ｔｔｒａとインターバル時間Ｔｉｎｔをスケジューラ３５に送ると共に（ステップＳ３）、インターバル時間Ｔｉｎｔをインターバルカウンタ４１、４２、４３にセットし（ステップＳ４）、インターバルカウンタ４１、４２、４３のカウントダウンを開始する（ステップＳ５）。インターバルカウンタ４１、４２、４３が「０」になったかどうかを判断し（ステップＳ６）、インターバルカウンタ４１、４２、４３が「０」になったら、スケジューラ３５に対して、送信要求を出す（ステップＳ７）。
【００７４】
スケジューラ３５でスケジューリングされた順に、各バッファメモリ３１、３２、３３に、送信許可が与えられる。各バッファメモリ３１、３２、３３は、送信許可を受け取ると（ステップＳ８）、各バッファメモリ３１、３２、３３にあるパケットを送出することができる。（ステップＳ９）。
【００７５】
パケットが送出されたら、バッファメモリ３１、３２、３３にパケットが残っているかどうかを判断し（ステップＳ１０）、パケットが残っていたら、ステップＳ２にリターンし、バッファメモリ３１、３２、３３にパケットが残っていなければ、ステップＳ１にリターンする。
【００７６】
図９は、非リアルタイム系のバッファメモリ３４の処理を示すフローチャートである。非リアルタイム系のバッファメモリ３４にパケットが入力されると（ステップＳ２１）、送出時間Ｔｔｒａを計算し（ステップＳ２２）、送信時間Ｔｔｒａをスケジューラ３５に送信する（ステップＳ２３）と共に、スケジューラ３５に対して、送信要求を出す（ステップＳ２４）。非リアルタイムストリームの伝送が可能なときには、スケジューラ３５は、バッファメモリ３４に送信許可を与える。
【００７７】
バッファメモリ３４は、送信許可を受け取ると（ステップＳ２５）、バッファメモリ３４にあるパケットを送出することができる。（ステップＳ２６）。
【００７８】
パケットが送出されたら、バッファメモリ３４にパケットが残っているかどうかを判断し（ステップＳ２７）、パケットが残っていたら、ステップＳ２２にリターンし、バッファメモリ３４にパケットが残っていなければ、ステップＳ２１にリターンする。
【００７９】
図１０は、スケジューラ３５の処理を示すフローチャートである。スケジューラ３５は、各バッファメモリ３１、３２、３３からリアルタイムストリームの送信要求を受け取ると（ステップＳ５１）、前述したリアルタイムストリームのアルゴリズムのスケジューリング処理を行う（ステップＳ５２）。すなわち、リアルタイムストリームＲＳ１のパケットの送出終了時間と、リアルタイムストリームＲＳ２のパケットの送出終了時間と、リアルタイムストリームＲＳ３のパケットの送出終了時間とを比較し、一番最初に送出すべきフローに送出権を与える。（ステップＳ５３）。
【００８０】
バッファメモリ３４から非リアルタイムストリームＮＳ１の送信要求を受け取ると（ステップＳ５４）、前述したように、リアルタイムストリームに影響が無く、且つ、遅延時間が最小となるときに、ベストエフォートで、バッファメモリ３４に送信許可を与える。すなわち、非リアルタイムストリームのパケットの送出終了時間と、複数のリアルタイムストリームのパケットのスケジューリング時間とを比較し、非リアルタイムストリームのパケットの送出終了時間の方が、複数のリアルタイムストリームのパケットのスケジューリング時間の何れよりも短いときに、非リアルタイムストリームのパケットを送信する。非リアルタイムストリームのパケットが待機している間に、リアルタイムストリームに転送許可が与えられたときには、α値を例えば半分にする（ステップ５５）。
【００８１】
このように、この発明の実施の形態では、複数のリアルタイムストリームの送出時間が重なるときには、各リアルタイムストリームのジッタが最小となるように、送出順を決めている。具体的には、各リアルタイムストリームのパケットの中で、送出終了時間の早い順に、スケジューリングするようにしている。これにより、複数のリアルタイムストリームを１つの伝送路上に送出する場合に、各リアルタイムストリームのジッタを少なくすることができる。また、非リアルタイムストリームについては、リアルタイムストリームの送出に影響を与えること無く、ベストエフォートで送出することができる。
【００８２】
図１１は、この発明の他の実施の形態を示すものである。図１に示した実施の形態では、ストリーム送出部１５で、複数のストリームを１つの伝送路に送出した後に、通信プロトコルブロック１６で、ネットワークで転送できるようにプロトコル処理し、物理層ブロック１７を介して、ネットワーク１８に送信している。
【００８３】
これに対して、この実施の形態では、各リアルタイムストリームをネットワークで転送できるようにプロトコル処理した後に、ストリーム送出部で１つの伝送路に送出し、物理層ブロック６１を介して、ネットワーク６２に送信している。
【００８４】
図１１において、パケット化ブロック５１にはデータＲＤ１１が供給され、パケット化ブロック５２にはデータＲＤ１２が供給され、パケット化ブロック５３にはデータＲＤ１３が供給される。パケット化ブロック５１、５２、５３は、リアルタイム系のデータを処理するパケット化ブロックである。
【００８５】
パケット化ブロック５１、５２、５３は、それぞれ、データＲＤ１１、ＲＤ１２、ＲＤ１３をネットワーク上に伝送できるようにパケット化する処理を行っている。
【００８６】
パケット化ブロック５１からは、データＲＤ５１をパケット化して形成されたリアルタイムストリームＲＳ１１のパケットが出力され、パケット化ブロック５２からは、データＲＤ１２をパケット化して形成されたリアルタイムストリームＲＳ１２のパケットが出力され、パケット化ブロック５３からはデータＲＤ１３をパケット化して形成されたリアルタイムストリームＲＳ１３のパケットが出力される。
【００８７】
パケット化ブロック５４には、データＮＤ１１が供給される。パケット化ブロック５４は、非リアルタイム系のデータを処理するパケット化ブロックである。パケット化ブロック５４は、データＮＤ１１をネットワークで伝送できるようにパケット化する処理を行っている。パケット化ブロック５４からは、データＮＤ１１をパケット化して形成された非リアルタイムストリームＮＳ１１のパケットが出力される。
【００８８】
パケット化ブロック５１、５２、５３からのリアルタイムストリームＲＳ１１、ＲＳ１２、ＲＳ１３のパケットは、通信プロトコルブロック５５、５６、５７にそれぞれ供給される。パケット化ブロック５４からの非リアルタイムストリームＮＳ１１のパケットは、通信プロトコルブロック５８に供給される。
【００８９】
通信プロトコルブロック５５、５６、５７は、リアルタイムストリームＲＳ１１、ＲＳ１２、ＲＳ１３をネットワークで転送できるように、プロトコル処理をするものである。通信プロトコルブロック５８は、非リアルタイムストリームＳ１１を、ネットワークで転送できるように、プロトコル処理をするものである。
【００９０】
通信プロトコルブロック５５、５６、５７からの、プロトコル処理されたリアルタイムストリームのパケット、及び、通信プロトコルブロック５８からの、プロトコル処理された非リアルタイムストリームパケットは、ストリーム送出部６０に供給される。
【００９１】
ストリーム送出部６０は、複数のリアルタイムストリームＲＳ１１、ＲＳ１２、ＲＳ１３及び非リアルタイムストリームＮＤ１１を、１つの伝送路上に送るための処理を行っている。
【００９２】
また、ストリーム送出部６０は、各リアルタイムストリームＲＳ１１、ＲＳ１２、ＲＳ１３のパケットが所定のインターバル間隔となるように、パケットの送出時間の割り当てを行う。そして、複数のストリームでパケットの送出時間が重なる場合には、調停を行う。
【００９３】
このとき、リアルタイムストリームのパケットについては、各リアルタイムストリームのパケットのジッタが最小となるように、各リアルタイムストリームのパケットの送出順を決定する。また、非リアルタイムストリームについては、他のリアルタイムストリームのパケットの送出に影響が無いと共に、非リアルタイムパケットの遅延が大きくならないように、非リアルタイムパケットを送出させる。
【００９４】
ストリーム送出部６０としては、図２に示したような構成のものを用いることができる。
【００９５】
ストリーム送出部６０からは、通信プロトコル処理されたリアルタイムストリームＲＳ１１、ＲＳ１２、ＲＳ１３のパケット及び非リアルタイムストリームＮＳ１１のパケットが１つの伝送路で出力される。このストリーム送出部６０からのストリームは、物理層ブロック６１に送られ、物理層ブロック６１によりネットワーク６２上に送出される。
【００９６】
以上説明したように、この発明が適用された送信装置では、複数のリアルタイムストリームと、非リアルタイムストリームとを１つの伝送路で送信する際に、複数のストリームでパケットの送出時刻が重なる場合には、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３については、各リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３のジッタが最小となるように、送出順を決めるようにしている。非リアルタイムストリームＮＳ１１については、リアルタイムストリームＲＳ１、ＲＳ２、ＲＳ３に影響が無く、且つ、遅延時間が最小となるように、送出させるようにしている。これにより、リアルタイムストリームのジッタを少なくすることができると共に、非リアルタイムストリームを、リアルタイムストリームに影響を与えず、ベストエフォートで送信できる。
【００９７】
なお、この発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００９８】
【発明の効果】
この発明によれば、複数のリアルタイムストリームと、非リアルタイムストリームとを１つの伝送路で送信する際に、リアルタイムストリームは、所定のインターバル時間毎に送信させ、非リアルタイムストリームは、リアルタイムストリームの送出に影響が無いように、送出させている。複数のストリームでパケットの送出時刻が重なる場合には、リアルタイムストリームについては、各リアルタイムストリームのジッタが最小となるように、送出順を決めるようにしている。非リアルタイムストリームについては、リアルタイムストリームに影響が無く、且つ、遅延時間が最小となるように、送出させるようにしている。
【００９９】
すなわち、リアルタイムストリームについては、各リアルタイムストリームのパケットのインターバル時間と、各リアルタイムストリームのパケットの送出時間とから、各リアルタイムストリームのパケットの送出終了時間を算出し、送出時間が重複しているリアルタイムストリームのパケットの中で、送出終了時間の早い順に、送出順を決める。
【０１００】
非リアルタイムストリームについては、非リアルタイムストリームのパケットの送出終了時間と、複数のリアルタイムストリームのパケットのスケジューリング時間とを比較し、非リアルタイムストリームのパケットの送出終了時間の方が、複数のリアルタイムストリームのパケットのスケジューリング時間の何れよりも短いときに、非リアルタイムストリームのパケットを送信する。
【０１０１】
これにより、リアルタイムストリームのジッタを少なくすることができると共に、非リアルタイムストリームを、リアルタイムストリームに影響を与えず、ベストエフォートで送信できる。
【０１０２】
最初に送出すべきパケットを決定するための計算が少ないためハードウェアでもソフトウェアでも簡単に実現できる。さらに一度に送出順番を計算する必要がなく送出が終わるたびに次に送出すべきパケットを計算すればよいので一度に計算すべき計算量の負荷を軽くできるため実装上の制約を少なくできる。
【図面の簡単な説明】
【図１】この発明が適用された送信装置の一例の構成を示すブロック図である。
【図２】ストリーム送出部の構成を示すブロック図である。
【図３】リアルタイムストリームの送出の説明に用いる略線図である。
【図４】リアルタイムストリームのスケジューリングの説明に用いる略線図である。
【図５】リアルタイムストリームのスケジューリングの説明に用いる略線図である。
【図６】非リアルタイムストリームのスケジューリングの説明に用いる略線図である。
【図７】非リアルタイムストリームのスケジューリングの説明に用いる略線図である。
【図８】リアルタイムストリームのバッファの動作の説明に用いるフローチャートである。
【図９】非リアルタイムストリームのバッファの動作の説明に用いるフローチャートである。
【図１０】スケジューラの動作の説明に用いるフローチャートである。
【図１１】この発明が適用された送信装置の他の例の構成を示すブロック図である。
【図１２】従来のストリーム送出部の構成を示すブロック図である。
【図１３】ラウンドロビンの説明に用いるフローチャートである。
【符号の説明】
１１、１２、１３・・・リアルタイムのデータのパケット化ブロック、１４・・・非リアルタイムのデータのパケット化ブロック、１５・・・ストリーム送出部、１６・・・通信プロトコルブロック、１７・・・物理層ブロック、１８・・・ネットワーク、３１、３２、３３・・・リアルタイムストリームのバッファメモリ、３４・・・非リアルタイムストリームのバッファメモリ、３５・・・スケジューラ
【図１】
2004228777.tif 000003
【図２】
2004228777.tif 000004
【図３】
2004228777.tif 000005
【図４】
2004228777.tif 000006
【図５】
2004228777.tif 000007
【図６】
2004228777.tif 000008
【図７】
2004228777.tif 000009
【図８】
2004228777.tif 000010
【図９】
2004228777.tif 000011
【図１０】
2004228777.tif 000012
【図１１】
2004228777.tif 000013
【図１２】
2004228777.tif 000014
【図１３】
2004228777.tif 000015
【手続補正書】
【提出日】平成15年10月17日(2003.10.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信装置であって、
上記複数のリアルタイムデータを構成する第１のパケット及び上記非リアルタイムデータを構成する第２のパケットをそれぞれ保存する記憶手段と、
上記記憶手段に保存されている上記第１のパケットをそれぞれ所定の間隔で送信すると共に、上記第１のパケット間において送出時間が重なるときには、送出終了時刻が最も早い上記第１のパケットを送出し、第１のパケットの送出間隔が上記第２のパケットの送出時間より長い場合には上記第２のパケットを送信する送信手段を備えるデータ送信装置。
【請求項２】
上記送信手段は、上記第１のパケットにおける送出間隔と上記第１のパケットの送出時間とから上記送出終了時刻を算出する請求項１に記載のデータ送信装置。
【請求項３】
上記送信手段は、上記第１のパケットが所定数送信される間において上記第２のパケットが送信されない場合には、上記第２のパケットの送出時間に１より小さな正の係数を乗じた時間を上記第２のパケットの新たな送出時間とみなす請求項１に記載のデータ送信装置。
【請求項４】
複数のリアルタイムデータと非リアルタイムデータとを共通の伝送路上に送信するデータ送信方法であって、
上記複数のリアルタイムデータを構成する第１のパケット及び上記非リアルタイムデータを構成する第２のパケットをそれぞれ保存する第１のステップと、
上記第１のステップにおいて保存された上記第１のパケットをそれぞれ所定の間隔で送信すると共に、上記第１のパケット間において送出時間が重なるときには送出終了時刻が最も早い上記第１のパケットを送出し、上記第１のパケットの送出間隔が上記第２のパケットの送出時間より長い場合には、上記第２のパケットを送信する第２のステップとを有するデータ送信方法。
【請求項５】
上記第２のステップでは、上記第１のパケットが所定数送信される間において上記第２のパケットが送信されない場合には、上記第２のパケットの送出時間に１より小さな正の係数を乗じた時間を上記第２のパケットの新たな送出時間とみなす請求項４に記載のデータ送信方法。