(57)【要約】【課題】音声に同期させて動画を再生する動画再生装置、動画再生方法、及びプログラムに関し、音声中の特定の再生箇所と動画像中の特定のフレームとを同期させて再生する。【解決手段】第１の指定手段１０３は、第１の取得手段１０１により取得された音声データ１０３の特定の再生箇所を指定する。第２の指定手段１０４は、第２の取得手段１０２により取得された例えば複数のキーフレームデータ１０４から特定のキーフレームデータを指定する。再生手段１０５は、第１の指定手段１０３により指定された特定の再生箇所と第２の指定手段１０４により指定された特定のフレームデータとに基づいて、音声データ１０３の特定の再生箇所と特定のフレームデータとを同期させるように動画像を再生する。【選択図】図１
2014064178.tif 000002
【特許請求の範囲】
【請求項１】
音声データを取得する第１の取得手段と、
動画像を構成する複数のフレームデータを取得する第２の取得手段と、
前記第１の取得手段により取得された音声データの特定の再生箇所を指定する第１の指定手段と、
前記第２の取得手段により取得された複数のフレームデータから特定のフレームデータを指定する第２の指定手段と、
前記第１の指定手段により指定された特定の再生箇所と前記第２の指定手段により指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画像を再生する再生手段と、
を備えることを特徴とする動画再生装置。
【請求項２】
前記再生手段は、
前記同期の時点を基準として、前記第２の取得手段により取得された複数のフレームデータ間を圧縮・伸張処理をすることにより、前記動画像を再生する、
ことを特徴とする請求項１に記載の動画再生装置。
【請求項３】
前記第１の指定手段は、
ユーザによって操作可能な第１のスライドバー形状を有し、
当該第１のスライドバー形状の移動に応じた位置に対応する音声データを前記特定の再生箇所として指定し、
前記第２の指定手段は、ユーザによって操作可能な第２のスライドバー形状を有し、
当該第２のスライドバー形状の移動に応じた位置に対応するキーフレームデータを前記特定のキーフレームデータとして指定する、
ことを特徴とする請求項１または２のいずれかに記載の動画再生装置。
【請求項４】
前記第２の取得手段により取得されたフレームデータから、特徴的な画像パターンを有する複数のキーフレームデータを抽出する抽出手段と、
前記抽出手段により抽出された複数のキーフレームデータを表示手段に表示させる表示制御手段と、
前記表示制御手段により前記表示手段に表示されたキーフレームデータを選択する選択手段と、を更に備え、
前記第２の指定手段は、前記選択手段により選択されたキーフレームデータを前記特定のキーフレームデータとして指定する、
ことを特徴とする請求項１ないし３のいずれかに記載の動画再生装置。
【請求項５】
音声データを取得する第１の取得ステップと、
動画を構成する複数のフレームデータを取得する第２の取得ステップと、
前記第１の取得ステップにより取得された音声データの特定の再生箇所を指定する第１の指定ステップと、
前記第２の取得ステップにより取得された複数のフレームデータから特定のフレームデータを指定する第２の指定ステップと、
前記第１の指定ステップにより指定された特定の再生箇所と前記第２の指定ステップにより指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画を再生する再生ステップと、
を含むことを備えることを特徴とする動画再生方法。
【請求項６】
コンピュータを、
音声データを取得する第１の取得手段、
動画像を構成する複数のフレームデータを取得する第２の取得手段、
前記第１の取得手段により取得された音声データの特定の再生箇所を指定する第１の指定手段、
前記第２の取得手段により取得された複数のフレームデータから特定のフレームデータを指定する第２の指定手段、
前記第１の指定手段により指定された特定の再生箇所と前記第２の指定手段により指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画像を再生する再生手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声に同期させて動画像を再生する動画再生装置、動画再生方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、曲に合わせて画像を再生する技術が知られている。例えば、予め画像の動きの速度が異なる画像パターンを複数種用意しておき、これらの内から演奏曲の曲想（リズムテンポや音量など）に合致する種類の画像パターンを選択して再生する技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平４−７３１５９号公報
【非特許文献】
【０００４】
【非特許文献１】Ｙ．Ｂｏｙｋｏｖ  ａｎｄ  Ｇ．Ｆｕｎｋａ−Ｌｅａ：“Ｉｎｔｅｒａｃｔｉｖｅ  Ｇｒａｐｈ  Ｃｕｔｓ  ｆｏｒ  Ｏｐｔｉｍａｌ  Ｂｏｕｎｄａｒｙ  ＆  Ｒｅｇｉｏｎ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｏｆ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｎ−Ｄ  Ｉｍａｇｅｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  “Ｉｎｔｅｒｎａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ”，Ｖａｎｃｏｕｖｅｒ，Ｃａｎａｄａ，ｖｏｌ．Ｉ，ｐ．１０５−１１２，Ｊｕｌｙ  ２００１．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、動画像を構成する画像パターンを所定のフレームレートで再生するのみであるため、特定の画像パターンが曲中の特徴的なタイミングにうまく合わない虞がある。
【０００６】
そこで、本発明は、音声中の特定の再生箇所と動画像中の特定のフレームとを同期させて再生することを目的とする。
【課題を解決するための手段】
【０００７】
態様の一例では、音声データを取得する第１の取得手段と、動画像を構成する複数のフレームデータを取得する第２の取得手段と、第１の取得手段により取得された音声データの特定の再生箇所を指定する第１の指定手段と、第２の取得手段により取得された複数のフレームデータから特定のフレームデータを指定する第２の指定手段と、第１の指定手段により指定された特定の再生箇所と第２の指定手段により指定された特定のフレームデータとに基づいて、音声データの特定の再生箇所と特定のフレームデータとを同期させるように動画像を再生する再生手段とを備える。
【発明の効果】
【０００８】
本発明によれば、音声中の特定の再生箇所と動画像中の特定のフレームとを同期させて再生できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る動画再生装置の機能構成図である。
【図２】本実施形態の基本動作説明図（その１）である。
【図３】本実施形態の基本動作説明図（その２）である。
【図４】本実施形態に係る動画再生装置４００のハードウェア構成図である。
【図５】音声及び動画の同期処理を示すフローチャートである。
【図６】図５のステップＳ５１０のダンスデータ変換処理の詳細を示すフローチャートである。
【図７】同期指定の一実施形態の動作説明図（その１）である。
【図８】同期指定の一実施形態の動作説明図（その２）である。
【図９】同期指定の一実施形態の動作説明図（その３）である。
【図１０】同期指定の一実施形態の動作説明図（その４）である。
【図１１】同期指定の一実施形態の動作説明図（その５）である。
【図１２】同期指定の一実施形態の動作説明図（その６）である。
【図１３】同期指定の他の実施形態の動作説明図（その１）である。
【図１４】同期指定の他の実施形態の動作説明図（その２）である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
本実施形態は、楽曲等の音声を構成する音声データの再生発音に合わせて画像を再生する動画再生方式を採用している。この動画再生方式では、複数の連続したキーフレームデータを補間しながら、音声に同期させて再生するものである。
図１は、本実施形態に係る動画再生装置の機能構成図である。
【００１１】
第１の取得手段１０１は、音声データ１０３を取得する。
第２の取得手段１０２は、動画像を構成する複数のフレームデータ１０４を取得する。
第１の指定手段１０３は、第１の取得手段１０１により取得された音声データ１０３の特定の再生箇所を指定する。第１の指定手段１０３は例えば、ユーザによって操作可能な第１のスライドバー形状を有し、その第１のスライドバー形状の移動に応じた位置に対応する音声データ１０３を特定の再生箇所として指定する。
第２の指定手段１０４は、第２の取得手段１０２により取得された複数のフレームデータ、例えばキーフレームデータ１０４から特定のフレームデータ、例えば特定のキーフレームデータを指定する。第２の指定手段は例えば、ユーザによって操作可能な第２のスライドバー形状を有し、その第２のスライドバー形状の移動に応じた位置に対応するキーフレームデータを特定のキーフレームデータとして指定する。
ここで、第２の取得手段１０２により取得されたフレームデータから、特徴的な画像パターンを有する複数のキーフレームデータを抽出する抽出手段と、抽出手段により抽出された複数のキーフレームデータを表示手段に表示させる表示制御手段と、表示制御手段により表示手段に表示されたキーフレームデータを選択する選択手段とを更に備え、第２の指定手段１０４は、選択手段により選択されたキーフレームデータを特定のキーフレームデータとして指定するように構成してもよい。
【００１２】
再生手段１０５は、第１の指定手段１０３により指定された特定の再生箇所と第２の指定手段１０４により指定された特定のフレームデータとに基づいて、音声データ１０３の特定の再生箇所と特定のフレームデータとを同期させるように動画像を再生する。この再生手段１０５は例えば、同期の時点を基準として、第２の取得手段１０２により取得された複数のフレームデータ間、例えば複数のキーフレームデータ１０４間を圧縮・伸張処理をすることにより、動画像を再生する。
【００１３】
図２及び図３は、図１の機能構成を有する本実施形態の基本動作説明図である。
ユーザが、例えば、楽音中のシンバルの打撃音の再生発音と、ダンスのアニメーション動画中のジャンプシーンの再生表示がぴったり合うように、同期指定をしたいとする。この場合、ユーザは、例えば第１のスライドバー形状を有する第１の指定手段１０３によって、音声データ１０３の特定の再生箇所を指定する。続いて、ユーザは、第２のスライドバー形状を有する第２の指定手段１０４によって例えば、動画像を構成する複数のキーフレームデータ１０４から特定のキーフレームデータを指定する。これによって、音声の特定の再生箇所と特定のキーフレームデータとが同期指定される。
【００１４】
図２は、例えば、変換前の同期指定されたジャンプシーンのキーフレームデータ２０１の再生表示タイミング（図２（ａ））が、同期指定されたシンバル音の音楽データ２０２の再生発音タイミング（図２（ｃ））よりも遅い場合の動作例を示している。
【００１５】
この状態で今回の同期指定がなされると、再生開始（今回の同期指定の直前の別の同期指定でもよい）に対応するキーフレームデータから今回の同期指定に対応するキーフレームデータ２０１までが時間的に圧縮補間される。この結果、図２（ｃ）に示される、再生開始（または直前の同期指定）に対応する音声データから今回の同期指定に対応する音声データ２０２までの再生発音の期間に対応する同期されたキーフレームデータが、図２（ｂ）に示されるように生成される。
【００１６】
また、今回の同期指定に対応するキーフレームデータ２０１から再生終了（今回の同期指定の直後の別の同期指定でもよい）に対応するキーフレームデータまでが時間的に伸長補間される。この結果、図２（ｃ）に示される、今回の同期指定に対応する音声データ２０２から再生終了（または直後の同期指定）に対応する音声データまでの再生発音の期間に対応する同期されたキーフレームデータが、図２（ｂ）に示されるように生成される。
【００１７】
図３は、例えば、変換前の同期指定されたジャンプシーンのキーフレームデータ２０１の再生表示タイミング（図３（ａ））が、同期指定されたシンバル音の音楽データ２０２の再生発音タイミング（図３（ｃ））よりも早い場合の動作例を示している。
【００１８】
この状態で今回の同期指定がなされると、再生開始（または直前の同期指定）に対応するキーフレームデータから今回の同期指定に対応するキーフレームデータ２０１までが時間的に伸長補間される。この結果、図３（ｃ）に示される、再生開始（または直前の同期指定）に対応する音声データから今回の同期指定に対応する音声データ２０２までの再生発音の期間に対応する同期されたキーフレームデータが、図３（ｂ）に示されるように生成される。
【００１９】
また、今回の同期指定に対応するキーフレームデータ２０１から再生終了（または直後の同期指定）に対応するキーフレームデータまでが時間的に圧縮補間される。この結果、図３（ｃ）に示される、今回の同期指定に対応する音声データ２０２から再生終了（または直後の同期指定）に対応する音声データまでの再生発音の期間に対応する同期されたキーフレームデータが、図３（ｂ）に示されるように生成される。
【００２０】
以上、図１〜図３に示される本実施形態の構成及び動作により、音声中の特徴的なタイミングと動画中の特定のタイミングとを合わせて（同期させて）再生することが可能となる。
【００２１】
図１に示される本実施形態に係る動画再生装置の機能構成を実現するための、本実施形態のさらに具体的な構成及び動作について、以下にさらに詳細に説明する。
図４は、本実施形態に係る動画再生装置４００のハードウェア構成図である。
【００２２】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）４０１は、操作部４０４が発生する操作イベントに応じて装置各部の動作状態を設定する。特に、ＣＰＵ４０１は、後述する図５及び図６のフローチャートで示される音声及び動画の同期処理を実行する。
【００２３】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読出し専用メモリ）４０２には、ＣＰＵ４０１にロードされる各種プログラムが記憶される。ここで言う各種プログラムとは、後述する図５及び図６のフローチャートで示される音声及び動画の同期処理を含む。
【００２４】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３は、ワークエリア４０３ａ、キーフレームエリア４０３ｂ及び曲データエリア４０３ｃを備える。
【００２５】
ＲＡＭ４０３のワークエリア４０３ａには、ＣＰＵ４０１の演算結果を格納する各種レジスタ・フラグデータが一時記憶される。
【００２６】
ＲＡＭ４０３のキーフレームエリア４０３ｂには、例えば、アニメーション表示されるキャラクタ（例えば、後述する図７を参照）がダンスの動きをするように形成された複数の連続した時系列順のキーフレームデータ１０４（図１参照）が格納される。
また、連続して並べられた各キーフレームデータ１０４は、例えば、Ｇｒａｐｈ  Ｃｕｔｓ手法（例えば非特許文献１に記載の技術）等の公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる領域が切り抜かれた被写体切り抜き画像を用いて作成された画像である。具体的には、特には図示しない画像生成装置が、静止画像である被写体切り抜き画像を基準として、当該被写体切り抜き画像の被写体が含まれる領域の被写体画像内に動きの制御点を複数設定する。そして、画像生成装置は、所定空間内にて複数の制御点の全て若しくは少なくとも一つを移動させ、移動後の制御点を基準として被写体画像内に設定される所定の画像領域（例えば、三角形や矩形状の領域）を移動もしくは変形させることで、フレーム画像を逐次生成する。そして、画像生成装置は、生成された複数のフレーム画像を時間軸に沿って並べることで、キーフレームデータ１０４を生成する。なお、制御点を基準とした所定の画像領域を移動もしくは変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【００２７】
ＲＡＭ４０３の曲データエリア４０３ｃには、音声データ１０３が格納される。この音声データ１０３は例えば、ｍｐ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ−３）またはｗａｖｅ（ＲＩＦＦ  ｗａｖｅｆｏｒｍ  Ａｕｄｉｏ  Ｆｏｒｍａｔ）等のデータ形式による楽曲等のデジタル音声データである。
【００２８】
操作部４０４は、表示部４０６の表示画面上に配設される例えば後述する図７または図８に示されるタッチパネルから構成され、その表示画面に表示される各種アイコンやボタンあるいはソフトウェアキーボードを、タッチパネルのタッチ操作することで操作信号を出力する。また、操作部４０４のタッチパネルは、ユーザによる音声と動画の同期指定にも用いられる。
【００２９】
動画処理部４０５は、動画処理専用のプロセッサを備え、ＣＰＵ４０１から供給される再生パラメータに従って、ＲＡＭ４０３のキーフレームエリア４０３ｂから読み出したキーフレームデータを再生出力する。また、動画処理部４０５は、キーフレームデータの間を補間する補間フレームデータを生成して、再生出力する。
【００３０】
表示部４０６は、カラー液晶表示パネル及び駆動回路から構成され、動画処理部４０５から再生出力される動画（アニメーション）（図７等参照）を画面表示する。
【００３１】
音源４０７は、例えば公知のデジタルオーディオ再生装置により構成される。音源４０７は、ＲＡＭ４０３の曲データエリア４０３ｃからＣＰＵ４０１が読み出す音声データ１０３を再生する。
【００３２】
サウンドシステム４０８は、音源４０７から出力される音声波形を、アナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を行ってから、スピーカを介して発音を行う。
【００３３】
図５は、図４のハードウェア構成を示す動画再生装置が実行する音声及び動画の同期処理を示すフローチャートである。このフローチャートは、図４のＣＰＵ４０１が、ＲＯＭ４０２に記憶された制御プログラムを実行する処理として実現される。
また、図９〜図１２は、同期指定の一実施形態の動作説明図である。
【００３４】
まず、ユーザが、図７に示される表示画面上の例えば、「背景」アイコンを用いて背景画像を選択し、また「背景」アイコンの周囲のダンス形状のアイコンを用いてダンスパターンを決定することにより、アニメーションを選択する（図５のステップＳ５０１）。そして、ユーザは、閲覧中に、図７の７０１に示されるように、編集ボタンを押して編集モードへ遷移する（図５のステップＳ５０２）。
【００３５】
次に、動画が再生中であるか否かが判定される（図５のステップＳ５０３）。
【００３６】
動画が再生中でステップＳ５０３の判定がＹＥＳならば、動画の再生が停止させられる（図５のステップＳ５０４）。
【００３７】
動画が再生中ではなくステップＳ５０３の判定がＮＯの場合、またはステップＳ５０４の停止処理の後、編集モードに遷移する（図５のステップＳ５０５）。
【００３８】
編集モードでは、図８に示されるように、ダンスのシークバー（第１のスライドバー形状）８０１とＢＧＭ（バックグラウンドミュージック）のシークバー（第２のスライドバー形状）８０２が画面に表示される（図５のステップＳ５０６）。
以上のステップＳ５０５およびＳ５０６では、ＲＡＭ４０３のキーフレームエリア４０３ｂから各キーフレームデータ１０４がＲＡＭ４０３のワークエリア４０３ａ上に取得され、曲データエリア４０３ｃから各音楽データ１０３がワークエリア４０３ａ上に取得される。この処理は、図１の第１の取得手段１０１及び第２の取得手段１０２の機能を実現する。
【００３９】
図９の９０１から９０２への移動として例示されるように、ユーザは、アニメーションのキャラクタがジャンプした瞬間の再生時間まで、ダンスのシークバー８０１をスライドさせる（図５のステップＳ５０７）。
なお、ダンスのシークバー８０１ではなく、特には図示しないテンキータッチパネル表示を用いて、再生時間による数値指定を行わせるように構成されてもよい。
このとき、図４において、ＣＰＵ４０１は、ダンスのシークバー８０１のスライド動作に応じて操作部４０４から入力される操作情報に従って、ＲＡＭ４０３のキーフレームエリア４０３ｂから該当する再生時間のキーフレームデータ１０４を読み出する。そして、ＣＰＵ４０１は、そのキーフレームデータ１０４に従って画像データを生成し、それに対応する画像を表示部５０６に表示させる。従って、ユーザは、ダンスのシークバー８０１のスライド動作に応じて、該当する再生画像を確認できる。
以上のステップＳ５０７の処理は、図１の第２の指定手段１０４の機能を実現する。
【００４０】
次に、図１０の１００１から１００２への移動として例示されるように、ユーザは、シンバルが鳴った瞬間の再生時間まで、ＢＧＭのシークバー８０２をスライドさせる（図５のステップＳ５０８）。
なお、ＢＧＭのシークバー８０２ではなく、特には図示しないテンキータッチパネル表示を用いて、再生時間による数値指定を行わせるように構成されてもよい。
このとき、図４において、ＣＰＵ４０１は、ＢＧＭのシークバー８０２のスライド動作に応じて操作部４０４から入力される操作情報に従って、ＲＡＭ４０３の曲データエリア４０３ｃから該当する一定時間範囲の再生時間のＭＩＤＩデータ（音声データ１０３）を読み出す。そして、ＣＰＵ４０１は、そのＭＩＤＩデータを音源４０７に送る。この結果、音源４０７が、上記再生時間の自動演奏を実行する。音源４０７から出力される楽音波形は、サウンドシステム４０８において、アナログ信号形式に変換され、スピーカを介して再生発音される。従って、ユーザは、ＢＧＭのシークバー８０２のスライド動作に応じて、該当する再生発音を確認できる。
以上のステップＳ５０８の処理は、図１の第１の指定手段１０３の機能を実現する。
【００４１】
ユーザは、納得するまで２つのシークバー８０１、８０２をスライドさせたら、同期ボタンをクリック（タップ）する（図５のステップＳ５０９）。
この結果、図１１の１１０１として示されるように、ダンスのシークバー８０１がＢＧＭのシークバー８０２に一致するように、ダンスデータ変換処理が実行される（図５のステップＳ５１０）。
このステップＳ５１０の処理は、図１の再生手段１０５の機能を実現する。
【００４２】
ユーザは、結果に満足しないときは、再度シークバー８０１とＢＧＭのシークバー８０２の操作を行う。この結果、図５で、ステップＳ５１１の判定がＮＯとなってステップＳ５０７及びＳ５０８の操作に戻る。ユーザがダンスのシークバー８０１とＢＧＭのシークバー８０２を操作した後に、再度同期ボタンをクリックすると、図５のステップＳ５０９からＳ５１０に遷移して、ダンスデータ変換処理が再度実行される。
【００４３】
ユーザは、結果に満足すると、図１１の画面左上部の「戻る」ボタンをクリック（タップ）する。この結果、図５のステップＳ５１１の判定がＹＥＳとなって編集モードが終了し、図１２の画面に遷移する。
【００４４】
図６は、図５のステップＳ５１０のダンス変換処理の詳細処理を示すフローチャートである。
【００４５】
図５のステップＳ５０７により同期指定されるＤＰアニメーションのキャラクタがジャンプした瞬間をｕ［秒］、図５のステップＳ５０８により同期指定されるＢＧＭのシンバルが成った瞬間をｖ［秒］とする。また、楽曲の全体の再生時間をｗ［秒］とする。すなわち、０＜ｕ＜ｗ、０＜ｖ＜ｗである。
【００４６】
まず、図４において、ＣＰＵ４０１は、ＲＡＭ４０３内のキーフレームエリア４０３ｂから、キーフレームデータ１０４（図１）によって構成されるダンスデータファイルを、ＲＡＭ４０３内のワークエリア４０３ａに読み込む（図６のステップＳ６０１）。
【００４７】
ここで、各キーフレームデータ１０４（図１）を構成する２８の関節から構成されるＤＰアニメーションキャラクタの変換前の関節ポイントの座標を、
Ｐｉ（ｔｊ）＝［ｘｉ（ｔｊ），ｙｉ（ｔｊ）］
とする。ここで、ｉは関節ポイントの番号を示し、ｉ＝１，２，３，・・・，２７，２８である。ｔｊは、各キーフレームデータ１０４の再生時間を示し、単位は［秒］であり、０＜ｔｊ＜ｗである。ｘｉ（ｔｊ）とｙｉ（ｔｊ）は、再生時間ｔｊにおけるｉ番目の関節ポイントの変換前の表示画面上のｘ座標とｙ座標を示している。
【００４８】
ＲＡＭ４０３内のキーフレームエリア４０３ｂでは、各キーフレーム１０４のダンスデータは例えば、
関節ポイント番号ｉ，時間ｔｊ，ｘ座標ｘｉ（ｔｊ），ｙ座標ｙｉ（ｔｊ）
というフォーマットで記憶される。例えば、ｉ＝１の関節ポイント が表示画面上の座標（２．０，５．０）から１秒で表示画面上の座標（３．０，２．０）まで移動する場合
１，０．０，２．０，５．０
１，１．０，３．０，２．０
という２行のキーフレームデータ１０４で表現される。すなわち、
ｘ１（０．０）＝２．０，ｙ１（０．０）＝５．０
Ｐ１（０．０）＝［ｘ１（０．０），ｙ１（０．０）］＝［２．０，５．０］
ｘ１（１．０）＝３．０，ｙ１（０．０）＝２．０
Ｐ１（１．０）＝［ｘ１（１．０），ｙ１（１．０）］＝［３．０，２．０］
である。
【００４９】
上述した変換前の関節ポイントの座標Ｐｉ（ｔｊ）に対して、変換後の関節ポイントの座標を、
Ｑｉ（ｔｊ）＝［Ｘｉ（ｔｊ），Ｙｉ（ｔｊ）］
とする。ｉ及びｔｊはＰｉ（ｔｊ）の場合と同じである。Ｘｉ（ｔｊ）とＹｉ（ｔｊ）は、再生時間ｔｊにおけるｉ番目の変換後の関節ポイントの表示画面上のｘ座標とｙ座標を示している。
【００５０】
次に、キーフレームデータ１０４の再生時間を示す変数ｊの値が０に設定される（図６のステップＳ６０２）。すなわち、キーフレームデータ１０４の再生時間ｔｊ＝ｔ０にされる。
【００５１】
次に、キーフレームデータ１０４の再生時間ｔｊの値が０よりも大きく、かつ図５のステップＳ５０８にて同期指定されたＢＧＭの再生時間ｖ［秒］よりも小さいか否かが判定される（図６のステップＳ６０３）。
【００５２】
キーフレームデータ１０４の再生時間ｔｊの値が同期指定されたＢＧＭの再生時間ｖ［秒］よりも小さく、ステップＳ６０３の判定がＹＥＳならば、下記（１）式によって、キーフレームデータ１０４の関節ポイントの座標が変換される（図６のステップＳ６０４）。
Ｑｉ（ｔｊ）＝Ｐｉ（ｔｊ×ｕ／ｖ）  （０＜ｔｊ＜ｖ）  ・・・（１）
【００５３】
なお、Ｐｉ（ｔｊ×ｕ／ｖ）が、キーフレームとしてＲＡＭ４０３のキーフレームエリア４０３ｂ上に存在しない場合には、再生時間ｔｊ×ｕ／ｖの直前と直後の再生時間でキーフレームエリア４０３ｂに記憶されている２つのキーフレームデータ１０４を用いた線形補間計算により、Ｐｉ（ｔｊ×ｕ／ｖ）が算出される。
【００５４】
一方、キーフレームデータ１０４の再生時間ｔｊの値が同期指定されたＢＧＭの再生時間ｖ［秒］以上で、ステップＳ６０３の判定がＮＯならば、下記（２）式によって、キーフレームデータ１０４の関節ポイントの座標が変換される（図６のステップＳ６０５）。
Ｑｉ（ｔｊ）＝Ｐｉ（ｕ＋（ｗ−ｕ）×（ｔｊ−ｖ）／（ｗ−ｖ））
（ｖ≦ｔｊ＜ｗ）  ・・・（２）
【００５５】
なお、Ｐｉ（ｕ＋（ｗ−ｕ）×（ｔｊ−ｖ）／（ｗ−ｖ））が、キーフレームとしてＲＡＭ４０３のキーフレームエリア４０３ｂ上に存在しない場合には、再生時間ｕ＋（ｗ−ｕ）×（ｔｊ−ｖ）／（ｗ−ｖ）の直前と直後の再生時間でキーフレームエリア４０３ｂに記憶されている２つのキーフレームデータ１０４を用いた線形補間計算により、Ｐｉ（ｕ＋（ｗ−ｕ）×（ｔｊ−ｖ）／（ｗ−ｖ））が算出される。
【００５６】
上記ステップＳ６０４またはＳ６０５の処理の後、キーフレームデータ１０４の再生時間ｔｊを指定する変数ｊの値が＋１される（図６のステップＳ６０６）。
【００５７】
次に、キーフレームデータ１０４の再生時間ｔｊが楽曲の全体の再生時間ｗ［秒］よりも小さいか否かが判定される（図６のステップＳ６０７）。
【００５８】
ステップＳ６０７の判定がＹＥＳならば、ステップＳ６０３の処理に戻って、処理が繰り返される。
【００５９】
ステップＳ６０７の判定がＮＯになると、図５のステップＳ５１０のダンスデータ変換処理を終了する。
【００６０】
以上のダンスデータ変換処理により、前述した図２または図３に例示したように、ステップＳ６０１でＲＡＭ４０３のワークエリア４０３ａに読み出されたキーフレームデータ１０４（ダンスデータ）のうち、その再生時間ｔｊが、再生開始から図５のステップＳ５０７で同期指定された音楽データ２０２（図２または図３参照）の再生時間ｖ［秒］までの場合には、図６のステップＳ６０３の判定がＹＥＳとなる。この結果、前述した（１）式による変換処理が繰り返し実行される。
【００６１】
このときさらに、変換前の同期指定がなされたダンスデータのキーフレームデータ２０１の再生表示タイミング（図２（ａ））が、同期指定がなされた例えばシンバル音の音楽データ２０２の再生発音タイミング（図２（ｃ））よりも遅い場合には、ｕ＞ｖとなる。これにより、図２に示されるように、前述した（１）式の計算は、時間方向に（ｕ／ｖ＞１）倍して速く進行させる圧縮処理となる。この結果、再生開始に対応するキーフレームデータから今回の同期指定に対応するキーフレームデータ２０１までが、時間的に圧縮補間され、図２（ｂ）に示される変換後のキーフレームデータが算出される。
【００６２】
逆に、変換前の同期指定がなされたダンスデータのキーフレームデータ２０１の再生表示タイミング（図３（ａ））が、同期指定がなされた例えばシンバル音の音楽データ２０２の再生発音タイミング（図３（ｃ））よりも遅い場合には、ｕ＜ｖとなる。これにより、前述した（１）式の繰返し計算は、時間方向に（ｕ／ｖ＜１）倍して遅く進行させる伸長処理となる。この結果、再生開始に対応するキーフレームデータから今回の同期指定に対応するキーフレームデータ２０１までが、時間的に伸長補間され、図３（ｂ）に示される変換後のキーフレームデータが算出される。
【００６３】
一方、ステップＳ６０１でＲＡＭ４０３のワークエリア４０３ａに読み出されたキーフレームデータ１０４（ダンスデータ）のうち、その再生時間ｔｊが、図５のステップＳ５０７で同期指定された音楽データ２０２（図２または図３参照）の再生時間ｖ［秒］以降再生終了までの場合には、図６のステップＳ６０３の判定がＮＯとなる。この結果、前述した（２）式による変換処理が繰り返し実行される。
【００６４】
このときさらに、変換前の同期指定がなされたダンスデータのキーフレームデータ２０１の再生表示タイミング（図２（ａ））が、同期指定がなされた例えばシンバル音の音楽データ２０２の再生発音タイミング（図２（ｃ））よりも遅い場合には、ｕ＞ｖとなる。これにより、図２に示されるように、前述した（２）式の計算は、時間方向に｛（ｗ−ｕ）／（ｗ−ｖ）＜１｝倍して遅く進行させる伸長処理となる。この結果、今回の同期指定に対応するキーフレームデータ２０１から再生終了に対応するキーフレームデータまでが、時間的に伸長補間され、図２（ｂ）に示される変換後のキーフレームデータが算出される。
【００６５】
逆に、変換前の同期指定がなされたダンスデータのキーフレームデータ２０１の再生表示タイミング（図３（ａ））が、同期指定がなされた例えばシンバル音の音楽データ２０２の再生発音タイミング（図３（ｃ））よりも遅い場合には、ｕ＜ｖとなる。これにより、前述した（２）式の繰返し計算は、時間方向に｛（ｗ−ｕ）／（ｗ−ｖ）＞１｝倍して速く進行させる圧縮処理となる。この結果、今回の同期指定に対応するキーフレームデータ２０１から再生終了に対応するキーフレームデータまでが、時間的に圧縮補間され、図３（ｂ）に示される変換後のキーフレームデータが算出される。
【００６６】
以上示した処理により、各キーフレームデータ１０４の関節ポイントの座標が加工されるため、それに対応してダンスデータも加工される。これにより、アニメーションキャラクタがジャンプする瞬間をシンバルの打撃の瞬間に合わせることができる。
【００６７】
本実施形態では、線形補間を利用した手法について説明したが、二次補間、スプライン補間、エルミート補間等が採用されてもよい。これにより、線形補間よりも滑らかなダンスデータに加工することができると考えられる。
【００６８】
図７から図１２で説明した同期指定のための編集モードでは、ユーザがシークバー８０１，８０２（図８参照）をスライドさせることで、ダンスとＢＧＭの同期指定（図１）を行った。これに対して、図１３及び図１４は、同期指定の他の実施形態の動作説明図である。
ここで説明する他の実施形態は、ダンス中の特徴的なポーズを提示（リコメンド）する機能を実現する。
【００６９】
他の実施形態では、図４においてＣＰＵ４０１は、例えば、ＲＡＭ４０３のキーフレームエリア４０３ｂからキーフレームデータ１０４を読み出して次の処理を実行することにより、キャラクタがジャンプした瞬間のキーフレームデータ１０４を抽出し、図１３の１３０１のように提示することができる。１３０１の表示が画面に入りきらない場合には、１３０１の画面上で指を横にスライドさせることにより、他の候補も提示させることができる。
【００７０】
キャラクタがジャンプした瞬間のキーフレームデータ１０４は、以下のようにして抽出される。
【００７１】
まず、キャラクタの重心が計算される。いま、再生時間ｔｊに対して、アニメーションキャラクタの関節ポイントの座標を、
Ｐｉ（ｔｊ）＝［ｘｉ（ｔｊ），ｙｉ（ｔｊ）］
とする。また重心の座標を、
Ｇ（ｔｊ）＝［Ｘ（ｔｊ），Ｙ（ｔｊ）］
とする。この結果、
Ｇ（ｔｊ）＝｛ΣＰｉ（ｔｊ）（１＜ｉ＜２８）｝／２８
と計算される。
【００７２】
次に、０＜ｔｊ＜ｗのうち、重心Ｇ（ｔｊ）の高さ成分Ｙ（ｔｊ）の１階微分が０になり、かつ２階微分がマイナスになる再生時間ｔが算出される。
ｄＹ（ｔ）／ｄｔ＝０
かつ、
ｄ2 Ｙ（ｔ）／ｄ2 ｔ＜０
のとき、Ｇ（ｔ）は上昇から下降へ移る瞬間のため、ジャンプ中だとみなせる。
【００７３】
上述の微分計算は、一般的な最適化問題とみなせるため、例えばニュートン法等の手法でｔを計算することができる。
【００７４】
なお、
ｄＹ（ｔ）／ｄｔ＝０
かつ、
ｄ2 Ｙ（ｔ）／ｄ2 ｔ＞０
のとき、Ｇ（ｔ）は下降から上昇へ移る瞬間のため、しゃがんでいる状態だとみなせる。
【００７５】
図４において、ＣＰＵ４０１は、上記手法で求まった再生時間ｔに対応するキーフレームデータ１０４に基づいて、ユーザに「ジャンプ中の再生時間」を提示する。
【００７６】
なお、再生時間ｔが複数あった場合、全て提示する。ダンス中のジャンプの瞬間は１回だけとは限らないため、上記微分方程式の解も１つとは限らない。
【００７７】
また、他の実施形態では、図４においてＣＰＵ４０１は、ＲＡＭ４０３のキーフレームエリア４０３ｂからキーフレームデータ１０４を読み出して次の処理を実行することにより、キャラクタが両手を広げた瞬間のキーフレームデータ１０４を抽出し、例えば図１３の１３０１のように提示することができる。
【００７８】
キャラクタが両手を広げた瞬間のキーフレームデータ１０４は、以下のようにして抽出される。
【００７９】
まず、キャラクタの両手の距離が計算される。いま、アニメーションキャラクタの右手のポイントを、
Ａ（ｔｊ）＝［ｘａ（ｔｊ），ｙａ（ｔｊ）］
とし、左手のポイントを、
Ｂ（ｔｊ）＝［ｘｂ（ｔｊ），ｙｂ（ｔｊ）］
とする。両手の距離をＬ（ｔｊ）とすると、
Ｌ（ｔｊ）＝｜Ａ（ｔｊ）−Ｂ（ｔｊ）｜
＝√（｛ｘａ（ｔｊ）−ｘｂ（ｔｊ）｝2 
＋｛ｙａ（ｔｊ）−ｙｂ（ｔｊ）｝2 ）
となる。
【００８０】
次に、０＜ｔｊ＜ｗのうち、Ｌ（ｔｊ）の１階微分が０になり、かつ２階微分がマイナスになる再生時間ｔが算出される。
ｄＬ（ｔ）／ｄｔ＝０
かつ、
ｄ2 Ｌ（ｔ）／ｄ2 ｔ＜０
のとき、Ｌ（ｔ）は距離が離れている瞬間のため、手を広げているとみなせる。
【００８１】
上述の微分計算は、一般的な最適化問題とみなせるため、例えばニュートン法等の手法でｔを計算することができる。
【００８２】
なお、Ｌ（ｔｊ）＝０のときは、両手の距離が0の瞬間のため、手を叩いている瞬間だとみなせる。
【００８３】
図４において、ＣＰＵ４０１は、上記手法で求まった再生時間ｔに対応するキーフレームデータ１０４に基づいて、ユーザに「両手を広げた瞬間の再生時間」を提示する。
【００８４】
なお、再生時間ｔが複数あった場合、全て提示する。ダンス中のジャンプの瞬間は１回だけとは限らないため、上記微分方程式の解も１つとは限らない。
【００８５】
上記手法により、特徴的なポーズをとった瞬間の再生時間ｔを提示することができる。ユーザが、「編集」ボタンをクリック（タップ）した際に、例えば図１３の１３０１に示されるように、各種ポーズを提示することが望ましいと考えられるが、それ以外のタイミングで提示することもできる。
【００８６】
これらの提示の中から、例えば図１４の１４０１として示されるように、ユーザが所望のポーズをタップ等して選択することにより、図１４の１４０２として示されるように、ダンスのシークバーをそのポーズに対応する再生時間ｔの位置まで自動的に移動させることが可能となる。
【００８７】
以上のようにして、本実施形態によれば、比較的簡単な操作で、楽曲とダンスのマッチをすることができる。
ユーザ操作は、
・シンバルが鳴った瞬間の再生時間まで、ＢＧＭのシークバー８０２（図８参照）をスライドさせる。
・アニメーションキャラクタがジャンプした瞬間の再生時間まで、ダンスのシークバー８０１をスライドさせる。
・同期ボタンを押す。
の３ステップのみである。
【００８８】
また、本実施形態は、計算コストが低い。アニメーションの場合、加工する関節ポイントデータはＣＳＶファイルで管理されているため、そのＣＳＶファイルを一度加工するだけで済む。なお、本実施形態では、最初に、キーフレームデータの変換処理を行った。このように変換されたキーフレームデータは、例えば図４のＲＡＭ４０３のキーフレームエリア４０３ｂに記憶され、再生時に使用される。このほか、再生時にリアルタイムでキーフレームデータ１０４をキーフレームデータに変換しながら、再生が行われてもよい。
【００８９】
また、同期指定の他の実施形態では、特徴的なポーズをユーザに提示できるため、ユーザの負担を減少させることが可能となる。
【００９０】
さらに、上述の実施形態では、同期指定は１カ所のみである場合について説明したが、この同期指定は、複数箇所あってもよい。この場合には、各同期指定箇所間で、キーフレームデータ１０４が圧縮伸長処理されて、各同期ポイントでキーフレームデータ１０４の再生と音楽データ１０３の再生がマッチするように、適切な制御がなされる。
【００９１】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
音声データを取得する第１の取得手段と、
動画像を構成する複数のフレームデータを取得する第２の取得手段と、
前記第１の取得手段により取得された音声データの特定の再生箇所を指定する第１の指定手段と、
前記第２の取得手段により取得された複数のフレームデータから特定のフレームデータを指定する第２の指定手段と、
前記第１の指定手段により指定された特定の再生箇所と前記第２の指定手段により指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画像を再生する再生手段と、
を備えることを特徴とする動画再生装置。
（付記２）
前記再生手段は、
前記同期の時点を基準として、前記第２の取得手段により取得された複数のキーフレーム間を圧縮・伸張処理をすることにより、前記動画像を再生する、
ことを特徴とする付記１に記載の動画再生装置。
（付記３）
前記第１の指定手段は、
ユーザによって操作可能な第１のスライドバー形状を有し、
当該第１のスライドバー形状の移動に応じた位置に対応する音声データを前記特定の再生箇所として指定し、
前記第２の指定手段は、ユーザによって操作可能な第２のスライドバー形状を有し、
当該第２のスライドバー形状の移動に応じた位置に対応するキーフレームデータを前記特定のキーフレームデータとして指定する、
ことを特徴とする付記１または２のいずれかに記載の動画再生装置。
（付記４）
前記第２の取得手段により取得されたフレームデータから、特徴的な画像パターンを有する複数のキーフレームデータを抽出する抽出手段と、
前記抽出手段により抽出された複数のキーフレームデータを表示手段に表示させる表示制御手段と、
前記表示制御手段により前記表示手段に表示されたキーフレームデータを選択する選択手段と、を更に備え、
前記第２の指定手段は、前記選択手段により選択されたキーフレームデータを前記特定のキーフレームデータとして指定する、
ことを特徴とする付記１ないし３のいずれかに記載の動画再生装置。
（付記５）
音声データを取得する第１の取得ステップと、
動画を構成する複数のフレームデータを取得する第２の取得ステップと、
前記第１の取得ステップにより取得された音声データの特定の再生箇所を指定する第１の指定ステップと、
前記第２の取得ステップにより取得された複数のフレームデータから特定のフレームデータを指定する第２の指定ステップと、
前記第１の指定ステップにより指定された特定の再生箇所と前記第２の指定ステップにより指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画を再生する再生ステップと、
を含むことを備えることを特徴とする動画再生方法。
（付記６）
コンピュータを、
音声データを取得する第１の取得手段、
動画像を構成する複数のフレームデータを取得する第２の取得手段、
前記第１の取得手段により取得された音声データの特定の再生箇所を指定する第１の指定手段、
前記第２の取得手段により取得された複数のフレームデータから特定のフレームデータを指定する第２の指定手段、
前記第１の指定手段により指定された特定の再生箇所と前記第２の指定手段により指定された特定のフレームデータとに基づいて、前記音声データの特定の再生箇所と前記特定のフレームデータとを同期させるように前記動画像を再生する再生手段、
として機能させるためのプログラム。
【符号の説明】
【００９２】
１０１  第１の取得手段
１０２  第２の取得手段
１０３  第１の指定手段
１０４  第２の指定手段
１０５  再生手段
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０３ａ  ワークエリア
４０３ｂ  キーフレームエリア
４０３ｃ  曲データエリア
４０４  操作部
４０５  動画処理部
４０６  表示部
４０７  音源
４０８  サウンドシステム
【図１】
2014064178.tif 000003
【図４】
2014064178.tif 000004
【図５】
2014064178.tif 000005
【図６】
2014064178.tif 000006
【図２】
2014064178.tif 000007
【図３】
2014064178.tif 000008
【図７】
2014064178.tif 000009
【図８】
2014064178.tif 000010
【図９】
2014064178.tif 000011
【図１０】
2014064178.tif 000012
【図１１】
2014064178.tif 000013
【図１２】
2014064178.tif 000014
【図１３】
2014064178.tif 000015
【図１４】
2014064178.tif 000016