(57)【要約】【課題】動画像を表示させる表示制御装置、表示制御方法、及びプログラムに関し、テンポの変化に適合した状態で動画像を表示する。【解決手段】予測手段１０３が、表示制御手段１０５での補間フレームデータの生成に使用されるキーフレームの時間間隔を予測するときに、判定基準制御手段１０１が変化判定手段１０６が判定評価する現在の評価テンポ１１０に応じて決定したリズムキープ誤差範囲比率１１１を用いて、タイミング判定手段１０４がテンポのリズムが維持できているか否かを判定する。評価テンポ１１０が速くなっても、リズムキープの判定基準となる誤差範囲の時間間隔をほぼ一定に保つことが可能となり、ユーザは、テンポを速くした場合であっても、リズムキープが困難にならずに済み、検出手段１０２からのテンポ入力１０９に、より適合した状態で動画像が再生可能となる。【選択図】図１
2014064177.tif 000002
【特許請求の範囲】
【請求項１】
動画像を取得する取得手段と、
ユーザによる所定の操作を逐次検出する検出手段と、
前記検出手段により所定の操作が検出されるタイミングを予測する予測手段と、
前記検出手段により所定の操作が検出されたタイミングが、前記予測手段により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定手段と、
前記タイミング判定手段による判定結果に基づいて、前記取得手段により取得された動画像の表示形態を制御する表示制御手段と、
前記検出手段により所定の操作が逐次検出されたタイミングに基づいて、テンポの変化があったか否かを判定する変化判定手段と、
前記変化判定手段による判定結果に基づいて、前記タイミング判定手段の判定基準を制御する判定基準制御手段と、
を備えることを特徴とする表示制御装置。
【請求項２】
前記表示制御手段は、前記検出手段により所定の操作が検出された複数のタイミングの時間間隔を平均化することで、当該所定の操作のテンポを算出するテンポ算出手段を有し、
前記テンポ算出手段により算出されたテンポに基づいて、前記動画像の表示形態を制御する、
ことを特徴とする請求項１に記載の表示制御装置。
【請求項３】
動画像を取得する取得ステップと、
ユーザによる所定の操作を逐次検出する検出ステップと、
前記検出ステップにより所定の操作が検出されるタイミングを予測する予測ステップと、
前記検出ステップにより所定の操作が検出されたタイミングが、前記予測ステップにより予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定ステップと、
前記タイミング判定ステップによる判定結果に基づいて、前記取得ステップにより取得された動画像の表示形態を制御する表示制御ステップと、
前記検出ステップにより所定の操作が検出されるタイミングの変化があったか否かを判定する変化判定ステップと、
前記変化判定ステップによる判定結果に基づいて、前記タイミング判定ステップの判定基準を制御する判定基準制御ステップと、
ことを備えることを特徴とする表示制御方法。
【請求項４】
コンピュータを、
動画像を取得する取得手段、
ユーザによる所定の操作を逐次検出する検出手段、
前記検出手段により所定の操作が検出されるタイミングを予測する予測手段、
前記検出手段により所定の操作が検出されたタイミングが、前記予測手段により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定手段、
前記タイミング判定手段による判定結果に基づいて、前記取得手段により取得された動画像の表示形態を制御する表示制御手段、
前記検出手段により所定の操作が検出されるタイミングの変化があったか否かを判定する変化判定手段、
前記変化判定手段による判定結果に基づいて、前記タイミング判定手段の判定基準を制御する判定基準制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を表示させる表示制御装置、表示制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、曲に合わせて画像を再生する技術が知られている。例えば、予め画像の動きの速度が異なる画像パターンを複数種用意しておき、これらの内から演奏曲の曲想（リズムテンポや音量など）に合致する種類の画像パターンを選択して再生する技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平４−７３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、動画像を構成する画像パターンを所定のフレームレートで再生するのみであるため、当該画像パターンが曲のテンポの変化にうまく対応できない虞がある。
【０００５】
そこで、本発明は、テンポの変化に適合した状態で動画像を表示させることを目的とする。
【課題を解決するための手段】
【０００６】
態様の一例では、動画像を取得する取得手段と、ユーザによる所定の操作を逐次検出する検出手段と、検出手段により所定の操作が検出されるタイミングを予測する予測手段と、検出手段により所定の操作が検出されたタイミングが、予測手段により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定手段と、タイミング判定手段による判定結果に基づいて、取得手段により取得された動画像の表示形態を制御する表示制御手段と、検出手段により所定の操作が逐次検出されたタイミングに基づいて、テンポの変化があったか否かを判定する変化判定手段と、変化判定手段による判定結果に基づいて、タイミング判定手段の判定基準を制御する判定基準制御手段とを備える。
【発明の効果】
【０００７】
本発明によれば、テンポの変化に適合した状態で動画像を表示させることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る動画再生装置の機能構成図である。
【図２】本実施形態の基本動作説明図である。
【図３】リズムキープ誤差範囲比率が固定の場合のリズムキープ判定の説明図である。
【図４】リズムキープ誤差範囲比率が可変の場合のリズムキープ判定の説明図である。
【図５】本実施形態に係る動画再生装置５００のハードウェア構成図である。
【図６】ＲＡＭ５０３のワークエリア５０３ａのデータ構成図である。
【図７】テンポ入力制御処理を示すフローチャートである。
【図８】図７のステップＳ７０３の制御処理の詳細を示すフローチャート（その１）である。
【図９】図７のステップＳ７０３の制御処理の詳細を示すフローチャート（その２）である。
【図１０】図７のステップＳ７０３の制御処理の詳細を示すフローチャート（その３）である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
本実施形態は、曲に合わせて画像を再生する動画再生方式を採用している。この動画再生方式では、複数の連続したキーフレームデータと、隣り合うキーフレーム間を補間するよう作成される補間フレームデータとから成る動画データを、曲に合わせてユーザが行うテンポ入力に同期させて再生するものである。
図１は、本実施形態に係る動画再生装置の機能構成図である。
【００１０】
取得手段１０１は、動画像を取得する。具体的には、動画像を構成するキーフレームデータ１０８を取得する。
検出手段１０２は、ユーザによる所定の操作、例えばテンポ入力１０９を逐次検出する。
【００１１】
予測手段１０３は、検出手段１０２により所定の操作が検出されるタイミングを予測する。例えば、ユーザによる所定の操作がテンポ入力１０９である場合、今回のテンポ入力から次回のテンポ入力までのタイミングを予測する。
タイミング判定手段１０４は、検出手段１０２により所定の操作が検出されたタイミングが、予測手段１０３により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定する。例えば、ユーザによる所定の操作がテンポ入力１０９である場合、タイミング判定手段１０４は、テンポ入力１０９の発生ごとに、今回のテンポ入力と前回のテンポ入力との時間間隔と後述する変化判定手段１０６により現在評価されているテンポ（以後、「評価テンポ１１０」と呼ぶ）を示す時間間隔との差分値の評価テンポ１１０を示す時間間隔に対する比率を、判定基準（以後、この判定基準を例えば「リズムキープ誤差範囲比率１１１」と呼ぶ）と比較することにより、テンポのリズムが維持できているか否かを判定する。
【００１２】
表示制御手段１０５は、タイミング判定手段１０４による判定結果に基づいて、取得手段１０１により取得された動画像の表示形態を制御する。具体的には例えば、表示制御手段１０５は、テンポ入力１０９の発生ごとに、取得手段１０１が動画像として取得した動画像を構成するキーフレームデータ１０８を順次再生する。また、表示制御手段１０３は、補間フレーム更新時刻ごとに、その補間フレーム更新時刻の直前のテンポ入力１０９に対応するキーフレームデータ１０８とテンポ入力１０９の発生時に予測された次回のテンポ入力１０９の予測タイミングに対応するキーフレームデータ１０８との間を補間する補間フレームデータを順次生成して再生する。この場合、表示制御手段１０５は例えば、検出手段１０２により所定の操作、例えばテンポ入力１０９が検出された複数のタイミングの時間間隔を平均化することで、所定の操作のテンポを例えば評価テンポとして算出するテンポ算出手段を有する。そして、このテンポ算出手段により算出されたテンポに基づいて、動画像の表示形態を制御する。
【００１３】
変化判定手段１０６は、検出手段１０２により所定の操作、例えばテンポ入力１０９が逐次検出されたタイミングに基づいて、テンポの変化があったか否かを判定評価し、評価したテンポを評価テンポ１１０として出力する。
判定基準制御手段１０７は、変化判定手段１０６による判定結果の評価テンポ１１０に基づいて、タイミング判定手段１０４の判定基準、例えばリズムキープ誤差範囲比率１１１を制御する。
【００１４】
図２は、図１の機能構成を有する本実施形態の基本動作説明図である。
本実施形態では、例えば、動画像を構成する複数の連続した時系列順のキーフレームデータＤ１、・・・Ｄｎ、Ｄｍ、・・・（キーフレームデータ１０８）が再生に使用される。ここで、図１の表示制御手段１０５が、例えばユーザによるテンポ入力１０９の発生ごとに、図２（ａ）のキーフレームデータＤ１、・・・Ｄｎ、Ｄｍ、・・・（キーフレームデータ１０８）を、１キーフレームずつ順次再生表示する。
【００１５】
また、テンポ入力１０９によるキーフレームデータＤ１、・・・Ｄｎ、Ｄｍ、・・・の再生表示だけでは、動画の再生がぎこちなくなるため、再生開始時から一定時間間隔の補間フレーム更新時刻を定める。そして、補間フレーム更新時刻（これを例えばｔとする）の到来ごとに、その前後のキーフレーム（これらを例えばＤｎ、Ｄｍとする。ただし、ｍ＝ｎ＋１）から、次式（１）で表される関係に従って補間フレームデータ補間フレームデータＤを生成し再生表示する。
【００１６】
Ｄ＝Ｄｍ×（ｔ−ｔｎ）／（ｔｍ−ｔｎ）
＋Ｄｎ×（１−（ｔ−ｔｎ）／（ｔｍ−ｔｎ））  ・・・（１）
【００１７】
上記（１）式において、図２（ｂ）に示されるように、ｔは、再生開始からの補間フレーム更新時刻である。Ｄは、補間フレーム更新時刻ｔに表示すべき補間フレームデータである。Ｄｎは、補間フレーム更新時刻ｔの直前のキーフレームデータ１０８である。ｔｎは、キーフレームデータＤｎが再生されたときの先頭キーフレームＤ１を基準とする再生時刻である。Ｄｍは、補間フレーム更新時刻ｔの直後のキーフレームデータ１０８である。ｔｍは、キーフレームデータＤｍが再生されたときの先頭キーフレームＤ１を基準とする再生時刻である。ｔｍ−ｔｎは、キーフレームデータＤｎからキーフレームデータＤｍまでのキーフレーム時間間隔である。そして、ｔ−ｔｎは、キーフレームデータＤｎの再生時刻ｔｎから補間フレーム更新時刻ｔまでの経過時間である。
【００１８】
従って、図２（ｃ）に示されるように、補間フレームデータＤは、キーフレームデータＤｎの再生時刻ｔｎから補間フレーム更新時刻ｔまでの経過時間ｔ−ｔｎと、キーフレームデータＤｎとキーフレームデータＤｍ間のキーフレーム時間間隔ｔｍ−ｔｎとの比率に基づく、キーフレームデータＤｎとＤｍの内挿補間によって生成され再生表示される。
【００１９】
ここで、キーフレームデータＤｎが、図１において、今回のテンポ入力１０９によってキーフレームデータ再生手段１０３が再生するキーフレームデータ１０８であるとする。この場合、次回のテンポ入力１０９は未だ入力していないため、キーフレームデータＤｎの次のキーフレームデータＤｍの再生はまだ発生していない。従って、キーフレームデータＤｎの再生後の各補間フレーム更新時刻ごとの補間フレームデータＤを算出するためには、キーフレームデータＤｍの再生時刻を予測する必要がある。
【００２０】
そこで、図１において、タイミング判定手段１０４が、テンポ入力１０９の発生ごとに、今回のテンポ入力と前回のテンポ入力との時間間隔と現在進行中のテンポを示す評価テンポ１１０を示す時間間隔との差分値の評価テンポ１１０を示す時間間隔に対する比率を、リズムキープ誤差範囲比率１１１と比較することにより、テンポのリズムが維持できているか否かを判定する。また、予測手段１０３が、今回のテンポ入力（図２の再生時刻ｔｎ）から次回のテンポ入力（図２の再生時刻ｔｍ）までのキーフレームの時間間隔（図２のｔｍ−ｔｎ）を予測する。
【００２１】
そして、図１において、表示制御手段１０５が、補間フレーム更新時刻（図２のｔ）ごとに、次のようにして補間フレームデータ（図２のＤ）を生成して再生する。まず、補間フレーム更新時刻（図２のｔ）の直前のテンポ入力１０９の時刻（図２のｔｎ）と、その時予測手段１０３により予測された次回のテンポ入力１０９の予測時刻（図２のｔｍ）が決定される。そして、補間フレーム更新時刻（図２のｔ）の直前に再生済みのキーフレームデータ１０８（図２のＤｎ）と、次のテンポ入力時に再生予定のキーフレームデータ１０８（図２のＤｍ）が読み出され、（１）式に従い、補間フレームデータ（図２のＤ）が算出され再生される。
【００２２】
ここで、図１の検出手段１０２が検出対象とする所定の操作、例えばテンポ入力１０９は、例えば本実施形態を構成する装置のタッチパネルをユーザが一拍ごとにタップしてテンポを入力する等の方法が考えられる。このように、例えばユーザのテンポ入力１０９ごとにキーフレームがひとつずつ進められてゆくため、キーフレームの再生時間間隔は固定になるとは限らずばらつきが発生するが、一般的に曲のテンポはある程度の期間、一定に保たれている場合が多い。従って、キーフレームの再生時間間隔は、ある程度の範囲で過去のデータと平均化して均一化させることで動画再生のテンポを安定させることができる。
ただし、曲のテンポが途中で変化することもあるため、この場合はその新たなテンポに速やかに追随する必要がある。上述したある程度の範囲での平均化というのはこの対応のためで、過去のキーフレーム間隔平均と異なるテンポのテンポ入力１０９が所定の範囲で続いた場合はテンポ変化とみなして新たなテンポに速やかに移行させる必要がある。
このように、実際には、ばらつきがある例えばユーザからのテンポ入力１０９が、現在評価されている評価テンポ１１０に対して、リズムキープ（リズムが維持）できているか(ある程度の範囲に収まっているか)いないかの判断は、重要である。この判断を行うのが、図１のタイミング判定手段１０４である。
【００２３】
このようなリズムキープの判定の手法としては、一般的に次のようなものが考えられる。まず、今回のテンポ入力１０９と前回のテンポ入力１０９との時間間隔と、現在の評価テンポを示す時間間隔との差分値が算出される。次に、この差分値の評価テンポを示す時間間隔に対する比率が算出される。そして、この算出された比率が所定の比率（これを「リズムキープ誤差範囲比率１１１」と呼ぶ）と比較されることにより、リズムキープができているか否かが判定される。
【００２４】
しかしながら、このような一般的に考えられる手法の場合、リズムキープ誤差範囲比率１１１が固定だと、評価テンポが速い(テンポ間隔が短い)場合と評価テンポが遅い(テンポ間隔が永井)場合では、リズムキープ誤差範囲の判定時間幅が異なってしまい、テンポの速い場合のリズムキープが困難になる状況が発生し得る。
【００２５】
図３は、リズムキープ誤差範囲比率が固定の場合のリズムキープ判定の説明図である。図３において、Ｔｒを、現在の評価テンポとする。また、ＢＰＭ（Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）を、１分間あたりの拍数を示す単位とする。そして、リズムキープ誤差範囲比率１１１の値ｐが、固定値ｐ＝０．１であるとする。すなわち、リズムキープができているか否かは、今回のテンポ入力１０９による前回のテンポ入力１０９とのキーフレーム時間間隔と評価テンポＴｒの時間間隔との差分値（絶対値）が、評価テンポＴｒの時間間隔に対して１０パーセントを超えたか否かにより判定されることになる。言い換えれば、リズムキープができているか否かは、今回のテンポ入力１０９による前回のテンポ入力１０９とのキーフレーム時間間隔が、評価テンポＴｒの時間間隔に対して±１０パーセントを超えて変動したか否かにより判定される。
いま、図３（ａ）に示されるように、評価テンポＴｒ＝ＢＰＭ９０である場合、評価テンポＴｒの時間間隔は６６７ｍｓ（ミリ秒）となる。この結果、リズムキープの判定基準となる誤差範囲は、６６７ｍｓの±１０パーセントの範囲、つまり約１３３ｍｓとなる。
また、図３（ｂ）に示されるように、評価テンポＴｒ＝ＢＰＭ１２０である場合、評価テンポＴｒの時間間隔は５００ｍｓとなる。この結果、リズムキープの判定基準となる誤差範囲は、５００ｍｓの±１０パーセントの範囲、つまり１００ｍｓとなる。
さらに、図３（ｃ）に示されるように、評価テンポＴｒ＝ＢＰＭ１６０である場合、評価テンポＴｒの時間間隔は３７５ｍｓとなる。この結果、リズムキープの判定基準となる誤差範囲は、３７５ｍｓの±１０パーセントの範囲、つまり７５ｍｓとなる。
【００２６】
図３の（ａ）、（ｂ）、及び（ｃ）から理解されるように、評価テンポＴｒが速くなるに従って、リズムキープの判定基準となる誤差範囲の時間間隔が短くなる。この結果、ユーザは、テンポを速くした場合に、テンポ間隔により正確さを要求されるようになってしまい、リズムキープが困難になる可能性がある。
【００２７】
そこで、本実施形態では、図１の判定基準制御手段１０７が、テンポ入力１０９の発生ごとに、リズムキープ誤差範囲比率１１１を変化判定手段１０６が判定した評価テンポ１１０（評価テンポＴｒ）に応じて可変させて決定する。
【００２８】
図４は、リズムキープ誤差範囲比率１１１が可変の場合のリズムキープ判定の説明図である。
図４において、Ｔｒ及びＢＰＭの意味は、図３の場合と同様である。本実施形態の場合、リズムキープ誤差範囲比率１１１の値ｐが、現在得られている評価テンポＴｒ（図１の１１０）に応じて可変させられる。
いま、図４（ａ）に示されるように、評価テンポＴｒ＝ＢＰＭ９０である場合、評価テンポＴｒの時間間隔は６６７ｍｓ（ミリ秒）となる。この場合、判定基準制御手段１０７が、リズムキープ誤差範囲比率１１１の値をｐ＝０．１に決定する。この結果、リズムキープの判定基準となる誤差範囲は、６６７ｍｓの±１０パーセントの範囲、つまり約１３３ｍｓとなる。
また、図４（ｂ）に示されるように、評価テンポＴｒ＝ＢＰＭ１２０である場合、評価テンポＴｒの時間間隔は５００ｍｓとなる。この場合、判定基準制御手段１０７が、リズムキープ誤差範囲比率１１１の値をｐ＝０．１５に決定する。この結果、リズムキープの判定基準となる誤差範囲は、５００ｍｓの±１５パーセントの範囲、つまり１５０ｍｓとなる。
さらに、図４（ｃ）に示されるように、評価テンポＴｒ＝ＢＰＭ１６０である場合、評価テンポＴｒの時間間隔は３７５ｍｓとなる。この場合、判定基準制御手段１０７が、リズムキープ誤差範囲比率１１１の値をｐ＝０．２に決定する。この結果、リズムキープの判定基準となる誤差範囲は、３７５ｍｓの±２０パーセントの範囲、つまり１５０ｍｓとなる。
【００２９】
図４の（ａ）、（ｂ）、及び（ｃ）から理解されるように、本実施形態では、評価テンポＴｒが速くなっても、リズムキープの判定基準となる誤差範囲の時間間隔をほぼ一定に保つことが可能となる。この結果、ユーザは、テンポを速くした場合であっても、リズムキープが困難にならずに済み、テンポ入力により適合した状態で動画像が再生可能となる。
【００３０】
図２に示される本実施形態に係る動画再生装置の機能構成を実現するための、本実施形態のさらに具体的な構成及び動作について、以下にさらに詳細に説明する。
図５は、本実施形態に係る動画再生装置５００のハードウェア構成図である。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）５０１は、操作部５０４が発生する操作イベントに応じて装置各部の動作状態を設定する。また、ＣＰＵ５０１は、操作部５０４が発生するユーザによるテンポ入力または特には図示しないタイマからの補間フレーム更新時刻の割込みごとに、後述する図７から図１０のフローチャートで示されるテンポ入力制御処理を実行する。そして、ＣＰＵ５０１は、テンポ入力制御処理により得られる再生パラメータを、動画処理部５０５に供給する。再生パラメータとは、補間フレームデータの生成に用いるキーフレームデータのポンタ情報や補間比率を指定するデータである。
【００３１】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読出し専用メモリ）５０２には、ＣＰＵ５０１にロードされる各種プログラムが記憶される。ここで言う各種プログラムとは、後述する図７から図１０のフローチャートで示されるテンポ入力制御処理を含む。
【００３２】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３は、ワークエリア５０３ａ、キーフレームエリア５０３ｂ及び曲データエリア５０３ｃを備える。
【００３３】
ＲＡＭ５０３のワークエリア５０３ａには、ＣＰＵ５０１の演算結果を格納する各種レジスタ・フラグデータが一時記憶される。図６は、ＲＡＭ５０３のワークエリア５０３ａのデータ構成図であり、テンポ入力制御処理に関わる主要データの構成を示している。
キーフレームポインタは、現在までに再生されているＲＡＭ５０３のキーフレームエリア５０３ｂ上のキーフレームデータ１０８へのポインタを示している。
前回テンポ入力時刻ｔｎは、前回ユーザによるテンポ入力が行われた時刻を記憶する。
現在テンポデータは、＃１〜＃Ｎの任意個数の現在テンポデータを記憶する。現在テンポデータは、音楽と同期しているとみなされたユーザのテンポ入力時間の集合であり、現在テンポとは現在テンポデータの平均値である。
新規テンポ候補データは、＃１〜＃Ｍの任意個数の現在テンポデータを記憶する。新規テンポ候補データは、現在テンポとみなされたかったテンポ入力時間の集合であり、新規店舗とは新規テンポ候補データの平均値である。
テンポ入力時間間隔Ｔｎは、今回のテンポ入力と前回のテンポ入力の時間間隔を記憶する。
評価テンポＴｒは、現在評価されているテンポに対応する時間間隔を記憶する。
リズムキープ誤差範囲比率ｐは、今回のテンポ入力で決定されたリズムキープ誤差範囲比率を記憶する。
新規テンポ候補データ連続登録回数は、テンポ入力に従って新規テンポ候補データが連続して登録された回数を記憶する。
キーフレーム時間間隔は、今回のテンポ入力に対して予測された次回のテンポ入力とのキーフレーム時間間隔を記憶する。
【００３４】
ＲＡＭ５０３のキーフレームエリア５０３ｂには、例えばアニメ表示されるキャラクタ（特には図示しない）がダンスの動きをするように形成された複数の連続した時系列順のキーフレームデータが格納される。１つのキーフレームデータは、いわゆるアニメーション表示に用いられる１枚の画像データに相当する。
【００３５】
ＲＡＭ５０３の曲データエリア５０３ｃには、楽曲を構成する各音符の発音時刻、音高、音量及び消音時刻を表すと共に、テンポ（ＢＰＭ）や拍子、小節タイミングなどの曲属性を表す公知のＭＩＤＩデータが格納される。
【００３６】
操作部５０４は、表示部５０６の表示画面上に配設されるタッチパネルから構成され、その表示画面に表示される各種アイコンやボタンあるいはソフトウェアキーボードを、タッチパネルのタッチ操作することで操作信号を出力する。また、操作部５０４のタッチパネルは、ユーザのテンポ入力にも用いられる。すなわち、タッチパネルにおいてユーザがテンポを取るタッピング操作を行うと、それに応じて発生する操作信号がテンポ入力の割込みイベントとしてＣＰＵ５０１に取り込まれる。
【００３７】
動画処理部５０５は、動画処理専用のプロセッサを備え、ＣＰＵ５０１から供給される再生パラメータに従って、ＲＡＭ５０３のキーフレームエリア５０３ｂから読み出したキーフレームデータを再生出力する。また、動画処理部５０５は、今回のテンポ入力に対応するキーフレームデータと次回予定されるテンポ入力に対応するキーフレームデータの間を補間する補間フレームデータを生成して、再生出力する。
【００３８】
表示部５０６は、カラー液晶表示パネル及び駆動回路から構成され、動画処理部５０５から再生出力される動画（アニメーション）を画面表示する。
【００３９】
音源５０７は、例えば公知の波形メモリ読み出し方式にて構成され、複音同時発音可能な複数の発音チャンネルを備える。音源５０７は、ＲＡＭ５０３の曲データエリア５０３ｃからＣＰＵ５０１が読み出すＭＩＤＩデータに従って、自動演奏を実行する。
【００４０】
サウンドシステム５０８は、音源５０７から出力される楽音波形を、アナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を行ってから、スピーカを介して発音を行う。
【００４１】
図７は、図６のハードウェア構成を示す動画再生装置が実行するテンポ入力制御処理を示すフローチャートである。このフローチャートは、図６のＣＰＵ５０１が、ＲＯＭ５０２に記憶された制御プログラムを実行する処理として実現される。
【００４２】
ステップＳ７０１では、図６の操作部５０４から、ユーザによるテンポ入力の終了要求の割込みが発生したか否かが判定される。
【００４３】
ステップＳ７０１の判定がＹＥＳになると、ＣＰＵ５０１は、テンポ入力制御処理を終了する。
【００４４】
ステップＳ７０１の判定がＮＯならば、ステップＳ７０２で、図６の操作部５０４から、ユーザによるテンポ入力の割込みが発生したか否かが判定される。この処理は、図１の検出手段１０２の機能を実現する。
【００４５】
ステップＳ７０２の判定がＹＥＳになると、ステップＳ７０３で、今回のテンポ入力と次回発生するであろうテンポ入力の間の時間間隔であるキーフレーム時間間隔の予測と、現在の評価テンポの更新を行う制御処理が実行される。このステップＳ７０３の処理は、図１の予測手段１０３、タイミング判定手段１０４、及び変化判定手段１０６の機能を実現する。
【００４６】
ステップＳ７０３の後、ステップＳ７０４では、今回のテンポ入力に対応するキーフレームデータの再生が、図６の動画処理部５０５に対して指示される。具体的には、ＣＰＵ５０１は、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレームポインタ（図６参照）を１つ進めた後、動画処理部５０５にキーフレームデータの再生を指示する。この結果、動画処理部５０５は、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレームポインタが示すキーフレームデータを、ＲＡＭ５０３のキーフレームエリア５０３ｂから読み出して再生出力する。このステップＳ７０４の処理と動画処理部５０５の処理は、図１の取得手段１０１及び表示制御手段１０５の一部の機能を実現する。
【００４７】
ステップＳ７０４の処理の後、ステップＳ７０１の処理に戻り、イベントの割込み入力が待機される。
【００４８】
ステップＳ７０２の判定がＮＯならば、ステップＳ７０５で、図６のＣＰＵ５０１内の特には図示しないタイマから、補間フレーム更新時刻の割込みが発生したか否かが判定される。
【００４９】
ステップＳ７０５の判定がＹＥＳならば、ステップＳ７０６で、補間フレームデータの作成処理が実行される。ここでは、図２を用いて前述したように、補間フレーム更新時刻（図２のｔ）の直前のテンポ入力１０９の時刻（図２のｔｎ）と、上記テンポ入力の発生時にステップＳ７０３にて予測されたキーフレーム時間間隔１０４とから、次回のテンポ入力１０９の予測時刻（図２のｔｍ）が算出される。ｔｎは、ＲＡＭ５０３のワークエリア５０３ａに記憶されている前回テンポ入力時刻（図６参照）である。Ｄｎは、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレームポインタ（図６参照）が示すＲＡＭ５０３のキーフレームエリア５０３ｂ上のキーフレームデータ１０８である。そして、補間フレーム更新時刻（図２のｔ）の直前に再生済みのキーフレームデータ１０８（図２のＤｎ）と、次に再生予定のキーフレームデータ１０８（図２のＤｍ）が読み出され、（１）式に従い、補間フレームデータ（図２のＤ）が算出される。Ｄｍは、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレームポインタ（図６参照）を＋１した値が示すＲＡＭ５０３のキーフレームエリア５０３ｂ上のキーフレームデータ１０８である。算出された補間フレームデータは、ＲＡＭ５０３のキーフレームエリア５０３ｂに記憶される。
【００５０】
ステップＳ７０６の後、ステップＳ７０７では、補間フレームデータの再生が、図６の動画処理部５０５に対して指示される。具体的には、ＣＰＵ５０１は、ＲＡＭ５０３のキーフレームエリア５０３ｂ内の補間フレームデータの再生を指示する。この結果、動画処理部５０５は、補間フレームデータは、再生出力する。
【００５１】
上述のステップＳ７０６及びＳ７０７の処理と動画処理部５０５の処理は、図１の取得手段１０１及び表示制御手段１０５の一部の機能を実現する。なお、ステップＳ７０６の補間フレームデータの算出処理は、ＣＰＵ５０１ではなく動画処理部５０５によって実行されてもよい。
【００５２】
ステップＳ７０５の判定がＮＯの場合またはステップＳ７０７の処理の後、ステップＳ７０１の処理に戻り、イベントの割込み入力が待機される。
【００５３】
図８、図９、及び図１０は、図７のステップＳ７０３のキーフレーム時間間隔の予測と評価テンポの更新の制御処理の詳細を示すフローチャートである。
【００５４】
まず、今回ユーザによるテンポ入力が行われた時刻から、ＲＡＭ５０３のワークエリア５０３ａに記憶されている前回テンポ入力時刻ｔｎが減算されることにより、テンポ入力時間間隔Ｔｎが取得される。この処理の後、ＲＡＭ５０３のワークエリア５０３ａ上の前回テンポ入力時刻ｔｎに、今回のテンポ入力の時刻が登録される（以上、図８のステップＳ８０１）。
【００５５】
次に、ＲＡＭ５０３のワークエリア５０３ａ上に現在テンポデータ（図６参照）が登録されているか否かが判定される（図８のステップＳ８０２）。
【００５６】
現在テンポデータが登録されておりステップＳ８０２の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａ上の評価テンポＴｒ（図６参照）に、ＲＡＭ５０３のワークエリア５０３ａに登録されている＃１〜＃Ｎの現在テンポデータを例えば平均して得られる現在テンポの値が登録される（図８のステップＳ８０３）。
【００５７】
現在テンポデータが登録されておらずステップＳ８０２の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａ上に新規テンポ候補データ（図６参照）が登録されているか否かが判定される（図８のステップＳ８０４）。
【００５８】
新規テンポ候補データが登録されておりステップＳ８０４の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａ上の評価テンポＴｒ（図６参照）に、ＲＡＭ５０３のワークエリア５０３ａに登録されている＃１〜＃Ｍの新規テンポ候補データを例えば平均して得られる新規テンポの値が登録される（図８のステップＳ８０５）。
【００５９】
現在テンポデータ及び新規テンポ候補データともに登録されておらずステップＳ８０４の判定もＮＯならば、図８のステップＳ８０１で取得された今回のテンポ入力と前回のテンポ入力との時間間隔を示すテンポ入力時間間隔Ｔｎが、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ（図６参照）に登録される（図１０のステップＳ１００６）。
【００６０】
ステップＳ１００６の後、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に、上記テンポ入力時間間隔Ｔｎが登録される（図１０のステップＳ１００５）。
【００６１】
ステップＳ１００５の後、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ連続登録回数（図６参照）がクリアされてから、図７のステップＳ７０３のテンポ入力制御処理を終了する。
【００６２】
図８のステップＳ８０３またはＳ８０５が実行されて評価テンポＴｒが算出された場合には、評価テンポＴｒのＢＰＭ（１分間の拍数）が１００より小さいか否かが判定される（図８のステップＳ８０６）。
【００６３】
評価テンポＴｒのＢＰＭが１００より小さくステップＳ８０６の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａ内のリズムキープ誤差範囲比率ｐ（図６参照）に、値０．１がセットされる（図８のステップＳ８０７）。これは、例えば図４（ａ）のケースに相当する。
【００６４】
評価テンポＴｒのＢＰＭが１００以上でステップＳ８０６の判定がＮＯならば、評価テンポＴｒのＢＰＭが１４０より小さいか否かが判定される（図８のステップＳ８０８）。
【００６５】
評価テンポＴｒのＢＰＭが１００以上１４０未満でステップＳ８０８の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａ内のリズムキープ誤差範囲比率ｐ（図６参照）に、値０．１５がセットされる（図８のステップＳ８０９）。これは、例えば図４（ｂ）のケースに相当する。
【００６６】
評価テンポＴｒのＢＰＭが１４０以上でステップＳ８０８の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａ内のリズムキープ誤差範囲比率ｐ（図６参照）に、値０．２がセットされる（図８のステップＳ８１０）。これは、例えば図４（ｃ）のケースに相当する。
【００６７】
以上の図８のステップＳ８０１からＳ８１０までの処理は、図１の判定基準制御手段１０７の機能を実現する。
【００６８】
次に、ステップＳ８０３またはＳ８０５で算出されたＲＡＭ５０３のワークエリア５０３ａに記憶されている評価テンポＴｒからステップＳ８０１で取得されたテンポ入力時間間隔Ｔｎを減算して得られる差分値の絶対値｜Ｔｒ−Ｔｎ｜が、評価テンポＴｒにＲＡＭ５０３のワークエリア５０３ａに記憶されているリズムキープ誤差範囲比率ｐを乗算して得られる値よりも小さいか否かが判定される（図８のステップＳ８１１）。このように、本実施形態では、リズムキープの判定基準となる誤差範囲の時間間隔がほぼ一定になるような可変のリズムキープ誤差範囲比率ｐを用いて、テンポのリズムキープができているか否かが判定される。
【００６９】
テンポのリズムキープができておりステップＳ８１１の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａに得られた評価テンポＴｒが、現在テンポに基づいて算出されたか否か、すなわち図８のステップＳ８０３が実行されたのかＳ８０５が実行されたのかが判定される（図９のステップＳ９０１）。
【００７０】
評価テンポＴｒが現在テンポに基づいて算出されステップＳ９０１の判定がＹＥＳならば、図８のステップＳ８０１で算出されたテンポ入力時間間隔Ｔｎが、ＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータ（図６参照）に追加される。そして、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データが消去される（図９のステップＳ９０２）。
【００７１】
ステップＳ９０２の後、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に、ＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータを平均して得られる値が登録される（図９のステップＳ９０３）。
【００７２】
ステップＳ９０３の後、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ連続登録回数（図６参照）がクリアされてから、図７のステップＳ７０３のテンポ入力制御処理を終了する。
【００７３】
評価テンポＴｒが現在テンポではなく新規テンポに基づいて算出されステップＳ９０１の判定がＮＯならば、図８のステップＳ８０１で算出されたテンポ入力時間間隔Ｔｎが、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ（図６参照）に追加される（図９のステップＳ９０４）。
【００７４】
次に、ＲＡＭ５０３のワークエリア５０３ａ内の上記新規テンポ候補データの登録数（図６の＃Ｍの値）が２を超えているか否かが判定される（図９のステップＳ９０５）。
【００７５】
新規テンポ候補データの登録数が２を超えておらずステップＳ９０５の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データを平均して得られる値が登録される（図９のステップＳ９０６）。
【００７６】
新規テンポ候補データの登録数が２を超えておりステップＳ９０５の判定がＹＥＳならば、ＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータが消去された後、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データがＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータに移される。その後、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データが消去される（以上、図９のステップＳ９０７）。
【００７７】
ステップＳ９０７の後、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に、ＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータを平均して得られる値が登録される（図９のステップＳ９０３）。
【００７８】
上記ステップＳ９０６またはＳ９０３の後、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ連続登録回数（図６参照）がクリアされてから、図７のステップＳ７０３のテンポ入力制御処理を終了する。
【００７９】
一方、テンポのリズムキープができておらず図８のステップＳ８１１の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａに得られた評価テンポＴｒが、現在テンポに基づいて算出されたか否か、すなわち図８のステップＳ８０３が実行されたのかＳ８０５が実行されたのかが判定される（図８のステップＳ８１２）。
【００８０】
評価テンポＴｒが現在テンポに基づいて算出されステップＳ８１２の判定がＹＥＳならば、図８のステップＳ８０４の処理に移行し、新規テンポ候補データに基づく処理が試みられる。
【００８１】
評価テンポＴｒが新規テンポに基づいて算出されステップＳ８１２の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａ上の新規テンポ候補データ（図６参照）が消去された後、図８のステップＳ８０１で取得されたテンポ入力時間間隔Ｔｎが、ＲＡＭ５０３のワークエリア５０３ａ上の上記新規テンポ候補データに登録される。また、ＲＡＭ５０３のワークエリア５０３ａ内の新規テンポ候補データ連続登録回数（図６参照）が＋１される（以上、図１０のステップＳ１００１）。
【００８２】
ステップＳ１００１の後、ＲＡＭ５０３のワークエリア５０３ａ内のテンポ入力時間間隔Ｔｎが３となっているか否か、すなわち、ステップＳ１００１の経路で、テンポ入力時間間隔Ｔｎが３回連続新規テンポ候補データとして登録されているか否かが判定される（図１０のステップＳ１００２）。
【００８３】
テンポ入力時間間隔Ｔｎが３回連続新規テンポ候補データとして登録されおらずステップＳ１００２の判定がＮＯならば、ＲＡＭ５０３のワークエリア５０３ａに登録されている現在テンポデータの平均値と図８のステップＳ８０１で算出されたテンポ入力時間間隔Ｔｎとのさらに平均値が計算され、その結果がＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に登録される（図１０のステップＳ１００３）。
【００８４】
ステップＳ１００３の後、図７のステップＳ７０３のテンポ入力制御処理を終了する。
【００８５】
テンポ入力時間間隔Ｔｎが３回連続新規テンポ候補データとして登録されステップＳ１００２の判定がＹＥＳになると、ＲＡＭ５０３のワークエリア５０３ａ内の現在テンポデータが消去される（図１０のステップＳ１００４）。このように、ワークエリア５０３ａに蓄積された現在テンポデータは、現在テンポデータとみなされないテンポ入力が所定回数（ここでは３回）連続であった場合にクリアされる。
【００８６】
ステップＳ１００４の後、ＲＡＭ５０３のワークエリア５０３ａ内のキーフレーム時間間隔（図６参照）に、図８のステップＳ８０１で取得されたテンポ入力時間間隔Ｔｎが登録される（図１０のステップＳ１００５）。
【００８７】
ステップＳ１００５の後、図７のステップＳ７０３のテンポ入力制御処理を終了する。
【００８８】
上述したように、ＲＡＭ５０３のワークエリア５０３ａに蓄積された現在テンポデータ（図６参照）は、現在テンポデータとみなされないテンポ入力が所定回数連続であった場合に、図１０のステップＳ１００２においてクリアされる。また、現在までにＲＡＭ５０３のワークエリア５０３ａに得られている新規テンポ候補データ（図６参照）に対して、今回のテンポ入力がリズムキープできていた場合（図８のステップＳ８１１の判定がＹＥＳの場合）は、図９のステップＳ９０４において、今回の入力も新規テンポ候補データに加えられる。リズムキープできていなかった場合（図８のステップＳ８１１の判定がＮＯの場合）は、それまでの新規テンポ候補はクリアされ、今回のテンポ入力時間間隔Ｔｎのみが新規テンポ候補データとしてＲＡＭ５０３のワークエリア５０３ａに記憶される（図９のステップＳ１００１）。また現在テンポの入力があったとき新規テンポ候補はクリアされる（図９のステップＳ９０２）。新規テンポ候補データがＲＡＭ５０３のワークエリア５０３ａに所定数蓄積された場合、すなわち所定回数連続で現在テンポと異なる一定の時間間隔のテンポ入力があった場合、ＲＡＭ５０３のワークエリア５０３ａ上の現在テンポデータはクリアされ、新規テンポ候補データの蓄積分が新たな現在テンポデータとなる（図９のステップＳ９０５の判定がＹＥＳとなってステップＳ９０７）。
これらの制御に基づいて、今回のテンポ入力に続く次回のテンポ入力までのキーフレーム時間間隔を適切に予測することが可能となる。
【００８９】
以上説明したように、本実施例では例えば、評価テンポにおけるＢＰＭの値の幅を３区分に分類し、ＢＰＭ＜１００のときはリズムキープ誤差範囲比率ｐ＝０．１、１００≦ＢＰＭ＜１４０のときはｐ＝０．１５、ＢＰＭ＞１４０ならばｐ＝０．２というように、リズムキープ誤差範囲比率ｐの値を切り替えるようにした。これにより、テンポの速い曲で過度にリズムキープが困難になる状況を回避するとともに、どのテンポであってもテンポチェンジへの対応の感度も損なわないようにすることが可能となる。
【００９０】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
動画像を取得する取得手段と、
ユーザによる所定の操作を逐次検出する検出手段と、
前記検出手段により所定の操作が検出されるタイミングを予測する予測手段と、
前記検出手段により所定の操作が検出されたタイミングが、前記予測手段により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定手段と、
前記タイミング判定手段による判定結果に基づいて、前記取得手段により取得された動画像の表示形態を制御する表示制御手段と、
前記検出手段により所定の操作が逐次検出されたタイミングに基づいて、テンポの変化があったか否かを判定する変化判定手段と、
前記変化判定手段による判定結果に基づいて、前記タイミング判定手段の判定基準を制御する判定基準制御手段と、
を備えることを特徴とする表示制御装置。
（付記２）
前記表示制御手段は、前記検出手段により所定の操作が検出された複数のタイミングの時間間隔を平均化することで、当該所定の操作のテンポを算出するテンポ算出手段を有し、
前記テンポ算出手段により算出されたテンポに基づいて、前記動画像の表示形態を制御する
ことを特徴とする付記１に記載の表示制御装置。
（付記３）
動画像を取得する取得ステップと、
ユーザによる所定の操作を逐次検出する検出ステップと、
前記検出ステップにより所定の操作が検出されるタイミングを予測する予測ステップと、
前記検出ステップにより所定の操作が検出されたタイミングが、前記予測ステップにより予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定ステップと、
前記タイミング判定ステップによる判定結果に基づいて、前記取得ステップにより取得された動画像の表示形態を制御する表示制御ステップと、
前記検出ステップにより所定の操作が検出されるタイミングの変化があったか否かを判定する変化判定ステップと、
前記変化判定ステップによる判定結果に基づいて、前記タイミング判定ステップの判定基準を制御する判定基準制御ステップと、
ことを備えることを特徴とする表示制御方法。
（付記４）
コンピュータを、
動画像を取得する取得手段、
ユーザによる所定の操作を逐次検出する検出手段、
前記検出手段により所定の操作が検出されるタイミングを予測する予測手段、
前記検出手段により所定の操作が検出されたタイミングが、前記予測手段により予測されたタイミングを基準とした所定の範囲内に入るか否かを判定するタイミング判定手段、
前記タイミング判定手段による判定結果に基づいて、前記取得手段により取得された動画像の表示形態を制御する表示制御手段、
前記検出手段により所定の操作が検出されるタイミングの変化があったか否かを判定する変化判定手段、
前記変化判定手段による判定結果に基づいて、前記タイミング判定手段の判定基準を制御する判定基準制御手段、
として機能させるためのプログラム。
【符号の説明】
【００９１】
１０１  取得手段
１０２  検出手段
１０３  予測手段
１０４  タイミング判定手段
１０５  表示制御手段
１０６  変化判定手段
１０７  判定基準制御手段
１０８  動画像を構成するキーフレームデータ
１０９  テンポ入力
１１０  評価テンポ
１１１  リズムキープ誤差範囲比率
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０３ａ  ワークエリア
５０３ｂ  キーフレームエリア
５０３ｃ  曲データエリア
５０４  操作部
５０５  動画処理部
５０６  表示部
５０７  音源
５０８  サウンドシステム
【図１】
2014064177.tif 000003
【図６】
2014064177.tif 000004
【図７】
2014064177.tif 000005
【図８】
2014064177.tif 000006
【図９】
2014064177.tif 000007
【図１０】
2014064177.tif 000008
【図２】
2014064177.tif 000009
【図３】
2014064177.tif 000010
【図４】
2014064177.tif 000011
【図５】
2014064177.tif 000012