(57)【要約】【課題】遠隔会議などの映像ストリームを容易にナビゲートする。【解決手段】遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する。【選択図】図２
2015076875.tif 000002
【特許請求の範囲】
【請求項１】
遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
を備えたシステム。
【請求項２】
前記制御モジュールは、前記ユーザからの指令として、前記複数の意味的に重大なイベントの中から１つのイベントを選択する指令を受け付け、選択された前記イベントに関連付けられた前記キーフレームを前記表示装置に表示する、請求項１に記載のシステム。
【請求項３】
前記格納モジュールは、キーフレームとして、各々の前記意味的に重大なイベントに対応する少なくとも１つのフレームを前記映像ストリームから抽出し、前記意味的に重大なイベントに関連付けて格納する、請求項１または２に記載のシステム。
【請求項４】
ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する送信モジュールを更に備える請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記送信モジュールは、第２の映像ストリームを生成して前記遠隔のコンピュータに対し送信すると共に、当該第２の映像ストリームを送信している間にユーザからの指令に応じて前記キーフレームが表示された時には、当該第２の映像ストリームに代えて、ユーザからの指令に応じて前記キーフレームが表示されていることを示す情報を送信する、請求項４に記載のシステム。
【請求項６】
前記映像ストリームは前記遠隔のコンピュータにおける画面の映像のストリームであって、
前記意味的に重大なイベントは、前記遠隔のコンピュータにおけるテキスト操作のイベント、テキストのスクロールのイベント、コンピュータのデスクトップ中のイベント、前記映像ストリームが前記画面から前記遠隔のコンピュータのユーザの顔に切り替わるイベント、のうちの何れか１つである、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記解析モジュールは、受信した前記映像ストリームを画像解析することによって前記複数の意味的に重大なイベントを特定する、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記解析モジュールは、意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する、請求項１〜６のいずれか１項に記載のシステム。
【請求項９】
ユーザからの選択によってカメラからの供給またはデスクトップの活動を第２の映像ストリームとして生成するキャプチャーモジュールと、
予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第２の映像ストリームを前記遠隔のコンピュータに送信する、送信モジュールと、
を更に備える請求項１〜３のいずれか１項に記載のシステム。
【請求項１０】
当該システムは、前記遠隔のコンピュータのユーザと遠隔会議を行うためのシステムである、請求項１〜９のいずれか１項に記載のシステム。
【請求項１１】
前記映像ストリームは音声トラックを含み、
前記受信モジュールは、前記キーフレームが表示された場合であっても前記音声トラックを再生し続ける、請求項１〜１０のいずれか１項に記載のシステム。
【請求項１２】
コンピュータを、
遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
受信した前記映像ストリームから複数の意味的に重大なイベントを特定する特定モジュールと、
各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
として機能させるためのプログラム。
【請求項１３】
コンピュータのプロセッサが、
遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、
受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、
各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、
ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像ストリームをナビゲートするシステム、方法及びプログラムに関し、詳細には、遠隔会議などの映像ストリームをナビゲートするシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
従来のコミュニケーション・ツール、例えばテキスト・チャットなどでは、テキストをタイプする画面をスクロールするだけで、過去のコミュニケーションの履歴を簡便に振り返ることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８１１７５４４号明細書
【特許文献２】米国特許出願公開第２００９／０１１３２７８号
【非特許文献】
【０００４】
【非特許文献１】アドコック（Adcock）ら、「トークマイナー、レクチャー・ウェブキャスト・サーチ・エンジン（TalkMiner, A Lecture Webcast Search Engine）、ＡＣＭマルチメディア予稿集（Proc. ACM Multimedia）、２０１０年１０月２５日
【非特許文献２】ドゥヌ（Laurent）ら、「スクリーンベース・ビデオのリアルタイム直接操作（Real-time Direct Manipulation of Screen-based Videos）、ＩＵＩ予稿集（Proc. IUI）、２０１３年３月１９日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ビデオ会議システムなどの映像ストリームを用いるコミュニケーション・ツールにおいては、過去のコミュニケーションの履歴を、そのコミュニケーションの進行中に簡単に振り返ることはできなかった。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、システムであって、遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、を備える。
【０００７】
本発明の第２の態様は、第１の態様のシステムであって、前記制御モジュールは、前記ユーザからの指令として、前記複数の意味的に重大なイベントの中から１つのイベントを選択する指令を受け付け、選択された前記イベントに関連付けられた前記キーフレームを前記表示装置に表示する。
【０００８】
本発明の第３の態様は、第１または第２の態様のシステムであって、前記格納モジュールは、キーフレームとして、各々の前記意味的に重大なイベントに対応する少なくとも1つのフレームを前記映像ストリームから抽出し、前記意味的に重大なイベントに関連付けて格納する。
【０００９】
本発明の第４の態様は、第１〜第３のいずれかの態様のシステムであって、ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する送信モジュールを更に備える。
【００１０】
本発明の第５の態様は、第４の態様のシステムであって、前記送信モジュールは、第２の映像ストリームを生成して前記遠隔のコンピュータに対し送信すると共に、当該第２の映像ストリームを送信している間にユーザからの指令に応じて前記キーフレームが表示された時には、当該第２の映像ストリームに代えて、ユーザからの指令に応じて前記キーフレームが表示されていることを示す情報を送信する。
【００１１】
本発明の第６の態様は、第１〜第５のいずれかの態様のシステムであって、前記映像ストリームは前記遠隔のコンピュータにおける画面の映像のストリームであって、前記意味的に重大なイベントは、前記遠隔のコンピュータにおけるテキスト操作のイベント、テキストのスクロールのイベント、コンピュータのデスクトップ中のイベント、前記映像ストリームが前記画面から前記遠隔のコンピュータのユーザの顔に切り替わるイベント、のうちの何れか１つである。
【００１２】
本発明の第７の態様は、第１〜第６のいずれかの態様のシステムであって、前記特定モジュールは、受信した前記映像ストリームを画像解析することによって前記複数の意味的に重大なイベントを特定する。
【００１３】
本発明の第８の態様は、第１〜第６のいずれかの態様のシステムであって、前記特定モジュールは、意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する。
【００１４】
本発明の第９の態様は、第１〜第３のいずれかの態様のシステムであって、ユーザからの選択によってカメラからの供給またはデスクトップの活動を第２の映像ストリームとして生成するキャプチャーモジュールと、予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第２の映像ストリームを前記遠隔のコンピュータに送信する、送信モジュール、とを更に備える。
【００１５】
本発明の第１０の態様は、第１〜第９のいずれかの態様のシステムであって、当該システムは、前記遠隔のコンピュータのユーザと遠隔会議を行うためのシステムである。
【００１６】
本発明の第１１の態様は、第１〜第１０のいずれかの態様のシステムであって、前記映像ストリームは音声トラックを含み、前記受信モジュールは、前記キーフレームが表示された場合であっても前記音声トラックを再生し続ける。
【００１７】
本発明の第１２の態様は、プログラムであって、コンピュータを、遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、受信した前記映像ストリームから複数の意味的に重大なイベントを特定する特定モジュールと、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、として機能させる。
【００１８】
本発明の第１３の態様は、方法であって、コンピュータのプロセッサが、遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する。
【発明の効果】
【００１９】
本発明の構成を備えない場合と比較して、ユーザが効率よく映像ストリームをナビゲートすることができる。
【図面の簡単な説明】
【００２０】
【図１】各参加者が異なる種類のコンテンツを共有することができる、例示的なビデオ会議のシナリオを示す。
【図２】複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするための計算処理システムの例示的な実施例を示す。
【図３】複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするためのデスクトップ計算処理システムの例示的な他の実施例を示す。
【図４】デスクトップ計算処理システムにおけるメモリユニットの他の例示的な実施例を示す。デスクトップ計算処理システムにおいて、ビデオ会議アプリケーションは、ストリーム解析モジュールによって実行されたビデオフレーム解析結果（ビデオストリーム・メタ・データ）を他の計算処理システムに送信する。
【図５】モバイル型計算処理システムにおけるメモリユニットの他の例示的な実施例を示す。モバイル型計算処理システムにおいて、ビデオ会議アプリケーションは、ビデオフレーム解析結果を他の計算処理システムから受信する。
【図６】ビデオ会議ストリームのフレームを分類する処理の例示的な実施例を示す。
【図７】ビデオ会議アプリケーションのユーザ・インターフェイス生成モジュールによって生成されるグラフィカル・ユーザ・インターフェイスの例示的な実施例を示す。
【図８】ビデオ会議アプリケーションのグラフィカル・ユーザ・インターフェイス生成モジュールによって生成されるグラフィカル・ユーザ・インターフェイスの他の例示的な実施例を示す。
【図９】複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートする方法の実施例における、例示的な処理シーケンスを示す。
【発明を実施するための形態】
【００２１】
以下の詳細な記述において、添付の図面を参照する。添付の図面において、同様の機能を有する構成要素は同様の参照符号を付されている。添付の図面は例示のためのものであり、限定を意図するものではない。特定の実施例及び実装は本発明の原理と矛盾しない。これらの実装は当業者が実施できる程度に十分詳細に記述される。その他の実装が使用されてもよく、様々な構成要素の構造の変更及び／もしくは置き換えが本発明の範囲及び思想から逸脱することなく可能であることは理解されるだろう。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、記述される本発明の様々な実施例は、汎用計算機上で稼働するソフトウェアの形態によっても、専用ハードウェアの形態によっても、ソフトウェア及びハードウェアの組み合わせによっても、実装可能である。
【００２２】
「関連技術の説明」
当業者によく知られているように、新しいリアルタイムのビデオ会議システムを用いると、二人以上のユーザが、コンピュータネットワークを介して送られる映像及び音声のストリームを用いて、映像／音声の会議に参加することができる。そのような会議の進行中は、それぞれの会議参加者のコンピュータスクリーンは、それぞれが各会議参加者からのライブストリームを表示するための、会議参加者の総数と同じ数のライブストリームを表示する複数の部分に分割される。従来のシステムによれば、会議参加者は自身の画面を瞬間的に切り替え、例えば、製品のデモ、ウェブサイト、一組のスライド、または、ＰＤＦならびにテキストエディタファイルなどのドキュメントを表示することができる。
【００２３】
図１に示すように、ある例示的なシナリオでは、ある会議参加者は彼女の顔を画面１０１に表示し、彼女のワード・ドキュメントを画面１０２において共有し、画面１０３において彼女の顔に戻り、そしてその後に、画面１０４において、エディタにおいてコードを入力する画面を表示することができる。チャット・ウィンドウをスクロールし、記録を遡って以前の部分を参照できるような、テキストに基づくチャットシステムとは異なり、ビデオ会議の参加者はライブの映像フレームだけしか見ることができない。ライブの会議セッションを記録するためのストリームレコーダを使っても、ストリームを後で見るために記録することができるだけであり、ストリームをリアルタイムでナビゲートすることはできない。したがって、残念ながら、既存の会議技術を用いても、会議参加者は、ライブ映像ストリーム中の以前の映像フレームを振り返ることはできない。会議参加者は、その瞬間に参加者が共有している映像を見ることができるだけである。これは、利便性及び快適性を低下させてしまう。
【００２４】
このように、既存のビデオ会議システムは、映像ストリームをナビゲートする機能を欠き、不十分であった。したがって、各参加者によって共有される会議ストリームにおける、意味的に重大な箇所へ効率的に遡ることができる、新しい、改善されたシステム及び方法が必要とされる。
【００２５】
ビデオチャットツールを用いると、ユーザは彼ら自身の映像をストリーム送信することができるが、最近は、ＳｋｙｐｅやＧｏｏｇｌｅ  Ｈａｎｇｏｕｔなどの多くのシステムを用いて、彼らの画面を共有することもできる。これにより、彼らのコンピュータスクリーンに表示されている、ドキュメント、ウェブサイト、あるいは、具体的なアプリケーションを素早く共有し、例えばコードの編集作業を実演することができる。ここで述べる実施例は、ＳｋｙｐｅやＧｏｏｇｌｅ  Ｈａｎｇｏｕｔなどの手軽な解決方法を用いたビデオミーティングを盛んに行うようになった何百万ものユーザ（毎週や隔週に行う発明者自身を含む）に対応したものである。ドキュメントやスライドを共有することは思いつきで行われ、ツールに備わった画面共有機能を用いてユーザによって自発的に行われる。例えば、テキストのドキュメントまたは一組のスライドをある参加者が示す必要があるとき、彼女は、単に、デスクトップ上にそれを表示し、そして、その画面の共有をすることで全ての参加者にその画面が見えるようになる。このことは、ユーザが彼ら自身の映像のほかに別の映像をストリーム送信できるような、ＷｅｂＥｘのような伝統的なビデオ会議システムとは対照的である。
【００２６】
本発明の概念のある側面によれば、会議参加者が他の参加者によって共有されるストリームにおける意味的に重大な部分に効率的に遡ることができるシステム及び方法を提供する。当業者には明らかであるように、会議参加者はリアルタイムのコミュニケーションに参加しているため、標準的なビデオ・タイムラインを動かす必要に迫られずに、以前に表示されたコンテンツのような、過去のイベントに素早く遡ることができるツールを提供することが重要である。
【００２７】
そのため、ここで述べる１または複数の実施例によれば、会議システムは、ビデオ会議ストリームの中から意味的に重大なイベントを自動的に探し出すことができる。意味的に重大なイベントの種類としては、ページのスクロール、ウィンドウの移動、テキストのタイプ入力、顔の表示、などを含むが、これらに限定されない。当業者には明らかであるが、発明のコンセプトは、ここで述べた種類のイベントや他のあらゆる種類のイベントに限定されるものではない。会議システムにおける１または複数のモジュールを適切に設定することで、他の追加的な種類のイベントを取り扱うこともできる。ここで述べる１または複数の実施例によって提供される機能を用いることで、ビデオ会議の参加者は、既に示したドキュメントなどの、ビデオ会議ストリームにおける以前の部分に簡単に遡ることができる。ある実施例において、ストリームにおける上述の以前の部分に戻っている間も、会議のライブ音声を聞き続けることができる。ある実施例において、各会議参加者の行動を他の参加者に伝えることのできる、新しいユーザ・インターフェイスが提供され、これによって、各参加者の認知を高め、会議の進行を円滑にすることができる。
【００２８】
図２は、複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートする計算処理システム２００の例示的な実施例を示し、ここで、計算処理システム２００は、スマートフォン、ＰＤＡ（personal digital assistant)、もしくは、タブレット・コンピュータなどの携帯型計算処理装置の形態の制限内で実装されてもよい。代替的な実施例において、計算処理システム２００は、ラップトップもしくはノートブック・コンピュータに基づいて実装されてもよい。代替的な実施例において、計算処理システム２００は、埋め込みシステムであってよく、電子ブック（あるいは、ｅブック）・リーダなどの所定の専用機能を有する電子装置に組み込まれていてもよい。代替的な実施例において、計算処理システム２００は、当業者によく知られている拡張現実ヘッド−マウント・ディスプレイ（ＨＭＤ）・システムの一部として実装されてもよい。
【００２９】
計算処理システム２００はデータ・バス２０４あるいは計算処理システム２００の様々なハードウェアの間で情報を伝達するためのその他の相互接続機構もしくは通信機構を含むことができる。中央処理ユニット（ＣＰＵあるいは単にプロセッサ）２０１はデータ・バス２０４に接続され、情報を処理し、その他の計算処理タスク及び制御タスクを実行する。計算処理システム２００は、ランダム・アクセス・メモリ（ＲＡＭ）もしくはその他の動的記憶装置などのメモリ２１２を含む。メモリ２１２は、データ・バス２０４に接続され、様々な情報及びプロセッサ２０１によって実行される指示を記憶する。メモリ２１２は、磁気ディスク、光ディスク、半導体フラッシュ・メモリ・デバイス、もしくは、その他の不揮発性記憶デバイスなどの永久記憶装置を含んでいてもよい。
【００３０】
一つもしくは複数の実施例において、プロセッサ２０１によって指示を実行する間、一時的な変数もしくはその他の中間的な情報を記憶するために、メモリ２１２が使用されてもよい。計算処理システム２００は、さらに、リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）２０２もしくはその他の半導体記憶装置を含んでもよいが、含むか否かは任意である。リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）２０２もしくはその他の半導体記憶装置は、データ・バス２０４に接続され、計算処理システム２００の操作に必要なファームウェア、ＢＩＯＳ(basic input-output system)、計算処理システムの様々な構成パラメータなどの静的情報及びプロセッサ２０１への指示を記憶する。
【００３１】
一つもしくは複数の実施例において、計算処理システム２００は、表示装置２０９を備えていてもよく、表示装置２０９は、データ・バス２０４に接続され、計算処理システム２００のユーザに様々な情報を表示する。代替的な実施例において、表示装置２０９は、（図示しない）グラフィック・コントローラ及び／もしくはグラフィック・プロセッサと関連付けられていてもよい。表示装置２０９は、例えば、当業者にはよく知られているＴＦＴ(thin-film transistor)技術もしくは有機ＬＥＤ(organic light emitting diode)技術を用いたＬＣＤ(liquid crystal display)として実装されていてもよい。異なる実施例において、表示装置２０９は、計算処理システム２００のその他の構成要素と同じ一般的な筐体に含まれていてもよい。代替的な実施例において、表示装置２０９はそのような筐体の外側に配置されていてもよい。
【００３２】
一つもしくは複数の実施例において、表示装置２０９は、ユーザが装着している眼鏡のような様々なオブジェクトに情報を投影するプロジェクタもしくはミニ−プロジェクタの形態で実装されていてもよい。一つもしくは複数の実施例において、表示装置２０９はユーザの頭部に装着されてもよい。この場合、表示装置２０９は、（図示しない）装着に適したハードウェアを備えていてもよい。
【００３３】
一つもしくは複数の実施例において、計算処理システム２００はデータ・バス２０４に接続されている音声再生装置２２５をさらに備えていてもよい。音声再生装置２２５は、ＭＰＥＧ−３ファイルなどの様々な音声ファイルを再生し、ＭＰＥＧ−４ファイルのような様々なビデオ・ファイルの音声トラックを再生することができる。ＭＰＥＧ−３ファイル、ＭＰＥＧ−４ファイルなどは当業者にはよく知られている。この場合、計算処理システム２００は、（図示しない）波形プロセッサ（すなわち、音声プロセッサ）もしくは同様の装置を備えていてもよい。ここで述べる具体的な実施例において、音声再生装置２２５は、ビデオ会議のライブ音声ストリームをユーザに対して再生するように設定されてもよい。
【００３４】
一つもしくは複数の実施例において、計算処理システム２００は、ビデオ会議参加者のタッチによる命令を受信するタッチスクリーン・インターフェイス２１０、ビデオ会議参加者及び／又は様々なオブジェクトの静止画像及びビデオを取得するカメラ２１１、キーボード２０６のような、一つもしくは複数の入力装置を備えていてもよい。これらの入力装置の全てはデータ・バス２０４に接続され、画像及びビデオ、ユーザが選択した命令を含む情報をプロセッサ２０１に伝達する。しかし、伝達される情報は画像及びビデオ、ユーザが選択した命令に限定されるものではない。代替的な実施例では、入力装置には、（図示しない）ユーザの目の動きを追跡するシステムが含まれていてもよい。このシステムは、ユーザによって選択された命令を計算処理システム２００に示すために使用することができる。
【００３５】
１又は複数の実施例において、計算処理システム２００は、音声記録デバイス２０３を更に備えてよく、これにより、ビデオ会議参加者の音声などの音声信号を記録し、更に選択的に、記録された音声信号をテキスト表現に変換してもよく、このためには例えば当業者によく知られたアルゴリズムが用いられてよい。
【００３６】
一つもしくは複数の実施例において、計算処理システム２００は、データ・バス２０４に接続されているネットワーク・インターフェイス２０５などの通信インターフェイスをさらに備えていてもよい。ネットワーク・インターフェイス２０５は、ＷｉＦｉアダプタ２０７及びＧＳＭ（登録商標）／ＣＤＭＡ（携帯電話ネットワーク）アダプタ２０８の少なくとも一方を用いて、計算処理システム２００とインターネット２２４との間での通信を確立することができる。ネットワーク・インターフェイス２０５は、計算処理システム２００とインターネット２２４との間で、双方向データ通信を提供してもよい。ＷｉＦｉアダプタ２０７は、当業者にはよく知られている８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及び／もしくは８０２．１１ｎ、Ｂｌｕｅｔｏｏｔｈ（登録商標）プロトコルに従って動作することができる。例示的な実装において、ＷｉＦｉアダプタ２０７及びＧＳＭ／ＣＤＭＡアダプタ２０８は、様々な種類の情報を示すデジタル・データ・ストリームを搬送する電気信号もしくは電磁信号を送受信する。
【００３７】
一つもしくは複数の実施例において、一般的に、インターネット２２４は、一つもしくは複数のサブ−ネットワークを介して、その他のネットワーク資源へのデータ通信を提供する。したがって、計算処理システム２００は、遠隔メディア・サーバ、ウェブ・サーバ、その他のコンテンツ・サービス、その他のネットワーク・データ・ストレージ資源などの、インターネット２２４のいずれかの位置に置かれている様々なネットワーク資源にアクセスすることができる。一つもしくは複数の実施例において、計算処理システム２００はメッセージ、メディア、及び、アプリケーション・プログラム・コードを含むその他のデータを、ネットワーク・インターフェイス２０５によって、インターネット２２４を含む様々なネットワークを介して、送受信する。例示的なインターネットにおいて、計算処理システム２００がネットワーク・クライアントとして動作する場合、計算処理システム２００上で稼働しているアプリケーション・プログラムのコードもしくはデータを計算処理システム２００は要求することができる。同様に、計算処理システム２００は、その他のネットワーク資源へ様々なデータもしくは計算処理コードを送信することができる。
【００３８】
１又は複数の実施例において、計算処理システム２００は、ネットワーク・インターフェイス２０５を用いて、インターネット２２４を介して、他のビデオ会議参加者の計算処理システムにアクセスし、当該他のビデオ参加者との間で、ビデオ会議ストリームの送信及び受信をそれぞれ行ってもよい。
【００３９】
一つもしくは複数の実施例において、ここで記述される機能は、メモリ２１２に含まれる一つもしくは複数の指示の一つもしくは複数のシーケンスを実行するプロセッサ２０１に応じて、計算処理システム２００によって実装される。指示は、他のコンピュータ読取可能媒体からメモリ２１２に読み込まれてもよい。メモリ２１２に含まれている指示のシーケンスを実行することによって、ここで記述されている様々な処理のステップがプロセッサ２０１によって実行される。代替的な実施例において、本発明の実施例を実装するために、ソフトウェアの指示に代えて、もしくは、ソフトウェアの指示と組み合わせて、ハードウェアによって実現されている回路が使用されてもよい。すなわち、本発明の実施例は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されるものではない。
【００４０】
ここで使用される用語「コンピュータ読取可能媒体」は、プロセッサ２０１へ実行するための指示を提供する際に関与する任意の媒体であってよい。コンピュータ読取可能媒体は、機械読取可能媒体の単なる一例であり、ここで記述される方法及び／もしくは技術の何れかを実装するための指示を搬送することができる。このような媒体は、不揮発媒体、揮発媒体などを含むが、これらに限定されない、多くの形態を採ることができる。
【００４１】
非一時コンピュータ読取可能媒体の一般的な形態は、例えば、フロッピー（登録商標）・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、もしくは、任意のその他の磁気媒体、ＣＤ−ＲＯＭ、任意のその他の光媒体、パンチカード、紙テープ、孔パターンを有する任意のその他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュ・ドライブ、メモリ・カード、任意のその他のメモリ・チップ、もしくはカートリッジ、もしくは、コンピュータがそこから読み取ることができる任意のその他の媒体を含む。コンピュータ読取可能媒体の様々な形態は、プロセッサ２０１への、一つもしくは複数の実行する指示の一つもしくは複数のシーケンスの搬送に関連してもよい。例えば、指示は、遠隔コンピュータから磁気ディスクにまず搬送されてもよい。代替的に、遠隔コンピュータは、遠隔コンピュータのダイナミック・メモリに指示をロードし、インターネット２２４によって指示を送信してもよい。詳細には、コンピュータの指示は、当業者にはよく知られている様々なネットワーク・データ通信プロトコルを用いて、インターネット２２４を介して、遠隔コンピュータから計算処理システム２００のメモリ２１２へ、ダウンロードされてもよい。
【００４２】
一つもしくは複数の実施例において、計算処理システム２００のメモリ２１２は、以下のソフトウェア・プログラム、アプリケーション、もしくは、モジュールのいずれかを記憶してもよい。
【００４３】
１．オペレーティング・システム（ＯＳ）２１３。オペレーティング・システム（ＯＳ）２１３は、基本システム・サービスを実装し、計算処理システム２００の様々なハードウェア構成要素を管理する携帯型装置用オペレーティング・システムであってもよい。実施例のオペレーティング・システム２１３は、当業者には全てがよく知られているＡｎｄｒｏｉｄ、ｉＯＳ、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ、Ｌｉｎｕｘ（登録商標）、その他の現在知られている、もしくは、今後開発されるオペレーティング・システムであってよいが、これらに限定されるものではない。
【００４４】
２．モバイル・アプリケーション２１４は、例えば、計算処理システム２００のプロセッサ２０１によって実行される一連のソフトウェアを含んでよく、これによって、計算処理システム２００は、予め定められたある処理、例えば、会議参加者のデジタル画像や映像を、カメラ２１１を用いて撮影するなどの処理や、表示装置２０９を用いてビデオ会議ストリームの１又は複数の表示する処理、及び／または、音声再生装置２２５を用いてビデオ会議のライブ音声を再生する処理を行ってよい。
【００４５】
３．データストレージ２２１は、例えば、本発明のビデオ会議アプリケーション２１５に関連して映像ストリームを格納するために用いられると共に、このビデオ会議ストリームに関連したさまざまなメタデータをストリーム・メタデータ・ストレージ２２２に格納してよい。この格納の処理は、本発明に係る格納モジュールの一例である、プロセッサ２０１が、ソフトウェアと協調することによって実現されてよい。１または複数の実施例において、このようなメタデータは、受信したビデオ会議ストリームにおいて特定された意味的に重大なイベントに関する情報を含んでよい。１または複数の実施例において、データストレージ２２１に格納された追加的な情報は、会議における音声のストリームをあらわすテキストの記録であってよい。加えて、計算処理システム２００がインターネットを介して受信した他のデータがデータストレージ２２１に更に格納されてもよい。
【００４６】
１または複数の実施例において、本発明のビデオ会議アプリケーション２１５は、計算処理システム２００の表示装置２０９に表示されたビデオ会議ストリーム中の簡単にナビゲートするためのグラフィカル・ユーザ・インターフェイスを生成する、グラフィカル・ユーザ・インターフェイス生成モジュール２２０を更に備えてよい。グラフィカル・ユーザ・インターフェイス生成モジュール２２０は、本発明に係る制御モジュールの一例である。これによって生成されたグラフィカル・ユーザ・インターフェイスは、他のユーザによって共有されたビデオ会議ストリームをユーザに対し表示してよい。また、受信したビデオ会議ストリーム中で特定された意味的に重大なイベントにもとづいて、共有されたビデオ会議ストリームの履歴をユーザに対し表示してもよい。また、受信したビデオ会議ストリームの中で特定され、かつ、共有の履歴に含まれる、意味的に重大なイベントに関連して、ユーザからナビゲートのための指令を受け付けてもよい。そしてそれに応じて、意味的に重大なイベントに関連する情報を表示してもよい。
【００４７】
本発明のビデオ会議アプリケーション２１５は、インターネット２２４を介して他のビデオ会議参加者の計算処理システムから、共有されたビデオ会議のストリームを受信する、映像ストリーム受信モジュール２１６と、受信したビデオ会議ストリームを解析してそのビデオ会議ストリーム中の意味的に重大なイベントを自動的に特定する映像ストリーム解析モジュール２１７と、他の会議参加者と共有するためにユーザのビデオ会議ストリームを生成する映像ストリーム・キャプチャ・モジュール２１８と、ユーザから共有されたビデオ会議ストリームを、インターネット２２４を介して他のビデオ会議参加者によって用いられる計算処理システムに対し送信する映像ストリーム送信モジュール２１９と、を有してよい。１または複数の実施例において、映像ストリーム解析モジュール２１７は、ビデオ会議ストリーム中のそれぞれの映像フレームに対し画像解析を行ってもよい。
【００４８】
図３は、複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするための計算処理デスクトップ・システム３００の例示的な実施例を示す。一または複数の実施例において、計算処理デスクトップ・システム３００は、データ・バス３０４を備えてよく、これは、図２において説明した計算処理システム２００のデータ・バス２０４と実質的に同様である。さまざまな実施例において、データ・バス３０４は、データ・バス２０４と同じまたは異なる相互接続及び／または通信のプロトコルを用いてよい。同じように、計算処理デスクトップ・システム３００の１または複数のプロセッサ（ＣＰＵ）３０１、ネットワークアダプタ３０５、ＥＰＲＯＭ／ファームウェア・ストレージ３０２、表示装置３０９、及び、キーボード３０６は、計算処理システム２００のプロセッサ２０１、ＥＰＲＯＭ／ファームウェア・ストレージ２０２、表示装置２０９及びキーボード２０６と、これらがデスクトップのプラットフォームに配置されることを除いて、それぞれ実質的に同様である。さまざまな実施例において、１または複数のプロセッサ３０１は、プロセッサ２０１と比べてはるかに大きな処理能力を有してよい。
【００４９】
キーボード３０６（入力装置）に加えて、計算処理デスクトップ・システム３００は、さらに、方向情報及び命令の選択をプロセッサ３０１に伝達し、表示装置３０９上のカーソルの動きを制御するマウス、トラックボール、カーソル方向キーなどのカーソル制御装置３１０を備えていていもよい。このカーソル制御装置は、一般に、第一の軸（例えば、ｘ）及び第二の軸（例えば、ｙ）の二軸に二つの自由度を有し、平面上の位置を特定することができる。
【００５０】
計算処理デスクトップ・システム３００のＬＡＮ／ＩＳＤＮアダプタ３０７は、例えば、（図示しない）インターネット・サービス・プロバイダのハードウェアを用いてインターネットとインターフェイス接続する、対応する種類の電話線とのデータ通信接続を提供するために、ＩＳＤＮ(Integrated Services Digital Network)カードもしくはモデムを用いて、実装されてもよい。他の例として、ＬＡＮ／ＩＳＤＮアダプタ３０７は、互換性のあるＬＡＮ及びインターネット２２４とのデータ通信接続を提供する、ＬＡＮ  ＮＩＣ(Local Area Network Interface Card)であってもよい。様々なメディア・ファイルを記憶するために、計算処理デスクトップ・システム３００は、ストレージ制御手段３０３によって、データ・バス３０４に接続されているメディア・ストレージ３０８を備えていてもよい。
【００５１】
１または複数の実施例において、計算処理デスクトップ・システム３００のメモリ３１２は、下記のソフトウェア・プログラム、アプリケーション、またはモジュールのうちのいずれかを格納してもよい。
【００５２】
１．デスクトップ・オペレーティング・システム（ＯＳ）３１３。デスクトップ・オペレーティング・システム３１３は、基本システム・サービスを実装し、計算処理デスクトップ・システム３００の様々なハードウェア構成要素を管理するためのオペレーティング・システムであってよい。実施例のデスクトップ・オペレーティング・システム３１３は、当業者には全てよく知られており、現在知られている、もしくは、今後開発されるオペレーティング・システムであってよい。
【００５３】
２．ネットワーク通信モジュール３１４。ネットワーク通信モジュール３１４は、ＬＡＮ／ＩＳＤＮアダプタ３０７と共に働くネットワーク・インターフェイス３０５を用いて、計算処理デスクトップ・システム３００と計算処理システム２００のような、インターネット２２４の様々なネットワーク・エンティティとの間のネットワーク接続を確立するために使用される、例えば、一つもしくは複数のネットワーク・プロトコル・スタックを含むことができる。
【００５４】
３．デスクトップ・アプリケーション３１５は、例えば、計算処理デスクトップ・システム３００の一つもしくは複数のプロセッサ３０１によって実行されるソフトウェア・アプリケーションのセットであってよく、所定の機能もしくはタスクを計算処理デスクトップ・システム３００に実行させる。一つもしくは複数の実施例において、デスクトップ・アプリケーション３１５は、後で詳しく述べる、本発明のビデオ会議アプリケーション３１６を有してよい。１または複数の実施例において、本発明のビデオ会議アプリケーション３１６は、計算処理デスクトップ・システム３００の表示装置３０９に表示されるビデオ会議ストリーム中の簡単にナビゲートするための本発明に係るグラフィカル・ユーザ・インターフェイスを生成する、グラフィカル・ユーザ・インターフェイス生成モジュール３２１を有してよい。
【００５５】
本発明のビデオ会議アプリケーション３１６は、更に、他のビデオ会議参加者の計算処理システムからインターネット２２４を介して、共有されたビデオ会議ストリームを受信する映像ストリーム受信モジュール３１７、受信したビデオ会議ストリームを改正して受信したビデオ会議ストリーム中の意味的に重大なイベントを自動的に特定する映像ストリーム解析モジュール３１８と、他の会議参加者と共有するビデオ会議ストリームを生成する映像ストリーム・キャプチャ・モジュール３１９と、他のビデオ会議参加者によって用いられる計算処理システムに対しインターネット２２４を介して、ユーザによって生成され共有される当該ビデオ会議ストリームを送信する映像ストリーム送信モジュール３２０と、を有する。
【００５６】
１または複数の実施例において、計算処理システム２００に配置されるビデオ会議アプリケーション２１５の動作と本発明にかかるビデオ会議アプリケーション３１６の上述のモジュールの動作とは実質的に同様であり、詳しくは後述する。
【００５７】
４．データストレージ３２２は、例えば、ビデオ会議アプリケーション３１６に関連して用いられる映像ストリームを格納するために用いられ、更に、上述のビデオ会議ストリームに関連するさまざまなメタデータを、メタデータストレージ３２３に格納してよい。１または複数の実施例において、そのようなメタデータは、受信したビデオ会議ストリーム中で特定される意味的に重大なイベントの情報を含んでよい。１または複数の実施例において、データストレージ３２２に格納される追加的な情報としては、会議の音声ストリームを表すテキスト記録のデータを含んでよい。これに加えて、計算処理デスクトップ・システム３００によってインターネット２２４を介して受信された他のデータがデータストレージ３２２に更に格納されてよい。
【００５８】
計算処理システム２００及び計算処理デスクトップ・システム３００に配置されたさまざまなソフトウェアモジュールの動作を説明する。ビデオ会議中のユーザの利便性を高めるため、映像ストリーム解析モジュール２１７（３１８）は、映像ストリームをリアルタイムに自動的に解析してある特定の種類のイベントを検出する。この情報は、会議参加者が素早く前に戻って、共有されたスライド、テキストの編集、スクロール、デスクトップ上の活動などのイベントを効率的に振り返ることができるようにするために用いられる。このように、１または複数の実施例において、計算処理システム２００及び計算処理デスクトップ・システム３００によって、ユーザは、ライブストリーム中に素早く戻って、スライドの共有、ウェブサイトが表示された時の画面、または、ある参加者がＰＤＦドキュメントを表示した時の画面のような、意味的に重大なセグメントに到達することができる。
【００５９】
「フレームや画面ショットにおけるコンテンツの種類のリアルタイムの検出」
１または複数の実施例において、ビデオ会議ストリーム受信モジュール２１６（３１７）によって受信されるビデオ会議ストリームは、当業者によく知られたＨＴＭＬ５規格などに従うビデオフレームフォーマットに従ったビデオフレームのような、一連のビデオフレームを有してよい。ビデオストリーム解析モジュール２１７（３１８）は、１または複数のアルゴリズムを用いて、ＨＴＭＬ５ビデオフレームのような流入してくるビデオフレームを、意味的に重大なコンテンツの種類の集合に分類する。典型的な画面共有セッションの中で発生するコンテンツの種類は、例えば、以下のとおりであるがこれに限定されない。
【００６０】
１．テキスト・コンテンツ。テキストを含むプレゼンテーションのスライド、テキスト（例えばＰＤＦビューワ、ワード・ドキュメント）、そして、テキスト編集（例えば、ライブでのコーディングのセッション）。ただし、これに限定されない。
２．スクロールされたコンテンツ（例えば、ウェブページのデモ、ワード、ＰＤＦビューワ）を含むテキストスクロール・コンテンツ。ただし、これに限定されない。
３．１または複数の人間の顔やビデオを含むフェイス・コンテンツ。ただし、これに限定されない。
４．コンピュータのデスクトップ及び／またはコンピュータのデスクトップの活動を含む、デスクトップ・コンテンツ。ただし、これに限定されない。
５．マウス及び／またはポインタの活動を含むマウス活動。ただし、これに限定されない。
【００６１】
注目すべきことに、１または複数の実施例において、単一の映像フレームに複数のフレーム（コンテンツ）の種類がラベル付けされてもよい。例えば、テキスト及びテキスト・スクロールのコンテンツ・ラベルが、テキストつきのドキュメントを含み、かつ、スクロールされているフレームに関連付けされてよい。他の例として、一連のフレームが「テキスト」としてラベル付けされると共に、テキストをユーザが操作している間に発生したマウスの動作を更に含んでよい。１または複数の実施例において、映像ストリーム解析モジュール２１７（３１８）は、マウスの活動があったとしてもテキストを示すフレームにより高い重要度を与えてもよい。なぜなら、マウスの活動の存在は、ユーザがテキスト中の文について何か強調をしたいと思っていると考えられるからである。さらに、ここで述べた技術は、ここで述べたＨＴＭＬ５の映像フレームだけに限定されず、他の如何なる適切なフォーマットに従う映像フレームであっても、ここで述べた映像フレームの解析に関連して同じように用いることができる。
【００６２】
１または複数の実施例において、映像フレームの分類に必要な計算は、映像フレーム解析モジュール２１７（３１８）を用いてリアルタイムに実行される。１または複数の実施例において、ビデオ会議アプリケーション２１５（３１６）は、計算処理システム２００及び／または計算処理デスクトップ・システム３００において実行されるウェブ・ブラウザに関連して設けられてよい。具体的には、ビデオ会議アプリケーション２１５（３１６）は、上述のウェブ・ブラウザに関連して動作するアドオン、または、プラグインとして実装されてよい。そしてその場合には、映像ストリーム解析モジュール２１７（３１８）も、計算処理システム２００及び／または計算処理デスクトップ・システム３００にインストールされた上述のウェブ・ブラウザに関連付けて設けられてよい。
【００６３】
１または複数の実施例において、計算処理システム２００が、会議の映像ストリームを独立して解析するのに充分な処理能力を保持していない場合には、計算処理システム２００は、映像フレームの解析結果を例えば図３に示す計算処理デスクトップ・システムなどの他の参加者の計算処理デバイスから受取ってよい。１または複数の実施例において、この処理は、例えば、当業者に良く知られた、ブラウザのようなアプリケーション間でリアルタイムの通信を可能にするＲＴＣＰｅｅｒＣｏｎｎｅｃｔｉｏｎメッセージチャネルを介して行われてもよい。１または複数の実施例において、例示的なＲＴＣＰｅｅｒＣｏｎｎｅｃｔｉｏｎメッセージチャネルは、例えば、特定の時間におけるフレームが特定の種類であるかどうか、例えば、スライドのフレームであるかどうかを示す。本発明は、上述のＲＴＣＰｅｅｒＣｏｎｎｅｃｔｉｏｎメッセージチャネルに限定されず、他の適切な如何なるメッセージプロトコルを、異なる会議参加者によって用いられる計算処理システム間でフレームの種類を伝達するために用いてもよいことが認識されるべきである。当業者には明らかなように、上述の実施例においては、計算処理システム２００においてはフレーム解析の計算はまったく必要ではなく、ある時間ウィンドウについて受け入れたフレーム、例えば５分間のフレームについての記憶領域だけが必要となる。
【００６４】
図４は、上述の計算処理デスクトップ・システム３００のメモリ３１２の他の例示的な実施例を示し、そこで、ビデオ会議アプリケーション３１６は、ストリーム解析モジュール３１８によって実行された映像フレーム解析の結果（映像ストリーム・メタデータ）を、計算処理システム２００のような他の計算処理システムに送信する。この目的のため、図４に示すビデオ会議アプリケーション３１６は、他の計算処理システムに対し映像フレームの解析結果を送信する、メタデータ送信モジュール４０１を有する。一方で、図５は、計算処理システム２００のメモリ２１２の他の例示的な実施例を示し、そこにおいて、ビデオ会議アプリケーション２１５は、上述の計算処理デスクトップ・システム３００のような、他の計算処理システムから、映像フレーム解析の結果を受け取る。上述のメタデータを受信する処理は、メタデータ受信モジュール５０１を用いて実行される。
【００６５】
１または複数の実施例において、映像フレームの解析に必要な処理の速度は、新たな、と以前のフレームとのフレーム間の違いを計算し、もし新たなフレームが以前のフレームと異なるのであれば以下に述べるステップを適用する、という一連の処理の前に、オリジナルのビデオフィードを、スケールダウンする事によって最適化される。当業者には明らかな通り、上述のスケールダウンによれば、会議参加者がデスクトップ、ドキュメント、あるいは、テキストエディタを示している場合において、必要なプロセッサ・サイクル数を大幅に減らすことができる。
【００６６】
図６は、ビデオ会議ストリームにおけるフレームを分類するプロセッサ６００の例示的な実施例を示す。図６に示すように、すべてのフレームは初期段階においては分類されていない。未分類状態６０１を参照されたい。それぞれのフレームは、続いて、潜在的なデスクトップフレーム（デスクトップ‘状態６０２）または、潜在的な顔のフレーム（顔’状態６０３）に分類される。十分な数のフレームが蓄積されると、図６においてプライム付して示したそれぞれの状態（６０２及び６０３）は、それぞれの実際の状態（プライムなし）にそれぞれ遷移する。上述の十分な数のフレームは、ストリーム解析モジュール２１７（３１８）の設定パラメータによって定まる予め定められた数のフレームであってよい。
【００６７】
同様に、デスクトップフレームは、スライド‘（プライム付き）６０６またはテキスト’（プライム付き）に初めに分類され、そして後に実際の（最終的な）分類状態６０８及び６０９（プライムなし）にそれぞれ分類されてもよい。テキストのフレームは、さらに、初期段階において、あるいは、最終的に、テキスト−編集‘６１０（プライム付き）及び６１１（プライムなし）にそれぞれ分類されてよい。予め定められた数のフレームの集合について、判断されたフレームの種類が、現在の状態と異なる場合には、状態は階層の親に位置するプライムなしの状態に戻る（つまり、現在の状態がスライド６０８であり、スライドでないフレームの集合が現れた場合には、その状態は、未分類６０１に戻る前に、デスクトップ６０４に戻る。）
【００６８】
１または複数の実施例において、ストリーム解析モジュール２１７（３１８）によって実行されるビデオ会議ストリームの解析に加えて、ユーザの現在の入力ソースのメタデータが、その会議ストリーム中のビデオフレームの初期分類として用いられてよい。例えば、そのようなメタデータは、カメラ２１１（３１１）からのものか計算処理システムのデスクトップの活動かを容易に区別するために用いることができる。しかしながら、当業者に明らかなように、ウェブアプリケーションのようなある特定のアプリケーションについて、画面の活動をさらに詳しく分類するためのメタデータは、入手できない。したがって、１または複数の実施例において、ビデオ会議システムアプリケーション２１５（３１６）は、ダウンロード可能なアプリケーションとしてユーザに対し提供され、これにより、ビデオ会議の間に用いられるアプリケーションのそれぞれについて、メタデータを検出、及び、検出したメタデータの送信を行うことができる。
【００６９】
「テキスト、スライド、及び、テキスト編集の検出」
１または複数の実施例において、テキストのスライドまたはテキストの編集を含むビデオフレームを検出するために、ストリーム解析モジュール２１７（３１８）は、連結成分を算出し、そして、文字囲いボックスを判別する。これには、当業者にはよく知られるように、非特許文献１に開示されたアルゴリズムを用いてよい。
【００７０】
１または複数の実施例において、連結成分の算出及び文字囲いボックスの判別に関する上述の処理に続いて、ビデオフレームが下記のようにラベル付けされる。
１．スライドとして判別。文字囲いボックスが十分に大きく（例えば、上述の開示において述べられるヒューリスティックスまたは分類器を用いる。）、かつ、いくつかのフレームに亘って一貫性がある場合。
２．テキストとして判別。判別した文字囲いボックスがいくつかのフレームに亘って動かない、例えば、アクロバットリーダのＰＤＦのページが示されるとき。
３．テキストの編集として判別。以前のフレームと同じ背景部分に新たな文字囲いボックスが現れるとき。
【００７１】
１または複数の実施例において、いくつかのフレームが、テキストの編集に分類されるが、ナビゲーションの目的のために、その中から１つの代表フレームを選び出すのが有用である。すなわち、ある実施例において、ストリーム解析モジュール２１７（３１８）は、テキスト編集についての一連のフレームの中から最後のフレームを選び出してもよい。ユーザに意味のあるキーフレームを供給することができるのは、典型的には、文のタイプがまだ終わっていないフレームではなくむしろ、タイプを終えた文の最後を示すフレームであろう。他の実施例において、当業者に知られた、中間に位置し、かつ代表的なフレームを用いることのできる、ビデオ・キーフレーミングのためのキーフレーム検出のための他の技術が、更に用いられてもよい。
【００７２】
「スクロール・ドキュメントの検出（スクロールするテキスト）」
１または複数の実施例において、ストリーム解析モジュール２１７（３１８）は、２つのフレーム間の平均コラムシフトとして、スクロールの量を検出する。スクロールする量が非ゼロのとき、スクロールするフレームの種類が検出される。注目するべきことに、１つのフレーム、あるいは、一連のフレームは、テキストの編集及びスクロールの双方に分類されてもよいことである。テキストエディタにユーザが新たなテキストの行を入力するときに、コンテンツは典型的には垂直にシフトするからである。
【００７３】
１または複数の実施例において、スクロールとして検出された一連のフレームは、単一のアニメーションＧＩＦにパックされ、これにより、後にユーザ・インターフェイスを意味のないフレームで混雑させることを防ぐことができ、かつ、ビデオ会議参加者に対し動的な視覚的な文脈をオリジナルの一連のフレームの中から提供することができる。
【００７４】
「顔の検出」
１または複数の実施例において、ストリーム解析モジュール２１７（３１８）は、例えばジャバ（登録商標）スクリプト環境などで既に利用可能なアルゴリズムのような、よく知られたリアルタイムのソフトウェア的な顔検出器を用いて顔の検出を行う。ある実施例において、顔のサイズとフレームサイズの割合が、そのフレームが顔を表すかどうかの判定に用いられる。１または複数の実施例において、顔のフレームシーケンスの真ん中のフレームがキーフレームとして選択され、ナビゲーションの履歴の中に含まれるキーフレームとして用いられてよい。他の実施例において、ストリーム解析モジュール２１７（３１８）が、ビデオ会議参加者がその人のウェブカムを共有する状態からその人の画面を共有する状態に切り替えたことを検出してもよい。その場合、ストリーム解析モジュール２１７（３１８）は、その人のディスプレイの画面を共有する状態に戻るまでの間は、そのフレームを単に顔とラベル付けする。
【００７５】
「コンピュータのデスクトップ活動の検出」
１または複数の実施例において、ストリーム解析モジュール２１７（３１８）は、分類処理を高速化するため、コンピュータ・デスクトップの分類を初期の（標準、デフォルトの）状態として用いてもよい。当業者にとって明らかなように、デスクトップの活動は、興味のある領域を用いてさらにセグメント分けされてよい。ビデオ会議参加者がメニューの項目をクリックし、あるいは、ダイアログボックスを閉じるボタンをクリックするのは典型的な動作である。したがって、ある実施例において、ストリーム解析モジュール２１７（３１８）は、あるフレーム中の視覚系の領域を認識し、そして、後続のフレームにおけるその存在を追跡するような、高速な領域検出器を組み込んでもよい。ある実施例において、デスクトップの活動は、出現しては消えていく、箱型の領域の連続として認識される。その場合、キーフレームは、箱型の領域を、それが消える前、かつ、それが動いたあとの状態（例えば、デスクトップの上のウィンドウが動かされる）、あるいは、そのサイズが変更された後の状態（例えば、ユーザがウィンドウのサイズを変更し終えたとき）において示しているフレームが選ばれ、この一連の処理は、テキスト編集を表す一連のフレームについてキーフレームを選択する上述の方法と同様である。
【００７６】
「マウスの動作の検出及び拡張」
当業者にはよく知られているように、会議参加者がマウスカーソルを興味のある領域の周りで回してそのポイントを指し示すようなこともよく行われる。したがって、１または複数の実施例において、ストリーム解析モジュール２１７（３１８）は、画面においてユーザのマウスのカーソルの場所を、例えば、特許文献１に開示されているような、及び／または、特許文献２においてパワーポイントまたはOSにおいて実際のカーソルの場所を取得するようなアルゴリズムを用いて、検出してもよい。
【００７７】
１または複数の実施例において、マウスカーソルの位置は、一連の映像フレームの中の映像フレーム間の違いを計算することによって特定され、この手法はここではフレーム差分検出と呼ぶ。ある側面によれば、ストリーム解析モジュール２１７（３１８）は、フレームＤとして、２つの連続したフレームＡ及びＢの間の差分を計算する。フレームＡ及びＢは、高速なエッジ検出器を用いて２値化されてもよく、その例は、非特許文献２に述べられている。
【００７８】
当業者には理解されるように、結果として得られたフレームＤは、フレームＡ及びＢの絶対的な差分を表す。フレームＡ中の対応するピクセルがフレームＢと異なる時には、フレームＤは１の値を取り、そして、その他の場合は０（ゼロ）の値を取る。ある実施例において、マウスの活動を検出するため、次のアルゴリズムが用いられる。具体的には、ストリーム解析モジュール２１７（３１８）は、Ｄ（ｘ−１，ｙ）が１の値であって、Ｄ（ｘ，ｙ）が１の値であるとき、フレームＤ中の対応する位置として、マウスポインタのｘ，ｙ座標を検出する。当業者には理解されるように、このことは、水平座標ｙの２つのピクセルが非ゼロの値をとることを意味する。注目するべきことに、ある実施例において、たった１つのピクセルを用いたのでは、上述のマウスポインタの検出アルゴリズムを適切に働かせるには不十分であり、それでは、マウスの活動には対応しない別の場所をフレームＤ中で検出してしまいやすい。このように、ある実施例において、マウスの場所は、フレームＤ中のある閾値を超えた最小数のピクセルに基づいて判断される。
【００７９】
注目するべきことに、ここで述べた概要は、ある特定のマウスまたはポインタ検出のアルゴリズムに限定されるものではなく、マウス／ポインタ検出のためのもっと複雑な別の方法が用いられてよい。例えば、それは、当業者にはよく知られるように、マウスポインタの通常の見た目とビデオフレームのコンテンツのマッチングを行うテンプレートに基づく、方法であってもよい。すなわち、具体的なマウスポインタ検出のアルゴリズムは、限定的な意味で解釈されるべきではない。
【００８０】
１または複数の実施例において、マウスの位置が一旦検出されると、ストリーム解析モジュール２１７（３１８）は、重大な（意味論的に意味がある）イベントが発生したかどうかを判断し、対応するキーフレームを将来の利用のために保持する。１または複数の実施例において、ストリーム解析モジュール２１７（３１８）は、次のイベントを重大なイベントとして取り扱う。１）マウスがある領域に向けて数秒動く（これは、ユーザが画面を共有しつつ自身の画面上の重要な箇所の周りを囲う時に起こり得る。）、２）マウスがある領域の外へ出て、他の領域に入り、そして、そこで停止する（必ずしも動く必要はない）（これは、ユーザがメニューに向かってポインタを動かし、自身の画面上でボタンをクリックする時に起こり得る）。注目するべきことは、発明はここで述べた例示的な重大なイベントの種類に限定されず、ストリーム解析モジュール２１７（３１８）は、他の如何なる適切なユーザの活動を重大であると検出してもよく、例えば、カーソルが数秒のフレームに亘ってある領域の周りを回るようなイベントを重大と認識してよい。ストリーム解析モジュール２１７（３１８）は、このようなフレームをマウスの活動として分類する。
【００８１】
１または複数の実施例において、ビデオ会議アプリケーション２１５（３１６）は、ウェブ・ブラウザに設けられ、画面の映像ストリームにマウスポインタを含めるかどうかの選択肢を提供してもよい。ブラウザがそのような機能を提供する一つの例はグーグルクロームであり、それにより、getUserMediaリソースを設定するときに、開発者はメディアの制約にアクセスすることができる。
【００８２】
１または複数の実施例において、マウスの活動とラベル付けしたフレームは、クラスタに動的にグループ分けされ、そして、新たなクラスタが見つかった時に保持されたフレームの履歴に、新たなキーフレームが追加される。さらに、当業者には理解されるであろうが、ビデオ会議中に共有される画面は必要バンド幅を減らすためにしばしばスケールダウンされ、かつ、遠隔の利用者にとって自身が画面上のどこを動かしているかをはっきり認識するのは重要なので、マウスのポインタの検出は大変有益なものとなる。
【００８３】
「ストリームをナビゲートするための例示的なユーザ・インターフェイス」
１または複数の実施例において、ビデオ会議アプリケーション２１５（３１６）は、グラフィカル・ユーザ・インターフェイス生成モジュール２２０（３２１）を組み込んでおり、これにより、ユーザがビデオ会議ストリームの過去の一部分をナビゲートできるようにするための１または複数のユーザ・インターフェイスを生成する。これらのインターフェイスの例示的な実施例をここで説明する。
【００８４】
１．テキスト・チャットのようなインターフェイス。テキスト・チャットは、典型的には、既存のチャット・メッセージの下に新たなテキストを追加し、そして、参加者は、以前のチャット・メッセージを巻き戻して見るために画面を容易にスクロールすることができる。同様に、１または複数の実施例において、ストリーム解析モジュール２１７（３１８）によって分類された、受け入れた映像ストリームのフレームは、テキストをスクロールするのに連れて巻き戻される。これは、例えば、非特許文献２及び米国特許出願13/939,081号に述べるような直接操作の手法を用いて実現されてもよい。
【００８５】
２．標準的なタイムライン風のインターフェイス。他の実施例において、ビデオ会議アプリケーション２１５（３１６）のインターフェイス生成モジュール２２０（３２１）は、当業者によく知られたタイムラインのユーザ・インターフェイスを生成してもよく、これにより、会議参加者は時系列上を遡ることができる。ある実施例において、ビデオを表示するのに変えて、システムは、それらの時点に見つけた、対応するキーフレームを会議参加者に示してよい。
【００８６】
３．ビデオを直接操作するインターフェイス。更に他の実施例において、ユーザ・インターフェイス生成モジュール２２０（３２１）は、ユーザ・インターフェイスを生成し、これにより、参加者がそのユーザ・インターフェイスに向けて、例えば、タッチスクリーン上のジェスチャーを用いて他の参加者や自身の興味ある映像ストリーム上を後方に向けてスワイプしたり、マウスポインタを用いて左方向のクリック及びドラッグしたり、あるいは、左矢印のキーを押したり、提供された「後方」ボタンを押し続けたり、あるいは、ビデオストリームの左の部分を押すことによって、適切な指令を発行することで、過去のフレームにジャンプすることができる。これに応じて、ビデオ会議アプリケーション２１５（３１６）は、上述のコンテンツの種類、例えば、スライド、テキスト・スクロール、及びその種のものを含むが、これに限定されないものに適合した過去のフレームを示す。当業者には理解されるであろうが、これによって、過去のフレームにおける高速なスキミングを実現できる。
【００８７】
１または複数の実施例において、ユーザが個別のフレームをナビゲートしたいときには、生成されたユーザ・インターフェイスは、ユーザの指令、例えば、タッチスクリーン２０９／２１０上のタッピング、提供された「後方」ボタンクリックやストリーム中の左側部分に対するクリックなどを検出し、それに応じて、ビデオ会議アプリケーション２１５（３１６）は、以前に検出されたフレーム群を一度に飛び越えることができる。
【００８８】
「ナビゲーションの認知を支援する例示的なインターフェイス」
図７は、ビデオ会議アプリケーション２１５（３１６）の上述のユーザ・インターフェイス生成モジュール２２０（３２１）によって生成される、例示的なグラフィック・ユーザ・インターフェイスを示す。示された例示的なユーザ・インターフェイスは、ジョンとメリーと名付けられた想像上の２人の参加者を含むビデオ会議のために生成される。ジョンから見たメリーは、パネル７０１及び７０２の図の上部にそって現れ、これらは時間軸上の２つの異なる時点を表す。ジョンはメリーのライブのウェブカム７０１を見るだけでなく、サムネイル７０５、７０６、７０７及び７０８によって表された、メリーが彼女の会議ストリーム中で共有し、検出されたスクリーンショットの履歴のリストを見ることができる。
【００８９】
メリーから見たジョンは下側パネル７０３及び７０４に現れ、これにより、２つの異なる時点が表される。同様に、メリーはジョンのウェブカム７０３を見ることができるが、ジョンは彼の画面を共有していないため、メリーは彼のライブウェブカムのキーフレームを彼女の履歴のビュー７１３において見ることができるほかは何も見ることができない。ジョンは、以前に共有された、メリーのコード・エディタのビュー（サムネイル７０９）を、履歴バー７０９、７１０、７１１及び７１２の中から選んで選択し、彼のビュー７０２において拡大して見ることを決定する。画面の下側に沿ったジョンの履歴のビューは、サムネイル７１６を見れば分かるように、彼がコード・エディタを見ている状態を反映している一方で、サムネイル７１５は、ジョンのストリーム（彼の顔）における以前のキーフレームを示している。１または複数の実施例において、この変更は、映像のストリームだけに影響し、音声ストリームは再生されつづける。メリーからの視点は、選択的に、７０４として参照されるコンテンツを示すように変更されてもよいし、赤い点７１７によって表された参加者のマウスの位置をさらに示してもよい。
【００９０】
１または複数の実施例において、ユーザであるメリーが参加者ジョンのストリームをさかのぼってナビゲートする場合に、彼女は、彼女が何を見ているのかを他の参加者に「宣伝」することを選択してもよいし、１または複数の参加者だけに宣伝することを選択してもよい。この機能は、数多くの選択肢を用いて実装されてよい。
【００９１】
１．ある実施例において、ビデオ会議アプリケーション２１５（３１６）は、メリーのストリームを置き換えて、彼女が何を見ているのかを示してもよい。これにより、他の参加者は、過去のフレームにおいてメリーが見ているものを直ちに認識できる。ジョンの名前もオーバレイ表示され、人々は誰のストリームがメリーによって操作されているのかを知ることができる。
【００９２】
２．他の実施例において、ビデオ会議アプリケーション２１５（３１６）は、ジョンのストリームを置き換えて、メリーがジョンのストリーム中で見ているものを表示してよい。その後すぐに、人々は、誰のストリームが操作されているのかを知ることができる（なぜなら、ストリームの位置は通常は空間的に移動せず、したがって、ユーザは、誰のストリームがどこにあるのかをすぐに知ることができる）。そして、その場合に、メリーの名前は、ジョンの「ニセの」ストリームの上にオーバレイされ、他の参加者はだれがジョンのストリームを提供しているのかを知ることができる。
【００９３】
３．第３の実施例において、ジョンのストリームの異なる部分を何人かのユーザがナビゲートすることもでき、その場合には、ジョンのストリームは、いくつかの部分領域に分割され、そのそれぞれが、それらが操作されるのに従い、彼のストリームから選択された過去のフレームを示す。
【００９４】
４．第４の実施例において、メリーは、下記のイベントを見ているということを示すのみで、彼女が何を見ているのかを示す事はできない。この場合、インターフェイスは、例えば、他の参加者のタイムライン上で過去のイベントをハイライト表示するだけである。
【００９５】
１または複数の実施例において、この活動の間、ライブビデオを受け入れ続けてもよく、そしてその場合、参加者は、ライブの音声を聞き続けることができる。しかし、映像のストリームは、過去の中から現在選択しているフレームの下に「隠され」ている。他の実施例において、ライブビデオは、選択されたフレームの隣に表示されてもよいし、典型的なビデオ中へのビデオ挿入（ピクチャ中へのピクチャ挿入）のように、スクリーン７０４の角において、選択されたフレームの上に表示されてもよい。例えばピクチャ中へのピクチャ挿入７１４を参照されたい。
【００９６】
１または複数の実施例において、ユーザ・インターフェイス生成モジュール２２０（３２１）によって生成されたユーザ・インターフェイスは、僅かな限られたコンテンツの種類を選択するための、例えば、スライドのフレームだけを選択するための、簡便な検索選択機能を有してよく、これにより、ユーザが過去に戻った時に、そのようなフレームだけが表示される。１または複数の実施例において、上述のユーザ・インターフェイスは、簡便な「ライブ」ボタンを提供してもよく、これにより、参加者はその人の現在のストリームを表示させることができる。
【００９７】
１または複数の実施例において、上述のユーザ・インターフェイスを用いて過去からフレームを選択したあとに、ユーザは、その人自身からのストリームとして、その人自身の現在のカメラフィードに代えて、選択されたフレームをブロードキャストすることを選択してもよい。当業者には理解されるとおり、そのユーザが何を見て、会話の以前の部分に注目しているのかを他の参加者に知らせることはとても有用である。そのユーザが他人に対し今見ているものを示しているときには、他の参加者が彼が見ているものを認識できるように、マウスポインタの場所を送ることを選択することができてもよい。これは、映像ストリーム中のマウスポインタを追跡するのを要求することを必ずしも意味せず、単にその座標を取得する処理が必要になるだけである（すなわち、ブロードキャストされている、表示画面を表すＨＴＭＬ要素に付け加えられた、ジャバスクリプト・マウスイベント・リスナを用いる）。同じ概念を用いて、ユーザは、自身の画面を共有することを決定してもよく、ユーザは、共有される画面をその画面の一部だけに限定するような選択を行ってもよい。
【００９８】
図８は、グラフィカル・ユーザ・インターフェイス生成モジュール２２０（３２１）によって生成されたグラフィカル・ユーザ・インターフェイスの例示的な実施例を示す。この実施例は、２以上の参加者及びそれぞれのビデオ会議ストリームに対応している。具体的には、図８のグラフィック・ユーザ・インターフェイスは、５人のビデオ会議参加者（ティ（Ｔｙｅ）、サリー（Ｓａｌｌｙ）、ベン（Ｂｅｎ）、クリス（Ｃｈｒｉｓ）及びマクロ（Ｍａｃｒｏ）と名付けられた参加者）に対応し、ある特定の参加者ティの始点を示している。ティの履歴及びライブストリーム８２７を表すサムネイル８２４、８２５及び８２６は、グラフィカル・ユーザ・インターフェイスの下側にそって表示されている。加えて、図８に示したユーザ・インターフェイスの実施例は、Sallyのライブストリーム８０１を、サリーの共有履歴を表すサムネイル８０５、８０６、８０８及び８０９と共に組み込んでもよい。ここで示したユーザ・インターフェイスは、ベンのライブストリーム８０２を、ベンの共有履歴を表すサムネイル８１０、８１１、８１２及び８１３と共に更に含んでよい。ここで示したユーザ・インターフェイスは、クリスのライブストリーム８０３を、クリスの共有履歴を表すサムネイル８１４，８１５及び８１６と共に更に含んでよい。ここで示したユーザ・インターフェイスは、マクロのライブストリーム８０４を、マクロの共有履歴を表すサムネイル８１７、８１８、及び８２１と共に更に含んでよい。
【００９９】
ここで示したグラフィカル・ユーザ・インターフェイスの実施例において、様々なユーザの共有履歴におけるサムネイルの近くに位置する色付けされた点８０７，８１９、８２０、８２２及び８２３は、ある特定のユーザから見ることができる。１または複数の実施例において特定のサムネイルに対応するコンテンツを見ているユーザを一意に特定するために、点８０７、８２０、８２２及び８２３の色は、その特定のユーザのパネルの色に対応している。例えば、点８０７及び８２０が青色であるクリス（クリスのパネル８０３の縁と同じ色）が、サリー及びマクロの履歴においてフレームを見ていることは、サリー及びマクロのタイムラインにおいてクリスが見ているフレーム上に、あるいは、そのフレームに隣接して青色の点８０７及び８２０を表示することで表される。
【０１００】
１または複数の実施例において、ユーザのパネル８０１、８０２、８０３あるいは８０４のうちの１つを選択することで、選択されたユーザが現在見ているフレームがハイライトされる。さらに、ユーザ・インターフェイス・ウィジェット８２９及び８２８をそれぞれ用いることで、ユーザは、自身のカメラ映像または画面のいずれを見せるかを切り替えることができる。最後に、１または複数の実施例において、ユーザは、他のユーザのタイムラインから取得した如何なるフレームをも、自身のライブビューの中にドラッグ・アンド・ドロップし、代わりにそれらをストリームすることができる。
【０１０１】
「例示的な処理シーケンス」
図９は、複数のビデオ会議ストリームのリアルタイムでの効率的なナビゲーションの方法の実施例に関する例示的な処理シーケンス９００を示す。１または複数の実施例において、このシーケンス９００は、図２に示すように、計算処理システム２００によって実行され、あるいは、図３に示すように、計算処理デスクトップ・システム３００によって実行されてよく、いずれもメモリ２１２（３１２）にそれぞれ格納されたソフトウェアと関連付けて実行される。第１に、ステップ９０１において、ストリーム受信モジュール２１６（３１７）は、流入してくるライブ映像ストリームを、それぞれの計算処理システム２００（３００）のネットワーク・インターフェイス２０５（３０５）を介して受信する。注目すべきことに、上述のライブ映像ストリームは、ビデオが撮影されたのと全く同時刻に送信された映像ストリームである必要はない。ライブ映像ストリームは、局所的なユーザが局所的な計算処理システムにおける再生を制御（例えば、中断、巻き戻し、あるいは早送り）出来る場合であっても、遠隔の計算処理システムから継続的に送られてくる、いかなる種類の映像ストリームであってもよい。
【０１０２】
受信したライブ映像は、ビデオ会議の他の参加者の遠隔の計算処理システムを起源とするライブビデオ会議ストリームであってもよいし、ブロードキャスト・サーバから送られてくるライブ・ブロードキャスト・ストリームであってもよい。ステップ９０２において、受信したライブ映像ストリームは、ユーザ・インターフェイス生成モジュール２２０（３２１）によって生成されるグラフィカル・ユーザ・インターフェイスを用いて表示装置２０９（３０９）においてユーザに表示され、その例示的な実施例は図７及び図８に示されている。具体的には、図７において、パネル７０１及び７０３は、ライブ映像ストリームをユーザに表示するために用いられる。
【０１０３】
ステップ９０３において、ストリーム解析モジュール２１７（３１８）は、上述の技術に従って受信したライブ映像ストリームの中から意味的に重大なイベントを特定する。関連するキーフレームはステップ９０４において抽出される。ステップ９０５において、特定された意味的に重大なイベントに関する情報、及び、抽出されたキーフレームが、ストリーム・メタデータ・ストレージ２２２（３２３）に格納される。
【０１０４】
ステップ９０６において、ライブ映像ストリームの履歴を示すサムネイル画像が、例えば、図７及び図８に示すグラフィカル・ユーザ・インターフェイスの実施例を用いて表示される。ステップ９０７において、上述の履歴におけるサムネイル画像のうちの１つをユーザが選択した場合には、ステップ９０８において、対応するキーフレームが、例えば図７（パネル７０２及び７０４）に示すように、ライブ映像ストリームを置き換え、あるいは、これに追加することによって、ユーザに対して表示される。ユーザからの指令に応じて、対応する意味的に重大なイベントに関する追加的な情報が、ステップ９０９において、さらに表示されてもよい。この処理はステップ９１０において終了する。
【０１０５】
「画面共有と顔の間の自動切り替え」
既存のビデオ会議ツールは、顔と画面のいずれを表示させるかを切り替えることをユーザに強いると共に、それらを手作業で切り替えることをユーザに強いる。一方で、ユーザがその画面の共有から会議を開始し、それを表示し続ける必要もないのに自身の顔を表示するための切り替えを行わない場合には、その様子は他人にとって無礼に感じることもある。したがって、１または複数の実施例において、ビデオ会議アプリケーション２１５（３１６）は、上述の映像ストリームのラベルを、ユーザに思い出させる、あるいは、顔に自動的に切り替えるために用いてもよい。同様に、ユーザが、数多くのデスクトップ上の活動を有しており、そして、それらに言及しており、デスクトップ上の何かを他の参加者に示そうとする可能性が高いときには、ビデオ会議アプリケーション２１５（３１６）は、画面共有を提案し、あるいは、画面共有へ自動的に切り替える。
【０１０６】
「その場でミーティング議事録を作成」
１または複数の実施例において、いつであっても、しかし、ビデオセッションの最後では特に、参加者からの要求によって、ビデオ会議アプリケーション２１５（３１６）は、フレームの集合を、それぞれの参加者の活動または全ての参加者の活動によって生成されたその時間とメタデータの情報を伴って出力してもよい。ユーザからの上述の要求に応じて、ビデオ会議アプリケーション２１５（３１６）は、通常はデータストレージ２２１（３２２）に格納されたものの中から検索し、そして、ビデオ会議の議事録を示すドキュメントを自動的に生成する。
【０１０７】
１または複数の実施例において、生成されたドキュメントは、例えばテキストエディタ・ドキュメントなどの、ユーザがその後にテキストエディタを使ってテキストの注釈を挿入できるような、編集可能なドキュメントの形式に変換される。他の実施例において、生成されたドキュメントは、予め定められたＸＭＬスキーマに従って作られたＸＭＬドキュメントであってよい。当業者には理解されるように、ＸＭＬは、生成されたドキュメントの内容を、多様なソフトウェアのアプリケーションに対して入力するための高い柔軟性を有している。更に他の例として、生成されたドキュメントは、ＨＴＭＬドキュメントであってもよい。
【０１０８】
１または複数の実施例において、ビデオ会議について生成されたドキュメントは、上述のように、すべての参加者のストリームから自動的に検出されたイベントのキーフレームについての、レイアウトの情報、時系列の情報を含んでよい。これに加えて、ビデオ会議の間に参加者によって実行された活動に関する情報を、このドキュメントが含んでよい。例えば、１または複数の参加者によってある特定のフレームが数回閲覧された場合に、生成されたドキュメントは、サイズや視覚的な効果を使ってそのフレームを強調し、例えば、「閲覧」の回数を、それぞれのフレームの隣に表示してもよい。
【０１０９】
「例示的な実施例の実装」
１または複数の実施例において、ビデオ会議アプリケーション２１５（３１６）は、同業者によく知られたＷｅｂＲＴＣ標準に基づいて実装される。ビデオ会議参加者は、相互に通信するために自身のウェブ・ブラウザを用い、そして、映像ストリームは、ＣＡＮＶＡＳ要素によってピクセル単位の操作が可能なように処理されたＨＴＭＬ５ビデオストリームとしてやりとりされる。ユーザが自身の画面を共有する場合には、ビデオ会議アプリケーション２１５（３１６）は、カメラ２１１（３１１）からのフィードを、例えば以下の指令を用いて、デスクトップからのフィードに切り替える。
navigator.webkitGetUserMedia(
{video:{mandatory: {chromeMediaSource: ’screen’}}},
this.onUserMediaSuccess.bind(this),
this.onUserMediaError.bind(this)
);
【０１１０】
ある実施例において、各ブラウザがそれ自身の計算処理を他の参加者から受け入れたストリームに対して実行するといった、１対１の環境におけるアルゴリズムを採用してよい一方で、他の実施例は、クラウドに基づく実装に依存してもよい。例えば、ある実装において、「ロボット」サービスが、１対１の現在進行中の会議に接続するために採用され、クラウド中の各ストリームにおいて同じアルゴリズムが適用されてよい。「ロボット」は、数多くの目的のために用いられ、例えば、ユーザがそのセッションについて意味のあるインデックスを取得するために用いられてもよいし、法令遵守の目的のために用いられてもよいし、光学文字読み取り（ＯＣＲ）や音声からテキストを認識する処理などの、高い計算能力を必要とするサービスを提供するために用いられてもよい。
【０１１１】
最後に、ここで記述される処理及び技術は特定の装置の何れかに固有に関連するものではなく、適切に組み合わせられた構成要素の何れかによって実装されてもよいことが理解されるべきである。さらに、様々な種類の汎用目的装置がここに記述される技術に従って使用されてもよい。ここに記述される方法ステップを実行するために専用装置を構築することは有利であるかもしれない。本発明は、特定の例示に関連して記述されているが、この記述は、限定ではなく、例示を意図している。多くの異なるハードウェア、ソフトウェア及びファームウェアの組み合わせが本発明を実行するために適切であることは、当業者には明らかである。例えば、記述されるソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ、現在知られているもしくは今後開発されるプログラミング言語もしくはスクリプト言語の何れかなどの様々なプログラミング言語もしくは記述言語によって実装されてもよい。
【０１１２】
さらに、ここに記述された詳細及び実行を考慮すれば、本発明のその他の実装が当業者には明らかであろう。記述された実装の様々な態様及び／もしくは構成要素は、オフ・センタ埋め込みメディア・マーカを実装する及び使用するシステム及び方法を個別に、もしくは、任意に組み合わせて使用することができる。詳細及び例は例示としてのみ考慮されることを意図し、本発明の真の範囲及び思想は特許請求の範囲の記載によって示される。
【符号の説明】
【０１１３】
２００  計算処理システム
２０９  表示装置
２１１  カメラ
３００  計算処理デスクトップ・システム
【図２】
2015076875.tif 000003
【図３】
2015076875.tif 000004
【図４】
2015076875.tif 000005
【図５】
2015076875.tif 000006
【図６】
2015076875.tif 000007
【図９】
2015076875.tif 000008
【図１】
2015076875.tif 000009
【図７】
2015076875.tif 000010
【図８】
2015076875.tif 000011