JP6237386B2 - 映像ストリームをナビゲートするシステム、方法及びプログラム - Google Patents

映像ストリームをナビゲートするシステム、方法及びプログラム Download PDF

Info

Publication number
JP6237386B2
JP6237386B2 JP2014062455A JP2014062455A JP6237386B2 JP 6237386 B2 JP6237386 B2 JP 6237386B2 JP 2014062455 A JP2014062455 A JP 2014062455A JP 2014062455 A JP2014062455 A JP 2014062455A JP 6237386 B2 JP6237386 B2 JP 6237386B2
Authority
JP
Japan
Prior art keywords
video stream
user
semantically significant
module
key frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014062455A
Other languages
English (en)
Other versions
JP2015076875A (ja
Inventor
ローラン ドゥヌ
ドゥヌ ローラン
カーター スコット
カーター スコット
クーパー マシュー
クーパー マシュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Publication of JP2015076875A publication Critical patent/JP2015076875A/ja
Application granted granted Critical
Publication of JP6237386B2 publication Critical patent/JP6237386B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals

Description

本発明は、映像ストリームをナビゲートするシステム、方法及びプログラムに関し、詳細には、遠隔会議などの映像ストリームをナビゲートするシステム、方法及びプログラムに関する。
従来のコミュニケーション・ツール、例えばテキスト・チャットなどでは、テキストをタイプする画面をスクロールするだけで、過去のコミュニケーションの履歴を簡便に振り返ることができる。
米国特許第8117544号明細書 米国特許出願公開第2009/0113278号
アドコック(Adcock)ら、「トークマイナー、レクチャー・ウェブキャスト・サーチ・エンジン(TalkMiner, A Lecture Webcast Search Engine)、ACMマルチメディア予稿集(Proc. ACM Multimedia)、2010年10月25日 ドゥヌ(Laurent)ら、「スクリーンベース・ビデオのリアルタイム直接操作(Real-time Direct Manipulation of Screen-based Videos)、IUI予稿集(Proc. IUI)、2013年3月19日
ビデオ会議システムなどの映像ストリームを用いるコミュニケーション・ツールにおいては、過去のコミュニケーションの履歴を、そのコミュニケーションの進行中に簡単に振り返ることはできなかった。
本発明の第1の態様は、システムであって、遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、を備える。
本発明の第2の態様は、第1の態様のシステムであって、前記制御モジュールは、前記ユーザからの指令として、前記複数の意味的に重大なイベントの中から1つのイベントを選択する指令を受け付け、選択された前記イベントに関連付けられた前記キーフレームを前記表示装置に表示する。
本発明の第3の態様は、第1または第2の態様のシステムであって、前記格納モジュールは、キーフレームとして、各々の前記意味的に重大なイベントに対応する少なくとも1つのフレームを前記映像ストリームから抽出し、前記意味的に重大なイベントに関連付けて格納する。
本発明の第4の態様は、第1〜第3のいずれかの態様のシステムであって、ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する送信モジュールを更に備える。
本発明の第5の態様は、第4の態様のシステムであって、前記送信モジュールは、第2の映像ストリームを生成して前記遠隔のコンピュータに対し送信すると共に、当該第2の映像ストリームを送信している間にユーザからの指令に応じて前記キーフレームが表示された時には、当該第2の映像ストリームに代えて、ユーザからの指令に応じて前記キーフレームが表示されていることを示す情報を送信する。
本発明の第6の態様は、第1〜第5のいずれかの態様のシステムであって、前記映像ストリームは前記遠隔のコンピュータにおける画面の映像のストリームであって、前記意味的に重大なイベントは、前記遠隔のコンピュータにおけるテキスト操作のイベント、テキストのスクロールのイベント、コンピュータのデスクトップ中のイベント、前記映像ストリームが前記画面から前記遠隔のコンピュータのユーザの顔に切り替わるイベント、のうちの何れか1つである。
本発明の第7の態様は、第1〜第6のいずれかの態様のシステムであって、前記特定モジュールは、受信した前記映像ストリームを画像解析することによって前記複数の意味的に重大なイベントを特定する。
本発明の第8の態様は、第1〜第6のいずれかの態様のシステムであって、前記特定モジュールは、意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する。
本発明の第9の態様は、第1〜第3のいずれかの態様のシステムであって、ユーザからの選択によってカメラからの供給またはデスクトップの活動を第2の映像ストリームとして生成するキャプチャーモジュールと、予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第2の映像ストリームを前記遠隔のコンピュータに送信する、送信モジュール、とを更に備える。
本発明の第10の態様は、第1〜第9のいずれかの態様のシステムであって、当該システムは、前記遠隔のコンピュータのユーザと遠隔会議を行うためのシステムである。
本発明の第11の態様は、第1〜第10のいずれかの態様のシステムであって、前記映像ストリームは音声トラックを含み、前記受信モジュールは、前記キーフレームが表示された場合であっても前記音声トラックを再生し続ける。
本発明の第12の態様は、プログラムであって、コンピュータを、遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、受信した前記映像ストリームから複数の意味的に重大なイベントを特定する特定モジュールと、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、として機能させる。
本発明の第13の態様は、方法であって、コンピュータのプロセッサが、遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する。
本発明の構成を備えない場合と比較して、ユーザが効率よく映像ストリームをナビゲートすることができる。
各参加者が異なる種類のコンテンツを共有することができる、例示的なビデオ会議のシナリオを示す。 複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするための計算処理システムの例示的な実施例を示す。 複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするためのデスクトップ計算処理システムの例示的な他の実施例を示す。 デスクトップ計算処理システムにおけるメモリユニットの他の例示的な実施例を示す。デスクトップ計算処理システムにおいて、ビデオ会議アプリケーションは、ストリーム解析モジュールによって実行されたビデオフレーム解析結果(ビデオストリーム・メタ・データ)を他の計算処理システムに送信する。 モバイル型計算処理システムにおけるメモリユニットの他の例示的な実施例を示す。モバイル型計算処理システムにおいて、ビデオ会議アプリケーションは、ビデオフレーム解析結果を他の計算処理システムから受信する。 ビデオ会議ストリームのフレームを分類する処理の例示的な実施例を示す。 ビデオ会議アプリケーションのユーザ・インターフェイス生成モジュールによって生成されるグラフィカル・ユーザ・インターフェイスの例示的な実施例を示す。 ビデオ会議アプリケーションのグラフィカル・ユーザ・インターフェイス生成モジュールによって生成されるグラフィカル・ユーザ・インターフェイスの他の例示的な実施例を示す。 複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートする方法の実施例における、例示的な処理シーケンスを示す。
以下の詳細な記述において、添付の図面を参照する。添付の図面において、同様の機能を有する構成要素は同様の参照符号を付されている。添付の図面は例示のためのものであり、限定を意図するものではない。特定の実施例及び実装は本発明の原理と矛盾しない。これらの実装は当業者が実施できる程度に十分詳細に記述される。その他の実装が使用されてもよく、様々な構成要素の構造の変更及び/もしくは置き換えが本発明の範囲及び思想から逸脱することなく可能であることは理解されるだろう。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、記述される本発明の様々な実施例は、汎用計算機上で稼働するソフトウェアの形態によっても、専用ハードウェアの形態によっても、ソフトウェア及びハードウェアの組み合わせによっても、実装可能である。
「関連技術の説明」
当業者によく知られているように、新しいリアルタイムのビデオ会議システムを用いると、二人以上のユーザが、コンピュータネットワークを介して送られる映像及び音声のストリームを用いて、映像/音声の会議に参加することができる。そのような会議の進行中は、それぞれの会議参加者のコンピュータスクリーンは、それぞれが各会議参加者からのライブストリームを表示するための、会議参加者の総数と同じ数のライブストリームを表示する複数の部分に分割される。従来のシステムによれば、会議参加者は自身の画面を瞬間的に切り替え、例えば、製品のデモ、ウェブサイト、一組のスライド、または、PDFならびにテキストエディタファイルなどのドキュメントを表示することができる。
図1に示すように、ある例示的なシナリオでは、ある会議参加者は彼女の顔を画面101に表示し、彼女のワード・ドキュメントを画面102において共有し、画面103において彼女の顔に戻り、そしてその後に、画面104において、エディタにおいてコードを入力する画面を表示することができる。チャット・ウィンドウをスクロールし、記録を遡って以前の部分を参照できるような、テキストに基づくチャットシステムとは異なり、ビデオ会議の参加者はライブの映像フレームだけしか見ることができない。ライブの会議セッションを記録するためのストリームレコーダを使っても、ストリームを後で見るために記録することができるだけであり、ストリームをリアルタイムでナビゲートすることはできない。したがって、残念ながら、既存の会議技術を用いても、会議参加者は、ライブ映像ストリーム中の以前の映像フレームを振り返ることはできない。会議参加者は、その瞬間に参加者が共有している映像を見ることができるだけである。これは、利便性及び快適性を低下させてしまう。
このように、既存のビデオ会議システムは、映像ストリームをナビゲートする機能を欠き、不十分であった。したがって、各参加者によって共有される会議ストリームにおける、意味的に重大な箇所へ効率的に遡ることができる、新しい、改善されたシステム及び方法が必要とされる。
ビデオチャットツールを用いると、ユーザは彼ら自身の映像をストリーム送信することができるが、最近は、SkypeやGoogle Hangoutなどの多くのシステムを用いて、彼らの画面を共有することもできる。これにより、彼らのコンピュータスクリーンに表示されている、ドキュメント、ウェブサイト、あるいは、具体的なアプリケーションを素早く共有し、例えばコードの編集作業を実演することができる。ここで述べる実施例は、SkypeやGoogle Hangoutなどの手軽な解決方法を用いたビデオミーティングを盛んに行うようになった何百万ものユーザ(毎週や隔週に行う発明者自身を含む)に対応したものである。ドキュメントやスライドを共有することは思いつきで行われ、ツールに備わった画面共有機能を用いてユーザによって自発的に行われる。例えば、テキストのドキュメントまたは一組のスライドをある参加者が示す必要があるとき、彼女は、単に、デスクトップ上にそれを表示し、そして、その画面の共有をすることで全ての参加者にその画面が見えるようになる。このことは、ユーザが彼ら自身の映像のほかに別の映像をストリーム送信できるような、WebExのような伝統的なビデオ会議システムとは対照的である。
本発明の概念のある側面によれば、会議参加者が他の参加者によって共有されるストリームにおける意味的に重大な部分に効率的に遡ることができるシステム及び方法を提供する。当業者には明らかであるように、会議参加者はリアルタイムのコミュニケーションに参加しているため、標準的なビデオ・タイムラインを動かす必要に迫られずに、以前に表示されたコンテンツのような、過去のイベントに素早く遡ることができるツールを提供することが重要である。
そのため、ここで述べる1または複数の実施例によれば、会議システムは、ビデオ会議ストリームの中から意味的に重大なイベントを自動的に探し出すことができる。意味的に重大なイベントの種類としては、ページのスクロール、ウィンドウの移動、テキストのタイプ入力、顔の表示、などを含むが、これらに限定されない。当業者には明らかであるが、発明のコンセプトは、ここで述べた種類のイベントや他のあらゆる種類のイベントに限定されるものではない。会議システムにおける1または複数のモジュールを適切に設定することで、他の追加的な種類のイベントを取り扱うこともできる。ここで述べる1または複数の実施例によって提供される機能を用いることで、ビデオ会議の参加者は、既に示したドキュメントなどの、ビデオ会議ストリームにおける以前の部分に簡単に遡ることができる。ある実施例において、ストリームにおける上述の以前の部分に戻っている間も、会議のライブ音声を聞き続けることができる。ある実施例において、各会議参加者の行動を他の参加者に伝えることのできる、新しいユーザ・インターフェイスが提供され、これによって、各参加者の認知を高め、会議の進行を円滑にすることができる。
図2は、複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートする計算処理システム200の例示的な実施例を示し、ここで、計算処理システム200は、スマートフォン、PDA(personal digital assistant)、もしくは、タブレット・コンピュータなどの携帯型計算処理装置の形態の制限内で実装されてもよい。代替的な実施例において、計算処理システム200は、ラップトップもしくはノートブック・コンピュータに基づいて実装されてもよい。代替的な実施例において、計算処理システム200は、埋め込みシステムであってよく、電子ブック(あるいは、eブック)・リーダなどの所定の専用機能を有する電子装置に組み込まれていてもよい。代替的な実施例において、計算処理システム200は、当業者によく知られている拡張現実ヘッド−マウント・ディスプレイ(HMD)・システムの一部として実装されてもよい。
計算処理システム200はデータ・バス204あるいは計算処理システム200の様々なハードウェアの間で情報を伝達するためのその他の相互接続機構もしくは通信機構を含むことができる。中央処理ユニット(CPUあるいは単にプロセッサ)201はデータ・バス204に接続され、情報を処理し、その他の計算処理タスク及び制御タスクを実行する。計算処理システム200は、ランダム・アクセス・メモリ(RAM)もしくはその他の動的記憶装置などのメモリ212を含む。メモリ212は、データ・バス204に接続され、様々な情報及びプロセッサ201によって実行される指示を記憶する。メモリ212は、磁気ディスク、光ディスク、半導体フラッシュ・メモリ・デバイス、もしくは、その他の不揮発性記憶デバイスなどの永久記憶装置を含んでいてもよい。
一つもしくは複数の実施例において、プロセッサ201によって指示を実行する間、一時的な変数もしくはその他の中間的な情報を記憶するために、メモリ212が使用されてもよい。計算処理システム200は、さらに、リード・オンリー・メモリ(ROMもしくはEPROM)202もしくはその他の半導体記憶装置を含んでもよいが、含むか否かは任意である。リード・オンリー・メモリ(ROMもしくはEPROM)202もしくはその他の半導体記憶装置は、データ・バス204に接続され、計算処理システム200の操作に必要なファームウェア、BIOS(basic input-output system)、計算処理システムの様々な構成パラメータなどの静的情報及びプロセッサ201への指示を記憶する。
一つもしくは複数の実施例において、計算処理システム200は、表示装置209を備えていてもよく、表示装置209は、データ・バス204に接続され、計算処理システム200のユーザに様々な情報を表示する。代替的な実施例において、表示装置209は、(図示しない)グラフィック・コントローラ及び/もしくはグラフィック・プロセッサと関連付けられていてもよい。表示装置209は、例えば、当業者にはよく知られているTFT(thin-film transistor)技術もしくは有機LED(organic light emitting diode)技術を用いたLCD(liquid crystal display)として実装されていてもよい。異なる実施例において、表示装置209は、計算処理システム200のその他の構成要素と同じ一般的な筐体に含まれていてもよい。代替的な実施例において、表示装置209はそのような筐体の外側に配置されていてもよい。
一つもしくは複数の実施例において、表示装置209は、ユーザが装着している眼鏡のような様々なオブジェクトに情報を投影するプロジェクタもしくはミニ−プロジェクタの形態で実装されていてもよい。一つもしくは複数の実施例において、表示装置209はユーザの頭部に装着されてもよい。この場合、表示装置209は、(図示しない)装着に適したハードウェアを備えていてもよい。
一つもしくは複数の実施例において、計算処理システム200はデータ・バス204に接続されている音声再生装置225をさらに備えていてもよい。音声再生装置225は、MPEG−3ファイルなどの様々な音声ファイルを再生し、MPEG−4ファイルのような様々なビデオ・ファイルの音声トラックを再生することができる。MPEG−3ファイル、MPEG−4ファイルなどは当業者にはよく知られている。この場合、計算処理システム200は、(図示しない)波形プロセッサ(すなわち、音声プロセッサ)もしくは同様の装置を備えていてもよい。ここで述べる具体的な実施例において、音声再生装置225は、ビデオ会議のライブ音声ストリームをユーザに対して再生するように設定されてもよい。
一つもしくは複数の実施例において、計算処理システム200は、ビデオ会議参加者のタッチによる命令を受信するタッチスクリーン・インターフェイス210、ビデオ会議参加者及び/又は様々なオブジェクトの静止画像及びビデオを取得するカメラ211、キーボード206のような、一つもしくは複数の入力装置を備えていてもよい。これらの入力装置の全てはデータ・バス204に接続され、画像及びビデオ、ユーザが選択した命令を含む情報をプロセッサ201に伝達する。しかし、伝達される情報は画像及びビデオ、ユーザが選択した命令に限定されるものではない。代替的な実施例では、入力装置には、(図示しない)ユーザの目の動きを追跡するシステムが含まれていてもよい。このシステムは、ユーザによって選択された命令を計算処理システム200に示すために使用することができる。
1又は複数の実施例において、計算処理システム200は、音声記録デバイス203を更に備えてよく、これにより、ビデオ会議参加者の音声などの音声信号を記録し、更に選択的に、記録された音声信号をテキスト表現に変換してもよく、このためには例えば当業者によく知られたアルゴリズムが用いられてよい。
一つもしくは複数の実施例において、計算処理システム200は、データ・バス204に接続されているネットワーク・インターフェイス205などの通信インターフェイスをさらに備えていてもよい。ネットワーク・インターフェイス205は、WiFiアダプタ207及びGSM(登録商標)/CDMA(携帯電話ネットワーク)アダプタ208の少なくとも一方を用いて、計算処理システム200とインターネット224との間での通信を確立することができる。ネットワーク・インターフェイス205は、計算処理システム200とインターネット224との間で、双方向データ通信を提供してもよい。WiFiアダプタ207は、当業者にはよく知られている802.11a、802.11b、802.11g及び/もしくは802.11n、Bluetooth(登録商標)プロトコルに従って動作することができる。例示的な実装において、WiFiアダプタ207及びGSM/CDMAアダプタ208は、様々な種類の情報を示すデジタル・データ・ストリームを搬送する電気信号もしくは電磁信号を送受信する。
一つもしくは複数の実施例において、一般的に、インターネット224は、一つもしくは複数のサブ−ネットワークを介して、その他のネットワーク資源へのデータ通信を提供する。したがって、計算処理システム200は、遠隔メディア・サーバ、ウェブ・サーバ、その他のコンテンツ・サービス、その他のネットワーク・データ・ストレージ資源などの、インターネット224のいずれかの位置に置かれている様々なネットワーク資源にアクセスすることができる。一つもしくは複数の実施例において、計算処理システム200はメッセージ、メディア、及び、アプリケーション・プログラム・コードを含むその他のデータを、ネットワーク・インターフェイス205によって、インターネット224を含む様々なネットワークを介して、送受信する。例示的なインターネットにおいて、計算処理システム200がネットワーク・クライアントとして動作する場合、計算処理システム200上で稼働しているアプリケーション・プログラムのコードもしくはデータを計算処理システム200は要求することができる。同様に、計算処理システム200は、その他のネットワーク資源へ様々なデータもしくは計算処理コードを送信することができる。
1又は複数の実施例において、計算処理システム200は、ネットワーク・インターフェイス205を用いて、インターネット224を介して、他のビデオ会議参加者の計算処理システムにアクセスし、当該他のビデオ参加者との間で、ビデオ会議ストリームの送信及び受信をそれぞれ行ってもよい。
一つもしくは複数の実施例において、ここで記述される機能は、メモリ212に含まれる一つもしくは複数の指示の一つもしくは複数のシーケンスを実行するプロセッサ201に応じて、計算処理システム200によって実装される。指示は、他のコンピュータ読取可能媒体からメモリ212に読み込まれてもよい。メモリ212に含まれている指示のシーケンスを実行することによって、ここで記述されている様々な処理のステップがプロセッサ201によって実行される。代替的な実施例において、本発明の実施例を実装するために、ソフトウェアの指示に代えて、もしくは、ソフトウェアの指示と組み合わせて、ハードウェアによって実現されている回路が使用されてもよい。すなわち、本発明の実施例は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されるものではない。
ここで使用される用語「コンピュータ読取可能媒体」は、プロセッサ201へ実行するための指示を提供する際に関与する任意の媒体であってよい。コンピュータ読取可能媒体は、機械読取可能媒体の単なる一例であり、ここで記述される方法及び/もしくは技術の何れかを実装するための指示を搬送することができる。このような媒体は、不揮発媒体、揮発媒体などを含むが、これらに限定されない、多くの形態を採ることができる。
非一時コンピュータ読取可能媒体の一般的な形態は、例えば、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、もしくは、任意のその他の磁気媒体、CD−ROM、任意のその他の光媒体、パンチカード、紙テープ、孔パターンを有する任意のその他の物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュ・ドライブ、メモリ・カード、任意のその他のメモリ・チップ、もしくはカートリッジ、もしくは、コンピュータがそこから読み取ることができる任意のその他の媒体を含む。コンピュータ読取可能媒体の様々な形態は、プロセッサ201への、一つもしくは複数の実行する指示の一つもしくは複数のシーケンスの搬送に関連してもよい。例えば、指示は、遠隔コンピュータから磁気ディスクにまず搬送されてもよい。代替的に、遠隔コンピュータは、遠隔コンピュータのダイナミック・メモリに指示をロードし、インターネット224によって指示を送信してもよい。詳細には、コンピュータの指示は、当業者にはよく知られている様々なネットワーク・データ通信プロトコルを用いて、インターネット224を介して、遠隔コンピュータから計算処理システム200のメモリ212へ、ダウンロードされてもよい。
一つもしくは複数の実施例において、計算処理システム200のメモリ212は、以下のソフトウェア・プログラム、アプリケーション、もしくは、モジュールのいずれかを記憶してもよい。
1.オペレーティング・システム(OS)213。オペレーティング・システム(OS)213は、基本システム・サービスを実装し、計算処理システム200の様々なハードウェア構成要素を管理する携帯型装置用オペレーティング・システムであってもよい。実施例のオペレーティング・システム213は、当業者には全てがよく知られているAndroid、iOS、Windows(登録商標)、Windows Mobile、Linux(登録商標)、その他の現在知られている、もしくは、今後開発されるオペレーティング・システムであってよいが、これらに限定されるものではない。
2.モバイル・アプリケーション214は、例えば、計算処理システム200のプロセッサ201によって実行される一連のソフトウェアを含んでよく、これによって、計算処理システム200は、予め定められたある処理、例えば、会議参加者のデジタル画像や映像を、カメラ211を用いて撮影するなどの処理や、表示装置209を用いてビデオ会議ストリームの1又は複数の表示する処理、及び/または、音声再生装置225を用いてビデオ会議のライブ音声を再生する処理を行ってよい。
3.データストレージ221は、例えば、本発明のビデオ会議アプリケーション215に関連して映像ストリームを格納するために用いられると共に、このビデオ会議ストリームに関連したさまざまなメタデータをストリーム・メタデータ・ストレージ222に格納してよい。この格納の処理は、本発明に係る格納モジュールの一例である、プロセッサ201が、ソフトウェアと協調することによって実現されてよい。1または複数の実施例において、このようなメタデータは、受信したビデオ会議ストリームにおいて特定された意味的に重大なイベントに関する情報を含んでよい。1または複数の実施例において、データストレージ221に格納された追加的な情報は、会議における音声のストリームをあらわすテキストの記録であってよい。加えて、計算処理システム200がインターネットを介して受信した他のデータがデータストレージ221に更に格納されてもよい。
1または複数の実施例において、本発明のビデオ会議アプリケーション215は、計算処理システム200の表示装置209に表示されたビデオ会議ストリーム中の簡単にナビゲートするためのグラフィカル・ユーザ・インターフェイスを生成する、グラフィカル・ユーザ・インターフェイス生成モジュール220を更に備えてよい。グラフィカル・ユーザ・インターフェイス生成モジュール220は、本発明に係る制御モジュールの一例である。これによって生成されたグラフィカル・ユーザ・インターフェイスは、他のユーザによって共有されたビデオ会議ストリームをユーザに対し表示してよい。また、受信したビデオ会議ストリーム中で特定された意味的に重大なイベントにもとづいて、共有されたビデオ会議ストリームの履歴をユーザに対し表示してもよい。また、受信したビデオ会議ストリームの中で特定され、かつ、共有の履歴に含まれる、意味的に重大なイベントに関連して、ユーザからナビゲートのための指令を受け付けてもよい。そしてそれに応じて、意味的に重大なイベントに関連する情報を表示してもよい。
本発明のビデオ会議アプリケーション215は、インターネット224を介して他のビデオ会議参加者の計算処理システムから、共有されたビデオ会議のストリームを受信する、映像ストリーム受信モジュール216と、受信したビデオ会議ストリームを解析してそのビデオ会議ストリーム中の意味的に重大なイベントを自動的に特定する映像ストリーム解析モジュール217と、他の会議参加者と共有するためにユーザのビデオ会議ストリームを生成する映像ストリーム・キャプチャ・モジュール218と、ユーザから共有されたビデオ会議ストリームを、インターネット224を介して他のビデオ会議参加者によって用いられる計算処理システムに対し送信する映像ストリーム送信モジュール219と、を有してよい。1または複数の実施例において、映像ストリーム解析モジュール217は、ビデオ会議ストリーム中のそれぞれの映像フレームに対し画像解析を行ってもよい。
図3は、複数のビデオ会議ストリームをリアルタイムに効率的にナビゲートするための計算処理デスクトップ・システム300の例示的な実施例を示す。一または複数の実施例において、計算処理デスクトップ・システム300は、データ・バス304を備えてよく、これは、図2において説明した計算処理システム200のデータ・バス204と実質的に同様である。さまざまな実施例において、データ・バス304は、データ・バス204と同じまたは異なる相互接続及び/または通信のプロトコルを用いてよい。同じように、計算処理デスクトップ・システム300の1または複数のプロセッサ(CPU)301、ネットワークアダプタ305、EPROM/ファームウェア・ストレージ302、表示装置309、及び、キーボード306は、計算処理システム200のプロセッサ201、EPROM/ファームウェア・ストレージ202、表示装置209及びキーボード206と、これらがデスクトップのプラットフォームに配置されることを除いて、それぞれ実質的に同様である。さまざまな実施例において、1または複数のプロセッサ301は、プロセッサ201と比べてはるかに大きな処理能力を有してよい。
キーボード306(入力装置)に加えて、計算処理デスクトップ・システム300は、さらに、方向情報及び命令の選択をプロセッサ301に伝達し、表示装置309上のカーソルの動きを制御するマウス、トラックボール、カーソル方向キーなどのカーソル制御装置310を備えていていもよい。このカーソル制御装置は、一般に、第一の軸(例えば、x)及び第二の軸(例えば、y)の二軸に二つの自由度を有し、平面上の位置を特定することができる。
計算処理デスクトップ・システム300のLAN/ISDNアダプタ307は、例えば、(図示しない)インターネット・サービス・プロバイダのハードウェアを用いてインターネットとインターフェイス接続する、対応する種類の電話線とのデータ通信接続を提供するために、ISDN(Integrated Services Digital Network)カードもしくはモデムを用いて、実装されてもよい。他の例として、LAN/ISDNアダプタ307は、互換性のあるLAN及びインターネット224とのデータ通信接続を提供する、LAN NIC(Local Area Network Interface Card)であってもよい。様々なメディア・ファイルを記憶するために、計算処理デスクトップ・システム300は、ストレージ制御手段303によって、データ・バス304に接続されているメディア・ストレージ308を備えていてもよい。
1または複数の実施例において、計算処理デスクトップ・システム300のメモリ312は、下記のソフトウェア・プログラム、アプリケーション、またはモジュールのうちのいずれかを格納してもよい。
1.デスクトップ・オペレーティング・システム(OS)313。デスクトップ・オペレーティング・システム313は、基本システム・サービスを実装し、計算処理デスクトップ・システム300の様々なハードウェア構成要素を管理するためのオペレーティング・システムであってよい。実施例のデスクトップ・オペレーティング・システム313は、当業者には全てよく知られており、現在知られている、もしくは、今後開発されるオペレーティング・システムであってよい。
2.ネットワーク通信モジュール314。ネットワーク通信モジュール314は、LAN/ISDNアダプタ307と共に働くネットワーク・インターフェイス305を用いて、計算処理デスクトップ・システム300と計算処理システム200のような、インターネット224の様々なネットワーク・エンティティとの間のネットワーク接続を確立するために使用される、例えば、一つもしくは複数のネットワーク・プロトコル・スタックを含むことができる。
3.デスクトップ・アプリケーション315は、例えば、計算処理デスクトップ・システム300の一つもしくは複数のプロセッサ301によって実行されるソフトウェア・アプリケーションのセットであってよく、所定の機能もしくはタスクを計算処理デスクトップ・システム300に実行させる。一つもしくは複数の実施例において、デスクトップ・アプリケーション315は、後で詳しく述べる、本発明のビデオ会議アプリケーション316を有してよい。1または複数の実施例において、本発明のビデオ会議アプリケーション316は、計算処理デスクトップ・システム300の表示装置309に表示されるビデオ会議ストリーム中の簡単にナビゲートするための本発明に係るグラフィカル・ユーザ・インターフェイスを生成する、グラフィカル・ユーザ・インターフェイス生成モジュール321を有してよい。
本発明のビデオ会議アプリケーション316は、更に、他のビデオ会議参加者の計算処理システムからインターネット224を介して、共有されたビデオ会議ストリームを受信する映像ストリーム受信モジュール317、受信したビデオ会議ストリームを改正して受信したビデオ会議ストリーム中の意味的に重大なイベントを自動的に特定する映像ストリーム解析モジュール318と、他の会議参加者と共有するビデオ会議ストリームを生成する映像ストリーム・キャプチャ・モジュール319と、他のビデオ会議参加者によって用いられる計算処理システムに対しインターネット224を介して、ユーザによって生成され共有される当該ビデオ会議ストリームを送信する映像ストリーム送信モジュール320と、を有する。
1または複数の実施例において、計算処理システム200に配置されるビデオ会議アプリケーション215の動作と本発明にかかるビデオ会議アプリケーション316の上述のモジュールの動作とは実質的に同様であり、詳しくは後述する。
4.データストレージ322は、例えば、ビデオ会議アプリケーション316に関連して用いられる映像ストリームを格納するために用いられ、更に、上述のビデオ会議ストリームに関連するさまざまなメタデータを、メタデータストレージ323に格納してよい。1または複数の実施例において、そのようなメタデータは、受信したビデオ会議ストリーム中で特定される意味的に重大なイベントの情報を含んでよい。1または複数の実施例において、データストレージ322に格納される追加的な情報としては、会議の音声ストリームを表すテキスト記録のデータを含んでよい。これに加えて、計算処理デスクトップ・システム300によってインターネット224を介して受信された他のデータがデータストレージ322に更に格納されてよい。
計算処理システム200及び計算処理デスクトップ・システム300に配置されたさまざまなソフトウェアモジュールの動作を説明する。ビデオ会議中のユーザの利便性を高めるため、映像ストリーム解析モジュール217(318)は、映像ストリームをリアルタイムに自動的に解析してある特定の種類のイベントを検出する。この情報は、会議参加者が素早く前に戻って、共有されたスライド、テキストの編集、スクロール、デスクトップ上の活動などのイベントを効率的に振り返ることができるようにするために用いられる。このように、1または複数の実施例において、計算処理システム200及び計算処理デスクトップ・システム300によって、ユーザは、ライブストリーム中に素早く戻って、スライドの共有、ウェブサイトが表示された時の画面、または、ある参加者がPDFドキュメントを表示した時の画面のような、意味的に重大なセグメントに到達することができる。
「フレームや画面ショットにおけるコンテンツの種類のリアルタイムの検出」
1または複数の実施例において、ビデオ会議ストリーム受信モジュール216(317)によって受信されるビデオ会議ストリームは、当業者によく知られたHTML5規格などに従うビデオフレームフォーマットに従ったビデオフレームのような、一連のビデオフレームを有してよい。ビデオストリーム解析モジュール217(318)は、1または複数のアルゴリズムを用いて、HTML5ビデオフレームのような流入してくるビデオフレームを、意味的に重大なコンテンツの種類の集合に分類する。典型的な画面共有セッションの中で発生するコンテンツの種類は、例えば、以下のとおりであるがこれに限定されない。
1.テキスト・コンテンツ。テキストを含むプレゼンテーションのスライド、テキスト(例えばPDFビューワ、ワード・ドキュメント)、そして、テキスト編集(例えば、ライブでのコーディングのセッション)。ただし、これに限定されない。
2.スクロールされたコンテンツ(例えば、ウェブページのデモ、ワード、PDFビューワ)を含むテキストスクロール・コンテンツ。ただし、これに限定されない。
3.1または複数の人間の顔やビデオを含むフェイス・コンテンツ。ただし、これに限定されない。
4.コンピュータのデスクトップ及び/またはコンピュータのデスクトップの活動を含む、デスクトップ・コンテンツ。ただし、これに限定されない。
5.マウス及び/またはポインタの活動を含むマウス活動。ただし、これに限定されない。
注目すべきことに、1または複数の実施例において、単一の映像フレームに複数のフレーム(コンテンツ)の種類がラベル付けされてもよい。例えば、テキスト及びテキスト・スクロールのコンテンツ・ラベルが、テキストつきのドキュメントを含み、かつ、スクロールされているフレームに関連付けされてよい。他の例として、一連のフレームが「テキスト」としてラベル付けされると共に、テキストをユーザが操作している間に発生したマウスの動作を更に含んでよい。1または複数の実施例において、映像ストリーム解析モジュール217(318)は、マウスの活動があったとしてもテキストを示すフレームにより高い重要度を与えてもよい。なぜなら、マウスの活動の存在は、ユーザがテキスト中の文について何か強調をしたいと思っていると考えられるからである。さらに、ここで述べた技術は、ここで述べたHTML5の映像フレームだけに限定されず、他の如何なる適切なフォーマットに従う映像フレームであっても、ここで述べた映像フレームの解析に関連して同じように用いることができる。
1または複数の実施例において、映像フレームの分類に必要な計算は、映像フレーム解析モジュール217(318)を用いてリアルタイムに実行される。1または複数の実施例において、ビデオ会議アプリケーション215(316)は、計算処理システム200及び/または計算処理デスクトップ・システム300において実行されるウェブ・ブラウザに関連して設けられてよい。具体的には、ビデオ会議アプリケーション215(316)は、上述のウェブ・ブラウザに関連して動作するアドオン、または、プラグインとして実装されてよい。そしてその場合には、映像ストリーム解析モジュール217(318)も、計算処理システム200及び/または計算処理デスクトップ・システム300にインストールされた上述のウェブ・ブラウザに関連付けて設けられてよい。
1または複数の実施例において、計算処理システム200が、会議の映像ストリームを独立して解析するのに充分な処理能力を保持していない場合には、計算処理システム200は、映像フレームの解析結果を例えば図3に示す計算処理デスクトップ・システムなどの他の参加者の計算処理デバイスから受取ってよい。1または複数の実施例において、この処理は、例えば、当業者に良く知られた、ブラウザのようなアプリケーション間でリアルタイムの通信を可能にするRTCPeerConnectionメッセージチャネルを介して行われてもよい。1または複数の実施例において、例示的なRTCPeerConnectionメッセージチャネルは、例えば、特定の時間におけるフレームが特定の種類であるかどうか、例えば、スライドのフレームであるかどうかを示す。本発明は、上述のRTCPeerConnectionメッセージチャネルに限定されず、他の適切な如何なるメッセージプロトコルを、異なる会議参加者によって用いられる計算処理システム間でフレームの種類を伝達するために用いてもよいことが認識されるべきである。当業者には明らかなように、上述の実施例においては、計算処理システム200においてはフレーム解析の計算はまったく必要ではなく、ある時間ウィンドウについて受け入れたフレーム、例えば5分間のフレームについての記憶領域だけが必要となる。
図4は、上述の計算処理デスクトップ・システム300のメモリ312の他の例示的な実施例を示し、そこで、ビデオ会議アプリケーション316は、ストリーム解析モジュール318によって実行された映像フレーム解析の結果(映像ストリーム・メタデータ)を、計算処理システム200のような他の計算処理システムに送信する。この目的のため、図4に示すビデオ会議アプリケーション316は、他の計算処理システムに対し映像フレームの解析結果を送信する、メタデータ送信モジュール401を有する。一方で、図5は、計算処理システム200のメモリ212の他の例示的な実施例を示し、そこにおいて、ビデオ会議アプリケーション215は、上述の計算処理デスクトップ・システム300のような、他の計算処理システムから、映像フレーム解析の結果を受け取る。上述のメタデータを受信する処理は、メタデータ受信モジュール501を用いて実行される。
1または複数の実施例において、映像フレームの解析に必要な処理の速度は、新たな、と以前のフレームとのフレーム間の違いを計算し、もし新たなフレームが以前のフレームと異なるのであれば以下に述べるステップを適用する、という一連の処理の前に、オリジナルのビデオフィードを、スケールダウンする事によって最適化される。当業者には明らかな通り、上述のスケールダウンによれば、会議参加者がデスクトップ、ドキュメント、あるいは、テキストエディタを示している場合において、必要なプロセッサ・サイクル数を大幅に減らすことができる。
図6は、ビデオ会議ストリームにおけるフレームを分類するプロセッサ600の例示的な実施例を示す。図6に示すように、すべてのフレームは初期段階においては分類されていない。未分類状態601を参照されたい。それぞれのフレームは、続いて、潜在的なデスクトップフレーム(デスクトップ‘状態602)または、潜在的な顔のフレーム(顔’状態603)に分類される。十分な数のフレームが蓄積されると、図6においてプライム付して示したそれぞれの状態(602及び603)は、それぞれの実際の状態(プライムなし)にそれぞれ遷移する。上述の十分な数のフレームは、ストリーム解析モジュール217(318)の設定パラメータによって定まる予め定められた数のフレームであってよい。
同様に、デスクトップフレームは、スライド‘(プライム付き)606またはテキスト’(プライム付き)に初めに分類され、そして後に実際の(最終的な)分類状態608及び609(プライムなし)にそれぞれ分類されてもよい。テキストのフレームは、さらに、初期段階において、あるいは、最終的に、テキスト−編集‘610(プライム付き)及び611(プライムなし)にそれぞれ分類されてよい。予め定められた数のフレームの集合について、判断されたフレームの種類が、現在の状態と異なる場合には、状態は階層の親に位置するプライムなしの状態に戻る(つまり、現在の状態がスライド608であり、スライドでないフレームの集合が現れた場合には、その状態は、未分類601に戻る前に、デスクトップ604に戻る。)
1または複数の実施例において、ストリーム解析モジュール217(318)によって実行されるビデオ会議ストリームの解析に加えて、ユーザの現在の入力ソースのメタデータが、その会議ストリーム中のビデオフレームの初期分類として用いられてよい。例えば、そのようなメタデータは、カメラ211(311)からのものか計算処理システムのデスクトップの活動かを容易に区別するために用いることができる。しかしながら、当業者に明らかなように、ウェブアプリケーションのようなある特定のアプリケーションについて、画面の活動をさらに詳しく分類するためのメタデータは、入手できない。したがって、1または複数の実施例において、ビデオ会議システムアプリケーション215(316)は、ダウンロード可能なアプリケーションとしてユーザに対し提供され、これにより、ビデオ会議の間に用いられるアプリケーションのそれぞれについて、メタデータを検出、及び、検出したメタデータの送信を行うことができる。
「テキスト、スライド、及び、テキスト編集の検出」
1または複数の実施例において、テキストのスライドまたはテキストの編集を含むビデオフレームを検出するために、ストリーム解析モジュール217(318)は、連結成分を算出し、そして、文字囲いボックスを判別する。これには、当業者にはよく知られるように、非特許文献1に開示されたアルゴリズムを用いてよい。
1または複数の実施例において、連結成分の算出及び文字囲いボックスの判別に関する上述の処理に続いて、ビデオフレームが下記のようにラベル付けされる。
1.スライドとして判別。文字囲いボックスが十分に大きく(例えば、上述の開示において述べられるヒューリスティックスまたは分類器を用いる。)、かつ、いくつかのフレームに亘って一貫性がある場合。
2.テキストとして判別。判別した文字囲いボックスがいくつかのフレームに亘って動かない、例えば、アクロバットリーダのPDFのページが示されるとき。
3.テキストの編集として判別。以前のフレームと同じ背景部分に新たな文字囲いボックスが現れるとき。
1または複数の実施例において、いくつかのフレームが、テキストの編集に分類されるが、ナビゲーションの目的のために、その中から1つの代表フレームを選び出すのが有用である。すなわち、ある実施例において、ストリーム解析モジュール217(318)は、テキスト編集についての一連のフレームの中から最後のフレームを選び出してもよい。ユーザに意味のあるキーフレームを供給することができるのは、典型的には、文のタイプがまだ終わっていないフレームではなくむしろ、タイプを終えた文の最後を示すフレームであろう。他の実施例において、当業者に知られた、中間に位置し、かつ代表的なフレームを用いることのできる、ビデオ・キーフレーミングのためのキーフレーム検出のための他の技術が、更に用いられてもよい。
「スクロール・ドキュメントの検出(スクロールするテキスト)」
1または複数の実施例において、ストリーム解析モジュール217(318)は、2つのフレーム間の平均コラムシフトとして、スクロールの量を検出する。スクロールする量が非ゼロのとき、スクロールするフレームの種類が検出される。注目するべきことに、1つのフレーム、あるいは、一連のフレームは、テキストの編集及びスクロールの双方に分類されてもよいことである。テキストエディタにユーザが新たなテキストの行を入力するときに、コンテンツは典型的には垂直にシフトするからである。
1または複数の実施例において、スクロールとして検出された一連のフレームは、単一のアニメーションGIFにパックされ、これにより、後にユーザ・インターフェイスを意味のないフレームで混雑させることを防ぐことができ、かつ、ビデオ会議参加者に対し動的な視覚的な文脈をオリジナルの一連のフレームの中から提供することができる。
「顔の検出」
1または複数の実施例において、ストリーム解析モジュール217(318)は、例えばジャバ(登録商標)スクリプト環境などで既に利用可能なアルゴリズムのような、よく知られたリアルタイムのソフトウェア的な顔検出器を用いて顔の検出を行う。ある実施例において、顔のサイズとフレームサイズの割合が、そのフレームが顔を表すかどうかの判定に用いられる。1または複数の実施例において、顔のフレームシーケンスの真ん中のフレームがキーフレームとして選択され、ナビゲーションの履歴の中に含まれるキーフレームとして用いられてよい。他の実施例において、ストリーム解析モジュール217(318)が、ビデオ会議参加者がその人のウェブカムを共有する状態からその人の画面を共有する状態に切り替えたことを検出してもよい。その場合、ストリーム解析モジュール217(318)は、その人のディスプレイの画面を共有する状態に戻るまでの間は、そのフレームを単に顔とラベル付けする。
「コンピュータのデスクトップ活動の検出」
1または複数の実施例において、ストリーム解析モジュール217(318)は、分類処理を高速化するため、コンピュータ・デスクトップの分類を初期の(標準、デフォルトの)状態として用いてもよい。当業者にとって明らかなように、デスクトップの活動は、興味のある領域を用いてさらにセグメント分けされてよい。ビデオ会議参加者がメニューの項目をクリックし、あるいは、ダイアログボックスを閉じるボタンをクリックするのは典型的な動作である。したがって、ある実施例において、ストリーム解析モジュール217(318)は、あるフレーム中の視覚系の領域を認識し、そして、後続のフレームにおけるその存在を追跡するような、高速な領域検出器を組み込んでもよい。ある実施例において、デスクトップの活動は、出現しては消えていく、箱型の領域の連続として認識される。その場合、キーフレームは、箱型の領域を、それが消える前、かつ、それが動いたあとの状態(例えば、デスクトップの上のウィンドウが動かされる)、あるいは、そのサイズが変更された後の状態(例えば、ユーザがウィンドウのサイズを変更し終えたとき)において示しているフレームが選ばれ、この一連の処理は、テキスト編集を表す一連のフレームについてキーフレームを選択する上述の方法と同様である。
「マウスの動作の検出及び拡張」
当業者にはよく知られているように、会議参加者がマウスカーソルを興味のある領域の周りで回してそのポイントを指し示すようなこともよく行われる。したがって、1または複数の実施例において、ストリーム解析モジュール217(318)は、画面においてユーザのマウスのカーソルの場所を、例えば、特許文献1に開示されているような、及び/または、特許文献2においてパワーポイントまたはOSにおいて実際のカーソルの場所を取得するようなアルゴリズムを用いて、検出してもよい。
1または複数の実施例において、マウスカーソルの位置は、一連の映像フレームの中の映像フレーム間の違いを計算することによって特定され、この手法はここではフレーム差分検出と呼ぶ。ある側面によれば、ストリーム解析モジュール217(318)は、フレームDとして、2つの連続したフレームA及びBの間の差分を計算する。フレームA及びBは、高速なエッジ検出器を用いて2値化されてもよく、その例は、非特許文献2に述べられている。
当業者には理解されるように、結果として得られたフレームDは、フレームA及びBの絶対的な差分を表す。フレームA中の対応するピクセルがフレームBと異なる時には、フレームDは1の値を取り、そして、その他の場合は0(ゼロ)の値を取る。ある実施例において、マウスの活動を検出するため、次のアルゴリズムが用いられる。具体的には、ストリーム解析モジュール217(318)は、D(x−1,y)が1の値であって、D(x,y)が1の値であるとき、フレームD中の対応する位置として、マウスポインタのx,y座標を検出する。当業者には理解されるように、このことは、水平座標yの2つのピクセルが非ゼロの値をとることを意味する。注目するべきことに、ある実施例において、たった1つのピクセルを用いたのでは、上述のマウスポインタの検出アルゴリズムを適切に働かせるには不十分であり、それでは、マウスの活動には対応しない別の場所をフレームD中で検出してしまいやすい。このように、ある実施例において、マウスの場所は、フレームD中のある閾値を超えた最小数のピクセルに基づいて判断される。
注目するべきことに、ここで述べた概要は、ある特定のマウスまたはポインタ検出のアルゴリズムに限定されるものではなく、マウス/ポインタ検出のためのもっと複雑な別の方法が用いられてよい。例えば、それは、当業者にはよく知られるように、マウスポインタの通常の見た目とビデオフレームのコンテンツのマッチングを行うテンプレートに基づく、方法であってもよい。すなわち、具体的なマウスポインタ検出のアルゴリズムは、限定的な意味で解釈されるべきではない。
1または複数の実施例において、マウスの位置が一旦検出されると、ストリーム解析モジュール217(318)は、重大な(意味論的に意味がある)イベントが発生したかどうかを判断し、対応するキーフレームを将来の利用のために保持する。1または複数の実施例において、ストリーム解析モジュール217(318)は、次のイベントを重大なイベントとして取り扱う。1)マウスがある領域に向けて数秒動く(これは、ユーザが画面を共有しつつ自身の画面上の重要な箇所の周りを囲う時に起こり得る。)、2)マウスがある領域の外へ出て、他の領域に入り、そして、そこで停止する(必ずしも動く必要はない)(これは、ユーザがメニューに向かってポインタを動かし、自身の画面上でボタンをクリックする時に起こり得る)。注目するべきことは、発明はここで述べた例示的な重大なイベントの種類に限定されず、ストリーム解析モジュール217(318)は、他の如何なる適切なユーザの活動を重大であると検出してもよく、例えば、カーソルが数秒のフレームに亘ってある領域の周りを回るようなイベントを重大と認識してよい。ストリーム解析モジュール217(318)は、このようなフレームをマウスの活動として分類する。
1または複数の実施例において、ビデオ会議アプリケーション215(316)は、ウェブ・ブラウザに設けられ、画面の映像ストリームにマウスポインタを含めるかどうかの選択肢を提供してもよい。ブラウザがそのような機能を提供する一つの例はグーグルクロームであり、それにより、getUserMediaリソースを設定するときに、開発者はメディアの制約にアクセスすることができる。
1または複数の実施例において、マウスの活動とラベル付けしたフレームは、クラスタに動的にグループ分けされ、そして、新たなクラスタが見つかった時に保持されたフレームの履歴に、新たなキーフレームが追加される。さらに、当業者には理解されるであろうが、ビデオ会議中に共有される画面は必要バンド幅を減らすためにしばしばスケールダウンされ、かつ、遠隔の利用者にとって自身が画面上のどこを動かしているかをはっきり認識するのは重要なので、マウスのポインタの検出は大変有益なものとなる。
「ストリームをナビゲートするための例示的なユーザ・インターフェイス」
1または複数の実施例において、ビデオ会議アプリケーション215(316)は、グラフィカル・ユーザ・インターフェイス生成モジュール220(321)を組み込んでおり、これにより、ユーザがビデオ会議ストリームの過去の一部分をナビゲートできるようにするための1または複数のユーザ・インターフェイスを生成する。これらのインターフェイスの例示的な実施例をここで説明する。
1.テキスト・チャットのようなインターフェイス。テキスト・チャットは、典型的には、既存のチャット・メッセージの下に新たなテキストを追加し、そして、参加者は、以前のチャット・メッセージを巻き戻して見るために画面を容易にスクロールすることができる。同様に、1または複数の実施例において、ストリーム解析モジュール217(318)によって分類された、受け入れた映像ストリームのフレームは、テキストをスクロールするのに連れて巻き戻される。これは、例えば、非特許文献2及び米国特許出願13/939,081号に述べるような直接操作の手法を用いて実現されてもよい。
2.標準的なタイムライン風のインターフェイス。他の実施例において、ビデオ会議アプリケーション215(316)のインターフェイス生成モジュール220(321)は、当業者によく知られたタイムラインのユーザ・インターフェイスを生成してもよく、これにより、会議参加者は時系列上を遡ることができる。ある実施例において、ビデオを表示するのに変えて、システムは、それらの時点に見つけた、対応するキーフレームを会議参加者に示してよい。
3.ビデオを直接操作するインターフェイス。更に他の実施例において、ユーザ・インターフェイス生成モジュール220(321)は、ユーザ・インターフェイスを生成し、これにより、参加者がそのユーザ・インターフェイスに向けて、例えば、タッチスクリーン上のジェスチャーを用いて他の参加者や自身の興味ある映像ストリーム上を後方に向けてスワイプしたり、マウスポインタを用いて左方向のクリック及びドラッグしたり、あるいは、左矢印のキーを押したり、提供された「後方」ボタンを押し続けたり、あるいは、ビデオストリームの左の部分を押すことによって、適切な指令を発行することで、過去のフレームにジャンプすることができる。これに応じて、ビデオ会議アプリケーション215(316)は、上述のコンテンツの種類、例えば、スライド、テキスト・スクロール、及びその種のものを含むが、これに限定されないものに適合した過去のフレームを示す。当業者には理解されるであろうが、これによって、過去のフレームにおける高速なスキミングを実現できる。
1または複数の実施例において、ユーザが個別のフレームをナビゲートしたいときには、生成されたユーザ・インターフェイスは、ユーザの指令、例えば、タッチスクリーン209/210上のタッピング、提供された「後方」ボタンクリックやストリーム中の左側部分に対するクリックなどを検出し、それに応じて、ビデオ会議アプリケーション215(316)は、以前に検出されたフレーム群を一度に飛び越えることができる。
「ナビゲーションの認知を支援する例示的なインターフェイス」
図7は、ビデオ会議アプリケーション215(316)の上述のユーザ・インターフェイス生成モジュール220(321)によって生成される、例示的なグラフィック・ユーザ・インターフェイスを示す。示された例示的なユーザ・インターフェイスは、ジョンとメリーと名付けられた想像上の2人の参加者を含むビデオ会議のために生成される。ジョンから見たメリーは、パネル701及び702の図の上部にそって現れ、これらは時間軸上の2つの異なる時点を表す。ジョンはメリーのライブのウェブカム701を見るだけでなく、サムネイル705、706、707及び708によって表された、メリーが彼女の会議ストリーム中で共有し、検出されたスクリーンショットの履歴のリストを見ることができる。
メリーから見たジョンは下側パネル703及び704に現れ、これにより、2つの異なる時点が表される。同様に、メリーはジョンのウェブカム703を見ることができるが、ジョンは彼の画面を共有していないため、メリーは彼のライブウェブカムのキーフレームを彼女の履歴のビュー713において見ることができるほかは何も見ることができない。ジョンは、以前に共有された、メリーのコード・エディタのビュー(サムネイル709)を、履歴バー709、710、711及び712の中から選んで選択し、彼のビュー702において拡大して見ることを決定する。画面の下側に沿ったジョンの履歴のビューは、サムネイル716を見れば分かるように、彼がコード・エディタを見ている状態を反映している一方で、サムネイル715は、ジョンのストリーム(彼の顔)における以前のキーフレームを示している。1または複数の実施例において、この変更は、映像のストリームだけに影響し、音声ストリームは再生されつづける。メリーからの視点は、選択的に、704として参照されるコンテンツを示すように変更されてもよいし、赤い点717によって表された参加者のマウスの位置をさらに示してもよい。
1または複数の実施例において、ユーザであるメリーが参加者ジョンのストリームをさかのぼってナビゲートする場合に、彼女は、彼女が何を見ているのかを他の参加者に「宣伝」することを選択してもよいし、1または複数の参加者だけに宣伝することを選択してもよい。この機能は、数多くの選択肢を用いて実装されてよい。
1.ある実施例において、ビデオ会議アプリケーション215(316)は、メリーのストリームを置き換えて、彼女が何を見ているのかを示してもよい。これにより、他の参加者は、過去のフレームにおいてメリーが見ているものを直ちに認識できる。ジョンの名前もオーバレイ表示され、人々は誰のストリームがメリーによって操作されているのかを知ることができる。
2.他の実施例において、ビデオ会議アプリケーション215(316)は、ジョンのストリームを置き換えて、メリーがジョンのストリーム中で見ているものを表示してよい。その後すぐに、人々は、誰のストリームが操作されているのかを知ることができる(なぜなら、ストリームの位置は通常は空間的に移動せず、したがって、ユーザは、誰のストリームがどこにあるのかをすぐに知ることができる)。そして、その場合に、メリーの名前は、ジョンの「ニセの」ストリームの上にオーバレイされ、他の参加者はだれがジョンのストリームを提供しているのかを知ることができる。
3.第3の実施例において、ジョンのストリームの異なる部分を何人かのユーザがナビゲートすることもでき、その場合には、ジョンのストリームは、いくつかの部分領域に分割され、そのそれぞれが、それらが操作されるのに従い、彼のストリームから選択された過去のフレームを示す。
4.第4の実施例において、メリーは、下記のイベントを見ているということを示すのみで、彼女が何を見ているのかを示す事はできない。この場合、インターフェイスは、例えば、他の参加者のタイムライン上で過去のイベントをハイライト表示するだけである。
1または複数の実施例において、この活動の間、ライブビデオを受け入れ続けてもよく、そしてその場合、参加者は、ライブの音声を聞き続けることができる。しかし、映像のストリームは、過去の中から現在選択しているフレームの下に「隠され」ている。他の実施例において、ライブビデオは、選択されたフレームの隣に表示されてもよいし、典型的なビデオ中へのビデオ挿入(ピクチャ中へのピクチャ挿入)のように、スクリーン704の角において、選択されたフレームの上に表示されてもよい。例えばピクチャ中へのピクチャ挿入714を参照されたい。
1または複数の実施例において、ユーザ・インターフェイス生成モジュール220(321)によって生成されたユーザ・インターフェイスは、僅かな限られたコンテンツの種類を選択するための、例えば、スライドのフレームだけを選択するための、簡便な検索選択機能を有してよく、これにより、ユーザが過去に戻った時に、そのようなフレームだけが表示される。1または複数の実施例において、上述のユーザ・インターフェイスは、簡便な「ライブ」ボタンを提供してもよく、これにより、参加者はその人の現在のストリームを表示させることができる。
1または複数の実施例において、上述のユーザ・インターフェイスを用いて過去からフレームを選択したあとに、ユーザは、その人自身からのストリームとして、その人自身の現在のカメラフィードに代えて、選択されたフレームをブロードキャストすることを選択してもよい。当業者には理解されるとおり、そのユーザが何を見て、会話の以前の部分に注目しているのかを他の参加者に知らせることはとても有用である。そのユーザが他人に対し今見ているものを示しているときには、他の参加者が彼が見ているものを認識できるように、マウスポインタの場所を送ることを選択することができてもよい。これは、映像ストリーム中のマウスポインタを追跡するのを要求することを必ずしも意味せず、単にその座標を取得する処理が必要になるだけである(すなわち、ブロードキャストされている、表示画面を表すHTML要素に付け加えられた、ジャバスクリプト・マウスイベント・リスナを用いる)。同じ概念を用いて、ユーザは、自身の画面を共有することを決定してもよく、ユーザは、共有される画面をその画面の一部だけに限定するような選択を行ってもよい。
図8は、グラフィカル・ユーザ・インターフェイス生成モジュール220(321)によって生成されたグラフィカル・ユーザ・インターフェイスの例示的な実施例を示す。この実施例は、2以上の参加者及びそれぞれのビデオ会議ストリームに対応している。具体的には、図8のグラフィック・ユーザ・インターフェイスは、5人のビデオ会議参加者(ティ(Tye)、サリー(Sally)、ベン(Ben)、クリス(Chris)及びマクロ(Macro)と名付けられた参加者)に対応し、ある特定の参加者ティの始点を示している。ティの履歴及びライブストリーム827を表すサムネイル824、825及び826は、グラフィカル・ユーザ・インターフェイスの下側にそって表示されている。加えて、図8に示したユーザ・インターフェイスの実施例は、Sallyのライブストリーム801を、サリーの共有履歴を表すサムネイル805、806、808及び809と共に組み込んでもよい。ここで示したユーザ・インターフェイスは、ベンのライブストリーム802を、ベンの共有履歴を表すサムネイル810、811、812及び813と共に更に含んでよい。ここで示したユーザ・インターフェイスは、クリスのライブストリーム803を、クリスの共有履歴を表すサムネイル814,815及び816と共に更に含んでよい。ここで示したユーザ・インターフェイスは、マクロのライブストリーム804を、マクロの共有履歴を表すサムネイル817、818、及び821と共に更に含んでよい。
ここで示したグラフィカル・ユーザ・インターフェイスの実施例において、様々なユーザの共有履歴におけるサムネイルの近くに位置する色付けされた点807,819、820、822及び823は、ある特定のユーザから見ることができる。1または複数の実施例において特定のサムネイルに対応するコンテンツを見ているユーザを一意に特定するために、点807、820、822及び823の色は、その特定のユーザのパネルの色に対応している。例えば、点807及び820が青色であるクリス(クリスのパネル803の縁と同じ色)が、サリー及びマクロの履歴においてフレームを見ていることは、サリー及びマクロのタイムラインにおいてクリスが見ているフレーム上に、あるいは、そのフレームに隣接して青色の点807及び820を表示することで表される。
1または複数の実施例において、ユーザのパネル801、802、803あるいは804のうちの1つを選択することで、選択されたユーザが現在見ているフレームがハイライトされる。さらに、ユーザ・インターフェイス・ウィジェット829及び828をそれぞれ用いることで、ユーザは、自身のカメラ映像または画面のいずれを見せるかを切り替えることができる。最後に、1または複数の実施例において、ユーザは、他のユーザのタイムラインから取得した如何なるフレームをも、自身のライブビューの中にドラッグ・アンド・ドロップし、代わりにそれらをストリームすることができる。
「例示的な処理シーケンス」
図9は、複数のビデオ会議ストリームのリアルタイムでの効率的なナビゲーションの方法の実施例に関する例示的な処理シーケンス900を示す。1または複数の実施例において、このシーケンス900は、図2に示すように、計算処理システム200によって実行され、あるいは、図3に示すように、計算処理デスクトップ・システム300によって実行されてよく、いずれもメモリ212(312)にそれぞれ格納されたソフトウェアと関連付けて実行される。第1に、ステップ901において、ストリーム受信モジュール216(317)は、流入してくるライブ映像ストリームを、それぞれの計算処理システム200(300)のネットワーク・インターフェイス205(305)を介して受信する。注目すべきことに、上述のライブ映像ストリームは、ビデオが撮影されたのと全く同時刻に送信された映像ストリームである必要はない。ライブ映像ストリームは、局所的なユーザが局所的な計算処理システムにおける再生を制御(例えば、中断、巻き戻し、あるいは早送り)出来る場合であっても、遠隔の計算処理システムから継続的に送られてくる、いかなる種類の映像ストリームであってもよい。
受信したライブ映像は、ビデオ会議の他の参加者の遠隔の計算処理システムを起源とするライブビデオ会議ストリームであってもよいし、ブロードキャスト・サーバから送られてくるライブ・ブロードキャスト・ストリームであってもよい。ステップ902において、受信したライブ映像ストリームは、ユーザ・インターフェイス生成モジュール220(321)によって生成されるグラフィカル・ユーザ・インターフェイスを用いて表示装置209(309)においてユーザに表示され、その例示的な実施例は図7及び図8に示されている。具体的には、図7において、パネル701及び703は、ライブ映像ストリームをユーザに表示するために用いられる。
ステップ903において、ストリーム解析モジュール217(318)は、上述の技術に従って受信したライブ映像ストリームの中から意味的に重大なイベントを特定する。関連するキーフレームはステップ904において抽出される。ステップ905において、特定された意味的に重大なイベントに関する情報、及び、抽出されたキーフレームが、ストリーム・メタデータ・ストレージ222(323)に格納される。
ステップ906において、ライブ映像ストリームの履歴を示すサムネイル画像が、例えば、図7及び図8に示すグラフィカル・ユーザ・インターフェイスの実施例を用いて表示される。ステップ907において、上述の履歴におけるサムネイル画像のうちの1つをユーザが選択した場合には、ステップ908において、対応するキーフレームが、例えば図7(パネル702及び704)に示すように、ライブ映像ストリームを置き換え、あるいは、これに追加することによって、ユーザに対して表示される。ユーザからの指令に応じて、対応する意味的に重大なイベントに関する追加的な情報が、ステップ909において、さらに表示されてもよい。この処理はステップ910において終了する。
「画面共有と顔の間の自動切り替え」
既存のビデオ会議ツールは、顔と画面のいずれを表示させるかを切り替えることをユーザに強いると共に、それらを手作業で切り替えることをユーザに強いる。一方で、ユーザがその画面の共有から会議を開始し、それを表示し続ける必要もないのに自身の顔を表示するための切り替えを行わない場合には、その様子は他人にとって無礼に感じることもある。したがって、1または複数の実施例において、ビデオ会議アプリケーション215(316)は、上述の映像ストリームのラベルを、ユーザに思い出させる、あるいは、顔に自動的に切り替えるために用いてもよい。同様に、ユーザが、数多くのデスクトップ上の活動を有しており、そして、それらに言及しており、デスクトップ上の何かを他の参加者に示そうとする可能性が高いときには、ビデオ会議アプリケーション215(316)は、画面共有を提案し、あるいは、画面共有へ自動的に切り替える。
「その場でミーティング議事録を作成」
1または複数の実施例において、いつであっても、しかし、ビデオセッションの最後では特に、参加者からの要求によって、ビデオ会議アプリケーション215(316)は、フレームの集合を、それぞれの参加者の活動または全ての参加者の活動によって生成されたその時間とメタデータの情報を伴って出力してもよい。ユーザからの上述の要求に応じて、ビデオ会議アプリケーション215(316)は、通常はデータストレージ221(322)に格納されたものの中から検索し、そして、ビデオ会議の議事録を示すドキュメントを自動的に生成する。
1または複数の実施例において、生成されたドキュメントは、例えばテキストエディタ・ドキュメントなどの、ユーザがその後にテキストエディタを使ってテキストの注釈を挿入できるような、編集可能なドキュメントの形式に変換される。他の実施例において、生成されたドキュメントは、予め定められたXMLスキーマに従って作られたXMLドキュメントであってよい。当業者には理解されるように、XMLは、生成されたドキュメントの内容を、多様なソフトウェアのアプリケーションに対して入力するための高い柔軟性を有している。更に他の例として、生成されたドキュメントは、HTMLドキュメントであってもよい。
1または複数の実施例において、ビデオ会議について生成されたドキュメントは、上述のように、すべての参加者のストリームから自動的に検出されたイベントのキーフレームについての、レイアウトの情報、時系列の情報を含んでよい。これに加えて、ビデオ会議の間に参加者によって実行された活動に関する情報を、このドキュメントが含んでよい。例えば、1または複数の参加者によってある特定のフレームが数回閲覧された場合に、生成されたドキュメントは、サイズや視覚的な効果を使ってそのフレームを強調し、例えば、「閲覧」の回数を、それぞれのフレームの隣に表示してもよい。
「例示的な実施例の実装」
1または複数の実施例において、ビデオ会議アプリケーション215(316)は、同業者によく知られたWebRTC標準に基づいて実装される。ビデオ会議参加者は、相互に通信するために自身のウェブ・ブラウザを用い、そして、映像ストリームは、CANVAS要素によってピクセル単位の操作が可能なように処理されたHTML5ビデオストリームとしてやりとりされる。ユーザが自身の画面を共有する場合には、ビデオ会議アプリケーション215(316)は、カメラ211(311)からのフィードを、例えば以下の指令を用いて、デスクトップからのフィードに切り替える。
navigator.webkitGetUserMedia(
{video:{mandatory: {chromeMediaSource: ’screen’}}},
this.onUserMediaSuccess.bind(this),
this.onUserMediaError.bind(this)
);
ある実施例において、各ブラウザがそれ自身の計算処理を他の参加者から受け入れたストリームに対して実行するといった、1対1の環境におけるアルゴリズムを採用してよい一方で、他の実施例は、クラウドに基づく実装に依存してもよい。例えば、ある実装において、「ロボット」サービスが、1対1の現在進行中の会議に接続するために採用され、クラウド中の各ストリームにおいて同じアルゴリズムが適用されてよい。「ロボット」は、数多くの目的のために用いられ、例えば、ユーザがそのセッションについて意味のあるインデックスを取得するために用いられてもよいし、法令遵守の目的のために用いられてもよいし、光学文字読み取り(OCR)や音声からテキストを認識する処理などの、高い計算能力を必要とするサービスを提供するために用いられてもよい。
最後に、ここで記述される処理及び技術は特定の装置の何れかに固有に関連するものではなく、適切に組み合わせられた構成要素の何れかによって実装されてもよいことが理解されるべきである。さらに、様々な種類の汎用目的装置がここに記述される技術に従って使用されてもよい。ここに記述される方法ステップを実行するために専用装置を構築することは有利であるかもしれない。本発明は、特定の例示に関連して記述されているが、この記述は、限定ではなく、例示を意図している。多くの異なるハードウェア、ソフトウェア及びファームウェアの組み合わせが本発明を実行するために適切であることは、当業者には明らかである。例えば、記述されるソフトウェアは、アセンブラ、C/C++、Objective−C、perl、shell、PHP、Java、現在知られているもしくは今後開発されるプログラミング言語もしくはスクリプト言語の何れかなどの様々なプログラミング言語もしくは記述言語によって実装されてもよい。
さらに、ここに記述された詳細及び実行を考慮すれば、本発明のその他の実装が当業者には明らかであろう。記述された実装の様々な態様及び/もしくは構成要素は、オフ・センタ埋め込みメディア・マーカを実装する及び使用するシステム及び方法を個別に、もしくは、任意に組み合わせて使用することができる。詳細及び例は例示としてのみ考慮されることを意図し、本発明の真の範囲及び思想は特許請求の範囲の記載によって示される。
200 計算処理システム
209 表示装置
211 カメラ
300 計算処理デスクトップ・システム

