JP2024521613A - ビデオコンテンツとのインタラクションを容易にするユーザインターフェースおよびツール - Google Patents

ビデオコンテンツとのインタラクションを容易にするユーザインターフェースおよびツール Download PDF

Info

Publication number
JP2024521613A
JP2024521613A JP2023562722A JP2023562722A JP2024521613A JP 2024521613 A JP2024521613 A JP 2024521613A JP 2023562722 A JP2023562722 A JP 2023562722A JP 2023562722 A JP2023562722 A JP 2023562722A JP 2024521613 A JP2024521613 A JP 2024521613A
Authority
JP
Japan
Prior art keywords
content
video stream
video
annotation
presenter
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.)
Pending
Application number
JP2023562722A
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2024521613A publication Critical patent/JP2024521613A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/062Combinations of audio and printed presentations, e.g. magnetically striped cards, talking books, magnetic tapes with printed texts thereon

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

ビデオコンテンツをキャプチャするレコーディングを開始させることを含む、システムおよび方法について記載する。ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、およびアノテーションビデオストリームを含むことができる。本システムおよび方法は、ビデオコンテンツに基づいて、ビデオコンテンツのキャプチャ中に、ビデオコンテンツの少なくとも1つの部分を、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、またはアノテーションビデオストリームのうちの少なくとも1つにおいて受け取られた入力に同期させるために使用されるタイミング情報を表すメタデータレコードを生成することを含むことができる。

Description

