(57)【要約】  本発明の態様は、メディアストリームの伝送を同期させる、マルチメディアネットワークセッションの確立を目的としている。一実施形態において、着信する音声ストリームおよび映像ストリームを同期させる方法を提供する。本方法は、着信する音声ストリームを受信する第１のコンピューターデバイスおよび着信する映像ストリームを受信する第２のコンピューターデバイス間の通信チャネルを確立する方法を含む。通信チャネルを確立すると、着信する音声ストリームの属性を説明する現在のネットワーク状態を、第１のコンピューターデバイスで取得する。次に、着信する音声ストリームの遅延を計算する。遅延が分かると、本方法は着信する映像ストリームを遅延させ、着信する音声ストリームの遅延と一致させる。
2010512688.tif 000002
【特許請求の範囲】
【請求項１】
着信する音声ストリームおよび映像ストリームを同期させる方法であって、前記着信する音声ストリームを第１のコンピューターデバイスで受信し、前記着信する映像ストリームを第２のコンピューターデバイスで受信し、
前記方法は、
前記着信する音声ストリームを受信している前記第１のコンピューターデバイスおよび前記着信する映像ストリームを受信している前記第２のコンピューターデバイスの間で通信チャネルを確立するステップと、
前記第１のコンピューターデバイスで前記着信する音声ストリームの属性を説明する現在のネットワーク状態を取得するステップと、
前記着信する音声ストリームを受信する際の遅延を計算するステップと、
前記着信する映像ストリームの提示を遅延させ、前記着信する音声ストリームの遅延と一致させるステップと
を含むことを特徴とする方法。
【請求項２】
前記第１のコンピューターデバイスおよび前記第２のコンピューターデバイスは、それぞれ別々のネットワーク接続を維持し、ＩＰデータネットワークを介してデータを伝送することを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のコンピューターデバイスおよび前記第２のコンピューターデバイスの間で通信チャネルを確立するステップは、マルチメディアネットワークセッションに参加する予定の各コンピューターデバイスからＳＩＰベースの制御メッセージを収集および分配するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記現在のネットワーク状態を取得するステップは、
ＲＴＣＰパケットを定期的に受信するステップをさらに含み、
前記ＲＴＣＰパケットが、前記着信する音声ストリームのパケット損失率およびジッターを説明するデータを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記着信する映像ストリームの提示を遅延させ、前記着信する音声ストリームの遅延と一致させるステップは、前記第１のコンピューターデバイスに対応するＲＴＰ時刻情報およびＮＴＰ時刻情報から、前記着信する音声ストリームのパケットを受信した実時間を特定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記着信する映像ストリームの提示を遅延させ、前記着信する音声ストリームの遅延と一致させるステップは、
前記音声ストリームの遅延を特定する変数を有するＳＩＰベースの情報メッセージを作成するステップと、
前記ＳＩＰベースの情報メッセージをセッションコントローラーとして機能を果たす前記第２のコンピューターデバイスに報告するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
セッションコントローラーとして機能を果たす前記第２のコンピューターデバイスが前記着信する映像ストリームを受信しているか否かを判定するステップと、
前記第２のコンピューターデバイスが前記着信する映像ストリームを受信していない場合、前記着信する映像ストリームを受信しているコンピューターデバイスに前記ＳＩＰベースの情報メッセージを転送するステップと
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記着信する映像ストリームの提示を遅延させ、前記着信する音声ストリームの遅延と一致させるステップは、
前記着信する音声ストリームおよび映像ストリームが同期からずれている時間を特定するステップと、
前記着信する音声ストリームおよび映像ストリームが同期からずれている特定した時間、前記映像ストリームをメモリーにバッファリングするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
セッションコントローラーとして機能を果たす前記第２のコンピューターデバイスは、また前記着信する映像ストリームを受信することを特徴とする請求項１に記載の方法。
【請求項１０】
複数のコンピューターデバイスにわたって伝送されるリアルタイムのメディアストリームを同期させる方法を実行するコンピューター読み取り可能な命令を含むコンピューター読取可能な媒体であって、前記方法は
ユーザーが複数のデバイスを利用してマルチメディアネットワークセッションに参加することを可能にするステップであって、前記マルチメディアネットワークセッション中で、第１のメディアストリームを第１のネットワークエンドポイント間で直接伝送し、および第２のメディアストリームを第２のネットワークエンドポイント間で直接伝送するステップと、
ネットワーク状態を説明するデータを、前記第１および第２のネットワークエンドポイントの両方に分配するステップと、
前記第１のメディアストリームを前記第２のメディアストリームと同期してレンダリングさせるための前記ネットワーク状態を明らかにするステップと
を含むことを特徴とするコンピューター読取可能な媒体。
【請求項１１】
セッションコントローラーとして機能を果たすコンピューターデバイスを経由せずに、前記第１メディアストリームおよび第２のメディアストリームを、ネットワークエンドポイント間で伝送することを特徴とする請求項１０に記載のコンピューター読取可能な媒体。
【請求項１２】
ユーザーが複数のデバイスを利用してマルチメディアネットワークセッションに参加することを可能にするステップは、前記マルチメディアネットワークセッションに参加する予定の各コンピューターデバイスからＳＩＰベースの制御メッセージを収集および分配するステップをさらに含むことを特徴とする請求項１０に記載のコンピューター読取可能な媒体。
【請求項１３】
前記ネットワーク状態を説明するデータを分配するステップは、パケット損失率およびジッターを特定するＲＴＣＰパケットを、前記第１および第２のネットワークエンドポイントの間で交換させるステップをさらに含むことを特徴とする請求項１０に記載のコンピューター読取可能な媒体。
【請求項１４】
前記第１のメディアストリームを前記第２のメディアストリームと同期してレンダリングさせるための前記ネットワーク状態を明らかにするステップは、
ネットワーク状態中の変数に起因する、着信する映像ストリームおよび音声ストリームをレンダリングする際の遅延を計算するステップと、
前記映像ストリームおよび前記音声ストリームをレンダリングすることができるときの間の差を特定するステップと
をさらに含むことを特徴とする請求項１０に記載のコンピューター読取可能な媒体。
【請求項１５】
少なくとも着信するメディアストリームのうちの１つをバッファーに格納し、前記ストリームをレンダリングするときの間の差を取り除くステップをさらに含むことを特徴とする請求項１４に記載のコンピューター読取可能な媒体。
【請求項１６】
着信する映像ストリームおよび音声ストリームをレンダリングする際の遅延を計算するステップは、ＳＩＰベースの情報メッセージを、着信するメディアストリームを受信しているコンピューターデバイスからセッションコントローラーとして機能を果たしているコンピューターデバイスに伝送するステップを含むことを特徴とする請求項１４に記載のコンピューター読取可能な媒体。
【請求項１７】
マルチメディアネットワークセッションに参加するために利用される複数のデバイスは、コンピューターおよびＩＰ電話であることを特徴とする請求項１０に記載のコンピューター読取可能な媒体。
【請求項１８】
複数のコンピューターデバイスにわたって伝送されているメディアストリームを同期させるシステムであって、
ＩＰデータネットワークを介して伝送されているメディアストリームを同期させるコンピューター実行可能なコンポーネントをそれぞれ実行する第１および第２のセッションコントローラーコンピューターデバイスであって、
ユーザーが複数のコンピューターデバイスを利用してマルチメディアネットワークセッションに参加することを可能とする制御情報を交換させる管理コンポーネントおよび
第１のメディアストリームを第２のメディアストリームと同時にレンダリングさせる調整コンポーネント
を含む第１および第２のセッションコントローラーコンピューターデバイスと、
前記第１のメディアストリームの遅延を前記第１のセッションコントローラーコンピューターデバイスに報告するコンピューター実行可能なコンポーネントを有する第１のメディア特有のコンピューターデバイスと、
前記第１のメディアストリームの遅延を前記第２のセッションコントローラーコンピューターデバイスに報告するコンピューター実行可能なコンポーネントを有する第２のメディア特有のコンピューターデバイスと
を備えることを特徴とするシステム。
【請求項１９】
第１のメディアストリームを第２のメディアストリームと同時にレンダリングさせることが、
前記第１のメディアストリームおよび第２のメディアストリームが同期からずれている時間を特定するステップと、
前記第１のメディアストリームをバッファーに格納し、前記第１のメディアストリームおよび第２のメディアストリームをレンダリングするときの間の差を取り除くステップと
を含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記第１のメディアストリームの遅延を前記第１のセッションコントローラーコンピューターデバイスに報告するステップは、
前記第１のメディアストリームの遅延を特定する変数を有するＳＩＰベースの情報メッセージを作成するステップと、
前記ＳＩＰベースの情報メッセージを、確立された通信チャネルを介して第１のメディア特有のコンピューターデバイスから前記第１のセッションコントローラーコンピューターデバイスに伝送するステップと
を含むことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイスにわたるメディアストリームの同期方法およびシステムに関する。
【背景技術】
【０００２】
現代のネットワークは、人々が情報を取得する方法において革命をもたらしてきた。この点において、インターネットのために開発されたＩＰデータネットワークは、ユーザーがマルチメディア通信を使って相互に交流する機会を提供する。例えば、適切なハードウェアおよびソフトウェアを有するコンピューターデバイスにより、ユーザーが他のネットワークコンピューターデバイス間で、映像、音声、インスタントメッセージ（例えば、テキスト）などを送信／受信することが可能となる。ＩＰデータネットワークを介して伝送されるデータは、パケットと呼ばれる一連のデータブロックに加工され、当該パケットは、さまざまなメディアタイプを伝えることができるＩＰプロトコルに準拠する。デスクトップまたはラップトップなどのパーソナルコンピューターを使って、ユーザーは、異なるメディアタイプを並行して伝えるマルチメディアネットワークセッションを確立できる。
【０００３】
ますます、ＩＰデータネットワークを介してメディアストリームを直接伝送するよう構成された、メディア特有の（media-specific）コンピューターデバイスが開発されている。例えば、ＩＰ電話は、電話のアナログ信号をデジタル化し、デジタル化された信号をパケットに分割し、およびそのパケットを別のＩＰネットワークコンピューターデバイスに伝送する機能性を実装する。この例では、音声データを、ＶｏＩＰ（Voice over Internet Protocol）に従ってパケット化できる。
【０００４】
マルチメディアネットワークセッションでは、メディアストリーム（例えば、映像および音声）を、リモートユーザー間で伝送できる。当業者および他の者は、システムが、ユーザーが単一のコンピューターデバイスを利用してネットワークセッションに参加するとき、メディアストリームを同期させるように開発されてきたことを認識するであろう。しかしながら、ＩＰ電話など、メディア特有のコンピューターデバイスが発達するにつれて、ユーザーは、複数のコンピューターデバイスを利用してネットワークセッションに参加できるようになった。例えば、ユーザーは、デスクトップコンピューターがＩＰ電話と密接に関連しているシステム構成を利用できる。ユーザーの選択により、デスクトップコンピューターを使用して映像データを送信／受信する間に、ＩＰ電話を使用して音声データを送信／受信するように指示できる。この点において、既存のシステムは、複数のコンピューターデバイスにわたって伝えられるメディアストリームを確実に同期させることができない。
【発明の概要】
【０００５】
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲を決定に際して、補助として使用することを目的とするものでもない。
【０００６】
本発明の態様は、複数のコンピューターデバイスにわたるメディアストリームの伝送を同期させる、マルチメディアネットワークセッションの確立を目的としている。一実施形態において、着信する音声ストリームおよび映像ストリームを同期させる方法を提供する。より具体的には、本方法は、着信する音声ストリームを受信する第１のコンピューターデバイスおよび着信する映像ストリームを受信する第２のコンピューターデバイス間の通信チャネルを確立する方法を含む。通信チャネルを確立すると、着信する音声ストリームの属性を説明する現在のネットワーク状態を、第１のコンピューターデバイスで取得する。次に、着信する音声ストリームの遅延を計算する。遅延が分かると、本方法は着信する映像ストリームを遅延させ、着信する音声ストリームの遅延と一致させる。結果として、複数のデバイスを用いてマルチメディアネットワークセッションに参加しているにもかかわらず、異なるメディアストリームのレンダリングは同期される。
【図面の簡単な説明】
【０００７】
前述の態様および本発明の付随する利点の多くは、添付の図面と併せて考慮することで、以下の詳細な説明を参照することにより、より良く理解されるようになるのと同じように、より容易に評価されるようになるだろう。
【図１】本発明の態様において実施されるネットワーク環境を示す図である。
【図２】複数のコンピューターデバイスにわたって伝送されるメディアストリームを同期させるルーチンを示す図である。
【図３】メディアストリームを同期させるときに起こる制御情報の例示的な交換を示す図である。
【発明を実施するための形態】
【０００８】
本発明を、プログラムモジュールなど、コンピューターで実行されるコンピューター実行可能な命令との一般的な関係で説明できる。一般的に説明されるように、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、ウィジェット、オブジェクト、コンポーネント、およびデータ構造などを含む。本発明は、一般的に、タスクが通信ネットワークを介して接続されたリモート処理装置で実行される分散コンピューター環境において実施される。分散コンピューター環境では、プログラムモジュールは、ローカルおよび／またはリモートコンピューター記憶媒体に位置することができる。
【０００９】
本発明の態様を、主として、マルチメディアネットワークセッションに参加するために複数のデバイスが利用されるときに、メディアストリームを同期させることとの関連で説明するが、当業者および他の者は、本発明の態様をこれらの述べてきた領域だけでなく他の領域にも適用できることを認識するであろう。いずれにしても、以下の説明によりまず、本発明の態様を実施できる環境の概観を示す。次に、本発明の態様を実施するルーチンを説明する。しかしながら、本明細書で示した実例は、特許請求の範囲に記載されている主題事項を網羅するものでも限定するものでもなく、開示した発明の的確な形態として明らかにしたものである。同様に、本明細書で説明するいずれのステップも、同一の結果を達成するために他のステップまたはステップの組み合わせと置き換えることができる。
【００１０】
図１および以下の議論により、本発明の態様を実施できるネットワーク環境１００の概要を示すことを意図する。図１に例示されるように、ネットワーク環境１００は、ネットワーク１０１を介して通信に接続されるコンピューター１０２〜１０４から構成される。この例では、コンピューター１０２〜１０４は、セッションコントローラー１０５として動作し、マルチメディアネットワークセッションにおいて交換制御情報を管理するソフトウェアシステムを含む。一例として、コンピューター１０２〜１０４は、デスクトップコンピューター、ラップトップコンピューター、ミニコンピューターおよびメインフレームコンピューター、サーバコンピューター、パーソナルデジタルアシスタントおよびタブレットなどのハンドヘルドコンピューターデバイス、メディアシステムを含むマイクロプロセッサーベースのおよび／またはプログラム可能な家庭用電化製品、セットトップボックス、ゲームシステム、またはセッションコントローラーとしての機能を果たすことができる任意の他のコンピューターデバイスとすることができる。当業者および他の者は、ネットワーク１０１をＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、セルラーネットワーク、ＩＥＥＥ８０２．１１、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線ネットワークなどとして実施できることを認識するであろう。一般的に、ネットワーク１０１は、インターネットまたはＷＷＷ（World Wide Web）として一般に知られている世界的なネットワークであろう。しかしながら、当業者は、本発明を、ＩＰプロトコルを使用して通信するＬＡＮまたはＷＡＮもしくは任意の他のデータネットワークなどの、他の対話環境においても使用できることを認識するであろう。
【００１１】
さらに図１に例示されるように、コンピューター１０２は、ＩＰ電話１０６およびウェブカメラ１０８と関連している。さらに、コンピューター１０４は、ＩＰ電話１１０およびスタンドアロンビデオ装置１１２と関連している。この点において、スタンドアロンビデオ装置１１２は、リアルタイムに画像のシーケンスを受信および表現できる任意の装置とすることができる。ほんの一例として、スタンドアロンビデオ装置１１２は、ウェブカメラ、テレビ、娯楽システム、ゲーム機などと関連しているコンピューターとすることができる。本例示的な実施形態では、ウェブカメラ１０８は、直接の通信リンクを介してコンピューター１０２と通信する。ウェブカメラ１０８およびコンピューター１０２の間の直接の通信リンクを提供する際に、複数のプロトコルのうち任意の１つを用いて、ＵＳＢ（Universal Serial Bus）、ＦｉｒｅＷｉｒｅ（登録商標）（「ＩＥＥＥ１３９４」または「ｉＬｉｎｋ」としても知られている）などを含むがこれらに限定されない通信を円滑にすることができる。ＩＰ電話１０６は、ＬＡＮ用に開発されたコンピューターネットワークシステムを使用してコンピューター１０２と通信する。同様に、ＩＰ電話１１０およびスタンドアロンメディア装置１１２も、ＬＡＮ用に開発されたコンピューターネットワークシステムを使用してコンピューター１０４と通信する。ほんの一例として、ローカルデバイス間を通信するこれらのシステムは、ＩＥＥＥ８０２．３規格に従って開発されたイーサネット（登録商標）ネットワーク技術を含むことができる。しかしながら、当業者および他の者は、他のＬＡＮ技術（ＩＥＥＥ８０２．１１規格に準拠するＷｉ−Ｆｉシステムなど）も使用できることを認識するであろう。
【００１２】
ローカルネットワーク接続を通じて、データを、ＩＰ電話１０６からコンピューター１０２に伝送できる。また、当業者および他の者は、ローカルネットワーク接続を用いて、ネットワーク１０１を介して直接データを伝送できることを認識するであろう。本発明は、概して、固有の種類のコンピューターデバイスおよびネットワークと連動する動作に関して説明されているが、これは例示を目的としているにすぎず、限定していると解釈すべきではないことも留意すべきである。
【００１３】
マルチメディアネットワークセッションを確立するために、制御情報をさまざまなコンピューターデバイス間で交換する。この点において、ＳＩＰ（Session Initiation Protocol）は、映像および音声などマルチメディアストリームを含むネットワークセッションを開始し、変更し、および終了する例示的なプロトコルである。しかしながら、当業者および他の者は、他のプロトコルを用いて制御情報を交換できることを認識するであろう。この点におけるほんの一例として、制御情報を、ＳＩＰまたはＭＧＣＰ（Media Gateway Control Protocol）、Ｍｅｇａｃｏ／Ｈ．２４８、ＳＯＡＰ（Simple Object Access Protocol）、ＸＭＰＰ（Extensible Messaging and Presence Protocol）などを利用して交換できる。
【００１４】
図１に例示した実施形態では、ユーザーは、複数のコンピューターデバイスを利用して、マルチメディアネットワークセッション中で異なるメディアストリームを送信／受信する。この点において、直接の通信チャネルを、特定のメディアストリームの通信に適したコンピューターデバイス間で確立する。図１に例示されるように、制御情報を交換し、ＩＰ電話１０６およびＩＰ電話１１０が直接の通信チャネル１１４を介して音声データを直接やりとりできるようにする。映像データに関しては、直接の通信チャネル１１６を、コンピューター１０２およびスタンドアロンビデオ装置１１２間で確立する。直接の通信チャネルが確立されると、セッションコントローラーとして機能を果たすコンピューターを経由せずに、メディアストリームを、適したデバイス間でやりとりすることができる。
【００１５】
従来、ユーザーは、複数のコンピューターデバイスを利用してマルチメディアネットワークセッションに参加することができなかった。それどころか、コンピューターデバイスに直接接続されたこれらＩ／Ｏデバイス（ウェブカメラ、ヘッドホン、マイクロホンなど）のみが、マルチメディアネットワークセッションに参加することができた。結果として、複数のコンピューターデバイスにわたってメディアストリームを同期するシステムは、必要ではなかった。しかしながら、ユーザーは、もはや単一のコンピューターデバイスと関連するＩ／Ｏデバイスに制限されずに、マルチメディアネットワークセッションに参加する。むしろ、システムは、ユーザーが複数のコンピューターデバイスを利用してマルチメディアネットワークセッションにメディアストリームを伝送することを可能とするように発展してきた。例えば、図１に示す例において、ユーザーは、コンピューター１０２が映像データを送信／受信する間に、ＩＰ電話１０６を用いて音声データを送信／受信するシステム構成を利用できる。別のユーザーは、スタンドアロンビデオ装置１１２が映像データを送信／受信する間に、ＩＰ電話１１０を用いて音声データを送信／受信するシステム構成を利用できる。この場合、コンピューター１０４は、単に制御情報の交換を管理するセッションコントローラーとして機能を果たすにすぎない。
【００１６】
概して説明したように、本発明の態様は、複数のコンピューターデバイスを用いてマルチメディアネットワークセッションに参加するときに、メディアストリームを同期させる。例えば、マルチメディアネットワークセッション中で、映像ストリームを直接の通信チャネル１１６を介して伝送する間に、音声ストリームを直接の通信チャネル１１４を介して伝送できる。複数のコンピューターデバイスを利用してマルチメディアネットワークセッションに参加しているにもかかわらず、ユーザーに提示されるときに異なるメディアストリームは同期される。
【００１７】
ここで図２を参照して、フロー図が例証する同期化ルーチン２００を説明する。概説すると、同期化ルーチン２００は、複数のコンピューターデバイスにわたって伝送されるメディアストリームを同期させる処理を実行する。この点において、同期化ルーチン２００で実行される処理により、ネットワークアーキテクチャの機能性を拡張し、異なる通信チャネルで伝送されるメディアストリームを同期させる。前述のように、本発明の態様を、さまざまなプロトコルを利用するＷＡＮおよびＬＡＮを含む、異なる種類のネットワークにおいて実施できる。この点において、マルチメディアネットワークセッションを、異なる構成を維持するデバイスおよびネットワーク間で確立できる。例えば、ユーザーは、セッションコントローラーとして機能を果たすコンピューターを利用して、メディアストリームを伝送できる。また、１つまたは複数のメディア特有のデバイスを用いて、同一ネットワークセッション中でメディアストリームを伝送できる。
【００１８】
図２に例示されるように、同期化ルーチン２００は、ブロック２０２で始まり、複数のデバイスにわたってメディアストリームを伝送するマルチメディアネットワークセッションを確立する。前述したように、ＳＩＰ（Session Initiation Protocol）は、映像および音声などメディアストリームを含むネットワークセッションを開始し、変更し、および終了する例示的なプロトコルである。ブロック２０２で、一実施形態に従って、ＳＩＰを利用してリモートデバイス間で制御情報を交換して、マルチメディアネットワークセッションを確立できる。しかしながら、マルチメディアネットワークセッションを確立することは、本発明の範囲外のシステムを使用して実行されるため、これらのシステムについてはここでは詳細に説明しない。
【００１９】
ブロック２０４で、リモートユーザーに関連するデバイス間でメディアストリームの伝送を開始する。前述したように、セッションコントローラーとして機能を果たすコンピューターを経由せずに、メディアストリームを、直接の通信チャネルを介して伝送する。一実施形態において、メディアストリーム中のデータをパケット化し、ＲＴＰ（Real-time Transport Protocol）で決定される規格に従って伝送できる。この点において、ＲＴＰは、映像および音声を含むリアルタイムデータを伝送するために用いることができる１つの例示的なインターネット標準プロトコルである。しかしながら、当業者および他の者は、特許請求の範囲に記載されている主題事項の範囲から逸脱することなく、他のメディアトランスポート層プロトコルを使用してメディアストリームを伝送できることを認識するであろう。
【００２０】
メディアストリームの伝送が開始されると、ブロック２０６で、ネットワーク状態を監視し、ネットワーク状態を説明する統計を収集する。この点において、ネットワーク状態を監視し、各通信チャネルについて収集された統計を用いて、メディアストリームを伝送する。例えば、図１に示すネットワーク環境１００において、各直接の通信チャネル１１４〜１１６を介するデータの伝送を説明する統計を収集する。
【００２１】
前述したように、ＲＴＰを、さまざまな種類のメディアストリームの伝送においてメディアトランスポートプロトコルとして使用できる。ＲＴＰをメディアトランスポートプロトコルとして使用するとき、ＲＴＣＰ（Real-time Transport Control Protocol）を用いてメッセージを交換し、ネットワーク状態を説明する統計を分配できる。これら統計により、データの伝送に関する異なる複数のネットワーク変数が説明される。より具体的には、パケット損失率およびメディアストリームを伝送する際の遅延に影響を与えるジッターを含むネットワーク変数を収集する。これらネットワーク状態を、定期的に、メディアストリームを送信／受信しているデバイスへ報告できる。一般的に、このデータを用いてメディアストリームの属性を調整し、より適切にネットワーク状態を明らかにする（account for）。しかしながら、以下でさらに詳しく説明するように、本発明の態様はこの情報を使用して、複数のデバイスにわたって伝送されるメディアストリームを同期させる。
【００２２】
ブロック２０８で、音声ストリームを送信／受信しているコンピューターデバイスは、現在のネットワーク状態を説明するデータパケットを受信する。例示を目的として、同期化ルーチン２００を、ＩＰ電話１０６およびコンピューター１０２それぞれに伝送される音声ストリームおよび映像ストリームの同期との関連で説明する。この点において、当業者および他の者は、ＲＴＣＰパケットを、マルチメディアネットワークセッションに参加しているコンピューターデバイス間で定期的に伝送できることを認識するであろう。いくつかのシステムでは、ＲＴＣＰパケットは、５秒おきに現在のネットワーク状態を説明する統計を報告する。図１に示す例において、ＲＴＣＰパケットを、直接の通信チャネル１１４を介してＩＰ電話１１０からＩＰ電話１０６に伝送できる。パケットを受信すると、ＩＰ電話１０６は、現在のネットワーク状態を説明するデータを取得する。さらに、マルチメディアネットワークセッションに参加する他のコンピューターデバイスも、それらのそれぞれの通信チャネル上のネットワーク状態を説明するデータを定期的に受信できる。例えば、コンピューター１０２は、通信チャネル１１６上の映像ストリームの伝送を説明するＲＴＣＰパケットを定期的に受信できる。
【００２３】
図２に例示されるように、ブロック２１０で、音声ストリームを伝送する際に予期される遅延を計算する。この例では、本発明の態様に従ってＩＰ電話１０６上で実行される処理により、ユーザーに音声ストリームを提示する際に予期される遅延を計算する。より具体的には、ブロック２０８で受信したパケット損失率およびジッターを含むＲＴＣＰパケット中のデータを用いて、音声ストリームの予期される遅延を計算できる。この計算を実行する際に、音声ストリームの予期される遅延を表す数値（例えば、２秒）を特定する。
【００２４】
ブロック２１２で、音声ストリームの予期される遅延を含むデータ集合を、セッションコントローラーとして機能を果たすコンピューターに報告する。一実施形態において、ユーザーが利用しているデバイスを「対にする」ための処理を実行して、マルチメディアネットワークセッションに参加する。より具体的には、マルチメディアネットワークセッションを確立するとき、ＩＰ電話１０６およびコンピューター１０２を対にすることができる。対にされると、これらデバイスは、マルチメディアネットワークセッションに関連する制御情報を自由に交換できる。図１に示す例において、ＩＰ電話１０６は、ブロック２１２で、以前に確立した通信チャネルを使用して、音声ストリームの予期される遅延を含むデータ集合をコンピューター１０２に報告する。より具体的には、ＩＰ電話１０６は、ブロック２１２で、音声ストリームの予期される遅延を含むデータ集合を記録する変数を有するＳＩＰベースの情報メッセージをコンピューター１０２に伝送する。さらに、ブロック２１２で伝送されるデータ集合は、ＩＰ電話１０６に対応するタイミング情報を含む。当業者および他の者は、ブロック２０８でＩＰ電話１０６が受信するＲＴＣＰパケットが、ＲＴＰ時刻（RTP time）として報告される相対タイミング情報およびＮＴＰ時刻（Network Time Protocol time）として報告される絶対時間の両方を含むことを認識するであろう。ＩＰ電話１０６に対応するＲＴＰ時刻およびＮＴＰ時刻を与えることによって、コンピューター１０２上で処理を実行して、音声ストリームのパケットを受信した「実」時間を特定できる。音声ストリームのパケットを受信した実時間を特定することにより、コンピューター１０２に映像データを音声データに同期させるために必要な情報を提供する。
【００２５】
さらに図２に例示されるように、ブロック２１４で、同期化ルーチン２００は、映像ストリームのレンダリングを遅延させ、音声ストリームと一致させる。前述したように、セッションコントローラーとして機能を果たすコンピューターは、メディアストリームの伝送に対して責任を負うこともできる。例えば、ＩＰ電話１０６は、対となるコンピューター１０２が映像ストリームを受信する間に、マルチメディアネットワークセッション中で音声ストリームを受信する。この例では、映像データの遅延を計算するために用いることができるデータを、スタンドアロンビデオ装置１１２からコンピューター１０２に定期的に伝送する。また、ブロック２１２で、音声ストリームの予期される遅延を含むデータ集合を、ＩＰ電話１０６からコンピューター１０２に情報で報告する。前述したように、情報メッセージ中のデータ集合を受信すると、コンピューター１０２は、音声ストリームのパケットがＩＰ電話１０６で受信された「実」時間を特定できる。音声ストリームに対応する「実」時間、ならびに、映像ストリームおよび音声ストリーム両方の予期される遅延が分かると、メディアストリームが「同期からずれている」程度を、容易に特定できる。一実施形態において、映像ストリーム中のフレームはコンピューター１０２のメモリーにバッファリングされるため、映像ストリームをレンダリングする際の遅延は、音声ストリームの遅延と一致する。このように映像ストリームが遅延する結果として、音声ストリームおよび映像ストリームの提示は、ユーザーに提示されるときに同期される。
【００２６】
代替的な実施形態において、メディア特有のコンピューターデバイスは、メディアストリームのレンダリングを遅らせることができる。図１に示す例において、コンピューター１０６は、メディアストリームの送信／受信に対して責任は負わず、セッションコントローラーとしてのみ機能を果たす。この場合、コンピューター１０６は、ＩＰ電話１１０から音声ストリームの予期される遅延を含むデータ集合を有する情報メッセージを受信できる。次に、音声ストリームの予期される遅延を含むデータ集合を記録する変数を有する別のＩＰベースの情報メッセージを、スタンドアロンビデオ装置１１２に伝送できる。受信されると、スタンドアロンビデオ装置１１２上で実行される処理により、映像ストリーム中のフレームをメモリーにバッファリングし、音声ストリームの遅延と一致させる。
【００２７】
判定ブロック２１５で、マルチメディアネットワークセッションが終了したか否かを解釈する判定が行われる。マルチメディアネットワークセッションが終了した場合、同期化ルーチン２００はブロック２１６に進み、処理を終了する。反対に、マルチメディアネットワークセッションが終了していない場合、同期化ルーチン２００はブロック２０６に戻り、ブロック２０６からブロック２１５は、マルチメディアネットワークセッションが終了するまで繰り返す。
【００２８】
図２について上述した同期化ルーチン２００は、例示的であると解釈すべきであり、限定していると解釈すべきではない。この点において、複数のコンピューターデバイスにわたってメディアストリームを同期させるとき、追加のステップまたはより少ないステップを実行できる。さらに、ステップを、説明した順序とは異なる順序で実行できる。例えば、図２について上述した同期化ルーチン２００は、音声ストリームと一致させるために映像ストリームを遅延させるが、これは単に例示にすぎず、映像ストリームと一致させるために音声ストリームを遅延させてもよい。また、上述の例は音声と映像ストリームとの関連で挙げたが、本発明の態様を、他の種類のメディアストリームを同期させるために実施できる。
【００２９】
例示を目的として、ネットワーク環境１００（図１）におけるコンピューターデバイス間での制御情報の例示的な交換を図３に示す。制御情報の交換により、複数のデバイスにわたって伝送されているメディアストリームを同期させることが可能となる。前述したように、マルチメディアネットワークセッションを確立することで、ＩＰ電話１０６およびＩＰ電話１１０は、直接の通信チャネルを介して音声データを直接やりとりすることができる。さらに、映像データは、コンピューター１０２およびスタンドアロンビデオ装置１１２間で直接伝送される。
【００３０】
図３に示すように、ＲＴＣＰパケットは、イベント３００で、ＩＰ電話１１０からＩＰ電話１０６に伝送される。同様に、ＲＴＣＰパケットは、イベント３０２で、ＩＰ電話１０６からＩＰ電話１１０に伝送される。前述したように、ＲＴＣＰパケットを、１つまたは複数のメディアストリームを交換しているデバイス間で定期的に伝送できる。この点において、これらＲＴＣＰパケット中に記録されたパケット損失率およびジッターを用いて、着信するメディアストリーム中の予期される遅延を計算できる。
【００３１】
図３に示す実施形態において、ＩＰ電話１０６上で実行される処理により、着信する音声ストリーム中の予期される遅延を特定する。次に、ＩＰ電話１０６は、イベント３０４で、予期される遅延を含むデータ集合を記録する変数を有するＳＩＰベースの情報メッセージをコンピューター１０２に伝送する。前述したように、本発明の態様に従ってコンピューター１０２上で実施される処理により、映像ストリームをバッファーに格納できる。結果として、映像ストリームのレンダリングを遅らせて、音声ストリームと一致させることができる。ＩＰ電話１０６が各次のＲＴＣＰを受信すると、着信する音声ストリームの予期される遅延を含むデータ集合を記録する情報メッセージを、コンピューター１０２に伝送する。結果として、複数のデバイス上で伝送されている映像ストリームおよび音声ストリームを、マルチメディアネットワークセッション中で継続的に同期させることができる。
【００３２】
さらに図３で示すように、イベント３０２で、ＩＰ電話１１０がＲＴＣＰパケットを受信すると、着信する音声ストリームの予期される遅延を含むデータ集合が計算される。次に、上で提供した説明と同様、ＩＰ電話１１０は、イベント３０６で、音声ストリームの予期される遅延を含むデータ集合を記録する変数を有するＳＩＰベースの情報メッセージをコンピューター１０４に伝送する。コンピューター１０４はメディアストリームを送信／受信しないため、音声ストリームの予期される遅延を記録する情報メッセージは、イベント３０８で、スタンドアロンメディア装置１１２に転送される。前述したように、スタンドアロンビデオ装置１１２上で実施される処理により、着信する映像ストリーム中のフレームをバッファーに格納して、着信する音声ストリーム中の遅延と一致させることができる。結果として、メディアストリームが異なるデバイスにわたって伝送されているにもかかわらず、それぞれのメディアストリームを同期させることができる。
【００３３】
例示的な実施形態を示して説明してきたが、本発明の範囲を逸脱することなく、さまざまな変更を行うことができることは認識されるであろう。
【図１】
2010512688.tif 000003
【図２】
2010512688.tif 000004
【図３】
2010512688.tif 000005
【国際調査報告】
2010512688.tif 000006
2010512688.tif 000007