(57)【要約】    【課題】      ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止すること。    【解決手段】  ストリーミング受信装置１００においてネットワークを経由して配信サーバ装置１０１から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置１０１に対して指示する一方、配信サーバ装置１０１においてストリーミング受信装置１００からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行う。  【選択図】      図１
2006148789.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを経由して配信サーバ装置から配信されるストリーミングデータを一時的に保持するバッファメモリと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するバッファメモリ管理部と、前記バッファメモリの使用量に応じて前記配信サーバ装置に対してストリーミングデータの転送レートの調整を指示する転送レート調整指示部と、を具備し、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示することを特徴とするストリーミング受信装置。
【請求項２】
前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示することを特徴とする請求項１記載のストリーミング受信装置。
【請求項３】
前記転送レート調整指示部は、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示することを特徴とする請求項２記載のストリーミング受信装置。
【請求項４】
前記転送レート調整指示部は、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示することを特徴とする請求項１記載のストリーミング受信装置。
【請求項５】
ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信すると共に前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付ける配信処理部と、前記調整指示に応じてストリーミングデータの転送レートの調整を行う転送レート調整部と、を具備し、前記転送レート調整部は、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定することを特徴とする配信サーバ装置。
【請求項６】
前記転送レート調整部は、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定することを特徴とする請求項５記載の配信サーバ装置。
【請求項７】
ネットワークを経由して配信サーバ装置から配信されるストリーミングデータをバッファメモリに一時的に保持するステップと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するステップと、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示するステップと、を具備することを特徴とするストリーミング受信方法。
【請求項８】
前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示することを特徴とする請求項７記載のストリーミング受信方法。
【請求項９】
ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示することを特徴とする請求項８記載のストリーミング受信方法。
【請求項１０】
前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示することを特徴とする請求項７記載のストリーミング受信方法。
【請求項１１】
ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信するステップと、前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けるステップと、前記調整指示に応じてストリーミングデータの転送レートの調整を行うステップと、を具備し、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定することを特徴とするストリーミング送信方法。
【請求項１２】
前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定することを特徴とする請求項１１記載のストリーミング送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを経由したストリーミング通信によってコンテンツデータを送受信するストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法に関する。
【背景技術】
【０００２】
ＶＯＤ（Ｖｉｄｅｏ  Ｏｎ  Ｄｅｍａｎｄ）サービスに代表されるストリーミングサービスにおいて、配信サーバ装置の転送レートは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）コンテンツのビットレートに従って決定される。具体的には、ＭＰＥＧコンテンツのヘッダ情報からビットレート情報を取得するか、あるいは、表示時間（ＰＴＳ：Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）間のデータ量を測定することにより、ＭＰＥＧコンテンツのビットレートを判断し、転送するパケット長、通信媒体の転送速度を考慮して転送間隔を算出する。配信サーバ装置は、この転送間隔毎にパケットをストリーミング受信装置に送信し、ストリーミング受信装置は、受信したパケットを伸張後、ＴＶに表示する。
【０００３】
現在では、パケットの優先度制御や帯域予約等によって、ネットワーク品質を保証するネットワーク環境が構築可能である。これによって転送レートを確保するため、コネクションレス型のストリーミング通信方式を採用したＶＯＤサービスにおいても、パケットロスが無く、遅延も最小限とした通信品質を確保することが可能となっている。また、一般的に商用のＶＯＤサービスにおいて、提供するＭＰＥＧコンテンツのビットレートは、ネットワーク性能と比較して低く抑えられている。これにより、パケットロスが発生する事態を回避している。
【特許文献１】特開２００４−１５４２９号公報
【特許文献２】特開２００２−８４３３９号公報
【特許文献３】特開２００３−１４３５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、組み込み型のストリーミング受信装置（以下、「受信装置」という）の処理性能は、ＭＰＥＧコンテンツの種類・内容（画像・音声の圧縮方式、フレームの構成や内容等）、ＣＰＵ・周辺デバイスの性能、ＬＡＮチップの性能、デコーダチップの性能、デコードの前処理（プロトコルスタックでの受信処理、ＤＥＭＵＸ処理等）のソフトウェアアルゴリズム、アプリケーションの動作状況等によって変動する。このため、このような受信装置の処理性能を正確な値として事前に定義するのは困難であり、また、受信装置で処理中に転送レートや処理性能をリアルタイムかつ正確に検出することも、同様な理由で困難である。したがって、ネットワーク上におけるパケットロスやジッタを防止し、ＭＰＥＧコンテンツ毎の転送レートを一定に保持できたとしても、処理性能等の受信装置固有の条件が考慮されないため、転送レートと受信装置の処理性能とに若干の差異が発生するという問題がある。
【０００５】
特に、ＶＯＤ等のストリーミングサービスにおいては、大量データを高速に長時間（２時間前後、８Ｍｂｐｓで約６ＧＢ）配信する必要がある。転送レートと受信装置の処理性能との間の若干の差異が蓄積される場合には、メモリ制限の厳しい組み込み型の受信装置において以下のような現象が発生し、結果的にある時点で画像・音声の乱れが発生する可能性がある。
【０００６】
例えば、転送レートが受信装置の処理性能より若干大きい場合には、少しずつ過剰にバッファメモリにデータが蓄積され、受信装置側のバッファオーバフローが発生し、データが破棄される事態が発生する。
【０００７】
逆に、転送レートが受信装置の処理性能より若干小さい場合には、バッファメモリに蓄積されたデータが少しずつ過剰に消費されることで、受信装置側のバッファアンダーフローが発生し、表示時間（ＰＴＳ）に伸張処理が間に合わない。
【０００８】
本発明は、かかる実情に鑑みて為されたものであり、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができるストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法を提供することを目的とする。
【０００９】
なお、転送レートを調整するプロトコルとしてＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が存在する。しかし、ＲＴＣＰは、転送中にネットワーク上で発生したパケットロス、ジッタ等の状況をサーバ側に報告し、エラーが発生した時点でネットワーク上のエラーを防止するために転送レートを調整するものであり、本発明の課題を解決するものではない。
【課題を解決するための手段】
【００１０】
本発明は、ストリーミング受信装置においてネットワークを経由して配信サーバ装置から配信されるストリーミングデータを、上限、中間及び下限閾値が設定されたバッファメモリに一時的に保持し、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する一方、配信サーバ装置においてストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けると、この調整指示に応じてストリーミングデータの転送レートの調整を行うものである。
【発明の効果】
【００１１】
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、ＭＰＥＧコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の第１の態様に係るストリーミング受信装置は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータを一時的に保持するバッファメモリと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するバッファメモリ管理部と、前記バッファメモリの使用量に応じて前記配信サーバ装置に対してストリーミングデータの転送レートの調整を指示する転送レート調整指示部と、を具備し、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示する構成を採る。
【００１３】
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を配信サーバ装置に対して指示する。このため、バッファメモリの使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００１４】
本発明の第２の態様は、第１の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する構成を採る。
【００１５】
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリの使用量が上限閾値に到達すると、ストリーミングデータの転送データが下降され、下限閾値に到達すると、ストリーミングデータの転送レートが上昇されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００１６】
本発明の第３の態様は、第２の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する構成を採る。
【００１７】
この構成によれば、転送レート調整指示部が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリの使用量が中間閾値に到達した場合に配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。
【００１８】
本発明の第４の態様は、第１の態様に係るストリーミング受信装置において、前記転送レート調整指示部は、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示する構成を採る。
【００１９】
この構成によれば、転送レート調整指示部が、バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。
【００２０】
本発明の第５の態様に係る配信サーバ装置は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信すると共に前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付ける配信処理部と、前記調整指示に応じてストリーミングデータの転送レートの調整を行う転送レート調整部と、を具備し、前記転送レート調整部は、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する構成を採る。
【００２１】
この構成によれば、転送レート調整部が、配信処理部で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、ストリーミング受信装置で検出された転送レートの変化率に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００２２】
本発明の第６の態様は、第５の態様に係る配信サーバ装置において、前記転送レート調整部は、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する構成を採る。
【００２３】
この構成によれば、転送レート調整部が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。
【００２４】
本発明の第７の態様に係るストリーミング受信方法は、ネットワークを経由して配信サーバ装置から配信されるストリーミングデータをバッファメモリに一時的に保持するステップと、前記バッファメモリに設定された上限、中間及び下限閾値を基準として当該バッファメモリの使用量を管理するステップと、前記バッファメモリの使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータの転送レートの調整を指示するステップと、を具備するものである。
【００２５】
本発明の第８の態様は、第７の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、前記バッファメモリの使用量が下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示するものである。
【００２６】
本発明の第９の態様は、第８の態様に係るストリーミング受信方法において、ストリーミングデータの転送レートの上昇又は下降を指示した後、前記バッファメモリの使用量が中間閾値に到達した場合に前記配信サーバ装置に対してストリーミングデータの転送レートの調整の停止を指示するものである。
【００２７】
本発明の第１０の態様は、第７の態様に係るストリーミング受信方法において、前記バッファメモリの使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間との差を転送時間とすると共に中間閾値のデータ量と上限閾値又は下限閾値のデータ量との差を転送データ量とし、当該転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整を指示するものである。
【００２８】
本発明の第１１の態様に係るストリーミング送信方法は、ネットワークを経由してストリーミング受信装置に対してストリーミングデータを配信するステップと、前記ストリーミング受信装置からストリーミングデータの転送レートの調整指示を受け付けるステップと、前記調整指示に応じてストリーミングデータの転送レートの調整を行うステップと、を具備し、前記調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定するものである。
【００２９】
本発明の第１２の態様は、第１１の態様に係るストリーミング送信方法において、前記調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定するものである。
【００３０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３１】
図１は、本発明の一実施の形態に係るストリーミング受信装置（以下、「受信装置」という）１００及び配信サーバ装置１０１が適用されるネットワーク構成図である。
【００３２】
受信装置１００と配信サーバ装置１０１とはインターネット１０２を介して接続されている。本実施の形態においては、受信装置１００と配信サーバ装置１０１との間は１００Ｍｂｐｓの帯域が確保されているものとする。受信装置１００は、使用者の指示に応じて配信サーバ装置１０１に対してストリーミングデータを要求する。配信サーバ装置１０１は、受信装置１００の要求に応じてストリーミングデータを配信する。受信装置１００は、配信サーバ装置１０１から配信されたストリーミングデータを表示するＴＶ１０３に接続されている。本実施の形態において、配信サーバ装置１０１は、ストリーミングデータとして、８ＭｂｐｓのＭＰＥＧコンテンツデータ（以下、「ＭＰＥＧコンテンツ」という）を配信するものとする。
【００３３】
受信装置１００は、配信サーバ装置１０１から配信されるＭＰＥＧコンテンツを後述するバッファメモリ２０２に受信する。バッファメモリ２０２の使用量が上限の一定値又は下限の一定値に到達すると、転送レートの調整を指示する転送レート調整パケット（以下、「レート調整パケット」という）を配信サーバ装置１０１に対して送信する。配信サーバ装置１０１は、レート調整パケットに応じてＭＰＥＧコンテンツの転送レートを調整する。
【００３４】
なお、受信装置１００と配信サーバ装置１０１とは、既知のＲＴＰプロトコル及びＲＴＣＰプロトコルに従ってＭＰＥＧコンテンツのストリーミング通信を行う。ストリーミング通信を実施するために必要となる通信相手のＩＰアドレス及びＲＴＣＰ受信用のポートは、呼設定プロトコルであるＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）プロトコルによる通信過程で取得される。
【００３５】
図２は、本実施の形態に係る受信装置１００の構成を示すブロック図である。
【００３６】
受信処理部２０１は、インターネット１０２を介して配信サーバ装置１０１との間で通信される信号やＭＰＥＧコンテンツの受信処理を行う。なお、配信サーバ装置１０１との間で交換されるＲＴＣＰプロトコルに規定される信号は、この受信処理部２０１で処理される。
【００３７】
バッファメモリ２０２は、受信処理部２０１が受信したＭＰＥＧコンテンツを一時的に保持する。本実施の形態においては、バッファメモリ２０２は、５００ＫＢのメモリ容量に設定されている。一定量のＭＰＥＧコンテンツをバッファメモリ２０２に一時的に保持することで、インターネット１０２上で発生し得るジッタを吸収し、途切れることなくＭＰＥＧコンテンツを再生することが可能となる。
【００３８】
デコーダ部２０３は、バッファメモリ２０２に保持されたＭＰＥＧコンテンツの復号処理を行う。復号処理によりＭＰＥＧコンテンツを構成する動画データ及び音声データを伸長し、表示用メモリ２０４に出力する。
【００３９】
表示用メモリ２０４は、ＴＶ１０３にＭＰＥＧコンテンツを表示するために用いられるメモリである。特に、表示用メモリ２０４は、ＴＶ１０３の画面上に表示される１フレーム分のＭＰＥＧコンテンツを格納する。
【００４０】
バッファメモリ管理部２０５は、バッファメモリ２０２に保持されたＭＰＥＧコンテンツのデータ量を管理することで、バッファメモリ２０２の使用量を管理する。バッファメモリ２０２に保持されたＭＰＥＧコンテンツのデータ量が一定量に到達すると、その旨を転送レート微調整指示部２０６に通知する。
【００４１】
転送レート微調整指示部２０６は、バッファメモリ管理部２０５からの通知に応じてレート調整パケットを生成し、配信サーバ装置１０１に対して送信する。転送レート微調整指示部２０６は、レート調整パケットとして、転送レートの調整を開始するパケット（以下、「レート調整開始パケット」という）及び転送レートの調整を停止するパケット（以下、「レート調整停止パケット」という）を生成する。また、レート調整開始パケットには、転送レートの上昇（レートアップ）を指示するパケット及び転送レートの下降（レートダウン）を指示するパケットが含まれる。
【００４２】
図３は、本実施の形態に係る配信サーバ装置１０１の構成を示すブロック図である。
【００４３】
ＭＰＥＧファイル記憶部３０１は、ＭＰＥＧコンテンツを記憶している。本実施の形態においては、ＭＰＥＧファイル記憶部３０１は、８ＭｂｐｓのＭＰＥＧコンテンツを記憶している。
【００４４】
配信処理部３０２は、受信装置１００からＭＰＥＧコンテンツの要求を受けると、要求されたＭＰＥＧコンテンツをＭＰＥＧファイル記憶部３０１から取り出し、受信装置１００に対して配信する。配信処理部３０２から配信されるＭＰＥＧコンテンツの転送レートは、後述する転送レート微調整部３０３の指示に応じて変化する。また、配信処理部３０２は、受信装置１００から受信した転送レート調整パケットを転送レート微調整部３０３に受け渡す。なお、受信装置１００との間で交換されるＲＴＣＰプロトコルに規定される信号は、この配信処理部３０２で処理される。
【００４５】
転送レート微調整部３０３は、配信処理部３０２から受け取った転送レート調整パケットに従って配信処理部３０２から配信されるＭＰＥＧコンテンツの転送レートの微調整を行う。具体的には、転送レート調整パケットで指示される内容に従ってＭＰＥＧコンテンツの転送レートを上昇、下降又は維持させる。
【００４６】
図４は、本実施の形態に係る受信装置１００のバッファメモリ２０２に設定された各種閾値を説明するための模式図である。
【００４７】
上述のように、本実施の形態に係る受信装置１００のバッファメモリ２０２は、５００ＫＢのメモリ容量を有する。そして、バッファメモリ２０２には、図４に示すように、転送レートの微調整に用いられる３つの閾値が設定されている。具体的には、中間閾値として２５０ＫＢが設定され、この中間閾値を基準に１５０ＫＢ上回る４００ＫＢに上限閾値が設定され、中間閾値を１５０ＫＢ下回る１００ＫＢに下限閾値が設定されている。
【００４８】
中間閾値は、ネットワーク上において発生し得るＭＰＥＧコンテンツのジッタを吸収するために設定される閾値であり、配信サーバ装置１０１からのＭＰＥＧコンテンツの再生を開始する際には、まず、この中間閾値までＭＰＥＧコンテンツを保持した後に実際の処理が開始される。また、調整が開始されたＭＰＥＧコンテンツの転送レートの調整の停止を指示する際の基準となる閾値である。
【００４９】
上限閾値及び下限閾値は、ＭＰＥＧコンテンツの転送レートの調整を開始する際の基準となる閾値である。上限閾値は、ＭＰＥＧコンテンツの転送レートの下降を指示する際の基準となる閾値であり、下限閾値は、ＭＰＥＧコンテンツの転送レートの上昇を指示する際の基準となる閾値である。
【００５０】
転送レート微調整指示部２０６で生成されるレート調整パケット（レート調整開始パケット及びレート調整停止パケット）は、このように設定されたバッファメモリ２０２の使用量に応じて生成される。すなわち、バッファメモリ２０２の使用量が上限閾値又は下限閾値に到達した場合にレート調整開始パケットが生成される。また、転送レートの調整開始後にバッファメモリ２０２の使用量が中間閾値に到達した場合にレート調整停止パケットが生成される。
【００５１】
なお、本実施の形態においては、バッファメモリ２０２の上限閾値、中間閾値及び下限閾値として、それぞれ４００ＫＢ、２５０ＫＢ及び１００ＫＢを設定した場合について示している。しかし、これらの各種閾値は、これらの値に限定されるものではなく、バッファメモリ２０２のメモリ容量等に応じて任意の値を設定することが可能である。
【００５２】
以下、本実施の形態に係る受信装置１００及び配信サーバ装置１０１において調整されるＭＰＥＧコンテンツの転送レートの増減について説明する。
【００５３】
図５は、本実施の形態に係る受信装置１００及び配信サーバ装置１０１において調整されるＭＰＥＧコンテンツの転送レートの増減について説明するための図である。なお、図５においては、横軸に時間（単位：秒）を示し、縦軸に転送レート（単位：ｂｐｓ）を示している。
【００５４】
図５においては、ＭＰＥＧコンテンツの転送レートが８Ｍｂｐｓで配信開始される場合について示し、１秒目でバッファメモリ２０２の使用量が下限閾値（図４に示す１００ＫＢ）に到達し、３９８秒目でバッファメモリ２０２の使用量が中間閾値（図４に示す２５０ＫＢ）に到達し、１８００秒目でバッファメモリ２０２の使用量が上限閾値（図４に示す４００ＫＢ）に到達し、２０９０秒目でバッファメモリ２０２の使用量が中間閾値（図４に示す２５０ＫＢ）に到達した場合について示している。特に、図５においては、転送レートを１秒毎に２Ｋｂｐｓずつ調整する場合について示している。
【００５５】
ＭＰＥＧコンテンツの配信を開始すると、１秒目でバッファメモリ２０２の使用量が下限閾値に到達している。下限閾値に到達すると、転送レート微調整指示部２０６でレート調整開始パケット（レートアップ）が生成され、配信サーバ装置１０１に送信される。このレート調整開始パケットを受け取った転送レート微調整部３０３は、配信処理部３０２に対して転送レートの上昇を指示する。配信処理部３０２は、この指示に従って２Ｋｂｐｓだけ転送レートを上昇させてＭＰＥＧコンテンツを配信する。転送レート微調整指示部２０６からのレート調整開始パケットは、バッファメモリ２０２の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、３９８秒目でバッファメモリ２０２の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置１０１からのＭＰＥＧコンテンツの転送レートは徐々に上昇していく。なお、３９８秒目の転送レートは、「８Ｍｂｐｓ＋２Ｋｂｐｓ＊３９８」に設定されている。
【００５６】
３９８秒目でバッファメモリ２０２の使用量が中間閾値に到達すると、転送レート微調整指示部２０６でレート調整停止パケットが生成され、配信サーバ装置１０１に送信される。このレート調整停止パケットを受け取った転送レート微調整部３０３は、配信処理部３０２に対して転送レートの上昇を停止することで、転送レートの維持を指示する。配信処理部３０２は、この指示に従って転送レートの上昇を停止し、現在の転送レートを維持させてＭＰＥＧコンテンツを配信する。
【００５７】
そして、転送レートを維持した状態でＭＰＥＧコンテンツの配信を継続するうちに、１８００秒目でバッファメモリ２０２の使用量が上限閾値に到達すると、転送レート微調整指示部２０６でレート調整開始パケット（レートダウン）が生成され、配信サーバ装置１０１に送信される。このレート調整開始パケットを受け取った転送レート微調整部３０３は、配信処理部３０２に対して転送レートの下降を指示する。配信処理部３０２は、この指示に従って２Ｋｂｐｓだけ転送レートを下降させてＭＰＥＧコンテンツを配信する。転送レート微調整指示部２０６からのレート調整開始パケットは、バッファメモリ２０２の使用量が中間閾値に到達するまで連続して送信される。このため、同図においては、２０９０秒目でバッファメモリ２０２の使用量が中間閾値に到達するまで連続して送信され、それに応じて配信サーバ装置１０１からのＭＰＥＧコンテンツの転送レートは徐々に下降していく。
【００５８】
次に、本実施の形態に係る受信装置１００及び配信サーバ装置１０１においてストリーミング通信を行った後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について説明する。
【００５９】
図６は、本実施の形態に係る受信装置１００及び配信サーバ装置１０１においてストリーミング通信を行った後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すシーケンス図である。なお、図６においては、ストリーミング通信を開始した後に、ＭＰＥＧコンテンツの転送レートを上昇させ、その後にＭＰＥＧコンテンツの転送レートを下降させる場合について示している。また、受信装置１００のバッファメモリ２０２における各種閾値は、図４に示す内容に設定されているものとする。
【００６０】
ストリーミング通信を行う場合、まず、受信装置１００からＲＴＳＰプロトコルに従って配信サーバ装置１０１にストリーミング要求が行われる（ＳＴ６０１）。このストリーミング要求の際、ＤＥＳＣＲＩＢＥコマンドでＭＰＥＧコンテンツの情報が取得されると共に、ＳＥＴＵＰコマンドで伝送方法の決定が行われ、ＰＬＡＹコマンドで再生が指示される。この過程において、受信装置１００において配信サーバ装置１０１のＲＴＣＰ受信ポートが取得される一方（ＳＴ６０２）、配信サーバ装置１０１において受信装置１００のＲＴＣＰ受信ポートが取得される（ＳＴ６０３）。
【００６１】
お互いのＲＴＣＰ受信ポートが取得されると、配信サーバ装置１０１から受信装置１００に対してＭＰＥＧコンテンツが転送される（ＳＴ６０４）。転送を開始する際、本実施の形態においては、配信サーバ装置１０１から８Ｍｂｐｓの転送レートでＭＰＥＧコンテンツが受信装置１００に転送される。
【００６２】
なお、ＭＰＥＧコンテンツの転送が開始されると、受信装置１００においてＭＰＥＧコンテンツの再生が行われるが、受信装置における再生は、バッファメモリ２０２の中間閾値（２５０ＫＢ）までＭＰＥＧコンテンツが蓄積された時点で開始される。このとき、バッファメモリ２０２の使用量が中間閾値に到達した時間が受信装置１００において保持される。
【００６３】
８Ｍｂｐｓの転送レートでＭＰＥＧコンテンツを転送するうちに、受信装置１００のバッファメモリ２０２の使用量が次第に減少し、当該使用量が下限閾値（１００ＫＢ）に到達したものとする（ＳＴ６０５）。バッファメモリ２０２の使用量が下限閾値に到達すると、受信装置１００において転送時間及び転送データ量が計算される（ＳＴ６０６）。ここで、転送時間とは、中間閾値の到達時刻から下限閾値に到達した時間をいい、転送データ量とは、中間閾値から下限閾値までのデータ量をいう。ここでは転送データ量として１５０ＫＢが計算されることとなる。
【００６４】
転送時間及び転送データ量を計算したならば、受信装置１００においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置１０１に対して送信される（ＳＴ６０７）。ここでは、レート調整開始パケットとして、転送レートの上昇（レートアップ）を指示するパケットが生成される。レート調整開始パケットは、レート調整停止パケットを送信するまで連続して送信される。これは、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置１０１に到達しないことを防止するためである。
【００６５】
レート調整開始パケットが到来すると、配信サーバ装置１０１において予め定めておいた転送レート関数に従って転送レートが決定される（ＳＴ６０８）。その後、レート調整停止パケットが到着するまで、転送レートの決定は、一秒毎に自動的に行われる。また、レート調整停止パケットが到着するまでの間に受信したレート調整開始パケットは、破棄されることになる。なお、転送レートの決定に用いられる転送レート関数については後述する。
【００６６】
転送レートが決定されたならば、配信サーバ装置１０１から受信装置１００に対して決定した転送レートでＭＰＥＧコンテンツが転送される（ＳＴ６０９）。ここでは、レートアップを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを上げてＭＰＥＧコンテンツが転送される。特に、本実施の形態においては、１秒毎に転送レートの決定が行われるため、徐々に転送レートを上げてＭＰＥＧコンテンツが転送される。
【００６７】
転送レートを上げてＭＰＥＧコンテンツを転送するうちに、受信装置１００のバッファメモリ２０２の使用量が次第に増加し、当該使用量が中間閾値（２５０ＫＢ）に到達したものとする（ＳＴ６１０）。バッファメモリ２０２の使用量が中間閾値に到達すると、受信装置１００においてレート調整停止パケットが生成され、配信サーバ装置１０１に対して送信される（ＳＴ６１１）。
【００６８】
レート調整停止パケットが到来すると、配信サーバ装置１０１において転送レートの決定処理が中断され、現在の転送レートが保持される（ＳＴ６１２）。そして、現在の転送レートでＭＰＥＧコンテンツが受信装置１００に対して転送される（ＳＴ６１３）。つまり、バッファメモリ２０２の使用量が中間閾値に到達した時点における転送レートでＭＰＥＧコンテンツが転送されることとなる。
【００６９】
バッファメモリ２０２の使用量が中間閾値に到達した時点における転送レートＭＰＥＧコンテンツを転送するうちに、今度は受信装置１００のバッファメモリ２０２の使用量が次第に増加し、当該使用量が上限閾値（４００ＫＢ）に到達したものとする（ＳＴ６１４）。バッファメモリ２０２の使用量が上限閾値に到達すると、受信装置１００において転送時間及び転送データ量が計算される（ＳＴ６１５）。ここでは転送データ量として１５０ＫＢが計算されることとなる。
【００７０】
転送時間及び転送データ量を計算したならば、受信装置１００においてこの転送時間及び転送データ量に応じてレート調整開始パケットが生成され、配信サーバ装置１０１に対して送信される（ＳＴ６１６）。ここでは、レート調整開始パケットとして、転送レートの下降（レートダウン）を指示するパケットが生成される。
【００７１】
レート調整開始パケットが到来すると、配信サーバ装置１０１において予め定めておいた転送レート関数に従って転送レートが決定される（ＳＴ６１７）。レートアップを指示するレート調整開始パケットの場合と同様に、１秒毎に転送レートの決定が行われることとなる。
【００７２】
転送レートが決定されたならば、配信サーバ装置１０１から受信装置１００に対して決定した転送レートでＭＰＥＧコンテンツが転送される（ＳＴ６１８）。ここでは、レートダウンを指示するレート調整開始パケットに応じて転送レートを決定しているため、転送レートを下げてＭＰＥＧコンテンツが転送される。特に、本実施の形態においては、１秒毎に転送レートの決定が行われるため、徐々に転送レートを下げてＭＰＥＧコンテンツが転送される。
【００７３】
本実施の形態においては、受信装置１００から送信されるレート調整パケット（レート調整開始パケット及びレート調整停止パケット）に、ＲＴＣＰプロトコルに規定されたＡＰＰ（Ａｐｐｌｉｃａｔｉｏｎ−Ｄｅｆｉｎｅｄ）パケットが使用される。
【００７４】
図７（ａ）は、本実施の形態に係る受信装置１００から送信されるレート調整パケットに用いられるＡＰＰパケットのフォーマットを説明するための図である。このようなフォーマットを有するＡＰＰパケットにおいて、本実施の形態に係る受信装置１００は、レート調整パケットの種別等を識別するために「ａｐｐｌｉｃａｔｉｏｎ−ｄｅｐｅｎｄｅｎｔ  ｄａｔａ」を用いる。
【００７５】
図７（ｂ）は、レート調整パケットの種別を識別するために用いられる「ａｐｐｌｉｃａｔｉｏｎ−ｄｅｐｅｎｄｅｎｔ  ｄａｔａ」の構成を説明するための図である。同図に示すように、「ａｐｐｌｉｃａｔｉｏｎ−ｄｅｐｅｎｄｅｎｔ  ｄａｔａ」においては、レート調整パケットの種別、転送データ量及び転送時間にそれぞれ４バイトずつ割り当てている。レート調整パケットの種別においては、レートアップを指示するレート調整開始パケットの場合に「１」、レートダウンを指示するレート調整開始パケットの場合に「２」、レートアップ又はレートダウンの停止を指示するレート調整停止パケットの場合に「３」が指定される。転送データ量及び転送時間においては、受信装置１００において実際に計算された値が指定される。なお、レート調整パケットの種別に「３」が指定された場合には、転送データ量及び転送時間にブランクデータが指定される。
【００７６】
次に、本実施の形態に係る受信装置１００及び配信サーバ装置１０１においてストリーミング通信を行った後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について説明する。
【００７７】
図８は、本実施の形態に係る受信装置１００においてストリーミング通信を開始した後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。図９は、本実施の形態に係る配信サーバ装置１０１においてストリーミング通信を開始した後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すフロー図である。なお、図８においては、受信装置１００のバッファメモリ２０２における各種閾値は、図４に示す内容に設定されているものとする。
【００７８】
図８に示すように、ストリーミング通信を行う場合、受信装置１００は、まず、ＲＴＳＰプロトコルに従って配信サーバ装置１０１に対してストリーミング要求を行う（ＳＴ８０１）。ストリーミング要求を行う際、受信装置１００は、配信サーバ装置１０１との間で、ＤＥＳＣＲＩＢＥコマンドでＭＰＥＧコンテンツの情報を取得すると共に、ＳＥＴＵＰコマンドで伝送方法の決定を行い、ＰＬＡＹコマンドで再生を指示する。この過程において、受信装置１００は、配信サーバ装置１０１のＲＴＣＰ受信ポートを取得する（ＳＴ８０２）。このとき、配信サーバ装置１０１においても、受信装置１００のＲＴＣＰ受信ポートを取得している。
【００７９】
受信装置１００のＲＴＣＰ受信ポートを取得すると、配信サーバ装置１０１がＭＰＥＧコンテンツを送信してくるので、これを受信する。そして、受信したＭＰＥＧコンテンツをバッファメモリ２０２内に格納する。この間、バッファメモリ管理部２０５は、バッファメモリ２０２の使用量が中間閾値に到達するか監視している（ＳＴ８０３）。
【００８０】
バッファメモリ２０２の使用量が中間閾値に到達した場合には、デコーダ部２０３で復号処理を行い、表示用メモリ２０４を介してＴＶ１０３でＭＰＥＧコンテンツの再生を開始する（ＳＴ８０４）。このとき、転送レート微調整指示部２０６は、バッファメモリ２０２の使用量が中間閾値に到達した時刻（以下、「中間閾値の到達時刻」という）を保存する。なお、バッファメモリ２０２の使用量が中間閾値に到達するまではＳＴ８０３の監視動作が継続される。
【００８１】
ＭＰＥＧコンテンツの再生を開始した後、バッファメモリ管理部２０５は、バッファメモリ２０２の使用量が上限閾値（又は下限閾値）に到達するか監視している（ＳＴ８０５）。上限閾値（又は下限閾値）に到達した場合には、転送レート微調整指示部２０６は、上限閾値（又は下限閾値）に到達した時刻（以下、「上限閾値（又は下限閾値）の到達時刻」という）と、先に保存した中間閾値の到達時刻とを比較し、転送時間を決定する（ＳＴ８０６）。つまり、中間閾値の到達時刻から上限閾値（又は下限閾値）の到達時刻までの経過時間を転送時間として決定する。
【００８２】
転送時間を決定したならば、転送レート微調整指示部２０６は、中間閾値のデータ量と、上限閾値（又は下限閾値）のデータ量とを比較し、転送データ量を決定する（ＳＴ８０７）。つまり、上限閾値に到達している場合には上限閾値のデータ量である４００ＫＢから中間閾値のデータ量である２５０ＫＢを差し引き、転送データ量として１５０ＫＢを決定し、下限閾値に到達している場合には、中間閾値のデータ量である２５０ＫＢから下限閾値のデータ量である１００ＫＢを差し引き、転送データ量として１５０ＫＢを決定する。
【００８３】
転送データ量を決定したならば、転送レート微調整指示部２０６は、バッファメモリ２０２の使用量が到達したのが、上限閾値であるか判断する（ＳＴ８０８）。上限閾値である場合には、転送レートのレートダウンを指示するレート調整開始パケットを生成し、配信サーバ装置１０１に送信する（ＳＴ８０９）。上限閾値でない場合は、バッファメモリ２０２の使用量が到達したのが、下限閾値であるか判断する（ＳＴ８１０）。下限閾値である場合には、ＳＴ８０６で決定した転送時間とＳＴ８０７で決定した転送データ量を含む転送レートのレートアップを指示するレート調整開始パケットを生成し、配信サーバ装置１０１に送信する（ＳＴ８１１）。バッファメモリ２０２の使用量が上限閾値でも下限閾値でもない場合には、中間閾値に到達するまで、ＳＴ８０８からＳＴ８１１のステップを繰り返す。これにより、上限閾値あるいは下限閾値を超えるまで、レート調整パケットを送信し続けることで、ネットワーク上のパケットロスによるレート調整開始パケットが配信サーバ装置１０１に到達しないことを防止できる。
【００８４】
ＳＴ８０９又はＳＴ８１１でレート調整開始パケットを送信した後、バッファメモリ管理部２０５は、バッファメモリ２０２の使用量が中間閾値に到達するかを監視する（ＳＴ８１２）。バッファメモリ２０２の使用量が中間閾値に到達した場合には、転送レート微調整指示部２０６は、転送レートのレートアップ又はレートダウンの停止を指示するレート調整停止パケットを生成し、配信サーバ装置１０１に送信する（ＳＴ８１３）。
【００８５】
レート調整停止パケットを送信した後、転送レート微調整指示部２０６は、再び中間閾値の到達時刻を保存する（ＳＴ８１４）。その後、処理をＳＴ８０５に戻し、再度、ＳＴ８０５〜ＳＴ８１４の処理を繰り返す。このようにＳＴ８０５〜ＳＴ８１４の処理を繰り返すことで、バッファメモリ２０２の使用量に応じて転送レートを微調整しながらＭＰＥＧコンテンツを再生することが可能となる。
【００８６】
一方、図９に示すように、ストリーミング通信を行う場合、配信サーバ装置１０１は、まず、受信装置１００からのストリーミング要求を監視する（ＳＴ９０１）。ストリーミング要求を受けると、受信装置１００との間で、ＤＥＳＣＲＩＢＥコマンドでＭＰＥＧコンテンツの情報を取得すると共に、ＳＥＴＵＰコマンドで伝送方法の決定を行い、ＰＬＡＹコマンドで再生を指示する。この過程において、配信サーバ装置１０１は、受信装置１００のＲＴＣＰ受信ポートを取得する（ＳＴ９０２）。
【００８７】
受信装置１００のＲＴＣＰ受信ポートを取得したならば、配信サーバ装置１０１は、ＭＰＥＧコンテンツのビットレートである８Ｍｂｐｓに転送レートを設定し、受信装置１００に対してＭＰＥＧコンテンツの送信を開始する（ＳＴ９０３）。ＭＰＥＧコンテンツの送信を開始したならば、そのまま一定のビットレートでＭＰＥＧコンテンツの送信を継続する（ＳＴ９０４）。
【００８８】
一定のビットレートでＭＰＥＧコンテンツを送信している間、配信サーバ装置１０１は、受信装置１００からレート調整開始パケットを受信するか監視している（ＳＴ９０５）。レート調整開始パケットを受信した場合には、配信サーバ装置１０１は、そのレート調整開始パケットがレートアップを指示するものか判断する（ＳＴ９０６）。なお、レート調整開始パケットを受信するまでは処理をＳＴ９０４に戻し、ＭＰＥＧコンテンツの送信及びレート調整開始パケットの監視動作を継続する。
【００８９】
受信したレート調整開始パケットがレートアップを指示するものである場合には、配信サーバ装置１０１において、転送レート微調整部３０３は、転送レート関数の導出を行う（ＳＴ９０７）。このとき、導出される転送レート関数は、以下の関数である。
Ａｔ（ｓｅｃ）＋Ｃ
なお、ここで「Ａ」は、転送データ量／転送時間を示すものとし、「Ｃ」は、現在のビットレートを示すものとする。例えば、図４の例で中間閾値の時間から下限閾値の時間までの経過時間が６００ｓｅｃである場合、「Ａ」は、転送データ量（１５０ＫＢ＊８）／転送時間（６００ｓｅｃ）の数値（２）を示す。現在のビットレートが８Ｍｂｐｓとすると、当該転送レート関数により「８Ｍｂｐｓ＋２Ｋｂｐｓ」が導出される。
【００９０】
一方、受信したレート調整開始パケットがレートダウンを指示するものである場合には、同様に、配信サーバ装置１０１において、転送レート微調整部３０３は、転送レート関数の導出を行う（ＳＴ９０８）。このとき、導出される転送レート関数は、以下の関数である。
−Ａｔ（ｓｅｃ）＋Ｃ
なお、ここで「Ａ」、「Ｃ」は、上記と同様である。例えば、図４の例で中間閾値の時間から上限閾値の時間までの経過時間が６００ｓｅｃである場合、「Ａ」は、転送データ量（１５０ＫＢ＊８）／転送時間（６００ｓｅｃ）の数値（２）を示す。現在のビットレートが８Ｍｂｐｓとすると、当該転送レート関数により「８Ｍｂｐｓ−２Ｋｂｐｓ」が導出される。
【００９１】
ＳＴ９０７又はＳＴ９０８で転送レート関数の導出をしたならば、転送レート微調整部３０３は、この転送レート関数により次の１秒間の転送レートを決定する（ＳＴ９０９）。上述の例を用いると、レートアップの場合には「＋２Ｋｂｐｓ／ｓｅｃ」が次の一秒間の転送レートとして決定され、レートダウンの場合には「−２Ｋｂｐｓ／ｓｅｃ」が次の一秒間の転送レートとして決定される。
【００９２】
転送レートを決定した後、転送レート微調整部３０３は、決定した転送レートが当初のＭＰＥＧコンテンツのビットレートを下回っていないか判断する（ＳＴ９１０）。すなわち、決定した転送レートが当初のＭＰＥＧコンテンツのビットレートである８Ｍｂｐｓを下回っていないかを判断する。下回っていない場合には、決定した転送レートでＭＰＥＧコンテンツを受信装置１００に対して送信する（ＳＴ９１１）。なお、決定した転送レートが８Ｍｂｐｓを下回っている場合には、処理をＳＴ９０４に戻し、その直前の処理で決定されたビットレートでＭＰＥＧコンテンツを送信する。この場合、８Ｍｂｐｓを下回る直前の処理で決定されたビットレートとなるため、８ＭｂｐｓでＭＰＥＧコンテンツが送信されることとなる。
【００９３】
ＳＴ９１１で決定した転送レートでＭＰＥＧコンテンツを送信している間、配信サーバ装置１０１は、受信装置１００からレート調整停止パケットを受信するか監視している（ＳＴ９１２）。ここで、レート調整停止パケットを受信した場合には、転送レート微調整部３０３は、ビットレートを現在の値に保持して（ＳＴ９１３）、処理をＳＴ９０４に戻す。そして、現在のビットレートでＭＰＥＧコンテンツを受信装置１００に送信する。なお、レート調整停止パケットを受信するまでは、処理をＳＴ９０９に戻し、再び、ＳＴ９０９〜ＳＴ９１２の処理を繰り返す。これにより、レート調整停止パケットを受信するまで、継続して転送レートの微調整を行いながらＭＰＥＧコンテンツを受信装置１００に送信することが可能となる。
【００９４】
このように本実施の形態に係る受信装置１００によれば、転送レート微調整指示部２０６が、バッファメモリ２０２の使用量が上限閾値又は下限閾値に到達した場合にストリーミングデータ（ＭＰＥＧコンテンツ）の転送レートの調整を配信サーバ装置１０１に対して指示する。このため、バッファメモリ２０２の使用量が上限閾値又は下限閾値に到達すると、ストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートと受信装置１００の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００９５】
特に、本実施の形態に係る受信装置１００によれば、転送レート微調整指示部２０６が、バッファメモリ２０２の使用量が上限閾値に到達した場合にストリーミングデータの転送レートの下降を指示する一方、下限閾値に到達した場合にストリーミングデータの転送レートの上昇を指示する。このため、バッファメモリ２０２の使用量が、上限閾値に到達するとストリーミングデータの転送データが下降し、下限閾値に到達するとストリーミングデータの転送レートが上昇するので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００９６】
また、本実施の形態に係る受信装置１００によれば、転送レート微調整指示部２０６が、ストリーミングデータの転送レートの上昇又は下降を指示した後、バッファメモリ２０２の使用量が中間閾値に到達した場合に配信サーバ装置１０１に対してストリーミングデータの転送レートの調整の停止を指示する。このため、ストリーミングデータの転送レートが無制限に上昇又は下降する事態を回避することができる。
【００９７】
さらに、本実施の形態に係る受信装置１００によれば、転送レート微調整指示部２０６が、バッファメモリ２０２の使用量が中間閾値に到達した時間と上限閾値又は下限閾値に到達した時間から得た転送時間、並びに、中間閾値のデータ量と上限閾値又は下限閾値のデータ量から得た転送データ量に応じてストリーミングデータの転送レートの調整を指示する。このため、配信サーバ装置１０１において、この転送時間及び転送データ量を参照してストリーミングデータの転送レートの調整幅を決定することで、転送レートの変化率に応じて転送レートを調整することが可能となる。
【００９８】
一方、本実施の形態に係る配信サーバ装置１０１によれば、転送レート微調整部３０３が、配信処理部３０２で受け付けたストリーミングデータの転送レートの調整指示に含まれる転送時間及び転送データ量に応じてストリーミングデータの転送レートの調整幅を決定する。このため、受信装置１００で検出されたバッファメモリ２０２の使用量に応じて転送レートを調整することができる。この結果、適切にストリーミングデータの転送レートが調整されるので、ストリーミングデータの転送レートとストリーミング受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができる。
【００９９】
特に、本実施の形態に係る配信サーバ装置１０１によれば、転送レート微調整部３０３が、調整指示に含まれる転送データ量を転送時間で除算して得られる数値を、ストリーミングデータの転送レートの調整幅に決定する。このため、転送レートの変化率に応じて適切に転送レートの調整幅を決定することができる。
【０１００】
なお、本実施の形態においては、ストリーミングデータとして、ＭＰＥＧコンテンツを用いて説明しているが、これに限定されるものではなく、他の形態のデータにも適用することが可能である。また、レート調整パケットとして、ＲＴＣＰプロトコルに規定されるＡＰＰパケットを用いる場合について説明しているが、これに限定されるものではなく、他の形態のパケットをレート調整パケットとして用いるようにしてもよい。
【産業上の利用可能性】
【０１０１】
本発明に係るストリーミング受信装置及び配信サーバ装置並びにストリーミング受信方法及びストリーミング送信方法によれば、ＭＰＥＧコンテンツのビットレートをネットワーク性能と比較して適切に設定すると共に、転送レートと受信装置の処理性能との間の差異によって生じるバッファオーバフローやバッファアンダーフローを防止することができ、優れた通信品質を維持しながらストリーミング通信を実現できる点で有用である。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施の形態に係るストリーミング受信装置及び配信サーバ装置が適用されるネットワーク構成図
【図２】上記実施の形態に係るストリーミング受信装置の構成を示すブロック図
【図３】上記実施の形態に係る配信サーバ装置の構成を示すブロック図
【図４】上記実施の形態に係るストリーミング受信装置のバッファメモリに設定された各種閾値を説明するための模式図
【図５】上記実施の形態に係るストリーミング受信装置及び配信サーバ装置において調整されるＭＰＥＧコンテンツの転送レートの増減について説明するための図
【図６】上記実施の形態に係るストリーミング受信装置及び配信サーバ装置においてストリーミング通信を行った後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すシーケンス図
【図７】（ａ）上記実施の形態に係るストリーミング受信装置から送信されるレート調整パケットに用いられるＡＰＰパケットのフォーマットを説明するための図  （ｂ）上記実施の形態に係るレート調整パケットの種別を識別するために用いられる「ａｐｐｌｉｃａｔｉｏｎ−ｄｅｐｅｎｄｅｎｔ  ｄａｔａ」の構成を説明するための図
【図８】上記実施の形態に係るストリーミング受信装置においてストリーミング通信を開始した後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すフロー図
【図９】上記実施の形態に係る配信サーバ装置においてストリーミング通信を開始した後にＭＰＥＧコンテンツの転送レートの調整を行う場合の動作について示すフロー図
【符号の説明】
【０１０３】
１００  ストリーミング受信装置（受信装置）
１０１  配信サーバ装置
１０２  インターネット
１０３  ＴＶ
２０１  受信処理部
２０２  バッファメモリ
２０３  デコーダ部
２０４  表示用メモリ
２０５  バッファメモリ管理部
２０６  転送レート微調整指示部
３０１  ＭＰＥＧファイル記憶部
３０２  配信処理部
３０３  転送レート微調整部
【図１】
2006148789.tif 000003
【図２】
2006148789.tif 000004
【図３】
2006148789.tif 000005
【図４】
2006148789.tif 000006
【図５】
2006148789.tif 000007
【図６】
2006148789.tif 000008
【図７】
2006148789.tif 000009
【図８】
2006148789.tif 000010
【図９】
2006148789.tif 000011