関連出願の相互参照
本出願は、2021年5月19日に出願された米国特許出願第17/303,075号の継続出願であって、その利益を主張するものであり、その出願の開示は、参照によりその全体が本明細書に組み込まれる。
背景
プレゼンテーションを行う際、プレゼンターは、あるコンセプトをユーザのグループに説明するために、指示および情報を繰り返し述べなければならないことが多い。次いで、各ユーザは、通常、そのコンセプトに関するメモを取り、後でそのメモをさらに見直すことができるようにする。プレゼンテーションからレコーディングが作成されれば、プレゼンターがコンセプトを繰り返し述べる回数を減らすことができる。しかしながら、従来のレコーディングされたビデオでは、ユーザがビデオ全体を見てかつ/またはスキャンすることなしに、ビデオ内の特定のコンテンツを見つける簡単な方法を提供することができない。すなわち、ユーザは、ビデオにおいてコンセプトを探す場合、そのコンセプトの位置を特定するためにレコーディング全体を見るかまたはスクロールしなければならない。
概要
本明細書に記載するシステムおよび方法は、ビデオコンテンツとのインタラクションを容易にする多数のユーザインターフェース(UI)および/またはプレゼンテーションツールを提供することができる。たとえば、ツールは、ビデオコンテンツのレコーディング、共有、視聴、検索、およびキャストを容易にすることができる。ビデオコンテンツは、任意の数のプレゼンターによって提供されるとともに任意の数のユーザによって消費される情報および入力に基づいて、教育用、プレゼンテーション用、および/または他のものであり得る。本明細書に記載するシステムおよび方法は、アプリケーション(たとえば、ブラウザ、ウェブアプリ、ネイティブアプリケーションなど)から受け取ったコマンド、および/またはコンピューティングデバイスのオペレーティングシステム(O/S)から受け取ったコマンドに基づいて、UIおよびプレゼンテーションツールを提供し、実行し、かつ/または制御することができる。いくつかの実施態様では、本明細書に記載するUIおよびプレゼンテーションツールは、アプリケーションおよびO/Sの両方からの情報のハイブリッドな組み合わせで提供することができる。たとえば、ツール、UI、および関連する教育用コンテンツ(たとえば、ビデオコンテンツ、ファイル、アノテーションなど)の一部は、異なるアプリケーショントリガまたはO/Sトリガソースによって提供される場合がある。
本明細書に記載するシステムおよび方法は、多数の選択可能なツール(たとえば、スクリーンキャスト、スクリーンキャストのレコーディング、プレゼンターカメラ(たとえば、前面(すなわち、自撮り)カメラ)、リアルタイムトランスクリプション、リアルタイム翻訳、レーザポインタツール、アノテーションツール、拡大鏡ツール)を有するインタラクティブツールバーを少なくとも含むプレゼンテーションツールを提示することができる。ツールバーは、プレゼンターが1回の入力で簡単にプレゼンテーションし、レコーディングし、キャストするように構成することができる。加えて、ツールバーは、プレゼンテーション、レコーディング、および/またはキャスティングを切り替えるオプションを提供することができる。たとえば、特定のツールおよび/または画面コンテンツを、レコーディング中にオン/オフが切り替えられるように構成してもよい。いくつかの実施態様では、レコーディングの視聴者に(リアルタイムでまたはレコーディング後に)、ツールバー、画面コンテンツ、および/またはビデオに関連するビデオストリームを切り替える特定のツールを提供することができる。たとえば、レコーディングの特定の要素(たとえば、プレゼンターの前面カメラストリーム、トランスクリプションストリーム、翻訳ストリーム、アノテーションストリームなど)を、レコーディング中、および/またはレコーディングのユーザの見直し中に、オンまたはオフに切り替えてもよい。
本明細書に記載するシステムおよび方法は、プレゼンテーションツールが1つまたは複数のコンピュータディスプレイからのコンテンツの共有をトリガすることができるように構成されている。プレゼンテーションツールは、プレゼンターおよび/またはユーザが、共有されたコンテンツに効果的な方法でアノテーション付けする(すなわち、アノテーションを作成する)ことを可能にすることができる。アノテーションは、共有されたコンテンツに正確に配置されるために、アノテーションを後で検索し、タイムスタンプおよびビデオコンテンツと位置合わせすることができるように、格納することができる。たとえば、コンテンツのビデオレコーディングおよび/またはキャスト中に、コンテンツにアノテーション付けすることができる。アノテーションは、コンテンツ(たとえば、基礎となるアプリケーションコンテンツ)上にレイヤ化し、メタデータに格納することができ、そのため、アノテーションは、削除するか、またはウィンドウイベントが検出されたときに(すなわち、ウィンドウがスクロールされ、サイズが変更され、またはUIを横切って移動したときに)、コンテンツとともに移動するように適切に位置決めされるように適合させることができる。たとえば、プレゼンターがレコーディング中に別のドキュメントに切り替えた(またはドキュメント内でスクロールした)場合、たとえばレコーディングを通してプレゼンターがドキュメントを切り替えたときに、適切なアノテーションが適切なコンテンツ上にオーバーレイされるのをトリガするために、メタデータを使用してアノテーションレイヤが保存される。これにより、コンセプトを描写するために複数のソースが使用されるのを可能にすることができ、プレゼンターがオーバーレイレイヤで(すなわち、ワードプロセッシング編集ではなく)コンテンツにマークアップアノテーションを配置し、プレゼンターまたはユーザがレイヤを削除または再適用するように要求すると、オーバーレイレイヤが削除および再適用されるのを可能にすることができる。
本明細書に記載するシステムおよび方法は、プレゼンターまたはユーザが、(レコーディングが行われた間にアクセスされた)多数のドキュメント、アプリケーション、または他のレコーディングされたコンテンツを、こうしたコンテンツにアノテーション付けしながら切り替えることができ、アノテーションが、取り出され、ビデオレコーディング中に実行されたようにアノテーションが適切に位置決めされたオーバーレイとして提供され得るように、アノテーションを格納することができる。スクリーンコンテンツ、プレゼンターカメラがキャプチャしたコンテンツ、トランスクリプションコンテンツ、翻訳コンテンツ、およびアノテーションコンテンツは、レコーディング中およびレコーディング後(すなわち、プレゼンターの視聴およびユーザの視聴中)にオン/オフが切り替えられるように構成することができる。
いくつかの実施態様では、本明細書に記載するプレゼンテーションツールは、プレゼンターまたはユーザが、レコーディング中に1つまたは複数のマークアップツールを使用してコンテンツ内のチャプタ、コンテンツ内のキーアイデアを示すのを可能にするように構成されたアノテーションツールを含む。マークアップツールは、テキスト入力、レーザポインタ(および/またはカーソル、コントローラ入力など)、ペン入力、強調表示入力、図形入力などを含む、任意の数の入力機構を含むことができる。
いくつかの実施態様では、本明細書に記載するシステムおよび方法は、オーディオコンテンツおよびビデオコンテンツのリアルタイムトランスクリプションおよび/または翻訳を生成し、表示することができる。トランスクリプションおよび/または翻訳は、他の教育用コンテンツと並んで画面上に描写することができる。いくつかの実施態様では、トランスクリプションおよび/または翻訳を、生成した後、後に視聴するためにキュレーションすることができる。たとえば、トランスクリプションは、視聴しやすいように書式設定し、プレゼンターまたはユーザからアノテーションを受け取るように書式設定することができ、そこで、アノテーションは、コンテンツの特定のコンセプトを、学習すべき重要なコンセプトとして示すことができる。
本明細書に記載するシステムおよび方法は、ビデオコンテンツの翻訳および/またはトランスクリプションを実行し、書式設定し、表示するツールを含むことができる。(レコーディング中またはレコーディング後に)ビデオを視聴するとき、ユーザは、コンテンツ(たとえば、ウェブページ、ドキュメントなど)をスクロール(たとえば、ビデオスクロール)することができ、これに応じて、トランスクリプト部分が、ビデオスクロールと同期して自動的にスクロールすることができる。ビデオとテキストコンテンツとのこの同期により、対応するテキストを検索に使用することができるため、ビデオ内に含まれるコンテンツの効果的でリソース効率の高い検索を容易にすることができる。
いくつかの実施態様では、アノテーションおよびトランスクリプトを使用して、レコーディングされたビデオコンテンツの一部を表すリキャップ(たとえば、要約)ビデオを自動的に生成することができる。本明細書に記載するシステムおよび方法は、レコーディングされたビデオコンテンツにアクセスするコンピューティングデバイスのアプリケーション(たとえば、ブラウザ)および/またはO/Sで提供される検索で表出するように検索可能である(かつ/またはインデックス付けされる)ように、アノテーションおよび文字起こしされた音声を構成することができる。
いくつかの実施態様では、本明細書に記載するプレゼンテーションツールは、単一の入力に基づいてズームインまたはズームアウトモードを可能にする拡大鏡ツールを含むことができる。拡大鏡ツールは、ウィンドウまたはウェブページのサイズを手動で変更することなく使用することができる。加えて、拡大鏡ツールをアノテーションツールと組み合わせて使用することができる。アノテーションは、ユーザがズームインまたはズームアウトモードのいずれかを終了したときに、アノテーション付けされたコンテンツに一致させるようにビデオコンテンツとともに自動的にサイズ変更することができる。このサイズ変更により、メタデータを介してアノテーションを格納することができ、このアノテーションは、レコーディング終了の後にビデオコンテンツを見直す際に、アノテーションまたはズームされたコンテンツが誤ったサイズになることなく、後で検索してコンテンツにオーバーレイとして適用することができる。
1つまたは複数のコンピュータのシステムは、特定の動作またはアクションを、動作中にシステムにそうしたアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステムにインストールすることによって、実行するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成することができる。
第1の包括的な態様では、ビデオコンテンツをキャプチャするレコーディングを開始させるステップであって、ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、およびアノテーションビデオストリームを含む、ステップと、ビデオコンテンツに基づいて、ビデオコンテンツのキャプチャ中に、ビデオコンテンツの少なくとも1つの部分を、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、またはアノテーションビデオストリームのうちの少なくとも1つにおいて受け取られた入力に同期させるために使用されるタイミング情報を表すメタデータレコードを生成するステップとを含む、コンピュータによって実施される方法について記載する。
実施態様は、以下の特徴のうちの任意のものまたはすべてを含むことができる。いくつかの実施態様では、レコーディングの終了に応じて、本方法は、メタデータレコードに基づいて、ビデオコンテンツの表現を生成するステップを含むことができ、上記表現は、プレゼンタービデオストリームに関連するユーザによってアノテーション付けされたビデオコンテンツの部分を含む。いくつかの実施態様では、タイミング情報は、受け取られた入力のそれぞれの入力に関連付けられた複数のタイムスタンプと、ビデオコンテンツに関連付けられたドキュメントにおける少なくとも1つの位置とに対応し、入力を同期させることは、それぞれの入力について、複数のタイムスタンプにおける少なくとも1つのタイムスタンプを、ドキュメントにおける少なくとも1つの位置に一致させることを含む。
いくつかの実施態様では、ビデオコンテンツは、トランスクリプションビデオストリームをさらに含み、トランスクリプションビデオストリームは、ビデオコンテンツのレコーディング中に、スクリーンキャストビデオストリームとともに表示されるように構成された変更可能なトランスクリプションデータとして生成される、プレゼンタービデオストリームからのリアルタイムの文字起こしされたオーディオデータを含む。いくつかの実施態様では、トランスクリプションビデオストリームは、ビデオコンテンツのレコーディング中に、スクリーンキャストビデオストリームおよび文字起こしされたオーディオデータとともに表示されるように構成されたテキストデータとして生成される、プレゼンタービデオストリームからのリアルタイムの翻訳されたオーディオデータも含む。いくつかの実施態様では、リアルタイムの文字起こしされたオーディオデータのトランスクリプションは、少なくとも1つの音声テキスト化(speech-to-text)アプリケーションによって実施され、少なくとも1つの音声テキスト化アプリケーションは、トランスクリプションビデオストリームによってアクセス可能であると決定された複数の音声テキスト化アプリケーションから選択され、変更可能なトランスクリプションデータおよびテキストデータは、タイムスタンプに従ってメタデータレコードに格納され、検索可能であるように構成される。
いくつかの実施態様では、入力は、アノテーションビデオストリームに関連付けられたアノテーション入力を含み、アノテーション入力は、プレゼンタービデオストリームに関連するユーザによって生成されたビデオマーカデータおよびテレストレータデータを含む。いくつかの実施態様では、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、およびアノテーションビデオストリームは、レコーディング中にオンとオフとが切り替えられるように構成され、オンとオフとの切り替えにより、それぞれのプレゼンタービデオストリーム、それぞれのスクリーンキャストビデオストリーム、またはそれぞれのアノテーションビデオストリームの表示または表示からの削除がトリガされる。
第2の包括的な態様では、メモリと、メモリに結合された少なくとも1つのプロセッサとを含むシステムについて記載し、少なくとも1つのプロセッサは、協働するオンラインユーザインターフェースを生成するように構成されており、このユーザインターフェースは、ユーザインターフェース内からの複数のアプリケーションのアクセスに関連付けられたオーディオおよびビデオコンテンツをレンダリングするように構成されたレンダラと、ユーザインターフェースにおいてアノテーション入力を受け取り、オーディオおよびビデオコンテンツのレンダリング中に、受け取ったアノテーション入力に対する複数のアノテーションデータレコードを生成するように構成されたアノテーション生成ツールであって、アノテーション入力を受け取る少なくとも1つのコントロールを含むアノテーション生成ツールと、オーディオおよびビデオコンテンツのレンダリング中にオーディオコンテンツを文字起こしし、文字起こしされたオーディオコンテンツをユーザインターフェースに表示するように構成されたトランスクリプション生成ツールと、レンダリングの終了を検出することに応じて、オーディオおよびビデオコンテンツの表現を生成するように構成されたコンテンツ生成ツールとからのコマンドを受け取るように構成されている。上記表現は、アノテーション入力、ビデオコンテンツ、および文字起こしされたオーディオコンテンツに基づくことができ、上記表現は、アノテーション入力でマークされた、レンダリングされたオーディオおよびビデオの部分を含む。
実施態様は、以下の特徴のうちの任意のものまたはすべてを含むことができる。いくつかの実施態様では、コンテンツ生成ツールは、オーディオおよびビデオコンテンツの表現へのURLリンクを生成し、ウェブブラウザアプリケーションにおいてオーディオおよびビデオコンテンツの少なくとも一部を見つける検索機能を有効にするように表現にインデックス付けするようにさらに構成されている。いくつかの実施態様では、複数のアノテーションデータレコードは、複数のアプリケーションにおける、アノテーション入力を受け取る少なくとも1つのアプリケーションの指示と、それぞれのタイムスタンプに従って、指示された少なくとも1つのアプリケーションを描写するレンダリングされたビデオコンテンツの一部の少なくとも1つの画像フレームの上に、アノテーション入力をオーバーレイする機械可読命令とを含む。
いくつかの実施態様では、少なくとも1つの画像フレームの上にアノテーション入力をオーバーレイすることは、複数のアノテーションデータレコードのうちの少なくとも1つを取り出すことと、機械可読命令を実行することと、アノテーション入力が、少なくとも1つのアノテーションデータレコードに従って、少なくとも1つの画像フレームの上にオーバーレイされた状態で、ユーザが少なくとも1つの画像フレームをスクロールすることができるようにするドキュメントを生成することとを含む。いくつかの実施態様では、アノテーション生成ツールは、レンダリングされたオーディオおよびビデオコンテンツのレコーディングを開始させることであって、レンダリングされたビデオコンテンツは、複数のアプリケーションにおける第1のアプリケーションに関連付けられたデータと、複数のアプリケーションにおける第2のアプリケーションに関連付けられたデータとを含む、開始させることと、第1のアプリケーションにおいて、レコーディングビデオコンテンツの第1のセグメントの間に第1のアノテーションのセットを受け取ることと、第1のセグメントに関連付けられたそれぞれのタイムスタンプに従って、第1のアノテーションのセットを格納することと、第2のアプリケーションにおいて、レコーディングビデオコンテンツの第2のセグメントの間に第2のアノテーションのセットを受け取ることと、第2のセグメントに関連付けられたそれぞれのタイムスタンプに従って、第2のアノテーションのセットを格納することとを行うようにさらに構成されている。
カーソルフォーカスが第1のアプリケーションから第2のアプリケーションに切り替わったことを検出することに応じて、アノテーション生成ツールは、第2のアノテーションのセットと、第2のアプリケーションに関連付けられたデータとを取り出すことと、第2のセグメントに関連付けられたタイムスタンプを第2のアノテーションのセットに一致させることと、第2のセグメントに関連付けられたそれぞれのタイムスタンプに従って、第2のアプリケーションの上での取り出された第2のアノテーションのセットの表示を引き起こすこととを行うようにさらに構成されている。
いくつかの実施態様では、第1のアノテーションのセットおよび第2のアノテーションのセットは、アノテーションツールによって生成され、アノテーションツールは、第1のアノテーションのセットおよび第2のアノテーションのセットの各アノテーションについて、第1のアプリケーションに関連付けられたデータまたは第2のアプリケーションに関連付けられたデータ上の初期位置を保持しながら、第1のアノテーションのセットおよび第2のアノテーションのセットのマーキング、格納、およびスクロールを可能にする。いくつかの実施態様では、アノテーション生成ツールは、カーソルフォーカスが第2のアプリケーションから第1のアプリケーションに切り替わったことを検出することに応じて、第1のアノテーションのセットと、第1のアプリケーションに関連付けられたデータとを取り出すことと、第1のセグメントに関連付けられたタイムスタンプを、第1のアノテーションのセットに一致させることと、第1のセグメントに関連付けられたそれぞれのタイムスタンプに従って、第1のアプリケーションの上での取り出された第1のアノテーションのセットの表示を引き起こすこととを行うようにさらに構成されている。
いくつかの実施態様では、アノテーション生成ツールは、第2のアプリケーションにおいて追加のアノテーションを受け取ることであって、追加のアノテーションはそれぞれのタイムスタンプに関連付けられている、受け取ることと、レコーディングの完了を検出することに応じて、第2のアノテーションのセットおよび追加のアノテーションからドキュメントを生成することであって、ドキュメントは、第2のセグメントに関連付けられたそれぞれのタイムスタンプと、追加のアノテーションに関連付けられたそれぞれのタイムスタンプとに従って、第2のアプリケーションに関連付けられたデータの上にオーバーレイされた第2のアノテーションのセットおよび追加のアノテーション、ならびに第2のセグメントに関連付けられたレコーディングされたオーディオコンテンツのトランスクリプションを含む、生成することとを行うようにさらに構成されている。
第3の包括的な態様では、少なくとも1つのプロセッサによって実行されると、ビデオコンテンツをキャプチャするレコーディングを開始させることであって、ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含む、開始させることと、ビデオコンテンツに基づいて、ビデオコンテンツのキャプチャ中に、ビデオコンテンツの少なくとも1つの部分を、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、またはアノテーションビデオストリームのうちの少なくとも1つにおいて受け取られた入力に同期させるために使用されるタイミング情報を表すメタデータレコードを生成することとを含む命令をコンピューティングシステムに実行させるように構成された命令が格納されている、非一時的コンピュータ可読記憶媒体。
実施態様は、以下の特徴のうちの任意のものまたはすべてを含むことができる。いくつかの実施態様では、上記命令は、レコーディングの終了に応じて、メタデータレコードに基づいて、ビデオコンテンツの要約ビデオを生成することであって、要約ビデオは、プレゼンタービデオストリームに関連するユーザによってアノテーション付けされたビデオコンテンツの部分を含む、生成することをさらに含む。
いくつかの実施態様では、タイミング情報は、受け取られた入力のそれぞれの入力に関連付けられた複数のタイムスタンプと、ビデオコンテンツに関連付けられたドキュメントにおける少なくとも1つの位置とに対応し、入力を同期させることは、それぞれの入力について、複数のタイムスタンプにおける少なくとも1つのタイムスタンプを、ドキュメントにおける少なくとも1つの位置に一致させることを含む。
いくつかの実施態様では、トランスクリプションビデオストリームは、ビデオコンテンツのレコーディング中に、スクリーンキャストビデオストリームとともに表示されるように構成されたテキストデータとして生成される、プレゼンタービデオストリームからのリアルタイムの文字起こしされたオーディオデータと、ビデオコンテンツのレコーディング中に、スクリーンキャストビデオストリームおよび文字起こしされたオーディオデータとともに表示されるように構成されたテキストデータとして生成される、プレゼンタービデオストリームからのリアルタイムの翻訳されたオーディオデータとを含む。いくつかの実施態様では、リアルタイムの文字起こしされたオーディオデータは、ビデオコンテンツのレコーディング中に、スクリーンキャストビデオストリームとともに表示されるように構成された変更可能なトランスクリプションデータとして生成され、リアルタイムの文字起こしされたオーディオデータのトランスクリプションは、少なくとも1つの音声テキスト化アプリケーションによって実施され、少なくとも1つの音声テキスト化アプリケーションは、トランスクリプションビデオストリームによってアクセス可能であると決定された複数の音声テキスト化アプリケーションから選択され、変更可能なトランスクリプションデータおよびテキストデータは、タイムスタンプに従ってメタデータレコードに格納され、検索可能であるように構成される。
いくつかの実施態様では、入力は、アノテーションビデオストリームに関連付けられたアノテーション入力を含み、アノテーション入力は、プレゼンタービデオストリームに関連するユーザによって生成されたビデオマーカデータおよびテレストレータデータを含む。いくつかの実施態様では、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームは、レコーディング中にオンとオフとが切り替えられるように構成され、オンとオフとの切り替えにより、それぞれのプレゼンタービデオストリーム、それぞれのスクリーンキャストビデオストリーム、それぞれのトランスクリプションビデオストリーム、またはそれぞれのアノテーションビデオストリームの表示または表示からの削除がトリガされる。
第4の包括的な態様では、少なくとも1つのプロセッサによって実行されると、オーディオコンテンツおよびビデオコンテンツをキャプチャするレコーディングを開始させることであって、ビデオコンテンツは、少なくともプレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含む、開始させることと、ユーザインターフェース内からの複数のアプリケーションのアクセスに関連付けられたオーディオコンテンツおよびビデオコンテンツのレンダリングを引き起こすことと、オーディオコンテンツおよびビデオコンテンツのレンダリング中に、ユーザインターフェースにおいてアノテーション入力を受け取ることであって、アノテーション入力は、アノテーションビデオストリームに記録される、受け取ることと、オーディオコンテンツおよびビデオコンテンツのレンダリング中にオーディオコンテンツを文字起こしすることであって、文字起こしされたオーディオコンテンツは、トランスクリプションビデオストリームに記録される、文字起こしすることと、オーディオコンテンツおよびビデオコンテンツのレンダリング中に、文字起こしされたオーディオコンテンツを翻訳することと、レンダリングされたオーディオコンテンツおよびレンダリングされたビデオコンテンツとともに、ユーザインターフェースにおいて、文字起こしされたオーディオコンテンツおよび文字起こしされたオーディオコンテンツの翻訳のレンダリングを引き起こすこととを含む命令をコンピューティングシステムに実行させるように構成された命令が格納されている、非一時的コンピュータ可読記憶媒体。
実施態様は、以下の特徴のうちの任意のものまたはすべてを含むことができる。いくつかの実施態様では、コンピュータ実行可能命令は、オンラインプレゼンテーションシステムに、ビデオコンテンツおよびオーディオコンテンツのレンダリングの終了を検出することに応じて、オーディオコンテンツおよびビデオコンテンツの少なくとも一部分の代表的なコンテンツを生成させるようにさらに構成されている。代表的なコンテンツは、アノテーション入力、ビデオコンテンツ、および文字起こしされたオーディオコンテンツ、および翻訳されたオーディオコンテンツに基づくことができ、代表的なコンテンツは、アノテーション入力でマークされたレンダリングされたオーディオおよびビデオの部分を含む。いくつかの実施態様では、アノテーション入力は、ビデオコンテンツの上のオーバーレイとしてレンダリングされ、アノテーション入力は、レコーディング中にアクセスされた他のビデオコンテンツへの切り替えをトリガするウィンドウイベントまたはカーソルイベントの検出に応じて、ビデオコンテンツとともに移動するように構成されている。
第5の包括的な態様では、少なくとも1つのビデオストリームを受け取るステップと、少なくとも1つのビデオストリームにおいて検出された入力に関連付けられたタイミング情報を表すメタデータを受け取るステップであって、タイミング情報は、少なくとも1つのビデオストリームにおいて提供される検出された入力を、少なくとも1つのビデオストリームの一部に同期させるように構成される、ステップとを含む、コンピュータによって実施される方法について記載する。少なくとも1つのビデオストリームを視聴する要求を受け取ることに応じて、コンピュータによって実施される方法は、少なくとも1つのビデオストリームの一部を生成するステップであって、生成は、メタデータと、少なくとも1つのビデオストリームの表現を視聴することを要求する検出されたユーザ指示とに基づく、ステップと、少なくとも1つのビデオストリームの上記一部のレンダリングを引き起こすステップとを含むことができる。
実施態様は、以下の特徴のうちの任意のものまたはすべてを含むことができる。いくつかの実施態様では、タイミング情報は、少なくとも1つのビデオストリームにおいて検出されたそれぞれの入力に関連付けられた複数のタイムスタンプと、少なくとも1つのビデオストリームに関連付けられたコンテンツにおける少なくとも1つの位置とに対応し、検出された入力を同期させることは、それぞれの入力について、少なくとも1つのタイムスタンプを、少なくとも1つのビデオストリームに関連付けられたドキュメントにおける少なくとも1つの位置に一致させることを含む。いくつかの実施態様では、少なくとも1つのビデオストリームは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含む。いくつかの実施態様では、少なくとも1つのビデオストリームの表現は、検出された入力に基づき、入力でアノテーション付けされた少なくとも1つのビデオストリームのレンダリングされた部分を含む。
上記のシステム、方法、コンピュータ可読記憶媒体、および態様は、上述した態様の任意の組み合わせを実行するように構成することができ、それらの各々は、上記に列挙した特徴および態様の任意の好適な組み合わせとともに合わせて実装することができる。
上述した技法の実施態様は、ハードウェア、方法もしくはプロセス、またはコンピュータがアクセス可能な媒体上のコンピュータソフトウェアを含むことができる。1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に示す。他の特徴は、説明および図面から、かつ特許請求の範囲から明らかとなろう。
本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムの一例を示すブロック図である。 本明細書に記載する実施態様による、リアルタイムオンラインプレゼンテーションシステムを生成し、動作させるように構成された、コンピューティングシステム例を示すブロック図である。 本明細書に記載する実施態様による、リアルタイムオンラインプレゼンテーションシステムを生成し、動作させるように構成された、コンピューティングシステム例を示すブロック図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのユーザインターフェース(UI)例とアノテーションが付されたコンテンツ間の切り替えとを示すスクリーンショットである。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのユーザインターフェース(UI)例とアノテーションが付されたコンテンツ間の切り替えとを示すスクリーンショットである。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのユーザインターフェース(UI)例とアノテーションが付されたコンテンツ間の切り替えとを示すスクリーンショットである。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって提供されるツールバー例を示すスクリーンショットである。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのUI例における画面を共有する例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのUI例における画面を共有する例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのUI例における画面を共有する例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって提供されるツールバー例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって提供されるツールバー例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって提供されるツールバーの使用例のスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステム使用する一例のフロー図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって生成されるトランスクリプトの一例を示すスクリーンショットの図である。 本明細書に記載する実施態様による、レコーディングされたコンテンツをリアルタイムプレゼンテーションシステムのユーザに表出させる一例を示すスクリーンショットの図である。 本明細書に記載する実施態様による、レコーディングされたコンテンツをリアルタイムプレゼンテーションシステムのユーザに表出させる別の例を示すスクリーンショットの図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって生成されたセッションのレコーディング中にマークされたキーアイデアおよびコンテンツを表出させる一例を示すスクリーンショットの図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにアクセスするユーザによって構成されたマークされたコンテンツを示すスクリーンショットを示す図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって生成されたセッションのレコーディング中にリアルタイムで示される翻訳されたテキストを示すスクリーンショットの図である。 本明細書に記載する実施態様による、スクリーンキャストを生成しレコーディングするプロセス例のフロー図である。 本明細書に記載する実施態様による、複数のビデオストリームに関連付けられたメタデータレコードを生成するプロセス例のフロー図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにおいてビデオプレゼンテーションを生成しレコーディングするプロセス例のフロー図である。 本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにおいてビデオプレゼンテーションをプレゼンテーションするプロセス例のフロー図である。 本明細書に記載する技法を実装するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
さまざまな図面における同様のまたは同一の参照番号の使用は、同様のまたは同一の要素または特徴の存在を示すことように意図されている。
詳細な説明
本明細書では、ビデオコンテンツをレコーディングし、共有し、視聴し、ビデオコンテンツとインタラクトし、ビデオコンテンツを検索し、キャストするのを容易にする、ユーザインターフェース(UI)および/またはプレゼンテーションツールについて説明する。UIおよびプレゼンテーションツールは、オンラインであって、リアルタイムでコンテンツをプレゼンテーションすることができる、プレゼンテーションシステムにおいて提供することができる。プレゼンテーションツールを使用して、プレゼンテーションされた(たとえば、共有された、キャストされたなどの)コンテンツとインタラクトすることができる。本明細書に記載するシステムおよび方法は、アプリケーション(たとえば、ブラウザ、ウェブアプリ、アプリケーション、拡張機能、ネイティブアプリケーションなど)から受け取ったコマンド、および/またはコンピューティングデバイスのオペレーティングシステム(O/S)から受け取ったコマンドに基づいて、UIおよびプレゼンテーションツールを提供し、実行し、かつ/または制御することができる。したがって、本明細書に記載するシステムおよび方法は、オンラインのリアルタイムプレゼンテーションシステムを、アプリケーションとして、またはO/Sが提供するユーザインターフェースのセットとして、提供することができる。
いくつかの実施態様では、本明細書に記載するシステムおよび方法を使用して、プレゼンテーションツールでプレゼンテーションされる教育用コンテンツを生成することができる。コンテンツは、重要な教育用コンテンツを区別するために、すべてリアルタイムで、文字起こしし、翻訳し、アノテーション付けすることができる。アノテーションを使用して、追加の関連コンテンツ(たとえば、教育用コンテンツ、学習ガイド、代表的な(たとえば、リキャップ、要約、スニペット)ビデオおよび関連コンテンツ、ビデオスニペット、スクリーンショット、画像フレームなど)を生成することができる。たとえば、アプリケーションは、ビデオ(たとえば、1つまたは複数のプレゼンテーション、授業、セミナーなど)のレコーディング中にコンテンツに提供されたアノテーションに基づいて、リキャップビデオを自動的に生成することができる。アノテーションは、プレゼンターおよび/またはユーザが提供することができる。動作時、プレゼンターおよび/またはユーザは、テキスト、プレゼンターがマークした(またはユーザがマークした)重要度インジケータ、および/または文字起こしされたオーディオコンテンツマーカの形態で、アノテーションマーキングを生成するための入力を提供することができ、入力は、ビデオにレコーディングされているコンテンツ上へのマーカまたはオーバーレイとして生成される。
従来のオンラインの教育用ビデオは、ユーザがビデオ全体を見てかつ/またはスキャンすることなしに、特定のビデオ内の特定のコンテンツを見つける好都合な方法を提供することができない。ビデオがレコーディングされると、従来の技術では、後に検索することができるトランスクリプションを生成することができるが、文字起こしされたコンテンツに関連するビデオの部分のリアルタイムの並列ビューを提供することはできない。ビデオをレコーディングしながら、ライブのトランスクリプションおよび/または翻訳を提供する技術的解決法が必要である。本明細書に記載するシステムおよび方法は、リアルタイムのアノテーション付きビデオコンテンツおよび/またはスクリーンシェア/スクリーンキャストコンテンツの隣に、文字起こしされたかつ/または翻訳されたコンテンツ(たとえば、文字起こしされたオーディオコンテンツの翻訳)の並列での視覚表示を可能にする、そうした技術的解決法を提供する。これは、ビデオのコンテンツの学習および理解を強化するという利点を提供することができる。本明細書に記載するシステムおよび方法によって提供される技術的解決法は、ビデオコンテンツ(教育用コンテンツ、アノテーション、プレゼンターが示す要素、トランスクリプション、翻訳など)が迅速にインデックス付けされ、ユーザに検索可能となるのを可能にすることができる。たとえば、本明細書に記載するシステムおよび方法は、プレゼンテーションされているコンテンツをレコーディングしそうしたコンテンツとインタラクトするための機能およびツールを備えたプレゼンテーション(たとえば、スクリーンキャスト)機能を生成するように構成された、ネイティブアプリケーション(またはウェブアプリケーション)を提供することができる。
本明細書に記載する技法は、スクリーンキャスト(またはスクリーンシェア)プレゼンテーションの開始、スクリーンキャストのレコーディング、およびスクリーンキャストされているコンテンツのトランスクリプション/翻訳を同時にトリガする単一の入力コマンドを可能にするという、技術的効果を提供する。レコーディングされたコンテンツの複数のレイヤ(たとえば、ドキュメント、ウェブサイト、ネスト化されたビデオコンテンツレイヤ、ピクチャインピクチャレイヤ、アノテーションレイヤ、プレゼンターカメラ(たとえば、自撮り)レイヤ、参加者(たとえば、ユーザ)レイヤ、トランスクリプションレイヤ、および翻訳レイヤ)は、プレゼンター(すなわち、レコーダ)によるかまたはユーザ(すなわち、参加者または視聴者)によるレイヤのオンおよびオフの切り替えを可能にするために、別々にキャプチャすることができる。これにより、レコーディングに対するより柔軟な手法を提供することができ、異なるレイヤを別々にレコーディングするか、または、たとえばトランスクリプションを得るためにビデオを後処理しなければならない場合よりも、一度にすべてをレコーディングするために、計算効率が高くなり得る。加えて、レコーディングされたスクリーンキャストのコンテンツは、レコーディングされたスクリーンキャストとインタラクトしている間、またはレコーディングされたスクリーンキャストビデオが最近アクセスされたと判断されている間に、検索タスクがコンテンツを取り出して表出させるようにすることができるように、インデックス付けすることができる。これにより、ビデオの非常に長い後処理を回避するように、効率的な方法でOSレベルの検索機能にビデオコンテンツ(単なるファイル名ではない)を統合することができる。こうしたOSレベルの手法は、アノテーション(たとえば、ウィンドウイベントなど)を調整するために、実行中のアプリケーションからの信号を受け取って利用することができるため、本明細書に記載する技法をOSレベルで実装することにより、アノテーションに対するアプリケーション特有の手法よりも汎用性があり得る。
本明細書のシステムおよび方法は、特定のユーザのための最近の教育用ビデオコンテンツを見つけるという技術的課題(たとえば、問題)を解決することができる。これは、従来の教室/講義に基づく学習が、家庭または「仮想」学習に取って代わられる場合に役に立つ可能性がある。たとえば、ユーザは、ビデオコンテンツで教示される教育用コンテンツに関連する試験の勉強をするか、または宿題を行うときに、以前にキャプチャされたビデオコンテンツをどこで、どのように取り出すべきか分からない場合がある。多くの場合、ユーザは、以前にレコーディングされた多数のビデオを使用して試験の勉強をしなければならない場合がある。従来のシステムでは、ユーザは、各ビデオの全体を見直し、スキャンし、および/または見る必要がある可能性がある。しかしながら、ユーザは、各ビデオからのキーアイデアおよびコンセプトから利益を得ることができる。したがって、本明細書に記載するシステムおよび方法は、キーアイデアおよびコンセプトを示すために1つまたは複数のオリジナルビデオのレコーディング中にアノテーション付けされた、代表的なビデオが自動的に生成されるという技術的解決法を提供する。たとえば、本システムおよび方法により、プレゼンターまたはユーザ(たとえば、プレゼンテーション参加者)によって重要とみなされた、1つまたは複数の(たとえば、一組の)キュレーションされた検索可能なビデオコンテンツ(たとえば、要約、スニペット)の生成を可能にすることができる。これらの代表的なビデオの生成は、本明細書に記載するコンテンツをキャプチャするストリームベースの手法によって容易になる。
本明細書に記載するシステムおよび方法は、基礎となるO/Sを使用して、コンテンツ(たとえば、メタデータ、ビデオコンテンツなど)およびビデオスニペットを提示するために使用することができるUIのリポジトリを生成することによって、技術的な問題に対する技術的解決法を提供する。本明細書に記載する技術的解決法は、改善されたコンテンツ管理、改善されたコンテンツアクセス、および改善されたUIインタラクションという技術的効果を提供することができる。たとえば、本明細書に記載するシステムおよび方法は、ビデオコンテンツの一部のインタラクティブな説明、プレゼンターのコメント、アノテーションなどを提供する代表的なビデオを生成することができる。さらに、これらのスニペットは、従来のファイル検索またはウェブブラウザアプリケーションを使用して検索可能であり得る。
図1は、本明細書に記載する実施形態によるリアルタイムプレゼンテーションシステム100の一例を示すブロック図である。システム100は、1つまたは複数のアプリケーション102またはオペレーティングシステムO/S104によって提供することができる。いくつかの実施態様では、システム100は、オンラインサービス、オンラインドライブ、オンラインライブラリなどにアクセスし、かつ/またはそこからコンテンツを受信することができる。コンテンツは、1つまたは複数のユーザインターフェース(UI)106に描写することができる。
リアルタイムプレゼンテーションシステム100は、システム、オペレーティングシステム、アプリケーション(たとえば、プログラム)、および/または本明細書に記載する他の機能が、ユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、もしくはアクティビティ、職業、ユーザの嗜好、および/またはユーザの現在位置に関する情報)の収集を可能にすることができる場合と、ユーザにサーバからコンテンツまたは通信が送信される場合の両方について、ユーザが選択を行うことができるようにするコントロールを、ユーザに提供することができる。加えて、システム100は、個人を特定できる情報が削除されるように、ある特定のデータが格納または使用される前に1つまたは複数の方法で処理されるのを確実にすることができる。たとえば、ユーザの個人情報を処理して、ユーザについて個人を特定できる情報を決定することができないようにしてもよく、または、位置情報が取得される(都市、郵便番号、または州レベルなど)ユーザの地理的位置を一般化して、ユーザの特定の位置を決定することができないようにしてもよい。このように、ユーザは、ユーザについて何の情報が収集されるか、その情報がいかに使用されるか、および何の情報がユーザに提供されるかを制御することができる。
システム100は、スクリーンキャストし、スクリーンシェアし、かつ/またはレコーディングし、リアルタイムでまたはレコーディング後にオンラインリソースにアップロードすることができる、任意の数のUI(たとえば、UI107)を生成することができる。UI106は、ツールバー108、ビデオストリームおよびオーディオストリーム110、代表的なコンテンツ112、アノテーション114、およびライブラリ116を含み、提示し、または他の方法でアクセスすることができる。たとえば、システム100は、ユーザがツールバー108、アノテーション114、およびライブラリ116を使用してコンテンツをプレゼンテーションすることができる、オンラインのリアルタイムプレゼンテーションシステム(たとえば、アプリケーション、UI、O/Sベースのポータル)であってもよい。ユーザは、システム100を使用して、ユーザおよび/またはプレゼンターが提供するアノテーション114を描写するビデオコンテンツおよびオーディオコンテンツ110を生成することもできる。プレゼンテーションコンテンツは、レコーディングし、スクリーンキャストし、共有し、プレゼンテーションコンテンツの一部を含むことができる特定の代表的なコンテンツ112を提供するように変更することができる。いくつかの実施態様では、代表的なコンテンツ112は、特定のビデオコンテンツのすべてまたは一部を要約した要約コンテンツ(たとえば、アノテーションの有無にかかわらず、オーディオおよび/またはビデオコンテンツ)である。いくつかの実施態様では、代表的なコンテンツ112は、特定のトピックまたはカテゴリに関連付けられたビデオおよび/またはオーディオコンテンツの一部を含む。いくつかの実施態様では、代表的なコンテンツ112は、特定のビデオのチャプタ情報またはタイトル情報を含むビデオおよび/またはオーディオコンテンツを含む。いくつかの実施態様では、代表的なコンテンツ112は、マークアップ(たとえば、アノテーション)を含むビデオの部分を含み、こうした部分は、関連付けられたオーディオおよび/またはメタデータを含むことができる。
概して、ツールバー108は、多数の選択可能なツール(たとえば、スクリーンキャスト、スクリーンキャストのレコーディング、プレゼンターカメラ(たとえば、前面カメラ(すなわち、自撮り)カメラ)、リアルタイムトランスクリプション、リアルタイム翻訳、レーザポインタツール、アノテーションツール、拡大鏡ツールなど)を含むインタラクティブツールバーを含むことができる。ツールバーは、プレゼンターが単一の入力で容易にプレゼンテーションし、レコーディングし、キャストするように、構成することができる。加えて、ツールバーは、プレゼンテーション、レコーディング、および/またはキャスティングを切り替えるオプションを提供してもよい。ツールバー例を図1のツールバー118に示す。ツールバー118は、レコーディングツール、レーザポインタツール、(アノテーション114を生成するための)ペンツール、消しゴムツール、拡大鏡ツール、自撮りカメラまたは他のキャプチャツール、ならびにライブトランスクリプションおよび翻訳ツールなどを含む。
いくつかの実施態様では、ツールバー108は、UI107においてアノテーション入力(たとえば、アノテーション120)を受け取るように構成されたアノテーション生成ツール108aを含むことができる。(たとえば、ツールバー118から選択される)アノテーション生成ツール108aは、オーディオおよびビデオコンテンツのレンダリング中に(かつUI107に示すように)、受け取られたアノテーション入力120に対するアノテーションデータレコード(たとえば、レコード214)を生成することができる。いくつかの実施態様では、アノテーション生成ツール108aは、アノテーション入力120を受け取り、受け取ったアノテーション入力に対するタイムスタンプの格納をトリガする少なくとも1つのコントロール(たとえば、ソフトウェアまたはハードウェアベースの入力コントロール)を含むことができる。たとえば、システム100は、アノテーション114(たとえば、アノテーション120)を受け取ることができ、これに応じて、入力120がいつ受け取られたか、およびいずれのアプリケーションにおいて入力120が受け取られたかを示す1つまたは複数のタイムスタンプを含むメタデータ(たとえば、アノテーションデータレコード214)を格納することができる。後に、メタデータを使用して、入力がいつ受け取られたか、入力が何を示したか、ならびに/または入力および/もしくは入力に関連するコンテンツの重要度レベルに基づいて、ビデオスニペットおよび/または代表的なコンテンツ112を生成することができる。いくつかの実施態様では、ユーザがコンテンツに対するアノテーションを生成するために任意の数のツールを選択することができるため、たとえば、ツールバー118上の任意の数のツールは、アノテーション生成ツール108aの一部であってもよい。
いくつかの実施態様では、プレゼンテーションシステム100は、ビデオストリームおよびオーディオストリーム110を生成および変更することもできる。たとえば、システム100を使用して、さまざまなライブラリ116およびアクセスされたアプリケーション、画像、または他のリソースを使用してコンテンツをプレゼンテーションすることができる。コンテンツは、ツールバー118を使用してレコーディングすることができる。レコーディングされたコンテンツは、プレゼンターまたは別のユーザがアクセスすることができる。レコーディングされたコンテンツを使用して、システム100は、代表的なコンテンツ112を自動的に生成することができる。
いくつかの実施態様では、システム100をホストするコンピューティングデバイスに、前面カメラツール(たとえば、自撮りカメラ)を含めることができる。自撮りカメラを使用して、プレゼンタービデオストリーム例122に示すように、プレゼンタービデオストリームを生成することができる。システム100上のUI107に描写されるコンテンツの消費者、または(ストリーム122に示される)プレゼンターは、ストリーム122のビューをオンまたはオフに切り替えることができる。たとえば、ストリーム122がコンテンツ124と重なる場合、たとえば、プレゼンターまたはUI107に描写されたコンテンツの消費者は、コンテンツ124のビューをより多く確保するために、ストリーム122を表示されないようにすることができる。同様に、UI107に、参加者ビデオストリーム126を描写してもよい。参加者ビデオストリーム126もまた、参加者のいずれによっても、またはプレゼンターによって、オンまたはオフに切り替えることができる。
動作時、プレゼンター(たとえば、ストリーム122に示されるユーザ)は、たとえば、UI107およびツールバー118がプレゼンテーションされるようにシステム100にアクセスすることができる。プレゼンターは、コンテンツをプレゼンテーションし、コンテンツにアノテーション付けし、コンテンツおよび/またはアノテーションをレコーディングし、将来の見直しのためにコンテンツおよび/またはアノテーションをアップロードするために、ツールバー118を使用して、UI107内のコンテンツのうちの任意のものまたはすべてをキャストし、スクリーンキャストし、または他の方法で共有することができる。この例では、プレゼンターは、ブラウザアプリケーションを介してシステム100にアクセスしており、プレゼンテーション101、タブ128、ストリーム122、ストリーム126、および以前に入力されたアノテーション120を含むブラウザアプリケーション全体を共有する(たとえば、キャストする)ことを選択している。ツールバー118も共有コンテンツに提示され、表示/非表示を切り替えることができる。
図2Aおよび図2Bは、本明細書に記載する実施態様による、リアルタイムオンラインプレゼンテーションシステム100を生成し動作させるように構成された、コンピューティングシステム例200を示すブロック図である。システム100は、デスクトップオペレーティングシステム、モバイルオペレーティングシステム、アプリケーション拡張機能、または他のソフトウェアにおいて、本明細書に記載するコンピューティングシステムのうちの任意のもので動作することができる。システム200を使用して、コンピューティングデバイス(たとえば、コンピューティングシステム201、コンピューティングシステム202、およびサーバコンピューティングシステム204)、および/またはシステム100(および対応するUI)を動作させるための他のデバイス(図2Aには図示せず)を構成することができる。たとえば、システム200は、プレゼンターがシステム100を使用してオーディオおよびビデオを共有し、アノテーション付けし、レコーディングするのを可能にする、多数のUIを生成することができる。
図2Aに示すように、コンピューティングシステム202は、オペレーティングシステム(O/S)216を含む。概して、O/S216は、図示しないアプリケーション、UIインタラクション、アクセスされたサービス、および/またはデバイス通信を実行および/または制御するように機能することができる。たとえば、O/S216は、アプリケーション218およびUI生成器220を実行および/または他の方法で管理することができる。いくつかの実施態様では、O/S216は、リアルタイムプレゼンテーションシステム100もまたを実行および/または他の方法で管理することができる。いくつかの実施態様では、1つまたは複数のアプリケーション218が、リアルタイムプレゼンテーションシステム100を実行および/または他の方法で管理してもよい。いくつかの実施態様では、ブラウザ222が、リアルタイムプレゼンテーションシステム100を実行および/または他の方法で管理してもよい。
アプリケーション218は、コンピューティングシステム202によって(もしくはサーバコンピューティングシステム204によって、または外部サービスを介して)実行/配布することができる、任意のタイプのコンピュータプログラムであり得る。アプリケーション218は、ユーザがそれぞれのアプリケーション218の機能とインタラクトすることができるように、ユーザインターフェース(たとえば、アプリケーションウィンドウ、メニュー、ビデオストリーム、ツールバーなど)を提供することができる。特定のアプリケーション218のアプリケーションウィンドウは、メニュー、アイコン、ツールバー、ウィジェットなどの任意のタイプのコントロールとともに、アプリケーションデータを表示することができる。アプリケーション218は、アプリ情報224およびセッションデータ226を含むか、またはそれらにアクセスすることができ、これらの両方が、コンテンツおよび/またはデータを生成し、そうしたコンテンツおよび/またはデータを、デバイスインターフェースを介してユーザおよび/またはO/S216に提供するために使用することができる。アプリ情報224は、特定のアプリケーション218によって実行されているかまたは他の方法でアクセスされている情報に対応することができる。たとえば、アプリ情報224は、テキスト、画像、ビデオコンテンツ、メタデータ(たとえば、メタデータ228)、入力、出力、またはアプリケーション218とのインタラクションに関連付けられた制御信号を含むことができる。いくつかの実施態様では、アプリ情報224は、クラウドサーバ、サーバ204、サービス、または他のストレージリソースからダウンロードされたデータを含むことができる。いくつかの実施態様では、アプリ情報224は、限定されないが、メタデータ、タグ、タイムスタンプデータ、URLデータなどを含む、特定のアプリケーション218に関連付けられたデータを含むことができる。いくつかの実施態様では、アプリケーション218は、ブラウザ222を含むことができる。ブラウザ222を利用して、システム100は、プレゼンテーション、キャスティング、および/または他の共有のためにコンテンツを構成することができる。
セッションデータ226は、アプリケーション218とのユーザセッション230に関係することができる。たとえば、ユーザは、コンピューティングシステム202上のもしくはコンピューティングシステム202に関連するユーザプロファイル234を介して、または代替的にサーバコンピューティングシステム204を介して、ユーザアカウント232にアクセスすることができる。ユーザアカウント232にアクセスすることは、ユーザ名/パスワードまたは他のタイプの認証クレデンシャルおよび/もしくは許可データ236を提供することを含むことができる。ユーザがユーザクレデンシャルを供給することができるように、ログイン画面を表示することができ、これにより、認証されると、ユーザは、コンピューティングシステム202の機能にアクセスすることができる。セッションは、ユーザアカウント232がアクセスされたと判断されたことに応じて、またはコンピューティングシステム202の1つまたは複数のユーザインターフェース(UI)が表示されたときに、開始することができる。いくつかの実施態様では、セッションおよびユーザアカウントは、サーバコンピューティングシステム204と通信することなく、コンピューティングシステム202を使用して、認証およびアクセスすることができる。
いくつかの実施態様では、ユーザプロファイル234は、単一のユーザのための複数のプロファイルを含むことができる。たとえば、ユーザは、仕事用ユーザプロファイルと個人用ユーザプロファイルとを有することができる。両方のプロファイルは、両方のユーザプロファイルから格納されたコンテンツアイテムを使用およびアクセスするために、リアルタイムプレゼンテーションシステム100を利用することができる。したがって、ユーザが、業務用プロファイルでブラウザセッションを開き、個人用ユーザプロファイルでオンラインファイルまたはアプリケーションを開いている場合、システム100は、両方のプロファイル上のコンテンツにアクセスすることができる。
セッション中(かつユーザが許可した場合)、セッションデータ226が生成される。セッションデータ226は、特定のコンピューティングセッション230の間にユーザによって使用された/有効にされたセッションアイテムに関する情報を含む。セッションアイテムは、クリップボードコンテンツ、ブラウザタブ/ウィンドウ、ドキュメント、オンラインドキュメント、アプリケーション(たとえば、ウェブアプリケーション、ネイティブアプリケーション)、仮想デスク、表示状態(またはモード)(たとえば、分割スクリーン、ピクチャインピクチャ、全画面モード、自分撮りモードなど)、および/または他のグラフィカル制御要素(たとえば、ファイル、ウィンドウ、制御画面など)を含むことができる。
ユーザが、ユーザインターフェース上でこれらのセッションアイテムを起動し、有効化し、かつ/または操作すると、セッションデータ226が生成される。セッションデータ226は、いずれのセッションアイテム(たとえば、ドキュメント、ブラウザタブなど)が起動され、構成され、または有効にされたかの識別を含むことができる。セッションデータ226は、ウィンドウの位置、ウィンドウのサイズ、セッションアイテムが前景に配置されているかまたは背景に配置されているか、セッションアイテムがフォーカスされているかまたはフォーカスされていないか、セッションアイテムが使用された(または最後に使用された)時間、および/またはセッションアイテムの最新性または最後の出現順序、および/またはセッションのこうした詳細のうちの任意のものまたはすべてを定義するメタデータも含むことができる。いくつかの例では、セッションデータ226は、オーディオストリームレコーディング110aおよびビデオストリームレコーディング110bなど、セッションに対するレコーディングされたコンテンツを含む場合がある。こうしたレコーディングは、サーバ(サーバ204またはクラウドサーバなど)に格納するか、ローカルに(たとえば、デバイス201または202に)格納するか、またはシステム100のレコーディングされたコンテンツおよびメタデータを格納するように構成された特定のライブラリ116に格納することができる。
いくつかの例では、セッションデータ226は、ネットワーク240を介してサーバコンピューティングシステム204に送信され、そこで、サーバコンピューティングシステム204におけるユーザのユーザ許可データ236に従って、ユーザアカウント232と関連してメモリ242に格納することができる。たとえば、ユーザが、コンピューティングシステム202上の(たとえば、システム100の)ユーザインターフェースでセッションアイテムを起動および/または操作すると、セッションアイテムに関するセッションデータ226を、サーバコンピューティングシステム204に送信することができる。いくつかの実施態様では、セッションデータ226は、コンピューティングシステム202上のメモリデバイス244内に代わりに(またはメモリデバイス244内にも)格納される。
UI生成器220は、システム100に関連付けられかつ/またはシステム100によって提供されるUIでレンダリングする、コンテンツアイテムおよびツールバーの表現を生成することができる。UI生成器220は、検索、コンテンツアイテム分析、ブラウザプロセス開始、および他の処理アクティビティを実施して、コンテンツアイテムがシステム100に関連付けられたUIにおいて特定の領域または順序内で正確にかつ効率的にレンダリングされることを確実にすることができる。たとえば、生成器220は、システム100に関連付けられたUIにおいて特定のコンテンツアイテムがいかに描写されるかを決定することができる。いくつかの実施態様では、生成器220は、システム100によって描写されるコンテンツアイテムに書式設定を追加してもよい。いくつかの実施態様では、生成器220は、システム100によって描写されるコンテンツアイテムから書式設定を削除してもよい。
図2Aに示すように、O/S216は、サービス(図示せず)、通信モジュール248、カメラ250、メモリ244、およびCPU/GPU252を含むか、またはそれらにアクセスすることができる。コンピューティングシステム202は、メタデータ228、プリファレンス256も含むか、またはそれらにアクセスすることもできる。加えて、コンピューティングシステム202は、入力デバイス258、および/または出力デバイス260も含むか、またはそれらにアクセスすることもできる。
システム200がアクセスすることができるサービス(図示せず)は、オンラインストレージ、コンテンツアイテムアクセス、アカウントセッションまたはプロファイルアクセス、許可データアクセスなどを含むことができる。いくつかの実施態様では、サービスは、ユーザ情報およびアカウント232がサービスを介してアクセスされるサーバコンピューティングシステム204に置き換わるように機能してもよい。同様に、リアルタイムプレゼンテーションシステム100に、1つまたは複数のサービスを介してアクセスしてもよい。
カメラ250は、コンピューティングシステム202(または、コンピューティングシステム202と通信する別のデバイス)によって実行されるカメラキャプチャ(およびビデオキャプチャ)に関連付けられた背景データの変化を検出することができる、1つまたは複数の画像センサ(図示せず)を含むことができる。カメラ250は、背面キャプチャモードおよび前面キャプチャモードを含むことができる。
コンピューティングシステム202は、特定のポリシーおよび許可およびプリファレンス256を生成および/または配布することができる。ポリシーおよび許可およびプリファレンス256は、コンピューティングシステム202、システム100のデバイス製造業者によって、かつ/またはシステム202にアクセスするユーザによって構成することができる。ポリシーおよびプリファレンス256は、オーディオコマンド、視覚コマンド、スケジュールベースのコマンド、または他の構成可能なコマンドに基づいてトリガするルーチン(すなわち、一組のアクション)を含むことができる。たとえば、ユーザは、表示される特定のUIを設定し、特定のアクションに応答するUIとのインタラクションのレコーディングを開始することができる。こうしたアクションを検出することに応じて、システム202は、UIを表示し、レコーディングをトリガすることができる。他のポリシーおよびプリファレンス256は、ポリシーおよび許可および/またはプリファレンス256で構成されたシステム202に関連付けられたコンテンツを変更および/または制御するように構成してもよい。
入力デバイス258は、たとえば、触覚ユーザ入力を受け取ることができるタッチ入力デバイス、キーボード、マウス、ハンドコントローラ、ウェアラブルコントローラ、モバイルデバイス(または、他のポータブル電子デバイス)、可聴ユーザ入力を受け取ることができるマイクロフォンなどを介して受け取られたデータを、システム202に提供することができる。出力デバイス260は、たとえば、視覚的出力のためにディスプレイ用のコンテンツを生成するデバイス、音声出力のための1つまたは複数のスピーカなどを含むことができる。
いくつかの実施態様では、コンピューティングシステム202は、特定のアプリケーションおよび/またはO/Sデータをリポジトリに格納することができる。たとえば、アノテーション114、データレコード214、メタデータ228、オーディオストリームレコーディング110a、およびビデオストリームレコーディング110bは、後に検索しかつ/または取り出すために格納することができる。同様に、スクリーンキャプチャおよびアノテーションビデオストリームもまた、こうしたリポジトリに格納し、そこから取り出すことができる。
サーバコンピューティングシステム204は、多数の異なるデバイスの形態をとる任意の数のコンピューティングデバイス、たとえば標準サーバ、そうしたサーバのグループ、またはラックサーバシステムを含むことができる。いくつかの例では、サーバコンピューティングシステム204は、プロセッサ262およびメモリ242などのコンポーネントを共有する単一のシステムであってもよい。ユーザアカウント232は、ユーザ許可データ236に従って、システム204およびセッション230の構成および/またはプロファイル234の構成と関連付けることができ、たとえば、ユーザアカウント232のユーザの要求に応じてシステム202に提供することができる。
ネットワーク240は、インターネット、および/または、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、セルラネットワーク、衛星ネットワーク、または他のタイプのデータネットワークなど、他のタイプのデータネットワークを含むことができる。ネットワーク240は、ネットワーク240内でデータを受信および/または送信するように構成された任意の数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)も含むことができる。ネットワーク240は、任意の数の配線接続および/または無線接続をさらに含むことができる。
サーバコンピューティングシステム204は、基板に形成された1つまたは複数のプロセッサ262、オペレーティングシステム(図示せず)、および1つまたは複数のメモリデバイス242を含むことができる。メモリデバイス242は、任意の種類の(または複数の種類の)メモリ(たとえば、RAM、フラッシュ、キャッシュ、ディスク、テープなど)を表すことができる。いくつかの例(図示せず)では、メモリデバイス242は、外部記憶デバイス、たとえば、サーバコンピューティングシステム204から物理的に離れているがサーバコンピューティングシステム204によりアクセス可能なメモリを含むことができる。サーバコンピューティングシステム204は、特別にプログラムされたソフトウェアを表す1つまたは複数のモジュールまたはエンジンを含むことができる。
概して、コンピューティングシステム100、201、202、および204は、たとえば、本明細書に記載するシステムおよび技法を使用して互いの間で、通信モジュール248を介して通信することができ、かつ/またはネットワーク240を介して無線でデータを転送することができる。いくつかの実施態様では、各システム100、201、202、および204は、システム200内で、システム200に関連付けられた他のデバイスと通信するように構成することができる。
図2Bは、ビデオおよびオーディオをレコーディングし、結果として得られるレコーディングされたコンテンツ(たとえば、オーディオストリームレコーディング110a、ビデオストリームレコーディング110b、レコーディングされたアノテーション114、および他のレコーディングされたビデオストリーム)を、関連するメタデータ228とともに格納するアーキテクチャ例263を表す。この例では、リアルタイムプレゼンテーションシステム100は、O/S用のネイティブアプリケーションを介してアクセスされ、ネイティブアプリケーションに関連付けられたレコーディングツールを使用する。レコーディング(たとえば、ビデオおよびオーディオストリーム)は、リアルタイムでオンラインドライブにアップロードしてもよい。
図2Bに示すように、O/S216は、リアルタイムプレゼンテーションシステム100および任意の数のアプリケーション218を含むか、またはそれらにアクセスすることができる。たとえば、アプリケーション218は、ブラウザ222も含むことができる。ブラウザ222は、インターネット上の情報にアクセスするように構成されたウェブブラウザを表す。ブラウザ222は、ブラウザコンテンツまたは他のブラウザベースの動作を生成するために、1つまたは複数のブラウザプロセス264を起動することができる。ブラウザ222は、1つまたは複数のブラウザウィンドウ268のコンテキスト内でブラウザタブ266を起動することもできる。
アプリケーション218は、ウェブアプリケーション270を含むことができる。ウェブアプリケーション270は、たとえば、リモートサーバ(たとえば、ウェブサーバ)に格納され、ブラウザタブ266を介してネットワーク240で配布される、アプリケーションプログラムを表す。いくつかの実施態様では、ウェブアプリケーション270は、デバイスに保存してオフラインで使用することができるプログレッシブウェブアプリケーションである。アプリケーション218は、コンピューティングシステム202上に少なくとも部分的に格納される(たとえば、ローカルに格納される)プログラムであり得る、非ウェブアプリケーションも含むことができる。いくつかの例では、非ウェブアプリケーションは、O/S216によって実行可能(または、O/S216の上で実行可能)であってもよい。
アプリケーション218は、ネイティブアプリケーション272をさらに含むことができる。ネイティブアプリケーション272は、特定のプラットフォームまたはデバイス上で使用されるように開発されたソフトウェアプログラムを表す。いくつかの例では、ネイティブアプリケーション272は、複数のプラットフォームまたはデバイス用に開発されたソフトウェアプログラムである。いくつかの例では、ネイティブアプリケーション272は、モバイルプラットフォーム上で使用されるように開発され、デスクトップまたはラップトップコンピュータ上で実行するようにも構成された、ソフトウェアプログラムである。
いくつかの実施態様では、リアルタイムプレゼンテーションシステム100は、アプリケーションとして実行することができる。いくつかの実施態様では、システム100はビデオ会議アプリケーション内で実行することができる。いくつかの実施態様では、リアルタイムプレゼンテーションシステム100は、ネイティブアプリケーションとして実行することができる。概して、システム100は、オーディオデータもしくはテキスト、HTML、画像、オブジェクト、テーブル、またはアプリケーション218内の他のコンテンツアイテムの選択、変更、およびレコーディングをサポートするように構成することができる。
図2Bに示すプレゼンテーションシステム100は、レコーディング273、リアルタイムトランスクリプション274、リアルタイム翻訳275、図面276、およびキーアイデアメタデータ278を含む。各要素273~278は、システム100のセッション中にレコーディングすることができる。レコーディングされた要素273~278は、セッション中に第1のユーザ(たとえば、プレゼンター)によってアノテーション付けし、任意の数の他のユーザ(データ消費者、参加者など)にリアルタイムで提供する(共有する、キャストする、ストリーミングするなど)ことができる、ビデオおよび/またはオーディオストリームを表すことができる。
いくつかの実施態様では、要素273~278に関連付けられたレコーディングされたストリームは、システム100に関連付けられた1つまたは複数のツールを使用して生成することができる。システム100は、メモリと、メモリに結合された少なくとも1つのプロセッサとを含み、かつ/またはそれらにアクセスすることができ、少なくとも1つのプロセッサは、協働するオンラインユーザインターフェース(たとえば、システム100)を生成するように構成されている。ユーザインターフェースは、レンダラおよびツール/ツールバー108(たとえば、アノテーション生成ツール108a、トランスクリプション生成ツール108b、ビデオコンテンツ生成ツール108c)からコマンドを受け取るように構成されている。各ツール/ツールバー108は、システム100によって提示されるUIまたはツールバーを介してアクセス可能であり得る。
レンダラ(たとえば、UI生成器220)は、システム100のユーザインターフェース内から複数のアプリケーションのうちの1つまたは複数のアクセスに関連付けられたオーディオおよびビデオコンテンツをレンダリングするように構成することができる。たとえば、レンダラは、UI生成器220を利用して、システム100内の、またはコンピューティングシステム202に関連付けられた、アプリケーション、アノテーション、カーソル、入力、ビデオストリーム、または他のUIコンテンツをレンダリングすることができる。
(たとえば、ツールバー118上の)アノテーション生成ツール108aは、ユーザインターフェースにおいてアノテーション入力(たとえば、アノテーション入力120)を受け取るように構成することができる。そして、アノテーション生成ツール108aは、その入力を使用して、オーディオおよびビデオコンテンツのレンダリング中に、受け取ったアノテーション入力に対する任意の数のアノテーションデータレコードを生成することができる。アノテーション生成ツール108aは、アノテーション入力を受け取り、それぞれの受け取ったアノテーション入力に対するタイムスタンプの格納をもたらす、少なくとも1つのコントロールを含むことができる。タイムスタンプを使用して、ビデオコンテンツをシステム100に関連付けられたアノテーション、トランスクリプション、翻訳、および/または他のデータと一致させることができる。
いくつかの実施態様では、(たとえば、アノテーション114および/またはメタデータ228から生成される)アノテーションデータレコード211は、アノテーション入力を受け取っている、アクセスされている少なくとも1つのアプリケーションの指示を含むことができる。アノテーションデータレコード211は、指示されたアプリケーションを描写するレンダリングされたビデオコンテンツの一部の少なくとも1つの画像フレーム上にアノテーション入力を(それぞれのタイムスタンプに従って)オーバーレイする、機械可読命令も含むことができる。たとえば、アノテーションデータレコード211は、任意の数のビデオストリーム、メタデータ、およびアノテーション入力を利用して、たとえば、アプリケーションを描写する1つまたは複数の他のビデオストリームの特定のフレームに対するオーバーレイ(たとえば、ビデオストリームオーバーレイ)の適切な位置決めを決定するために、いずれの特定のアプリケーションがアノテーションを受け取っているか、およびいずれの時点で受け取っているかを決定することができる。これらの画像フレームおよびアノテーションオーバーレイを使用して、代表的なコンテンツ112を生成し、ユーザがアノテーション付きコンセプトを迅速に見直すことができるようにすることができ、これにより、ユーザがビデオストリーム全体を見直すことを回避することができる。
アノテーション入力を少なくとも1つの画像フレームにオーバーレイすることは、複数のアノテーションデータレコードのうちの少なくとも1つを取り出すこと、オーバーレイを実行するための機械可読命令を実行することを含むことができる。次いで、システム100は、ドキュメント(たとえば、オンラインドキュメント、ビデオスニペット、トランスクリプションスニペット、画像など)を生成することができ、ドキュメントによって、ユーザは、(タイムスタンプ、アノテーションなどを示すアノテーションデータレコードに基づいて)少なくとも1つの画像フレーム上にオーバーレイされたアノテーション入力を含む少なくとも1つの画像フレームをスクロールすることができる。
トランスクリプション生成ツール108bは、オーディオおよびビデオコンテンツのレンダリング中にキャプチャされたオーディオコンテンツを文字起こしするように構成することができ、システム100に関連付けられたユーザインターフェースに文字起こしされたオーディオコンテンツを表示することができる。いくつかの実施態様では、トランスクリプション生成ツール108bは、システム100によってレンダリングされ、プレゼンターによって話されているオーディオスピーチに対応するトランスクリプションの特定の位置を、プレゼンテーションを視聴しているユーザに示すために、文字起こしされたテキスト上にオーバーレイされたマーカ、強調表示、または他のインジケータも提供することができる。いくつかの実施態様では、重要なコンセプトまたは言語を示すために、文字起こしされたテキストとともにまたはその上に、追加のインジケータを提供することができる。後にレコーディングにアクセスするユーザは、そうしたインジケータを利用して、重要なコンセプトまたは言語を迅速に見つけることができる。加えて、システム100は、こうしたインジケータをトリガとして使用して、特定のインジケータのマーキングに関連付けられた時間の閾値内に発生するオーディオコンテンツ、ビデオコンテンツ、トランスクリプションコンテンツ、翻訳コンテンツ、および/またはアノテーションコンテンツを取得することができる。こうしたインジケータを使用して、要約コンテンツおよび/またはビデオストリームの他の表現(たとえば、オーディオおよびビデオコンテンツ)を生成することができる。
たとえば、要約生成ツール108cは、オーディオおよび/またはビデオのレンダリングの終了を検出することに応じて、代表的なコンテンツ112を生成するために、そうしたインジケータ(および/またはアノテーション)を取り出すように構成することができる。代表的なコンテンツは、アノテーション入力、ビデオコンテンツ、および文字起こしされたオーディオコンテンツに基づくことができる。いくつかの実施態様では、要約コンテンツは、アノテーション入力(または他のインジケータ)でマークされたレンダリングされたオーディオおよびビデオの一部を含むことができる。いくつかの実施態様では、ビデオコンテンツ生成ツール108cは、代表的なコンテンツ112へのURLリンクを生成するようにさらに構成されている。たとえば、システム100は、1つまたは複数のビデオストリームのビデオおよび/またはオーディオコンテンツの特にコンパイルされ、キュレーションされ、または他の方法で組み合わされた部分を、ウェブサイトまたはオンラインストレージメモリにアップロードされるようにトリガして、その部分に好都合にかつ後にアクセスすることができるようにすることができる。いくつかの実施態様では、ツール108cは、たとえばウェブブラウザアプリケーション222を使用して代表的なコンテンツ112の少なくとも一部を見つける検索機能を有効にするために、代表的なコンテンツ112にインデックス付けすることもできる。
動作時、第1のユーザ(たとえば、プレゼンターコンピューティングシステム279を)は、(たとえば、アプリケーショントリガまたはO/Sトリガを介して)リアルタイムプレゼンテーションシステムのセッションをトリガすることができる。システムは、システム279のプレゼンターが、コンテンツをプレゼンテーションし、レコーディングするように操作することができる。たとえば、システム279は、レコーディング273をトリガして、レコーディングされたプレゼンタービデオストリーム(たとえば、自撮りカメラでキャプチャされたコンテンツ)、スクリーンキャストビデオストリーム(たとえば、図面276およびスクリーンキャスト277コンテンツ)、アノテーションビデオストリーム(アノテーションデータレコード214ならびに/またはキーアイデアマーカおよび対応するメタデータ278)、トランスクリプションビデオストリーム(たとえば、リアルタイムトランスクリプション274)、および/または翻訳ビデオストリーム(たとえば、リアルタイム翻訳275)の形態のビデオおよび/またはオーディオコンテンツを生成することができる。プレゼンターは、レコーディング中にこれらのストリームのうちの任意のものをオン/オフすることができる。いくつかの実施形態では、レコーディング中にメタデータ228をキャプチャして格納することができる。メタデータ228は、任意の数のビデオストリームに関連することができる。各ビデオストリームは、オーディオデータおよび/またはアノテーションデータも含むことができる。しかしながら、いくつかの実施態様では、アノテーションデータは、ビデオレイヤとして別個にレコーディングしてもよい。
レコーディングをトリガし、コンテンツのプレゼンテーションおよび/またはアノテーション付けを開始すると、システム100は、キャストアプリケーション280をトリガして、プレゼンテーションおよび/またはアノテーションを別個のデバイス(たとえば、役員会議室のテレビ281または他のデバイス)でキャストすることができる。システム100は、ビデオ/オーディオコンテンツ282のトランスクリプションもトリガすることができ、このトランスクリプションは、リアルタイムで生成し、オンラインストレージ283に提供することができる。コンテンツは、書式設定アプリケーション284によって、システム100内でのプレゼンテーションのためにリアルタイムで書式設定することができ、書式設定アプリケーション284は、アプリケーション285(または、たとえば、コンピューティングシステム286を使用するユーザがアクセス可能な他のアプリケーション)に、そうした文字起こしされた(かつ/または翻訳された)データを提供することもできる。いくつかの実施態様では、翻訳およびトランスクリプションは、ユーザが、システム100のUIのビューに提供されるよう要求しなくてもよい。その場合、プレゼンターコンピューティングシステム279は、書式設定アプリケーション284に直接、その後、ユーザコンピューティングシステム286に(いくつかの例ではアプリケーション285を介して)リアルタイムでレコーディングコンテンツを提供することができる。
いくつかの実施態様では、システム100は、ビデオコンテンツ(および/またはオーディオコンテンツ)をキャプチャするレコーディング273を開始させることができる。ビデオコンテンツ(および/またはオーディオコンテンツ)は、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、翻訳ビデオストリーム、オーディオストリーム、および/またはアノテーションビデオストリームとして表すことができる。これらのストリームの任意の好適な組み合わせが、ビデオコンテンツを形成することができ、プレゼンターがレコーディング273中に1つまたは複数のストリームをオフまたはオンするのを選択した場合、ビデオコンテンツ内のストリームが変化することができる。このように簡単な方法で異なるストリームを選択することができることにより、コンテンツをレコーディングし、レコーディングされたコンテンツから追加の代表的なコンテンツを生成することに対する柔軟な手法が提供される。システム100は、ビデオコンテンツ(および/またはオーディオコンテンツ)に基づいて、ビデオコンテンツ(および/またはオーディオコンテンツ)のキャプチャ中に、少なくとも1つのメタデータレコードを生成することができる。各メタデータレコードは、ビデオコンテンツの少なくとも1つの部分を、レコーディングビデオストリームのうちの少なくとも1つで受け取られた入力(たとえば、アノテーション114/レコード214、キーアイデアメタデータ278)に同期させるために使用されるタイミング情報を表すことができる。言い換えると、タイミング情報を使用して、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、またはアノテーションビデオストリームのうちの少なくとも1つで(または他の任意のストリームで)受け取った入力を、ビデオコンテンツに同期させることができる。タイミング情報は、学習ガイド(代表的なコンテンツ112)、ビデオコンテンツのスニペットへのアノテーションのオーバーレイ、検索可能なビデオコンテンツなどを生成するために、後に使用することができる。
図3A~図3Cは、本明細書に記載する実施形態による、リアルタイムプレゼンテーションシステムのユーザインターフェース(UI)例とアノテーション付きコンテンツ間の切り替えとを示すスクリーンショットである。この例では、(プレゼンタービデオストリーム122に示されている)プレゼンターは、プレゼンテーション(たとえば、スクリーンキャスト、スクリーンシェア、ビデオ会議など)をトリガして、参加者ストリーム126に示されているユーザが消費するように、コンテンツのプレゼンテーションおよびレコーディングを開始することができる。いくつかの実施態様では、システム100は、システム100によってレンダリングされる特定のオーディオおよびビデオコンテンツのレコーディングの開始をトリガするように構成されている。たとえば、プレゼンターは、システム100からのコンテンツの共有を開始することを単一のコントロールで示すことができ、これにより、そうしたコンテンツの自動レコーディングをトリガすることができる。
図3Aに示すように、ストリーム122のプレゼンターは、第1のアプリケーション302および第2のアプリケーション304をプレゼンテーションしている。第1のアプリケーション302は、アノテーション306およびアノテーション308でアノテーション付けされている。ストリーム122のプレゼンターは、たとえば、アノテータ生成ツール(たとえば、ツールバー314)からのペンツール312を使用して、カーソル310aを使用して能動的にアノテーション付けすることができる。動作時、レンダリングされたビデオコンテンツは、システム100にアクセス可能な任意の数の開いているまたは利用可能なアプリケーションからの第1のアプリケーション302に関連付けられたデータ(マップならびにアノテーション306および308)を含むことができる。レンダリングされたビデオコンテンツは、第2のアプリケーション304に関連付けられたデータ(たとえば、地理コンセプト)も含むことができる。
プレゼンター(またはプレゼンテーションされたコンテンツの消費者)は、システム100によって提示された任意の数のアプリケーション、ドキュメント、コンテンツアイテム、または表示部分にアノテーション付けすることができるため、システム100は、上記のアイテムのうちのいずれがアノテーションを受け取るかを追跡するように構成されている。アノテーション付けされたアイテムへのアノテーションを追跡することにより、アノテーションがビデオコンテンツ(たとえば、ストリーム)のレイヤとしてキャプチャされることが可能になり、ユーザがレコーディングされたコンテンツに後にアクセスするときに、そのレイヤを後にオーバーレイするかまたは表示されないようにすることができるようになる。こうしたオーバーレイの切り替えにより、ユーザがアプリケーションコンテンツと適切なアプリケーションコンテンツに対するアノテーションとを適切に表示することができることを確実にすることができる。加えて、ユーザは、アプリケーション(たとえば、アプリケーション304)に関連付けられたスクロールコントロール(たとえば、コントロール316)を使用することができる。プレゼンターは、コンテンツをスクロールするカーソルフォーカスを有する特定のアプリケーションでコンテンツをスクロールし、アノテーションをコンテンツとともにスクロール(たとえば、移動)させることができる。このように、オーバーレイされたアノテーションのセットをキャプチャし、アプリケーションコンテンツとともにスクロールして、アノテーション付きアプリケーションコンテンツが保存されるのを確実にすることができる。
図3Bに示すように、(プレゼンターストリーム122に示されている)プレゼンターは、アプリケーション304においてアプリケーションコンテンツをプレゼンテーションしている。この例では、プレゼンターは、アノテーション318、アノテーション320、およびアノテーション322によって示すように、アプリケーション304において、ツールバー314を使用してコンテンツにアノテーション付けした。アノテーション318~322は、選択されたペンツールによるテキスト書き込みとして描かれているが、アプリケーションコンテンツ内のマーキングツールおよび/または選択を使用して、任意の数のアノテーションおよびアノテーションタイプを入力することができる。たとえば、コンテンツは、強調表示し、描画し、修正し、マークするなどが可能である。いくつかの実施態様では、特定のコンテンツは、コンテンツをマークするためのインジケータを含むことができる。たとえば、いくつかのコンテンツは、テキストのパラグラフに関係する場合がある。そうした例では、アプリケーションコンテンツ内のパラグラフ上またはパラグラフの近くに提示されたインジケータを選択することによって、パラグラフ全体をマークすることができる。各アノテーション318~322に、それぞれのアノテーションがユーザによって入力された、レコーディングされたビデオ内の時刻を表す1つまたは複数のタイムスタンプと関連付けることができる。タイムスタンプは、システム100がアノテーションを含む特定のコンテンツを追跡および検索する方法を示すことができる。
たとえば、アノテーションを追跡することにより、システム100は、リアルタイムで、第1のアプリケーションにおいて、レコーディングビデオコンテンツの第1のセグメント中に第1のアノテーションのセット(たとえば、アノテーション306および308)を受け取り、第1のセグメントに関連付けられたそれぞれのタイムスタンプに従って第1のアノテーションのセット(たとえば、アノテーション114および/またはアノテーションデータレコード214)を格納することができる。システム100はまた、リアルタイムで、第2のアプリケーション(たとえば、アプリケーション304)において、レコーディングビデオコンテンツの第2のセグメント中に第2のアノテーションのセット(たとえば、アノテーション318、320、および322)を受け取り、第2のセグメントに関連付けられたそれぞれのタイムスタンプに従って第2のアノテーションのセットを格納することができる。ある時点で、システム100は、カーソルフォーカスがアプリケーション間で切り替わったことを検出することができる。たとえば、システム100は、プレゼンターが、カーソル310aがフォーカスされているアプリケーション302の使用から、代わりにカーソル310bがフォーカスされているアプリケーション304の使用に切り替えた、と判断する場合がある。アノテーションは、アプリケーションコンテンツの上にレイヤとして提供される場合があるため、カーソルフォーカスの変更に応じてアノテーションを適用および削除して、最近カーソルフォーカスを受け取ったアプリケーションまたはアプリケーションコンテンツに適用されなくなったアノテーション付きコンテンツを有することを回避することができる。
カーソルフォーカスが第1のアプリケーション302から第2のアプリケーション304に切り替わったことを検出することに応じて、システム100は、第2のアノテーションのセット318、320、および322を取り出し、第2のアプリケーションに関連付けられたデータ(たとえば、アプリケーションコンテンツ、メタデータ、またはコンテンツに対する他の設定)を取り出すことができる。次に、システム100は、第2のセグメントに関連付けられたタイムスタンプを、第2のアノテーションのセット318、320、および322と一致させることができる。以前のタイムスタンプで受け取られたアノテーションを適切に表示するために、システム100は、タイムスタンプの時点で表示中であったコンテンツ(スクリーンキャストなど)を一致させ、アノテーション(たとえば、アノテーション318、320、および322)をオーバーレイする。次いで、システム100は、第2のセグメントに関連付けられたそれぞれのタイムスタンプに従って、第2のアプリケーション304上に、取り出された第2のアノテーションのセット(たとえば、アノテーション318、320、および322)を表示させることができる。加えて、システム100は、システム100に関連付けられた異なるアプリケーションに適用されたアノテーションを削除してもよい。たとえば、システム100は、プレゼンターがカーソルフォーカスをアプリケーション304に切り替えたときに、アプリケーション302に関連付けられたアノテーションを削除してもよい。図3Aに示すように、ユーザがアプリケーション302に戻すように切り替えた場合、システム100は、アノテーション318、320、および322を削除し、代わりにアノテーション306および308を取り出してレンダリングして、たとえば、アプリケーション302が以前のマークアップからの正確なアノテーションを描写することを確実にすることができる。アプリケーション302、304がUI内で並列配置される(すなわち、重なっていない)例では、アプリケーション302でアノテーション306、308を表示することができ、同時に、アプリケーション304でアノテーション318、320、322を表示することができる。このようにして、ユーザは、表示されているコンテンツに対するすべてのアノテーションを同時に見ることができる。
いくつかの実施態様では、システム100を使用するプレゼンターは、アノテーションツールを介して(たとえば、ツールバー314または別のツールバーの1つまたは複数のツールから)第1のアノテーションのセット(たとえば、アノテーション306および308)および第2のアノテーションのセット(たとえば、アノテーション318、320、322)の生成をトリガすることができる。アノテーションツールは、第1のアノテーションのセット(たとえば、アノテーション306および308)および第2のアノテーションのセット(たとえば、アノテーション318、320、322)の各アノテーションについて、第1のアプリケーションに関連付けられたデータまたは第2のアプリケーションに関連付けられたデータにおける初期位置を保持しながら、第1のアノテーションのセットおよび第2のアノテーションのセットのマーキング、格納、およびスクロールを可能にすることができる。すなわち、アノテーションツールは、各アノテーションについて、特定のアプリケーションによって提示されたデータコンテンツにおける、それぞれのアノテーションを見つける場所(すなわち、位置)を示すメタデータを格納することができる。このように、システム100は、たとえば要約コンテンツ(または他の代表的なコンテンツ)が生成されるときに、データコンテンツの上に復元することができるアノテーションのオーバーレイを生成することができる。別の例では、システム100は、プレゼンターがデータコンテンツをスクロールしかつ/またはアプリケーション間を切り替えるときに、データコンテンツにおける適切な位置にアノテーションのこうしたオーバーレイを生成することができる。
いくつかの実施態様では、第2のアプリケーション304で追加のアノテーション(たとえば、アノテーション324)を受け取ることができる。この例では、プレゼンターは、ライブラリコード、リソースリンク、およびオフィスアワーの変更に関するメモを追加した。追加のアノテーション(たとえば、アノテーション324)は、レコーディング中にアノテーション324がアプリケーション304のコンテンツに追加されたときに対応するそれぞれのタイムスタンプと関連付けることもできる。レコーディングの完了を検出することに応じて、システム100は、図3Cに示すように、ドキュメント328を生成することができる。ドキュメント328は、第2のアノテーションのセット(たとえば、アノテーション318、320、および322)および追加のアノテーション(たとえば、アノテーション324)から生成することができる。ドキュメントは、第2のセグメントに関連付けられたそれぞれのタイムスタンプと追加のアノテーションに関連付けられたそれぞれのタイムスタンプとに従って、第2のアプリケーション304に関連付けられたデータの上にオーバーレイされた第2のアノテーションのセット318~322および追加のアノテーション324を含むことができる。いくつかの実施態様では、1つまたは複数の静止画フレームまたは動画スニペット330は、ドキュメント328内で実行されるように生成してもよく、または、ドキュメント328に関連付けられたリンクまたは検索結果として提供してもよい。入力(アノテーション318~322および追加アノテーション324など)は、タイムスタンプをビデオコンテンツに関連付けられたドキュメント328内のそれぞれの位置に一致させることによって、ビデオコンテンツと同期させる(すなわち、アプリケーション304からのデータの正しい位置にオーバーレイする)ことができる。
いくつかの実施態様では、システム100は、第2のセグメントに関連付けられた、レコーディングされたオーディオコンテンツのトランスクリプション332も生成することができる。概して、ドキュメント328は、任意の時点で変更されるように構成することができる。たとえば、プレゼンターは、変更されたオーディオ、追加のマークアップもしくはアノテーション、および/または他の変更など、レコーディングされたプレゼンテーションに後に変更を行うことができる。こうした変更は、変更を含むようにドキュメント328が再生成されるようにトリガするように構成することができる。ドキュメント328は、要約コンテンツドキュメントまたは代表的なコンテンツドキュメントと称することもできる。
図4は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって提供されるプレゼンターツールバー例400を示すスクリーンショットである。プレゼンターツールバー400は、少なくとも、レーザポインタツール402、ペンツール404、拡大鏡ツール406、消しゴムツール408、スクリーンキャストレコーディングツール410、チャプタ作成ツール412、自撮り(たとえば、プレゼンター)カメラツール414、クローズドキャプションツール416、トランスクリプションツール418、およびマーカツール420を含む。ツールバー400の各ツール402~420は、アノテーション生成ツール108aの一部であってもよい。たとえば、各ツールを使用して、プレゼンテーションされているコンテンツに対するアノテーションを作成することができる。
レーザポインタツール402を使用して、システム100でのプレゼンテーション中に、カーソルをレーザポインタとして構成することができる。レーザポインタツール402は、システム100によって提供されるプレゼンテーションの消費者に視覚的フォーカスを提供することができる。ペンツール404は、提示された画面(たとえば、ウィンドウ、アプリケーション、全画面など)の任意のコンテンツまたは部分に対するアノテーション機能を提供することができる。ペンツール404は、任意の数の選択可能なペン、カラーコンテンツ、コンテンツおよび/またはテキストのサイズ、形状などを含むことができる。拡大鏡ツール406は、プレゼンテーション中にプレゼンターによって拡大されるすべての小さいテキストおよびグラフィックにズーム機能を提供することができる。消しゴムツール408は、誤りを修正するためかまたはアノテーションを削除するために、たとえば、より多くのアノテーションを生成するための場所を確保するために、手操作の消しゴムに類似した削除および消去機能を提供することができる。
スクリーンキャストレコーディングツール410は、レコーディングと、そうしたレコーディングされたコンテンツのローカルでの、クラウドサーバへの、または他の選択された場所へのアップロードを開始する、レコーディング機能を提供することができる。いくつかの実施態様では、スクリーンキャストレコーディングツール410は、レコーディングをトリガするだけでなく、スクリーンキャスト、スクリーンシェア、または他のプレゼンテーションモードをトリガする。たとえば、プレゼンターがツール410を選択すると、プレゼンテーションとレコーディングとが同時に開始することができる。これにより、ユーザは、コンテンツおよび/または関連するオーディオコンテンツをレコーディングしながら、コンテンツのプレゼンテーションを迅速に開始するために、単一のコントロール入力を選択することができるため、ユーザ(たとえば、プレゼンター)にとってプレゼンテーションおよびレコーディングが容易であるという利点を提供することができる。
概して、ツール410を選択したときに共有される画面またはウィンドウは、最後に検出された共有設定またはツール410を選択する前に使用された最後の画面であり得る。すなわち、プレゼンターのレコーディングスコープは、以前に選択された表示スコープ(たとえば、タブ、ウィンドウ、全画面など)と一致することができる。いくつかの実施態様では、いずれの表示スコープをプレゼンターが共有および/またはレコーディングするかを選択することができるように、ツール410を選択したときに確認UIを提示することができる。いくつかの実施態様では、プレゼンターは、ツール410を再選択することによってプレゼンテーションを停止することができる。しかしながら、この行為は、レコーディングは停止しなくてもよい。これは、プレゼンターが、別の時点でレコーディングにアクセスするときに、視聴者が有することを望む可能性があるさらなるメモ、オーディオ、または追加のコンテンツを追加することができるようにするのに好都合であり得る。
レコーディングを終了するために、プレゼンターは、別のツールまたはコマンド(図示せず)を選択することができる。システム100でレコーディングを終了(たとえば、停止)すると、ツールバー400がビューから削除される場合がある。さらに、レコーディングを停止する指示を検出したとき、システム100は、レコーディングのアップロード、送信、または他のファイナライズを自動的にトリガすることができる。レコーディングは、概して、レコーディングの完了時ではなく、レコーディングが発生する際にアップロードされるため、アップロード完了のための遅延は最小であり得る。いくつかの実施態様では、システム100はオフラインであってもよく、そうした状況では、代わりにレコーディングのローカルコピーを生成することができる。
チャプタ作成ツール412は、プレゼンターにより、時間に関してレコーディングビデオにアノテーション付けするために使用することができる。たとえば、プレゼンターは、プレゼンテーション中の任意の時点でツール412を選択して、レコーディングビデオのチャプタを生成することができる。いくつかの実施態様では、チャプタ作成ツール412(またはレコーディング後ツール)は、レコーディングが完了した後(たとえば、レコーディング後)にレコーディングのためのチャプタを作成するために使用することができる。したがって、プレゼンターは、ユーザが将来、プレゼンテーションからコンテンツを検索し見直すことを容易にするために、プレゼンテーションをチャプタでさらにアノテーション付けすることを望む場合がある。チャプタは、ビデオのセクションを表す。チャプタは、ユーザがチャプタのコンテンツを特定するのを支援する、プレビュー画像フレームを提供することができる。チャプタは、メタデータ、タイトルデータ、またはユーザが追加したもしくはシステムが追加した識別データも含むことができる。チャプタで分割されたビデオは、タイムラインビューで提示して、ユーザが、タイムラインに提示された以前に構成されたチャプタインジケータを選択することができるようにすることができる。チャプタ生成を提供する従来のシステムは、こうした機能をレコーディング後に提供する。すなわち、従来のシステムは、ビデオをレコーディングしながらリアルタイムで(たとえば、オンザフライで)チャプタを生成するオプションは提供しない。
自撮り(たとえば、プレゼンター)カメラツール414は、リアルタイムプレゼンテーションシステム100を実行するコンピューティングデバイス(たとえば、デバイス202)上の前面カメラの機能をトリガすることができる。ツール414は、プレゼンテーションされたコンテンツのプレゼンターおよび/またはユーザ(たとえば、消費者)によってオンおよびオフを切り替えることができる。ツール414によってキャプチャされたビデオストリームは、クローズドキャプションツール416および/またはトランスクリプションツール418によって、ツール414によって(たとえば、カメラ250を介して)キャプチャされたビデオ/オーディオストリーム(たとえば、ストリーム122)から提示されているオーディオデータのキャプション、トランスクリプション、および翻訳を生成するために使用することができる。
トランスクリプションツール418は、本明細書に記載するトランスクリプション生成ツール108bを表す。システム100のプレゼンターは、オーディオのリアルタイムトランスクリプションをオンとオフとで切り替えることができる。いくつかの実施態様では、トランスクリプションツール418は、トランスクリプション生成ツール108bと組み合わせてクローズドキャプションツール416を使用することにより、完全な翻訳を伴うライブトランスクリプションをトリガすることができる。トランスクリプションツール418は、UI生成器220と協働して、たとえば、システム100からのスクリーンシェアプレゼンテーションを介してプレゼンテーションされるコンテンツとともにレンダリングするための、特に書式設定されたトランスクリプションを生成することができる。
マーカツール420は、プレゼンターによって、たとえば、特定のコンテンツ、アイデア、スライド、アノテーション、または画面の他のプレゼンテーション部分をキーアイデアとしてマークするために選択することができる。キーアイデアは、プレゼンターが有用で、重要な、学習ガイドの材料とみなし、かつ/または代表的なコンテンツ112に選択可能であるとみなす要素を表すことができる。プレゼンターがマーカツール420を選択した場合、プレゼンテーションされたコンテンツに対して、システム100にキーアイデアとして格納することができるように、他の標示(強調表示、アノテーションなど)を行うことができる。いくつかの実施態様では、マーカツール420は、ツール420がアクティブであることをプレゼンターに理解させるために、ツール420上のバックライトまたは他の標示の形式でユーザフィードバックを提供することができる。他のフィードバックオプションも可能である。
ツールバー400は、ツールバーを閉じるか最小化するように機能することができるクローズメニューコントロール(図示せず)も含むことができる。ツールバー400は、システム100によって提供される任意のプレゼンテーションで使用されるように、移動および/または回転させることができる。いくつかの実施態様では、ツールバー400は、カーソルがツールバーの上でドラッグされた場合、たとえば、ツールバー上でマウスオーバイベントが発生したとき、非表示にすることができる。これにより、プレゼンターおよびプレゼンテーションの視聴者(たとえば、ユーザ)が、ツールバー400を手動で移動させる必要なしにコンテンツを表示することができるという利点を提供することができる。
図5A~図5Cは、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのUI例において画面を共有する例のスクリーンショットを示す。図5Aは、ユーザがプレゼンテーション101(たとえば、P101)のホームページにアクセスしているブラウザ500を示す。ユーザは、ブラウザタブ502およびブラウザタブ504内のコンテンツにもアクセスしている。ユーザは、1人または複数の他のユーザにコンテンツをプレゼンテーションすることを決定することができる。たとえば、ユーザは、多数のユーザにプレゼンテーションを提供するように計画しているプレゼンターであり得る。
プレゼンターは、(たとえば、O/S216またはリアルタイムプレゼンテーションシステム100をホストするアプリケーション218を介して)コンピューティングシステム202によって提供されるメニューUI506にアクセスすることができる。UI506は、クイック設定UIから提示してもよい。UI506から、プレゼンターは、プレゼンテーション101からコンテンツをプレゼンテーションするためのスクリーンキャストおよび/またはスクリーンシェアを構成するための追加画面が提供されるように、カーソル510でプレゼンテーションコントロール508を選択することができる。
図5Bは、プレゼンターがビデオ会議516を介してコンテンツをキャストする514かまたはコンテンツを共有することを選択することができる、プレゼンテーションUI512を示す。たとえば、プレゼンターは、役員会議室のテレビ(たとえば、テレビ281)にスクリーンキャストを介してプレゼンテーション101をプレゼンテーションすることを選択することができる。代替的に、プレゼンターは、ビデオ会議アプリケーションを介して(たとえば、ネイティブアプリケーションまたはブラウザアプリケーションを用いて)プレゼンテーション101をプレゼンテーションすることを選択してもよい。この例では、プレゼンターは、カーソル518によって示すように、プレゼンテーション101をキャストすることを選択した。
図5Cは、プレゼンターがいずれの表示フォーカスをキャストするかを選択することができるキャスティングUI520を示す。ユーザがコンテンツを共有することを選択しているため、システム100は、プレゼンテーションツールが利用可能であることを示すために、ツールバー522にポピュレートすることができる。UI520は、画面を共有するためのオプションを含む。オプションは、少なくとも内蔵ディスプレイオプション524および外部ディスプレイオプション526を含む。この例では、プレゼンターは、カーソル528で示すように、内蔵ディスプレイ524を選択した。プレゼンターには、画面のいずれのスコープを共有するかに関するオプションも提供することができる。描かれているオプション例は、画面全体オプション530、ブラウザタブオプション532、およびアプリケーションウィンドウ534を含む。他のオプションも可能であり、UI520の背後でカーソルフォーカスされているコンテンツに基づく。プレゼンターには、オーディオコンテンツを共有する(または共有しない)オプション536を提供することができる。プレゼンターに、プレゼンターツールをレンダリングする(またはレンダリングしない)オプション538も提供することができる。プレゼンターは、オプションを選択し、保存コントロール540を使用して選択したオプションを保存することができる。
図6Aおよび図6Bは、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステム100によって提供されるツールバー例のスクリーンショットを示す。図6Aは、レンダリングされたツールバー602を有するブラウザタブ600の共有されたプレゼンテーションを示す。プレゼンターは、ツールバー400と同様に、ツールバー602上のツールにアクセスすることができる。この例では、プレゼンターはペンツール604を選択している。これに応じて、システム100は、プレゼンターがペン用のオプションを選択することができるように、ペンツール604用のサブパネル606を提供している。サブパネル606は、選択されたアノテーションを削除するゴミ箱オプション609も含む。
図6Aに示すように、プレゼンターは、描画610、テキスト612、および描画(たとえば、線614での円)などのアノテーション入力を提供している。プレゼンターは、誤りまたは余分なペンストロークであるように見える、追加のマーキング616も描いている。この場合、ユーザはマーキング616を選択し、次いで、オプション609を選択してマーキング616を削除することができる。
ツールバー602からのアノテーションは、共有ウィンドウまたは画面のスコープ内のコンテンツに対して生成することができる。プレゼンターがそのスコープ外で描画またはアノテーション付けを開始した場合、システム100は、アノテーションがビューから外れているという標示をトリガすることができる。加えて、アノテーションは、スクロール可能とすることができ、レコーディング/キャスティングセッションの間、コンテンツがアノテーション付けされた状態であり続けるように構成することができる。レコーディングされたコンテンツおよびアノテーションがレコーディング/キャスティング後にアクセスされるのを可能にするように、コンテンツをアノテーションと一致させるために、対応するメタデータを有するアノテーションビデオストリームをキャプチャすることができる。いくつかの実施態様では、システム100は、アノテーションストリーム内のアノテーションをキャプチャするように構成してもよいが、スクロールイベントが検出された場合、レコーディング/キャスティング中にアノテーションを表示されないようにしてもよい。いくつかの実施態様では、システム100は、たとえば、レコーディング後に各ユーザが手動でアノテーションをパージするのを可能にすることができる。
いくつかの実施態様では、ウィンドウの切り替えにより、1つのウィンドウまたはアプリケーションから別のウィンドウまたはアプリケーションに切り替えるときに、アノテーションが削除される(たとえば、非表示になる)ようにトリガすることができる。その後、アノテーションに関連付けられたウィンドウまたはアプリケーションに戻るように切り替えたとき、アノテーションを置き換える(たとえば、再表示する)ことができる。加えて、アノテーションは、サイズ変更されたウィンドウに従ってサイズ変更することができる。いくつかの実施態様では、アノテーションは、基礎となるアプリケーションコンテンツがユーザに可視である限り、可視の(すなわち、レンダリングされ、表示された)ままであってもよい。言い換えれば、関連するアプリケーションが別のウィンドウまたはアプリケーションでオーバーラップされるか、または他の方法で前景にない場合であっても、アノテーションは可視であり得る。
図6Bは、別のサブパネル例620を有するツールバー例602を示す。この例では、ツールバー602は、いくつかの例を挙げると、特定のアノテーションを削除するゴミ箱オプション622、アノテーション入力をやり直すまたは取り消すやり直し/取り消しボタン、静的ペン626、消えるペン628、蛍光ペン630、および任意の数の選択可能な色632、634、および636を含む。プレゼンターが、たとえば色、フォント、線スタイル、またはペンツール604に関連する他のオプションを選択することができるようにするために、さらなるサブパネルが表示するために提供してもよい。
図7は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステム100によって提供されるツールバー108の使用例のスクリーンショットを示す。UI700は、米国の部分的な地図を描写している。プレゼンターは、ツールバー702を使用して、UI700およびUI700の描写されたコンテンツとインタラクトすることができる。この例では、プレゼンターは、2つのチャプタが生成されたことをプレゼンターに通知するインジケータメッセージ708によって示すように、プレゼンテーションのレコーディング中にチャプタ作成ツール704を選択してチャプタを生成した。
チャプタ作成ツール702は、プレゼンターが、時間に関してレコーディングビデオにアノテーション付けするために使用することができる。たとえば、プレゼンターは、プレゼンテーション中の任意の時点でツール702を選択して、レコーディングビデオのチャプタを生成することができる。チャプタは、ビデオのセクションを表す。チャプタは、ユーザがチャプタのコンテンツを識別するのを支援するプレビュー画像フレームを提供することができる。チャプタは、メタデータ、タイトルデータ、またはユーザが追加したもしくはシステムが追加した識別データも含む(またはそれらの格納もトリガする)ことができる。チャプタで分割されたビデオは、タイムラインビューで提示して、ユーザが、タイムラインに提示された以前に構成されたチャプタインジケータを選択することができるようにすることができる。
図7に示すように、自撮りカメラストリーム(たとえば、プレゼンタービデオストリーム)を使用して、プレゼンテーションUI空間の任意の部分に提供されるパススルービュー706を生成することができる。プレゼンターは、プレゼンターまたはビデオおよびオーディオコンテンツのプレゼンターであり得る。プレゼンタービデオストリームは、レコーディング全体を通して、たとえば、ストリームがアノテーション付けされているコンテンツのビューを妨げないことを確実にする画面上の場所に、自動的に配置することができる。いくつかの実施態様では、プレゼンターは、提示されたUIコンテンツ内のビュー706のプレゼンタービデオストリームをドラッグすることができる。いくつかの実施態様では、プレゼンターは、ビュー706を縮小または拡大することができる。いくつかの実施態様では、プレゼンターは、ビュー706をクロッピングすることができる。いくつかの実施態様では、プレゼンターはビュー706を非表示にすることができる。
図8は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムを使用する一例のフロー図を示す。この例では、プレゼンターは、システム100を使用して、アイデアまたはコンテンツをプレゼンテーションすることができる。動作時、ユーザは、クイック設定UI(UI506またはUI512など)を介してシステム100にアクセスすることができる。ユーザは、プレゼンテーションの宛先を選択する(804)ことができる。たとえば、ユーザは、キャストを介して、またはビデオ会議を介してプレゼンテーションすることができる。次に、ユーザは、共有する画面のスコープを選択する(806)ことができる。たとえば、ユーザは、1つまたは複数の画面、1つまたは複数のブラウザタブ、1つまたは複数のアプリケーション、1つまたは複数のウィンドウなどを共有することを選択することができる。
いくつかの実施態様では、ユーザは、プレゼンテーションのスクリーンキャストをレコーディングすることを望む場合があり、プレゼンテーションをレコーディングするようにも選択する(808)ことによりそうすることができる。そして、スクリーンキャストのレコーディングが開始することができる。いくつかの実施態様では、クイック設定UIは、単一の入力コマンドでキャストし、共有し、レコーディングするオプションを提供することができる。その後、ユーザはプレゼンテーションを行うことができ、アノテーション、チャプタ、およびその他のデータを生成することができる(810)。ユーザは、プレゼンテーション停止コントロールを選択することにより、プレゼンテーションを停止することを選択することができる(812)。ユーザは、プレゼンテーション(たとえば、スクリーンキャスト)をレコーディングすることを選択した場合、レコーディングを停止することによってプレゼンテーションを終了することができ、これにより、レコーディングを終了し、リポジトリへのレコーディングのアップロードを完了するようにシステム100をトリガすることができる(814)。
図9は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって生成されるトランスクリプト902の一例を示すスクリーンショット900である。スクリーンショット900のビューは、プレゼンテーション/スクリーンキャストのレコーディング後に提供することができる。システム100は、レコーディングが発生するとリアルタイムでトランスクリプト902を生成していてもよい。加えて、プレゼンターは、レコーディング中にキーアイデア904およびキーアイデア906をマークするアノテーションを作成していてもよい。プレゼンターは、ビデオコンテンツを他のユーザにとって有用なものにするために、レコーディング後のアノテーション付けおよびマークアップを行ってもよい。たとえば、プレゼンターは、キーアイデア908およびキーアイデア910などの追加のアノテーションおよび/またはキーアイデアマーキングを生成することを決定してもよく、レコーディング後に行ってもよい。新たなキーアイデアおよび/またはアノテーションは、レコーディングデータに追加することができるビデオストリームの一部とすることができる。同様に、プレゼンターは、追加のコンテンツをレコーディングすることによって、さらなるオーディオデータを追加してもよい。トランスクリプション902は、新たなオーディオデータで更新してもよい。加えて、トランスクリプション902は、レコーディング後にコンテンツを追加または削除するように他の方法で変更してもよい。
いくつかの実施態様では、システム100は、レコーディング後にアクセスされている特定のコンテンツを自動的に強調表示することができる。強調表示されたコンテンツは、プレゼンターに何らかの種類の間違いまたは誤りを示すことができる。強調表示は、間違いまたは誤りに注意を引いて、プレゼンターが、たとえば、レコーディングとともに追加情報(たとえば、代表的なコンテンツ112、ビデオストリームなど)を広める前に誤りを修正することができるようにする。いくつかの実施態様では、システム100は、追加情報を提供する領域を示すことができる。たとえば、プレゼンターは、キーアイデアにタイトル、ラベルなどを追加することができる。
いくつかの実施態様では、システム100は、機械学習技法を利用して、特定の誤りを学習し、修正することができる。いくつかの実施態様では、システム100は、機械学習技法を利用して、更新および/または修正すべきアイテムのリストを提供するために、いずれのコンテンツをプレゼンターに表出させるべきかを学習することができる。いくつかの実施態様では、システム100は、機械学習技法を利用して、レコーディングからタイトルおよび追加コンテンツを自動的に生成して、プレゼンターがいずれの更新をレコーディングに適用または追加すべきかを選別することができるようにすることができる。
プレゼンターは、UI912によって示すように、クローズドキャプション付きコンテンツおよび/または翻訳されたコンテンツも追加することができる。いくつかの実施態様では、ユーザは、コントロール914を使用して、1つまたは複数の言語を選択して、プレゼンターが提供すると決定した言語の数だけ、トランスクリプトコンテンツ、クローズドキャプション付きコンテンツ、および/または翻訳されたコンテンツを提供することができる。
図10は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのユーザにレコーディングされたコンテンツを表出させる一例を示すスクリーンショットである。この例では、プレゼンターが、一部がスクリーンショット1000に示されている、レコーディングを完了している可能性がある。これに応じて、システム100は、レコーディングのコンテンツ(たとえば、任意またはすべてのビデオストリーム、アノテーション、トランスクリプト、翻訳、オーディオ、プレゼンテーションコンテンツ、またはプレゼンテーション中にアクセスされたリソースなど)を分析し、インデックス付けすることができる。分析は、ビデオコンテンツの一部(たとえば、代表的またはリキャップビデオまたはスニペット、学習ガイド、オーディオトラックなど)を生成するためにレコーディングのいずれのコンテンツを使用するべきかを決定することをさらに含むことができる。こうしたコンテンツは、メタデータレコーディングに基づいて生成することができ、プレゼンターにより(またはプレゼンタービデオストリームに関連するユーザにより)アノテーション付けがなされたビデオコンテンツの部分を含むことができる。いくつかの実施態様では、要約ビデオは、アノテーション付けされていないが、代わりに代表的なコンテンツに含まれるように選択された、ビデオコンテンツの他の部分も含むことができる。
図10に示すように、システム100は、細胞内のリボソームに関連する翻訳およびトランスクリプションについて考察するビデオスニペット1002を生成した。プレゼンターは、表出したアイテム1004によって示すように、ビデオスニペット1002とともに表出させるべきインジケータ、タイトル、および/またはメッセージを提供することができる。アイテムは、プレゼンターによって生成されたアノテーションに基づいて表出させてもよい。表出したアイテム1004を受け取ったユーザは、アイテム1004によって表出した情報を取得するため、かつ/またはアイテムに関して応答またはコメントするために、リンク、ビデオ、または他の情報を選択することができる。
ユーザは、コントロール1006を使用して、レコーディング内のコンテンツ、メタデータ、またはレコーディングに関連付けられた他のストリームを検索することもできる。この例では、ユーザは「細胞構造」という用語の検索クエリを入力している。これに応じて、システム100は、検索結果として表出したアイテム1004とともに、強調表示1008によって示すような、検索用語を含むトランスクリプション(または翻訳)の強調表示部分を提供することができる。加えて、システム100は、検索クエリに関連する可能性のある追加のトランスクリプションまたは翻訳コンテンツ1010を強調表示することができる。
図11は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムのユーザにレコーディングされたコンテンツに表出させる別の例を示すスクリーンショットである。この例では、システム100を実行するウェブブラウザアプリケーション1102が、たとえば、ウィンドウ1104に教育用コンテンツを描写している。システム100は、メニュー1106およびUI1108によって示すように、代表的なコンテンツ112を生成することができる。メニュー1106の代表的なコンテンツは、ウィンドウ1104内のコンテンツを視聴するユーザによってアクセスされるメニュー例1106を含むことができる。メニュー1106は、ウィンドウ1104に提示された主題に関連する利用可能なビデオスニペット1110を含む。いくつかの実施態様では、ビデオスニペット1110は、特定のトピックまたは日付について提示されたコンテンツのスニペットまたは画像フレームを含むことができる。いくつかの実施態様では、任意の数のビデオスニペットおよび/またはリンクをメニュー1106に埋め込んで、ユーザに迅速な回答およびコンテンツを提供することができる。したがって、インターネットからの結果を表出させる代わりに、システム100は、ローカルに、オンラインライブラリに、オンラインドライブに、かつ/または別のリポジトリからアクセスされた、以前にアクセスされたコンテンツからの検索結果を、表出させることができる。いくつかの実施態様では、システム100は、最近アクセスまたは閲覧されたキーアイデアスニペット(たとえば、ビデオクリップ)を表示することを優先させることができる。メニュー1106は、メニューにアクセスするユーザにとって有用な時点に提供することができる。加えて、関連する検索をメニュー1106のオプションとして提示してもよい。たとえば、メニュー1106にアクセスするユーザに、ウィンドウ1104のコンテンツで考察されているトピックに基づいて、「リボソーム」1112という用語の検索が提供される。
システム100は、レコーディングされたコンテンツを他の方法でユーザに表出させることができる。たとえば、O/Sが提供するメニュー1114は、ウィンドウ1104に、またはウィンドウ1104に提供されるコンテンツに対応するレコーディングに関連付けられた、追加コンテンツを表出させることができる。この例では、O/Sは、UI1108に検索結果を表出させた。いくつかの実施態様では、システム100は、ユーザが入力した検索クエリ1120に基づいて、UI1108にコンテンツを表出させることができる。たとえば、入力された検索クエリ1120を、ウィンドウ1104に関連付けられたビデオレコーディングからのキーアイデアと一致させることができ、O/Sが生成した検索結果として表出させることができる。
図示するように、UI1108は、トップ検索結果として、ビデオとキーアイデアのタイムライン1116とを含む。ユーザは、タイムライン1116に列挙されたイベントのうちの任意のものを選択して、ウィンドウ1104または新しいウィンドウにおいて、こうしたコンテンツを含むビデオ部分に誘導されるようにすることができる。加えて、UI1108は、ウィンドウ1104でアクセスされたコンテンツに関連する1つまたは複数のビデオ1118も含む。
いくつかの実施態様では、メニュー1106および/またはUI1108などのUIにおいて表出するコンテンツは、ウィンドウ1104においてアクセスされる特定のレコーディングされたビデオ以外のソースからも取り出すことができる。たとえば、システム100は、メニュー1106および/またはUI1108にポピュレートするために、ウィンドウ1104においてアクセスされているプレゼンテーションに類似する(またはプレゼンテーションにおけるコンテンツに類似する)別のプレゼンターまたは別のプレゼンテーションから、コンテンツを取り出すことができる。したがって、システム100は、ウィンドウ1104においてアクセスされるコンテンツに関連すると決定されたトピックに関する、他のプレゼンター、企業、ユーザ、および/または1つまたは複数の権威あるソースもしくはリソースからのコンテンツを利用することができる。
図12は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムによって生成されたセッションのレコーディング中にマークされたキーアイデアおよびコンテンツを表出させる一例を示すスクリーンショットである。この例では、ユーザは、スクリーンキャストを提供および開始する拡張機能、アプリケーション、またはO/Sを使用している可能性がある。たとえば、ブラウザウィンドウ1200が、システム100を使用して共有されている可能性がある。共有されたコンテンツは、各々がそれぞれのタイムスタンプ1210、1212、1214に対応するキーアイデア1204、1206、および1208を有するタイムライン1202を少なくとも含む。タイムライン1202は、たとえばプレゼンテーション中に、コンテンツのプレゼンター1216が生成してもよい。代替的に、プレゼンターは、ビデオレコーディングの完了後にキーアイデアおよびタイムライン1202を生成してもよい。トランスクリプトはタイムライン1202と同期して、コンテンツ1216またはトランスクリプトの一方のスクロールが他方の対応するスクロールを引き起こすようになっていることが分かる。
図13A~図13Gは、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステム100にアクセスするユーザによって構成されたマークされたコンテンツを描写しているスクリーンショットを示す。この例では、ユーザは、スクリーンキャストを提供および開始する拡張機能、アプリケーション、またはO/Sを使用している可能性がある。ブラウザウィンドウ1304がオンラインリアルタイムプレゼンテーションシステム100によってキャストされている間、ツールバー1302が描写されている。ツールバー1302は、ブラウザウィンドウ1304のキャストを開始したときに開始することができ、それにより、プレゼンターが、テレストレーション(たとえば、動画または静止ビデオコンテンツへのアノテーション付け)を開始するツールを選択することを可能にすることができる。いくつかの実施態様では、たとえば、プレゼンターがスタイラス、スマートペン、または他のそうしたツールを使用してプレゼンテーションのコンテンツに入力を提供する場合、本明細書に記載するツールバーを省略してもよい。
図13Aを参照すると、ツールバー1302は、ポインタツール、消えるペンツール、ペンツール、クローズドキャプションツール、ミュートツール、およびキーアイデアマーカツール1306を含む。マーカツール1306は、たとえば、特定のコンテンツ、アイデア、スライド、アノテーション、または画面の他の提示部分をキーアイデアとしてマークするために、プレゼンターが選択することができるコントロールを表すことができる。キーアイデアは、プレゼンターが有用で、重要な、学習ガイド材料とみなし、かつ/または代表的なコンテンツ112に対して選択可能であるとみなす、要素を表すことができる。概して、キーアイデアは、日付、タイムスタンプ、および/または主題によって整理することができる。
この例では、プレゼンターは、ペンツールを使用してテキスト1308および/または強調表示1310および1312を入力している。その後、プレゼンターは、マーカツール1306を選択し、次いで、テキスト1308ならびに強調表示1310および1312のアノテーションをマークして、こうしたコンテンツをキーアイデアとして示した可能性がある。これに応じて、システム100は、キーアイデアとしてマークされているアイデアに関するフィードバックをプレゼンターに提供するために、インジケータメッセージ1314を提供することができる。いくつかの実施態様では、マーカツール1306を使用して、テレストレータデータ(すなわち、強調表示1310および1310ならびに/またはテキスト1308)と並んでアノテーション入力として提供することができるチャプタ(たとえば、マーカデータを生成するビデオマーカ、マーカデータを生成するチャプタマーカなど)を生成することもできる。プレゼンターは、マーカツール1306および/または他のツールバーツールをリアルタイムで、かつレコーディング中に使用して、こうしたアノテーション入力にテレストレーションおよびキーアイデアでマークすることができる。たとえば、プレゼンテーション中に、プレゼンターは、チャプタ、アノテーション、キーアイデアなどをインタラクティブにマークすることができる。双方向性から得られるアノテーションは、システム100が、ユーザ(たとえば、プレゼンテーション参加者)がキーアイデアおよび/またはアノテーションのリキャップビデオに容易にアクセスすることができるようにするために、学習ガイド、代表的なコンテンツ112、ビデオスニペット、および検索可能なコンテンツを生成するために使用することができる。
図13Bを参照すると、ブラウザウィンドウ1304は、追加のトランスクリプトセクション1316とともに示されている。トランスクリプトセクション1316は、プレゼンターが、システム100を使用して発話しウィンドウ1304内でコンテンツをプレゼンテーションしている間に、リアルタイムで生成することができる。トランスクリプトセクション1316は、目下レコーディングされているトランスクリプトビデオストリームを表すことができる。トランスクリプトセクション1316は、強調表示1318によって示すように、目下発話されている文を強調表示してもよい。ユーザがレコーディングの完了後にレコーディングされたビデオにアクセスしている場合、目下発話されている文を強調表示して、スピーチ(たとえば、オーディオ)がビデオ全体を通して提供されるにつれて更新し続けるようにすることができる。これにより、ユーザがトランスクリプトセクション1316で話についていくことができるという利点を提供することができる。オーディオが進行するにつれて、強調表示は、発話されている特定のオーディオを示すように更新する。
いくつかの実施態様では、プレゼンターまたはユーザは、完了後にレコーディングにアクセスすることができ、トランスクリプトをナビゲートして、セクション1316において選択されたトランスクリプトに従ってウィンドウ1320内のコンテンツを更新させることができる。たとえば、ユーザは、トランスクリプト内のパラグラフを選択して、パラグラフの先頭にナビゲートし、ウィンドウ1320内の一致するコンテンツをトリガすることができる。加えて、ユーザは、検索コントロール1322にアクセスして、コンテンツについてトランスクリプトを検索することができる。ブラウザウィンドウ1304は、プレゼンターまたはユーザが、特定の完全レコーディング、トランスクリプトの一部、ウィンドウ1320の一部、またはビデオレコーディングの他の部分を共有することができるようにする共有オプション1324も描写している。
図13Cを参照すると、ブラウザウィンドウ1304が示されており、追加のオプションを含む。たとえば、トランスクリプトのパラグラフにマーカツール1326が提供され、ユーザがトランスクリプトの特定の部分(およびトランスクリプトに関連付けられた、結果としてのビデオ部分)をキーアイデアとしてマークする(またはマーク解除する)ことができるようにする。たとえば、ユーザは、マーカツール1326を選択することにより、パラグラフをキーアイデア1328としてマークしている。ユーザは、ビデオ全体を通して、トランスクリプト内のパラグラフをマークするかまたはマーク解除することができる。マークされた部分は、システム100によって、代表的なコンテンツ112を生成するためにアクセスすることができる。トランスクリプト部分をマークすることは、同じタイムスタンプ(または複数のタイムスタンプ)で関連するビデオストリームを自動的に選択するように機能することができる。したがって、特定のトランスクリプトパラグラフがキーアイデアとしてマークされた場合、他のコンテンツも、同じタイムスタンプまたはその周辺でキーアイデアとしてマークすることができる。すなわち、1つのビデオストリームをマークすることは、限定されないが、アノテーション(たとえば、アノテーションビデオストリームを介する)、翻訳(たとえば、翻訳ビデオストリームを介する)、スクリーンコンテンツ(たとえば、スクリーンキャストビデオストリームを介する)、カメラビュー(たとえば、プレゼンタービデオストリームを介する)を含む、キーアイデアで、他のビデオストリームをマークするように機能することができる。
図13Dを参照すると、この場合もまたブラウザウィンドウ1304が示されており、図13Dに示すキーアイデアマーキングは、ビデオ内のタイムスタンプ1332にキーアイデア1328がマークされているタイムライン1330に描写されている。インジケータ1334が、トランスクリプト1316の一部を描写している。インジケータは、ユーザがキーアイデアのタイムスタンプ1332でコンテンツを識別するのを支援するビデオスニペットまたは画像フレームであり得る。いくつかの実施態様では、ユーザは、タイムライン1330を使用して、マークされたキーアイデアをマークし、マーク解除し、または他の方法で変更することができる。
図13Eを参照すると、この場合もまたブラウザウィンドウ1304が示されており、追加のキーアイデアがマークされている。たとえば、システム100を使用するユーザによって、Partial order(部分順序)キーアイデア1336およびUntitled key idea(無題キーアイデア)1338がマークされている。タイムライン1330に対して、対応するタイムスタンプ1340および1342も生成されている。1つの例では、ユーザは、コンセプト336をトリガするためにパラグラフ1344を選択した。加えて、ユーザが特定の翻訳パラグラフ(または、ユーザがキーアイデアを生成するために使用する他のコンテンツ)を選択すると、編集ツール1346を提供することができる。編集ツール1346を使用して、任意のトランスクリプト部分を編集することができる。いくつかの実施態様では、編集ツール1346を使用して、トランスクリプト部分を結合および/または分割することができ、したがって、キーアイデアの可能な変更がトリガされる。
図13Fを参照すると、ユーザは、タイムライン1330のキーアイデア1336に対する編集をトリガすることができるトランスクリプション部分1344を編集するために、編集ツール1346を選択した。部分1344において編集ツールを選択することに応じて、システム100は、UI1348を提示することができる。UI1348は、コントロール1350を使用してキーアイデアのタイトルを変更するためのエントリ、およびコントロール1352に示す実際のトランスクリプトの任意の部分を変更するためのエントリを提供することができる。加えて、UI1348は、キーアイデアの結合または分割をトリガすることができる、トランスクリプションの一部を結合または分割するコントロールを提供することができる。こうしたキーアイデアの変更は、基礎となるビデオフレーム、テキスト、およびキーアイデアのコンテキストを変更することができる。
図13Gを参照すると、ユーザが検索1360を入力したことに応じて、多数の検索結果1354、1356、および1358が提示される。こうした検索結果は、システム100によって生成することができる。たとえば、プレゼンター(または他のユーザ)が、システム100によって提供されるビデオに対するキーアイデアおよびアノテーションを生成した後、システム100は、ビデオ(ならびに基礎となるビデオストリームおよび関連するメタデータ)を検索可能であるように構成することができる。ユーザがビデオに関連付けられているコンテンツを(検索エンジンで)検索した場合、検索エンジンは、ビデオおよび/または関連するコンテンツの一部を含む検索結果(テキスト、ビデオ、画像など)を返すことができる。
図13Gに示すように、検索は、検索用語セットおよびサブセットを含む。検索結果1354~1358を提供することができるのは、システム100が、ウェブブラウザアプリケーションを使用して代表的なコンテンツの少なくとも一部を見つける検索機能を有効にするために、代表的なビデオコンテンツの一部(たとえば、キーアイデア、トランスクリプション、アノテーション、入力など)のインデックス付けを実行またはトリガすることができるためである。代表的なコンテンツを含むビデオまたはテキストの一部にユーザを誘導するように、特定のURLリンクを生成することができる。いくつかの実施態様では、検索された用語を一致するキーアイデアに相関させる、ビデオにおける位置(たとえば、タイムスタンプ)にユーザを誘導するように選択することができる、ビデオ検索結果を提供することができる。各検索結果は、動画のサムネイルおよびタイムスタンプ、タイトル、トランスクリプトの強調表示(たとえば、強調表示1362、1364、および1366)、ユーザ名、およびアップロードされたビデオのタイムスタンプを含むように構成することができる。
図14は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステム100によって生成されるセッションのレコーディング中にリアルタイムで示される翻訳されたテキストを示すスクリーンショットである。たとえば、レコーディングおよび/またはプレゼンテーションされているオーディオのクローズドキャプションバージョン1402に加えて、システム100は、テキスト1404として示すリアルタイム翻訳275を生成およびレンダリングすることもできる。ユーザは、コントロール1406を使用して、特定の翻訳を表示する言語を選択することができる。選択された言語の翻訳は、いくつかの例では、トランスクリプションビデオストリームの一部を形成してもよく、または別個の翻訳ストリームとして提供してもよい。
クローズドキャプションは、ツールバー1410のツール1408でオンまたはオフに切り替えることができる。クローズドキャプションコンテンツ1402を提供することで、プレゼンテーション中にユーザが話についていくのをより容易にすることができる。リアルタイム翻訳コンテンツ1404により、プレゼンターの言語を学習しているユーザが、プレゼンテーション中に話についていくことができる。いくつかの実施態様では、ユーザは、第1の言語での翻訳を含む、以前にレコーディングされたビデオにアクセスすることができ、第2の言語での翻訳を表示するために第2の言語を選択することができる。これは、プレゼンテーションの言語を話さない親または他のユーザからの支援を求めているユーザに役立つことができる。
図15は、本明細書に記載する実施態様による、スクリーンキャストを生成およびレコーディングするプロセス例1500のフロー図を示す。プレゼンターは、たとえば、リアルタイムプレゼンテーションシステム100に関連付けられた1つまたは複数のライブラリ116から開始するスクリーンキャストを生成するように、コンピューティングシステム202を構成することができる。ライブラリは、ローカルストレージドライブ、オンラインストレージドライブ、サーバコンピューティングシステム204、またはコンピューティングシステム201および/もしくはコンピューティングシステム202にアクセス可能な別の場所に格納することができる、プレゼンターに関連付けられたコンテンツを含むことができる。プレゼンターは、ライブラリ116に入り、スクリーンキャストのレコーディングを開始するように選択することができる(1502)。次に、プレゼンターは、レコーディングするコンテンツのスコープ(たとえば、ウィンドウ、タブ、全画面など)を選択することができる(1504)。システム100は、スコープを選択するUIをトリガするために、スクリーンキャスト/スクリーンシェアツールを作動させてもよい。ユーザはスクリーンキャストをレコーディングしているが、たとえば、スクリーンキャストのレコーディングが後にユーザが視聴するためのものである場合、ユーザは画面を共有しないことを選択することができる。
次に、システム100は、選択されたスコープに従ってレコーディングを開始することができ、1つまたは複数のツールバー(たとえば、ツールバー108)を提示することができる。プレゼンターは、スクリーンキャストツール(たとえば、ツールバー108)を使用して、コンテンツにアノテーション付けすることができる(1506)。プレゼンターは、ある時点でレコーディングを終了することを選択することができる。レコーディングが終了すると、システム100は、ビデオ(ならびに対応するビデオストリームおよびメタデータ)を、新たに利用可能になったファイルとしてライブラリ116に自動的にアップロードすることができる。いくつかの実施態様では、システム100は、ビデオを、他の人によって視聴され他の人と共有されるように構成する。
図16は、本明細書に記載する実施態様による、複数のビデオストリームに関連付けられたメタデータレコードを生成するプロセス例1600のフロー図を示す。概して、プロセス1600は、本明細書に記載するシステムおよびアルゴリズムを利用して、リアルタイムプレゼンテーションシステム100によって使用されるメタデータレコードを生成する。プロセス1600は、少なくとも1つの処理デバイスと、実行されると処理デバイスに請求項に記載する複数の動作およびコンピュータ実装ステップを実行させる命令を記憶するメモリとを備える、1つまたは複数のコンピューティングシステムを利用することができる。概して、プロセス1600の説明および実行において、システム100、システム200、システム263、および/またはシステム1900を使用することができる。
ブロック1602において、プロセス1600は、ビデオコンテンツをキャプチャするレコーディングを開始させることを含む。ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、および/またはアノテーションビデオストリームのうちの任意のものまたはすべてを含むことができる。たとえば、システム100は、ユーザ(たとえば、プレゼンター)が、ビデオコンテンツをキャプチャするレコーディングを開始するためにアクセスすることができる。こうしたビデオコンテンツは、プレゼンタービデオストリーム(たとえば、自撮りカメラでキャプチャされたコンテンツ)、スクリーンキャストビデオストリーム(たとえば、図面276およびスクリーンキャスト277コンテンツ)、アノテーションビデオストリーム(アノテーションデータレコード214ならびに/またはキーアイデアマーカおよび対応するメタデータ278)、トランスクリプションビデオストリーム(たとえば、リアルタイムトランスクリプション274)、および/または翻訳ビデオストリーム(たとえば、リアルタイム翻訳275)を含むことができる。
ブロック1604において、プロセス1600は、ビデオコンテンツに基づいて、ビデオコンテンツのキャプチャ中に、タイミング情報を表すメタデータレコードを生成することを含む。タイミング情報を使用して、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、またはアノテーションビデオストリームのうちの少なくとも1つで受け取られた入力を、ビデオコンテンツの一部と同期させることができる。いくつかの実施態様では、入力は、アノテーションビデオストリームに関連付けられたアノテーション入力を含む。いくつかの実施態様では、アノテーションは、図面276、テキスト、オーディオ入力、参照リンクなどを含むことができる。いくつかの実施態様では、アノテーション入力は、プレゼンタービデオストリームに関連するユーザによって生成されたビデオマーカデータおよび/またはテレストレータデータを含む。たとえば、プレゼンターが、ビデオコンテンツへのオーバーレイとして図面、テキストなどを入力するテレストレータを使用して、アノテーションを入力することができる。同様に、プレゼンターは、レコーディング中にマーカツールを使用してチャプタをマークすることができる。チャプタは、ビデオコンテンツのチャプタを生成するために使用することができるビデオマーカデータとして格納することができる。
いくつかの実施態様では、各メタデータレコードは、レコーディングビデオストリームのうちの少なくとも1つで受け取られた入力(たとえば、アノテーション114/レコード214、キーアイデアメタデータ278)を同期させるために使用されるタイムスタンプデータを表す。いくつかの実施態様では、メタデータ228は、レコーディング中にキャプチャし、格納することができる。メタデータ228は、任意の数のビデオストリームと、ビデオストリームのレコーディング中またはビデオストリームのレコーディング後に受け取られたアノテーションとに関連することができる。各ビデオストリームは、オーディオデータも含むことができる。いくつかの実施態様では、ビデオストリームは、メタデータとしてアノテーションデータを格納することができる。しかしながら、いくつかの実施態様では、アノテーションデータは、ビデオレイヤとして別途レコーディングしてもよく、したがって、メタデータ228は、ビデオレイヤから取得してもよい。
いくつかの実施態様では、プロセス1600は、メタデータレコードに基づいて、ビデオおよび/またはオーディオコンテンツの一部を代表するコンテンツを生成することを含む。たとえば、代表的なコンテンツは、レコーディングの終了に応じて、プレゼンタービデオストリームに関連するユーザ(たとえば、プレゼンター)によってアノテーション付けされたビデオコンテンツの部分を含むことができる。ビデオコンテンツは、代表的なコンテンツ112を含むことができ、タイミング情報、メタデータ228、および/または他のビデオコンテンツもしくはビデオコンテンツのアノテーションに基づいて生成することができる。生成は、レコーディングの終了に応じて自動的に行ってもよく、または、レコーディングが終了したときにユーザによって、もしくはユーザ入力に応じて他の方法で開始してもよい。いくつかの実施態様では、代表的なビデオコンテンツは、レンダリングされたビデオコンテンツおよび/または画面コンテンツ上のアノテーションを描写するオーバーレイされた画像フレームを含むことができる。いくつかの例では、代表的なコンテンツは、ユーザによってアノテーション付けされたビデオコンテンツのそれぞれの部分の直前および/または直後からのビデオコンテンツの1つまたは複数の部分を含むこともできる。
いくつかの実施態様では、タイミング情報は、受け取られた入力のそれぞれの入力に関連付けられた複数のタイムスタンプに対応する。たとえば、タイミング情報は、レコーディングおよび/またはスクリーンキャスト中に受け取られた(たとえば、プレゼンターによって提供される)アノテーションに対応することができる。受け取られたアノテーションは、特定の1つのタイムスタンプまたは複数のタイムスタンプで提供することができる。タイミング情報は、入力が受け取られた、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、またはアノテーションビデオストリームに関連付けられたコンテンツまたはドキュメントにおける(言い換えれば、ビデオコンテンツに関連付けられたコンテンツまたはドキュメントにおける)少なくとも1つの位置に対応することもできる。たとえば、アノテーションの作成のタイミングは、タイムスタンプを含む期間中にアノテーションが配置された画面/ビデオ/コンテンツ内の(空間的な)位置にも対応する。いくつかの実施態様では、入力を同期させることは、それぞれの入力について、複数のタイムスタンプにおける少なくとも1つのタイムスタンプを、コンテンツまたは文書における少なくとも1つの位置に一致させることを含む。たとえば、システム100は、アノテーションまたはマーカ入力を、ビデオコンテンツにおける位置と、ビデオコンテンツのレコーディング中にアノテーションまたはマーカ入力を受け取ることに関連する時点とに一致させる、マッチングプロセスを実行することができる。
いくつかの実施態様では、ビデオコンテンツは、他の複数のビデオストリームに加えて、トランスクリプションビデオストリームをさらに含む。トランスクリプションビデオストリームは、プレゼンタービデオストリームからのリアルタイムの文字起こしされたオーディオデータを含むことができる。リアルタイムの文字起こしされたオーディオは、ビデオコンテンツのレコーディング中にスクリーンキャストビデオストリームとともに表示されるように構成された変更可能なトランスクリプションデータ(たとえば、テキストデータ)として生成することができる。すなわち、トランスクリプションは、プレゼンターがコンテンツをレコーディングおよびプレゼンテーションする際に、リアルタイムまたはほぼリアルタイムで生成およびレンダリングすることができる。いくつかの実施態様では、プレゼンタービデオストリームからのリアルタイムに翻訳されたオーディオデータは、ビデオコンテンツのレコーディング中にスクリーンキャストビデオストリームおよび文字起こしされたオーディオデータとともに表示されるように構成されたテキストデータとして生成される。たとえば、レコーディング中に、スクリーンキャストからの他のビデオストリームコンテンツとともに、トランスクリプションをレンダリングすることができる。いくつかの実施態様では、システム100は、トランスクリプションビデオストリームのテキストデータを用いて、トランスクリプションの翻訳を実行およびレンダリングすることもできる。したがって、テキスト(トランスクリプション)データは、翻訳の有無にかかわらずレンダリングすることができる。
いくつかの実施態様では、リアルタイムの文字起こしされたオーディオデータのトランスクリプションは、少なくとも1つの音声テキスト化アプリケーションによって実行される。少なくとも1つの音声テキスト化アプリケーションは、トランスクリプションビデオストリームによってアクセス可能であると決定された任意の数の音声テキスト化アプリケーションから選択することができる。たとえば、システム100は、いずれの音声テキスト化アプリケーションがオーディオコンテンツに対して正確かつ好都合なトランスクリプションを提供することができるかを決定することができる。こうした決定は、オーディオコンテンツ、オーディオコンテンツの言語、ビデオストリームをプレゼンテーションするかまたはビデオストリームにアクセスしているユーザによって提供される人口統計などに基づいて行うことができる。変更可能なトランスクリプションデータおよびテキストデータは、メタデータレコード内のタイムスタンプに従って格納することができ、検索可能であるように構成することができる。これにより、効果的かつリソース効率の高い方法で、ビデオストリーム内のコンテンツの検索を容易にすることができる。
いくつかの実施態様では、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、およびアノテーションビデオストリームは、レコーディング中にオンとオフとが切り替えられるように構成されている。オンとオフとの切り替えは、それぞれのプレゼンタービデオストリーム、それぞれのスクリーンキャストビデオストリーム、またはそれぞれのアノテーションビデオストリームの表示(または表示からの削除)をトリガすることができる。
図17は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムにおいてビデオプレゼンテーションを生成およびレコーディングするプロセス例のフロー図である。概して、プロセス1700は、本明細書に記載するシステムおよびアルゴリズムを利用して、リアルタイムプレゼンテーションシステム100によって使用されるメタデータレコードを生成する。プロセス1700は、少なくとも1つの処理デバイスと、実行されると処理デバイスに請求項に記載する複数の動作およびコンピュータ実装ステップを実行させる命令を記憶するメモリとを備える、1つまたは複数のコンピューティングシステムを利用することができる。概して、プロセス1700の説明および実行において、システム100、システム200、システム263、および/またはシステム1900を使用することができる。
リアルタイムオンラインプレゼンテーションシステム100は、少なくとも1つのカメラと、少なくとも1つのマイクロフォンと、少なくとも1つのスピーカと、少なくとも1つの表示画面と、少なくとも1つの表示画面上に表示されるように構成された1つまたは複数のユーザインターフェースとを含むシステムであり得る。システム100は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行可能なコンピュータ実行可能命令が格納されている1つまたは複数のコンピュータ可読ハードウェア記憶デバイスとを使用して、プロセス1700の命令を実行することができる。
ブロック1702において、プロセス1700は、オーディオコンテンツおよびビデオコンテンツをキャプチャするレコーディングを開始させることを含む。たとえば、プレゼンターは、システム100にアクセスして、プレゼンテーションおよび/またはレコーディングをトリガして、プレゼンテーションされているオーディオコンテンツおよびビデオコンテンツのキャプチャを開始することができ、これにより、最終的に、レコーディング110、110b、および/またはアノテーション114を生成することができる。ビデオコンテンツは、本開示を通して説明するように、少なくともプレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含むことができる。いくつかの実施態様では、図16を参照して考察したように、ビデオコンテンツに基づいてメタデータレコードを生成することができる。
ブロック1704において、プロセス1700は、ユーザインターフェース内からの複数のアプリケーションのアクセスに関連付けられたオーディオコンテンツおよびビデオコンテンツのレンダリングを引き起こすことを含む。たとえば、オーディオおよびビデオコンテンツのプレゼンテーションおよびレコーディング中に、システム100は、コンテンツ共有(たとえば、スクリーンシェア、ビデオ会議シェア、スクリーンキャストなど)をトリガしてもよい。ビデオデータは、さまざまなUIを提供する画面を介してレンダリングすることができ、オーディオコンテンツは、スピーカを介してレンダリングすることができる。いくつかの実施態様では、オーディオコンテンツは、システム100によって提示されている残りのコンテンツの近くまたは閾値距離内に、文字起こしされかつ/または翻訳されたテキストとしてもレンダリングされる。
ブロック1706において、プロセス1700は、オーディオコンテンツおよびビデオコンテンツのレンダリング中に、ユーザインターフェースにおいてアノテーション入力を受け取ることを含む。アノテーション入力は、アノテーションビデオストリームに記録してもよい。たとえば、ユーザがビデオコンテンツにアノテーション付けすると(たとえば、図3Aのアノテーション306、308)、システム100は、システム100によってキャプチャされた他のビデオストリームからのコンテンツ上に配置可能なオーバーレイとして表すことができる別個のストリームに、アノテーションを記録してもよい。いくつかの実施態様では、アノテーション入力は、ビデオコンテンツ上のオーバーレイとしてレンダリングされる。アノテーション入力はまた、レコーディング中にアクセスされた他のビデオコンテンツ(たとえば、アプリケーション、ウィンドウ、ブラウザタブなど)への切り替えをトリガするウィンドウイベントまたはカーソルイベントを検出することに応じて、ビデオコンテンツとともに移動するように構成することもできる。たとえば、ウィンドウイベントまたはウィンドウのスクロールを示す他の信号を受け取ることができ、アノテーション入力は、アノテーションが、基礎となる、アノテーション付けされた、アプリケーションコンテンツに対して固定位置に留まるように、基礎となるアプリケーションのコンテンツとともにスクロールするように構成することができる。
ブロック1708において、プロセス1700は、オーディオコンテンツおよびビデオコンテンツのレンダリング中にオーディオコンテンツを文字起こしすることを含む。たとえば、オーディオコンテンツはリアルタイムで文字起こしされる。文字起こしされたオーディオコンテンツは、トランスクリプションビデオストリームに記録することができ、システム100によってリアルタイムでレンダリングおよびマークすることができる。たとえば、プレゼンター(またはプレゼンテーションを視聴しているユーザ)は、システム100によって提供されるUIに提示されるトランスクリプションデータにマークし、アノテーション付けし、トランスクリプションデータを変更し、または他の方法でトランスクリプションデータとインタラクトすることができる。
ブロック1710において、プロセス1700は、任意選択的に、オーディオコンテンツおよびビデオコンテンツのレンダリング中にオーディオコンテンツを翻訳することを含む。たとえば、翻訳はリアルタイムで実行することができる。翻訳は、プレゼンテーション中に発生するオーディオ情報を翻訳することに加えて、スクリーンキャスト(または他の共有メカニズム)で提示されているテキストを翻訳することを含むことができる。
ブロック1712において、プロセス1700は、ユーザインターフェースにおいて、レンダリングされたオーディオコンテンツおよびビデオコンテンツとともに、リアルタイムで、文字起こしされたオーディオコンテンツ(および任意選択的に翻訳されたオーディオコンテンツ)のレンダリングを引き起こすことを含む。たとえば、プレゼンターおよびプレゼンテーションを視聴しているユーザが1つのビューにおいて提示されたビデオストリームに好都合にアクセスすることができるように、教育用/プレゼンテーションコンテンツ、文字起こしされたコンテンツ、および任意選択的な翻訳されたコンテンツを、単一のUIで描写することができる。いくつかの実施態様では、プレゼンタービデオストリーム、アノテーションビデオストリーム、参加者ビデオストリームなど、追加のビデオストリームがこうしたビューに追加される。
いくつかの実施態様では、プロセス1700は、ビデオコンテンツおよびオーディオコンテンツのレンダリングの終了を検出することに応じて、オンラインプレゼンテーションシステム100に要約コンテンツを生成させることも含むことができる。要約コンテンツは、たとえば、代表的なコンテンツ112であってもよく、コンテンツ112は、アノテーション入力、ビデオコンテンツ、文字起こしされたオーディオコンテンツ、および翻訳されたオーディオコンテンツに基づいてもよい(すなわち、コンテンツ112は、アノテーション入力、文字起こしされたオーディオコンテンツなどに基づいて選択または決定されるビデオコンテンツの部分を含むことができる)。要約コンテンツは、生成されたメタデータレコードに基づいて生成してもよい。いくつかの実施態様では、要約コンテンツは、アノテーション入力でマークされたレンダリングされたオーディオおよびビデオの部分を含む。
図18は、本明細書に記載する実施態様による、リアルタイムプレゼンテーションシステムでビデオプレゼンテーションをプレゼンテーションするプロセス例1800のフロー図である。概して、プロセス1800は、本明細書に記載するシステムおよびアルゴリズムを利用して、リアルタイムプレゼンテーションシステム100によって使用されるメタデータレコードを生成する。プロセス1800は、少なくとも1つの処理デバイスと、実行されると処理デバイスに請求項に記載する複数の動作およびコンピュータ実装ステップを実行させる命令を記憶するメモリとを備えた、1つまたは複数のコンピューティングシステムを利用することができる。概して、プロセス1800の説明および実行において、システム100、システム200、システム263、および/またはシステム1900を使用することができる。
ステップ1802において、プロセス1800は、少なくとも1つのビデオストリームを受け取ることを含む。たとえば、ユーザは、システム100にアクセスして、プレゼンテーションコンテンツ(たとえば、ビデオおよびオーディオコンテンツ)を視聴することができる。ユーザは、視聴するレコーディングを選択してもよく、システム100を使用してレコーディングをライブ視聴してもよい。いずれのレコーディングを視聴するかを示すことに応じて、システム100は、システム202をトリガして、たとえば、複数のビデオストリームのうちの1つまたは複数を受け取ることができる。ビデオストリームは、本開示全体を通じて説明するように、限定されないが、少なくともプレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含むことができる。
ステップ1804において、プロセス1800は、少なくとも1つのビデオストリームにおいて検出された入力に関連付けられたタイミング情報を表すメタデータを受け取ることを含む。たとえば、システム100は、システム202をトリガして、タイミング情報を表すメタデータ228を受け取ることができる。タイミング情報は、少なくとも1つのビデオストリームにおいて提供される検出された入力を、少なくとも1つのビデオストリームのコンテンツ(たとえば、ビデオ、オーディオ、データ、メタデータなど)に同期させるように構成することができる。たとえば、タイミング情報は、検出された入力(たとえば、アノテーション、マーカなど)を複数のビデオストリームのうちの少なくとも1つに同期させるように構成された情報および/または命令を含むことができる。
ステップ1806において、プロセス1800は、メタデータに基づいて、少なくとも1つのビデオストリームの一部を生成することを含む。その部分は、少なくとも1つのビデオストリームのうちの任意のものまたはすべてを視聴する要求を受け取ることに応じて生成することができる。たとえば、ユーザは、ビデオストリームに関連付けられたコンテンツを視聴するように要求することができる。これに応じて、システム100は、メタデータに基づいて、ビデオストリームの部分のコンパイルまたは他の組み合わせとして、要約ビデオ、リキャップビデオ、または他の代表的なビデオ(および/またはオーディオ)を生成することができる。
いくつかの実施態様では、システム100は、UI302を生成および提示することができ、メタデータから取り出されたアノテーション306および308は、UI302に示されるコンテンツ上にオーバーレイとして描写される。UI302は、複数のビデオストリームに関連付けられたコンパイルされたコンテンツ(たとえば、要約されたコンテンツ、リキャップコンテンツ、および/または他の代表的なコンテンツ)を表示することを要求する検出されたユーザの指示に応じて、アノテーション306および308がメタデータに示されたタイムスタンプで、UI302内のコンテンツの上にオーバーレイされるように、描写することができる。生成された部分は、アノテーションコンテンツ、ビデオコンテンツ、または他のユーザが要求したおよび/もしくはシステム100が提供したコンテンツを表すビデオおよび/またはオーディオコンテンツを含むことができる。いくつかの実施態様では、生成された部分は、検出された入力に基づくコンテンツを含み、入力でアノテーション付けされたビデオストリームのレンダリングされた部分を含む。
いくつかの実施態様では、図3Aに示されるスクリーンショット全体は、フレームがアノテーション付きコンテンツを含むため、コンパイルされたかまたは他の方法でキュレーションされたコンテンツを表示する要求を検出することに応じて、画像フレームとして提供することができる。アノテーション付きコンテンツは、少なくとも1つのビデオストリームのコンテンツに関連付けられたプレゼンターによって示されるように、画像フレーム内の情報がキーデータを含むことを示すインジケータであり得る。
ステップ1808において、プロセス1800は、少なくとも1つのユーザインターフェースにおいて、少なくとも1つのビデオストリームの上記部分のレンダリングを引き起こすことを含む。たとえば、UI生成器220は、レンダラを使用して、コンパイルされた(たとえば、リキャップ、要約された)コンテンツとして示された部分を書式設定および表示する。コンパイルまたはコンテンツの他の組み合わせを表示する要求に応じて、ビデオストリームの他の部分も表示し、または代替的に表示することができる。たとえば、プレゼンタービデオストリーム、翻訳ビデオストリーム、トランスクリプションビデオストリーム、別のアノテーションビデオストリーム、および/またはシステム100によって生成された他のビデオストリームに関連付けられたビデオおよび/またはオーディオコンテンツなどの、ビデオおよび/またはオーディオコンテンツも描写することができる。
いくつかの実施態様では、タイミング情報は、ビデオストリームのうちの1つまたは複数において検出されたそれぞれの入力に関連付けられた複数のタイムスタンプと、1つまたは複数のビデオストリームのうちの少なくとも1つに関連付けられたコンテンツまたはドキュメントにおける(すなわち、少なくとも1つのビデオストリームに関連付けられたコンテンツまたはドキュメントにおける)少なくとも1つの位置とに対応する。いくつかの実施態様では、検出された入力を同期させることは、それぞれの入力について、少なくとも1つのタイムスタンプをドキュメントにおける少なくとも1つの位置に一致させることを含む。
いくつかの実施態様では、レコーディングされたビデオは、デバイス(たとえば、デスクトップ、タブレット、モバイルデバイス、ウェアラブルデバイスなど)のネイティブアプリケーションで開くことができる。ネイティブアプリケーションは、ユーザがビデオレコーディングのトランスクリプトを読み、トランスクリプトを選択することによってビデオレコーディングをナビゲートし、キーアイデアの間をスキップし/ざっと読み、ビデオ内およびビデオ間で検索し、かつ/またはビデオの範囲にわたってキーアイデアを見る(たとえば、従業員に試験の準備をさせるプレゼンテーションから「ここがテストに出る」というモーメントをすべて見せる)ことができるようにする追加のツールを提供することができる。いくつかの実施態様では、レコーディングされたビデオおよびシステム100は、ネイティブアプリケーションの代わりにアプリケーション拡張機能として提供してもよい。
システム100の動作時、プレゼンターに、レコーディングのためのコンテンツ112の生成を容易にするために、キーアイデアをマークし、レコーディングの上にリアルタイムで描画し、そうしたアノテーションおよびレコーディングを任意の数の別個のビデオストリームとしてオンラインで格納するオプションを提供することができる。レコーディングの最後に、プレゼンターは、レコーディングを確認し、レコーディングをオンラインドライブにアップロードして、1つまたは複数のアプリケーションと、かつ/またはユーザと直接、共有することができる。システム100により、プレゼンターは、ユーザが後に視聴することができるようにナレーション付きのスクリーンキャストを作成し、プレゼンテーションおよび関連コンテンツを非同期でレコーディングして共有し、対面プレゼンテーションを実施し、ビデオ会議ソフトウェアおよび関連アプリケーションを介して遠隔プレゼンテーションを準備することができる。
本明細書に記載するシステムおよび方法は、スクリーンシェアスコープ選択ツール(たとえば、プレゼンテーションシステム100)を提供することができる。システム100のツールは、プレゼンターツールバーへのアクセスも含む外部ディスプレイ(たとえば、テレビまたはプロジェクタハードウェア)に接続しながら、プレゼンテーションモード(たとえば、拡張ディスプレイまたはミラーディスプレイモードなど)を選択するオプションをユーザに提供することができる。プレゼンターツールバーは、キャスト先ツール、スクリーンシェアパネル、スクリーンシェアレコーディングツール、スクリーンシェア停止ツール、テレストレーションツール、レーザポインタツール、クローズドキャプションツール、カメラツール、マークアップツール、および任意の数のアノテーションツール(たとえば、ペン、蛍光ペン、図形など)を含むことができる。テレストレーションツールは、ユーザが画面上の任意の場所にテレストレーションできるようにすることができる。代替的に、プレゼンターのツールバーを省略して、アノテーションにスタイラスが直接使用される。クローズドキャプションツールオプションは、たとえば、システム100に関連付けられたマイクロフォンからの入力により、強調表示されたテキストの上にデバイス上のライブキャプションおよび翻訳を提供する。翻訳の言語は、ユーザが選択してもよく、テキスト形式で提供してもよい。いくつかの例では、翻訳されたテキストを合成し、オーディオデータとしてユーザに出力してもよい。
ユーザがプレゼンターツールバーまたはスクリーンシェアパネルからレコードオプションを選択すると、目下のスクリーンシェアスコープが有効になり、ツールは、レコーディングしてクラウドサーバにアップロードするか否かをユーザに確認する。ツールバーは、画面キャプチャツールを介してレコーディングがトリガされた場合に、レコーディングをトリミングして公開するためのスクリーンシェアスコープ選択ツールに移動するオプションを第1のユーザに提供することができる。マークアップオプション(すなわち、ツールバー400のスターオプション)により、ユーザは、画面上に提示された重要な/キーアイデアをマークアップすることができるようにすることができ、マーキングを確認するためのインジケータテキストを表示することができる。
ツールバーは、キャプチャされたレコーディングを自動的に文字起こしすることができ、ユーザが正確さをチェックするためにテキストを強調表示することができ、システム100のユーザとレコーディングを共有するためにリポジトリにアップロードする前に、キーアイデアのタイトルを提供するようにユーザに求めることができる。
システム100は、キーアイデアが日付および主題によって整理されているため、別のユーザが、そのユーザがレコーディングにアクセスするときに提供される検索バーを介してトランスクリプトを検索し、トランスクリプトおよび/またはキーアイデアでナビゲートし、予め決められた時間ベース(たとえば、毎日、毎週、毎月、四半期ごと、毎年など)ですべてのキーアイデアのリキャップ(要約、代表部分)ビデオを視聴することができるようにすることができる。システム100は、トランスクリプトにおける(読まれている)目下の文を強調表示することができ、ユーザがタイトル、トランスクリプトを編集し、パラグラフのキーアイデアをマークすることができるようにすることができる。システムは、ユーザのクエリがレコーディングされたキーアイデアと一致する場合、検索結果またはブラウザのクイックアンサーとしてレコーディングクリップを表示することができる。
いくつかの実施態様では、システム100は、並列表示の読解支援UIを提供することができる。たとえば、システム100は、並列表示の電子ブックによる参照支援を提供して、読書中にコンテンツを読み、参照するためのコンテキストを保持することができる。ユーザは、システム100内から任意のテキストを選択して、テキストをアップロードすることができる。システム100は、アップロードされたテキストを使用して、役立つ学習モーメントを事前対応的に提案することができる。たとえば、用語集スタイルの関連コンテンツのように、システム100はキーコンセプトを提供して、そのコンセプトに関する記事およびビデオを表出させることができる。いくつかの実施態様では、システム100は特定のテキストのLexile(登録商標)レベルを調整することができる。たとえば、システム100は、テキスト中の特に高度な単語をより簡単な用語に置き換えて、語彙の少ないユーザにコンテンツを合わせることができる。いくつかの実施態様では、システム100は、読者がコンテンツの文を理解するのを助けるために、特定のコンテンツをより高度でないコンテンツに置き換えることができる。その後、システム100は元のコンテンツに切り替わって、テキスト中の語彙の用法をさらに理解することができるようにすることができる。
いくつかの実施態様では、システム100はコンテキスト学習モーメントを提供することもできる。たとえば、システム100は、テキストの言語とは異なる第1の学習言語を有するユーザのために、パラグラフ翻訳を組み込むことができる。システム100は、語彙検索および/または回答検索のためのクイックリンクを提供することもできる。
いくつかの実施態様では、システム100は、速度、ピッチ、およびアクセントの調整を伴う音読などのアクセシビリティ機能へのアクセスを提供することができる。いくつかの実施態様では、システム100は、失読症の読者が文を読むのを支援するフォントを提供することができ、システム100によって音声で読み上げられる文および/または単語を強調表示することもできる。ユーザが提示されたコンセプトを学習するのを支援するために、システム100によって、他の強調表示、アノテーション付け、およびデータの合成を実行することができる。
図19は、ここに記載する技法で使用することができるコンピュータデバイス1900およびモバイルコンピュータデバイス1950の一例を示す。コンピューティングデバイス1900は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、スマートデバイス、電化製品、電子センサベースのデバイス、テレビ、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピューティングデバイスなど、さまざまな形態のデジタルコンピュータを表すように意図されている。コンピューティングデバイス1950は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなど、さまざまな形態のモバイルデバイスを表すように意図されている。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的なものであるように意図されており、本明細書に記載しかつ/または特許請求する発明の実施態様を限定するようには意図されていない。
コンピューティングデバイス1900は、プロセッサ1902と、メモリ1904と、記憶デバイス1906と、メモリ1904および高速拡張ポート1910に接続する高速インターフェース1908と、低速バス1914および記憶デバイス1906に接続する低速インターフェース1912とを含む。プロセッサ1902は、半導体ベースのプロセッサであり得る。メモリ1904は、半導体ベースのメモリであり得る。構成要素1902、1904、1906、1908、1910、および1912の各々は、さまざまなバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で搭載することができる。プロセッサ1902は、高速インターフェース1908に結合されたディスプレイ1916などの外部入出力デバイス上にGUIのためのグラフィカル情報を表示するための、メモリ1904または記憶デバイス1906に格納された命令を含む、コンピューティングデバイス1900内で実行される命令を処理することができる。他の実施態様では、必要に応じて、複数のプロセッサおよび/または複数のバスを、複数のメモリおよび複数のタイプのメモリとともに使用してもよい。また、複数のコンピューティングデバイス1900を接続してもよく、各デバイスが(たとえば、サーババンク、ブレードサーバ群、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
メモリ1904は、コンピューティングデバイス1900内で情報を記憶する。1つの実施態様では、メモリ1904は、1つまたは複数の揮発性メモリユニットである。別の実施態様では、メモリ1904は、1つまたは複数の不揮発性メモリユニットである。メモリ1904はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。概して、コンピュータ可読媒体は、非一時的コンピュータ可読媒体であってもよい。
記憶デバイス1906は、コンピューティングデバイス1900に大容量記憶を提供することができる。1つの実施態様では、記憶デバイス1906は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリ、もしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイなど、コンピュータ可読媒体であるか、またはそれを含むことができる。コンピュータプログラム製品は、情報担体に有形に具現化することができる。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法および/またはコンピュータによって実施される方法を実行する命令も含むことができる。情報担体は、メモリ1904、記憶デバイス1906、またはプロセッサ1902上のメモリなどのコンピュータまたは機械可読媒体である。
高速コントローラ1908は、コンピューティングデバイス1900の帯域幅を大量に使用する動作を管理し、一方、低速コントローラ1912は、帯域幅をそれほど大量に使用しない動作を管理する。こうした機能の割り当ては単に例示的なものである。1つの実施態様では、高速コントローラ1908は、メモリ1904、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ1916に、かつ、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート1910に結合されている。本実施態様では、低速コントローラ1912は、記憶デバイス1906および低速拡張ポート1914に結合されている。さまざまな通信ポート(たとえば、USB、Bluetooth、Ethernet、無線Ethernet)を含むことができる低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力デバイス、または、たとえばネットワークアダプタを介して、スイッチもしくはルータなどのネットワークデバイスに結合することができる。
コンピューティングデバイス1900は、図に示すように、多数の異なる形態で実装することができる。たとえば、標準サーバ1920として、またはそうしたサーバ群で複数回、実装してもよい。また、ラックサーバシステム1924の一部として実装してもよい。加えて、ラップトップコンピュータ1922などのコンピュータに実装してもよい。代替的に、コンピューティングデバイス1900の構成要素を、デバイス1950など、モバイルデバイス(図示せず)内の他の構成要素と組み合わせてもよい。こうしたデバイスの各々は、コンピューティングデバイス1900、1950のうちの1つまたは複数を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス1900、1950で構成することができる。
コンピューティングデバイス1950は、他の構成要素もあるがとりわけ、プロセッサ1952、メモリ1964、ディスプレイ1954などの入出力デバイス、通信インターフェース1966、およびトランシーバ1968を含む。また、デバイス1950には、マイクロドライブまたは他のデバイスなどの記憶デバイスも備えて、追加の記憶容量を提供することができる。構成要素1950、1952、1964、1954、1966、および1968の各々は、さまざまなバスを使用して相互接続されており、構成要素のうちのいくつかは、共通のマザーボード上に、または必要に応じて他の方法で搭載することができる。
プロセッサ1952は、メモリ1964に格納された命令を含む、コンピューティングデバイス1950内の命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装することができる。プロセッサは、たとえば、ユーザインターフェースの制御、デバイス1950によって実行されるアプリケーション、およびデバイス1950による無線通信など、デバイス1950の他の構成要素の調整を提供することができる。
プロセッサ1952は、ディスプレイ1954に結合された制御インターフェース1958およびディスプレイインターフェース1956を介して、ユーザと通信することができる。ディスプレイ1954は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース1956は、ディスプレイ1954を駆動してグラフィカル情報および他の情報をユーザに提示する適切な回路を備えることができる。制御インターフェース1958は、ユーザからコマンドを受け取り、プロセッサ1952に提出するためにそれらを変換することができる。加えて、デバイス1950の他のデバイスとの近距離通信を可能にするように、プロセッサ1952と通信する外部インターフェース1962を設けることができる。外部インターフェース1962は、たとえば、いくつかの実施態様では有線通信を提供し、他の実施態様では無線通信を提供することができ、複数のインターフェースを使用することもできる。
メモリ1964は、コンピューティングデバイス1950内に情報を記憶する。メモリ1964は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ1974も提供し、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含むことができる、拡張インターフェース1972を介して、デバイス1950に接続することができる。こうした拡張メモリ1974は、デバイス1950のための追加の記憶空間を提供することができ、または、デバイス1950のためのアプリケーションもしくは他の情報を記憶することもできる。具体的には、拡張メモリ1974は、上述したプロセスを実行または補完する命令を含むことができ、セキュアな情報も含むことができる。したがって、たとえば、拡張メモリ1974は、デバイス1950用のセキュリティモジュールとして提供してもよく、デバイス1950のセキュアな使用を可能にする命令を用いてプログラムしてもよい。加えて、SIMMカードに識別情報をハッキング不可能な方法で配置するなど、追加情報とともに、SIMMカードを介してセキュアなアプリケーションを提供してもよい。
メモリは、後述するように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。1つの実施態様では、コンピュータプログラム製品は、情報担体に有形に具現化される。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、たとえば、トランシーバ1968または外部インターフェース1962を介して受信することができる、メモリ1964、拡張メモリ1974、またはプロセッサ1952上のメモリなど、コンピュータ可読または機械可読媒体である。
デバイス1950は、必要な場合にデジタル信号処理回路を含むことができる通信インターフェース1966を介して、無線通信することができる。通信インターフェース1966は、とりわけ、GSM音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどのさまざまなモードまたはプロトコルでの通信を提供することができる。こうした通信は、たとえば、無線周波数トランシーバ1968を介して行うことができる。加えて、Bluetooth、Wi-Fi、または他のそうしたトランシーバ(図示せず)を使用するなどして、近距離通信を行ってもよい。加えて、GPS(全地球測位システム)受信モジュール1970が、追加のナビゲーションおよび位置関連の無線データをデバイス1950に提供することができ、そうした無線データは、デバイス1950上で実行しているアプリケーションによって必要に応じて使用することができる。
デバイス1950はまた、オーディオコーデック1960を使用して可聴通信することもでき、オーディオコーデック1960は、ユーザから音声情報を受け取り、それを使用可能なデジタル情報に変換することができる。オーディオコーデック1960は、同様に、たとえばデバイス1950のハンドセット内のスピーカを介するなどして、ユーザに対して可聴音を生成することができる。こうした音は、音声通話からの音を含むことができ、録音された音(たとえば、ボイスメッセージ、音楽ファイルなど)を含むことができ、デバイス1950上で動作しているアプリケーションによって生成された音も含むことができる。
コンピューティングデバイス1950は、図に示すように、多くの異なる形態で実装することができる。たとえば、携帯電話1980として実装してもよい。スマートフォン1982、携帯情報端末、または他の同様のモバイルデバイスの一部として実装してもよい。
ここに記載するシステムおよび技法のさまざまな実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらのさまざまな実施態様は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、それらにデータおよび命令を送出するように結合された、専用であっても汎用であってもよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実施態様を含むことができる。
(モジュール、プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサ用の機械命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、かつ/またはアセンブリ/機械言語で実装することができる。本明細書で用いる場合の「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受け取る機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
ユーザとのインタラクションを提供するために、ここに記載するシステムおよび技法は、ユーザに情報を表示する表示デバイス(たとえば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、またはLED(発光ダイオード))と、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実装することができる。ユーザとのインタラクションを提供するために、他の種類のデバイスを同様に使用することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取ることができる。
ここに記載するシステムおよび技法は、(たとえば、データサーバとして)バックエンドコンポーネントを含むコンピューティングシステム、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンドコンポーネント(たとえば、ユーザがここに記載するシステムおよび技法の実施態様とインタラクトすることができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、またはそうしたバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせで実装することができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットが挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに遠隔にあり、通常、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行しており、互いにクライアント-サーバの関係を有する、コンピュータプログラムによって生じる。
いくつかの実施形態では、図19に示すコンピューティングデバイスは、仮想現実またはヘッドセット(VRヘッドセット/ARヘッドセット/HMDデバイス1990)とインターフェースするセンサを含むことができる。たとえば、コンピューティングデバイス1950または図19に示す他のコンピューティングデバイスに含まれる1つまたは複数のセンサは、AR/VRヘッドセット1990に入力を提供し、または概して、AR/VR空間に入力を提供することができる。センサは、限定されないが、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含むことができる。コンピューティングデバイス1950は、センサを使用して、後にAR/VR空間への入力として使用することができる、AR/VR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を決定することができる。たとえば、コンピューティングデバイス1950は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてAR/VR空間に組み込むことができる。AR/VR空間に組み込まれたときのユーザによるコンピューティングデバイス/仮想オブジェクトの位置決めにより、ユーザは、AR/VR空間においていくつかの態様で仮想オブジェクトを見るためにコンピューティングデバイスを位置決めすることができる。
いくつかの実施形態では、コンピューティングデバイス1950に含まれる、またはコンピューティングデバイス1950に接続される1つまたは複数の入力デバイスを、AR/VR空間への入力として使用することができる。入力デバイスとしては、限定されないが、タッチスクリーン、キーボード、1つまたは複数のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロフォン、入力機能を有するイヤホンまたはバッド、ゲームコントローラ、または他の接続可能な入力デバイスを挙げることができる。コンピューティングデバイスがAR/VR空間に組み込まれたときに、コンピューティングデバイス1950に含まれる入力デバイスとインタラクトするユーザは、AR/VR空間で特定のアクションを発生させることができる。
いくつかの実施形態では、コンピューティングデバイス1950に含まれる1つまたは複数の出力デバイスは、AR/VR空間においてAR/VRヘッドセット1990のユーザに出力および/またはフィードバックを提供することができる。出力およびフィードバックは、視覚的、戦術的(tactical)、または音声であり得る。出力および/またはフィードバックは、限定されないが、AR/VR空間または仮想環境のレンダリング、振動、1つまたは複数の照明またはストロボのオン/オフまたは点滅および/もしくは閃光、アラームの鳴動、チャイムの鳴動、曲の再生、およびオーディオファイルの再生を含むことができる。出力デバイスとしては、限定されないが、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカを挙げることができる。
いくつかの実施形態では、AR/VRシステムを作成するために、コンピューティングデバイス1950をAR/VRヘッドセット1990内に配置することができる。AR/VRヘッドセット1990は、スマートフォン1982などのコンピューティングデバイス1950をAR/VRヘッドセット1990内の適切な位置に配置することを可能にする1つまたは複数の位置決め要素を含むことができる。こうした実施形態では、スマートフォン1982のディスプレイは、AR/VR空間または仮想環境を表す立体画像をレンダリングすることができる。
いくつかの実施形態では、コンピューティングデバイス1950は、コンピュータ生成3D環境内の別のオブジェクトとして現れることができる。ユーザによるコンピューティングデバイス1950とのインタラクション(たとえば、回転させる、振る、タッチスクリーンに触れる、タッチスクリーンを横切って指をスワイプする)は、AR/VR空間におけるオブジェクトとのインタラクションとして解釈することができる。一例として、コンピューティングデバイスは、レーザポインタであり得る。こうした例では、コンピューティングデバイス1950は、コンピュータ生成3D環境において、仮想レーザポインタとして現れる。ユーザがコンピューティングデバイス1950を操作すると、AR/VR空間内のユーザは、レーザポインタの動きを見る。ユーザは、AR/VR環境におけるコンピューティングデバイス1950とのインタラクションから、コンピューティングデバイス1950またはAR/VRヘッドセット1990上でフィードバックを受け取る。
いくつかの実施形態では、コンピューティングデバイス1950は、タッチスクリーンを含むことができる。たとえば、ユーザは、タッチスクリーン上で起こることをAR/VR空間内で起こることで再現することができる特定の方法で、タッチスクリーンとインタラクトすることができる。たとえば、ユーザは、タッチスクリーン上に表示されたコンテンツをズームするためにピンチ型動作を使用することができる。タッチスクリーン上のこのピンチ型動作により、AR/VR空間に提供される情報をズームさせることができる。別の例では、コンピューティングデバイスは、コンピュータ生成3D環境における仮想ブックとしてレンダリングしてもよい。AR/VR空間では、このブックのページをAR/VR空間に表示することができ、タッチスクリーンを横切るユーザの指のスワイプは、仮想ブックのページをめくる/裏返すものとして解釈することができる。各ページがめくられ/裏返されると、ページの内容が変化するのを見ることに加えて、本のページをめくる音などの音声フィードバックをユーザに提供することができる。
いくつかの実施形態では、コンピューティングデバイスに加えて1つまたは複数の入力デバイス(たとえば、マウス、キーボード)を、コンピュータ生成3D環境でレンダリングすることができる。レンダリングされた入力デバイス(たとえば、レンダリングされたマウス、レンダリングされたキーボード)は、AR/VR空間内のオブジェクトを制御するためにAR/VR空間内でレンダリングされるように使用することができる。
多くの実施形態について説明してきた。それにもかかわらず、本発明の趣旨および範囲から逸脱することなく、さまざまな変更を行うことができることが理解されよう。
加えて、図に示す論理フローは、望ましい結果を達成するために、図示する特定の順序、または連続した順序を必須とするものではない。加えて、他のステップを提供してもよく、または記載したフローからステップを削除してもよく、記載したシステムに他の構成要素を追加してもよく、またはそこから削除してもよい。したがって、他の実施形態は、続く特許請求の範囲内にある。
上記の説明に加えて、ユーザには、本明細書に記載するシステム、プログラム、デバイス、ネットワーク、または機能が、ユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、もしくはアクティビティ、職業、ユーザの嗜好、またはユーザの現在位置に関する情報)の収集を可能にすることができる場合、およびユーザにサーバからコンテンツまたは通信が送信される場合の両方について、ユーザが選択を行うことができるようにするコントロールが提供される。加えて、ユーザ情報が削除されるように、ある特定のデータが格納または使用される前に1つまたは複数の方法で処理することができる。たとえば、ユーザの個人情報を処理して、ユーザについてユーザ情報を決定することができないようにしてもよく、または、位置情報が取得される(都市、郵便番号、または州レベルなど)ユーザの地理的位置を一般化して、ユーザの特定の位置を決定することができないようにしてもよい。このように、ユーザは、ユーザに関して何の情報が収集されるか、その情報がいかに使用されるか、および何の情報がユーザに提供されるかを制御することができる。
コンピュータシステム(たとえば、コンピューティングデバイス)は、ネットワークを介した通信に適合された無線周波数(RF)、マイクロ波周波数(MWF)、および/または赤外線周波数(IRF)無線通信技術およびプロトコルを含む任意の既知の無線通信技術およびプロトコルを使用してネットワークサーバと確立された通信リンクを介してネットワークを介してネットワークサーバと無線通信するように構成することができる。
本開示の態様に従って、本明細書に記載するさまざまな技法の実施態様は、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはそれらの組み合わせで実装することができる。実施態様は、データ処理装置(たとえば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)による処理のために、またはデータ処理装置の動作を制御するために、コンピュータプログラム製品(たとえば、情報担体、機械可読記憶デバイス、コンピュータ可読媒体、有形コンピュータ可読媒体に有形に具現化されたコンピュータプログラム)として実装することができる。いくつかの実施態様では、有形のコンピュータ可読記憶媒体は、実行されるとプロセッサにプロセスを実行させる命令を記憶するように構成することができる。上述したコンピュータプログラムなどのコンピュータプログラムは、コンパイル型またはインタプリタ型言語を含む任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に好適な他のユニットとしてなど、任意の形式で展開することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトにおける、もしくは複数のサイトに分散して、通信ネットワークによって相互接続された、複数のコンピュータ上で、処理されるように展開することができる。
本明細書で開示する特定の構造的および機能的詳細は、単に、実施形態例を説明する目的のために代表的なものである。しかしながら、実施形態例は、多くの代替形態で具現化してもよく、本明細書に示す実施形態のみに限定されると解釈されるべきではない。
本明細書で用いる用語は、特定の実施形態を説明する目的のみのためのものであり、実施形態を限定するように意図されていない。本明細書で用いる場合の単数形「1つの(a)」、「1つの(an)」、および「その(the)」は、文脈上別段明確な指示がない限り、複数形も含むように意図されている。本明細書で用いる場合の「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられている特徴、ステップ、動作、要素、および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、ステップ、動作、要素、構成要素、および/またはそれらの群の存在または追加を排除するものではないことがさらに理解されよう。
ある要素が別の要素に「結合され」、「接続され」、もしくは「応答し」ている、または別の要素の「上に」あると言う場合、その要素は、他の要素に直接結合され、接続され、もしくは応答し、もしくはその上にあり得るか、または介在する要素が存在してもよいことが理解されよう。対照的に、ある要素が別の要素に「直接結合され」、「直接接続され」、もしくは「直接応答し」ているか、または別の要素の「上に直接」あると言う場合、介在する要素は存在しない。本明細書で用いる場合の「および/または」という用語は、関連する列挙された項目のうちの1つまたは複数のありとあらゆる組み合わせを含む。
本明細書において、「真下」、「下」、「下方」、「上」、「上方」などの空間的に相対的な用語は、説明を容易にするために、図に示すように、1つの要素または特徴を別の要素または特徴との関係において説明するために使用する場合がある。空間的に相対的な用語は、図に描かれている向きに加えて、使用時または動作時のデバイスの異なる向きを包含することが意図されていることが理解されよう。たとえば、図のデバイスが上下反転された場合、他の要素または特徴の「下」または「真下」と記載されている要素は、他の要素または特徴の「上」に向けられることになる。したがって、「下」という用語は、上と下の両方の向きを包含することができる。デバイスは、別様に(70度回転させ、または他の向きで)方向付けてもよく、本明細書で使用する空間的に相対的な記述子は、それに応じて解釈することができる。
本明細書では、これらの概念の実施形態例を、実施形態例の理想化された実施形態(および中間構造)の概略図である断面図を参照して説明している。したがって、たとえば、製造技法および/または公差の結果として、図の形状からの変形が予期されるべきである。したがって、記載した概念の実施形態例は、本明細書で図示した領域の特定の形状に限定されるものとして解釈されるべきではなく、たとえば、製造に起因する形状の逸脱を含むべきである。したがって、図に示す領域は、本質的に概略的なものであり、それらの形状は、デバイスの領域の実際の形状を示すように意図されるものではなく、実施形態例の範囲を限定するようには意図されていない。
本明細書では、さまざまな要素を説明するために「第1の」、「第2の」などの用語を使用することがあるが、これらの要素はこれらの用語によって限定されるべきではないことが理解されよう。これらの用語は、単に、1つの要素を別の要素から区別するために使用されている。したがって、「第1の」要素は、本実施形態の教示から逸脱することなく、「第2の」要素と称することができる。
別段の定義がない限り、本明細書で使用する(技術用語および科学用語を含む)用語は、これらの概念が属する技術分野における当業者によって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されているような用語は、関連技術および/または本明細書の文脈における意味と一貫する意味を有するものとして解釈されるべきであり、本明細書において明示的に定義されてない限り、理想化されたまたは過度に形式的な意味で解釈されないことがさらに理解されよう。
記載した実施態様のいくつかの特徴について、本明細書に記載したように例示したが、当業者であれば、ここで、多くの変更形態、置換形態、変形形態、および均等物が想到されよう。したがって、添付の特許請求の範囲は、実施態様の範囲内にあるようなこうした変更形態および変形形態を包含することが意図されていることを理解されるべきである。それらは、限定ではなく、単に例として提示されており、形態および詳細におけるさまざまな変更を行うことができることが理解されるべきである。本明細書に記載する装置および/または方法の任意の部分を、相互に排他的な組み合わせを除き、任意の組み合わせで組み合わせることができる。本明細書に記載する実施態様は、記載する異なる実施態様の機能、構成要素、および/または特徴のさまざまな組み合わせおよび/またはサブコンビネーションを含むことができる。
概して、ツールバー108は、多数の選択可能なツール(たとえば、スクリーンキャスト、スクリーンキャストのレコーディング、プレゼンターカメラ(たとえば、前面カメラ(すなわち、自撮り)カメラ)、リアルタイムトランスクリプション、リアルタイム翻訳、レーザポインタツール、アノテーションツール、拡大鏡ツールなど)を含むインタラクティブツールバーを含むことができる。ツールバーは、プレゼンターが単一の入力で容易にプレゼンテーションし、レコーディングし、キャストするように、構成することができる。加えて、ツールバーは、プレゼンテーション、レコーディング、および/またはキャスティングを切り替えるオプションを提供してもよい。ツールバー例を図1のツールバー11に示す。ツールバー11は、レコーディングツール、レーザポインタツール、(アノテーション114を生成するための)ペンツール、消しゴムツール、拡大鏡ツール、自撮りカメラまたは他のキャプチャツール、ならびにライブトランスクリプションおよび翻訳ツールなどを含む。
いくつかの実施態様では、ツールバー108は、UI107においてアノテーション入力(たとえば、アノテーション120)を受け取るように構成されたアノテーション生成ツール108aを含むことができる。(たとえば、ツールバー11から選択される)アノテーション生成ツール108aは、オーディオおよびビデオコンテンツのレンダリング中に(かつUI107に示すように)、受け取られたアノテーション入力120に対するアノテーションデータレコード(たとえば、レコード214)を生成することができる。いくつかの実施態様では、アノテーション生成ツール108aは、アノテーション入力120を受け取り、受け取ったアノテーション入力に対するタイムスタンプの格納をトリガする少なくとも1つのコントロール(たとえば、ソフトウェアまたはハードウェアベースの入力コントロール)を含むことができる。たとえば、システム100は、アノテーション114(たとえば、アノテーション120)を受け取ることができ、これに応じて、入力120がいつ受け取られたか、およびいずれのアプリケーションにおいて入力120が受け取られたかを示す1つまたは複数のタイムスタンプを含むメタデータ(たとえば、アノテーションデータレコード214)を格納することができる。後に、メタデータを使用して、入力がいつ受け取られたか、入力が何を示したか、ならびに/または入力および/もしくは入力に関連するコンテンツの重要度レベルに基づいて、ビデオスニペットおよび/または代表的なコンテンツ112を生成することができる。いくつかの実施態様では、ユーザがコンテンツに対するアノテーションを生成するために任意の数のツールを選択することができるため、たとえば、ツールバー11上の任意の数のツールは、アノテーション生成ツール108aの一部であってもよい。
いくつかの実施態様では、プレゼンテーションシステム100は、ビデオストリームおよびオーディオストリーム110を生成および変更することもできる。たとえば、システム100を使用して、さまざまなライブラリ116およびアクセスされたアプリケーション、画像、または他のリソースを使用してコンテンツをプレゼンテーションすることができる。コンテンツは、ツールバー11を使用してレコーディングすることができる。レコーディングされたコンテンツは、プレゼンターまたは別のユーザがアクセスすることができる。レコーディングされたコンテンツを使用して、システム100は、代表的なコンテンツ112を自動的に生成することができる。
動作時、プレゼンター(たとえば、ストリーム122に示されるユーザ)は、たとえば、UI107およびツールバー11がプレゼンテーションされるようにシステム100にアクセスすることができる。プレゼンターは、コンテンツをプレゼンテーションし、コンテンツにアノテーション付けし、コンテンツおよび/またはアノテーションをレコーディングし、将来の見直しのためにコンテンツおよび/またはアノテーションをアップロードするために、ツールバー11を使用して、UI107内のコンテンツのうちの任意のものまたはすべてをキャストし、スクリーンキャストし、または他の方法で共有することができる。この例では、プレゼンターは、ブラウザアプリケーションを介してシステム100にアクセスしており、プレゼンテーション101、タブ128、ストリーム122、ストリーム126、および以前に入力されたアノテーション120を含むブラウザアプリケーション全体を共有する(たとえば、キャストする)ことを選択している。ツールバー11も共有コンテンツに提示され、表示/非表示を切り替えることができる。
図2Aに示すように、コンピューティングシステム202は、オペレーティングシステム(O/S)216を含む。概して、O/S216は、図示しないアプリケーション、UIインタラクション、アクセスされたサービス、および/またはデバイス通信を実行および/または制御するように機能することができる。たとえば、O/S216は、アプリケーション21およびUI生成器220を実行および/または他の方法で管理することができる。いくつかの実施態様では、O/S216は、リアルタイムプレゼンテーションシステム100もまたを実行および/または他の方法で管理することができる。いくつかの実施態様では、1つまたは複数のアプリケーション21が、リアルタイムプレゼンテーションシステム100を実行および/または他の方法で管理してもよい。いくつかの実施態様では、ブラウザ222が、リアルタイムプレゼンテーションシステム100を実行および/または他の方法で管理してもよい。
アプリケーション21は、コンピューティングシステム202によって(もしくはサーバコンピューティングシステム204によって、または外部サービスを介して)実行/配布することができる、任意のタイプのコンピュータプログラムであり得る。アプリケーション21は、ユーザがそれぞれのアプリケーション21の機能とインタラクトすることができるように、ユーザインターフェース(たとえば、アプリケーションウィンドウ、メニュー、ビデオストリーム、ツールバーなど)を提供することができる。特定のアプリケーション21のアプリケーションウィンドウは、メニュー、アイコン、ツールバー、ウィジェットなどの任意のタイプのコントロールとともに、アプリケーションデータを表示することができる。アプリケーション21は、アプリ情報224およびセッションデータ226を含むか、またはそれらにアクセスすることができ、これらの両方が、コンテンツおよび/またはデータを生成し、そうしたコンテンツおよび/またはデータを、デバイスインターフェースを介してユーザおよび/またはO/S216に提供するために使用することができる。アプリ情報224は、特定のアプリケーション21によって実行されているかまたは他の方法でアクセスされている情報に対応することができる。たとえば、アプリ情報224は、テキスト、画像、ビデオコンテンツ、メタデータ(たとえば、メタデータ228)、入力、出力、またはアプリケーション21とのインタラクションに関連付けられた制御信号を含むことができる。いくつかの実施態様では、アプリ情報224は、クラウドサーバ、サーバ204、サービス、または他のストレージリソースからダウンロードされたデータを含むことができる。いくつかの実施態様では、アプリ情報224は、限定されないが、メタデータ、タグ、タイムスタンプデータ、URLデータなどを含む、特定のアプリケーション21に関連付けられたデータを含むことができる。いくつかの実施態様では、アプリケーション21は、ブラウザ222を含むことができる。ブラウザ222を利用して、システム100は、プレゼンテーション、キャスティング、および/または他の共有のためにコンテンツを構成することができる。
セッションデータ226は、アプリケーション21とのユーザセッション230に関係することができる。たとえば、ユーザは、コンピューティングシステム202上のもしくはコンピューティングシステム202に関連するユーザプロファイル234を介して、または代替的にサーバコンピューティングシステム204を介して、ユーザアカウント232にアクセスすることができる。ユーザアカウント232にアクセスすることは、ユーザ名/パスワードまたは他のタイプの認証クレデンシャルおよび/もしくは許可データ236を提供することを含むことができる。ユーザがユーザクレデンシャルを供給することができるように、ログイン画面を表示することができ、これにより、認証されると、ユーザは、コンピューティングシステム202の機能にアクセスすることができる。セッションは、ユーザアカウント232がアクセスされたと判断されたことに応じて、またはコンピューティングシステム202の1つまたは複数のユーザインターフェース(UI)が表示されたときに、開始することができる。いくつかの実施態様では、セッションおよびユーザアカウントは、サーバコンピューティングシステム204と通信することなく、コンピューティングシステム202を使用して、認証およびアクセスすることができる。
図2Bに示すように、O/S216は、リアルタイムプレゼンテーションシステム100および任意の数のアプリケーション21を含むか、またはそれらにアクセスすることができる。たとえば、アプリケーション21は、ブラウザ222も含むことができる。ブラウザ222は、インターネット上の情報にアクセスするように構成されたウェブブラウザを表す。ブラウザ222は、ブラウザコンテンツまたは他のブラウザベースの動作を生成するために、1つまたは複数のブラウザプロセス264を起動することができる。ブラウザ222は、1つまたは複数のブラウザウィンドウ268のコンテキスト内でブラウザタブ266を起動することもできる。
アプリケーション21は、ウェブアプリケーション270を含むことができる。ウェブアプリケーション270は、たとえば、リモートサーバ(たとえば、ウェブサーバ)に格納され、ブラウザタブ266を介してネットワーク240で配布される、アプリケーションプログラムを表す。いくつかの実施態様では、ウェブアプリケーション270は、デバイスに保存してオフラインで使用することができるプログレッシブウェブアプリケーションである。アプリケーション21は、コンピューティングシステム202上に少なくとも部分的に格納される(たとえば、ローカルに格納される)プログラムであり得る、非ウェブアプリケーションも含むことができる。いくつかの例では、非ウェブアプリケーションは、O/S216によって実行可能(または、O/S216の上で実行可能)であってもよい。
アプリケーション21は、ネイティブアプリケーション272をさらに含むことができる。ネイティブアプリケーション272は、特定のプラットフォームまたはデバイス上で使用されるように開発されたソフトウェアプログラムを表す。いくつかの例では、ネイティブアプリケーション272は、複数のプラットフォームまたはデバイス用に開発されたソフトウェアプログラムである。いくつかの例では、ネイティブアプリケーション272は、モバイルプラットフォーム上で使用されるように開発され、デスクトップまたはラップトップコンピュータ上で実行するようにも構成された、ソフトウェアプログラムである。
いくつかの実施態様では、リアルタイムプレゼンテーションシステム100は、アプリケーションとして実行することができる。いくつかの実施態様では、システム100はビデオ会議アプリケーション内で実行することができる。いくつかの実施態様では、リアルタイムプレゼンテーションシステム100は、ネイティブアプリケーションとして実行することができる。概して、システム100は、オーディオデータもしくはテキスト、HTML、画像、オブジェクト、テーブル、またはアプリケーション21内の他のコンテンツアイテムの選択、変更、およびレコーディングをサポートするように構成することができる。
(たとえば、ツールバー11上の)アノテーション生成ツール108aは、ユーザインターフェースにおいてアノテーション入力(たとえば、アノテーション入力120)を受け取るように構成することができる。そして、アノテーション生成ツール108aは、その入力を使用して、オーディオおよびビデオコンテンツのレンダリング中に、受け取ったアノテーション入力に対する任意の数のアノテーションデータレコードを生成することができる。アノテーション生成ツール108aは、アノテーション入力を受け取り、それぞれの受け取ったアノテーション入力に対するタイムスタンプの格納をもたらす、少なくとも1つのコントロールを含むことができる。タイムスタンプを使用して、ビデオコンテンツをシステム100に関連付けられたアノテーション、トランスクリプション、翻訳、および/または他のデータと一致させることができる。
図3Aに示すように、ストリーム122のプレゼンターは、第1のアプリケーション302および第2のアプリケーション304をプレゼンテーションしている。第1のアプリケーション302は、アノテーション306およびアノテーション308でアノテーション付けされている。ストリーム122のプレゼンターは、たとえば、アノテーション生成ツール(たとえば、ツールバー314)からのペンツール312を使用して、カーソル310aを使用して能動的にアノテーション付けすることができる。動作時、レンダリングされたビデオコンテンツは、システム100にアクセス可能な任意の数の開いているまたは利用可能なアプリケーションからの第1のアプリケーション302に関連付けられたデータ(マップならびにアノテーション306および308)を含むことができる。レンダリングされたビデオコンテンツは、第2のアプリケーション304に関連付けられたデータ(たとえば、地理コンセプト)も含むことができる。
プレゼンターは、(たとえば、O/S216またはリアルタイムプレゼンテーションシステム100をホストするアプリケーション21を介して)コンピューティングシステム202によって提供されるメニューUI506にアクセスすることができる。UI506は、クイック設定UIから提示してもよい。UI506から、プレゼンターは、プレゼンテーション101からコンテンツをプレゼンテーションするためのスクリーンキャストおよび/またはスクリーンシェアを構成するための追加画面が提供されるように、カーソル510でプレゼンテーションコントロール508を選択することができる。

Claims (29)

  1. ビデオコンテンツをキャプチャするレコーディングを開始させるステップであって、前記ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、およびアノテーションビデオストリームを含む、ステップと、
    前記ビデオコンテンツに基づいて、前記ビデオコンテンツのキャプチャ中に、前記ビデオコンテンツの少なくとも1つの部分を、前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、または前記アノテーションビデオストリームのうちの少なくとも1つにおいて受け取られた入力に同期させるために使用されるタイミング情報を表すメタデータレコードを生成するステップと、
    を含む、コンピュータによって実施される方法。
  2. 前記レコーディングの終了に応じて、前記メタデータレコードに基づいて、前記ビデオコンテンツの表現を生成するステップであって、前記表現は、前記プレゼンタービデオストリームに関連するユーザによってアノテーション付けされた前記ビデオコンテンツの部分を含む、ステップ
    をさらに含む、請求項1に記載のコンピュータによって実施される方法。
  3. 前記タイミング情報は、前記入力に関連付けられた複数のタイムスタンプと、前記ビデオコンテンツに関連付けられたドキュメントにおける少なくとも1つの位置とに対応し、
    前記入力を同期させることは、前記複数のタイムスタンプにおける少なくとも1つのタイムスタンプを、前記ドキュメントにおける前記少なくとも1つの位置に一致させることを含む、請求項1または2に記載のコンピュータによって実施される方法。
  4. 前記ビデオコンテンツは、トランスクリプションビデオストリームをさらに含み、前記トランスクリプションビデオストリームは、
    前記ビデオコンテンツの前記レコーディング中に、前記スクリーンキャストビデオストリームとともに表示されるように構成された変更可能なトランスクリプションデータとして生成される、前記プレゼンタービデオストリームからのリアルタイムの文字起こしされたオーディオデータと、
    前記ビデオコンテンツの前記レコーディング中に、前記スクリーンキャストビデオストリームおよび前記リアルタイムの文字起こしされたオーディオデータとともに表示されるように構成されたテキストデータとして生成される、前記プレゼンタービデオストリームからのリアルタイムの翻訳されたオーディオデータと、
    を含む、請求項1から3のいずれか1項に記載のコンピュータによって実施される方法。
  5. 前記リアルタイムの文字起こしされたオーディオデータのトランスクリプションは、少なくとも1つの音声テキスト化アプリケーションによって実施され、前記少なくとも1つの音声テキスト化アプリケーションは、前記トランスクリプションビデオストリームによってアクセス可能であると決定された複数の音声テキスト化アプリケーションから選択され、
    前記変更可能なトランスクリプションデータおよび前記テキストデータは、タイムスタンプに従って前記メタデータレコードに格納され、検索可能であるように構成される、請求項4に記載のコンピュータによって実施される方法。
  6. 前記入力は、前記アノテーションビデオストリームに関連付けられたアノテーション入力を含み、前記アノテーション入力は、前記プレゼンタービデオストリームに関連するユーザによって生成されたビデオマーカデータおよびテレストレータデータを含む、請求項1から5のいずれか1項に記載のコンピュータによって実施される方法。
  7. 前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、および前記アノテーションビデオストリームは、前記レコーディング中にオンとオフとが切り替えられるように構成され、前記オンとオフとの切り替えにより、前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、または前記アノテーションビデオストリームの表示または表示からの削除がトリガされる、請求項1から6のいずれか1項に記載のコンピュータによって実施される方法。
  8. メモリと、
    前記メモリに結合された少なくとも1つのプロセッサであって、前記少なくとも1つのプロセッサは、ユーザインターフェースを生成するように構成されており、前記ユーザインターフェースは、
    前記ユーザインターフェース内からの複数のアプリケーションのアクセスに関連付けられたオーディオおよびビデオコンテンツをレンダリングするように構成されたレンダラ、
    前記ユーザインターフェースにおいてアノテーション入力を受け取り、前記オーディオおよびビデオコンテンツのレンダリング中に、前記受け取ったアノテーション入力に対する複数のアノテーションデータレコードを生成するように構成されたアノテーション生成ツールであって、前記アノテーション入力を受け取る少なくとも1つのコントロールを含むアノテーション生成ツール、
    前記オーディオおよびビデオコンテンツの前記レンダリング中に前記オーディオコンテンツを文字起こしし、前記文字起こしされたオーディオコンテンツを前記ユーザインターフェースに表示するように構成されたトランスクリプション生成ツール、および
    前記レンダリングの終了を検出することに応じて、前記オーディオおよびビデオコンテンツの表現を生成するように構成されたコンテンツ生成ツールであって、前記表現は、前記アノテーション入力、前記ビデオコンテンツ、および前記文字起こしされたオーディオコンテンツに基づき、前記表現は、前記アノテーション入力でマークされた、前記レンダリングされたオーディオおよびビデオコンテンツの部分を含む、コンテンツ生成ツール
    からのコマンドを受け取るように構成されている、少なくとも1つのプロセッサと、
    を備えるシステム。
  9. 前記コンテンツ生成ツールは、
    前記オーディオおよびビデオコンテンツの前記表現へのURLリンクを生成し、
    ウェブブラウザアプリケーションにおいて前記オーディオおよびビデオコンテンツの少なくとも一部を見つける検索機能を有効にするように前記表現にインデックス付けする
    ようにさらに構成されている、請求項8に記載のシステム。
  10. 前記複数のアノテーションデータレコードは、
    前記複数のアプリケーションにおける、前記アノテーション入力を受け取る少なくとも1つのアプリケーションの指示と、
    それぞれのタイムスタンプに従って、前記指示された少なくとも1つのアプリケーションを描写する前記レンダリングされたビデオコンテンツの一部の少なくとも1つの画像フレームの上に、前記アノテーション入力をオーバーレイする機械可読命令と、
    を含む、請求項8または9に記載のシステム。
  11. 前記少なくとも1つの画像フレームの上に前記アノテーション入力をオーバーレイすることは、
    前記複数のアノテーションデータレコードのうちの少なくとも1つを取り出すことと、
    前記機械可読命令を実行することと、
    前記アノテーション入力が、前記少なくとも1つのアノテーションデータレコードに従って、前記少なくとも1つの画像フレームの上にオーバーレイされた状態で、ユーザが前記少なくとも1つの画像フレームをスクロールすることができるようにするドキュメントを生成することと、
    を含む、請求項10に記載のシステム。
  12. 前記アノテーション生成ツールは、
    前記レンダリングされたオーディオおよびビデオコンテンツのレコーディングを開始させることであって、前記レンダリングされたビデオコンテンツは、前記複数のアプリケーションにおける第1のアプリケーションに関連付けられたデータと、前記複数のアプリケーションにおける第2のアプリケーションに関連付けられたデータとを含む、開始させることと、
    前記第1のアプリケーションにおいて、前記レコーディングビデオコンテンツの第1のセグメントの間に第1のアノテーションのセットを受け取ることと、
    前記第1のセグメントに関連付けられたそれぞれのタイムスタンプに従って、前記第1のアノテーションのセットを格納することと、
    前記第2のアプリケーションにおいて、前記レコーディングビデオコンテンツの第2のセグメントの間に第2のアノテーションのセットを受け取ることと、
    前記第2のセグメントに関連付けられたそれぞれのタイムスタンプに従って、前記第2のアノテーションのセットを格納することと、
    カーソルフォーカスが前記第1のアプリケーションから前記第2のアプリケーションに切り替わったことを検出することに応じて、
    前記第2のアノテーションのセットと、前記第2のアプリケーションに関連付けられた前記データとを取り出すことと、
    前記第2のセグメントに関連付けられた前記タイムスタンプを前記第2のアノテーションのセットに一致させることと、
    前記第2のセグメントに関連付けられた前記それぞれのタイムスタンプに従って、前記第2のアプリケーションの上での前記取り出された第2のアノテーションのセットの表示を引き起こすことと、
    を行うようにさらに構成されている、請求項8から11のいずれか1項に記載のシステム。
  13. 前記第1のアノテーションのセットおよび前記第2のアノテーションのセットは、前記アノテーションツールによって生成され、前記アノテーションツールは、前記第1のアノテーションのセットおよび前記第2のアノテーションのセットの各アノテーションについて、前記第1のアプリケーションに関連付けられた前記データまたは前記第2のアプリケーションに関連付けられた前記データ上の初期位置を保持しながら、前記第1のアノテーションのセットおよび前記第2のアノテーションのセットのマーキング、格納、およびスクロールを可能にする、請求項12に記載のシステム。
  14. 前記アノテーション生成ツールは、
    前記カーソルフォーカスが前記第2のアプリケーションから前記第1のアプリケーションに切り替わったことを検出することに応じて、
    前記第1のアノテーションのセットと、前記第1のアプリケーションに関連付けられた前記データとを取り出すことと、
    前記第1のセグメントに関連付けられた前記タイムスタンプを、前記第1のアノテーションのセットに一致させることと、
    前記第1のセグメントに関連付けられた前記それぞれのタイムスタンプに従って、前記第1のアプリケーションの上での前記取り出された第1のアノテーションのセットの表示を引き起こすことと、
    を行うようにさらに構成されている、請求項12に記載のシステム。
  15. 前記アノテーション生成ツールは、
    前記第2のアプリケーションにおいて追加のアノテーションを受け取ることであって、前記追加のアノテーションはそれぞれのタイムスタンプに関連付けられている、受け取ることと、
    前記レコーディングの完了を検出することに応じて、前記第2のアノテーションのセットおよび前記追加のアノテーションからドキュメントを生成することであって、前記ドキュメントは、
    前記第2のセグメントに関連付けられた前記それぞれのタイムスタンプと、前記追加のアノテーションに関連付けられた前記それぞれのタイムスタンプとに従って、前記第2のアプリケーションに関連付けられた前記データの上にオーバーレイされた前記第2のアノテーションのセットおよび前記追加のアノテーション、ならびに
    前記第2のセグメントに関連付けられた前記レコーディングされたオーディオコンテンツのトランスクリプション
    を含む、生成することと、
    を行うようにさらに構成されている、請求項12に記載のシステム。
  16. 少なくとも1つのプロセッサによって実行されると、
    ビデオコンテンツをキャプチャするレコーディングを開始させることであって、前記ビデオコンテンツは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含む、開始させることと、
    前記ビデオコンテンツに基づいて、前記ビデオコンテンツのキャプチャ中に、前記ビデオコンテンツの少なくとも1つの部分を、前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、前記トランスクリプションビデオストリーム、または前記アノテーションビデオストリームのうちの少なくとも1つにおいて受け取られた入力に同期させるために使用されるタイミング情報を表すメタデータレコードを生成することと、
    を含む命令をコンピューティングシステムに実行させるように構成された命令が格納されている、非一時的コンピュータ可読記憶媒体。
  17. 前記命令は、
    前記レコーディングの終了に応じて、前記メタデータレコードに基づいて、前記ビデオコンテンツの表現を生成することであって、前記表現は、前記プレゼンタービデオストリームに関連するユーザによってアノテーション付けされた前記ビデオコンテンツの部分を含む、生成すること
    をさらに含む、請求項16に記載の非一時的コンピュータ可読記憶媒体。
  18. 前記タイミング情報は、前記受け取られた入力に関連付けられた複数のタイムスタンプと、前記ビデオコンテンツに関連付けられたドキュメントにおける少なくとも1つの位置とに対応し、
    前記入力を同期させることは、前記複数のタイムスタンプにおける少なくとも1つのタイムスタンプを、前記ドキュメントにおける前記少なくとも1つの位置に一致させることを含む、請求項16または17に記載の非一時的コンピュータ可読記憶媒体。
  19. 前記トランスクリプションビデオストリームは、
    前記ビデオコンテンツの前記レコーディング中に、前記スクリーンキャストビデオストリームとともに表示されるように構成されたテキストデータとして生成される、前記プレゼンタービデオストリームからのリアルタイムの文字起こしされたオーディオデータと、
    前記ビデオコンテンツの前記レコーディング中に、前記スクリーンキャストビデオストリームおよび前記文字起こしされたオーディオデータとともに表示されるように構成されたテキストデータとして生成される、前記プレゼンタービデオストリームからのリアルタイムの翻訳されたオーディオデータと、
    を含む、請求項16から18のいずれか1項に記載の非一時的コンピュータ可読記憶媒体。
  20. 前記リアルタイムの文字起こしされたオーディオデータは、前記ビデオコンテンツの前記レコーディング中に、前記スクリーンキャストビデオストリームとともに表示されるように構成された変更可能なトランスクリプションデータとして生成され、
    前記リアルタイムの文字起こしされたオーディオデータのトランスクリプションは、少なくとも1つの音声テキスト化アプリケーションによって実施され、前記少なくとも1つの音声テキスト化アプリケーションは、前記トランスクリプションビデオストリームによってアクセス可能であると決定された複数の音声テキスト化アプリケーションから選択され、
    前記変更可能なトランスクリプションデータおよび前記テキストデータは、タイムスタンプに従って前記メタデータレコードに格納され、検索可能であるように構成される、請求項19に記載の非一時的コンピュータ可読記憶媒体。
  21. 前記入力は、前記アノテーションビデオストリームに関連付けられたアノテーション入力を含み、前記アノテーション入力は、前記プレゼンタービデオストリームに関連するユーザによって生成されたビデオマーカデータおよびテレストレータデータを含む、請求項16から20のいずれか1項に記載の非一時的コンピュータ可読記憶媒体。
  22. 前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、前記トランスクリプションビデオストリーム、および前記アノテーションビデオストリームは、前記レコーディング中にオンとオフとが切り替えられるように構成され、前記オンとオフとの切り替えにより、前記プレゼンタービデオストリーム、前記スクリーンキャストビデオストリーム、前記トランスクリプションビデオストリーム、または前記アノテーションビデオストリームの表示または表示からの削除がトリガされる、請求項16から21のいずれか1項に記載の非一時的コンピュータ可読記憶媒体。
  23. 少なくとも1つのプロセッサによって実行されると、
    オーディオコンテンツおよびビデオコンテンツをキャプチャするレコーディングを開始させることであって、前記ビデオコンテンツは、少なくともプレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームを含む、開始させることと、
    ユーザインターフェース内からの複数のアプリケーションのアクセスに関連付けられた前記オーディオコンテンツおよび前記ビデオコンテンツのレンダリングを引き起こすことと、
    前記オーディオコンテンツおよび前記ビデオコンテンツのレンダリング中に、前記ユーザインターフェースにおいてアノテーション入力を受け取ることであって、前記アノテーション入力は、前記アノテーションビデオストリームに記録される、受け取ることと、
    前記オーディオコンテンツおよび前記ビデオコンテンツの前記レンダリング中に前記オーディオコンテンツを文字起こしすることであって、前記文字起こしされたオーディオコンテンツは、前記トランスクリプションビデオストリームに記録される、文字起こしすることと、
    前記オーディオコンテンツおよび前記ビデオコンテンツの前記レンダリング中に、前記文字起こしされたオーディオコンテンツを翻訳することと、
    前記レンダリングされたオーディオコンテンツおよび前記レンダリングされたビデオコンテンツとともに、前記ユーザインターフェースにおいて、前記文字起こしされたオーディオコンテンツおよび前記文字起こしされたオーディオコンテンツの前記翻訳のレンダリングを引き起こすことと、
    を含む命令をコンピューティングシステムに実行させるように構成された命令が格納されている、非一時的コンピュータ可読記憶媒体。
  24. 前記命令は、
    前記ビデオコンテンツおよび前記オーディオコンテンツの前記レンダリングの終了を検出することに応じて、前記オーディオコンテンツおよび前記ビデオコンテンツの少なくとも一部分の代表的なコンテンツを生成することであって、前記代表的なコンテンツは、前記アノテーション入力、前記ビデオコンテンツ、および文字起こしされたオーディオコンテンツ、および前記翻訳されたオーディオコンテンツに基づき、前記代表的なコンテンツは、前記アノテーション入力でマークされた前記レンダリングされたオーディオおよびビデオの部分を含む、生成すること
    をさらに含む、請求項23に記載の非一時的コンピュータ可読媒体。
  25. 前記アノテーション入力は、前記ビデオコンテンツの上のオーバーレイとしてレンダリングされ、前記アノテーション入力は、前記レコーディング中にアクセスされた他のビデオコンテンツへの切り替えをトリガするウィンドウイベントまたはカーソルイベントの検出に応じて、前記ビデオコンテンツとともに移動するように構成されている、請求項23または24に記載の非一時的コンピュータ可読媒体。
  26. 少なくとも1つのビデオストリームを受け取るステップと、
    前記少なくとも1つのビデオストリームにおいて検出された入力に関連付けられたタイミング情報を表すメタデータを受け取るステップであって、前記タイミング情報は、前記少なくとも1つのビデオストリームにおいて提供される前記検出された入力を、前記少なくとも1つのビデオストリームにおいて描写されるコンテンツに同期させるように構成される、ステップと、
    前記少なくとも1つのビデオストリームを視聴する要求を受け取ることに応じて、前記少なくとも1つのビデオストリームの一部を生成するステップであって、前記生成は、前記メタデータと、前記少なくとも1つのビデオストリームの表現を視聴することを要求する検出されたユーザ指示とに基づく、ステップと、
    前記少なくとも1つのビデオストリームの前記一部のレンダリングを引き起こすステップと、
    を含む、コンピュータによって実施される方法。
  27. 前記タイミング情報は、前記少なくとも1つのビデオストリームにおいて検出されたそれぞれの入力に関連付けられた複数のタイムスタンプと、前記少なくとも1つのビデオストリームに関連付けられたコンテンツにおける少なくとも1つの位置とに対応し、
    前記検出された入力を同期させることは、それぞれの入力について、少なくとも1つのタイムスタンプを、前記少なくとも1つのビデオストリームに関連付けられたドキュメントにおける前記少なくとも1つの位置に一致させることを含む、請求項26に記載のコンピュータによって実施される方法。
  28. 前記少なくとも1つのビデオストリームは、プレゼンタービデオストリーム、スクリーンキャストビデオストリーム、トランスクリプションビデオストリーム、およびアノテーションビデオストリームから選択される、請求項26または27に記載のコンピュータによって実施される方法。
  29. 前記少なくとも1つのビデオストリームの前記表現は、前記検出された入力に基づき、前記入力でアノテーション付けされた前記少なくとも1つのビデオストリームの前記レンダリングされた部分を含む、請求項26から28のいずれか1項に記載のコンピュータによって実施される方法。
JP2023562722A 2021-05-19 2022-05-19 ビデオコンテンツとのインタラクションを容易にするユーザインターフェースおよびツール Pending JP2024521613A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/303,075 US20220374585A1 (en) 2021-05-19 2021-05-19 User interfaces and tools for facilitating interactions with video content
US17/303,075 2021-05-19
PCT/US2022/072434 WO2022246450A1 (en) 2021-05-19 2022-05-19 User interfaces and tools for facilitating interactions with video content

Publications (1)

Publication Number Publication Date
JP2024521613A true JP2024521613A (ja) 2024-06-04

Family

ID=82320057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023562722A Pending JP2024521613A (ja) 2021-05-19 2022-05-19 ビデオコンテンツとのインタラクションを容易にするユーザインターフェースおよびツール

Country Status (6)

Country Link
US (1) US20220374585A1 (ja)
EP (1) EP4272211A1 (ja)
JP (1) JP2024521613A (ja)
KR (1) KR20230172004A (ja)
CN (1) CN116888668A (ja)
WO (1) WO2022246450A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448475B (zh) * 2021-06-30 2024-06-07 广州博冠信息科技有限公司 虚拟直播间的交互控制方法、装置、存储介质与电子设备
US11968476B2 (en) * 2021-10-31 2024-04-23 Zoom Video Communications, Inc. Virtual environment streaming to a video communications platform
US11880644B1 (en) * 2021-11-12 2024-01-23 Grammarly, Inc. Inferred event detection and text processing using transparent windows
US11854267B2 (en) * 2021-12-09 2023-12-26 Motorola Solutions, Inc. System and method for witness report assistant
US20230244857A1 (en) * 2022-01-31 2023-08-03 Slack Technologies, Llc Communication platform interactive transcripts

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972274A (en) * 1988-03-04 1990-11-20 Chyron Corporation Synchronizing video edits with film edits
US7689898B2 (en) * 1998-05-07 2010-03-30 Astute Technology, Llc Enhanced capture, management and distribution of live presentations
US6430357B1 (en) * 1998-09-22 2002-08-06 Ati International Srl Text data extraction system for interleaved video data streams
US7330875B1 (en) * 1999-06-15 2008-02-12 Microsoft Corporation System and method for recording a presentation for on-demand viewing over a computer network
US7216266B2 (en) * 2003-03-12 2007-05-08 Thomson Licensing Change request form annotation
FR2858087B1 (fr) * 2003-07-25 2006-01-21 Eastman Kodak Co Procede de simulation numerique d'un rendu de support d'images
EP1920393A2 (en) * 2005-07-22 2008-05-14 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US8437409B2 (en) * 2006-12-06 2013-05-07 Carnagie Mellon University System and method for capturing, editing, searching, and delivering multi-media content
US9665529B1 (en) * 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US10872322B2 (en) * 2008-03-21 2020-12-22 Dressbot, Inc. System and method for collaborative shopping, business and entertainment
US9330069B2 (en) * 2009-10-14 2016-05-03 Chi Fai Ho Layout of E-book content in screens of varying sizes
US9508387B2 (en) * 2009-12-31 2016-11-29 Flick Intelligence, LLC Flick intel annotation methods and systems
US8903798B2 (en) * 2010-05-28 2014-12-02 Microsoft Corporation Real-time annotation and enrichment of captured video
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US20120236201A1 (en) * 2011-01-27 2012-09-20 In The Telling, Inc. Digital asset management, authoring, and presentation techniques
US20160148517A1 (en) * 2011-04-11 2016-05-26 Ali Mohammad Bujsaim Talking notebook with projection
US20150003595A1 (en) * 2011-04-25 2015-01-01 Transparency Sciences, Llc System, Method and Computer Program Product for a Universal Call Capture Device
US20130110565A1 (en) * 2011-04-25 2013-05-02 Transparency Sciences, Llc System, Method and Computer Program Product for Distributed User Activity Management
US9049259B2 (en) * 2011-05-03 2015-06-02 Onepatont Software Limited System and method for dynamically providing visual action or activity news feed
US8798598B2 (en) * 2012-09-13 2014-08-05 Alain Rossmann Method and system for screencasting Smartphone video game software to online social networks
US20140222462A1 (en) * 2013-02-07 2014-08-07 Ian Shakil System and Method for Augmenting Healthcare Provider Performance
US9268756B2 (en) * 2013-04-23 2016-02-23 International Business Machines Corporation Display of user comments to timed presentation
US9087521B2 (en) * 2013-07-02 2015-07-21 Family Systems, Ltd. Systems and methods for improving audio conferencing services
US10891428B2 (en) * 2013-07-25 2021-01-12 Autodesk, Inc. Adapting video annotations to playback speed
US20150234571A1 (en) * 2014-02-17 2015-08-20 Microsoft Corporation Re-performing demonstrations during live presentations
US10033825B2 (en) * 2014-02-21 2018-07-24 Knowledgevision Systems Incorporated Slice-and-stitch approach to editing media (video or audio) for multimedia online presentations
US10431259B2 (en) * 2014-04-23 2019-10-01 Sony Corporation Systems and methods for reviewing video content
US9924240B2 (en) * 2015-05-01 2018-03-20 Google Llc Systems and methods for interactive video generation and rendering
US11036458B2 (en) * 2015-10-14 2021-06-15 Google Llc User interface for screencast applications
US9812175B2 (en) * 2016-02-04 2017-11-07 Gopro, Inc. Systems and methods for annotating a video
EP3537278A4 (en) * 2016-11-29 2019-11-27 Huawei Technologies Co., Ltd. RECORDING AND REPRODUCTION METHOD FOR SCREEN VIDEO AND SCREEN RECORDING DEVICE AND PLAYBACK TRANSMITTER
CN107920280A (zh) * 2017-03-23 2018-04-17 广州思涵信息科技有限公司 视频、讲义ppt和语音内容精准匹配的方法和系统
US10762284B2 (en) * 2017-08-21 2020-09-01 International Business Machines Corporation Automated summarization of digital content for delivery to mobile devices
US11259075B2 (en) * 2017-12-22 2022-02-22 Hillel Felman Systems and methods for annotating video media with shared, time-synchronized, personal comments
CN108459836B (zh) * 2018-01-19 2019-05-31 广州视源电子科技股份有限公司 批注显示方法、装置、设备及存储介质
US11030796B2 (en) * 2018-10-17 2021-06-08 Adobe Inc. Interfaces and techniques to retarget 2D screencast videos into 3D tutorials in virtual reality
US10805651B2 (en) * 2018-10-26 2020-10-13 International Business Machines Corporation Adaptive synchronization with live media stream
US11437072B2 (en) * 2019-02-07 2022-09-06 Moxtra, Inc. Recording presentations using layered keyframes
US11170782B2 (en) * 2019-04-08 2021-11-09 Speech Cloud, Inc Real-time audio transcription, video conferencing, and online collaboration system and methods
US20220013127A1 (en) * 2020-03-08 2022-01-13 Certified Electronic Reporting Transcription Systems, Inc. Electronic Speech to Text Court Reporting System For Generating Quick and Accurate Transcripts
IL297858A (en) * 2020-05-01 2023-01-01 Monday Com Ltd Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices
US11128636B1 (en) * 2020-05-13 2021-09-21 Science House LLC Systems, methods, and apparatus for enhanced headsets
US11606220B2 (en) * 2020-06-20 2023-03-14 Science House LLC Systems, methods, and apparatus for meeting management
US11665284B2 (en) * 2020-06-20 2023-05-30 Science House LLC Systems, methods, and apparatus for virtual meetings

Also Published As

Publication number Publication date
CN116888668A (zh) 2023-10-13
WO2022246450A1 (en) 2022-11-24
KR20230172004A (ko) 2023-12-21
EP4272211A1 (en) 2023-11-08
US20220374585A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US11849196B2 (en) Automatic data extraction and conversion of video/images/sound information from a slide presentation into an editable notetaking resource with optional overlay of the presenter
US20220374585A1 (en) User interfaces and tools for facilitating interactions with video content
US9063641B2 (en) Systems and methods for remote collaborative studying using electronic books
CN101930779B (zh) 一种视频批注方法及视频播放器
US20160266864A1 (en) Methods and apparatus for enhancing electronic presentations
US8194081B2 (en) Animation of audio ink
WO2013151610A1 (en) Synchronizing progress in audio and text versions of electronic books
US20150121189A1 (en) Systems and Methods for Creating and Displaying Multi-Slide Presentations
US9335838B2 (en) Tagging of written notes captured by a smart pen
CA2837093A1 (en) Content selection in a pen-based computing system
US20170300746A1 (en) Organizing Written Notes Using Contextual Data
US10965743B2 (en) Synchronized annotations in fixed digital documents
US20160180822A1 (en) Smart Zooming of Content Captured by a Smart Pen
CN115437736A (zh) 一种笔记记录方法和装置
TW202009891A (zh) 電子書語音朗讀裝置及其方法
AU2012258779A1 (en) Content selection in a pen-based computing system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231213