(57)【要約】  本明細書では、スライドショーイベントを音声と同期させるための技術を説明する。１つまたは複数の動画イベント、スライドの遷移、または視覚効果を定義するデータと、該定義されたイベントの実行中に再生されるべき音声ファイルとを受信する。音声ファイルを処理して、該音声ファイル中に含まれる音声イベントを識別する。音声ファイル内の音声イベントが識別されると、該音声イベントをどのように動画イベントに同期させるべきかを定義するデータを含む音声同期スキームを使用して、定義された動画イベントを、識別された音声イベントに同期させる。プレゼンテーションに適用される音声同期スキームをユーザが選択することを可能にするユーザインタフェースを提供することができる。ユーザが、ある動画イベントを音声ファイル内の識別された任意の音声イベントに視覚的に関連付けることを可能にする、ユーザインタフェースも提供することができる。
2010539619.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の動画イベント（１０７）を、１つまたは複数の音声イベント（４１０）と同期させるための方法であって、
前記動画イベント（１０７）を定義するステップと、
音声ファイル（１１４）を処理して前記音声イベント（４１０）を識別するステップと、
音声同期スキーム（１１０）を使用して、前記動画イベント（１０７）を前記識別された音声イベント（４１０）に同期させるステップと
を含むことを特徴とする方法。
【請求項２】
前記音声ファイルを処理して前記音声イベントを識別するステップは、前記音声ファイルを処理して該音声ファイルに含まれる１つまたは複数の音声オンセットを識別することと、前記音声オンセットをフィルタリングして前記音声イベントを識別することとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記音声同期スキームは、前記音声イベントをどのように前記動画イベントに同期させるべきかを定義するデータを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記データは、各音声イベントと、対応する動画イベントとの間のオフセットを指定することを特徴とする請求項２に記載の方法。
【請求項５】
前記データは、各音声イベントを、対応する動画イベントの開始と同期させるべきか、または対応する動画イベントの終わりと同期させるべきかを指定することを特徴とする請求項２に記載の方法。
【請求項６】
前記データは、前記音声イベントの全てを前記動画イベントと同期させるべきか、または前記音声イベントの一部のみを前記動画イベントと同期させるべきかを指定することを特徴とする請求項２に記載の方法。
【請求項７】
前記データは、前記音声イベントの前記一部をどのように選択すべきかを指定することを特徴とする請求項６に記載の方法。
【請求項８】
コンピュータによって実行されるときに該コンピュータに請求項１に記載の方法を実行させるコンピュータ実行可能命令を記録したことを特徴とする、コンピュータ読み取り可能媒体。
【請求項９】
プレゼンテーションドキュメント（１０６）内で定義された１つまたは複数のスライドショーイベントを、１つまたは複数の音声イベント（４１０）と同期させるための方法であって、
プレゼンテーションアプリケーションプログラム（１０２）内の前記スライドショーイベント（１０７）を定義するユーザ入力を受信するステップと、
音声ファイル（１１４）を受信するステップと、
前記スライドショーイベント（１０７）を前記音声ファイル（１１４）内の音声イベント（４１０）と同期させる要求、および前記スライドショーイベント（１０７）を前記音声イベント（４１０）と同期させる際に使用するための音声同期スキーム（１１０）の識別子を受信するステップと、
前記要求に応じて、前記音声ファイル（１１４）を処理して前記音声イベント（４１０）を識別するステップと、
前記識別された音声同期スキーム（１１０）を使用して、前記スライドショーイベント（１０７）を前記識別された音声イベント（４１０）に同期させるステップと
を含むことを特徴とする方法。
【請求項１０】
前記スライドショーイベントは、動画イベントを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記スライドショーイベントは、スライドの遷移を含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記スライドショーイベントは、前記プレゼンテーションドキュメント内のオブジェクトに対する視覚効果の適用を含むことを特徴とする請求項９に記載の方法。
【請求項１３】
前記音声ファイルを表す波形を備えるユーザインタフェースを表示するステップと、
前記波形上に、前記識別された音声イベントに対応する１つまたは複数のインジケータを表示するステップと
をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１４】
前記ユーザインタフェースは、前記スライドショーイベントのそれぞれに対応するスライドショーイベントの時間オブジェクトをさらに備え、各スライドショーイベントの時間オブジェクトを、前記波形上に表示されるインジケータにスナップすることができることを特徴とする請求項１３に記載の方法。
【請求項１５】
コンピュータによって実行されるときに該コンピュータに請求項９に記載の方法を実行させるコンピュータ実行可能命令を記録したことを特徴とする、コンピュータ読み取り可能媒体。
【請求項１６】
前記音声同期スキームは、前記音声イベントをどのように前記動画イベントに同期させるべきかを定義するデータを備えることを特徴とする請求項１に記載の方法。
【請求項１７】
１つまたは複数の動画イベント（１０７）を、１つまたは複数の音声イベント（４１０）と同期させる際に使用するためのデータ構造（１１０）を有するコンピュータ読み取り可能媒体であって、前記データ構造は、
前記音声イベント（４１０）をどのように前記動画イベント（１０７）に同期させるべきかを定義するデータを記録した、第１のデータフィールド
を備え、前記第１のデータフィールドに記録された前記データは、プレゼンテーションアプリケーション（１０２）によって前記動画イベント（１０７）を前記音声イベント（４１０）に同期させる方法を決定するのに使用されることを特徴とするコンピュータ読み取り可能媒体。
【請求項１８】
各音声イベントと、対応する動画イベントとの間のオフセットを指定するデータを記録した、第２のデータフィールドをさらに有することを特徴とする請求項１７に記載のコンピュータ読み取り可能媒体。
【請求項１９】
各音声イベントを、対応する動画イベントの開始と同期させるべきか、または対応する動画イベントの終わりとと同期させるべきかを指定するデータを記録した、第３のデータフィールドをさらに有することを特徴とする請求項１８に記載のコンピュータ読み取り可能媒体。
【請求項２０】
前記音声イベントの全てを前記動画イベントと同期させるべきか、あるいは前記音声イベントの一部のみを前記動画イベントと同期させるべきか、および前記音声イベントの前記一部をどのように選択すべきかを指定するデータを記録した、第４のデータフィールドをさらに有することを特徴とする請求項１９に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スライドショーイベントを音声と同期させることに関する。
【背景技術】
【０００２】
プレゼンテーションアプリケーションプログラムは、オーディオビジュアルプレゼンテーションを作成して配信するための機能を提供する。典型的に、プレゼンテーションは、１つまたは複数のプレゼンテーションスライドの形式をとる。各プレゼンテーションスライドは、テキスト、写真、リスト、テーブル、チャート、形状（shape）、クリップアート、ムービーなどの多数のオブジェクトを含むことができる。プレゼンテーションを配信するために、プレゼンテーションスライドをスクリーン上に表示して、ユーザの命令をナビゲートすることができる。
【０００３】
多くのプレゼンテーションアプリケーションプログラムは、各プレゼンテーションスライド上のオブジェクトを動画化（animate）して視覚効果（visual effects）を適用するため、およびプレゼンテーションスライド間の遷移（transition）を動画化して視覚効果を適用するための機能を提供する。例えば、典型的なプレゼンテーションアプリケーションプログラムによって提供される機能を使用して、ユーザは、プレゼンテーションスライドのあるオブジェクトの動作経路（motion path）を定義することができる。プレゼンテーションスライドが表示されるとき、プレゼンテーションアプリケーションプログラムは、オブジェクトが、定義された動作経路に沿って動画化されるようにする。ユーザは、プレゼンテーションオブジェクトに同様に適用される他の種類の動画（animation）および視覚効果のプロパティを手動で定義することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
多くのプレゼンテーションアプリケーションプログラムは、プレゼンテーションの間に音声ファイルを再生するための機能も提供する。しかしながら、プレゼンテーション内の動画イベントを、音声ファイル内の関心のある時点に同期させることは、従来、ユーザにとって困難であった。例えば、ユーザは、音声ファイルのメインビート（main beat）が再生される度に、あるプレゼンテーション内のテキストおよびグラフィックスの動画を出現させたいことがある。ユーザは以前、音声ファイルを繰り返し聞いて、音声ファイル内の関心のある音声イベントを識別し、次にスライドショーイベントの開始時間を、該手動で識別された音声イベントに手動で合わせることによって、これを達成していた。これは、ユーザを苛立たせる単調で時間のかかる処理であり、そしてほとんどの場合、決して理想的とは言えない結果をもたらす。
【０００５】
これらの検討事項および他の事項に関して本明細書の開示を提示する。
【課題を解決するための手段】
【０００６】
本明細書では、スライドショーイベントを音声と同期させるための技術を説明する。特に、本明細書で提示される技術および概念を用いることにより、音声ファイル内の音声イベントを、自動化された方法で識別することができる。例えば、音声ファイル内のメインビート、サイレントパッセージ（silent passages）、またはインストルメンタルパッセージ（instrumental passages）を識別することができる。識別された音声イベントは、次に、動画、視覚効果、およびスライドの遷移などのスライドショーイベントに、同様に自動化された方法で同期される。このようにして、ユーザが音声イベントを手動で識別し、または音声イベントをスライドショーイベントに手動で同期させる必要なく、音声イベントをスライドショーイベントに容易に同期させることができる。
【０００７】
本明細書に提示される一態様によると、１つまたは複数の動画イベント、スライド遷移または映像効果を定義するデータが受信される。例えば、ユーザは、グラフィカルユーザインタフェースを利用してこれらのイベントを定義することができる。ユーザは、定義されたイベントの実行時に再生される音声ファイルを指定することもできる。音声ファイルを処理して、その中に含まれる音声イベントを特定する。音声イベントは、ビート、インストルメンタルパッセージ、サイレントパッセージなどの任意の重要な可聴イベント（audible event）が、音声ファイル内で再生されるポイントを表す。一態様によると、音声イベントは、音声ファイル内の音声のオンセット（onsets；始まり）を見つけることによって識別される。音声オンセットは、音声ファイルにおいて、特定の周波数における音声のエネルギーレベルが、指定の閾値を超えるまたはそれに満たない時点である。見つかった音声オンセットをフィルタリングすることで、同期に適した数の音声イベントが提供される。
【０００８】
音声ファイル内の音声イベントが識別されると、上記定義された動画イベントは、音声同期スキームを使用して該識別された音声イベントに同期される。音声同期スキームは、音声イベントをどのように動画イベントに同期させるかについて定義するデータを含む、「レシピ(recipe)」である。例えば、諸実施形態によると、音声同期スキームのデータは、各音声イベントと対応する動画イベントとの間のオフセットを指定する。このようにして、音声イベントが発生する前、同じ時点、またはその後に、動画イベントをトリガする命令を提供することができる。
【０００９】
他の実施形態において、音声同期スキームのデータは、各音声イベントを、対応する動画イベントの開始と同期させるべきか、または対応する動画イベントの終わりと同期させるべきかを指定する。該データは、音声イベントの全てを動画イベントと同期させるべきか、またはその一部を動画イベントと同期させるべきかを指定することもできる。例えば、このようなデータを４つごとに使用して、音声イベントを動画イベントと同期させることができる。データは、音声イベントの一部をどのように選択するかについて指定することもできる。同様に、音声イベントを動画イベントと同期させる方法を定義する他の種類の命令を、音声同期スキームに提供することもできる。
【００１０】
複数の音声同期スキームの定義を通じて、動画イベントを音声と同期させるための様々な「ムード(mood)」を生成することができる。一実施形態において、ユーザが、プレゼンテーションに適用すべき音声同期スキームを選択できるようにする、ムードギャラリー（mood gallery）ユーザインタフェースを提供する。音声同期スキームに、プレゼンテーションに適用されるときに伝える「ムード」を示す名前を付けることができる。例えば、楽しい（happy）または説得力のある（persuasive）ムードを伝えるように音声同期スキームを定義することができる。
【００１１】
他の実施形態によると、時間軸（timeline）に沿って音声ファイルの波形（waveform）を表示するユーザインタフェースも提供される。識別された音声イベントに対応するインジケータも波形上に表示される。該ユーザインタフェースは、ユーザが手動で動画イベントを波形上に示される音声イベントと関連付けることも可能にする。例えば、適切なユーザ入力デバイスを使用して、ユーザは、時間軸に沿って動画に対応するオブジェクトを移動させることがある。それに応じて、動画イベントの開始および／または終了時間が、波形上に示される音声イベントに対応するインジケータにスナップ（snap）する。このようにして、本明細書において提供されるユーザインタフェースは、ユーザが動画イベントを音声ファイル内の識別された任意の音声イベントと視覚的に関連付けることを可能にする。
【００１２】
本明細書に提示される機能は、プレゼンテーションアプリケーションプログラムのコンテキストで説明されるが、オブジェクトを動画化し、視覚効果を実施し、または遷移を表示するとともに、音声の録音帯（soundtrack）を再生するための機能を提供する、任意の種類のコンピュータプログラムで、これらの機能を利用することもできることを理解されたい。上述の本願発明の対象は、コンピュータ制御される装置、コンピュータプロセス、コンピューティングシステムとして、またはコンピュータ読み取り可能媒体などの製品としても実装され得ることを理解されたい。これらの機能および他の機能は、以下の発明の詳細な説明を読み、関連する図面を精査することによって明らかになるであろう。
【００１３】
この「課題を解決するための手段」の記載は、以下の発明の詳細な説明において詳述される概念の選択を、簡略化した形式で導入するため提供している。この「課題を解決するための手段」の記載は、特許請求される対象の重要な特徴または不可欠な特徴を特定するようには意図されておらず、特許請求される対象の範囲を限定するように用いられることも意図されていない。さらに、特許請求される対象は、本開示の任意の部分において指摘される欠点の一部またはすべてを解決する実装には限定されない。
【図面の簡単な説明】
【００１４】
【図１】本明細書で提示される一実装において提供されるプレゼンテーションアプリケーションの態様を示すソフトウェアアーキテクチャ図である。
【図２】本明細書で説明される一実装において、スライドショーイベントを音声イベントと同期させるための例示的なルーチンを示すフロー図である。
【図３】本明細書で提示される一実装において、ユーザが音声同期スキームを選択する例示的なムードギャラリーを示しているユーザインタフェースを示す図である。
【図４】本明細書で提示される一実装にかかる、音声ファイル内の音声イベントを識別するための例示的なプロセスを示すプロセス図である。
【図５】本明細書で提示される一実装において、音声ファイル内の音声オンセットを識別するためのソフトウェアアーキテクチャの態様を示すソフトウェアアーキテクチャ図である。
【図６】本明細書で提示される一実施形態によって提供されて利用されるオンセット検出器の態様を示すソフトウェアアーキテクチャ図である。
【図７】一実施形態にかかる、音声ファイル内の音声イベントを表示し、その音声イベントをプレゼンテーションドキュメント内のスライドショーイベントに手動で割り当てるための例示的なユーザインタフェースを示す図である。
【図８】本明細書に提示される実施形態を実装することができるコンピューティングシステムの例示的なコンピュータハードウェアおよびソフトウェアのアーキテクチャを示す、コンピュータアーキテクチャ図である。
【発明を実施するための形態】
【００１５】
以下の詳細な説明は、スライドショーイベントを音声イベントと同期させるための技術を対象とする。本明細書に提示される実施形態の使用により、ユーザが音声イベントを手動で識別し、または音声イベントをスライドショーイベントに手動で同期させることを必要とせずに、音声ファイル内の音声イベントを自動化された方式で識別し、該音声イベントを、動画、視覚効果、およびスライド遷移などのスライドショーイベントに同期させることができる。本明細書に提示される様々な実施形態に関するさらなる詳細を、以下で図１−８を参照して提供する。
【００１６】
本明細書で説明される対象は、コンピュータシステムにおけるオペレーティングシステムおよびアプリケーションプログラムの実行とともに実行する、プログラムモジュールの一般的なコンテキストで提示されるが、当業者には、他の種類のプログラムモジュールとの組み合わせにおいて他の実装を実施できることが認識されよう。一般的に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行し、または特定の抽象データ型を実装する他の種類の構造を含む。さらに、当業者には、本明細書で説明される対象を、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電化製品、ミニコンピュータ、およびメインフレームコンピュータなどを含む、他のコンピュータシステムで実施することができることが認識されよう。
【００１７】
以下の詳細な説明において、その一部を形成し、特定の実施形態または例示の説明として示される、添付の図面を参照する。図面を参照すると、同様の数字が複数の図を通じて同様の要素を表しており、該図面を参照してスライドショーイベントおよび音声イベントを同期させるコンピュータシステムと方法の態様を説明する。
【００１８】
図１を参照して、本明細書に提示されるスライドショーイベントを音声イベントと同期させるための一実施形態に関する詳細を説明する。具体的には、図１は、本明細書に提示される一実施形態に従って、スライドショーイベントを同期させるのに利用されるソフトウェアアーキテクチャの態様を図示している。図１に示されるように、本明細書に提示される実施形態は、プレゼンテーションアプリケーションプログラム１０２のコンテキストで説明される。プレゼンテーションアプリケーション１０２は、オーディオビジュアルプレゼンテーションを作成し配信するための機能を提供する。典型的には、プレゼンテーションは、プレゼンテーションドキュメント１０４内に含まれる１つまたは複数のプレゼンテーションスライド１０６Ａ−１０６Ｃの形をとる。プレゼンテーションスライド１０６Ａ−１０６Ｃはそれぞれ、テキスト、写真、リスト、テーブル、形状、クリップアート、およびムービーなど、多数のオブジェクト１０８Ａ−１０８Ｃを含むことができる。他の種類のオーディオビジュアルオブジェクトを利用することもある。プレゼンテーションドキュメント１０４で定義されるプレゼンテーションを配信するために、ユーザの命令によって、プレゼンテーションスライド１０６Ａ−１０６Ｃをコンピュータのディスプレイスクリーン上に表示し、ナビゲートすることができる。
【００１９】
プレゼンテーションアプリケーション１０２は、オブジェクト１０８Ａ−１０８Ｃを動画化し、視覚効果を該オブジェクト１０８Ａ−１０８Ｃおよびプレゼンテーションスライド１０６Ａ−１０６Ｃ間の遷移に適用するための機能も含む。例えば、ユーザは、プレゼンテーションアプリケーション１０２によって提供される機能を利用して、オブジェクト１０８Ａ−１０８Ｃに対する動画イベント１０７Ａ−１０７Ｃを作成することができる。図１に示される動画イベント１０７Ａ−１０７Ｃは、オブジェクト１０８Ａ−１０８Ｃを動作経路に沿って移動させる。しかしながら、他の種類の２次元の動画および３次元の動画を定義してもよいことを認識されたい。同様に、視覚効果をオブジェクト１０８Ａ−１０８Ｃに適用することができる。例えば、オブジェクト１０８Ａ−１０８Ｃをフェードイン／フェードアウトまたはディゾルブ（dissolve）させる視覚効果を定義することができる。プレゼンテーションスライド１０６Ａ−１０６Ｃのうちの２つスライド間の切り替えの間または遷移の間に動画効果（animation effects）または視覚効果を表示する、遷移効果（transition effects）も定義することもできる。スライドショーイベントは、動画イベント、視覚効果、遷移イベント、およびプレゼンテーションアプリケーションプログラム内で定義され得る任意の他の種類の視覚イベントを含む。
【００２０】
一実施形態において、プレゼンテーションアプリケーション１０２は、音声ファイル１１４の音声イベントを、定義されたスライドショーイベントに同期させるための機能も含む。この機能を提供するために、プレゼンテーションアプリケーション１０２は、音声ファイル１１４内の音声イベントを識別するための処理を実行する音声同期コンポーネント１１２を含む。この処理は、以下で図４−６を参照して説明する。プレゼンテーションアプリケーション１０２は、識別された音声イベントを、プレゼンテーションドキュメント１０４内で定義されたスライドショーイベントと同期させるための機能も提供する。これに関してプレゼンテーションアプリケーション１０２は、音声同期コンポーネント１１２によって作成される音声イベントとスライドショーイベントの同期をユーザが手動で調整できるようにする、ユーザインタフェースも提供する。このユーザインタフェースに関する詳細は、以下で図７に関連して提供する。
【００２１】
本明細書に提示される様々な実施形態によると、音声同期コンポーネント１１２は、音声同期スキーム１１０Ａを利用して、音声イベントをどのようにスライドショーイベントと同期させるべきかを決定する。音声同期スキーム１１０Ａは、音声イベントをどのようにスライドショーイベントと同期させるべきかを定義するデータを含む、「レシピ」である。例えば、諸実施形態によると、音声同期スキーム１１０Ａ内のデータは、各音声イベントと対応する動画イベントとの間のオフセットを指定する。このようにして、音声イベントの発生の前、同じ時点、またはその後にスライドショーイベントをトリガする命令を提供することができる。
【００２２】
他の実施形態において、音声同期スキーム１１０Ａ内のデータは、各音声イベントを、対応する動画イベントの開始と同期させるべきか、またはその終わりと同期させるべきかを指定する。該データは、音声イベントの全てを動画イベントに同期させるべきか、またはその一部を動画イベントに同期させるべきかを指定することもできる。例えば、このようなデータを４つごとに使用して、音声イベントを動画イベントと同期させることができる。データは、音声イベントの一部がどのように選択されるべきかを指定することもできる。音声イベントを動画イベントと同期させる方法を定義する他の種類の命令を、音声同期スキーム１１０Ａに同様に提供することができる。
【００２３】
複数の音声同期スキーム１１０Ａ−１１０Ｃの定義により、動画イベントを音声と同期させるための異なる「ムード」を作成することができる。一実施形態において、ユーザが、プレゼンテーションドキュメント１０４に適用されるべき音声同期スキーム１１０Ａ−１１０Ｃのうち１つを選択できるようにする、ムードギャラリーユーザインタフェースが提供される。音声同期スキーム１１０Ａ−１１０Ｃには、プレゼンテーションに適用されるときに伝える「ムード」を説明する名前を与えることができる。例えば、楽しいというムードまたは説得力があるというムードを伝える音声同期スキームを定義することができる。ムードギャラリーユーザインタフェースに関するさらなる詳細を、以下で図３に関連して提供する。
【００２４】
図２を参照しながら、本明細書に提示されるスライドショーイベントを音声イベントと同期させるための実施形態に関するさらなる詳細を説明する。具体的には、図２は、スライドショーイベントを音声イベントと同期させるルーチン２００を説明するフロー図を示している。本明細書で説明される論理的動作は、（１）コンピュータシステム上で実行する、コンピュータで実装されるアクトまたはプログラムモジュールのシーケンスとして、および／または（２）コンピュータシステムにおいて相互接続されるマシンの論理回路または回路モジュールとして実装されることを認識されたい。その実装は、コンピュータシステムの性能および他の要件に応じて選択されることである。したがって、本明細書で説明される論理的動作は、動作、構造デバイス、アクト、またはモジュールなどと様々に呼ばれる。これらの動作、構造デバイス、アクト、およびモジュールを、ソフトウェア、ファームウェア、専用のデジタルロジック、およびこれらの任意の組み合わせで実装することができる。図面で示され、本明細書で説明される動作よりも少ない動作、または多くの動作を実行することもあることを認識されたい。これらの動作を、本明細書で説明されるものとは異なる順序で実行することもできる。
【００２５】
ルーチン２００は、ユーザはプレゼンテーション内のスライドショーイベントを定義する、動作２０２から開始する。例えば、プレゼンテーションアプリケーション１０２によって提供される機能を利用して、ユーザは、動画イベント、視覚効果、遷移イベント、またはオブジェクト１０８Ａ−１０８Ｃもしくはプレゼンテーションスライド１０６Ａ−１０６Ｃに対する他の種類のイベントを定義することができる。ユーザが所望のスライドショーイベントを生成すると、ルーチン２００は動作２０２から動作２０４に進む。
【００２６】
動作２０４において、プレゼンテーションアプリケーション１０２は、音声ファイル１１４の選択を受信する。例えば、一実装において、ユーザは、上記動作２０２で定義したスライドショーイベントのプレゼンテーション中に再生されるべき音声ファイル１１４を、指定することができる。音声ファイル１１４を、標準のＷＡＶ音声ファイル、ＭＰ３音声ファイルとしてフォーマットしてもよく、または別の種類の音声フォーマットを利用してフォーマットしてもよい。音声ファイル１１４は、別の種類のファイル内に含まれてもよいことも認識されたい。例えば、音声ファイル１１４は、ビデオファイル内に含まれる音声データを備えることがある。このような実施形態では、本明細書に提示される態様を利用して、スライドショーイベントをビデオファイル内の音声イベントに同期させることができる。これは、ビデオファイルに適用される効果、遷移、および他の種類の機能と、該ビデオファイル内に含まれる音声データとの同期も可能にする。
【００２７】
ユーザが、スライドショーイベントと同期させる音声ファイル１１４を選択すると、ルーチン２００は動作２０６に続く。動作２０６において、ユーザは、音声ファイル１１４内の音声イベントを、定義されたスライドショーイベントに同期させる際に使用される、音声同期スキーム１１０Ａ−１１０Ｃのうち１つを選択することができる。一実装によると、図３に示される「ムード」ギャラリーユーザインタフェース３００を提示することで、ユーザが所望の音声同期スキーム１１０を選択できるようにする。図３に示されるように、「ムード」ギャラリーユーザインタフェース３００は、複数のユーザインタフェースボタン３０２Ａ−３０２Ｆを含み、各ボタン３０２は、特定の音声同期スキーム１１０に対応している。
【００２８】
一実装において、動画イベントを音声と同期させるための異なる「ムード」を伝達する、複数の音声同期スキーム１１０Ａ−１１０Ｃが作成される。音声同期スキーム１１０Ａ−１１０Ｃには、プレゼンテーションに適用されたときに伝達する「ムード」を説明する名前も与えられる。これらの名前を、各音声同期スキームに対応するボタン３０２Ａ−３０２Ｆに反映することもできる。例えば、ボタン３０２Ａは、その音声同期スキームがプレゼンテーションに適用されるときに、該音声同期スキームで定義されたスライドショーイベントを音声ファイル１１４の音声イベントに断定的に（assertive way）同期させる、音声同期スキームに対応する。ユーザは、適切なユーザ入力デバイスを利用して、ボタン３０２Ａ−３０２Ｆの１つ、および対応する音声同期スキーム１１０を選択する。
【００２９】
図２に戻ると、動作２０６で音声同期スキーム１１０が選択されると、ルーチン２００は動作２０８に進む。動作２０８において、選択された音声ファイル１１４の音声イベントが識別される。音声ファイル１１４内で関心のある音声イベントを識別するための一例示的な処理に関する詳細を、以下で図４−６に関連して提供する。音声ファイル１１４内の音声イベントが識別されると、ルーチン２００は、動作２１０から動作２１２に進む。
【００３０】
動作２１２において、音声同期コンポーネント１１２は、上記動作２０２で定義されたスライドショーイベントを、動作２０８で識別された音声イベントと同期させる。具体的には、一実施形態によると、音声同期コンポーネント１１２は、識別された音声イベントに対応するように、定義されたスライドショーイベントのタイミングを調整する。一実装において、これは、上記動作２０６で選択された音声同期スキーム１１０を使用して行われる。選択された音声同期スキーム１１０のコンテンツに基づいて、音声イベントを、対応するスライドショーイベントの開始または終わりに同期させることができ、該音声イベントの全てまたは一部をスライドショーイベントと同期させることができ、あるいは所望の「ムード」を提供するように、スライドショーイベントを音声イベントに同期させる方法に他の変更を加えることもできる。
【００３１】
スライドショーイベントが識別された音声イベントと同期されると、ルーチン２００は、動作２１２に進み、該動作２１２では、ユーザに、音声同期コンポーネントによって行われた同期を手動で調整する機会を提供する。例えば、一実装では、ユーザがスライドショーイベントと音声イベントとの間の同期を手動で調整することが可能な、ユーザインタフェースを提供する。この処理を実行するための一例示的なユーザインタフェースを以下で図７に関して説明する。ユーザがすべての調整を終えると、音声ファイル１１４とスライドショーイベントを同時に再生することができる。ルーチン２００は、動作２１２から動作２１４に進み、そこで動作が終了する。
【００３２】
図４は、音声ファイル１１４内の１つまたは複数の音声イベント４１０を識別するための本明細書で提供される一例示的な処理の概略を示す。上記に簡単に論じたように、音声イベント４１０は、ビート、インストルメンタルパッセージ、サイレントパッセージなどの音声ファイル内の重要な可聴イベントがあるポイントを表す。音声イベント４１０は、音声ファイル１１４内で音声オンセット４０６を見つける音声オンセット検出プロセス４０４を実行することによって識別される。音声オンセット４０６は、音声ファイルにおいて、特定の周波数の音声のエネルギーレベルが、指定の閾値を超えるかまたはそれに満たない時点である。一実施形態において利用される例示的な音声オンセット検出プロセス４０４に関する詳細を、以下で図５−６に関連して提供する。
【００３３】
一実装では、フィルタリングプロセス４０８を利用して、見つかった音声オンセット４０６をフィルタリングすることにより、同期に適した数の音声イベント４１０を提供する。これは、ポピュラー音楽において生の音声オンセットの間がしばしば密な間隔にあるためである。したがって、音声オンセット検出プロセス４０４によって識別された音声オンセット４０６は、同期の目的で音声オンセット４０６のうち適切な一部を選択するように、フィルタリングプロセス４０８によってさらに処理される。諸実施形態によると、フィルタリングプロセス４０８は、音声オンセット４０６間の平均間隔、平均間隔からの偏差、音声オンセット４０６の強さ（intensity）、または音声オンセット４０６を適切な数の音声イベント４１０へフィルタリングするための他の因子（factor）を利用することができる。
【００３４】
図５を参照して、図４に関連して簡単に上述した音声オンセット検出プロセス４０４を実行するための例示的なソフトウェアアーキテクチャ５０２を説明する。図５に示される実装では、音声ファイル１１４はロードされ、ＷＡＶ音声フォーマットの生の音声サンプルの連続するストリームに変換される。これは、音声データを波形のサンプルに復号するＭＩＣＲＯＳＯＦＴ  ＤＩＥＷＣＴＳＨＯＷの技術を利用する、ＭＥＤＩＡＧＲＡＰＨ（メディアグラフ）クラス５０４によって行われる。
【００３５】
ＭＥＤＩＡＧＲＡＰＨクラス５０４によって出力される音声サンプルストリームは、サンプルに対して短時間フーリエ変換（ＳＴＦＴ：Short-Time Fourier Transform)を実行して周波数スペクトルのストリームを取得する、時間／周波数変換器（time-to-frequency converter）５０６に入力される。一実装において、時間／周波数変換器５０６は、音声サンプルのストリームにおけるスライディングウィンドウ（sliding window）として機能するバッファを保持する。このバッファが満杯のとき、時間／周波数変換器５０６は、最初に、窓関数（window function）をデータに適用して、バッファの両端のデータをゼロに近づける。次に、高速フーリエ変換（ＦＦＴ：Fast Fourier Transform)アルゴリズムを使用して、フーリエ変換を、窓関数が適用されたデータ（windowed data）に適用する。スライディングウィンドウとして機能するバッファは、次いで、先に進んで新しい音声サンプルを受け取る。
【００３６】
窓関数の適用によるエネルギーの減衰を補うために、一実施形態において、スライディングウィンドウは、満杯のバッファサイズでは先に進まない。その代わりに、部分的なウィンドウの前進を可能にするために、重複因子（overlapping factor）を特定する。一実装において、時間／周波数変換器５０６は、次のパラメータ、すなわち、２０４８のサンプルのバッファサイズ、ハミング（Hamming）窓関数、および０．５の重複因子を使用する。この実装により、これらのパラメータの容易なカスタマイズも可能になる。例えば、代わりにハン（Hann）窓関数、および０．７５の重複因子を利用することができる。ハミング窓関数およびハン窓関数は、当業者には周知である。
【００３７】
時間／周波数変換器５０６からの周波数スペクトルのストリームは、いくつかのサブバンドに対応するエネルギー値のストリームに変換される。これは、各サブバンド帯域幅に対応するＦＴＴ出力の容量の大きさを二乗して、それらを加算することによって行われる。図５に示される実装では、４つのサブバンド、すなわち、２２Ｈｚ−２５６Ｈｚと、２５６Ｈｚ−２０４８Ｈｚと、２０４８Ｈｚ−８１９２Ｈｚと、８１９２Ｈｚ−２２０５０Ｈｚがある（音声のサンプリングレートを４４１００Ｈｚと仮定する）。任意のサブバンド分割を指定するようにサブバンドの範囲を変更することが可能であることを認識されたい。
【００３８】
エネルギー値ストリームをそれぞれ、対応するオンセット検出器（detector）５０８Ａ−５０８Ｄに入れる。オンセット検出器５０８Ａ−５０８Ｄはそれぞれ、時間値のリスト、すなわち音声オンセット４０６Ａ−４０６Ｄを作成する。該音声オンセット４０６Ａ−４０６Ｄでは、対応するエネルギー値に同調して急激なエネルギー変化が起きる。音声オンセット集積器（aggregator）５１０は、これらのサブバンドオンセット４０６Ａ−４０６Ｄを組み合わせて、一組の音声オンセット４０６Ｅにする。オンセット検出器５０８Ａ−５０８Ｄの動作に関するさらなる詳細を、以下で図６に関連して提供する。
【００３９】
図６に移り、オンセット検出器５０８に関するさらなる詳細を説明する。図６に示されるように、各オンセット検出器５０８は、ソースフィルタ６０２を含む。ソースフィルタ６０２は、入力値のストリームを受信して、そのデータ値に時間インデックスを付ける。各オンセット検出器５０８は、メジアンフィルタ６０４も含む。メジアンフィルタ６０４は、時間インデックスを付けられたデータストリームをソースフィルタ６０２から受信して、入力データのメジアンの移動平均を計算する。
【００４０】
メジアンフィルタ６０４の出力は、ピーク検出器６０６の閾値曲線（threshold curve）として使用される。ピーク検出器６０６は、ソースフィルタ６０２の出力をデータ入力として受信し、メジアンフィルタ６０４の出力を閾値入力として受信する。ピーク検出器６０６は、閾値を超えているデータの中のピークを識別する。ピーク検出器６０６の出力は、オンセット検出器５０８の出力である。図５−６を参照して説明したソフトウェアアーキテクチャおよび方法は単に例示であり、音声ファイル１１４の音声イベント４１０を識別する他の技術を利用することもできることを認識されたい。
【００４１】
図７を参照して、音声ファイル内の音声イベントを表示し、該音声イベントをプレゼンテーションドキュメント内のスライドショーイベントに手動で割り当てるための例示的なユーザインタフェース７００を説明する。図７に示されるように一実施形態において、ユーザインタフェース７００は、複数のレーン７０２Ａ−７０２Ｄを含む。レーン７０２Ａは、波形７０４の形式であり、音声ファイル１１４のコンテンツのグラフィカル表示を提供する。波形７０４とともに表示されるのは、音声ファイル１１４内で識別された音声イベント４１０に対応する、１つまたは複数のインジケータ７０６Ａ−７０６Ｇである。インジケータ７０６Ａ−７０６Ｇは、音声ファイル１１４内で識別された音声イベントそれぞれの位置を図形的に表している。
【００４２】
レーン７０２Ｂ−７０２Ｄは、任意に定義されたスライドショーイベントのタイミングを図形的に示している。例えば、図７に示される例において、３つのスライドショーイベントに対応するスライドショーイベントの時間オブジェクト７０８Ａ−７０８Ｃが、レーン７０２Ａ−７０２Ｄ内に表示されている。スライドショーイベントの時間オブジェクト７０８Ａ−７０８Ｃの各々の幅は、イベントの時間を図形的に表している。
【００４３】
時間軸７１０に対する各スライドショーイベントの時間オブジェクト７０８Ａ−７０８Ｃの位置は、対応するスライドショーイベントが実行される時間を表す。図７に示される例において、イベントの時間オブジェクト７０８Ａは、インジケータ７０６Ｂに合っているので、これは、対応するスライドショーイベントが、インジケータ７０６Ｂに対応する音声イベントの時間にトリガされることを示す。イベントの時間オブジェクト７０８Ｂは、インジケータ７０６Ｄに合っているので、対応するスライドショーイベントが、インジケータ７０６Ｄに対応する音声イベントの時間にトリガされることを示す。イベントの時間オブジェクト７０８Ｃは、インジケータ７０６Ｆに合っているので、対応するスライドショーイベントが、インジケータ７０６Ｆに対応する音声イベントの時間にトリガされることを示す。したがって、ユーザインタフェース７００は、音声同期コンポーネント１１２によって、音声イベントがどのようにスライドショーイベントと同期されたかを示すグラフィカル表示を提供することを認識されたい。
【００４４】
一実施形態によると、図７に示されるユーザインタフェース７００は、スライドショーイベントと波形７０４上に表された音声イベントとの同期を、ユーザが手動で調整することを可能にするための機能も提供する。例えば、適切なユーザ入力デバイスを使用して、ユーザは、時間軸７１０に沿ってイベントの時間オブジェクト７０８Ａ−７０８Ｃの１つを移動させることができる。それに応じて、イベントの時間オブジェクトの開始および／または終了時間が、波形７０４上に示される音声イベントに対応するインジケータ７０６Ａ−７０６Ｇに「スナップ」する。このようにして、本明細書で説明されるユーザインタフェース７００は、ユーザが、スライドショーイベントを音声ファイル１１４内で識別された任意の音声イベント４１０と視覚的に関連付けることができるようにする。図７に示されるユーザインタフェース７００は単に例示であり、この機能を提供するための他の種類のユーザインタフェースの実装も利用できることを認識されたい。
【００４５】
図８は、上記に提示された方法でスライドショーイベントを音声イベントと同期させるための本明細書で説明されたソフトウェアコンポーネントを実行することが可能なコンピュータ８００に関する、例示的なコンピュータアーキテクチャを示す。図８で示されるコンピュータアーキテクチャは、標準のデスクトップ、ラップトップまたはサーバコンピュータを示し、該コンピュータアーキテクチャを利用して、本明細書で説明されるプレゼンテーションアプリケーション１０２に関する任意の態様を実行することができる。上述のようにコンピュータ８００は、本明細書に提示された動画イベント、視覚効果、または遷移を音声イベントと同期させるための概念を実施する、他の種類のアプリケーションプログラムを実行することもできる。
【００４６】
図８に示されるコンピュータアーキテクチャは、中央処理装置（ＣＰＵ：central processing unit)８０２と、ランダムアクセスメモリ（ＲＡＭ：random access memory）８１４および読み取り専用メモリ（ＲＯＭ：read-only memory）８１６を含むシステムメモリ８０８と、該メモリをＣＰＵ８２０に接続するシステムバス８０４とを含む。起動時などにコンピュータ８００内の要素間で情報を伝達するのを助ける基本ルーチンを含む、基本入力／出力システムは、ＲＯＭ８１６に格納される。コンピュータ８００はさらに、オペレーティングシステム８１８、アプリケーションプログラム、および他のプログラムモジュールを格納するための大容量記憶デバイス８１０をさらに含み、該デバイスについてここで詳細に説明する。
【００４７】
大容量記憶デバイス８１０は、バス８０４に接続される大容量記憶コントローラ（図示せず）を介して、ＣＰＵ８０２に接続される。大容量記憶デバイス８１０およびそれに関連するコンピュータ読み取り可能媒体は、不揮発性のストレージをコンピュータ８００に提供する。本明細書に含まれるコンピュータ読み取り可能媒体の説明は、ハードディスクまたはＣＤ−ＲＯＭドライブなどの大容量記憶デバイスを示すが、当業者には当然のことながら、コンピュータ読み取り可能媒体は、コンピュータ８００がアクセス可能な任意の利用可能なコンピュータ記録媒体とすることができることを認識されたい。
【００４８】
限定ではなく例として、コンピュータ読み取り可能媒体には、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術で実装される、揮発性および不揮発性媒体、取り外し可能および取り外し不能の媒体が含まれる。例えば、コンピュータ読み取り可能媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他の半導体メモリ技術、ＣＤ−ＲＯＭと、デジタル多用途ディスク（ＤＶＤ）、ＨＤ−ＤＶＤ、ブルーレイ（ＢＬＵ−ＲＡＹ）もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージ、または所望の情報を格納するのに使用でき、コンピュータ８００によるアクセスか可能な任意の他の媒体が含まれるが、これらには限定されない。
【００４９】
様々な実施形態にしたがって、コンピュータ８００は、ネットワーク８２０などのネットワークを通じてリモートコンピュータとの論理接続を使用するネットワーク化された環境で動作することができる。コンピュータ８００を、バス８０４に接続されるネットワークインタフェース装置８０６を通じてネットワーク８２０に接続することができる。ネットワークインタフェース装置８０６を、他の種類のネットワークおよびリモートコンピュータシステムとの接続に利用できることも認識されたい。コンピュータ８００は、キーボード、マウス、または電子スタイラス（図８には図示せず）を含む複数の他の装置からの入力を受信して処理する、入出力コントローラ８１２も含むことができる。同様に、入出力コントローラは、ディスプレイスクリーン、プリンタ、または他の種類の出力装置（これも図８には図示せず）への出力を提供することができる。
【００５０】
上記に簡単に述べたように、複数のプログラムモジュールおよびデータファイルを、ネットワーク化されたデスクトップ装置、ラップトップ装置またはサーバコンピュータの動作を制御するのに適したオペレーティングシステム８１８を含む、コンピュータ８００の大容量記憶デバイス８１０およびＲＡＭ８１４に格納することができる。大容量記憶デバイス８１０およびＲＡＭ８１４は、１つまたは複数のプログラムモジュールを格納することもできる。特に、大容量記憶デバイス８１０およびＲＡＭ８１４は、本明細書で説明されるスライドショーイベントを音声イベントと同期させるための機能を提供する、プレゼンテーションアプリケーション１０２を格納することができる。大容量記憶デバイス８１０およびＲＡＭ８１４は、音声同期スキーム１１０およびプレゼンテーションドキュメント１０４を格納することもでき、その両方が上記に説明されている。
【００５１】
前述に基づいて、スライドショーイベントを音声イベントと同期させるための技術が、本明細書で説明されていることを認識されたい。本明細書に提示される対象を、コンピュータの構造的機能、方法的動作およびコンピュータ読み取り可能媒体に特有の言語で説明したが、特許請求の範囲で定義された発明は、本明細書で説明される特定の機能、動作または媒体に必ずしも限定されないことを理解されたい。むしろ、それらの特定の機能、動作および媒体は、特許請求の範囲に記載の事項を実装する例示的な形として開示される。
【００５２】
上記に説明された対象は、単に例示として提供されたものであり、限定するものとして解釈されるべきでない。図示され説明された例示の実施形態および適用に関わらず、特許請求の範囲で説明される本発明の精神および範囲から逸脱することなく、本明細書で説明された対象に対して様々な修正および変更を行なうこともできる。
【図１】
2010539619.tif 000003
【図２】
2010539619.tif 000004
【図３】
2010539619.tif 000005
【図４】
2010539619.tif 000006
【図５】
2010539619.tif 000007
【図６】
2010539619.tif 000008
【図７】
2010539619.tif 000009
【図８】
2010539619.tif 000010
【国際調査報告】
2010539619.tif 000011
2010539619.tif 000012