(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】オーディオおよびビデオ編集用のテキスト駆動エディタ
(51)【国際特許分類】
H04N 21/854 20110101AFI20231114BHJP
H04N 21/472 20110101ALI20231114BHJP
H04N 5/765 20060101ALI20231114BHJP
【FI】
H04N21/854
H04N21/472
H04N5/765
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023516123
(86)(22)【出願日】2021-10-27
(85)【翻訳文提出日】2023-05-09
(86)【国際出願番号】 US2021056876
(87)【国際公開番号】W WO2022093976
(87)【国際公開日】2022-05-05
(32)【優先日】2020-10-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】アリバイ、シャミール
(72)【発明者】
【氏名】ホジソン、ロデリック ニール
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA29
5C164MA02S
5C164MA06S
5C164MA07S
5C164MC01P
5C164UB41S
5C164UD41P
5C164YA11
(57)【要約】
開示される技術は、発話された単語またはサウンドバイトからビデオプログラムをアセンブリおよび編集するためのシステムおよびコンピュータ実装方法である。開示される技術は、ソースオーディオ/ビデオクリップおよび複数のフォーマットのいずれかをインポートする。発話されたオーディオは検索可能なテキストへと文字起こしされる。テキスト文字起こしは、タイムコードマーカによってビデオトラックに同期される。発話された各単語はタイムコードマーカに対応し、タイムコードマーカは1つまたは複数のビデオフレームに対応する。ワードプロセッシング動作およびテキスト編集機能を使用して、ユーザは、対応する文字起こしテキストセグメントを選択することによってビデオセグメントを選択する。テキストを選択し、そのテキストを配置することによって、対応するビデオプログラムがアセンブリされる。選択されたビデオセグメントは、ユーザによって選ばれた任意の順序によりタイムラインディスプレイ上にアセンブリされる。ビデオセグメントのシーケンスは、エクスポート用の完成したビデオプログラムを生成するように、所望に応じて並べ替えおよび編集されてよい。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
デジタルビデオに関連付けられているビデオ再生ウィンドウと、前記デジタルビデオのオーディオトラックの文字起こしを表示する文字起こしテキストウィンドウと、を備えるビデオアセンブリインタフェースを生成する、ビデオアセンブリインタフェース生成工程と、
前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程と、
選択された前記1つまたは複数の単語に対応する第1のビデオクリップを生成する第1ビデオクリップ生成工程と、
前記ビデオアセンブリインタフェース内に、前記第1のビデオクリップを含むビデオタイムラインを生成する工程と、を備えるコンピュータ実装方法。
【請求項2】
前記ビデオアセンブリインタフェース生成工程は、アップロードされた複数のデジタルビデオからの前記デジタルビデオの選択が検出されることに応答したものである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記指示受信工程は、前記文字起こしから前記1つまたは複数の単語のユーザ強調表示の1つの指示を受信する工程、または前記ビデオ再生ウィンドウに関連付けられている1つまたは複数の再生インジケータのユーザ選択の指示を受信する工程を含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記第1ビデオクリップ生成工程は、前記ビデオアセンブリインタフェース内において、選択された前記1つまたは複数の単語を前記文字起こしテキストウィンドウから前記ビデオタイムラインまでドラッグアンドドロップするユーザ対話を検出することに応答したものである、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしからの追加の単語の選択の指示を受信する工程と、
選択された前記追加の単語に対応する第2のビデオクリップを生成する工程と、
前記第2のビデオクリップを前記ビデオタイムラインに追加する工程と、をさらに備える、請求項2~4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記ビデオアセンブリインタフェース内の前記ビデオタイムラインとの検出されたユーザ対話に応答して、前記ビデオタイムライン内において前記第1のビデオクリップおよび前記第2のビデオクリップを並べ替える工程をさらに備える、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記アップロードされた複数のデジタルビデオからの追加のデジタルビデオの選択が検出されることに応答して、
前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウから前記デジタルビデオを除去する工程と、
前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウから前記デジタルビデオの前記オーディオトラックの前記文字起こしを除去する工程と、
前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウに前記追加のビデオを追加する工程と、
前記追加のビデオのオーディオトラックの文字起こしを前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウに追加する工程と、
前記第1のビデオクリップおよび前記第2のビデオクリップを前記ビデオアセンブリインタフェースの前記ビデオタイムライン内に維持する工程と、をさらに備える、請求項6に記載のコンピュータ実装方法。
【請求項8】
システムであって、
1つ以上の物理プロセッサと、
コンピュータ実行可能命令を備える物理メモリと、を備え、前記命令は、前記物理プロセッサによる実行時、前記物理プロセッサに請求項1~7のいずれか一項に記載の方法を行わせる、システム。
【請求項9】
コンピュータによる実行時、前記コンピュータに請求項1~7のいずれか一項に記載の方法を行わせる命令を備える、コンピュータ可読ストレージ媒体。
【請求項10】
非一時的である、請求項9に記載のコンピュータ可読ストレージ媒体。
【請求項11】
命令を備えるコンピュータプログラム製品であって、前記命令は、前記プログラムがコンピュータによって実行された時、前記コンピュータに請求項1~7のいずれか一項に記載の方法を行わせる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
開示される技術は、一般に、ビデオプログラムをビデオ編集しアセンブリするためのコンピュータ実装方法、システム、およびコンピュータプログラムに関する。より詳細には、本開示は、ビデオクリップのオーディオトラックにおける文字起こしされたスピーチから導出されたキーワードまたはサウンドバイトに基づいてビデオプログラムを編集しアセンブリするための方法、システム、およびコンピュータプログラムに関する。
【背景技術】
【0002】
この節において説明される主題は、単にこの節におけるその言及の結果として、従来技術であると想定されるものではない。同様に、この節において言及される問題、または背景として提供される主題に関連する問題は、従来技術において以前に認識されていたと想定されるものではない。この節における主題は、異なるアプローチを表すに過ぎず、それら自身も特許請求の範囲の技術の実装に対応し得る。
【0003】
ビデオ編集は、ビデオ映像、ビデオクリップ、特殊効果、および録音のセグメントを編集してファイナライズされたビデオプログラムにする処理である。過去において、非線形ビデオ編集(NLE)は、専用ソフトウェアを有する複雑かつ高価な専用機械上にて実行されてきたが、時間の経過とともに、ビデオ編集ソフトウェアは、パーソナルコンピュータ、さらにはコンピュータタブレットおよびスマートフォン上における使用のために広く利用可能になるように進化してきた。ビデオ編集ソフトウェアの必要性は、ビデオを組み込んだより多くのソーシャルメディアビデオプラットフォームが広く利用可能になるにつれて、この10年間にわたって増大してきた。ソーシャルメディアビデオプラットフォームの指数関数的な成長は、ビデオコンテンツを生成し、そのビデオコンテンツを編集し、ビデオコンテンツをソーシャルメディアビデオプラットフォームおよび他の場所にアップロードするコンテンツクリエータの対応する成長をもたらした。
【0004】
専門的なビデオ編集では、コンピュータプログラムは高価かつ複雑であり、ユーザが一般的に複雑なユーザインタフェースを使用する訓練を受ける必要がある。熟練者になるためには、非線形ビデオ編集のユーザは、非線形ビデオ編集システム用の処理およびユーザインタフェースを習得するための専門レベルの知識および訓練を獲得する必要がある。既知の非線形ビデオ編集システムは、その複雑さのため、一般ユーザを萎縮させ得る。
【0005】
さらに、そうしたコンピュータプログラムは、計算効率が悪い。例えば、そうしたコンピュータプログラムは、編集中にビデオのコピーを生成する際に、処理リソースおよびメモリリソースを浪費する。説明すると、より大きなデジタルビデオから取られたビデオクリップを生成するためのユーザコマンドに応答して、既存のコンピュータプログラムは、多くの場合、1)スタンドアロンビデオクリップを生成するようにデジタルビデオからフレームをコピーするか、または2)デジタルビデオ全体を複製し、次いでビデオクリップに含まれないビデオフレームを削除するかのいずれかである。このように、既存のコンピュータプログラムは、多数の処理サイクルを浪費すると同時に、ビデオ編集タスクに関連してメモリ使用量を急速に増大させる。
【発明の概要】
【0006】
本開示の第1の態様によれば、デジタルビデオに関連付けられているビデオ再生ウィンドウと、前記デジタルビデオのオーディオトラックの文字起こしを表示する文字起こしテキストウィンドウと、を備えるビデオアセンブリインタフェースを生成する、ビデオアセンブリインタフェース生成工程と、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程と、選択された前記1つまたは複数の単語に対応する第1のビデオクリップを生成する第1ビデオクリップ生成工程と、前記ビデオアセンブリインタフェース内に、前記第1のビデオクリップを含むビデオタイムラインを生成する工程と、を備える、コンピュータ実装方法が提供される。
【0007】
前記ビデオアセンブリインタフェース生成工程は、アップロードされた複数のデジタルビデオからの前記デジタルビデオの選択が検出されることに応答したものであってよい。
前記指示受信工程は、前記文字起こしから前記1つまたは複数の単語のユーザ強調表示の1つの指示を受信する工程、または前記ビデオ再生ウィンドウに関連付けられている1つまたは複数の再生インジケータのユーザ選択の指示を受信する工程を含んでよい。
【0008】
前記第1ビデオクリップ生成工程は、前記ビデオアセンブリインタフェース内において、選択された前記1つまたは複数の単語を前記文字起こしテキストウィンドウから前記ビデオタイムラインまでドラッグアンドドロップするユーザ対話を検出することに応答したものであってよい。
【0009】
前記コンピュータ実装方法は、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしからの追加の単語の選択の指示を受信する工程と、選択された前記追加の単語に対応する第2のビデオクリップを生成する工程と、前記第2のビデオクリップを前記ビデオタイムラインに追加する工程と、をさらに備えてよい。
【0010】
前記コンピュータ実装方法は、前記ビデオアセンブリインタフェース内の前記ビデオタイムラインとの検出されたユーザ対話に応答して、前記ビデオライムライン内において前記第1のビデオクリップおよび前記第2のビデオクリップを並べ替える工程をさらに備えてよい。
【0011】
前記コンピュータ実装方法は、前記アップロードされた複数のデジタルビデオから追加のデジタルビデオの選択が検出されることに応答して、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウから前記デジタルビデオを除去する工程と、前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウから前記デジタルビデオの前記オーディオトラックの前記文字起こしを除去する工程と、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウに前記追加のビデオを追加する工程と、前記追加のビデオのオーディオトラックの文字起こしを前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウに追加する工程と、前記第1のビデオクリップおよび前記第2のビデオクリップを前記ビデオアセンブリインタフェースの前記ビデオタイムライン内に維持する工程と、をさらに備えてよい。
【0012】
本開示の第2の態様によれば、システムであって、1つ以上の物理プロセッサと、コンピュータ実行可能命令を備える物理メモリと、を備え、前記命令は、前記物理プロセッサによる実行時、前記物理プロセッサに、デジタルビデオに関連付けられているビデオ再生ウィンドウと、前記デジタルビデオのオーディオトラックの文字起こしを表示する文字起こしテキストウィンドウと、を備えるビデオアセンブリインタフェースを生成する、ビデオアセンブリインタフェース生成工程と、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程と、選択された前記1つまたは複数の単語に対応する第1のビデオクリップを生成する第1ビデオクリップ生成工程と、前記ビデオアセンブリインタフェース内に、前記第1のビデオクリップを含むビデオタイムラインを生成する工程と、を備える、システムが提供される。
【0013】
前記ビデオアセンブリインタフェース生成工程は、アップロードされた複数のデジタルビデオからの前記デジタルビデオの選択が検出されることに応答してよい。
前記物理メモリは、コンピュータ実行可能命令をさらに備えてよく、前記命令は、前記物理メモリによる実行時、前記物理プロセッサに、前記文字起こしから前記1つまたは複数の単語のユーザ強調表示の1つの指示を受信する、または前記ビデオ再生ウィンドウに関連付けられている1つまたは複数の再生インジケータのユーザ選択の指示を受信することによって、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程を含む動作を行わせる。
【0014】
前記第1ビデオクリップ生成工程は、前記ビデオアセンブリインタフェース内においてされた前記1つまたは複数の単語を前記文字起こしテキストウィンドウから前記ビデオタイムラインまでドラッグアンドドロップするユーザ対話を検出することに応答してよい。
【0015】
前記物理メモリは、コンピュータ実行可能命令であって、前記命令は、前記物理プロセッサによる実行時、前記物理プロセッサに、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしからの追加の単語の選択の指示を受信する工程と、選択された前記追加の単語に対応する第2のビデオクリップを生成する工程と、前記第2のビデオクリップを前記ビデオタイムラインに追加する工程と、を備える動作を行う命令をさらに備えてよい。
【0016】
前記物理メモリは、コンピュータ実行可能命令であって、前記命令は、前記物理プロセッサによる実行時、前記物理プロセッサに、前記ビデオアセンブリインタフェース内の前記ビデオタイムラインとの検出されたユーザ対話に応答して、前記ビデオライムライン内において前記第1のビデオクリップおよび前記第2のビデオクリップを並べ替える工程を備える動作を行わせる、命令をさらに備えてよい。
【0017】
前記物理メモリは、コンピュータ実行可能命令であって、前記命令は、前記物理プロセッサによる実行時、前記物理プロセッサに、前記アップロードされた複数のデジタルビデオから追加のデジタルビデオの選択が検出されることに応答して、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウから前記デジタルビデオを除去する工程と、前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウから前記デジタルビデオの前記オーディオトラックの前記文字起こしを除去する工程と、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウに前記追加のビデオを追加する工程と、前記追加のビデオのオーディオトラックの文字起こしを前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウに追加する工程と、前記第1のビデオクリップおよび前記第2のビデオクリップを前記ビデオアセンブリインタフェースの前記ビデオタイムライン内に維持する工程と、を備える動作を行わせる、命令をさらに備えてよい。
【0018】
本開示の第3の態様によれば、コンピュータ可読媒体であって、1つまたは複数のコンピュータ実行可能命令を備え、前記命令は、コンピューティングデバイスの1つまたは複数のプロセッサによる実行時、前記コンピューティングデバイスに、デジタルビデオに関連付けられているビデオ再生ウィンドウと、前記デジタルビデオのオーディオトラックの文字起こしを表示する文字起こしテキストウィンドウと、を備えるビデオアセンブリインタフェースを生成する、ビデオアセンブリインタフェース生成工程と、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程と、選択された前記1つまたは複数の単語に対応する第1のビデオクリップを生成する第1ビデオクリップ生成工程と、前記ビデオアセンブリインタフェース内に、前記第1のビデオクリップを含むビデオタイムラインを生成する工程と、を備える動作を行わせる、システムが提供される。媒体は、非一時的であってよい。
【0019】
前記コンピュータ可読媒体は、コンピュータ実行可能命令をさらに備えてよく、前記命令は、前記コンピューティングデバイスの前記1つ以上のプロセッサによる実行時、前記コンピューティングデバイスに、前記文字起こしから前記1つまたは複数の単語のユーザ強調表示の1つの指示を受信する、または前記ビデオ再生ウィンドウに関連付けられている1つまたは複数の再生インジケータのユーザ選択の指示を受信することによって、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしから1つまたは複数の単語の選択の指示を受信する指示受信工程を含む動作を行わせる。
【0020】
前記第1ビデオクリップ生成工程は、前記ビデオアセンブリインタフェース内においてされた前記1つまたは複数の単語を前記文字起こしテキストウィンドウから前記ビデオタイムラインまでドラッグアンドドロップするユーザ対話を検出することに応答してよい。
【0021】
前記コンピュータ可読媒体は、コンピュータ実行可能命令であって、前記命令は、前記コンピューティングデバイスの1つ以上のプロセッサによる実行時、前記コンピューティングデバイスに、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしからの追加の単語の選択の指示を受信する工程と、選択された前記追加の単語に対応する第2のビデオクリップを生成する工程と、前記第2のビデオクリップを前記ビデオタイムラインに追加する工程と、を備える動作を行う命令をさらに備えてよい。
【0022】
前記コンピュータ可読媒体は、コンピュータ実行可能命令であって、前記命令は、前記コンピューティングデバイスの1つ以上のプロセッサによる実行時、前記コンピューティングデバイスに、前記ビデオアセンブリインタフェース内の前記ビデオタイムラインとの検出されたユーザ対話に応答して、前記ビデオライムライン内において前記第1のビデオクリップおよび前記第2のビデオクリップを並べ替える工程を備える動作を行わせる、命令をさらに備えてよい。
【0023】
前記コンピュータ可読媒体は、コンピュータ実行可能命令であって、前記命令は、前記コンピューティングデバイスの1つ以上のプロセッサによる実行時、前記コンピューティングデバイスに、前記アップロードされた複数のデジタルビデオから追加のデジタルビデオの選択が検出されることに応答して、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウから前記デジタルビデオを除去する工程と、前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウから前記デジタルビデオの前記オーディオトラックの前記文字起こしを除去する工程と、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウに前記追加のビデオを追加する工程と、前記追加のビデオのオーディオトラックの文字起こしを前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウに追加する工程と、前記第1のビデオクリップおよび前記第2のビデオクリップを前記ビデオアセンブリインタフェースの前記ビデオタイムライン内に維持する工程と、を備える動作を行わせる、命令をさらに備えてよい。
【0024】
組込み
以下の材料は、本明細書に完全に記載されているかのように参照により組み込まれる。
2018年5月2日に出願された「機械学習ベースのスピーチからテキストへの文字起こしクラウド中継(Machine Learning-Based Speech-To-Text Transcription Cloud Intermediary)」と題する米国仮特許出願第62/666,017号。
【0025】
2018年5月2日に出願された「深層学習ベースのスピーチからテキストへの文字起こしクラウド中継(Deep Learning Based Speech-To-Text Transcription Cloud Intermediary)」と題する米国仮特許出願第62/666,025号(代理人整理番号SIMN1000-2)。
【0026】
2018年5月2日に出願された「スピーチからテキストへの文字起こし用のエキスパート深層ニューラルネットワーク(Expert Deep Neural Networks for Speech-To-Text Transcription)」と題する米国仮特許出願第62/666,050号(代理人整理番号SIMN1000-3)。
【0027】
A.van den Oord,S.Dieleman,H.Zen,K.Simonyan,0.Vinicals,A Graves,N.Kalchbrenner,A Senior,およびK.A. Kavukcuoglu、「ウェーブネット:生のオーディオのジェネレーティブモデル(Wavenet:A Generative Model for Raw Audio)」、arXiv:1 609.03499、2016年。
【0028】
S.b.Arik、M.Chrzanowski、A Coates、G.Diamos、A Gibiansky、Y.Kang、X.Li、J.Miller、A Ng、J.Raiman、S.SenguptaおよびM.Shoeybi、「ディープボイス:リアルタイムニューラルのテキストからスピーチ(Deep Voice:Real-Time Neural Text-To-Speech)」arXiv:l702.07825、2017年。
【0029】
J.Wu,”従来のニューラルネットワークへの導入(Introduction To Convolutional Neural Networks)”,南京大学,2017年。
【0030】
I.J.グッドフェロー、D.Warde-Farley、M.ミルザ、A Courville、およびY. Bengio,「従来のネットワーク(Convolutional Networks)」深層学習,MIT Press,2016年。
【0031】
F.Chaubard、R. Mundra、およびR.Socher、「CS 224D:NLP用の深層学習、講義ノート:パートI」、2015年。
F.Chaubard、R.Mundra、およびR.Socher、「CS224D:NLP用の深層学習、講義ノート:パートII」、2015年。
【0032】
F.Chaubard、R.Mundra、およびR.Socher、「CS224D:NLPのための深層学習、講義ノート:パートIII」、2015年。
F.Chaubard、R.Mundra、およびR.Socher、「CS224D:NLP用の深層学習、講義ノート:パートIV」、2015年。
【0033】
F.Chaubard、R.Mundra、およびR.Socher、「CS224D:NLP用の深層学習、講義ノート:パートV」、2015年。
Y.Fan、M.Potok、およびC.Shroba、「オーディオ用の深層学習(Deep Learning For Audio)」、2017年。
【0034】
図面において、同様の参照符号は、一般に、異なる図を通して同様の部分を指す。また、図面は必ずしも縮尺通りではなく、これに代えて、一般に、開示される技術の原理を説明することに重点が置かれている。以下の記載では、開示される技術の様々な実装が、以下の図面を参照して記載される。
【0035】
特許または出願ファイルは、カラーで作成された1つ以上の図面を含む。カラー図面を含む本特許または特許出願公開の複製物は、請求および必要な手数料の支払いに応じて特許庁によって提供される。カラー図面はまた、補足コンテンツタブを介してPAIRにおいて利用可能であってもよい。
【図面の簡単な説明】
【0036】
【
図1】文字起こしテキストまたはサウンドバイトを使用してビデオプログラムを編集およびアセンブリするためのシステムを示すアーキテクチャレベルの概略図。
【
図2】文字起こしテキストまたはサウンドバイトを使用してビデオプログラムをアセンブリするためのシステム用の開示される技術の一般化されたワークフロー。
【
図3】開示される技術のワークフローをより詳細に示す図。
【
図4】文字起こしテキストまたはサウンドバイトからビデオプログラムをアセンブリする工程を示すフローチャート。
【
図5】開示される技術のユーザインタフェースを示し、特に、ビデオウィンドウおよびテキストウィンドウを示す図。
【
図6】オーディオトラックのテキスト文字起こし用に作成された文字起こしマップを示す図。
【
図7】オーディオトラックから文字起こしされた個々の単語のタイムコード同期を示す図。
【
図8】ビデオプログラムがアセンブリされるビデオクリップのリストを含む、開示される技術アプリケーションのプロジェクト作成画面を示す図。
【
図9】新しいプロジェクトの作成に使用されるソースビデオおよび対応するソーステキストを示す図。
【
図10】選択されたビデオサウンドバイトに対応するテキストの強調表示を示す図。
【
図11】タイムラインウィンドウ上にドラッグアンドドロップされた後のサウンドバイトの選択を示す図。
【
図12A】
図11に示される画面について、選択における開始単語および終了単語についての開始タイムコード、終了タイムコード、および単語値テキストを示す対応する文字起こしマップを示す。
【
図12B】
図11に示される画面について、選択における開始単語および終了単語についての開始タイムコード、終了タイムコード、および単語値テキストを示す対応する文字起こしマップを示す。
【
図13】
図11に示される例のためのメディアフラグメントユニフォームリソース識別子(URI)を示す図。
【
図14】テキストセグメントにおける最初のテキスト要素(「when」)の開始タイムコードと、テキストセグメントにおける最後の要素の終了タイムコードとを使用して、ビデオのメディアフラグメントユニフォームリソース識別子(URI)にアクセスする方法を示す図。
【
図15】開示される技術に係るビデオプログラムアセンブリ方法を示す図。
【
図16】コールバック関数を使用して連鎖された第1、第2、および第3のビデオセグメントを含むビデオプロジェクトの作成におけるビデオセグメントのシーケンス化を示す図。
【
図17】コールバック関数を使用して連鎖された第1、第2、および第3のビデオセグメントを有するプロジェクトの作成の別の例を示す図。
【
図18】第1、第2、および第3のビデオセグメントを第2の順序により再生するためのシーケンス識別子を有するビデオセグメントの再生シーケンスの並べ替えまたは変更を示す図。
【
図19】現在のビデオセグメントの再生が完了したときに、第1、第2、および第3のビデオセグメントの中で並べ替えされたビデオセグメントを再生するためにコールバックを使用することをさらに示す図。
【
図20】ユーザがアセンブリされたビデオの再生を開始することが可能であるように完成されたタイムラインを有するユーザ機能を示す図。
【
図21】エクスポートの準備ができている、アセンブリされたビデオプログラムにおける第1、第2、および第3のビデオセグメントの最終的に選ばれた配置を示す図。
【
図22】開示される技術を実装するように使用することが可能であるコンピュータシステムを概略形式により示す図。
【発明を実施するための形態】
【0037】
システムの概要
本技術は、ユーザが、文字起こしテキストからビデオプログラムを編集しアセンブリすることを可能にする。1つの態様では、本技術は、サイバーセキュリティ機能を含むブラウザベースまたはウェブベースアプリケーションとして実装される。リモートユーザは、ビデオファイルまたはビデオクリップをアプリケーションサーバにアップロードする。アプリケーションサーバは、ビデオファイルまたはビデオクリップをストレージデバイスにインポートする。本開示の目的のために、ビデオファイルまたはビデオクリップは、一般に、フレームレート、画像解像度、およびタイムコードを含む様々な種類のメタデータとともに、同期されたオーディオトラックおよびビデオトラックを含むファイルを含む。オーディオトラックおよびビデオトラックはタイムコードによって同期される。オーディオの各フレームは、同じタイムコードまたはタイムスタンプを有するビデオの各フレームと同期される。
【0038】
ビデオトラックは、各画像が既知のフレームレートにて動作するフレームである一連の画像を含む。ビデオクリップはまた、ビデオの各フレームに表されるサウンドについてのオーディオを搬送するオーディオトラックを含む。通常、オーディオトラックは、ビデオトラックに示される1人または複数の人の声のスピーチを含む。オーディオトラックにおける音は、ビデオトラックにおける画像に同期される。ビデオファイルは、通常、オーディオコーディングフォーマットにおけるオーディオデータとともにビデオコーディングフォーマットのビデオデータを含むコンテナからなる。コンテナはまた、同期情報および様々なメタデータを含むことが可能である。
【0039】
1つの例では、開示される技術は、ブラウザベースのトランザクションシステムである。ユーザは、ホスト編集およびビデオアセンブリ機能を使用するための料金を、オーディオビデオ編集セッションの期間または他のメトリックに基づく費用にて支払う。または、ホスト編集機能は、サブスクリプションベースにて提供されてよい。
【0040】
本技術は、新しいビデオプログラムをアセンブリする能力を有する。これらの特徴は、ビデオプログラム編集、注釈付け、共同作業、次いでMicrosoft Wordへのエクスポート、サブタイトル、Adobe Premier、Final Cut Pro、Avid Media Composer、および他の非線形編集アプリケーション(NLE)、ならびに効果、キャプション付け、タイトル付け等を提供するための関連アプリケーションを含む。
【0041】
ユーザは、第1のパネルにおける選択されたリソースの文字起こし(トランスクリプト)からテキストを選択し、それを第2のパネル上にドラッグアンドドロップすることによって、ユーザインタフェースの第1および第2のパネルと対話し、それによって、アプリケーションに新しいクリップを作成させる。クリップの順序は、ユーザがクリップをドラッグアンドドロップすることによって配置することが可能である。
【0042】
ビデオプログラムの編集およびアセンブリ(組立)は、段階により進行する。第1の段階、アップロードおよび文字起こしでは、ビデオファイルが、ユーザのデバイスまたはクラウドベースのストレージアカウントからウェブサイトにアップロードされ、非線形編集システムのビデオストレージビンと同様に、アプリケーションのビデオストレージに記憶される。オーディオトラックは、抽出され、スピーチからテキストへの文字起こしが行われ、オーディオトラックにおける発話された音声を、編集可能かつ検索可能なフォーマットされたテキストの形態における文字起こしされたスピーチへと変換される。長いオーディオトラックが短時間で効率的に文字起こしされることが可能である。文字起こしテキストは、ユーザのビデオデバイス上のテキストウィンドウに表示される。複数の話者が含まれる場合、ソフトウェアは、話者識別見出しを様々な話者に自動的に割り当てることができる。
【0043】
ユーザは、テキストを編集し、コメントおよび注釈を文字起こしに追加する能力を有する。ビデオは、タイムコードを使用してテキスト表現に正確に同期される。すべてのテキストワードは関連するタイムコードを有し、すべてのビデオフレームはテキストワードに同期されたタイムコードを有する。
【0044】
次の段階では、文字起こしテキストが、テキスト表示に対応するビデオを表示するビデオウィンドウの傍に、ユーザインタフェースにおけるテキストウィンドウに表示される。カーソルがテキスト表示における特定の地点に移動され、特定の単語を強調表示する場合、対応するビデオフレームが表示される。いくつかの単語または文がテキスト表示において強調表示される場合、対応するビデオはビデオウィンドウにおいて再生されてよい。テキストは、従来のワードプロセッサにおけるように検索されてよく、テキスト選択が強調表示されてよい。強調表示されたテキスト選択またはテキストセグメントは、ディスプレイのビデオタイムライン部分に移動されてよい。ビデオタイムラインは、対応するビデオセグメントの第1のプレビューフレームのサムネイルアイコンとともに、選択されたテキストを示す。
【0045】
1つの態様では、開示される技術は、発話された情報コンテンツを使用するテキストベースのビデオエディタである。システムは、ビデオクリップにおけるオーディオトラックの非同期文字起こしを提供する。ビデオ編集処理は、オーディオトラックからテキストを文字起こしし編集する最初の工程の後に開始する。タイムコードは、すべての発話された単語に関連付けられる。スピーチのセグメントは、インアンドアウトタイムコードによって識別される。文字起こしテキストは、ビデオプログラムのアセンブリにおいて使用されるサウンドバイトを見つけるように単語検索されることが可能である。ビデオアセンブリエディタは、テキストベースの編集およびアセンブリに基づく。開示される技術は、一般に、迅速かつ容易なプログラムアセンブリのために短いビデオセグメントを使用する。セグメントは、同じメディアまたはビデオファイルまたは組合せから生じる得る。プレビュービデオをアセンブリし、後処理のために、Avid media composer、Adobe Premier、またはFinal Cut Proなどの仕上げ非線形エディタにエクスポートして、ファインカットビデオプログラムを生成することが可能である。
【0046】
このように、開示されるシステムおよび方法は、既存のビデオ編集コンピュータプログラムによって提示される技術的問題の多くを解決する。例えば、開示されるシステムおよび方法は、既存のビデオ編集コンピュータプログラムに共通する処理メモリ浪費を回避することによって、コンピューティングシステムの効率を増加させる。例示すると、以下でより詳細に説明されるように、開示されるシステムおよび方法は、デジタルビデオおよび対応する文字起こしにわたって同期されたタイムコードに基づいてビデオクリップが生成されるブラウザベースのソリューションを提示する。したがって、文字起こしの1つまたは複数のワードのユーザ選択に応答して、システムおよび方法は、それらの単語に対応するタイムコードを識別し、識別されたタイムコードを利用して、デジタルビデオの一部をビデオクリップとして再生する。したがって、開示されるシステムおよび方法は、デジタルビデオの任意の部分のコピーも生成することなく、デジタルビデオのクリップを生成することによって、浪費されていたコンピューティングリソースを節約する。
オーディオトラックのテキストへの文字起こし
開示されるスピーチからテキストへの文字起こしは、オーディオチャネルの音およびスピーチ特性に基づいてオーディオチャネルを正確に文字起こしするために、複数の利用可能な認識エンジンからスピーチ認識エンジンを選択する機械学習または深層機械学習アルゴリズムに基づいてよい。この種類の方法およびシステムは、米国特許出願第16/373,503号明細書に開示されており、この出願は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。開示される技術および組み込まれた出願は、複数の利用可能なスピーチ認識エンジンから1つまたは複数のスピーチ文字起こしエンジンを選択して、音特性およびスピーチ特性に基づいてオーディオチャネルからスピーチの最も正確な文字起こしを提供する、機械学習ベースのスピーチからテキストへの文字起こし方法およびシステムに関する。ビデオクリップにおけるビデオトラックから高品質かつ高精度のテキストの出力を提供する限り、任意の他のスピーチからテキストへの文字起こしプログラムが使用されてよい。
【0047】
本明細書において使用される際、「ビデオ」または「デジタルビデオ」という用語は、音を伴う視覚表示を含むデジタルメディアアイテムを指す。例えば、デジタルビデオは、ビデオトラックおよびオーディオトラックを含むことが可能である。1つまたは複数の例では、ビデオトラックは、各ビデオフレームが所定のフレームレートおよび解像度に従ってキャプチャされたデジタル画像を含む、ビデオフレームのシーケンスを含むことが可能である。これに加えて、1つまたは複数の例では、オーディオトラックは、デジタルメディアにおいて表される音を含むことが可能である。1つ以上の例では、デジタルビデオのビデオトラックおよびオーディオトラックは、対応するタイムコードに従って同期される。
【0048】
1つまたは複数の例において、上述したように、本システムは、デジタルビデオのオーディオトラックの文字起こしを生成することが可能である。本明細書において使用される際、「文字起こし」は、デジタルビデオのオーディオトラックにおけるの音の記述されたまたは印刷された表現を指す。例えば、オーディオトラックが発話された単語を含む場合、本システムは、オーディオトラック内において発話された単語のデジタル記述表現を含む文字起こしを生成することが可能である。
【0049】
ビデオ編集ワークフロー
ビデオ編集ワークフローの最も受け入れられている方法は、ラフカットの作成とそれに続くファインカットの作成である。最終プログラムに至るオーディオ/ビデオプロジェクトの作成において、一種のグローバルビューにおいて主要な特徴が一緒にフィットすることを示すビデオのバージョンを最初に作成することは、受け入れられている処理である。これをラフカットと呼ぶ。ラフカット形式では、共同作業者がビデオにコメントし、改善の提案を提供してよい。多くの場合数分でアセンブリすることができ、変更を容易に行うことが可能である形態であるラフカットにより作業することは遥かに容易である。すべての主要なコンポーネントが実行可能な形態にてレイアウトされると、ビデオ編集ワークフローは、処理における次の段階に進む。これは、トランジションの実行、視覚効果の追加、音声編集、キャプションの包含-ビデオプロジェクトをその最終形態に近づけることを含む微調整と考えることが可能である。開示される技術は、テキストベースのビデオプログラムアセンブリを提供することによって、このワークフローをサポートする。ラフカットビデオの作成は、典型的には、共同作業であり、印刷された文字起こしを切り取り、ホワイトボード上において切り取られた文字起こしをチームに並べ替えさせることを伴っていた。本技術は、本明細書に記載されるビデオ編集ワークフローを使用して、この処理を合理化する。
【0050】
複数の話者を有するビデオプログラムのアセンブリ
本技術の1つの応用は、複数人が特定の主題についてインタビューされ、個人がカメラ上に自分のビューを提示するビデオプログラムのアセンブリである。多くの場合、インタビュアの質問に答えて、インタビュイは、複数のトピックに関する見解を提示する。ビデオプログラムエディタの問題は、説明された主題がトピックによって編成されている一貫性のあるビデオプログラムをまとめることである。これは、異なるトピックに移動する前に、同じトピックに関するコメントを示すためにビデオプログラムを編集することを必要とする。
【0051】
従来のビデオエディタでは、これは、ビデオカッティングおよびビデオアセンブリにおいて非常に複雑な動作であり、ユーザが小さなビデオセグメントをデジタル的にクリップし、それらをあちこちに移動させなければならない。ユーザは、ビデオセグメントをどこでクリップするかについて個々に決定し、最終的なプログラムを構成するセグメントを編成する。これは、従来のビデオ編集システムでは、後で洗練することが可能であるラフカットを生成するためあっても、扱いにくい処理であり得る。基本的に、複数の主題についてコメントしている3人以上の話者がいる場合、ビデオは、一貫性のあるプログラムを作成するために複数回クリップされ、シーケンス化される必要がある。
【0052】
本技術により、所望の結果が容易に達成される。様々な話者の音声がテキスト形式へと文字起こしされる文字起こし段階の後、話者の名前は、関連するテキストおよびコンテンツの検索および位置特定を支援するようにラベル付けされて自動的に適用されてよい。本明細書において使用される際、「話者」は、デジタルビデオのオーディオトラック上に表される音を生成するエンティティを指す。例えば、話者は、単語を発話する人間であることが可能である。追加の例では、話者は、単語を発話するデジタル的に生成された音声であることが可能である。1つまたは複数の例では、話者は、本システムおよび方法がオーディオトラック内の話者を識別するように利用する様々な声の特性(例えば、音量、トーン、拍子、ピッチ、テンポ)に対応する。
【0053】
次に、文字起こしテキストに対してワードプロセッシング法を使用して、提起された特定の質問に関連する関連コンテンツを見つけてよい。エディタは、複数の話者の各々に関連するコンテンツを選択してよい。そのコンテンツは、ビデオコンテンツビンに記憶される。開示される技術では、ビデオアセンブリエディタを使用して、選んだ順序により各話者の発話された単語を示す視覚的タイムラインを容易に作成してよい。個々のサウンドバイトは、ビデオプログラムのラフカットをアセンブリするためにタイムライン上に簡単に配置されてよい。プログラムはプレビューされることが可能であり、ラフカットビデオプログラムを視聴した後にコメントおよび提案を提供し得る許可された共同作業者によってもプレビューされることが可能である。
【0054】
話者の音声の自動タグ付け
本技術の1つの態様では、システムは話者の名前のタグ付けを提供する。プログラムは、話者の名前に関連付けられた特徴を検出して、文字起こしテキストに、話者の音声の属性によって話者を識別するラベルを提供する。これらの話者ラベルを使用して、テキスト文字起こしは、特定の話者に関連付けられた文字起こしテキストについて検索されてよい。この特徴の1つの利点は、特定の話者に関連付けられたすべてのビデオセグメントが、対応するビデオタイムコードによって一緒にグループ化されて、単一の話者に関連付けられたビデオセグメントを含む粗いビデオプログラムをアセンブリすることを可能にする。例えば、インタビューでは、特定の話者によってなされたすべてのコメントを、インタビュアに関連付けられたセグメントを含まずに、1つの一連の連結されたビデオセグメントにまとめることが有利であり得る。これは、特定のインタビュイに関連付けられたビデオセグメントのみのラフカットをアセンブリする非常に高速な手法である。
【0055】
上述したように、文字起こし内の単語またはテキストが特定の話者に対応すると判定したことに応答して、本明細書に記載されるシステムおよび方法は、話者を識別する話者タグを文字起こしに割り当てることが可能である。本明細書において使用される際、「話者タグ」は、文字起こしにおける1つまたは複数の単語をデジタルビデオのオーディオトラックからの話者に関連付ける文字起こし内の任意の指示を指す。1つまたは複数の例では、話者タグは、自動的に生成された識別子(例えば、「話者1」、「話者2」等)、手動で入力された名前(例えば、文字起こしに関連してユーザによって提供される)、アイコン、色、または任意の他の適切な識別子を含むことが可能である。
【0056】
システムアーキテクチャ
以下では、ブラウザベースのビデオ編集およびビデオアセンブリの方法およびシステム100のアーキテクチャ形式の実装において記載するが、これは、記載の明瞭性を向上させるために意図的に単純化されている。
図1は、様々な主要要素の相互接続を示す。これらの要素の使用は、これらの要素の構造および使用の説明に関連してさらに詳細に記載される。
【0057】
図1は、ブラウザベースのアプリケーションのためのホストコンピュータ110を備えるシステム100を含む。ユーザエンドポイントは、デスクトップおよびラップトップコンピュータ130、スマートフォン128、ならびにコンピュータタブレット126などのデバイスを含んでよい。これらは、ネットワーク122へのアクセスを提供して、クラウドベースストア124上に記憶されたデータと対話し、ネットワークアクセスを提供してコンピュータ110をホストする。ユーザのビデオファイルは、ユーザのリモートデバイス126,128,130にローカルに記憶されてもよく、またはクラウドベースサービス124を通じてアクセス可能なクラウドストレージ125に記憶されてよく、またはユーザにローカルに記憶されてよい。ビデオファイルは、クラウドストレージ125から取り出され、ホストコンピュータ100およびビデオ編集アプリケーション114にアップロードされてよい。ビデオアプリケーションは、アプリケーションサーバ114に常駐する。アプリケーションサーバ114は、ビデオ編集リソース116に対するアクセスを有し、ユーザのアップロードされたファイルを記憶するオーディオ/ビデオストレージビン122に対するアクセスも有する。
【0058】
これに加えて、リモートコンピュータ、タブレット、およびスマートフォンは、認可された共同作業者として、ネットワーク122を通じてアプリケーション114にアクセスしてよい。ビデオ編集およびビデオアセンブリ方法の一部として、ユーザ134、136、138は、レビュアとして指定され、後述するように、ファイナライズされたビデオプログラムにコメントまたは編集提案を提供する権限を与えられてよい。認可された共同作業者は、ビデオプログラムがファイナライズされている間にユーザが解説を受信するように、ビデオおよびコメントを仮想リアルタイムにレビューしてよい。
【0059】
クラウドベースサービス124およびクラウドベースストレージ125は、エンドユーザにビデオファイルを記憶する便利な方法を提供する。ビデオファイルは、終了したビデオプログラムのアセンブリに使用される生のビデオクリップを提供するように、コンピュータ110、特にオーディオ/ビデオストレージビン122にアップロードされてよい。
【0060】
次に、システム100の要素の相互接続について記載する。ネットワーク122は、コンピュータ130、スマートフォン128、およびコンピュータタブレット126を互いに結合する。
【0061】
通信経路は、パブリックネットワークおよび/またはプライベートネットワーク上のポイントツーポイントであることが可能である。通信は、プライベートネットワーク、VPN、MPLS回路、またはインターネットを含む様々なネットワークを通じて行われることが可能であり、適切なアプリケーションプログラミングインタフェース(API)、ならびにリプレゼンテーショナルステイトトランスファー(REST)、ジャヴァスクリプトオブジェクトノーテーション(JSON)、エクステンシブルマークアップランゲージ(XML)、シンプルオブジェクトアクセスプロトコル(SOAP)、ジャヴァメッセージサービス(JMS)、および/またはジャヴァプラットフォームモジュールシステムなどのデータ交換フォーマットを使用することが可能である。
【0062】
通信は暗号化されてよい。通信は、一般に、EDGE、3G、4G LTE、Wi-Fi、およびWiMAXなどのプロトコルにより、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、電話ネットワーク(公衆交換電話網(PSTN))、セッション開始プロトコル(SIP)、ワイヤレスネットワーク、ポイントツーポイントネットワーク、スターネットワーク、トークンリングネットワーク、ハブネットワーク、モバイルインターネットを含むインターネットなどのネットワークを通じて行われる。
【0063】
図1のシステムコンポーネントは、様々な種類のコンピューティングデバイス上において実行されるソフトウェアによって実装される。例えば、ワークステーション、サーバ、コンピュータクラスタ、ブレードサーバ、またはサーバファームである。これに加えて、ユーザ名/パスワード、オープンオーソリゼーション(OAuth)、ケルベロス、セキュアID、デジタル証明書などの様々な認可および認証技法が、通信をセキュアにするように使用されることが可能である。
【0064】
クラウドベースのサービス124は、クラウドまたはインターネット上に実装される機能をユーザに提供する。クラウドベースサービス124は、ニュースウェブサイト、ブログ、ビデオストリーミングウェブサイト、ソーシャルメディアウェブサイト、ホストサービス、クラウドアプリケーション、クラウドストア、クラウド共同作業およびメッセージングプラットフォーム、および/またはクラウド顧客関係管理(CRM)プラットフォームなどのインターネットホストサービスを含むことが可能である。クラウドベースのサービス124は、ブラウザ(URLにより)またはネイティブアプリケーション(同期クライアント)を使用してアクセスされることが可能である。
【0065】
クラウドベースのサービス124のカテゴリは、サービスとしてのソフトウェア(SaaS)提供、サービスとしてのプラットフォーム(PaaS)提供、およびサービスとしてのインフラストラクチャ(IaaS)提供を含む。
【0066】
今日の一般的なウェブサービスの例には、YouTube(商標)、Facebook(商標)、Twitter(商標)、Google(商標)、LinkedIn(商標)、Wikipedia(商標)、Yahoo(商標)、Baidu(商標)、Amazon(商標)、MSN(商標)、Pinterest(商標)、Taobao(商標)、Instagram(商標)、Tumblr(商標)、eBay(商標)、Hotmail(商標)、Reddit(商標)、IMDb(商標)、Netflix(商標)、PayPaI(商標)、Imgur(商標)、Snapchat(商標)、Yamamer(商標)、Skype(商標)、Slack(商標)、HipChat(商標)、Confluence(商標)、TeamDrive(商標)、Taskworld(商標)、Chatter(商標)、Zoho(商標)、ProsperWorks(商標)、GoogleのGmail(商標)、Salesforce.com(商標)、Box(商標)、Dropbox(商標)、Google Apps(商標)、Amazon AWS(商標)、Microsoft Office 365(商標)、Workday(商標)、Oracle on Demand(商標)、Taleo(商標)、Jive(商標)、およびConcur(商標)が含まれる。
【0067】
開示されるものなどのブラウザベースシステム100では、ネットワークセキュリティ機能は、暗号化を含むネットワークセキュリティを提供するように提供されてよい。セキュリティ機能は、暗号化またはセキュリティを提供する他の手段によって提供されてよい。企業組織では、ユーザは、クラウドベースサービスの何百ものプロバイダにアクセスして、データを、生成する、記憶する、共同作業する、および組織の内部または外部の他のユーザと共有してよい。ネットワークインタフェースは、ユーザのデータを保護し、ビデオ編集システムへのマルウェアの侵入を防止するためのセキュリティプロトコルを含む。
【0068】
図2は、文字起こしされたビデオサウンドバイトを使用してビデオプログラムをアセンブリするためのシステムのための開示される技術の一般化されたワークフローを示す。
図3は、ワークフローをより詳細に示す。
【0069】
図2では、ユーザのオーディオ/ビデオファイル150が、ユーザのリモートデバイス126、128、130から、またはクラウドベースサービス124に関連付けられたクラウドベースビデオストア125からアップロードされる。アップロードされたファイルは、オーディオ/ビデオストレージビン122に記憶される。文字起こしエンジン152は、ビデオクリップに関連付けられたオーディオトラックを文字起こしして、タイムコードによりオーディオトラックおよびビデオトラックに同期されたオーディオトラックの正確なテキストの文字起こしを提供する。例えば、文字起こしエンジン152は、デジタルビデオのオーディオトラック内の増分にてタイムコードを識別する(例えば、デジタルビデオのフレームレートに従って)ことによってタイムコードを文字起こしに割り当て、それらのタイムコードを同じ増分にて文字起こしに割り当てる。例えば、デジタルビデオのフレームレートが毎秒30フレームである場合、文字起こしエンジン152は、デジタルビデオのオーディオトラックの毎秒30個のタイムコードを識別することが可能である。次いで、文字起こしエンジン152は、同じタイムコードを、対応する時間増分(例えば、毎秒30増分)にわたって発生する音を表す文字起こし内のテキストに割り当てることが可能である。
【0070】
文字起こしエンジン152は、ビデオインタビューなどのオーディオコンテンツの正確な文字起こしを、従量制またはサブスクリプションベースにて提供するために、別個のサービスとして、編集およびアセンブリモジュールとは独立して動作してよい。
[00100] 新しい編集およびアセンブリプロジェクトが開始されると、ユーザの文字起こしテキストファイルがアプリケーションのビデオアセンブリエディタ154へと転送され、そのビデオアセンブリエディタ154において、終了したビデオプログラムがアセンブリされる。ビデオアセンブリエディタ154は、グラフィカルユーザインタフェースであり、ユーザのアップロードされたビデオファイル150からビデオプログラムを作成するための1組のユーザツールである。開示される技術は、文字起こしテキストを使用して、ビデオセグメントを選択し、アセンブリされたビデオプログラムへとシーケンス化する。オーディオトラックのテキスト文字起こしを使用して、ユーザは、テキストのセグメント(例えば、1つの単語、複数の単語)を選択し、選ばれたシーケンスにて視覚的タイムラインへとドラッグアンドドロップする。ビデオフレームおよびオーディオフレームは、選択されたテキストに関連付けられ、テキストとともにタイムラインに移動される。アセンブリエディタ154は、ユーザが、ビデオプログラムのアセンブリに対して異なるカットおよびシーケンスを用いて実験することを可能にする。結果として生じるビデオプログラムは、様々なビデオセグメントが適切なシーケンスにてアセンブリされるラフカットビデオプログラムであってよい。この場合、ユーザは、ラフカットビデオプログラムを、Avidメディアコンポーザ、Adobe Premier、Final Cut Proなどの二次ビデオ編集システムにエクスポート(158)して、ラフカットに仕上げタッチを提供し、ファインカットバージョンに到達してよい。別の例では、アップロードは、アプリケーションのビデオアセンブリエディタから直接行われてよく、文字起こしエンジンは、アプリケーションのビデオアセンブリエディタの構成要素として動作してよい。
[00101] 開示される技術のいくつかの使用では、ビデオアセンブリエディタ154は、非線形エディタにおける後処理を必要とせずに、完成したビデオプログラムを生成する。
[00102] アプリケーションは、認可された共同作業者がアプリケーションへとサインインし、アセンブリされたビデオを再生し、ビデオがアセンブリされている間にユーザにコメントを提供するための共同作業インタフェース156を提供する。これは、ビデオがユーザによってまだアセンブリされている間にコメントが受信されるように、仮想リアルタイムで行われてよい。
[00103] 本明細書において使用される際、「ビデオクリップ」という用語は、デジタルビデオからのビデオトラックのセグメントおよびオーディオトラックの対応するセグメントを指す。ビデオクリップは、典型的には、複数の連続画像フレームと、タイムコードによってビデオクリップに関連付けられたオーディオトラックと、解像度およびフレームレートなどの他のメタデータとを含む。オーディオトラックは、典型的には、発話された単語および文を含む話者または話者の声のトラックを含む。
[00104] 第1のフェーズの一部として、オーディオトラックは、複数のテキストセグメントを含むテキストへと文字起こしされ、テキストセグメントは、複数のビデオセグメントにマッピングされる。セグメントごとのオーディオフレームおよび画像フレームは常に同期される。
[00105]
図3では、ビデオプログラムをアセンブリする処理が、単一のビデオクリップ150、ビデオファイル、またはデジタルビデオを参照してより詳細に示されている。ソースビデオクリップ150は、システムによる処理のためにユーザによって選択される。ソースクリップ150は、ビデオトラック310および対応するオーディオトラック315を含む。ビデオファイルはまた、フレームレート、ビデオフォーマット、ビデオ解像度、およびタイムコードの形態におけるメタデータを含む。ソースビデオクリップ150は、様々なフレームレートおよび解像度を有する様々なビデオフォーマットであってよい。例えば、入力ビデオ150は、以下を含むいくつかの標準フレームレートのうちの1つであってよい。24、25、30、50、60、2398、2997、2997 DF、5994、および5994 DF、ならびに他の既知のフレームレート。
図3では、同期されたビデオ/オーディオタイムコードは、ビデオアセンブリの処理全体を通じて維持される。ビデオクリップ150は、任意の一般的なフォーマットによりエンコードされてよい。一例は、損失のあるビデオ圧縮エンコーディングのよく知られている形態であるMPEG-4ビデオクリップである。開示される技術は、すべてのよく知られているビデオフォーマットに対応する。
[00106] アップロードされた各ビデオクリップ150は、ユーザのビデオビン122に記憶される。ユーザは、1つまたは複数のアップロードされたビデオクリップ150を選択して、ビデオアセンブリエディタ154へとドラッグアンドドロップして、新しいビデオプログラムを作成してよい。
[00107]
図3に示されるように、文字起こしエンジン152は、オーディオトラックを処理して、高品質のオーディオからテキストへの文字起こし325を提供する。タイムコード330は、テキスト文字起こしにおける個々の単語がオーディオサウンドバイトならびに対応するビデオフレームに対応するように、全体を通して維持される。この方法を使用して、タイムコード330がオーディオトラック315におけるの発話された各単語に関連付けられる。テキストワードは、従来のワードプロセッシングプログラムにおけるように、編集され、選択され、コピーされ、移動されてよい。選択されたテキストは、タイムコード330によって対応するオーディオおよびビデオと常に関連付けられる。
【0071】
同期されたタイムコード
[00108] タイムコードは、24時間クロック読み出しに基づくビデオ同期規格である。ビデオの各フレームには、固有のタイムコード値が割り当てられている。タイムコード330は、タイミング同期システムによって規則的な間隔にて生成される数値コードのシーケンスである。タイムコードは、ビデオフレームおよびオーディオフレームに関連する要素の時間的調整を必要とするビデオ制作アプリケーションにおいて使用される。
[00109] 基本的なタイムコード規格は、国に応じて、毎秒30フレームまたは毎秒25フレームのビデオフレームレートを想定している。米国および他の国において主として使用されるNTSCビデオ規格は、30フレーム/秒(fps)のフレームレートを有し、欧州において主として使用されるPALおよびSECAMは、25フレーム/秒(fps)のフレームレートを有する。NTSCでは、30フレームが1秒に等しい。カラーまたはDTV/HDTVにおけるビデオは、実際には、29.97fpsの米国におけるフレームレートを有する。29.97fpsと30fpsとのタイムコード間の同期は、ドロップフレームタイムコードとして知られる公式に従ってタイムコードフレームを周期的にドロップするなどの方法によって維持される。一般に、開示される技術では、ドロップフレームタイムコードは使用されず、または必要とされない。本技術では、以下を含む追加のフレームレートを使用してよい。23.976、59.97、60、および他の広く使用されているフレームレート。
[00110] タイムコーディングはタイムスタンプとも呼ばれる。ビデオ制作において使用されるタイムコードの1つの周知の種類は、SMPTEタイムコードである。SMPTEタイムコードは、デジタルシステムにおけるオーディオまたはビデオなどのタイムベースメディア上の正確な位置を識別するために使用される。SMPTEは、標準化機構米国映画テレビ技術者協会(Society of Motion Picture and Television Engineers)を指す。
SMPTE規格は、実際には、フィルム、ビデオ、およびオーディオ制作において使用されるタイムコードエンコーディングフォーマットのファミリーを記述しており、以下を含む。リニアタイムコード(LTC)、垂直間隔タイムコード(VITC)、AES-EBU埋め込みタイムコード、バーンインタイムコード、CTL制御トラックタイムコード(制御トラック)、およびMIDIタイムコード。
[00111] タイムコードは、HH.MM.SS.FF(時間、分、秒、フレーム)の形式により表示される。例えば、ビデオクリップがタイムコード14:34:01:22で始まる場合、これは14時間、34分、1秒、22フレームへと変換される。このようにして、ビデオトラック310の各フレームおよび対応するオーディオトラック315の各フレームは、正確なデジタルアドレスを含む。
[00112] 開示される技術では、ビデオアセンブリエディタ154は、オーディオ/ビデオクリップのオーディオトラック部分から抽出された文字起こしテキストにおける発話された各単語に関連付けられたタイムコードを追跡する。各個々の話者のオーディオに各話者のスピーチのテキスト文字起こしが提供されるように、高品質文字起こしがオーディオトラック上にて行われる。
[00113] 話者の発話された各単語の文字起こしは、発話された各単語に対応するビデオがオーディオビデオトラックのテキス文字起こし325において識別可能であるように、ビデオトラックにおけるオーディオトラック315タイムコードおよびビデオトラック310タイムコードに相関される。文字起こしされたオーディオテキストは、ユーザインタフェースにおけるのテキストウィンドウに提示され、Microsoft Wordなどの従来のワードプロセッシングプログラムにおけるように検索されてよい。
[00114] さらに詳細に記載されるように、ビデオプログラムは、テキストウィンドウにおける文字起こしされたオーディオスピーチからテキスト形式における単語およびフレーズを選択することによって構築されてよい。これらの選択されたサウンドバイトは、ビデオプログラムウィンドウに配置されてよい。サウンドバイトに対応するビデオセグメントが自動的に選択され、タイムライン上に配置される。
[00115] ビデオプログラムは、本質的には、オーディオトラック315から文字起こしされたテキストを動き回るようにすることによって、ビデオアセンブリエディタ154においてアセンブリされる。
[00116] ビデオアセンブリエディタ154において、ユーザは、従来のワードプロセッシング編集機能を使用して、テキスト表示ウィンドウ(例えば、文字起こしテキストウィンドウ)におけるサウンドバイトまたはテキストセグメント345を選択する。ユーザは、選ばれたサウンドバイトテキスト345を視覚的タイムライン350上に移動させる。タイムライン355上に表されるクリップは、少なくともドラッグアンドドロップ方法によって並べ替えられ、トリミングされて、最もよく知られているフォーマットであるH.264 MPEG-4を含むなど多数のビデオメディアフォーマットのいずれかによりエクスポートされることが可能であるビデオラフカットをアセンブリしてよい。ファインカットまたはフォーマルカットは、Adobe Premiere Pro、Final Cut Pro X、SRT Subtitles、Avid Media Composer、DAvinci Resolve、Avid Pro Tools、およびAdobe Audiionなどの専用非線形編集システム上にて実行されることが可能である。
[00117] 文字起こしテキストおよびビデオは、関連付けられたタイムコード330によって同期して常にロックされる。ユーザがテキストポインタを文字起こしテキスト325における異なる位置に移動させた場合、ビデオウィンドウにおけるの対応するビデオは新しい位置にジャンプする。
[00118] 続けて次に
図4を参照すると、フローチャートは、ユーザが提供したビデオクリップ150からビデオプログラムをアセンブリする工程を示す。工程400では、ビデオクリップ150(例えば、デジタルビデオ)またはクリップが、ビデオプログラム360を作成しアセンブリするためのソース素材としてシステムへと受信される。工程410では、クリップ150についてのオーディオトラック315は、文字起こしエンジン152を使用して文字起こしされ、オーディオトラック315の高品質の検索可能なテキスト文字起こし325を生成する。工程420では、ユーザは、ユーザインタフェース表示パネルに表示された検索可能なテキストからサウンドバイト345を選択する。工程430では、ユーザは、選択されたサウンドバイトを視覚的タイムライン350上にドラッグアンドドロップする。工程440では、ユーザは、選択されたサウンドバイトテキスト345を所望の提示順序により配置して、アセンブリされたビデオプログラム360を形成する。工程450では、ユーザはビデオプログラム360をプレビューし、認可された共同作業者からのコメントを許可する。工程460では、アセンブリされたビデオプログラム360は、追加のファインカット処理のために非線形編集システム365にエクスポートされる。
[00119]
図5は、ビデオプロジェクトの作成中に見られるグラフィカルユーザインタフェース500の表示画面を示す。
図5では、ビデオクリップ150(
図3)の文字起こしが既に実行されており、テキスト表示パネル506に提示されている。文字起こしテキストに対応するビデオフレームを表示するビデオウィンドウ502が示されている。ユーザインタフェースのこの部分では、ビデオウィンドウ502(例えば、ビデオ再生ウィンドウ)は、ビデオクリップ150の再生を制御するための再生制御部504を含む。ビデオウィンドウ502の右側のテキストパネル506には、ビデオに対応するテキストが表示される。ユーザインタフェース画面は、ビデオクリップ150が再生され、対応するオーディオトラック315が表示され、文字起こしテキスト325が表示されてよいことを示す。ビデオフレーム、オーディオフレーム、およびテキスト文字起こしにおける要素はすべてタイムコードによって同期される。
[00120] 文字起こしテキスト506は、タイムコードによって構造化される。発話されたテキストは、テキストセグメント508または段落へと分割され、各テキストセグメントには、各テキストセグメント508に関連付けられたタイムコードを示す視覚的タイムスタンプ510が提供される。タイムスタンプ(00:22)510は、後述するように、
図6および
図7に示される文字起こしマップから導出される。タイムスタンプ510は、文字起こしにおける特定のテキストセグメント508を見つけるための便利な手法を提供する。例えば、長いビデオクリップにおいて、タイムスタンプ510は、対応するビデオ502および対応するオーディオとともに、特定のコンテンツを見つけるために長い文字起こし中を検索するための便利な手法を提供する。
[00121] ディスプレイ500の上部には、オーディオトラック315に対応するオーディオ波形512も示されている。オーディオ波形512における任意の選択された点は、テキストセグメント508に対応し、対応するビデオセグメント502にも対応する。ユーザは、オーディオ波形512中をスクロールして、そのビデオクリップ150のオーディオトラック315の特定のセグメントを選択して再生してよい。
【0072】
文字起こしマップ
[00122] 次に
図6を参照すると、オーディオトラック315がテキストへと文字起こしされるときに、文字起こしマップ600が作成される。本明細書で使用される際、「文字起こしマップ」という用語は、2つ以上の種類のデータを関連付ける文書またはデータ構造を指す。より詳細には、文字起こしマップは、タイムコードをデジタルビデオのオーディオトラックの文字起こしからの単語に関連付けるデータ構造(例えば、テーブル、インデックス、カンマ区切りリスト、ハッシュテーブル、リンクリスト)を含むことが可能である。文字起こしマップ600は、ビデオクリップ150に対応する文字起こしテキスト用の多数の識別子を提供する。文字起こしマップは、ファイル識別情報を含む。文字起こしマップ600は、ビデオクリップ150、文字起こし言語、フレームレート、その文字起こしテキストセグメント508についての開始タイムコード610および終了タイムコード630に関連するステータス情報を示す。文字起こしマップ600はまた、テキストセグメント508における第1の単語を識別する。複数の識別された話者が存在する場合、文字起こしマップは、それらの話者を識別する。
【0073】
図7では、文字起こしマップ700は、開始タイムコード710、終了タイムコード720、およびそのタイムコードセグメントに関連付けられたテキスト要素であるそのタイムコード範囲の値の内訳を示す。
図7は、システムが、開始タイムコード710および終了タイムコード720によって、各テキスト要素(個々の単語)をタイムコードにどのように関連付けるかを示す。この例では、テキスト要素「there’s」が、開始タイムコード710および終了タイムコード720に対応する。言い換えれば、開示されるシステムおよび方法は、文字起こしマップにおける単語「there’s」に対応するすべてのタイムコードを識別し、「there’s」に関連付けられた第1のタイムコードを開始タイムコード710として割り当て、「there’s」に関連付けられた最後のタイムコードを終了タイムコード720として割り当てる。特定の単語が文字起こしに2回以上出現する場合、開示されるシステムおよび方法は、タイムコードの2つ以上のグループを同じ単語に関連付けることが可能である。その例では、開示されるシステムは、文字起こしマップにおける単語に関連付けられたタイムコードの各グループにおける開始タイムコードおよび終了タイムコードを識別することによって、単語の開始タイムコードおよび終了タイムコードを決定することが可能である。タイムコードは、ビデオフレームではなく各テキスト要素に関連付けられるため、タイムコードは、従来のタイムコード構造から修正された構造に従い、最終的な数は、従来の毎秒30フレームではなく、時間の999分割を有する。
【0074】
この図では、タイムコードは、開始タイムコードおよび終了タイムコードによって連続して5つの発話された単語を追跡する。発話された単語「I」は、第1のテキスト要素に関連付けられる。発話された単語「think」は、第2のテキスト要素に関連付けられる。発話された単語「there’s」は、第3のテキスト要素に関連付けられる。発話された単語「a」は、第4のテキスト要素に関連付けられる。発話された単語「general」は、第5のテキスト要素に関連付けられる。ともに、発話されたフレーズは、「I think there is a general」であり、各テキスト要素は、非常に特定の開始タイムコードおよび終了タイムコードである。編集アプリケーションは、これらの個々のテキスト要素および各テキスト要素の値のすべてを追跡する。
図7に示されるように、タイムコードは、テキスト要素がオーディオトラック315のセグメントとして発話されるのに必要な時間に等しい量だけ増分する。
図7は、アプリケーションソフトウェアが文字起こしにおける個々の単語をどのようにロギングするかを示す。テキスト表示における特定の単語の選択によって、ビデオが文字起こしにおけるその点に移動し、テキスト表示におけるその特定の単語に関連付けられた関連ビデオフレームがキューに入れられる。同様に、その特定のテキスト要素に対応するオーディオ波形512が、ユーザインタフェースの上部のディスプレイに示される。
【0075】
ビデオアセンブリエディタ
図8は、開示される技術において使用されるビデオアセンブリインタフェース800を示す。最も左のパネルでは、インポート機能810は、クラウドストレージアプリケーションを含み得る様々なソースからビデオをインポートする能力をユーザに提供する。ビデオクリップのアップロードが完了すると、新しいプロジェクトのために、ユーザは、「マイビデオ」と題されたインポートされたビデオクリップのリストを表示することができる。これらは、ユーザの新しいビデオプロジェクトをアセンブリするために利用可能なすべてのインポートされたビデオクリップである。また、ユーザインタフェースの最も左のパネル上に、ビデオウィンドウ502が、オーディオトラック315から文字起こしテキストを示すテキストウィンドウ506とともに表示される。ビデオフレームおよび文字起こしテキスト単語は、タイムコードにより同期される。
【0076】
ユーザインタフェースにおける最も右のパネルは、新しいビデオプログラムのアセンブリにおいて使用されるグラフィカル要素を示す(800)。ビデオウィンドウ820は、ディスプレイの最上部エリアにある。ビデオウィンドウ820は、再生830制御部および一時停止832制御部を含む。このビデオウィンドウの下には、後述するように、ビデオタイムライン842のためのオープンエリア840がある。ビデオアセンブリタイムラインエリア840は、選択されたサウンドバイトおよびビデオプレビューサムネイルが、編集およびアセンブリ処理中にドラッグアンドドロップされ、シーケンス化されるスペースである。
【0077】
図9は、開示される技術において使用されるビデオアセンブリインタフェース800を示す。この図では、最も左のパネルは、「マイビデオ」と題されたインポートされたビデオクリップのリストを示していない。
図8~
図11、
図13~
図15、
図20~
図21は、特定の構成におけるビデオアセンブリインタフェース800の特徴を示すが、他の構成も可能である。例えば、ビデオアセンブリインタフェース800は、追加の特徴(例えば、タイムラインアーカイブ)、またはより少ない特徴を含む。
【0078】
図10は、ビデオプログラム360のアセンブリに使用されるサウンドバイト(例えば、文字起こしのテキストにおける1つまたは複数の単語)を選択するための選択画面のスクリーンショットを示す。文字起こしのテキストセグメント1006は、選ばれたテキストを強調表示し(例えば、文字起こしの表示におけるの1つまたは複数の単語を選択することによって)、配置アイコン1002または1004を選ぶことによって選択される。これらのアイコンは、選択されたテキストセグメント508を、対応するビデオセグメント502についての再生位置でもある、ビデオタイムラインにおける特定の再生位置に移動させる。ビデオセグメントは、ビデオアセンブリ画面上に任意の順序によりアセンブリされまた提示されてよい。ビデオセグメントは、アイコン1002または1004の選択によって並べ替えられてよい。
【0079】
ユーザが、テキストセグメントおよび対応するビデオセグメントを2つの前のビデオセグメントの間に配置することを選んだ場合、第1のアイコン1002が選択される。ユーザがテキストセグメントおよび対応するビデオセグメントをビデオセグメントのシーケンスの最後に配置することを選んだ場合、第2のアイコン1004が選択される。選択された文字起こしテキストセグメント1006は、テキスト画面上に強調表示されて示される。
【0080】
次に
図11を参照すると、ビデオアセンブリインタフェース800のスクリーンショットがより詳細に示されている。文字起こしテキスト508に対応するビデオセグメント502が示されている。文字起こし508の選択されたテキストセグメント1006は、画面上に強調表示されて示される。最も左のパネルから選択された要素は、ドラッグアンドドロップ動作によってアセンブリパネル840またはタイムラインエリアに移動される。テキストおよびビデオセグメント要素の順序付けおよび並べ替えは、ドラッグアンドドロップ動作によって同様に構成される。選択されたテキスト1006をドラッグアンドドロップすることによって、一番右のパネルにおける提示順序が再びシーケンス化される。最も右のパネルでは、プレビューフレーム1104が、選択されたテキスト1102の傍に表示される。プレビューフレーム1104は、選択されたテキスト1006に対応する、ビデオセグメント502からの1つのフレームのサムネイルである。
【0081】
プレビューフレーム1104は、選択されたテキスト1102の傍に表示される。プレビューフレーム1104は、ビデオ編集におけるサムネイルまたはヘッドフレームと同様であり、ビデオプログラムのアセンブリにおいてビデオセグメント502をシーケンス化するためのガイドとしてビデオクリップの視覚的表現を提供する。プログラム作成中にドラッグアンドドロップすることによってクリップを並べ替えることは、エディタにとって便利な手法である。画面の最も右のパネルには、その選択の最後のテキスト要素またはビデオフレームに関連付けられたタイムコード1108またはタイムスタンプの傍に、プロジェクト名1110が示されている。この時点以降、ユーザは、プレビューフレームを「クリック」してビデオを再生してよい。
【0082】
ユーザは、ドラッグアンドドロップ動作を含み得るユーザ動作によってプログラムと対話する。テキストセグメント1006および関連付けられたビデオセグメント502の選択は、ドラッグアンドドロップ動作を含み得るユーザアクションによって行われる。ビデオセグメント502の順序は、クリップのドラッグおよびドロップを含み得る並べ替えコマンドによって構成され並べ替えられてよい。クリップの並べ替えは、好ましくはドラッグアンドドロップ動作によって行われるが、他のユーザ並べ替えコマンドも考えられる。
【0083】
図12Aおよび
図12Bは、
図11に示される選択されたテキストセグメント点灯選択1006選択のタイムコード追跡を示す。選択された各単語またはテキスト要素は、その関連する開始タイムコードおよび終了タイムコードにより追跡される。例えば、テキスト要素「When」1212は開始タイムコード1202により示され、テキスト要素「.」1232は終了タイムコード1222により示される。選択されたテキストセグメント1006におけるすべてのテキスト要素または単語は、自身の関連する開始タイムコードおよび終了タイムコードとともに記憶される。
【0084】
図13および
図14に示されるように、ユーザがテキストセグメント1006を選択すると、システムは、ビデオのメディアフラグメントユニフォームリソース識別子(URI)1300にアクセスする。本明細書で使用される際、メディアフラグメントユニフォームリソース識別子は、特定のメディアアイテムを参照するプログラミングコードを指す。1つまたは複数の例では、メディアフラグメントURIは、ウェブブラウザに特定のインターネットロケーションからメディアアイテムをリクエストさせるスクリプトコードである。メディアフラグメントURIは、デジタルビデオ(例えば、「.mp4」デジタルビデオ)、オーディオファイル(例えば、「.mp3」、「.wav」オーディオファイル)、または任意の他の種類のデジタルメディアアイテムを含むメディアアイテムを参照することが可能である。
図13および
図14に示されるように、メディアフラグメントURIは、メディアアイテムの特定の部分またはセグメントをさらに参照することが可能である。例えば、メディアフラグメントURI1300は、選択された文字起こしテキストに対応するビデオセグメント用に生成され、選択されたビデオセグメントに関連付けられたメタデータを含む。ビデオセグメント1104のメディアフラグメントURI1300は、最後の要素の開始タイムコードおよび終了タイムコードを識別する。ユニバーサルリソース識別子URI1300の構造を
図13および
図14に示す。特に、
図14では、開始タイムコード1402および終了タイムコード1422は、メディアフラグメントURI1300内に示される。
【0085】
図15は、選択されたテキストセグメントに対応する複数のビデオセグメントの選択およびシーケンス化を示す。
図15において、ユーザは、第2のテキストセグメント1502を選択し、テキストセグメントをビデオアセンブリエディタタイムライン840へと移動させる。第1の選択されたビデオセグメント1104は、エディタの最上部の位置にプレビューフレームとしてユーザインタフェースに表示される。第2の選択されたビデオセグメント1504は、第1のセグメント1104の下に配置される。第1のセグメント1104は、第2のセグメントの前に再生するように構成される。開始タイムコードおよび終了タイムコードによって定められる第3のビデオセグメントが選択される場合、第3のセグメントは、第1および第2のセグメントの下に表示される。シーケンスは、第1、第2、および第3の選択が受信された順序にて第1、第2、および第3のビデオセグメントを再生するように生成される。
【0086】
図16は、コールバック関数を示す。1つまたは複数の例では、コールバック関数は、JavaScriptコールバックであることが可能である。コールバック関数は、ハイパーテキストマークアップ言語(HTML)を使用して、「一時停止」イベント1602を指定する。1つ以上の例では、本システムおよび方法は、タスクまたは動作を続けて実行するために「一時停止」イベントを組み込み、各タスクまたは動作は、前のタスクまたは動作が完了して一時停止状態へと入ると開始する。コールバックは、連続するビデオセグメントおよびそれらの再生の順序を示すビデオ識別子1604を受信する。シーケンスはさらに、
図17に示されるように、並べ替えコマンド1606によって規定される第2の再生順序で、第1、第2、および第3のビデオセグメントを再生するように構成される。連続するビデオ識別子は、並べ替えコマンド1606に応答して更新される。並べ替えコマンド1606は、シーケンスにおけるの第1、第2、および第3のビデオセグメントをグラフィックインタフェースにわたってグラフィカルに並べ替えするユーザインタフェース動作である。
【0087】
図18は、コールバック1606が、ハイパーテキストマークアップ言語(HTML)「一時停止」イベントを使用し、更新された連続するビデオ識別子1802、1804に基づく再生コマンドに応答してビデオセグメントのシーケンスを再生することを示す。この第2の再生コマンドは、更新された連続するビデオ識別子に基づいており、第1、第2、および第3のビデオセグメントを第2の順序により再生させる。
【0088】
図19は、シーケンスが、現在のビデオセグメントの再生が完了するとすぐに、第1、第2、および第3のビデオセグメントの中の連続するビデオセグメントを再生するようにさらに構成されていることを示す。シーケンスはさらに、現在のビデオセグメント1904の再生が完了するとすぐに、コールバック関数を使用して連続するビデオセグメントを再生するように構成されている。並べ替えコマンドに応答して、連続するビデオ識別子が更新され、それによって、第1、第2、および第3のビデオセグメントの再生が第2の順序により連鎖される。
【0089】
図20および
図21は、文字起こしテキストに対応するビデオクリップを選択し、シーケンス化し、再生するためのオペレーショナルビデオアセンブリエディタのユーザインタフェース画面を示す。ビデオプレーヤは、ビデオウィンドウ502においてビデオを再生するように構成される。オーディオトラック508の文字起こしは、グラフィカルに表示され、文字起こしマップに従ってビデオクリップのフレームと同期される。ユーザは、選択されたテキストをディスプレイにおいて強調表示することによって、同期された文字起こし508におけるの複数のテキストセグメント1622のうちの1つを選択する。システムは、選択されたテキストセグメント1622に同期されたビデオセグメント502を再生するように構成されている。ユーザはテキストセグメントを選択し、選択されたテキスト1622がビデオエディタタイムライン842上に移動される。
【0090】
タイムライン842は、テキストセグメントがタイムライン上にドロップされる順序により連続するビデオセグメントを再生するように構成されている。テキストセグメントに対応するビデオが表示され、テキストセグメントの開始タイムコードおよび終了タイムコードとともに実際のテキストを示す。プレビューフレーム1104は、ビデオセグメントについての開始タイムコードおよび終了タイムコードの表示とともに、選択されたテキストセグメントとともに表示される。
【0091】
ビデオプレーヤ820上の再生機能は、再生/再開ボタン830を含む。ビデオアセンブリエディタは、テキストセグメントが選択された順序によりビデオセグメントを再生する。プレーヤは、再生/再開ボタン830と、一時停止ボタン832とを含む。タイムライン1650は、選択に応答して、ビデオセグメントのそれぞれのプレビューを順序通りにグラフィカルにレンダリングするように構成される。ビデオアセンブリエディタのタイムライン1650は、テキストセグメントにおけるのテキストを、それぞれのプレビューに隣接する自身のそれぞれのタイムスタンプとともに、それぞれのプレビューに隣接してグラフィカルにレンダリングするように構成される。第2のテキストおよびビデオセグメント1504は、第1の選択されたセグメント1104の下に配置される。第3のテキストおよびビデオセグメント2004は、第2の選択されたテキストおよびビデオセグメント1504の下に配置される。タイムライン内の再生位置をユーザが見ることができるように、ビデオの下にプログレスバーが表示されてよい。また、共同作業者の現在の再生位置を表示してもよい。ユーザはまた、サムネイル1104、1504、および2004をクリックすることによって、セグメント間を前後にスキップしてもよく、または1つに直接ジャンプしてもよい。
【0092】
1つまたは複数の例では、開示されるシステムおよび方法は、対応するビデオクリップから第1のビデオフレームを選択することによって、サムネイル1104、1504、および2004における画像を選択する。追加の例では、開示されるシステムおよび方法は、画像認識技法を利用して、特定のオブジェクト(例えば、人間の顔)を示す対応するビデオクリップから第1のビデオフレームを選択することによって、サムネイル1104、1504、および2004における画像を選択することが可能である。
【0093】
開示される技術の動作
新しいプロジェクトを作成する際、ユーザは、クラウドストレージアプリケーションにアクセスすることによって、多くの場合MP4ビデオの形態において、オーディオおよびデジタルビデオファイルをドラッグアンドドロップする。ダウンロードされたデジタルビデオは、オーディオトラック、ビデオトラック、およびビデオトラックにおけるオーディオトラックの同期タイムコードを含む。第1の工程は、元のオーディオを選ばれた言語の文字起こしに文字起こしすることである。この形式では、オーディオトラックにおける発話された単語に対応する文字起こしテキストファイルが作成される。開示されるシステムおよび方法は、マッピングされたタイムコードを利用して、文字起こしにおけるの各単語を、オーディオトラックにおける対応する発話された単語およびデジタルビデオにおける対応するビデオフレームに関連付ける。テキスト文字起こしは、オーディオトラックにおいて元の言語であるが、再生中にオーディオトラックをミュートすることと同様に、必要に応じて、第2の工程としてテキストを他の言語へと変換するための準備がある。
【0094】
次の段階であるビデオアセンブリモードでは、テキストを編集することによってビデオがカットされる。テキストへと文字起こしされた話者の音声からのサウンドバイトのテキスト表現を選択してシーケンス化することによって、対応するビデオもグラフィカルタイムライン上にてシーケンス化される。選択されたサウンドバイトに対応するビデオクリップをシーケンス化することによってラフカットビデオが作成されると、タイムギャップおよびブルーパー(不体裁)の除去などの他のビデオ編集動作が実行され、よく知られているMP4などの様々なエクスポートフォーマットを使用してビデオをエクスポートすることが可能である。続いて、ラフカットビデオは、非線形ビデオ編集アプリケーションにおいてさらに処理されることが可能である。
【0095】
話者ビデオリソースでは、単一の文字起こしにおいて複数の話者を識別することが可能である。各デジタルビデオは、1つまたは複数の話者を描写することが可能である。例えば、複数の話者を特徴とするデジタルビデオは、ビデオ会議の録画であってよい。したがって、開示されるシステムおよび方法は、デジタルビデオ内の話者の各々を識別し、示す、そうしたデジタルビデオの文字起こしを生成することが可能である。
[00146] ビデオ会議センターは、ビデオ録画中に元のオーディオチャネルソースをマーキングすることによって文字起こしの生成を容易にし、文字起こし処理が話者を区別するのを助け、同時に話している複数の話者を認識することが可能である。これは、別々の話者の別々のチャネル発信源を活用して、複数話者のビデオ会議中に実用的である。さらに、話者の識別は、話者のログインおよびチャネル発信源の属性に基づいて、話者のチャネル用のビデオ録画ファイルにおけるキャプションとして注釈を付すことが可能である。
[00147] より詳細には、本明細書に記載されるシステムおよび方法は、デジタルビデオからオーディオトラックを抽出し、オーディオトラックにおいて特徴付けられる1人または複数の話者の声の特性を同時に分析しながら、オーディオトラックを文字起こしすることが可能である。この声の特性の分析に基づいて、開示されるシステムおよび方法は、文字起こし内の単語またはテキストのブロックに関連付けられた話者を識別する話者タグを文字起こしに追加することが可能である。
[00148] 1つまたは複数の例では、システムおよび方法は、対話型制御として話者タグを生成する。例えば、特定の話者タグの選択が検出されることに応答して、システムおよび方法は、特定の話者タグに関連付けられた文字起こし内のすべてのテキストを自動的に強調表示または選択することが可能である。次いで、ビデオタイムライン上へのハイライトされたテキストのドラッグアンドドロップが検出されることに応答して、開示されるシステムおよび方法は、ハイライトされたテキストの各ブロックまたはセグメントに対応するビデオクリップまたはセグメントを生成することが可能である。このようにして、開示されるシステムおよび方法は、デジタルビデオが追加の話者も描写するときであっても、デジタルビデオに描写される単一の話者に関連付けられたビデオクリップの容易な作成を可能にする。
【0096】
ブルーパーの除去
ブルーパーは、話者が、プログラムのコンテキストに対して不適切であるか、困惑させるか、または不相応である何かを述べた場合に、録画されたインタビューまたは情報ビデオインタビューにおいて生じ得る。通常、これらの「ブルーパー」をビデオプログラムから除去することが望ましい。選択されたコンテンツは、検索するキーワードのリストを提供することによって、ブルーパーとして識別されてよい。これに加えて、開示されるシステムおよび方法は、特定のキーワードの単一のインスタンスの選択が検出されることに応答して、文字起こしにおける特定のキーワードをブルーパー単語として識別してよい。ユーザは、このキーワード検索に基づいて文字起こし内の単語を操作することによって、録音の一部、オーディオおよびビデオの両方を削除してよい。このソリューションは、ユーザが不相応なコンテンツを削除することを選べるように、ブルーパーキーワードおよびブルーパーキーワードの直前のコンテンツに対してユーザに警告するように文字起こしシステムを訓練することによって拡張することが可能である。例えば、本明細書に開示されるシステムおよび方法は、望ましくない言葉遣いが経時的に変化し得るので、ユーザトレンドに基づいて任意のキーワードを自動的に検出するように機械学習モデルを訓練することが可能である。
【0097】
不流暢性の除去
また、開示される技術は、不流暢性の自動除去を提供する。発話の流れにおける中断または途絶は、「不流暢性」とラベル付けされる。これらは、「uhm」またはどもりによって引き起こされる休止などの、発話の躊躇および不規則性を包含する。非流暢性は、発話された単語間の過度の休止を検出することによって、または既知の非流暢性発声のキーワードリストを使用することによって識別されてよい。識別されると、ソフトウェアは、文字起こしから不流暢性を自動的に削除してよい。さらに、非流暢性は、機械学習法によって検出されてよい。
【0098】
より詳細には、開示されるシステムおよび方法は、多くの手法によりキーワード(例えば、ブルーパー、非流暢性、または他の種類の単語)を除去することが可能である。例えば、開示されるシステムおよび方法は、文字起こしマップにおけるキーワードに関連付けられた開始タイムコードおよび終了タイムコードの対のリストを識別することによって、キーワードを除去する。次に、システムおよび方法は、リストを利用して、ビデオアセンブリインタフェースに関連付けられたHTMLコードにおける一連の「一時停止」ステートメントを更新する。例示すると、デジタルビデオの文字起こしにおけるキーワードの2つのインスタンスを識別することに応答して、システムおよび方法は、1)デジタルビデオの開始に対応する開始タイムコードおよびキーワードの第1のインスタンスの開始タイムコードに対応する終了タイムコード、2)キーワードの第1のインスタンスの終了タイムコードに対応する開始タイムコードおよびキーワードの第2のインスタンスの開始タイムコードに対応する終了タイムコード、ならびに3)キーワードの第2のインスタンスの終了タイムコードに対応する開始タイムコードおよびデジタルビデオの終了に対応する終了タイムコードを含むように、3つの「一時停止」ステートメントを更新または生成することが可能である。このようにして、再生時に、「一時停止」ステートメントは、デジタルビデオからキーワードを効果的に除去する。
【0099】
共同作業モード
ビデオプログラムの作成は、共同作業であり、またそうであり続けている。本開示の技術は、プロジェクトの発起人が、他者に共同作業するように招待することによって、プロジェクトを他の共同作業者と共有することを提供する。
【0100】
1つの態様では、ユーザは、他者にラフカットビデオプログラムを共同作業し再生するように招待してよい。共同作業者は、アプリケーションのユーザインタフェースにセキュリティクレデンシャルを入力してよく、これによって、共同作業者が認可したステータスが、ビデオアセンブリエディタにおいて開発中のビデオプログラムに関するほぼリアルタイムの解説を提供することが可能になる。例えば、ユーザは、特定のビデオプロジェクトに関連付けられた一意のセキュリティ証明書が生成され、共同作業者に提供されることを要求することが可能である。このようにして、開示されるシステムおよび方法は、共同作業者に対し許可されるアクセスのレベルを制御することが可能である。
【0101】
共同作業者は、ラフカットを閲覧して承認し、または代替案もしくは改善案を提案し、および実際に異なるバージョンを作成してよい。例えば、共同作業者は、異なるバージョンを再生して、ビデオセグメントの代替シーケンスを閲覧し、コメントまたは提案された編集をユーザに提供してよい。
【0102】
より詳細には、開示されるシステムおよび方法は、1つまたは複数の手法によりビデオクリップを含むビデオ時間の追加バージョンを作成することが可能である。1つの例では、開示されるシステムおよび方法は、共同作業者(例えば、元のビデオタイムラインの作成者以外のユーザ)によって開始された元のビデオタイムラインに関連する編集を検出することが可能である。例えば、システムおよび方法は、元のビデオタイムラインに追加されたコメントまたは注釈、元のビデオタイムライン内のビデオクリップの並べ替え、および/または元の時間内のビデオクリップ間のトランジションまたはフェードの追加または変更を含む編集を検出することが可能である。1つ以上の例では、検出された編集を元のビデオタイムラインへと永続的に組み込むのではなく、開示されるシステムおよび方法は、元のビデオタイムラインをそのまま残しておき、検出された編集を組み込む第2のビデオタイムラインを生成することが可能である。例えば、開示されるシステムおよび方法は、元のビデオタイムラインのビデオクリップに関連して検出された編集を反映する第2の組の「一時停止」イベントを生成することが可能である。開示されるシステムおよび方法は、次いで、元のビデオタイムラインおよび第2のビデオタイムラインへのアクセスを提供するビデオアセンブリインタフェースに関連して、アーカイブ表示を生成することが可能である。1つ以上の例では、開示されるシステムおよび方法は、このアーカイブ表示をリアルタイムに提供することができる。それによって、ビデオタイムラインの作成者は、元のビデオタイムラインをアセンブリし続けながら、どの編集を組み込むかをピックし選ぶことが可能である。
【0103】
ビデオプログラムの作成は、共同作業であり、またそうであり続けている。本開示の技術は、プロジェクトの発起人が、他者に共同作業するように招待することによって、プロジェクトを他の共同作業者と共有することを提供する。共同作業者は、視覚的アイコン(絵文字)を用いてタイムライン上にて承認または不承認を示してよい。
ユーザインタフェース
1つの態様では、開示される技術は、ビデオ編集用の、および専用ウェブサイトにおいて実装されるビデオプログラムをアセンブリするための方法およびシステムである。開示される技術は、競合製品よりも優れた強化されたユーザエクスペリエンス(UX)を提供する。ワークフローは、ビデオプログラムをアセンブリするための理解しやすいガイドされた方法である。開示される技術は、専用ビデオ編集システムにおける後処理または最終処理のためにエクスポートされることが可能である最終プログラムをもたらす、ビデオプログラム作成処理を単純化することによって、向上したユーザエクスペリエンスを提供する。
【0104】
様々な競合製品は、ユーザフレンドリではないという欠点を有する。ワークフローおよびユーザエクスペリエンス(UX)が複雑、非論理的、または非直観的であるとき、ユーザは、ウェブサイトを使用する気が全くなくなり得ることが知られている。ユーザに心地よいユーザエクスペリエンス(UX)を提供することは、ウェブサイトアプリケーションのさらなる使用を促進する。ユーザインタフェースは、複数のモニタ上において同時に2つのインタビューの文字起こしを閲覧することをサポートし、主題間の切断をより高速にしてよい。
【0105】
別の態様では、タイムラインは、トピックおよびネストされたシーケンスによって構成されてよい。
コンピュータシステム
図22は、開示される技術を実装するために使用されることが可能であるコンピュータシステム2200である。コンピュータシステム2200は、バスサブシステム2255を介して複数の周辺デバイスと通信する1つ以上の中央処理装置(CPU)2272を含む。これらの周辺デバイスは、例えば、メモリデバイスおよびファイルストレージサブシステム2236を含むストレージサブシステム2210、ユーザインタフェース入力デバイス2238、ユーザインタフェース出力デバイス2276、ならびにネットワークインターフェースサブシステム2274を含むことが可能である。入力デバイスおよび出力デバイスは、コンピュータシステム2200とのユーザ対話を可能にする。ネットワークインタフェースサブシステム2274は、他のコンピュータシステムにおける対応するインタフェースデバイスへのインタフェースを含む、外部ネットワークへのインタフェースを提供する。
【0106】
1つの実装では、ビデオアセンブリエディタ2240は、ストレージサブシステム2210およびユーザインタフェース入力デバイス2238に通信可能にリンクされる。
ユーザインタフェース入力デバイス2238は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイへと組み込まれたタッチスクリーン、音声認識システムおよびマイクロフォンなどのオーディオ入力デバイス、ならびに他の種類の入力デバイスを含むことが可能である。一般に、「入力デバイス」という用語の使用は、コンピュータシステム2200へと情報を入力するためのすべての可能な種類のデバイスおよび方法を含むことが意図される。
【0107】
ユーザインタフェース出力デバイス2276は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含むことが可能である。ディスプレイサブシステムは、LEDディスプレイ、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含むことが可能である。ディスプレイサブシステムは、オーディオ出力デバイスなどの非視覚ディスプレイを提供することも可能である。一般に、「出力デバイス」という用語の使用は、コンピュータシステム2200からユーザまたは別の機械もしくはコンピュータシステムへと情報を出力するためのすべての可能な種類のデバイスおよび方法を含むことが意図される。
【0108】
ストレージサブシステム2210は、本明細書に記載されるモジュールおよび方法のいくつかまたはすべての機能を提供するプログラミングおよびデータ構造を記憶する。これらのソフトウェアモジュールは、一般に、プロセッサ2278によって実行される。
【0109】
プロセッサ2278は、グラフィックスプロセッシングユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、および/または粗粒度再構成可能アーキテクチャ(CGRA)であることが可能である。プロセッサ2278は、Google Cloud Platform(商標)、Xilinx(商標)、およびCirrascale(商標)などの深層学習クラウドプラットフォームによってホストされることが可能である。プロセッサ2278の例は、GoogleのTensor Processing Unit(TPU)(商標)、GX4 Rackmount Series(商標)、GX22 Rackmount Series(商標)、NVIDIA DGX-1(商標)のようなラックマウントソリューション、MicrosoftのStratix V FPGA(商標)、GraphcoreのIntelligent Processor Unit(IPU)(商標)、Snapdragonプロセッサ(商標)を有するQualcommの0th Platform(商標)、NVIDIAのVolta(商標)、NVIDIAのDRIVE PX(商標)、NVIDIAのJETSON TX1/TX2 MODULE(商標)、IntelのNirvana(商標)、Movidius VPU(商標)、Fujitsu DPI(商標)、ARMのDynamicIQ(商標)、IBM TrueNorth(商標)、Testa VlOos(商標)を有するLambda GPU Serverなどを含む。
【0110】
ストレージサブシステム2210において使用されるメモリサブシステム2222は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)2232と、固定命令が記憶されている読取専用メモリ(ROM)2234とを含むいくつかのメモリを含むことが可能である。ファイルストレージサブシステム2236は、プログラムおよびデータファイル用の永続的ストレージを提供することが可能であり、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブルメディアカートリッジを含むことが可能である。いくつかの実装の機能を実装するモジュールは、ファイルストレージサブシステム2236によってストレージサブシステム2210に、またはプロセッサによってアクセス可能な他のマシンに記憶されることが可能である。
【0111】
バスサブシステム2255は、コンピュータシステム2200の様々なコンポーネントおよびサブシステムを意図されるように互いに通信させるための機構を提供する。バスサブシステム2255は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実装は、複数のバスを使用することが可能である。
【0112】
コンピュータシステム2200自身は、パーソナルコンピュータ、ポータブルコンピュータ、ワークステーション、コンピュータ端末、ネットワークコンピュータ、テレビ、メインフレーム、サーバファーム、広く分散された1組の疎にネットワーク化されたコンピュータ、または任意の他のデータ処理システムもしくはユーザデバイスを含む、様々な種類のものであることが可能である。コンピュータおよびネットワークの絶えず変化する性質に起因して、
図22に示されるコンピュータシステム2200の記載は、本開示の好ましい実装を示す目的のための特定の例としてのみ意図される。
図22に示されるコンピュータシステムよりも多いまたは少ないコンポーネントを有するコンピュータシステム2200の多くの他の構成が可能である。
【0113】
本明細書において説明されるプロセッサまたはモジュールの各々は、特定の処理を実行するためのアルゴリズム(例えば、有形および/または非一時的コンピュータ可読記憶媒体上に記憶された命令)またはサブアルゴリズムを含んでよい。モジュールは、モジュールの集合として概念的に示されているが、専用ハードウェアボード、DSP、プロセッサ等の任意の組合せを利用して実装されてよい。これに代えて、モジュールは、単一のプロセッサまたは複数のプロセッサを有する既製のPCを利用して実装されてよく、機能動作はプロセッサ間において分散される。さらなる選択肢として、以下に記載されるモジュールは、特定のモジュール機能が専用ハードウェアを利用して実行され、残りのモジュール機能が既製のPCなどを利用して実行されるハイブリッド構成を利用して実装されてよい。モジュールはまた、処理ユニット内のソフトウェアモジュールとして実装されてよい。
【0114】
本明細書において説明される方法の様々な処理および工程は、コンピュータを使用して実行されることが可能である。コンピュータは、検出デバイスの一部でありコンピュータによって処理されるデータを取得するように使用される検出デバイスとネットワーク化されたプロセッサ、または検出デバイスとは別個のプロセッサを含むことが可能である。いくつかの実装では、情報(例えば、画像データ)は、直接またはコンピュータネットワークを介して、本明細書に開示されるシステムのコンポーネント間において伝送されてよい。ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)は、システムを備えるコンピュータおよびコンピューティングデバイスが接続される、インターネットへのアクセスを含む企業コンピューティングネットワークであってよい。1つの実装では、LANは、伝送制御プロトコル/インターネットプロトコル(TCP/IP)業界標準に準拠する。いくつかの例では、情報(例えば、画像データ)は、入力(例えば、ディスクドライブ、コンパクトディスクプレーヤ、USBポート等)を介して本明細書に開示されるシステムへと入力される。いくつかの例では、情報は、例えば、ディスクまたはフラッシュドライブなどのストレージデバイスから情報をロードすることによって受信される。
【0115】
本明細書において説明されるアルゴリズムまたは他の処理を実行するように使用されるプロセッサは、マイクロプロセッサを備えてよい。マイクロプロセッサは、Intel社製のPentium(商標)プロセッサなどの任意の従来の汎用シングルチップまたはマルチチップマイクロプロセッサであってよい。特に有用なコンピュータは、Intel Ivybridgeデュアル12コアプロセッサ、128GBのRAMを有するLSIraidコントローラ、および2TBソリッドステートディスクドライブを利用することが可能である。これに加えて、プロセッサは、デジタル信号プロセッサまたはグラフィックプロセッサなどの任意の従来の専用プロセッサを備えてよい。プロセッサは、典型的には、従来のアドレス線、従来のデータ線、および1つまたは複数の従来の制御線を有する。
【0116】
本明細書に開示される技術は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成するための標準的なプログラミング技法またはエンジニアリング技法を使用して、方法、装置、システム、または製品として実装されてよい。本明細書で使用される「製造品」という用語は、ハードウェア、または光ストレージデバイス、および揮発性もしくは不揮発性メモリデバイスなどのコンピュータ可読媒体に実装されたコードまたは論理を指す。そうしたハードウェアは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、コンプレックスプログラマブルロジックデバイス(CPLD)、プログラマブルロジックアレイ(PLA)、マイクロプロセッサ、または他の同様の処理デバイスを含んでよいが、これらに限定されない。特定の実装では、本明細書において説明される情報またはアルゴリズムは、非一時的記憶媒体に存在する。
【0117】
この節に記載される方法の他の実装は、上記の方法のいずれかを実行するためにプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含むことが可能である。この節に記載される方法のさらに別の実装は、メモリと、上記の方法のいずれかを実行するためにメモリに記憶された命令を実行するように動作可能な1つまたは複数のプロセッサとを含むシステムを含むことが可能である。
【0118】
開示される技術の1つまたは複数の実装、またはその要素は、示される方法工程を実行するためのコンピュータ使用可能プログラムコードを有する非一時的コンピュータ可読記憶媒体を含むコンピュータ製品の形態により実装されることが可能である。さらに、開示される技術の1つまたは複数の実装、またはその要素は、メモリと、メモリに結合され、例示的な方法工程を実行するように動作する1つ以上のプロセッサとを備える装置の形態により実装されることが可能である。さらに、別の態様では、開示される技術の1つまたは複数の実装、またはその要素は、本明細書に記載される方法工程のうちの1つまたは複数を実行するための手段の形態により実装することが可能である。その手段は、(i)ハードウェアモジュール、(ii)1つまたは複数のハードウェアプロセッサ上において実行されるソフトウェアモジュール、または(iii)ハードウェアモジュールとソフトウェアモジュールの組合せを含むことが可能であり、(i)~(iii)のいずれも、本明細書において説明される特定の技法およびソフトウェアを実装する。
【0119】
本開示は、上に詳述された好ましい実施形態および実施例を参照することによって開示されるが、これらの実施例は、限定的な意味ではなく例示的な意味に意図されることが理解される。修正および組合せは当業者に容易に想到され、その修正および組合せは以下の特許請求の範囲内であることが企図される。
【0120】
特定の実装
サウンドバイトベースの編集を使用してビデオプログラムをアセンブルするためのいくつかの特定の実装形態および特徴が、以下の説明に記載される。開示される技術は、使用するために特別な訓練またはチュートリアルを必要としない直感的なユーザインタフェースを使用して、ラフカットビデオを生成するための時間節約手法である。開示される1つの実装では、発話された単語およびサウンドバイトに基づくビデオプログラムのアセンブリおよび編集のためにシステムおよびコンピュータ実装方法が提供される。開示される技術は、ネットワークを通じてソースA/Vファイルをインポートし、インポートされたビデオファイルに関連付けられた発話された単語からビデオプログラムをアセンブリして編集する手法をユーザに提供する。過去の非線形ビデオ編集は、専用ソフトウェアを有する複雑で高価な専用機械を実行していた。開示される技術は、クラウドベースのアプリケーションまたはネットワークを使用して、遠隔位置から大半のインターネットユーザが入手できるビデオ編集およびビデオプログラムのアセンブリをもたらす。
【0121】
ビデオファイルは、一般に、オーディオトラックおよびビデオトラックからなる。このオーディオトラックおよびビデオトラックは、ビデオの各フレームがオーディオのフレームへとロックされるようにタイムコードによって同期される。実際には、ビデオトラックにおけるオーディオトラックは同期されている。オーディオの1フレームは、タイムコードによってビデオの1フレームに関連付けられる。ビデオクリップはまた、同期タイムコードとともに、フレームレート、画像解像度を含む様々な種類の他のメタデータを含む。ソースオーディオ/ビデオクリップは、MPEG4などのよく知られているフォーマットなどの様々なフォーマットにおいてインポートされてよい。開示される技術は、ソースオーディオ/ビデオクリップおよびよく知られているビデオフォーマットのいずれかをインポートする。
【0122】
1つの態様では、発話された音声を有する発話されたオーディオを含むビデオトラックが、スピーチからテキストへのエンジンによって検索可能なテキストへと文字起こしされる。テキスト文字起こしは編集可能なテキスト文書として現れる。文字起こし処理では、タイムコードがオーディオトラックから文字起こしされた各単語に関連付けられる。単語はビデオにマッピングされ、発話されたすべての単語は、開始タイムコードおよび停止タイムコードを有する関連するタイムコードを有する。文字起こしテキストの各単語は、対応する開始タイムコードおよび終了タイムコードを有する。発話された各単語はタイムコードマーカに対応し、タイムコードマーカは1つまたは複数のビデオフレームに対応する。
【0123】
1つの実装では、文字起こしテキストは、従来のワードプロセッシング動作およびテキスト編集機能を使用して編集されてよい。テキストは、キーワードの使用によって検索されてよい。対応するテキストを検索することによって、正確なフラグメントまたはサウンドバイトが文字起こしテキストにおいて識別され、文字起こしテキストセグメントとして選択されることが可能である。テキストを選択し、タイムラインディスプレイ上にテキストセグメントを配置することによって、ビデオプログラムをタイムラインディスプレイ上においてアセンブリすることが可能である。選択されたビデオセグメントにおけるビデオフレームは、選択されたテキストセグメントに正確に対応する。複数のテキストセグメントが、ユーザによって選択され、ドラッグアンドドロップ動作によってタイムラインに移動し、プレイリストとしてシーケンス化されてよい。このようにして、再生することが可能であるビデオプログラムがアセンブリされ、一方、ユーザは、最終的なシーケンスに満足するまで実験し、最終的なシーケンスは、完全なプログラムとしてエクスポートされることが可能であり、またはラフカットビデオプログラムとしてエクスポートされることが可能であり、最終的なシーケンスは、ファインカット仕上げのために専用の非線形編集システムまたはアプリケーションにエクスポートされることが可能である。開示される技術は、ユーザによって任意の選ばれた順序にてタイムラインディスプレイ上にビデオプログラムをアセンブリするために使用されることが可能である。ビデオセグメントのシーケンスは、所望に応じて順序付け、並べ替え、および編集されてよい。シーケンスは、ユーザがビデオプログラムの構成に完全に満足し、ユーザがエクスポートする準備ができるまで、ビデオセグメント自身の内で変更されることが可能である。
【0124】
ビデオプログラムのアセンブリにおいて、開示される技術は、ユーザが、ビデオプロジェクトがアセンブリされているときに認可された共同作業者にビデオプロジェクトを見させることを可能にする。認可された共同作業者は、ビデオにログオンしてビデオを再生し、プロジェクトにコメントを提供し、改善のための代替案を提案し、または単に絵文字の形態により肯定的なインジケータを提供することが可能である。
【0125】
開示される技術のこの節および他の節に記載される方法は、以下の特徴および/または開示される追加の方法に関連して記載される特徴のうちの1つまたは複数を含むことが可能である。簡潔にするために、本出願において開示される特徴の組合せは、個々に列挙されず、特徴の各基本セットにより繰り返されない。読者は、この方法により識別された特徴を、実装として識別された基本特徴のセットとどのように容易に組み合わせることが可能であるかを理解する。
【0126】
別の態様において、本開示は、関連コンテンツを検索するための非常に高速な手法を提供する。代替は、ビデオおよびオーディオトラック全体を見ることであり、これは、リアルタイム速度よりも速い速度にて見たときであっても、時間がかかり得る。検索可能な文字起こしテキストを使用することによって、関連するテキストを見つけることが促進される。関連するコンテンツを見つけるために、文字起こしテキストに関連付けられたビデオ全体を見たり、オーディオ全体を聞いたりする必要はもはやない。ユーザが文字起こしにおけるテキストを強調表示すると、そのテキストに対応するオーディオおよびビデオは、視聴のために直ちにキューに入れられる。この特徴はまた、ユーザが特定のビデオプログラムをアセンブリするのに不可欠である特定のサウンドバイトを迅速に識別することが可能であるため、ビデオプログラムのアセンブリを促進する。
【0127】
開示される技術の1つの態様では、ソースA/Vファイルからオーディオ/ビデオプログラムをアセンブリするためにビデオ実装方法が提供される。その方法は、1つ以上のソースオーディオ/ビデオファイルをインポートする工程を備え、オーディオ/ビデオファイルは、オーディオトラックおよびビデオトラックを含む。オーディオトラックはオーディオフレームを含み、ビデオトラックはタイムコードによって同期されたビデオフレームを含む。オーディオトラックはさらに、対応するビデオフレームと同期している1人または複数の話者の音声からの発話されたスピーチを含む。その方法は、スピーチからテキストへのエンジンを使用して、発話されたスピーチのテキスト文字起こしを作成する工程を備える。テキスト文字起こしの作成中、オーディオトラックにおける各単語は、対応するビデオフレームにマッピングされる。モニタ画面上において、オーディオの文字起こしは、対応するビデオフレームの指示とともに、テキストウィンドウにテキストとして表示される。本技術は、テキスト要素を文字起こしマップにおける対応するビデオフレームにマッピングし、各単語は、開始タイムコードおよび終了タイムコードを有する。ユーザは、ユーザインタフェースを通じて対話してテキストセグメントを選択し、選択されたテキストセグメントを対応するビデオセグメントとともにモニタ画面上の視覚的タイムラインへと移動させる。テキストセグメントおよび対応するビデオセグメントは、視覚的タイムライン上に一緒に表示される。
【0128】
開示される技術は、複数の話者について発話されたコンテンツを追跡し、コンテンツは、各話者のスピーチ特性に基づいて、各話者について自動的にラベル付けされる。1つの態様では、発話されたコンテンツは話者の名前によりラベル付けされる。別の態様では、話者ごとの識別ラベルは、ユーザによって手動で付与される。ユーザは、話者識別ラベルを選択されたテキストに割り当ててよく、それは、ソフトウェアによって同じ話者であると決定されたすべての他のパラグラフに伝搬する。
【0129】
1つの態様では、コンピュータ実装方法は、選ばれた表示シーケンスにより配置された選択されたビデオクリップを表示するためのビデオタイムラインを提供する。ビデオプログラムをアセンブリするための方法のいくつかの実装では、複数のテキストセグメントおよび対応するビデオセグメントが視覚的タイムラインに移動され、タイムライン上にてユーザが選択した再生順序により表示される。1つの例では、3つ以上のテキストおよびビデオセグメントが、アセンブリされたビデオプログラムを含んでよい。開示される方法の別の例では、再生コマンドに応答して、選択されたセグメントは、タイムライン上に示されるようなシーケンスに示される選択の順序により再生されてよい。これに代えて、ユーザ選択に応答して、再生のシーケンスは、再生用に第2の選択された順序に並べ替えられてよい。同様に、ユーザ選択に応答して、第3の選択された順序による再生用のタイムライン上の選択されたビデオセグメントの再生。並べ替えコマンドは、ユーザがテキストおよびビデオ選択を異なる選ばれた順序へとドラッグアンドドロップすることを可能にする。ユーザは、順方向または逆方向にスキップし、選ばれたサムネイルをクリックして、再生1104、1504、または2004におけるその点にジャンプしてよい。
【0130】
1つの態様では、ユーザは、遠隔の共同作業者を、ビデオプログラムを再生し、リアルタイムにコメントするか、またはユーザにフィードバックを提供するように、認可してよい。共同作業者は、パスワードおよび他のネットワークセキュリティ手段を使用することによって認可される必要がある。開示される技術の別の実装では、話者が不要なコンテンツのために適切な言語を使用する状況において、いくつかのビデオコンテンツを除去することが望ましい場合がある。文字起こしテキスト上においてキーワード検索を行うことによって、不要なコンテンツが見つかり、アセンブリされたものから削除されてよい。キーワードのリストは、不要なコンテンツのすべてのインスタンスを識別するように、文字起こしテキスト全体に適用することも可能である。不要なテキストコンテンツを削除することによって、対応するビデオセグメントも削除される。
【0131】
別の開示される実装では、テキスト選択に対応するビデオフレームが取り出され、取り出されたテキスト選択およびビデオ選択は、ビデオプログラムのさらなる編集およびアセンブリのためにタイムラインディスプレイに移動される。完全にアセンブリされたビデオプログラムは、ラフカットビデオの形態をとってよく、これは、ファインカット処理のために二次ビデオ編集システムにエクスポートされる。
【0132】
開示される技術は、オーディオ/ビデオプログラムをアセンブリするためのシステムとして実装されてよい。システムは、ユーザからアップロードされたビデオファイルを記憶するためのA/Vストレージビンを備える。ビデオファイルは、オーディオトラックおよびビデオトラックを含む。オーディオトラックはオーディオフレームを含み、ビデオトラックはタイムコードによって同期されたビデオフレームを含む。オーディオトラックは、対応するビデオフレームと同期して、1人または複数の話者から発話されたスピーチをさらに含む。スピーチからテキストへのエンジンは、オーディオトラックにおける発話されたスピーチのテキスト文字起こしを作成するために提供され、文字起こしされた各単語は、対応するビデオフレームにマッピングされる。モニタ画面は、テキスト文字起こしを表示する。ユーザが選択したテキストセグメントおよび対応するビデオセグメントが示されている。ユーザが選択したテキストセグメントおよび対応するビデオセグメントをタイムライン上のユーザが選択した再生順序へとシーケンス化するためにモニタ画面上に表示される視覚的タイムライン。
【0133】
いくつかの開示される実装は、ユーザが選択したテキストセグメントおよび対応するビデオセグメントの再生順序を精緻化することを提供し、ユーザのドラッグアンドドロップ動作によって実行される。システムは、再生、提案、およびコメントを含む、ビデオプログラムとの認可された共同作業者の対話を受け入れることを可能にする。共同作業者による変更は、リアルタイムにタイムラインに反映されてよい。
【0134】
1つの実装では、ネットワークを通じてビデオプログラムを作成しアセンブリするためのシステムが提供される。ホストコンピュータは、ネットワークインタフェースと動作可能に接続されている。ネットワークインタフェースは、ネットワークと動作可能に接続されている。アプリケーションサーバは、ネットワークインタフェースと動作可能に通信する。アプリケーションサーバは、ビデオプログラムをアセンブリするためのウェブサイトアプリケーションをホストするように構成され、サーバは、リモートユーザにホストコンピュータへのウェブページアクセスを提供するためのユーザインタフェースを有する。ユーザインタフェースは、A/Vストレージビンおよびビデオ編集リソースと動作可能に通信する。ユーザインタフェースは、ビデオ番組をアセンブリするためのウェブページ画面を含む。ユーザインタフェースは、ユーザのA/Vファイルをアプリケーションへとアップロードするように構成されたウェブページ画面を含む。ユーザインタフェースは、選択されたA/Vファイルのオーディオトラックから文字起こしテキスト用のテキストウィンドウを表示するように構成されたウェブページ画面をさらに含み、表示されたテキスト単語はタイムコードにより同期されたビデオコンテンツに対応する。ウェブページ画面は、タイムラインを提供するように構成され、ユーザは、テキストセグメントと文字起こしテキストセグメントに対応するビデオセグメントとを選択してよい。ウェブページ画面は、選択されたテキストセグメントのシーケンスを、対応するビデオセグメントとともに垂直タイムライン構成にて示すように構成される。テキストセグメントおよび対応するビデオセグメントのシーケンスは、選ばれた再生シーケンスにおいてタイムラインディスプレイ上にリストされる。シーケンスは、ユーザのドラッグアンドドロップ動作によって並べ替えられてよい。
【0135】
開示されるシステムのさらなる態様では、オーディオトラックから文字起こしテキストを表示するためのテキストウィンドウと、文字起こしテキストに対応する画像フレームを表示するためのビデオウィンドウと、文字起こしテキストセグメントをユーザが選んだ再生シーケンスにおけるタイムライン上にドロップおよびドラッグするためのタイムラインとが提供される。タイムラインは、選択されたテストセグメント、ビデオプレビューフレーム、およびビデオ再生ウィンドウを表示し、ここで、再び選択されたテキストセグメントは、ドラッグアンドドロップ動作によって、ユーザが選択したシーケンスへと移動され、その結果、アセンブリされたビデオプログラムが選択されたシーケンスにて再生されてよい。
【0136】
実施例
実施例1:タイムコードに基づいて文字起こしされたテキストをビデオセグメントにマッピングするためのコンピュータ実装方法は、オーディオトラックの文字起こしの単語を、オーディオトラックおよびビデオトラックを含むデジタルビデオのビデオフレームに関連付ける文字起こしマップを生成する工程と、オーディオトラックの文字起こしからの1つまたは複数の単語の選択の指示を受信する工程と、文字起こしマップ内において、オーディオトラックの文字起こしからの選択された1つまたは複数の単語に関連付けられたタイムコードを決定する工程と、タイムコードに基づいてビデオクリップを生成する工程と、を備えてよい。
【0137】
実施例2:前記デジタルビデオから前記オーディオトラックを抽出する工程と、前記デジタルビデオのメタデータに基づいて前記オーディオトラックのインクリメントのタイムコードを決定する工程と、前記オーディオトラックの文字起こしを生成する工程と、前記オーディオトラックの前記インクリメントの前記タイムコードを前記オーディオトラックの前記文字起こしの対応するインクリメントに割り当てる工程と、によってオーディオトラックの文字起こしを生成する工程を含む、実施例1のコンピュータ実装方法。
【0138】
実施例3:前記文字起こしマップを生成する工程は、前記オーディオトラックの前記文字起こしにおける全すべてについて開始タイムコードおよび終了タイムコードを決定する工程と、対応する開始タイムコードおよび終了タイムコードと相関した前記オーディオトラックの前記文字起こしの前記単語を含む前記文字起こしマップを生成する工程と、を含む、実施例1および2のいずれかのコンピュータ実装方法。
【0139】
実施例4:オーディオトラックの文字起こしからの1つまたは複数の単語の選択の指示を受信する工程は、オーディオトラックの文字起こしを含むディスプレイ内において1つまたは複数の単語のユーザ強調表示の指示を受信する工程を含む、実施例1~3のいずれかのコンピュータ実装方法。
【0140】
実施例5:オーディオトラックの文字起こしからの選択された1つまたは複数の単語に関連付けられているタイムコードを決定する工程は、文字起こしマップ内において、オーディオトラックの文字起こしからの選択された1つまたは複数の単語からの最初の単語に関連付けられている開始タイムコードを決定する工程と、文字起こしマップ内において、オーディオトラックの文字起こしからの選択された1つまたは複数の単語からの最後の単語に関連付けられている終了タイムコードを決定する工程とを含む、実施例1~4のいずれかのコンピュータ実装方法。
【0141】
実施例6:オーディオトラックの文字起こしからの選択された1つまたは複数の単語に関連付けられているタイムコードを決定する工程は、文字起こしマップ内において、オーディオトラックの文字起こしからの選択された1つまたは複数の単語からの最初の単語に関連付けられている開始タイムコードを決定する工程と、文字起こしマップ内において、オーディオトラックの文字起こしからの選択された1つまたは複数の単語からの最後の単語に関連付けられている終了タイムコードを決定する工程とを含む、実施例1~4のいずれかのコンピュータ実装方法。
【0142】
実施例7:第1のタイムコードにて開始し、第2のタイムコードにて終了するデジタルビデオからのビデオフレームを含むビデオクリップを生成する工程は、デジタルビデオ、第1のタイムコード、および第2のタイムコードを参照するメディアフラグメントユニバーサルリソース識別子を含むHTMLコードを生成する工程を含む、実施例1~6のいずれかのコンピュータ実装方法。
【0143】
実施例8:ビデオアセンブリインタフェースを生成および利用するためのコンピュータ実装方法は、デジタルビデオに関連付けられているビデオ再生ウィンドウと、デジタルビデオのオーディオトラックの文字起こしを表示する文字起こしテキストウィンドウとを備えるビデオアセンブリインタフェースを生成するビデオアセンブリインタフェース生成工程と、文字起こしテキストウィンドウにおけるオーディオトラックの文字起こしからの1つまたは複数の単語の選択の指示を受信する指示受信工程と、選択された1つまたは複数の単語に対応する第1のビデオクリップを生成する第1ビデオクリップ生成工程と、ビデオアセンブリインタフェース内において、第1のビデオクリップを含むビデオタイムラインを生成する工程と、を備えてよい。
【0144】
実施例9:前記ビデオアセンブリインタフェース生成工程は、アップロードされた複数のデジタルビデオからの前記デジタルビデオの選択が検出されることに応答する、実施例8のコンピュータ実装方法。
【0145】
実施例10:前記指示受信工程は、前記文字起こしから前記1つまたは複数の単語のユーザ強調表示の1つの指示を受信する工程、または前記ビデオ再生ウィンドウに関連付けられている1つまたは複数の再生インジケータのユーザ選択の指示を受信する工程を含む、実施例8および9のいずれかのコンピュータ実装方法。
【0146】
実施例11:前記第1ビデオクリップ生成工程は、前記ビデオアセンブリインタフェース内において、選択された前記1つまたは複数の単語を前記文字起こしテキストウィンドウから前記ビデオタイムラインまでドラッグアンドドロップするユーザ対話を検出することに応答する、実施例8~10のいずれかのコンピュータ実装方法。
【0147】
実施例12:前記コンピュータ実装方法は、前記文字起こしテキストウィンドウにおける前記オーディオトラックの前記文字起こしからの追加の単語の選択の指示を受信する工程と、選択された前記追加の単語に対応する第2のビデオクリップを生成する工程と、前記第2のビデオクリップを前記ビデオタイムラインに追加する工程と、をさらに備える、実施例8~11のいずれかのコンピュータ実装方法。
【0148】
実施例13:前記ビデオアセンブリインタフェース内の前記ビデオタイムラインとのユーザ対話が検出されることに応答して、前記ビデオライムライン内において前記第1のビデオクリップおよび前記第2のビデオクリップを並べ替える工程をさらに備える、実施例8~12のいずれかのコンピュータ実装方法。
【0149】
実施例14:前記アップロードされた複数のデジタルビデオから追加のデジタルビデオの選択が検出されることに応答して、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウから前記デジタルビデオを除去する工程と、前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウから前記デジタルビデオの前記オーディオトラックの前記文字起こしを除去する工程と、前記ビデオアセンブリインタフェース内の前記ビデオ再生ウィンドウに前記追加のビデオを追加する工程と、前記追加のビデオのオーディオトラックの文字起こしを前記ビデオアセンブリインタフェース内の前記文字起こしテキストウィンドウに追加する工程と、前記第1のビデオクリップおよび前記第2のビデオクリップを前記ビデオアセンブリインタフェースの前記ビデオタイムライン内に維持する工程と、をさらに備える、実施例8~13のいずれかのコンピュータ実装方法。
【0150】
実施例15:デジタルビデオ文字起こしにおいて複数の話者を識別しタグ付けするためのコンピュータ実装方法は、デジタルビデオのオーディオトラックの文字起こしを生成する工程であって、前記文字起こしは、オーディオトラックにおける発話された単語に対応するテキストと、オーディオトラック内の1人または複数の話者を識別する話者タグとを含む、文字起こし生成工程と、デジタルビデオおよび文字起こしを含むディスプレイ内から、オーディオトラック内の1人または複数の話者のうちの話者を識別する文字起こしにおける話者タグの選択の指示を受信する指示受信工程と、話者に関連付けられた文字起こしにおけるテキストに対応する複数のビデオセグメントをデジタルビデオから選択するビデオセグメント選択工程と、複数のビデオセグメントを連結することによって話者のビデオクリップを生成する工程と、を含んでよい。
【0151】
実施例16:前記文字起こし生成工程は、デジタルビデオからオーディオトラックを抽出する工程と、オーディオトラック内の1人または複数の話者の声の特性を分析しながらオーディオトラックをテキストに文字起こしする工程と、オーディオトラック内の1人または複数の話者の声の特性の分析に基づいてテキスト内に話者タグを生成する工程と、を含む、実施例15のコンピュータ実装方法。
【0152】
実施例17:第1のディスプレイ部分にデジタルビデオに関連付けられたビデオ再生制御部と、第2のディスプレイ部分にオーディオトラックにおける発話された単語に対応するテキストおよびオーディオトラック内における1人または複数の話者を識別する話者タグを含むテキスト編集制御部と、を含むウェブページを生成することによって、デジタルビデオおよび文字起こしを含む表示を生成する工程をさらに備える、実施例15および16のいずれかのコンピュータ実装方法。
【0153】
実施例18:前記指示受信工程は、第2の表示部分におけるテキスト編集制御部内の話者タグを強調表示するユーザ対話の指示を受信する工程と、および、第2の表示部分におけるテキスト編集制御部に関連付けられているテキスト入力ボックスを介して話者タグに対応する話者名を入力するユーザ対話の指示を受信する工程、の1つ以上を含む、実施例15~17のいずれかのコンピュータ実装方法。
【0154】
実施例19:前記文字起こし生成工程に応答して、デジタルビデオのメタデータに基づいてオーディオトラックのインクリメントに対するタイムコードを決定する工程と、オーディオトラックのインクリメントに対するタイムコードをオーディオトラックの文字起こしの対応するインクリメントに割り当てる工程と、オーディオトラックの文字起こしにおけるすべての単語に対する開始タイムコードおよび終了タイムコードを決定する工程と、対応する開始タイムコードおよび終了タイムコードと相関付けられたオーディオトラックの文字起こしの単語を含む文字起こしマップを生成する工程と、によって、文字起こしマップを生成する工程をさらに備える、例15~18のいずれかに記載のコンピュータ実装方法。
【0155】
実施例20:話者に対応する文字起こしにおけるテキストに対応するデジタルビデオから複数のビデオセグメントを選択する工程は、文字起こしマップに基づいて、話者に対応する文字起こしにおける単語の開始タイムコードおよび終了タイムコードを決定するタイムコード決定工程と、話者に対応する文字起こしにおける単語の開始タイムコードおよび終了タイムコードに対応するタイムコードを有するデジタルビデオのビデオフレームを識別する工程と、識別されたビデオフレームを含む複数のビデオセグメントを生成する工程と、を含む、実施例15~19のいずれかのコンピュータ実装方法。
【0156】
実施例21:前記タイムコード決定工程は、話者を識別する文字起こしにおけるすべての話者タグについて、話者タグと異なる話者に対応する次の話者タグとの間の文字起こしにおけるテキストブロックを識別する工程と、テキストブロックにおける最初の単語およびテキストブロックにおけるの最後の単語を決定する工程と、文字起こしマップ内において、最初の単語および最後の単語を識別する工程と、文字起こしマップ内において、第1の単語に関連付けられている開始タイムコードおよび最後の単語に関連付けられている終了タイムコードを識別する工程と、を含む、例15~20のいずれかのコンピュータ実装方法。
【0157】
実施例22:ビデオアセンブリプロジェクトに関連してリアルタイム共同作業インタフェースを生成するためのコンピュータ実装方法は、第1のユーザの1つまたは複数のデジタルビデオの文字起こしとの対話に基づいてビデオクリップの第1のビデオタイムラインを生成する第1ビデオタイムライン生成工程と、第2のユーザから、第1のビデオタイムラインに関連付けられている1つまたは複数の編集を検出する検出工程と、第1のビデオタイムラインに関連付けられている1つまたは複数の編集を検出したことに応答して、1つまたは複数の編集を含む第2のビデオタイムラインを生成する第2ビデオタイムライン生成工程と、第1のユーザに第2のビデオタイムラインへのアクセスを提供するアクセス提供工程と、を含んでよい。
【0158】
実施例23:前記第1ビデオタイムライン生成工程は、第1のユーザの1つまたは複数のデジタルビデオの文字起こしのセグメントとの対話の指示を受信する工程と、文字起こしのセグメントに関連付けられているタイムコードに対応するタイムコードを有するフレームを含むビデオクリップを生成する工程と、生成されたビデオクリップをシーケンスにて第1のビデオタイムラインに追加する工程と、を含む、実施例22のコンピュータ実装方法。
【0159】
実施例24:前記検出工程は、第2のユーザからの第1のビデオタイムラインにおけるビデオクリップのうちの1つ以上に向けられた第2のユーザからのコメントを検出する工程、第2のユーザが第1のビデオタイムラインにおけるビデオクリップを並べ替えたことを検出する工程、および第2のユーザが第1のビデオタイムラインにおけるビデオクリップ間の1つ以上のトランジションを変更したことを検出する工程、のうちの1つ以上を含む、実施例22および23のいずれかのコンピュータ実装方法。
【0160】
実施例25:前記検出工程の前に、第1のユーザに編集アクセスを提供する、第1のビデオタイムラインに関連付けられているセキュリティクレデンシャルを生成する工程をさらに備える、実施例22~”4のいずれかのコンピュータ実装方法。
【0161】
実施例26:前記第2ビデオタイムライン生成工程は、ビデオクリップおよび1つまたは複数の編集を反映するメディアフラグメントユニバーサルリソース識別子を含むHTMLコードを生成する工程を含む、実施例22~25のいずれかのコンピュータ実装方法。
【0162】
実施例27:前記検出工程はリアルタイムに行われる、実施例22~26のいずれかのコンピュータ実装方法。
実施例28:前記アクセス提供工程は、第1のユーザに関連付けられているクライアントコンピューティングデバイス上に表示されたビデオアセンブリインタフェースを更新して、第1のビデオタイムラインおよび第2のビデオタイムラインを参照するアーカイブ制御部を含めることを含む、実施例22~27のいずれかに記載のコンピュータ実装方法。
【0163】
実施例29:デジタルビデオの文字起こしからキーワードを除去するためのコンピュータ実装方法は、デジタルビデオのビデオフレームをデジタルビデオのオーディオトラックの文字起こしの単語に関連付ける文字起こしマップを生成する文字起こしマップ生成工程と、デジタルビデオのオーディオトラックの文字起こし内のキーワードの指示を検出する工程と、デジタルビデオのオーディオトラックの文字起こし内のキーワードの1つまたは複数のインスタンスを識別する識別工程と、デジタルビデオのオーディオトラックの文字起こし内のキーワードの1つまたは複数のインスタンスに対応する1つまたは複数のビデオフレームをデジタルビデオから除去し、文字起こしマップを利用するビデオフレーム除去工程と、を備えてよい。
【0164】
実施例30:デジタルビデオのメタデータに基づいてオーディオトラックのインクリメントに対するタイムコードを決定する工程と、オーディオトラックの文字起こしを生成する工程と、オーディオトラックのインクリメントに対するタイムコードをオーディオトラックの文字起こしの対応するインクリメントに割り当てる工程と、によって、デジタルビデオのオーディオトラックの文字起こしを生成する工程をさらに備える、実施例29のコンピュータ実装方法。
【0165】
実施例31:前記文字起こしマップ生成工程は、前記オーディオトラックの前記文字起こしにおけるすべての単語に対する開始タイムコードおよび終了タイムコードを決定する工程と、対応する開始タイムコードおよび終了タイムコードと相関した前記オーディオトラックの前記文字起こしの前記単語を含む前記文字起こしマップを生成する工程と、を含む、実施例29および30のいずれかのコンピュータ実装方法。
【0166】
実施例32:前記識別工程は、文字起こしマップ内のキーワードを識別する工程と、文字起こしマップ内のキーワードと相関した開始タイムコードおよび終了タイムコードの1つまたは複数の対を識別する工程と、開始タイムコードおよび終了タイムコードの前記1つまたは複数の対のリストを生成する工程と、を含む、実施例29~31のいずれかのコンピュータ実装方法。
【0167】
実施例33:前記ビデオフレーム除去工程は、リストにおける開始タイムコードおよび終了タイムコードの1つまたは複数の対ごとに、開始タイムコードに対応する前記デジタルビデオにおける第1のビデオフレームを識別する工程と、終了タイムコードに対応する前記デジタルビデオにおけるの第2のビデオフレームを識別する工程と、第1のビデオフレームと第2のビデオフレームとの間のビデオフレームをデジタルビデオから除去する工程と、を含む、実施例29~32のいずれかのコンピュータ実装方法。
【0168】
実施例34:前記検出工程は、オーディオトラックの文字起こしを含むディスプレイ内の単語のユーザ選択を検出する工程、オーディオトラックの文字起こしを含むディスプレイに関連付けられているテキストボックスにおけるキーワードのユーザ入力を検出する工程、または機械学習モデルを利用してユーザ傾向に基づいてキーワードを自動的に検出する工程、のうちの1つ以上を含む、実施例29~33のいずれかのコンピュータ実装方法。
【0169】
実施例35:デジタルビデオのオーディオトラックの文字起こし内の追加キーワードの指示を検出する工程と、デジタルビデオのオーディオトラックの文字起こし内の追加キーワードの1つまたは複数のインスタンスを決定する工程と、デジタルビデオから、文字起こしマップを利用して、デジタルビデオのオーディオトラックの文字起こし内の追加キーワードの1つまたは複数のインスタンスに対応する1つまたは複数のビデオフレームを除去する工程と、をさらに備える含む、実施例29~34のいずれかのコンピュータ実装方法。
【0170】
開示される技術の本節および他の節に記載される方法は、以下の特徴および/または開示される追加の方法に関連して記載される特徴のうちの1つまたは複数を含むことが可能である。簡潔にするために、本出願において開示される特徴の組合せは、個々に列挙されず、特徴の各基本セットにより繰り返されない。読者は、この方法により識別された特徴を、実装として識別された基本特徴のセットとどのように容易に組み合わせることが可能であるかを理解する。
【国際調査報告】