Claims (16)

  1. 遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する送信モジュールと、
    を備えたシステム。
  2. 遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    を備えたシステムであって、
    前記解析モジュールは、意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する、
    システム。
  3. 前記制御モジュールは、前記ユーザからの指令として、前記複数の意味的に重大なイベントの中から1つのイベントを選択する指令を受け付け、選択された前記イベントに関連付けられた前記キーフレームを前記表示装置に表示する、請求項1または2に記載のシステム。
  4. 前記格納モジュールは、キーフレームとして、各々の前記意味的に重大なイベントに対応する少なくとも1つのフレームを前記映像ストリームから抽出し、前記意味的に重大なイベントに関連付けて格納する、請求項1〜3のいずれか1項に記載のシステム。
  5. 前記送信モジュールは、第2の映像ストリームを生成して前記遠隔のコンピュータに対し送信すると共に、当該第2の映像ストリームを送信している間にユーザからの指令に応じて前記キーフレームが表示された時には、当該第2の映像ストリームに代えて、ユーザからの指令に応じて前記キーフレームが表示されていることを示す情報を送信する、請求項に記載のシステム。
  6. 前記映像ストリームは前記遠隔のコンピュータにおける画面の映像のストリームであって、
    前記意味的に重大なイベントは、前記遠隔のコンピュータにおけるテキスト操作のイベント、テキストのスクロールのイベント、コンピュータのデスクトップ中のイベント、前記映像ストリームが前記画面から前記遠隔のコンピュータのユーザの顔に切り替わるイベント、のうちの何れか1つである、請求項1〜5のいずれか1項に記載のシステム。
  7. 前記解析モジュールは、受信した前記映像ストリームを画像解析することによって前記複数の意味的に重大なイベントを特定する、請求項1〜6のいずれか1項に記載のシステム。
  8. 遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    ユーザからの選択によってカメラからの供給またはデスクトップの活動を第2の映像ストリームとして生成するキャプチャーモジュールと、
    予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第2の映像ストリームを前記遠隔のコンピュータに送信する、送信モジュールと、
    備えたシステム。
  9. 当該システムは、前記遠隔のコンピュータのユーザと遠隔会議を行うためのシステムである、請求項1〜のいずれか1項に記載のシステム。
  10. 前記映像ストリームは音声トラックを含み、
    前記受信モジュールは、前記キーフレームが表示された場合であっても前記音声トラックを再生し続ける、請求項1〜のいずれか1項に記載のシステム。
  11. コンピュータを、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する送信モジュールと、
    として機能させるためのプログラム。
  12. コンピュータを、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    として機能させるためのプログラムであって、
    前記解析モジュールは、意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する、
    プログラム。
  13. コンピュータを、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示する受信モジュールと、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定する解析定モジュールと、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納する格納モジュールと、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する制御モジュールと、
    ユーザからの選択によってカメラからの供給またはデスクトップの活動を第2の映像ストリームとして生成するキャプチャーモジュールと、
    予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第2の映像ストリームを前記遠隔のコンピュータに送信する、送信モジュールと、
    として機能させるためのプログラム。
  14. コンピュータのプロセッサが、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示し、
    ユーザからの指令に応じて前記キーフレームが表示されていることを、前記遠隔のコンピュータに対し通知する、
    方法。
  15. コンピュータのプロセッサが、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示する、
    方法であって、
    意味的に重大なイベントが発生したことを示すメタデータを前記遠隔のコンピュータから受信することで、当該意味的に重大なイベントを特定する、
    方法。
  16. コンピュータのプロセッサが、
    遠隔のコンピュータから映像ストリームを受信して表示装置に表示し、
    受信した前記映像ストリームから複数の意味的に重大なイベントを特定し、
    各々の前記意味的に重大なイベントを、キーフレームに関連付けて格納し、
    ユーザからの指令に応じて、何れかの前記意味的に重大なイベントに関連付けられた前記キーフレームを、前記表示装置の前記映像ストリームに代えて、または、当該映像ストリームに加えて表示し、
    ユーザからの選択によってカメラからの供給またはデスクトップの活動を第2の映像ストリームとして生成し、
    予め定められたデスクトップの活動が検出された場合にはデスクトップの活動を選択するようユーザに提案を表示し、生成された前記第2の映像ストリームを前記遠隔のコンピュータに送信する、
    方法。
