(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】ビデオからの同期された音声の生成
(51)【国際特許分類】
G06N 3/0475 20230101AFI20241217BHJP
G06N 3/0455 20230101ALI20241217BHJP
G10L 25/30 20130101ALI20241217BHJP
G10L 25/57 20130101ALI20241217BHJP
G06V 10/70 20220101ALI20241217BHJP
G06V 10/80 20220101ALI20241217BHJP
G06V 20/40 20220101ALI20241217BHJP
【FI】
G06N3/0475
G06N3/0455
G10L25/30
G10L25/57
G06V10/70
G06V10/80
G06V20/40
(21)【出願番号】P 2022543455
(86)(22)【出願日】2021-01-11
(86)【国際出願番号】 IB2021050167
(87)【国際公開番号】W WO2021144679
(87)【国際公開日】2021-07-22
【審査請求日】2023-06-22
(32)【優先日】2020-01-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】チャン、ヤン
(72)【発明者】
【氏名】ガン、チュアン
(72)【発明者】
【氏名】ワン、ダクオ
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2017/208820(WO,A1)
【文献】特開2010-010780(JP,A)
【文献】国際公開第2019/222591(WO,A1)
【文献】米国特許出願公開第2019/0005976(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
G06T 7/00
G06V 10/70-10/86
G06V 20/00-20/90
G10L 25/00-25/93
(57)【特許請求の範囲】
【請求項1】
視覚的に関連する音を識別するための方法であって、
第1の機械学習(ML)モデルを含む視覚エンコーダで視覚的訓練データを受信すること、
前記第1のMLモデルを用いて、前記視覚的訓練データ内の視覚的対象に対応するデータを識別すること、
第2のMLモデルを含む音声転送レギュラライザにおいて前記視覚的訓練データに同期された音声訓練データを受信することであって、前記音声訓練データは、前記視覚的対象を含む前記視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係な音とを含み、前記視覚的に関連する音は、前記視覚的対象に対応するが、前記視覚的に無関係な音は、前記同じフレーム内では見えない音源によって生成されること、
情報ボトルネックを使用して、前記第2のMLモデルの出力から前記視覚的に
無関係な音に対応するデータをフィルタリングすること、及び
前記視覚的対象に対応するデータと前記視覚的に無関係な音に対応するデータとを用いて、前記第1および第2のMLモデルから下流の第3のMLモデルを訓練すること
を含む方法。
【請求項2】
前記第3のMLモデルを訓練した後に、
実行段階を行うことをさらに含み、前記実行段階は、
前記第1のMLモデルにおいて無音ビデオを受信すること、
前記第1のMLモデルを用いて、前記無音ビデオ内の第2の視覚的対象に対応するデータを識別すること、
前記第3のMLモデルを用いて視覚的に関連する音を生成して、前記第2の視覚的対象を含有する無音ビデオの少なくとも1つのビデオ・フレームに同期することであって、前記第2の視覚的対象に対応するデータは、前記第3のMLモデルに入力されていること、及び
前記無音ビデオ内の同期された視覚的に関連する音およびビデオ・フレームに基づき、メディア・プレゼンテーションを生成すること
を含む、請求項1に記載の方法。
【請求項3】
前記音声転送レギュラライザ内の前記第2のMLモデルは、前記実行段階中に使用されない、請求項2に記載の方法。
【請求項4】
前記情報ボトルネックは、前記第2のMLモデルの出力の大きさを制限することを含み、前記大きさを制限することにより、前記視覚的に関連する音に対応するデータが前記第3のMLモデルに到達することが防止される、請求項1~3のいずれかに記載の方法。
【請求項5】
前記第2のMLモデルは、シーケンス対シーケンスMLモデルを含む、請求項1~4のいずれかに記載の方法。
【請求項6】
前記シーケンス対シーケンスMLモデルは、前記音声訓練データおよび前記情報ボトルネックに基づいて、ボトルネック音声フレームを出力し、前記方法は、
前記視覚的訓練データ中のT期間の数に従ってボトルネック音声フレームを複製すること、及び
前記複製されたボトルネック音声フレームを前記第3のMLモデルに送信すること
をさらに含む、請求項5に記載の方法。
【請求項7】
前記第3のMLモデルを用いて、前記複製されたボトルネック音声フレームと視覚的対象に対応する前記データとを受信することに基づいて、前記音声訓練データ内の前記視覚的に関連する音と無関係の音とを予測すること
をさらに含む、請求項6に記載の方法。
【請求項8】
視覚的に関連する音を識別するためのシステムであって、
プロセッサと、
プログラムを含むメモリとを含み、前記プログラムは、前記プロセッサにより実行された際にオペレーションを行い、前記オペレーションは、
第1のMLモデルを含む視覚エンコーダで視覚的訓練データを受信すること、
前記第1のMLモデルを用いて、前記視覚的訓練データ内の視覚的対象に対応するデータを識別すること、
第2のMLモデルを含む音声転送レギュラライザにおいて前記視覚的訓練データに同期された音声訓練データを受信することであって、前記音声訓練データは、前記視覚的対象を含む前記視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係な音とを含み、前記視覚的に関連する音は、前記視覚的対象に対応するが、前記視覚的に無関係な音は、前記同じフレーム内では見えない音源によって生成されること、
情報ボトルネックを使用して、前記第2のMLモデルの出力から前記視覚的に
無関係な音に対応するデータをフィルタリングすること、及び
前記視覚的対象に対応するデータと前記視覚的に無関係な音に対応するデータとを用いて、前記第1および第2のMLモデルから下流の第3のMLモデルを訓練すること
を含む、システム。
【請求項9】
前記オペレーションは、前記第3のMLモデルを訓練した後に、
実行段階を行うことをさらに含み、前記実行段階は、
前記第1のMLモデルにおいて無音ビデオを受信すること、
前記第1のMLモデルを用いて、前記無音ビデオ内の第2の視覚的対象に対応するデータを識別することと、
前記第3のMLモデルを用いて視覚的に関連する音を生成して、前記第2の視覚的対象を含有する無音ビデオの少なくとも1つのビデオ・フレームに同期することであって、前記第2の視覚的対象に対応するデータは、前記第3のMLモデルに入力されていること、及び
前記無音ビデオ内の同期された視覚的に関連する音およびビデオ・フレームに基づき、メディア・プレゼンテーションを生成すること
を含む、請求項8に記載のシステム。
【請求項10】
前記音声転送レギュラライザ内の前記第2のMLモデルは、前記実行段階中に使用されない、請求項9に記載のシステム。
【請求項11】
前記情報ボトルネックは、前記第2のMLモデルの出力の大きさを制限することを含み、前記大きさを制限することにより、前記視覚的に関連する音に対応するデータが前記第3のMLモデルに到達することが防止される、請求項8から10のいずれかに記載のシステム。
【請求項12】
前記第2のMLモデルは、シーケンス対シーケンスMLモデルを含み、前記シーケンス対シーケンスMLモデルは、前記音声訓練データおよび前記情報ボトルネックに基づきボトルネック音声フレームを出力し、前記オペレーションは、
前記視覚的訓練データ中のT期間の数に従ってボトルネック音声フレームを複製すること、及び
前記複製されたボトルネック音声フレームを前記第3のMLモデルに送信すること
をさらに含む、請求項8から11のいずれかに記載のシステム。
【請求項13】
前記オペレーションは、
前記第3のMLモデルを用いて、前記複製されたボトルネック音声フレームと視覚的対象に対応する前記データとを受信することに基づいて、前記音声訓練データ内の前記視覚的に関連する音と無関係の音とを予測すること
をさらに含む、請求項12に記載のシステム。
【請求項14】
請求項1から7のいずれか1項に記載の方法をコンピュータに実行させるためのコンピュータ・プログラムを記録するコンピュータ可読記録媒体。
【請求項15】
コンピュータ・プログラムであって、コンピュータに請求項1から7のいずれか1項に
記載の方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データから視覚的に関連する音と視覚的に無関係な音とを識別することに関し、より具体的には、視覚的に無関係な音を使用して音響発生システムを訓練することに関する。
【背景技術】
【0002】
日常生活における様々な視覚的事象は、通常、異なる音を伴う。多くの場合、視覚的事象と音とは、視覚的事象を観察することによってどの音がどのような音であるかを直感的に推測することができるように非常に密接に相関している。視覚的事象と音声との間の相関は人間にとっては本能的であるが、機械学習アプリケーションにとっては困難なタスクである。すなわち、機械学習アプリケーションを用いて、無音ビデオ(すなわち、同期された音声のない視覚データ)から音を導き出すことは難しいが、ビデオ編集の自動化、無音フィルムに対する音の生成、および視覚障害者の補助など、数多くの現実世界の用途がある。
【0003】
機械学習(ML)システムの訓練に使用される訓練データは、視覚データとは無関係な音声データ(視覚的に無関係な音と呼ばれる)をしばしば有するため、視覚データのための音を導き出すことは困難である。例えば、視覚的訓練データは犬の吠え声を示すことがあるが、その一方で音声訓練データは、犬の吠え声だけでなく、視覚的訓練音(例えば、視覚的に無関係な音)には示されていない群衆からの拍手との両方を含む。すなわち、音声訓練データは、視覚的に関連するデータ(例えば、犬の吠えている音)と視覚的に無関係な音との両方を含む。視覚的に無関係な音を含む音声訓練データを使用してMLシステムを訓練することにより、MLシステムが混乱し、視覚的に無関係な音が、関連のないときでさえ視覚的訓練データ内の対象に関連付けられる可能性がある。しかし、視覚的に無関係な音を何も有しない訓練データを見つけることは困難である。そのため、視覚的に関連する音と無関係な音との両方を含み得る訓練データを使用して、MLシステムを訓練する必要がある。
【0004】
従って、上記の問題に対処する本技術分野における必要性がある。
【発明の概要】
【0005】
第1の態様から見ると、本発明は、視覚的に関連する音を識別するための方法を提供し、本方法は、第1の機械学習(ML)モデルを含む視覚エンコーダで視覚的訓練データを受信することと、第1のMLモデルを使用して、視覚的訓練データ内の視覚的対象に対応するデータを識別することと、第2のMLモデルを含む音声転送レギュラライザにおいて視覚的訓練データに同期された音声訓練データを受信することであって、音声訓練データは、視覚的対象を含む視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係な音とを含み、視覚的に関連する音は、視覚的対象に対応するが、視覚的に無関係な音は、同じフレーム内では見えない音源によって生成されることと、情報ボトルネックを使用して、第2のMLモデルの出力から視覚的に無関係な音に対応するデータをフィルタリングすることと、視覚的対象に対応するデータと視覚的に無関係な音に対応するデータとを用いて、第1および第2のMLモデルから下流の第3のMLモデルを訓練することとを含む。
【0006】
さらに別の態様から見ると、本発明は、視覚的に関連する音を識別するためのコンピュータ・プログラム製品を提供し、本コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードが組み込まれたコンピュータ可読記憶媒体を含み、上記コンピュータ可読プログラム・コードは、オペレーションを行うように1つまたは複数のコンピュータ・プロセッサによって実行可能であり、上記オペレーションは、第1のMLモデルを含む視覚エンコーダで視覚的訓練データを受信することと、第1のMLモデルを使用して、視覚的訓練データ内の視覚的対象に対応するデータを識別することと、第2のMLモデルを含む音声転送レギュラライザにおいて視覚的訓練データに同期された音声訓練データを受信することであって、音声訓練データは、視覚的対象を含む視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係の音とを含み、視覚的に関連する音は、視覚的対象に対応するが、視覚的に無関係な音は、同じフレーム内では見えない音源によって生成されることと、情報ボトルネックを使用して、第2のMLモデルの出力から視覚的に無関係な音に対応するデータをフィルタリングすることと、視覚的対象に対応するデータと視覚的に無関係な音に対応するデータとを用いて、第1および第2のMLモデルから下流の第3のMLモデルを訓練することとを含む。
【0007】
さらに別の態様から見ると、本発明は、プロセッサと、プロセッサによって実行されるとオペレーションを行うプログラムを含むメモリとを含む、システムを備え、上記オペレーションは、第1のMLモデルを含む視覚エンコーダで視覚的訓練データを受信することと、第1のMLモデルを使用して、視覚的訓練データ内の視覚的対象に対応するデータを識別することと、第2のMLモデルを含む音声転送レギュラライザにおいて視覚的訓練データに同期された音声訓練データを受信することであって、音声訓練データは、視覚的対象を含む視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係の音とを含み、視覚的に関連する音は、視覚的対象に対応するが、視覚的に無関係な音は、同じフレーム内では見えない音源によって生成されることと、情報ボトルネックを使用して、第2のMLモデルの出力から視覚的に無関係な音に対応するデータをフィルタリングすることと、視覚的対象に対応するデータと視覚的に無関係な音に対応するデータとを用いて、第1および第2のMLモデルから下流の第3のMLモデルを訓練することとを含む。
【0008】
さらに別の態様から見ると、本発明は、視覚的に関連する音を識別するためのコンピュータ・プログラム製品を提供し、本コンピュータ・プログラム製品は、処理回路によって読み取り可能なコンピュータ可読記憶媒体を含み、本発明のステップを行う方法を行うための処理回路による実行のための命令を記憶する。
【0009】
さらに別の態様から見ると、本発明は、コンピュータ可読媒体に記憶され、コンピュータ上で作動された際に、本発明のステップを行うためのソフトウェア・コード部分を含むデジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムを提供する。
【0010】
本発明の一実施形態は、第1のMLモデルを含む視覚エンコーダで視覚的訓練データを受信することと、第1のMLモデルを用いて、視覚的訓練データ内の視覚的対象に対応するデータを識別すること、第2のMLモデルを含む音声転送レギュラライザにおいて視覚的訓練データに同期された音声訓練データを受信することであって、音声訓練データは、視覚的対象を含む視覚的訓練データ内の同じフレームにどちらも同期された視覚的に関連する音と視覚的に無関係の音とを含み、視覚的に関連する音は、視覚的対象に対応するが、視覚的に無関係な音は、同じフレーム内では見えない音源によって生成されることとを含む、方法である。本方法はまた、情報ボトルネックを使用して、第2のMLモデルの出力から視覚的に無関係な音に対応するデータをフィルタリングすることと、視覚的対象に対応するデータと視覚的に無関係な音に対応するデータとを用いて、第1および第2のMLモデルから下流の第3のMLモデルを訓練することとを含む。以前の解決策に対するこの実施形態の利点の1つは、第3のMLモデルが、訓練された際に視覚的に無関係な音を考慮することができることである。ゆえに、第3のMLモデルを、視覚的に関連する音と無関係な音との両方を含む訓練データを用いて正確に訓練することができる。
【0011】
本発明の別の実施形態は、上記の実施形態を含み、第3のMLモデルを訓練した後に実行段階を行うことをさらに含んでいてもよく、この実行段階は、第1のMLモデルにおいて無音ビデオを受信することと、第1のMLモデルを用いて無音ビデオ内の第2の視覚的対象に対応するデータを識別することと、第3のMLモデルを用いて視覚的に関連する音を生成して、第2の視覚的対象を含有する無音ビデオの少なくとも1つのビデオ・フレームに同期することであって、第2の視覚的対象に対応するデータが第3のMLモデルに入力されていることと、無音ビデオ内の同期された視覚的に関連する音およびビデオ・フレームに基づき、メディア・プレゼンテーションを生成することとを含む。以前の解決策に対するこの実施形態の利点の1つは、第3のMLモデルが、視覚的に無関係な音を選択して無音ビデオのビデオ・フレームに同期する可能性が大幅に低減されることである。
【0012】
本発明の別の実施形態は上記の実施形態を含み、実行状態を行う際には、音声転送レギュラライザ内の第2のMLモデルが使用されないことがある。有利なことに、実行段階の間に第2のMLモデルを使用しないことにより、MLシステムのパフォーマンスを高めることができるが、なぜなら、これらの構成要素は訓練中に使用されるが実行中には使用されないためである。
【0013】
上記のいずれの実施形態においても、情報ボトルネックは、第2のMLモデルの出力の大きさを制限することによって実装され得るが、ここで、この大きさを制限することにより、視覚的に関連する音に対応するデータが第3のMLモデルに到達することが防止される。
【0014】
上記のいずれの実施形態においても、第2のMLモデルは、シーケンス対シーケンスMLモデルを使用して実装することができる。有利なことに、シーケンス対シーケンスMLモデルは、音声訓練データおよび視覚的訓練データなどの時間依存的な情報を処理する際に、他のMLモデルと比較して改善された結果を提供する。
【0015】
上記の実施形態では、シーケンス対シーケンスMLモデルは、音声訓練データおよび情報ボトルネックに基づいて、任意選択的にボトルネック音声フレームを出力することができる。さらに、本方法は、視覚的訓練データ中のT期間の数に従ってボトルネック音声フレームを複製することと、複製されたボトルネック音声フレームを第3のMLモデルに送信することとを任意選択的に含むことができる。有利なことに、第1のMLモデルによって識別される視覚的対象と第2のMLモデルによって識別される視覚的に無関係な音とを区別するための、第3のMLモデルの能力を向上させることができる視覚フレームとして、ボトルネック音声フレームの数多くのコピーが存在する。
【0016】
本発明を、以下の図に示すように、例として、好適な実施形態を参照して説明する。
【図面の簡単な説明】
【0017】
【
図1】本明細書に記載の一実施形態による、音を視覚データに同期させる機械学習モデルを訓練するためのシステムを示す図である。
【
図2】本明細書に記載の一実施形態による、音を視覚データに同期させる機械学習モデルを訓練するためのフローチャートである。
【
図3】本明細書に記載の一実施形態による、訓練された機械学習モデルを使用して音を視覚データに同期させるためのシステムを示す図である。
【
図4】本明細書に記載の一実施形態による、音を視覚データに同期させるためのフローチャートである。
【
図5】本明細書に記載の一実施形態による、音を視覚データに同期させる機械学習モデルを訓練するためのシステムを示す図である。
【
図6】本明細書に記載の一実施形態による、音を視覚データに同期させる機械学習モデルを訓練するためのシステムを示す図である。
【発明を実施するための形態】
【0018】
本明細書の実施形態は、視覚データに同期できる音を導き出すための機械学習(ML)システムを説明する。本実施形態の利点の1つは、MLシステムを訓練する際にMLシステムが視覚的に無関係な音を考慮できることである。このことは、MLシステムを訓練するために使用できるメディア・プレゼンテーションの数および多様性を大幅に増加させる無関係な音を含む音声データを用いて、MLシステムを訓練できることを意味する。
【0019】
一実施形態では、MLシステムは、MLシステムを訓練する際に使用される音声転送レギュラライザと情報ボトルネックとを含む。音声転送レギュラライザ(または単に「レギュラライザ」)は、音声訓練データを受信し、訓練データ内の視覚的に無関係な音と関連する音とを識別するMLモデルを含む。情報ボトルネックを制御することにより、MLシステムは、音声転送レギュラライザに、視覚的に無関係な音に主として関連するジェネレータへデータを転送させ、一方で、視覚的に関連する音はフィルタアウトされる。並行して、ジェネレータはまた、視覚的訓練データから導き出された視覚エンコーダから視覚的対象に関するデータを受信する。このように、訓練されている際に、ジェネレータは、視覚エンコーダから訓練メディア・プレゼンテーションにおける視覚的対象に関するデータと、音声転送レギュラライザから視覚的に無関係な音に関するデータとを受信する(しかし、視覚的に関連する音に関するデータは殆どない)。その結果、ジェネレータは、視覚的対象(すなわち、視覚的訓練データ内の対象)と視覚的に無関係な音(すなわち、視覚的対象に無関係な音)とを区別することを学習する。このように、MLシステムを実行して無音ビデオ用の音を導き出す際には、ジェネレータは、視覚的に無関係な音をビデオに付加または同期させずに、視覚的対象(例えば、視覚的に関連する音)に関連する音を生成することができる。
【0020】
図1は、本明細書に記載の一実施形態による、音を視覚データに同期させるためのMLモデルを訓練するためのMLシステム100である。MLシステム100は、視覚エンコーダ110と、音声転送レギュラライザ115と、ジェネレータ125とを含み、それらはそれぞれ、1つまたは複数のMLモデルを含む。これらのMLモデルの詳細は、後出の図に記載されている。
【0021】
図示のように、視覚エンコーダ110は、視覚的訓練データ105を入力として受信する。一実施形態では、視覚的訓練データ105は、複数の連続的なビデオ・フレームを含む。これに対して、音声転送レギュラライザ115は、視覚的訓練データ105に同期された音を含む音声訓練データ107を受信する。例えば、視覚的訓練データ105は、訓練メディア・プレゼンテーションからの視覚情報であり得るが、一方で、音声訓練データ107は、訓練メディア・プレゼンテーションの音を含有する。しかし、上述したように、音声訓練データ107は視覚的に関連する音(すなわち、視覚的訓練データ105内の視覚対象に相関する音)だけでなく視覚的に無関係な音(すなわち、視覚的訓練データ105内の同期された視覚的対象に相関または関連しない音)との両方を含むことができる。一実施形態では、視覚的に関連する音の音源は、対応するビデオ・フレーム内では、スクリーン外にある-すなわち見えない。本明細書の技術を使用して、ジェネレータ125が視覚的に関連する音と無関係の音とを区別できるようにMLシステム100を訓練することができ、その結果、実行中に、無音ビデオ(例えば、どの音にも同期されない視覚データ)受信したのみである際に、ジェネレータ125は、視覚データに同期された音声を含むメディア・プレゼンテーションを生成するように無音ビデオに同期させることができる視覚的に関連する音を生成するかまたは導き出すことができる。
【0022】
一般に、視覚エンコーダ110の目標は、犬、人、車などの視覚的訓練データ105内の視覚的対象を識別することである。視覚エンコーダ110はまた、そのMLモデル(またはモデル)を使用して、吠えている犬、バスケットボールを弾ませている人、急ブレーキを掛けている車など、視覚的対象によって行われている活動を識別することができる。これらの視覚的対象およびそれらの活動は、次に、ジェネレータ125に送信され得る。
【0023】
音声転送レギュラライザ115は、そのMLモデル(またはモデル)を使用して、音声訓練データ107内の視覚的に関連する音と無関係な音とを識別する。例えば、視覚的に関連する音は、犬の発する吠え声、バスケットボールの弾む音、または急ブレーキをかけている車により生じるタイヤの発する甲高い音など、視覚的訓練データ105中の視覚的対象によって生成される音を含むことがある。音声訓練データ107はまた、データ105またはそれらの動作における視覚的対象とは無関係であるかまたは独立している視覚的に無関係な音を含む。視覚的に無関係な音の例としては、視聴者の拍手喝采(視聴者が視覚的訓練データ105に示されていない場合)、バスケットボールの試合に関する実況解説者の語り、または現在スクリーン外にある(例えば、視覚的訓練データ105の同期されたフレーム内にはない)動物によって生じた音を挙げることができよう。例えば、ある一時点では、視覚的訓練データ105の同期されたフレームにおいて音源が現在見えている際に、音声訓練データ107内の音は視覚的に関連する音であり得るが、視覚的訓練データ105の同期されたフレームにおいて音源が見えなくなった場合には、視覚的に無関係な音であり得る。
【0024】
ジェネレータ125の目標は、視覚エンコーダ110および音声転送レギュラライザ115によって提供される入力を用いて、音声訓練データ107(視覚的に関連する音と無関係な音との両方を含む)を再生することである。しかし、訓練中に視覚的に関連する音および無関係な音に関するデータをジェネレータ125に送るだけで、視覚的に関連する音と無関係な音との両方を、視覚エンコーダ110により識別される視覚的対象に相関させることができ、視覚エンコーダ110により、ジェネレータ125は、実行段階の間(すなわち、訓練完了後)に視覚的に関連する音と無関係の音との両方を無音ビデオに追加するものとなる。これを防止するために、MLシステム100は、ジェネレータ125に送信される視覚的に関連する音に関するデータの量を制限し、代わりに、視覚的に無関係な音をジェネレータ125に送信することに集中する情報ボトルネック120を含む。
【0025】
訓練中に視覚的に無関係な音に関するデータをジェネレータ125に送ることは直感に反するものと思われるが(視覚的に無関係な音は実行段階中に無視されるべきであるため)、そのようにすることによって、有利なことに、ジェネレータ125は、誤ってそれらを相関させるのではなく、訓練中に視覚的対象と視覚的に無関係な音とを区別できるようになる。例えば、情報ボトルネック120が大きすぎる場合には、視覚的に関連する音ならびに視覚的に無関係な音に関するかなりの量のデータがジェネレータ125に提供される。このシナリオでは、ジェネレータ125は、音声転送レギュラライザから受信した入力を予測音130として「欺いて」使用することができる。その結果、ジェネレータ125は、視覚的に無関係な音が視覚エンコーダ110によって提供される視覚データに相関しないことを学習しない。
【0026】
しかし、情報ボトルネック120が締まると、ジェネレータ125に送信される視覚的に関連する音に対応するデータの量が低減される。そのため、ジェネレータ125は、予測音130(視覚的に関連する音と無関係な音との両方を含むべきである)として、レギュラライザ115から受信する音を単に使用することができなくなる。ゆえに、(例えば、音声訓練データ107を再構成しようとする際に)予測音130に対して視覚的に関連する音を生成するために、ジェネレータ125のMLモデルまたはモデルは、音声転送レギュラライザ115によって提供されるデータが視覚的に関連する音を含まず、代わりに、視覚エンコーダ110によって提供される視覚的対象からそれらの音を導出するということを決定するほかない。例えば、ジェネレータ125は、視覚エンコーダ110によって識別された視覚的対象に関連する音を識別するためのデータベースへのアクセスを有していてもよい。この処理の結果、ジェネレータ125は、音声転送レギュラライザ115から受信した視覚的に無関係な音に関するデータが、視覚エンコーダ110によって生成された視覚的対象とは実は無関係であることを学習し、したがって、視覚的に無関係な音を認識するようにジェネレータ125を訓練するという所望の効果が達成される。例えば、ジェネレータ125は、映っていない視聴者の拍手喝采が可視の吠えている犬とは無関係であること、またはスクリーン外のアナウンサーの発する解説が、ボールを弾ませているスクリーン内のバスケットボール選手とは無関係であることを決定することができる。
【0027】
訓練段階の間、ジェネレータ125は、視覚的に関連する音と無関係な音との両方を含む予測音130を出力するという目標を有する。すなわち、予測音130は、音声訓練データ107(グランド・トゥルースとなる)内の音にできるだけ近いものでなければならない。このプロセスの間、および上述したように、ジェネレータ125内のMLモデルまたはモデルは、視覚的に無関係な音を識別することを学習する。
【0028】
一実施形態では、視覚エンコーダ110、音声転送レギュラライザ115、情報ボトルネック(120)、およびジェネレータ125は、少なくとも1つのコンピューティング・システム内のプロセッサで実行されるプログラム・コードとしてメモリに記憶される。例えば、視覚エンコーダ110、音声転送レギュラライザ115、情報ボトルネック120、およびジェネレータ125は、メモリに記憶され、コンピューティング・システム内のプロセッサによって実行されるMLフレームワーク(例えば、MLソフトウェア・アプリケーション)を用いて実現されてもよい。
【0029】
図2は、本明細書に記載の一実施形態による、音を視覚データに同期させるMLモデルを訓練するための方法200のフローチャートである。この実施形態では、MLシステムは、視覚的訓練データ105(例えば、ビデオ・フレーム)ならびに音声訓練データ107(例えば、訓練メディアの同期された音またはサウンドトラック)の両方を含む訓練メディア・データ205を受信する。すなわち、訓練メディア・データ205は、そのビデオ・データ(例えば、視覚訓練データ105)が視覚エンコーダに提供される一方で、対応する音声データ(例えば、音声訓練データ107)が音声転送レギュラライザに提供されるように、分けることができる。
【0030】
ブロック210では、視覚エンコーダは、第1のMLモデルを訓練するためのオブジェクトを識別する。一実施形態では、視覚エンコーダは、視覚的訓練データ105内の視覚的対象を識別する。視覚的対象225を識別することに加えて、視覚エンコーダは、視覚的対象225によって現在実行されている動作、または対象のタイプ(例えば、人物の年齢、または犬の品種)などの対象に関連するいくらかの他のメタデータを識別することもできる。視覚エンコーダは、視覚的対象225を識別するのに適した任意のタイプのMLモデルを含むことができる。
【0031】
ブロック215では、音声転送レギュラライザは、第2のMLモデルを使用して視覚的に関連する音と無関係な音とを識別する。すなわち、レギュラライザ内の第2のMLモデルは、音声訓練データ107内の様々な音を識別する。このプロセスの一部として、ブロック220では、情報ボトルネックは、第2のMLモデルの出力で表される視覚的に関連する音から視覚的に無関係な音をフィルタリングする。第2のMLモデルがその生成された出力データのすべてを出力することを許可するのではなく、情報ボトルネックは、視覚的に無関係な音230に関するデータが主にジェネレータに送信される一方で、視覚的に関連する音に関するデータのほとんど(またはすべて)がフィルタアウトされる(すなわち、ジェネレータに転送されない)ように、第2のMLモデルの出力を制限する。音声転送レギュラライザは、視覚的に無関係な音230を識別するのに適した任意のタイプのMLモデルを含むことができる。
【0032】
ブロック235では、ジェネレータは、訓練メディアを復元して第3のMLモデルを訓練する。第3のMLモデルの訓練の一部として、ジェネレータは、レギュラライザによって受信された音声訓練データ107を生成(または復元もしくは再生)しようと試みる。上記に説明したように、ジェネレータは、視覚的に無関係な音を音声転送レギュラライザから受信するが、視覚的に関連する音を受信しない。このように、第3のMLモデルは、音声訓練データ107および訓練メディア・データ205を再生するために、視覚的対象225から視覚的に関連する音を復元しようとするものである。このプロセスの一部として、第3のMLモデルは、視覚的対象225が視覚的に無関係な音230とは異なることを学習する。そのため、後述する実行段階の間に、第3のMLモデルは、無音ビデオの音を生成する際に視覚的に無関係な音を生成させないようにすることができる。
【0033】
図3は、本明細書に記載の一実施形態による、訓練されたMLモデルを使用して音を視覚データに同期させるためのMLシステム300を示す図である。
図1は、MLモデルを訓練するためのMLシステムを示しているのに対し、MLシステム300は、MLモデルが訓練された後(例えば、方法200が行われた後)、無音ビデオのための音を生成するために実行段階の間に使用される。
【0034】
MLシステム300は、上述したように、視覚エンコーダ110とジェネレータ125とを含む。しかし、システム300は、音声転送レギュラライザと情報ボトルネックとを欠いている。代わりに、
図1の訓練段階の間に使用されたジェネレータ125の入力は、ゼロベクトル310(例えば、ゼロを有するベクトル)を代わりに受信する。そのため、レギュラライザおよび情報ボトルネックは、MLシステム300の実行段階の間には使用されず、それによってMLシステムのパフォーマンスが有利に改善されるが、なぜなら、これらの構成要素が訓練中にのみ使用されるものの実行中には使用されないためである。代わりに、ジェネレータ125は、その訓練されたMLモデルに依存して、視覚エンコーダ110によって識別された視覚的対象の音を識別する。
【0035】
実行段階の間、視覚エンコーダ110は、無音ビデオ305、例えば、フレームに対して対応するかまたは同期された音のない一連のビデオ・フレームを受信する。一実施形態では、実行段階の間のMLシステム300の目標は、無音ビデオ305に対応する音を生成することである。例えば、無音ビデオ305が吠えている犬または花火を描く場合、MLシステム300は、視覚的エンコーダ110およびジェネレータ125において訓練されたMLモデルを使用して、視覚的に関連する音、例えば、犬の吠え声もしくは唸り声と花火用のパチパチという音とを生成することができる。
【0036】
訓練段階と同様に、視覚エンコーダ110は、無音ビデオ305内の視覚的対象を識別する。視覚エンコーダ110は、視覚的対象の動作または視覚的対象のタイプもしくは特性を識別することもできる。この情報は、次いで、ジェネレータ125に転送される。
【0037】
ジェネレータ125は、その訓練されたMLモデルまたはモデルを使用して、無音ビデオ305について同期された音を識別する。例えば、視覚的対象が吠えている犬を示す場合に、ジェネレータ125は、吠えている犬を示すビデオ・フレームに吠えている音を同期させることを決定することができる。ジェネレータ125においてMLモデルを訓練する際に、モデルは、訓練メディア・データ内の視覚的対象と視覚的に無関係な音とを区別することが教示されていることから、実行中、ジェネレータ125は、無音ビデオ305で識別される視覚的対象に視覚的に無関係な音を追加して同期させる可能性が低く、それによって、訓練段階の間に音声転送レギュラライザを使用しない以前の解決策と比較して利点が得られる。言い換えれば、ジェネレータ125は、視覚的に関連する音のみを視覚的対象に同期させる可能性が高く、その動作は無音ビデオ305に示されている。ジェネレータ125は、無音ビデオのフレームに同期した視覚的に関連する音を含む予測音315を出力する。MLシステム300は、無音ビデオ305のビデオ・フレームに同期された音を含む新しいメディア・プレゼンテーションを生成することができる。
【0038】
図4は、本明細書に記載の一実施形態による、音を視覚データに同期させるための方法400のフローチャートである。MLシステムは、ビデオ305の少なくとも一部(またはビデオ305のすべて)が対応する音声データまたは音を欠いている一連のビデオ・フレームを含むことがある無音ビデオ305を受信する。方法400は、音声データを予め欠落させたビデオ305の一部に同期された音を生成するために使用することができる。
【0039】
ブロック405では、視覚エンコーダは、訓練された第1のMLモデルを使用して、ビデオ・データのフレーム内の対象を識別する。視覚エンコーダは、
図2のブロック210で実行されるものと同じ技術を行って、視覚的対象410に対応するデータをジェネレータに送信することができる。
【0040】
ブロック415では、ジェネレータは、訓練された第3のMLモデルを使用して、ビデオ・データのフレーム内の視覚的対象に対応する視覚的に関連する音を生成する。すなわち、ジェネレータは、視覚的対象410を使用して、これらの対象に関連する音を識別する。これらの音は、無音ビデオ305のフレームに同期される。
【0041】
ブロック420では、MLシステムは、ジェネレータによって識別された視覚的に関連する音に同期されている無音ビデオのビデオ・フレームを含むメディア・プレゼンテーションを出力する。そのため、メディア・プレゼンテーションが再生されると、ユーザは、視覚的対象410と視覚的対象410に関連する同期された音とを見る。有利なことに、本明細書で説明する実施形態は、ジェネレータが視覚的に無関係な音を選択してメディア・プレゼンテーションに含める機会を軽減する。
【0042】
図5は、本明細書に記載の一実施形態による、音を視覚データに同期させるためのMLモデルを訓練するためのMLシステム500である。概して、MLシステム500は、
図1に図示されるMLシステム100の一実施形態である。MLシステム100と同様に、MLシステム500は、視覚エンコーダ110、音声転送レギュラライザ115、およびジェネレータ125を含み、ジェネレータ125は、視覚的訓練データ105および音声訓練データ107を使用して訓練される少なくとも1つのMLモデルを含む。
【0043】
図示されるように、特徴エクストラクタは、視覚訓練データ105からフレーム特徴を抽出する。これらのフレーム特徴は、視覚エンコーダ110のMLモデル505Aへの入力として使用される。一実施形態では、MLモデル505Aは、1つまたは複数の垂直ベクトルを生成する1つまたは複数の畳み込みニューラル・ネットワーク(CNN)を表す。例えば、視覚訓練データ105が毎秒24フレームを有する場合、各CNNは毎秒24個の垂直ベクトルを出力することができる。しかし、一実施形態では、MLモデル505Aの出力は、時間当たり単一のベクトル(例えば、毎秒)であり、次いでMLモデル505Bに供給される。
【0044】
一実施形態では、MLモデル505Bは、視覚的訓練データ内のビデオ・フレームと同様に、処理時間依存的な情報に特化する。一実施形態では、MLモデル505Aはシーケンス対シーケンスMLモデルであり、このモデルは長短期メモリ(LSTM)、双方向LSTM、回帰型ニューラル・ネットワーク(RNN)、1D畳み込みニューラル・ネットワーク(convnet)、または他のシーケンス学習方法であり得る。一実施形態では、MLモデル505Bは、1秒毎に垂直フレームを出力する。そのため、視覚的訓練データ105にt秒があると仮定すると、MLモデル505Bは、T個の視覚フレーム515を出力する。
【0045】
図5では、音声訓練データ107は、グランド・トゥルースを表すスペクトログラムに変換される。そのようにするために、音声訓練データ107は、任意の特徴抽出モデルを用いて転換されてもよい。次に、スペクトログラムは、音声転送レギュラライザ115内のMLモデル505Cへの入力として使用される。一実施形態では、視覚エンコーダ110内のMLモデル505Bと同様に、MLモデル505Cはシーケンス対シーケンスMLモデルであり、このモデルは、LSTM、双方向LSTM、RNN、1D対流、または他のシーケンス学習方法であり得る。有利なことに、シーケンス対シーケンスMLモデルは、音声訓練データおよび視覚的訓練データなどの時間依存的な情報を処理する際に、他のMLモデルと比較して改善された結果を提供する。
【0046】
情報ボトルネックは、MLモデル505Cの出力を抑えることによって実行される。例えば、MLモデル505Cの出力の大きさを低減することによって、情報ボトルネックを実行することができる。図示のように、MLモデル505Cは、スペクトログラムを入力として用いて、ボトルネック音声フレーム510を生成する。次いで、音声転送レギュラライザ115は、フレーム510をT回複製するため、有利なことに、ボトルネック音声フレーム510の数多くのコピーが視覚フレーム515として存在し、視覚フレーム515は、視覚エンコーダ110によって識別された視覚的対象と、音声転送レギュラライザ115によって識別された視覚的に無関係な音とを区別するジェネレータ125の能力を高めることができる。
【0047】
情報ボトルネックを実装するために音声フレーム510の大きさ(dimension)を低減することにより、視覚的に関連する音に対応するいくらか(またはすべて)のデータが本質的にフィルタアウトされる。換言すれば、音声フレーム510の大きさ(すなわち、MLモデル505Cの出力)は、フレーム510が視覚的に無関係な音に対応するが視覚的に関連する音には対応しないデータを主に含有するように調整され、それによって、上述したように情報ボトルネックを実装することができる。
【0048】
コンバイナ520は、視覚エンコーダ110によって生成された視覚フレーム505と、音声転送レギュラライザ115によって生成された複製音声フレーム510とを結合し、結果として得られた情報をジェネレータ125に転送する。ジェネレータ125は、エンコーダ110のMLモデルとレギュラライザ115の下流にあるMLモデル505Dであって、グランド・トゥルースのスペクトログラムに適合するはずの予測スペクトログラムを出力することによって音声訓練データ107内の音を複製しようとするMLモデル505Dとを含む。一実施形態では、MLモデル505Dは、転置畳み込み層、畳み込み層、バッチ正規化(BN)層、整流線形ユニット(ReLU)層など、異なる層の混合を含むことがある。これらの層は、1つのMLモデルまたはいくつかのデイジー・チェーンMLモデルに結合することができる。さらに、図示されていないが、ジェネレータ125は、予測スペクトログラムを生成するMLモデル505Dの出力に結合されたポストネットワークを含むことができる。
【0049】
上述したように、訓練段階の間、ジェネレータ125は、視覚エンコーダ110によって識別された視覚的対象に対応するデータ(すなわち、視覚フレーム515)と、視覚的に無関係な音に対応するデータ(すなわち、ボトルネック音声フレーム510)とを受信する。この情報から、MLモデル505Dは、音声訓練データ107における視覚的対象物と視覚的に無関係な音とを区別するように訓練される。こうして、実行段階の間、MLモデル505Dが視覚的に無関係な音を無音ビデオ中の視覚的対象に関連付ける可能性は、有利に低減される。
【0050】
一実施形態では、MLシステム500を訓練して視覚的に関連する音と無関係な音とを区別することが、数学的に定式化され得る。以下の説明では、大文字はランダム変数(太字ではない)またはランダム・ベクトル(太字)を表し、小文字は決定論的値を表す。E[]は期待値を指す。H()は(離散的な)シャノン・エントロピーを指す。さらに、(V(t);S(τ))は視覚-音の対を表し、V(t)は各ビデオ・フレームtでの視覚シグナル(ベクトル化された)を表し、S(τ)は各音声フレームτの音表現(波形またはスペクトログラム)を表す。視覚信号および音信号が異なるサンプリング・レートを有することから、異なるフレーム指標tおよびτが使用される。
【0051】
音声を、関連する信号と無関係な信号とに分解するものと仮定する。
【0052】
【0053】
下付文字rは関連する音を指すのに対し、iは無関係な音を指す。また、f()として示される関係が、ビデオと関連する音との間にのみ存在するものと仮定する。無関係な音は、関連する音と視覚的特徴との両方から独立している。これらの関係は次のように表すことができる。
【0054】
【0055】
式中、
【0056】
【0057】
は独立性を指す。一実施形態では、目標は、2つの成分を分離し、視覚信号V(t)から視覚的に関連する成分Sr(τ)のみを生成することである。
【0058】
視覚エンコーダ110は、ビデオ信号V(t)を入力として受信し、一連のビデオ特徴を出力する。音声転送レギュラライザ115は、音信号S(τ)を入力として受信し、音声転送情報(すなわち、複製されたボトルネック音声フレーム510)を出力する。次いで、ジェネレータ125はS(τ)を予測(または復元)する。音声転送の有無にかかわらず、2つの異なるタイプの予測がある。
【0059】
【0060】
として示される音声転送を伴う予測は、ビデオ特徴と音声転送情報との両方から予測される。
【0061】
【0062】
として示される音声転送のない予測は、例えば、
図3に図示するゼロベクトル310を使用して、音声転送レギュラライザへの入力を0に設定することによって予測される。
【0063】
訓練の間、ジェネレータ125は、音声転送を伴う予測を含む以下の損失を最小にしようとする。
【0064】
【0065】
式3の第1項は再構成誤差であり、第2項は敵対的損失である。
【0066】
図6は、本明細書に記載の一実施形態による、音を視覚データに同期させるためのMLモデルを訓練するためのMLシステム600である。MLシステム600は、視覚エンコーダ110と音声転送レギュラライザ115との間の追加の通信リンク605を除いてMLシステム500と同じである。具体的には、リンク605は、MLモデル505Aの出力をレギュラライザ115のMLモデル505Cに送信することを示す。
【0067】
MLシステム500に示されるこのリンク605を省略することにより、リンク605を使用するMLシステム(600)に比べて、MLシステム500がより速く実行されるか、またはより少ないリソースを使用することができるという点で、オペレーション効率を有利に向上させることができる。しかし、リンク605は、MLシステム500に比べて、視覚的に関連する音と無関係の音とを区別するMLシステム600の能力を高めることがある。一般に1つのタイプの視覚的対象が存在する用途では、リンク605を省略することにより、満足な結果を得ることができる。例えば、訓練データが花火のビデオのみを含む場合には、MLシステムを訓練する際にリンク605を省略することで十分であることがある。すなわち、MLシステム500は、リンク605を用いずに、視覚的に関連する音声と無関係な音声とを正確に区別することが可能である。しかし、訓練データが複数の異なる視覚的対象を含む場合、リンク605は、音声転送レギュラライザ115がMLモデル505Aの出力をMLモデル505Cへの入力として用いて視覚的に関連する音と無関係な音とをよりよく区別することを可能にすることによって、性能に実質的な改善を提供してもよい。
【0068】
本発明の様々な実施形態の説明が、例示のために提示されてきたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実用的な適用、もしくは市場で発見された技術を超える技術的な改善を最も良く説明するために、または本明細書に開示された実施形態を他の当業者が理解することを可能にするように選択されたものである。
【0069】
先に説明したように、本開示に提示された実施形態への参照が行われる。しかし、本開示の範囲は、特定の記載された実施形態に限定されるものではない。代わりに、上述した特徴および要素の任意の組合せが、異なる実施形態に関連するか否かにかかわらず、想定された実施形態を実装および実践することが想定されている。さらに、本明細書に開示された実施形態は、他の可能な解決策を超えるかまたは従来技術を超える利点を達成し得るが、所与の実施形態によって特定の利点が達成されるか否かは、本開示の範囲を限定するものではない。そのため、上述の態様、特徴、実施形態、および利点は、例示的なものに過ぎず、特許請求の範囲に明示的に記載されている以外は、添付の特許請求の範囲の要素または制限は考慮されていない。同様に、「本発明」を参照することは、本明細書に開示される本発明の主題の一般論として解釈されるべきではなく、特許請求の範囲に明示的に記載されている以外は、添付の特許請求の範囲の要素または制限であるものと考えられるべきではない。
【0070】
本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書では全て一般的に「回路」、「モジュール」、または「システム」と呼ばれることがあるソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとり得る。
【0071】
本発明は、システム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を行わせるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含んでいてもよい。
【0072】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および格納することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、以下に限定されないが、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前述の任意の適した組合せとしてよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的な一覧としては、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能なプログラム可能な読出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル汎用ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、機械的に符号化されたデバイス、例えば、命令を上に記録したパンチ・カードまたは溝内の隆起構造など、および前述の任意の適切な組合せが挙げられる。コンピュータ可読記憶媒体は、本明細書で使用される際に、それ自体が電波または他の自由に伝搬する電磁波、導波管または他の伝送媒体(例えば、光ファイバ・ケーブルを通る光パルス)を伝搬する電磁波、またはワイヤを介して伝送される電気信号などの一時的な信号であるものと解釈されるべきではない。
【0073】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各演算/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組合せを介して外部コンピュータまたは外部記憶装置に、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組合せを含むことができる。各演算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各演算/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を送る。
【0074】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または1つもしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかとしてよく、プログラミング言語としては、Smalltalk、C++などのオブジェクト指向プログラミング言語と、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語が挙げられる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的にかつリモート・コンピュータ上に部分的に、またはリモート・コンピュータ上で部分的にもしくはリモート・コンピュータ上で全体的に、実行してもよい。後者のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されていてもよいし、または接続が、外部コンピュータに(例えば、インターネットサービスプロバイダを用いてインターネットを介して)なされていてもよい。いくつかの実施形態では、例えば、プログラム可能なロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラム可能なロジックアレイ(PLA)を含めた電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報によって、コンピュータ可読プログラム命令を実行してもよい。
【0075】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、ならびにフローチャート図もしくはブロック図またはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0076】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装する手段を生成するように、機械を生成し得る。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、もしくは他のデバイス、またはそれらの組合せを特定の方法で機能させることのできるコンピュータ可読記憶媒体に格納されてもよく、ゆえに、命令を中に格納したコンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む、製品を含み得る。
【0077】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実装するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実施させて、コンピュータ実装プロセスを生じる。
【0078】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施形態のアーキテクチャ、機能性、およびオペレーションを説明する。この点に関して、フローチャートまたはブロック図の各ブロックは、指定されたロジック機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことがある。いくつかの代替的な実施形態では、ブロックに記載された機能は、図に記載された順序の外に生じ得る。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよいし、またはブロックが、関与する機能性に応じて、逆の順序で実行されてもよい。また、ブロック図もしくはフローチャート図またはその両方の各ブロック、ならびにブロック図もしくはフローチャート図またはその両方におけるブロックの組合せは、指定された機能もしくはオペレーションを実行するか、または専用ハードウェアとコンピュータ命令との組合せを実施する、専用ハードウェアベースのシステムによって実装できることに留意されたい。
【0079】
前述の記載は本発明の実施形態を対象とするが、本発明の他のまたはさらに別の実施形態が、その基本的な範囲から逸脱することなく考案されてもよく、その範囲は、下記の特許請求の範囲により決定される。