(57)【要約】      （修正有）【課題】ビデオ会議制御手段を提供する。【解決手段】ビデオ会議システムは複数のクライアントとメディアを配信するサーバ・コンポーネントが含まれる。サーバ・コンポーネントは、クライアント・コンポーネントにオーディオ／ビデオの複合データ・ストリームの配信を可能にするメディア・ミキサおよびイベント・データに基づき入力ストリームをメディア・ミキサがミキシングすることを援助するビデオ会議制御手段を含む。ビデオおよびオーディオのデータ・ストリームを複数のクライアントおよびサーバ・コンポーネント間で伝送する会議回線通信接続が提供される。複数のクライアントおよびサーバ・コンポーネント間でイベント・データを通信する別回線通信接続も含まれる。ビデオ会議セッション向けにデータ・ストリームのミキシングを制御する方法も提供される。さらにビデオ会議セッション中共有する文書を共通フォーマットに変換する機構も提供される。【選択図】図１
2006101522.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ会議システムであって、複数のクライアントと、複数のクライアントにメディアを配信するように構成されたサーバ・コンポーネントであって、クライアント・コンポーネントにオーディオ／ビデオの複合データ・ストリームの配信を可能にするメディア・ミキサと、イベント・データに基づきサーバ・コンポーネントへの入力ストリームをミキシングする際メディア・ミキサを援助するように構成されたビデオ会議制御手段とを含むサーバ・コンポーネントと、複数のクライアントおよびサーバ・コンポーネント間でビデオおよびオーディオのデータ・ストリームが伝送される会議回線通信接続と、複数のクライアントおよびサーバ・コンポーネント間でイベント・データが通信される上り回線接続とを含むビデオ会議システム。
【請求項２】
複数のクライアントの各々が、複数のクライアントの１つが複数のクライアントの残りに対しレイアウト・フォーマットを定義することを可能にする編集エンジンを含む、請求項１に記載されるビデオ会議システム。
【請求項３】
ビデオ会議制御手段がスクリプト・システムおよびビデオ・オブジェクト・システムを含む、請求項１に記載されるビデオ会議システム。
【請求項４】
スクリプト・システムがクライアント・コンポーネントに対するオーディオ／ビデオのデータ・ストリーム内におけるオブジェクトの位置を定義する、請求項３に記載されるビデオ会議システム。
【請求項５】
スクリプト・システムはオブジェクトの位置をビデオ・オブジェクト・システム制御から取得する、請求項４に記載されるビデオ会議システム。
【請求項６】
編集エンジンは上り回線通信接続を通してレイアウト・フォーマットをサーバ・コンポーネントに通信する、請求項２に記載されるビデオ会議システム。
【請求項７】
イベント・データは複数のクライアントの内の１つに源を発し、イベント・データはマウス・クリック、サイズ変更信号、参加者が会議セッションに加わること、および参加者が会議セッションを辞去することからなるグループから選択される、請求項１に記載されるビデオ会議システム。
【請求項８】
ビデオ会議制御手段は複数のクライアントに転送されるビデオ・データに適用する適当な拡大縮小方法を判断する、請求項１に記載されるビデオ会議システム。
【請求項９】
ビデオ会議制御手段がビデオのコード化を向上させるために、複数のクライアントに伝送されるビデオ・データのフレーム間の動きを制限する、請求項１に記載されるビデオ会議システム。
【請求項１０】
ビデオ会議制御手段はコード化されるビデオ・データのフレームの一部を第１水準の質を有するコード化機構に従ってコード化するよう指示し、コード化されるビデオ・データのフレームの残部を第２水準の質を有するコード化機構に従ってコード化するよう指示するように構成される、請求項１に記載されるビデオ会議システム。
【請求項１１】
ビデオ・オブジェクト・システムがデータベースである、請求項３に記載されるビデオ会議システム。
【請求項１２】
参加者による共同作業モデルのカスタマイズを可能にするビデオ会議システムであって、ビデオ会議の入力ストリームのミキシングを制御するように構成され、さらに帯域幅の制限に基づきサーバ・コンポーネントから伝送されるデータ・ストリームの圧縮を調節するように構成されるビデオ会議制御手段を含むサーバ・コンポーネントと、スクリプトの選択をサーバ・コンポーネントに通信することが可能となるアプリケーション・ソフトウェアを実行するように構成されたクライアントであって、スクリプトの選択は共同作業モデルに続きビデオ会議セッションを指示するクライアントと、を含むビデオ会議システム。
【請求項１３】
スクリプトの選択は上り回線接続を通してサーバ・コンポーネントに通信される、請求項１２に記載されるビデオ会議システム。
【請求項１４】
編集エンジンがスクリプトの選択を助長する、請求項１２に記載されるビデオ会議システム。
【請求項１５】
ビデオ会議制御手段はデータ・ストリーム内の表示オブジェクトの相対位置を操作するように構成され、表示オブジェクトの位置データを取得するためにビデオ・オブジェクト・システムを呼び出すように構成されたスクリプト・システムを含む、請求項１２に記載されるビデオ会議システム。
【請求項１６】
ビデオ会議セッション向けのデータ・ストリームのミキシングを制御する方法であって、ビデオ会議クライアントに配信するデータ・ストリーム内の表示オブジェクトの位置を制御するスクリプトの初期化を引き起こすステップと、イベントを検出するステップと、イベントの検出に応じて表示オブジェクトを操作するステップとを含む方法。
【請求項１７】
イベントの検出に応じて表示オブジェクトを操作する方法操作はビデオ会議クライアント各々に対し表示オブジェクトを拡大縮小することを含む、請求項１６に記載される方法。
【請求項１８】
イベントの検出に応じて表示オブジェクトを操作する方法操作はビデオ会議クライアント各々に対しデータ・ストリームをコード化することを含む、請求項１６に記載される方法。
【請求項１９】
さらにデータ・ストリームのフレーム間の動きを制限することからなる、請求項１８に記載される方法。
【請求項２０】
イベントの検出に応じて表示オブジェクトを操作するステップが、ビデオ・ストリームの一部を特定することと、ビデオ・ストリームの特定された一部をコード化の第１水準の質でコード化することと、ビデオ・ストリームの残部をコード化の第２水準の質でコード化することとを含む、請求項１６に記載される方法。
【請求項２１】
ビデオ会議クライアントに配信するデータ・ストリーム内の表示オブジェクトの位置を制御するスクリプトの初期化を引き起こすステップが、開始されたイベントを検出することと、上り回線接続でクライアントにより開始されたイベントをビデオ会議サーバに伝送することと、を含む、請求項１６に記載される方法。
【請求項２２】
イベントがキーボード上の入力、マウス・クリック、またはジェスチャーである、請求項１６に記載される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にビデオ会議システムに関し、特にビデオ会議セッション用にビデオ・レイアウトおよび出力ビデオ・ストリームのミキシング（mixing）を制御するように構成されたビデオ会議制御手段に関する。
【背景技術】
【０００２】
会議装置は物理的に離れた場所にいる２人以上の参加者同士のコミュニケーションを円滑にするために使用される。生のビデオ、オーディオおよび他のデータを交換し、各参加者と見、聞き、またはその他協働するための装置が利用できる。会議の一般的な用途にはミーティング／作業グループ、プレゼンテーション、研修／教育などが含まれる。今日では、ビデオ会議用ソフトウェアのおかげでパソコンと安価なカメラおよびマイクロホンを用いて他の会議参加者と接続することができる。これらの機械によってはマイクロソフト・ウィンドウズ（Ｒ）に基づくオペレーティング・システムに含まれるマイクロソフト・ネットミーティング・アプリケーションなど、オペレーティング・システムが簡単なピアツーピアのビデオ会議ソフトウェアを提供している。あるいはピアツーピアのビデオ会議ソフトウェアは別途安価に購入することができる。ソフトウェアおよび安価なカメラ／マイクロホンが入手できることに刺激され、ビデオ会議は益々普及している。ビデオ会議ソフトウェアが普及するにつれ、面と向かって会うために従業員を飛行機で送り込む費用を削減するためにウェブ上の仮想ミーティングを始める企業が増えている。今や企業はボタンをクリックするだけで、世界中のどこでも潜在クライアントと重要な情報や文書を共有することができる。
【０００３】
ビデオ会議装置に関わる１つの問題は、ある参加者が他の参加者が見ているビデオ会議セッションのレイアウトを動的に構成する能力の点である。現在参加者は固定的な所定のレイアウトに制限される。ビデオ会議用サーバは各参加者向けにビデオ・ストリームのミキシング（mixing）を行なうという負担が既にかかっているので、これら所定のレイアウトはビデオ会議用サーバの負担を最低限に抑えるものである。しかし、使用者は各々所定のレイアウトに制限される。このように、この「フリーサイズ」の方法は参加者の自由度を犠牲にしてビデオ会議のサーバの負担を最小限にしている。
【０００４】
【特許文献１】米国特許出願公開第2002/0064136号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在利用できるビデオ会議アプリケーションの今一つの問題は、会議の中の１つのクライアントが専売権付きフォーマットの文書を共有したい場合、他のクライアント全員がその文書を見ることのできるソフトウェアを所有していないかも知れない点である。一般的な解決法はこのフォーマットを読めるクライアント・ソフトウェアを開発することである。しかし、このために開発会社は多額のライセンス料を払わなければならないかも知れず、これは小規模の企業または予算に制限のある会社にとっては現実的でないかも知れない。
【０００６】
さらに良くある問題は、文書のサイズが大きく複数ページにわたる場合、これを会議のクライアント全員にどのように配信するかという点である。全員に同時に文書を配信することはネットワークの帯域幅をかなり使用し、オーディオやビデオなど会議の他の面に悪影響を及ぼしかねない。さらに、複数ページの文書の内何枚のページをミーティング中説明されるかにより、文書全体をクライアント全員に配信することは不必要かもしれない。
【０００７】
この結果、従来の技術の問題を解決し、参加者がビデオ会議サーバに負担をかけずして動的に表示レイアウトを選択し、かつビデオ会議セッション中文書を迅速にアップロードし、配信することを可能にする方法およびシステムを提供する必要がある。 
【課題を解決するための手段】
【０００８】
おおまかに言って、本発明はビデオ会議のセッションの際参加者がリアルタイムでビデオ・ディスプレーのレイアウトをカスタマイズし、制御することができる方法およびシステムを提供することによりこれらの必要を満足する。本発明はプロセス、システム、コンピュータ読み取り可能な媒体、またはグラフィカル・ユーザ・インタフェースを含み、多数の形で実施することができることは理解されよう。以下に本発明の創見に富む実施形態をいくつか説明する。
【０００９】
一実施形態で、ビデオ会議システムが提供される。ビデオ会議システムは複数のクライアントを含む。複数のクライアントにメディアを配信するように構成されたサーバ装置が含まれる。サーバ装置はクライアント・コンポーネントにオーディオ／ビデオ複合データ・ストリームの配信を可能にするメディア・ミキサ、およびイベント・データに基づきサーバ・コンポーネントへの入力ストリームのミキシング（mixing）においてメディア・ミキサを支援するように構成されたビデオ会議制御手段を含む。典型的なイベント・データはマウスのクリック、サイズ変更信号、会議セッションへの参加者の加入、または会議セッションから参加者の退出を含む。複数のクライアントおよびサーバ・コンポーネント間でビデオおよびオーディオのデータ・ストリームを運ぶ会議回線通信接続が提供される。複数のクライアントおよびサーバ・コンポーネント間でイベント・データが通信される別回線通信接続も提供される。
【００１０】
別の実施形態で、参加者が共同作業モデル（collaboration model）をカスタマイズできるビデオ会議システムが提供される。ビデオ会議システムはサーバ・コンポーネントを含む。サーバ・コンポーネントはビデオ会議制御手段を含む。ビデオ会議制御手段はビデオ会議セッションにおける入力ストリームのミキシングを制御するように構成される。ビデオ会議制御手段はさらに、サーバ・コンポーネントから伝送されるデータ・ストリームの圧縮を帯域幅の制限に基づき調節するように構成される。ビデオ会議システムはスクリプトの選択をサーバ・コンポーネントに通信することを可能にする応用ソフトウェアを実行するように構成されたクライアントを含む。スクリプトの選択は共同作業モデルおよびそれに続くビデオ会議を指示する。
【００１１】
さらに別の実施形態で、ビデオ会議用のデータ・ストリームのミキシングを制御する方法が提供される。方法はビデオ会議のクライアントに配信されるデータ・ストリーム内の表示用オブジェクトの位置を制御するスクリプトの初期化を引起すことで開始する。次にイベントが検知される。イベント検知に応答して表示オブジェクトが操作される。
【００１２】
本発明の他の態様および利点は発明の原理を例示する添付図面と併せて以下の詳細な説明により明らかにされる。
【発明を実施するための最良の形態】
【００１３】
ビデオ会議セッションのクライアントが個別的かつ動的に表示レイアウトをカスタマイズできるよう構成されたビデオ会議制御手段の装置および方法の発明が説明される。システムはさらに効率的な方法でビデオ会議参加者に文書を配信する機構を提供する。しかし本開示に照らし、本発明はこれら具体的な細部の一部またはすべてなしでも実施できることが当業者には明らかであろう。その他、本発明を不必要に不明瞭にしないために周知のプロセス操作は詳しく説明されていない。
【００１４】
本発明の実施形態はビデオ会議制御手段を通じ、ビデオ会議の参加者が見る、リアルタイムのカスタマイズが可能なプレゼンテーション・レイアウトを可能にする方法およびシステムを提供する。ビデオ会議制御手段はビデオ会議セッションの各種入力ストリームを制御するためのイベントに基づくスクリプト言語である。ストリームはビデオ、オーディオ、または字幕などその他適当な入力ストリームで良い。イベントとはスクリプト言語の一連の行動を引き起こす、何らか所定の出来事の発生である。イベントの例は新参加者が会議に接続した時、または参加者がミーティングから退出した時を含む。その上にイベントは例えばパワーポイント・プレゼンテーションのスライドだけを見せるなど、参加者に呈されるビューを変更するためにキーボード上のキーを押した時、またはマウスのクリックを含む。一実施形態で、イベントは ビデオ・ストリームにおいて検知されるジェスチャーによる命令入力またはオーディオ・ストリームにおいて検知される音声命令であり得る。
【００１５】
入力ストリームを管理または制御することに加え、ビデオ会議制御手段はビデオ会議サーバの資源を効率的に使用するように構成される。ビデオ会議サーバは入って来るストリーム各々を各参加者向けに出て行く１つのストリームにミキシングする。これはできるだけリアルタイムに近く行なわれる。参加者同士のコミュニケーションが自然に見えるためにはこのミキシングによる遅延が小さい、即ちリアルタイムである、ことが必要であることは理解されよう。遅延が大き過ぎるとそれだけコミュニケーションは難しくなる。従って、ビデオ会議制御手段はサーバに大きな負担をかけないように構成される。従って、本明細書で説明される実施形態は実行に法外な時間がかからない。
【００１６】
ビデオ会議制御手段を使用して最適化できる３つの典型的な分野は1) サーバの使用、2) 適当な拡大縮小方法の選択、および3)効率的にビデオ・エンコーダを利用するためのミキシングの制御。一実施形態で、サーバを最も効率的に用いるためにスクリプトはビデオ会議制御手段が実行するものとビデオ会議サーバの通常の動作の一部として機械本来のコードで実行されるものとの正しいバランスを確保する。例えば、ビデオ会議システムはメディア・ミキサによりビデオ・ストリームのミキシングを行ない、ビデオ会議制御手段はこの役割を引き受けない。本明細書で述べるスクリプト言語がビデオ・ストリームのあらゆるデータ・ビットに作用してミキシングを行なうよりビデオ会議システムがミキシングを行なう方がはるかに速い。このようにビデオ会議制御手段と会議システムとの間には、各々の資源の効率的な利用に基づき責任の分担がある。
【００１７】
図１は本発明の一実施形態により、クライアント・モニタ用別回線を使用し、ビデオ会議制御手段を有する複数参加者の会議システムのコンポーネントを示す概要図である。クライアントのコンポーネントは参加者Ａ122A乃至参加者Ｎ122nなど、複数の参加者を含む。この実施形態で、各参加者122a-122n は会議クライアント144a-n 、編集エンジン152a-n 、およびクライアント・モニタ（ＣＭ）146a-n を含む。会議クライアントＡ144a は参加者のピアツーピアのビデオ会議ソフトウェアまたは任意の専売権付ビデオ会議ソフトウェア・アプリケーションを含むことができる。参加者は各々他の参加者を呼び出し、会議セッションを確立および切断し、コンテンツを取り込み、送信し、交換コンテンツを受信し、再生することなどができることは理解されよう。呼び出しはメディア転送サーバ130を通りルーティングされる。即ち、参加者は対応会議クライアントを用いてメディア転送サーバ130を呼び出し、会議に参加する。一実施形態で、会議クライアントが既存のソフトウェア・アプリケーションである場合など、会議クライアントＡ144a は高レベルのユーザ・インタフェースを含む。例えば、ピアツーピアのビデオ会議を提供する製品の例はマイクロソフト社の「ネットミーティング」アプリケーション・ソフトウェアである。
【００１８】
ＣＭ146a は会議クライアントＡ144a をモニタするように構成される。つまり、ＣＭ146a は一実施形態においてクライアントＡ144a のビデオ・ディスプレー・ウィンドウをモニタすることによりユーザがどのようにソフトウェア・アプリケーションとやりとりするかを見る。加えてＣＭ146a はユーザのやりとりを解釈し、サーバ・コンポーネントにやりとりを伝送する。一実施形態で、各ＣＭは４つの機能を提供するように構成される。ＣＭの１つの機能は参加者およびサーバ・コンポーネント間の会議回線セッションと平行して別回線通信セッションを確立できるよう会議回線の開始／停止をモニタすることである。２つ目の機能はユーザのやり取りおよびマウスのメッセージなど会議クライアント144により表示されるビデオ・ウィンドウ内のイベントをモニタする。３つ目の機能はＣＭ146およびサーバ・コンポーネントの別回線コントローラ140間のメッセージ情報を扱う。４つ目の機能は、参加者が画像を表示して他の会議メンバーに送信し、接続されている他の参加者名および他の通信情報またはツールを示すことに使用できる外部ユーザ・インタフェースを提供する。
【００１９】
上述のように、クライアント・モニタは対応会議クライアントにおける活動を監視する。一実施形態でこれは会議コンテンツを含むビデオ・ディスプレー領域上のユーザ・イベントをモニタすることを含み、さらに会議セッションの制御情報も含む。例えば、ＣＭは会議セッションの開始および終了、または会議クライアントからの呼び出しを監視する。新たな会議セッションを開始するために会議クライアント144a-nがメディア転送サーバに通話を申し込むと、ＣＭ146a-nもメディア転送サーバに通話を申し込む。ＣＭ146a-nからの呼び出しは参加者の会議セッション用の別回線接続を確立する。ＣＭはセッションの開始／停止イベントをモニタできるので、別回線接続はさらにユーザの設定がなくして自動的に開始する、つまり別回線接続はユーザにとって透明である。このように、会議クライアントの活動に平行して新しいセッションが維持される。会議回線124a-124nは対応会議クライアント144a-nおよびメディア転送サーバ130の各々の会議接続138a-n間のビデオ／オーディオ接続を提供することが理解されよう。一実施形態で、会議回線124a-nはクライアント・コンポーネントおよびサーバ・コンポーネント間で通信される会議セッションのビデオ／オーディオ・データをリアルタイムで通信するリンクを提供する。
【００２０】
クライアント・モニタは会議クライアントにより表示される会議のビデオ・フレーム上で起こる活動を具体的にモニタすることができる。例えば、ＣＭ146a-nはマイクロソフトの「ネットミーティング」アプリケーションにおけるビデオ画像をモニタすることができる。クライアント・フレーム内におけるマウスの活動はプロトコル経由で別回線接続126a-nを越えてメディア転送サーバ130に転送される。これに続き別回線コントローラ140a-nはこの活動を別の参加者、または対応参加さのイベント・ハンドラ142a-nに報告することができる。この実施形態で、会議クライアント144のモニタはオペレーティング・システムのレベルおよびアプリケーションのレベル間でのフックを通して起こる。上述のように、ビデオ会議アプリケーションの外からマウスのクリックやキーボードの打ち込みが起こるかビデオ・ウィンドウを監視することができる。あるいは、クライアント・モニタの機能を統合し、関連情報を別回線ネットワークに提供する専売権付ビデオ会議アプリケーション・ソフトウェアを提供することができる。
【００２１】
別の実施形態で、ＣＭは別個のユーザ・インタフェースを参加者に呈することができる。このインタフェースは会議クライアントが呈するユーザ・インタフェースと平行して表示することができ、確立された会議中をとおして表示されていることができる。あるいは、ＣＭが呈するユーザ・インタフェースは他の構成または設定の目的で会議セッションの前または後に表示されても良い。
【００２２】
さらに別の実施形態で、ＣＭは会議クライアントの必要なく、メディア転送サーバ130をホストとする通信セッションへ直接接続するインタフェースを提供することができる。この実施形態で、ＣＭは会議要約コンテンツ、会議の現状、参加者情報、共有データ・コンテンツ、さらには生の会議オーディオまでもの返送に別回線接続を利用することを可能にするユーザ・インタフェースを呈する。これは例えば参加者が通信の活動のみをモニタしたいため会議クライアントを使わないことを決めた場合に起こり得る。会議クライアントは最低限のデータ処理を行なうという点でクライアント・コンポーネントはシン・クライアントと呼ぶことができることが理解されよう。要するに、会議クライアント144a-nとして任意の適当なビデオ会議アプリケーションを含むことができる。前述のように、ＣＭ146aは会議クライアントＡ144aのビデオ会議アプリケーションがいつ運転を開始し、停止するか認識するように構成され、次には会議クライアントの開始および停止に合わせてＣＭも運転を開始し、停止することができる。ＣＭ146aはビデオ会議に平行してサーバ・コンポーネントから情報を受信することができる。例えば、ＣＭ146aは参加者Ａ122aが会議セッション中画像を共有することを可能にできる。従って共有画像は、各参加者が画像をビデオ会議ソフトウェアのビデオ・ディスプレー領域を通してではなく、ドキュメント・ビューアで見ることができるようにクライアント・モニタの各々に提供されることができる。その結果、参加者は共有文書のよりはっきりした画像を見ることができる。一実施形態で、会議で共有された文書は各クライアントが見られるようになっている。
【００２３】
編集エンジン152aも参加者Ａ122aに含まれる。編集エンジン152aは対応参加者が表示レイアウトをカスタマイズし、表示レイアウトのカスタマイズを別回線126aを通して連絡することを可能にするために提供される機能を含む。例えば、このカスタマイズを可能にするグラフィカル・ユーザ・インタフェースが編集エンジン152aを通して参加者に呈することができる。編集エンジンにより参加者はビデオ会議システムが本来提供するもの以上に会議をカスタマイズまたは調整することができる。編集エンジンによりさらにカスタム・イベントおよび行為を作成することができる。編集エンジンはこれらのイベントや行為をスクリプト言語で定義し、生成されたスクリプトは次に別回線を通してスクリプト・システムに連絡される。
【００２４】
サーバ・コンポーネントはメディア転送サーバ130を含み、これは参加者がカスタマイズできる情報を伝送するように構成されるマルチポイント制御装置（ＭＣＵ）を提供する。メディア転送サーバ130およびメディア転送サーバのコンポーネントは本明細書で説明する機能を実行するようなソフトウェア・コードの構成を有することが理解されよう。一実施形態で、メディア転送サーバ130は本明細書に説明される実施形態を実施する、ハードウェアに基づくサーバのコンポーネントである。メディア転送サーバ130はメディア・ミキサ132、別回線コントローラ140a-n、およびイベント・ハンドラ142a-nを含む。メディア転送サーバ130はさらに会議接続138a-nを提供する。より具体的に、会議接続Ａ138aは例えばピアツーピアビデオ会議アプリケーションなど、会議クライアントＡ144aのビデオ会議ソフトウェアがメディア転送サーバ130と通信できるようにするリンクを完成する。つまり、会議接続Ａ138aは別のピアをエミュレートし、ピアツーピア接続を予期している会議クライアントＡ144aとハンドシェイクを行なう。一実施形態で、メディア転送サーバ130は、共有の会議（shared conference communication）を行なうために、選択可能な論理上の会議室（selectable logical room）に独立した複数の参加者の接続を許可することによって、マルチポイント制御装置（ＭＣＵ）の機能を提供する。ＭＣＵとしてメディア転送サーバ130は会議参加者に対する「ピア」の機能を果たすが、複数の参加者から呼び出しを受けることもできる。メディア転送サーバ130は、同一の論理上の会議室ないの全参加者を内部的にリンクし、メディアハブと共に一つのピアとしてのみ動作する各々のピアツーピア会議クライアントとの複数参加者による会議セッションを各会議室について定義することができる。前述のとおり、メディア転送サーバ130は対応会議クライアントのピア要求事項に適合するように構成される。例えば、マイクロソフト社のネットミーティングのようなアプリケーションにみられるように、会議クライアントがＨ．３２３準拠の会議プロトコルを使用している場合、メディア転送サーバ130もＨ．３２３プロトコルを支援しなければならない。言い換えれば、会議通信はＨ．３２３プロトコル、セッション開始プロトコル（ＳＩＰ）、または参加者接続要求事項に合致する他の適当なＡＰＩ経由で行なわれることができる。
【００２５】
引き続き図１について、メディア・ミキサ132はすべての参加者のオーディオおよびビデオの組み合わせ、具体的な参加者構成情報、およびサーバ・ユーザ・インタフェースから各参加者特有のオーディオおよびビデオ情報を組み立てるように構成される。メディア・ミキサ132は入って来るデータ・ストリーム、つまりオーディオ／ビデオ・ストリーム、を参加者毎に組み合わせることによりマルチプレクス化の作業を行なう。一実施形態で、メディア・ミキサ132は会議の信号を組み立てるビデオ・レイアウト・プロセッサおよびオーディオ配信プロセッサを含む。クライアン・モニタの別回線ネットワークによりメディア転送サーバ130はユーザと会議クライアント144a-nとのやりとりを監視し、ピアツーピアのソフトウェア・アプリケーションが追加機能を有するようなみかけを提供することができる。追加機能は会議クライアント144a-nが実行するソフトウェア・アプリケーションのピアツーピア機能を本明細書で説明する複数参加者環境に適応する。ここで、参加者のビューのカスタマイズは対応編集エンジン152a-nを通して伝達され、クライアント・モニタ別回線ネットワークを通して伝達される。クライアント・モニタ別回線ネットワークはクライアント・モニタ146、別回線接続126、別回線コントローラ140、イベント・ハンドラ142、およびビデオ会議制御手段158を含む。
【００２６】
別回線接続126a-126nは会議回線124a-124nに各々にさらに平行した会議を加えることに似ている。別回線コントローラ（ＢＣＣ）140a-140n は対応クライアント・モニタ各々からの通信リンクを維持する。リンク上で定義されるプロトコルはメディア転送サーバ130で解釈され、適切な宛先、つまり他の参加者の別回線コントローラ、イベント・ハンドラ、または再びCMへ、流される。別回線コントローラ140a-140nは各々別回線コントローラ通信リンク148を通して通信する。
【００２７】
ビデオ会議制御手段158a-nは対応するクライアント・モニタ別回線ネットワークを通して各々の編集エンジン152a-nから受信した信号に従い入力ストリームのミキシングを制御するスクリプトを含む。スクリプト・システム154a-nはイベントに対応するスクリプト言語を含む。ここで、上記のようなイベントが起こり、そのイベントに対応する行動が引き起こされる。一実施形態で、ビデオ会議制御手段158a-nは以下の擬似コードで例示されるようにこれらの行動を一定のイベントに対応づける：
2006101522.tif 000003
言語が機能的にイベントを適切な行動に結び付けられることに比べ、言語のシンタックスはそれほど重要でないことは理解されよう。
【００２８】
ビデオ会議制御手段158aはビデオ会議システムの内部、つまりメディア・ミキサ132、と相互に作用する。ビデオ会議制御手段158aはこれを通常外部関数インタフェースと呼ばれるものを通して行なう。このインタフェースはビデオ会議システムの呼び出しコードがデータ構造、オブジェクト、および関数をスクリプト言語に加えることを可能にする。これにより次にはビデオ会議制御手段158aがビデオ会議システムの内部構造を操作できるようになる。例えばビデオ会議システムは外部関数インタフェースを用いて参加者リストおよび出力ビデオ・ストリームで各参加者が表示される位置をアクセスし変更するために使用できる関数を含むオブジェクトをエクスポートすることができる。
【００２９】
スクリプト言語は典型的にフロントエンドおよびバックエンドの２つの部分に分けられる。フロントエンドはスクリプト言語を内部形式に構文解析する。バックエンドは解釈でき、バイト・コードまたは直接機械コードにコンパイルできる形式に内部形式を翻訳するために使用される。本明細書で説明される実施形態においてはビデオ会議制御手段158a-nの各々がその機能性の一部または全部を実施するためにビデオ・ハードウェアを利用できることが理解されよう。従ってDirect X 9でnVIDIA のCg 言語またはマイクロソフトのHLSL 言語を実施するより新世代のビデオ・カードについては、入って来るビデオ・ストリームのミキシングはグラフィックス・カード上ででき、主プロセッサの演算負担の一部を減らすことができる。
【００３０】
前述の通り、ビデオ会議制御手段が利用できる代表的な領域はサーバの使用、適当な拡大縮小方法、およびミキシングを制御してビデオ・エンコーダを効率的に利用することを含む。異なった出力ストリームが別の出力ストリームと同じ倍率である同じ入力フレームを必要とすることが一般的なため、ビデオ会議システムの拡大縮小システムはビデオ・ストリームの最新フレームをキャッシュし、異なった参加者に送られる、異なった出力ストリームが使用できるようにすることができる。キャッシュすることはプロセッサがビデオのフレームを１つ処理するための所要時間を大幅に削減する。しかしビデオ会議制御手段が制御するビデオ会議の表示方法が、ビデオ会議の一参加者の動作を別の参加者に対し動画化するなど非常にダイナミックである場合、拡大縮小システムが用いるキャッシングは無効になる可能性がある。この時点では、プロセッサ時間を最低限に抑えるためより速いものの視覚的により魅力的でない拡大縮小アルゴリズムに変えることが望ましい。拡大縮小の質が落ちても関心の領域は動作にあり、動作中ビデオの質は定量化するのがはるかに困難であるためこれは適当である。ビデオ会議制御手段は動作がある場合この情報を利用して拡大縮小アルゴリズムを切り替えることができる。
【００３１】
会議参加者への出力ビデオ・ストリームは各参加者のビデオ会議クライアント用に適当なフォーマットにコード化する必要がある。このコード化処理にビデオ会議サーバが処理時間を通常最も必要とする。ストリームの各フレームをコード化する必要がある。フレーム毎にあまり変化がない場合エンコーダは容認できる程度に処理することができる。変化が多い場合は難しくなり、フレームをコード化フォーマットに容認できる程度に圧縮するにはより長い処理時間を必要とする。従って、より良質のコード化を得るためにビデオ会議制御手段は一実施形態において、各フレームに対しできるだけ変更を少なくすることができる。この処理を最適化するために、ビデオ会議制御手段はフレーム間でエンコーダが容易に見出しコード化できる小さな動作のみを許す。別の実施形態で、ビデオ会議制御手段はさらにエンコーダが殆どのフレームをより良好に圧縮できるようフレーム間の動作を制限することができる。これは例えば、出力ビデオ・ストリームの1つの位置から別の位置への動きを動作化する場合に起こり得る。高速処理のためにビデオ会議制御手段はこれら2つの位置の間で動画化を許可しないかもしれない。しかし、処理をおこなうために充分な時間があり、出力の接続に充分な帯域幅がある場合、元の位置から望む位置までの動画化を実行することができる。
【００３２】
ビデオ会議制御手段158a-nは出力ビデオ・ストリームのどの部分が最も重要であるか確認するように構成される。一実施形態で、エンコーダが出力ストリームの異なった部分を異なった質でコード化することを支援する場合、この情報をエンコーダに渡すことができる。例えば、中心の話者が最上の質を与えられ、見える他の参加者の質は多少制限することができる。あるいは、ビデオ会議制御手段は参加者のビデオを1ヶ所から別の場所に配置することを動画化するなど動いているビデオの部分の質を落とすことができる。
【００３３】
ビデオ会議制御手段158a-nはさらにネットワーク接続の出力帯域幅を考慮するよう構成される。帯域幅が比較的低い場合、圧縮を高めることが最善である。従って帯域幅が比較的低い場合、質の良くない拡大縮小アルゴリズム（より良く圧縮する可能がある）を選ぶことが考えられる。さらに、上述の通り動画化を制限することもできる。あるいは、帯域幅が比較的高い場合、より質の高い拡大縮小アルゴリズムを適用することができる。一実施形態で、比較的低い帯域幅は約100ビット／秒（ｂｐｓ）未満で、比較的高い帯域幅は約200ｂｐｓを超える。帯域幅速度の高低は回線で伝送されるものによるので、これらの帯域幅は例示的なもので、限定する意図はないことが理解されよう。例えば医療用途においては200ｐｂｓさえ非常に低い帯域幅とみなされるであろう。
【００３４】
ビデオ会議制御手段158a-nは参加者が各々のクライアントで見るビデオ・レイアウトを制御するのに使用することができる。従ってビデオ会議制御手段は会議セッションの共同作業モデルを制御するために使用できる。共同作業モデルは電話での通話にビデオを足すことに類似した一対一のミーティングでもあり得る。またある部署の会議など多数対多数でも良い。あるいは共同作業モデルはビデオ会議システムを使用して授業を行なう教師、または世界各国に事業所のある会社で社員に対し発表を行なう社長などのように一対多数でも良い。一実施形態で、ビデオ会議制御手段は各共同作業モデル用に最適なビデオ・レイアウトを提供するために使用することができる。例えば、編集エンジンを通して引き起こされるマウスもしくはキーボードのイベント、またはサーバに基づくイベントにより、ビデオ会議制御手段はクライアントのビデオ・ウィンドウのユーザ・インタフェースを操作することができる。ビデオ会議制御手段はレイアウトを操作することに限定されないことが指摘されよう。本明細書で説明の通り、ビデオ会議制御手段は拡大縮小の調節を行なうためや帯域幅の制限を考慮するためにも使用することができる。
【００３５】
ビデオ会議制御手段158a-nのコンポーネントはスクリプト・システム154a-nおよびビデオ・オブジェクト・システム156a-nを各々含む。スクリプト・システム154a-nは別回線ネットワークを通して編集エンジン152a-nから通信されるイベントにより引き起こされ、または選択されるスクリプトを含む。スクリプト・システム154a-nは書きに記すスクリプト例のような選択されたスクリプトに従いメディア・ミキサ132を指示する。さらにスクリプト・システム154a-nは本明細書で説明された通り、帯域幅によって拡大縮小およびコード化操作を制御することができる。ビデオ・オブジェクト・システム156a-nはスクリプト命令で操作される対応ビデオ・オブジェクトを格納する。このようにビデオ・オブジェクト・システム156a-nはメディア・ミキサ132およびスクリプト・システム154a-nの双方によりアクセスされるビデオ表示オブジェクトのデータベースとみなすことができる一実施形態で、スクリプトはビデオ表示オブジェクトの位置を操作し、メディア・ミキサはオブジェクトの位置が変化したことを認識し、それに応じて拡大縮小を行なう。上述の通り、一実施形態においてメディア・ミキサはスクリプトに指示され拡大縮小を実施する。
【００３６】
別の実施形態で、ビデオ会議制御手段はプレゼンテーションの制御に使用することができる。これにより、ミーティングのコーディネータは、中心の話者にプレゼンテーションを行なわせ、次に共同作業モデルを切り替えてそのプレゼンテーションの討論ができるようにするなど、ミーティングの進行中に共同作業モデルを変更することができる。発表者はキーを押すとプレゼンテーションのスライドの大写しに切り替わり再び発表者の単一のビューに戻す、または発表者と質問をする参加者のビューに切り替えるなど各参加者が見るものを管理することができる。
【００３７】
中心参加者1名をフルサイズに、および3名までの参加者を縮尺し、各参加者のクライアント・ビデオ・ウィンドウの下の部分に重ね表示するように構成されたスクリプト・システム154a-nのスクリプト例を以下に提供する：
2006101522.tif 000004
2006101522.tif 000005
2006101522.tif 000006
上記スクリプトによって操作されるイベントの例は以下の表1に記載される。
【００３８】
【表１】
2006101522.tif 000007
【００３９】
一実施形態で、MouseClick イベントはビデオ会議クライアントの認識できるイベントでないかもしれない。この実施形態では例えば別回線などの専有通信回線が参加者のシステムおよびビデオ会議サーバとの間に含まれ、イベントをビデオ会議制御手段158a-nに渡す。
【００４０】
前述の通り、ビデオ会議システムは外部関数インタフェースを用いてスクリプト例のframeWidth およびframeHeight 変数をビデオ会議制御手段に明らかにすることができる。これらの変数は参加者に送信される出力ビデオ・フレームの幅および高さであることが理解されよう。またconnectionList およびDisplayList もビデオ会議制御手段に明らかにされる。ConnectionListはビデオ会議システムに知られているすべての接続のリストであり、DisplayListはconnectionListの接続を含み、表示できるすべてのオブジェクトのリストである。DisplayList は表示できるオブジェクトが引き出される順序を指定する。ConnectionList およびDisplayList はオブジェクトのリストであり、各オブジェクトは、例えば参加者の接続の表示位置の設定や、DisplayListの先頭に対象を持ってくることにより描画の順番を変更するなど、特定の関数をクライアントにエキスポート（export）することが指摘されよう。Referring to the MouseClick イベントに言及すると、マウスのボタンが押された際のマウスの位置としてMouseX およびMouseY もエクスポートされる。
【００４１】
スクリプト例はさらに2つの関数、RecalcDisplay およびGetConnectionHit を定義する。RecalcDisplay は各参加者の接続を適当な場所に位置を変えるためにイベントの行動リストから呼び出される。GetConnectionHit はマウス位置の座標を取り、マウス座標を含む接続を返す（returns）。この接続はconnToMaximize 変数で返される。このMouseClick イベントの実施はクリックされた参加者を出力ビデオ・フレームの完全なサイズに最大化する。あるいは、参加者がすでに最大化されている場合、このイベントは表示を通常に復帰させる。
【００４２】
さらに図１に関し、一実施形態で、メディア転送サーバ130はクライアントにより構成可能な、会議参加者各々の縮尺版を含むビデオ・ストリームを提供する。メディア転送サーバ130内の参加者のイベント・ハンドラ142a-nが各参加者のステータス情報を維持し、その参加者のユーザ・インタフェースを構築するためにこの情報をメディア・ミキサ132に渡す責任がある。別の実施形態で、サーバ側のユーザ・インタフェースが参加者のビデオ／オーディオ・ストリームに埋め込まれることができる。図１に示されるアーキテクチャの詳細は2002年7月10日に出願され、「クライアント・モニタ別回線を使用した制御可能なコンテンツ配信を有する複数参加者の会議システム」と題する米国特許出願10/192,080号に見出される。図１はメディア転送サーバおよびクライアント・コンポーネントの典型的アーキテクチャを示すことが理解されよう。メディア転送サーバ130は別回線機能を含む任意の適当なアーキテクチャに基づくことができることが当業者には明らかであろう。さらに、クライアント・コンポーネントはビデオ会議セッションのビューを可能にする任意のクライアント・ソフトウェア構成を含むことができる。クライアント・ソフトウェア構成は商業的に入手可能なソフトウェア・パッケージ、つまりネットミーティング、からインターネットなどの分散ネットワークからダウンロードできる専売権付きソフトウェア構成まであり得る。
【００４３】
図２は本発明の一実施形態により、注釈管理システムの各モジュールの関係を示す簡略化された概要図である。図２におけるシステム・アーキテクチャのデザイン全体は図１に関連して説明されたビデオ会議システムのメディア転送サーバ130など、任意の適当なビデオ会議システムと通信できることが理解されよう。図２の注釈管理システムはメディア転送サーバ130を通して会議クライアント150と通信する。会議クライアント150は図１における参加者122a-122nとして構成されることができる。さらに、会議クライアントが複数のクライアントを表している場合、各クライアントは図３に関連して説明されるクライアント・アプリケーション・ソフトウェア構成を実行するように構成されることができる。注釈管理システムは会話中の参加者すべてにわたり注釈を同期化することが理解されよう。
【００４４】
図２の注釈管理システム134はメディア管理サーバ104を含む。メディア管理サーバ104はウェブ・サーバ・モジュール106、会議スケジュール・サービス・モジュール108、注釈サービス・モジュール110、および仮想ポインタ・サービス・モジュール112を含む。一実施形態で、注釈サービス・モジュール110は会議クライアントがビデオ会議セッション中に注釈データを足し、または以前に記録されたビデオ会議セッションの注釈データを見る機能を提供する。注釈管理システム134にはさらにメディア分析サーバ118、イベント・データベース114、および格納サーバ116が含まれる。メディア管理サーバ104はビデオ会議のデータを管理および編成し、ミーティングの参加者に配信するなど、ミーティングを管理し、編成する。さらにメディア管理サーバ104はメディアを管理しミーティングの参加者が格納サーバ182からメディア・データを検索することを可能にするデータベースを構築する。メディア管理サーバ104はさらにメディア再生および提示のためにメディア分析サーバ118および任意のモジュールから情報を検索する。メディア分析サーバ118はビデオ会議セッション中収録されたメディア・データの後処理を実施する。メディア分析サーバ118はさらに情報をメディアの提示および再生用に格納するために、詳細に後述するイベント・データベース114に情報を加え、これから情報を検索する。
【００４５】
格納サーバ116はビデオ会議セッション中に発生する、注釈データおよび仮想ポインタ・データを含むメディアの格納を担当する。例えば、ミーティング中になされたスケッチはすべて取り込まれ、ミーティング要約の一部として表示することができる。一実施形態で、ミーティング要約は注釈がミーティング中に起こる他のイベントの状況の中で見られることを可能にする。別の実施形態で、注釈データは任意の出力解像度のデバイスで表示できるようにベクター・フォーマットで格納サーバに格納される。
【００４６】
図１に関連して説明されたように、メディア転送サーバ130は参加者からのビデオ会議接続を扱い、多数の入力ビデオおよびオーディオ・ストリームを各参加者／クライアント向けに望ましいフォーマットで1つの出力ストリームにまとめる。ビデオ会議セッション中、メディア転送サーバ130はメディア管理サーバ104と通信し、参加者が接続または切断するかなどの詳細をメディア管理サーバに知らせる。
【００４７】
ウェブ・サーバ・モジュール106はビデオ会議セッションに参加し、またはセッションを見るために必要なソフトウェア・コードのダウンロードを可能にする。会議スケジュール・サービス・モジュール108はユーザがビデオ会議セッションを設定し、またはそれに加わることを可能にする。つまり、ビデオ会議セッションを設定し、またはそれに加わることを望むユーザはウェブ・サーバ・モジュールを通して提供されるハイパーテキスト・マークアップ言語（ＨＴＭＬ）型ページをダウンロードできるウェブ・ブラウザを通してこれを行なえる。一旦ユーザがビデオ会議セッションに加わると、例えばクライアントの機能に関わるソフトウェア・コードなど、ソフトウェア・コードをウェブ・サーバ106からダウンロードすることができ、その後クライアントはメディア転送サーバ130と通信し始める。会議スケジュール・サービス・モジュール108を通してメディア管理サーバ104は適当なメディア転送サーバに接続し、ビデオ会議セッションを可能にすることが理解されよう。別の実施形態で、ビデオ会議は格納されているため、ビデオ会議セッションが完了すると会議要約を作成することができる。会議要約はウェブ・サーバ106を通してアクセスすることができる。会議要約はユーザが会議を見るべきか、または会議のどの部分を見るか決めるのに役立てるためユーザに提示される会議の概略である。会議要約はいくらもの適当な方法で提示できることが当業者にはあきらかであろう。さらに、格納された注釈データおよび格納された仮想ポインタ・データは会議要約をより性格に表現するために会議要約に組み入れることができる。
【００４８】
メディア管理サーバ104はメディア分析サーバ118と通信する。一実施形態で、メディア管理サーバ104はメディアの再生および提示のためにメディア分析サーバ118および対応モジュールから情報を検索する。メディア分析サーバ118はイベント・データベース114および格納サーバ116と通信する。上述の通り、メディア分析サーバ118は会議中に収録されたメディアの後処理を行ない、メディアの提示および再生に使用する情報を構築するためにメディアを分析する。メディア分析サーバ118はさらにイベント・データベース114に注釈情報を加え、そこから情報を検索することができる。一実施形態で、注釈情報は格納されたビデオ会議データに索引およびマーカを挿入することにより特定され、それにより注釈情報に基づき格納されたビデオ会議データの再構成を可能にする。本明細書で使用される注釈情報は仮想ポインタ情報を含むことができる。仮想ポインタ情報はメディア管理サーバに伝達され、そこから各参加者が対応クライアント・ディスプレー内でマウスが動くのを見ることができるよう参加者に配信されることができる。注釈管理情報は仮想インクと呼べることが理解されよう。別の実施形態で、注釈情報は後述の通りイベント・データベース114に格納されるデータを含む。
【００４９】
図２における格納サーバ116はビデオ会議に関わるメディアを格納するように構成される。格納サーバ116はビデオ会議セッションに利用された任意の適当なメディアを格納する役割を果たす。一実施形態で、格納サーバ116はハード・ドライブ、磁気テープ、およびＤＶＤ−ＲＯＭ等々の記憶装置を含む。格納メディアへのアクセスはシステム内の他のコンポーネントにより格納サーバ116から検索できるメディアをアクセスするために定義された一組のアプリケーション・プログラミング・インタフェース（ＡＰＩ）を通して提供することができる。別の実施形態で、格納サーバ116はビデオ会議のユーザまたは参加者がメディアをアップロードするためのネットワーク接続を認める。メディアを格納サーバにアップロードする代用的な機構は、簡易な伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）のソケット接続、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ファイル・アップロード・プロトコル、簡易オブジェクト指向アクセス・プロトコル（ＳＯＡＰ／ＸＭＬ）、およびその他適当なネットワーク転送プロトコルを含む。図２のイベント・データベース114はビデオ会議セッション中に起こる注釈イベントを格納する。代表的な注釈イベントは、注釈開始点、注釈終了点、ページ中の注釈の消去、注釈データ、注釈開始および注釈終了に対応するユーザ情報、例えばメディアの種類などの注釈目標、目標識別子、および他の適当な注釈情報を含む。注釈管理システムに関する追加情報は2003年5月16に出願され、「注釈管理システム」と題する米国特許出願10/440,526号に見出すことができる。
【００５０】
図３は本発明の一実施形態により、ビデオ会議用のデータ・ストリームのミキシングを制御する方法操作を示すフローチャート図である。方法は操作300で開始し、ビデオ会議クライアントに配信するデータ・ストリーム内の表示オブジェクトの位置を制御するスクリプトの初期化が引き起こされる。代表的なスクリプトは前記に説明される。方法は次に操作302に進み、イベントが検出される。イベントはマウス・クリック、または上述もしくは表１に記載の他の適当なイベントを含むことができる。一実施形態で、イベントはクライアント上の編集エンジンにより可能となったグラフィカル・ユーザ・インタフェースを通して会議参加者により開始される。言うまでもなく、イベントはサーバに基づくイベントでも良い。方法は次に操作304に進み、イベントの検出に応じて表示オブジェクトが操作される。ここでスクリプトは表示出力をカスタマイズするためにビデオ・ストリームのミキシングを変更することができる。図１に関連して前述の通り、参加者が選択する表示レイアウトを提供するためにスクリプト・システムおよびメディア・ミキサはビデオ・オブジェクト・システムとやり取りをする。つまり、ビデオ・オブジェクト・システム内のビデオ・オブジェクトはスクリプトに従ってアクセスされ、操作される。メディア・ミキサは次にオーディオ／ビデオ・ストリームを構成し、スクリプト・システムの指示に従い拡大縮小またはコード化を行なう。まとめられたオーディオ／ビデオ・ストリームは次に対応クライアントに伝送される。
【００５１】
ビデオ会議で文書を共有する場合、接続されたクライアントがすべてこれらの文書を見られることが重要である。必ずしもすべてのクライアントが特定の著作権のあるフォーマットを見る機能を有していない。クライアントの能力不足の可能性を補足するために文書は共通の画像フォーマットに変換される。本明細書で使用される「共通画像フォーマット」とは広範囲のオペレーティング・システムおよびソフトウェア・パッケージにわたり標準として受け入れられる画像ファイル・フォーマットである。共通画像フォーマットに1つの例はJoint Photographic Expert Group（ＪＰＥＧ）フォーマットである。本明細書の使用において「共通画像フォーマット」および「ＪＰＥＧ」の語句は互換性がある。これは共通画像フォーマットがＪＰＥＧのみに限定されることでは決してないことが理解されよう。例えば、他の適当な共通画像フォーマットは画像交換フォーマット（ＧＩＦ），ビットマップ・フォーマット（ＢＭＰ），可搬ネットワーク・グラフィックス・フォーマット（ＰＮＧ），等々を含む。
【００５２】
図４は本発明の一実施形態により、共通画像フォーマットを使用して文書をアップロードし格納する基本ステップを示すフローチャート図である。方法は操作400で開始され、クライアントは文書のアップロードを始める。サーバがクライアントの1つから新文書を受信し始めると、サーバはこの文書に対し固有の識別子を割り当てる。サーバはさらに文書に含まれるページ数を判断しようと試みる。一旦この2つの情報が決定されると、操作402において会議のクライアントすべてに、新文書がサーバに加えられたことを通知する。通知は文書の固有の識別子およびページ数を含むことが理解されよう。一実施形態で、通知はさらにファイル名、ファイル・サイズ、等々随意の情報を含むことができる。アップロード操作は操作404で完了する。
【００５３】
引き続き図４において、一旦サーバが文書ファイル全体を受信すると、ファイルは操作406でＪＰＥＧフォーマットに変換される。文書はもちろん上述の通り他の共通画像フォーマットに変換することができる。複数ページの文書の変換は一実施形態において順次行なわれる。つまり、第1ページがＪＰＥＧに変換され、次に第2ページと、以下同様である。しかし文書ＪＰＥＧに変換されていないページを閲覧する要求はいつでも受けることができる。サーバが文書を全部保有している場合、要求されたページは直ちに、つまり順序通りではなく、ＪＰＥＧに変換することができる。文書の変換および格納が成功すると、操作408で文書が準備されたことをクライアントすべてに通知する。通知は文書の固有の識別子、ページ数、および元の文書ファイルおよび変換されたページのＵＲＬを含む。クライアントは文書およびその変換ページの閲覧を要求する際この情報の一部または全部用いる。
【００５４】
図５は本発明の一実施形態により、文書のアップロード中文書の閲覧要求の処理方法を示すフローチャート図である。図５における操作420および422は図４における操作400および402に各々同一である。しかし、図５においてサーバは操作424で、文書全体をアップロードする前に文書の1ページの閲覧要求を受信する。この時点でサーバはアップロードを行なっているクライアントに該当ページを変換し、できた画像をアップロードするよう操作426で要求する。決定操作428において、クライアントがこの変換を行なうことができるか判断される。クライアントが変換できない場合、サーバからの要求は無視され、方法は操作438に進み、サーバが文書を共通画像フォーマットに変換し文書を共通画像フォーマットで格納する。文書の変換および格納が成功すると、操作440で文書が準備されたことをすべてのクライアントに通知する。方法は操作442に進み、サーバは待ち行列にある、つまり文書変換中に蓄積された文書閲覧要求に応じる。
【００５５】
決定操作428でクライアントが変換を行なえると判断された場合、方法は操作430に進み、クライアントは文書のアップロードを一時停止し、ページを変換する。操作432においてクライアントは変換されたページをアップロードする。方法は次に操作434に進み、サーバはアップロードされたページを格納し、クライアントに通知する。操作436において、クライアントは元の文書のアップロードを続ける。方法は次に操作438に進み、上述の通り進行する。図４および５に関連して説明された方法はネットワーク帯域幅の保存を可能にする。これは新文書がサーバにアップロードされる度に新文書のダウンロードをクライアントに強制しないことにより達成される。その代わりにクライアントは新文書およびその場所について通知される。クライアントに対し文書の1ページを閲覧する要求がサーバから受信されるとクライアントはこのページをダウンロードの上キャッシュする。
【００５６】
加えて、特定のクライアント構成により文書アップロードの感覚速度を最適化することができる。例えば、アップロードするクライアントが文書のページを画像にする能力を有する場合、個別ページの画像を要求に応じ生成の上アップロードすることができる。これは文書全体をアップロードする時間／帯域幅の合計を増加させるが、会議参加者はアップロードが行なわれている最中にページ変更に対しより速い応答を体験できる。
【００５７】
要約すると、上記に説明された発明はビデオ会議セッションのメディア・ミキサ内で参加者が入力ストリームのミキシングを制御できるように機能を向上したクライアント−サーバ式ビデオ会議システムを提供する。ビデオ会議サーバは別回線でビデオ会議サーバと通信するクライアント・モニタによりミーティング中起こるイベントを探知するように構成される。従ってこれらのイベントはビデオ・レイアウトを変更し、参加者が自身のレイアウトを選択できるようにするスクリプトを引き起こすために使用できる。加えて、会議セッション中に共有するビデオ会議文書を共通フォーマットに変換する機構も提供される。
【００５８】
上記実施形態を念頭に、本発明はコンピュータ・システムに格納されるデータに係わる各種のコンピュータ実行操作を用いることができることが理解されよう。これらの操作は物理量を物理的に操作する必要があるものである。必ずしもではないが、通常これらの量は格納、移転、組み合わせ、比較、およびその他の方法で操作される電気または磁気信号の形を取る。さらに実行される操作はしばしば生成、特定、判断、または比較などの用語で言及されるものである。
【００５９】
発明はまたコンピュータ読み取り可能な媒体上のコンピュータ読み取り可能なコードとして実施することができる。コンピュータ読み取り可能な媒体とは後にコンピュータ・システムにより読み取れるデータを格納することができるデータ記憶装置である。コンピュータ読み取り可能な媒体はコンピュータ・コードが包含される電磁搬送波も含む。コンピュータ読み取り可能な媒体の例にはハード・ドライブ、ネットワーク接続記憶装置（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびにその他光学的および非光学的データ記憶装置を含む。またコンピュータ読み取り可能な媒体はコンピュータ読み取り可能なコードが分散された形で格納され実行されるようにネットワーク結合のコンピュータ・システム上に分散されても良い。
【００６０】
前記の発明は明瞭な理解を図るためかなり詳細に説明されたが、添付請求項の範囲内で一定の変更および修正を実施することは可能であることは明らかであろう。従って、本実施形態は例示とみなされるもので限定するものではなく、発明はここで叙述された詳細に限定されるものではなく、添付請求項の範囲および同等内容において修正できるものである。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態により、クライアント・モニタ別回線を使用し、ビデオ会議制御手段を有する複数参加者の会議システム概要図。
【図２】本発明の一実施形態により、注釈管理システムの各モジュールの関係を示す簡略化された概要図。
【図３】本発明の一実施形態により、ビデオ会議用のデータ・ストリームのミキシングを制御する方法操作を示すフローチャート図。
【図４】本発明の一実施形態により、共通画像フォーマットを使用して文書をアップロードし格納する基本ステップを示すフローチャート図。
【図５】本発明の一実施形態により、文書のアップロード中文書の閲覧要求の処理方法を示すフローチャート図。
【符号の説明】
【００６２】
122a  参加者Ａ
144a  会議クライアント（Ａ）
152a  編集エンジン
146a  クライアント・モニタ（Ａ）
122n  参加者Ｎ
144n  会議クライアント（Ｎ）
152n  編集エンジン
146n  クライアント・モニタ（Ｎ）
124a  会議回線（Ｈ．３２３．ＳＩＰ，等々）
126a  別回線
124n  会議回線（Ｈ．３２３．ＳＩＰ，等々）
126n  別回線
130  メディア・サーバ
132  メディア・ミキサ
138a  会議接続（Ａ）
140a  別回線コントローラ（Ａ）
142a  イベント・ハンドラ（Ａ）
154a  スクリプト・システム
156a  ビデオ・オブジェクト・システム
138n  会議接続（Ｎ）
140n  別回線コントローラ（Ｎ）
142n  イベント・ハンドラ（Ｎ）
154n  スクリプト・システム
154n  ビデオ・オブジェクト・システム
134  注釈管理システム
150  会議クライアント
130  メディア転送サーバ
104  メディア管理サーバ
106  ウェブ・サーバ
108  会議スケジュール・サーバ
110  注釈サービス
112  仮想ポインタ・サービス
114  イベント・データベース
116  格納サーバ
118  メディア分析サーバ
【図１】
2006101522.tif 000008
【図２】
2006101522.tif 000009
【図３】
2006101522.tif 000010
【図４】
2006101522.tif 000011
【図５】
2006101522.tif 000012