(57)【要約】      （修正有）【課題】ビデオ会議データを記録するための方法及びシステムを提供する。【解決手段】この記録システムにはネットワークで伝送中のビデオ会議データに関係のあるパケットを識別するように構成されたパケットインターセプト装置が含まれている。パケットインターセプト装置はさらにその関係のあるパケットを対応するファイルにソートするように構成されており、ビデオ会議セッションの各データストリームは対応するファイルのうちの一つと関連付けられる。対応する各ファイルに入っているデータをそれぞれのデータストリームに復号化するように構成されたデコーダが含まれているだけでなく、それぞれのデータストリームを結合して単一データストリームにするように構成されたミキサ／コンポーザも含まれる。単一データストリームを記憶媒体に記録するように構成された記録装置が含まれる。ビデオ会議データを効率よく記録するためのビデオ会議システム及び方法が含まれる。【選択図】  図２
2005229601.tif 000002
【特許請求の範囲】
【請求項１】
ホストビデオ会議サーバの性能に影響を与えずにビデオ会議データを記録するための方法であって、
ａ）ホストビデオ会議サーバと関連付けられたパケットをインターセプトし、
ｂ）そのパケットを分析し、
ｃ）パケットがホストビデオ会議サーバと関連付けられたビデオ会議セッションに関係あるかどうか判定することからなり、
パケットがビデオ会議セッションに関係あれば、この方法は次に、
ｄ）パケットに対応するビデオ会議ストリームを判定し、
ｅ）ビデオ会議ストリームと関連付けられたファイルにパケットを格納し、
ｆ）ビデオ会議セッションの追加のパケットに対してａ）〜ｃ）を繰り返すことを含み、
この方法はさらに、
ビデオ会議ストリームと関連付けられた各ファイルに入っているパケットから単一ビデオ会議ストリームを生成することからなる方法。
【請求項２】
ホストビデオ会議サーバと関連付けられたパケットをインターセプトする方法操作の一つは、
パケットが伝送される分散型ネットワークをモニタすることである、請求項１に記載の方法。
【請求項３】
パケットを分析する方法操作の一つは、
パケットのヘッダ情報にアクセスすることである、請求項１に記載の方法。
【請求項４】
パケットがホストビデオ会議サーバと関連付けられたビデオ会議セッションに関係あるかどうか判定する方法操作は、
パケットの宛先ホストがホストビデオ会議サーバかどうかを判定することと、
パケットがリアルタイムプロトコルパケットかどうかを判定することを含む、請求項１に記載の方法。
【請求項５】
パケットの宛先ホストがホストビデオ会議サーバかどうか判定する方法操作は、
パケットのヘッダの貢献ソース（ＣＳＲＣ）フィールドにアクセスし、
宛先ホストと関連付けられたＣＳＲＣフィールド内のデータを解釈し、
その解釈したデータをホストビデオ会議サーバを識別しているデータにマッチさせることを含む、請求項４に記載の方法。
【請求項６】
ビデオ会議セッション内のある時点のメイン参加者を判定し、
メイン参加者に対応する画像をその時点のビデオ会議表示画像の最大セグメントに割り当て、
単一ビデオ会議ストリームを記憶媒体に記録することからさらになる、請求項１に記載の方法。
【請求項７】
ビデオ会議ストリームと関連付けられた各ファイルに入っているパケットから単一ビデオ会議ストリームを生成する方法操作は、
生成されたストリームのインデックスを確立させ、
ビデオ会議イベントを識別し、
対応するタイムスタンプによりビデオ会議イベントをインデックスと相関させることを含む、請求項１に記載の方法。
【請求項８】
ビデオ会議セッションのビデオ会議データを効率よく記録するための方法であって、
分散型ネットワークで伝送されたビデオ会議データを識別し、
ビデオ会議データと関連付けられたパケットを貢献ソースＩＤに基づいてソートし、
ソートされたパケットからビデオ会議音声信号を生成し、
ソートされたパケットからビデオ会議映像信号を生成し、
ソートされた各パケットと関連付けられたタイムスタンプに基づいてビデオ会議音声信号とビデオ会議映像信号とを混合し、
ビデオ会議セッション中に記録されたイベントを混合信号とイベントとの共通タイムスタンプに基づいて混合信号と関連付け、
混合信号と関連付けられた表示のレイアウトをイベントに基づいて構成することからなる、方法。
【請求項９】
分散型ネットワークで伝送されたビデオ会議データを識別する方法操作は、
分散型ネットワークで伝送されたデータをインターセプトし、
データと関連付けられたパケットタイプ並びにポート番号が共にビデオ会議データを示しているかどうか判定し、
パケットタイプ並びにポート番号が共にビデオ会議データを示しているとデータを格納することを含む、請求項８に記載の方法。
【請求項１０】
ビデオ会議データと関連付けられたパケットを貢献ソースＩＤに基づいてソートする方法操作は、
パケットのうちの一つのパケットヘッダのフィールドからデータを検索し、
その一つのパケットに対応するビデオ会議セッションのデータストリームをフィールドからのデータに基づいて識別し、
そのデータストリーム専用のファイルにパケットを格納することを含む、請求項８に記載の方法。
【請求項１１】
ソートされた各パケットと関連付けられたタイムスタンプは、各アソート（assorted）パケットの起点ソース（originating source）によって提供される、請求項８に記載の方法。
【請求項１２】
イベントは、参加者がビデオ会議セッションを離れる、参加者がビデオ会議セッションに入る、スライドプレゼンテーション、共有ドキュメントのアノテーションからなるグループから選択される、請求項８に記載の方法。
【請求項１３】
ビデオ会議セッション中に記録されたイベントを混合信号とイベントとの共通タイムスタンプに基づいて混合信号と関連付ける方法操作は、
イベントと関連付けられたデータを格納するイベントデータベースにアクセスし、
イベントのタイムスタンプを判定し、
混合信号のデータと関連付けられた対応するタイムスタンプを判定し、
混合信号によりイベントにアクセス可能なメニュを生成することを含む、請求項８に記載の方法。
【請求項１４】
混合信号と関連付けられた表示のレイアウトをイベントに基づいて構成する方法操作は、
イベントと関連付けられたインデックスを生成することを含む、請求項８に記載の方法。
【請求項１５】
ビデオ会議セッションのビデオ会議データを記録するためのプログラム命令を有するコンピュータ可読媒体であって、
分散型ネットワークで伝送されたビデオ会議データを識別するためのプログラム命令と、
ビデオ会議データと関連付けられたパケットを貢献ソースＩＤに基づいてソートするためのプログラム命令と、
ソートされたパケットからビデオ会議音声信号を生成するためのプログラム命令と、
ソートされたパケットからビデオ会議映像信号を生成するためのプログラム命令と、
ビデオ会議音声信号とビデオ会議映像信号をソートされた各パケットと関連付けられたタイムスタンプに基づいて混合するためのプログラム命令と、
ビデオ会議セッション中に記録されたイベントを混合信号とイベントとの共通タイムスタンプに基づいて混合信号と関連付けるためのプログラム命令と、
混合信号と関連付けられた表示のレイアウトをイベントに基づいて構成するためのプログラム命令とを有する、コンピュータ可読媒体。
【請求項１６】
分散型ネットワークで伝送されたビデオ会議データを識別するためのプログラム命令は、
分散型ネットワークで伝送されたデータをインターセプトするためのプログラム命令と、
データと関連付けられたパケットタイプ並びにポート番号が共にビデオ会議データを示しているかどうか判定するためのプログラム命令と、
パケットタイプ並びにポート番号が共にビデオ会議データを示しているとデータを格納するためのプログラム命令とを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
ビデオ会議データと関連付けられたパケットを貢献ソースＩＤに基づいてソートするためのプログラム命令は、
パケットのうちの一つのパケットヘッダのフィールドからデータを検索するためのプログラム命令と、
その一つのパケットに対応するビデオ会議セッションのデータストリームをフィールドからのデータに基づいて識別するためのプログラム命令と、
パケットをそのデータストリーム専用のファイルに格納するためのプログラム命令とを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
ソートされた各パケットと関連付けられたタイムスタンプは、各アソートパケットの起点ソースによって提供される、請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
イベントは、参加者がビデオ会議セッションを出る、参加者がビデオ会議セッションに入る、スライドプレゼンテーション、共有ドキュメントのアノテーションからなるグループから選択される、請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
ビデオ会議セッション中に記録されたイベントを混合信号とイベントとの共通タイムスタンプに基づいて混合信号と関連付けるためのプログラム命令は、
イベントと関連付けられたデータを格納するイベントデータベースにアクセスするためのプログラム命令と、
イベントのタイムスタンプを判定するためのプログラム命令と、
混合信号のデータと関連付けられた対応するタイムスタンプを判定するプログラム命令と、
混合信号によりイベントにアクセス可能なメニュを生成するためのプログラム命令とを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項２１】
ビデオ会議システムであって、
複数のクライアントを備え、
その複数のクライアントに分散型ネットワークでメディアを配信するように構成されたホストサーバを備え、このホストサーバはさらに複数のクライアントからメディアを受け取るように構成されており、
分散型ネットワークにアクセスできるパケットインターセプト装置を備え、パケットインターセプト装置はホストサーバがホストを務めるビデオ会議セッションに関係のあるパケットを識別するように構成され、パケットインターセプト装置はさらに識別されたパケットを貢献ソースに基づいてソートするように構成されており、
ホストサーバと通信しているメディア管理システムを備え、メディア管理システムはメディアデータ並びにアノテーションデータを共に管理するように構成され、メディア管理システムはさらにアノテーションデータと関連付けられたイベントをキャプチャするように構成されている、ビデオ会議システム。
【請求項２２】
メディア管理システムはさらに、
ビデオ会議セッション参加者に配信するためにメディアデータ並びにアノテーションデータを共に管理するように構成されたメディア管理サーバを含み、
メディア管理サーバと通信しているストレージサーバを含み、ストレージサーバはメディアデータ並びにアノテーションデータを共に格納するように構成されており、
メディア管理サーバと通信しているイベントデータベースを含み、イベントデータベースはアノテーションデータと関連付けられたイベントをキャプチャするように構成されており、
メディア管理サーバ、イベントデータベース、及びストレージサーバと通信しているメディア分析サーバを含み、メディア分析サーバは格納されているアノテーションデータをキャプチャされたデータと関連付けるように構成されている、請求項２１に記載のビデオ会議システム。
【請求項２３】
パケットインターセプト装置はさらに、
ビデオ会議セッションに関係のあるパケットを識別するために、分散型ネットワーク上のパケットと関連付けられたパケットタイプ及びポート番号に基づいて分散型ネットワーク上のパケットをフィルタリングするためのロジックと、
識別されたパケットを貢献ソースに基づいてソートするために、識別されたパケットの貢献ソース（ＣＳＲＣ）フィールド内のデータを分析するためのロジックを含む、請求項２１に記載のビデオ会議システム。
【請求項２４】
ロジック素子はソフトウェア及びハードウェアのうちの一方、またはソフトウェア及びハードウェアの組合せである、請求項２３に記載のビデオ会議システム。
【請求項２５】
パケットインターセプト装置と通信しているミキサ／コンポーザをさらに備え、ミキサ／コンポーザは対応するソートされたパケットを復号化するように構成され、ミキサ／コンポーザは復号化された対応する音声パケットを結合して単一音声データストリームにすると共に、復号化された対応する映像パケットを結合して単一映像ストリームにするように構成されており、
単一音声ストリーム及び単一映像ストリームを同期させ且つ結合してデータストリームにするように構成された同期装置を備え、
メディア管理システム及び同期装置と通信している再生生成器（playback generator）を備え、再生生成器はデータストリームのイベントのインデックスを生成するように構成され、イベントのインデックスはアノテーションデータのタイムスタンプをデータストリームのタイムスタンプと関連させるものである、請求項２１に記載のビデオ会議システム。
【請求項２６】
ビデオ会議セッションデータをキャプチャするための記録システムであって、
ネットワークで伝送中のビデオ会議データに関係のあるパケットを識別するように構成されたパケットインターセプト装置を備え、パケットインターセプト装置はさらに関係のあるパケットを対応するファイルの中にソートするように構成され、ビデオ会議セッションの各データストリームは対応するファイルのうちの一つと関連付けられており、
対応する各ファイルに入っているデータをそれぞれのデータストリームに復号化するように構成されたデコーダを備え、
それぞれのデータストリームを結合して単一データストリームにするように構成されたミキサ／コンポーザを備え、
その単一データストリームを記憶媒体に記録するように構成された記録装置を備える、記録システム。
【請求項２７】
パケットインターセプト装置はスニッファである、請求項２６に記載の記録システム。
【請求項２８】
パケットインターセプト装置はさらに、
ビデオ会議セッションに関係のあるパケットを識別するために、分散型ネットワーク上のパケットと関連付けられたパケットタイプ及びポート番号に基づいて分散型ネットワーク上のパケットをフィルタリングするためのロジックと、
識別されたパケットを貢献ソースに基づいてソートするために、識別されたパケットの貢献ソース（ＣＳＲＣ）フィールド内のデータを分析するためのロジックを有する、請求項２６に記載のシステム。
【請求項２９】
デコーダと通信しているフレームレートコンバータをさらに備え、フレームレートコンバータは復号化された映像データと関連付けられた第１フレームレートを記録装置に適した第２フレームレートに調整するように構成されている、請求項２６に記載のシステム。
【請求項３０】
ミキサ／コンポーザと通信している再生生成器をさらに備え、再生生成器はさらに単一データストリームのイベントのインデックスを生成するように構成され、イベントのインデックスはアノテーションデータのタイムスタップを単一データストリームのタイムスタンプと関連させるものである、請求項２６に記載のシステム。
【請求項３１】
記憶媒体はビデオコンパクトディスク（ＶＣＤ）及びデジタル多用途ディスク（ＤＶＤ）のうちの一つである、請求項２６に記載のシステム。
【請求項３２】
各論理素子はハードウェア及びソフトウェアのうちの一方、またはハードウェアとソフトウェアの組合せである、請求項２８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にはビデオ会議システムに関し、より具体的には余分のバンド幅又はＣＰＵの処理力を必要とせずにビデオ会議の音声／映像ストリームを記録するためのシステムにおける方法に関する発明である。
【背景技術】
【０００２】
ビデオ会議が一層普及するにつれて、ビデオ会議アプリケーションがより広い範囲の参加者にアピールするように追加の構成（features）が提供されている。求められている一つの構成はビデオ会議セッションを記録する能力である。現在、ビデオ会議セッションのホストとなるサーバは入ってくる音声／映像ストリームを処理し、参加者ごとに合成フレームを生成し、その生成されたフレームを符号化して、そうしたフレームを各参加者に伝送する。
【０００３】
ビデオ会議セッションを記録するには余分のバンド幅及び中央演算処理装置（ＣＰＵ）の処理力を必要とすることがある。入ってくる音声／映像ストリームを処理し、合成フレームを参加者ごとに生成し、その生成されたフレームを符号化し、そうしたフレームを参加者に伝送するために、ミーティング会議装置（ＭＣＵ）サーバがホストを務めるビデオ会議ミーティングにはかなりの量のＣＰＵ処理力が必要である。したがって、ビデオ会議セッションの記録に必要な追加処理はどんなものでもＭＣＵサーバに余分のオーバヘッドを追加することになる。そのために、参加者がビデオ会議を見ているとき、むらのある音声、ノイズの入った映像、低フレームレートになり始まることがある。要するに、ビデオ会議セッションを記録する能力を提供するために各参加者が知覚する実際のビデオ会議セッションの質が低下することがある。
【０００４】
【特許文献１】米国特許第6466248号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記に鑑み、必要なのはホストサーバに余分のオーバヘッドを付加することなくビデオ会議セッションを記録するための方法及びシステムと、記録されたビデオ会議セッションにリビューのために簡単にアクセスできることである。
【課題を解決するための手段】
【０００６】
大まかに言えば、本発明はホストサーバのオーバヘッドに追加することなくビデオ会議セッションをインテリジェントに記録するための方法及びシステムを提供することでこうしたニーズを満たしている。本発明は、プロセスとして、装置として、システムとして、デバイスとして、方法として、もしくはコンピュータ可読メディアとしてなど、いろいろなやり方でインプリメント可能である。本発明のいくつかの実施例を以下に説明する。
【０００７】
一つの実施例において、ホストビデオ会議サーバの性能に影響を与えることなくビデオ会議データを記録するための方法を提供している。この方法には、ａ）ホストビデオ会議サーバと関連付けられたパケットをインターセプトする操作と、ｂ）そのパケットを分析する操作と、ｃ）そのパケットがホストビデオ会議サーバと関連付けられたビデオ会議セッションに関係しているかどうかを判定する操作とが含まれている。パケットがビデオ会議セッションに関係していると判定された場合には、この方法はｄ）パケットに対応するビデオ会議ストリームを判定し、ｅ）パケットをビデオ会議ストリームと関連付けられたファイルに格納し、ｆ）更なるビデオ会議セッションパケットに対してａ）からｅ）を繰り返し実行する。ビデオ会議セッションが完了すると、ビデオ会議ストリームと関連付けられた各ファイルに入っているパケットから単一ビデオ会議ストリームが生成される。それから、その単一ビデオ会議ストリームを記憶媒体に格納して構わない。記録されたビデオ会議ストリームにはパケットのタイムスタンプに関連したインデックスが含まれている。
【０００８】
別の実施例において、ビデオ会議セッションのビデオ会議データを効率よく記録するための方法を提供している。この方法は分散型ネットワークで伝送されたビデオ会議データを識別することから始まる。次に、ビデオ会議データと関連付けられたパケットが貢献ソースＩＤに基づいてソートされる。次に、そのソートされたパケットからビデオ会議音声信号とビデオ会議映像信号が生成される。その次に、ソートされた各パケットと関連付けられた１個のタイムスタンプ、又は一連のタイムスタンプに基づいて、ビデオ会議音声信号及びビデオ会議映像信号が混合される。次に、その混合信号とイベントとの共通タイムスタンプに基づいて、ビデオ会議中に記録されたイベントが混合信号と関連付けられる。それから、イベントに基づいてミックス信号と関連付けられた表示のレイアウトが構成される。音声／映像ストリームのタイムインデックスをここで生成しても構わないことを理解するべきである。
【０００９】
更なる実施例において、ビデオ会議セッションのビデオ会議データを記録するためのプログラム命令を有するコンピュータ可読媒体を提供している。このコンピュータ可読媒体には分散型ネットワークで伝送されたビデオ会議データを識別するためのプログラム命令とビデオ会議データと関連付けられるパケットを貢献ソースＩＤに基づいてソートするためのプログラム命令とが含まれている。ソートされたパケットからビデオ会議音声信号を生成するためのプログラム命令とソートされたパケットからビデオ会議映像信号を生成するためのプログラム命令も入っている。ソートされた各パケットと関連付けられたタイムスタンプに基づいてビデオ会議音声信号及びビデオ会議映像信号を混合するためのプログラム命令も提供している。混合信号とイベントとの共通タイムスタンプに基づいてビデオ会議セッション中に記録されたイベントを混合信号と関連付けるためのプログラム命令、及び混合信号と関連付けられた表示のレイアウトをイベントに基づいて構成するためのプログラム命令が含まれている。タイムインデックスを生成するためのプログラム命令が含まれている。
【００１０】
また別の実施例において、ビデオ会議システムを提供している。このビデオ会議システムには複数のクライアント、及びその複数のクライアントに分散型ネットワークでメディアを配信するように構成されたホストサーバが含まれている。ホストサーバはさらにその複数のクライアントからメディアを受け取るように構成されている。このシステムには分散型ネットワークにアクセスできるパケットインターセプト装置が含まれている。このパケットインターセプト装置はホストサーバがホストを務めるビデオ会議セッションに関係のあるパケットを識別するように構成されている。パケットインターセプト装置はさらにその識別されたパケットを貢献ソースに基づいてソートするように構成されている。ホストシステムと通信しているメディア管理システムが含まれている。発明の一つの態様において、メディア管理システムには、メディアデータ並びにビデオ会議セッション参加者に配信するためのアノテーションデータを共に管理するように構成されたメディア管理サーバと、そのメディア管理サーバと通信しているストレージサーバとが含まれている。ストレージサーバはメディアデータ及びアノテーションデータを格納するように構成されている。メディア管理システムはメディア管理サーバと通信しているイベントデータベースを含んでいても構わない。イベントデータベースはアノテーションデータと関連付けられたイベントをキャプチャするように構成されている。発明の別の態様において、メディア管理システムにはメディア管理サーバ、イベントデータベース、及びストレージサーバと通信しているメディア分析サーバが含まれている。メディア分析サーバは格納されているアノテーションデータをキャプチャされたイベントと関連付けるように構成されている。
【００１１】
さらにまた別の実施例において、ビデオ会議セッションデータをキャプチャするための記録システムを提供している。この記録システムにはネットワークで伝送中のビデオ会議データに関係のあるパケットを識別するように構成されたパケットインターセプト装置が含まれている。このパケットインターセプト装置はさらにその関係のあるパケットをソートして対応するファイルに入れるように構成されており、ビデオ会議セッションの各データストリームは対応するファイルのうちの一つと関連付けられている。対応する各ファイルに入っているデータをそれぞれのデータストリームに復号化するように構成されたデコーダが含まれていると同時に、それぞれのデータストリームを結合して単一データストリームにするように構成されたミキサ／コンポーザも含まれている。その単一データストリームをストレージ媒体に記録するように構成された記録装置も含まれている。
【００１２】
添付の図面と共に、発明の原理を例をあげて説明している以下の詳細な説明を読めば、発明のその他の効果が明白になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【実施例１】
【００１４】
ホストビデオ会議サーバのオーバヘッドを付加しなくてもビデオ会議セッションを記録できるビデオ会議システムの発明を提供している。以下の説明において、本発明を完全に理解できるように多数の具体的な詳細を述べている。しかしながら、これらの具体的な詳細を部分的に或いは全く知らなくても本発明を実施できることを当業者ならば理解するだろう。他の場合には、本発明を不要に曖昧にしないためによく知られたプロセスの操作については細に説明していない。
【００１５】
本書で説明している実施例は、ホストビデオ会議サーバにオーバヘッドを追加しないやり方でビデオ会議の音声／映像ストリームをインテリジェントに処理する記録システムを可能にする。この記録システムはパケットのヘッダデータに基づいてビデオ会議と関連付けられたパケットを識別するように構成されたスニッファを活用する。スニッファ（パケットインターセプト装置とも呼ばれる）は非ビデオ会議パケットからネットワークで配信中のビデオ会議パケットをフィルタリングする。一つの実施例において、スニッファはパケットをインターセプト及び識別するように無差別（promiscuous）モードに設定されたネットワークアダプタである。パケットはスニッファによってインターセプトされるが、破壊／消滅されないことを理解するべきである。したがって、ネットワーク上のパケット伝送はスニッファによる影響を受けない。別の実施例において、スニッファはパケットと関連付けられたパケットタイプ及びポート番号に基づいてパケットをフィルタリングする。例えば、ビデオ会議パケットのパケットタイプはリアルタイムプロトコル（ＲＴＰ）と関連付けられていることがある。次に、スニッファはフィルタリングされたパケットをビデオ会議ストリームを識別するのに使用される貢献ソース（ＣＳＲＣ）に基づいてソートする。ソートされたパケットは復号化され、次にミキサ／コンポーザがその復号化された被ソートデータを取り出しそのデータを結合して合成音声／映像ストリームを提供する。この合成ストリームは、例えば、ビデオコンパクトディスク（ＶＣＤ）またはデジタル多用途ディスク（ＤＶＤ）など、コンピュータ可読メディアに記録される。一つの実施例において、ビデオ会議セッション中に生成されたイベントと関連付けられたタイムスタンプと合成ストリームのタイムスタンプとのマッチングからコンピュータ可読メディア用インデックスが作成される。ビデオ会議ホストサーバからオフラインで記録されることを理解するべきである。したがって、オーバヘッドやＣＰＵ処理力に影響がない。
【００１６】
図１は、発明の一つの実施例に基づく、クライアントモニターバックチャネルを用いる複数参加者の会議システムの構成要素を示す概略図である。参加者Ａ（１２２ａ）から参加者Ｎ（１２２ｎ）といった複数の参加者はクライアントコンポーネントの一部である。この実施例において、各参加者１２２ａ〜１２２ｎには会議クライアント１４４及びクライアントモニター１４６が含まれている。会議クライアントＡ（１４４ａ）は参加者のピアツーピアビデオ会議ソフトウェア又は何らかの所有権を主張できるビデオ会議ソフトウェアアプリケーションを含んでいて構わない。各参加者は別の参加者に呼び出しをかけ、会議セッションを開始及び会議セッションとの接続を切る、コンテンツをキャプチャ及び送る、やりとりしたコンテンツを受け取り及び再生するといったことを行なうことを理解するべきである。各会議クライアントからの呼び出しはメディアトランスポートサーバ１３０を通って流れる。すなわち、参加者は関連付けられた会議クライアントを使ってメディアトランスポートサーバ１３０に呼び出しをかけて会議に参加する。一つの実施例において、会議クライアントが先在しているソフトウェアアプリケーションであるといった場合には、会議クライアントＡ（１４４ａ）にはハイレベルの会議用ユーザインタフェースが含まれている。例えば、ピアツーピアビデオ会議を提供するそうした製品の一つはマイクロソフト社（Microsoft Corporation）製のNETMEETINGアプリケーションソフトウェアである。
【００１７】
ＣＭ１４６ａは会議クライアントＡ（１４４ａ）をモニタするように構成されている。すなわち、一つの実施例において、ＣＭ１４６ａは、クライアントＡ（１４４ａ）のビデオ表示ウィンドウをモニタして、ユーザがソフトウェアアプリケーションとどのように対話するか観察する。さらに、ＣＭ１４６ａは対話をサーバコンポーネントに伝送するためにユーザの対話を解釈する。一つの実施例において、ＣＭ１４６は４つの機能を提供するように構成されている。一つの機能は、参加者とサーバコンポーネントとの間で会議チャネルセッションと平行してバックチャネル通信セッションを始められるように会議チャネルの開始／停止をモニタする。第２機能は、会議クライアント１４４が表示しているビデオウィンドウ内で、ユーザ対話やマウスメッセージなどイベントをモニタする。第３機能は、ＣＭ１４６とサーバコンポーネントのバックチャネルコントローラ１４０との間の制御メッセージ情報を処理する。第４機能は、画像を表示及び他の会議メンバーに送り、接続されている他の参加者の名前、その他の適切な通信情報又はツールを表示するのに使用できる外部ユーザインタフェースを参加者に提供する。
【００１８】
先に述べたように、クライアントモニターは関連付けられた会議クライアントの中の活動を監視する。一つの実施例において、これには会議コンテンツを含んだビデオ表示領域でのユーザイベントをモニタすることが含まれるし、会議セッション制御情報も含まれる。例えば、ＣＭ１４６は会議セッションの始まりと終わりを又は会議クライアントからの呼び出しを監視する。会議クライアント１４４が新たな会議セッションをスタートさせるべくメディアトランスポートサーバ１３０に呼び出しをかけると、ＣＭ１４６もメディアトランスポートサーバに呼び出しをかける。ＣＭ１４６からの呼び出しにより参加者の会議セッション用バックチャネル接続１２６が成立する。ＣＭ１４６はセッション開始／停止のイベントをモニタすることができるから、追加のユーザセットアップをしなくてもバックチャネル接続１２６が自動的に始動する。つまり、バックチャネル接続はユーザにはトランスペアレントである。このように、新たなセッションが会議クライアント１４４の活動と平行して維持される。会議チャネル１２４ａ〜１２４ｎは関連付けられた会議クライアント１４４とメディアトランスポートサーバ１３０の会議接続１３８との間の映像／音声接続を提供することを理解するべきである。一つの実施例において、会議チャネル１２４はクライアントコンポーネント及びサーバコンポーネント間で通信される会議セッションのリアルタイム映像／音声データ用の通信リンクを提供する。
【００１９】
ＣＭ１４６は会議クライアント１４４が表示している会議の映像フレーム上で起きる活動を特にモニタすることがある。例えば、ＣＭ１４６はマイクロソフト社のネットミーティング（NETMEETING）アプリケーションのビデオイメージをモニタしているかもしれない。クライアントフレーム内のマウスの活動はプロトコルでバックチャネル接続１２６を通ってメディアトランスポートサーバ１３０にリレーされる。すると次に、バックチャネルコントローラ１４０がこの活動を別の参加者に、またはそれぞれの参加者に対応したイベントハンドラー１４２に報告することができる。この実施例において、会議クライアント１４４アプリケーションのモニタリングはオペレーティングシステムレベルとアプリケーションレベルとの間のフックにより発生する。先に述べたように、ビデオウィンドウを見てマウスのクリックまたはキーボードのストリークをビデオ会議アプリケーションの外から監視することができる。もしくは、バックチャネルネットワークに関連情報を提供できるクライアントモニター機能を組み込んだ所有権を主張できるビデオ会議アプリケーションソフトウェアを提供してもいい。
【００２０】
別の実施例において、ＣＭ１４６は参加者に個別のユーザインタフェースを提示することができる。このインタフェースを会議クライアント１４４が提示したユーザインタフェースと平行して表示することができるし、既に始まっている会議中ずっと表示したままにしてもいい。もしくは、ＣＭ１４６が提示したユーザインタフェースが他の構成またはセットアップのための会議セッションの前後どちらかに見えるようになるようにしてもいい。
【００２１】
また別の実施例において、ＣＭ１４６は会議クライアントを必要とすることなく、メディアトランスポートサーバ１３０がホストを務める通信セッションへの直接接続用インタフェースを提供することができる。この実施例において、ＣＭ１４６はバックチャネル接続１２６を利用してミーティング要約コンテンツ、ミーティングの現況、参加者情報、共有データコンテンツや、さらにはライブ会議音声を戻せるユーザインタフェースを提示する。これは、例えば、参加者が、通信活動だけをモニタしたいので、会議クライアント１４４を使用しないと決めた場合に発生する可能性がある。会議クライアント１４４は最低限のデータ処理しか行なわないという点でクライアントコンポーネントをシンクライアントと呼ぶことができることを理解するべきである。手短に言えば、適切なビデオ会議アプリケーションならばどんなものでも会議クライアント１４４として含んでいて構わない。
【００２２】
先に述べたように、ＣＭ１４６は会議クライアント１４４ａのビデオ会議アプリケーションが実行開始及び停止すると認識するように構成されているので、会議クライアントが実行開始及び停止するとＣＭは実行開始及び停止することができる。ＣＭ１４６はビデオ会議セッションと平行してサーバコンポーネントから情報を受け取ることもできる。例えば、ＣＭ１４６ａは会議セッション中に参加者１２２ａにイメージの共有を許可することができる。このように、各参加者がビデオ会議ソフトウェアのビデオ表示領域でではなくドキュメントビュアーでイメージを見れるように、各クライアントモニターに共有イメージを提供することができる。その結果、参加者ははるかに鮮明な画像の共有ドキュメントを見ることができる。一つの実施例において、クライアント各々が会議で共有ドキュメントを見ることができる。
【００２３】
サーバコンポーネントはメディアトランスポートサーバ１３０を含んでいる。メディアトランスポートサーバ１３０は参加者にカスタマイズ可能な情報を配信するように構成されている分岐制御装置（ＭＣＵ）を提供する。メディアトランスポートサーバ１３０及びメディアトランスポートサーバの構成要素は、本書で説明している機能性を実行するように構成されたソフトウェアコードを含んでいて構わない。一つの実施例において、メディアトランスポートサーバ１３０は、本書で説明している実施例をインプリメントするハードウェアベースのサーバの１個のコンポーネントである。メディアトランスポートサーバ１３０にはメディアミキサ１３２、バックチャネルコントローラ１４０、及びイベントハンドラー１４２が備わっている。メディアトランスポートサーバ１３０は会議接続１３８も提供する。より具体的に言えば、例えば、ピアツーピアビデオ会議アプリケーションなど、会議クライアントＡ（１４４ａ）のビデオ会議ソフトウェアにメディアトランスポートサーバ１３０と通信させるリンクが会議接続Ａ（１３８ａ）によって完成する。すなわち、会議エンドポイント１３８ａは別のピアをエミュレートし、ピアツーピア接続を待っている会議クライアントＡ（１４４ａ）とのハンドシェイクを実行する。
【００２４】
一つの実施例において、メディアトランスポートサーバ１３０は共有会議通信用の選択可能なロジカルルームへの個別の参加者の接続を許可することによって分岐制御装置（ＭＣＵ）機能を提供する。ＭＣＵとして、メディアトランスポートサーバ１３０は会議クライアントに対して「ピア」としての役目を果たすが、複数の参加者からの呼び出しを受け取ることもできる。当業者ならば、メディアトランスポートサーバ１３０は同じロジカルルームの全参加者を内部リンクして、ルームごとに複数参加者の会議セッションを定義し、各ピアツーピア会議クライアントはメディアハブだけをピアとして動作することを理解するだろう。先に述べたように、メディアトランスポートサーバ１３０は関連付けられた会議クライアントのピア要件に準拠するように構成されている。例えば、会議クライアントが、マイクロソフト社のネットミーティングのようなアプリケーションにみられるように、H.323対応会議プロトコルを使用している場合には、メディアトランスポートサーバ１３０はH.323プロトコルをサポートしていなければならない。言い換えれば、会議通信はH.323プロトコル、セッション始動型プロトコル（ＳＩＰ）、あるいは参加者の接続要件にマッチした他の適切なＡＰＩを介して発生可能である。
【００２５】
依然として図１において、メディアミキサ１３２は、全ての参加者の音声及び映像情報と、特定の参加者のコンフィギュレーション情報と、サーバのユーザインタフェース設定との組合せから各参加者特有の音声及び映像情報をアセンブルするように構成されている。メディアミキサ１３２は、参加者一人ずつに、入ってくるデータストリーム、つまり、音声／映像ストリームを結合することによって多重化作業を実行する。一つの実施例において、メディアミキサ１３２は、会議信号をアセンブルするビデオレイアウトプロセッサ及び音声配信プロセッサを備えている。クライアントモニターバックチャネルネットワークによってメディアトランスポートサーバ１３０はユーザの会議クライアント１４０との対話をモニタすることができ、ピアツーピアソフトウェアアプリケーションが追加の機能性をもっているように見せることができる。その追加の機能性によって、会議クライアント１４４が実行するソフトウェアアプリケーションのピアツーピア機能が本書で説明している複数参加者環境に合うようになる。クライアントモニターバックチャネルネットワークには、クライアントモニター１４６、バックチャネル接続１２６、バックチャネルコントローラ１４０、及びイベントハンドラー１４２が含まれている。
【００２６】
バックチャネル接続１２６ａ〜１２６ｎはそれぞれ会議チャネル１２４ａ〜１２４ｎに加えて平行した会議に類似している。バックチャネルコントローラ（ＢＣＣ）１４０ａ〜１４０ｎは関連付けられた各クライアントモニターからの通信リンクを維持する。リンク上で定義されたプロトコルがメディアトランスポートサーバ１３０で解釈され、しかるべき宛先、つまり、他の参加者のパックチャネルコントローラ、イベントハンドラー１４２に渡されるか、またはＣＭ１４６に戻される。バックチャネル１４０ａ〜１４０ｎは各々、バックチャネルコントローラ通信リンク１４８で通信している。以下により詳細に説明するメディア管理システム１３４はバックチャネルネットワークで通信する。
【００２７】
一つの実施例において、メディアトランスポートサーバ１３０は会議参加者各々の縮小版を含んだクライアントが構成可能な映像ストリームを提供する。メディアトランスポートサーバ１３０内の参加者のイベントハンドラー１４２は各参加者のための状態情報を維持すると共にその参加者のユーザインタフェース構築のためにこの情報をメディアミキサ１３２に渡す責任がある。別の実施例において、サーバ側ユーザインタフェースを参加者の映像／音声ストリームに埋め込むこともできる。図１が例証しているアーキテクチャに関する更なる詳細は、米国特許出願番号10/192,080（出願日２００２年７月１０日、発明の名称「クライアントモニターバックチャネルを用いた制御可能コンテンツ配信付き複数参加者会議システム（Multi-Participant Conference System with Controllable Content Delivery Using a Client Monitor Back-Channel）」）の中に記載されている。
【００２８】
図１はメディアトランスポートサーバ及びクライアントコンポーネントの一つの特定のアーキテクチャを表わしていることを理解するべきである。当業者ならば、メディアトランスポートサーバ１３０はバックチャネル機能を含んだ適切なアーキテクチャならどんなものに基づいていても構わないことが明白になるだろう。その上、クライアントコンポーネントにはビデオ会議セッションのビューを可能にする任意の適したクライアントソフトウェア構成がを含まれていてもいい。クライアントソフトウェア構成は、市販のソフトウェアパッケージ、つまり、マイクロソフト社のネットワーキングからインターネットなど分散型ネットワークでクライアントにダウンロード可能な所有権を主張できるソフトウェア構成までいろいろある。したがって、図１は以下に説明する実施例で採用可能な一つの模式的アーキテクチャを表わしているのであって限定を意味するものではない。
【００２９】
図２は、発明の一つの実施例に基づく、アノテーション管理システムのモジュール間の関係を示す簡易概略図である。図２の総体的システムアーキテクチャ設計は、例えば、図１に示したビデオ会議システムのメディアトランスポートサーバ１３０など、任意の適したビデオ会議システムと通信していても構わないことを理解するべきである。図２のメディア管理システム１３４は、メディアトランスポートサーバ１３０により会議クライアント１５０と通信している。会議クライアント１５０を図１の参加者１２２ａ〜１２２ｎとして構成しても構わない。その上、会議クライアント１５０が複数のクライアントを表わしている場合には、図１に関して説明したクライアントアプリケーションソフトウェア構成を実行するように各クライアントを構成してもいい。会話中の参加者全てに対してアノテーションを同期させるようにメディア管理システム１３４を構成することができることを理解するべきである。
【００３０】
図２のメディア管理システム１３４はメディア管理サーバ１０４を備えている。メディア管理サーバ１０４には、ウェブサーバモジュール１０６、ミーティングスケジューリングサービスモジュール１０８、アノテーションサービスモジュール１１０、及び仮想ポインタサービスモジュール１１２が含まれている。一つの実施例において、アノテーションサービスモジュール１１０は会議クライアントがビデオ会議セッション中にアノテーションデータを追加できるもしくは以前に記録されたビデオ会議セッションからアノテーションデータを見れる機能を提供する。メディア管理システム１３４にはさらにメディア分析サーバ１１８、イベントデータベース１１４、及びストレージサーバ１１６も含まれている。メディア管理サーバ１０４はミーティングを管理及び編成する、例えば、ミーティングの参加者間に配信するためのビデオ会議データを管理及び編成する。さらに、メディア管理サーバ１０４はメディアを管理するためのデータベースを構築し、ミーティング参加者にストレージサーバ１１６からメディアデータを検索させる。メディア管理サーバ１０４はまたメディア再生及びプレゼンテーションのためにメディア分析サーバ１１８及び任意のモジュールから情報を検索する。ミーティング中、つまり、ビデオ会議セッション中に記録されたメディアデータの後処理はメディア分析サーバ１１８によって行なわれる。メディア分析サーバ１１８は情報をイベントデータベース１１４に追加及び検索し、その情報をメディアプレゼンテーション及び再生用に格納する。
【００３１】
ストレージサーバ１１６は、ビデオ会議セッション中に生成されたメディアを格納する責任があり、生成されたメディアにはアノテーションデータ及び仮想ポインタデータが含まれているかもしれない。例えば、ミーティング中に作成された全てのスケッチをキャプチャし、ミーティングのまとめの一部として表示しても構わない。一つの実施例において、ミーティングのまとめがあるとミーティング中に起きた他のイベントの前後関係においてアノテーションを見ることができる。別の実施例において、任意の出力解像度のデバイスに表示するべくスケーリングできるようにアノテーションデータはベクトル形式でストレージサーバ１１６に格納される。一つの実施例において、アノテーションデータ及び仮想ポインタデータを起点時刻（origination time）に対応するタイムスタンプと関連付けても構わないことを理解するべきである。
【００３２】
図１において説明したように、メディアトランスポートサーバ１３０は参加者からのビデオ会議接続を処理し、入ってくる多数の映像及び音声ストリームを結合して各参加者／クライアントに好ましいフォーマットの単一出力ストリームにする。ビデオ会議セッション中、メディアトランスポートサーバ１３０はメディア管理サーバ１０４と通信して、いつ参加者を接続するか或いは接続を切るかといった詳細をメディア管理サーバに知らせる。
【００３３】
ウェブサーバモジュール１０６は、ビデオ会議セッションに参加またはセッションを見るのに必要な任意のソフトウェアコードのダウンロードを可能する。ミーティングスケジューリングサービスモジュール１０８はユーザがビデオ会議セッションをセットアップ又はセッションに参加するのを可能にする。すなわち、ビデオ会議セッションをセットアップしたい又はセッションに参加したいユーザは、ウェブサーバモジュール１０６から提供されるハイパーテキストマークアップ言語（ＨＴＭＬ）タイプのページをダウンロードすることができるウェブブラウザを使ってそうすることができる。ユーザがビデオ会議セッションに参加したら、例えば、クライアント機能に関係のあるソフトウェアコードなど、ソフトウェアコードをウェブサーバ１０６からダウンロードし、それ以降クライアントはメディアトランスポートサーバ１３０と通信し始める。ミーティングスケジューリングサービスモジュール１０８により、メディア管理サーバ１０４はしかるべきメディアトランスポートサーバに接続してビデオ会議セッションを可能にすることを理解するべきである。別の実施例において、ビデオ会議セッションは格納されているので、ビデオ会議セッションが完了すると、ミーティング要約を作成することができる。ミーティング要約はウェブサーバ１０６でアクセス可能である。ミーティング要約は、ユーザがミーティングを見るかどうか、またはミーティングのどの部分を見るかをより良く決定できるようにユーザに提示することができるミーティングの概要である。一つの実施例において、本書で説明している記録システムはビデオ会議セッションと関連付けられたインデックスを提供するように構成されており、キャプチャされたイベントまたはアノテーションデータは記録されたビデオ会議セッションと相関している。したがって、記録されたビデオ会議セッションはこのインデックスを含んでいることがあり、インデックスは市販されている映画のＤＶＤに提供されている場面選択に類似している。
【００３４】
メディア管理サーバ１０４はメディア分析サーバ１１８と通信している。一つの実施例において、メディア管理サーバ１０４はメディア再生及びプレゼンテーションのためにメディア分析サーバ１１８及び関連付けられたモジュールから情報を検索する。メディア分析サーバ１１８はイベントデータベース１１４及びストレージサーバ１１６とも通信している。先に述べたように、メディア分析サーバ１１８はミーティング中に記録されたメディアの後処理を行ない、メディアプレゼンテーション及び再生に使用する情報を構築するためにメディアを分析する。メディア分析サーバ１１８はイベントデータベース１１４にアノテーション情報を追加及び検索することもできる。一つの実施例において、アノテーション情報は格納されているビデオ会議データにインデックス及びマーカーを挿入して識別されるので、アノテーション情報に基づいた格納されているビデオ会議データの再構成を可能にする。タイムスタンプをインデックスまたはマーカーとして使用して構わないことを理解するべきである。この例で用いているように、アノテーション情報は仮想ポインタ情報を含んでいて構わない。仮想ポインタ情報はメディア管理サーバ１０４に伝送され、それから参加者に配信されたマウスの動きを指していることがあるから、各参加者は関連付けられたクライアントディスプレイ内で動くマウスを見ることができる。アノテーション管理情報を仮想リンクと呼んでも構わないことを理解するべきである。別の実施例において、アノテーション情報には以下に説明するイベントデータベース１１４に格納されたデータが含まれる。
【００３５】
図２のストレージサーバ１１６はビデオ会議と関連付けられたメディアを格納するように構成されている。ストレージサーバ１１６はビデオ会議セッションに使用された任意の適したメディアを格納する責任がある。一つの実施例において、ストレージサーバ１１６には、ハードドライブ、磁気テープ、ＤＶＤ−Ｒｏｍなどといった記憶装置が入っている。システム内の他の構成要素がストレージサーバ１１６から検索可能なメディアにアクセスできるように定義されたアプリケーションプログラミングインタフェース（ＡＰＩ）の集合により格納されているメディアへのアクセスを提供することができる。別の実施例において、ストレージサーバ１１６はユーザまたはビデオ会議の参加者がメディアをアップロードするためのネットワーク接続を受け入れる。ストレージサーバにメディアをアップロードするための模式的メカニズムとしては、シンプルトランスポート制御／インターネットプロトコル（ＴＣＰ／ＩＰ）ソケット接続、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）ファイルアップロードプロトコル、シンプルオブジェクト指向アクセスプロトコル（ＳＯＡＰ／ＸＭＬ）や、その他の適したネットワークトランスポートプロトコルなどがある。
【００３６】
図２のイベントデータベース１１４はビデオ会議セッション中に発生するアノテーションイベントを格納する。模式的なアノテーションイベントには次のようなイベントがある：アノテーションのスタートポイント、アノテーションのエンドポイント、アノテーションクリアページ、アノテーションデータ、アノテーションスタート及びアノテーションエンドと関連付けられるユーザ情報、メディアタイプやターゲット識別子などのアノテーションターゲット、及びその他の適切なアノテーション情報。
【００３７】
図３は、発明の一つの実施例に基づく、パケットをフィルタリングした後ビデオ及び音声ストリームにソートするのにネットワークスニッファを使用するシステムアーキテクチャの概要を図解した簡易概略図である。サーバ１３０はイサネット（Ethernet（Ｒ））バス２０２で複数のビデオ会議クライアント２０６ａ〜２０６ｎと通信している。イサネットハブ２００はイサネットバス２０２でサーバ１３０と通信している。当業者ならば、クライアント２０６ａ〜２０６ｎはイサネットバス２０２への入り口としての役割を果たすゲートウェイと通信することができることと、図３では説明のためにイサネットバスに接続された状態で表示されていることを理解するだろう。この例で、クライアント２０６ａ〜２０６ｎはゲートウェイでイサネットバス２０２に論理的に接続されていて、イサネットバスに物理的に接続されてはいない。ミーティングスニッファ２０８はイサネットバス２０２にアクセスできる。イサネットネットワーク技術に代えてその他の適したネットワーク技術を使用しても構わないことを理解するべきである。分散型ネットワークのためのネットワーク技術として、例えば、トークンリング、ファイバ分散型データインタフェース（ＦＤＤＩ）、ＡＲＣＮＥＴなどの技術を本書で説明している実施例と共に使用することができる。
【００３８】
図３のミーティングスニッファ２０８は、ビデオ会議セッションに関係のあるパケットを識別し、そのパケットを対応するハードドライブにログするように構成されている。この場合、ミーティングスニッファ２０８は予め定義された判定基準に基づいて関連パケットを識別する。予め定義された判定基準には、ソースインターネットプロトコル（ＩＰ）アドレス、宛先ＩＰアドレス、貢献ソース（ＣＳＲＣ）識別子、パケットタイプ、ポート番号などが含まれることがある。識別されたパケットは次に、対応するリアルタイムプロトコル（ＲＴＰ）ファイル２１０ａ〜２１０ｎに送信される。パケットの送信先である対応するＲＴＰファイル２１０ａ〜２１０ｎは、ＣＳＲＣリファレンスを分析して判定される。一つの実施例において、ＣＳＲＣリファレンスはそれぞれのＲＴＰパケットに入っているペイロードのソースに対する一意の識別子である。ＣＳＲＣフィールドをもつＲＴＰパケットヘッダの模式的構成を以下に説明する。
【００３９】
図４は、発明の一つの実施例に基づく、ＲＴＰパケットのヘッダフィールドの簡易概略図である。概して知られているように、ＲＴＰは、音声、映像またはシミュレーションデータといったリアルタイムデータをマルチキャストまたはユニキャストのネットワークサービスで伝送するアプリケーションに適したエンドツーエンドネットワーク転送機能を提供する。データトランスポートをリアルタイム制御プロトコル（ＲＴＣＰ）によって増補して大型のマルチキャストネットワークにスケーリング可能な方法でのデータ配信のモニタリングを可能にし、識別機能に最低限の制御を提供するようにする。ＲＴＰ及びＲＴＣＰは基礎トランスポート層及び基礎ネットワーク層に依存しないように設計されていることを理解するべきである。ＲＴＰヘッダ２２９は、対応するデータをどのように構成するかについて受信器用の情報を提供すると共に、コーデックビットストリームをどのようにパケット化するか説明している。
【００４０】
ＲＴＰ２２９のフィールド２３０はＲＴＰのバージョン番号を示している。フィールド２３２は、設定されている場合、末尾に一つ以上の追加パディングバイトを含んだパディングフィールドで、パディングフィールドはペイロードの一部分ではない。フィールド２３４は、設定されていれば、ヘッダの後にまさに１ヘッダエクステンションがくることを示している。フィールド２３６は貢献ソース数（ＣＣ）を示している。この例で、４ビットフィールドには固定されたヘッダの後に貢献ソース識別子数が入っている。フィールド２３８はプロファイルによって定義される１ビットマーカーを表わしている。このマーカーはフレーム境界など有意なイベントがパケットストリーム内に印されるようにするためのものである。フィールド２４０には、ＲＴＰペイロードのフォーマットを識別し、アプリケーションによるその解釈を判定するペイロードタイプ（ＰＴ）が入っている。フィールド２４２は、ＲＴＰデータパケットが送られるごとに１だけインクリメントする１６ビットのシーケンス番号を識別する。フィールド２４２は、データパケットロスを検出すると共にパケットシーケンスを復元するために、受信器（例えば、本書で説明しているスニッファ）が使用しても構わないことを理解するべきである。フィールド２４４は、ＲＴＰデータパケットの中の最初のオクテットのサンプリングの瞬間を反映する３２ビットタイムスタンプを表わす。一つの実施例において、サンプリングの瞬間は同期及びジッタ計算が可能な時間内でインクリメント時にクロックから単調且つ線形導出される。先に述べたように、記録されたビデオ会議セッションにイベントを相関させ、記録されたビデオ会議セッション用のインデックスを作成するのにパケットヘッダのタイムスタンプを使用することができる。
【００４１】
図４のフィールド２４６は同期ソース（ＳＳＲＣ）を識別する。この識別子は、同じＲＴＰセッション内の２つの同期ソースが同じＳＳＲＣ識別子をもつことにならないようにランダムに選ばれる。フィールド２４８は、ＲＴＰパケットに入っているペイロードの貢献ソース（ＣＳＲＣ）を識別する。先に述べたように、ＣＳＲＣフィールド２４８内の識別子数はフィールド２３６によって提供される。ＣＳＲＣ識別子は、貢献ソースのＳＳＲＣ識別子を用いて、ミキサが挿入する。例えば、音声パケットの場合、パケットを作成するために混合された全てのソースのＳＳＲＣ識別子が列記されるので、受信器で正しいトーカーの表示が可能である。
【００４２】
図３に戻ると、各ビデオ会議セッションは４つのストリームを含んでいる可能性がある。これらの４つのストリームとは２つの音声ストリーム（オーディオアップ及びオーディオダウン）と２つの映像ストリーム（ビデオアップ及びビデオダウン）である。一つの実施例においては、参加者がＭＣＵなどサーバを介して通信し、各参加者がビデオ会議セッションを実行し、それから各セッションを２つの映像ストリーム及び２つの音声ストリームと関連付ける。図５及び６に関してより詳細に説明するように、ＲＴＰファイル２１０ａ〜２１０ｎの各々の中のデータは対応するデコーダ２５０−１、２５０−２、２６０−１、２６０−２で復号化される。対応する音声ストリーム２１０ａ−１及び２１０ｂ−１と映像ストリーム２１２ａ−１及び２１２ｂ−１とが次にミキサ／コンポーザ２１４によりマージされて一つのストリームになる。一つの実施例において、インデックスを使用して音声ストリーム及び映像ストリームをインテリジェントにマージして一つの単一ストリームにする。このインデックスは管理サーバ１０４から提供可能で、音声ストリーム及び映像ストリームのセグメントの各々と関連付けられたタイムスタンプを含んでいる。別の実施例において、このタイムスタンプは、イベントデータベース１１４に格納されているイベントと関連付けられたタイムスタンプに対応していて構わない。この例で、図７に関して以下に説明するように、参加者の会議セッションへの出入りといったアノテーションイベントまたは他の任意の適切なイベントを用いて再生制御（ＰＢＣ）用のインデックスを生成するようにしてもいい。合成映像／音声ストリーム２１６は次にコンパクトディスク／デジタル多用途ディスク・ライタ２１８に引き渡される。この例で、合成映像／音声データ２１６は、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）など記憶媒体にキャプチャされる。
【００４３】
ミーティングスニッファ２０８は、サーバ１３０と同じく、イサネットバス２０２にアクセスできる。イサネットハブ２００は全ネットワークパケットを同報通信するので、アダプタドライバが無差別モードに設定されている限り、このバスに接続された全てのイサネットアダプタがバスに乗っているパケットを受け取る。当業者ならば、サーバ１３０はサーバのネットワークインタフェースカード（ＮＩＣ）でイサネットバス２０２と通信して構わないことが明白になるだろう。一つの実施例において、ビデオ会議セッション用の全パケットをスニッフィングするのに使用される特性は次の判定基準にマッチする：
１．パケットの宛先ホストはサーバ１３０である。
２．パケットはＲＴＰパケットである。
パケットのヘッダを調べてこの判定基準をもつパケットを見つけることができることを理解するべきである。したがって、上記の判定基準を用いてネットワーク上のパケットデータをフィルタリングして、ビデオ会議セッションと関連付けられたデータを保持する一方、他のデータを放棄するようにする。上記の判定基準にマッチするパケットを受け取ったら、次の擬似コードが実行される：
2005229601.tif 000003
上記の擬似コードはフィルタリングされたパケットをソートする機能を達成する。一つの実施例において、ＣＳＲＣをＲＴＰファイル名に関連させるハッシュテーブルが作成される。当業者ならば、ＣＳＲＣ値に対応するデータストリームを作成するにあたりハッシュ機能を用いてパケットのソーティングを加速できることが分かるだろう。したがって、複数のＲＴＰファイルが作成され、その際一つのＲＴＰファイルが単一の音声もしくは映像ストリームを表わすべく作成される。すなわち、４つのストリームがある場合、ＲＴＰファイルは４つになる。サーバ及びクライアントホストのＩＰペアにより映像及び音声のペアが識別されるはずである。例えば、音声並びに映像の両ストリームがＩＰ１及びＩＰ２間でアクティブならば、ＩＰペアに対して保存されたＲＴＰファイルが４つあるはずである。ＩＰ（Internet Protocol）ペアとはＩＰ１及びＩＰ２に対応するアドレスと関連付けられたマシン間のセッションのことであることを理解するべきである。
【００４４】
ＭＣＵサーバ内でミーティングが終了した後、ミーティングミキサコンポーザ２１４はオフラインプロセスとして始動するが、ミーティングスニッファはリアルタイムプロセスである。すなわち、ミーティングが終わると、オフラインプロセスが始まる。したがって、サーバ１３０にかかる余分のオーバヘッドがない。ビデオ会議ミーティング用にいくつかのＲＴＰファイル２１０ａ〜２１０ｎが作成及び保存される。一つの実施例において、音声ＲＴＰファイル２１０ａ−１及び２１０ｂ−１の全てが対応するデコーダによってパルスコード変調（ＰＣＭ）ストリームに復号化される一方、映像ＲＴＰファイル２１２ａ−１及び２１２ｂ−１が対応するデコーダによってＹＵＶフォーマットフレームに復号化される。当業者ならば、アナログ音声／映像信号のデジタル化を通信回路により達成することができ、その際アナログ信号は通信回路のロジックを用いて量子化プロセスまたは技術分野で知られているその他の適したデジタル化プロセスによりデジタル化されることを理解するだろう。
【００４５】
図５は、発明の一つの実施例に基づく、ビデオ会議セッションの複数の音声ストリームから単一音声ストリームの作成を表わす簡易概略図である。ミーティングミキサ／コンポーザ２１４は音声ＲＴＰファイル２１０ａ及び２１０ｂを全て識別する。当業者ならば、音声／映像データを、例えば、ファイル名、ファイルのビットなどにより識別できることが明白だろう。一つの実施例において、"Create a new RTP file"のステップでフラッグを先に説明した擬似コードに取り入れても構わない。言うまでもなく、この例で２つ以上の音声ＲＴＰファイルを含んでいても構わない。
【００４６】
先に説明したように、音声ＲＴＰファイルからのデータは図５のオーディオデコーダモジュール２５０によりＰＣＭストリームに復号化される。当業者ならば、オーディオデコーダモジュール２５０は対応するＲＴＰファイルからＰＣＭストリームを生成するように構成された通信回路で構わないことが分かるだろう。復号化された各音声ストリーム２１０ａ−１〜２１０ｎ−１は次にオーディオミキサモジュール２５２により混合される。音声ストリーム２１０ａ−１〜２１０ｎ−１は各々同じタイムスタンプをもつことを理解するべきである。すなわち、図５は各音声ストリーム２１０ａ−１〜２１０ｎ−１が共通のタイムスタンプをもつスナップショットを表わしている。基本的に、図５はビデオ会議のある特定の時点での各参加者の音声のキャプチャを表わしている。したがって、ミーティングミキサ／コンポーザ２１４は音声ストリームを混合して単一音声ストリーム２５４にする。混合された音声ストリーム２５４は次にオーディオエンコーダモジュール２５６で符号化される。一つの実施例において、オーディオエンコーダモジュール２５６は音声をＭＰＥＧ（motion picture export group）オーディオファイル２５８として符号化する。当業者ならば、オーディオエンコーダ２５６は音声ストリームを任意の適したフォーマットまたは標準に符号化することができ、ＭＰＥＧ標準に限られないことが明白であろう。
【００４７】
図６は、発明の一つの実施例に基づく、ビデオ会議セッションの複数の映像ストリームから単一映像ストリームの作成を表わす簡易概略図である。映像ストリームの場合、ミーティングミキサコンポーザ２１４は、図３のビデオＲＴＰファイル２１０ｃ及び２１０ｄといった映像ＲＴＰファイルを全て識別する。音声ファイルに関して先に説明したように、発明は２つの映像ファイルが混合されることだけに限定されない。これらの映像ファイルはビデオＲＴＰファイルのフレームごとにＹＵＶカラーフォーマット、ＲＧＢカラーフォーマットなど適したカラーフォーマットにビデオデコーダモジュール２６０で復号化される。ビデオデコーダ２６０は映像データを復号化するときに映像データを解凍することがあることに注目するべきである。フレームレートコンバータモジュール２６２は復号化された映像データを適したフレームレートに変換する。例えば、復号化された映像データがＤＶＤ標準に記録するには低すぎるフレームレートと関連付けられていることがある。ＤＶＤ標準は一般的に毎秒およそ３０フレームのフレームレートを必要とする。したがって、ビデオＲＴＰファイルのフレームレートが、例えば、毎秒９フレームといったように３０未満の場合には、フレームレートを高くするために追加フレームを足すことができる。一つの実施例において、追加フレームは連続フレームにおける前か後のフレームのコピーで構わない。別の実施例において、追加フレームは２つの連続するフレームの平均で構わず、追加フレームをその連続するフレームとフレームの間に挿入して、フレームレートを高くする。
【００４８】
引き続き図６において、フレームレートコンバータモジュール２６２はミキシングのためにビデオフレーム２１２ａ−１〜２１２ｎ−１を提供する。ここでも、図５のオーディオフレームと同様に、各ビデオフレーム２１２ａ−１〜２１２ｎ−１は同じタイムスタンプをもつ。図６もミキシングプロセスのスナップショットを表わしている。図６の音声情報モジュール２７２により、映像のタイムスタンプを図５からの対応する音声のタイムスタンプとマッチさせることができる。音声情報モジュール２７２の音声情報は図５の音声ストリーム２１０ａ−１〜２１０ｎ−１から作られることを理解するべきである。さらに、管理サーバ１０４はビデオフレーム２１２ａ−１〜２１２ｎ−１をインテリジェントに構成するための情報を提供することがある。例えば、図２において、管理サーバ１０４を介してアクセスされるイベントデータベース１１４に格納されているイベント情報がビデオコンポーザ２６４に提供される。したがって、会議セッション中にスライドを交換するか、又はアノテーションを描くといったイベントによって、そのイベントを行った参加者を、その時点に対応するメインの話し手とすることができる。他のイベントとしては、参加者が会議に参加したとき、参加者が会議を出たとき、及び任意の適切なアノテーションなどがある。
【００４９】
図６のビデオコンポーザ２６４はこのイベント情報を利用して、記録されたビデオ会議のユーザインタフェース内に、イベントと関連付けられた参加者をメインの話し手として表示させることができる。この例で、他の参加者に比べてメインの話し手がフレームの最大表示部分として表示されるようにすることができる。例えば、ビデオ会議に４人が参加している場合、メインの話し手の画像が表示の半分を占め、残りの３人の参加者の画像は表示の残り半分で均等なセグメントを占める。言うまでもなく、メインの話し手をハイライトしたり、他の参加者と区別する他の適したやり方で表示することができる。別の実施例において、メインの話し手を参加者各々の音声力の分析により識別してもいい。これは音声情報モジュール２７２によって可能になる。この例で、最も強力な音声信号をもつ参加者がメインの話し手として表示される。ビデオコンポーザ２６４は、先に説明したインテリジェント構成スキームに従ってビデオフレーム２６６を出力する。構成されたビデオフレーム２６６は次にビデオエンコーダモジュール２５８で符号化される。ビデオエンコーダモジュール２６８は技術分野で知られ適したビデオエンコーダならどれでも構わない。ビデオエンコーダモジュール２６８がＭＰＥＧビデオエンコーダの場合には、ビデオエンコーダから結果として生じる出力はＭＰＥＧビデオファイル２７０である。
【００５０】
図７は、発明の一つの実施例に基づく、図５及び６で生成された音声及び映像ファイルのミキシングを図解している簡易概略図である。ＭＰＥＧビデオファイル２７０及びＭＰＥＧオーディオファイル２５８はマルチプレクサ音声／映像同期装置（synchronizer）２７２で混合される。この例で、マルチプレクサ音声／映像同期装置２７２はＭＰＥＧファイルを作成し、ビデオコンパクトディスク（ＶＣＤ）またはＤＶＤ標準に合うように音声及び映像データを同期させる。マルチプレクサ音声／映像同期装置２７２は映像及び音声の入力の各ペアに対するＭＰＥＧファイル２７４ａ〜２７４ｎを出力する。ＭＰＥＧファイル２７４ａ〜２７４ｎは再生制御（ＰＢＣ）生成器２７６により結合される。ＰＢＣ生成器２７６は管理サーバ１０４とも通信している。したがって、ＰＢＣ生成器２７６は、管理サーバ１０４からアクセスされるアノテーションデータまたはイベントデータを結合されたＭＰＥＧデータストリームの中に組み込むことができる。模式的アノテーションデータまたはイベントには、スライドの遷移、参加者の会話、或いはミーティング管理サーバもしくは図２において説明したミーティング分析サーバに記録されている参加者の活動などが含まれる。例えば、インデクシングを利用してイベントレコーダにおけるタイムスタンプによりパワーポイントスライドに行き、引き続いて、ビデオストリームのタイムスタンプにインデックスが付けられる。結果として生じたデータストリームは画像生成器モジュール２７８により対応するＶＣＤまたはＤＶＤストレージメディアにキャプチャされる。したがって、後で、作成されたＶＣＤまたはＤＶＤを再生するのに記録装置２１８を使うことができる。
【００５１】
図８は、発明の一つの実施例に基づく、ビデオ会議セッションのビデオ会議データを効率よく記録するための方法操作を図解したフローチャートである。この方法は、分散型ネットワークで伝送されたビデオ会議データを識別する操作２８０から始まる。例えば、先に説明したように、パケットがビデオ会議セッションと関連付けられているかどうか判定、つまり、パケットをフィルタリングするために、パケットヘッダを調べてビデオ会議データを識別することができる。この方法は次に操作２８２に進み、そこでビデオ会議セッションと関連付けられたパケットが貢献ソースＩＤに基づいてソートされる。この例で、パケットヘッダには貢献ソースＩＤが入っている。貢献ソースＩＤは会議セッションの映像及び音声ストリームごとに各々固有である。発明は貢献ソースＩＤによりデータをソートすることだけに限られないことを理解するべきである。すなわち、複数のフィルタリングされたパケット間の差別化を可能にするデータを有するパケットヘッダの任意の適したフィールドを利用しても構わない。この方法は次に操作２８４に進み、ソートされたパケットから音声データとしてビデオ会議音声信号が生成される。図５及び６において説明したように、ＲＴＰファイルごとに単一音声ストリームが作成される。同様に、操作２８６で、図６において説明したように、識別された被ソートパケットから映像データとしてビデオ会議映像信号が生成される。この方法は次に操作２８８に進み、被ソートパケット各々と関連付けられたタイムスタンプに基づいてビデオ会議音声信号及びビデオ会議映像信号が混合される。この方法は次に操作２９０に進み、ビデオ会議セッション中に記録されたイベントが操作２８８からの混合信号と関連付けられ、この関連付けはその混合信号とイベントとの共通タイムスタンプに基づいて行なわれる。この方法は次に操作２９２に進み、表示のレイアウトが構成され、イベントに基づいて混合信号と関連付けられたインデックスが生成される。ここで、先に説明したように、リーダー格の参加者を他の参加者と区別することができる。一つの実施例において、インデックスはタイムスタンプである。
【産業上の利用可能性】
【００５２】
要約すると、本発明の実施例によりビデオ会議をインテリジェントに記録できるようになる。ビデオ会議セッションデータと非ビデオ会議セッションデータとを区別してからビデオ会議セッションデータをソートするパケットインターセプト装置を使用することでホストサーバにオーバーヘッドを追加することを避けられる。したがって、セッションが格納されているコンピュータ可読メディアからビデオ会議セッションを見ることができる。ミーティング管理サーバとメディア分析サーバとの一体化により合成音声／映像ストリームの生成が可能になる。記録システムにより定義される合成ストリームはビデオ会議セッション中に参加者に送られたストリームよりも解像度が高いことに注目すべきである。例えば、ビデオフレームが４人の参加者のビデオデータから構成され、参加者からの各ビデオの解像度が３２０ｘ２４０の場合、その４人の参加者の結合フレームでは解像度６４０ｘ４８０を得ることができる。
【００５３】
上記の実施例を念頭において、発明はコンピュータシステムに格納されたデータを必要とするコンピュータでインプリメントされる様々な操作を使用することがあることを理解するべきである。これらの操作は物理的数量の物理的操作（manipulation）を必要とするものである。必ずしてもそうとは限らないが、普通、それらの数量は格納、転送、結合、比較、その他の操作が可能な電気信号または磁気信号の形をとる。さらに、実行される操作は、生成、識別、判定、または比較といった表現で呼ばれることが多い。
【００５４】
発明をコンピュータ可読コードとしてコンピュータ可読媒体上に実装することもできる。コンピュータ可読媒体とは、後からコンピュータシステムが判読可能なデータを格納できる任意のデータ記憶装置である。コンピュータコードが実装された電磁搬送波もコンピュータ可読媒体の一つである。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ，ＣＤ−ＲＷ，磁気テープや、その他の光学式及び非光学式データ記憶装置などがある。コンピュータ可読コードが分散して格納及び実行されるように、コンピュータ可読媒体をコンピュータシステムにつながったネットワークで分散することもできる。
【００５５】
上記の発明をはっきり理解できるようにある程度詳細に説明したきたが、添付の請求項の範囲内で特定の変更及び修正が可能なことは明白であろう。したがって、本願の実施例は例をあげて説明するためで限定のためではないと考えるべきで、発明は本書で述べた詳細に限定されるものではなく、添付の請求項の範囲及びそれと同等な範囲内で修正可能である。請求項において、特に明記していない限り、要素及び／又はステップは操作の特定の順序を暗に示しているものではない。
【図面の簡単な説明】
【００５６】
【図１】発明の一つの実施例に基づく、クライアントモニターバックチャネルを用いる多数参加者会議システムの構成要素を示す概略図。
【図２】発明の一つの実施例に基づく、アノテーション管理システムのモジュール間の関係を示す簡易概略図。
【図３】発明の一つの実施例に基づく、パケットをフィルタリングしてからソートして映像及び音声ストリームにするためにネットワークスニッファを用いるシステムアーキテクチャの概要を示す簡易概略図。
【図４】発明の一つの実施例に基づく、ＲＴＰパケットのヘッダフィールドの簡易概略図。
【図５】発明の一つの実施例に基づく、ビデオ会議セッションの複数の音声ストリームから単一音声ストリームの作成を表わす簡易概略図。
【図６】発明の一つの実施例に基づく、ビデオ会議セッションの複数の映像ストリームから単一映像ストリームの作成を表わす簡易概略図。
【図７】発明の一つの実施例に基づく、図５及び図６により生成された音声及び映像ファイルのミキシングを示す簡易概略図。
【図８】発明の一つの実施例に基づく、ビデオ会議セッションのビデオ会議データを効率よく記録するための方法操作を示すフローチャート。
【符号の説明】
【００５７】
１０４・・・メディア管理サーバ
１０６・・・ウェブサーバモジュール
１０８・・・ミーティングスケジューリングサービスモジュール
１１０・・・アノテーションサービスモジュール
１１２・・・仮想ポインタサービスモジュール
１１４・・・イベントデータベース
１１６・・・ストレージサーバ
１１８・・・メディア分析サーバ
１２２ａ〜１２２ｎ・・・参加者
１２４・・・会議チャネル
１２４ａ〜１２４ｎ・・・会議チャネル
１２６・・・バックチャネル接続
１２６ａ〜１２６ｎ・・・バックチャネル接続
１３０・・・サーバ
１３０・・・メディアトランスポートサーバ
１３２・・・メディアミキサ
１３４・・・メディア管理システム
１３８・・・会議接続
１４０・・・バックチャネルコントローラ
１４０ａ〜１４０ｎ・・・バックチャネルコントローラ（ＢＣＣ）
１４２・・・イベントハンドラー
１４４・・・会議クライアント
１４４ａ・・・会議クライアントＡ
１４６・・・クライアントモニター
１４６ａ・・・ＣＭ
１４８・・・バックチャネルコントローラ通信リンク
１５０・・・会議クライアント
２００・・・イサネットハブ
２０２・・・イサネット（Ethernet（Ｒ））バス
２０６ａ〜２０６ｎ・・・ビデオ会議クライアント
２０８・・・ミーティングスニッファ
２１０ａ〜２１０ｎ・・・ＲＴＰファイル
２１０ａ〜２１０ｎ・・・リアルタイムプロトコル（ＲＴＰ）ファイル
２１０ａ−１、２１０ｂ−１・・・音声ストリーム
２１２ａ−１、２１２ｂ−１・・・映像ストリーム
２１４・・・ミキサ／コンポーザ
２１６・・・合成映像／音声ストリーム
２１８・・・コンパクトディスク／デジタル多用途ディスク・ライタ
２２９・・・ＲＴＰヘッダ
２３０・・・フィールド
２３２・・・フィールド
２３４・・・フィールド
２３６・・・フィールド
２３８・・・フィールド
２４０・・・フィールド
２４２・・・フィールド
２４４・・・フィールド
２４６・・・フィールド
２４８・・・フィールド
２５０−１、２５０−２、２６０−１、２６０−２・・・デコーダ
【図１】
2005229601.tif 000004
【図２】
2005229601.tif 000005
【図３】
2005229601.tif 000006
【図４】
2005229601.tif 000007
【図５】
2005229601.tif 000008
【図６】
2005229601.tif 000009
【図７】
2005229601.tif 000010
【図８】
2005229601.tif 000011