(57)【要約】  映像サーバ（ＶＳ１００）がパラメータの値によって映像ストリームを符号化して、利用者に対して表示するよう受信映像ストリームを復号化する映像クライアント（ＶＣ２００）に対してネットワーク（２００）経由で映像ストリームを送信する。映像ストリームが受信されるにつれて、（ＶＣ２００）は少なくともネットワーク（２００）の状態に関するデータを継続して収集し、このデータを（ＶＳ１００）に対して送信する。（ＶＳ１００）は（ＶＣ２００）から受信されたデータに基づいてパラメータの値を修正して、今度は映像ストリームの符号化を修正する。
2005513876.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、１つ以上のパラメータの値によって符号化されてネットワークを通じて配信される映像ストリームを修正する方法であって：
少なくとも、該映像ストリームをトランスポートする、該ネットワークの処理能力、に関するデータを取得する工程；及び
前記１つ以上のパラメータの値を修正する工程；
を有し、該１つ以上のパラメータによって、前記映像ストリームが前記取得データに基づいて符号化されることを特徴とする方法。
【請求項２】
方法であって、１つ以上のパラメータの値によって符号化されてコンピュータに対してネットワークを通じて配信される映像ストリームを修正する方法であって：
少なくとも、該映像ストリームを該コンピュータに対してトランスポートする、該ネットワークの処理能力、及び、該映像ストリームを復号化する該コンピュータの処理能力、に関するデータを取得する工程；及び
前記１つ以上のパラメータの値を修正する工程；
を有し、該１つ以上のパラメータによって、前記映像ストリームが前記取得データに基づいて符号化されることを特徴とする方法。
【請求項３】
請求項２記載の方法であって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム解像度を含み；かつ
前記修正する工程が前記取得データに基づいて該フレーム解像度の値を修正する工程を有する；
ことを特徴とする方法。
【請求項４】
請求項２記載の方法であって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム・レートを含み；かつ
前記修正する工程が前記取得データに基づいて該フレーム・レートの値を修正する工程を有する；
ことを特徴とする方法。
【請求項５】
請求項２記載の方法であって、前記取得する工程が、前記コンピュータ又は前記ネットワークに関する、該コンピュータから受信されたＲＴＣＰパケットにおける、前記データを取得する工程を有することを特徴とする方法。
【請求項６】
請求項５記載の方法であって、前記取得する工程が、前記コンピュータ又は前記ネットワークに関する、該コンピュータから受信された前記ＲＴＣＰパケットのアプリケーション特有部分における、前記データを取得する工程を有することを特徴とする方法。
【請求項７】
請求項２記載の方法であって、前記取得する工程が前記コンピュータに対して配信される前記映像ストリームを復号化するのに前記コンピュータで利用可能なリソースを表す測定値を取得する工程を有することを特徴とする方法。
【請求項８】
請求項７記載の方法であって、前記取得する工程が前記コンピュータに対して配信される前記映像ストリームを復号化するのに前記コンピュータで利用可能なコンピュータ・プロセッサ・パワーを表す測定値を取得する工程を有することを特徴とする方法。
【請求項９】
請求項２記載の方法であって、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したパケット喪失を表す測定値を取得する工程を有することを特徴とする方法。
【請求項１０】
請求項２記載の方法であって、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係した送信バイト及び受信バイトを表す測定値を取得する工程を有することを特徴とする方法。
【請求項１１】
請求項２記載の方法であって、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したビット・エラー・レートを表す測定値を取得する工程を有することを特徴とする方法。
【請求項１２】
請求項２記載の方法であって、前記取得する工程が：
前記コンピュータで前記データを収集する工程；及び
前記コンピュータから該収集データを受信する工程；
を有することを特徴とする方法。
【請求項１３】
１つ以上のパラメータの値によって第１コンピュータによって符号化されて該第１コンピュータによってネットワークを通じて第２コンピュータに対して送信される映像ストリームの修正を容易にする方法であって：
該第２コンピュータに対して該映像ストリームをトランスポートする該ネットワークの処理能力に関して該映像ストリームを復号化する該第２コンピュータの処理能力に関するデータを前記第２コンピュータで収集する工程；及び
前記１つ以上のパラメータの値の前記修正を動作可能にするよう前記第１コンピュータに対して該収集データを送信する工程；
を有し、該１つ以上のパラメータによって該第１コンピュータが前記映像ストリームを符号化することを特徴とする方法。
【請求項１４】
請求項１３記載の方法であって、前記送信する工程が前記第１コンピュータに対して送信されるＲＴＣＰパケットのアプリケーション特有部分において前記収集データを送信する工程を有することを特徴とする方法。
【請求項１５】
１つ以上のパラメータの値によって符号化されてネットワークを通じて配信される映像ストリームを修正するシステムであって：
少なくとも、該映像ストリームをトランスポートする、該ネットワークの処理能力、に関するデータを取得する手段；及び
前記１つ以上のパラメータの値を修正する手段；
を有し、該１つ以上のパラメータによって前記映像ストリームが前記取得データに基づいて符号化されることを特徴とするシステム。
【請求項１６】
１つ以上のパラメータの値によって符号化されてコンピュータに対してネットワークを通じて配信される映像ストリームを修正するシステムであって：
少なくとも、該映像ストリームを該コンピュータに対してトランスポートする、前記ネットワークの処理能力、及び、該映像ストリームを復号化する、該コンピュータの処理能力、に関するデータを取得する手段；及び
前記１つ以上のパラメータの値を修正する手段；
を有し、該１つ以上のパラメータによって前記映像ストリームが前記取得データに基づいて符号化されることを特徴とするシステム。
【請求項１７】
請求項１６記載のシステムであって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム解像度を有して；かつ
前記修正する手段が前記取得データに基づいて該フレーム解像度の値を修正する手段を有する；
ことを特徴とするシステム。
【請求項１８】
請求項１６記載のシステムであって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム・レートを有して；かつ
前記修正する手段が前記取得データに基づいて該フレーム・レートの値を修正する手段を有する；
ことを特徴とするシステム。
【請求項１９】
請求項１６記載のシステムであって、前記取得する手段が前記コンピュータから受信されたＲＴＣＰパケットにおいて前記コンピュータ又は前記ネットワークに関する前記データを取得する手段を有することを特徴とするシステム。
【請求項２０】
請求項１６記載のシステムであって、前記取得する手段が前記コンピュータに配信される前記映像ストリームを復号化するのに前記コンピュータで利用可能なコンピュータ・プロセッサ・パワーを表す測定値を取得する手段を有することを特徴とするシステム。
【請求項２１】
請求項１６記載のシステムであって、前記取得する手段が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したパケット喪失を表す測定値を取得する手段を有することを特徴とするシステム。
【請求項２２】
請求項１６記載のシステムであって、前記取得する手段が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係した送信バイト及び受信バイトを表す測定値を取得する手段を有することを特徴とするシステム。
【請求項２３】
請求項１６記載のシステムであって、前記取得する手段が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したビット・エラー・レートを表す測定値を取得する手段を有することを特徴とするシステム。
【請求項２４】
１つ以上のパラメータの値によって第１コンピュータによって符号化されてネットワークを通じて第２コンピュータに対して該第１コンピュータによって送信される映像ストリームの修正を容易にするシステムであって：
該第２コンピュータに対して該映像ストリームをトランスポートする、該ネットワークの処理能力に関して、該映像ストリームを復号化する、該第２コンピュータの処理能力に関する、データを該第２コンピュータで収集する手段；及び
前記１つ以上のパラメータの値の前記修正を動作可能にするよう前記第１コンピュータに対して該収集データを送信する手段；
を有し、該１つ以上のパラメータによって前記第１コンピュータが前記映像ストリームを符号化することを特徴とするシステム。
【請求項２５】
請求項２４記載のシステムであって、前記送信する手段が前記第１コンピュータに対して送信されるＲＴＣＰパケットのアプリケーション特有部分における前記収集データを送信する手段を有することを特徴とするシステム。
【請求項２６】
コンピュータ・プログラム・プロダクトであって：
コンピュータ利用可能媒体；
を有し、該媒体においてコンピュータ判読可能コードが実施されていて、該コンピュータ判読可能コードは、実行された場合、１つ以上のパラメータの値によって符号化されてネットワークを通じて配信される映像ストリームを修正する方法をコンピュータに実施させるものであって、更に：
少なくとも該映像ストリームをトランスポートする該ネットワークの処理能力、に関するデータを取得する工程；及び
前記１つ以上のパラメータの値を修正する工程；
を有し、該１つ以上のパラメータによって前記映像ストリームが前記取得データに基づいて符号化されることを特徴とするコンピュータ・プログラム・プロダクト。
【請求項２７】
コンピュータ・プログラム・プロダクトであって：
コンピュータ利用可能媒体；
を有し、該媒体においてコンピュータ判読可能コードが実施されていて、該コンピュータ判読可能コードは、実行された場合、１つ以上のパラメータの値によって符号化されてコンピュータに対してネットワークを通じて配信される映像ストリームを修正する方法をコンピュータに実施させるものであって、更に：
該映像ストリームを該コンピュータに対してトランスポートする該ネットワークの処理能力、及び、該映像ストリームを復号化する該コンピュータの処理能力、に関するデータを取得する工程；及び
前記１つ以上のパラメータの値を修正する工程；
を有し、該１つ以上のパラメータによって前記映像ストリームが前記取得データに基づいて符号化されることを特徴とするコンピュータ・プログラム・プロダクト。
【請求項２８】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム解像度を含み；かつ
前記実施方法において、前記修正する工程が前記取得データに基づいて該フレーム解像度の値を修正する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項２９】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記映像ストリームが符号化される前記１つ以上のパラメータがフレーム・レートを含み；かつ
前記実施方法において、前記修正する工程が前記取得データに基づいて該フレーム・レートの値を修正する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３０】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記取得する工程が前記コンピュータから受信されたＲＴＣＰパケットにおいて前記コンピュータ又は前記ネットワークに関する前記データを取得する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３１】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記取得する工程が前記コンピュータに対して配信される前記映像ストリームを復号化するのに前記コンピュータで利用可能なコンピュータ・プロセッサ・パワーを表す測定値を取得する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３２】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したパケット喪失を表す測定値を取得する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３３】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係した送信バイト及び受信バイトを表す測定値を取得する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３４】
請求項２７記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記取得する工程が前記コンピュータに対する前記ネットワークを通じた前記映像ストリームの前記配信に関係したエラー・レートを表す測定値を取得する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３５】
コンピュータ・プログラム・プロダクトであって：
コンピュータ利用可能媒体；
を有し、該媒体においてコンピュータ判読可能コードが実施されていて、該コンピュータ判読可能コードは、実行された場合、１つ以上のパラメータの値によって第１コンピュータによって符号化されてネットワークを通じて第２コンピュータに対して該第１コンピュータによって送信される映像ストリームの修正を容易にする方法をコンピュータに実行させるものであって、更に：
前記第２コンピュータに対して前記映像ストリームをトランスポートする前記ネットワークの処理能力に関して、該映像ストリームを復号化する該第２コンピュータの処理能力に関する、データを該第２コンピュータで収集する工程；及び
前記１つ以上のパラメータの値の前記修正を動作可能にするよう前記第１コンピュータに対して前記収集データを送信する工程；
を有し、該１つ以上のパラメータによって前記第１コンピュータが前記映像ストリームを符号化することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項３６】
請求項３５記載のコンピュータ・プログラム・プロダクトであって、前記実施方法において、前記送信する工程が前記第１コンピュータに対して送信されるＲＴＣＰパケットのアプリケーション特有部分において前記収集データを送信する工程を有することを特徴とするコンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ通信ネットワークの境界を越えて映像ストリームを配信するシステム及び方法に関するものである。
【背景技術】
【０００２】
ネットワークを通じて受信された映像ストリームに基づいた映像のクライアント装置での表示の品質はネットワークにおいて利用可能な帯域によって制限され得る。ネットワーク輻輳によってデータがネットワークによって行われるデータ伝送から取り去られることが結果として生じ得る。したがって、ネットワークが輻輳に遭遇する場合、ネットワークによって伝えられる映像ストリームはフレーム損失を被って、それによって映像ストリームに基づいて表示される映像の品質を落とすことを結果として生じることがある。
【０００３】
更に、ネットワークを通じて受信された映像ストリームに基づいた映像のクライアント装置での表示の品質は映像ストリームを復号化するクライアント装置の処理能力によって制限され得る。クライアント装置が受信される映像ストリームをまるまる復号化することができない場合、データが用いられないことはネットワーク帯域を無駄にすることに相当する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、１つ以上のパラメータによって符号化されて、ネットワークにおける状態及び映像ストリームを復号化するコンピュータの処理能力に基づいて符号化処理中に動的に修正されるよう、ネットワークを通じてコンピュータに対して送信される、映像ストリームを設ける。本発明は、１つ以上のパラメータの値によって符号化されて、ネットワークを通じて配信される、映像ストリームを修正する、方法、システム、及びコンピュータ・プログラム・プロダクトを設ける。まず、少なくとも映像ストリームをトランスポートするネットワークの処理能力に関係するデータが取得される。次に、映像ストリームが符号化される基礎となる１つ以上のパラメータの値が取得データに基づいて修正される。
【課題を解決するための手段】
【０００５】
本発明の実施例においては、１つ以上のパラメータの値によって符号化された映像ストリームはネットワークを通じてコンピュータに対して配信される。少なくとも映像ストリームをトランスポートするネットワークの処理能力及び映像ストリームを復号化するコンピュータの処理能力に関するデータが取得される。映像ストリームが符号化される基礎となる１つ以上のパラメータの値は更に取得データに基づいて修正される。
【０００６】
本発明の実施例によれば、映像ストリームが符号化される基礎となる１つ以上のパラメータは取得データに基づいて修正されるフレーム解像度を含む。
【０００７】
本発明の別の実施例においては、映像ストリームが符号化される基礎となる１つ以上のパラメータは取得データに基づいて修正されるフレーム・レートを有する。
【０００８】
本発明の別の実施例によれば、コンピュータに対して映像ストリームをトランスポートするネットワークの処理能力に関して映像ストリームを復号化するコンピュータの処理能力に関するデータがコンピュータから受信されるＲＴＣＰ（リアルタイム・トランスポート・プロトコル制御プロトコル）パケットによって得られる。
【０００９】
本発明の実施例においては、コンピュータに対して映像ストリームをトランスポートするネットワークの処理能力に関して映像ストリームを復号化するコンピュータの処理能力に関するデータはコンピュータに対して配信される映像ストリームを復号化するコンピュータでのコンピュータ・プロセッサ・パワーを表す測定値を有する。
【００１０】
本発明の別の実施例においては、コンピュータに対して映像ストリームをトランスポートするネットワークの処理能力に関して映像ストリームを復号化するコンピュータの処理能力に関するデータはネットワークを通じたコンピュータに対する映像ストリームの配信に関係したパケット喪失を表す測定値を有する。
【００１１】
本発明の別の実施例においては、コンピュータに対して映像ストリームをトランスポートするネットワークの処理能力に関して映像ストリームを復号化するコンピュータの処理能力に関するデータはネットワークを通じたコンピュータに対する映像ストリームの配信に関係した送信バイト及び受信バイトを表す測定値を有する。
【００１２】
本発明の別の実施例によれば、コンピュータに対して映像ストリームをトランスポートするネットワークの処理能力に関して映像ストリームを復号化するコンピュータの処理能力に関するデータはネットワークを通じたコンピュータに対する映像ストリームの配信に関係したビット・エラー・レートを表す測定値を有する。
【発明を実施するための最良の形態】
【００１３】
本発明は例示的であって限定的なものでないつもりである添付図面の図に示し、同様な参照記号は同様な又は相当する部分を参照するよう企図されている。
【００１４】
本発明による方法、システム、及びソフトウェア・プログラムを有する製造物品の好適実施例は図面を参照して説明する。
【実施例】
【００１５】
図１に表すように、映像サーバ（「ＶＳ」）システム１００はネットワーク２００を通じて映像クライアント（「ＶＣ」）システム３００と通信し合う。ＶＳシステム１００は如何なる：（ａ）１つ以上のパラメータによって映像ストリームを符号化して；（ｂ）ネットワークを通じて別のコンピュータに対して符号化ストリームを送信して；（ｃ）ネットワーク及び他方のコンピュータにおける状態に関するデータを受信して；（ｄ）受信データに基づいて１つ以上のパラメータを修正することによって映像ストリームの符号化を修正する；ことができるコンピュータ・システムをも包含する。
【００１６】
本発明の実施例においては、ＶＳシステム１００は映像符号化及び送信（「ＶＥＴ」）システム１１０及び映像符号化制御（「ＶＥＣ」）システム１２０を有する。ＶＥＴシステム１００は上記の符号化及び送信機能を実行することができる如何なるコンピュータ・システムをも包含して、これらの機能を実行するコンピュータ・コードを有し得る。例えば、ＶＥＴシステム１００は、例えば、フレーム解像度及びフレーム・レート、を含む、１つ以上のパラメータによる、例えば、ＭＰＥＧ（動画像符号化専門グループ）及びＨ．２６３、の如何なる既知のフォーマットの映像ストリームをも符号化して、既知の手法、例えば、ＩＰ（インターネット・プロトコル）、ＴＣＰ（伝送制御プロトコル）／ＩＰ、及びＵＤＰ（ユーザ・データグラム・プロトコル）、更には、ストリーミング・データのトランスポートに関するプロトコル、例えば、リアル・タイム・ストリーミング・プロトコル（ＲＴＳＰ）、リアル・タイム・トランスポート・プロトコル（ＲＴＰ）、及びリアル・タイム制御プロトコル（ＲＴＣＰ）、によってネットワーク上で映像ストリームを送信することができるコンピュータ・システムを有し得る。上記の１つ以上のパラメータは、他のコンピュータ・システム、例えば、ＶＥＣシステム１２０、によって修正してアクセスすることができるよう、例えば、メモリにおいて、記憶し得る。
【００１７】
ＶＥＣシステム１２０は上記の受信及び修正機能を実行する如何なるコンピュータ・システムをも包含して、それらの機能を実行するコンピュータ・コードを有し得る。例えば、ＶＥＣシステム１２０は映像ストリームが送信されるネットワーク、及び、映像ストリームを受信するコンピュータから受信されたＲＴＣＰパケット内部に含まれたアプリケーション特有データとしての映像ストリームを受信して、映像ストリームが、受信データに対する所定範囲及び所定範囲に相当する所定パラメータ値の表に基づいて符号化される基礎となる１つ以上のパラメータを修正する、コンピュータ、における状態に関するデータを受信することができるコンピュータ・システムを有し得る。
【００１８】
図２は受信データに対する所定範囲及び所定範囲に相当する所定パラメータ値の例示的表を表す。図２の例においては、表の第１列は利用可能なＣＰＵ（中央処理装置）パワーを、下記のように、所定パーセンテージ範囲として表す。表の第２列は利用可能な所定ＣＰＵパワーのパーセンテージ範囲を表す。したがって、更に以下において説明するように、例えば、受信データが６０％の利用可能なＣＰＵパワーを示す場合、ＶＥＣシステム１２０は３５２ｘ２８８のフレーム解像度が受信データを包含する所定の範囲に相当することを判定するよう図２の表を参照し得る。ＶＥＴシステム１１０が映像ストリームを符号化している現行のフレーム解像度が異なる場合、ＶＥＣシステム１２０はフレーム解像度パラメータを３５２ｘ２８８に修正することによってＶＥＴシステム１１０にそのフレーム解像度で映像ストリームを符号化させる。
【００１９】
以下に更に説明するように、同様な表を、ＶＥＣシステム１２０によって受信された他の種類のデータに関して、用い得ることがわかる。更に、図２に表す値は例示のみのものであって、この表における値、更には利用可能なＣＰＵパワー以外のＶＥＣシステム１２０によって受信された他の種類のデータに関する同様な表において用い得る値、は例示のみのものであって本発明の利用者及び実施者にとっての設計上の選択の問題として変えてもよい。
【００２０】
ネットワーク２００は映像ストリーム及び関連制御データをトランスポートすることができる如何なる通信ネットワークをも包含する。例えば、ネットワーク２００はＬＡＮ（ローカル・エリア・ネットワーク）、ＷＡＮ（ワイド・エリア・ネットワーク）、又はインターネットを有し得る。
【００２１】
ＶＣシステム３００は：（ａ）ネットワークを通じて映像ストリームを受信して利用者に対して表示するよう受信映像ストリームを復号化して；（ｂ）（ｉ）映像ストリームが受信されるネットワークにおける状態及び（ｉｉ）受信される映像ストリームを復号化するのにＶＣシステム３００内部で利用可能なリソースに関するデータを収集して；（ｃ）収集データをＶＣシステム３００によって受信される映像ストリームを送信するコンピュータ・システムに対して送信する；ことができる如何なるコンピュータ・システムをも包含する。ＶＣシステム３００は上記の機能を実行するコンピュータ・コードを有し得る。
【００２２】
本発明の実施例において、ＶＣシステム３００は映像受信及び復号化（「ＶＲＤ」）システム３１０及び状態通知（「ＣＲ」）システム３２０を有する。ＶＲＤシステム３１０はネットワークを通じて映像ストリームを受信して利用者に対して表示するよう受信映像ストリームを復号化する如何なるコンピュータ・システムをも包含する。例えば、ＶＲＤシステム３１０は、既知の映像ストリーミング・クライアント・ソフトウェア、例えば、リアルネットワークス社からのリアルワン（商標）プレイヤ又はマイクロソフト社からのウィンドウズ・メディア・プレイヤ（商標）、を有し得る。
【００２３】
ＣＲシステム３２０は、映像ストリームが受信されて、該映像ストリームを復号化するのにＶＣシステム３００内部で利用可能なリソースが受信される、ネットワークにおける状態に関するデータを収集して、ＶＣシステム３００によって受信される映像ストリームを送信するコンピュータ・システムに対して収集データを送信する、如何なるコンピュータ・システムをも有し得る。ＣＲシステム３２０は、ネットワークにおける条件に関するデータを収集するコンピュータ・コード及び如何なる既知の方法又は手法によってもよいコンピュータ・システム内部で利用可能なリソースに関するデータを有し得る。ネットワークにおける状態に関するＣＲシステム３２０によって収集されるデータの種類は、例えば、ネットワークを通じて現在受信されている映像ストリームに関する、パケット喪失、送受信バイト、及びビット・エラー・レートを表す測定値、を含む、現在受信されている映像ストリームの、ネットワークを通じた、受信に関する測定値を有し得る。受信映像ストリームを復号化するのにＶＣシステム３００内部で利用可能なリソースに関するＣＲシステム３２０によって収集されたデータの種類は、例えば、受信映像ストリームを復号化するのに利用可能なメモリ及びＣＰＵパワーを表す測定値を含む。
【００２４】
更に、ＣＲシステム３２０はＶＣシステム３００によって受信されている映像ストリームを送信するコンピュータ・システムに対して収集データを送信する機能を実行するコンピュータ・コードを有し得る。例えば、ＣＲシステム３２０は実行された場合、ＶＣシステム３００によって受信されている映像ストリームを送信するコンピュータ・システムに送信するＲＴＣＰパケットにおけるアプリケーション特有データとして収集データをＣＲシステム３２０に送信させる、コンピュータ・コードを有し得る。
【００２５】
本明細書及び特許請求の範囲の原文における「ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ」は幅広く用いられてコンピュータ・ハードウェア及びコンピュータ・ソフトウェア又はコンピュータ・ソフトウェアのみを包含する。例えば、ＶＥＴシステム１１０及びＶＥＣシステム１２０各々はＶＳシステム１００の同一コンピュータ・ハードウェア上にあるコンピュータ・コードを有し得る。代替的に、ＶＥＴシステム１１０及びＶＥＣシステム１２０各々は別個のコンピュータ・ハードウェアにおいて実施し得る。
【００２６】
図３及び４は本発明が動作し得る一方法を表し、図３はＶＳ１００で行われる動作を表して図４はＶＣ３００で行われる動作を表す。図３によれば、まず、ブロック１０００に表すように、通信がＶＣシステム３００と確立される。例えば、ＶＳシステム１００は、符号化映像をＶＣシステム３００に送信し得るＲＴＰ／ＵＤＰ接続及び診断情報をＶＣシステム３００から受信し得るＲＴＣＰ／ＵＤＰ接続を確立するよう、ＶＣシステム３００と通信し得る。
【００２７】
次に、ブロック１０５０に表すように、これから、映像ストリームの一部として符号化及び送信されねばならない、ソース・データがあるかについての判定を行い得る。例えば、ソース・データが生映像の場合、ＶＥＴシステム１１０は生映像を符号化する処理が続いているかについての判定を行い得、更に、ソース・データがＶＳシステム１００によってコード変換される記憶ファイルからの映像データの場合、ＶＥＴシステム１１０はこれから記憶映像ファイルにおいてコード変換しなければならないデータがあるかを判定し得る。
【００２８】
ブロック１０５０において表される動作から結果として生じる判定が否定の場合、処理はＶＳシステム１００で終了する。一方、ブロック１０５０において表される動作から結果として生じる判定が正の場合、ブロック１１００、１２００、及び１３００において表される動作が行われる。
【００２９】
ブロック１１００において表されるように、映像ストリームが符号化される基礎になる１つ以上のパラメータについて記憶された値が取り出される。例えば、ＶＥＴシステム１１０は各パラメータと関係する記憶位置から１つ以上のパラメータの各々についての値を取り出し得る。次に、ソース・データが１つ以上のパラメータについて取り出された値による映像ストリームに、ブロック１２００において表されるように、符号化される。例えば、ＶＥＴシステム１１０は既知の映像圧縮アルゴリズム、例えば、ＭＰＥＧ又はＨ．２６３、によって、上記の１つ以上のパラメータ、例えば、フレーム解像度及びフレーム・レート、について取り出された値によって、ソース・データを符号化し得る。次に、符号化映像ストリームは、ブロック１３００において表されるように、送信される。例えば、ＶＥＴシステム１１０は符号化映像ストリームを、ネットワーク２００を通じて、ＶＣシステム３００に対して送信し得る。処理は次に、ブロック１０５０において表された動作に戻る。
【００３０】
図３に表すように、ブロック１０５０において表された動作から結果として生じる判定が肯定の場合、ブロック１１００、１２００、及び１３００において表された動作に加えて、更に、ブロック１４００、１５００及び１６００において表された動作が行われる。ブロック１４００、１５００、及び１６００において表された動作は同時に、かつ、ブロック１１００、１２００、及び１３００において表された動作とは無関係に、実施し得る。
【００３１】
ブロック１４００において表されたように、ＶＣシステム３００から受信されたネットワーク２００又はＶＣシステム３００における状態に関するデータがあるかについての判定が行われる。例えば、ＶＳシステム１００のＶＥＣシステム１２０はＶＣシステム３００から確立されたＲＴＣＰ／ＵＤＰ接続上で受信されたＲＴＣＰパケットを、ネットワーク２００における状態、又は、ＶＣシステム３００から受信されたＲＴＣＰパケットのアプリケーション特有部分における映像ストリームの復号化処理能力に関する、ＶＣシステム３００における状態、に関するＶＣシステム３００からのデータが受信されたかを判定するよう、検査し得る。ブロック１４００に表された動作から結果として生じる判定が否定の場合、処理はブロック１０５０に表された動作に戻る。
【００３２】
ブロック１４００において表された動作から結果として生じる判定が肯定の場合、処理はブロック１５００において表された動作に続き、受信データに相当する１つ以上のパラメータの各々についての値が判定される。例えば、ＶＥＣシステム１２０はＶＣシステム３００から受信されたデータを、図２とともに上記に説明したように、受信データの種類についての所定範囲及び所定範囲毎の１つ以上のパラメータの各々についての相当する値を規定する表と、比較し得る。例えば、ＶＣシステム３００から受信されたデータがＶＳシステム１００からＶＣシステム３００に対して現在送信されている映像ストリームを復号化するのにＶＣシステム３００で利用可能なＣＰＵパワーの測定値を表す場合、ＶＥＣシステム１２０はＶＣシステム３００から受信されたデータを図２の表と、受信データを包含する所定の範囲とこの範囲に相当するフレーム解像度パラメータについての値とを判定するよう、比較し得る。例えば、ＶＣシステム３００から受信されたデータがＶＳシステム１００によってＶＣシステム３００に対して送信される映像ストリームを復号化するのにＶＣシステム３００で利用可能なＣＰＵ  パワーが６０％の測定値を示す場合、ＶＥＣシステム１２０は３５２ｘ２８８を、この受信データに相当するフレーム解像度パラメータについての適切な値として、判定する。同様に、ＶＥＣシステム１２０はＶＣシステム３００から受信されたデータに相当する１つ以上のパラメータの各々の値を判定し得る。
【００３３】
次に、ブロック１６００において表されたように、１つ以上のパラメータの値が、必要な場合、修正される。例えば、ＶＥＣシステム１２０は、ブロック１５００において表された動作からの、１つ以上のパラメータ毎に判定された値を、１つ以上のパラメータ毎に記憶された値と、比較し得る。如何なる判定値をもパラメータについての記憶値から異なる場合、ＶＥＣシステム１２０はパラメータと関連する記憶領域において判定値を記憶する。処理は次にブロック１０５０において表された動作に戻る。
【００３４】
同時に、ＶＳシステム１００が映像ストリームを符号化して送信すると、ＶＣシステム３００は映像ストリームを、ネットワーク２００を通じて、受信してそれを、ＶＣシステム３００を操作する利用者に対して表示するよう、復号化する。図４に表すように、まず、ブロック２０００において表されたように、通信がＶＳシステム１００と確立される。例えば、図３のブロック１０００において表す動作と同様に、ここではＶＣシステム３００はＶＳシステム１００と通信し合って、符号化映像をＶＣシステム３００から受信し得るＲＴＰ／ＵＤＰ接続及び診断情報をＶＳシステム１００に対して送信し得るＲＴＣＰ／ＵＤＰ接続を確立する。ＶＲＤシステム３１０はその場合、ＶＳシステム１００から送信される映像ストリームを受信して復号化する処理を開始して継続する。ＶＲＤシステム３１０の受信及び復号化処理中、ＣＲシステム３２０は継続して図４に表されたブロック２０５０、２１００、及び２２００に表された動作を行う。
【００３５】
ＶＳシステム１００から受信される映像ストリームを復号化する処理が開始されると、ＣＲシステム３２０はこの処理を、ブロック２０５０に表されたように、この受信及び復号化処理がＶＲＤシステム３１０で続いているかの判定を行うことによって、監視する。この判定が否定の場合、ＣＲシステム３２０での処理が終了する。
【００３６】
この判定が肯定の場合、ブロック２１００において表された動作に続き、ここではネットワーク２００における状態及び映像ストリームを復号化するＶＣシステム２００において利用可能なリソースに関するデータが収集される。例えば、ネットワーク２００における状態に関しては、ＣＲシステム３００は、（ａ）ＶＳシステム１００からＶＣシステム３００に対するネットワーク２００を通じた映像ストリームの配信に関係したパケット喪失、（ｂ）ＶＳシステム１００からＶＣシステム３００に対するネットワーク２００を通じた映像ストリームの配信に関係した、ＶＳシステム１００によって送信されたバイト数及びＶＣシステム３００によって受信されたバイト数、（ｃ）ＶＳシステム１００からＶＣシステム３００に対するネットワーク２００を通じた映像ストリームの配信に関係したビット・エラー・レート、を表す測定値を含む、データを取得する既知の手法を用い得る。更に、映像ストリームを復号化するのにＶＣシステム２００において利用可能なリソースに関しては、ＣＲシステムは、ＶＳシステム１００から受信される映像ストリームを復号化するのにＶＣシステム３００で利用可能なメモリ又は利用可能なＣＰＵパワーを表す測定値を含む、データを取得する既知の方法を使用し得る。利用可能なメモリ及びＣＰＵパワーは、それらのリソースがＶＣシステム３００で用いられて他の目的のために開放されるにつれて、すなわち他のアプリケーション・プログラムがＶＣシステム３００でオープン又はクローズされるにつれて、変動し得ることを特筆する。更に、上記のデータ（例えば、パケット喪失、送受信バイト、ビット・エラー・レート、利用可能メモリ、利用可能なＣＰＵパワー）は如何なる既知の方法によっても、ＣＲシステム３２０によって用いられる測定の標準がＶＥＣシステム１２０によって用いられる標準と同様なもの（例えば、図２の表に表すような、ＣＲシステム３２０及びＶＥＣシステム１２０による総ＣＰＵパワーのパーセンテージとして表された利用可能なＣＰＵパワー）である限り、測定し得る。
【００３７】
次に、収集データが、ブロック２２００において表されたように、ＶＳシステム１００に対して、送信される。例えば、ＣＲシステム３２０は、ネットワーク２００における状態、及びＶＳシステム１００に対して確立ＲＴＣＰ／ＵＤＰ接続上を返信されるＲＴＣＰパケットのアプリケーション特有データとしての映像ストリームを復号化するようＶＣシステム２００において利用可能なリソースに関する収集データを送信し得る。処理は次にブロック２０５０における動作に続く。
【００３８】
したがって、ＶＳシステム１００が映像ストリームを符号化してＶＣシステム２００に対して符号化ストリームを送信する処理中には、ＶＣシステム２００はネットワーク２００及びＶＣシステム２００における状態に関するデータを継続して収集してこのデータを映像ストリームの符号化を調整するのに用いるようＶＳシステム１００に対して送信し得る。したがって、ネットワーク２００における輻輳が悪化するか、受信映像ストリームを復号化するのに利用可能なＶＣシステム２００でのリソースが減少するにつれて、ＶＳシステム１００で受信されたデータはそれに、例えば、符号化される映像ストリームのフレーム解像度、を低減させ得る。逆に、ネットワーク２００における輻輳が改善するか、リソースが関連付けされてＶＣシステム３００での受信ストリームの映像復号化に利用可能にされるにつれて、ＶＳシステム１００で受信されたデータはそれに、例えば、符号化される映像ストリームのフレーム解像度を増加させ得る。
【００３９】
本発明は好適実施例に関して説明して示したが、当業者に明らかである多くの変形及び修正を本発明の精神及び範囲から逸脱することなく行い得て、したがって、そのような変形及び修正は本発明の範囲内に含まれることが企図されているため、本発明は方法論又は構造群のまさにその詳細に限定されるものでない。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施例及びそれが動作する環境を表す構成図である。
【図２】所定データ範囲及び相当するパラメータ値の例を表す表である。
【図３】本発明の具体的実施例を表す流れ図である。
【図４】本発明の別の具体的実施例を表す流れ図である。
【図１】
2005513876.tif 000003
【図２】
2005513876.tif 000004
【図３】
2005513876.tif 000005
【図４】
2005513876.tif 000006
【国際調査報告】
2005513876.tif 000007