(57)【要約】【目的】映像受信クライアントの接続台数の増加に伴う映像配信サーバの負荷の増大及び映像配信に必要な帯域の増大を抑え、映像受信クライアントに映像データを効率良く配信することができる映像配信システムを提供すること。【構成】映像配信サーバと映像受信クライアントがＩＰネットワークに接続されている映像配信システムにおいて、前記映像受信クライアントが次に中継転送すべき映像受信クライアントを有し、前記映像配信サーバにより配信された映像データを受信した際に、次に中継転送すべき映像受信クライアントが存在する場合には前記映像データをデコードして表示装置に表示するとともにその映像受信クライアントに前記映像データを中継転送し、次に中継転送すべき映像受信クライアントが存在しない場合には単に前記映像データをデコードして表示装置に表示する。【選択図】　　　図１
2004129122.tif 000002
【特許請求の範囲】
【請求項１】
映像配信サーバと映像受信クライアントがＩＰネットワークに接続されている映像配信システムにおいて、
前記映像受信クライアントが次に中継転送すべき映像受信クライアントを有し、前記映像配信サーバにより配信された映像データを受信した際に、次に中継転送すべき映像受信クライアントが存在する場合には前記映像データをデコードして表示装置に表示するとともにその映像受信クライアントに前記映像データを中継転送し、次に中継転送すべき映像受信クライアントが存在しない場合には単に前記映像データをデコードして表示装置に表示することを特徴とする映像配信システム。
【請求項２】
映像配信サーバと映像受信クライアントがＩＰネットワークに接続されている映像配信システムにおいて、
前記映像配信サーバが前記映像受信クライアントの接続リストを有し、その接続リストに従って前記映像受信クライアントから映像配信要求を受信したときに、前記接続リストの最後尾の映像受信クライアント宛てに前記映像受信クライアントへの映像データの中継転送を要求するとともに接続リストの最後尾に前記映像受信クライアントを追加することを特徴とする映像配信システム。
【請求項３】
映像受信クライアントが映像配信サーバから中継転送要求を受信すると、映像受信クライアントが次に中継転送すべき映像受信クライアントを記憶することを特徴とする請求項２記載の映像配信システム。
【請求項４】
映像配信サーバと映像受信クライアントがＩＰネットワークに接続されている映像配信システムにおいて、
前記映像配信サーバが前記映像受信クライアントの接続リストを有し、その接続リストに従って前記映像受信クライアントから映像配信停止要求を受信したときに、前記接続リストから前記映像受信クライアントを削除し、前記映像受信クライアントへの映像データの中継転送停止を要求することを特徴とする映像配信システム。
【請求項５】
映像受信クライアントが映像配信サーバから中継転送停止要求を受信すると、映像受信クライアントが次に中継転送すべき映像受信クライアントを削除することを特徴とする請求項４記載の映像配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオ等の映像データを１台の映像サーバからＩＰネットワーク上の複数の受信端末に同時配信する映像配信システムに関するものである。
【０００２】
【従来の技術】
近年、インターネットの普及に伴ってインターネット上でビデオ等の大量の映像データを効率的に配信する技術が求められている。従来、このような技術として、ＩＰマルチキャストがある。ここで、ＩＰマルチキャストとは、１つの送信ノードから、複数の受信ノードへ同一のＩＰパケットを送信するための技術である。
【０００３】
一般的なユニキャスト（１対１通信）では、送信すべきデータの量が受信側の数に比例して大きくなり、通信回線の帯域幅も大きくしなければならない。それに対してマルチキャストでは、１つのパケットだけを送信し、必要に応じて途中のルータでデータが複製されて受信ノードに配信される。そのため、不要なトラフィックを減らせる上に負荷も分散される。ＩＰｖ４用ＩＰマルチキャストアドレスはＲＦＣ２３６５　で、ＩＰｖ６用マルチキャストアドレスはＲＦＣ２３７３　，ＲＦＣ２３７５　で述べられている。
【０００４】
又、多数のクライアントからの処理要求により映像サーバに過負荷が発生しそうになった際にそれを未然に防ぐ技術として、特開平９−１０６３８１号のように、映像サーバの機能を代替する代替サーバとして動的に分散配置して稼動させておき、映像サーバの負荷の上限値を超えると、最も負荷の少ない代替サーバを選択する技術が提案されている。
【０００５】
又、映像サーバの負荷を分散して安定した映像配信を実現するために、特開平１１−６８７４１号や特開平２０００−１０１６４２号のように、複数の中継サーバを用意し、中継サーバとクライアント間の転送レートを定期的又は不定期的に測定し、測定の結果により正しく映像ストリームを受信できる中継サーバを選択して経路変更を行う技術が提案されている。
【０００６】
【発明が解決しようとする課題】
ＩＰマルチキャストを利用するためには、ネットワーク上のルータがＩＰマルチキャストに対応している必要がある。現状では、ＩＰマルチキャスト対応のルータは数が少なく、ＩＰマルチキャストを利用できるユーザは限られる。又、クライアント数の増大に応じて、中継サーバ又は代替サーバ１台当たりのクライアント数が増大し、中継サーバ又は代替サーバの負荷が大きくなる。よって、中継サーバ又は代替サーバの負荷分散のために、クライアントとは別端末である中継サーバ又は代替サーバの数を増やす必要がある。そうすると、映像サーバの負荷が増大し、映像サーバから中継サーバ又は代替サーバへの転送レートは低下し、結果的に映像受信クライアントに対して安定した映像配信が困難になる。
【０００７】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、インターネットを介したビデオ等の映像データ配信において、ＩＰマルチキャスト対応のルータを利用することなく、映像受信クライアントの接続台数の増加に伴う映像配信サーバの負荷の増大及び映像配信に必要な帯域の増大を抑え、映像受信クライアントに映像データを効率良く配信することができる映像配信システムを提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明は、映像受信クライアントが次に中継転送すべき映像受信クライアントを有し、映像配信サーバにより配信された映像データを受信した際に、次に中継転送すべき映像受信クライアントが存在する場合には前記映像データをデコードして表示装置に表示するとともにその映像受信クライアントに前記映像データを中継転送し、次に中継転送すべき映像受信クライアントが存在しない場合には単に前記映像データをデコードして表示装置に表示することを特徴とする。
【０００９】
又、映像配信サーバが映像受信クライアントの接続リストを有し、その接続リストに従って映像受信クライアントから映像配信要求を受信したときに、接続リストの最後尾の映像受信クライアント宛てに映像受信クライアントへの映像データの中継転送を要求するとともに接続リストの最後尾に映像受信クライアントを追加することを特徴とする。
【００１０】
その際に、映像受信クライアントが映像配信サーバから中継転送要求を受信すると、映像受信クライアントが次に中継転送すべき映像受信クライアントを記憶することを特徴とする。
【００１１】
更に、映像配信サーバが映像受信クライアントの接続リストを有し、その接続リストに従って映像受信クライアントから映像配信停止要求を受信したときに、接続リストから映像受信クライアントを削除し、映像受信クライアントへの映像データの中継転送停止を要求することを特徴とする。
【００１２】
その際に、映像受信クライアントが映像配信サーバから中継転送停止要求を受信すると、映像受信クライアントが次に中継転送すべき映像受信クライアントを削除することを特徴とする。
【００１３】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１４】
図１は本発明に係る映像配信システムの一実施形態例を示す構成図である。
【００１５】
映像配信サーバ１００と映像受信クライアント１０１〜１０４はＩＰ（ＩｎｔｅｒｎｅｔＰｒｏｔｏｃｏｌ）網１１０に接続される。
【００１６】
図２は図１の映像配信サーバ１００のシステム構成図であり、映像配信サーバ１００は映像ストレージ２００、メモリ２１０、ＣＰＵ２２０、ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ２３０から構成されている。
【００１７】
映像ストレージ２００は、ＭＰＥＧ２やＭＰＥＧ４で圧縮された複数の映像コンテンツを有する。
【００１８】
メモリ２１０上には、映像配信プログラム２１１と映像配信経路を示す映像配信リスト２１２を有す。
【００１９】
図３は映像配信リスト２１２の例を示す図である。
【００２０】
映像配信サーバ３００をＸ０、映像配信サーバ３００から直接映像データを受信する映像受信クライアント３０１をＸ１、映像受信クライアントＸ１から映像データを受信する映像受信クライアント３０２をＸ２、同様に映像受信クライアントＸｉ−１から映像データを受信する映像受信クライアント３０３をＸｉとし、全映像受信クライアント数をｎ、最後尾の映像受信クライアント３０４をＸｎとする（１＜＝ｉ＜＝ｎ−１）。
【００２１】
映像配信プログラム２１１は、映像配信リスト２１２を参照して映像受信クライアントの管理及び映像データの送信をするためのプログラムであり、ＣＰＵ２２０により実行される。
【００２２】
ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ２３０は、映像受信クライアントとの間でＩＰデータの送受信をするためのデバイスである。
【００２３】
映像ストレージ２００から送られる映像データはメモリ２１０上でＩＰ化され、ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ２３０によりＩＰネットワークに送信される。
【００２４】
図４は図１の映像受信クライアント１０１〜１０４のシステム構成図であり、表示装置４００、デコーダ４０１、メモリ４１０、ＣＰＵ４２０、ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ４３０から構成される。
【００２５】
メモリ４１０上には、映像送受信プログラム４１１と映像中継先を示す映像中継リスト４１２を有している。
【００２６】
図５は映像中継リスト４１２の例を示す図である。
【００２７】
映像中継リストには、映像配信サーバ５００及び自クライアント５１０が映像データを転送する次（ｎｅｘｔ）クライアント５２０のＩＰアドレス情報を含む。
【００２８】
ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ４３０は、映像配信サーバとの間でＩＰデータの送受信をするためのデバイスである。
【００２９】
映像送受信プログラム４１１は、ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ４３０からメモリ４１０上に受信したＩＰデータのうち、映像データに関して、映像中継リストを参照して次クライアントに転送すべきかどうか判断し、転送すべきときは映像データをメモリ４１０上で複製して、ＬＡＮ　Ｃｏｎｔｒｏｌｌｅｒ２３０によりＩＰネットワークに送信する。同時に、映像データをデコーダ４０１によりデコードして表示装置４００上に表示する。
【００３０】
又、映像配信制御データに関して、映像中継リストを参照して映像配信サーバとの間で送受信を行う。これらのプログラムはＣＰＵ４２０により実行される。
【００３１】
図６はこのシステムを用いて本発明の課題を解決するための映像配信サーバの映像配信プログラムの手順を示すフローチャートである。
【００３２】
ここでは、図３の映像配信リストに示すように、映像配信サーバをＸ０、映像配信サーバから直接映像データを受信する映像受信クライアントをＸ１、映像受信クライアントＸ１から映像データを受信する映像受信クライアントをＸ２、同様に映像受信クライアントＸｉ−１から映像データを受信する映像受信クライアントをＸｉとし、全映像受信クライアント数をｎ、最後尾の映像受信クライアント３０４をＸｎとする（１＜＝ｉ＜＝ｎ−１）。
【００３３】
映像配信サーバは映像受信クライアントからの配信要求パケット又は配信停止要求パケットをＩＰ　Ｎｅｔｗｏｒｋから受信するのを待つ（Ｓ６００）。
【００３４】
Ｓ６００で映像受信クライアントＹから配信要求パケットを受信すると、映像配信サーバに映像受信クライアントが１台も接続されていない場合はＳ６１１へ、映像配信サーバに１台以上の映像受信クライアントが接続されている場合はＳ６１２へ進む（Ｓ６１０）。
【００３５】
Ｓ６１１で全映像受信クライアント数ｎ＝１、最後尾の映像受信クライアントＸ１＝Ｙ、Ｘ０の次クライアントＸ０−＞ｎｅｘｔ＝Ｙ、Ｙの次クライアントＹ−＞ｎｅｘｔ＝０と映像配信リストを更新する。その後、映像受信クライアントＹ宛てに映像データの送信を開始して、再びＳ６００に戻る。
【００３６】
Ｓ６１２で最後尾クライアントＸｎ宛てに中継要求パケットを送信してクライアントＸｎからの中継確認パケットの受信を待つ。この中継要求パケット及び中継確認パケットには、パラメータとして中継転送先クライアントＹを有する。ここでクライアントＸｎから中継確認パケットの受信待ちタイムアウトすると、Ｓ６００に戻る。クライアントＸｎから中継確認パケットを受信すると、映像受信クライアントＹ宛てに配信確認パケットを送信する（Ｓ６１３）。
【００３７】
その後、全映像受信クライアント数ｎ＝ｎ＋１、最後尾の映像受信クライアントＸｍ＝Ｙ、Ｘｎの次クライアントＸｎ−＞ｎｅｘｔ＝Ｙ、Ｙの次クライアントＹ−＞ｎｅｘｔ＝０と映像配信リストを更新してＳ６００に戻る。
【００３８】
Ｓ６００で映像受信クライアントＸｉから配信停止要求パケットを受信すると、映像配信サーバに映像受信クライアントが１台だけ接続されて場合はＳ６２２へ、映像配信サーバに２台以上の映像受信クライアントが接続されている場合はＳ６２１へ進む（Ｓ６２０）。
【００３９】
Ｓ６２１でこれまで映像受信クライアントＸｉに映像データを中継転送していた映像受信クライアントＸｉ−１宛てに中継変更要求パケットを送信してクライアントＸｉ−１からの中継変更確認パケットの受信を待つ。この中継変更要求パケットには、パラメータとして中継転送先クライアントＸｉ−＞ｎｅｘｔ、即ちこれまでの映像受信クライアントＸｉの中継転送先であるＸｉ＋１を有する。ここでクライアントＸｉ−１から中継変更確認パケットの受信待ちタイムアウトすると、Ｓ６００に戻る。クライアントＸｉ−１から中継変更確認パケットを受信すると、映像受信クライアントＸｉ宛てに配信停止確認パケットを送信する（Ｓ６２２）。
【００４０】
その後、Ｓ６２３でクライアントＸｉが最後尾の映像受信クライアントである場合、即ちｉ＝ｎの場合、最後尾の映像受信クライアントをＸｎ−１に変更してＳ６２５に進む。クライアントＸｉが最後尾の映像受信クライアントでない場合、最後尾の映像受信クライアントをＸｎのままＳ６２５に進む。
【００４１】
Ｓ６２５で全映像受信クライアント数ｎ＝ｎ−１、映像受信クライアントＸｉの次クライアントＸｉ−＞ｎｅｘｔ＝Ｘｉの次クライアントＸｉ−＞ｎｅｘｔ＝Ｘｉ＋１と映像配信リストを更新してＳ６００に戻る。
【００４２】
図７はこのシステムを用いて本発明の課題を解決するための映像受信クライアントの映像送受信プログラムの手順を示すフローチャートである。
【００４３】
映像受信クライアントはＩＰ化された映像データ又は中継変更要求パケット又は中継要求パケットの受信を待つ（Ｓ７００）。
【００４４】
Ｓ７００で映像データを受信すると、次に中継転送すべき映像受信クライアントがない場合は映像データをデコーダに送ってＳ７００へ戻り、次に中継転送すべき映像受信クライアントがある場合はＳ７１１へ進む（Ｓ７１０）。
【００４５】
Ｓ７１１で次に中継転送すべき映像受信クライアント宛てに、受信した映像データを複製して送信しＳ７００に戻る。
【００４６】
Ｓ７００でクライアントＹへの中継要求を受信すると、映像中継リストの次に中継転送すべき映像受信クライアントをクライアントＹに更新する（Ｓ７２０）。その後、映像配信サーバ宛てにクライアントＹへの中継確認を送信し（Ｓ７２１）、Ｓ７００へ戻る。
【００４７】
Ｓ７００でクライアントＺへの中継変更要求を受信すると、映像中継リストの次に中継転送すべき映像受信クライアントをクライアントＺに更新する（Ｓ７３０）。その後、映像配信サーバ宛てにクライアントＺへの中継変更確認を送信し（Ｓ７３１）、Ｓ７００へ戻る。
【００４８】
次に、図１において、映像配信サーバ１００が映像受信クライアント１０１に映像データを配信し、映像受信クライアント１０１が映像受信クライアント１０２に映像データを中継転送し、映像受信クライアント１０２が映像受信クライアント１０３に映像データを中継転送しているものとする。このとき、映像配信サーバ１００の映像配信リストは以下のようになる。
【００４９】
クライアント数ｎ＝３、Ｘ１＝映像受信クライアント１０１、Ｘ２＝映像受信クライアント１０２、最後尾クライアントＸ３＝映像受信クライアント１０３、Ｘ０−＞ｎｅｘｔ＝Ｘ１、Ｘ１−＞ｎｅｘｔ＝Ｘ２、Ｘ２−＞ｎｅｘｔ＝Ｘ３、Ｘ３−＞ｎｅｘｔ＝０。
【００５０】
ここで、映像受信クライアント１０４が映像配信サーバ１００に配信要求を送信して映像データを受信するまでのシーケンスを図８に示す。
【００５１】
映像配信サーバ１００が映像受信クライアント１０４の送信した配信要求パケットを受信すると（Ｓ８００）、映像配信サーバ１００は最後尾クライアントである映像受信クライアント１０３宛てに映像受信クライアント１０４への中継要求パケットを送信する（Ｓ８１０）。映像受信クライアント１０３は前記中継パケットを受信すると、次に中継転送すべき映像受信クライアントを映像受信クライアント１０４と記憶し、映像配信サーバ１００に対して中継確認パケットを返送する（Ｓ８２０）。
【００５２】
映像配信サーバ１００は、前記中継確認パケットを受信すると、映像受信クライアント１０４宛てに配信確認パケットを送信する（Ｓ８３０）。その後、映像配信サーバの映像配信リストは以下のように更新される。
【００５３】
クライアント数ｎ＝４、Ｘ１＝映像受信クライアント１０１、Ｘ２＝映像受信クライアント１０２、Ｘ３＝映像受信クライアント１０３、最後尾クライアントＸ４＝映像受信クライアント１０４、Ｘ０−＞ｎｅｘｔ＝Ｘ１、Ｘ１−＞ｎｅｘｔ＝Ｘ２、Ｘ２−＞ｎｅｘｔ＝Ｘ３、Ｘ３−＞ｎｅｘｔ＝Ｘ４、Ｘ４−＞ｎｅｘｔ＝０。
【００５４】
映像配信サーバ１００は、映像受信クライアント１０１宛てにＩＰ化された映像データを送信する（Ｓ８４０）。映像受信クライアント１０１は、前記映像データを受信すると次に中継転送すべき映像受信クライアント１０２宛てに前記映像データを転送する（Ｓ８５０）。同様に、映像受信クライアント１０２は、前記映像データを受信すると次に中継転送すべき映像受信クライアント１０３宛てに前記映像データを転送する（Ｓ８６０）。同様に、映像受信クライアント１０３は、前記映像データを受信すると次に中継転送すべき映像受信クライアント１０４宛てに前記映像データを転送する（Ｓ８７０）。こうして、映像受信クライアント１０３が映像データを受信するだけのクライアント機能から映像データの中継配信機能をも有することにより、映像受信クライアント１０４が映像配信サーバ１００の有する映像データを受信することが可能となる。
【００５５】
図１において、映像配信サーバ１００が映像受信クライアント１０１に映像データを配信し、映像受信クライアント１０１が映像受信クライアント１０２に映像データを中継転送し、映像受信クライアント１０２が映像受信クライアント１０３に映像データを中継転送し、映像受信クライアント１０３が映像受信クライアント１０４に映像データを中継転送しているものとする。
【００５６】
ここで、映像受信クライアント１０３が映像配信サーバ１００に配信停止要求パケットを送信して映像データの受信を止めるまでのシーケンスを図９に示す。
【００５７】
映像配信サーバ１００が映像受信クライアント１０３の送信した配信停止要求パケットを受信すると（Ｓ９００）、映像配信サーバ１００はＸ３−１＝Ｘ２＝映像受信クライアント１０２宛てに映像受信クライアントＸ３−＞ｎｅｘｔ＝Ｘ４＝映像受信クライアント１０４への中継変更要求パケットを送信する（Ｓ９１０）。映像受信クライアント１０２は、前記中継変更要求パケットを受信すると、次に中継転送すべき映像受信クライアントを映像受信クライアント１０４と記憶し、映像配信サーバ１００に対して中継変更確認パケットを返送する（Ｓ９２０）。映像配信サーバ１００は、前記中継変更確認パケットを受信すると、映像受信クライアント１０３宛てに配信停止確認パケットを送信する（Ｓ９３０）。
【００５８】
その後、映像配信サーバの映像配信リストは以下のように更新される。クライアント数ｎ＝４−１＝３、Ｘ１＝映像受信クライアント１０１、Ｘ２＝映像受信クライアント１０２、Ｘ３＝映像受信クライアント１０３、最後尾クライアントＸ４＝映像受信クライアント１０４、Ｘ０−＞ｎｅｘｔ＝Ｘ１、Ｘ１−＞ｎｅｘｔ＝Ｘ２、Ｘ２−＞ｎｅｘｔ＝Ｘ３−＞ｎｅｘｔ＝Ｘ４、Ｘ４−＞ｎｅｘｔ＝０。
【００５９】
映像配信サーバ１００は、映像受信クライアント１０１宛てにＩＰ化された映像データを送信する（Ｓ９４０）。映像受信クライアント１０１は、前記映像データを受信すると次に中継転送すべき映像受信クライアント１０２宛てに前記映像データを転送する（Ｓ９５０）。同様に、映像受信クライアント１０２は、前記映像データを受信すると次に中継転送すべき映像受信クライアント１０４宛てに前記映像データを転送する（Ｓ９６０）。こうして映像受信クライアント１０３への映像データの配信は停止される。
【００６０】
【発明の効果】
以上の説明で明らかなように、本発明によれば、インターネットを介したビデオ等の映像データ配信において、ＩＰマルチキャスト対応のルータを利用することなく、映像受信クライアントの接続台数の増加に伴う映像配信サーバの負荷及び映像配信に必要な帯域を一定範囲内に抑え、映像受信クライアントに映像データを効率良く配信することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明に係る映像配信システムの構成図である。
【図２】本発明の映像配信サーバのシステム構成図である。
【図３】本発明の映像配信サーバの有する映像配信リストの概念図である。
【図４】本発明の映像受信クライアントのシステム構成図である。
【図５】本発明の映像受信クライアントの有する映像中継リストの概念図である。
【図６】本発明の映像配信サーバの映像配信プログラムの手順を示すフローチャートである。
【図７】本発明の映像受信クライアントの映像送受信プログラムの手順を示すフローチャートである。
【図８】本発明の映像受信クライアントの配信要求手順を示す図である。
【図９】本発明の映像受信クライアントの配信停止要求手順を示す図である。
【符号の説明】
１００　　　　　映像配信サーバ
１０１〜１０４　映像受信クライアント
１１０　　　　　ＩＰ網
２００　　　　　映像ストレージ
２１０　　　　　メモリ
２１２　　　　　映像配信リスト
２２０　　　　　ＣＰＵ
２３０　　　　　ＬＡＮ　Ｃｏｎｙｒｏｌｌｅｒ
３００　　　　　映像配信サーバ
３０１〜３０４　映像受信クライアント
【図１】
2004129122.tif 000003
【図２】
2004129122.tif 000004
【図３】
2004129122.tif 000005
【図４】
2004129122.tif 000006
【図５】
2004129122.tif 000007
【図６】
2004129122.tif 000008
【図７】
2004129122.tif 000009
【図８】
2004129122.tif 000010
【図９】
2004129122.tif 000011