説明

画像生成装置、画像生成プログラム、データ補間装置、およびデータ補間プログラム

【課題】楽音のテンポが変化する場合でも、楽音とモーションとの高精度な同期が可能な画像生成装置を提供する。
【解決手段】予めモーションキャプチャ等の方法を用いて作成されたオリジナルモーションデータを構成するフレームデータを、1拍中に出力されるMIDIビートクロック信号の数に応じて線形補間し、補間フレームデータを生成する。MIDIデータに基づき曲が再生されると、曲のテンポに合わせてMIDIビートクロック信号が出力される(S24:YES)。MIDIビートクロック信号の出力タイミングに合わせて、対応する補間フレームデータを取得して(S21)データバッファに書き出し(S22)、フレーム表示タイミングが来たら(S23:YES)、ディスプレイに表示する(S25)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成装置、画像生成プログラム、データ補間装置、およびデータ補間プログラムに関する。
【背景技術】
【0002】
従来から、再生される音楽と、コンピュータグラフィックスにより生成される動画像の動きを同期させる技術が知られている。例えば特許文献1に記載のアニメーション作成システムでは、所定の楽音を生成するために定義されたMIDI(Musical Instrument Digital Interface)データに含まれる1拍の時間を表す拍時間を基準として、一定の時間枠Taが設定される。そして、予め用意されたオブジェクトのモーションデータが時間枠Taに合わせて圧縮または伸張されることにより、オブジェクトの一連の動きが楽音と同期されている。
【特許文献1】特開平10−307930号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1に記載されているアニメーション生成システムでは、オブジェクトのモーションデータは時間枠Taに合わせて圧縮または伸張されているため、時間枠Taが例えば4拍分に設定されている場合、時間枠Taの間で曲のテンポ(拍時間)が徐々に変化したとしても、オブジェクトはこの間一定のテンポで動く。したがって、この場合、楽音とオブジェクトの動きの同期を適切にとれないという問題があった。また、オブジェクトのモーションデータは時間枠Taを1つの区切りとしてある特定のテンポで圧縮または伸張されるため、時間枠Taの区切り毎に動きのテンポが急に変化することになる。したがって、曲に合わせた滑らかな動きは実現できないという問題があった。
【0004】
本発明は、上記問題点を解決するためになされたものであり、楽音のテンポが変化する場合でも、楽音とモーションとの高精度な同期を可能とすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、請求項1に係る発明の画像生成装置は、一連のフレームデータから構成されるモーションデータによって、画像オブジェクトの動きを表示する画像生成装置において、前記画像オブジェクトを表示する表示手段と、前記モーションデータ生成の基礎とするために予め取得したオリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって補間フレームデータを生成し、前記補間フレームデータから構成される補間モーションデータを生成する補間モーションデータ生成手段と、前記補間モーションデータ生成手段によって生成された補間モーションデータを記憶する補間モーションデータ記憶手段と、前記補間モーションデータを構成する前記補間フレームデータを記憶する補間フレームデータ記憶手段と、前記楽音の再生に伴って発せられる前記信号を受信する毎に、前記補間モーションデータ記憶手段に記憶された前記補間モーションデータから前記信号に対応する前記補間フレームデータを抽出し、前記補間フレームデータ記憶手段に出力して記憶させる補間フレームデータ出力手段と、前記補間フレームデータ記憶手段に記憶された前記補間フレームデータを所定のタイミングで取得し、前記画像オブジェクトの前記フレームデータとして前記表示手段に表示させる表示制御手段とを備えている。
【0006】
また、請求項2に係る発明の画像生成装置は、請求項1に記載の発明の構成に加え、前記補間モーションデータ生成手段が、前記オリジナルモーションデータを構成するオリジナルフレームデータを前記信号の数に応じて線形補間することにより、前記補間フレームデータからなる前記補間モーションデータを生成することを特徴とする。
【0007】
また、請求項3に係る発明の画像生成装置は、一連のフレームデータから構成されるモーションデータによって、画像オブジェクトの動きを表示する画像生成装置において、前記モーションデータ作成の基礎とするために予め取得したオリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって生成された補間フレームデータを、補間モーションデータとして記憶する補間モーションデータ記憶手段と、前記補間モーションデータを構成する前記補間フレームデータを記憶する補間フレームデータ記憶手段と、前記楽音の再生に伴って発せられる前記信号を受信する毎に、前記補間モーションデータ記憶手段に記憶された前記補間モーションデータから前記信号に対応する前記補間フレームデータを抽出し、前記補間フレームデータ記憶手段に出力して記憶させる補間フレームデータ出力手段と、前記補間フレームデータ記憶手段に記憶された前記補間フレームデータを所定のタイミングで取得し、前記画像オブジェクトの前記フレームデータとして表示手段に表示させる表示制御手段とを備えている。
【0008】
また、請求項4に係る発明の画像生成装置は、請求項1〜3のいずれかに記載の発明の構成に加え、前記信号が、MIDI(Musical Instrument Digital Interface)ビートクロック信号であることを特徴とする。
【0009】
また、請求項5に係る発明の画像生成装置は、請求項4に記載の発明の構成に加え、前記MIDIビートクロック信号の数を指定する信号数指定手段をさらに備えたことを特徴とする。
【0010】
また、請求項6に係る発明の画像生成装置は、請求項4に記載の発明の構成に加え、前記信号は、MIDIシーケンスデータに組み込まれた信号であることを特徴とする。
【0011】
また、請求項7に係る発明の画像生成装置は、請求項4に記載の発明の構成に加え、MIDI機器をさらに備え、前記MIDIビートクロック信号の数が、前記MIDI機器に固有の数であることを特徴とする。
【0012】
また請求項8に係る発明の画像生成プログラムは、請求項1〜7のいずれかに記載の画像生成装置の各種処理手段としてコンピュータを機能させる。
【0013】
また、請求項9に係る発明のデータ補間装置は、フレームデータから構成され、画像オブジェクトの動きを定義するモーションデータを最終的に生成するための補間モーションデータを生成するデータ補間装置において、前記モーションデータ生成の基礎とするために、オリジナルフレームデータからなるオリジナルモーションデータを取得するデータ取得手段と、前記データ取得手段によって取得された前記オリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって補間フレームデータを生成し、前記補間フレームデータから構成される補間モーションデータを生成する補間モーションデータ生成手段とを備えている。
【0014】
また、請求項10に係る発明のデータ補間装置は、請求項9に記載の発明の構成に加え、前記補間モーションデータ生成手段が、前記オリジナルフレームデータを、前記楽音のテンポを表す前記信号の数に応じて線形補間することにより、前記補間フレームデータからなる前記補間モーションデータを生成することを特徴とする。
【0015】
また、請求項11に係る発明のデータ補間装置は、請求項9または10に記載の発明の構成に加え、前記楽音のテンポを表す前記信号が、MIDIビートクロック信号であることを特徴とする。
【0016】
また、請求項12に係る発明のデータ補間装置は、請求項11に記載の発明の構成に加え、前記MIDIビートクロック信号の数を指定する信号数指定手段をさらに備えたことを特徴とする。
【0017】
また、請求項13に係る発明のデータ補間装置は、請求項11に記載の発明の構成に加え、前記信号が、MIDIシーケンスデータに組み込まれた信号であることを特徴とする。
【0018】
また、請求項14に係る発明のデータ補間プログラムは、請求項9〜13のいずれかに記載のデータ補間装置の各種処理手段としてコンピュータを機能させる。
【発明の効果】
【0019】
請求項1に係る発明の画像生成装置は、予め取得したオリジナルモーションデータを、楽音のテンポを表す信号の数に応じて補間することにより、補間フレームデータを生成する。そして、楽音の再生に伴って発せられるテンポを表す信号を受信するたびに、その信号に対応する補間フレームデータを抽出し、所定の表示タイミングに従って、最新の補間フレームデータを表示する。すなわち、画像オブジェクトのモーションデータを、発せられる間隔が楽音のテンポに対応する信号の数に合わせて生成し、信号の実際の出力に合わせて、最新のデータに更新して表示する。したがって、楽音のテンポが変化しても、画像オブジェクトと楽音の高精度な同期が可能となり、曲に合わせた滑らかな動きが実現できる。
【0020】
また、請求項2に係る発明の画像生成装置は、線形補間を用いて、オリジナルモーションデータから補間モーションデータを生成するので、請求項1に記載の発明の構成に加えて、簡便な方法で補間モーションデータを得ることができる。
【0021】
また、請求項3に係る発明の画像生成装置は、楽音のテンポを表す信号の数に応じて補間することにより生成された補間モーションデータを記憶している。そして、楽音の再生に伴って発せられるテンポを表す信号を受信するたびに、その信号に対応する補間フレームデータを抽出し、所定の表示タイミングに従って、最新の補間フレームデータを表示する。すなわち、発せられる間隔が楽音のテンポに対応する信号に合わせて生成され、記憶された補間モーションデータを、この信号に合わせて表示する。したがって、楽音のテンポが変化しても、画像オブジェクトと楽音の高精度な同期が可能となり、曲に合わせた滑らかな動きが実現できる。
【0022】
また、請求項4に係る発明の画像生成装置では、楽音のテンポを表す信号は、1拍中に所定数(例えば、24個)が出力されるMIDIビートクロック信号である。すなわち、MIDIビートクロック信号は、1拍よりも短い間隔で出力されるので、請求項1〜3のいずれかに記載の発明の効果に加えて、表示される画像オブジェクトの動きに、楽音のテンポの変化をより正確に反映させることができる。
【0023】
また、請求項5に係る発明の画像生成装置では、MIDIビートクロック信号の数を指定することができる。この場合、MIDI機器により楽音が1拍分再生される間に指定された数の信号を出力させ、信号が出力されるごとに、指定した信号数に応じて生成された補間モーションデータのうち最新のものを抽出して、所定のタイミングで表示させればよい。これにより、請求項4に記載の発明の効果に加えて、楽音のデータにテンポを表す信号が組み込まれていない場合や、信号数を任意に設定したい場合にも、画像オブジェクトと楽音の高精度な同期を実現することができる。
【0024】
また、請求項6に係る発明の画像生成装置では、楽音のMIDIシーケンスデータに含まれるビートクロック信号の数に応じて補間モーションデータが生成されている。この場合、MIDIシーケンスデータに基づいて楽音が1拍分再生されるのと同時に、データに組み込まれたビートクロック信号も出力されるため、信号出力に合わせて、補間モーションデータのうち最新のものを抽出して、所定のタイミングで表示させることができる。したがって、請求項4に記載の発明の効果に加えて、画像オブジェクトの動きと楽音を容易に同期させることができる。
【0025】
また、請求項7に係る発明の画像生成装置は、固有のMIDIビートクロック信号の数を有するシーケンサー等のMIDI機器を備えている。この場合、MIDI機器に固有の信号数に応じて生成された補間モーションデータを、MIDI機器が楽音の再生に伴って信号を出力するごとに抽出して、所定のタイミングで表示させることができる。したがって、請求項4に記載の発明の効果に加えて、画像オブジェクトの動きと楽音を容易に同期させることができる。
【0026】
さらに、請求項8に係る発明の画像生成プログラムは、請求項1〜7のいずれかに記載の画像生成装置の各種処理手段としてコンピュータを機能させることができる。したがって、請求項1〜7のいずれかに記載の発明の効果を奏することができる。
【0027】
また、請求項9に係る発明のデータ補間装置は、予め取得したオリジナルモーションデータを、楽音のテンポを表す信号の数に応じて補間することにより、補間モーションデータを生成する。したがって、楽音と合わせて表示させたときに、楽音と高精度に同期することができる補間モーションデータを生成することができる。
【0028】
また、請求項10に係る発明のデータ補間装置は、線形補間を用いて、オリジナルモーションデータから補間モーションデータを生成するので、請求項9に記載の発明の構成に加えて、簡便な方法で補間モーションデータを得ることができる。
【0029】
また、請求項11に係る発明のデータ補間装置では、楽音のテンポを表す信号は、1拍中に所定数(例えば、24個)が出力されるMIDIビートクロック信号である。すなわち、MIDIビートクロック信号は、1拍よりも短い間隔で出力されるので、請求項9または10に記載の発明の効果に加えて、表示される画像オブジェクトの動きに、楽音のテンポの変化をより正確に反映させることができる。
【0030】
また、請求項12に係る発明のデータ補間装置では、MIDIビートクロック信号の数を指定することができる。この場合、MIDI機器により楽音が1拍分再生される間に指定された数の信号を出力させ、信号が出力されるごとに、指定した信号数に応じて生成された補間モーションデータのうち最新のものを抽出して、所定のタイミングで表示させればよい。これにより、請求項11に記載の発明の効果に加えて、楽音のデータにテンポを表す信号が組み込まれていない場合や、信号数を任意に設定したい場合にも、楽音と高精度に同期させることが可能な補間モーションデータを生成することができる。
【0031】
また、請求項13に係る発明のデータ補間装置では、楽音のMIDIシーケンスデータに含まれるビートクロック信号の数に応じて補間モーションデータが生成されている。この場合、MIDIシーケンスデータに基づいて楽音が1拍分再生されるのと同時に、データに組み込まれたビートクロック信号も出力されるため、信号出力に合わせて、補間モーションデータのうち最新のものを抽出して、所定のタイミングで表示させることができる。したがって、請求項11に記載の発明の効果に加えて、画像オブジェクトの動きと楽音を容易に同期させることができる。
【0032】
また、請求項14に係る発明のデータ補間プログラムは、請求項9〜13のいずれかに記載のデータ補間装置の各種処理手段としてコンピュータを機能させることができる。したがって、請求項9〜13のいずれかに記載の発明の効果を奏することができる。
【発明を実施するための最良の形態】
【0033】
以下、本発明を具体化した画像生成装置およびデータ補間装置の実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
【0034】
<第1の実施形態>
まず、図1〜図15を参照して、本発明の第1の実施形態に係る画像生成装置100について説明する。第1の実施形態に係る画像生成装置100は、予め記憶されている画像オブジェクトのモーションデータを、1拍中に出力されるMIDIビートクロック信号の数に応じて線形補間し、これによって得られた補間モーションデータを、楽音の再生に合わせて所定のタイミングで表示するものである。
【0035】
最初に図1を参照して、第1の実施形態に係る画像生成装置100の電気的構成について説明する。図1は、画像生成装置100の電気的構成を示すブロック図である。図1に示すように、画像生成装置100は、CPU101と、CPU101にそれぞれ接続されたROM102およびRAM103を備えている。CPU101には他に、入出力(I/O)インタフェイス104が接続されており、入出力インタフェイス104には、音声出力装置122が接続されたシンセサイザー121、データバッファ131、ディスプレイ132および記憶装置110が接続されている。
【0036】
CPU101は、ROM102に予め格納されたプログラムを読み出して実行することにより、画像生成装置100全体の制御を司る。RAM103は、CPU101が各種処理の際使用する各種データを一時的に記憶する記憶エリア等を備えている。入出力インタフェイス104は、データの受け渡しの仲介を行うものである。
【0037】
シンセサイザー121は、後述するMIDIシーケンサー113の指示に従って電子的手法により楽音等の音を合成する電子楽器であり、シンセサイザー121により合成された信号を音声出力装置122が出力することにより、楽音等の音が再生される。
【0038】
データバッファ131は、適切なタイミングでディスプレイ132に画像の表示を行うために、表示するデータを一時的に記憶しておく記憶装置である。
【0039】
記憶装置110は、複数の記憶エリアを備えており、そのうち2つには、後に詳述する補間モーションデータ生成プログラム111と、モーションデータ表示プログラム112とがそれぞれ格納されている。また、記憶装置110は、MIDI(Musical Instrument Digital Inerface)シーケンサー113を備えている。MIDIシーケンサー113は、MIDI規格に基づくMIDIシーケンスデータ(以下、MIDIデータという)として入力された楽音の演奏情報に基づき、楽音を自動的にシンセサイザー121等の電子楽器に演奏させるソフトウェアである。また、記憶装置110は、モデル記憶エリア114、モーション記憶エリア115、補間モーション記憶エリア116、およびMIDIデータ記憶エリア118を備えている。モデル記憶エリア114には、ディスプレイ132に表示される画像オブジェクトの形状や構成パーツのリンク等を表すモデルデータが記憶される。モーション記憶エリア115には、画像オブジェクトの動きを表すモーションデータが記憶される。また、補間モーション記憶エリア116には後述のようにモーション記憶エリア115に記憶されたモーションデータを線形補間することにより生成される、補間モーションデータが記憶される。また、MIDIデータ記憶エリア118には、画像オブジェクトの表示と合わせて再生される楽音のMIDIデータが記憶されている。
【0040】
ここで、モデル記憶エリア114に記憶されている画像オブジェクトのモデルデータの内容について、図2〜図5を参照して説明する。図2は、画像オブジェクトの説明図である。図3は、形状データの説明図である。図4は、図2の画像オブジェクトの関節のリンクを表す説明図である。図5は、リンクデータの説明図である。
【0041】
図2のポリゴンで表示される人体の画像オブジェクト(人体モデル)は、例えば、特許文献1に記載されているように、図3に示す形状データと、図4に黒丸で示す関節のリンクデータ(図5)とから構成されている。図3に示すように、形状データは、顔、胴等の身体の各パーツの形状を定義したファイルである。そして、各パーツごとに、頂点、面、表面のテクスチャ等のデータを備えている。また、図4に示す人体モデルの関節のリンクデータは、図5に示すように、骨盤を頂点として、例えば、腰、右股、右膝、右踝、右爪先といったように、身体の各パーツの関節が階層的につながった構造を有する。各パーツは、その上位にあるパーツとの相対的な位置により規定される。したがって、階層構造の頂点にある骨盤の仮想空間上の三次元位置(座標)が与えられれば、その他の関節やパーツの位置が定まることになる。
【0042】
次に、モーション記憶エリア115に記憶されているモーションデータの内容について、前出の図5と、図6とを参照して説明する。図6は、モーションデータの説明図である。人体モデルの動きは、例えば、特許文献1に記載されているように、図5に示す人体モデルの各関節について、図6に示すように時系列で関節角を変化させることにより、人体モデルの一連の動きを表すモーションデータとして定義することができる。図6の各時刻における各関節の関節角のデータの集合をフレームデータという。すなわち、人体モデルの一連の動きを表すモーションデータは、複数のフレームデータから構成されたものである。なお、モーション記憶エリア115に記憶されるモーションデータは、別途、公知の技術であるモーションキャプチャ等を用いて予め作成することができる。本実施形態では、モーション記憶エリア115に記憶されているモーションデータを、オリジナルモーションデータというものとする。
【0043】
次に、MIDIデータ記憶エリア118に記憶されたMIDIデータについて説明する。MIDIデータは、楽音の演奏に関する情報を、MIDI規格に基づいて、SMF(Standard MIDI File)1形式で記載したもので、1つの「ヘッダ」と複数の「トラック」とから構成されている。「ヘッダ」は、ファイルのフォーマット、トラック数等の基本的な情報を格納し、「トラック」は、実際の演奏データとそれに付随する情報を格納するものである。なお、「トラック」が複数設けられるのは、通常の楽曲は、例えばメロディーと伴奏、バイオリンと管楽器と打楽器、といったように、複数のパートが同時に演奏されるため、これらを各パート毎に処理するためである。実際の演奏データとそれに付随する情報とは、具体的には、音符(鍵盤をどのように演奏したか)の情報、音色の情報、テンポを指定する情報等である。音符の情報とは、例えば、鍵盤を押さえたり離したりするタイミングを示す情報や、どの鍵盤を演奏したか、どれくらいの強さで演奏したかといった情報である。音色の情報とは、電子楽器の音源に内蔵されている楽器音色を指定する情報等である。テンポを指定する情報は、BPM(Beat Per Minute)、すなわち、1分間あたりの拍数で指定されている。例えば、120BPMであれば、1分間に120拍の速さで演奏されることを意味する。
【0044】
また、MIDIデータには、MIDIビートクロック信号の出力タイミングが含まれる場合もある。これについて、図7を参照して説明する。図7は、MIDIビートクロック信号の出力タイミングの説明図である。MIDIビートクロック信号とは、MIDI規格において、楽音が1拍分再生される間に特定の数(例えば、24個)だけ出力されるタイミング信号で、例えば、図7のデータが、SMF1ファイルにおいて曲全体の情報を格納する最初のトラックに記憶されている。図7のリストにおいて、「L1」は、曲中の小節の番号を示し、「L2」は、その小節中の拍の番号を示し、「L3」はティックを示す。ティックとは、MIDI規格における時間の最小単位で、図7の例では、1拍が480に分解された長さである。また、「Type」は、鍵盤演奏の情報や、音色の情報等を表すMIDIメッセージの種類を、「Value1」は、MIDIメッセージの番号を、「Value2」は、番号に対して指定された値を示している。ここで、MIDIメッセージの「コントロール番号60番0」は、L1の示す小節、L2の示す拍において、L3のティックの数が示す時に、パルス信号を1つ出力することを意味する。これがMIDIビートクロック信号である。MIDIデータ記憶エリア118に記憶された楽音のMIDIデータには、その曲を構成する小節分、「コントロール番号60番0」のデータが入力されている。図7の例では、枠線で囲むB24で示す行までの24行(図中のA1)が第2小節の1拍目を構成しており、1拍の間楽音が再生されると、20ティックごとに24個のビートクロック信号が出力されることを示している。なお、例えば、このMIDIデータに設定された楽音のテンポが120BPMであるとすると、1拍あたりの時間長は60/120=500msecであるから、ビートクロック信号の出力間隔は、通常の時間に換算すれば、約21msecである。
【0045】
以下、図8〜図11を用いて、記憶装置110に記憶され、CPU101によって実行される補間モーションデータ生成プログラム111の処理の流れについて説明する。この処理は、オリジナルモーションデータを構成するフレームデータを、1拍中に出力されるMIDIビートクロック信号の数に応じた数のフレームデータに変換するものである。図8は、補間モーションデータ生成プログラム111によって実行される処理のフローチャートである。図9は、補間モーションデータ生成過程の説明図である。図10は、人体モデルのある時点のモーションデータの説明図である。図11は、補間されたモーションデータの説明図である。
【0046】
図8に示す補間モーションデータ生成処理は、画像生成装置100において、補間モーションデータ生成プログラム111が起動されると開始される。処理が開始されると、CPU101はまず、モーション記憶エリア115に記憶されているオリジナルモーションデータ(例えば、図6に示すデータ)をRAM102に取得する(S11)。
【0047】
続いてCPU101は、1拍中に出力されるMIDIビートクロック信号の数を、RAM102に取得する(S12)。MIDIビートクロック信号は、MIDIシーケンサー113等のMIDI機器が自身に内蔵されたクロックに基づいて発信する場合や、ユーザが指定したタイミングで外部のMIDI機器から受信する場合がある。また、MIDIデータ記憶エリア118に記憶された楽音のMIDIデータにタイミング情報として組み込まれている場合もある。本実施形態では、図8に示すように、MIDIデータ記憶エリア118に記憶されたMIDIデータに、ビートクロック信号の出力タイミングが定義されている。よって、本実施形態では、CPU101は、MIDIデータを参照して、1拍中に出力されるビートクロック信号の数である「24」を、RAM102に取得して記憶させる(S12)。
【0048】
次にCPU101は、モーション記憶エリア115からRAM102に取得したオリジナルモーションデータを、1拍中に出力されるビートクロック信号数に応じて線形補間することにより、補間モーションデータを生成する(S13)。ここで、補間モーションデータの具体的な生成方法について、図9を例に挙げて説明する。なお、図9において、横方向に伸びる直線は時間の経過を表し、黒丸の間は、1拍の長さを示している。図9に示すように、4拍分の長さの一連の動きを表すオリジナルモーションデータが予め作成され、モーション記憶エリア115に記憶されているとする。オリジナルモーションデータは、ある一定のテンポの下で、ディスプレイ132に表示できる数(例えば1秒30フレーム=30fps)分作成されたフレームデータ(図6参照)から構成されている。図9のオリジナルモーションデータは、一律180BPMで4拍分のデータとして、合計40のフレームデータが作成されている。なお、図9では、便宜上、1目盛が2フレームを表している。これを、ビートクロック信号の数に合わせて、1拍中に24のフレームデータが含まれるように、公知の方法で線形補間し、4拍分で96のフレームデータを作成する。線形補間とは点と点の間を線で結ぶ補間方式であり、例えば、図4に黒丸で関節を示す人体モデルのフレームデータと、図10に示すフレームデータを線形補間すると、各関節について、動きの前後2点間が線形補間され、図11のように、中間の動きを示すフレームデータが得られる。こうして生成された補間モーションデータは、記憶装置110の補間モーション記憶エリア116に記憶され(S14)、処理が終了する。
【0049】
以下、図12〜図15を用いて、記憶装置110に記憶され、CPU101によって実行されるモーションデータ表示プログラム112の処理の流れについて説明する。この処理は、前述のように生成された補間モーションデータを、楽音の再生に合わせて所定のタイミングでディスプレイ132に表示させるものである。図12は、モーションデータ表示プログラム112によって実行される処理のフローチャートである。図13は、楽音のテンポの変化を示す説明図である。図14は、補間モーションデータが表示されるまでの過程の説明図である。図15は、曲とモーションのテンポの変化の説明図である。
【0050】
図12に示すモーションデータ表示処理は、画像生成装置100において、モーションデータ表示プログラム112が起動されると開始される。処理が開始されると、CPU101はまず、補間モーション記憶エリア116に記憶された補間モーションデータを構成するフレームデータのうち、最初のフレームデータを取得し(S21)、データバッファ131に上書き出力する(S22)。続いて、そのときフレーム表示タイミングか否かを判断する(S23)。1秒間にディスプレイ132に表示できるフレームデータの数には限界があり、本実施形態では、30fpsである。よって、1秒を30で均等に割ったタイミングが、フレーム表示タイミングとして設定され、記憶装置110の記憶エリアの1つ(図示外)に記憶されている。CPU101は、これを参照して、フレーム表示タイミングでないと判断した場合は(S23:NO)、MIDIシーケンサー113から、新たなビートクロック信号を受信したか否かを判断する(S24)。前述のように、本実施形態では、ビートクロック信号の出力タイミングがMIDIデータに組み込まれているので、MIDIシーケンサー113がMIDIデータ記憶エリア118に記憶されたMIDIデータに基づいて楽音を再生するのと同時に、ビートクロック信号が出力される。新たなビートクロック信号を受信していなければ(S24:NO)、CPU101はフレーム表示タイミングか否かの監視に戻る(S23)。新たなビートクロック信号を受信した場合は(S24:YES)、CPU101は、補間モーション記憶エリア116に記憶された補間モーションデータを構成するフレームデータのうち、受信したビートクロック信号に対応するフレームデータを取得し(S21)、データバッファ131に上書き出力する(S22)。前述したように、補間モーションデータは、1拍分の動きが24のフレームデータによって構成されている。一方、ビートクロック信号も、MIDIデータの再生に伴って1拍に24個が出力される。よって、CPU101は、新たなビートクロック信号を受信するたびに、補間モーション記憶エリア116に記憶された補間モーションデータを構成するフレームデータ(補間フレームデータ)を、最初から順に1つずつ取得して上書きを行えばよい。この結果、データバッファ131には、楽音の再生の進行に合わせて、対応する最新の補間フレームデータが記憶されていることになる。データバッファ131に最新の補間フレームデータを上書きすると(S22)、CPU101は、再びそのときフレーム表示タイミングか否かを判断する(S23)。そして、フレーム表示タイミングでなければ(S23:NO)、再びビートクロック信号を受信したか否かの監視に戻る(S24)。
【0051】
最初の補間フレームデータ、または受信したMIDIビートクロック信号に対応する補間フレームデータがデータバッファ131に記憶された後(S22)、フレーム表示タイミングであると判断された場合は(S23:YES)、その時点でデータバッファ131に記憶されている補間フレームデータをディスプレイ132に表示させる(S25)。そして、MIDIデータとして記憶された曲がMIDIシーケンサー113により最後まで演奏され、CPU101が終了信号を受信した場合、または、モーションデータ表示プログラム112に対する終了命令を受信した場合は(S26:YES)、処理を終了する。演奏が終了しておらず、終了命令も受信しない場合は(S26:NO)、CPU101は、ビートクロック信号を受信したか否かの監視に戻る(S24)。
【0052】
以下、前述のモーションデータ表示処理の具体例について説明する。図13のように、4拍の間に曲のテンポが、例えば60BPMから120BPMに、徐々に速くなって、1拍の間隔が短くなっていく場合を考える。図14に示すように、補間モーション記憶エリア116に記憶された補間モーションデータは、テンポが180BPMで一定という条件で、1拍の間の動きを線形補間して得た24個の補間フレームデータから構成されている(図中では、1目盛が2フレームを示す)。図13に示すテンポで曲が再生されると、図14のバッファの書き出しデータとして示すように、テンポの変化に応じて1拍の長さが徐々に短くなるので、それに伴って、1拍を24等分したビートクロック信号の出力間隔も1拍毎に短くなる。前述のように、ビートクロック信号の出力に合わせて、対応する補間フレームデータがデータバッファ131に書き出されるので、補間フレームデータと書き出されたフレームデータ(書き出しデータ)との対応関係は、図14に示すようになる。このように、同じ4拍分のデータでも、テンポが異なると、時間長は異なってくる。そして、最終的にディスプレイ132に表示されるフレームデータ(表示データ)は、各フレーム表示タイミングにおいて、データバッファ131に記憶されている書き出しデータである。よって、図14に示すように、最初の3つの表示データは、データバッファ131に書き出された最初の3つの書き出しデータに対応するが、4番目の表示データは、データバッファ131に4番目に書き出された書き出しデータではなく、5番目の書き出しデータに対応している。
【0053】
図15は、この例における曲のテンポとモーションのテンポの変化の関係を示している。図15から明らかなように、本実施形態に係る画像生成装置100によれば、曲のテンポに合わせてモーションのテンポも滑らかに変化していく。
【0054】
以上説明したように、本実施形態では、画像オブジェクトのモーションデータを、1拍中に24個が出力されるMIDIビートクロック信号の数に合わせて線形補間し、補間フレームデータを生成する。そして、楽音の再生とともにビートクロック信号が出力されるのに合わせて、補間フレームデータをデータバッファ131に書き出し、フレーム出力タイミングになると、データバッファ131に記憶された最新の補間フレームデータを表示する。ビートクロック信号の出力間隔は、楽音のテンポの変化に応じて変化するので、楽音の再生中のどの時点においても、楽音とモーションを同期させることができる。しかも、ビートクロック信号は1拍の間に24個が出力されるため、1拍毎にモーションを同期させた場合に比べ、はるかに滑らかな画像オブジェクトの動きを実現することができる。
【0055】
なお、本実施形態では、ディスプレイ132が、本発明の「表示手段」に相当する。また、図8のS13において、補間モーションデータを生成するCPU101が、本発明の「補間モーションデータ生成手段」に相当する。また、記憶装置110の補間モーション記憶エリア116が、本発明の「補間モーションデータ記憶手段」に相当する。また、データバッファ131が、本発明の「補間フレームデータ記憶手段」に相当する。また、図12のS24、S21〜S22で、ビートクロック信号を受信する毎に、データバッファ131に補間フレームデータを上書き出力するCPU101が、本発明の「補間フレームデータ出力手段」に相当する。また、図12のS23およびS25において、フレーム表示タイミングにディスプレイ132に画像を表示させるCPU101が、本発明の「表示制御手段」に相当する。また、図8のS11において、モーション記憶エリア115からオリジナルモーションデータを取得するCPU101が、本発明の「データ取得手段」に相当する。
【0056】
<第2の実施形態>
第1の実施形態では、1つの装置である画像生成装置100において、補間モーションデータの生成と、楽音に合わせたモーションデータの表示とを行っていたが、これらを別個の装置で行う構成とすることもできる。この場合を第2の実施形態として、図16および図17を参照して、以下に説明する。図16は、第2の実施形態に係るデータ補間装置200の電気的構成を示すブロック図である。図17は、第2の実施形態に係る画像生成装置300の電気的構成を示すブロック図である。
【0057】
図16に示すように、補間モーションデータの生成を行うデータ補間装置200は、CPU201と、CPU201にそれぞれ接続されたROM202およびRAM203を備えている。CPU201には他に、入出力(I/O)インタフェイス204が接続されており、入出力インタフェイス204には、記憶装置210が接続されている。
【0058】
記憶装置200は複数の記憶エリアを備え、その1つには、補間モーションデータ生成プログラム211が格納されている。記憶装置200は、第1の実施形態と同様の、画像オブジェクトのモデルデータを記憶するモデル記憶エリア214と、画像オブジェクトのモーションデータを記憶するモーション記憶エリア215と、補間モーションデータを記憶する補間モーション記憶エリア216を備えている。そして、本実施形態ではさらに、ユーザが指定したビートクロック信号の数を記憶するビートクロック信号数記憶エリア217を備えている。本実施形態では、後述する画像生成装置300が備えるMIDIシーケンサー313の内部クロックの信号出力タイミングに合わせた数字(例えば24)がユーザによってキーボード等の入力手段(図示外)から指定され、ビートクロック信号数記憶エリア217に記憶される。
【0059】
CPU201が実行する補間モーションデータ生成プログラム211の処理は、基本的には図8に示す第1の実施形態の処理と同様であるが、S12において若干異なる。第1の実施形態では、記憶装置110のMIDIデータ記憶エリア118に記憶されたMIDIデータに、ビートクロック信号の出力タイミングが組み込まれていたので、S12では、CPU101は、MIDIデータを参照してビートクロック信号の数を取得していた。一方、本実施形態では、データ補間装置200には楽音のMIDIデータは記憶されておらず、S12では、CPU101がビートクロック信号数記憶エリア217に記憶された数(例えば24)を取得し、その数に応じて補間モーションデータを生成する(S13)。
【0060】
また、図17に示すように、楽音に合わせたモーションデータの表示を行う画像生成装置300は、CPU301と、CPU301にそれぞれ接続されたROM302およびRAM303を備えている。CPU301には他に、入出力(I/O)インタフェイス304が接続されており、入出力インタフェイス304には、音声出力装置322が接続されたシンセサイザー321、データバッファ331、ディスプレイ332および記憶装置310が接続されている。記憶装置310以外、画像生成装置300の構成は、第1の実施形態に係る画像生成装置100と同一である。
【0061】
記憶装置310は複数の記憶エリアを備え、そのうちの2つには、第1の実施形態と同じモーションデータ表示プログラム312と、MIDIシーケンサー313とが格納されている。記憶装置310は、他に、補間モーションデータを記憶する補間モーション記憶エリア316と、楽音のMIDIデータを記憶するMIDIデータ記憶エリア318を備えている。補間モーション記憶エリア316には、予め別途生成された補間モーションデータが入力され、記憶されている。また、本実施形態では、MIDIデータ記憶エリア318に記憶されているMIDIデータには、第1の実施形態とは異なり、ビートクロック信号の出力タイミングに関するデータは組み込まれていない。代わりに、MIDIシーケンサー313の内部クロックをタイミングクロックとして、楽音の再生と同時に、MIDIシーケンサー313からビートクロック信号が出力される構成とされている。
【0062】
CPU201が実行するモーションデータ表示プログラム312の処理は、基本的には図12に示す第1の実施形態の処理と同様である。ただし、S24の判断対象となるMIDIビートクロック信号が、MIDIデータに組み込まれたものではなく、MIDIシーケンサー313の内部クロックに従って出力されたものである点で異なっている。また、S21において取得される、補間モーション記憶エリア316に記憶された補間モーションデータは、データ補間装置200で別途生成されたデータでもよいし、その他の方法でMIDIシーケンサー313の内部クロックの信号出力タイミングに合わせて必要な数だけ生成されたデータでもよい。
【0063】
以上説明したように、本実施形態では、オリジナルモーションデータから補間モーションデータの生成過程と、補間モーションデータを最終モーションデータとしてディスプレイ332に表示させる過程を、別々の装置で行っている。したがって、1拍中に出力されるビートクロック信号の数に応じて生成した補間モーションデータさえあれば、画像生成装置300において、楽音に高精度に同期した画像オブジェクトの表示を行うことができる。データ補間装置200では、この補間モーションデータを容易に生成することができ、便利である。
【0064】
なお、本実施形態では、ディスプレイ332が、本発明の「表示手段」に相当する。また、図8のS13において、補間モーションデータを生成するCPU101が、本発明の「補間モーションデータ生成手段」に相当する。また、補間モーション記憶エリア216および316が、本発明の「補間モーションデータ記憶手段」に相当する。また、データバッファ331が、本発明の「補間フレームデータ記憶手段」に相当する。また、図12のS24、S21〜S22で、ビートクロック信号を受信する毎に、データバッファ331に補間フレームデータを上書き出力するCPU101が、本発明の「補間フレームデータ出力手段」に相当する。また、図12のS23とS25において、フレーム表示タイミングにディスプレイ332に画像を表示させるCPU101が、本発明の「表示制御手段」に相当する。また、図8のS12において、ビートクロック信号数記憶エリア217に記憶された数に基づきビートクロック信号の数を指定するCPU101が、本発明の「信号数指定手段」に相当する。また、図8のS11において、モーション記憶エリア215からオリジナルモーションデータを取得するCPU101が、本発明の「データ取得手段」に相当する。
【0065】
なお、本発明は、前述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において各種の変形が可能なことは言うまでもない。例えば、実施形態では、1拍中に出力されるビートクロック信号の数を24として説明したが、この数は、曲のテンポが遅い場合には48にするなどの変更が可能である。また、画像のフレーム表示タイミングについても、30fpsを例としたが、他の数であってもよいことはもちろんである。
【図面の簡単な説明】
【0066】
【図1】画像生成装置100のブロック図である。
【図2】画像オブジェクト(人体モデル)の一例の説明図である。
【図3】形状データの説明図である。
【図4】人体モデルの関節のリンクを表す説明図である。
【図5】リンクデータの説明図である。
【図6】モーションデータの説明図である。
【図7】MIDIビートクロック信号の出力タイミングの説明図である。
【図8】補間モーションデータ生成プログラム111によって実行される処理のフローチャートである。
【図9】補間モーションデータ生成過程の説明図である。
【図10】人体モデルのある時点のモーションデータの説明図である。
【図11】補間されたモーションデータの説明図である。
【図12】モーションデータ表示プログラム112によって実行される処理のフローチャートである。
【図13】楽音のテンポの変化を示す説明図である。
【図14】補間モーションデータが表示されるまでの過程の説明図である。
【図15】楽音とモーションのテンポの変化の説明図である。
【図16】データ補間装置200のブロック図である。
【図17】画像生成装置300のブロック図である。
【符号の説明】
【0067】
100、300 画像生成装置
101、201、301 CPU
110 記憶装置
116 補間モーション記憶エリア
131 データバッファ
132、332 ディスプレイ