JP2014062455A 2013-10-11 2014-03-25 映像ストリームをナビゲートするシステム、方法及びプログラム Active JP6237386B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/052,532 US9179096B2 (en) 2013-10-11 2013-10-11 Systems and methods for real-time efficient navigation of video streams
US14/052,532 2013-10-11

Publications (2)

Publication Number Publication Date
JP2015076875A JP2015076875A (ja) 2015-04-20
JP6237386B2 true JP6237386B2 (ja) 2017-11-29

Family

ID=52809311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014062455A Active JP6237386B2 (ja) 2013-10-11 2014-03-25 映像ストリームをナビゲートするシステム、方法及びプログラム

Country Status (2)

Country Link
US (1) US9179096B2 (ja)
JP (1) JP6237386B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269072B2 (en) * 2010-12-23 2016-02-23 Citrix Systems, Inc. Systems, methods, and devices for facilitating navigation of previously presented screen data in an ongoing online meeting
US9798944B2 (en) 2014-02-20 2017-10-24 International Business Machines Corporation Dynamically enabling an interactive element within a non-interactive view of a screen sharing session
US20150304376A1 (en) * 2014-04-17 2015-10-22 Shindig, Inc. Systems and methods for providing a composite audience view
US9876989B2 (en) * 2014-05-23 2018-01-23 Polycom, Inc. Method and system for new layout experience in video communication
US9380264B1 (en) * 2015-02-16 2016-06-28 Siva Prasad Vakalapudi System and method for video communication
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
US9646655B2 (en) * 2015-08-31 2017-05-09 Fuji Xerox Co., Ltd. Systems and methods for interaction-based analysis and visualization of remote collaboration sessions
JP6617641B2 (ja) * 2015-09-16 2019-12-11 富士ゼロックス株式会社 ウェアラブル装置で実行される会議表示方法、ウェアラブルシステム及びプログラム
TW201723889A (zh) * 2015-12-28 2017-07-01 鴻海精密工業股份有限公司 錄影播放系統及方法
US9883144B2 (en) * 2016-05-12 2018-01-30 Fuji Xerox Co., Ltd. System and method for replacing user media streams with animated avatars in live videoconferences
US9681094B1 (en) 2016-05-27 2017-06-13 Microsoft Technology Licensing, Llc Media communication
US11567785B2 (en) * 2016-10-31 2023-01-31 Microsoft Technology Licensing, Llc Integrated multitasking interface for communication sessions
US10390077B2 (en) 2017-03-15 2019-08-20 The Directv Group, Inc. Collective determination of interesting portions of a media presentation, media tagging and jump playback
DE102017108017A1 (de) * 2017-04-13 2018-10-18 Unify Patente Gmbh & Co. Kg Verfahren zum Führen einer Audio- und/oder Videokonferenz
CN109511004B (zh) * 2017-09-14 2023-09-01 中兴通讯股份有限公司 一种视频处理方法及装置
US10129573B1 (en) * 2017-09-20 2018-11-13 Microsoft Technology Licensing, Llc Identifying relevance of a video
US11190733B1 (en) * 2017-10-27 2021-11-30 Theta Lake, Inc. Systems and methods for application of context-based policies to video communication content
US10284695B1 (en) * 2018-03-05 2019-05-07 Amazon Technologies, Inc. Voice-enabled modular devices
CN108647020A (zh) * 2018-05-17 2018-10-12 珠海横琴盛达兆业科技投资有限公司 一种网页版的调用html5视频录制动画GIF图像的方法
US10516863B1 (en) * 2018-09-27 2019-12-24 Bradley Baker Miniature portable projector device
US10841115B2 (en) 2018-11-07 2020-11-17 Theta Lake, Inc. Systems and methods for identifying participants in multimedia data streams
US10956181B2 (en) * 2019-05-22 2021-03-23 Software Ag Systems and/or methods for computer-automated execution of digitized natural language video stream instructions
CN111028373B (zh) * 2019-09-27 2023-08-08 视联动力信息技术股份有限公司 一种基于人脸识别的会议签到方法和装置
CN110719524B (zh) * 2019-10-16 2022-02-01 腾讯科技(深圳)有限公司 一种视频播放方法、装置、智能播放设备和存储介质
CN111147817B (zh) * 2019-12-27 2022-09-20 视联动力信息技术股份有限公司 视频处理方法、装置、电子设备及存储介质
CN111310665A (zh) * 2020-02-18 2020-06-19 深圳市商汤科技有限公司 违规事件检测方法及装置、电子设备和存储介质
CN112312057A (zh) * 2020-02-24 2021-02-02 北京字节跳动网络技术有限公司 多媒体会议数据处理方法、装置和电子设备
KR102641606B1 (ko) * 2020-02-24 2024-02-28 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터랙션 방법, 장치 및 전자 기기
CN112291629B (zh) * 2020-03-27 2022-08-23 北京字节跳动网络技术有限公司 交互方法、装置、电子设备和可读介质
US11200441B2 (en) * 2020-05-01 2021-12-14 UiPath, Inc. Text detection, caret tracking, and active element detection
US11461164B2 (en) 2020-05-01 2022-10-04 UiPath, Inc. Screen response validation of robot execution for robotic process automation
JP7115804B2 (ja) * 2020-05-01 2022-08-09 ユーアイパス,インコーポレイテッド テキスト検出、キャレット追跡、及びアクティブ要素検出
US11080548B1 (en) 2020-05-01 2021-08-03 UiPath, Inc. Text detection, caret tracking, and active element detection
KR102297356B1 (ko) * 2020-05-01 2021-09-01 유아이패스, 인크. 텍스트 검출, 캐럿 추적, 및 활성 엘리먼트 검출
US11076128B1 (en) * 2020-10-20 2021-07-27 Katmai Tech Holdings LLC Determining video stream quality based on relative position in a virtual space, and applications thereof
US11463499B1 (en) * 2020-12-18 2022-10-04 Vr Edu Llc Storage and retrieval of virtual reality sessions state based upon participants
US11711493B1 (en) 2021-03-04 2023-07-25 Meta Platforms, Inc. Systems and methods for ephemeral streaming spaces
US20220301449A1 (en) * 2021-03-16 2022-09-22 Radix Technologies Ltd. System and method for remote classroom management
US11909787B1 (en) 2022-03-31 2024-02-20 Amazon Technologies, Inc. Videoconference content sharing for public switched telephone network participants

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360234B2 (en) * 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US20040125124A1 (en) * 2000-07-24 2004-07-01 Hyeokman Kim Techniques for constructing and browsing a hierarchical video structure
US8949922B2 (en) * 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
KR20050078099A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 적응적으로 키 프레임을 삽입하는 비디오 코딩 장치 및 방법
US7355622B2 (en) * 2004-04-30 2008-04-08 Microsoft Corporation System and process for adding high frame-rate current speaker data to a low frame-rate video using delta frames
US8117544B2 (en) 2004-10-26 2012-02-14 Fuji Xerox Co., Ltd. System and method for detecting user actions in a video stream
US7532231B2 (en) * 2004-12-17 2009-05-12 Codian Limited Video conference recorder
JP2006279111A (ja) * 2005-03-25 2006-10-12 Fuji Xerox Co Ltd 情報処理装置、情報処理方法およびプログラム
US8253770B2 (en) * 2007-05-31 2012-08-28 Eastman Kodak Company Residential video communication system
US20090113278A1 (en) 2007-10-25 2009-04-30 Fuji Xerox Co., Ltd. System and methods for generating automatic and user-controllable movies of presentations on small devices
US8203592B2 (en) * 2007-10-26 2012-06-19 Seiko Epson Corporation Videoconference recording, post-processing, and playback
WO2009101623A2 (en) * 2008-02-13 2009-08-20 Innovid Inc. Inserting interactive objects into video content
US8280158B2 (en) * 2009-10-05 2012-10-02 Fuji Xerox Co., Ltd. Systems and methods for indexing presentation videos
US9247306B2 (en) * 2012-05-21 2016-01-26 Intellectual Ventures Fund 83 Llc Forming a multimedia product using video chat
GB2511822B (en) * 2013-03-14 2016-01-13 Starleaf Ltd A telecommunication network
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set

