(57)【要約】  通信端末（１００）は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、ストリームデータの再送データを親端末から子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している複数の通信端末のうちの一の通信端末である。そして、該一の通信端末（１００）は、ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、ルート端末から該一の通信端末（１００）までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定部（１０１０）と、ルート端末から受信したストリームデータを、再生遅延時間決定部（１０１０）で決定された再生遅延時間だけ遅延させて再生する再生制御部（１０２０）とを備える。
2012001866.tif 000002
【特許請求の範囲】
【請求項１】
ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末であって、
前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成し、
該一の通信端末は、
前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定部と、
前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える
通信端末。
【請求項２】
前記再生遅延時間決定部は、前記往復遅延時間の最大値の整数倍を、前記再生遅延時間と決定する
請求項１に記載の通信端末。
【請求項３】
該一の通信端末とその親端末との間の往復遅延時間をｒｔｔ（ｓｅｌｆ）と、該一の通信端末の前記再生遅延時間をｘ（ｓｅｌｆ）と、前記親端末の前記再生遅延時間をｘ（ｐａｒｅｎｔ）と、正の整数をαselfと定義したとき、
前記再生遅延時間決定部は、
ｒｔｔ（ｓｅｌｆ）≧ｘ（ｐａｒｅｎｔ）を満たす場合に、式１を用いて前記再生遅延時間ｘ（ｓｅｌｆ）を決定し、
ｒｔｔ（ｓｅｌｆ）＜ｘ（ｐａｒｅｎｔ）を満たす場合に、式２を用いて前記再生遅延時間ｘ（ｓｅｌｆ）を決定する
【数１】
2012001866.tif 000007
【数２】
2012001866.tif 000008
請求項１又は２に記載の通信端末。
【請求項４】
該一の通信端末は、さらに、前記ルート端末から受信したストリームデータの一部に損失が生じた場合に、前記親端末に対して、当該損失に対応する再送データの送信を要求する再送要求部を備え、
前記再送要求部は、該一の通信端末とその親端末との間の往復遅延時間以上で、且つ前記往復遅延時間の最大値以下の間隔で、再送データの送信を繰り返し要求する
請求項１〜３のいずれか１項に記載の通信端末。
【請求項５】
該一の通信端末は、さらに、
該一の通信端末とその親端末との間の前記往復遅延時間を測定する往復遅延時間測定部と、
前記ＡＬＭ配信木上の前記ルート端末から前記親端末までの１以上の前記往復遅延時間を含む往復遅延時間通知を前記親端末から受信し、前記往復遅延時間測定部で測定された前記往復遅延時間を含めて前記子端末に送信する往復遅延時間管理部とを備える
請求項１〜４のいずれか１項に記載の通信端末。
【請求項６】
前記往復遅延時間管理部は、所定の時間間隔毎に前記往復遅延時間通知を受信し、
前記往復遅延時間測定部は、前記往復遅延時間通知を受信する度に、該一の通信端末とその親端末との間の前記往復遅延時間を測定し、
前記再生遅延時間決定部は、前記往復遅延時間通知を受信する度に、前記往復遅延時間通知に含まれる１以上の前記往復遅延時間と、前記往復遅延時間測定部で測定された前記往復遅延時間とを用いて、前記再生遅延時間を決定する
請求項５に記載の通信端末。
【請求項７】
ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末であって、
前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成し、
該一の通信端末は、
前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間のうちの前記ストリームデータの損失率が最も大きい区間の前記往復遅延時間を用いて再生遅延時間を決定する再生遅延時間決定部と、
前記ストリームデータを受信してから、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える
通信端末。
【請求項８】
該一の通信端末は、さらに、
該一の通信端末とその親端末との間の前記損失率を測定する損失率測定部と、
前記ＡＬＭ配信木上の前記ルート端末から前記親端末までの１以上の前記損失率を含む損失率通知を前記親端末から受信し、前記損失率定部で測定された前記損失率を含めて前記子端末に送信する損失率管理部とを備える
請求項７に記載の通信端末。
【請求項９】
前記損失率管理部は、所定の時間間隔毎に前記損失率通知を受信し、
前記損失率測定部は、前記損失率通知を受信する度に、該一の通信端末とその親端末との間の前記損失率を測定し、
前記再生遅延時間決定部は、前記損失率通知を受信する度に、前記損失率通知に含まれる１以上の前記損失率と、前記損失率測定部で測定された前記損失率とを用いて、前記再生遅延時間を決定する
請求項８に記載の通信端末。
【請求項１０】
ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末により実行される通信方法であって、
前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成し、
該通信方法は、
前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定ステップと、
前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定ステップで決定された前記再生遅延時間だけ遅延させて再生する再生制御ステップとを含む
通信方法。
【請求項１１】
ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末により実行されるプログラムであって、
前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成し、
該プログラムは、
前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定ステップと、
前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定ステップで決定された前記再生遅延時間だけ遅延させて再生する再生制御ステップとを、該一の通信端末に実行させる
プログラム。
【請求項１２】
ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末に搭載される集積回路であって、
前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成し、
該集積回路は、
前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定部と、
前記ストリームデータを受信してから、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木によるストリーム配信を行う場合において、再生遅延時間を制御する通信端末及び通信方法に関する。
【背景技術】
【０００２】
図１２に示しているように、インターネット上で、送信側の端末１１と受信側の端末１２との間で映像データ（パケット）の送受信を行う場合、映像データの損失（パケット損失）が起こり得る。映像データの損失が発生することにより、受信側の端末１２で再生する映像又は音声に乱れが生じることになる。この乱れを防ぐためには、損失したパケットを送信側の端末１１に再度送信してもらう必要がある。【０００３】
そこで、例えば、受信側の端末１２は、図１３に示しているように、損失した映像パケット（ｐ２）の再送を送信側の端末１１に要求する。そして、送信側の端末は、図１４に示しているように、受信側の端末１２からの要求に応じて、該当する映像パケット（ｐ２）を再送するのが一般的である。【０００４】
この再送された映像パケット（ｐ２）を受信側の端末１２で再生させるためには、受信側の端末１２での映像パケット（ｐ２）の再生開始時刻を、再送に必要な時間を考慮して設定する必要がある。具体的には、図１５に示しているように、映像パケット（ｐ２）の最初の到着予定時刻から１ＲＴＴ分だけ遅延させて再生を開始する必要がある。ここで、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）とは、受信側の端末１２と送信側の端末１１との間をパケットが往復するのに要する時間である。【０００５】
この最初の到着予定時刻から再生開始時刻までの時間は、通常、再生遅延時間と呼ばれ、図１１〜図１５で示しているような１対１通信においては、送受信端末間のＲＴＴに基づいて設定されるのが一般的である。再生遅延時間は、例えば、再生遅延時間がＲＴＴの倍数、又はＲＴＴ以上になるように設定される。【０００６】
ところで、従来、映像データを複数の端末に同時に配信する技術として、ＡＬＭ配信木を用いたストリーム配信が知られている。図１６及び図１７を参照して、ＡＬＭ配信木の概要を説明する。複数の端末１１、１２、１３、１４、１５、１６、１７は、図１６に示されるように、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のスター型の通信ネットワーク１０に接続されている。【０００７】
ここで、例えば、端末１１が、他の全ての端末１２、１３、１４、１５、１６、１７に対して直接ストリームデータを配信しようとすると、データ量が端末１１に接続されている回線の帯域幅の上限を超えてしまい、遅延が生じる可能性がある。【０００８】
そこで、図１７に示されるように、ストリームデータの配信元である端末１１を頂点（ルート端末）とする論理的な階層構造を構築する。つまり、端末１１は、ストリームデータを端末１２、１３にのみ配信する。そして、端末１２、１３は、端末１１から受信したストリームデータを再生すると共に、それぞれ配下の端末１４、１５、１６、１７に配信する。上記構成によれば、トラフィックを分散させることができるので、遅延のないストリーム配信を実現することができる。【０００９】
このようなＡＬＭ配信木による映像配信等を行う場合にも、再生遅延時間を考慮する必要がある。１対１通信の場合と同様に、再送データの送信元端末との間のＲＴＴに基づいて設定することが考えられるが、ＡＬＭ配信木の場合は特に、以下の３つの再送方式が存在する。以下、図１８〜図２０に示される１５台の端末２０〜３４で構成されるＡＬＭ配信木において、端末２１と端末２３との間で映像データの損失が発生した場合の再送方式を説明する。【００１０】
第１の再送方式は、ＡＬＭ配信木のルート端末（配信元）から損失データを再送する方式である。具体的には、図１８に示されるように、端末２３は、ルート端末である端末２０に対して損失データの再送を要求（一点鎖線で示す）する。そして、端末２３から再送の要求を受けた端末２０は、端末２３に対して再送データ（破線で示す）を送信する。【００１１】
第２の再送方式は、自端末の親端末（配信木上の自端末の親端末）から損失データを再送する方式である。具体的には、図１９に示されるように、端末２３は、親端末である端末２１に対して損失データの再送を要求（一点鎖線）する。そして、端末２３から再送の要求を受けた端末２１は、端末２３に対して再送データ（破線）を送信する。【００１２】
第３の再送方式は、上記以外の第３（ルート端末、親端末以外）の端末から損失データを再送する方式である。具体的には、図２０に示されるように、端末２３は、ＡＬＭ配信木上での接続関係のない端末２２に対して損失データの再送を要求（一点鎖線）する。そして、端末２３から再送の要求を受けた端末２２は、端末２３に対して再送データ（破線）を送信する。【００１３】
上記の第１の再送方式を適用した場合には、再生遅延時間の設定基準となるＲＴＴは、端末２３とルート端末である端末２０との間のＲＴＴとなる。上記の第２の再送方式を適用した場合には、再生遅延時間の設定基準となるＲＴＴは、端末２３と親端末である端末２１との間のＲＴＴとなる。上記の第３の再送方式を適用した場合には、再生遅延時間の設定基準となるＲＴＴは、端末２３と第３の端末である端末２２との間のＲＴＴとなる。【００１４】
一方、非特許文献１は、上記のように、再送データの受信端末と再送データの送信元端末との間のＲＴＴを意識せずに、各端末に固定の再生遅延時間を設定している。しかしながら、これは通信品質の低下を招く。何故ならば、この方式は実際の端末間の遅延を意識しないために、設定する再生遅延時間が短過ぎることによって、損失した映像データの乱れが回復されないまま再生されたり、又は、設定する再生遅延時間が長過ぎることによって、再生開始時間が必要以上に遅れたりするからである。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Improving the Fault Resilience of Overlay Multicast for Media Streaming Tan, G.; Jarvis, S.A.; Parallel and Distributed Systems, IEEE Transactions on Volume: 18, Issue: 6 Digital Object Identifier: 10.1109/TPDS.2007.1054 Publication Year: 2007, Page(s): 721 - 734
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上述のように、ＡＬＭ配信木の場合は、自端末と再送データ送信元との間のＲＴＴを考慮して再生遅延時間を設定した方が品質向上につながる場合が多い。しかしながら、この方式を上記の第２又は第３の方式に適用する場合に、端末間の遅延に差があると、想定している通信品質が得られないという課題がある。この課題を、図２１〜図２３を参照して、各端末間の遅延が等しい場合（図２１）と、各端末間の遅延が等しくない場合（図２２）とを比較しながら説明する。【００１７】
図２１及び図２２は、図１９に示されるＡＬＭ配信木において、端末２０→端末２１→端末２３→端末２７の経路上にデータが流れる様子を時間推移と共に示しており、特に、図２１は各端末間のネットワーク遅延が等しい環境（以降、等遅延環境と表記する）、図２２は各端末間のネットワーク遅延が等しくない環境（以降、非等遅延環境と表記する）を示している。ここで、ネットワーク遅延とは、例えば、ＡＬＭ配信木上の親端末から子端末に１つのパケットを送信するのに必要な時間を指し、典型的には、ＲＴＴの２分の１に相当する。以下、「ＲＴＴ＝ネットワーク遅延×２」として説明する。【００１８】
また、どの場合にも端末２０−２１間でパケットｐが損失したものとして説明する。また、図２３に示されるように、等遅延環境での各端末間のネットワーク遅延は１００ｍｓである。一方、非等遅延環境では、端末２０−２１間のネットワーク遅延は２００ｍｓ、それ以外の端末間のネットワーク遅延は１００ｍｓであるとする。そして、どの場合も各端末２１〜３４の再生遅延時間を、親端末（再送データの送信元端末）との間のＲＴＴに等しく（つまり、ネットワーク遅延の２倍）なるように設定しているとする。さらに、どの場合も上述の第２の再送方式によって損失データの再送を行うものとする。【００１９】
端末２０−２１間でパケットｐの損失が発生すると、パケットｐが端末２１とその下流にいる全ての端末２３、２７に到着しなくなる。よって、第２の再送方式では、それら各端末（端末２１、２３、２７）は、パケットｐの到着予定時刻が過ぎると親端末に対してパケットｐの再送要求を送信し、親端末よりパケットｐを再送してもらうことになる。この動作の時間的な流れを等遅延環境（図２１）、非等遅延環境（図２２）の順で説明する。【００２０】
図２１の等遅延環境では、端末２１、２３、２７からの再送要求を受信する端末２０、２１、２３がそれらの各端末２１、２３、２７宛にパケットｐを再送する。つまり、端末２１、２３、２７は、再送要求を送信してから（言い換えれば、パケットｐの到着予定時刻を経過してから）２００ｍｓ（＝１ＲＴＴ）後に再送されたパケットｐを受信することになる。また、図２３に示されるように、端末２１、２３、２７の再生遅延時間は、２００ｍｓであるため、各端末２１、２３、２７上で、映像を途切れさせることなくパケットｐを再生させることができる（パケットｐの再送が各端末２１、２３、２７の再生に間に合う）。【００２１】
一方、図２２の非等遅延環境においては、端末２０−２１間のネットワーク遅延が２００ｍｓである。このため、端末２１に端末２０からの再送パケットが到着するのは、パケットｐの最初の到着予定時刻の４００ｍｓ後である。すなわち、端末２１が端末２３に対してパケットｐを再送できるのも４００ｍｓ後となる（端末２３の再送要求が端末２１上で２００ｍｓ待機することになる）。よって、端末２３に再送されたパケットｐが到着するのは、最初の到着予定時刻の４００ｍｓ後となる。ここで、図２３に示されるように、端末２３の再生遅延時間は２００ｍｓであるので、端末２３に再送されたパケットｐが到着したときには、既に再生開始時刻を過ぎてしまっている（端末２７も同様）。【００２２】
すなわち、第２の再送方式を適用する場合において、端末間のネットワーク遅延に差があると、想定している通信品質が得られないという課題がある。ここでは、第２の再送方式を適用した場合についてのみ説明したが、第３の再送方式を適用した場合も同じ課題が存在する。【００２３】
なお、第１の再送方式を適用した場合は、直接ルート端末から再送データを受信するため、他の端末間の遅延の差に影響されず、本課題は存在しない。しかし、第１の再送方式は、受信ノードの数に比例してルート端末に送信される再送要求の数が上昇するため、ルート端末の処理能力、帯域を圧迫させるという欠点があり、実用的ではない。【００２４】
そこで、本発明は上記の課題に鑑みてなされたものであり、伝送路上でストリームデータの損失が生じた場合でも、高品質にストリームデータを再生できる通信端末及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明の一形態に係る通信端末は、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末である。前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。そして、該一の通信端末は、前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定部と、前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える。【００２６】
上記の構成によれば、ルート端末から自端末までの各区間のうち、往復遅延時間の最も大きい区間、すなわち、再送処理に最も時間のかかる区間でストリームデータの損失が生じたとしても、再送データを再生時間までに取得することができる。その結果、ストリームデータを高品質に再生することができる。【００２７】
なお、上記の構成において、再送データはＡＬＭ配信木を利用して送信される。一方、ストリームデータの送信方法は特に限定されない。例えば、再送データと同じＡＬＭ配信木を利用して送信してもよいし、再送データとは異なるＡＬＭ配信木を利用して送信してもよいし、ＡＬＭ配信木を利用せず、ルート端末から各通信端末に対して直接送信してもよい。また、本明細書中の「親端末」とは、ＡＬＭ配信木において、自端末に対してデータを直接送信する送信元端末を指す。「子端末」とは、ＡＬＭ配信木において、自端末がデータを直接送信する送信先端末を指す。【００２８】
一例として、前記再生遅延時間決定部は、前記往復遅延時間の最大値の整数倍を、前記再生遅延時間と決定してもよい。【００２９】
他の例として、該一の通信端末とその親端末との間の往復遅延時間をｒｔｔ（ｓｅｌｆ）と、該一の通信端末の前記再生遅延時間をｘ（ｓｅｌｆ）と、前記親端末の前記再生遅延時間をｘ（ｐａｒｅｎｔ）と、正の整数をαselfと定義したとき、前記再生遅延時間決定部は、ｒｔｔ（ｓｅｌｆ）≧ｘ（ｐａｒｅｎｔ）を満たす場合に、下記式１を用いて前記再生遅延時間ｘ（ｓｅｌｆ）を決定し、ｒｔｔ（ｓｅｌｆ）＜ｘ（ｐａｒｅｎｔ）を満たす場合に、下記式２を用いて前記再生遅延時間ｘ（ｓｅｌｆ）を決定する。【００３０】
【数１】
2012001866.tif 000003
【００３１】
【数２】
2012001866.tif 000004
【００３２】
上記の各方法で再生遅延時間を決定することにより、再送データに損失が発生した場合でも、再生時間までに再送データを取得できる可能性がある。その結果、さらに高品質にストリームデータを再生することができる。【００３３】
さらに、該一の通信端末は、前記ルート端末から受信したストリームデータの一部に損失が生じた場合に、前記親端末に対して、当該損失に対応する再送データの送信を要求する再送要求部を備えてもよい。そして、前記再送要求部は、該一の通信端末とその親端末との間の往復遅延時間以上で、且つ前記往復遅延時間の最大値以下の間隔で、再送データの送信を繰り返し要求してもよい。これにより、再送データを再生時間までに取得できる可能性がさらに向上する。【００３４】
さらに、該一の通信端末は、該一の通信端末とその親端末との間の前記往復遅延時間を測定する往復遅延時間測定部と、前記ＡＬＭ配信木上の前記ルート端末から前記親端末までの１以上の前記往復遅延時間を含む往復遅延時間通知を前記親端末から受信し、前記往復遅延時間測定部で測定された前記往復遅延時間を含めて前記子端末に送信する往復遅延時間管理部とを備えてもよい。これにより、通信ネットワークのトラフィックを最小限に抑えて、各通信端末に必要な情報（往復遅延時間）を配布することができる。【００３５】
また、前記往復遅延時間管理部は、所定の時間間隔毎に前記往復遅延時間通知を受信してもよい。前記往復遅延時間測定部は、前記往復遅延時間通知を受信する度に、該一の通信端末とその親端末との間の前記往復遅延時間を測定してもよい。そして、前記再生遅延時間決定部は、前記往復遅延時間通知を受信する度に、前記往復遅延時間通知に含まれる１以上の前記往復遅延時間と、前記往復遅延時間測定部で測定された前記往復遅延時間とを用いて、前記再生遅延時間を決定してもよい。このように、所定の時間間隔毎に再生遅延時間を更新することにより、より高品質にストリームデータを再生できる。【００３６】
本発明の他の形態に係る通信端末は、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末である。前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。そして、該一の通信端末は、前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間のうちの前記ストリームデータの損失率が最も大きい区間の前記往復遅延時間を用いて再生遅延時間を決定する再生遅延時間決定部と、前記ストリームデータを受信してから、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える。【００３７】
上記構成のように、各区間におけるストリームデータの損失率を考慮し、最も損失率の大きい区間の往復遅延時間を用いて再生遅延時間を決定することにより、さらに高品質にストリームデータを再生できる。【００３８】
さらに、該一の通信端末は、該一の通信端末とその親端末との間の前記損失率を測定する損失率測定部と、前記ＡＬＭ配信木上の前記ルート端末から前記親端末までの１以上の前記損失率を含む損失率通知を前記親端末から受信し、前記損失率定部で測定された前記損失率を含めて前記子端末に送信する損失率管理部とを備えてもよい。【００３９】
また、前記損失率管理部は、所定の時間間隔毎に前記損失率通知を受信してもよい。前記損失率測定部は、前記損失率通知を受信する度に、該一の通信端末とその親端末との間の前記損失率を測定してもよい。そして、前記再生遅延時間決定部は、前記損失率通知を受信する度に、前記損失率通知に含まれる１以上の前記損失率と、前記損失率測定部で測定された前記損失率とを用いて、前記再生遅延時間を決定してもよい。【００４０】
本発明の一形態に係る通信方法は、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末により実行される。前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。そして、該通信方法は、前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定ステップと、前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定ステップで決定された前記再生遅延時間だけ遅延させて再生する再生制御ステップとを含む。【００４１】
本発明の一形態に係るプログラムは、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末により実行される。前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。そして、該プログラムは、前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定ステップと、前記ルート端末から受信した前記ストリームデータを、前記再生遅延時間決定ステップで決定された前記再生遅延時間だけ遅延させて再生する再生制御ステップとを、該一の通信端末に実行させる。【００４２】
本発明の一形態に係る集積回路は、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末のうちの一の通信端末に搭載される。前記複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、前記ストリームデータの再送データを前記親端末から前記子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。そして、該集積回路は、前記ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、前記ルート端末から該一の通信端末までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する再生遅延時間決定部と、前記ストリームデータを受信してから、前記再生遅延時間決定部で決定された前記再生遅延時間だけ遅延させて再生する再生制御部とを備える。
【発明の効果】
【００４３】
本発明によれば、各受信端末で再生される映像、音声等のストリームデータの品質を高めることができる。
【図面の簡単な説明】
【００４４】
【図１】図１は、実施の形態１に係る通信端末の機能ブロック図である。
【図２】図２は、実施の形態１に係る通信端末の動作を示すフローチャートである。
【図３】図３は、実施の形態１に係る通信端末の詳細な機能ブロック図である。
【図４】図４は、ＡＬＭ配信木における再送要求の送信先（左側）、及び再送データの送信先の例を示す図である。
【図５】図５は、手法１〜３のそれぞれによって決定される再生遅延時間の例を示す図である。
【図６】図６は、手法１の場合におけるデータフローの一例を示す図である。
【図７】図７は、手法２の場合におけるデータフローの一例を示す図である。
【図８】図８は、手法３の場合におけるデータフローの一例を示す図である。
【図９】図９は、ＲＴＴ通知メッセージの送信手順を示す図である。
【図１０】図１０は、ＲＴＴ通知メッセージに含まれるＲＴＴの例を示す図である。
【図１１Ａ】図１１Ａは、記録媒体本体である磁気ディスクの物理フォーマットの例を示す図である。
【図１１Ｂ】図１１Ｂは、磁気ディスクを保持するケースの正面図、断面図、及び磁気ディスクを示す図である。
【図１１Ｃ】図１１Ｃは、フレキシブルディスクに上記プログラムの記録再生を行うための構成を示す図である。
【図１２】図１２は、通信ネットワーク上でデータの損失が生じる例を示す従来図である。
【図１３】図１３は、損失データの再送を要求する例を示す従来図である。
【図１４】図１４は、再送データを送信する例を示す従来図である。
【図１５】図１５は、再送遅延時間の決定方法の例を示す従来図である。
【図１６】図１６は、従来のネットワーク構成を示す従来図である。
【図１７】図１７は、図１６の端末でＡＬＭ配信木を構成した例を示す従来図である。
【図１８】図１８は、第１のデータ再送方式を説明するための従来図である。
【図１９】図１９は、第２のデータ再送方式を説明するための従来図である。
【図２０】図２０は、第３のデータ再送方式を説明するための従来図である。
【図２１】図２１は、等遅延環境における再送処理フローの一例を示す従来図である。
【図２２】図２２は、非等遅延環境における再送処理フローの一例を示す従来図である。
【図２３】図２３は、ネットワーク遅延と再生遅延時間との関係の例を示す従来図である。
【発明を実施するための形態】
【００４５】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００４６】
（実施の形態１）
図１及び図２を参照して、本発明の実施の形態１に係る通信端末１００の構成及び動作を説明する。なお、図１は、通信端末１００の機能ブロック図である。図２は、通信端末１００の動作を示すフローチャートである。
【００４７】
実施の形態１に係る通信端末１００は、図１に示されるように、再生遅延時間決定部１０１０と、再生制御部１０２０とを備える。この通信端末１００は、ルート端末から配信されるストリームデータを受信して再生する複数の通信端末（図１では図示省略）のうちの１つである。そして、複数の通信端末は、それぞれに１つの親端末と、０以上の子端末とが割り当てられることによって、ストリームデータの再送データを親端末から子端末に順次送信するＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｍｕｌｔｉｃａｓｔ）配信木を構成している。
【００４８】
再生遅延時間決定部１０１０は、ルート端末から通信端末１００までの各区間の往復遅延時間のうちの最大値を用いて再生遅延時間を決定する（Ｓ１１）。ここで、往復遅延時間とは、ＡＬＭ配信木上の隣接する２つの端末の間の区間でデータを送受信するのに必要な往復遅延時間であって、典型的には、ＲＴＴ等に相当する。
【００４９】
再生制御部１０２０は、ルート端末から受信したストリームデータを、再生遅延時間決定部１０１０で決定された再生遅延時間だけ遅延させて再生する（Ｓ１２）。具体的には、再生制御部１０２０は、ルート端末から受信したストリームデータを一旦バッファ（図示省略）に格納し、受信後から再生遅延時間だけ経過したタイミングでバッファから読み出して再生する。
【００５０】
次に、図３を参照して、実施の形態１に係る通信端末１００の詳細な構成を説明する。図３は、通信端末１００の詳細な機能ブロック図である。図３に示される通信端末１００は、再送要求送信部１０１と、再送データ送信部２０１と、ＡＬＭ制御部３０１と、再生遅延時間決定部４０１と、ＲＴＴ管理部４０２と、ＲＴＴ測定部５０１とを備える。なお、図１の再生遅延時間決定部１０１０は図３の再生遅延時間決定部４０１に相当し、図１の再生制御部１０２０は図３のＡＬＭ制御部３０１に相当する。
【００５１】
ＡＬＭ制御部（再生制御部）３０１は、ＡＬＭ配信木上の親端末からストリームデータを受信し、受信したストリームデータをバッファ（図示省略）に格納すると共に、子端末に送信する。また、ＡＬＭ制御部３０１は、バッファに保持されているストリームデータを、再生遅延時間だけ経過後に再生する。
【００５２】
ＲＴＴ測定部（往復遅延時間測定部）５０１は、自端末と親端末との間のＲＴＴを測定する。ＲＴＴを測定する方法は特に限定されないが、例えば、ＲＴＣＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）で用いられている既存ＲＴＴ測定手法を用いることができる。
【００５３】
ＲＴＴ管理部（往復遅延時間管理部）４０２は、親端末からＲＴＴ通知メッセージ（往復遅延時間通知）を受信し、ＲＴＴ測定部５０１で測定された自端末−親端末間のＲＴＴ（往復遅延時間）を含めて、子端末に送信する。なお、親端末から受信したＲＴＴ通知メッセージには、ＡＬＭ配信木上のルート端末から親端末までの各区間のＲＴＴが含まれている。
【００５４】
再生遅延時間決定部４０１は、ＲＴＴ管理部４０２で親端末から受信したＲＴＴ通知メッセージに含まれるＲＴＴと、ＲＴＴ測定部５０１で測定されたＲＴＴとを用いて、再生遅延時間を決定し、ＡＬＭ制御部３０１に通知する。再生遅延時間の具体的な決定方法は、後述する。
【００５５】
再送要求送信部（再送要求部）１０１は、ルート端末から受信したストリームデータの一部に損失が生じた場合に、親端末に対して、当該損失に対応する再送データの送信を要求する。また、再送要求送信部１０１は、再送データを取得するまで再送要求を繰り返し送信する。このときの再送間隔は、通信端末１００とその親端末との間の往復遅延時間以上で、且つルート端末から自端末までの各区間の往復遅延時間のうちの最大値以下の間隔であるのが望ましい。
【００５６】
再送データ送信部２０１は、子端末から再送要求を受信したことに応じて、当該再送要求に示されるデータをＡＬＭ制御部３０１のバッファから取得し、再送要求の送信元である子端末に送信する。また、再送すべきデータがＡＬＭ制御部３０１のバッファに存在しない場合、当該データを受信するまで待機し、受信後速やかに送信する。
【００５７】
次に、図４〜８を参照して、通信端末１００が再生遅延時間を決定する具体的な手法１〜３を説明する。なお、簡単なため図４〜図８においては、第２の再送方式を用いて、再送データを送受信するものとする。つまり、ストリームデータと再送データとは、同一のＡＬＭ配信木を用いて配信される。
【００５８】
なお、手法１は、自端末への再送データが通る端末間のＲＴＴの最大値を再生遅延時間とする方法である。手法２は、手法１における最大値をさらに整数倍して再生遅延時間とする方法である。手法３は、下記式１及び式２に基づいて導いた値を、自端末の再生遅延時間に設定するものである。なお、「自端末への再送データが通る端末」とは、自端末の上流（自端末からルート端末までの経路）の全端末となる。
【００５９】
図４は、親端末による再送（第２の再送方式）を例示したものであり、端末２０−２１間にデータの損失が発生した場合を想定している。この場合、端末２１とその下流の端末２３、２４、２７〜３０がその影響を受けることになる。よって、端末２１が端末２０に、端末２３、２４が端末２１に、端末２７、２８が端末２３に、端末２９、３０が端末２４に再送要求を送信することになる（図４の左側）。また、これらの再送要求を受信する端末２０、２１、２３、２４は、それぞれ再送要求を送信した端末に対して再送データを送信している（図４の右側）。
【００６０】
このとき、図４の右側の図を参照すれば明らかなように、各端末への再送データがその上流の各端末を経由している。すなわち、配信木の任意の区間（「隣接する２つの端末間の通信路」を指す）に損失が発生した場合に、再送データは、損失発生区間の下流の全ての端末を通ることになる。また、損失発生区間はルート端末を含む最上位区間である可能性もあり、この場合の再送データが通る端末は、ＡＬＭ配信木を構成する全ての端末となる。
【００６１】
まず、手法１では、各端末より上流の各区間におけるＲＴＴの最大値を、各端末の再生遅延時間に設定する。具体的には、図５に示されるように、端末２０と端末２１との間のＲＴＴが２００ｍｓであるので、端末２１の再生遅延時間は、２００ｍｓとなる。また、端末２１と端末２３との間のＲＴＴが１００ｍｓであるので、端末２３の再生遅延時間は２００ｍｓ（端末２０−２１間のＲＴＴ）となる。さらに、端末２３と端末２７との間のＲＴＴは１００ｍｓであるので、端末２７の再生遅延時間は２００ｍｓ（端末２０−２１間のＲＴＴ）となる。その他の端末２２、２４、２５、２６、２８、２９、３０、３１、３２、３３、３４についても同様の方法で再生遅延時間を設定することができる。
【００６２】
図６には、端末２０−２１間にパケットｐの損失が発生した場合に端末２０、２１、２３、２７の間に行われる再送処理の時間的推移を示している。
【００６３】
図６を参照して、端末２０から送信されたパケットｐは、１００ｍｓ後の時刻ｔ1に端末２１に、さらにその５０ｍｓ後の時刻ｔ2に端末２３に、さらにその５０ｍｓ後の時刻ｔ3に端末２７に到達する予定である。しかしながら、端末２０と端末２１との間の区間でパケットｐの損失が発生しているので、端末２１、２３、２７は、予定時刻になってもパケットｐを受信することができない。
【００６４】
そこで、端末２１は時刻ｔ1に端末２０に対して再送要求を送信する。この再送要求は、端末２１の送信から１００ｍｓ後の時刻ｔ3に端末２０に到達する。同様に、端末２３は時刻ｔ2に端末２３に対して再送要求を送信し、端末２７は時刻ｔ3に端末２３に対して再送要求を送信する。そして、端末２３から送信された再送要求は５０ｍｓ後の時刻ｔ3に端末２１に到達し、端末２７から送信された再送要求は５０ｍｓ後の時刻ｔ4に端末２３に到達する。
【００６５】
次に、時刻ｔ3に端末２１からの再送要求を受信した端末２０は、即座に再送パケットｐ’を端末２１に送信する。この再送パケットｐ’は、端末２０の送信から１００ｍｓ後の時刻ｔ5に端末２１に到達する。
【００６６】
一方、時刻ｔ3に端末２３からの再送要求を受信した端末２１は、自らもパケットｐを保持していないので、そのまま待機する。そして、端末２１は、時刻ｔ5に端末２０から再送パケットｐ’を受信したタイミングで、先の再送要求に対する応答として、再送パケットｐ’を端末２３に送信する。この再送パケットｐ’は、端末２１の送信から５０ｍｓ後の時刻ｔ6に端末２３に到達する。
【００６７】
同様に、時刻ｔ4に端末２７からの再送要求を受信した端末２３は、自らもパケットｐを保持していないので、そのまま待機する。そして、端末２３は、時刻ｔ6に端末２１から再送パケットｐ’を受信したタイミングで、先の再送要求に対する応答として、再送パケットｐ’を端末２７に送信する。この再送パケットｐ’は、端末２３の送信から５０ｍｓ後の時刻ｔ7に端末２７に到達する。
【００６８】
このように、各端末２１、２３、２７の再生遅延時間を再送データが通る経路上の最大ＲＴＴである端末２０−２１間のＲＴＴ（＝２００ｍｓ）に設定しているため、各端末２１、２３、２７に到着する再送データが再生に間に合うことが図６で分かる。なお、これは最大ＲＴＴ区間である端末２０−２１間にデータ損失が発生した場合であるが、他の区間（例えば、端末２１−２３の間の区間）でデータ損失が発生した場合は、再送データ到着に要する時間がもっと短いので、その場合も再送データが必ず各端末２３、２７の再生に間に合うように到着する。
【００６９】
手法２、３は、再送データをより確実に各端末で受信できるように工夫されたものである。より具体的には、再送データそのものが途中で損失した場合に、それを再び再送できる程の時間の余裕を各端末に設けるものである。例えば、再送要求を送信してから手法１で算出される再生遅延時間を待っても再送データが到着しない場合に、再送データが途中で損失したと見なし、再送要求を再度送信することができる。そして、手法２、３では、この２度目の再送要求に対する応答として受信した再送パケットが再生に間に合うように、各端末の再生遅延時間を設定する。以降、これらを順に説明する。
【００７０】
手法２は、自端末の再生遅延時間を上流ＲＴＴの最大値の整数倍に設定する。例えば、図５に示されるように、各端末２１〜３４の再生遅延時間を、上流ＲＴＴの最大値（すなわち、手法１における再生遅延時間）の２倍に設定する。この場合、各端末２１〜３４が、手法１の最大ＲＴＴの間隔で再送要求を送信し続ければ、再送データの１回の損失に耐えることができる。
【００７１】
図７は、再送パケットｐ’が損失した場合の処理の時間的推移を示している。なお、図６に示される手法１と共通する処理については詳しい説明を省略し、手法２特有の部分を中心に説明する。
【００７２】
図７の例では、図６の例に加えて、時刻ｔ5と時刻ｔ6との間に端末２１−２３間で再送パケットｐ’が損失する。また、端末２３、２７は、上流の最大ＲＴＴである２００ｍｓの間隔で、再送要求を送信し続ける。つまり、端末２３は、パケットｐの最初の到着予定時刻である時刻ｔ2の２００ｍｓ後である時刻ｔ6に、端末２１に対して２度目の再送要求を送信する。同様に、端末２７は、パケットｐの最初の到着予定時刻である時刻ｔ3の２００ｍｓ後である時刻ｔ7に、端末２３に対して２度目の再送要求を送信する。
【００７３】
端末２１は、時刻ｔ7に端末２３から２度目の再送要求を受信し、再度、再送パケットｐ’を端末２３に送信する。そして、端末２１から送信された再送パケットｐ’は、最初の到着予定時刻ｔ2の３００ｍｓ後に端末２３に到達する。同様に、端末２３は、時刻ｔ8に端末２７から２度目の再送要求を受信し、再度、再送パケットｐ’を端末２７に送信する。そして、端末２３から送信された再送パケットｐ’は、最初の到着予定時刻ｔ3の３００ｍｓ後に端末２７に到達する。
【００７４】
このように、端末２３、２７に再送パケットｐ’が到着するのは、それら端末２３、２７の再生遅延時間である４００ｍｓ以内である。すなわち、この再送パケットｐ’は、端末２３、２７での再生に間に合う。
【００７５】
ここで、図７の例では、再送パケットｐ’の損失が発生したのは、最大ＲＴＴリンク（最大ＲＴＴの区間）以外のリンクであるため、このように再生遅延時間よりも早く再送パケットｐ’が到着したが、最大ＲＴＴリンク上で損失が発生した場合には、４００ｍｓ後に再送パケットｐ’が到着する。これがちょうど再生遅延時間に等しいため再生に間に合うのである。
【００７６】
上記の例では、手法１で算出された再生遅延時間（＝最大ＲＴＴ）を２倍したが、これを３倍、４倍、・・・、ｘ倍と増やすことによって、再送パケットｐ’損失回数が多くなるような不安定な通信環境に耐えることができる。具体的には、指定する（倍数−１）回の再送データ損失に耐えることができる。
【００７７】
なお、再生遅延時間が長くなるのに伴って、ストリームデータを一時的に格納するバッファの容量を大きくする必要がある。そこで、ストリームデータのリアルタイム性、通信ネットワークの安定性等を考慮して、最大ＲＴＴに乗じるｘの値を決定すればよい。
【００７８】
なお、ここでの再送要求の送信し続ける間隔は、最大ＲＴＴに限らず、上流のいずれかのＲＴＴであってもよい。例えば、親端末との間のＲＴＴ（端末２３の場合は端末２１−２３の間のＲＴＴ、端末２７の場合は端末２３−２７の間のＲＴＴ）の間隔で、再送要求を送信し続けてもよい。
【００７９】
上記の手法２は最大ＲＴＴの整数倍を再生遅延時間として用いることで、最大ＲＴＴリンクで再送データの損失が発生した場合であっても対応できるようにしている。これに対して手法３は、各端末ｎに対して再送を実行したい回数αnを個別に設定できるようにするものである。具体的には、下記式１又は式２を用いて、各端末ｎの再生遅延時間ｘ（ｎ）を決定すればよい。
【００８０】
【数３】
2012001866.tif 000005
【００８１】
【数４】
2012001866.tif 000006
【００８２】
なお、上記の式１において、端末ｎの再生遅延時間をｘ（ｎ）、端末ｎの親端末の再生遅延時間をｘ（ｐａｒｅｎｔ）、端末ｎとその親端末との間のＲＴＴをｒｔｔ（ｎ）、端末ｎ毎に設定される正の整数をαnと定義する。そして、条件１：ｒｔｔ（ｎ）≧ｘ（ｐａｒｅｎｔ）を満たす場合は式１を用い、条件２：ｒｔｔ（ｎ）＜ｘ（ｐａｒｅｎｔ）を満たす場合は式２を用いて再生遅延時間ｘ（ｎ）を決定する。
【００８３】
具体的には、端末２２については、ＲＴＴ（２２）＝１００ｍｓ、ｘ（ｐａｒｅｎｔ）＝ｘ（２０）＝０ｍｓであり、条件１を満たす。そこで、ＲＴＴ（２２）＝１００ｍｓ、α22＝２を用いて、端末２２の再生遅延時間ｘ（２２）＝２００ｍｓとなる。なお、端末２２の親端末はルート端末である端末２０であり、データの損失を考慮する必要がないので、再生遅延時間ｘ（２０）＝０ｍｓとなる。
【００８４】
また、端末２５については、ＲＴＴ（２５）＝３００ｍｓ、ｘ（ｐａｒｅｎｔ）＝ｘ（２２）＝２００ｍｓであり、条件１を満たす。そこで、ＲＴＴ（２５）＝３００ｍｓ、α25＝１を用いて、端末２５の再生遅延時間ｘ（２５）＝３００ｍｓとなる。
【００８５】
さらに、端末３１については、ＲＴＴ（３１）＝１００ｍｓ、ｘ（ｐａｒｅｎｔ）＝ｘ（２５）＝３００ｍｓであり、条件２を満たす。そこで、ＲＴＴ（３１）＝１００ｍｓ、ｘ（ｐａｒｅｎｔ）＝３００ｍｓ、α31＝２を用いて、端末３１の再生遅延時間ｘ（３１）＝４００ｍｓとなる。
【００８６】
なお、手法３の式１及び式２における正の整数αnは、端末ｎとその親端末との間でαn回再送を試行したいことを表しており、この値を端末ｎ毎に個別に設定できる。その結果、端末毎に再送試行回数が異なってくる。図５の手法３の欄に、各端末の再送試行回数αnの値（＝親端末からの再送試行回数）と、αnを用いたときに式１及び式２から導かれる各端末の再生遅延時間とを示している。
【００８７】
図８は、手法３の場合における端末２０、２２、２５、３１の処理の時間的推移を示している。なお、図８に示される端末２２、２５、３１は、それぞれ再送データの経路上の最大ＲＴＴの間隔、つまり、端末２２は１００ｍｓ間隔で、端末２５、３１は３００ｍｓ間隔で再送要求を送信し続けるものとする。
【００８８】
まず、端末２２は、図８に示されるように、パケットｐの到達予定時刻ｔ11と、その１００ｍｓ後の時刻ｔ13とに端末２０に対して再送要求を送信する。そして、端末２２は、２度目の再送要求に対する応答として、当初の到達予定時刻ｔ11の２００ｍｓ後の時刻ｔ15に、端末２０から再送パケットｐ’を受信している。ここで、端末２２の再生遅延時間ｘ（２２）＝２００ｍｓ、再送試行回数α22＝２であるので、２度目の再送要求に対して、時刻ｔ15に再送パケットｐ’を受信すれば、再生に間に合うことになる。
【００８９】
また、端末２５は、パケットｐの到達予定時刻ｔ14に端末２２に対して再送要求を送信する。そして、端末２５は、１度目の再送要求に対する応答として、当初の到達予定時刻ｔ14の３００ｍｓ後の時刻ｔ20に、端末２２から再送パケットｐ’を受信している。ここで、端末２５の再生遅延時間ｘ（２５）＝３００ｍｓ、再送試行回数α25＝１であるので、１度目の再送要求に対して、時刻ｔ20に再送パケットｐ’を受信すれば、再生に間に合うことになる。
【００９０】
さらに、端末３１は、パケットｐの到達予定時刻ｔ15と、その３００ｍｓ後の時刻ｔ21とに端末２５に対して再送要求を送信する。そして、端末３１は、２度目の再送要求に対する応答として、当初の到達予定時刻ｔ15の４００ｍｓ後の時刻ｔ23に、端末２５から再送パケットｐ’を受信している。ここで、端末３１の再生遅延時間ｘ（３１）＝４００ｍｓ、再送試行回数α31＝２であるので、２度目の再送要求に対して、時刻ｔ23に再送パケットｐ’を受信すれば、再生に間に合うことになる。
【００９１】
このように、各端末に指定したαnに等しい回数だけ再送を試行した場合でも、すなわち、その再送回数で回復できる回数だけのパケットｐ及び再送パケットｐ’の損失が発生しても、各端末の再生時刻に間に合うように再送パケットｐ’が到着していることが分かる。
【００９２】
なお、ここでの再送要求の送信し続ける間隔は、最大ＲＴＴに限らず、上流のいずれかのＲＴＴであってもよい。例えば、親端末との間のＲＴＴ（端末２２の場合は端末２０−２２の間のＲＴＴ、端末２５の場合は端末２２−２５の間のＲＴＴ、端末３１の場合は端末２５−３１の間のＲＴＴ）の間隔で、再送要求を送信し続けてもよい。
【００９３】
また、手法１、２、３では、各端末が再送データの経路上の各ＲＴＴを取得して、自端末の再生遅延時間を自律的に計算するが、ルート端末等の特定の端末が集中的に計算して、各端末に配布してもよい。
【００９４】
次に、上記の再生遅延時間の計算に必要なＲＴＴの収集方法を図９及び図１０を用いて説明する。ここでも簡単のために第２の再送方式を想定する。このとき、各端末は、ＡＬＭ配信木上の自端末より上流の端末間のＲＴＴのみが必要なＲＴＴとなる。
【００９５】
まず、ルート端末である端末２０は、図９の左側の図に示されるように、端末２１に対してＲＴＴ通知メッセージｍ１を、端末２２に対してＲＴＴ通知メッセージｍ２を送信する。このとき、端末２０は親端末を持たないため、実際にはＲＴＴ情報を含めていないＲＴＴ通知メッセージｍ１、ｍ２を送信することになる。
【００９６】
次に、ＲＴＴ通知メッセージｍ１を受信した端末２１は、図９の中央の図及び図１０に示されるように、自端末−親端末（端末２０）間のＲＴＴを含めた新たなＲＴＴ通知メッセージｍ３、ｍ４を端末２３、２４に向けて送信する。なお、自端末−親端末間のＲＴＴは、図１のＲＴＴ測定部５０１によって測定される。同様に、ＲＴＴ通知メッセージｍ２を受信した端末２２は、自端末−親端末（端末２０）間のＲＴＴを含めた新たなＲＴＴ通知メッセージｍ５、ｍ６を端末２５、２６に向けて送信する。
【００９７】
これらを受信する端末２３〜２６も同様に振る舞い、図９の右側の図に示されるように、端末２７〜３４がメッセージｍ７〜ｍ１４を受信することになる。これらの各ＲＴＴ通知メッセージの内容（含まれるＲＴＴ）を図１０に示している。各端末は、親端末から受信するＲＴＴ通知メッセージの内容と、各端末が自ら測定する親端末との間のＲＴＴとを用いて、再生遅延時間を算出することができる。ここで、親端末とのＲＴＴを測定する具体的な方法としては、例えば、ＲＴＣＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）で用いられている手法等の既存ＲＴＴ測定手法を用いることができる。
【００９８】
なお、ＲＴＴ通知メッセージには、さらに他の情報を付加してもよい。例えば、各端末で決定した再生遅延時間（手法３で必要となる）をさらに含めたＲＴＴ通知メッセージを、子端末に送信するようにしてもよい。
【００９９】
なお、ここでは、図８に示しているようなトップダウン的な手法（処理が上流から下流に流れる方法）で必要なＲＴＴを取得しているが、各端末が自端末に接続されている各端末（以降、隣接端末と記す）とのＲＴＴを測定し、それら情報を全端末間に配布し合う等の手法でもよい。
【０１００】
又は、各端末が親端末とのＲＴＴ、又は隣接端末とのＲＴＴを測定し、それをルート端末に個別に、又はボトムアップ的な手法（処理が下流から上流に流れる手法）で通知し、ルート端末が各端末に必要なＲＴＴを個別に、又は配信木上のマルチキャストによって通知してもよい。又は、これら以外の収集方法を用いてもよい。
【０１０１】
なお、上記の再生遅延時間決定処理は、ストリームデータの配信開始時に１度だけ実行し、当該ストリームデータの配信中は再生遅延時間を固定にしてもよい。又は、所定の時間間隔毎に再生遅延時間決定処理を繰り返し実行し、ストリームデータ配信中に再生遅延時間を更新するようにしてもよい。
【０１０２】
具体的には、ＲＴＴ管理部４０２は、所定の時間間隔毎にＲＴＴ通知メッセージを受信する。ＲＴＴ測定部５０１は、ＲＴＴ管理部４０２でＲＴＴ通知メッセージを受信する度に、自端末−親端末間のＲＴＴを測定する。そして、再生遅延時間決定部４０１は、ＲＴＴ通知メッセージを受信する度に、当該ＲＴＴ通知メッセージに含まれるＲＴＴと、ＲＴＴ測定部５０１で新たに測定されたＲＴＴとを用いて、再生遅延時間決定処理を実行してもよい。
【０１０３】
ただし、ストリームデータの配信中に再生遅延時間が短くなると、既にバッファに保持されているストリームデータを早送りしたり、スキップしたりする必要がある。また、ストリームデータの配信中に再生遅延時間が長くなると、既にバッファに保持されているストリームデータの再生を一時中断したり、スロー再生したりする必要がある。
【０１０４】
このように、ストリームデータの配信中に再生遅延時間を変更すると、再生されている映像又は音声に瞬間的に乱れが生じる。しかしながら、再生遅延時間を常に最適な値に更新することにより、全体としての映像又は音声の乱れは軽減されるので、所定の時間間隔毎に再生遅延時間を更新するのが望ましい。
【０１０５】
なお、再生遅延時間の更新間隔は、通信ネットワークの環境に応じて変更すればよい。例えば、通信環境が不安定な場合には更新間隔を短くし、通信環境が安定している場合には更新間隔を長くしてもよい。
【０１０６】
また、ストリームデータの特性に応じて再生遅延時間の更新に制限を設けてもよい。例えば、高度なリアルタイム性が要求されるストリームデータ（例えば、テレビ会議等）の場合には、再生遅延時間が短くなる場合のみ更新を許可し、中断が許されないストリームデータ（例えば、音楽等）の場合には、再生遅延時間が長くなる場合のみ更新を許可してもよい。
【０１０７】
（実施の形態２）
次に、実施の形態２に係る通信端末の構成及び動作を説明する。なお、実施の形態１との共通点の説明は省略し、相違点を中心に説明する。実施の形態２に係る通信端末は、図３に示される通信端末１００に加えて、損失率管理部と、損失率測定部とを備える。また、再生遅延時間決定部４０１による再生遅延時間の具体的な決定方法が異なる。
【０１０８】
損失率測定部は、自端末とその親端末との間のストリームデータの損失率を測定する。具体的には、ＴＣＰヘッダのシーケンス番号等を参照して、受信したストリームデータのＰＥＲ（Ｐａｃｋｅｔ  Ｅｒｒｏｒ  Ｒａｔｅ）等を算出すればよい。
【０１０９】
損失率管理部は、ＡＬＭ配信木上のルート端末から親端末までの各区間の損失率を含む損失率通知を親端末から受信し、当該損失率通知に損失率定部で測定された損失率を含めて子端末に送信する。
【０１１０】
なお、損失率通知は、ＲＴＴ通知メッセージと同様の方法で、ＲＴＴ通知メッセージとは別のメッセージとして送受信してもよい。この場合、具体的な処理方法は、ＲＴＴ管理部４０２のＲＴＴ通知メッセージと共通する。又は、ＲＴＴ通知メッセージに上記の損失率の情報を含めてもよい。
【０１１１】
そして、実施の形態２に係る再生遅延時間決定部は、ＲＴＴに加えて、損失率管理部で受信した損失率通知に含まれる損失率と、損失率測定部で測定された損失率とを用いて、再生遅延時間を決定する。具体的には、ルート端末から自端末までの各区間のうちのストリームデータの損失率が最も大きい区間のＲＴＴを用いて再生遅延時間を決定する。
【０１１２】
上記のように、再送データの経路上のＲＴＴの情報に加えて、各区間の損失率を考慮して再生遅延時間を決定することにより、ＡＬＭ制御部３０１で再生されるストリームデータの品質がさらに向上する。
【０１１３】
（実施の形態３）
また、本発明は、実施の形態１、２のように、通信端末及び通信方法として実現できるだけではなく、実施の形態１、２の通信方法コンピュータに実行させるためのプログラムとして実現してもよい。
【０１１４】
図１１Ａ〜図１１Ｃは、上記実施の形態１、２の通信方法を格納したフレキシブルディスクＦＤを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１１５】
図１１Ａは、記録媒体本体である磁気ディスクＭＤの物理フォーマットの例を示す。図１１Ｂは、磁気ディスクＭＤを保持するケースＦの正面図、断面図、及び磁気ディスクＭＤを示す。図１１Ｃは、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。
【０１１６】
フレキシブルディスクＦＤは、記録媒体本体である磁気ディスクＭＤと、磁気ディスクＭＤを保持するケースＦとで構成される。磁気ディスクＭＤの表面には、同心円状に外周から内周に向かって複数のトラックＴｒが形成され、各トラックＴｒは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクＦＤは、磁気ディスクＭＤ上に割り当てられた領域に、上記プログラムとしての通信方法が記録されている。
【０１１７】
また、上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての通信方法をフレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスクＦＤ内のプログラムにより通信方法をコンピュータシステムＣｓ中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムをフレキシブルディスクＦＤから読み出し、コンピュータシステムＣｓに転送する。
【０１１８】
なお、上記説明では、記録媒体としてフレキシブルディスクＦＤを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１１９】
また、本発明は、通信装置を構成する構成要素の一部又は全部を、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）から構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。
【０１２０】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１２１】
本発明は、ＡＬＭ配信木による映像配信又は遠隔講義システム等で利用可能である。
【符号の説明】
【０１２２】
１０  通信ネットワーク
１１，１２，１３，１４，１５，１６，１７，２０，２１，２２，２３，２４，２５，２６，２７，２８，２９，３０，３１，３２  端末
１００  通信端末
１０１  再送要求送信部
２０１  再送データ送信部
３０１  ＡＬＭ制御部
４０１，１０１０  再生遅延時間決定部
４０２  ＲＴＴ管理部
５０１  ＲＴＴ測定部
１０２０  再生制御部
【図１】
2012001866.tif 000009
【図２】
2012001866.tif 000010
【図３】
2012001866.tif 000011
【図４】
2012001866.tif 000012
【図５】
2012001866.tif 000013
【図６】
2012001866.tif 000014
【図７】
2012001866.tif 000015
【図８】
2012001866.tif 000016
【図９】
2012001866.tif 000017
【図１０】
2012001866.tif 000018
【図１１Ａ】
2012001866.tif 000019
【図１１Ｂ】
2012001866.tif 000020
【図１１Ｃ】
2012001866.tif 000021
【図１２】
2012001866.tif 000022
【図１３】
2012001866.tif 000023
【図１４】
2012001866.tif 000024
【図１５】
2012001866.tif 000025
【図１６】
2012001866.tif 000026
【図１７】
2012001866.tif 000027
【図１８】
2012001866.tif 000028
【図１９】
2012001866.tif 000029
【図２０】
2012001866.tif 000030
【図２１】
2012001866.tif 000031
【図２２】
2012001866.tif 000032
【図２３】
2012001866.tif 000033
【国際調査報告】
2012001866.tif 000034
2012001866.tif 000035