(57)【特許請求の範囲】
【請求項１】
クライアントが、移動通信網内の中継ノードを介してインターネット上のサーバにアクセスし、ストリーミング配信用プロトコルに基づいてマルチメディアコンテンツデータを受信し同時に再生する場合に、当該サーバが前記マルチメディアコンテンツデータの送出レートを制御するマルチメディアストリーミング送出レート制御方法であって、
前記クライアント及び前記中継ノードからのリアルタイム通信用制御パケットを受信して、当該クライアントからのリアルタイム通信用制御パケットと当該中継ノードからのリアルタイム通信用制御パケットとを切り分ける受信切り分け工程と、
前記切り分けにより得られた前記クライアントからのリアルタイム通信用制御パケットから、受信レート情報及び遅延時間情報を含むエンドツーエンド情報を取得するとともに、前記切り分けにより得られた前記中継ノードからのリアルタイム通信用制御パケットから、チャネルレート情報及びバッファ使用量情報を含むネットワーク情報の取得を試行する情報取得工程と、
前記情報取得工程にて前記ネットワーク情報が取得された場合、前記エンドツーエンド情報と当該ネットワーク情報の両方に基づいてレート制御の必要性があるか否かを判定する判定工程と、
前記判定工程における判定結果に基づいて、送出レート、および、前記受信レート情報に対応する送出モードに関するレート制御を行うレート制御工程と、を有し、
レート制御の必要性があるか否かを判定する前記判定工程においては、送出レートを試験的に増加させることにより、前記送出モードを増加させることが出来るかどうかを確かめる工程が含まれるマルチメディアストリーミング送出レート制御方法。
【請求項２】
前記判定工程では、前記情報取得工程にてネットワーク情報が取得されなかった場合には、前記エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定することを特徴とする請求項１記載のマルチメディアストリーミング送出レート制御方法。
【請求項３】
クライアントが、移動通信網内の中継ノードを介してインターネット上のサーバにアクセスし、ストリーミング配信用プロトコルに基づいてマルチメディアコンテンツデータを受信し同時に再生する場合に、当該サーバに搭載され、前記マルチメディアコンテンツデータの送出レートを制御するマルチメディアストリーミング送出レート制御装置であって、
前記クライアント及び前記中継ノードからのリアルタイム通信用制御パケットを受信して、当該クライアントからのリアルタイム通信用制御パケットと当該中継ノードからのリアルタイム通信用制御パケットとを切り分ける受信切り分け手段と、
前記切り分けにより得られた前記クライアントからのリアルタイム通信用制御パケットから、受信レート情報及び遅延時間情報を含むエンドツーエンド情報を取得する第１の情報取得手段と、
前記切り分けにより得られた前記中継ノードからのリアルタイム通信用制御パケットから、チャネルレート情報及びバッファ使用量情報を含むネットワーク情報の取得を試行する第２の情報取得手段と、
前記第２の情報取得手段により前記ネットワーク情報が取得された場合、当該ネットワーク情報と前記第１の情報取得手段により取得された前記エンドツーエンド情報との両方に基づいて、レート制御の必要性があるか否かを判定する第１の判定手段と、
前記第１の判定手段による判定結果に基づいて、送出レート、および、前記受信レート情報に対応する送出モードに関するレート制御を行うレート制御手段と、
を備え、
レート制御の必要性があるか否かを判定する前記第１の判定手段は、送出レートを試験的に増加させることにより、前記送出モードを増加させることが出来るかどうかを確かめるマルチメディアストリーミング送出レート制御装置。
【請求項４】
前記第２の情報取得手段により前記ネットワーク情報が取得されなかった場合、前記第１の情報取得手段により取得された前記エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定する第２の判定手段をさらに備え、
前記レート制御手段は、前記第２の判定手段による判定結果に基づいてレート制御を行うことを特徴とする請求項３記載のマルチメディアストリーミング送出レート制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアントが、移動通信網内の中継ノードを介してインターネット上のサーバにアクセスし、ストリーミング配信用プロトコルに基づいてマルチメディアコンテンツデータを受信し同時に再生する場合に、当該サーバがマルチメディアコンテンツデータの送出レートを制御するマルチメディアストリーミング送出レート制御方法、および当該サーバに搭載され、当該送出レートを制御するマルチメディアストリーミング送出レート制御装置に関する。
【０００２】
【従来の技術】
近年、移動端末が移動通信網を介してインターネット上のマルチメディアコンテンツサーバ（以下、本明細書では「サーバ」という）にアクセスし、ストリーミング配信用プロトコルを用いて当該サーバから映像や音声データを受信しながら同時に再生する、といった移動端末の利用態様が多く見られるようになってきている。
【０００３】
このような利用態様において、帯域幅や遅延時間が刻々と変化するネットワーク環境では、レート制御を行わない場合にはパケットロスや遅延時間の増大などの問題が生じ、その結果、再生時の映像や音声の停止や途切れといった現象につながる。このとき、通常のレート制御方法では、クライアントからサーバへ転送パケットの受信状況（受信レートやパケットロス数、遅延時間など）を報告し、サーバはそれに基づいてレート制御を行っていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、ワイヤレス環境でも上記と同様の制御を行った場合には、以下のような問題点が生じる。即ち、クライアントとサーバ間の遅延時間が大きく、エンドツーエンド型のレポート報告では状況変化に迅速に反応することができず、効果的なレート制御を施すことができない。また、エンドツーエンドで状況を測定しているため、途中のネットワークにおける状況の変化が一時的なゆらぎか、継続的なものかの判別が難しく、そのため無駄なレート制御や制御の発散になりかねない。さらに、エンドツーエンドで状況を測定する場合、途中のネットワークの状況を正確に把握できないため、例えば中継ノードのバッファは増大しており、現在の状況を継続すると中継ノードのバッファがあふれてパケットロスにつながる、または状況変化によるレート制御により別の要因が発生し、かえって制御が逆効果に働くといった制御の予測がつきづらい。
【０００５】
本発明は、上記課題を解決するために成されたものであり、ワイヤレス環境におけるネットワーク情報に基づくレート制御を行うことで、ワイヤレス環境の特性を考慮した効果的なレート制御を実現することができるマルチメディアストリーミング送出レート制御方法および装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るマルチメディアストリーミング送出レート制御方法は、請求項１に記載したように、クライアントが、移動通信網内の中継ノードを介してインターネット上のサーバにアクセスし、ストリーミング配信用プロトコルに基づいてマルチメディアコンテンツデータを受信し同時に再生する場合に、当該サーバが前記マルチメディアコンテンツデータの送出レートを制御するマルチメディアストリーミング送出レート制御方法であって、前記クライアント及び前記中継ノードからのリアルタイム通信用制御パケットを受信して、当該クライアントからのリアルタイム通信用制御パケットと当該中継ノードからのリアルタイム通信用制御パケットとを切り分ける受信切り分け工程と、前記切り分けにより得られた前記クライアントからのリアルタイム通信用制御パケットから、受信レート情報及び遅延時間情報を含むエンドツーエンド情報を取得するとともに、前記切り分けにより得られた前記中継ノードからのリアルタイム通信用制御パケットから、チャネルレート情報及びバッファ使用量情報を含むネットワーク情報の取得を試行する情報取得工程と、前記情報取得工程にて前記ネットワーク情報が取得された場合、前記エンドツーエンド情報と当該ネットワーク情報の両方に基づいてレート制御の必要性があるか否かを判定する判定工程と、前記判定工程における判定結果に基づいて、送出レート、および、前記受信レート情報に対応する送出モードに関するレート制御を行うレート制御工程と、を有し、レート制御の必要性があるか否かを判定する前記判定工程においては、送出レートを試験的に増加させることにより、前記送出モードを増加させることが出来るかどうかを確かめる工程が含まれることを特徴とする。
【０００７】
上記のマルチメディアストリーミング送出レート制御方法では、サーバは、マルチメディアコンテンツデータの送出レートを制御するに際し、受信切り分け工程にて、クライアント及び中継ノードからのリアルタイム通信用制御パケットを受信して、当該クライアントからのリアルタイム通信用制御パケットと当該中継ノードからのリアルタイム通信用制御パケットとを切り分け、情報取得工程にて、切り分けにより得られたクライアントからのリアルタイム通信用制御パケットから、受信レート情報及び遅延時間情報を含むエンドツーエンド情報を取得するとともに、切り分けにより得られた中継ノードからのリアルタイム通信用制御パケットから、チャネルレート情報及びバッファ使用量情報を含むネットワーク情報の取得を試行する。そして、判定工程では、送出レートを試験的に増加させることにより、前記送出モードを増加させることが出来るかどうかを確かめるとともに、上記情報取得工程にてネットワーク情報が取得された場合、エンドツーエンド情報と当該ネットワーク情報の両方に基づいてレート制御の必要性があるか否かを判定し、レート制御工程にて、上記判定工程における判定結果に基づいて、送出レート、および、前記受信レート情報に対応する送出モードに関するレート制御を行う。
【０００８】
これにより、ワイヤレス環境でマルチメディアストリーミング配信を行う場合、サーバは、エンドツーエンド情報のみならず、中継ノードから取得されたネットワーク情報も加味してレート制御を行うことにより、遅延時間の大きいネットワーク環境下でも迅速にネットワーク状況を把握でき、レート制御を効果的に機能させ、パケットロスを回避させることができる。また、受信レート情報及び遅延時間情報を含むエンドツーエンド情報に基づいて制御を行う場合のネットワークに与える制御の影響・効果を予測することが可能になる。さらに、上記エンドツーエンド情報で報告されるパケットロスの要因が網側にあるかクライアント側にあるかを判別できるとともに、当該パケットロスがバースティなロスであるかランダムなロスであるかを判別でき、パケットロスの要因に応じた、より効果的な制御を行うことができる。
【０００９】
また、上記において、請求項２に記載したように、判定工程では、前記情報取得工程にてネットワーク情報が取得されなかった場合には、前記エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定することが望ましい。この場合、クライアントが、中継ノードからのネットワーク情報の提供が無い網上に、セッションの途中で移動した場合においても、通常のエンドツーエンド情報を基に通常のレート制御を継続して行うことができる、というさらなる効果がある。
【００１０】
上記のマルチメディアストリーミング送出レート制御方法に係る発明は、以下のようにマルチメディアストリーミング送出レート制御装置として記述することもでき、これらは同一の技術思想に基づくものであり、同様の作用・効果を奏する。
【００１１】
即ち、本発明に係るマルチメディアストリーミング送出レート制御装置は、請求項３に記載したように、クライアントが、移動通信網内の中継ノードを介してインターネット上のサーバにアクセスし、ストリーミング配信用プロトコルに基づいてマルチメディアコンテンツデータを受信し同時に再生する場合に、当該サーバに搭載され、前記マルチメディアコンテンツデータの送出レートを制御するマルチメディアストリーミング送出レート制御装置であって、前記クライアント及び前記中継ノードからのリアルタイム通信用制御パケットを受信して、当該クライアントからのリアルタイム通信用制御パケットと当該中継ノードからのリアルタイム通信用制御パケットとを切り分ける受信切り分け手段と、前記切り分けにより得られた前記クライアントからのリアルタイム通信用制御パケットから、受信レート情報及び遅延時間情報を含むエンドツーエンド情報を取得する第１の情報取得手段と、前記切り分けにより得られた前記中継ノードからのリアルタイム通信用制御パケットから、チャネルレート情報及びバッファ使用量情報を含むネットワーク情報の取得を試行する第２の情報取得手段と、前記第２の情報取得手段により前記ネットワーク情報が取得された場合、当該ネットワーク情報と前記第１の情報取得手段により取得された前記エンドツーエンド情報との両方に基づいて、レート制御の必要性があるか否かを判定する第１の判定手段と、前記第１の判定手段による判定結果に基づいて、送出レート、および、前記受信レート情報に対応する送出モードに関するレート制御を行うレート制御手段と、を備え、レート制御の必要性があるか否かを判定する前記第１の判定手段は、送出レートを試験的に増加させることにより、前記送出モードを増加させることが出来るかどうかを確かめることを特徴とする。
【００１２】
このとき、マルチメディアストリーミング送出レート制御装置は、請求項４に記載したように、前記第２の情報取得手段により前記ネットワーク情報が取得されなかった場合、前記第１の情報取得手段により取得された前記エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定する第２の判定手段をさらに備え、前記レート制御手段は、前記第２の判定手段による判定結果に基づいてレート制御を行う構成とすることが望ましい。
【００１３】
【発明の実施の形態】
以下、図面を参照して、本発明に係るマルチメディアストリーミング送出レート制御方法および装置の一実施の形態について説明する。
【００１４】
［システム構成及び装置構成］
図１には、マルチメディアストリーミング送出レート制御方式の適用環境の例を示す。この図１に示すように、クライアント（ここでは例えば移動端末（携帯電話、ノート型パーソナルコンピュータ、ＰＨＳ、ＰＤＡ等））１０は、中継ノード（例えば基地局）２０を介して移動通信網３０に接続し、移動通信網３０からゲートウェイを介してインターネット４０上に存在するマルチメディアコンテンツサーバ（以下「サーバ」という）５０に接続する。
【００１５】
サーバ５０は、メディア転送用プロトコルを用いてマルチメディアコンテンツをクライアント１０へストリーミング配信する。クライアント１０は、マルチメディアコンテンツデータを受信すると、セッション開始後のある一定時間は当該マルチメディアコンテンツデータを蓄積し、その後は、マルチメディアコンテンツデータの受信及び蓄積をしながら同時に、既に受信されたマルチメディアコンテンツデータの再生を行う。同時に、クライアント１０からサーバ５０へ、受信バッファ使用量や受信エラー率などの情報を含む受信レポートが応答される。サーバ５０はこの受信レポートを受信すると、エンドツーエンド情報に基づくレート判定を行い、送出レートの増加又は減少、その増減量、期間を決定するなどの適切なレート制御処理を行う。
【００１６】
これに平行して、中継ノード２０からサーバ５０へ、ワイヤレスリンクのチャネルレートやバッファ使用量などのネットワーク情報がレポートされると、サーバ５０は、そのネットワーク情報に基づくレート判定を行い、送出レートの増加、減少やその量、期間を決定するなどの適切なレート制御処理を行う。さらにこの場合、サーバ５０は、エンドツーエンドレート判定の制御においても中継ノード２０からのネットワーク情報を加味して制御することで、ネットワーク情報を受信可能な網環境上では、より効果的なレート判定および制御を機能させることが出来る。
【００１７】
次に、図２を用いて、マルチメディアストリーミング送出レート制御方法を実現するためのサーバ５０の構成を説明する。
【００１８】
サーバ５０は、リアルタイム転送制御パケットを受信してエンドツーエンド情報／ネットワーク情報を判別して後述のエンドツーエンド情報保持部５２等に制御を依頼する制御パケット受信処理部５１と、パケットに含まれるレポート情報を基に受信レートやＲＴＴ、受信・送信レートの累積などの現在値と特定期間の平均値とを評価し、当該評価結果をエンドツーエンド情報として保持するエンドツーエンド情報保持部５２と、チャネルレートやバッファ使用量などのネットワーク情報を保持するネットワーク情報保持部５３と、後述のエンドツーエンド情報判定処理部５６およびネットワーク情報判定処理部５７の判定結果によりレート・モード制御処理を後述のモード・レート制御部５８に依頼するエンドツーエンドレート指示部５４と、ネットワーク情報判定処理部５７の判定結果によりレート・モード制御処理を後述のモード・レート制御部５８に依頼するネットワーク情報活用レート指示部５５と、トライアル期間判定、エンドツーエンドレート増加、減少判定、レート増加可能期間判定などを行うエンドツーエンド情報判定処理部５６と、ネットワーク情報活用エンドレート減少判定とネットワーク情報活用エンドレート増加判定とネットワーク情報活用レート減少判定およびネットワーク情報活用レート増加判定を行うネットワーク情報判定処理部５７と、在圏／圏外処理、トライアル機関制御処理、モード・レートの増加・減少制御処理を行うモード・レート制御部５８とを含んで構成されている。
【００１９】
エンドツーエンド情報判定処理部５６は、トライアル期間中かどうかを判定するトライアル期間判定部５６Ａと、エンドツーエンド情報のうちパケットロス数や受信レート、ＲＴＴなどの情報からモード・レート減少制御を行うかどうかを判定するエンドツーエンドレート減少判定部５６Ｃと、レート増加可能期間判定部５６Ｂと、エンドツーエンド情報のうちパケットロス数や受信レートなどの情報からレート増加制御（トライアル）を行うかどうかを判定するエンドツーエンドレート増加判定部５６Ｄとを含んで構成されている。
【００２０】
ネットワーク情報判定処理部５７は、エンドツーエンドレート指示部５４の依頼によりネットワーク情報のうちバッファ使用量などの情報からモード・レート減少制御を行うかどうかを判定するネットワーク情報活用エンドレート減少判定部５７Ａと、ネットワーク情報のうち下りチャネルレートやバッファ使用量などの情報からレート増加制御を行うかどうかを判定するネットワーク情報活用エンドレート増加判定部５７Ｂと、ネットワーク情報活用レート指示部５５からの依頼によりネットワーク情報のうち下りチャネルレートやバッファ使用量などの情報からモード・レート減少制御を行うかどうかを判定するネットワーク情報活用レート減少判定部５７Ｃと、ネットワーク情報のうち下りチャネルレートやバッファ使用量などの情報からレート増加制御を行うかどうかを判定するネットワーク情報活用レート増加判定部５７Ｄとを含んで構成されている。
【００２１】
モード・レート制御部５８は、圏内流入、圏外流出時に送信を停止、再開する在圏／圏外処理部５８Ａと、一時的に送出レートを増加させ、モードの増加可能性を検証するためのトライアル期間制御部５８Ｂと、モード増加制御部５８Ｃと、レート増加制御部５８Ｄと、レート・モード減少制御部５８Ｅとを含んで構成されている。
【００２２】
［送出レート制御方法に係る動作の説明］
以下、図３〜図１８を用いて本発明のマルチメディアストリーミング送出レート制御方法に係る動作を説明する。
【００２３】
［メイン処理］
図３には、本発明のマルチメディアストリーミング送出レート制御方法に係るメイン処理を示す。サーバ５０では、制御パケット受信処理部５１によりリアルタイム転送制御パケット（例：ＲＴＣＰ：Realtime Transport Control Protocol）を受信すると（図３のＳ０１）、当該制御パケットの種別を示すタイプフィールドを参照し、当該制御パケットがクライアントから受信レポートとして転送されたエンドツーエンド情報を含む制御パケットか否か（網内の中継ノード２０から送信されたネットワーク情報を含む制御パケットか）を制御パケット受信処理部５１により判別する（Ｓ０２）。
【００２４】
当該制御パケットがエンドツーエンド情報を含む制御パケットである場合（Ｓ０２で肯定判定の場合）は、エンドツーエンド情報保持部５２が、当該エンドツーエンド情報を受信し（Ｓ０３）、受信したエンドツーエンド情報に基づいて受信レートやＲＴＴ（Round Trip Time）、受信・送信レートの累積、ネットワーク滞留量などの現在値を計算して、現在のエンドツーエンド情報を評価し評価情報を保持する（Ｓ０４）。そして、エンドツーエンド情報保持部５２は、受信レートやＲＴＴの特定期間（予め定められたＸ秒間）の平均値を計算し、計算結果を保持する（Ｓ０５）。さらに、保持されたエンドツーエンド情報を基に、エンドツーエンド情報判定処理部５６、エンドツーエンドレート指示部５４及びモード・レート制御部５８により、レートやモードの増加・減少を左右する後述のエンドツーエンド送信レート制御処理を行って（Ｓ０６）、メイン処理を終了する。
【００２５】
一方、Ｓ０２で当該制御パケットがネットワーク情報を含む制御パケットである場合（Ｓ０７で肯定判定の場合）は、ネットワーク情報保持部５３が、ネットワーク情報（例えばチャネルレートやバッファ使用量などの情報）を受信し保持する（Ｓ０８）。そして、保持されたネットワーク情報を基に、ネットワーク情報判定処理部５７、ネットワーク情報活用レート指示部５５及びモード・レート制御部５８により、レートやモードの増加・減少を左右する後述のネットワーク情報活用レート制御処理を行って（Ｓ０９）、メイン処理を終了する。
【００２６】
なお、当該制御パケットが、エンドツーエンド情報を含む制御パケットでもネットワーク情報を含む制御パケットでもない場合（Ｓ０２、Ｓ０７でともに否定判定の場合）は、処理をせずに終了する。
【００２７】
以下では、サーバ５０で受信された制御パケットがエンドツーエンド情報を含む制御パケットである場合に実行される図４のエンドツーエンド送信レート制御処理（図３のＳ０６）と、サーバ５０で受信された制御パケットがネットワーク情報を含む制御パケットである場合に実行される図１５のネットワーク情報活用レート制御処理（図３のＳ０９）とを、そのサブルーチンも含めて説明する。
【００２８】
［（１）エンドツーエンド送信レート制御処理］
図４には、図３のメイン処理のＳ０６で実行されるエンドツーエンド送信レート制御処理を示す。この処理は、トライアル期間中に実行する図５〜図８のトライアル期間制御処理（Ｓ２２）と、図９〜図１１のレート・モードの減少制御に関する処理（Ｓ２３〜Ｓ２７）と、図１２〜図１４のレートの増加制御に関する処理（Ｓ２８〜Ｓ３３）とから構成される。以下、これら３つについて順に説明する。
【００２９】
［（１−１）トライアル期間制御処理］
図４の処理では、まず、送出レートを試験的に増加させ送出モードを増加させることが出来るかどうかを決定するトライアル期間中であるかどうかを判定する（Ｓ２１）。ここでのトライアル期間とは、送出するコンテンツのモードはそのままで、送出レート量を一定期間増加させて受信量を測定することにより、送出するモードを増加させることの可能性を判定する期間を意味する。Ｓ２１にてトライアル期間中でないならば、後述のレート・モードの減少制御に関する処理又はレートの増加制御に関する処理を行い、トライアル期間中であれば、以下のトライアル期間制御処理を行う（Ｓ２２）。
【００３０】
図５には、図４の処理のＳ２２で実行されるトライアル期間制御処理を示す。最初に、エンドツーエンド情報のうちのパケットロス数を参照することで、パケットロスが発生しているか否かを判定する（Ｓ４１）。Ｓ４１でパケットロスが発生していれば、後述のトライアル期間を終了するための後述の休止期間開始処理（Ｓ４５）へジャンプする。
【００３１】
Ｓ４１でパケットロスが発生していなければ、エンドツーエンド情報のうちの受信レートを参照することで、受信レートがトライアル開始時より低下（例えば受信レートがトライアル開始時の送信レートのＸ％（トライアル開始時の所定の条件）よりも低下）しているか否かを判定する（Ｓ４２）。Ｓ４２で受信レートがトライアル開始時より低下していれば、休止期間開始処理（Ｓ４５）へジャンプする。
【００３２】
一方、Ｓ４２で受信レートがトライアル開始時よりも低下していなければ、受信レートが送信レートに追従している（例えば受信レートが送信レートのＸ％（トライアル開始時の所定の条件）以上に達している）か否かを判定する（Ｓ４３）。Ｓ４３で受信レートが送信レートに追従していなければ、トライアル期間を継続するため、何ら処理を行わずにそのまま図５の処理を終了する。
【００３３】
一方、Ｓ４３で受信レートが送信レートに追従していれば、トライアル成功とし、コンテンツのモードを増加させる図６のモード増加制御処理を行う（Ｓ４４）。
【００３４】
図６のモード増加制御処理では、後述のエンドツーエンドレート増加判定またはネットワーク情報活用レート増加判定等により設定された変更後のモードが現在のモードよりも大きいか否かを判定し（Ｓ５１）、変更後のモードが現在のモード以下の場合（Ｓ５１で否定判定の場合）はモードを変更せずに、リターンする。
【００３５】
変更後のモードが現在のモードよりも大きければ、変更後のモードがモードの上限以下であるか否か（Ｓ５２）、変更後のモードがモードの下限以上であるか否か（Ｓ５３）をそれぞれ判定する。ここで、変更後のモードがモードの上限より大きい場合（Ｓ５２で否定判定の場合）及び変更後のモードがモードの下限より小さい場合（Ｓ５３で否定判定の場合）もモードを変更せずに、リターンする。一方、変更後のモードがモードの上限と下限の範囲内に収まっている場合（Ｓ５２、Ｓ５３ともに肯定判定の場合）にはモードを変更（増加）させて（Ｓ５４）、リターンする。
【００３６】
その後、図５の処理に戻り、トライアル期間を終了するための図７の休止期間開始処理（Ｓ４５）に入る。
【００３７】
図７には休止期間開始処理を、図８には休止期間終了処理を、それぞれ示す。図７の休止期間開始処理に入ると、トライアル期間開始時に設定したトライアル期間終了タイマを解除するためのトライアル期間終了処理を行う（Ｓ６１）。その後、休止期間終了のタイマを設定し（Ｓ６２）、休止期間が終了するまで送信レートをトライアルレート分減少させて（Ｓ６３）、リターンする。一方、休止期間が終了し、休止期間終了タイマがタイムアウトすると、図８の休止期間終了処理が起動され、送信レートにトライアルレート分を加算することで送信レートを回復させて（Ｓ６５）、リターンする。
【００３８】
そして、上記の休止期間開始処理の後、図５のトライアル期間制御処理を終了する。
【００３９】
［（１−２）レート・モードの減少制御に関する処理］
図４の処理では、まず、送出レートを試験的に増加させ送出モードを増加させることが出来るかどうかを決定するトライアル期間中であるかどうかを判定し（Ｓ２１）、ここで、トライアル期間中でないならば、まずレート・モードの減少制御に関する処理（Ｓ２３〜Ｓ２７）を行う。
【００４０】
最初に、保持するネットワーク情報のうちのバッファ使用量などの情報からネットワーク情報活用エンドレート減少判定（図９）を行う（Ｓ２３）。即ち、図９に示すように、予め保持するネットワーク情報のうちバッファ量を参照し、バッファ量が所定の閾値を超えているか否かを判定する（Ｓ７１）。ここで、バッファ量が閾値を超えていたら判定結果をＯＫとし（Ｓ７２）、バッファ量が閾値以下なら判定結果をＮＧとして（Ｓ７３）、リターンする。
【００４１】
図４のＳ２４で判定結果がＮＧなら、Ｓ２８へジャンプする。Ｓ２４で判定結果がＯＫなら、保持するエンドツーエンド情報のうちのパケットロス数、受信レート、ＲＴＴなどの情報に基づいてエンドツーエンドレート減少判定処理（図１０）を行う（Ｓ２５）。
【００４２】
即ち、図１０に示すように、パケットロス数が所定の閾値以上か否かを判定し（Ｓ８１）、パケットロス数が閾値以上であれば（Ｓ８１で肯定判定されれば）、モードを、受信レートに対応するモードに変更し（Ｓ８７）、判定結果をＯＫとして（Ｓ８８）、リターンする。
【００４３】
一方、パケットロス数は閾値未満なら、受信レートが送信レート以上か否かを判定する（Ｓ８２）。ここで受信レートが送信レート以上であれば（Ｓ８２で肯定判定されれば）、判定結果をＮＧとし（Ｓ８６）レート減少を行わずに、リターンする。
【００４４】
また、受信レートは送信レートより少なければ、ネットワーク滞留量が所定値よりも少ない（例えば受信レートの滞積量が送信レートの滞積量のＸ％以上）か否かを判定する（Ｓ８３）。ここでネットワーク滞留量が所定値よりも少ないならば（Ｓ８３で肯定判定されれば）、判定結果をＮＧとし（Ｓ８６）レート減少は行わずに、リターンする。
【００４５】
また、ネットワーク滞留量が所定値以上ならば、ＲＴＴが指定値以上か否かを判定する（Ｓ８４）。ここでＲＴＴが指定値以上になっている場合（Ｓ８４で肯定判定の場合）には、中継ノード２０のバッファにパケットが滞留しているものと判断できるため、モードを受信レートに対応するモードに変更し（Ｓ８７）、判定結果をＯＫとして（Ｓ８８）、リターンする。
【００４６】
また、ＲＴＴが指定値未満ならば、受信レートが送信レートに追従しているか否かを判定する（Ｓ８５）。ここで受信レートが送信レートに追従していない場合（Ｓ８５で否定判定の場合）には、ＲＴＴが指定値以上の場合と同様に、モードを受信レートに対応するモードに変更し（Ｓ８７）、判定結果をＯＫとして（Ｓ８８）、リターンする。
【００４７】
さらに、受信レートが送信レートに追従している場合（Ｓ８５で肯定判定の場合）には、判定結果をＮＧとして（Ｓ８６）、リターンする。
【００４８】
なお、上記のエンドツーエンドレート減少判定処理に関しては、図１０の処理は１つの判定例であり、判定項目が上記のうちの一部になる場合や順番が変わること、別の判定項目を追加することもありうる。
【００４９】
図４において次のＳ２６で、Ｓ２５の判定結果がＮＧなら、Ｓ２８へジャンプする。Ｓ２６で判定結果がＯＫなら、送出するコンテンツのモードを減少させるレート・モード減少制御処理（図１１）を行う（Ｓ２７）。
【００５０】
図１１のレート・モード減少制御処理では、エンドツーエンドレート減少判定またはネットワーク情報活用レート減少判定等により設定された変更後のモードが現在のモードよりも小さいか否かを判定し（Ｓ９１）、変更後のモードが現在のモード以上の場合（Ｓ９１で否定判定の場合）はモードを変更せずに、リターンする。
【００５１】
変更後のモードが現在のモードよりも小さければ、変更後のモードがモードの上限以下であるか否か（Ｓ９２）、変更後のモードがモードの下限以上であるか否か（Ｓ９３）をそれぞれ判定する。ここで、変更後のモードがモードの上限より大きい場合（Ｓ９２で否定判定の場合）及び変更後のモードがモードの下限より小さい場合（Ｓ９３で否定判定の場合）もモードを変更せずに、リターンする。一方、変更後のモードがモードの上限と下限の範囲内に収まっている場合（Ｓ９２、Ｓ９３ともに肯定判定の場合）にはモードを変更（減少）させて（Ｓ９４）、図４の処理へリターンする。
【００５２】
［（１−３）レートの増加制御に関する処理］
図４の処理へリターンすると、次に、当該時点がレート増加可能期間か否かを判定し（Ｓ２８）、レート増加可能期間でなければ、処理をせずにリターンする。一方、レート増加可能期間であれば、以下のレートの増加制御に関する処理（Ｓ２９〜Ｓ３３）を行う。
【００５３】
最初に、保持するネットワーク情報のうちのバッファ使用量などの情報からネットワーク情報活用エンドレート増加判定（図１２）を行う（Ｓ２９）。
【００５４】
即ち、図１２に示すように、現在の送出レートを特定量増大させるためにトライアルレートを送出レートに加算したレートが、予め保持したネットワーク情報のうちの下りチャネルレート以上であるか否かを判定し（Ｓ１０１）、加算したレートが下りチャネルレート以上であれば、レート増加は不要と判断できるため、判定結果をＮＧとし（Ｓ１０４）レート増加は行わずに、リターンする。
【００５５】
一方、送出レートにトライアルレートを加算したレートが下りチャネルレート未満であればバッファ量が所定の閾値以上か否かを判定し（Ｓ１０２）、バッファ量が所定の閾値以上であれば、判定結果をＮＧとして（Ｓ１０４）、リターンする。バッファ量が所定の閾値未満ならば、判定結果をＯＫとして（Ｓ１０３）、リターンする。
【００５６】
図４において次のＳ３０で、Ｓ２９の判定結果がＮＧなら、図４の処理を終了する。Ｓ３０で判定結果がＯＫならば、保持するエンドツーエンド情報のうちのパケットロス数などの情報から、エンドツーエンドレート増加判定処理（図１３）を行う（図４のＳ３１）。
【００５７】
即ち、図１３に示すように、エンドツーエンド情報のうちのパケットロス数を参照してパケットロスがあるか否かを判定し（Ｓ１１１）、パケットロスがあれば（Ｓ１１１で肯定判定されれば）、判定結果をＮＧとし（Ｓ１１５）、レート増加を行わずにリターンする。
【００５８】
一方、パケットロスが無いときは、受信レートが送信レートに追従しているか否かを判定し（Ｓ１１２）、受信レートが送信レートに追従していない場合（Ｓ１１２で否定判定された場合）には、パケットロスがある場合と同様に判定結果をＮＧとし（Ｓ１１５）、レート増加を行わずにリターンする。
【００５９】
また、受信レートが送信レートに追従している場合（Ｓ１１２で肯定判定された場合）には、変更後のモードを現在のモードより所定量増加させ（Ｓ１１３）、判定結果をＯＫとして（Ｓ１１４）、リターンする。
【００６０】
図４において次のＳ３２で、Ｓ３１の判定結果がＮＧなら、図４の処理を終了する。Ｓ３２で判定結果がＯＫならば、モード増加可能性を検証するトライアル期間に入るための図１４のレート増加制御処理を行う（Ｓ３３）。
【００６１】
図１４のレート増加制御処理では、図４のエンドツーエンド送信レート制御処理のＳ２１で参照されるトライアル期間フラグ（即ち、トライアル期間中であることを示すフラグ）を立てるなどして、トライアル期間を開始する（Ｓ１２１）。一定期間後にトライアル期間を終了して休止期間を開始するためのトライアル期間終了タイマを設定する（Ｓ１２２）。その後、トライアル期間中は、送信レートにトライアルレートを加算する（Ｓ１２３）。このようなレート増加制御処理を実行した後、図４の処理を終了する。
【００６２】
［（２）ネットワーク情報活用レート制御処理］
図１５のネットワーク情報活用制御処理においては、予め保持したネットワーク情報のうちの在圏、圏外情報から、圏内への流入、圏外への流出の判定を行い、送信の一旦停止や再開を行う図１６の在圏／圏外処理を行う（Ｓ１３１）。
【００６３】
図１６に示すように、在圏／圏外処理では、現在圏内状態であり且つネットワーク情報が圏外に変更になったか否かを判定し（Ｓ１４１）、現在圏内状態であり且つネットワーク情報が圏外に変更になったら、送信を一旦停止（中止）して（Ｓ１４２）リターンする。また、Ｓ１４１で否定判定であれば、現在圏外状態であり且つネットワーク情報が圏内に変更になったか否かを判定し（Ｓ１４３）、現在圏外状態であり且つネットワーク情報が圏内に変更になったら、送信を再開して（Ｓ１４４）リターンする。Ｓ１４３で否定判定であれば、そのままリターンする。
【００６４】
図１５で次のＳ１３２では、図１７のネットワーク情報活用レート減少判定処理を行う。この処理では、まず、下りチャネルレートと一致するモードが現モード以下であるか否かを判定する（Ｓ１５１）。ここで、下りチャネルレートと一致するモードが現モードより大きい場合、判定結果をＮＧとして（Ｓ１５６）リターンする。
【００６５】
一方、下りチャネルレートと一致するモードが現モード以下の場合には、現モードを下りチャネルレートと一致するモードに変更する（Ｓ１５２）。さらに、バッファ使用量が所定の閾値以上か否かを判定し（Ｓ１５３）、バッファ使用量が所定の閾値未満なら、そのまま判定結果をＯＫとして（Ｓ１５５）リターンする。また、バッファ使用量が所定の閾値以上なら、さらに現モードを数段低下させ（Ｓ１５４）判定結果をＯＫとして（Ｓ１５５）リターンする。
【００６６】
図１５のＳ１３３では、Ｓ１３２での判定結果がＮＧなら、後述のＳ１３５へ進み、Ｓ１３２での判定結果がＯＫならば、図１１のレート・モード減少制御処理を行う（Ｓ１３４）。この処理では、エンドツーエンドレート減少判定またはネットワーク情報活用レート減少判定等により設定された変更後のモードが現在のモードよりも小さいか否かを判定し（Ｓ９１）、変更後のモードが現在のモード以上の場合（Ｓ９１で否定判定の場合）はモードを変更せずに、リターンする。
【００６７】
変更後のモードが現在のモードよりも小さければ、変更後のモードがモードの上限以下であるか否か（Ｓ９２）、変更後のモードがモードの下限以上であるか否か（Ｓ９３）をそれぞれ判定する。ここで、変更後のモードがモードの上限より大きい場合（Ｓ９２で否定判定の場合）及び変更後のモードがモードの下限より小さい場合（Ｓ９３で否定判定の場合）もモードを変更せずに、リターンする。一方、変更後のモードがモードの上限と下限の範囲内に収まっている場合（Ｓ９２、Ｓ９３ともに肯定判定の場合）にはモードを変更（減少）させて（Ｓ９４）、図１５の処理へリターンする。
【００６８】
図１５において次のＳ１３５では、図１８のネットワーク情報活用レート増加判定処理を行う。この処理では、まず、下りチャネルレートと一致するモードが現モードより大きいか否かを判定する（Ｓ１６１）。ここで、下りチャネルレートと一致するモードが現モード以下である場合、判定結果をＮＧとして（Ｓ１６５）リターンする。
【００６９】
一方、下りチャネルレートと一致するモードが現モードより大きい場合には、バッファ使用量が所定の閾値以下か否かを判定し（Ｓ１６２）、バッファ使用量が所定の閾値より大きいなら、判定結果をＮＧとして（Ｓ１６５）リターンする。また、バッファ使用量が所定の閾値以下なら、現モードを下りチャネルレートと一致するモードに変更する（Ｓ１６３）。そして、判定結果をＯＫとして（Ｓ１６４）リターンする。
【００７０】
図１５のＳ１３６では、Ｓ１３５での判定結果がＮＧなら、図１５の処理を終了し、Ｓ１３５での判定結果がＯＫならば、図１４のレート増加制御処理を行う（Ｓ１３７）。この処理では、図４のエンドツーエンド送信レート制御処理のＳ２１で参照されるトライアル期間フラグ（即ち、トライアル期間中であることを示すフラグ）を立てるなどして、トライアル期間を開始する（Ｓ１２１）。一定期間後にトライアル期間を終了して休止期間を開始するためのトライアル期間終了タイマを設定する（Ｓ１２２）。その後、トライアル期間中は、送信レートにトライアルレートを加算する（Ｓ１２３）。このようなレート増加制御処理を実行した後、図１５の処理を終了する。
【００７１】
なお、上記のネットワーク情報活用レート増加・減少判定処理に関しては、図１７、図１８の処理は１つの判定例であり、判定項目が上記のうちの一部になる場合や順番が変わること、別の判定項目を追加することもありうる。
【００７２】
以上のような実施形態によれば、ワイヤレス環境でマルチメディアストリーミング配信を行う場合、サーバ５０は、エンドツーエンド情報のみならず、中継ノード２０から取得されたネットワーク情報も加味してレート制御を行うことにより、遅延時間の大きいネットワーク環境下でも迅速にネットワーク状況を把握でき、レート制御を効果的に機能させ、パケットロスを回避させることができる。また、受信レート情報及び遅延時間情報を含むエンドツーエンド情報に基づいて制御を行う場合のネットワークに与える制御の影響・効果を予測することが可能になる。
【００７３】
また、上記エンドツーエンド情報で報告されるパケットロスの要因が網３０側にあるかクライアント１０側にあるかを判別できるとともに、当該パケットロスがバースティなロスであるかランダムなロスであるかを判別でき、パケットロスの要因に応じた、より効果的な制御を行うことができる。
【００７４】
さらに、ネットワーク情報が取得されなかった場合であっても、エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定することにより、クライアント１０が、中継ノード２０からのネットワーク情報の提供が無い網上にセッションの途中で移動した場合においても、通常のエンドツーエンド情報を基に通常のレート制御を継続して行うことができる。
【００７５】
【発明の効果】
以上説明したように、本発明によれば、ワイヤレス環境でマルチメディアストリーミング配信を行う場合、サーバは、エンドツーエンド情報のみならず、中継ノードから取得されたネットワーク情報も加味してレート制御を行うことにより、遅延時間の大きいネットワーク環境下でも迅速にネットワーク状況を把握でき、レート制御を効果的に機能させ、パケットロスを回避させることができる。
【００７６】
また、受信レート情報及び遅延時間情報を含むエンドツーエンド情報に基づいて制御を行う場合のネットワークに与える制御の影響・効果を予測することが可能になる。
【００７７】
また、上記エンドツーエンド情報で報告されるパケットロスの要因が網側にあるかクライアント側にあるかを判別できるとともに、当該パケットロスがバースティなロスであるかランダムなロスであるかを判別でき、パケットロスの要因に応じた、より効果的な制御を行うことができる。
【００７８】
さらに、ネットワーク情報が取得されなかった場合に、エンドツーエンド情報のみに基づいてレート制御の必要性があるか否かを判定することにより、クライアントが、中継ノードからのネットワーク情報の提供が無い網上に、セッションの途中で移動した場合においても、通常のエンドツーエンド情報を基に通常のレート制御を継続して行うことができる、というさらなる効果が得られる。
【図面の簡単な説明】
【図１】マルチメディアストリーミング送出レート制御方式の適用環境の例を示す図である。
【図２】サーバの構成図である。
【図３】本実施形態のメイン処理の流れ図である。
【図４】エンドツーエンド送信レート制御処理の流れ図である。
【図５】トライアル期間制御処理の流れ図である。
【図６】モード増加制御処理の流れ図である。
【図７】休止期間開始処理の流れ図である。
【図８】休止期間終了処理の流れ図である。
【図９】ネットワーク情報活用エンドレート減少判定処理の流れ図である。
【図１０】エンドツーエンドレート減少判定処理の流れ図である。
【図１１】レート・モード減少制御処理の流れ図である。
【図１２】ネットワーク情報活用エンドレート増加判定処理の流れ図である。
【図１３】エンドツーエンドレート増加判定処理の流れ図である。
【図１４】レート増加制御処理の流れ図である。
【図１５】ネットワーク情報活用レート制御処理の流れ図である。
【図１６】在圏／圏外処理の流れ図である。
【図１７】ネットワーク情報活用レート減少判定処理の流れ図である。
【図１８】ネットワーク情報活用レート増加判定処理の流れ図である。
【符号の説明】
１０…クライアント、２０…中継ノード、３０…移動通信網、４０…インターネット、５０…サーバ、５１…制御パケット受信処理部、５２…エンドツーエンド情報保持部、５３…ネットワーク情報保持部、５４…エンドツーエンドレート指示部、５５…ネットワーク情報活用レート指示部、５６…エンドツーエンド情報判定処理部、５６Ａ…トライアル期間判定部、５６Ｂ…レート増加可能期間判定部、５６Ｃ…エンドツーエンドレート減少判定部、５６Ｄ…エンドツーエンドレート増加判定部、５７…ネットワーク情報判定処理部、５７Ａ…ネットワーク情報活用エンドレート減少判定部、５７Ｂ…ネットワーク情報活用エンドレート増加判定部、５７Ｃ…ネットワーク情報活用レート減少判定部、５７Ｄ…ネットワーク情報活用レート増加判定部、５８…モード・レート制御部、５８Ａ…在圏／圏外処理部、５８Ｂ…トライアル期間制御部、５８Ｃ…モード増加制御部、５８Ｄ…レート増加制御部、５８Ｅ…レート・モード減少制御部。
【図１】
0004351418.tif 000002
【図２】
0004351418.tif 000003
【図３】
0004351418.tif 000004
【図４】
0004351418.tif 000005
【図５】
0004351418.tif 000006
【図６】
0004351418.tif 000007
【図７】
0004351418.tif 000008
【図８】
0004351418.tif 000009
【図９】
0004351418.tif 000010
【図１０】
0004351418.tif 000011
【図１１】
0004351418.tif 000012
【図１２】
0004351418.tif 000013
【図１３】
0004351418.tif 000014
【図１４】
0004351418.tif 000015
【図１５】
0004351418.tif 000016
【図１６】
0004351418.tif 000017
【図１７】
0004351418.tif 000018
【図１８】
0004351418.tif 000019