(57)【要約】【課題】入力されたテンポに合わせた表示形態の動画像を表示する表示制御装置を実現する。【解決手段】ＣＰＵ１０は、表拍に相当する奇数回目のテンポ入力と、裏拍に相当する偶数回目のテンポ入力との２系統に分け、各系統毎に過去のテンポ入力に基づく前方予測により次表拍のテンポ入力予測時間と次裏拍のテンポ入力予測時間とを取得する。今回のテンポ入力の時刻から次表拍のテンポ入力予測時間（又は次裏拍のテンポ入力予測時間）までの時間間隔において、隣り合うキーフレーム間を補間する補間フレームデータの発生を動画処理部１４に指示する。【選択図】図１
2014056485.tif 000002
【特許請求の範囲】
【請求項１】
テンポを入力するテンポ入力手段と、
前記テンポ入力手段によりテンポが入力されたタイミングに基づいて、前記入力手段により新たに入力されるべきテンポのタイミングを予測する予測手段と、
前記タイミング予測手段により予測された所定の回数毎のタイミングと、当該所定の回数毎に対応する前記入力手段により入力されたテンポのタイミングとの関係を判別する関係判別手段と、
前記関係判別手段による判別結果に基づいて、表示手段に表示される動画像の表示形態を制御する表示制御手段と
を備えることを特徴とする表示制御装置。
【請求項２】
前記タイミング予測手段は、
過去から今回までのテンポ入力の内、奇数回目の各テンポ入力に基づく前方予測により次の奇数回目テンポのタイミングを前記所定回数毎のタイミングとして予測する第１の予測手段と、
過去から今回までのテンポ入力の内、偶数回目の各テンポ入力に基づく前方予測により次の偶数回目テンポのタイミングを前記所定回数毎のタイミングとして予測する第２の予測手段と、
を有し、
前記関係判別手段は、前記第１の予測手段及び前記第２の予測手段により予測されたタイミングと、前記入力手段により入力されたタイミングとの関係を判別し、
前記関係判別手段による判別結果に基づいて、隣り合うキーフレーム間を補間する補間フレームデータを生成する補間フレーム生成手段、
を更に備え、
前記表示制御手段は、更に、複数の前記キーフレームと前記補間フレーム生成手段により生成された補間フレームとに基づいて、前記動画像の表示形態を制御する、
ことを特徴とする表示制御装置。
【請求項３】
前記第１の予測手段は、リズムの表拍に対応した次の奇数回目のテンポのタイミングを予測し、  前記第２の予測手段は、リズムの裏拍に対応した次の偶数回目のテンポのタイミングを予測する
ことを特徴とする請求項２記載の表示制御装置。
【請求項４】
前記関係判別手段は、更に、奇数回目の各テンポ入力の中で同じテンポを維持した回数をテンポキープ精度として抽出し、抽出したテンポキープ精度に応じてテンポ変化を判別する閾値を制御する第１の閾値制御手段と、
偶数回目の各テンポ入力の中で同じテンポを維持した回数をテンポキープ精度として抽出し、抽出したテンポキープ精度に応じてテンポ変化を判別する閾値を制御する第２の閾値制御手段と、  を有し、
前記表示制御手段は、前記第１の閾値制御手段及び前記第２の閾値制御手段により制御される閾値に基づいて、前記表示手段に表示される動画像の表示形態を制御する
ことを特徴とする請求項２又は３記載の表示制御装置。
【請求項５】
コンピュータを、
テンポを入力するテンポ入力手段、
前記テンポ入力手段によりテンポが入力されたタイミングに基づいて、前記入力手段により新たに入力されるべきテンポのタイミングを予測する予測手段、
前記タイミング予測手段により予測された所定の回数毎のタイミングと、当該所定の回数毎に対応する前記入力手段により入力されたテンポのタイミングとの関係を判別する関係判別手段、
前記関係判別手段による判別結果に基づいて、表示手段に表示される動画像の表示形態を制御する表示制御手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンポ入力に応じて動画像を表示する表示制御装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、曲に合わせて画像を再生する技術が知られている。この種の技術として、例えば特許文献１には、予め画像の動きの速度が異なる画像パターンを複数種用意しておき、これらの内から演奏曲の曲想（リズムテンポや音量など）に合致する種類の画像パターンを選択して再生する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平４−７３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の技術では、予め記録された所定のフレームの画像データを読み出すのみであるため、読み出される画像データのフレームレートでは入力される曲のテンポとうまく合わない虞がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、入力されたテンポに合わせた表示形態の動画像を表示できることを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の表示制御装置は、テンポを入力するテンポ入力手段と、前記テンポ入力手段によりテンポが入力されたタイミングに基づいて、前記入力手段により新たに入力されるべきテンポのタイミングを予測する予測手段と、前記タイミング予測手段により予測された所定の回数毎のタイミングと、当該所定の回数毎に対応する前記入力手段により入力されたテンポのタイミングとの関係を判別する関係判別手段と、前記関係判別手段による判別結果に基づいて、表示手段に表示される動画像の表示形態を制御する表示制御手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明では、入力されたテンポに合わせた表示形態の動画像を表示できる。
【図面の簡単な説明】
【０００８】
【図１】実施の一形態による動画再生装置１００の全体構成を示すブロック図である。
【図２】ＲＡＭ１２のワークエリア１２ａのデータ構成を示すメモリマップである。
【図３】テンポ入力制御処理の動作を示すフローチャートである。
【図４】テンポ入力制御処理の動作を示すフローチャートである。
【図５】テンポ入力制御処理の動作を示すフローチャートである。
【図６】補間フレームデータＤを生成するタイミングを説明するための図である。
【図７】均等なリズムのテンポ入力および跳ねたリズムのテンポ入力を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．発明の概要
実施形態の説明に入る前に、図６を参照して本発明の概要について解説する。本発明では、複数の連続した時系列順のキーフレームデータを用い、ユーザのテンポ入力ごとに１キーフレームずつ表示進行させながら、隣り合うキーフレーム間については補間フレームデータを生成して動画再生（アニメ表示）する。このような動画再生では、再生開始からの実時間ｔを取得し、取得した実時間ｔに基づき次式（１）で表される関係に従って隣り合うキーフレーム間で表示すべき補間フレームデータＤを生成する。
【００１０】
Ｄ＝Ｄｍ×（ｔ−ｔｎ）／（ｔｍ−ｔｎ）
＋Ｄｎ×（１−（ｔ−ｔｎ）／（ｔｍ−ｔｎ））…（１）
【００１１】
上記（１）式の関係を図６に図示する。また、上記（１）式において、ｔは再生開始からの実時間、Ｄは実時間ｔに表示すべき補間フレームデータ、Ｄｎは実時間ｔ直前のキーフレームデータ、ｔｎはキーフレームＤｎに設定された先頭キーフレームＤ０からの時間、ＤｍはキーフレームＤｎの次のキーフレームデータ、ｔｍはキーフレームＤｍに設定された先頭キーフレームＤ０からの時間、ｔｍ−ｔｎはキーフレームＤｎとキーフレームＤｍの時間間隔、ｔ−ｔｎはキーフレームＤｎを表示すべき時刻からの経過時間である。
【００１２】
したがって、補間フレームデータＤは、キーフレームＤｎを表示すべき時刻からの経過時間と、キーフレームＤｎとキーフレームＤｍの時間間隔との比率に基づく内挿補間で得られるタイミングで生成される。
【００１３】
曲に合わせてユーザが行うテンポ入力に同期させて動画再生するには、例えば一拍ごとのタッピング（テンポ入力）に応じて１キーフレームずつ表示進行させる。均等なリズムに合わせてテンポ入力する場合には、図７（ａ）に図示するように、各テンポ入力の時間間隔はほぼ同一となるが、同図（ｂ）に図示するように、例えばシャッフルやスイングなどの跳ねたリズムに合わせたテンポ入力では、２回のテンポ入力を一組と考え、その時間間隔が例えば２：１となるように繰り返す。この２回一組の先のテンポ入力が表拍、後のテンポ入力が裏拍となる。
【００１４】
本発明では、表拍に相当する奇数回目のテンポ入力と、裏拍に相当する偶数回目のテンポ入力との２系統に分け、各系統毎に過去のテンポ入力に基づく前方予測により次テンポ入力予測時間を取得する。本発明による前方予測では、同じテンポを維持したテンポ入力の回数をテンポキープ精度として取得し、取得したテンポキープ精度に応じてテンポ変化を判別するための閾値を制御することでリズム変化に追従可能とし、これにより跳ねたリズムの曲に合わせたユーザのテンポ入力にも対応可能とする。
【００１５】
こうした前方予測により次表拍のテンポ入力予測時間および次裏拍のテンポ入力予測時間が得られると、今回のテンポ入力の時刻から次表拍のテンポ入力予測時間（又は次裏拍のテンポ入力予測時間）までの時間間隔において、隣り合うキーフレーム間を補間する補間フレームデータを作成する。この場合、上記（１）式の関係は、次式（２）で表現される。
【００１６】
Ｄ＝Ｄｍ×（ｔ−ｔｐ）／ｔｎｘｔ＋Ｄｎ×（１−（ｔ−ｔｐ）／ｔｎｘｔ）…（２）
ここで、ｔは再生開始からの実時間、Ｄは実時間ｔに表示すべき補間フレームデータ、Ｄｎは実時間ｔ直前のキーフレームデータ、ＤｍはＤｎの次のキーフレームデータ、ｔｐは今回のテンポ入力時刻、ｔｎｘｔは次テンポ入力予測時間（次表拍／次裏拍までの予測時間長）である。なお、後述する実施形態においては、次テンポ入力予測時間ｔｎｘｔを「次回テンポ」と称す。
【００１７】
したがって、今回のテンポ入力が奇数回目の表拍であれば、上記（２）式に基づいて次表拍のタイミングに対応した補間フレームデータを発生させ、一方、今回のテンポ入力が偶数回目の裏拍ならば、上記（２）式に基づいて次裏拍のタイミングに対応した補間フレームデータを発生させることによって、跳ねたリズムの曲に合わせたユーザのテンポ入力に同期させた動画再生が可能になる。
【００１８】
Ｂ．動画再生装置１００の構成
次に、図１を参照して本発明の実施の一形態による動画再生装置１００の構成を説明する。図１において、ＣＰＵ１０は、操作部１３が発生する操作イベントに応じて装置各部の動作状態を設定する他、ユーザのテンポ入力毎に割り込み実行されるテンポ入力制御処理（後述する）により得られる再生パラメータを動画再生部に１４に供給する。なお、ここで言う再生パラメータとは、補間フレームデータの生成に用いるキーフレームデータや補間比率を指定するデータである。
【００１９】
ＲＯＭ１１には、ＣＰＵ１３にロードされる各種プログラムが記憶される。ここで言う各種プログラムとは、後述するテンポ入力制御処理を含む。ＲＡＭ１２は、ワークエリア１２ａ、キーフレームエリア１２ｂおよび曲データエリア１２ｃを備える。ＲＡＭ１２のワークエリア１２ａには、ＣＰＵ１３の演算結果を格納する各種レジスタ・フラグデータが一時記憶される。
【００２０】
ここで、図２を参照してＲＡＭ１２のワークエリア１２ａに一時記憶される各種レジスタ・フラグデータの内、本発明に係わる主要データについて説明する。図２において、テンポ入力回数カウンタＩＫは、テンポ入力の回数を計数するカウンタである。テンポ入力は、ユーザがテンポを取るタッピング操作（後述する）で行われる。本実施形態では、奇数回目のテンポ入力を表拍（ダウンビート）、偶数回目のテンポ入力を裏拍（アップビート）と定義する。
【００２１】
表拍入力情報ＤＤＩは、奇数回目（入力回数２ＩＫ−１）のテンポ入力毎の入力時刻および入力間隔から構成される。入力時刻は、表拍のテンポ入力（タッピング操作）が為された時刻を表す時間情報である。入力間隔は、前回表拍の入力時刻から今回表拍の入力時刻までの時間間隔を表す。初回テンポ入力時の入力間隔には、所定のデフォルト値（例えば曲のテンポ値で設定される値）がセットされる。
【００２２】
現在テンポ（表拍）ＰＴＤは、表拍入力情報ＤＤＩの内、曲のテンポに同期していると判別された入力間隔の平均から算出されるテンポ値である。新規テンポ候補（表拍）ＮＴＤは、表拍入力情報ＤＤＩの内、曲のテンポに同期していないと判別された入力間隔の平均から算出されるテンポ値である。
【００２３】
裏拍入力情報ＤＵＩは、偶数回目（入力回数２ＩＫ）のテンポ入力毎の入力時刻および入力間隔から構成される。入力時刻は、裏拍のテンポ入力（タッピング操作）が為された時刻を表す時間情報である。入力間隔は、前回裏拍の入力時刻から今回裏拍の入力時刻までの時間間隔を表す。初回テンポ入力時の入力間隔には、所定のデフォルト値（例えば曲のテンポ値で設定される値）がセットされる。
【００２４】
現在テンポ（裏拍）ＰＴＵは、裏拍入力情報ＤＵＩの内、曲のテンポに同期していると判別された入力間隔の平均から算出されるテンポ値である。新規テンポ候補（裏拍）ＮＴＵは、裏拍入力情報ＤＵＩの内、曲のテンポに同期していないと判別された入力間隔の平均から算出されるテンポ値である。
【００２５】
テンポキープ回数カウンタＴＫは、現在テンポ（表拍）ＰＴＤ、新規テンポ候補（表拍）ＮＴＤ、現在テンポ（裏拍）ＰＴＵおよび新規テンポ候補（裏拍）ＮＴＵのそれぞれについて高速テンポ／低速テンポのキープ回数を計数するカウンタである。テンポチェック回数カウンタＴＣは、現在テンポ（表拍）ＰＴＤ、新規テンポ候補（表拍）ＮＴＤ、現在テンポ（裏拍）ＰＴＵおよび新規テンポ候補（裏拍）ＮＴＵのそれぞれについて高速テンポ／低速テンポのチェック回数を計数するカウンタである。なお、高速テンポ／低速テンポの意図するところについては追って述べる。
【００２６】
ＲＡＭ１２のキーフレームエリア１２ｂには、例えばアニメ表示されるキャラクタ（不図示）がダンスの動きをするように形成された複数の連続した時系列順のキーフレームデータが格納される。１つのキーフレームデータは、所謂パラパラアニメと呼ばれるアニメーション表示に用いられる１枚の画像データに相当する。ＲＡＭ１２の曲データエリア１２ｃには、曲を構成する各音符の発音時刻、音高、音量および消音時刻を表すと共に、テンポ（ＢＰＭ）や拍子、小節タイミングなどの曲属性を表す公知のＭＩＤＩデータが格納される。
【００２７】
操作部１３は、表示部１５の表示画面上に配設されるタッチパネルから構成され、当該表示画面に表示される各種アイコンやボタンあるいはソフトウェアキーボードを、タッチパネルのタッチ操作することで操作信号を出力する。また、操作部１３のタッチパネルは、ユーザのテンポ入力にも用いられる。すなわち、タッチパネルにおいてユーザがテンポを取るタッピング操作を行うと、それに応じて発生する操作信号がテンポ入力イベントとしてＣＰＵ１０に取り込まれる。
【００２８】
動画処理部１４は、動画処理専用のプロセッサを備え、ＣＰＵ１０から供給される再生パラメータに従って、ＲＡＭ１２のキーフレームエリア１２ｂから読み出したキーフレームデータを再生出力すると共に、隣り合う２つのキーフレーム間を補間する補間フレームデータを生成して再生出力する。表示部１５は、カラー液晶表示パネルおよび駆動回路から構成され、動画処理部１４から再生出力される動画（アニメーション）を画面表示する。
【００２９】
音源１６は、公知の波形メモリ読み出し方式にて構成され、複音同時発音可能な複数の発音チャンネルを備える。音源１６では、ＲＡＭ１２の曲データエリア１２ｃからＣＰＵ１０が読み出すＭＩＤＩデータに応じて自動演奏する。サウンドシステム１７は、音源１６から出力される楽音波形をアナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を施してからスピーカから発音させる。
【００３０】
Ｃ．動作
次に、図３〜図５を参照して、上記構成による動画再生装置１００のＣＰＵ１０が実行するテンポ入力制御処理の動作について説明する。テンポ入力制御処理は、テンポ入力イベント毎に割り込み実行される。具体的には、音源１６の自動演奏により再生される曲に合わせてユーザがテンポ入力（ユーザのタッピング操作）する毎に割り込み実行される。
【００３１】
テンポ入力イベントに応じて本処理が実行されると、ＣＰＵ１０は図３に図示するステップＳ１に進み、テンポ入力が行われた入力時刻を取得する。続いて、ステップＳ２では、初回のテンポ入力であるか否かを判断する。初回入力であったならば、判断結果は「ＹＥＳ」になり、ステップＳ３に進み、テンポ入力回数カウンタＩＫに初期値「１」をストアする。次いで、ステップＳ４では、初回のテンポ入力に対応して表拍入力情報ＤＤＩ（図２参照）の入力間隔として、所定のデフォルト値をストアした後、本処理を終える。なお、このデフォルト値には、再生中の曲データに含まれるテンポ値が用いられる。
【００３２】
一方、初回以降のテンポ入力であると、上記ステップＳ２の判断結果は「ＮＯ」になり、ステップＳ５に進み、テンポ入力回数カウンタＩＫをインクリメントして歩進させる。続いて、ステップＳ６では、テンポ入力回数カウンタＩＫの値に応じて、表拍入力情報ＤＤＩ（又は裏拍入力情報ＤＵＩを更新する。
【００３３】
具体的には、歩進されたテンポ入力回数カウンタＩＫの値が奇数であれば、表拍入力情報ＤＤＩとして、テンポ入力回数カウンタＩＫに対応した入力時刻および入力間隔を登録する。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、裏拍入力情報ＤＵＩとして、テンポ入力回数カウンタＩＫに対応した入力時刻および入力間隔を登録する。なお、入力時刻は上記ステップＳ１で取得した時刻であり、入力間隔は前回表拍（又は前回裏拍）の入力時刻から今回表拍又は今回裏拍）の入力時刻までの時間間隔である。
【００３４】
次いで、ステップＳ７では、過去の入力間隔の平均から高速テンポキープ閾値および低速テンポキープ閾値を取得する。以下、テンポキープ閾値について説明する。先ず、本実施形態においてテンポを維持する意味の「テンポキープ」とは、次式（３）を満たす場合を指す。
【００３５】
｜Ｔｒ−Ｔｎ｜＜ｐ・Ｔｒ…（３）
ここで、Ｔｒは現在テンポ（過去の入力間隔の平均）、Ｔｎは今回のテンポ入力の入力間隔、ｐは補正係数である。つまり、過去の入力間隔の平均Ｔｒと今回のテンポ入力の入力間隔Ｔｎとの差分絶対値が、過去の入力間隔の平均Ｔｒに補正係数ｐを乗じたテンポキープ閾値より小さければ「テンポキープ」とする。
【００３６】
本実施形態では、補正係数ｐを高速テンポ用および低速テンポ用に分けて持つ。さらに高速テンポ用の補正係数ｐは表拍用および裏拍用に分けられ、同様に低速テンポ用の補正係数ｐも表拍用および裏拍用に分けられており、都合４種の補正係数ｐを備えることになる。また、本実施形態では、入力間隔が５００ｍｓｅｃより短い（テンポが速い）場合を高速テンポと定義し、それより長い（テンポが遅い）場合を低速テンポと定義する。
【００３７】
高速テンポ用の補正係数ｐは、デフォルト値（初期値）として「３２／２５６」が設定される。低速テンポ用の補正係数ｐは、デフォルト値（初期値）として「１６／２５６」が設定される。これら補正係数ｐは、後述するように過去１６回のテンポ入力におけるテンポキープ回数（後述する）に応じて増減調整される。
【００３８】
したがって、ステップＳ７では、歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、表拍入力情報ＤＤＩ中の入力間隔の平均である現在テンポ（表拍）ＰＴＤに、高速テンポ用の補正係数ｐ（表拍用）を乗算した表拍用の高速テンポキープ閾値と、低速テンポ用の補正係数ｐ（表拍用）を乗算した表拍用の低速テンポキープ閾値とを取得する。
【００３９】
また、ステップＳ７では、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、裏拍入力情報ＤＵＩ中の入力間隔の平均である現在テンポ（裏拍）ＰＴＵに、高速テンポ用の補正係数ｐ（裏拍用）を乗算した裏拍用の高速テンポキープ閾値と、低速テンポ用の補正係数ｐ（裏拍用）を乗算した裏拍用の低速テンポキープ閾値とを取得する。
【００４０】
そして、ステップＳ８では、現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）あるいは現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）について、上記ステップＳ８で取得した表／裏拍用の高速テンポキープ閾値および表／裏拍用の低速テンポキープ閾値を用い、上記（３）式の関係に基づいてテンポキープしたか否かを判断する。
【００４１】
すなわち、歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）と今回のテンポ入力の入力間隔との差分絶対値が、表拍用の高速テンポキープ閾値より小さく高速テンポキープしているか否かを判断する。また、現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）と今回のテンポ入力の入力間隔との差分絶対値が、表拍用の低速テンポキープ閾値より小さく低速テンポキープしているか否かを判断する。
【００４２】
一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）と今回のテンポ入力の入力間隔との差分絶対値が、裏拍用の高速テンポキープ閾値より小さく高速テンポキープしているか否かを判断する。また、現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）と今回のテンポ入力の入力間隔との差分絶対値が、裏拍用の低速テンポキープ閾値より小さく低速テンポキープしているか否かを判断する。
【００４３】
高速テンポ又は低速テンポの何れかでテンポキープしていれば、上記ステップＳ８の判断結果は「ＹＥＳ」となり、ステップＳ９に進み、テンポキープ回数カウンタＴＫをインクリメントして歩進させた後、ステップＳ１０に進む。なお、テンポキープ回数カウンタＴＫ（図２参照）は、前述したように、現在テンポ（表拍）ＰＴＤ、新規テンポ候補（表拍）ＮＴＤ、現在テンポ（裏拍）ＰＴＵおよび新規テンポ候補（裏拍）ＮＴＵのそれぞれについて高速テンポ／低速テンポのキープ回数をカウントする。
【００４４】
一方、高速テンポおよび低速テンポの双方でテンポキープしていなければ、上記ステップＳ８の判断結果が「ＮＯ」になり、ステップＳ１０に進み、テンポチェック回数カウンタＴＣをインクリメントして歩進させた後、ステップＳ１１に進む。なお、テンポチェック回数カウンタＴＣ（図２参照）は、前述したように、現在テンポ（表拍）ＰＴＤ、新規テンポ候補（表拍）ＮＴＤ、現在テンポ（裏拍）ＰＴＵおよび新規テンポ候補（裏拍）ＮＴＵのそれぞれについて高速テンポ／低速テンポのチェック回数をカウントする。
【００４５】
続いて、ステップＳ１１では、過去１６回のテンポ入力における高速／低速テンポキープ回数に応じて高速／低速テンポキープ閾値を調整する。具体的には、過去１６回のテンポ入力の内、テンポキープ回数が「１５〜１６回」であれば、前述した補正係数ｐを「２」減少させて高速／低速テンポキープ閾値を調整する。テンポキープ回数が「１２〜１６回」であれば、補正係数ｐを「１」減少させて高速／低速テンポキープ閾値を調整する。テンポキープ回数が「４〜７回」であれば、補正係数ｐを「１」増加させて高速／低速テンポキープ閾値を調整する。テンポキープ回数が「０〜３回」であれば、補正係数ｐを「２」増加させて高速／低速テンポキープ閾値を調整する。
【００４６】
歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）の高速テンポキープ回数／低速テンポキープ回数に基づき、こうした閾値調整を行って現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）の高速／低速テンポキープ閾値を更新する。
【００４７】
同様に、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）の高速テンポキープ回数／低速テンポキープ回数に基づき、こうした閾値調整を行って現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）の高速／低速テンポキープ閾値を更新する。
【００４８】
上記ステップＳ１１により高速／低速テンポキープ閾値が更新されると、ＣＰＵ１０は図４に図示するステップＳ１２に処理を進め、更新された高速／低速テンポキープ閾値に基づき現在テンポがテンポキープしているか否かを判断する。
【００４９】
つまり、歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、現在テンポ（表拍）ＰＴＤと今回のテンポ入力の入力間隔との差分絶対値が、表拍用の高速テンポキープ閾値又は低速テンポキープ閾値の何れかより小さくテンポキープしているか否かを判断する。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、現在テンポ（裏拍）ＰＴＵと今回のテンポ入力の入力間隔との差分絶対値が、裏拍用の高速テンポキープ閾値又は低速テンポキープ閾値の何れかより小さくテンポキープしているか否かを判断する。
【００５０】
今回のテンポ入力が現在テンポ（表拍／裏拍）をキープしていれば、上記ステップＳ１２の判断結果は「ＹＥＳ」になり、ステップＳ１３に進む。ステップＳ１３では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であれば、表拍入力情報ＤＤＩの内、曲のテンポに同期していると判別された入力間隔に、今回のテンポ入力による入力間隔を加えることで現在テンポ（表拍）ＰＴＤを更新する共に、表拍入力情報ＤＤＩの新規テンポ候補（表拍）ＮＴＤをクリアした後、この更新された現在テンポ（表拍）ＰＴＤを次回テンポ（次表拍までの予測時間長）に設定した後、後述のステップＳ２２（図５参照）に処理を進める。
【００５１】
一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数であれば、裏拍入力情報ＤＵＩの内、曲のテンポに同期していると判別された入力間隔に、今回のテンポ入力による入力間隔を加えることで現在テンポ（裏拍）ＰＴＵを更新する共に、裏拍入力情報ＤＵＩの新規テンポ候補（裏拍）ＮＴＵをクリアした後、この更新された現在テンポ（裏拍）ＰＴＵを次回テンポ（次裏拍までの予測時間長）に設定した後、後述のステップＳ２２（図５参照）に処理を進める。
【００５２】
一方、今回のテンポ入力が現在テンポ（表拍／裏拍）をキープしていなければ、上記ステップＳ１２の判断結果が「ＮＯ」になり、ステップＳ１４に進む。ステップＳ１４では、更新された高速／低速テンポキープ閾値に基づき新規テンポ候補がテンポキープしているか否かを判断する。
【００５３】
つまり、歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、新規テンポ候補（表拍）ＮＴＤと今回のテンポ入力の入力間隔との差分絶対値が、表拍用の高速テンポキープ閾値又は低速テンポキープ閾値の何れかより小さくテンポキープしているか否かを判断する。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、新規テンポ候補（裏拍）ＮＴＵと今回のテンポ入力の入力間隔との差分絶対値が、裏拍用の高速テンポキープ閾値又は低速テンポキープ閾値の何れかより小さくテンポキープしているか否かを判断する。
【００５４】
今回のテンポ入力が新規テンポ候補（表拍／裏拍）のテンポをキープしていなければ、上記ステップＳ１４の判断結果は「ＮＯ」になり、後述のステップＳ１９（図５参照）に進む。これに対し、今回のテンポ入力が新規テンポ候補（表拍／裏拍）のテンポをキープしていると、上記ステップＳ１４の判断結果が「ＹＥＳ」となり、ステップＳ１５に進む。
【００５５】
ステップＳ１５では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であれば、表拍入力情報ＤＤＩの内、曲のテンポに同期していないと判別された入力間隔に、今回のテンポ入力による入力間隔を加えることで新規テンポ候補（表拍）ＮＴＤを更新する。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数であれば、裏拍入力情報ＤＵＩの内、曲のテンポに同期していないと判別された入力間隔に、今回のテンポ入力による入力間隔を加えることで新規テンポ候補（裏拍）ＮＴＵを更新する。
【００５６】
続いて、ステップＳ１６では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であれば、テンポキープ回数カウンタＴＫの内、新規テンポ候補（表拍）のテンポが所定回数連続してキープされたかどうかを判断する。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、テンポキープ回数カウンタＴＫの内、新規テンポ候補（裏拍）のテンポが所定回数連続してキープされたかどうかを判断する。
【００５７】
新規テンポ候補のテンポが所定回数連続してキープされた場合には、上記ステップＳ１６の判断結果は「ＹＥＳ」になり、ステップＳ１７に進む。ステップＳ１７では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であると、表拍入力情報ＤＤＩの現在テンポ（表拍）ＰＴＤをクリアすると共に、新規テンポ候補（表拍）ＮＴＤを次回テンポ（次表拍までの予測時間長）に設定し、更に新規テンポ候補（表拍）ＮＴＤを現在テンポ（表拍）ＰＴＤにストアした後、後述のステップＳ２２（図５参照）に処理を進める。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、裏拍入力情報ＤＵＩの現在テンポ（裏拍）ＰＴＵをクリアすると共に、新規テンポ候補（表拍）ＮＴＵを次回テンポ（次裏拍までの予測時間長）に設定し、更に新規テンポ候補（表拍）ＮＴＵを現在テンポ（表拍）ＰＴＵにストアした後、後述のステップＳ２２（図５参照）に処理を進める。
【００５８】
これに対し、新規テンポ候補のテンポが所定回数連続してキープされない場合には、上記ステップＳ１６の判断結果が「ＮＯ」になり、ステップＳ１８に進む。ステップＳ１８では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であると、表拍入力情報ＤＤＩの新規テンポ候補（表拍）ＮＴＤをクリアすると共に、現在テンポ（表拍）ＰＴＤを次回テンポ（次表拍までの予測時間長）に設定した後、後述のステップＳ２２（図５参照）に処理を進める。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、裏拍入力情報ＤＵＩの新規テンポ候補（裏拍）ＮＴＵをクリアすると共に、現在テンポ（裏拍）ＰＴＵを次回テンポ（次裏拍までの予測時間長）に設定した後、後述のステップＳ２２（図５参照）に処理を進める。
【００５９】
さて、現在テンポおよび新規テンポ候補の何れもテンポキープしていない状況、すなわち上述したステップＳ１４の判断結果が「ＮＯ」の場合には、図５に図示するステップＳ１９に処理を進める。ステップＳ１９では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であると、表拍入力情報ＤＤＩの新規テンポ候補（表拍）ＮＴＤをクリアし、かつ現在テンポが所定回数連続してキープ出来ていない状況ならば、表拍入力情報ＤＤＩの現在テンポ（表拍）ＰＴＤもクリアする。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、裏拍入力情報ＤＵＩの新規テンポ候補（裏拍）ＮＴＵをクリアし、かつ現在テンポが所定回数連続してキープ出来ていない状況ならば、裏拍入力情報ＤＵＩの現在テンポ（裏拍）ＰＴＵもクリアする。
【００６０】
次いで、ステップＳ２０では、歩進されたテンポ入力回数カウンタＩＫの値が奇数であると、表拍入力情報ＤＤＩの現在テンポ（表拍）ＰＴＤ（又は新規テンポ候補（表拍）ＮＴＤ）と今回のテンポ入力の入力間隔との補間により次回テンポ（次表拍までの予測時間長）を設定する。
【００６１】
具体的には、補間係数をｑとすると、（今回のテンポ入力の入力間隔）×ｑ＋（現在テンポ（表拍）ＰＴＤ又は新規テンポ候補（表拍）ＮＴＤ）×（１−ｑ）なる補間式により次回テンポ（次表拍までの予測時間長）を算出する。なお、上記ステップＳ１９において、現在テンポ（表拍）ＰＴＤおよび新規テンポ候補（表拍）ＮＴＤが共にクリアされた場合には、表拍入力情報ＤＤＩ中の今回のテンポ入力の入力間隔を、次回テンポ（次表拍までの予測時間長）とする。
【００６２】
一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数ならば、裏拍入力情報ＤＵＩの現在テンポ（裏拍）ＰＴＵ（又は新規テンポ候補（裏拍）ＮＴＵ）と今回のテンポ入力の入力間隔との補間により次回テンポ（次裏拍までの予測時間長）を設定する。
【００６３】
具体的には、補間係数をｑとすると、（今回のテンポ入力の入力間隔）×ｑ＋（現在テンポ（裏拍）ＰＴＵ又は新規テンポ候補（裏拍）ＮＴＵ）×（１−ｑ）なる補間式により次回テンポ（次裏拍までの予測時間長）を算出する。なお、上記ステップＳ１９において、現在テンポ（裏拍）ＰＴＵおよび新規テンポ候補（裏拍）ＮＴＵが共にクリアされた場合には、表拍入力情報ＤＤＩ中の今回のテンポ入力の入力間隔を、次回テンポ（次表拍までの予測時間長）とする。
【００６４】
次いで、ステップＳ２１では、予想より早い間隔でテンポ入力された場合に、その入力間隔と現在テンポ（又は新規テンポ候補）との比率を、上述した補間演算に用いる補間係数ｑとして保持する。
【００６５】
そして、ステップＳ２２では、歩進されたテンポ入力回数カウンタＩＫの値が奇数の場合には、前述した（２）式に従い、次回テンポ（次表拍までの予測時間長）ｔｎｘｔに対応した補間フレームデータの発生を動画処理部１４に指示して本処理を終える。一方、歩進されたテンポ入力回数カウンタＩＫの値が偶数の場合には、前述した（２）式に従い、次回テンポ（次裏拍までの予測時間長）ｔｎｘｔに対応した補間フレームデータの発生を動画処理部１４に指示して本処理を終える。
【００６６】
このように本実施形態では、表拍に相当する奇数回目のテンポ入力と、裏拍に相当する偶数回目のテンポ入力との２系統に分け、各系統毎に過去のテンポ入力に基づく前方予測により次テンポ入力予測時間を取得する。前方予測では、同じテンポを維持したテンポ入力の回数をテンポキープ精度として抽出し、抽出したテンポキープ精度に応じてテンポ変化を判別する閾値を制御することでリズム変化に追従可能とする。こうした前方予測により次表拍のテンポ入力予測時間および次裏拍のテンポ入力予測時間が得られると、今回のテンポ入力の時刻から次表拍のテンポ入力予測時間（又は次裏拍のテンポ入力予測時間）までの時間間隔において、隣り合うキーフレーム間を補間する補間フレームデータを発生させるので、跳ねたリズムの曲に合わせたユーザのテンポ入力に同期させた動画再生が可能になる。
【００６７】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
【００６８】
（付記）
［請求項１］
テンポを入力するテンポ入力手段と、
前記テンポ入力手段によりテンポが入力されたタイミングに基づいて、前記入力手段により新たに入力されるべきテンポのタイミングを予測する予測手段と、
前記タイミング予測手段により予測された所定の回数毎のタイミングと、当該所定の回数毎に対応する前記入力手段により入力されたテンポのタイミングとの関係を判別する関係判別手段と、
前記関係判別手段による判別結果に基づいて、表示手段に表示される動画像の表示形態を制御する表示制御手段と
を備えることを特徴とする表示制御装置。
【００６９】
［請求項２］
前記タイミング予測手段は、
過去から今回までのテンポ入力の内、奇数回目の各テンポ入力に基づく前方予測により次の奇数回目テンポのタイミングを前記所定回数毎のタイミングとして予測する第１の予測手段と、
過去から今回までのテンポ入力の内、偶数回目の各テンポ入力に基づく前方予測により次の偶数回目テンポのタイミングを前記所定回数毎のタイミングとして予測する第２の予測手段と、
を有し、
前記関係判別手段は、前記第１の予測手段及び前記第２の予測手段により予測されたタイミングと、前記入力手段により入力されたタイミングとの関係を判別し、
前記関係判別手段による判別結果に基づいて、隣り合うキーフレーム間を補間する補間フレームデータを生成する補間フレーム生成手段、
を更に備え、
前記表示制御手段は、更に、複数の前記キーフレームと前記補間フレーム生成手段により生成された補間フレームとに基づいて、前記動画像の表示形態を制御する、
ことを特徴とする表示制御装置。
【００７０】
［請求項３］
前記第１の予測手段は、リズムの表拍に対応した次の奇数回目のテンポのタイミングを予測し、  前記第２の予測手段は、リズムの裏拍に対応した次の偶数回目のテンポのタイミングを予測する
ことを特徴とする請求項２記載の表示制御装置。
【００７１】
［請求項４］
前記関係判別手段は、更に、奇数回目の各テンポ入力の中で同じテンポを維持した回数をテンポキープ精度として抽出し、抽出したテンポキープ精度に応じてテンポ変化を判別する閾値を制御する第１の閾値制御手段と、
偶数回目の各テンポ入力の中で同じテンポを維持した回数をテンポキープ精度として抽出し、抽出したテンポキープ精度に応じてテンポ変化を判別する閾値を制御する第２の閾値制御手段と、  を有し、
前記表示制御手段は、前記第１の閾値制御手段及び前記第２の閾値制御手段により制御される閾値に基づいて、前記表示手段に表示される動画像の表示形態を制御する
ことを特徴とする請求項２又は３記載の表示制御装置。
【００７２】
［請求項５］
コンピュータを、
テンポを入力するテンポ入力手段、
前記テンポ入力手段によりテンポが入力されたタイミングに基づいて、前記入力手段により新たに入力されるべきテンポのタイミングを予測する予測手段、
前記タイミング予測手段により予測された所定の回数毎のタイミングと、当該所定の回数毎に対応する前記入力手段により入力されたテンポのタイミングとの関係を判別する関係判別手段、
前記関係判別手段による判別結果に基づいて、表示手段に表示される動画像の表示形態を制御する表示制御手段
として機能させることを特徴とするプログラム。
【符号の説明】
【００７３】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１２ａ  ワークエリア
１２ｂ  キーフレームエリア
１２ｃ  曲データエリア
１３  操作部
１４  動画処理部
１５  表示部
１６  音源
１７  サウンドシステム
１００  動画再生装置
【図１】
2014056485.tif 000003
【図２】
2014056485.tif 000004
【図３】
2014056485.tif 000005
【図４】
2014056485.tif 000006
【図５】
2014056485.tif 000007
【図６】
2014056485.tif 000008
【図７】
2014056485.tif 000009