(57)【要約】【課題】仮想的な楽器セットの演奏操作時において誤作動を演奏動作として検出し発音することを防止することができる演奏装置及びプログラムを提供すること。【解決手段】演奏装置１は、演奏者に保持されるスティック部１０と、仮想平面上に設けられた複数の領域夫々に対して、当該複数の領域夫々に対応する音色を関連付けたレイアウト情報を記憶するＲＯＭ３２と、スティック部１０を被写体に含む撮像画像を連続して撮像するイメージセンサ部２４と、撮像された撮像画像のうち、最新の撮像画像と、所定フレーム前の撮像画像との差分画像を算出し、算出された差分画像に基づいて、スティック部１０の操作位置を検出するＣＰＵ２１と、ＲＯＭ３２を参照して、ＣＰＵ２１により検出された操作位置に対応する領域に関連付けられた音色を特定するＣＰＵ３１と、ＣＰＵ３１により特定された音色を発音する音源装置３６と、を備える。【選択図】図１０
2013190690.tif 000002
【特許請求の範囲】
【請求項１】
演奏者に保持される演奏部材と、
前記演奏部材を被写体とする撮像画像を連続して撮像する撮像手段と、
前記撮像画像平面上に設けられた複数の領域夫々の位置を含むレイアウト情報を記憶する記憶手段と、
前記撮像された撮像画像のうち、最新の撮像画像平面上における前記演奏部材の位置、及び当該最新の撮像画像より所定フレーム前の撮像画像平面上における前記演奏部材の位置を検出する位置検出手段と、
この位置検出手段により検出された２つの位置の差分が所定値以上である場合は前記最新の撮像画像平面上における前記演奏部材の位置を現在位置とするとともに、当該２つの位置の差分が所定値未満の場合は所定フレーム前の撮像画像平面上における前記演奏部材の位置を現在位置とする現在位置確定手段と、
前記位置検出手段により検出された２つの位置の差分が所定値以上である場合でかつ、前記現在位置確定手段で確定された現在位置が、前記記憶手段に記憶されたレイアウト情報により位置を定められた複数の領域のいずれかに含まれる場合に、当該前記現在位置を含む領域に対応する楽音の発音を指示する発音指示手段と、
を備えた演奏装置。
【請求項２】
演奏者に保持される演奏部材と、前記演奏部材を被写体とする撮像画像を連続して撮像する撮像手段と、前記撮像画像平面上に設けられた複数の領域夫々の位置を含むレイアウト情報を記憶する記憶手段と、を有する演奏装置に用いられるコンピュータに、
前記撮像された撮像画像のうち、最新の撮像画像平面上における前記演奏部材の位置、及び当該最新の撮像画像より所定フレーム前の撮像画像平面上における前記演奏部材の位置を検出する位置検出ステップと、
この検出された２つの位置の差分が所定値以上である場合は前記最新の撮像画像平面上における前記演奏部材の位置を現在位置とするとともに、当該２つの位置の差分が所定値未満の場合は所定フレーム前の撮像画像平面上における前記演奏部材の位置を現在位置とする現在位置確定ステップと、
前記検出された２つの位置の差分が所定値以上である場合でかつ、確定された前記現在位置が、前記記憶手段に記憶されたレイアウト情報により位置を定められた複数の領域のいずれかに含まれる場合に、当該前記現在位置を含む領域に対応する楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏装置及びプログラムに関する。
【背景技術】
【０００２】
従来、演奏者の演奏動作を検知すると、演奏動作に応じた電子音を発音する演奏装置が提案されている。例えば、センサを内蔵するスティック上の演奏部材のみで打楽器音を発音する演奏装置（エアドラム）が知られている。この演奏装置は、演奏者により、演奏部材を手で保持して振るといった、あたかもドラムを打撃するような演奏動作が行われたことに応じて、演奏部材に内蔵されたセンサを利用して演奏動作を検知し、打楽器音を発音する。
このような演奏装置によれば、現実の楽器を必要とせずに当該楽器の楽音を発音することができるため、演奏者は、演奏場所や演奏スペースの制約を受けずに演奏を楽しむことができる。
【０００３】
例えば、特許文献１には、演奏者のスティック状の演奏部材を用いた演奏動作を撮像すると共に、当該演奏動作の撮像画像と、楽器セットを示す仮想画像とを合成した合成画像をモニタに表示する楽器ゲーム装置が提案されている。この楽器ゲーム装置は、撮像画像における演奏部材の位置が複数の楽器エリアを有する仮想画像の中のいずれかの楽器エリアに入った場合、当該位置が入った楽器エリアに対応する音を発音する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３５９９１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の楽器ゲーム装置のように、楽器セットの各パーツを楽器エリアに関連付けておき、当該楽器エリアに基づいてのみ音を発生させる場合、演奏装置が、演奏者の意図しない動作を演奏動作として検出し、発音する可能性がある。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、仮想的な楽器セットの演奏操作時において演奏者の意図しない動作を演奏動作として検出し発音することを防止することができる演奏装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様の演奏装置は、演奏者に保持される演奏部材と、前記演奏部材を被写体とする撮像画像を連続して撮像する撮像手段と、前記撮像画像平面上に設けられた複数の領域夫々の位置を含むレイアウト情報を記憶する記憶手段と、前記撮像された撮像画像のうち、最新の撮像画像平面上における前記演奏部材の位置、及び当該最新の撮像画像より所定フレーム前の撮像画像平面上における前記演奏部材の位置を検出する位置検出手段と、この位置検出手段により検出された２つの位置の差分が所定値以上である場合は前記最新の撮像画像平面上における前記演奏部材の位置を現在位置とするとともに、当該２つの位置の差分が所定値未満の場合は所定フレーム前の撮像画像平面上における前記演奏部材の位置を現在位置とする現在位置確定手段と、前記位置検出手段により検出された２つの位置の差分が所定値以上である場合でかつ、前記現在位置確定手段で確定された現在位置が、前記記憶手段に記憶されたレイアウト情報により位置を定められた複数の領域のいずれかに含まれる場合に、当該前記現在位置を含む領域に対応する楽音の発音を指示することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、仮想的な楽器セットの演奏操作時において演奏者の意図しない動作を演奏動作として検出し発音することを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の演奏装置の一実施形態の概要を示す図である。
【図２】上記演奏装置を構成するスティック部のハードウェア構成を示すブロック図である。
【図３】上記スティック部の斜視図である。
【図４】上記演奏装置を構成するカメラユニット部のハードウェア構成を示すブロック図である。
【図５】上記演奏装置を構成するセンターユニット部のハードウェア構成を示すブロック図である。
【図６】本発明の演奏装置のセットレイアウト情報を示す図である。
【図７】上記セットレイアウト情報が示す概念を仮想平面上で可視化した図である。
【図８】上記スティック部の処理の流れを示すフローチャートである。
【図９】上記カメラユニット部の処理の流れを示すフローチャートである。
【図１０】上記センターユニット部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を用いて説明する。
【００１１】
［演奏装置１の概要］
初めに、図１を参照して、本発明の一実施形態としての演奏装置１の概要について説明する。
図１（１）に示すように、本実施形態の演奏装置１は、スティック部１０Ａ，１０Ｂと、カメラユニット部２０と、センターユニット部３０と、を含んで構成される。本実施形態の演奏装置１は、２本のスティックを用いた仮想的なドラム演奏を実現するため、２つのスティック部１０Ａ，１０Ｂを備えることとしているが、スティック部の数は、これに限られない。例えば、スティック部の数を１つとしたり、３つ以上としてもよい。なお、以下では、スティック部１０Ａ，１０Ｂを個々に区別する必要がない場合には、両者を総称して「スティック部１０」と呼ぶ。
【００１２】
スティック部１０は、長手方向に延びるスティック状の演奏部材である。演奏者は、スティック部１０の一端（根元側）を手に持ち、手首などを中心として振り上げたり振り下ろす動作を、演奏動作として行う。このような演奏者の演奏動作を検知するため、スティック部１０の他端（先端側）には、加速度センサ及び角速度センサなどの各種センサが設けられている（後述のモーションセンサ部１４）。スティック部１０は、これらの各種センサにより検知された演奏動作に基づいて、センターユニット部３０にノートオンイベントを送信する。
また、スティック部１０の先端側には、後述するマーカー部１５（図２参照）が設けられており、撮像時にカメラユニット部２０がスティック部１０の先端を判別可能に構成されている。
【００１３】
カメラユニット部２０は、光学式の撮像装置として構成される。このカメラユニット部２０は、スティック部１０を保持して演奏動作を行う演奏者を被写体として含む空間（以下、「撮像空間」と呼ぶ）を、所定のフレームレートで撮像し、動画像のデータとして出力する。カメラユニット部２０は、撮像空間内における発光中のマーカー部１５の位置座標を特定し、当該位置座標を示すデータ（以下、「位置座標データ」と呼ぶ）をセンターユニット部３０に送信する。
【００１４】
センターユニット部３０は、スティック部１０からノートオンイベントを受信すると、受信時のマーカー部１５の位置座標データに応じて、所定の楽音を発音する。具体的には、センターユニット部３０は、カメラユニット部２０の撮像空間に対応付けて、図１（２）に示す仮想ドラムセットＤの位置座標データを記憶しており、当該仮想ドラムセットＤの位置座標データと、ノートオンイベント受信時のマーカー部１５の位置座標データとに基づいて、スティック部１０が仮想的に打撃した楽器を特定し、当該楽器に対応する楽音を発音する。
【００１５】
また、センターユニット部３０は、スティック部１０において所定の操作が行われた場合に、受信時のマーカー部１５の位置座標データに応じて、所定の楽音を発音する。具体的には、センターユニット部３０は、カメラユニット部２０の撮像空間に対応付けて、仮想ドラムセットＤの構成楽器である仮想ウィンドチャイム９１の位置座標データを記憶しており、当該仮想ドラムセットＤの位置座標データに基づいて、スティック部１０が仮想的に打撃した仮想ウィンドチャイム９１の位置を特定し、当該位置に対応する楽音を発音する。
【００１６】
次に、このような本実施形態の演奏装置１の構成について具体的に説明する。
【００１７】
［演奏装置１の構成］
初めに、図２〜図５を参照して、本実施形態の演奏装置１の各構成要素、具体的には、スティック部１０、カメラユニット部２０及びセンターユニット部３０の構成について説明する。
【００１８】
［スティック部１０の構成］
図２は、スティック部１０のハードウェア構成を示すブロック図である。
図２に示すように、スティック部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、モーションセンサ部１４と、マーカー部１５と、データ通信部１６と、スイッチ操作検出回路１７と、を含んで構成される。
【００１９】
ＣＰＵ１１は、スティック部１０全体の制御を実行し、例えば、モーションセンサ部１４から出力されるセンサ値に基づいて、スティック部１０の姿勢の検知、ショット検出及びアクション検出に加え、マーカー部１５の発光・消灯などの制御を実行する。このとき、ＣＰＵ１１は、マーカー特徴情報をＲＯＭ１２から読み出し、当該マーカー特徴情報に従い、マーカー部１５の発光制御を実行する。また、ＣＰＵ１１は、データ通信部１６を介して、センターユニット部３０との間の通信制御を実行する。
【００２０】
ＲＯＭ１２は、ＣＰＵ１１により各種処理が実行されるための処理プログラムを格納する。また、ＲＯＭ１２は、マーカー部１５の発光制御に用いるマーカー特徴情報を格納する。マーカー特徴情報とは、スティック部１０Ａのマーカー部１５（以下、「第１マーカー」と適宜呼ぶ）と、スティック部１０Ｂのマーカー部１５（以下、「第２マーカー」と適宜呼ぶ）とを区別するための情報である。マーカー特徴情報には、例えば、発光時の形状、大きさ、色相、彩度、あるいは輝度に加え、発光時の点滅スピードなどを用いることができる。
ここで、スティック部１０ＡのＣＰＵ１１及びスティック部１０ＢのＣＰＵ１１は、スティック部１０Ａ、１０Ｂに夫々設けられたＲＯＭ１２から、夫々異なるマーカー特徴情報を読み出し、夫々のマーカーの発光制御を実行する。
【００２１】
ＲＡＭ１３は、モーションセンサ部１４が出力した各種センサ値など、処理において取得され又は生成された値を格納する。
【００２２】
モーションセンサ部１４は、スティック部１０の状態を検知するための各種センサであり、所定のセンサ値を出力する。ここで、モーションセンサ部１４を構成するセンサとしては、例えば、加速度センサ、角速度センサ及び磁気センサなどを用いることができる。
【００２３】
図３は、スティック部１０の斜視図であり、外部にはスイッチ部１７１とマーカー部１５が配置されている。
演奏者は、スティック部１０の一端（根元側）を保持し、手首などを中心とした振り上げ振り下ろし動作を行うことで、スティック部１０に対して運動を生じさせる。その際にこの運動に応じたセンサ値がモーションセンサ部１４から出力されるようになっている。
【００２４】
モーションセンサ部１４からのセンサ値を受け付けたＣＰＵ１１は、演奏者が持っているスティック部１０の状態を検知する。一例としては、ＣＰＵ１１は、スティック部１０による仮想的な楽器の打撃タイミング（以下、「ショットタイミング」とも呼ぶ）を検知する。ショットタイミングは、スティック部１０が振り下ろされてから停止される直前のタイミングであり、スティック部１０にかかる振り下ろし方向とは逆向きの加速度の大きさがある閾値を超えたタイミングである。
【００２５】
図２に戻り、マーカー部１５は、スティック部１０の先端側に設けられた発光体であり、例えばＬＥＤなどで構成される。マーカー部１５は、ＣＰＵ１１からの制御に応じて発光及び消灯する。具体的には、マーカー部１５は、ＣＰＵ１１によってＲＯＭ１２から読み出されたマーカー特徴情報に基づいて発光する。このとき、スティック部１０Ａのマーカー特徴情報と、スティック部１０Ｂのマーカー特徴情報とは異なるため、カメラユニット部２０は、スティック部１０Ａのマーカー部（第１マーカー）の位置座標と、スティック部１０Ｂのマーカー部（第２マーカー）の位置座標とを個々に区別し取得することができる。
【００２６】
データ通信部１６は、少なくともセンターユニット部３０との間で所定の無線通信を行う。データ通信部１６は、任意の方法で所定の無線通信を行うこととしてよく、本実施形態では、赤外線通信によりセンターユニット部３０との間での無線通信を行う。なお、データ通信部１６は、カメラユニット部２０との間で無線通信を行うこととしてもよい。また、スティック部１０Ａのデータ通信部１６と、スティック部１０Ｂのデータ通信部１６との間で無線通信を行うこととしてもよい。
【００２７】
スイッチ操作検出回路１７は、スイッチ１７１と接続され、当該スイッチ１７１を介した入力情報を受け付ける。入力情報としては、例えば、後述する仮想ウィンドチャイム９１の操作を行うためのトリガーとなる信号（以下、「ウィンドチャイム操作信号」と適宜呼ぶ）などが含まれる。ウィンドチャイム操作信号は、スティック部１０Ａ及びスティック部１０Ｂのいずれかのうち、予め定められた側のスイッチ１７１が押下されたことにより発信されるものとするが、スティック部１０Ａ及びスティック部１０Ｂのいずれか一方でスイッチ１７１が押下されたことにより発信されるようにしてもよい。
【００２８】
［カメラユニット部２０の構成］
スティック部１０の構成についての説明は、以上である。続いて、図４を参照して、カメラユニット部２０の構成について説明する。
図４は、カメラユニット部２０のハードウェア構成を示すブロック図である。
カメラユニット部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、イメージセンサ部２４と、データ通信部２５と、を含んで構成される。
【００２９】
ＣＰＵ２１は、カメラユニット部２０全体の制御を実行する。ＣＰＵ２１は、スティック部１０から、ウィンドチャイム操作信号を受信していない場合に、イメージセンサ部２４から取得した撮像データから、マーカー部１５の位置座標及びマーカー特徴情報を検出する。そして、ＣＰＵ２１は、検出したマーカー部１５の位置座標データ及びマーカー特徴情報に基づいて、スティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）の夫々の位置座標を算出し、夫々の算出結果を示す位置座標データを出力する制御を実行する。
【００３０】
また、ＣＰＵ２１は、スティック部１０から、ウィンドチャイム操作信号を受信している場合に、イメージセンサ部２４により撮像された複数の撮像データに基づいて、マーカー部１５の操作位置が移動したことを検出する。すなわち、ＣＰＵ２１は、イメージセンサ部２４から取得した撮像データについて、明度、色相及び／又は彩度などの情報に基づいて、マーカー位置候補点を決定するための２値撮像データを作成し、この２値撮像データをＲＡＭ２３に出力する。続いて、ＣＰＵ２１は、最新の撮像データの所定フレーム前の撮像データから作成された２値撮像データを、ＲＡＭ２３から取得する。続いて、ＣＰＵ２１は、最新の撮像データから作成された２値撮像データと、所定フレーム前の撮像データから作成された２値撮像データとの差分データ（差分画像）を算出する。ここで、差分データにおいて差異がある領域は、他の領域の色（例えば、黒色）と比べて異なる色（マーカーの発行色）となる。以下、差異がある領域を差分領域とも呼ぶ。
【００３１】
続いて、ＣＰＵ２１は、差分データにおける差分領域の面積が所定量以上の場合、当該差分画像に基づいてマーカー部１５の操作位置を検出し、当該差分領域の面積が所定量未満の場合、前回検出された操作位置を現在の操作位置とする。具体的には、ＣＰＵ２１は、差分データにおける差分領域のうち、所定量未満の面積（例えば、数ピクセル未満）の差分領域を除去する処理、すなわち、他の領域の色（例えば、黒色）と同一の色とする処理を行う。ここで、所定量は、予め定められているものとする。以下、除去される差分領域、すなわち、所定量未満の面積の差分領域を微小差分領域という。微小差分領域は、例えば、演奏者がリズムをとる場合のスティック部１０の微小な揺れにより生じる領域である。微小差分領域を除去する処理が行われた後の差分データには、所定量以上の面積の差分領域のみが残存する。この差分領域は、例えば、演奏者が意図的にウィンドチャイムの位置をなぞる操作をした場合に生じる領域である。ＣＰＵ２１は、微小差分領域を除去する処理が行われた後の差分データに含まれている差分領域（所定量以上の面積の差分領域）に基づいて、マーカー部１５の操作位置が移動したこと、及び現在の操作位置を検出する。他方、微小差分領域を除去する処理が行われた後の差分データに差分領域が残存していない場合には、ＣＰＵ２１は、前回操作位置を現在位置とする。また、演奏者がスティック部１０を動かしていない場合、差分領域を除去する処理を行う前の差分データにおいて差分領域は発生しない。この場合、ＣＰＵ２１は、前回検出された操作位置を現在の操作位置とする。
【００３２】
なお、ＣＰＵ２１は、２値撮像データを作成するにあたり、後述の仮想ウィンドチャイム９１に対応する位置に対応する領域に限定して、２値撮像データを作成するようにしてもよい。また、ＣＰＵ２１は、データ通信部２５がウィンドチャイム操作信号を受信したことに応じて、２値撮像データの作成を開始するようにしてもよい。このようにすることで、差分領域の算出に係る処理を軽減させることができる。
【００３３】
ＣＰＵ２１は、算出した位置座標データなどを、データ通信部２５を介してセンターユニット部３０に送信する通信制御を実行する。
【００３４】
ＲＯＭ２２は、ＣＰＵ２１により各種処理を実行させるための処理プログラムを格納する。ＲＡＭ２３は、イメージセンサ部２４が撮像した撮像データなど、処理において取得され又は生成された値を格納する。また、ＲＡＭ２３は、センターユニット部３０から受信したスティック部１０Ａ、１０Ｂの夫々のマーカー特徴情報も併せて格納する。
【００３５】
イメージセンサ部２４は、例えば、光学式のカメラであり、スティック部１０を持って演奏動作を行う演奏者を所定のフレームレートで撮像する。また、イメージセンサ部２４は、フレームごとの撮像データをＣＰＵ２１に出力する。なお、イメージセンサ部２４は、撮像画像内におけるスティック部１０のマーカー部１５の位置座標の特定を、ＣＰＵ２１に代わって行うこととしてもよい。また、イメージセンサ部２４は、撮像したマーカー特徴情報に基づくスティック部１０Ａ、１０Ｂのマーカー部１５（第１マーカー及び第２マーカー）の夫々の位置座標の算出についても、ＣＰＵ２１に代わって行うこととしてもよい。
【００３６】
データ通信部２５は、少なくともセンターユニット部３０との間で所定の無線通信（例えば、赤外線通信）を行う。なお、データ通信部２５は、スティック部１０との間で無線通信を行うこととしてもよい。
【００３７】
［センターユニット部３０の構成］
カメラユニット部２０の構成についての説明は、以上である。続いて、図５を参照して、センターユニット部３０の構成について説明する。
図５は、センターユニット部３０のハードウェア構成を示すブロック図である。
センターユニット部３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、スイッチ操作検出回路３４と、表示回路３５と、音源装置３６と、データ通信部３７と、を含んで構成される。
【００３８】
ＣＰＵ３１は、センターユニット部３０全体の制御を実行し、例えば、スティック部１０から受信したショット検出及びカメラユニット部２０から受信したマーカー部１５の位置座標に基づいて、所定の楽音を発音する制御などを実行する。また、ＣＰＵ３１は、データ通信部３７を介して、スティック部１０及びカメラユニット部２０との間の通信制御を実行する。
【００３９】
ＲＯＭ３２は、ＣＰＵ３１に各種処理を実行させるための処理プログラムを格納する。また、ＲＯＭ３２は、仮想平面上に設けられた複数の領域夫々に対応する位置座標などに対して、当該複数の領域夫々に対応する種々の楽器に対応した音声の波形データを関連付けたセットレイアウト情報を記憶する。ＲＯＭ３２は、例えば、フルート、サックス、トランペットなどの管楽器、ピアノなどの鍵盤楽器、ギターなどの弦楽器、バスドラム、ハイハット、スネア、シンバル、タム、ウィンドチャイムなど打楽器の波形データ（音色データ）を、位置座標などと対応付けて格納する。
【００４０】
各種音色データは、セットレイアウト情報に関連付けられて記憶されている。例えば、図６にセットレイアウト情報として示すように、１つのセットレイアウト情報に、第１パッド〜第ｎパッドまでのｎ個のパッド情報とウィンドチャイム情報とが対応付けられている。そして、各パッド情報には、パッドの位置（後述する仮想平面における位置座標）、パッドのサイズ（仮想パッドの形状及び径など）、及びパッドの音色（波形データ）などが対応づけられて格納されている。また、ウィンドチャイム情報は、例えば複数の矩形領域に分割されており、夫々の矩形領域の位置、サイズ、音色が関連付けられている。
なお、複数の仮想パッドと仮想ウィンドチャイムとの配置や音色などを示すセットレイアウト情報は、複数種類存在していてもよい。
【００４１】
ここで、図７を参照して、具体的なセットレイアウトについて説明する。図７は、センターユニット部３０のＲＯＭ３２に格納されたセットレイアウト情報が示す概念を仮想平面上で可視化した図である。
【００４２】
図７は、６個の仮想パッド８１が仮想平面上に配置されている様子を示しており、各仮想パッド８１として、６つのパッドが配置されている。これら６つの仮想パッド８１は、パッドに関連付けられている位置データとサイズデータとに基づいて配置されている。さらにまた、各仮想パッド８１には、音色データが対応付けられている。したがって、ショット検出時におけるマーカー部１５の位置座標が各仮想パッド８１に対応する領域に属した場合、各仮想パッド８１に対応する音色が発音される。
【００４３】
また、図７によれば、仮想ウィンドチャイム９１が仮想平面上に配置されている。上述したように、仮想ウィンドチャイム９１は、複数個の領域に分割されており、図７では、２０個に分割されている。これら２０個の領域夫々は、セットレイアウト情報に記憶されている領域の位置データとサイズデータとに基づいて配置されている。本実施形態では、仮想ウィンドチャイム９１について、各領域の位置で検出された状態を夫々Ｂ１〜Ｂ２０と定義され、検出されていない状態をＢ０と定義する。例えば、演奏者がスティック部１０のスイッチ１７１を押下すると、ウィンドチャイム操作信号が発信され、仮想ウィンドチャイム９１の操作が可能となる。ＣＰＵ３１は、この状態で、マーカー部１５の位置座標が仮想ウィンドチャイム９１に対応する領域に属したことを検出すると、ウィンドチャイム検出状態がＢｎ（１≦ｎ≦２０）となり、このＢｎに対応した音色の発音を行う。
【００４４】
図５に戻って、ＲＡＭ３３は、スティック部１０から受信したスティック部１０の状態（ショット検出など）、カメラユニット部２０から受信したマーカー部１５の位置座標など、処理において取得され又は生成された値を格納する。
これにより、ＣＰＵ３１は、ショット検出時（すなわち、ノートオンイベント受信時）又はウィンドチャイム操作信号の受信時にマーカー部１５の位置座標が属する領域の仮想パッド８１又は仮想ウィンドチャイム９１に対応する音色データ（波形データ）を、ＲＡＭ３３に格納されたセットレイアウト情報から読み出して、演奏者の演奏動作に応じた楽音の発音を行う。
【００４５】
スイッチ操作検出回路３４は、スイッチ３４１と接続され、当該スイッチ３４１を介した入力情報を受け付ける。入力情報としては、例えば、発音する楽音の音量や発音する楽音の音色の変更、表示装置３５１の表示の切り替えなどが含まれる。
表示回路３５は、表示装置３５１と接続され、表示装置３５１の表示制御を実行する。
【００４６】
音源装置３６は、ＣＰＵ３１からの指示にしたがって、ＲＯＭ３２から波形データを読み出して、楽音データを生成すると共に、楽音データをアナログ信号に変換し、図示しないスピーカから楽音を発音する。
また、データ通信部３７は、スティック部１０及びカメラユニット部２０との間で所定の無線通信（例えば、赤外線通信）を行う。例えば、データ通信部３７は、スティック部１０から発信されるウィンドチャイム操作信号を受信する。
【００４７】
［演奏装置１の処理］
以上、演奏装置１を構成するスティック部１０、カメラユニット部２０及びセンターユニット部３０の構成について説明した。続いて、図８〜図１０を参照して、演奏装置１の処理について説明する。
【００４８】
［スティック部１０の処理］
図８は、スティック部１０が実行する処理（以下、「スティック部処理」と呼ぶ）の流れを示すフローチャートである。
図８を参照して、スティック部１０のＣＰＵ１１は、モーションセンサ部１４からモーションセンサ情報としてのセンサ値を読み出すと共に、センサ値を、ＲＡＭ１３に格納する（ステップＳ１）。その後、ＣＰＵ１１は、読み出したモーションセンサ情報に基づいて、スティック部１０の姿勢検知処理を実行する（ステップＳ２）。姿勢検知処理では、ＣＰＵ１１は、モーションセンサ情報に基づいて、スティック部１０の姿勢、例えば、スティック部１０のロール角及びピッチ角などを算出する。
【００４９】
続いて、ＣＰＵ１１は、モーションセンサ情報に基づいて、ショット検出処理を実行する（ステップＳ３）。ショット検出処理は、スティック部１０のスイッチ１７１が押下されていない場合に実行される。演奏者は、スティック部１０を用いた演奏を行う場合において、仮想的な楽器（例えば、仮想的なドラム）があるとして、現実に楽器がある場合の演奏動作と同様の演奏動作を行う。演奏者は、このような演奏動作として、まずスティック部１０を振り上げ、それから仮想的な楽器に向かって振り下ろす。そして、演奏者は、仮想的な楽器にスティック部１０を打撃した瞬間に楽音が発生することを想定し、スティック部１０を仮想的な楽器に打撃する寸前に、スティック部１０の動作を止めようとする力を働かせる。これに対して、ＣＰＵ１１は、モーションセンサ情報（例えば、加速度センサのセンサ合成値）に基づいて、スティック部１０の動作を止めようとする動作を検出する。
【００５０】
すなわち、本実施形態においては、ショット検出のタイミングは、スティック部１０が振り下ろされてから停止される直前のタイミングであり、スティック部１０にかかる振り下ろし方向とは逆向きの加速度の大きさがある閾値を超えたタイミングである。本実施形態では、このショット検出のタイミングを発音タイミングとする。
スティック部１０のＣＰＵ１１は、発音タイミングが到来したと判断すると、ノートオンイベントを生成し、センターユニット部３０に送信する。ここで、ＣＰＵ１１は、ノートオンイベントを生成する場合に、モーションセンサ情報（例えば、加速度センサのセンサ合成値の最大値）に基づいて、発音する楽音の音量を決定し、ノートオンイベントに含ませるようにしてもよい。
【００５１】
続いて、ＣＰＵ１１は、スイッチ操作検出処理を実行する（ステップＳ４）。具体的には、ＣＰＵ１１は、ショット検出処理の実行中に、スティック部１０のスイッチ１７１が押下されたか否かを判定し、スイッチ１７１が押下されたと判定した場合に、スイッチ操作が行われたことを検出する。
【００５２】
続いて、ＣＰＵ１１は、スイッチ操作処理を実行する（ステップＳ５）。具体的には、ＣＰＵ１１は、スイッチ操作処理として、スイッチ操作検出処理によってスティック部１０のスイッチ１７１が行われたことを検出した後、スティック部１０のスイッチ１７１の操作が行われていることを示すスイッチ操作情報をスイッチ操作検出回路１７に出力させる。ＣＰＵ１１は、スイッチ操作処理において、スイッチ１７１が操作されなくなるまで、スイッチ操作処理を実行する。
【００５３】
続いて、ＣＰＵ１１は、ステップＳ２乃至ステップＳ５の処理で検出した情報、すなわち、姿勢情報、ショット情報及びスイッチ操作情報を、データ通信部１６を介してセンターユニット部３０に送信する（ステップＳ６）。このとき、ＣＰＵ１１は、スティック識別情報と対応付けて、姿勢情報、ショット情報及びスイッチ操作情報をセンターユニット部３０に送信する。
続いて、ＣＰＵ１１は、処理をステップＳ１に戻す。これにより、ステップＳ１からステップＳ６の処理が繰り返される。
【００５４】
［カメラユニット部２０の処理］
図９は、カメラユニット部２０が実行する処理（以下、「カメラユニット部処理」と呼ぶ）の流れを示すフローチャートである。
図９を参照して、カメラユニット部２０のＣＰＵ２１は、イメージデータ取得処理を実行する（ステップＳ１１）。この処理では、ＣＰＵ２１は、イメージセンサ部２４からイメージデータを取得する。
【００５５】
続いて、ＣＰＵ２１は、第１マーカー検出処理（ステップＳ１２）及び第２マーカー検出処理（ステップＳ１３）を実行する。これらの処理において、ＣＰＵ２１は、ウィンドチャイム操作信号を受信していない場合に、イメージセンサ部２４が検出した、スティック部１０Ａのマーカー部１５（第１マーカー）及びスティック部１０Ｂのマーカー部１５（第２マーカー）の位置座標、サイズ、角度などのマーカー検出情報を、取得しＲＡＭ２３に格納する。このとき、イメージセンサ部２４は、発光中のマーカー部１５について、マーカー検出情報を検出する。
【００５６】
また、ＣＰＵ２１は、ウィンドチャイム操作信号を受信している場合に、イメージセンサ部２４から取得した撮像データについて、明度、色相及び／又は彩度などの情報に基づいて、２値撮像データを作成し、最新の撮像データから作成された２値撮像データと、所定フレーム前の撮像データから作成された２値撮像データとの差分データ（差分画像）を算出する。そして、ＣＰＵ２１は、演奏者がリズムをとる場合におけるスティック部１０の微細な揺れによって発生する微小差分領域を差分データから除去する処理を行った後、微小差分領域が除去された後の差分データに残存している差分領域に基づいて、マーカー部１５の操作位置が移動したこと、及び現在の操作位置を検出する。
【００５７】
続いて、ＣＰＵ２１は、ステップＳ１２及びステップＳ１３で取得したマーカー検出情報を、データ通信部２５を介してセンターユニット部３０に送信し（ステップＳ１４）、ステップＳ１１に処理を移行させる。
【００５８】
［センターユニット部３０の処理］
図１０は、センターユニット部３０が実行する処理（以下、「センターユニット部処理」と呼ぶ）の流れを示すフローチャートである。
図１０を参照して、センターユニット部３０のＣＰＵ３１は、カメラユニット部２０から、第１マーカー及び第２マーカー夫々のマーカー検出情報を受信し、ＲＡＭ３３に格納する（ステップＳ２１）。また、ＣＰＵ３１は、スティック部１０Ａ、１０Ｂの夫々から、スティック識別情報と対応付けられた姿勢情報及びショット情報を受信し、ＲＡＭ３３に格納する（ステップＳ２２）。また、ＣＰＵ３１は、スティック部１０Ａ、１０Ｂのいずれか一方からウィンドチャイム操作信号を受信する。さらに、ＣＰＵ３１は、スイッチ３４１の操作により入力された情報を取得する（ステップＳ２３）。
【００５９】
続いて、ＣＰＵ３１は、ショットありか否かを判断する（ステップＳ２４）。この処理では、ＣＰＵ３１は、スティック部１０からノートオンイベントを受信したか否かにより、ショットの有無を判断する。このとき、ショットありと判断した場合には、ＣＰＵ３１は、ショット情報処理を実行する（ステップＳ２５）。ショット情報処理では、ＣＰＵ３１は、ＲＡＭ３３に読み出されたセットレイアウト情報から、マーカー検出情報に含まれる位置座標が属する領域の仮想パッド８１に対応する音色データ（波形データ）を読み出し、ノートオンイベントに含まれる音量データと共に音源装置３６に出力する。すると、音源装置３６は、受け取った波形データに基づいて該当する楽音を発音する。
【００６０】
ステップＳ２５の後、又はステップＳ２４でＮＯと判断した場合には、ＣＰＵ３１は、仮想ウィンドチャイムの操作中か否かを判断する（ステップＳ２６）。この処理では、ＣＰＵ３１は、ウィンドチャイム信号を受信し、かつ、第１マーカー及び第２マーカー夫々のマーカー検出情報に含まれる位置座標のいずれかが、仮想ウィンドチャイム９１に対応する領域に含まれているか否かを判断する。仮想ウィンドチャイムの操作中と判断した場合には、ＣＰＵ３１は、ウィンドチャイム処理を実行する（ステップＳ２７）。
【００６１】
ウィンドチャイム処理では、ＣＰＵ３１は、マーカー検出情報に含まれる位置座標に基づいて、仮想ウィンドチャイム９１に対応する複数の領域のうち、マーカーが位置する領域を特定し、ウィンドチャイム検出状態をＢ１からＢ２０のいずれかに決定する。この場合、ＣＰＵ３１は、決定したウィンドチャイム検出状態をＲＡＭ３３に記憶させる。また、ＣＰＵ３１は、直前のウィンドチャイム検出状態をＲＡＭ３３から取得し、取得したウィンドチャイム検出状態と決定したウィンドチャイム検出状態とが異なっている場合に、特定された領域に対応する音色データ（波形データ）を読み出し、音源装置３６に出力する。すると、音源装置３６は、受け取った波形データに基づいて該当する楽音を発音する。
【００６２】
以上、本実施形態の演奏装置１の構成及び処理について説明した。
本実施形態においては、演奏装置１は、ＣＰＵ２１により、イメージセンサ部２４により撮像された撮像画像のうち、最新の撮像画像と、所定フレーム前の撮像画像との差分画像を算出し、算出された差分画像において差異があることを示す差分領域の面積が所定量以上の場合、当該差分画像に基づいてスティック部１０の操作位置を検出し、差分領域の面積が所定量未満の場合、前回検出された操作位置を現在の操作位置とする。また、演奏装置１は、ＣＰＵ３１により、ＲＯＭ３２を参照して、ＣＰＵ２１により検出された操作位置に対応する領域に関連付けられた音色を特定し、音源装置３６により、ＣＰＵ３１により特定された音色を発音する。
よって、演奏装置１は、演奏者がリズムを取るために、スティック部１０を細かく動作させた場合に、当該動作を検出することを抑制し、仮想的な楽器セットの演奏操作時において演奏者の意図しない動作を演奏動作として検出し発音することを防止することができる。
【００６３】
また、本実施形態においては、ＣＰＵ２１は、差分画像において、差異があることを示す差分領域が含まれていない場合、前回検出された操作位置を、現在の操作位置とする。よって、演奏装置１は、次の動作の際に、当該位置と次の動作により検出された位置との比較を行い、スティック部１０が移動したことを検出することができる。
【００６４】
また、本実施形態においては、スティック部１０は、演奏者から所定の操作を受け付けたことに応じてウィンドチャイム操作信号を発信するスイッチ操作検出回路１７を備え、ＣＰＵ３１は、当該ウィンドチャイム操作信号を受信した場合に、仮想ウィンドチャイム９１の音色を特定する。
したがって、演奏装置１は、演奏者が所定の操作を行ったことによって仮想ウィンドチャイム９１の音色を発音することができるので、演奏者が意図しない発音をさらに防止することができる。
【００６５】
以上、本発明の実施形態について説明したが、実施形態は例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換など種々の変更を行うことができる。これら実施形態やその変形は、本明細書などに記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６６】
上記実施形態では、ウィンドチャイム操作信号を受信した場合に、差分画像に基づいて仮想ウィンドチャイム９１の音色を発音することとしたが、これに限られるものではなく、演奏装置１は、常に２値画像データを生成して、差分画像を生成し、当該差分画像に基づいて、仮想ウィンドチャイム９１の音色の発音を制御するようにしてもよい。
【００６７】
また、上記実施形態では、仮想的な打楽器として仮想ドラムセットＤ（図１参照）を例にとって説明したが、これに限られるものではなく、本発明は、スティック部１０の振り下ろし動作で楽音を発音する木琴など他の楽器に適用することができる。
【００６８】
また、上記実施形態でスティック部１０、カメラユニット部２０及びセンターユニット部３０で実行することとしている処理のうちの任意の処理は、他のユニット（スティック部１０、カメラユニット部２０及びセンターユニット部３０）で実行することとしてもよい。例えば、スティック部１０のＣＰＵ１１が実行することとしているショット検出及びロール角の算出などの処理を、センターユニット部３０が実行することとしてもよい。
【００６９】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２〜５の構成は例示に過ぎず、特に限定されない。すなわち、上述した一連の処理を全体として実行できる機能が演奏装置１に備えられていれば足り、この機能を実現するためにどのような構成を構築するのかは特に図２〜５の例に限定されない。
【００７０】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
このコンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータであってもよい。
【００７１】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
演奏者に保持される演奏部材と、
前記演奏部材を被写体とする撮像画像を連続して撮像する撮像手段と、
前記撮像画像平面上に設けられた複数の領域夫々の位置を含むレイアウト情報を記憶する記憶手段と、
前記撮像された撮像画像のうち、最新の撮像画像平面上における前記演奏部材の位置、及び当該最新の撮像画像より所定フレーム前の撮像画像平面上における前記演奏部材の位置を検出する位置検出手段と、
この位置検出手段により検出された２つの位置の差分が所定値以上である場合は前記最新の撮像画像平面上における前記演奏部材の位置を現在位置とするとともに、当該２つの位置の差分が所定値未満の場合は所定フレーム前の撮像画像平面上における前記演奏部材の位置を現在位置とする現在位置確定手段と、
前記位置検出手段により検出された２つの位置の差分が所定値以上である場合でかつ、前記現在位置確定手段で確定された現在位置が、前記記憶手段に記憶されたレイアウト情報により位置を定められた複数の領域のいずれかに含まれる場合に、当該前記現在位置を含む領域に対応する楽音の発音を指示する発音指示手段と、
を備えた演奏装置。
［付記２］
演奏者に保持される演奏部材と、前記演奏部材を被写体とする撮像画像を連続して撮像する撮像手段と、前記撮像画像平面上に設けられた複数の領域夫々の位置を含むレイアウト情報を記憶する記憶手段と、を有する演奏装置に用いられるコンピュータに、
前記撮像された撮像画像のうち、最新の撮像画像平面上における前記演奏部材の位置、及び当該最新の撮像画像より所定フレーム前の撮像画像平面上における前記演奏部材の位置を検出する位置検出ステップと、
この検出された２つの位置の差分が所定値以上である場合は前記最新の撮像画像平面上における前記演奏部材の位置を現在位置とするとともに、当該２つの位置の差分が所定値未満の場合は所定フレーム前の撮像画像平面上における前記演奏部材の位置を現在位置とする現在位置確定ステップと、
前記検出された２つの位置の差分が所定値以上である場合でかつ、確定された前記現在位置が、前記記憶手段に記憶されたレイアウト情報により位置を定められた複数の領域のいずれかに含まれる場合に、当該前記現在位置を含む領域に対応する楽音の発音を指示する発音指示ステップと、
を実行させるプログラム。
【符号の説明】
【００７２】
１・・・演奏装置、１０・・・スティック部、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・モーションセンサ部、１５・・・マーカー部、１６・・・データ通信部、１７・・・スイッチ操作検出回路、１７１・・・スイッチ、２０・・・カメラユニット部、２１・・・ＣＰＵ、２２・・・ＲＯＭ、２３・・・ＲＡＭ、２４・・・イメージセンサ部、２５・・・データ通信部、３０・・・センターユニット、３１・・・ＣＰＵ、３２・・ＲＯＭ、３３・・・ＲＡＭ、３４・・・スイッチ操作検出回路、３４１・・・スイッチ、３５・・・表示回路、３５１・・・表示装置、３６・・・音源装置、３７・・・データ通信部、８１・・・仮想パッド、９１・・・仮想ウィンドチャイム
【図１】
2013190690.tif 000003
【図２】
2013190690.tif 000004
【図３】
2013190690.tif 000005
【図４】
2013190690.tif 000006
【図５】
2013190690.tif 000007
【図６】
2013190690.tif 000008
【図７】
2013190690.tif 000009
【図８】
2013190690.tif 000010
【図９】
2013190690.tif 000011
【図１０】
2013190690.tif 000012