(57)【特許請求の範囲】
【請求項１】
プロセッサが、
リモート共同セッションのライブドキュメント映像ストリームを受信し、
前記ライブドキュメント映像ストリーム中のカーソルのアクションを検出し、
前記検出されたカーソルのアクションをアクションカテゴリに分類し、
前記ライブドキュメント映像ストリームのキーフレームを検出し、
前記検出されたキーフレームを前記アクションカテゴリに基づいて索引付けし、
前記索引付けされたキーフレーム中のキーワードを検出し、
前記アクションカテゴリを用いて前記キーフレームを索引付けし、
前記アクションカテゴリに基づいて前記キーフレーム中の前記カーソルのアクションを可視化し、
前記可視化されたカーソルのアクションを表示する、
ことを含む、処理を実行する方法。
【請求項２】
前記可視化されたカーソルのアクションの表示をリアルタイムで実行する、請求項１に記載の方法。
【請求項３】
前記アクションカテゴリを利用して前記キーフレームを索引付けすることが、前記検出されたキーワードに重み付けするために前記アクションカテゴリを利用して前記キーフレームを索引付けすることをさらに含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記アクションカテゴリは、テキスト選択の動き、テキスト編集の動き、及びカーソルの動きの内の少なくとも１つを含む、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
前記アクションカテゴリは検出された動きの種類に基づいて選択され、かつ前記動きの種類は、以前のフレームと次のフレームとの間の算出されたフレーム差分の連結成分ボックス解析に基づいて判定される、請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
前記以前のフレームと前記次のフレームとの間の１つ以上の未処理のピクセル差分に基づいて前記キーフレームを索引付けすることをさらに含む、請求項５に記載の方法。
【請求項７】
前記カーソルのアクションを前記アクションカテゴリに分類し、かつ対応するアクションカテゴリに基づいて前記キーフレーム中のワードを重み付けすることによって、前記キーフレームを索引付けすることをさらに含む、請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
前記カーソルのアクションが発生した前記キーフレームの領域に色または影を重ねることによって、前記カーソルのアクションを可視化することをさらに含む、請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
前記カーソルのアクションが発生した前記キーフレームの領域に前記カーソルのアクションの表示をアニメーション化することによって、前記カーソルのアクションを可視化することをさらに含む、請求項１〜請求項７の何れか１項に記載の方法。
【請求項１０】
リモート共同セッションにおけるユーザインタラクションを検出、分類及び可視化するシステムであって、
リモート共同セッションのライブドキュメント映像ストリームを受信する受信ユニットと、
前記ライブドキュメント映像ストリーム中のカーソルのアクションを検出する検出ユニットと、
前記検出されたカーソルのアクションをアクションカテゴリに分類する分類ユニットと、
前記ライブドキュメント映像ストリームのキーフレームを検出して前記検出されたキーフレームを前記アクションカテゴリに基づいて索引付けし、かつ前記索引付けされたキーフレーム中のキーワードを検出して前記アクションカテゴリを用いて前記キーフレームを索引付けする索引付けユニットと、
前記アクションカテゴリに基づいて前記キーフレーム中の前記カーソルのアクションを可視化する可視化ユニットと、
前記可視化されたカーソルのアクションを表示するディスプレイと、
を備えるシステム。
【請求項１１】
前記可視化されたカーソルのアクションをリアルタイムで表示する、請求項１０に記載のシステム。
【請求項１２】
前記アクションカテゴリを利用して前記キーフレームを索引付けすることが、前記検出されたキーワードを重み付けするために前記アクションカテゴリを利用して前記キーフレームを索引付けすることをさらに含む、請求項１０又は請求項１１に記載のシステム。
【請求項１３】
前記検出ユニットは、前記ライブドキュメント映像ストリーム中の以前のフレームと次のフレームとの間の移動を検出して、１つ以上のユーザインタラクションを検出する、請求項１０〜請求項１２の何れか１項に記載のシステム。
【請求項１４】
ライブ映像ストリームの記録から、表示されたテキスト上の１つ以上のカーソルのアクションを検出し、
前記検出された１つ以上のカーソルのアクションをインタラクションカテゴリに分類し、前記テキストに関連する１つ以上のキーワードを生成し、
前記ライブ映像ストリームのキーフレーム内の１つ以上のキーワードを検出し、前記インタラクションカテゴリに基づいて前記キーフレームを索引付けし、
インデックス中に生成された１つ以上のキーワードとともに、前記記録の少なくとも１つのフレームの仮ロケーションの索引項目を格納する、
処理をコンピュータに実行させるためのプログラム。
【請求項１５】
前記検出は、前記検出された１つ以上のキーワードを重み付けするために実行される、請求項１４にプログラム。
【請求項１６】
前記処理は、
前記表示されたテキスト上の前記１つ以上のカーソルのアクションの前記検出から、前記１つ以上のカーソルのアクションの種類を判定し、
前記１つ以上のカーソルのアクションの種類がテキスト選択の種類であれば、前記テキストをハイライトし、
前記１つ以上のカーソルのアクションの種類がテキスト編集の種類であれば、編集されたテキストをハイライトし、
前記１つ以上のカーソルのアクションの種類がマウスのカーソルのアクションであれば、前記マウスのカーソルのアクションの経路をハイライトする、
ことをさらに含む、
請求項１４又は請求項１５に記載のプログラム。
【請求項１７】
前記処理は、前記１つ以上のカーソルのアクションがマウスのカーソルのアクションであれば、前記マウスのカーソルのアクションの経路に基づいて前記少なくとも１つのフレームをクロッピングすることをさらに含む、請求項１４又は請求項１５に記載のプログラム。
【請求項１８】
前記仮ロケーションは、前記生成された１つ以上のキーワードの語出現頻度に基づいて決定され、前記記録から前記１つ以上のカーソルのアクションを検出することが前記記録時に実行される、請求項１４〜請求項１７の何れか１項に記載のプログラム。
【請求項１９】
前記処理は、
前記表示されたテキストから検出された前記テキストの１つ以上のワードを、前記記録の音声から検出し、
前記表示されたテキストから検出された前記テキストの１つ以上のカーソルのアクションを検出することから、前記テキストに関連する１つ以上のキーワードを生成する、
ことをさらに含む、
請求項１４〜請求項１８の何れか１項に記載のプログラム。
【請求項２０】
前記処理は、
キーワードクエリに応答して、前記キーワードクエリに関連する前記１つ以上のキーワードを有する前記索引項目を索引から検索し、
前記索引項目に関連する前記１つ以上のフレームの前記仮ロケーションを戻す、
ことをさらに含む、
請求項１４〜請求項１９の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタラクションを検出、分類及び可視化する方法、システム及びプログラムに関する。
【背景技術】
【０００２】
ＷｅｂＲＴＣブラウザベースシステムのようなウェブベースツールを利用する共同環境においては、互いに隔たった場所にいるオンラインユーザどうしが、遠隔から相互に連携して作業する場合がある。ＷｅｂＲＴＣ（ウェブリアルタイム通信）は、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ（Ｗ３Ｃ）により策定されたアプリケーションプログラミングインタフェース（ＡＰＩ）定義であり、これは内部または外部のプラグインを必要とせずに、音声電話、ビデオチャット、及びピアーツーピア（Ｐ２Ｐ）ファイルを共有するブラウザーツーブラウザアプリケーションを支援する。
【０００３】
例えば、リモートユーザどうしがライブのオンライン会議時に、ウェブサイトを示したり、プレゼンテーションスライドを編集したり、コードエディタでテキストを編集したりするために、画面を共有する場合がある。オンライン会議時に、リモートユーザが以前の共有コンテンツを参照する場合がある。さらに、以前の共有コンテンツは後での議論やレビューの対象となる場合がある。
【０００４】
ただし、共有画面は大容量の情報を含み得る。従って、関連する１つのアプローチは、光学文字認識（ＯＣＲ）を利用して各フレームまたは１つ以上のキーフレームを索引付けして、テキスト入力によって検索できるようにする。
【０００５】
これに代わるアプローチとしては、各ユーザのライブストリーム中でのリモートユーザのアクションを自動検出するものがある。この自動検出は、テキスト編集、及び／又はカーソル（例えばマウスカーソル）の動きを介して取得することができる。自動検出の出力としては、画面共有ビデオ（ライブまたは録画）が含まれる。
【０００６】
一人以上のユーザが、ライブまたは会議の後で、画面共有ビデオを検索しようとすることがある。画面共有ビデオにはテキストが含まれるために、ユーザに検索機構を提供する１つの方法は、テキストベースの検索手法である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】アドコック（Adcock）ら、「講義ウェブキャストサーチエンジン（"A lecture webcast search engine"）」、マルチメディアに関する国際会議抄録（Proceedings of the International Conferene on Multimedia）、米国、２０１０年、頁２４１〜２５０
【非特許文献２】デノー（Denoue）ら、「ビデオドキュメントにおけるコンテンツベースコピーアンドペースト（"Content-based copy and paste from video documents"）」、２０１３年ドキュメントエンジニアリングに関するＡＣＭシンポジウム抄録（Proceedings of the 2013 ACM Symposium on Document Engineering）、米国、２０１３年、頁２１５〜２１８
【非特許文献３】ヒル（Hill）ら、「エディットウェア及びリードウェア（"Edit wear and read wear"）」、コンピュータシステムにおけるヒューマンファクタに関するＳＩＧＣＨＩ会議抄録（Proceedings of the SIGCHI Conference on Human Factors in Computing Systems）、米国、１９９２年、頁３〜９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記関連技術手法は、種々の課題及び欠点を持っていることがある。例えば、大量のデータ（例えば毎秒３０「ページ」（フレーム））は、リアルタイムでの検索を不可能とする。
【０００９】
ドキュメントの拾い読みや検索を改良するユーザアクションの関連するアプリケーションには、ビデオ索引付けがある。これはビデオ中の動作を利用して、ビデオをトピックベースのクリップにセグメント化し、ユーザがより簡単にクリップを閲覧したり、対象を検索したり（例えば、「猫を含む映像を見たい」というように）できるようにする。この関連技術は、テレビ画像や一般ユーザが作製したビデオなどの映像向けである。ただしこの関連技術には、検索及びプレゼンテーションに利用する画面共有セッションからの動き抽出は含まれていない。
【００１０】
ウェブページでは、ウェブサイトのデザインを改良したり、検索クエリが有効かどうかを検出したり、またユーザの感情状態を推定したりするために、関連するマウスやキーボードをトラッキングしてユーザのアクションをモニタすることが行われる。ただし、ビデオドキュメントとは異なり、関連するＪａｖａｓｃｒｉｐｔ（登録商標）コードをウェブページに差し込んで、マウスやキーボードのアクションを収集することが可能である。従って、この関連技術には相互に作用するページの索引付けは含まれない。
【００１１】
さらに、関連する個人的なブックマークは、強調されたウェブページサムネイルとして表示され、検索されるキーワードがそこに重ねられていてもよい。ただし、この関連技術には、マウス及びテキストアクションの抽出の仕方が開示されておらず、強調サムネイルを生成するための色とテキストサイズが利用されているだけである。その上、サムネイルは静的である。
【００１２】
それ故に、リモート共同会議時に関連する共有コンテンツを閲覧する機能が改良されたシステムと方法の開発が望まれる。
【課題を解決するための手段】
【００１３】
本明細書に記載の実装例は、ライブドキュメントストリームの画像ベースのキーフレーム解析による、リモート共同セッション時のユーザインタラクションのライブ検出、分類、及び索引付け（例えば処理）のシステム及び方法を提供する。インタラクションが検出されると、カーソル移動、テキスト選択またはテキスト編集などのインタラクションカテゴリに分類され、その後で分類されたインタラクションを利用して、ライブドキュメントストリームのキーフレームが検索のために索引付けされる。次に索引付けされたキーフレームが視覚的に強調されて、発生したインタラクションを表示する。そしてインタラクションをリアルタイムまたは後で再生する場合に、インタラクションの明快な理解を提供する。このシステムはまた、複数のユーザのインタラクションを集積し、無関係なインタラクションを削除する閾値を活用し、目標とする検索のためのキーフレームに重み付けし、付加的コンテキストに対する画像及び音声を検出する。
【００１４】
第１実施形態は、方法であって、プロセッサが、リモート共同セッションのライブドキュメント映像ストリームを受信し、前記ライブドキュメント映像ストリーム中のカーソルのアクションを検出し、前記検出されたカーソルのアクションをアクションカテゴリに分類し、前記ライブドキュメント映像ストリームのキーフレームを検出し、前記検出されたキーフレームを前記アクションカテゴリに基づいて索引付けし、前記索引付けされたキーフレーム中のキーワードを検出し、前記カテゴリを用いて前記キーフレームを索引付けし、前記アクションカテゴリに基づいて前記キーフレーム中の前記カーソルのアクションを可視化し、前記可視化されたカーソルのアクションを表示する、ことを含む、処理を実行する。
【００１５】
第２実施形態は、第１実施形態の方法であって、前記可視化されたカーソルのアクションの表示をリアルタイムで実行する。
【００１６】
第３実施形態は、第１又は第２実施形態の方法であって、前記カテゴリを利用して前記キーフレームを索引付けすることが、前記検出されたキーワードに重み付けするために前記カテゴリを利用して前記キーフレームを索引付けすることをさらに含む。
【００１７】
第４実施形態は、第１〜第３実施形態の何れかの方法であって、前記アクションカテゴリは、テキスト選択の動き、テキスト編集の動き、及びカーソルの動きの内の少なくとも１つを含む。
【００１８】
第５実施形態は、第１〜第４実施形態の何れかの方法であって、前記アクションカテゴリは検出された動きの種類に基づいて選択され、かつ前記動きの種類は、以前のフレームと次のフレームとの間の算出されたフレーム差分の連結成分ボックス解析に基づいて判定される。
【００１９】
第６実施形態は、第１実施形態の方法であって、前記以前のフレームと前記次のフレームの間の１つ以上の未処理のピクセル差分に基づいて前記キーフレームを索引付けすることをさらに含む。
【００２０】
第７実施形態は、第１〜第６実施形態の何れかの方法であって、前記カーソルのアクションを前記アクションカテゴリに分類し、かつ対応するアクションカテゴリに基づいて前記キーフレーム中のワードを重み付けすることによって、前記キーフレームを索引付けすることをさらに含む。
【００２１】
第８実施形態は、第１〜第７実施形態の何れかの方法であって、前記カーソルのアクションが発生した前記キーフレーム領域に色または影を重ねることによって、前記カーソルのアクションを可視化することをさらに含む。
【００２２】
第９実施形態は、第１〜第７実施形態の何れかの方法であって、前記カーソルのアクションが発生した前記キーフレーム領域に前記カーソルのアクションの表示をアニメーション化することによって、前記カーソルのアクションを可視化することをさらに含む。
【００２３】
第１０実施形態は、リモート共同セッションにおけるユーザインタラクションを検出、分類及び可視化するシステムであって、リモート共同セッションのライブドキュメント映像ストリームを受信する受信ユニットと、  前記ライブドキュメント映像ストリーム中のカーソルのアクションを検出する検出ユニットと、前記検出されたカーソルのアクションをアクションカテゴリに分類する分類ユニットと、前記ライブドキュメント映像ストリームのキーフレームを検出して前記検出されたキーフレームを前記アクションカテゴリに基づいて索引付けし、かつ前記索引付けされたキーフレーム中のキーワードを検出して前記カテゴリを用いて前記キーフレームを索引付けする索引付けユニットと、前記アクションカテゴリに基づいて前記キーフレーム中の前記カーソルのアクションを可視化する可視化ユニットと、前記可視化されたカーソルのアクションを表示するディスプレイと、を備える。
【００２４】
第１１実施形態は、第１０実施形態のシステムであって、前記可視化されたカーソルのアクションをリアルタイムで表示する。
【００２５】
第１２実施形態は、第１０又は第１１実施形態のシステムであって、前記カテゴリを利用して前記キーフレームを索引付けすることが、前記検出されたキーワードを重み付けするために前記カテゴリを利用して前記キーフレームを索引付けすることをさらに含む。
【００２６】
第１３実施形態は、第１０〜第１２実施形態の何れかのシステムであって、前記検出ユニットは、前記ライブドキュメント映像ストリーム中の以前のフレームと次のフレームとの間の移動を検出して、１つ以上のユーザインタラクションを検出する。
【００２７】
第１４実施形態は、プログラムであって、ライブ映像ストリーム記録から、表示されたテキスト上の１つ以上のカーソルのアクションを検出し、前記検出された１つ以上のカーソルのアクションをインタラクションカテゴリに分類し、前記テキストに関連する１つ以上のキーワードを生成し、前記ライブ映像ストリームのキーフレーム内の１つ以上のキーワードを検出し、前記インタラクションカテゴリに基づいて前記キーフレームを索引付けし、インデックス中に生成された１つ以上のキーワードとともに、前記記録の少なくとも１つのフレームの仮ロケーションの索引項目を格納する、処理をコンピュータに実行させる。
【００２８】
第１５実施形態は、第１４実施形態のプログラムであって、前記検出は、前記検出された１つ以上のキーワードを重み付けするために実行される。
【００２９】
第１６実施形態は、第１４又は第１５実施形態のプログラムであって、前記処理は、前記表示されたテキスト上の前記１つ以上のカーソルのアクションの前記検出から、前記１つ以上のカーソルのアクションの種類を判定し、前記１つ以上のカーソルのアクションの種類がテキスト選択の種類であれば、前記テキストをハイライトし、前記１つ以上のカーソルのアクションの種類がテキスト編集の種類であれば、編集されたテキストをハイライトし、前記１つ以上のカーソルのアクションの種類がマウスのカーソルのアクションであれば、前記マウスカーソルのアクションの経路をハイライトする、ことをさらに含む。
【００３０】
第１７実施形態は、第１４又は第１５実施形態のプログラムであって、前記処理は、前記１つ以上のカーソルのアクションがマウスのカーソルのアクションであれば、前記マウスカーソルのアクションの経路に基づいて前記少なくとも１つのフレームをクロッピングすることをさらに含む。
【００３１】
第１８実施形態は、第１４〜第１７実施形態の何れかのプログラムであって、前記仮ロケーションは、前記生成された１つ以上のキーワードの語出現頻度に基づいて決定され、前記記録から前記１つ以上のカーソルのアクションを検出することが前記記録時に実行される。
【００３２】
第１９実施形態は、第１４〜第１８実施形態の何れかのプログラムであって、前記処理は、前記表示されたテキストから検出された前記テキストの１つ以上のワードを、前記記録の音声から検出し、前記表示されたテキストから検出された前記テキストの１つ以上のカーソルのアクションを検出することから、前記テキストに関連する１つ以上のキーワードを生成する、ことをさらに含む。
【００３３】
第２０実施形態は、第１４〜第１９実施形態の何れかのプログラムであって、前記処理は、キーワードクエリに応答して、前記キーワードクエリに関連する前記１つ以上のキーワードを有する前記索引項目を前記索引から検索し、前記索引項目に関連する前記１つ以上のフレームの前記仮ロケーションを戻す、ことをさらに含む。
【００３４】
本発明の概念のその他の特徴及び利点は、当業者が以下の詳細な記述と添付の図面を参照することによってより容易に明らかとなるであろう。
【図面の簡単な説明】
【００３５】
【図１】一実装例による、オンライン会議での画面共有ビデオで共有されたプレゼンテーションスライド上でのオンラインユーザアクションの軌跡例を示す図である。
【図２Ａ】一実装例による、ライブユーザインタラクションの検出、分類、及び検索の一方法のフローチャートである。
【図２Ｂ】一実装例による処理を示すフローチャートである。
【図３】一実装例による、ビデオのフレーム間でのマウスカーソル移動の検出を示す画像である。
【図４Ａ】一実装例による、ユーザのテキスト選択の検出を示す、プレゼンテーションスライドの画像である。
【図４Ｂ】一実装例による、ユーザのマウスカーソル移動の検出を示す、プレゼンテーションスライドの画像である。
【図５】一実装例によるグラフィカルユーザインタフェースの画像であり、ライブプレゼンテーションのフレーム、リアルタイム検出されたテキスト選択及び検出されたフレーム上のマウスカーソル移動を示すサムネイル画像を示す図である。
【図６Ａ】一実装例による、検出された動きをテキスト選択として視覚表示する、プレゼンテーションスライドの画像である。
【図６Ｂ】一実装例による、検出されたマウスの動きをマウス経路として視覚表示する、プレゼンテーションスライドの画像である。
【図７】いくつかの実装例での使用に適した、別の可動装置をナビゲートする機能を支援する装置などの例示的コンピュータ装置を有するコンピュータ環境の例を示す図である。
【図８】一実装例による、ユーザインタラクション検出システムのブロック図である。
【発明を実施するための形態】
【００３６】
実装例の構造及び操作は、以下の詳細な説明及び添付の図面を考察することで理解されるであろう。図面においては、同様の参照番号は同様の部品を表す。
【００３７】
以下の詳細な説明において、本発明の図と実装例の更なる詳細な説明を提供する。図面間での冗長な要素の参照番号及び記述は、簡明とするために省略されている。説明中に使用されている用語は例として与えられているものであり、制限することを意図するものではない。例えば「自動的」という用語の使用は、本発明の実装を実行する当業者の所望の実装に依存して、完全に自動的な実装であってもよいし、あるいはユーザまたはオペレータがその実装の特定の態様を制御することを含む半自動の実装であってもよい。さらには、本明細書で記述する実装例は、リモートユーザ間の画面共有を含むオンライン会議という観点で説明されているが、実装例はそれに限定されるものではない。
【００３８】
実装例は、テキスト変更とカーソル運動を検出するシステム及び方法、及びＷｅｂＲＴＣベースのシステムにおけるその実装を対象としている。さらに、実装例は、検出されて索引付けされたアクションに基づいてユーザが会議中にライブドキュメントをどのように検索するかということに向けられている。
【００３９】
より詳細には、実装例はライブドキュメントストリームの中でユーザがとるアクションの自動検出に係わる。これはテキスト編集とマウスカーソルの動きを含むが、それに限定されるものではない。テキスト変更とカーソルの動きの検出、及びその実装は、ＷｅｂＲＴＣベースのシステムで提供され、ユーザは、検出されて索引付けされたアクションに基づいて、オンライン会議中にライブドキュメントを検索することが可能となる。
【００４０】
本記述はテキスト編集、テキスト選択、及びマウスカーソルの動きに主眼を置くが、その他のタイプのユーザインタラクションも検出可能であって、本発明の範囲から逸脱することなく実装例に組み込むことができる。例えばリモート共同セッションを監視しているとき、マウスカーソルの動き、テキスト選択、及びテキスト編集を含むインタラクションがリモート共同セッションの内容の大半となっていることが判明した。
【００４１】
本明細書で説明する方法は、リモート共同セッション時におけるユーザインタラクションのリアルタイムでの検出、分類、及び可視化のために使用されるように構成されている。
ただし、本明細書におけるシステム及び方法は、事前に記録されたドキュメント映像ストリームにも同様に適用可能である。
【００４２】
本明細書に記載の実装例のいくつかのキーとなる概念は、以下を含む。（しかしながら、以下に限定されない。）
【００４３】
１）ライブまたは事前記録された、共有画面のビデオドキュメント（例えば、会議、講義、またはウェブキャストの記録）におけるカーソル及びテキストのアクションを自動的に検出すること。
【００４４】
２）検出されたインタラクションをビデオドキュメントストリームのキーフレームで検出されたワードにリンクさせ、これらのインタラクションを用いてこれらのワードの重要度（例えば語出現頻度）を高め、ビデオドキュメントの重要な一節を検索すること。
【００４５】
３）マウス及びテキストのアクションを利用して、対応するキーフレームの強調版をユーザに視覚的に提示すること。ここで視覚的な強調は、静的（例えば、選択されたワードに四角形を重ね、マウス経路に対してマウス軌跡を重ねる）であっても、または動的（テキスト選択とマウス経路をキーフレーム上に重ねて合成したレンダリングを示して、実際のビデオセグメントの再生を必要とせずに、アクションが発生した時にタイミングよくそれを伝達するアニメーション）であってもよい。
【００４６】
４）強調されたキーフレームはクロッピング、ズーム、またはその他の修正をして動き領域を強調し、対象領域をより的を絞ってユーザに提供可能であること（例えば、マウスの動きがあったグラフや図などの、閲覧ユーザにより関係の大きい指定領域のみが問合せユーザに見えるようにする）。
【００４７】
例えば図１には、オンラインミーティングからの短いビデオクリップ内の共有されたプレゼンテーションスライド１０１に、ユーザアクションを追跡した表示１００が示されている。マウスのアクションはドット（例えば１０３ａ、１０３ｂ、１０３ｃ、．．．）で示され、テキスト選択は四角形（例えば１０５ａ、１０５ｂ）で示されている。
【００４８】
図１に関しては、オンラインミーティング中に複数のユーザがプレゼンテーションスライド１０１について議論していた。そしてユーザの一人がプレゼンテーションスライド上の２つのワード、“Ｄｏｃｕｍｅｎｔｓ”１０７ａと、“ｄｅｍｏｎｓｔｒａｔｉｏｎ”１０７ｂをマウスでマークした（例えば、丸で囲んだ）。そして、スライド中の２つのワード、“Ｌｉｖｅ”１０９ａと“ＦＸＰＡＬ”１０９ｂのテキストを選択した。前述のアクションを例として挙げたが本実装例はそれに限られるものではなく、本出願の発明の範囲から乖離することなくコンピュータ環境において取り得るその他のアクションでそれを置き換えることが可能である。
【００４９】
ミーティング中またはその後で、ユーザ（例えば上記の丸で囲むアクション及び／又は選択するアクションを実行したユーザとは別のユーザ）が、ＷｅｂＲＴＣシステムを利用して用語“ＦＸＰＡＬ”または用語“ｌｉｖｅ”についてクエリまたは検索をすることがある。そのユーザは、いずれのキーワードにもアクションのないミーティングやキーフレームではなく、まさにそのキーフレームを見ることを所望する。そうするとそのユーザには、任意のテキストの周りまたはスライド（写真、ビデオまたは任意の種類のコンテンツ）の他の領域に何らかの形で（例えば図１のカラー網掛け及び／又はパターンを付けられて）視覚表示されたカーソルのインタラクション１０３ａ、１０３ｂ、１０３ｃが見えるであろう。同じように、テキスト選択インタラクション１０５ａ、１０５ｂが、セッション中にインタラクションされたテキストの周りに別の形（例えば図１の色付けされた網掛けボックス）で表示されていてもよい。
【００５０】
オンラインミーティング内では、一般的に同一のコンテンツが複数回表示される。ただし、そのコンテンツは異なるコンテキストで議論されるかも知れないし、または類似のコンテンツを有する別のオンラインミーティングで議論されるかもしれない。例えば、１つのオンラインミーティングを行っているユーザのグループが、オンラインプレゼンテーションスライドまたはペアプログラミングによるコーディングを準備して、「同一」のワードが現れるが、異なるコンテキストかつ異なる目的で使用される、という場合もあり得る。
【００５１】
上記のような場合においては、検出されたマウスベースのインタラクションによって、同一スライドで議論されていた可能性のある特定の設定をオンラインユーザがよりよく理解する（例えば、曖昧さをなくす）ことができるようにするコンテキストが与えられることがあり得る。その結果、問い合わせを行うユーザのためにコンテンツの索引付け及び検索が改善される可能性がある。
【００５２】
「インタラクション検出及び分類」
【００５３】
実装例によれば、上記したアクションの自動検出及び索引付けが、ライブ（例えば、リアルタイム）または録画されたビデオドキュメントに実行され、検索及び検索結果の表示が強化される。システムの一部はアクションを検出しカテゴリに分類することに関する（例えばインタラクション検出）。一例として、アクションのカテゴリには、マウスの動き、テキスト選択、及びテキスト編集が含まれてもよいが、アクションのカテゴリはこれらに限定されない。
【００５４】
図２Ａは、リモート共同セッションにおけるユーザインタラクションの検出、分類、可視化の方法の一実装例を示すフローチャートである。最初の動作２０２で、リモート共同セッションのライブ映像ストリームを受信する。例えば複数のリモートユーザが、画面、映像、音声、またはその他のコンテンツ入力を相互に共有していてもよく、各リモートユーザのライブ映像ストリームが受信されている。
【００５５】
さらに、動作２０４で１つ以上のユーザインタラクションを検出する。例えば、ユーザインタラクションには、リモートユーザがユーザ入力装置を介してアクション（例えば動き）を遂行することが含まれ得る。
【００５６】
動作２０６において、検出されたユーザインタラクションを、テキスト選択、テキスト編集、またはカーソル移動などの、インタラクションカテゴリに分類する。後で説明するように、ユーザインタラクションは、入力方法に基づくタイプまたは分類を持つように判定されてもよい。
【００５７】
動作２０８において、ユーザインタラクションに係わるキーフレームに索引付けし、動作２１０において、分類されたインタラクションを可視化する。索引付けのシステム及び方法については以下で詳細に議論する。
【００５８】
動作２１２において、ユーザが特定のタイプのインタラクションをレビューする問い合わせ（以下、クエリとも言う。）（例えば以前に議論ないしは共有したコンテンツに関するクエリ）を行うと、ブロック２１４において、そのクエリに係わる可視化されたインタラクションをリアルタイムでユーザに表示する。
【００５９】
図２Ｂは、インタラクションの検出の仕方に関する処理２００を示すフローチャートである。最初に動作２５２において、以前のフレーム（Ｐ）と次のフレーム（Ｎ）とのフレーム差分のバイナリを計算する。各ピクセル（ｘ，ｙ）に対して、ピクセルＰ（ｘ，ｙ）とＮ（ｘ，ｙ）の輝度値の間で、絶対値差分Ｄが計算される。この絶対値はＴ＝３２で閾値処理されて、差がある場合には２５５とし、差がない場合は０としてバイナリフレームＤが作成される。
【００６０】
上記の値、及び本明細書で議論するその他の値は、例示としてのみ提供されるものであって制限的な意図はない。従って当業者には理解されるように、本発明の範囲から逸脱することなく、他の値に置き換えることが可能である。
【００６１】
上記のように動作２５２において、２つの連続するフレームＰとＮとの間のこの差分Ｄの連結成分ボックス（ＣＣＢ）が与えられる。さらに、動作２５４で、次のフレームＮのバイナリ化版の連結成分である、ＣＣＢ（Ｄ）を、次のフレームＮに対して計算する。次のフレームＮのＣＣＢ（例えばＣＣＢ（Ｎ））は次のフレームＮのバイナリ化した連結成分を含む。この連結成分の組が次のフレーム上のテキスト領域の位置の検出に使用される。そしてその後、動作２６４で、新アクションボックスがいくつかの文字ボックスと重なり合うかどうかの判定に使用される。
【００６２】
動作２５８において、以前のフレームＰの境界ボックスは動作２５２の結果に基づいて変化する。動作２６０において新ボックスが選択され、新アクションボックスが生成される。
【００６３】
同様に、動作２５６において新フレームＮの境界ボックスが動作２５４の結果に基づいて生成される。一般的には、ゼロボックスは変化のない場合（例えばマウスカーソルが動かない場合）にみられ、ワンボックスは、例えば、マウスカーソルが少しだけ移動するが以前の位置から識別できない程度の距離の場合である。また、ツーボックスの場合もある。
【００６４】
動作２６４では、動作２６２の新アクションボックスが動作２５６で囲まれたいくつかの文字ボックスに重なるかどうかが判定される。結果が「ｙｅｓ」の場合（例えば重なりがある場合）、動作２６６によってそのアクションがテキスト選択であったと判定される。結果が「ｎｏ」の場合（例えば重なりがない場合）、動作２６８によってそのボックスがマウスまたは編集ボックスであると判定される。動作２７０において、ボックスが以前のボックスに対して水平に整列しているか、またはボックスが文字ボックスに似ているかどうかがさらに判定される。結果が「ｙｅｓ」の場合、動作２７４においてそのアクションがテキスト編集であると判定される。結果が「ｎｏ」の場合、動作２７２においてそのアクションがマウスの動きであると判定される。
【００６５】
上記の図２Ｂの処理の例は、本発明を制限することを意図していないので、本発明の範囲から逸脱することなく、当業者は周知の他の処理で置き換えてもよい。例えば、動作２６４及び／又は動作２７０において他の基準を用いて必要な判定をしてもよいが、本発明はこれに限定されない。さらに、実装例の発明範囲内で操作を除外、付加、または再編成することも可能である。
【００６６】
図３は２つのボックスが存在する例３００を示す。カーソルが位置３０１（赤色）から位置３０３（青色）へ移動した。カーソルが移動すると、フレーム差分のバイナリ版は２つの連結成分を含み、新位置３０３（青）が、以前のマウス位置３０１（赤）からの最大差分のボックスとして選択される。
【００６７】
ボックスの個数に依存して、（後で、そのアクションをマウスの動き、テキスト選択、またはテキスト編集として分類するために使用するために）新動きボックスが検出される。このとき、ボックスがない場合には、旧検出アクションが新動きボックスとして使用される。１つのボックスが存在する場合には、それが新動きボックスとして選択される。２つのボックスが存在する場合、新動きボックスが、旧ボックスとの差が最大のボックスとして選択される。なぜなら、もう１つのボックスは旧マウス位置を表しているからである。
【００６８】
上記のように、ボックスの個数に依存して新動きボックスが検出されてよい。新動きボックスは、例えば、マウスの動き、テキスト選択、またはテキスト編集などのようなアクションタイプの分類に使用することができる。
【００６９】
ボックスが判定されない（例えば位置の変化がない）状況では、以前の（例えば、旧）検出アクションを、新動きボックスとして使用する。１つのボックスが判定される場合には、そのボックスが新動きボックスとして選択される。２つのボックスが判定される場合、新動きボックスが、旧ボックスとは差が最大のボックスとして選択される。なぜなら、他のボックスは以前の位置（例えば旧マウス位置）を表しているからである。
【００７０】
上で説明したＤ及びＣＣＢの計算の他に、新フレームＮのバイナリ版もまた連結成分ボックスＣＣＢ（Ｎ）とともに計算される。
【００７１】
図４Ａ及び図４Ｂは、サンプルビデオドキュメント上の分類結果４００を表している。ここでは、ワード“Ｌｉｖｅ”４０８及び“ＦＸＰＡＬ”４１６が４１０、４１２で示すようにユーザによって選択された。そして前述したように、ワード“Ｄｏｃｕｍｅｎｔｓ”４０４及び“ｄｅｍｏｎｓｔｒａｔｉｏｎ”４０６が４１４の軌跡によって示されるようにマーク付けされた（例えば丸で囲まれた）。要素４１８は四角形４１０の左下角の数字であり、要素４１８は、この四角形４１０が「テキスト選択」として検出されたフレームの数を与えている。この結果は、後で説明するように索引付けの操作に組み込まれる。
【００７２】
新動きボックスをアクション（例えば、マウス、テキスト選択、テキスト編集）に分類するために、新動きボックスと新フレームＮの連結成分との交点ＣＣＮ（Ｎ）を計算する。アクションボックスがＣＣＮ（Ｎ）から指定される数（例えば、３）またはそれより多いボックスと実質的に重なり合えば、その動きボックスは、図４Ａ及び図４Ｂで示されるような「テキスト選択」として分類される。他方、動きボックスが以前のアクションボックスから水平方向に並進される場合には、これは「テキスト編集」として分類され、かつ以前の動きボックスもまた「テキスト編集」として分類される。上記のいずれにも該当しない場合には、その動きボックスは図４Ｂの４１４に示すように、「マウスの動き」としてラベル付けされる。
【００７３】
一実装例では、ライブドキュメント映像ストリームに関して協働し、インタラクションしている複数のユーザからのユーザインタラクションをキャプチャするようにシステムが構成されていてもよい。例えば、リモート共同セッションのすべてのユーザが編集機能及び各自のカーソルを持っている場合、システムはこの移動とテキスト編集のすべてをキャプチャし、各ユーザのインタラクションを個別に反映するか、またはこれらのインタラクションを一緒に集積してキーフレームのどの領域が共同して議論されたかを強調する。多くのユーザの間で個別のインタラクションを表示するために、異なる色、網掛け、線の太さなどを使用して、異なるユーザによるインタラクションを区別してもよい。
【００７４】
さらなる実装例において、システムは、共同セッション時の一人以上のユーザからの音声をキャプチャして、ユーザが話すワードを、映像ストリームの関連するコンテンツの視覚的強調に組み込んでもよい。システムは一般的に任意のユーザからのワードをキャプチャして、この情報を集積して可視化を強調する。または、システムは、声または音源によって各ユーザを個別に検出して、そのユーザに関連する音声供給に基づいて、各ユーザのインタラクションを個別にハイライトするように構成されていてもよい。中央サーバ（後で説明するインタラクションサーバなど）は、音声、映像、及び供給映像のその他の時間ベースの要素を同期させるための、時間同期サーバとして活用されてもよい。
【００７５】
「キーフレームの索引付け」
実装例の別の態様によれば、上に開示したようにして検出されたアクションは、ビデオドキュメントの索引付け（例えばキーフレーム索引付け）に使用されてもよい。以下で説明するように、少なくとも２つの索引付け処理の例（例えば、アルゴリズムアプローチ）がある。
【００７６】
第１の索引付け処理の例（例えば、第１のアルゴリズムアプローチ）によれば、未処理のピクセル差分のみが追跡される。もう１つの例としては、未処理のピクセル差分の連結成分ボックスが追跡される。これは所要メモリ使用量を低減できる可能性がある。キーフレーム中の認識されたワードに光学文字認識（ＯＣＲ）装置を適用する場合、認識された各ワードは、検出された変化の量によって重み付けされてもよい。
【００７７】
例えば、ワード境界ボックス下で動いたピクセルを有するすべてのフレームに対してワードの語出現頻度が増加されてもよい。その動きをクラス（例えばマウス、テキスト選択、テキスト編集）にさらに分類するのではなく、この処理では索引に信号を付加して、同じオンライン会議の中で検索する場合、またはいくつかのオンライン会議間で互いにランク付けする場合に、キーフレームに高いランクを与えてもよい。
【００７８】
第２の索引付け処理（例えば第２のアルゴリズムアプローチ）によれば、アクションが一例としてマウスの動き、テキスト選択または編集として分類される。ただし、これに限るものではない。これらの高位のカテゴリは、ＯＣＲ装置で検出されたワードの重み付けに利用される。重み付けは１つ以上の方式に従って実行されてもよい。例えば一例であるが、マウスの動きと比較してテキストアクションに付加的な重みが加えられてもよい。これらのカテゴリは、重みの代わりに検索フィルタとして適用されてもよい。さらに、ユーザは、ビデオドキュメント中の、テキストがカーソル（例えばマウスポインタ）によって指示またはフォーカスされたときを検索するではなく、ビデオドキュメント中の、テキストが編集されたときのみを検索することがあり得る。
【００７９】
前述の処理例に基づいて、フレームに重みが付与されてよい。動きの信号やアクションの付加を示す重みがなければ、フレームを相互に識別することは不可能であろう。
【００８０】
上記のアルゴリズムアプローチにおいて、キーワードに割り当てられる重みは、１つ以上の処理によって決定することが可能である。例えば、これに限定するものではないが、１つの重み決定処理として、与えられたキーワード全体における異なるピクセル数を数える方法がある（例えば、動作２５６で取得したワード境界ボックスに重なる、動作２５２で取得した白いピクセルを数える）。別の重み決定方法では、テキスト選択に対する動作２６６、マウスの動きに対する動作２７２、及びテキスト編集に対する動作２７４において判定される、高位のアクション（例えばマウスまたはテキストのアクション）を利用することが含まれてもよい。さらには、アクションの種類に関する情報なしでアクションが発生したすべてのフレームをユーザに示す第１の索引付け処理の場合とは違って、第２の索引付け処理に関連して述べたように、ユーザに検索結果の微調整が与えられる（例えば、テキストが編集されたフレームのみをユーザに与えることができる）。
【００８１】
上記の実装例で議論したキーフレームはテキストに対するものであったが、本発明の主題はそれに限るものではない。例えば、キーフレームは、その代わりに非テキストコンテンツ（例えば描画や図表などの図形情報）、または自然画像のコンテンツ（例えば、写真）であってもよい。
【００８２】
そのような非テキストの実装では、検索インタフェースはまた、検出されたインタラクションに従ったキーフレームのフィルタ方法をユーザに提供する。さらにテキストを含まないインタラクション領域に関しては、キーフレーム内のどこか別のところにテキストがあれば、そのテキストが検出されたインタラクションに従って押し上げられてもよい。これは同じキーフレーム内のテキストはその画像コンテンツに本質的に関連するからである。
【００８３】
さらには、テキストベースのクエリは、他の代替変形物と開示を含んでいてもよい。例えば、画像のみ（例えば、非テキスト）のキーフレームの仮ウィンドウ内の他のキーフレームで検出されるテキストを索引付けに利用してもよい。さらに、重み付け方式には減衰関数が含まれていて、これが画像のみのキーフレームを時間と共にテキスト用語へ変化させてもよい。音声に関しては、会議の音声内の発話テキストが、自動会話認識プログラムによって抽出されてもよい。
【００８４】
さらに、ＯＣＲテキストの場合、重み付け方式は検出されたインタラクションをベースにしてもよい。また、事前に訓練された自動画像注釈ツールを使って画像コンテンツのテキスト説明を生成してもよい。これを利用して確度指標を与えることができ、それを検索インデックスに組み込むことが可能である。
【００８５】
「インタラクションの可視化」
本システムのもう１つのコンポーネントは、結果をユーザに提示することに係わる。図５は、ユーザがマウスで１つの点をクリックしたことに基づく、時間軸（例えば底部ライン）にある７つの合致ポイントを示している。合致するキーフレームが、以下で説明するように、アクションを重ねた状態で示されている。より詳細には、図５は一実装例に従うインタフェースを示している。サムネイルが底部右側に、クエリ“Ｌｉｖｅ”に合致するフレームを示している。キーフレームは検出アクションで強調されている。すなわち２つのワード（“Ｌｉｖｅ”と“ＦＸＰＡＬ”）が選択され、２つのワード（“Ｄｏｃｕｍｅｎｔｓ”と“ｄｅｍｏｎｓｔｒａｔｉｏｎ”）がマウスポインタによって丸で囲まれている。
【００８６】
図５に示すように、グラフィカルユーザインタフェース（ＧＵＩ）５００の一実装例の画像が、ライブプレゼンテーションのフレーム５０２と、リアルタイム検出されたテキスト選択５０６を表すサムネイル画像５０４と、フレーム５０２上で検出されたマウスカーソルの動きとを示している。サムネイル５０４は、クエリ”Ｌｉｖｅ”に合致するフレームを含む。ユーザインタラクションに係わる視覚強調５０６が、検出されたアクションと共にサムネイル５０４に示されている。すなわち、図１にも示しているように２つのワード（“Ｌｉｖｅ”と“ＦＸＰＡＬ”）が選択され、２つのワード（“Ｄｏｃｕｍｅｎｔｓ”と“ｄｅｍｏｎｓｔｒａｔｉｏｎ”）がマウスポインタによって丸で囲まれている。
【００８７】
ＧＵＩの底部に示された時間軸５０８機能は、インタラクションが検出された時間軸上にいくつかの（例えば７つの）合致ポイント５１０を示している。ユーザが１つのポイント５１０をクリックすると、視覚強調されたインタラクションが上書きされた、合致するキーフレームがサムネイル画像５０４に現れる。
【００８８】
図５の実装例は、スタンドアロンのオンラインアプリケーションに提供されてもよい。あるいは、この実装例は既存のウェブブラウザまたはその他のオンラインツールに組み込まれて、オンラインコンテンツにアクセスしてもよい。さらには、この実装例はまた、第３者のオンラインツールのためのアドオンまたはプラグインとして提供されてもよい。
【００８９】
別の実装例によれば、クエリの結果がユーザに提供されてもよい。図６Ａ及び図６Ｂは、キーフレームに上書きされた検出アクション６００と６５０をそれぞれに表しており、クエリを要求するユーザへ提供されたものである。例えば、色の透明度がその対応するワード上に検出された動きの量を符号化していてもよい。図６Ａは、そこに発生したアクションのタイプを判定しないで、色付けされたワードを示しているが、図６Ｂではテキスト選択に対比させたマウスの円を示している（例えば、発生したアクションのタイプを含んでいる）。第２の索引付け処理例は、この実装例によればキーフレームの色付けを提供することに注意されたい。
【００９０】
例えば、上記の第１の索引付け処理（例えば第１のアルゴリズムアプローチ）によれば、図６Ａに示すように、色で検出された動きを上書きする（例えば、ワードの上に色付けをする）ことで検索されたキーフレームを強調してもよい。この処理によれば、キーフレームはむしろ図６Ｂに示すように、マウス経路とテキスト選択の合成された表示で強調されてもよい。これらの静的に強調されたキーフレームによれば、印刷可能なドキュメントではキャプチャできない方法で、会議中に合致するキーフレームを拾い読みすることが可能となる。
【００９１】
一実装例では、検出されたアクションが上記のようにキーフレーム上に上書きされてよい。ただし、対応するワード上で検出された動きの量を反映する、色の透明度の差を持っていてもよい。例えば、図１のカーソルの動きの強調は透明度が低くなっていて、そのワード上で多量の動きがあったことを示している。
【００９２】
これに代わる実装では、キーフレーム上でのマウス経路とテキストアクションを合成的に再生することによって、アニメーション化されたキーフレームが生成され、それによって、実際のビデオの再生（もしくは録画）なしで、このキーフレームに係わるアクションのより粗い画像がユーザに与えられてもよい。これらのアニメーション化されたキーフレームは、対応する音声クリップがユーザに提供（例えば、再生）されれば、ユーザには追加的なコンテキストが提供され得るので、ミーティング後のクエリまたは検索作業時に支援となり得る。動き経路はユーザにとって有用であり、ユーザは他のユーザからのコメントに関する情報を、テキストだけではなく、例えば、図表などの非テキストコンテンツに関しても得ることが可能となる。
【００９３】
さらに、前述したように画像のみのキーフレームがテキストなしで提供されてもよい。そのような実装例においては、空間グルーピングまたは画像分割技術を適用して任意の検出されたインタラクションを局所化することができる。従って、また前述したテキストベースの分割と実質的に同様に特定の画像領域を強調してクエリを行うユーザへの可視化を行うことができる。
【００９４】
別の実装例によれば、キーフレームを修正してもよい。例えば、ユーザにすべてのキーフレームを見せる代わりに、クエリを行うユーザにキーフレームの一領域のみを提供してもよい。これは動きを含むことが検出された領域にキーフレームのクロッピングを限定することができるクロッピングツールを利用することで達成される。クロッピングは、複数の画像領域（例えば複数の図やグラフ）にわたって現れるアクションに対して有効であり得る。
【００９５】
クロッピングに基づいて、検索装置がユーザのクエリに合致するキーフレームを検索し、クロッピングされたキーフレームのみを提示する。これによりユーザは動きを含む対象画像に集中することが可能となり得る。結果として、検出されたアクションに基づく探索により、テキストを含むクエリを実行するユーザに提供されるように、キーフレームを必要とせずにそのような画像を検索する方法をユーザに与えることが可能である。
【００９６】
コンテンツに特定の対象またはカテゴリが含まれる特定の領域においては、他の展開も可能であり得る。例えば、テキストスライドから描画グラフィックス、または他のキーフレームカテゴリを弁別する簡単な分類器が含まれていて、キーフレーミングや索引付けを強調し、それにより多面的な探索インタフェースが増強される。この手法のためには、クライアント（例えば、ブラウザ）上のライブストリームで分類がリアルタイムで実行されることが必要であり、そのために分類器をオフラインで事前訓練することが必要かもしれない。そのような手法は、特定のコンテキストにおける索引付けと検索を加速し得る。
【００９７】
前述の実装例に関しては、オンライン会議の１つのビデオクリップを含む５つのビデオクリップでテストを行った。この実装例では、マウス経路、テキスト選択、及びテキスト編集を検出した。強調されたキーフレームを生成して、検出されたアクションを元のキーフレーム上にどのようにレンダリングできるかを立証した。こうして、キーフレームをランク分けし、強調されたキーフレームを示すことで、ユーザがキーワード探索に基づいて進行ベースで会議に再参加することを可能とし得ることが示された。これらのテスト結果は例えば、図１、図４Ａ、図４Ｂ、図５、図６Ａ、図６Ｂに示されている。ただし、現在の実装例はこれらのテスト結果に限定されるものではなく、当業者には理解されるように様々な状況に応じて更なるテスト結果を取得可能である。
【００９８】
図７は、別の可動装置をナビゲートする機能を支援する装置などのようないくつかの実装例での使用に適した例示的コンピュータ装置を含む、コンピュータ環境の例を示す図である。コンピュータ環境７００におけるコンピュータ装置７０５は、１つ以上の処理ユニット、コアすなわちプロセッサ７１０、メモリ７１５（例えば、ＲＡＭ、ＲＯＭ、など）、内部記憶装置７２０（例えば、磁気、光学、固体記憶装置、及び／又は有機ストレージ）、及び／又はＩ／Ｏインタフェース７２５を含むことができ、これらのいずれも通信機構または情報を通信するためのバス７３０に接続可能であるか、またはコンピュータ装置７０５に埋め込み可能である。
【００９９】
コンピュータ装置７０５は、入力／ユーザインタフェース７３５及び出力装置／インタフェース７４０に通信可能に接続することができる。入力／ユーザインタフェース７３５及び出力装置／インタフェース７４０の一方または両方が、有線または無線のインタフェースであり、着脱可能である。入力／ユーザインタフェース７３５は、入力の提供に使用可能な任意の装置、コンポーネント、センサ、または物理的または仮想的なインタフェース（例えば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング／カーソル制御、マイク、カメラ、点字、モーションセンサ、光学読取装置、など）を含んでもよい。
【０１００】
出力装置／インタフェース７４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字、などを含んでもよい。いくつかの実装例では、入力／ユーザインタフェース７３５及び出力装置／インタフェース７４０はコンピュータ装置７０５に埋め込まれるかまたは物理的に接続することができる。別の実装例では、他のコンピュータ装置が、コンピュータ装置７０５に対する入力／ユーザインタフェース７３５及び出力装置／インタフェース７４０として機能するかまたはその機能を提供してもよい。
【０１０１】
コンピュータ装置７０５の例としては、高度なモバイル装置（例えば、スマートフォン、車両や他の機械における装置、人間又は動物が携行する装置、など）、モバイル装置（例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯テレビ、ラジオ、など）、及び携帯用に設計されていない装置（例えば、デスクトップコンピュータ、その他のコンピュータ、情報キオスク、１つ以上のプロセッサが内蔵及び／又は接続されたテレビ、ラジオ、など）が含まれてもよい。ただし、これらに限定されない。
【０１０２】
コンピュータ装置７０５は、外部記憶装置７４５と、任意の数のネットワークコンポーネント、装置、及び同一または異なる構成の１つ以上のコンピュータ装置を含むシステムと通信するためのネットワーク７５０に（例えばＩ／Ｏインタフェース７２５を介して）通信可能に接続されていてもよい。コンピュータ装置７０５または任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用装置、特殊用途装置などとして機能するか、それらのサービスを提供するか、またはそれらとして呼称されてもよい。
【０１０３】
Ｉ／Ｏインタフェース７２５には、コンピュータ環境７００における少なくともすべての接続されたコンポーネント、装置とネットワークとの間で一方向または双方向に情報を通信するための、任意の通信またはＩ／Ｏプロトコルまたは標準（例えば、イーサネット（登録商標）、８０２．１１ｘ、ユニバーサルシステムバス、ワイマックス、モデム、移動体通信ネットワークプロトコル、など）を用いる有線及び／又は無線インタフェースが含まれる。ただしこれらに限定されるものではない。ネットワーク７５０は任意のネットワークまたは複数のネットワークの組合せ（例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、移動体通信ネットワーク、衛星ネットワーク、など）であってよい。
【０１０４】
コンピュータ装置７０５は、一時媒体及び非一時媒体を含む、コンピュータ使用可能媒体またはコンピュータ可読媒体を使用可能であり、及び／又はそれらを用いた通信が可能である。一時媒体には、伝送媒体（例えば金属ケーブル、光ファイバ）、信号、搬送波、などが含まれる。非一時媒体には、磁気媒体（例えば、ディスクとテープ）、光学媒体（例えば、ＣＤ  ＲＯＭ、デジタルビデオディスク、ブルーレイディスク）、固体素子媒体（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、固体記憶装置）、及びその他の不揮発性記憶装置またはメモリが含まれる。
【０１０５】
コンピュータ装置７０５は、いくつかの例示的コンピューティング環境において、技術、方法、アプリケーション、処理、またはコンピュータ実行可能命令の実装に使用できる。コンピュータ実行可能命令を、一時媒体から呼び出し、非一時媒体に格納してそこから呼び出すことができる。実行可能命令は、１つ以上の任意のプログラミング言語、スクリプティング言語、及び機械言語（例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔなど）に基づくものであってよい。
【０１０６】
プロセッサ７１０は、ネイティブまたはバーチャルな環境において、任意のオペレーティングシステム（ＯＳ）の下で実行可能である。論理ユニット７６０と、アプリケーションプログラミングインタフェース（ＡＰＩ）ユニット７６５と、入力ユニット７７０と、出力ユニット７７５と、ＯＳ及び他のアプリケーション（図示せず）を持ち、異なるユニットが互いに通信するためのユニット間通信機構７９５と、を含む１つ以上のアプリケーションを展開することが可能である。上記のユニット及び要素は、設計、機能、構成、または実装における変形が可能であり、上記説明に限定されない。
【０１０７】
いくつかの実装例において、ＡＰＩユニット７６５が情報または実行命令を受信すると、１つ以上の他のユニット（例えば、論理ユニット７６０、入力ユニット７７０、出力ユニット７７５）に対してそれが通信されてもよい。いくつかの例では、論理ユニット７６０がユニット間の情報の流れを制御し、ＡＰＩユニット７６５により提供されるサービスを、前述のいくつかの実装例において入力ユニット７７０や出力ユニット７７５へ指示してもよい。例えば、１つ以上の処理や実装の流れが、論理ユニット７６０単独で制御されてもよいし、ＡＰＩユニット７６５と協同して制御されてもよい。入力ユニット７７０は実装例で説明した計算のための入力を取得するように構成され、出力ユニット７７５は、実装例で説明した計算に基づく出力を提供するように構成されていてもよい。
【０１０８】
図８は、リモート共同セッションにおけるユーザインタラクションを検出し、分類し、可視化するシステム８００の一実装例を示すブロック図である。ＷｅｂＲＴＣブラウザベースのセッションなどのようなリモート共同セッションは、コンピューティング装置を起動している少なくとも２人のユーザ、この場合にはＲＴＣユーザ８０４ＡとＲＴＣユーザ８０４Ｂとの間で、ＷｅｂＲＴＣサーバ８０２を介して行われる。インタラクションサーバ８０６は、受信ユニット８０８においてＷｅｂＲＴＣサーバ８０２からのライブドキュメント映像ストリームを受信する。
【０１０９】
映像ストリームは次に検出ユニット８１０へ送られ、１つ以上のユーザインタラクションを検出し、その後検出されたユーザインタラクションが分類ユニット８１２に送信されて、各ユーザインタラクションのインタラクションカテゴリが判定される。次に索引付けユニット８１４がユーザインタラクションに係わるキーフレームを索引付けし、可視化ユニット８１６が次にユーザインタラクションの可視化表示を生成する。これはその後、ユーザのクエリを受信するクエリユニット８１８を介して送信され、対応する結果を検索して、その結果をＲＴＣユーザ８０４Ａまたは８０４Ｂのいずれかに送信する。
【０１１０】
一実装例において、検出、分類、及びその他の解析は装置のクライアント側（例えばＲＴＣユーザ８０４Ａ及び／又は８０４Ｂ）で実行されてもよい。ただし、１つ以上のこれらの操作は、インタラクションサーバ８０６で実行されてもよいし、あるいはその操作が両者によって部分的に実行されてもよい。
【０１１１】
詳細な記述の一部は、アルゴリズムとコンピュータ内の操作の記号表現で提示される。これらのアルゴリズム表記と記号表現はデータ処理技術の当業者により、その新技術の要諦を他の当業者へ伝達するために利用される手段である。アルゴリズムは、所望の最終状態または結果に至る、一連の定義された操作である。実装例において、動作を実行するためには、具体的な結果を得るための具体的な物理的操作を必要とする。
【０１１２】
議論から明らかなように、特にそうでないことが記載されない限り、本記述の全体に亘って、「処理する」、「計算する」、「算出する」、「判定する」、「表示する」、あるいはそれに類する用語を用いた議論は、コンピュータシステムのレジスタとメモリ内に物理的（電子的）量として表されるデータを、コンピュータシステムのメモリやレジスタや、他の情報記憶、伝送またはディスプレイ装置内の物理量として同様に表される他のデータへ操作して変形する、コンピュータシステムまたは他の情報処理装置のアクション及び処理を含むことが理解される。
【０１１３】
実装例はまた、本明細書における操作を実行するための装置にも関する。この装置は、所用目的のために特別に構成されていてもよいし、あるいは１つ以上のコンピュータプログラムによって選択的に作動されるか再構成された、１つ以上の汎用コンピュータを含んでいてもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体中に格納されてもよい。
【０１１４】
コンピュータ可読記憶媒体は、これに限定されるものではないが、光学ディスク、磁気ディスク、読出し専用メモリ、ランダムアクセスメモリ、固体素子デバイスと駆動装置、または電子情報の格納に適したその他の任意の種類の有形または非一時的な媒体、などのような有形の媒体を含むことができる。コンピュータ可読信号媒体は、搬送波などの媒体を含むことができる。本明細書におけるアルゴリズムとディスプレイは、いかなる特定のコンピュータまたは他の装置にも固有的に関係するものではない。コンピュータプログラムは、所望の実装動作を実行する命令を含む、純粋なソフトウェア実装を含むことができる。
【０１１５】
様々な汎用システムが、本明細者の実装例に従うプログラム及びモジュールと共に使用可能であり、または所望の方法操作を遂行するためにより特殊化した装置を構築することが便宜的である場合もある。さらに、実装例はいかなる特定のプログラミング言語にも関連して記述されるものではない。多様なプログラミング言語が、本明細書に記載の実装例の教示を実装するのに使用可能であることが理解される。プログラミング言語の命令は、１つ以上の処理装置、例えば中央処理ユニット（ＣＰＵ）やプロセッサやコントローラで実行されてもよい。
【０１１６】
当技術分野において周知のように、上記の動作はハードウェア、ソフトウェア、またはハードウェア及びソフトウェアのある組合せによって遂行可能である。実装例の様々な態様は、回路と論理デバイス（ハードウェア）を用いて実装可能であり、その一方で他の態様は、機械可読媒体上に格納された命令（ソフトウェア）を用いて実装可能である。これはプロセッサで実行されると、プロセッサに本発明の実装を遂行する方法を実行させる。
【０１１７】
さらに、本発明のいくつかの実装例は、ハードウェアのみで遂行可能であり、他の実装例はソフトウェアのみで遂行可能である。さらには、記述された様々な機能は、単一のユニットで遂行することが可能であり、あるいは任意の数の方法で複数の構成要素にわたって展開することも可能である。ソフトウェアによって遂行される場合には、本方法は、コンピュータ可読媒体上に格納された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。所望により命令を圧縮フォーマット及び／又は暗号化フォーマットで媒体中に格納することも可能である。
【０１１８】
本実装例は、関連技術に対して様々な差異と利点を持ち得る。例えば、関連技術に関して前述したようにウェブページをＪａｖａｓｃｒｉｐｔで装備することとは対照的に、テキストとマウスアクションはビデオドキュメントで検出及び解析が可能である。
【０１１９】
さらに本発明の他の実装形態が、明細書を考察し、本発明の教示を実行することにより当業者には明らかとなるであろう。説明した実装例の様々な態様及び／又は構成要素は、単独もしくは任意の組合せで使用可能である。明細書及び実装例は例示としてのみ考慮されるべきであり、本発明の真の範囲と趣旨は以下の特許請求の範囲によって示されることが意図されている。
【符号の説明】
【０１２０】
７１０  プロセッサ
７５０  ネットワーク
７１５  メモリ
【図１】
0006641949.tif 000002
【図２Ａ】
0006641949.tif 000003
【図２Ｂ】
0006641949.tif 000004
【図３】
0006641949.tif 000005
【図４Ａ】
0006641949.tif 000006
【図４Ｂ】
0006641949.tif 000007
【図５】
0006641949.tif 000008
【図６Ａ】
0006641949.tif 000009
【図６Ｂ】
0006641949.tif 000010
【図７】
0006641949.tif 000011
【図８】
0006641949.tif 000012