Also Published As

Publication number Publication date
US20150103131A1 (en) 2015-04-16
JP2015076875A (ja) 2015-04-20
US9179096B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
JP6237386B2 (ja) 映像ストリームをナビゲートするシステム、方法及びプログラム
JP5556911B2 (ja) コンテンツ表現を作成する、方法、プログラム、及びシステム
JP6972743B2 (ja) オンライン会話ストリームに文書対話を持ち込むためのシステムおよび方法、コンピュータに実装された方法、プログラム、及びコンピュータ化システム
US10681324B2 (en) Communication session processing
CN109313812B (zh) 具有上下文增强的共享体验
US20180341811A1 (en) Augmented Reality
US11171893B2 (en) Methods and systems for providing virtual collaboration via network
US10067730B2 (en) Systems and methods for enabling replay of internet co-browsing
US11249715B2 (en) Collaborative remote interactive platform
US20130268826A1 (en) Synchronizing progress in audio and text versions of electronic books
WO2022193597A1 (zh) 界面信息切换方法及装置
US11190557B1 (en) Collaborative remote interactive platform
US11922694B2 (en) Systems and methods for augmented reality application for annotations and adding interfaces to control panels and screens
US20140208211A1 (en) Allowing Web Meeting Attendees to Navigate Content During a Presentation
US20170062013A1 (en) Systems and methods for interaction-based analysis and visualization of remote collaboration sessions
AU2019222974A1 (en) Interfaces and techniques to retarget 2d screencast videos into 3d tutorials in virtual reality
US11349889B1 (en) Collaborative remote interactive platform
US20140178035A1 (en) Communicating with digital media interaction bundles
KR101328270B1 (ko) 스마트 tv의 비디오 어노테이션 및 증강 방법 및 그 시스템
CN111625740A (zh) 图像显示方法、图像显示装置和电子设备
CA3056598A1 (en) Systems and methods for enabling replay of internet co-browsing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6237386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350