【特許請求の範囲】
【請求項1】
一連のフレームデータから構成されるモーションデータによって、画像オブジェクトの動きを表示する画像生成装置において、
前記画像オブジェクトを表示する表示手段と、
前記モーションデータ生成の基礎とするために予め取得したオリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって補間フレームデータを生成し、前記補間フレームデータから構成される補間モーションデータを生成する補間モーションデータ生成手段と、
前記補間モーションデータ生成手段によって生成された補間モーションデータを記憶する補間モーションデータ記憶手段と、
前記補間モーションデータを構成する前記補間フレームデータを記憶する補間フレームデータ記憶手段と、
前記楽音の再生に伴って発せられる前記信号を受信する毎に、前記補間モーションデータ記憶手段に記憶された前記補間モーションデータから前記信号に対応する前記補間フレームデータを抽出し、前記補間フレームデータ記憶手段に出力して記憶させる補間フレームデータ出力手段と、
前記補間フレームデータ記憶手段に記憶された前記補間フレームデータを所定のタイミングで取得し、前記画像オブジェクトの前記フレームデータとして前記表示手段に表示させる表示制御手段とを備えたことを特徴とする画像生成装置。
【請求項2】
前記補間モーションデータ生成手段は、前記オリジナルモーションデータを構成するオリジナルフレームデータを、前記信号の数に応じて線形補間することにより、前記補間フレームデータからなる前記補間モーションデータを生成することを特徴とする請求項1に記載の画像生成装置。
【請求項3】
一連のフレームデータから構成されるモーションデータによって、画像オブジェクトの動きを表示する画像生成装置において、
前記モーションデータ作成の基礎とするために予め取得したオリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって生成された補間フレームデータを、補間モーションデータとして記憶する補間モーションデータ記憶手段と、
前記補間モーションデータを構成する前記補間フレームデータを記憶する補間フレームデータ記憶手段と、
前記楽音の再生に伴って発せられる前記信号を受信する毎に、前記補間モーションデータ記憶手段に記憶された前記補間モーションデータから前記信号に対応する前記補間フレームデータを抽出し、前記補間フレームデータ記憶手段に出力して記憶させる補間フレームデータ出力手段と、
前記補間フレームデータ記憶手段に記憶された前記補間フレームデータを所定のタイミングで取得し、前記画像オブジェクトの前記フレームデータとして表示手段に表示させる表示制御手段とを備えたことを特徴とする画像生成装置。
【請求項4】
前記信号は、MIDI(Musical Instrument Digital Interface)ビートクロック信号であることを特徴とする請求項1〜3のいずれかに記載の画像生成装置。
【請求項5】
前記MIDIビートクロック信号の数を指定する信号数指定手段をさらに備えたことを特徴とする請求項4に記載の画像生成装置。
【請求項6】
前記信号は、MIDIシーケンスデータに組み込まれた信号であることを特徴とする請求項4に記載の画像生成装置。
【請求項7】
MIDI機器をさらに備え、
前記MIDIビートクロック信号の数は、前記MIDI機器に固有の数であることを特徴とする請求項4に記載の画像生成装置。
【請求項8】
請求項1〜7のいずれかに記載の画像生成装置の各種処理手段としてコンピュータを機能させるための画像生成プログラム。
【請求項9】
フレームデータから構成され、画像オブジェクトの動きを定義するモーションデータを最終的に生成するための補間モーションデータを生成するデータ補間装置において、
前記モーションデータ生成の基礎とするために、オリジナルフレームデータからなるオリジナルモーションデータを取得するデータ取得手段と、
前記データ取得手段によって取得された前記オリジナルモーションデータを楽音のテンポを表す信号の数に応じて補間することによって補間フレームデータを生成し、前記補間フレームデータから構成される補間モーションデータを生成する補間モーションデータ生成手段とを備えたことを特徴とするデータ補間装置。
【請求項10】
前記補間モーションデータ生成手段は、前記オリジナルフレームデータを、前記楽音のテンポを表す前記信号の数に応じて線形補間することにより、前記補間フレームデータからなる前記補間モーションデータを生成することを特徴とする請求項9に記載のデータ補間装置。
【請求項11】
前記楽音のテンポを表す前記信号は、MIDIビートクロック信号であることを特徴とする請求項9または10に記載のデータ補間装置。
【請求項12】
前記MIDIビートクロック信号の数を指定する信号数指定手段をさらに備えたことを特徴とする請求項11に記載のデータ補間装置。
【請求項13】
前記信号は、MIDIシーケンスデータに組み込まれた信号であることを特徴とする請求項11に記載のデータ補間装置。
【請求項14】
請求項9〜13のいずれかに記載のデータ補間装置の各種処理手段としてコンピュータを機能させるためのデータ補間プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2008−176679(P2008−176679A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−11112(P2007−11112)
【出願日】平成19年1月22日(2007.1.22)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【出願人】(396004833)株式会社エクシング (394)
【Fターム(参考)】